CCS 3201 Software Engineering
CCS 3201 Software Engineering
a) As a software Engineering consultant, you have been asked to advise a small company on
the advantages and disadvantages of using an externally payroll system provided as a
software service. In your answer, outline both the advantages and disadvantages to the
company (5 marks)
b) Explain the differences between the following two phrases from a computing
practitioner’s perspective
i. Software engineering (5 marks)
ii. Computer science (5 marks)
c) Software inspections are very important and must be undertaken for any non-trivial
software development project. What are software inspections and at what phase of
software development do we need them? (5 marks)
A car manufacturer wishes to save weight and improve reliability by replacing most of the
vehicle’s wiring harness with a local area network. Systems such as engine management, anti-
lock braking, traction control and stability control will thus share common platform components.
Your task is to ensure that the safety of these systems, and of the vehicle electronics overall, is
not impaired by this upgrade.
a) Describe the methodology you would adopt for the project, and justify your choice
(5 marks)
b) How would you then ensure that subsequent development of these subsystems {which
you should assume are supplied by different subcontractors {does not compromise
vehicle safety? (5 marks)
c) How might the completion times and costs be estimated for a new software engineering
contract (5 marks)
d) A company is looking to develop a new proprietary software application that can
compete amongst current social media platforms. As chief analyst, give an outline of the
different stages of requirements engineering, and discuss the tools and techniques that
you would adopt to derive a complete and consistent requirements specification from the
company (5 marks)
a) Explain why it is necessary to maintain a software system over its lifetime. In your
answer you should outline the various types of maintenance that software systems require
and give examples of each type (5 marks)
a) Discuss the view that Agile methods are far more able to deliver high customer and
worker satisfaction than their traditional counterparts (5 marks)
b) Give two examples of software engineering tasks where it is likely to be useful, and two
where it is less likely to be (5 marks)
c) Describe the spiral model of software engineering development (5 marks)
d) Explain whether there would be any difference for a hardware development project
(5 marks)