System Development Process Instructor: Chien-Ho Ko
Outlines Introduction Iterative process VS waterfall UML System analysis System design
Introduction Why do we need a system development process? Dog house VS high-rise building Development time and cost Maintenance How do you program?
Introduction What process do we need? Unified process, recommended process and models Incremental and iterative process UML
Iterative Process VS Waterfall Plan & Elaborate Sequential, linear life cycle Build Deploy
Iterative Process VS Waterfall Problems in waterfall: Delayed risk, tackling high risk/difficult problems late Requirements and design speculation and inflexibility High complexity Low adaptability
Iterative Process VS Waterfall Recommended process and models Deploy Plan & Elaborate Build Development Cycle 1 Development Cycle 2 … How many cycles do we need? Refine Plan Analyze Design Construct Test How long does it take? When do we use this concept? EX: Thesis.
Iterative Process VS Waterfall Analysis Design Test Plan … Maintenance Implement
Iterative Process VS Waterfall Mitigate problems in waterfall: Delayed risk Iterative Waterfall Impact of Risk Time Time
Iterative Process VS Waterfall Risk problems in waterfall: Speculation and inflexibility 1.Cannot envision until seeing systems 2. Market changes 3. Correctly validate is a challenge Creeping requirements Project size in function points
Unified Modeling Language What is UML? OMG: “The UML is a language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems” 1994: Grady Booch, Jim Rumbaugh, Ivar Jacobson
Unified Modeling Language Why UML? 1997: adopted as a standard by OMG Visualization A set of Solutions Class Diagram Collaboration Diagram Package Diagram State Diagram Activity Diagram Deploy Diagram Use Case Diagram
System Analysis What is analysis? An investigation of a domain that results in models describing its static and dynamic characteristics. It emphasizes questions of “what,” rather then “how.” It emphasizes an investigation of problem and requirements, rather then a solution. Requirement Analysis!
System Analysis Activities in Analysis Development Cycle 1 … Refine Plan Analyze Design Construct Test Define Essential Use Case Define Use Case Diagram Refine Conceptual Model Refine Glossary Define System Sequence Diagram Define Operation Contracts Define State Diagrams
System Design What is system design? A process that uses the products of analysis to produce a specification for implementing a system. A logical description of how a system works.
System Design System Design Activities Development Cycle 1 … Refine Plan Analyze Design Construct Test Define Real Use Case Diagram Refine Reports and UI Refine System Architecture Define Interaction Diagram Define Class Diagram Define Database Schema