CHAPTER 1 SYSTEMS DEVELOPMENT ENVIRONMENT Avimanyu Datta Department

  • Slides: 39
Download presentation
CHAPTER 1: SYSTEMS DEVELOPMENT ENVIRONMENT Avimanyu Datta, Department of Information Systems, College of Business,

CHAPTER 1: SYSTEMS DEVELOPMENT ENVIRONMENT Avimanyu Datta, Department of Information Systems, College of Business, Washington State University

Learning Objectives ü Define information systems analysis and design. ü Discuss the modern approach

Learning Objectives ü Define information systems analysis and design. ü Discuss the modern approach to systems analysis and design that combines both process and data views of systems. ü Describe the role of the systems analyst in information systems development. 1. 2

Learning Objectives (continued) ü Describe three types of information systems: ü Transaction Processing Systems

Learning Objectives (continued) ü Describe three types of information systems: ü Transaction Processing Systems (TPS) ü Management Information Systems (MIS) ü Decision Support Systems (DSS). ü Describe the information systems development life cycle (SDLC). 1. 3

Learning Objectives (continued) ü Discuss alternatives to the systems development life cycle, including a

Learning Objectives (continued) ü Discuss alternatives to the systems development life cycle, including a description of the role of computer aided software engineering (CASE) tools in systems development. 1. 4

Chapter Preview Systems Analysis is a proven method to help business utilize information to

Chapter Preview Systems Analysis is a proven method to help business utilize information to its fullest capacity. Systems Development Life Cycle (SDLC) Central to Information Systems Development 1. 5

What is Information Systems Analysis and Design? A method used by companies to create

What is Information Systems Analysis and Design? A method used by companies to create and maintain systems that perform basic business functions Main goal is to improve employee efficiency by applying software solutions to key business tasks 1. 6 A structured approach must be used in order to ensure success

What is Information Systems Analysis and Design? (continued) Systems Analyst performs analysis and design

What is Information Systems Analysis and Design? (continued) Systems Analyst performs analysis and design based upon: Understanding of organization’s objectives, structure and processes Knowledge of how to exploit information technology for advantage 1. 7 Fig 1 -1 illustrates the Systems Development Life Cycle, a four-phased approach used throughout this text.

1. 8

1. 8

Systems Analysis and Design: Core Concepts Major goal: to improve organizational systems by developing

Systems Analysis and Design: Core Concepts Major goal: to improve organizational systems by developing or acquiring application software and training employees in its use Application software, or a system, supports organizational functions or processes. 1. 9

Systems Analysis and Design: Core Concepts (continued) System: Turns data into information and includes:

Systems Analysis and Design: Core Concepts (continued) System: Turns data into information and includes: Hardware and system software Documentation and training materials Job roles associated with the system Controls to prevent theft or fraud The people who use the software to perform their jobs Figure 1 -2 illustrates all the components of a system. 1. 10

1. 11

1. 11

Software Engineering Process A process used to create an information system Consists of: Methodologies

Software Engineering Process A process used to create an information system Consists of: Methodologies �A sequence of step-by-step approaches that help develop the information system Techniques �Processes that the analyst follows to ensure thorough, complete, and comprehensive analysis and design Tools �Computer programs that aid in applying techniques 1. 12 Copyright 2006 Prentice-Hall, Inc.

1. 13

1. 13

System A system is an interrelated set of business procedures used within one business

System A system is an interrelated set of business procedures used within one business unit working together for a purpose. A system has nine characteristics. A system exists within an environment. A boundary separates a system from its environment. 1. 14 Copyright 2006 Prentice-Hall, Inc.

Characteristics of a System 1. 15 Components Interrelated Components Boundary Purpose Environment Interfaces Constraints

Characteristics of a System 1. 15 Components Interrelated Components Boundary Purpose Environment Interfaces Constraints Input Output

Important System Concepts 1. 16 Decomposition Modularity Coupling Cohesion

Important System Concepts 1. 16 Decomposition Modularity Coupling Cohesion

Important System Concepts Decomposition The process of breaking down a system into smaller components

Important System Concepts Decomposition The process of breaking down a system into smaller components Allows the systems analyst to: �Break a system into small, manageable and understandable subsystems �Focus on one area at a time, without interference from other areas �Concentrate on component pertinent to one group of users without confusing users with unnecessary details �Build different components at independent times and have the help of different analysts 1. 17

Important System Concepts (continued) Modularity Process of dividing a system into modules of a

Important System Concepts (continued) Modularity Process of dividing a system into modules of a relatively uniform size Modules simplify system design Coupling Subsystems that are dependent upon each other are coupled Cohesion Extent to which a subsystem performs a single function 1. 18

A Modern Approach to Systems Analysis and Design Systems Integration Allows hardware and software

A Modern Approach to Systems Analysis and Design Systems Integration Allows hardware and software from different vendors to work together Enables procedural language systems to work with visual programming systems Visual programming environment uses client/server model. 1. 19

Your Role in Systems Development Study problems and needs of an organization Determine best

Your Role in Systems Development Study problems and needs of an organization Determine best approach to improving organization through use of: People Methods Information technology Help system users and managers define their requirements for new or enhanced information systems 1. 20

Types of Information Systems and Systems Development Transaction Processing Systems (TPS) Automate handling of

Types of Information Systems and Systems Development Transaction Processing Systems (TPS) Automate handling of data about business activities (transactions) Management Information Systems (MIS) Converts raw data from transaction processing system into meaningful form For instance Last month’s sale Decision Support Systems (DSS) Designed to help decision makers Provides interactive environment for decision making 1. 21

Developing Information Systems and the Systems Development Life Cycle (continued) Series of steps used

Developing Information Systems and the Systems Development Life Cycle (continued) Series of steps used to manage the phases of development for an information system Consists of four phases: Planning and Selection Analysis Design Implementation and Operation Phases are not necessarily sequential. Each phase has a specific outcome and deliverable. 1. 24 Individual companies use customized life cycle.

Systems Development Lifecycle Systems planning and selection �priorities of projects, detailed work plan for

Systems Development Lifecycle Systems planning and selection �priorities of projects, detailed work plan for selected project, system scope, business case Systems analysis �current system description, recommendations, justification of chosen alternative Systems design �detailed specs. of all systems elements, acquisition plan for tech. etc. Systems implementation & operations �code, documentation, training and support capabilities, etc.

Approaches to Development Linear (e. g. , waterfall) Where the needs are reasonably well

Approaches to Development Linear (e. g. , waterfall) Where the needs are reasonably well documented Incremental (e. g. , prototype model, Boehm’s spiral model) Used especially when there is a need to demonstrate the feasibility of an idea; need to develop the system quickly

Approaches to Development Linear Waterfall SDLC One phase begins when another completes, little backtracking

Approaches to Development Linear Waterfall SDLC One phase begins when another completes, little backtracking and

Characteristics of Waterfall Model � Disciplined and systematic approach (provides a strong management framework

Characteristics of Waterfall Model � Disciplined and systematic approach (provides a strong management framework for planning developments and also for managing and controlling them) � Milestones can be set and progress of the project can be measured against them � Complete one phase before proceeding to the next one � Transition form one phase to another is accomplished by conducting a formal review and generation of extensive documentation � Too much documentation, and too elaborate specs for some types of systems

Problems Approach with Waterfall System requirements “locked in” after being determined (can't change) Limited

Problems Approach with Waterfall 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

Approaches to Development: Incremental Models Prototyping Building a working replica of a system (like

Approaches to Development: Incremental Models Prototyping Building a working replica of a system (like a “mock up) Quick solution provided Some informal requirements are received which is transformed into a working model Show results to customers and repeat the process based on more requirements Unlike the linear methods does not assume that the requirements of the new system will have to be identified completely in the beginning

Approaches to Development Advantages of Prototyping: �Users are involved in design �Captures requirements in

Approaches to Development Advantages of Prototyping: �Users are involved in design �Captures requirements in concrete form 1. 31

Approaches to Development: CASE Tools Computer-Aided Software Engineering: Automated software tools used by systems

Approaches to Development: CASE Tools Computer-Aided Software Engineering: Automated software tools used by systems analysts to develop information systems Software tools providing automated support for some portion of the systems development process. Can be used throughout SDLC Project dictionary/workbook: specifications Diagramming tools system description and Product and tool integration is provided through a repository Example products: Oracle (Designer), Computer Associates (Advantage Gen), and IBM (Rational Rose)

Approaches to Development: Joint Application Design (JAD) Structured process involving users, analysts, and managers

Approaches to Development: Joint Application Design (JAD) Structured process involving users, analysts, and managers work together for several days in a series of intensive workgroup sessions (meetings) Users, Managers and Analysts work together for several days System requirements are reviewed Structured meetings Purpose: to requirements specify or review system

Approaches to Development: Rapid Application Development (RAD) Prototype constructed to determine client’s real needs;

Approaches to Development: Rapid Application Development (RAD) Prototype constructed to determine client’s real needs; then similar to waterfall Utilizes prototyping to delay producing system design until after user requirements are clear Delay producing system design documents until user requirements are clear Looks at system being developed in isolation from other systems Iteration limited to design and development stages only Used primarily by consulting firms.

Approaches to Development: Rapid Application Development (RAD) Methodology to decrease the time needed to

Approaches to Development: Rapid Application Development (RAD) Methodology to decrease the time needed to design and implement information systems. Involves: prototyping, JAD, CASE tools, and code generators

Approaches to Development: Agile Methodologies Motivated by recognition of software development as fluid, unpredictable,

Approaches to Development: Agile Methodologies Motivated by recognition of software development as fluid, unpredictable, and dynamic Three key principles; a focus on Adaptive rather than predictive methodologies (emphasize) people rather than roles Self-adaptive processes

Approaches to Development: e. Xtreme Programming Short cycles, incremental development (planning) approach Automated tests

Approaches to Development: e. Xtreme Programming Short cycles, incremental development (planning) approach Automated tests written by programmers and customers Key emphases: Two-person programming teams Having customer on-site during the development process Coding and testing operate together Advantages: More (and better) communication between developers Higher level of productivity Higher quality code

Approaches to Development: Object. Oriented Analysis and Design (OOAD) Based on objects rather than

Approaches to Development: Object. Oriented Analysis and Design (OOAD) Based on objects rather than data or processes Object: a structure encapsulates (or packages) attributes and methods that operate on those attributes. An abstraction of a real-world thing in which data and processes are placed together to model the structure and behavior of the real-world object.

Approaches to Development (continued): Participatory Design (PD) Emphasizes role of the user Entire user

Approaches to Development (continued): Participatory Design (PD) Emphasizes role of the user Entire user community can be involved in design 1. 39 Copyright 2006 Prentice-Hall, Inc.