You are on page 1of 23

Introduction to CASE tools

(Computer Aided Software

Engineering)
M.KALYAN REAL TIME EMBEDDED SYSTEMS

Outline

Introduction Prerequisites of CASE tools CASE building blocks Features of CASE tools Classification of CASE tools CASE taxonomy Some CASE tools Advantages Disadvantages Conclusion

Introduction

CASE tools provide assistance to developers in designing software Decrease development time and increase quality. They can be integrated within a sophisticated environment. They reduce the effort to produce a project or accomplish a project with substantial benefit Provide a new way of look at software engineering which leads to better decisions and high software quality

Prerequisites of CASE tools

need a collection of useful tools that will help in every step of building a product.

need an organized layout that enables tools to be found quickly and used efficiently, and

need

a skilled artisan who understands how to

use the tools in an effective manner

CASE Building Blocks

Ref: Figure Building blocks of CASE Fig 31.1[2]

Features of CASE tools


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

Classification of CASE tools


In 1980s

Upper CASE support analysis, organizing and design

Lower CASE construction, development and maintenance


Tools supporting few tasks.

Now-a-days

Workbenches supporting few acitivities.


Environments supporting a large part of software processes

Tools
Existing CASE tools can be classified into 4 categories

Life Cycle support Integration dimension

Construction dimension
Knowledge based CASE dimension

Workbenches
a homogeneous and consistent interface (presentation integration) easy invocation of tools and tool chains (control integration) access to a common data set managed in a centralized way (data integration)

Environments
An environment is a collection of CASE tools and workbenches that supports the software process CASE environments are classified based on the focus/basis of integration[4] Toolkits Unix programming, VMSVAX Language-centered Interlisp, smalltalk Integrated IBM A/D Cycle, DEC Cohesion Fourth generation Informix 4GL, Focusfall Process-centered East Enterprise, Process wise, Process Weaver

CASE Repository Functions


Data integrity Information sharing Data-tool integration Data-data integration Methodology enforcement Document standardization

CASE Taxonomy tools Business process engineering


Process modeling and management tools Project planning tools Risk analysis tools

represent business data objects, their relationships, and flow of the data objects between company business areas

represent key elements of processes and provide links to other tools that provide support to defined process activities
used for cost and effort estimation, and project scheduling help project managers build risk tables by providing detailed guidance in the identification and analysis of risks provide systematic database-like approach to tracking requirement status beginning with specification

Requirements tracing tools

CASE Taxonomy

Metrics and management tools

Documentation tools

management oriented tools capture project specific metrics that provide an overall indication of productivity or quality, technically oriented metrics determine metrics that provide greater insight into the quality of design or code provide opportunities for improved productivity by reducing the amount of time needed to produce work products network system software, object management services, distributed component support, and communications software metrics tools that audit source code to determine compliance with language standards or tools that extract metrics to project the quality of software being built

System software tools

Quality assurance tools

CASE Taxonomy

Database management tools

Software configuration management tools Analysis and design tools PRO/SIM tools

RDMS and OODMS serve as the foundation for the establishment of the CASE repository

uses the CASE repository to assist with all SCM tasks (identification, version control, change control, auditing, status accounting)
enable the software engineer to create analysis and design models of the system to be built, perform consistency checking between models prototyping and simulation tools provide software engineers with ability to predict the behavior of real-time systems before they are built and the creation of interface mockups for customer review

CASE Taxonomy

Interface design and development tools Prototyping tools


toolkits of interface components, often part environment with a GUI to allow rapid prototyping of user interface designs enable rapid definition of screen layouts, data design, and report generation compilers, editors, debuggers, OO programming environments, fourth generation languages, graphical programming environments, applications generators, and database query generators assist with the generation of web page text, graphics, forms, scripts, applets, etc.

Programming tools

Web development tools

CASE Taxonomy

Integration and testing tools


Static analysis tools

data acquisition (get data for testing) static measurement (analyze source code without using test cases) dynamic measurement (analyze source code during execution) simulation (simulate function of hardware and other externals) test management (assist in test planning, development, and control) cross-functional (tools that cross test tool category boundaries) code-based testing tools, specialized testing languages, requirements-based testing tools intrusive tools modify source code by inserting probes to check path coverage, assertions, or execution flow, non-intrusive tools use a separate hardware processor running in parallel with processor containing the program being tested

Dynamic analysis tools

CASE Taxonomy

Test management tools

Client/server testing tools Reengineering tools

coordinate regression testing, compare actual and expected output, conduct batch testing, and serve as generic test drivers exercise the GUI and network communications requirements for the client and server reverse engineering to specification tools code restructuring and analysis tools on-line system reengineering tools
used to modify on-line DBMS

generate analysis and design models from source code, where used lists, and other design information analyze program syntax, generate control flow graph, and automatically generates a structured program

Some CASE Tools Open Source


ArgoUML AmaterasUML

Object Oriented CASE tools

Acceleo
Violet Umbrello UMLet StarUML BOUML Ameos

Popkin Architect
Rational Rose Cool Jexx

CASE tools: Advantages


They provides better perceptive of system Facilitates communication among team members Tools are more effective for large scale systems and immense projects CASE tools provide visibility of processes and logic CASE tools improve quality and productivity of software CASE tools reduce the time for error correction and maintenance CASE tools provide clear readability and maintainability of the system

CASE tools: Disadvantages


CASE tools are helpful for the developer but do not assure that the design is according to the requirements Good quality CASE tools are very expensive and prove costly for the development Almost every tool has its limitation that decreases its use and popularity Some tools may have very limited functionality and may not address all possible domain activities Every tool is bound to a limit reducing flexibility which decrease the use of CASE tools Inadequate standardization among the CASE tools present

Conclusion
CASE combines a set of building blocks that begin at the hardware and operating system software level and end with individual tools Improve standard of documentation, easier to test and maintain Cost, time limitation, lack of concern and training are some drawbacks to development of CASE tools

Any Queries?

References
1. 2.

3. 4.

http://www.theecommercesolution.com/usef ull_links/case_tools.php. Chapter 31, from text Software Engineering : A Practioners Approach by Roger S. Pressman. 5th edition http://case-tools.org/ http://www.developerdotstar.com/mag/articl es/oo_case.html

You might also like