CASE Tools in Software Engineering - Types, Advantages etc.

Software Engineering NotesCASE Tools in Software Engineering :- CASE Tools Types, CASE Tools Advantages and CASE Tools applications. (Software Engineering all notes)
Q1. What is CASE tools in software engineering? Types of CASE tools and its Applications?
Q2. What are CASE Tools in Software Engineering? its Characteristics? Advantages and Disadvantages? Features? CASE Environment Architecture?

Q1. What is CASE tools in software engineering? Types of CASE tools and its Applications?

Ans. Computer Aided Software Engineering (CASE), in the field of software engineering is the scientific application of a set of tools and methods to a software system which is meant to result in high-quality, defect-free and maintainable software products.

It also refers to methods for the development of information systems together with automated tools that can be used in the software development process.

CASE Tools: CASE Tools in software engineering

CASE tools are a class of software that automates many of the activities involved in various life cycle phases.

For example, when establishing the functional requirements of a proposed application, prototyping tools can be used to develop graphic models of application screens to assist end users to visualize how an application will look after development.

Subsequently, system designers can use automated design tools to transform the prototyped functional requirements into detailed design documents.

Programmers can then use automated code generators to convert the design documents into code.
Automated tools can be used collectively, as mentioned or individually.

For example, prototyping tools could be used to define application requirements that get passed to design technicians who convert the requirements into detailed designs in a traditional manner using flow charts and narrative documents, without the assistance of automated design software.

Existing CASE environments can be classified along four different following dimensions :
1. Life cycle support.
2. Integration dimension.
3. Construction dimension.
4. Knowledge based CASE dimension .
Let us take the meaning of these dimensions along with their examples one by one:

Life Cycle based CASE Tools

This dimension classifies CASE tools on the basis of the activities they support in the information systems life cycle. They can be classified as upper or lower CASE tools:

1. Upper CASE Tools : Support strategic, planning and construction of conceptual level product and ignore the design aspect. They support traditional diagrammatic languages such as E-R diagrams, data flow diagram, structure charts, decision trees, decision tables etc.

2. Lower CASE Tools : Concentrate on the back end activities of the software life cycle and hence, support activities like physical design, debugging, construction, testing, integration of software components, maintenance, re-engineering and reverse engineering activities.

Integration Dimension

Three main CASE integration dimension have been proposed:
1. CASE framework.
2. ICASE tools.
3. Integrated Project Support Environment (IPSE).

CASE workbenches can be further classified into following eight classes :
1. Business planning and modeling.
2. Analysis and design.
3. User-interface development.
4. Programming.
5. Verification and validation.
6. Maintenance and reverse engineering.
7. Configuration management.
8. Project management.

CASE 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.
1. Toolkits.
2. Language-centered.
3. Integrated
4. Fourth generation.
5. Process-centered.

1. Toolkits : Toolkits are loosely integrated collections of products easily extended by aggregating different tools and workbenches.
Typically, the support provided by a toolkit is limited to programming, configuration management and project management. And the toolkit itself extended from basic sets of operating system tools,
for example, the unix programmer's workbench and the VMS VAX set.

2. Language-Centered : The environment itself is written in the programming language for which it was developed, thus enable users to reuse, customize and extend the environment. Integration of code in different languages is a major issue for language-centered environments.

Lack of process and data integration is also a problem. The strengths of these environments include good level of presentation and control integration.

3. Integrated : These environment achieve presentation integration by providing uniform, consistent and coherent tool and workbench interfaces.
Data integration is achieved through the repository concept: they have a specialized database managing all information produced and accessed in the environment.
Examples of integrated environment are IBM AD/Cycle and DEC cohesion.

4. Fourth Generation : Fourth generation environments were the first integrated environments. They are sets of tools and workbenches supporting the development of a specific class of program: electronic data processing and business-oriented applications.

In general, they include programming tools, simple configuration management tools, document handling facilities, and sometimes, a code generator to produce code in lower level languages. Informix 4GL and focus fall into this category.

5. Process-Centered : Environments in this category focus on process integration with other integration dimensions as starting points. A process-centered environment operates by interpreting a process model created by specialized tools.

They usually consist of tools handling two functions:
a) Process-model execution, and  (b)Process-model production.

Applications of CASE Tools in Software Engineering

All aspects of the software development life cycle can be supported by software tools and so the use of tools from across the spectrum can, arguably, be described as CASE;
from project management software through tools for business and functional analysis, system design, code storage, compilers, translation tools, test software and so on..

However, tools that are concerned with analysis and design and with using design information to create parts (or all) of the software product, are most frequently thought of as CASE tools.

CASE applied, for instance, to a database software product, might normally involve :
1. Modelling business / real world processes and data flow.
2. Development of data models in the form of entity-relationship diagrams.
3. Development of process and function descriptions.
4. Production of database creation SQL and stored procedures.

[ Topic= CASE Tools in Software Engineering ]
[ Topic= CASE Tools in Software Engineering ]

Q2. What are CASE Tools in Software Engineering? its Characteristics? Advantages and Disadvantages? Features? CASE Environment Architecture?

Ans. CASE tools enable the people working on a software project to carry out all the activities (like analysis, design, coding, testing etc.) through automation.

CASE tool helps the proiect manager, developer and other important people to improve the productivity of the software development team.

CASE is a field of computer based assistance for developing and maintaining software.

CASE Tools in Software Engineering are available for the different phases of the software development life cycle :
1. Requirement analysis
2. Requirement specification
3. SRS
4. Logical data modelling
5. Detailed design
6. Coding
7. Testing
8. Maintenance

Characteristics of CASE Tools :

The main characteristics of the CASE Tools in Software Engineering are :
1. A graphical interface for drawing ER diagrams, DFDs, charts etc.
2. A storage for information, a data dictionary for efficient information management selection, usage and application.
3. Common user interface for integrating the various modules of the software.
4. Automated code generation.
5. Automated testing tools.

Advantages of CASE Tools :

There are several advantages of using CASE Tools in Software Engineering. The major of which are described below :

1. Reduction of Development Time : CASE tools provide the automation of all the activities performed in the development of the software and thus, reduces the time taken for completing various tasks like design, coding, testing etc. especially the tasks involving diagrammatic specifications.

2. Increase in Accuracy : CASE tools provide ongoing techniques for error detection and removal. Early error detection and removal plays a very vital role in the development of a modern software. If the errors are corrected at an early stage of software development, then less effort and time is consumed.

As the size of a software increases, error identification becomes difficult. In some cases restraining could be involved that costs much effort and time. Managing and communicating problems among large teams can be difficult to manage and could prove costly by consuming both time and effort.

3. Improved Documentation : Using CASE tools helps in generating large amount of documents and that to with improved content and quality. Most tools have comments and notes on the software development and maintenance.

4. Reduced Lifetime Maintenance : CASE tools provide better design, better analysis and automatic code generation, auto testing and debugging. As a result of which the quality of the overall system improves.
The documentation also improves, thus, the total time, effort and cost involved in the maintenance of the system is reduced.

5. Improved Productivity : CASE tools provide the automation of the several tasks. This helps in increasing the system efficiency and thus, improving the productivity of the system.

Disadvantages of CASE Tools :

The major disadvantages of using CASE Tools in Software Engineering are :

1. Cost : The CASE tools available for use are very costly. Thus, most of the small scale organizations that develop software do not tend to invest in CASE tools because of the thinking that the benefits of CASE tools are worthed only in large organizations that develop big projects.

2. Learning Curve : The programmer need time to learn how to use the CASE tools thus, the programmer productivity may fall in the initial phases of implementation.

3. Tool Mix : For getting the cost advantage of CASE integration and data integration it is important to make an important selection of tool mix.
The ability of sharing the results of task performed with one CASE tool with another CASE tool is the most important type of CASE integration.

Features of CASE Tools :

The main features of CASE tools are as follows:
1. It determines the problem to be solved.
2. Provides information about problem domain.
3. Gives the rules and regulations used in the software development.
4. Project planning is made easier.
5. Helps in getting information about test cases.
6. Storage of sophisticated data structure.
7. Enforces integrity.
8. Process management is simplified.

CASE Environment :

CASE environment is a number of CASE tools that use an integrated approach for supporting the interaction between the environment components and the users of the environment.

CASE environment combines a number of different CASE tools and informations in a way that provides the communication between the users and the various software process.

The various features of CASE environment are :
1. CASE environment provides a mechanism for sharing the information among all the tools in the environment.

2. It provides software version control process and change control process for all the software engineering informations.

3. It provides communication between the users and various tools.

4. Provides the users with a graphical interface for using the component tools contained in the CASE environment.

5. Enables a change to one data item to be tracked to other related information.

CASE Environment Architecture :

The important components of CASE environment are :

1. Project Management Tools: An organization working for the improvement of a business process must first understand the process. It is used for representing the key elements of a business process, so that it is better understood.

2. Risk Analysis Tool: It helps in identifying the risks in developing a plan, design and then implementing the design.

3. Analysis and Design Tool: It enables the software to be created as a set of modules. Analysis tool helps in analyzing the requirements of the user to determine their feasibility. The design tool helps to convert the requirements into a detailed and easily manageable design.

4. Quality Assurance Tool: Quality assurance tools actually consists of the metrics that audit source code for determining their compliance with standards.

5. Testing Tool: Testing tools are mainly used for making the task of software testing easier.

The two categories of testing tools are :
(i) Dynamic measurement.
(ii) Stimulation test management.

Join us on Facebook, Instagram, and Twitter to get the latest study material. You can also ask us any questions.
Facebook = @allbcaweb
(click on it or search "allbcaweb" on Facebook)
Instagram = @allbcaweb
(click on it or search "allbcaweb" on Instagram)
Twitter = @allbcaweb
(click on it or search "allbcaweb" on Twitter)
Send us your query anytime about CASE Tools in Software Engineering!

[ Topic= CASE Tools in Software Engineering ]
[ Topic= CASE Tools in Software Engineering ]

External Links for - CASE Tools in Software Engineering:

1. CASE Tools in Software Engineering.
2. CASE Tools in Software Engineering.
3. CASE Tools in Software Engineering.
4. CASE Tools in Software Engineering.

No comments:
Write comment