300 likes | 499 Views
Systems Development Life Cycle. “Adding manpower to a late software project makes it later. “ Laws of Computer Programming, X. Reasons for Defining SDLC. “Management by checklist” Incorporate user involvement Handles for management Standardized process for transferability.
E N D
Systems Development Life Cycle “Adding manpower to a late software project makes it later. “ Laws of Computer Programming, X
Reasons for Defining SDLC • “Management by checklist” • Incorporate user involvement • Handles for management • Standardized process for transferability
Phases in the Traditional SDLC • Planning • Analysis • Design • Implementation • Use (and maintenance) • Same general steps in any methodology
Planning • Make sure there’s a real problem (in management’s terms) • Scoping issues • Develop a list of business and system objectives • Feasibility studies • Project planning, assemble resources
Systems Analysis • Gather information about existing system • Develop logical model of system
Sources of Information • Interviews • Documentation • Questionnaires • Work samples
Components of Dataflow Diagram • Process • External Entity • Data Flow • Data Store • Leveling of DFDs
20 or more - 30% Trade < 20 - 20% 50 or more - 20% 20-49 - 10% Private 10-19 - 5% < 10 - 0% Detailed Logic Specifications • Process narrative • Decision tables • Decision trees:
Decision Tree Exercise Draw a decision tree to depict the following algorithm for computing monthly bonuses: If the salesperson has less than one year of service and their sales volume for this month is less than $12,000, they get no bonus. If their sales volume is at least $12,000, they get a 2% bonus. If the salesperson has a year or more of service, and this month's sales volume is $10,000 or more, they get a 5% bonus. If the sales are less than $10,000, look at the average of this and last month's sales. If the average is $15,000 or more, they get a 2% bonus. If the average is less than $15,000, they get no bonus.
Systems Design • Design of: • Reports • Screens • Programs • Data • Forms • Documentation
Report Design • Headers/Footers • Report Body • Data to be included (user’s view) • Summary data • Format of printed data • Frequency and distribution of rpt.
Screen Design • Title • Fields (user’s view) • Edits • Similar to input document • Reduce keystrokes • KISS
Program Design • Depiction of processing logic • Flowcharts • Pseudocode • Other tools • Modular design (object orientation) • Error processing
Data Design • Assures ease of maintenance • Covered in more detail in another section of the course
Form Design • Logical flow, groupings of related elements • Clear captioning (allow check-offs) • Appropriate space for filling out information • Consider electronic forms • Form control issues
Documentation • Types • Systems design • User • Operational
Design Alternatives • Batch vs. online processing (usually a combination) • Architecture (distributed vs. centralized vs. client-server or Web-based) • Improved manual operations • Platform (micro/mini/mainframe)
Other Things to Consider • Requirements for systems software, utilities, DBMS • Hardware requirements • Sizing estimates - current and projected database size, transaction volumes
Implementation • Programming • Testing • Unit • System • Performance (stress) • Training
Implementation (cont.) • Installation • Build historical and reference files • Conversion of old system’s data • Implementation strategies • Immediate vs. parallel • Entire system vs. phased vs. pilot • Acceptance testing
Use and Maintenance • Fix program bugs • Enhancements in response to changing requirements • Maintenance consumes the majority of a DP shop’s budget. • Lessons from the Y2K bug
Building Software Faster • The business imperative • Some alternatives • Software packages • Prototyping • Rapid Application Development (RAD) • User-developed systems
Software Packages • Pros • More robust • Cheaper (all other things equal) – why? • Reflect best practices • Cons • Non-custom • Restrictive
Software Packages (cont.) • Things to consider • Training • Documentation • Support/upgrades • Vendor reputation and stability • Supply of source code • References
Prototyping • Getting meaningful user feedback • Enabled by modern tools • Evolutionary and requirements prototypes
Rapid Application Development • Intense user involvement • Retreat-like setting to get requirements • Requires four types of persons: • Skilled facilitator • Participants • Dedicated note-taker • Decision maker
User-developed Systems • Let end users (like you!) to develop their own applications • Enabled by PC tools • Pros • Offload IS department workload • Motivated and empowered users • Cons • Immature systems