130 likes | 308 Views
11425 Software Engineering. Process Activities February 21 , 2012. Sommerville , I., Software Engineering, Pearson, 9 th Ed., 2010. Overview. Software specification Software design and implementation Software validation Software evolution. 1 Software Specification.
E N D
11425 Software Engineering Process Activities February 21, 2012 Sommerville, I., Software Engineering, Pearson, 9th Ed., 2010.
Overview • Software specification • Software design and implementation • Software validation • Software evolution
1 Software Specification • Software specification or requirements engineering is the process of understanding and defining what services are required from the system and identifying the constraints on the system’s operation and development • The requirements engineering process aims to produce an agreed requirements document that specifies the system satisfying stakeholder requirements
Requirements Engineering Process • Feasibility study • Can we develop the system within the budget? • Go or don’t with more detailed analysis • A feasibility study should be quick and cheap • Requirements elicitation and analysis • Derive the system requirements through observation, discussion, task analysis, etc.
Requirements Engineering Process • Requirements specification • Translate the information gathered during the analysis activity into a document • User requirements • System requirements • Requirements validation • Check the requirements for realism, consistency, and completeness
2 Software Design & Implementation • The implementation stage of software development is the process of converting a system specification into an executable system • A software system design is a description of the structure of the software to be implemented • Designers do not arrive at a finished design immediately but develop the design iteratively
The Design Process • Architectural design • Identify the overall structure of the system • Identify the components (sub-systems/modules) • Interface design • Define the interfaces between system components • Component design • Take each system component and design it • Database design • Design the system data structures
3 Software Validation • Verification and validation (V&V) • Show that a system: • Conforms to its specification • Meets the expectations for the customer • Testing process • Development testing • System testing • Acceptance testing
Testing Process • Development testing • Components of the system are tested by the people developing the system • System testing • Finding errors that result from unanticipated interactions between components • Acceptance testing • The system is tested with data from the user • Sometimes called alpha testing • Beta testing involves delivering a system to a number of potential customers to use it and report errors
4 Software Evolution • It is very expensive to make changes to the hardware design. • Changes can be made to software at any time during or after the system development • As requirements change through changing business circumstances, the software that supports the business must also evolve and change.