THE UNIVERSITY OF SUSSEX
BSc SECOND YEAR EXAMINATION May/June 2017 (A2)
SOFTWARE ENGINEERING Assessment Period:
DO NOT TURN OVER UNTIL INSTRUCTED TO BY THE LEAD INVIGILATOR
Copyright By cscodehelp代写 加微信 cscodehelp
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.
G6046 Software Engineering
1. SpaceInstrumentsCorphasprovidedyouwithatextstatementoftheiruser requirements for a project. The text statement reads as follows:
¡°We build instruments for deployment on small scale satellites for use in the telecommunications industry. We need to develop software for an instrument that will help us monitor accurately the available bandwidth of the RF link that is used to return data to Earth. The bandwidth is affected by a number of factors including the quality of the voice signals to be carried and weather conditions in the Earth¡¯s atmosphere. In normal operation, the instrument is fed with real time data on the number of voice channels in use at any time. A high-quality voice channel consumes 64kBits/second but if bandwidth is limited we can downscale that to 32kBits/second as a minimum quality of service per voice channel. The total maximum data throughput of the RF link when working at full capacity is 20MBits/second, but atmospheric effects can reduce that capacity.
The instrument monitors atmospheric events and adjusts the data rate for each voice channel to ensure that no voice channels get dropped if the bandwidth is reduced. The satellite is equipped with a specially adapted Intel processor with an embedded Linux Operating System (OS). That can support applications written in a variety of languages. Ideally the software should operate autonomously, but it would be helpful to be able to override the decision making remotely such that the RF link operates a smaller number of higher quality voice channels. As the instrument will operate in space, we need to be able to update the software from mission control. If the software encounters an error, it needs to restart.
Ideally we could incorporate some diagnostics to help us improve the software remotely. It would be helpful to have a means of uploading patches to the codebase rather than uploading entire new versions. Our development team work mostly with C and C++ as the code has a small footprint. The software needs to be reliable as it has a projected 20-year lifespan, and we will need a toolset to enable us to configure it remotely. The software needs to monitor atmospheric effects including moisture in Earth¡¯s upper atmosphere and high energy particles impacting the upper atmosphere and adjust the bandwidth per voice channel to ensure that all current calls are maintained.¡±
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) 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.
e) 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.
f) Define three different types of risk that may affect a software engineering project, explaining what the impact of each can be on the project.
G6046 Software Engineering
a) Compare and contrast the relative merits of using a planned Waterfall software
development process versus an 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 each process.
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 Duration Predecessor(s) (Working days)
Requirements analysis 5 Initial Design 10 Build prototype 1 20 Build prototype 2 25 Hardware procurement 60 Design review 5 Code final design 20 Test of hardware 10 System testing 10 Handover and Go Live 10
Produce a PERT analysis of this path of the project.
project and determine the critical [10 marks]
Calculate the planned duration of the project in weeks.
[5 marks] Identify any non-critical tasks and the float (free slack) on each.
c) Describethekeyelementsof¡°clientserverarchitecture¡±.Giveanexampleof such an architecture in action to support your answer.
d) Explain how a 3-tier architecture can be used as a means of designing a simple on-line shopping application. Your answer should include a description of the role of each of the layers.
G6046 Software Engineering
3. Considerthefollowinginformalrequirementsspecificationforacomputerised sales management system:
CoolSoft are a company than produces entertaining smartphone apps. They need a system to manage the sale of their apps on their appstore. Customers can purchase CoolSoft apps for different smartphone platforms. Usually, but not always, an application is available for both iOS and Android. Sometimes it takes developers a while to produce both versions of their app. To use the appstore, customers must first register and provide their name, address, age (as some apps are age restricted), and the unique numeric integer identifier for their phone. Once registered, customers can browse the appstore by category (e.g. entertainment, maps, productivity etc) or by app title. You do need to know how this search feature works internally. When a customer has found an app they like, they can purchase it. Each app has a name, a size in kb, an age restriction and information about which platforms it is available for. The CoolSoft sales system also needs to keep track on which customers own which apps in case they need to reinstall their phone software at a later date. CoolSoft would also like information about how many people browsed an app compared to how many bought that app to help them with their marketing. A customer can buy as many apps as they like each day. To buy apps, customer pre-purchase credit for their appstore account using debit card, The account can remember the key debit card details such as card number, expiry date and 3-digit security number. Customers can register multiple cards to credit their account. To comply with card issuer rules, CoolSoft need to keep records of all apps purchase by any customer for the lifetime of their account and must be able to recall those details using the customer¡¯s name. The CoolSoft accountants also need to know the total value of sales on the appstore at all times and produces statistic as to which of the apps are selling best.
a) Identify the main object classes involved in the system, and for each class briefly describe the primary attributes and operations associated with it.
b) Draw a class diagram showing the relationships between the classes you identified.
c) Usingtheclassesyouidentified,drawaUMLsequencediagramto represent the act of a customer purchasing an app.
End of paper
程序代写 CS代考 加微信: cscodehelp QQ: 2235208643 Email: email@example.com