2 Systems Analysis and Design in a Changing World, Fourth Edition
2 Systems Analysis and Design in a Changing World, 4th Edition 2 Learning Objectives u Explain the purpose and various phases of the systems development life cycle (SDLC) u Explain when to use an adaptive approach to the SDLC in place of a more predictive traditional SDLC u Explain the differences between a model, a tool, a technique, and a methodology u Describe the two overall approaches used to develop information systems: the traditional method and the object-oriented method
2 Systems Analysis and Design in a Changing World, 4th Edition 3 Learning Objectives ( continued ) u Describe some of the variations of the systems development life cycle (SDLC) u Describe the key features of current trends in systems development: the Unified Process (UP), Extreme Programming (XP), Agile Modeling, and Scrum u Explain how automated tools are used in system development
2 Systems Analysis and Design in a Changing World, 4th Edition 4 Overview u System development project l Planned undertaking with fixed beginning and end l Produces desired result or product l Can be a large job with thousands of hours of effort or a small one-month project u Successful development project l Provides a detailed plan to follow l Organized, methodical sequence of tasks and activities l Produces reliable, robust, and efficient system
2 Systems Analysis and Design in a Changing World, 4th Edition 5 The Systems Development Lifecycle (SDLC) u Systems development life cycle (SDLC) l Provides overall framework for managing systems development process u Two main approaches to SDLC l Predictive approach – assumes project can be planned out in advance l Adaptive approach – more flexible, assumes project cannot be planned out in advance u All projects use some variation of SDLC
2 Systems Analysis and Design in a Changing World, 4th Edition 6 Choosing the Predictive vs. Adaptive Approach to the SDLC (Figure 2-1)
2 Systems Analysis and Design in a Changing World, 4th Edition 7 Traditional Predictive Approach to the SDLC u Project planning – initiate, ensure feasibility, plan schedule, obtain approval for project u Analysis – understand business needs and processing requirements u Design – define solution system based on requirements and analysis decisions u Implementation – construct, test, train users, and install new system u Support – keep system running and improve
2 Systems Analysis and Design in a Changing World, 4th Edition 8 Information System Development Phases
2 Systems Analysis and Design in a Changing World, 4th Edition 9 SDLC and Problem Solving u Similar to problem-solving approach in Chapter 1 l Organization recognizes problem (project planning) l Project team investigates, understands problem and solution requirements (analysis) l Solution is specified in detail (design) l System that solves problem is built and installed (implementation) l System used, maintained, and enhanced to continue to provide intended benefits (support)
2 Systems Analysis and Design in a Changing World, 4th Edition 10 “Waterfall” Approach to the SDLC
2 Systems Analysis and Design in a Changing World, 4th Edition 11 Modified Waterfall Approach with Overlapping Phases (Figure 2-5)
2 Systems Analysis and Design in a Changing World, 4th Edition 12 Newer Adaptive Approaches to the SDLC u Based on spiral model l Project cycles through development activities over and over until project is complete l Prototype created by end of each cycle l Focuses on mitigating risk u Iteration – Work activities are repeated l Each iteration refines previous result l Approach assumes no one gets it right the first time l There are a series of mini projects for each iteration
2 Systems Analysis and Design in a Changing World, 4th Edition 13 The Spiral Life Cycle Model (Figure 2-6)
2 Systems Analysis and Design in a Changing World, 4th Edition 14 Iteration of System Development Activities (Figure 2-7)
2 Systems Analysis and Design in a Changing World, 4th Edition 15 Activities of Each SDLC Phase u Predictive or adaptive approach use SDLC u Activities of each “phase” are similar u Phases are not always sequential u Phases can overlap u Activities across phases can be done within an iteration
2 Systems Analysis and Design in a Changing World, 4th Edition 16 Activities of Planning Phase of SDLC u Define business problem and scope u Produce detailed project schedule u Confirm project feasibility l Economic, organizational, technical, resource, and schedule u Staff the project (resource management) u Launch project official announcement
2 Systems Analysis and Design in a Changing World, 4th Edition 17 Activities of Analysis Phase of SDLC u Gather information to learn problem domain u Define system requirements u Build prototypes for discovery of requirements u Prioritize requirements u Generate and evaluate alternatives u Review recommendations with management
2 Systems Analysis and Design in a Changing World, 4th Edition 18 Activities of Design Phase of SDLC u Design and integrate the network u Design the application architecture u Design the user interfaces u Design the system interfaces u Design and integrate the database u Prototype for design details u Design and integrate system controls
2 Systems Analysis and Design in a Changing World, 4th Edition 19 Activities of Implementation Phase of SDLC u Construct software components u Verify and test u Convert data u Train users and document the system u Install the system
2 Systems Analysis and Design in a Changing World, 4th Edition 20 Activities of Support Phase of SDLC u Maintain system l Small patches, repairs, and updates u Enhance system l Small upgrades or enhancements to expand system capabilities l Larger enhancements may require separate development project u Support users l Help desk and/or support team
2 Systems Analysis and Design in a Changing World, 4th Edition 21 Methodologies and Models u Methodologies l Comprehensive guidelines to follow for completing every SDLC activity l Collection of models, tools, and techniques u Models l Representation of an important aspect of real world, but not same as real thing l Abstraction used to separate out aspect l Diagrams and charts l Project planning and budgeting aids
2 Systems Analysis and Design in a Changing World, 4th Edition 22 Some Models Used in System Development
2 Systems Analysis and Design in a Changing World, 4th Edition 23 Tools and Techniques u Tools l Software support that helps create models or other required project components l Range from simple drawing programs to complex CASE tools to project management software u Techniques l Collection of guidelines that help analysts complete a system development activity or task l Can be step-by-step instructions or just general advice
2 Systems Analysis and Design in a Changing World, 4th Edition 24 Some Tools Used in System Development
2 Systems Analysis and Design in a Changing World, 4th Edition 25 Some Techniques Used in System Development
2 Systems Analysis and Design in a Changing World, 4th Edition 26 Relationships Among Components of a Methodology
2 Systems Analysis and Design in a Changing World, 4th Edition 27 Two Approaches to System Development u Traditional approach l Also called structured system development l Structured analysis and design technique (SADT) l Includes information engineering (IE) u Object-oriented approach l Also called OOA, OOD, and OOP l Views information system as collection of interacting objects that work together to accomplish tasks
2 Systems Analysis and Design in a Changing World, 4th Edition 28 Traditional Approach u Structured programming l Improves computer program quality l Allows other programmers to easily read and modify code l Each program module has one beginning and one ending l Three programming constructs (sequence, decision, repetition)
2 Systems Analysis and Design in a Changing World, 4th Edition 29 Three Structured Programming Constructs
2 Systems Analysis and Design in a Changing World, 4th Edition 30 Top-Down Programming u Divides complex programs into hierarchy of modules u The module at top controls execution by “calling” lower level modules u Modular programming l Similar to top-down programming u One program calls other programs to work together as single system
2 Systems Analysis and Design in a Changing World, 4th Edition 31 Top-Down or Modular Programming
2 Systems Analysis and Design in a Changing World, 4th Edition 32 Structured Design u Technique developed to provide design guidelines l What set of programs should be l What program should accomplish l How programs should be organized into a hierarchy u Modules are shown with structure chart u Main principle of program modules l Loosely coupled – module is independent of other modules l Highly cohesive – module has one clear task
2 Systems Analysis and Design in a Changing World, 4th Edition 33 Structure Chart Created Using Structured Design Technique
2 Systems Analysis and Design in a Changing World, 4th Edition 34 Structured Analysis u Define what system needs to do (processing requirements) u Define data system needs to store and use (data requirements) u Define inputs and outputs u Define how functions work together to accomplish tasks u Data flow diagrams (DFD) and entity relationship diagrams (ERD) show results of structured analysis
2 Systems Analysis and Design in a Changing World, 4th Edition 35 Data Flow Diagram (DFD) Created Using Structured Analysis Technique (Figure 2-15)
2 Systems Analysis and Design in a Changing World, 4th Edition 36 Entity-Relationship Diagram (ERD) Created Using Structured Analysis Technique
2 Systems Analysis and Design in a Changing World, 4th Edition 37 Structured Analysis Leads to Structured Design and Structured Programming (Figure 2-17)
2 Systems Analysis and Design in a Changing World, 4th Edition 38 Information Engineering (IE) u Refinement to structured development u Methodology with strategic planning, data modeling, automated tools focus u More rigorous and complete than SADT u Industry merged key concepts from structured development and information engineering approaches into traditional approach
2 Systems Analysis and Design in a Changing World, 4th Edition 39 Object-Oriented Approach u Completely different approach to information systems u Views information system as collection of interacting objects that work together to accomplish tasks l Objects – things in computer system that can respond to messages l Conceptually, no processes, programs, data entities, or files are defined – just objects u OO languages: Java, C++, C#.NET, VB.NET
2 Systems Analysis and Design in a Changing World, 4th Edition 40 Object-Oriented Approach to Systems
2 Systems Analysis and Design in a Changing World, 4th Edition 41 Object-Oriented Approach ( continued ) u Object-oriented analysis (OOA) l Defines types of objects users deal with l Shows use cases are required to complete tasks u Object-oriented design (OOD) l Defines object types needed to communicate with people and devices in system l Shows how objects interact to complete tasks l Refines each type of object for implementation with specific language of environment u Object-oriented programming (OOP) l Writing statements in programming language to define what each type of object does
2 Systems Analysis and Design in a Changing World, 4th Edition 42 Class Diagram Created During OO Analysis
2 Systems Analysis and Design in a Changing World, 4th Edition 43 SDLC Variations u Many variations of SDLC in practice l Based on variation of names for phases l No matter which one, activities/tasks are similar u Some increase emphasis on people l User-centered design, participatory design l Sociotechnical systems u Some increase speed of development l Rapid application development (RAD) l Prototyping
2 Systems Analysis and Design in a Changing World, 4th Edition 44 Life Cycles with Different Names for Phases (Figure 2-20)
2 Systems Analysis and Design in a Changing World, 4th Edition 45 Current Trends in Development u More adaptive approaches l The Unified Process (UP) l Extreme Programming (XP) l Agile Modeling l Scrum u Details on each in Chapter 16
2 Systems Analysis and Design in a Changing World, 4th Edition 46 The Unified Process (UP) u Object-oriented development approach u Offered by IBM / Rational l Booch, Rumbaugh, Jacobson u Unified Modeling Language (UML) used primarily for modeling u UML can be used with any OO methodology u UP defines four life cycle phases l Inception, elaboration, construction, transition
2 Systems Analysis and Design in a Changing World, 4th Edition 47 The Unified Process (UP) ( continued ) u Reinforces six best practices l Develop iteratively l Define and manage system requirements l Use component architectures l Create visual models l Verify quality l Control changes
2 Systems Analysis and Design in a Changing World, 4th Edition 48 Extreme Programming (XP) u Recent, lightweight, development approach to keep process simple and efficient u Describes system support needed and required system functionality through informal user stories u Has users describe acceptance tests to demonstrate defined outcomes u Relies on continuous testing and integration, heavy user involvement, programming done by small teams
2 Systems Analysis and Design in a Changing World, 4th Edition 49 Agile Modeling u Hybrid of XP and UP (Scott Ambler); has more models than XP, fewer documents than UP u Interactive and Incremental Modeling l Apply right models l Create several models in parallel l Model in small increments u Teamwork l Get active stakeholder participation l Encourage collective ownership l Model with others and display models publicly
2 Systems Analysis and Design in a Changing World, 4th Edition 50 Agile Modeling ( continued ) u Simplicity l Use simple content l Depict models simply l Use simplest modeling tools u Validation l Consider testability l Prove model is right with code
2 Systems Analysis and Design in a Changing World, 4th Edition 51 Scrum u For highly adaptive project needs u Respond to situation as rapidly as possible u Scrum refers to rugby game l Both are quick, agile, and self-organizing u Team retains control over project u Values individuals over processes
2 Systems Analysis and Design in a Changing World, 4th Edition 52 Tools to Support System Development u Computer-aided system engineering (CASE) l Automated tools to improve the speed and quality of system development work l Contains database of information about system called repository u Upper CASE – support for analysis and design u Lower CASE – support for implementation u ICASE – integrated CASE tools u Now called visual modeling tools, integrated application development tools, and round-trip engineering tools
2 Systems Analysis and Design in a Changing World, 4th Edition 53 CASE Tool Repository Contains All System Information
2 Systems Analysis and Design in a Changing World, 4th Edition 54 Summary u System development projects are organized around the systems development life cycle (SDLC) u Some projects use a predictive approach to the SDLC, and others use a more adaptive approach to the SDLC u SDLC phases include project planning, analysis, design, implementation, and support
2 Systems Analysis and Design in a Changing World, 4th Edition 55 Summary ( continued ) u In practice, phases overlap, and projects contain many iterations of analysis, design, and implementation u Models, techniques, and tools make up a system development methodology u System development methodology provides guidelines to complete every activity in the SDLC
2 Systems Analysis and Design in a Changing World, 4th Edition 56 Summary ( continued ) u System development methodologies are based on traditional approach or object-oriented approach u Current trends include: Extreme Programming (XP), Unified Process (UP), Agile Modeling, and Scrum u CASE tools are designed to help analysts complete system development tasks