Unit 17: SDLC
Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
Preparation Phase Design Phase Development Phase Implementation Phase Maintenance Phase …. plus Evaluation …. Documentation throughout! Systems Development Life Cycle
Identify the need for a new computer system Feasibility Study Determination of Initial Scope Determination of Initial Budget Estimate Determination of Initial Timetable Submit Formal Proposal to Management Management Approval and Funding Preparation Phase
Assemble the Project Team Preparation Phase
Organize the team, and Establish Project Standards Assemble the Project Team Preparation Phase Design Phase
Identification of User Needs Determination of Data Elements Input/Output Specifications -- Prototyping Determination of Data Flows Development of the Database Structure Organize the team, and Establish Project Standards Assemble the Project Team Preparation Phase Design Phase
Design and Development of Test Bed Coding (writing the programs) Testing Regimens Version Control Processes User Signoff Creation of the Processing Specifications Preparation Phase Design Phase Development Phase
DEVELOPMENT PHASE Develop Processing Specifications
Business Event Storage Data CaptureData Transmission User Information QuerySelection/Retrieval Format/Presentation Data Organization
Business Event Storage Business Event Data Capture Data Transmission User Information QuerySelection/Retrieval Format/Presentation
Business Event User Storage Business Event Data Capture Data Transmission QuerySelection/Retrieval Format/Presentation Information Query Selection/Retrieval Format/Presentation
Data Capture Input new records Update/Modify/Change fields Other locations: Update Modify/Change fields Delete records Edit Checks and Validation Checks?
Data Transmission Network Interface Network addressing Network routing/handling Network delivery/verification Encryption? Feedback on transmission?
Data Organization Storing in Master file? Transaction file Storing in multiple files? Update of multiple files with status? Generate notifications of update? Generate notification of Deletions? Edit Checks and Validation Checks? Log files of all changes made?
Data Queries Automatic, done by machines Logical, done by programs Human driven
Formatting and Presenting Response to a machine Response to display only Response to printers Response to other devices Response to error conditions?
Business Event User Storage Business Event Data Capture Data Transmission QuerySelection/Retrieval Format/Presentation Information Query Selection/Retrieval Format/Presentation
DEVELOPMENT PHASE Develop Processing Specifications Design/Develop Test Bed Test Script Test Data
Critical Importance of the Test Script and Test Bed
Testing must be carefully designed to… Make sure each program “works” correctly Make sure each program is accomplishing its purpose Make sure each program works with its surrounding programs Make sure the entire system works together correctly Make sure the system can function properly under full load/capacity Make sure the users can run the business with the system
An integral part of good testing is “negative” testing. Negative testing answers the questions: Does the system catch errors? Can the system be “broken”? Can the system controls by bypassed? Does the system fail gracefully? Can the system recover from failures?
Error Traps Error traps: Notification only (warning) Processing Stop, with override capability Brick-wall traps
Edit Checks vs. Validation Checks Edit checks Date, month, day of week, data-type, etc. Range testing Reasonableness testing Usually the criteria values are hard-coded into the program Validation checks Compares the entered value against another data table Valid customer number? valid employee number? valid produce code? etc. Typically used to ensure integrity with other data and files
DEVELOPMENT PHASE Develop Processing Specifications Design/Develop Test Bed Test Script Test Data Coding Language type (procedural, object-oriented, scripting) Executable type (interpreted vs. compiled)
Terms to know Procedural Language Object-Oriented Language Scripting language
Source Code Text editor CASE Computer Aided Software Engineering
Development Platform Interpreted Languages Production Platform Source Code Execution Interpreter RUN TIME
Development Platform Compiled Languages Production Platform Source Code OBJECT Code Compiler
Development Platform Compiled Languages Production Platform Source Code OBJECT Code Compiler OBJECT Code
Development Platform Compiled Languages Production Platform Execution Source Code OBJECT Code Compiler RUN TIME OBJECT Code
Development Platform Interpreted Languages Production Platform Source Code Execution Interpreter
Development Platform Compiled Languages Production Platform Execution Source Code OBJECT Code Compiler OBJECT Code
DEVELOPMENT PHASE Develop Processing Specifications Design/Develop Test Bed Test Script Test Data Coding Language type (procedural, object-oriented, scripting) Executable type (interpreted vs. compiled) Testing Regimens
Testing must be carefully designed to… Make sure each program “works” correctly Make sure each program is accomplishing its purpose Make sure each program works with its surrounding programs Make sure the entire system works together correctly Make sure the system can function properly under full load/capacity Make sure the users can run the business with the system
ALPHA TESTING REGIMENS Debugging (program testing) Module Testing Integrative Testing Volume Testing Compliance Testing
ALPHA TESTING REGIMENS Debugging Module Testing Integrative Testing Volume Testing Compliance Testing PROGRAMMERS USER SPECIALISTS OUTSIDE CONSULTANTS USER SPECIALISTS ANALYSTSPROGRAMMERS USER SPECIALISTS ANALYSTS BETA TESTING END USERS
SCOPE CREEP
Run Away!
VERSION CONTROL
DEVELOPMENT PHASE (continued) Version Control (of Revisions) User Signoff on Development Useless Gesture ?
Installation of Software on Production Platform (including re-testing)
Installation of Software on Production Platform (and retesting!) User Training Initial Data Load (live data, converted data, etc.) Cut-Over (going live) Shakedown Cruise User Sign-Off Preparation Phase Design Phase Development Phase Implementation Phase Hardware Acquisition, Installation, Configuration and Testing
Hardware Planning, Acquisition, Installation, Testing, Configuration, etc.
Homework Videos Hardware Implementation Phase, Maintenance Phase, Documentation and Evaluation
Preparation Phase Design Phase Development Phase Implementation Phase Maintenance Phase Evaluation Documentation
Questions?