Modern Systems Analysis and Design Appendix 2

Download Report

Transcript Modern Systems Analysis and Design Appendix 2

Modern Systems Analysis
and Design
Fourth Edition
Jeffrey A. Hoffer
Joey F. George
Joseph S. Valacich
Appendix 2
Automated Tools for Systems
Development
© 2005 by Prentice Hall
Learning Objectives
 Identify the tradeoffs when using CASE to
support system development activities.
 Describe organizational forces for and
against CASE.
 Describe the role of CASE tools in SDLC.
 List and describe CASE components.
 Describe upper CASE, lower CASE, crosslife-cycle CASE, and CASE repository.
Appendix 2-2
© 2005 by Prentice Hall
What is CASE?
Computer-aided Software Engineering

Software tools that provide automated support for
some portions of the system development process
 Any type of tool that helps to automate any activity within
the systems development process



Used to support or automate activities throughout
the systems development life cycle (SDLC)
Increase productivity
Improve overall quality of systems
Appendix 2-3
© 2005 by Prentice Hall
Purpose of CASE
is to facilitate a
single design
philosophy within
an organization.
Appendix 2-4
© 2005 by Prentice Hall
Organizational 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
Simplify program maintenance
Promote reusability
Improve software portability
Appendix 2-5
© 2005 by Prentice Hall
Impediments to Widespread
CASE 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 –
early stages of project may take more time!
Productivity Bottlenecks


Inability of some tools to share information
Difficulty in providing tools for all stages of SDLC
Organizations without a widely used methodology or
one that is not compatible with CASE tool
Appendix 2-6
© 2005 by Prentice Hall
The Outlook for CASE
Functionality is increasing
Cost is decreasing
Extend life of existing systems
Reverse Engineering Tools

Automated tools that read program source code
as input and create graphical and textual
representations of program design-level
information
Reengineering Tools

Appendix 2-7
Automated software that reads program source
code, analyzes it and automatically or interactively
alters an existing system to improve quality and/or
performance
© 2005 by Prentice Hall
Appendix 2-8
© 2005 by Prentice Hall
Categories of CASE
Upper CASE: support information planning,
project identification and selection, project
initiation and planning, analysis and design
Lower CASE: support the implementation
and maintenance phases of the systems
development life cycle
Cross life-cycle CASE: support activities
that occur across multiple phases of the
systems development life cycle
Appendix 2-9
© 2005 by Prentice Hall
Impact of CASE on Individuals
Systems analysts: automate routine tasks; focus on
communications skills
Programmers: piece together objects created by
code generators; maintenance of designs
Users: increased participation via upper CASE tools
Top managers: CASE-based planning assists with
strategy development
Functional managers: CASE helps reengineer
business processes
IS managers: CASE gives better control over IS
development project and resources
Appendix 2-10
© 2005 by Prentice Hall
Forces For and Against CASE
Adoption
Driving forces:






Resisting forces:
Short development
time
Improved productivity
Improved system
quality
Improved worker skills
Improved portability
Improved
management
Appendix 2-11





High purchase cost
High training cost
Low organizational
confidence in IS
department (time &
budget)
Lack of standards
Perceived threat to
job security
© 2005 by Prentice Hall
Types of CASE Tools
Diagramming tools
Computer display and report generators
Analysis tools - check for incomplete, inconsistent or
incorrect specifications in diagrams, forms, reports
Central repository - enables integrated storage of
specifications, diagrams, reports and project
management information
Documentation generators -- technical and user
documentation in standard formats
Code generators - produce code from design
documents, diagrams, forms and reports
Appendix 2-12
© 2005 by Prentice Hall
Appendix 2-13
© 2005 by Prentice Hall
CASE versus Traditional
Systems Development
Traditional approach does not offer
support for integration of specification
documents.
Often, documentation is done after
coding is completed in traditional
systems development.
Traditional approach often leads to outof-date documentation.
Appendix 2-14
© 2005 by Prentice Hall
CASE versus Traditional
Systems Development (cont.)
Traditional Systems
Development:






Emphasis on coding and
testing
Paper-based
specifications
Manual coding of
programs
Manual documenting
Intensive software testing
Maintain code and
documentation
Appendix 2-15
CASE-Based Systems
Development:






Emphasis on analysis and
design
Rapid interactive
prototyping
Automated code generation
Automated documentation
generation
Automated design checking
Maintain design
specifications – “flow”
© 2005 by Prentice Hall
CASE Diagramming Tools
Enable representation of a system and
components visually
Effective for representing process flows,
data structures and program structures
Several types of diagrams, including:



Data Flow Diagrams (DFD)
Class Diagrams
Entity-Relationship Diagrams
Appendix 2-16
© 2005 by Prentice Hall
Appendix 2-17
© 2005 by Prentice Hall
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 users
Two Purposes:


Create, modify, and test prototypes of
computer display forms and reports
Identify data items to display or collect for
each form or report
Appendix 2-18
© 2005 by Prentice Hall
Appendix 2-19
© 2005 by Prentice Hall
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.
Appendix 2-20
© 2005 by Prentice Hall
Integrated CASE (I-CASE) Tools
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
Includes a central CASE Repository to store
information to share between tools
Appendix 2-21
© 2005 by Prentice Hall
The CASE repository contains complete information needed to create,
modify and evolve a software system from project initiation and planning
to code generation and maintenance.
Appendix 2-22
© 2005 by Prentice Hall
Use of CASE Repository
CASE Repository and the SDLC

Project initiation and planning
 problem domain, project resources, history and organizational
context

Analysis and design phases
 graphical diagrams and prototype forms and reports
Repository data used to generate code and
documentation
Cross-referencing


Enables one description of a data item to be stored and
accessed by all individuals so that a single definition for a
data item is established and used
Avoids duplications; helps with updating - field length change
Appendix 2-23
© 2005 by Prentice Hall
Use of CASE Repository
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
Appendix 2-24
© 2005 by Prentice Hall
Appendix 2-25
© 2005 by Prentice Hall
Other CASE Tools
CASE Documentation Generator Tools


Simplifies production of technical and user
documentation
Master templates to verify that documentation
conforms to all stages of SDLC
CASE Code Generation Tools

Automatic generation of program and database
definition code directly from the design
documents, diagrams, forms and reports
Appendix 2-26
© 2005 by Prentice Hall
Summary
In this chapter you learned how to:





Identify the tradeoffs when using CASE to
support system development activities.
Describe organizational forces for and
against CASE.
Describe the role of CASE tools in SDLC.
List and describe CASE components.
Describe upper CASE, lower CASE, crosslife-cycle CASE, and CASE repository.
Appendix 2-27
© 2005 by Prentice Hall