Chapter 1: Introduction to Systems Analysis and Design PDF
Document Details
Uploaded by ArdentDenver
Universiti Malaysia Terengganu
Tags
Summary
This document provides an introduction to systems analysis and design, explaining the systems development life cycle (SDLC) and different methodologies. It describes object-oriented systems and the Unified Process, along with related concepts like the Unified Modeling Language (UML).
Full Transcript
Chapter 1: Introduction to Systems Analysis and Design Learning Objectives ⚫Systems development life cycle ⚫Identify the four phases ⚫How it came about ⚫Methodology alternatives ⚫Team roles & skill sets ⚫Object-oriented systems characteristics ⚫Object-oriented systems analysis & des...
Chapter 1: Introduction to Systems Analysis and Design Learning Objectives ⚫Systems development life cycle ⚫Identify the four phases ⚫How it came about ⚫Methodology alternatives ⚫Team roles & skill sets ⚫Object-oriented systems characteristics ⚫Object-oriented systems analysis & design ⚫The Unified Process & its extensions ⚫The Unified Modeling Language (UML) Introduction ⚫Why do we need a formal process? ⚫Failures occur (too) often ⚫Creating systems is not intuitive ⚫Projects are late, over budget or delivered with fewer features than planned ⚫The System Analyst is the key person ⚫Designs a system to add value ⚫Must understand the business processes ⚫Job is rewarding, yet challenging ⚫Requires specific skill sets Systems Development Life Cycle (SDLC) The SDLC Process ⚫The process consists of four phases ⚫Each phase consists of a series of steps ⚫Each phase is documented (deliverables) ⚫Phases are executed sequentially, incrementally, iteratively or in some other pattern Questions to be Answered ⚫Planning phase ⚫Why should we build this system? ⚫What value does it provide? ⚫How long will it take to build? ⚫Analysis phase ⚫Who will use it? ⚫What should the system do for us? ⚫Where & when will it be used? ⚫Design phase ⚫How should we build it? SDLC: The Planning Phase 1. Project Initiation ⚫Develop/receive a system request ⚫Conduct a feasibility analysis ⚫Technical feasibility ⚫Economic feasibility ⚫Organizational feasibility 2. Project Management ⚫Develop the work plan ⚫Staff the project ⚫Monitor & control the project SDLC: The Analysis Phase 1. Develop an analysis strategy ⚫ Model the current system ⚫ Formulate the new system 2. Gather the requirements ⚫ Develop a system concept ⚫ Create a business model to represent: ⚫ Business data ⚫ Business processes 3. Develop a system proposal SDLC: The Design Phase 1. Develop a design strategy 2. Design architecture and interfaces 3. Develop databases and file specifications 4. Develop the program design to specify: ⚫ What programs to write ⚫ What each program will do SDLC: The Implementation Phase 1. Construct the system ⚫ Build it (write the programming code) ⚫ Test it 2. Install system ⚫ Train the users 3. Support the system (maintenance) SDLC: Methodologies ⚫Methodology: a formalized approach to implementing the SDLC ⚫Categories ⚫Process oriented ⚫Data centered ⚫Object-oriented ⚫Structured ⚫Rapid action development ⚫Agile development Classes of Methodologies ⚫Structured Development ⚫Waterfall Development ⚫Parallel Development ⚫Rapid Application Development ⚫Phased ⚫Prototyping ⚫Agile Development ⚫eXtreme Programming ⚫SCRUM Which Methodology to Use? The Systems Analyst: Skills ⚫Agents of change ⚫Identify ways to improve the organization ⚫Motivate & train others ⚫Skills needed: ⚫Technical: must understand the technology ⚫Business: must know the business processes ⚫Analytical: must be able to solve problems ⚫Communications: technical & non-technical audiences ⚫Interpersonal: leadership & management ⚫Ethics: deal fairly and protect confidential information The Systems Analyst: Roles Object-Oriented Systems Analysis & Design ⚫Attempts to balance data and process ⚫Utilizes the Unified Modeling Language (UML) and the Unified Process ⚫Characteristics of OOAD: ⚫Use-case Driven ⚫Architecture Centric ⚫Iterative and Incremental Characteristics of Object- Oriented Systems ⚫Classes & Objects ⚫Object (instance): instantiation of a class ⚫Attributes: information that describes the class ⚫State: describes its values and relationships at a point in time ⚫Methods & Messages ⚫Methods: the behavior of a class ⚫Messages: information sent to an object to trigger a method (procedure call) Characteristics of Object- Oriented Systems (cont.) ⚫Encapsulation & information hiding ⚫Encapsulation: combination of process & data ⚫Information hiding: functionality is hidden ⚫Inheritance ⚫General classes are created (superclasses) ⚫Subclasses can inherit data and methods from a superclass Characteristics of Object- Oriented Systems (cont.) ⚫Polymorphism & dynamic binding ⚫Polymorphism: the same message can have different meanings ⚫Dynamic binding: type of object is not determined until run- time ⚫Contrast with static binding Object-Oriented Systems Analysis & Design ⚫Use-case driven ⚫Use-cases define the behavior of a system ⚫Each use-case focuses on one business process ⚫Architecture centric ⚫Functional (external) view: focuses on the user’s perspective ⚫Static (structural) view: focuses on attributes, methods, classes & relationships ⚫Dynamic (behavioral) view: focuses on messages between classes and resulting behaviors Object-Oriented Systems Analysis & Design (cont.) ⚫Iterative & incremental ⚫Undergoes continuous testing & refinement ⚫The analyst understands the system better over time ⚫Benefits of OOSAD ⚫Break a complex system into smaller, more manageable modules ⚫Work on modules individually ⚫See the system more realistically—as the users do The Unified Process ⚫A specific methodology that maps out when and how to use the various UML techniques for object-oriented analysis and design ⚫A two-dimensional process consisting of phases and workflows ⚫Phases are time periods in development ⚫Workflows are the tasks that occur in each phase ⚫Activities in both phases & workflows will overlap The Unified Process Unified Process Phases ⚫Inception ⚫Feasibility analyses performed ⚫Workflows vary but focus is on business modeling & requirements gathering ⚫Elaboration ⚫Heavy focus on analysis & design ⚫Other workflows may be included ⚫Construction: Focus on programming (implementation) ⚫Transition--Focus on testing & deployment Engineering Workflows ⚫Business modeling ⚫Requirements ⚫Analysis ⚫Design ⚫Implementation ⚫Testing ⚫Deployment Supporting Workflows ⚫Project management ⚫Configuration and change management ⚫Environment ⚫Operations and support* ⚫Infrastructure management* * Part of the enhanced unified process Extensions to the Unified Process ⚫The Unified Process does not include: ⚫Staffing ⚫Budgeting ⚫Contract management ⚫Maintenance ⚫Operations ⚫Support ⚫Cross- or inter-project issues Extensions to the Unified Process (cont.) ⚫Add a Production Phase to address issues after the product has been deployed ⚫New Workflows: ⚫Operations & Support ⚫Infrastructure management ⚫Modifications to existing workflows: ⚫Test workflow ⚫Deployment workflow ⚫Environment workflow ⚫Project Management workflow ⚫Configuration & change management workflow Unified Modeling Language ⚫Provides a common vocabulary of object- oriented terms and diagramming techniques rich enough to model any systems development project from analysis through implementation ⚫Version 2.0 has 14 diagrams in 2 major groups: ⚫Structure diagrams ⚫Behavior diagrams UML Structure Diagrams ⚫Represent the data and static relationships in an information system ⚫Class ⚫Object ⚫Package ⚫Deployment ⚫Component ⚫Composite structure UML Behavior Diagrams ⚫Depict the dynamic relationships among the instances or objects that represent the business information system – Activity – Sequence – Communication – Interaction overview – Timing – Behavior state machine – Protocol state machine, – Use-case diagrams Summary All systems development projects follow essentially the same process, called the system development life cycle (SDLC) System development methodologies are formalized approaches to implementing SDLCs The systems analyst needs a variety of skills and plays a number of different roles Object-oriented systems differ from traditional systems Summary ⚫Object-Oriented Systems Analysis and Design (OOSAD) uses a use-case-driven, architecture- centric, iterative, and incremental information systems development approach ⚫The Unified Process is a two-dimensional systems development process described with a set of phases and workflows ⚫The Unified Modeling Language, or UML, is a standard set of diagramming techniques