32
Copyright 2002 Prentice-Ha ll, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich

Chapter04 automated tools for systems development

Embed Size (px)

Citation preview

Page 1: Chapter04 automated tools for systems development

Copyright 2002 Prentice-Hall, Inc.

Chapter 4Automated Tools for Systems

Development

4.1

Modern Systems Analysisand Design

Third Edition

Jeffrey A. Hoffer Joey F. George

Joseph S. Valacich

Page 2: Chapter04 automated tools for systems development

Learning ObjectivesIdentify the trade-offs when using CASE Describe organizational forces for and

against adoption of CASE toolsDescribe the role of CASE tools and how they

are used to support the SDLCList and describe the typical components of a

comprehensive CASE environmentDescribe the general functions of upper

CASE tools, lower CASE tools, cross life-cycle CASE tools and the CASE repository

4.2

Page 3: Chapter04 automated tools for systems development

Learning ObjectivesDescribe visual and emerging development

tools and how they are being used

4.3

Page 4: Chapter04 automated tools for systems development

Introduction

Computer-aided Software Engineering (CASE) Automated software tool used by systems

analysts to develop information systems Used to support or automate activities

throughout the systems development life cycle (SDLC)

Increase productivity Improve overall quality of systems

4.4

Page 5: Chapter04 automated tools for systems development

The Use of CASE in Organizations

Purpose of CASE is to facilitate a single design philosophy within an organizationFigure 4.1 shows various facilities of CASE that support each phase of the systems development life cycle (SDLC)

4.5

Page 6: Chapter04 automated tools for systems development

The Use of CASE in Organizations

Objectives of CASE Improve quality of systems developed Increase speed of development and design Ease and improve testing process through automated

checking Improve integration of development activities via common

methodologies Improve quality and completeness of documentation Help standardize the development process Improve project management Simply program maintenance Promote reusability Improve software portability

4.6

Page 7: Chapter04 automated tools for systems development

CASE and System Quality

Majority of organizations adopt CASE to improve speed and quality of systems development projectsWidespread deployment has been slower than expected

4.7

Page 8: Chapter04 automated tools for systems development

CASE and System Quality

Several factors that inhibit widespread deployment Cost

Between $5,000 and $15,000 per year to provide CASE tools to one systems analyst

Return on Investment Biggest benefits of CASE come in late stages of SDLC

Productivity Bottlenecks Inability of some tools to share information Difficulty in providing tools for all stages of SDLC

4.8

Page 9: Chapter04 automated tools for systems development

The Outlook for CASE

Functionality is increasingCost is decreasingReverse Engineering Tools Automated tools that read program source code as

input and create graphical and textual representations of program design-level information

Reengineering Tools Automated software that reads program source code,

analyzes it and automatically or interactively alters an existing system to improve quality and/or performance

4.9

Page 10: Chapter04 automated tools for systems development

The Outlook for CASE

Organizational Culture can influence CASE Adoption Table 4-2 lists the impact of CASE upon

individuals within an organization

Driving and Resisting Forces for CASE Tables 4-3 and 4-4 present driving and

resisting organizational forces for CASE adoption

4.10

Page 11: Chapter04 automated tools for systems development

Components of CASEUpper CASE

CASE tools designed to support the information planning and the project identification and selection, project initiation and planning, analysis and design phases of the systems development life cycle

Lower CASE CASE tools designed to support the implementation

and maintenance phases of the systems development life cycle

4.11

Page 12: Chapter04 automated tools for systems development

Components of CASECross life-cycle CASE

CASE tools designed to support activities that occur across multiple phases of the systems development life cycle

Most CASE tools utilize a repository to store all diagrams, forms, models and report definitions

4.12

Page 13: Chapter04 automated tools for systems development

Components of CASETypes of CASE tools Diagramming tools Computer display and report generators Analysis tools used to check for

incomplete, inconsistent or incorrect specifications

A central repository Documentation generators Code generators

4.13

Page 14: Chapter04 automated tools for systems development

Components of CASE

Security FeaturesVersion ControlImport/ExportBackup and Recovery

4.14

Page 15: Chapter04 automated tools for systems development

CASE versus Traditional Systems Development

Traditional approach does not offer support for integration of specification documentsOften, documentation is done after coding is completed in traditional systems developmentTraditional approach often leads to out- of-date documentation

4.15

Page 16: Chapter04 automated tools for systems development

CASE versus Traditional Systems Development

Traditional Systems Development

Emphasis on coding and testing

Paper-based specifications

Manual coding of programs

Manual documenting Intensive software testing Maintain code and

documentation

CASE-Based Systems Development

Emphasis on analysis and design

Rapid interactive prototyping

Automated code generation Automated documentation

generation Automated design checking Maintain design

specifications

4.16

Page 17: Chapter04 automated tools for systems development

CASE Diagramming Tools

Enable representation of a system and components visuallyEffective for representing process flows, data structures and program structuresSeveral types of diagrams Data Flow Diagrams (DFD) (Figure 4-4) Functional Hierarchy Diagrams(Figure 4-5) Entity-Relationship Diagrams (Figure 4-6)

4.17

Page 18: Chapter04 automated tools for systems development

CASE Form and Report Generator Tools

CASE tools that support the creation of system forms and reports in order to prototype how systems will look and feel to usersTwo Purposes Create, modify and test prototypes of

computer display forms and reports Identify which data items to display or

collect for each form or report4.18

Page 19: Chapter04 automated tools for systems development

CASE Analysis Tools

Enable automatic checking for incomplete, inconsistent or incorrect specifications in diagrams, forms and reports.Types of analyses vary depending on the organization’s development methodology and features of CASE environment

4.19

Page 20: Chapter04 automated tools for systems development

CASE Repository

Integrated CASE (I-CASE) Automated systems development environment that

provides numerous tools to create diagrams, forms and reports

Provides analysis, reporting and code generation facilities

Seamlessly shares and integrates data across and between tools

Repository is central place to store information to share between tools

4.20

Page 21: Chapter04 automated tools for systems development

CASE Repository

Holds complete information needed to create, modify and evolve a software system from project initiation and planning to code generation and maintenanceTwo Primary Segments Information Repository Data Dictionary

4.21

Page 22: Chapter04 automated tools for systems development

CASE Repository

Information Repository Combines information about an organization’s

business information and its application portfolio Provides automated tools to manage and control

access to repository Business Information

Data stored in corporate databases Application Portfolio

Application programs used to manage business

4.22

Page 23: Chapter04 automated tools for systems development

CASE Repository

Data Dictionary Computer software tool used to manage and

control access to the information repository Contains all data definitions for all organizational

applications Cross referencing

Enables one description of a data item to be stored and accessed by all individuals

Single definition for a data item is established and used

4.23

Page 24: Chapter04 automated tools for systems development

CASE Repository

Data Dictionary Entries have a standard definition

Element name and alias Textual description of the element List of related elements Element type and format Range of acceptable values Other information unique to the proper

processing of this element

4.24

Page 25: Chapter04 automated tools for systems development

CASE Repository

CASE Repository and the SDLC During project initiation and planning phase, all

information related to the problem being solved is stored in the repository Problem domain, project resources, history and

organizational context During analysis and design phases, store

graphical diagrams and prototype forms and reports

Data stored in repository are used for basis to generate code and documentation

4.25

Page 26: Chapter04 automated tools for systems development

CASE Repository

Additional Advantages Assistance with project management tasks Aids in software reusability

The ability to design software modules in a manner so that they can be used again and again in different systems without significant modification

4.26

Page 27: Chapter04 automated tools for systems development

CASE Documentation Generator Tools

Enable the easy production of both technical and user documentationAllow creation of master templates used to verify that documentation conforms to all stages of SDLC

4.27

Page 28: Chapter04 automated tools for systems development

CASE Code Generation ToolsEnable the automatic generation of program and database definition code directly from the design documents, diagrams, forms and reports stored in the repository

4.28

Page 29: Chapter04 automated tools for systems development

Visual and Emerging Development Tools

Object-Oriented Development Tools Object

A chunk of program and data that is built to perform common functions within a system

Easily reused Encapsulation

Process of grouping data and instructions together Development environment includes pre-

defined objects and facilitates reuse of code

4.29

Page 30: Chapter04 automated tools for systems development

Visual and Emerging Development Tools

Visual Development Tools Enable developers to quickly create user

interfaces Popular tools include:

Microsoft Visual Studio Delphi Powerbuilder ColdFusion

4.30

Page 31: Chapter04 automated tools for systems development

SummaryUse of CASE in OrganizationsCategories of CASE Tools Reverse Engineering Re-engineering

Components of CASE Upper CASE

Diagramming tools Form and report generators Analysis tools

4.31

Page 32: Chapter04 automated tools for systems development

Summary

Components of CASE (continued) Lower CASE

Code generators Cross Life-cycle CASE

Project management tools

Repository and Data DictionaryVisual and Emerging Development Tools

4.32