Design Completion A Major Milestone System is Presented to Users and Management for Approval
Data Storage First, select the storage format Then optimize: data storage efficiency access speed
A good data model Simple, straightforward Minimize wasted space Nonredundant (data integrity) Flexible, adaptable to future needs
Physical ERDs Entities become tables Attributes become fields Add primary keys Add foreign keys Add system related components
Optimizing Access Speed Tradeoff between storage efficiency and speed denormalization archiving indexing
Programming and Testing a New System The Most Potentially Difficult Phase - ‘Reality Time’ Key Tradeoff: Development versus Maintenance Effort Lead Programmer Has to Synthesize Many Members’ Work End Users Assume Ownership of the Project Ford Pinto example…
Planning the Programming Effort Careful Selection of Milestones and Modularity of Programming Tasks are Important
Planning the Programming Effort Programs Evolve in Stages: program specifications prototype functional units alpha test system beta test system production system Windows 7 went production yesterday
System Programming and Testing Can You Ever Expect a System to be Error Free? Objectives at This Phase Identify Flaws Operational Technical Economic ‘If we didn’t release the program before it was completely tested, the machines would be obsolete - and so would the program - before they were delivered...’ Herbert Schorr, IBM
System Programming and Testing Rigorously Test the System Prepare the Site for Conversion Prepare to Release the System to the Users
Implementation Planning Testing: Stub Tests test individual routines with dummy linkages Unit Tests individual modules
Implementation Planning Testing: Program Tests program tests with test data loading in real data
Implementation Planning Testing: Integration Tests related modules working together System Tests interfaces between program modules and other programs data access and updating
Implementation Planning Testing: Acceptance Tests user’s most critical role system functions as expected documentation sufficient personnel adequately trained operating procedures clear appropriate liaisons with technical support staff
System Testing The focus here is on ERROR AVOIDANCE The testing focus then migrates to ERROR DETECTION then to ERROR ELIMINATION
System Tests Peak Load Test: extreme conditions User - Hardware Interface: common usage problems Recovery Test: simulate emergencies Average Turnaround Time: verify processing levels
System Tests Documentation: user’s manuals Storage: system’s ability to handle interim files Communications: speed, security, accuracy Use: gauge impact of user’s actions
Conversion and Implementation Parallel Evolutionary ‘Safest’ Not Always Feasible Phased by Subsystems Piecewise implementation of logically divisible components Phased by Location (Single Location) partial implementation in modules, such as divisions or outlets
Conversion and Implementation Phased by Data Characteristic Phased in functionality for a select subset of accounts Crash (Direct) worst for systems objectives, but often necessary requires the most planning Day One Changeover minimal data conversion restart company data base from ‘day one’
Training A Function of the Conversion Process Pilot Phased cycle users through the new system Phased Implement around training schedule
Training Crash Parallel hopefuly, train on a prototype alternately, train the trainers (cascading) Parallel several options, depends on temporary support work beside the ne system and switch over work with trainers running old system
Issues to Consider for Conversion Approach Risk Timing of Benefits Development Time Personnel Resource Requirements Computer Resource Requirements Current System Maintenance
Issues to Consider for Conversion Approach Project Management Complexity Ease of Verification Training Impact Fallback Feasibility