Exam
- 5 questions answer 3
- 2 hours
- 60% weighting
- Revise notes and text
- Study review exercises
1 Process Models
- Fundamental activities of software processes
- Sources of change and how to reduce the amount of rework.
- Describe/evaluate each. Compare/contrast.
- Advantages/disadvantages of each.
- When should each be used, when it is appropriate – an appropriate application
- In what type of situation will the model lead to difficulties – an inappropriate project.
2 Quality
- What is quality? Why is it important. Why do we need to be able to quantifyit?
- Quality, simplistically, means that a product should meet its specification. Why is this problematical for software systems?
- Process and product quality.
- Views of quality.
- Defects –based Quality Measures.
– Explanation.
– Appraisal - How quality can be modelled – Mc Call or ISO 9126.
– Explanation.
– Appraisal.
– If the measure of an internal attribute is to be a useful predictor of an external characteristic what three conditions must hold?
3 Metrics
- What are software metrics?
- The need for metrics
- The importance of measurement and objective.
- Classification internal and external.
- Internal
– Size LOC
– Functionality
– Complexity
– Advantages/disadvantages of each - Measuring Quality
– Usability
– Maintainability
– Reliability - Measuring Productivity
– How to measure and an appraisal of the metric.
– Factors affecting productivity.
4 Process Improvement
- Process and product quality.
- Stages of process improvement.
- Process improvement
–CMMI.
–Mature vs Immature Organisations.
–Overview of levels.
–Structure (KPAs, Goal, Practice).
–Applying CMMI.
–Critical Assessment.
–How to succeed.
–Staged vs continuous.
5 Configuration Management
- What is configuration management?
Why is it important? Aims. - CM Activities.
- What is the software configuration?
- Baselines.
– What they are. Use.
– Typical baselines for a project and how they are derived.
– What questions to ask when changing. - Change control process.
- Configuration audit.
- Version Control.
- System building.
- Release management.
Software Quality W02 – Review
1. What is the difference between an internal and external attribute?
2. Why is important to quantify quality requirements?
3. What are the main differences between the user and product definitions of quality?
4. The system should be “user friendly”. What are possible differences between the user’s and developer’s point of view? How can usability be defined in measurable terms?
5. The most commonly used software quality measure in the industry is the number of faults per thousand line of product source code. Compare the usefulness of this measure for developers and users. List some possible problems with this measure.
6. If 50% of all faults in an operational software system are removed what corresponding improvements would be expected in the reliability of the system?
Process Models – W02
Question 1 (2017)
a) What are the fundamental activities that are common to all software process? (2 Marks)
b) Change is inevitable in all large software projects, what are the main sources of change? (2 Marks)
c) Change leads to rework, how can the cost of rework be reduced? (4 Marks)
d) For incremental development: (8 Marks)
e) Explain why iterations usually are limited in the waterfall model (2 Marks)
f) Explain the difference between iterative and incremental development. (2 Marks)
g) Give an evaluation of spiral development. (6 Marks)
Question 1 (2016)
a) Compare and contrast the following life-cycle models: Waterfall Evolutionary development Incremental development (14 Marks)
b) What are the characteristics of an agile approach to modern software development? (3 Marks)
c) What are the key values proposed by the “Manifesto for Agile Software Development”? (4 Marks)
d) What are the problems associated with an agile approach? (4 Marks)
Question 1 (2015)
a) What is a software process model? (3 Marks)
b) Give an evaluation of the waterfall model of the software process. Is it an accurate reflection of software development activities? (10 Marks)
c) Compare and contrast evolutionary and throwaway prototyping, suggest an appropriate project for each. Explain your reasoning (10 Marks)
Question 1 (2014)
a) Explain the differences between a heavy (plan driven) and a light (agile) approach to software development. (5 Marks)
b) For incremental development:
c) Explain the difference between iterative and incremental development. (2 Marks)
d) What are the key values (trade-offs) proposed by the “Manifesto for Agile Software development”? (4 Marks)
e) What are the pros and cons of each value listed in the Agile Manifesto? (4 Marks)
Question 1 (2013)
a) What is a software process model? (3 Marks)
b) Compare and contrast the following life-cycle models:
c) Explain the differences between a heavy (plan driven) and a light (agile) approach to software development. (5 Marks)
d) When would you recommend against the use of an agile method for developing a software system? (3 Marks)
Metrics – W06
Question 5 (2017)
a) Do you consider software measurement to be important? Explain your reasoning (4 Marks)
b) Explain the difference between an internal and external attribute? (2 Marks)
c) Explain the terms software fault and software failure, what is the relationship between them? (3 Marks)
d) If half of all faults in an operational software system are removed what corresponding improvements would be expected in the reliability of the system? (3 Marks)
e) Why is reliability an external attribute of software? Suggest three internal attributes that could affect reliability. (5 Marks)
f) You have been asked to improve the quality of the software products your company produces by improving reliability. Suggest four metrics which could be collected for this purpose and describe an appropriate system for each. (8 Marks)
CMMI – W09
Question 6 (2017)
a) What are the stages of process improvement? (7 Marks)
b) What is process capability assessment, what is its purpose? (2 Marks)
c) The Capability Maturity Model (CMMI) is the most influential model for this purpose, briefly describe what this model is. (2 Marks)
d) In the context of CMMI explain each of the following terms and the relationship between them:
d) Explain the staged CMMI, when should it be used? (4 Marks)
e) Are CMMI investments beneficial? (4 Marks)
Question 6 (2016)
a) Explain why a high-quality software process should lead to high-quality software products. (5 Marks)
b) The CMMI (capability maturity model integration) is a framework for process improvement
c) The company you work for is planning to start a SPI (software process improvement) initiative and has set up a group to take responsibility for this effort. What advice would you give the group to improve their chances of success? (5 Marks)
d) Measurement of process attributes is essential for process improvement, explain how GQM (goal question metric) can be used for this purpose. (5 Marks)
Question 6 (2015)
The Capability Maturity Model Integration (CMMI) for software is a reference model for appraising software process maturity.