THE UNIVERSITY OF SUSSEX
BSc SECOND YEAR RESIT EXAMINATION August/September 2017 (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. CodexInnovationsCorphasprovidedyouwithatextstatementofasetof user requirements for an innovative project they are bidding on. The text statement reads as follows:
“Codex produce one-off highly innovative solutions for complex end user needs. We are producing a software system to manage the day to day operations of a nuclear fusion reactor for our customer British Fusion Ltd.
The job of this software includes the ignition system that starts the reactor by bringing the fuel up to the required temperature and pressure. The operational temperature of the reactor core can reach 100 million °C so any faults in the reactor core can cause extensive damage to auxiliary equipment. Fortunately, the nature of fusion reactors means that they fail safely if the fuel supply is disconnected. The software receives signals from the control room to set the operational temperature and pressure, and this determines the power output. The power output can be adjusted from 0 to 2GWatts. If the required power output is set to 0 for more than 2 minutes, the software needs to initiate the shutdown procedure. If the reactor output exceeds 2GWatts, an emergency procedure needs to activate in the software to alert a human operator to determine whether there is a fault. Ideally the software will give us warning if the power output gets within 5% of the maximum output power over any continuous 5-minute period.
The software needs to have a user interface that can be easily understood by the staff who are well qualified but not necessarily in nuclear physics. The software system also needs to monitor the fuel supply and tell the control room when the fuel supply falls below 30% of the full maximum value. The performance of the reactor can be affected by the purity of the fuel and the condition of the pumping units that supply it to the reactor core. The software will need to advise us of the performance of the reactor in this respect. The customer has expressed an interest in being able to receive reports on a daily basis on the performance so the software is likely to need to assemble that data for us in the form of a spreadsheet.
The software system needs to be written in a language suited to low level interfaces and needs to have a small footprint to enable it to be exhaustively tested for legal compliance and reliability. We think C would be a good choice in this respect. The software system can never be connected to the Internet. Ideally any updates would be carried out using a trusted desktop on the customer’s site. The customer requires 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.
We have a good development team in place with over 150 years of experience in development of innovative software systems. alone has 40 years of experience and is our most senior engineer. is our senior planner and she has 20 years of senior level experience and leads a senior team of 3 people. John oversees a team of graduate software engineers and developers who have
a minimum of 3 years commercial experience each. The work cannot be sub- contracted due to legal constraints placed upon Codex by our customer. 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) Giveanexampleofadomainrequirementandexplainwhyneedstobedone with the domain requirement so that it can be acted upon.
As part of the planning and management process, a risk analysis is to be conducted. Risks are to be analysed using a standard risk analysis methodology considering the nature of the risk, how likely it is, what can be done about it and how we monitor the on-going level of risk.
d) Presentananalysisoftwotechnologicalrisksinherentinthisproject.
e) Present an analysis of two organisational/people risks inherent in this project. [6 marks]
f) 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]
/Turn over
G6046 Software Engineering
a) HardRock Software Corp have two projects. One project requires their
development team to produce an innovative new smartphone app game intended to take the world by storm and become a huge hit with people in the age range 18-25. Details are sketchy at the moment but it is said that the game is to allow you to become a virtual international rock star by forming a band, learning to play your instruments and touring the world. Sounds quite glamorous (health warning – it isn’t). The smartphone app is needed on Android first and it may get ported to other platforms later.
The other project is to develop a new sales, accounting and project planning system for a company that makes fluid pumps used in gear boxes for the automotive and aerospace industry. The system is needed to provide an effective means for multiple project managers to monitor income and expenditure and provide high quality reports to customers on the progress of their projects. These are high value projects and are often subject to complex technical requirements.
You are asked to advise HardRock 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 Duration Predecessor(s) (Working days)
Requirements analysis 5
Review with customer 5 A Initial software design 20 B Hardware procurement 30 B
T est hardware 15 D Final software design 10 C Core software coding 20 F User interface coding 15 F Software integration 10 G,H System integration 10 E,I
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) WhataretheadvantagesofbuildingapieceofsoftwareusingtheModelView Controller architectural design pattern? Your answer should include a description of what the MVC pattern is, and a practical example of your choosing to illustrate it being used to solve a practical problem.
[15 marks]
/Turn over
G6046 Software Engineering
3. Youhavebeengivenanoutlinespecificationforacomputersystemforusebya company selling “cheap car insurance”. No meerkats are involved …
“A company sells car insurance. Customers can visit the site and enter details so that they can receive a quotation. They can opt to accept the quotation and purchase the insurance if they choose. To get a quotation, customers have to enter some basic personal information including their age, occupation and address (including postcode). Customers can have any number of motor cars and purchase insurance to drive all of them under one simple policy. The cost of insuring any individual motor car is determined by the make of the car, its age, engine capacity in cc (cubic centimetres) and whether it is kept in a garage overnight or on the street. Insurance for any individual car can be “fully comprehensive”, “third party, fire and theft” or “third party only” depending on the level of cover required. The system has information that enables it to combine information about the car and the customer and calculate the total for the customer to insure that particular car. You should not be concerned with how that calculation is performed. The total for any quotation is the sum total of all of the cars that the customer would like insured. A customer can add another driver to any part of the policy. This increases the cost of insuring any individual car by a further 20%, providing the additional driver is over 25 years of age. If a customer wants to insure more than two vehicles, they receive a 10% discount on their quotation and policy if they decide to go ahead and make a purchase. Once a quotation is accepted it is converted into a purchased policy that needs to be stored on the system with all of the relevant details and a date that the purchase was made. If a customer calls the company to follow up on a quotation, the insurance company should be able to recover the quotation details by the customer’s name.”
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) Produce a use case to describe the system in use.
[25 marks]
c) Explainthedifferencebetweenunittesting,componenttestingandsystem level testing.
[10 marks]
d) Define an appropriate system of documentation for recording system-level testing. Define 3 tests that might be performed on this system.
[10 marks]
End of paper
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com