161 likes | 269 Views
Producción de Sistemas de Información Agosto-Diciembre 2007. Sesión # 2. Software Development Process. Planning. Management. Requirements Development. Architecture. Detailed Design. Construction. Quality Assurance and Testing. User Documentation. Time. (McConnell, 1998).
E N D
Producción de Sistemas de InformaciónAgosto-Diciembre 2007 Sesión # 2
Software Development Process Planning Management Requirements Development Architecture Detailed Design Construction Quality Assurance and Testing User Documentation Time (McConnell, 1998)
Software Development Models • Waterfall Model • Spiral Model • Structured Model • Rapid Prototyping Model • Others?
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)
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)
Para la próxima sesión • Buscar información de al menos 4 modelos de desarrollo de SI. • Realizar un análisis comparativo que incluya características, ventajas y desventajas de cada modelo. • Entregar por escrito tus respuestas, a la hora de clase. • NOTA: No se recibirán actividades por correo electrónico.