Software Process

Only available on StudyMode
  • Download(s): 221
  • Published: April 17, 2013
Read full document
Text Preview
LARGE SCALE SOFTWARE DEVELOPMENT

1. What are the fundamental activities that are common to all software processes?

a. Specification – defining what the system should do;

b. Design and implementation – defining the organization of the system and implementing the system;

c. Validation – checking that it does what the customer wants;

d. Evolution – changing the system in response to changing customer needs.

2.List the 3 generic process models that are used in software engineering?

← The waterfall model

▪ Plan-driven model. Separate and distinct phases of specification and development.

← Incremental development

▪ Specification, development and validation are interleaved. May be plan-driven or agile.

← Reuse-oriented software engineering

▪ The system is assembled from existing components. May be plan-driven or agile.

3. Why are iterations usually limited when the waterfall model is used?

← The main drawback of the waterfall model is the difficulty of accommodating change after the process is underway. In principle, a phase has to be complete before moving onto the next phase.

4.What are the three benefits of incremental development, compared to the waterfall model?

← The cost of accommodating changing customer requirements is reduced.

▪ The amount of analysis and documentation that has to be redone is much less than is required with the waterfall model.

← It is easier to get customer feedback on the development work that has been done.

▪ Customers can comment on demonstrations of the software and see how much has been implemented.

← More rapid delivery and deployment of useful software to the customer is possible.

▪ Customers are able to use and gain value from the software earlier than is possible with a waterfall process.

5.What are the development stages in reuse-based development?

▪ Component analysis;

▪ Requirements modification;

▪ System design with reuse;

▪ Development and integration.

6.What are the principal requirements engineering activities?

▪ Feasibility study

• Is it technically and financially feasible to build the system?

▪ Requirements elicitation and analysis

• What do the system stakeholders require or expect from the system?

▪ Requirements specification

• Defining the requirements in detail

▪ Requirements validation

• Checking the validity of the requirements

7.Why is it increasingly irrelevant to distinguish between software development and evolution?

- Although there has been a demarcation between development and evolution (maintenance) this is increasingly irrelevant as fewer and fewer systems are completely new.

8.What are the advantages of using incremental development and delivery?

← Customer value can be delivered with each increment so system functionality is available earlier.

← Early increments act as a prototype to help elicit requirements for later increments.

← Lower risk of overall project failure.

← The highest priority system services tend to receive the most testing.

9.What are the 4 sectors in each loop in Boehm’s spiral model?

Objective setting

▪ Specific objectives for the phase are identified.

← Risk assessment and reduction

▪ Risks are assessed and activities put in place to reduce the key risks.

← Development and validation

▪ A development model for the system is chosen which can be any of the generic models.

← Planning

▪ The project is reviewed and the next...
tracking img