370 likes | 505 Views
Chapter 3. Approaches to System Development. Objectives. Explain the differences between a model, a tool, a technique, and a methodology Describe the two overall approaches used to develop information systems: the traditional method and the object-oriented method
E N D
Chapter 3 Approaches to System Development Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Objectives • Explain the differences between a model, a tool, a technique, and a methodology • Describe the two overall approaches used to develop information systems: the traditional method and the object-oriented method • Describe some of the variations of the system development life cycle (SDLC) Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Objectives • Describe some of the key features of current trends in system development: the spiral model, extreme programming (XP), and the Rational unified process (RUP) • Explain how computer-aided system engineering (CASE) tools are used in system development Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Aids to Assist in Analysis and Design • Methodologies • Comprehensive guidelines to follow for completing every SDLC activity • Collection of models, tools, and techniques • Models • Representation of an important aspect of the real world • Diagrams and charts • Project planning aids Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Some Models Used in System DevelopmentFigure 3-1 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Aids to Assist in Analysis and Design • Tools • Software support that helps create models or other project components • From simple drawing programs to complex CASE tools Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Some Tools Used in System DevelopmentFigure 3-2 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Aids to Assist in Analysis and Design • Techniques • Collection of guidelines that help analyst complete system development activity or task • Step-by-step instructions • General advice Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Some Techniques Used in System DevelopmentFigure 3-3 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Relationships Among Components of a MethodologyFigure 3-4 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Two Approaches to System Development • Traditional Approach • Structured system development • Structured programming • Structured analysis • Structured design • Structured programming • Collectively referred to as structured analysis and design technique (SADT) Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Structured Programming • Improves computer program quality • Allows other programmers to easily read and modify the code • Each program module has one beginning and one ending • Three programming constructs Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Three Structured Programming ConstructsFigure 3-5 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Top-Down Programming • Divides complex programs into hierarchy of modules • Module at top controls execution by “calling” lower level modules • Modular programming • Similar to top-down programming • One program calls others to work as single system Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Top-Down or Modular ProgrammingFigure 3-6 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Structured Design • Developed to provide guidelines • What the set of programs should be • What each program should accomplish • How programs should be organized into a hierarchy • Main principles of program modules • Loosely coupled • Highly cohesive Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Structure Chart Created Using Structured Design TechniqueFigure 3-7 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Structured Analysis • Helps developer define what the system needs to do (processing requirements) • Data to store and use • Inputs and outputs • How functions work together • DFDs and ERDs commonly show results of structured analysis Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
DFD Created Using the Structured Analysis TechniqueFigure 3-8 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
ERD Created During Structured AnalysisFigure 3-9 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Structured Analysis Leads to Structured Design and Structured ProgrammingFigure 3-10 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Information Engineering Approach • System development methodology that focuses on strategic planning, data modeling, and automated tools • More rigorous and complete than the structured approach • Uses process dependency diagram • More focus on data and CASE Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Traditional Approach • Merges information engineering with the structured approach • Used widely in system development Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Object-Oriented Approach • Views information systems as collections of interacting objects that work together to accomplish tasks • Objects - things in the computer system that can respond to messages • No processes, programs, data entities, or files Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Object-Oriented Approach to SystemsFigure 3-11 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Object-Oriented Analysis & Design • Object-oriented analysis • Defines all of the types of objects that do the work of the system • Shows how objects interact • Object-oriented design • Defines all additional object types needed to communicate with people and devices in the system • Refines each type of object for implementation Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Class Diagram Created During OO AnalysisFigure 3-12 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Object-Oriented Programming • Writing statements in programming language to define each object • Benefits include naturalness and reuse Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
SDLC Variations • Analysts encounter many variations of SDLC in practice. Based on: • Phases • Iteration • Emphasis on people • Speed of development Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Waterfall Model of SDLC Figure 3-13 Phases can be varied Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Iteration Across Life Cycle Phases Figure 3-15 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Phases of the Multiview SDLC Figure 3-16 Phases can be based on people Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
The Spiral Life Cycle Model Figure 3-17 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Extreme Programming (XP) • Recent development approach • Lightweight approach to keep process simple • Starts with user stories • Developers document stories with informal descriptive models • Acceptance tests define outcomes • Iterative in nature Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Rational Unified Process (RUP) • Object-oriented development approach • Reinforces six best practices • Develop iteratively • Define and manage system requirements • Use component architectures • Create visual models • Verify quality • Control changes • Inception, elaboration, construction, and transition Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
Computer-Aided System Engineering (CASE) • Automated tools to improve the speed and quality of system development work • Database of information about system called repository • Upper CASE, Lower CASE, ICASE Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd
CASE Tool Repository Contains all System Information Figure 3-18 Systems Analysis and Design in a Changing World, 2nd Edition, Satzinger, Jackson, & Burd