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
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 -- for management-oriented reporting 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) 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 Methodology? A series of steps and deliverables 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
Information Systems Roles System Analyst A specialist who studies the problems and needs of an organization to determine how people, data, processes, and information technology can best accomplish improvements for the business serves as a facilitator or coach, bridging the communications gap that can naturally develop between the non-technical system owners and users and the technical system designers and builders Identifying how technology can improve business processes Designing the new business processes Designing the IS Ensuring that the system conforms to IS standards
Systems Development Life Cycle (SDLC) Traditional methodology used to develop, maintain, and replace information systems. Phases in SDLC: Planning (Why build the system? How should the team go about building it?) Analysis (Who uses the system, what will it do, where and when will the system be used?) Design (How will the system work?) Implementation (System construction and delivery) Maintenance Chapter 1 © 2008 by Prentice Hall
A simple process for making lunch
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. Identifying business value Analyze feasibility Develop work plan Staff the project Control and direct project Chapter 1 © 2008 by Prentice Hall
Systems Development Life Cycle (SDLC) (Cont.) Analysis – system requirements are studied and structured. Analysis strategy Gathering business requirements Requirements definition use cases Process modeling Data modeling Chapter 1 © 2008 by Prentice Hall 14
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. Activities, e.g., architecture design, interface design, data storage design, and program design 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. Construction Program building Program and system testing Installation Conversion strategy Training plan Support plan Chapter 1 © 2008 by Prentice Hall
Systems Development Life Cycle (SDLC) (Cont.) Maintenance – an information system is systematically repaired and improved. Chapter 1 © 2008 by Prentice Hall 18
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 Design 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) 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-Assisted Software Engineering (CASE) CASE – the use of automated software tools that support the drawing and analysis of system models and associated specifications, some of them also provide prototyping and code generation capabilities CASE Repositories – a system developers’ database where developers can store system models, detailed descriptions and specifications, and other products of systems development, aka dictionary and encyclopedia Example of CASE tools – Power Builder, Delphi, Rational Rose, Oracle Designer 2000, Paradigm Plus, System Architecture & Accelerator.
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.) A system development strategy that emphasizes speed of development through extensive user involvement in the rapid, iterative, and incremental construction of a series of functioning prototypes of a system that eventually evolves into the final system. Chapter 1 © 2008 by Prentice Hall
Agile Methodologies Motivated by recognition of software development as fluid, unpredictable, and dynamic. apply a planning process that is adaptive so as to accommodate inevitable change 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 a popular agile software development methodology Short, incremental development cycles. Automated tests. Two-person programming teams. 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. 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
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). The analyst is a key person analyzing the business, identifying opportunities for improvement, and designing information systems to implement these ideas. 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