Lecture 2 –Approaches to Systems Development Method 10/9/15 1 Lecture Plan Semester 1 Week 1 – Intro/Systems Dev methods Week 2 – Agile and XP Approach Week 3- Project Management Week 4 – Project Management/Role Project Manager and Case Study Week 5 – Cross Lifecycle Activity/Feasibility Analysis Week 6 - Feasibilty Analysis/Fact Finding Week 7 – Fact Finding/Requirements Week 8 – Requirements/Introduction to UML and Use Case Modeling Week 9 – GUI and Interface Layer Week 10 – Software Quality Assurance Week 11 – Software Testing Week 12 - Recap 2 Typical Systems Development phases ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Initiation (problem formulation and project feasibility) Analysis (requirements definition) Feasibility analysis (decisions) Design (high-level and low-level) Construction (development, coding, implementation) Verification (testing) Implementation (installation, deployment) Maintenance (support), improvements Slid e3 Systems Development Life Cycle SDLC is a disciplined approach to systems development ◦ aimed at facilitating and making the development of new information systems more reliable It consists in breaking down the process in a number of well-defined stages and sub-stages ◦ those sub-stages can, in turn, be broken down in small tasks which take one person a few days to carry out Slid e4 5 Some Important Concepts…. SDLC Requirements development Specification development Control objectives Control design and development Control Implementation and testing Control monitoring and metrics Architectures Documentation Quality Assurance Project Management Business Case Development Business Process engineering / re-engineering Budgeting, costing and financial issues Deployment and integration strategies Training needs assessments and approaches Communications Problem Resolution Variance and non-compliance resolution Risk Management Compliance Monitoring and Enforcement Personnel Issues Others… 6 Cross Life Cycle Activities Project Management Feasibility Analysis - risk management ◦ Most importantly after the requirements collection stage Quality Assurance ◦ Continuous process ◦ System usability, verification, validation, user satisfaction Documentation and Presentations ◦ Traceability Fact-Finding ◦ Mainly associated with requirements collection Slid e7 Project … is a planned undertaking that has a beginning and an end and that produces a desired result or product ◦ Organized activities ◦ Defined (expected) outcome ◦ Timeline, schedule versus ◦ SDLC (stages or phases and their sequence) ◦ Methodology (models, techniques, tools, guidelines) activities & outcome Slid e8 Project Management v SDLC 9 What is Project Management? …the process of planning, directing, and controlling the development of an acceptable system at a minimum cost within a desired timeframe Scope Risk Quality Tools and techniques of systems analysis Resources are not sufficient on their own ◦ Do not advise about HOW to complete development Schedule Budget Slid e 10 What does Project Management do? The classic SDLC must be monitored and managed ◦ excessively long, drawn out process ◦ leads to schedule and cost overruns Techniques such as JAD (Joint Appl. Dev.), prototyping, RAD (Rapid Appl. Dev.), and CASE ◦ should be used to accelerate the life-cycle and ◦ keep it under control within ◦ the proven problem-solving framework of the SDLC Slid e 11 What is an SDLC about? Like a methodology it provides a number of related methods and techniques It cannot guaranty the success of the developments, but provides a number of useful rules and guidelines There are many version of SDLC (nearly as many as authors) but they nearly all say the same thing Slid e 12 History Early days ◦ Build and fix “mode” Structured development ◦ to create a reliable, repeatable approach ◦ specific phases of analysis, design, construction, … ◦ phases are very different: built on differing disciplines and use very different techniques Pragmatic approaches for large, commercial software development ◦ “synchronize and stabilize “ ◦ Drop content, if needed Slid e 13 Elements of the Waterfall SDLC Requirements definition Design (preliminary and detailed) Construction (coding) Verification (unit, integration and system testing) System rollout Maintenance Key points: (installation) (support) one stage has to end before next begins, work products assumed to be complete at the end of each stage Slid e 14 Incremental SDLC Key points: several increments are being developed on separate timelines start of an increment does not have to wait for the end of another each could repeat stages as fit and needed Slid e 15 Spiral model of systems development Key points: each round consist of the same basic (4) steps following each other (like mini waterfalls) in every turn the scope of the development is increased Slid e 16