30
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 1 February 11-23, 200 Lecture 5: Introduction to Computer Aided Software Engineering (CASE) Tools Prof. Kazimierz Subieta Polish-Japanese Institute of Information Technology Institute of Computer Science, Warsaw, Poland [email protected] http://www.ipipan.waw.pl/~subieta System Engineering and Databases

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 1 February 11-23, 2002 Lecture 5: Introduction to Computer Aided Software

Embed Size (px)

Citation preview

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 1 February 11-23, 2002

Lecture 5:

Introduction to Computer Aided Software Engineering (CASE) Tools

Prof. Kazimierz Subieta Polish-Japanese Institute of Information Technology

Institute of Computer Science, Warsaw, [email protected]

http://www.ipipan.waw.pl/~subieta

System Engineering and Databases

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 2 February 11-23, 2002

Content

Objectives and scope of CASE technology

Benefits from CASE tools Kinds of CASE tools CASE tool architecture Editors of diagrams Data Repository/Dictionary Group work and versioning CASE Interchange Formats Evaluation of CASE tools Why aren’t CASE tools used? Future of CASE tools

Acknowledgment: The material has been compiled from many Internet sources. It has no commercial purpose.

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 3 February 11-23, 2002

CASE Technology

The term CASE covers various tools used during software development: compilers, debuggers, text editors, scheduling tools, version control tools, diagram editors, code generators, etc.

CASE tools support processes of software production.

CASE tools are focused on analysis and design phases and on direct use of their results in the implementation phase.

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 4 February 11-23, 2002

Objectives of CASE Technology

To reinforce and support an engineering approach to software development and evolution by providing computer based assistance, which translates to low-defect solutions and enhanced productivity.

A CASE tool is any computer based system that may be used during the software development process.

A Computer Aided Software Engineering (CASE) tool is any computer based tool for software planning, development and evolution. This definition includes all examples of computer-based support for the managerial, administrative, or technical aspects of any part of a software development project.

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 5 February 11-23, 2002

Objectives of CASE Technology

“ ... to automate the entire software life cycle process with a set of integrated tools” McClure (1989)

“CASE tools are used to facilitate greater standardisation of work procedures and adherence with design discipline” Orlikowski (1988)

“CASE tools are important because they speed development, automate tedious tasks, and enforce standards and procedures.”

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 6 February 11-23, 2002

Scope of CASE Technology

Business Systems Planning– Provide a ‘meta-model’ from which specific systems are derived. The focus is not on the

requirements of specific applications but rather on building a model of the business itself. Business information is modelled as it ‘flows’ through the different organisation units in a company.

Project Management– Tools which focus on: software project effort and cost estimation project scheduling requirements tracing

Support– Broad selection of tools applicable over the entire development process such as Desk top

publishing tools. Integration and Testing

– Tools such as Static Analysis tools, Dynamic Analysers

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 7 February 11-23, 2002

Scope of CASE Technology

Analysis and Design– Enable a software engineer to create models which describe a system which is being

built. Methodology Tools: Such tools support one or more software development

methodology (such as SD/SD or Coad and Yourdons OOA/OOD) and provide consistency and quality checking on the constructed models.

Prototyping and Simulation Tools: Provide a means for creating functional and behavioural models of a system. Some also provide code generation facilities.

– Interface Design and Development Tools: Toolkits of program components such as buttons and windows and interface prototyping tools.

Programming– Tools such as compilers, debuggers, linkers and environments which integrate these

tools.

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 8 February 11-23, 2002

Scope of CASE Technology Prototyping

– A broad range of tools which is applicable to many tools in other categories. These tools allow the developer to build scratch systems of differing functionality and performance. This can range from tools which allow mock-ups of users interfaces to be developed to tools which generate source code.

Maintenance

– These tools aid in the maintenance of software. Reverse engineering tools which try to extract analysis and design models corresponding to

source code. Code restructuring tools. Re-engineering tools which perform a combination of reverse engineering and restructuring.

Framework

– Tools that provide an environment which supports the integration of other CASE tools.

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 9 February 11-23, 2002

Benefits from CASE tools

Better quality of produced systems

Better communication between developers

Better productivity of developers

Formalized design methodology

Better maintenance of the product

Better project management

Other

% answers5 10 15 20 25 30 35 40

Source:CASE RESEARCH CORP.

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 10 February 11-23, 2002

Cost distribution during SI lifecycle

Methods based on

CASE tools

Traditional“ad hoc”methods

Planning Analysis Design Programming Deployment Maintenance time

cost

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 11 February 11-23, 2002

Kinds of CASE tools

CASE tools have been categorised in many different ways.

CASE tools have been classified in terms of functionality, their relation to the software development life-cycle and the level of inter-tool integration that they support

Some Examples:

– Editors, Documentation Generators

– Compilers, Debuggers, Code Generators

– Configuration Management, Release Management, Project Management, Scheduling

– Requirements Tracing, Change Management (CM)

– Defect Tracking, Collaboration tools, Access Control

– Reverse Engineering, Metric Analysers

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 12 February 11-23, 2002

Kinds of CASE tools

Upper-CASE: support for early phases of software development, in particular the analysis phase. Independent from implementation environments.

Lower-CASE: support for design and implementation phases. Closely coupled with an implementation environment.

Many vendors describe offered CASE tools as Integrated -CASE (I-CASE). They combine Lower-CASE i Upper-CASE.

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 13 February 11-23, 2002

Kinds of CASE tools

Universal CASE tools support various methodologies and notations (ER, OMT, Caod/Yourdon, Booch, UML, etc.)

There are also tools coupled with particular products (for instance, ORACLE Designer 2000)

Some CASE tools combine elements of known methodologies with own ideas. Frequently omit some elements of methodologies.

Many tools are used mainly as specialized graphic/documentation editors

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 14 February 11-23, 2002

Methodology Dependent CASE Tools

support a single object-orientated software engineering methodology.

often older tools that typically support a single phase of the software life-cycle. Examples of tools in this category include ObjecTool (supports Coad and Yourdon), ShowCASE (supports Booch’91), Objectory (supports Jacobson), OEW (supports Martin and Odell) (Innovative Software, 1998) and early versions of Rational Rose (supports Booch’91 and Booch’94) (Rational, 1998).

May support more than a single phase of the software development life-cycle, if the methodology they implement provides such support.

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 15 February 11-23, 2002

Which CASE tool

should we choose?

EasyCASE

HOOD Toolset

Stood

TurboCASE

Bachman/Analyst

BOCS

EiffelCase

HOMSuite

I-CASE OMT

ILOG KADS Tool

LOV/Object Object

MacAnalyst/MacDesigner

ObjectCraft

ObjecteeringObjecTime

ObjectModeler

ObjecToolObjectOry

ObjectTeamOEW

OMTool

OOSD

Prosa/om

Rational Rose

S-CASE

Select/OMT

SES/Objectbench

System Architect

VIEWS-SF

With Class

001

Excelerator II

GraphTalk

MetaEdit

Object Maker

Paradigm Plus

Toolbuilder

BridgePoint

Ptech

OMW

Playground

VSF

Object Domain

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 16 February 11-23, 2002

Many-environmental CASE tools

Programmingenvironmentfor Java

Programmingenvironmentfor C++

Programmingenvironmentfor Ada

Programmingenvironmentfor Smalltalk

Lower-CASEfor the Java environment

Lower-CASEfor the Ada environment

Lower-CASEfor the Smalltalkenvironment

Lower-CASEfor the C++ environment

Universal Upper-CASE

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 17 February 11-23, 2002

CASE Tool Architecture

CENTRAL REPOSITORY

Local Repository (on a LAN

Server)Security and

Version Control

Tools

Inquiry and Reporting

Tools

Data Sharing Tools

House- keeping Tools

Graphics Tools

Decision Support

Tools

Quality Management

Tools

Design Generators

Code Generators

Document Tools

INPUTS: models,

descriptions and

prototypesOUTPUTS:

reports, problems,

and analyses

imported and

exported knowledgecheck-out/

check in knowledge

Repository Server

CASE Tool Facilities

(on a workstation)

Description Tools

Prototyping Tools

links links

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 18 February 11-23, 2002

Editors of Diagrams

Editing, storing and maintaining various diagrams used in user requirements, analysis and design phases.

Editing links between symbols and diagrams and navigation in a network of interrelated diagrams.

Printing diagrams.

Evaluation of diagram editors:

Easy of learning and use: they should support conceptual work without substantial overhead devoted to the editor itself (learning, manipulation, bugs, pitfalls, etc.)

Control of amount of information to be printed (various scales).

Quality and formatting options of printed information.

Detecting incorrect constructs and statements “on-the-fly”.

Checking consistency of information from different diagrams.

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 19 February 11-23, 2002

Data Repository/Dictionary

A database storing formalized information on the project and a collection of utilities for maintaining, browsing, reporting, etc.

Basic functions of the data repository/dictionary:

Input of specification of models, diagrams, forms and other information related to the project

Retrieval of information in proper forms

In many CASE tools the repository is available as a regular database, thus can be served by standard API-s, for example, Visual Basic, SQL, ODBC, etc. This makes it possible various proprietary extensions

Sometimes the user is allowed to make own changes/extensions to the repository

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 20 February 11-23, 2002

Group work

Integrated model

Group A v 1

Group A v 2

Group D v 1

Group D v 2

Group C

Project BProject A Integrated project

Group B

Collaboratinggroups

Creating, updating

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 21 February 11-23, 2002

Versioning: frozen documents

Analysis Phase

System Design Phase

Object Design Phase

Implementation Phase

System A v 1.0 (frozen)

System A v 1.0 (frozen)

System A v 1.0 (unfrozen)

System A v 1.0 (unfrozen)

Models Documents

Models Documents

Models Documents

Source, Scripts Documents

System B v 1.0 (frozen)

System B v 2.0 (frozen)

System B1 v 1.0 (frozen)

System B2 v 1.0 (frozen)

System B1 v 1.0 (frozen)

System B1 v 1.1 (unfrozen)System B1 v 2.0

(unfrozen)

System B1A v 1.0 (unfrozen)

System B1B v 1.0 (unfrozen)

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 22 February 11-23, 2002

The Case Date Interchange Format (CDIF) family of standards

“CDIF has been developed to define the structure and content of a transfer that may be used to exchange data between two CASE tools. The fundamental objectives of the CDIF Family of Standards are: to provide a precise, unambiguous definition of information to be transferred; to define a transfer that may be read and understood directly (i.e., without interpretation by a computer); to provide the importer with sufficient information to enable the importer to reproduce the transferred data consistent with the original sense.”

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 23 February 11-23, 2002

MetaData Interchange Format Standard (MDC, 1998)

“To enable full-scale enterprise data management, different IT tools must be able to freely and easily access, update, and share meta-data. The only viable mechanism to enable disparate tools from different vendors to exchange meta-data is a common meta-data interchange specification with guidelines to which the different vendors’ tools can comply. … The MetaData Interchange Specification initiative brings industry vendors and users together to address a variety of problems and issues regarding the exchange, sharing, and management of meta-data.”

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 24 February 11-23, 2002

Evaluation of CASE tools

Criteria:

• Offered functions and their compatibility with needs of the company• Cost• Reliability• Opinions on the vendor and on the dealer• Availability of experts familiar with the tool• Level of integration with the assumed programming environment • Stable work in many environments • Cost of training• Cost of changes of hardware/software induced by the tool

Currently object-oriented tools are the most popular (even if a target database is relational). The cost of a tool alone is usually reasonable, but other costs (education, installation, changes of routines, etc.) can be high. For these reasons simple tools are frequently as efficient as very complex tools.

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 25 February 11-23, 2002

Why Aren’t CASE Tools Used?

Insufficient management commitment

Absence of a CASE strategy

80% of SE companies do not follow a well defined SE process

Organisations often use ‘in-house’ techniques

Demands a large investment of time, cost and effort

High learning curves and limited training

A culture shock for many organisations

Resistance by system developers

Organisation Perspective ...

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 26 February 11-23, 2002

Why Aren’t CASE Tools Used?

Inappropriate or unsophisticated tools

Methodology specific

Limited support for the SDLC

Lack Flexibility

Lack of Intelligence

Only simple replacement of ‘pen and paper’

Poor Usability

No support for re-use of software assets

Lack of standards

CASE Tool Perspective ...

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 27 February 11-23, 2002

Sources of difficulties:

Too high expectations: CASE tools are only tools - they are not able to learn from experience and to think. “A fool with a tool is still a fool.” A CASE tool is able to reduce the cost of the software production at most on 30-50%.

People tend to treat CASE tools as code generators. A CASE tool is used only as a “very high level programming language”, without proper documentation of the analysis and design phases.

No analysis and design methodology

Bad organization of software development processes, lack of order, lack of a plan, lack of good estimations and measures, lack of monitoring, etc.

Underestimating other costs induced by a CASE tool: education, deployment, organizational changes, improvement of discipline, etc. Effects of CASE tools usually appear after some time.

Why CASE tools are (sometimes) inefficient?

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 28 February 11-23, 2002

Problems in using CASE tools

Poor cooperation with the project management

Poor experience with CASE tools

Lack of integration with implemention tools

Poor organization of design and implemention processes

Lack of evidence that CASE tools can help in software production

Lack of design methodology

Incompatibility with current design routines

Reluctance to changes

Lack of acceptation of the client

% answers2 4 6 8 10 12 14 16

Source:CASE RESEARCH CORP.

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 29 February 11-23, 2002

Future of CASE tools ...

AllowCustomisation of

Existing Methodologies

Support Complete Software

Development Life Cycle

Support Specification of

New Object Oriented

Methodologies

Utilise ModernHuman Computer

Interaction Techniques

Exhibit IntelligentBehaviour

Support CurrentMethodologies

Support Design

PatternsAllow

Migration Between

Methodologies

SupportRe-use of

Methodology Descriptions

SupportRe-use of Software Assets

© Mehandjiska, 2000

3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 5, Slide 30 February 11-23, 2002

Conclusion

A CASE tool makes it possible to improve software production processes, but not in auto-magical way: it requires good project organization, well defined project goals, and a disciplined methodology

CASE tools are sometimes expensive. There are two kinds of costs:

(1) the cost of software and installation (2) education and changes in software manufacturing routines.

The ultimate benefit depends on good integration of a CASE tool with the assumed A&D methodology, project management, software construction routines and documentation standards.