CS代写 THE UNIVERSITY OF SUSSEX

THE UNIVERSITY OF SUSSEX
BSc SECOND YEAR RESIT EXAMINATION August/September 2018 (A3)
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. UniversalExportsCorphasprovidedyouwithatextstatementofasetofuser requirements for an innovative project they are bidding on. The text statement reads as follows:
“Universal Exports offer high end travel and travel support services for the discerning business traveller all over the world. We have provided such services for presidents, prime ministers and government officials at all levels and they have a reputation for impeccable service. We need to build a new booking and support management information system to replace our existing system, as the hardware and software on the old system is getting too old and expensive to support.
The system is not a traditional on-line system – our clients make their arrangements through our office, so our staff are the main users of the system. The system needs to communicate with server systems for our trusted suppliers through web services and other middleware connection protocols. Our system needs to keep a permanent record of our customer details on our secure database. Ideally the database will back up daily automatically. Our staff need to be able to search our suppliers’ servers to identify flight dates, times and make flight bookings. Our staff need to be able to search our suppler servers for accommodation dates, process and make bookings. All the data recovered needs to be stored with our customer details. All data needs to be preserved for at least 24 months. If a customer leaves us, we need to ensure that all of their data is permanently removed from our system. Some of our suppliers’ system are not compatible with our web services interface. In that case, our system stores their contact details and our staff use that data to contact them via email and the telephone. When bookings are made, the data is recorded on our database. The software needs to be able to support our current office staff of 20 people, but our business is expanding, so we need a system that could cope if that number of staff trebled over the next 5 years. The system needs to be compliant with current data protection legislation and provide an easy to learn user interface.
If a customer is out travelling and requires support, they telephone our office. Our staff need to be able to recover all relevant customer details by customer name. We might consider adding an option to provide remote access by smartphone to the travel support system later on. Records must be recallable from our system in less than 5 seconds.
The software system needs to be written in a language that can deployed on a range of platforms including PC and Mac. We think Java would be a good choice in this respect. We require a Mean Time Between Failures (MTBF) of no less than 1 month of operation and ideally better than 2 months. The software is intended to run continuously 24 hours a day, seven days a week.
The software system will need to have an operational life of 20 years.” Working from this statement of user requirements:

a) State clearly 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) A detailed analysis of risk forms one part of the quality manual that specifies what types of planning documentation we should prepare when considering a project. Describe four other types of documentation that a typical quality manual specifies we should prepare.
[12 marks]
e) One key aspect of clear functional requirements is that they help us develop a testing strategy. Draw up an example of a system level testing document suitable for testing one of the functional requirements that you have identified
f) Explain the difference between system testing and unit testing, and give one example (you do not need to provide detailed code) of how automated unit testing can be carried out.
/Turn over

G6046 Software Engineering
a) Corp have two projects. One project requires their
development team to produce an innovative new desktop and mobile compatible crypto currency token trading platform. Details are sketchy at the moment but it is said that the customer will be able to create a trading account that will allow them to buy and sell Bitcoin and Ethereum tokens, and create rules for automated trading. Over the next 12 months, it is anticipated that government around the world may start to pass laws and regulations to govern the operation of crypto currency trading platforms.
The other project is to develop a battery monitoring application for lithium ion batteries aboard aircraft, as there has been concern that batteries can catch fire if not used correctly. The system is needed to provide an effective means of monitoring the voltage output and current flowing from the batteries in use, and recording this data in a persistent form, and alerting cabin crew when the batteries are operating outside of tolerance. Any systems that form part of the safety assurance facilities aboard an aircraft are subject to regulatory control and regular inspection.
You are asked to advise on what would be the most appropriate software development process for each of these projects. Your answer should state the key elements of the development process and must state clearly why you think that process model is suited to each of the two projects.
[15 marks]
b) 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 Software design Software test schedules Develop test tools Coding team 1
Coding team 2 Coding team 3 Code integration Test software Installation
Duration Predecessor(s) (Working days)
10 None 5 A
10 E,F,G 10 C,D,H 5 I

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.
c) Describethekeyelementsandfeaturesofasoftwareversioncontrolsystem such as GitHub.
d) Three software developers (Richard, Tom and Selena) are working on a joint codebase. Richard starts writing the code, but then he is called onto another project and so passes development on to Tom. Tom makes further changes and then asks Selena to develop some additional components in parallel. Selena develops these components, but also notices some improvements are possible in Tom’s work and so makes some changes to code he has written. Tom and Selena’s work is then brought together to make a first prototype of the complete system. Produce a diagram to illustrate the version control sequence, and describe any problems that may arise during the development of the codebase.
[10 marks]
/Turn over

G6046 Software Engineering
3. Youhavebeengivenanoutlinespecificationforastockcontrolandretailsystem.
“Belle Vue Garden Centre’s owners have decided to replace their outdated stock control and retail system. Belle Vue sell a wide range of products including live plants, bulbs and small garden statues. Customers can buy goods directly in the store or order them by telephone or on-line for collection in store. Data needs to be stored on each of the items that the centre sells, effectively providing a catalogue of all the items that are stocked, although not the actual stock levels themselves at this stage. Each item has a unit price expressed in pounds and pence, a numeric reference to a wholesale supplier and a product code for that supplier. One wholesale supplier may be responsible for supplying any number of products to Belle Vue. Live plants need to have their Latin name stored, along with data to indicate whether they are indoor or outdoor plants. Bulbs come in packets and the number of bulbs in each packet needs to be stored, along with information about how many months are needed before the bulbs develop. For a small garden statue, the height in cm needs to be recorded along with the material that it is constructed from and an indication of whether the statue is fragile and requires careful handling.
In order to make an order, customers need to provide their name, address, telephone number and an email address. They also need to let Belle Vue know whether they are happy to receive the new monthly newsletter, and if so whether they would like to receive it by post or by email. Customer can order as many items for collection as they like at any one time. However, sometime there can be delays in processing orders due to delays in delivery from the wholesale suppliers. So it is important that if a customer calls up to ask about progress of a delayed order, that customer’s order can be brought up on the computer system based on the customer’s last name. Ideally, the computer system would keep a record of all of the orders that the customer has ever made.”
a) Identify the main object classes involved in the system, and for each class briefly describe the primary attributes and operations associated with it.
[25 marks]
b) ExplainthepurposeofeachofthesetermsinUMLdesign.Ineachcase you should give a simple example based on your answer to part (a) to support your explanation:
i) Use Case
ii) Sequence Diagram
[5 marks] [5 marks]
/Turn over

c) WhatismeantbythefollowingtermsasappliedtoObjectOriented(OO) Design:
i) High cohesion
ii) Low coupling
iii) Encapsulation
iv) Application Programming Interface.
v) Test Driven Development (TDD)
[15 marks]
End of paper

程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com