Upload
earl-cameron
View
231
Download
5
Tags:
Embed Size (px)
Citation preview
Chapter 1
Systems Development in an Organizational Context
Modern Systems Analysisand Design
Sixth Edition
Jeffrey A. Hoffer Joey F. George
Joseph S. Valacich
Copyright © 2011 Pearson Education, Inc. 2Chapter 1
Learning Objectives
Define information systems analysis and design. Describe the information Systems Development Life
Cycle (SDLC). Explain Rapid Application Development (RAD),
prototyping, Computer Aided Software Engineering (CASE), and Service-Oriented Architecture (SOA).
Describe agile methodologies and eXtreme programming.
Explain Object Oriented Analysis and Design and the Rational Unified Process (RUP).
Copyright © 2011 Pearson Education, Inc. 3Chapter 1
Introduction
Information Systems Analysis (Systems analysis is the study of sets of interacting entities, including computer systems analysis. This field is closely related to requirements analysis or operations research. It is also "an explicit formal inquiry carried out to help someone (referred to as the decision maker) identify a better course of action and make a better decision than he might otherwise have made.) and Design (Systems design is the process of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements)
Complex organizational processUsed to develop and maintain computer-
based information systems (Information systems (IS) is the study of complementary networks of hardware and software that people and organizations use to collect, filter, process, create, and distribute data)
Used by a team of business and systems professionals
Copyright © 2011 Pearson Education, Inc. 404/19/23Chapter 1
Copyright © 2011 Pearson Education, Inc.
Introduction (Cont.)
5Chapter 1
FIGURE 1-1 An organizational approach to systems analysis anddesign is driven by methodologies, techniques, and tools
Copyright © 2011 Pearson Education, Inc. 6Chapter 1
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
Copyright © 2011 Pearson Education, Inc. 7Chapter 1
A Modern Approach to Systems Analysis and Design (Cont.) 1980s: major breakthrough with 4GL,
CASE tools, object oriented methods 1990s: focus on system integration, GUI
applications, client/server platforms, Internet
The new century: Web application development, wireless PDAs, component-based applications
Copyright © 2011 Pearson Education, Inc. 8Chapter 1
A Modern Approach to Systems Analysis and Design (Cont.) Application Software
Computer software designed to support organizational functions or processes
Systems AnalystOrganizational role most responsible for
analysis and design of information systems
Copyright © 2011 Pearson Education, Inc. 9Chapter 1
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.
Copyright © 2011 Pearson Education, Inc. 10Chapter 1
Systems Development Life Cycle (SDLC) Traditional methodology used to develop,
maintain, and replace information systems. Phases in SDLC:
Planning Analysis Design Implementation Maintenance
Copyright © 2011 Pearson Education, Inc. 11Chapter 1
Standard and Evolutionary Views of SDLC
FIGURE 1-3 Evolutionary modelFIGURE 1-2The systems development life cycle
Copyright © 2011 Pearson Education, Inc. 12Chapter 1
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
Copyright © 2011 Pearson Education, Inc. 13Chapter 1
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
Copyright © 2011 Pearson Education, Inc. 14Chapter 1
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
Copyright © 2011 Pearson Education, Inc. 15Chapter 1
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
Copyright © 2011 Pearson Education, Inc. 16Chapter 1
Copyright © 2011 Pearson Education, Inc.
FIGURE 1-8The heart of systems development
Chapter 1
The Heart of the Systems Development Process
Current practice combines analysis, design, and implementation into a single iterative and parallel process of activities.
FIGURE 1-7The analysis–design–code–test loop
Copyright © 2011 Pearson Education, Inc. 18Chapter 1
Traditional Waterfall SDLC
One phase begins when another completes, with little backtracking and looping.
The waterfall development model originates in the manufacturing and construction industries: highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible
FIGURE 1-9A traditional waterfall SDLC
Copyright © 2011 Pearson Education, Inc. 19Chapter 1
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
Rapid application development (RAD)
It is a software development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements.
Copyright © 2011 Pearson Education, Inc. 2004/19/23Chapter 1
Four phases of RAD Requirements Planning phase – combines elements of the system planning and
systems analysis phases of the System Development Life Cycle (SDLC). Users, managers, and IT staff members discuss and agree on business needs, project scope, constraints, and system requirements. It ends when the team agrees on the key issues and obtains management authorization to continue.
User design phase – during this phase, users interact with systems analysts and develop models and prototypes that represent all system processes, inputs, and outputs. User Design is a continuous interactive process that allows users to understand, modify, and eventually approve a working model of the system that meets their needs.
Construction phase – focuses on program and application development task similar to the SDLC. In RAD, however, users continue to participate and can still suggest changes or improvements as actual screens or reports are developed. Its tasks are programming and application development, coding, unit-integration and system testing.
Cutover phase – resembles the final tasks in the SDLC implementation phase, including data conversion, testing, changeover to the new system, and user training. Compared with traditional methods, the entire process is compressed. As a result, the new system is built, delivered, and placed in operation much sooner. Its tasks are data conversion, full-scale testing, system changeover, user training.
Copyright © 2011 Pearson Education, Inc. 2104/19/23Chapter 1
Prototyping
A prototype typically simulates only a few aspects of, and may be completely different from, the final product.
Prototyping has several benefits: The software designer and implementer can get valuable feedback from the users early in the project
Copyright © 2011 Pearson Education, Inc. 2204/19/23Chapter 1
Copyright © 2011 Pearson Education, Inc. 23Chapter 1
Different Approaches to Improving Development
CASE Tools Agile Methodologies
iterative and incremental development It promotes adaptive planning
Copyright © 2011 Pearson Education, Inc. 24Chapter 1
Computer-Aided Software Engineering (CASE) Tools Diagramming tools enable graphical
representation. Computer displays and report generators
help prototype how systems “look and feel”.
Copyright © 2011 Pearson Education, Inc. 25Chapter 1
Computer-Aided Software Engineering (CASE) Tools (Cont.) Analysis tools automatically check for
consistency in diagrams, forms, and reports.
A central repository provides integrated storage of diagrams, reports, and project management specifications.
Copyright © 2011 Pearson Education, Inc. 26Chapter 1
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.
Copyright © 2011 Pearson Education, Inc. 27Chapter 1
CASE Tools (Cont.)
FIGURE 1-10A class diagram from IBM’s Rational Rose
(Source: IBM)
Copyright © 2011 Pearson Education, Inc.
CASE Tools (Cont.)
28Chapter 1
Copyright © 2011 Pearson Education, Inc. 29Chapter 1
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
Copyright © 2011 Pearson Education, Inc. 30Chapter 1
Rapid Application Development (RAD) (Cont.)
FIGURE 1-11RAD life cycle
Copyright © 2011 Pearson Education, Inc. 31Chapter 1
Service-Oriented Architecture (SOA)
An approach to systems development based on building complete systems through assembling software components, each of which model generic business functions
Copyright © 2011 Pearson Education, Inc. 32Chapter 1
Service-Oriented Architecture (SOA)(Cont.)
FIGURE 1-12Illustration of a service, a credit check,used by applications and other services
Copyright © 2011 Pearson Education, Inc. 33Chapter 1
Agile Methodologies
Motivated by recognition of software development as fluid, unpredictable, and dynamic
Three key principlesAdaptive rather than predictiveEmphasize people rather than rolesSelf-adaptive processes
Copyright © 2011 Pearson Education, Inc. 34Chapter 1
The Agile Methodologies group argues that software development methodologiesadapted from engineering generally do not fit with real-world software development.
Copyright © 2011 Pearson Education, Inc.
When to use Agile Methodologies
If your project involves:Unpredictable or dynamic requirementsResponsible and motivated developersCustomers who understand the process and
will get involved
35Chapter 1
Copyright © 2011 Pearson Education, Inc. 36Chapter 1
Copyright © 2011 Pearson Education, Inc. 37Chapter 1
eXtreme Programming
Short, incremental development cycles Automated tests Two-person programming teams
Copyright © 2011 Pearson Education, Inc. 38Chapter 1
eXtreme Programming (Cont.)
Coding and testing operate together Advantages:
Communication between developersHigh level of productivityHigh-quality code
Copyright © 2011 Pearson Education, Inc. 39Chapter 1
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
Copyright © 2011 Pearson Education, Inc. 40Chapter 1
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
Copyright © 2011 Pearson Education, Inc. 41Chapter 1
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.
Copyright © 2011 Pearson Education, Inc. 42Chapter 1
FIGURE 1-13Phases of OOSAD-based development
Copyright © 2011 Pearson Education, Inc. 43Chapter 1
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.
Copyright © 2011 Pearson Education, Inc. 44Chapter 1
Summary In this chapter you learned how to: Define information systems analysis and design. Describe the information Systems Development Life
Cycle (SDLC). Explain Rapid Application Development (RAD),
prototyping, Computer Aided Software Engineering (CASE), and Service-Oriented Architecture (SOA).
Describe agile methodologies and eXtreme programming.
Explain Object Oriented Analysis and Design and the Rational Unified Process (RUP).
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic,
mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America.
Copyright © 2011 Pearson Education, Inc. Copyright © 2011 Pearson Education, Inc.