Reference no: EM132767911
CSC2407 Introduction To Software Engineering - University of Southern Queensland
Question 1
(1) For each of the following projects, state (a) what generic software process model you would employ and (b) what features of the project are best suited to the chosen model.
(i) An online Call Routing Management (CRM) software module that provides both routing and voice fidelity capabilities to a voice network exchange centre.
(ii) An Air-traffic Message Handling System (AMHS) which provides air traffic controllers at an airport with message exchanges from arriving and departing aircrafts.
(iii) A navigation and control software module for driverless hybrid electric vehicles.
(2) Describe the fundamental characteristics of agile development processes. Use your own words. Describe how testing is performed during agile development. Use your own words. What are the drawbacks of the agile development process?
(3) What is requirements engineering? Explain in your own words. What are key differences between functional and non-functional requirements? Compare and discuss. Are functional or non-functional requirements more important in a software development cycle? Give examples of each and explain.
(4) Write a structured specification for a security protocol of a firewall that attempts to filter internet traffic into and out of the corporate network(s) at any time of day. Anyone from the internal office network(s) is able to access the external internet network if (1) the websites are reputable and can be easily authenticated with a secure certificate (2) they are not social media platform sites like Facebook, Youtube, Twitter, Instagram, Tik-Tok, etc. and (3) they are not from known malicious sites that contain or help spread computer viruses. Anyone externally, from the internet is able to access the internal office network if (1) they come from known affiliate sites which are trusted by the organization (2) they come from another branch office (locally or internationally) and (3) they are not from unknown sites.
Specifications should include the following list of items:
1. Description of the overall function.
2. Description of inputs
3. Description of outputs
4. Description of other information needed by module (if necessary)
5. Description of action to be taken
6. Description of side effects that have occurred (if applicable)
You must include a glossary list of acronyms which you have used in your specification description(s).
(5) What are the similarities and / or differences in architectural design patterns between stand-alone and distributed systems? Discuss, compare and contrast - using diagrams if necessary.
Question 2
* Please do not use any software project management tools such as Microsoft Project, etc. in any part of this question to work out or present your answers - as marks awarded for such solutions will be heavily penalized.
For the project described by the list of tasks given below:
(1) Construct an activity (PERT) network.
(2) Identify the critical path and calculate its length. (Show at least 5 path calculations, including the critical path)
(3) Draw a bar chart (Gantt chart) showing the duration of each task, using the earliest start date of each task.
(4) For each n on-critical task, give clear indications of how long a task start can be delayed without affecting the overall project completion time.
Question 3
Construct both sequence and collaboration diagrams for a COVID-19 tracing app described below. Your model must show:
• Named entity, Classes and objects
• Dynamic behaviour and temporal relationships between entities, classes and objects
• Multiplicity of associations
Attributes and Methods of these classes need not be shown.
(1) The COVID-19 app stores phone numbers of individual persons in a secure database of records.
(2) It authenticates stored records of individual data through the use of a one-time password which changes to a unique sequence of numbers every time access to the user account is requested.
(3) The COVD-19 app works on push-notifications to send updates of Geo-locations and persons who have been detected to be in close physical proximity to each other.
(4) Physical proximity is measured using a wireless medium protocol like Bluetooth via a wavelet matching algorithm.
(5) The COVID-19 app identifies each user's phone number which is stored in the secured database by attaching a securely generated ID.
(6) Other COVID-19 app users within a radial distance of 2 to 5 meters are authenticated and recorded through the COVID-19 phone apps and into the secure database.
(7) Each COVID-19 phone app maintains a unique recorded history of contacts in the central database.
(8) Because of data privacy ethical guidelines, such history of records should not be stored on unsecured mobile devices.
(9) If an app user is tested positive for COVID-19, he / she will be contacted by the authorities with a code to send the app logs over.
(10) The authorities will then decrypt the secured ID assigned to each mobile user in the log to determine the mobile number of the COVID-19 positive individual's close contacts.
(11) The COVID-19 app only collects mobile numbers and nothing else. So, authorities will have to rely on their central immigration database to match phone numbers to other pieces of personal information like residential address, age, name, etc. to complete the contact tracing process of everyone in the log.
Question 4
Draw both software state and activity diagrams to describe the logical behaviour of a Driverless Car Parking System (DCPS). The system is described below.
Your model must show:
• Named states
• Transitions labelled with event names
• Substates if applicable
(1) The DCPS is a software navigation control platform which is used to guide vehicles autonomously into available parking spaces at a travel destination. As it is still in the early phases of testing and development, such a system can only be used on very open car parking spaces where there are wide and clear parking lanes drawn aside for the parking lots.
(2) The DCPS system contains several key components which together, make up the vehicle guidance system for self-parking behaviour activities.
(3) When the driver exits the car, he / she initiates the self-parking activity sequence through the touch of a button.
(4) When this happens, the vehicle then engages its vehicle guidance system to navigate itself into a parking lot nearby.
(5) Firstly, the vehicle acquires GPS sensor reading and inputs from its body sensors.
(6) The body sensors may consist of cameras or laser scanners or both.
(7) Secondly, it then decides which parking lot it should go.
(8) The vehicle knows that it is moving in the right direction if the calculated straight-line distance in the GPS readings between the parking lot and its current location "on-the- move" is decreasing.
(9) As it is moving, it also determines if there are obstacles along the way (using its body sensors) and avoids it. Generally, the vehicle moves forward as it negotiates a path into a parking lot. The DCPS can only guide vehicles to a front parking maneuver into a parking lot.
(10) As it reaches the parking spot / lane, it detects the presence of another parked vehicle.
(11) If there is a parked vehicle in the parking lane / spot, it chooses another parking spot and repeats the parking maneuver cycle from (7) to (10) again.
(12) If the parking lot is not occupied, it engages its cameras and navigates smoothly into the parking lane.
(13) The Navigation system initializes the DCPS application by issuing a r un or e xec
command or its equivalent.
(14) Once the DCPS application is initialized, its state becomes Idle. The DCPS application is required to notify Navigation of any state changes by calling the
notifyStateChanged() method but this method itself is not part of any state transition.
(15) While in the Idle state the DCPS application is waiting for a new task assignment instruction from the Navigation system.
(16) Once the DCPS application starts performing some task assigned, it changes its state to InProgress. The DCPS also switches into this state when it receives a resume task instruction as well.
(17) After the DCPS application has completed processing, it moves into
the Completed state and sends out a task completed notification. In this state it waits for further instructions from the Navigation system.
(18) The DCPS application could also be Suspended - (a state). In this state, processing of the current task is stopped from a suspend instruction.
(19) The DCPS application could transition to the Cancelled state either by incoming requests from the Navigation system to c ancel the task or because of e rrors.
(20) While in the Cancelled state, the DCPS application stops all processing of the task. There is no chance to resume processing of a cancelled task from this state.
(21) The Exit state is the terminal state of the DCPS application and is reached when the vehicle senses that it has adequately parked and completed its task. Vehicle engines and headlights are turned off at this state.
Question 5
(1) What is software change management and version control? Explain in your own words. Why is it used in software development projects?
(2) What are software design patterns? List and describe some characteristics of software design patterns. Use examples if necessary.
(3) Why do software design patterns sometimes cause software implementation problems? Describe and explain in your own words.
(4) What are the key differences between validating and verifying software? Compare and contrast in your own words.
(5) What are the stages of a software testing process model? Describe in your own words. How are they used in partition testing?
(6) What are the general strengths and weaknesses of the different testing strategies used in test driven developments? Compare and contrast in your own words.
(7) Is software evolution and software re-engineering the same or different? Describe and compare in your own words.