THE UNIVERSITY OF SUSSEX
BSc SECOND YEAR EXAMINATION May/June 2018 (A2)
SOFTWARE ENGINEERING Assessment Period:
DO NOT TURN OVER UNTIL INSTRUCTED TO BY THE LEAD INVIGILATOR
Copyright By PowCoder代写 加微信 powcoder
Candidates should answer TWO questions out of THREE.
If all three questions are attempted only the first two answers will be marked.
The time allowed is TWO hours. Each question is worth 50 marks.
At the end of the examination the question paper and any answer books/answer sheets, used or unused, will be collected from you before you leave the examination room.
Candidate Number
G6046 Software Engineering
1. EyeDriveSystemsCorphasprovidedyouwithatextstatementoftheiruser requirements for a project. The text statement reads as follows:
“EyeDrive make computer vision and image processing software intended for use within autonomous vehicle systems. We have been asked to produce a software system for the latest range of Edison self-driving cars. The car has 4 integrated forward facing cameras each with a resolution of 1000 x 600 pixels and a frame rate of 100Hz in 24-bit colour, and are placed to offer a 170° forward view of the road ahead. Our software system needs to work with other systems to ensure that the car remains safely within the driving space ahead. It does not need to make decisions about turning left or right – the sat nav component does that. The output of our system needs to drive servo motors that steer the vehicle, and control the throttle (accelerator) and brake to ensure a safe distance is maintained from vehicles in front in all weather conditions. If a road sign is identified, a single snapshot image of the road sign needs to be taken when the sign is no less than 10%, ideally no less than 20%, of the total screen height and passed to the sign analysis system produced by another company (there is an API for this).
The software will locate the edge of the roadway on the left and right hand side and determine whether servos need to steer the car left or right so that it occupies the most central position possible in the roadway at all times. The software shall use the fullest extent of the data that the cameras can provide. If the roadway is diverging (such as at an exit), then the software will need to estimate the best path to ensure that the vehicle remains central on the main roadway unless a signal is received from the sat nav that a turn needs to be made. The software must update the roadway edge position each video frame and must be located to a minimum accuracy of +/- 20 pixels, ideally better than +/-10 pixels. If the system cannot update the roadway edge position for 5 consecutive frames, then an alarm must be raised so that drive assist can be demanded.
If a vehicle comes closer than 10m in front, the software needs to issue a brake demand. If there are no vehicles in front, then a throttle demand can be issued to take the vehicle up to the current speed limit.
The software will be built using C++ on an embedded platform on-board the Edison vehicle. As this is safety critical software, it must offer a mean time between failure of no less than one in 10,000 hours, ideally no less than one in 15,000 hours. The software should ideally incorporate self-test diagnostics so that the vision system can be checked and updated as part of the annual service program that Edison offer for their vehicles. The software should be easy to use and to integrate into the other on-board software systems.”
Working from this statement of user requirements:
a) State two mandatory functional requirements and two desirable functional requirements.
b) Stateclearlytwomandatorynon-functionalrequirementsandtwodesirable non-functional requirements.
c) Giveanexampleofadomainrequirementandexplainwhatneedstobedone with the domain requirement so that it can be acted upon.
d) Good requirements are usually SMART. Explain what is meant by SMART.
e) Explain why is it appropriate for requirements to adhere to the SMART concept. You should refer to an example from the previous parts.
f) As part of the project management process, we need to perform a risk analysis. Define the key elements that are required to manage one single risk.
g) Define three different types of risk that may affect a software engineering project, explaining what the impact of each can be on the project.
[12 marks]
/Turn over
G6046 Software Engineering
a) What are the key elements of the Agile development process? Your answer
should characterize the key features of each process, and include an example of a software project that would be suited to the Agile development process.
[10 marks]
b) A project is to be executed using a planned Waterfall development process. Using the information in the table below, assuming that the project team will work a standard working week (5 working days in 1 week) and that all tasks will start as soon as possible:
A B C D E F G H I J
Description
Requirements analysis Initial Design
Procure hardware Write hardware docs Coding
Code toolset reviewing
Hardware testing
Software testing
Hire integration team
Hardware and software integration
Duration Predecessor(s) (Working days)
10 None 10 A
4 C,D 10 E,F
i. Produce a PERT analysis of this project and determine the critical path of the project.
[10 marks]
ii. Calculate the planned duration of the project in weeks.
iii. Identify any non-critical tasks and the float (free slack) on each.
/Turn over
c) Manysmallandmedium-sizedbusinessesbuilde-commercesystemsbased on a 3 tier architecture using PHP and SQL. Explain what the limitations are of this approach in the long term. Use diagrams where appropriate to support your answer.
[10 marks]
d) Explain what is meant by the “Model View Controller” design pattern. Your answer should include a description of the role of each of the components. Explain why the MVC pattern design is useful in mobile application development. Use diagrams where appropriate to support your answer.
[10 marks]
/Turn over
G6046 Software Engineering
3. Considerthefollowinginformalrequirementsspecificationforacomputerised library system:
“Wallingford local authority operates a public library and wants to create a system to manage the lending of popular books, reference documents and DVDs. They need to ensure that they have records of who is using and borrowing the items. Library items can be accessed by members of the public who register as customers of the library. To register, customers must provide their name, age (as some of the items are age restricted) and address. The address needs to be verified by a member of the library staff. All items in the library have a unique barcode that is made up of between 10 and 13 numbers and some letters.
The library has a record of its popular books including the name of the book, the author and genre. Reference books are generally large and complex texts covering subjects such as medicine and law. They are known by their book name, the name of the institute that published it, the number of articles contained within them, and a description of the kind of information held within them. Some of the reference books are available for lending and others can only be viewed on the library premises. The DVDs available are generally well known films and television programs. They are catalogued according to title, publisher, whether they are plain DVDs or Blu-Ray compatible, and also whether they are available for lending to persons under the age of 18. Popular books and DVDs can be taken home by customers.
The library needs to keep a catalogue of all the items. A customer can then apply to either borrow or access one of the items. In either case, a record must be kept. Where an item is taken away from the library, a record must be kept of how many days it will be before the item is due to be returned. There is no particular limit yet as to how many items a customer may borrow to take home. At any time, the library staff need to be able to determine how many items a customer has borrowed or accessed. It should be possible to recall this information using the customer’s last name.”
a) Draw a use case diagram for this system.
b) Identify the main object classes involved in the system, and for each class briefly describe the primary attributes and operations associated with it.
[20 marks]
/Turn over
c) Drawaclassdiagramshowingtherelationshipsbetweentheclassesyou identified.
[10 marks]
d) Using the classes you identified, draw a UML sequence diagram to represent the act of a member of the public borrowing a DVD.
[15 marks]
End of paper
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com