Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 1 The Systems Development Environment
Learning Objectives Define information systems analysis and design. Describe the different types of information systems. Describe the information Systems Development Life Cycle (SDLC). Explain Rapid Application Development (RAD), prototyping, Joint Application Development (JAD), and Computer Aided Software Engineering (CASE). Describe agile methodologies and eXtreme programming. Explain Object Oriented Analysis and Design and the Rational Unified Process (RUP). Chapter 1 © 2008 by Prentice Hall
Introduction Information Systems Analysis and Design Complex organizational process. Used to develop and maintain computer-based information systems. Used by a team of business and systems professionals. Chapter 1 © 2008 by Prentice Hall
Introduction (Cont.) Figure 1-1 An organizational approach to systems analysis and design is driven by methodologies, techniques, and tools Chapter 1 © 2008 by Prentice Hall
A Modern Approach to Systems Analysis and Design 1950s: focus on efficient automation of existing processes 1960s: advent of 3GL, faster and more reliable computers 1970s: system development becomes more like an engineering discipline Chapter 1 © 2008 by Prentice Hall
A Modern Approach to Systems Analysis and Design (Cont.) 1980s: major breakthrough with 4GL, CASE tools, object oriented methods 1990s: focus on system integration, client/server platforms, Internet The new century: Web application development, wireless PDAs, component-based applications Chapter 1 © 2008 by Prentice Hall
A Modern Approach to Systems Analysis and Design (Cont.) Application Software Computer software designed to support organizational functions or processes. Systems Analyst Organizational role most responsible for analysis and design of information systems. Chapter 1 © 2008 by Prentice Hall
Types of Information Systems (Fig 1-2) Chapter 1 © 2008 by Prentice Hall
Types of Information Systems and Systems Development Transaction Processing Systems (TPS) Automate handling of data about business activities (transactions) Process orientation Management Information Systems (MIS) Converts raw data from transaction processing system into meaningful form Data orientation Chapter 1 © 2008 by Prentice Hall
Types of Information Systems and Systems Development (Cont.) Decision Support Systems (DSS) Designed to help decision makers Provides interactive environment for decision making Involves data warehouses, executive information systems (EIS) DSS Components: Database, model base, user dialogue Chapter 1 © 2008 by Prentice Hall
Summary of Information Systems Types Chapter 1 © 2008 by Prentice Hall
Developing Information Systems System Development Methodology is a standard process followed in an organization to conduct all the steps necessary to analyze, design, implement, and maintain information systems. Chapter 1 © 2008 by Prentice Hall
Systems Development Life Cycle (SDLC) Traditional methodology used to develop, maintain, and replace information systems. Phases in SDLC: Planning Analysis Design Implementation Maintenance Chapter 1 © 2008 by Prentice Hall
Standard and Evolutionary Views of SDLC Chapter 1 © 2008 by Prentice Hall
Systems Development Life Cycle (SDLC) (Cont.) Planning – an organization’s total information system needs are identified, analyzed, prioritized, and arranged. Analysis – system requirements are studied and structured. Chapter 1 © 2008 by Prentice Hall
Systems Development Life Cycle (SDLC) (Cont.) Design – a description of the recommended solution is converted into logical and then physical system specifications. Logical design – all functional features of the system chosen for development in analysis are described independently of any computer platform. Chapter 1 © 2008 by Prentice Hall
Systems Development Life Cycle (SDLC) (Cont.) Physical design – the logical specifications of the system from logical design are transformed into the technology-specific details from which all programming and system construction can be accomplished. Chapter 1 © 2008 by Prentice Hall
Systems Development Life Cycle (SDLC) (Cont.) Implementation – the information system is coded, tested, installed and supported in the organization. Maintenance – an information system is systematically repaired and improved. Chapter 1 © 2008 by Prentice Hall
Chapter 1 © 2008 by Prentice Hall
The Heart of the Systems Development Process Current practice combines analysis, design, and implementation into a single iterative and parallel process of activities Chapter 1 © 2008 by Prentice Hall
Traditional Waterfall SDLC One phase begins when another completes, little backtracking and looping Chapter 1 © 2008 by Prentice Hall
Problems with Waterfall Approach System requirements “locked in” after being determined (can't change). Limited user involvement (only in requirements phase). Too much focus on milestone deadlines of SDLC phases to the detriment of sound development practices. Chapter 1 © 2008 by Prentice Hall
Different Approaches to Improving Development Prototyping Computer-Aided Software Engineering (CASE) Tools Joint Application Design (JAD) Chapter 1 © 2008 by Prentice Hall
Different Approaches to Improving Development (Cont.) Rapid Application Development (RAD) Agile Methodologies eXtreme Programming Chapter 1 © 2008 by Prentice Hall
Prototyping Iterative development process: Requirements quickly converted to a working system. System is continually revised. Close collaboration between users and analysts. Chapter 1 © 2008 by Prentice Hall
Prototyping (Cont.) Chapter 1 © 2008 by Prentice Hall
Computer-Aided Software Engineering (CASE) Tools Diagramming tools enable graphical representation. Computer displays and report generators help prototype how systems “look and feel”. Chapter 1 © 2008 by Prentice Hall
Computer-Aided Software Engineering (CASE) Tools (Cont.) Analysis tools automatically check for consistency in diagrams, forms, and reports. Central repository for integrated storage of diagrams, reports, and project management specifications. Chapter 1 © 2008 by Prentice Hall
Computer-Aided Software Engineering (CASE) Tools (Cont.) Documentation generators standardize technical and user documentation. Code generators enable automatic generation of programs and database code directly from design documents, diagrams, forms, and reports. Chapter 1 © 2008 by Prentice Hall
CASE Tools (Cont.) Figure 1-12 A class diagram from IBM’s Rational Rose Chapter 1 © 2008 by Prentice Hall
CASE Tools (Cont.) Chapter 1 © 2008 by Prentice Hall
Joint Application Design (JAD) Structured process involving users, analysts, and managers. Several-day intensive workgroup sessions. Purpose: to specify or review system requirements. Chapter 1 © 2008 by Prentice Hall
Rapid Application Development (RAD) Methodology to radically decrease design and implementation time. Involves: extensive user involvement, prototyping, JAD sessions, integrated CASE tools, and code generators. Chapter 1 © 2008 by Prentice Hall
Rapid Application Development (RAD) (Cont.) Chapter 1 © 2008 by Prentice Hall
Agile Methodologies Motivated by recognition of software development as fluid, unpredictable, and dynamic. Three key principles Adaptive rather than predictive. Emphasize people rather than roles. Self-adaptive processes. Chapter 1 © 2008 by Prentice Hall
Agile Methodologies (Cont.) Chapter 1 © 2008 by Prentice Hall
eXtreme Programming Short, incremental development cycles. Automated tests. Two-person programming teams. Chapter 1 © 2008 by Prentice Hall
eXtreme Programming (Cont.) Coding and testing operate together. Advantages: Communication between developers. High level of productivity. High-quality code. Chapter 1 © 2008 by Prentice Hall
Object-Oriented Analysis and Design (OOAD) Based on objects rather than data or processes. Object: a structure encapsulating attributes and behaviors of a real-world entity. Chapter 1 © 2008 by Prentice Hall
Object-Oriented Analysis and Design (OOAD) (Cont.) Object class: a logical grouping of objects sharing the same attributes and behaviors. Inheritance: hierarchical arrangement of classes enable subclasses to inherit properties of superclasses. Chapter 1 © 2008 by Prentice Hall
Rational Unified Process (RUP) An object-oriented systems development methodology. RUP establishes four phase of development: inception, elaboration, construction, and transition. Each phase is organized into a number of separate iterations. Chapter 1 © 2008 by Prentice Hall
Phases of OOSAD-based Development Figure 1-14 Phases of OOSAD-based development Chapter 1 © 2008 by Prentice Hall
Our Approach to Systems Development The SDLC is an organizing and guiding principle in this book. We may construct artificial boundaries or artificially separate activities and processes for learning purposes. Our intent is to help you understand all the pieces and how to assemble them. Chapter 1 © 2008 by Prentice Hall
Summary In this chapter you learned how to: Define information systems analysis and design. Describe the different types of information systems. Describe the information Systems Development Life Cycle (SDLC). Chapter 1 © 2008 by Prentice Hall
Summary (Cont.) Explain Rapid Application Development (RAD), prototyping, Joint Application Development (JAD), and Computer Aided Software Engineering (CASE). Describe agile methodologies and eXtreme programming. Explain Object Oriented Analysis and Design and the Rational Unified Process (RUP). Chapter 1 © 2008 by Prentice Hall