180 likes | 256 Views
Explore the layers, maintenance types, common frameworks, adaptability, SEI CMM levels, and various process models in software engineering. Learn about the iterative, linear, and evolutionary models to enhance software development practices.
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