CASE Computer Aided Software Engineering

19
1 CASE CASE Computer Aided Computer Aided Software Engineering Software Engineering

description

CASE Computer Aided Software Engineering. What is CASE ?. A good workshop for any craftsperson has three primary characteristics A collection of useful tools that will help in every step of building a product An organized layout that enables tools to be found quickly and used efficiently - PowerPoint PPT Presentation

Transcript of CASE Computer Aided Software Engineering

Page 1: CASE  Computer Aided Software Engineering

11

CASE CASE Computer Aided Software Computer Aided Software

Engineering Engineering

Page 2: CASE  Computer Aided Software Engineering

22

What is CASE ?What is CASE ?A good workshop for any craftsperson

has three primary characteristics1.A collection of useful tools that will help in every step

of building a product2.An organized layout that enables tools to be found

quickly and used efficiently 3.A skilled artisan who understands how to use the

tools in an effective manner.

Software engineers now recognize that they need more varied tools along with an organized and efficient workshop in which to place the tools. The workshop for software engineering has been called an integrated project support environment.

Page 3: CASE  Computer Aided Software Engineering

33

What is CASE ?What is CASE ?The tools that they fill the workshop

are collectively called CASE (Computer Aided Software Engineering)

Computer-aided software engineering (CASE) tools that can assist software engineering managers and practitioners with every activity associated with the software development process. CASE tools can automate management activities and can manage work products. CASE tools can assist engineers with analysis, design, coding, and testing work. Software engineering is hard work and tools that reduce the effort required to produce a work product or accomplish a milestone have substantial benefits.

Page 4: CASE  Computer Aided Software Engineering

44

What is CASE ?What is CASE ?

CASE tools assist the software engineer in producing high quality work products. Tools can provide the software engineer with improved insight into the software product and make decisions that lead to improved software quality.

Tools complement solid software engineering practices.

A good software process framework must be established and software quality must be emphasized before tools can be used effectively

Page 5: CASE  Computer Aided Software Engineering

55

What is CASE ?What is CASE ?

Prerequisites to Software Tool Use

Collection of useful tools that help in every step of building a product

Organized layout that enables tools to be found quickly and used efficiently

Skilled craftsperson who understands how to use the tools effectively

CASE provides the software engineer with the ability to automate manual activities and to improve engineering insight.

Page 6: CASE  Computer Aided Software Engineering

66

Building Blocks for CASE Building Blocks for CASE

CASE can be as simple as a single tool that supports a specific software engineering activity or as complex as a complete “environment” that encompasses tools, a database, people, hardware, a network, OS standards etc.

Page 7: CASE  Computer Aided Software Engineering

77

Building Blocks for CASE Building Blocks for CASE

CASE tools Integration framework (specialized programs

allowing CASE tools to communicate with one another) Portability services (allow CASE tools and their

integration framework to migrate across different operating systems and hardware platforms without significant adaptive maintenance)

Operating system (database and object management services)

Hardware platform Environmental architecture (hardware and

system support)

Page 8: CASE  Computer Aided Software Engineering

88

Tools, workbenches, Tools, workbenches, environmentsenvironments

ToolsTools support individual process tasks support individual process tasks such as checking the consistency of a such as checking the consistency of a design, compiling a programdesign, compiling a program

WorkbenchesWorkbenches support process phases or support process phases or activities such as specification and designactivities such as specification and design

EnvironmentsEnvironments support all or at least a support all or at least a substantial part of the software processsubstantial part of the software process

Page 9: CASE  Computer Aided Software Engineering

99

Tools, workbenches, environmentsTools, workbenches, environments

Single-methodworkbenches

General-purposeworkbenches

Multi-methodworkbenches

Language-specificworkbenches

Programming TestingAnalysis and

design

Integratedenvironments

Process-centredenvironments

Filecomparators

CompilersEditors

EnvironmentsWorkbenchesTools

CASEtechnology

Page 10: CASE  Computer Aided Software Engineering

1010

Integrated CASE EnvironmentsIntegrated CASE Environments

Provide mechanism for sharing information among all tools contained in the environment

Enable changes to items to be tracked to other information items

Provide version control and overall configuration management

Allow direct access to any tool contained in the environment. Establish automated support for the chosen software process model, integrating CASE tools and SCI's into a standard work break down structure

Enable users of each tool to experience a consistent look and feel at the human-computer interface

Support communication among software engineers Collect both management and technical metrics to improve the process and the product

Page 11: CASE  Computer Aided Software Engineering

1111

The integration ArchitectureThe integration Architecture

Architectural model for the integration framework

Page 12: CASE  Computer Aided Software Engineering

1212

The integration ArchitectureThe integration Architecture

User interface layerinterface toolkit - contains software for UI management

and library of display objects common presentation protocol - guidelines that give all

CASE tools the same look and feel (icons, mouse behavior, menu names, object names)Tools layerTools management services - control behavior of tools inside environment CASE tools themselvesObject management layer (OML) - performs the configuration management function, working with the CASE repository OML provides integration services Shared repository layer - CASE database and access control functions enabling the OML to interact with the database 

Page 13: CASE  Computer Aided Software Engineering

1313

The CASE Repository The CASE Repository

Webster’s Dictionary defines the word repository as “anything or person thought of a as a center of accumulation or storage”. Early stage the repository was indeed a person – the programmer who remember the location of all information relevant to a software project, who had to recall information that was never written down and reconstruct information that had been lost.

The repository for an I-CASE environment is the set of mechanisms and data structures that achieve data/tool and data/data integration. It provides the obvious functions of a database management system, but in addition the repository performs or precipitates different functions

Page 14: CASE  Computer Aided Software Engineering

1414

The CASE Repository The CASE Repository

Data integrity - includes functions to validate entries to the repository and ensure consistency among related objects

Information sharing - provides mechanism for sharing information among multiple developers and multiple tools, controls modification of information

Data-tool integration - establishes shared data model and performs configuration management functions

Data-data integration - database management system allowing access to related objects so functions can be achieved

Page 15: CASE  Computer Aided Software Engineering

1515

The CASE Repository The CASE Repository Methodology enforcement - the E-R model used to

define steps needed to be conducted to build the repository contents

Document standardization - definition of objects in the database leads directly to a standard approach for creation of engineering documents 

To achieve these functions the repository is defined in terms of a meta-model. The meta- model determines how information is stored in the repository, how data can be accessed by tools and viewed by software engineers, how well data security and integrity can be maintained and how easily the existing model can be extended to accommodate new needs.

Page 16: CASE  Computer Aided Software Engineering

1616

The CASE Repository The CASE Repository Important DBMS Features Relevant to CASE Repositories

Non-redundant data storage High-level access Data independence Transaction control Ad hoc data queries and reports Openness Multi-user support

Software Configuration Management Features Relevant to CASE Repositories

Versioning Dependency tracking and change management Requirements tracing Configuration management Audit trails

Page 17: CASE  Computer Aided Software Engineering

1717

The CASE Repository The CASE Repository

Features of CASE RepositoriesStorage of sophisticated data structures (diagrams,

documents, files, simple variables, information model describing relationships and semantics of data stored in repository)

Integrity enforcement (business rules, policies, constraints, and requirements on the information being entered into repository, triggers may be used to check the validity of the design models in real time)

Semantic-rich tool interface (repository meta-model contains semantics that enable a variety of tools to interpret meaning of data stored in the repository)

Process/project management (contains information about the software application, the characteristics of each project, and the organization's general process for software development - phases, tasks, deliverables)

Page 18: CASE  Computer Aided Software Engineering

1818

The CASE Repository The CASE Repository

Features of CASE RepositoriesStorage of sophisticated data structures (diagrams,

documents, files, simple variables, information model describing relationships and semantics of data stored in repository)

Integrity enforcement (business rules, policies, constraints, and requirements on the information being entered into repository, triggers may be used to check the validity of the design models in real time)

Semantic-rich tool interface (repository meta-model contains semantics that enable a variety of tools to interpret meaning of data stored in the repository)

Process/project management (contains information about the software application, the characteristics of each project, and the organization's general process for software development - phases, tasks, deliverables)

Page 19: CASE  Computer Aided Software Engineering

1919