You are on page 1of 13

School of Physics, Engineering and Computer Science

Timed Assessment

Title Models and Software % of final grade 50%


Metrics (Timed Online
Test)

Format This paper consists of SIX Duration The duration of this test is
questions you are 150 minutes as follows:
required to answer TWO
 120 minutes for
questions from Section A
answering
and TWO questions from
questions
Section B ONLY.
 30 minutes for
preparing and
Rename the test paper
uploading your
with your student id and
submission
include this at the bottom
of each page along with
the page number.

Enter your answer using


your own words directly
under each of the
questions/sub questions
in the space provided. Do
not include references,
bullet points, diagrams,
images, or graphics.

Submit this ONE Word file


via Canvas.

The submission 14th January This assignment will be 15:00 hours


deadline is: available until:
15:00 hours
(see Due time on (see Available Until time
Studynet/Canvas) on Studynet/Canvas)

This timed assignment assesses the following module learning outcomes:

Page 1 of 13
School of Physics, Engineering and Computer Science

1. the range of individual products and processes that exist within a complex software engineering project.
2. the selection of appropriate models and measures that can be applied to software engineering products
and processes.
3. measurement based techniques to typical software engineering problems.

Additional information for students

No late work is acceptable.

If you miss the deadline:

 You may be eligible to apply for Serious Adverse Circumstances: https://ask.herts.ac.uk/serious-adverse-


circumstances-sac or
 UPR AS14 D52.2.2 and D5.2.2.3 will apply (“Where a module numeric grade of 19 or less has been
achieved through unintended non-submission of coursework or non-attendance at an examination or in-
class test, Module Boards and Short Course Boards have the discretion to award a
FREFE/FREFC/FREFB status code”).

This is an individual assignment. Regulations governing academic integrity and academic misconduct apply, see:
https://www.herts.ac.uk/__data/assets/pdf_file/0007/237625/AS14-Apx3-Academic-Misconduct.pdf

For postgraduate modules, a score of 50% or above represents a pass mark.

Section A Process Models and Quality

1. Software Process [25 marks]

Case Study

You are a software project manager in a large motor car manufacturing company. The company’s
software department is about to start developing a new highly sophisticated and leading edge on-
board navigation system for the next generation of the company’s cars. The new navigation system
will provide significantly enhanced features and functions compared to the previous version that is
currently used in the company’s vehicles

You will be responsible for overseeing a development team of 6 staff. Rapid development of the
software is required so that the product can be released quickly to gain competitive advantage, but
high quality in the delivered software is also vital since product recalls after the cars have been
launched are expensive and embarrassing. Six months ago, the software department gained
CMMi level 4 having been a level 3 company for the previous 2 years. However, the procedures
that the department has used to date have proved cumbersome for the rapid development needed
for this project and so the organisation has decided to review their development environment.
Page 2 of 13
School of Physics, Engineering and Computer Science

The software development department has until now used a paper-based top-down conventional
approach to the specification and design of software. It also used an unsophisticated software
development support environment that was developed in-house. This environment has proved to
be very unpopular with developers who do not find it either easy to use or useful. Senior
management has therefore decided to investigate the use of a new set of software development
tools for the design, coding and testing of the system to be developed in this development project.
The department hopes that the new toolset will address the persistent software problems they
have been experiencing despite the high rating of their software development process. These
include: significant schedule slippage (late delivery of software releases), product quality problems
and problems integrating the software with the hardware of the motor car.

a. Referring to the case study above in no more than 600 words describe why you would
recommend the Rapid Application process model for adoption by the software development
department for the new development. Give the general characteristics and features of this
process model, the stages/phases and any other differentiating characteristics of this
model. State any assumptions made
[17 marks]

b. Briefly (250 words) outline one different process model from the one suggested in 1a)
above that you consider not to be suitable. Explain why this approach would not be
recommended.
[8 marks]

Page 3 of 13
School of Physics, Engineering and Computer Science

2. Agile and Prototyping [25 marks]

a. Explain what you understand by the term "software process model". State how the choice of
process model affects the management of a project. In no more than 250 words describe the
Evolutionary Development process model and the circumstances in which it would be
appropriate to use it. Comment on the manageability of projects employing this process model.

[15 marks]

b. Referring to the case study, in no more than 250 words discuss the issues that need to be
addressed when deciding which prototyping method to adopt.

Page 4 of 13
School of Physics, Engineering and Computer Science

[10 marks]

3. Software Quality
[25 marks]

a. Referring to the case study discuss three attributes of software product quality that are
relevant to the software development process in 1a. State why each aspect is important.

[10 marks]

b. Referring to the case study, in no more than 250 words discuss how badly developed
software might affect the work performance of the employees and productivity at this large
motor car manufacturing company?

[15 marks]

Page 5 of 13
School of Physics, Engineering and Computer Science

Section B: Software Measurement and Metrics

4. The Goal-Question-Metric (GQM) model of quality and Cyclomatic complexity metric.

[25 marks]

a. An organization goal is: to reduce the time to effect changes to program code.

Page 6 of 13
School of Physics, Engineering and Computer Science

Identify four suitable Questions and associated Metrics. For each question, justify each
Question and Metric.

[16 marks]

Goal: To reduce the time to effect changes to program code.


Q1: How to reduce loading time?
M1: Webpage cache, image size, hosting
M2: In-process Defects
Justification: This question and its metrices will be useful to access the goal in terms of
load time of the program. Since the goal is to reduce the time to effect change in code it is
necessary to know the metrics which can be useful to reduce loading time of program
Q2: How to reduce execution time?
M1: Code quality, Program loops
M2: Program structure and components
Justification: This question and its metrices will be useful to access the goal in terms of
execution time of the program. Apart from loading time reducing execution time of
program is also necessary to achieve the goal and this could be done by reducing loop
quantity in program, improving structure etc.
Q3: What are the factors effecting program code?
M1: Usability, Functionality, Performance and functionality.
Justification: This question and its metrices will be useful to access the goal in terms of
effect of time reduction of program code. As we reducing the time to effect changes to
program its important consider factors which can be used to measure the effects to
program.
Q4: How to measure effectiveness of program?
M1: Program errors, Throughput
M2: Usability, Functionality, Performance and functionality.
Justification: This is the last question used to achieve the goal. This question and its
metrices will be useful to access the goal in terms of program effectiveness. Since
reducing time can effect the code on both positive or negative way so its important to
measure the effectiveness.

Page 7 of 13
School of Physics, Engineering and Computer Science

Goal-Question-Metric Tree for the Goal

So, this is how, questions and metrics for the chosen goal are defined. For the
aforementioned goal, the questions and metrics developed using the Goals Question
Metric technique will assist them in improving their processes and ensuring that goals are
accomplished as required.

b. Using your own words state two claimed uses and two criticisms for the Cyclomatic
complexity metric.
[9 marks]

Two uses Cyclomatic complexity metric.

1. It may be used as a quality indicator, indicating the relative complexity of different


designs. For example, developers and testers have found that determining the
separate route executions is really useful.
2. It is used to determine the least amount of effort required and the optimal regions
of concentrate for testing. It can ensure that each route has been thoroughly
examined. As a result, it will be easier to concentrate on the pathways that have
yet to be discovered.
Two criticisms for the Cyclomatic complexity metric.
1. It is a measure of the control complexity of the programmes, not the data
complexity.
2. Nested conditional structures are more difficult to comprehend than non-nested
conditional structures in this regard.

Page 8 of 13
School of Physics, Engineering and Computer Science

5. Software Metrics
[25 marks]

a. Software Metrics is a standard of measure that contains different activities which


involve a degree of measurement.

Discuss five of these activities and include a brief description of five characteristics that
you think demonstrates a good software metric. Justify your answer.

[15 marks]

Five activities of Software Metrics which involve a degree of measurement:


 Cost and effort estimation: The scale of the programme, the talents of the
developers, and the level of reuse are all variables that influence effort. Cost and
effort prediction algorithms were created early in the software life cycle to forecast
project expenditures.
 Data collection: Strict data collection is essential to any measuring program's
success. Using basic charts and graphs, managers can see how the project is
progressing and what is going wrong. To conduct scientific research, data
collecting is equally critical.
 Performance and evaluation models: Performance parameters like as reaction
times and completion rates, and internal workings of the system, such algorithm
efficiency, are included in this definition. Adding to the overall quality of a product
is another consideration.
 Structural and complexity metrics: In this activity, we examine the structural

Page 9 of 13
School of Physics, Engineering and Computer Science

characteristics of software representations that are accessible prior to execution.


Then, we strive to develop empirically based theories to assist quality assurance,
quality control, and quality forecasts.
 Reliability models: In order to be useful, metrics need to be quantitative in
character. It indicates that measurements may be stated in terms of values.
Five characteristics that demonstrates a good software metric:
1. Quantitative: Metrics must have a quantitative component. It implies that
measures may be stated as numbers.
2. Understandable: Metric calculation should be simple to understand, with the
process of computation clearly explained.
3. Applicability: Metrics should be used throughout the early stages of software
development.
4. Repeatable: The metric values should be consistent and repeatable when
measured.
5. Economical: The cost of calculating metrics should be low.

b. Briefly outline two metrics which relate to software product quality, discuss why you
think each can be used to assist in measuring the quality of a software product

[10 marks]

1. Code Quality
Measuring the quality of the code used in software development is done using
metrics for code quality. Good software project development necessitates that the
code be bug-free and semantically valid at all times. Both quantitative and
qualitative criteria, such as the number of lines, the complexity of functions, the
frequency with which problems appear, etc., are used to assess the quality of
code. As a result, high-quality code may be assumed to automatically improve the
quality of software products.
2. Performance
The software's performance is measured using performance metrics. For each
programme, there is a certain reason for which it was created. Metrics are used to

Page 10 of 13
School of Physics, Engineering and Computer Science

determine whether or not a piece of software is meeting the needs of the end user,
by analysing the amount of time and resources it takes to execute the task. So, it’s
a key metrics for measurement of software product quality.

6. Reliability [25 marks]

a. Only one of the two models can have produced the following graph.
Which is it, and why? Which is the best distribution to model the graph?

[3 marks]

Page 11 of 13
School of Physics, Engineering and Computer Science

Littlewood and Verrall reliability model

70

60

50

40

30

20

10

0
0 10 20 30 40 50 60 70 80 90
Time

b. Explain the difference between hardware reliability and software reliability. Illustrate your
answer by using two examples that you studied on the module.

[12 marks]

Page 12 of 13
School of Physics, Engineering and Computer Science

c. A key feature of Rapid Application Development is code generation and reuse for rapid
delivery of software. What product methods can be used to identify faults and failures
when developing software in this way to try to ensure reliability?

[10 marks]

** END OF TEST **

Page 13 of 13

You might also like