Units 4 & 5: SDLC

advertisement
Unit 17: SDLC
Systems Development Life Cycle

Five Major Phases

Plus Documentation throughout
Plus Evaluation…

Systems Development Life Cycle







Preparation Phase
Design Phase
Development Phase
Implementation Phase
Maintenance Phase
…. plus Evaluation
…. Documentation throughout!
Identify the need for a new computer system
Preparation
Phase
Feasibility Study
Determination of Initial Scope
Determination of Initial Budget Estimate
Determination of Initial Timetable
Submit Formal Proposal to Management
Management Approval and Funding
Assemble the Project Team
Preparation
Phase
Assemble the Project Team
Organize the team,
and Establish Project Standards
Preparation
Phase
Design
Phase
Assemble the Project Team
Organize the team,
and Establish Project Standards
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
Creation of the Processing Specifications
Preparation
Phase
Design
Phase
Development
Phase
Design and Development of Test Bed
Coding (writing the programs)
Testing Regimens
Version Control Processes
User Signoff
DEVELOPMENT PHASE
Develop Processing Specifications
Business
Event
Data Capture
Data Transmission
Data
Organization
Storage
Query
Selection/Retrieval
User
Information
Format/Presentation
Data Capture
Data Transmission
Data Capture
Data Transmission
Data Capture
Data Transmission
Data Capture
Data Transmission
Data Capture
Data Transmission
Business Event
Business Event
Business Event
Business Event
Business Event
Storage
Query
Selection/Retrieval
User
Information
Format/Presentation
Data Capture
Data Transmission
Data Capture
Data Transmission
Data Capture
Data Transmission
Data Capture
Data Transmission
Data Capture
Data Transmission
Business Event
Business Event
Business Event
Business Event
Business Event
Storage
Query
Selection/Retrieval
Query
Selection/Retrieval
Format/Presentation
Query
Selection/Retrieval
Format/Presentation
Query
Selection/Retrieval
Format/Presentation
User
User
User
User
Information
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?



Data Capture
Data Transmission
Data Capture
Data Transmission
Data Capture
Data Transmission
Data Capture
Data Transmission
Data Capture
Data Transmission
Business Event
Business Event
Business Event
Business Event
Business Event
Storage
Query
Selection/Retrieval
Query
Selection/Retrieval
Format/Presentation
Query
Selection/Retrieval
Format/Presentation
Query
Selection/Retrieval
Format/Presentation
User
User
User
User
Information
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
Interpreted Languages
Source Code
RUN TIME
Source Code
Interpreter
Execution
Development
Platform
Production
Platform
Compiled Languages
Source Code
Compiler
OBJECT
Code
Development
Platform
Production
Platform
Compiled Languages
Source Code
OBJECT
Code
Compiler
OBJECT
Code
Development
Platform
Production
Platform
Compiled Languages
RUN TIME
Source Code
OBJECT
Code
Compiler
OBJECT
Code
Development
Platform
Execution
Production
Platform
Interpreted Languages
Source Code
Source Code
Interpreter
Execution
Development
Platform
Production
Platform
Compiled Languages
Source Code
OBJECT
Code
Compiler
OBJECT
Code
Development
Platform
Execution
Production
Platform
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





PROGRAMMERS
Debugging
Module Testing PROGRAMMERS ANALYSTS
Integrative Testing
ANALYSTS
Volume Testing
Compliance Testing OUTSIDE CONSULTANTS
BETA TESTING
USER SPECIALISTS
USER SPECIALISTS
USER SPECIALISTS
USER SPECIALISTS
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)
User Sign-Off
Hardware Acquisition, Installation, Configuration and Testing
Preparation
Phase
Design
Phase
Development
Phase
Implementation
Phase
Installation of Software on Production Platform (and retesting!)
User Training
Initial Data Load (live data, converted data, etc.)
Cut-Over (going live)
Shakedown Cruise
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?
Download