CASE provides software process support by automating some process activities and by providing information about the software that is being developed. The main purpose of case tools is to decrease the cost / development time and increase quality of software. As these tools are not free their use is limited.
Computer Aided Software Engineering (CASE) is the scientific application of set of tools and methods to a software system which is meant to result in high quality, defect free and maintainable software products.
Computer-Aided software engineering (CASE) tools are a set of programs and aids that assist analysts, software engineers, and programmers during all phases of the system development life cycle
Computer Aided Software Engineering is the name given to software used to support software process activities such as requirement engineering, design, program development and test. CASE tools therefore include design editors, data dictionaries, compilers, debuggers, system building tools and so on.
CASE tools can be divided into two main groups – those that deal with the first three parts of the system development life cycle (preliminary investigation, analysis, and design) are referred to as Front-End CASE tools or Upper CASE tools, and those that deal mainly with the Implementation and Installation are referred to as Back-End CASE tools or Lower CASE tools.
The major reason for the development of CASE tools was to increase the speed of the development of systems. By doing so, companies were able to develop systems without facing the problem of having business needs change before the system could be finished being developed. Quicker installation also allowed the companies to compete more effectively using its newly developed system that matched its current business needs.
In a highly competitive market, staying on the leading edge can make the difference between success and failure.
CASE tools also allowed analysts to allocate more time to the analysis and design stages of development and less time coding and testing. Previous methods saw only 35% of the time being spent of analysis and design and 65% of the time being used to develop code and testing. CASE tools allowed analysts to use as much as 85% of the time in the analysis and design stages of the development. This resulted in systems that more closely mirrored the requirement from the users and allowed for more efficient and effective systems to be developed.
By using a set of CASE tools, information generated from one tool can be passed to other tools which, in turn, will use the information to complete its task, and then pass the new information back to the system to be used by other tools. This allows for important information to be passed very efficiently and effectively between many planning tools with practically no resistance. When using the old methods, incorrect information could very easily be passed between designers or could simply be lost in the shuffle of papers.
Initially Dr. Hassan Sayani floated the idea of automated system development which later supported by Daniel Tiechroew, who developed tools like PSL/PSA. This tool provided the power of meta-meta model.
The term CASE was originally coined by software company Nastec Corporation of Southfield, Michigan in 1982 with their original integrated graphics and text editor GraphiText, which also was the first microcomputer-based system to use hyperlinks to cross-reference text strings in documents—an early forerunner of today’s web page link. GraphiText’s successor product, DesignAid, was the first microprocessor-based tool to logically and semantically evaluate software and system design diagrams and build a data dictionary.
CASE tools were at their peak during 90’s while IBM was the market leader but after the death of IBM’s mainframe these CASE tools also ended or purchased by Computer Associates.
In 90’s CASE tools that could be used in the entire life cycle of the software development paradigm were also introduced. These included project management tools and cost calculators that made it possible to predict the resources and time scheduled of software in development. This was introduced to address some of the issues that had earlier resulted in the software crisis.
Some of the CASE tools built during this period include powerful tools such as Microsoft Project, Visual Basic and Perceps.
Some of the CASE tools that have been recently developed have been improved versions of the late 90s programs such as, Macromedia Studio MX, Microsoft Visual Studio.NET and Project Server 2003.
CASE classification helps us understand the types of CASE tools and their roles. There are three prospective where we can differentiate these tools
1- Functional Prospective
Tools are classified according their specific function
2- Process Prospective
Tools are classified as per process activities they support
3- Integration Prospective
Tools are classified as according to how they are organized into integrated units that provide support for one or more process activities.
3.3 CASE Tools
Tools can be divided into many categories. From planning prospective to reengineering, from version control to documentation you will find CASE tools. So it is out of my scope to discuss each type here. Allow me to list tools that I would like to suggest:
- ERWIN by logic Works
- Excelerator II by Intersolv
- MS Visio
- UML Tutor
- Visual Paradigm for UML
Tool selection is totally dependent on your requirement and environment you are working on.
4.0 Future Developments
The future of CASE tools depends upon how they react to current developmental needs. Efforts are underway to reduce code from 40-70% and also inclusion of voice for documentation purposes.
Related Technology News:
- What is Commercial off the Shelf (COTS)?
- Alternate mark inversion (AMI)
- Encoding Schemes
- Differential Manchester encoding
- What is Cyclic Redundancy Check (CRC)