190 likes | 327 Views
Sistemas de Información Agosto-Diciembre 2007. Sesión # 9. Software Development Process. Planning. Management. Requirements Development. Architecture. Detailed Design. Construction. Quality Assurance and Testing. User Documentation. Time. (McConnell, 1998).
E N D
Sistemas de InformaciónAgosto-Diciembre 2007 Sesión # 9
Software Development Process Planning Management Requirements Development Architecture Detailed Design Construction Quality Assurance and Testing User Documentation Time (McConnell, 1998)
Evaluating the Software Development Process To assess the quality of the software development process: • verify compliance with project schedule and budget • verify compliance with initial requirements • identify process metrics (SEI) • coding • testing
Software Development Models • Waterfall Model • Spiral Model • Structured Model • Rapid Prototyping Model • Rational • MSF
Waterfall Model • Early focus on analysis of requirements and design • Involves intensive documentation and testing • Also known as “traditional model” or “linear model” Most widely used!
Waterfall Model Systems Requirements Software Requirements Preliminary Design Detailed Design Code and Debug Test and Pre-operations Operations and Maintenance (Source: Dr. Szygenda, SMU) K90329_S_021 (2)
Spiral Model • Involves iterations of design, development, and testing • Starts with a preliminary system version (v0.5) • After intensive testing, a first version of the system (v1.0) is released • Small changes on the first version are included, as necessary (v1.1, v1.2, etc..) • Substantial changes will be included in a new release (2.0, 3.0, etc..) • Works very well on incremental development projects (Source: Dr. Oard, LBSC-690)
Spiral Model 2.3 1.2 0.5 1.1 2.2 1.0 2.1 2.0 3.0 (Source: Dr.Oard, LBSC-690)
Spiral Model Involves several task regions in each iteration: • Customer communication • Planning • Risk analysis • Engineering • Release • Customer evaluation (Pressman, 1997) Tends to be very expensive !
Structured Model • Draws from structured analysis, structured design, and structured programming • Involves parallel activities • Requires several teams • Works very well in large projects with self-directed teams
Structured Model Users Management 1.0 Survey 2.0 Analysis Operations 8.0 Database Conversion 3.0 Design 7.0ProceduralDescription 4.0 Implementation 5.0AcceptanceTestGeneration 6.0 QA 9.0Installation (Source: Dr. Szygenda, SMU) K90329_S_026 (2)
Rapid Prototyping Model • Goal: explore requirements • Without building the complete product • Start with part of the functionality • That will (hopefully) yield significant insight • Build a prototype • Focus on core functionality, not in efficiency • Use the prototype to refine the requirements • Repeat the process, expanding functionality (Source: Dr. Oard, LBSC-690)
Rapid Prototyping + Waterfall Update Requirements Write Specification Initial Requirements Create Software Choose Functionality Write Test Plan Build Prototype (Source: Dr. Oard, LBSC-690)
Rational (IBM) • A process for software engineering arranges in disciplines and phases • Emerged in 1998, from the “Rational Approach” and the “Object Process 3.8”, from IBM
Rational (IBM) • Core Process Workflows (6) • Core Supporting Workflows (3)
MSF Microsoft Solutions Framework (MSF): • An approach to IT project management • Based on Microsoft best practices • To improve project success rates • To increase solution quality • To increase business impact • To improve process in terms of CMMi • To support compliance with ISO standards
Software Development Models: Discussion • How can we decide which model to use for a particular software development project? • How can we assess the quality of: • The software development process? • The software product?
Selecting a Software Development Model Choose a model, in terms of: • the nature of the system to be designed and developed • the time and budget restrictions • the methods and tools available • the required deliverables (Pressman, 1997)