Software Development Life Cycle |
Software Development Life Cycle contains five phases:
Define the problem
Produce the project schedule
Confirm project feasibility
Schedule Feasibility
Cost Feasibility
Technical Feasibility
Operational-Organizational Feasibility
Staff the project
Launch the project
Gather information
Define system requirements
Prioritize requirements
Prototype for feasibility and discovery
Generate and evaluate alternatives
Review recommendations with management
Design and integrate the network
Design the application architecture
Design the user interfaces
Design the system interfaces
Design and integrate the database
Prototype for design details
Design and integrate the system controls
General requirements
The performance record of the provider
Level of technical support from the provider
Availability of experienced staff
Development cost
Expected value of benefits
Length of time (schedule) until deployment
Impact on internal resources
Requirements for internal expertise
Organizational impacts (retaining, skill levels)
Expected cost of data conversion
Warranties and support services (from outside vendors)
Technical requirements
Robustness (the software does not crash)
Programming errors (the software calculates correctly)
Quality of code (maintainability)
Documentation (user and system, on-line and written)
Ease of installation
Flexibility (the software makes it easy to adjust to new functionality and new environments)
Structure (maintanable, easy to understand)
User-friendliness (natural and intuitive use)
Performance (response time)
Scalability (ability to handle large volumes)
Compatibility with operating environment (hardware, operating system)
Functional requirements (Defined in analysis phase.)
There is a series of five articles on UML part of Software Development Magazine web site. The first article is here.