190 likes | 225 Views
Chapter 2 The Process. Software Engineering. Defined by IEEE 610.12-1990 as:
E N D
Software Engineering • Defined by IEEE 610.12-1990 as: • (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches in (1).
A Layered Technology Software Engineering Software Engineering - provide support for methods and processes tools - technical how tos methods -glue that holds layers together process model a “quality” focus - bedrock
Types of Software Maintenance • Corrective • Adaptive • Perfective • Preventive
A Common Process Framework • Common process framework • Framework activities • Task Sets • Umbrella Activities • tasks • milestones,deliverables • SQA checkpoints
Umbrella Activities • Software project management (tracking and control) • Formal technical reviews • Software quality assurance • Software configuration management • Document preparation and production • Reusability management • Measurement • Risk management
The Process Model:Adaptability • the framework activities will always be applied on every project ... BUT • the tasks (and degree of rigor) for each activity will vary based on: • the type of project (an “entry point” to the model) • characteristics of the project • common sense judgment; concurrence of the project team
Software Qualification Testing Software Integration Software Coding & Testing Software Detailed Design Software Architectural Design Software Reqmts Analysis System Architectural Design Software Item n . . . System Integration, Qualification & Release Activities System Reqmts Analysis Hardware Items Waterfall Model Software Item 1 Note: 1) Software Lifecycle Activities are bolded / shaded 2) This model is consistent with IEEE/EIA 12207.2 - 1997
Prototyping Prototyping
Still Other Process Models • WINWIN spiral model - defines negotiating activities and adds anchor points to spiral model • Concurrent process model—recognizes that different part of the project will be at different places in the process • Component-based development model—the process to apply when reuse is a development objective • Formal methods—the process to apply when a mathematical specification is to be developed • Cleanroom software engineering—emphasizes error detection before testing