appendix 2 automated tools for systems development © 2006 itt educational services inc. se350...

30
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1

Upload: brett-tucker

Post on 26-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Appendix 2

Automated Tools for Systems Development

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 2

Learning Objectives

14.Explain the role of prototyping and CASE tools in capturing design specifications. Identify the tradeoffs when using CASE to

support systems development activities. Describe organizational forces for and against

the adoption of CASE tools. Describe the role of CASE tools and how they

are used to support activities within the SDLC. List and describe the typical components of a

comprehensive CASE environment.

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 3

Learning Objectives

Describe the general functions of upper CASE tools, lower CASE tools, cross-life CASE tools, and the CASE repository.

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 4

What is CASE?

• CASE stands for Computer-aided Software Engineering

• Features of CASE: It refers to software tools that provide automated

support for some portions of the system development process

It is used to support or automate activities throughout the systems development life cycle (SDLC)

It helps in increasing productivity It improves overall quality of systems

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 5

Purpose of CASE is to facilitate a single design philosophy within an organization.

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 6

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

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 7

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

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

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 8

The Outlook for CASE

• Functionality is increasing• Cost is decreasing• 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 Automated software that reads program source code,

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

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 9

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 10

Impact of CASE on Individuals

• Systems analysts: automate routine tasks• Programmers: piece together objects created by

code generators• 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 processes

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 11

Forces For and Against CASE Adoption

• Driving forces: Short development time Improved productivity Improved system quality Improved worker skills Improved portability Improved management

• Resisting forces: High purchase cost High training cost Low organizational

confidence Lack of standards Perceived threat to job

security

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 12

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

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 13

Types 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

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 14

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 15

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 out- of-date documentation.

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 16

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

• CASE-Based Systems Development:

Emphasis on analysis and design

Rapid interactive prototyping Automated code generation Automated documentation

generation Automated design checking Maintain design specifications

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 17

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

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 18

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 19

CASE Form and Report Generator Tools

• are the CASE tools that support the creation of system forms and reports in order to prototype how systems will look and feel to users

• Purposes: To create, modify, and test prototypes of computer

display forms and reports To identify data items to display or collect for each

form or report

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 20

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 21

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.

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 22

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

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 23

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.

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 24

Information Repository: Combines information about an organization’s business information and its application portfolio

Data Dictionary: Contains data definitions for all organizational applications

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 25

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

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 26

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

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 27

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 28

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

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 29

Summary

• In this chapter you learned how to:

14.Explain the role of prototyping and CASE tools in capturing design specifications. Identify the tradeoffs when using CASE to support

systems development activities. Describe organizational forces for and against the

adoption of CASE tools. Describe the role of CASE tools and how they are

used to support activities within the SDLC. List and describe the typical components of a

comprehensive CASE environment.

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 30

Summary

Describe the general functions of upper CASE tools, lower CASE tools, cross-life CASE tools, and the CASE repository.