Top Banner
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- – automating some process activities. – providing information about the software being developed. Currently used in every phase/workflow of life cycle. Similar to CAD tools that provides hardware support.
24

CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Jan 17, 2016

Download

Documents

Charles York
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

CASE (Computer-Aided Software Engineering) Tools

• Software that is used to support software process activities.

• Provides software process support by:-

– automating some process activities.

– providing information about the software being developed.

• Currently used in every phase/workflow of life cycle.

• Similar to CAD tools that provides hardware support.

Page 2: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

2

Computer-Aided Software Engineering

• Prerequisites to tool use:

– Need a collection of useful tools that help in every step of building a product.

– Need an organized layout that enables tools to be found quickly and used efficiently.

– Need a skilled craftsperson who understands how to use the tools effectively

Page 3: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Why CASE tools are developed:

CASE tools are designed to:- enhance and upgrade the computing system adopted and used. . It is an important part of various business growth strategies. The CASE tools are developed for the following reasons:•Firstly Quick Installation.•Time Saving by reducing coding and testing time.•Enrich graphical techniques and data flow.•Optimum use of available information.•Enhanced analysis and design development.•Create and manipulate documentation.•Transfer the information between tools efficiently.•The speed during the system development increased.

CASE tools are used to develop software that is high-quality, defect-free, and maintainable.

Page 4: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Role of CASE tools:

CASE tools play a major role in the following activities:• Project management• Data dictionary• Code generation• User interface design• Schema generation• Creation of meta-data for data warehouse• Reverse engineering• Re-engineering• Document generation• Version control• OO analysis and design• Software testing• Data modeling• Project scheduling• Cost estimation

Page 5: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Positioning of CASE tools in a Software Application development: 

Positioning of CASE tool in a Software Development Application

Page 6: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Characteristics of a successful CASE Tool:

Standard methodology: A CASE tool must support a standard software development methodology and standard modeling techniques.Flexibility: The CASE tool must offer flexibility and the choice for the user of editors' development environments.Strong Integration: The CASE tools should be integrated to support all the stages. This implies that if a change is made at any stage, for example, in the model, it should get reflected in the code documentation.Integration with testing software: The CASE tools must provide interfaces for automatic testing tools that take care of regression and other kinds of testing software under the changing requirements.Support for reverse engineering: A CASE tools must be able to generate complex models from already generated code.On-line help: The CASE tools provide an online tutorial.

Page 7: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

CASE Tool Components

• Integration framework– specialized programs allowing CASE tools to

communicate• 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

Page 8: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

CASE DIAGRAM FOR ATM SYSTEM

Page 9: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

CASE tools: Automated Diagram Support

Checks for syntactic correctness Data dictionary support Checks for consistency and completeness Navigation to linked diagrams Layering Requirements traceability Automatic report generation System simulation Performance analysis

Page 10: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

CASE tools: Advantages

• Help standardization of notations and diagrams• Help communication between development team members• Automatically check the quality of the A&D models• Reduction of time and effort• Enhance reuse of models or models’ components• Improve software quality• Enforce discipline• Information is illustrated through diagrams that are typically easier to understand• Development information is centralized

Page 11: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

CASE tools: Disadvantages

• Limitations in flexibility of documentation

• May lead to restriction to the tool’s capabilities

• Major danger: completeness and syntactic correctness does NOT mean compliance with requirements

• Costs associated with the use of the tool: purchase + training

Page 12: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

3 Categories of CASE Tools

• Tools• Workbenches• Environments

Page 13: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

CASE Tools

• Upper-CASE tools (front-end tools)– Assist developer during requirements, analysis, and

design workflows or activities• Lower-CASE tools (back-end tools)

– Assist with implementation, testing, and maintenance workflows or activities

• Integrated CASE tools (I-CASE)– provide support for the full life cycle

Page 14: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

WORKBENCHES

• Workbenches– Collection of tools that together support:

• Process workflows (requirements, design, etc.)• One or two activities where an activity is a related

collection of tasks– Commercial examples:

• PowerBuilder• Software Through Pictures• Software Architect

Page 15: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

ENVIRONMENT

• Environments– Support the complete software process or, at least,

a large portion of the software process– Normally include several different workbenches

which are integrated in some way

Page 16: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Taxonomy of CASE Tools

Page 17: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Components of CASE

CASErepository

Document Generator

Design Generator

Analysistool

Code Generator

DrawingTool

Error-checkingtool

Security and Version Control

Screen andReport Generator

PrototypingTool

DatabaseGenerator

Page 18: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Components of CASE

• CASE repository– Central component of any CASE tool– Also known as the information repository or data

dictionary– Allows easy sharing of information between tools and

SDLC activities– Used to store graphical diagrams and prototype forms

and reports during analysis and design workflows– Provides wealth of information to project manager and

allows control over project– Facilitates reusability

Page 19: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Components of CASE• CASE repository acts as:

– Information repository

• Combines information about organization’s business information and application portfolio

• Provides automated tools to manage and control access– Data dictionary

• Used to manage and control access to information repository

• Facilities for recording, storing and processing resources • Useful for cross-referencing

Page 20: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Components of CASE

• Diagramming tools– Allow you to represent a system and its

components visually– Allows higher level processes to be easily

decomposed– Can examine processes or data models at high or

low level

Page 21: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Components of CASE

• Screen and report generators– Used to

• Create, modify and test prototypes of computer displays and reports

• Identify which data items to display or collect for each screen or report

– Some tools have templates

Page 22: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Components of CASE

• Analysis tools

– Generate reports that help identify possible inconsistencies, redundancies and omissions

– Generally focus on

• diagram completeness and consistency• data structures and usage

Page 23: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

Components of CASE

• CASE documentation generator tools– Create standard reports based on contents of repository

– Need textual descriptions of needs, solutions, trade-offs, diagrams of data and processes, prototype forms and reports, program specifications and user documentation

– High-quality documentation leads to 80% reduction in system maintenance effort in comparison to average quality documentation

Page 24: CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –

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