A series of actions that produce something or that lead to a particular result.
Process
What does a process help determine?
Shows a specific way of creating a project.
Process
Focuses on the implementation.
Process
An abstraction of processes.
Model
No specifications on how things are done.
Model
The framework under which a
software product is going to be developed.
Software Development Life Cycle
At a high level: The phases that the product under development will go through.
Software Development Life Cycle
At a low level: The activities involved in each of the model phases and their respective deliverables are identified.
Software Development Life Cycle
Common Phases in Software Development Life Cycles
Identify requirements and define specifications (functional and non-functional requirements).
Documents are produced (lots of them).
An important phase – consider risks, assumptions, constraints, etc.
Analysis
High-level database, architectural and interface.
Use of ERD/class diagram, network design, use case, activity, mockup design, prototypes, etc.
Design
Transform the design into executable code considering industry and firm standards.
Implementation
Modules and components are tested for compliance.
Modules and components that pass the test are integrated.
Testing and Integration
The final product is deployed in the client’s/end user’s environment.
May have to be supported for periodic updates and fixing of bugs.
Installation/Deployment and Maintenance
Stop the use of the product (in this case, the software).
No support for updates and fixes.
End-of-Life
Presented by Winston Royce.
Each phase must be finished first before moving to the next phase.
Waterfall Model
Allows visualization of requirements.
Find out requirements errors earlier.
Better-quality user interface.
Interactive with client/user.
Easy and quick-to-build prototype.
Not used to continue building the software.
Prototyped Waterfall Model
Phases of the Waterfall Model
This model uses the Unified Modeling Language.
Object-Oriented Model
Phases of the Object-Oriented Model
Identification of problem domain objects, object attributes, methods, relationships.
Analysis (OOP Model)
Solution domain classes and interrelationships, entity, interface and control classes.
Design (OOP Model)
Use of Java, C++, C#, etc.
Implementation (OOP Model)