CS405 Systems Development Life Cycle

advertisement
CS405 Systems Development Life
Cycle
1
Traditional Project Phases
•
•
•
•
•
•
Wild Enthusiasm
Growing Concern
Mounting Terror
Resigned Fatalism
Persecution of the Innocent
Promotion of the Uninvolved
2
SDLC Phases
• SDLC phases
•
•
•
•
•
•
Project Initiation
Requirements definition
Detail design
Construction
Integration testing
Implementation
• “Methodology”
• A formal statement of the purpose, products and tasks for
each phase
• Many software development companies have either created
or adopted a methodology to ensure process consistency
and system quality
3
SDLC Phases
• Project initiation (5% of total effort)
• Why
» Determine overall desirability
» Allow project to be prioritized vis-à-vis other projects
• What
» Project Initiation Report outlining
• Value of the project
• Proposed technologies
• Projected cost of the project
• Expected timeline
» accurate +/- 100%
• How
» Interviews with the business
» Technology evaluation
4
SDLC Phases
• Requirements Definition (15% of total effort)
• Why
» Create a “contract” for what is to be developed
• What
» System Functional Requirements
• A business flow showing how the users will interact with the system in
performing various supported business functions
• All input/output displays/reports should be defined precisely in terms
of the data content at the data field level (see Data Dictionary) and
the desired functionality. Exact screen/report layout is not
important
• A Data Dictionary defining each data field to be used on displays and
reports
• Detailed project plan for next phase; high-level project plan for
remaining phases
• Revised project cost and timeline
• Should identify potential risk factors; e.g. new
technology, multi-national project organization, etc.
• Accurate to +/- 50%
5
SDLC Phases
• How
» User interviews
» Technology evaluation
» Walkthroughs of the proposed system
• “Playscripts”
» Management review and approval to procede to the next
phase
6
SDLC Phases
• Detail design (20% of total effort)
• Why
» Finalize the design of the entire system for sponsor
approval and actual development
» Create a basis for vendor bidding and selection
• What
» Final in/output displays/reports
» Detail description of inputs/outputs to/from other
systems
» Final logical database design
» High-level software specifications
» Revised project cost/timeline accurate to +/- 10%
7
SDLC Phases
• How
»
»
»
»
»
»
Detail display/report design
Detail interface design
Detail logical database design
High-level software design
Validation sessions with sponsors
Project planning and cost estimates
• Remainder of the project phases should be
planned in detail
8
SDLC Phases
• Construction and Unit Testing (20% of total effort)
• Why
» Develop a working system
» Demonstrate that individual components perform as specified.
» Prepare for integration testing and implementation
• What
»
»
»
»
»
A working database
Working software
Unit test results
Integration test plan
Implementation plan
• How
» Detail logic design
» Coding
» Unit testing
9
SDLC Phases
• Integration Testing (30% of total effort)
• Why
» Ensure that all elements of the systems interact correctly
under all circumstances
» Ensure that the system will give acceptable performance
under the volume of processing expected
• What
» A fully tested system
» Completed system documentation
» Authorization to proceed to implementation
10
SDLC Phases
• How (a “black art”)
» String testing
» Scenario testing
• “day-in-the-life” testing
• playscripts
» Parallel testing
• Run an actual day and compare to what the old
system produced
• Very time consuming/expensive
» Implementation testing
• Test conversion programs, history loading
programs, etc.
» Performance testing
11
SDLC Phases
• Implementation (10% of total effort)
• Why
» Implement a working system
• What
» “live” application
• How
»
»
»
»
»
»
Hardware installation
Software installation/roll out
User training
Data conversion
Cut over
Post-implementation support (“hypercare”)
12
Download