220 likes | 364 Views
Systems Development. Systems Development Life Cycle (SDLC). SDLC is a conceptual model or framework, it describes the phases of systems development, and is used in project management. Investigate / Plan. Systems Analysis. Note: feedback loops are added to allow the return to prior stages.
E N D
Systems Development Life Cycle (SDLC) SDLC is a conceptual model or framework, it describes the phases of systems development, and is used in project management Investigate / Plan Systems Analysis Note: feedback loops are added to allow the return to prior stages Systems Design Systems Implementation Systems Maintenance
Investigation / Planning • What’s the business problem/opportunity? • Feasibility Study • Operational • Technical • Economic (cost/benefit analysis) • Consider tangible/intangible costs and benefits
Systems Analysis • Specify “what” the system should do • Analyze current system / business processes • Functional requirements • Input – Process - Output
Systems Design • Specifies “how” we are going to do what needs to be done • User Interface • Layouts of screens, forms, reports, etc… • Data Design • Tables, elements, database structure • Process Design • Design of programs and procedures • System specifications
Implementation • Purchase hardware, software, and services • Request for Quotation (RFQ) / Request for Proposal (RFP) • Programming / Software Installations • Testing • Data Conversion • Documentation • Training • Methods of Converting to New System • Parallel / Phased / Pilot / Direct Cutover
Maintenance • $ of Budget Spent on Maintenance • 1970’s 35-40% • 1980’s 40-60% • 1990’s 70-80% • Types of Maintenance • Corrective – fix errors (70%) • Adaptive – changes needed due to environmental changes (10%) • Perfective – improvements to system (15%) • Preventive – prevent future problems (5%)
Systems Development Life Cycle (SDLC) Investigate / Plan Front End Analysis What do we need to do? Systems Analysis Systems Design Design How are we going to do what needs to be done? Back End Systems Implementation Implement Do it. Systems Maintenance
Actual Analysis (20%) Design (20%) Implementation (60%) Coding (20%) Testing Debugging (40%) Recommended Analysis (40%) Design (40%) Implementation (20%) Allocation of Effort
Systems Development Approaches • Systems Development Approach • Overall scheme for tackling the development of information systems. • Group of methodologies that share basic concepts and development principles • Each methodology uses tools and techniques to accomplish its phases
Methodologies • Traditional / Waterfall (SDLC) / Structured • Build and Fix • Evolutionary • RAD • Spiral • MSF (Microsoft Solutions Framework)
Build and Fix • Implement it • Fix it
What About Prototyping? Prototyping Evolutionary Expendable Methodology Iterative, Interactive Development Technique / Tool Mock-up of system May or may not be functional Throw it away
Evolutionary Prototyping Basic Requirements Identify Develop Investigate / Analysis Design / Implement Working Prototype Problems / Changes Revise and Enhance Implement and Use Analysis / Design Implement / Maintenance Next Version
Spiral Methodology • Iterative • Focus on risk assessment • Combines features of prototyping and waterfall • Used for large, complex project
Spiral Methodology Phases • The following steps are iterated until the customer is satisfied • Requirements defined • Preliminary Design • First prototype • Second prototype • Evaluate first prototype • Requirement of second prototype • Plan and design second prototype • Develop and test second prototype • At the customer’s request, the project is aborted if deemed too risky • Risk Factors: cost overruns, miscalculations of costs, compromised functionality • Final system is constructed based on the refined prototype • Final system is evaluated and tested. Routine maintenance is on a continual basis.
RAD (Rapid Application Development) • Emphasis on fast development • Similar to evolutionary prototyping • Be careful it doesn’t turn into code and fix
RAD Phases • Gather requirements • Workshops / Focus Groups • Prototype – iterative user testing of designs • Re-use software components • Make improvements iteratively with each improvement constituting a new product version • Information reviews and team communications
MSF (Microsoft Solutions Framework) • Process model to respond to customer requests, minimize risks, improve control, improve quality, and increase development speed • Use versioned releases • Maintaining fixed ship-date mindset • Break large projects into smaller, more manageable pieces
MSF Process Model Phases (Milestones) • Envisioning –> Vision approved • Vision document, risk assessment document and project structure document • Planning -> Plan approved • Functional specifications, risk assessment, project schedule • Developing -> Scope Complete • Risk management plan, Source code and executables, test specifications and cases • Stabilizing -> Release • Golden release, release notes, test results, project documents milestone review
Miscellaneous • Extreme Programming • Programmer work closely with business people • Break projects into pieces that can be written and tested fast. • Programmers code in pairs • http://www.devx.com/enterprise/article/16919 • Agile Systems Development • http://www.agilealliance.org/ • http://agilemanifesto.org/ • Project Halt Methodology • http://www.center4pm.com/ProjectHALTt.pdf • Why do I need to know this? • http://www.umsl.edu/~lacity/whymis.html
References • http://searchvb.techtarget.com • Introduction to Information Systems, James A. O’Brien, McGraw-Hill 2005 • Lecture Notes from Systems Analysis and Design Seminary, University or Arkansas, Dr. Bill Hardgrave