©Ian Sommerville 2006Engenharia de Software, 8ª. edição. Capítulo 1 Slides do Livro do Sommerville, 2000 Disponíveis em inglês em www.software-engin.com Requirements definition System and software design Implementation and unit testing Integr ation and system testing Operation and maintenance Concurr ent activities Outline description Specification Initial version Development Intermediate versions Validation Final version Requirements definition Formal specification Formal transformation Integration and system testing Formal transformations T1 Formal specification T2 R1 P1 T3 R2 P2 T4 Executable program R3 P3 Proofs of transformation correctness P4 Requirements specification Component analysis Requirements modification System design with reuse Development and integration System validation Define outline requirements Develop system increment Assign requirements to increments Valida te increment Design system architecture Integrate increment Valida te system Final system System incomplete Determine objectives alternatives and constraints Risk analysis Evaluate alternatives identify, resolve risks Risk analysis Risk analysis REVIEW Requirements plan Life-cycle plan Development plan Plan next phase Integration and test plan Prototype 3 Prototype 2 Operational protoype Risk a nayl sis Prototype 1 Simulations, models, benchmarks Concept of Operation S/W requirements Requirement validation Product design Detailed design Code Unit test Design V&V Integr ation test Acceptance test Develop, verify Service next-level product Feasibility study Requirements elicitation and analysis Requir ements specification Feasibility report Requirements validation System models User and system requirements Requirements document Re quire me nts spec if ication vitie s Design a cti Arc hitec tura l design Abstra ct spec if ication Inte rf ac e design Com ponent design Data structure design Algor ithm design System a rc hitec ture Softwa re spec if ication Inte rf ac e tion spec if ica Com ponent spec if ication Data structure spec if ication Algor ithm tion spec if ica oducts Design pr Locate error Design error repair Repair error Re-test program Unit testing Module testing Sub-system testing System testing Acceptance testing Component testing Integration testing User testing Requir ements specification System specification System integration test plan Acceptance test plan Service System design Acceptance test Detailed design Sub-system integration test plan System integration test Sub-system integration test Module and unit code and tess Define system requirements Assess existing systems Existing systems Propose system changes Modify systems New system Tool type Planning tools Editing tools Change ma nagement tools Configuration management tools Prototyping tools Method-support tools Language-processing tools Program analysis tools Testing tools Debugging tools Documentation tools Re-engineering tools Examples PERT tools, estimation tools, spreadsheets Text editors, diagram editors, word processors Requirements traceability tools, change control systems Version management systems , system building tools Very high-level languages, user interface generators Design editors, data dictionaries, code generators Compilers, interpreters Cross reference generators, static analysers, dynamic analysers Test data generators, file comp arators Interactive debugging systems Page layout programs , ima ge editors Cross-reference systems , program restructuring systems Reengineering tools Testing tools Debugging tools Program analysis tools Language-processing tools Method support tools Prototyping tools Configuration management tools Change management tools Documentation tools Editing tools Planning tools Specification Design Implementation Verification and Validation CASE technology Tools Editors Compilers Workbenches File comparators Analysis and design Multi-method workbenches Integrated environments Programming Single-method workbenches Environments Process-centred environments Testing General-purpose workbenches Language-specific workbenches