Computer-Aided Software Engineering or Computer-Aided Systems Engineering Software that is used in any and all phases of developing an information system, including analysis, design and programming. For example, data dictionaries and diagramming tools aid in the analysis and design phases, while application generators speed up the programming phase. CASE systems offer tools to automate, manage, and simplify the development process. These can include tools for:
  • Summarizing initial requirements
  • Developing data flow diagrams
  • Scheduling development tasks
  • Preparing documentation
  • Controlling software versions
  • Developing program code
Historically, CASE tools originated in the 1970s when computer companies were beginning to borrow ideas from the hardware manufacturing process and apply them to software development (which generally has been viewed as an insufficiently disciplined process). The CASE tools in the 1980's saw the introduction of text editors that improved the tracking of the documentation that was produced throughout the standard software development life cycle. It was primarily used to perform computer-aided documentation. These CASE tools that greatly enhanced the work of the software engineers and by increasing their efficiency and throughput; were used to key in text, manipulate it by formatting via a visual interface as well as track the document versions.

Some of the CASE tools built in the 1980s include Excelerator (produced by Intersolve) and IBM’s AD Cycle. The 1990's CASE tools had the capabilities of Code generators that further enhanced and enabled the CASE tools to produce codes in a more sophisticated manner from designs and data flows fed into the system. Hence, it became a better user interface that was friendlier to the end users with the aim of reducing the learning curve of the software engineer and programmer. These powerful 1990’s case tools include Microsoft Project, Visual Basic and Perceps. Other current notable companies that use CASE tools include Advanced Logical Software, Advanced Software Automation, CMD Corporation etc…(see CASE vendor list referenced below)

CASE tools mainly Data flow diagrams (DFDs), which are process models that show the flow of information through a system and the processes that transform that data. Individual processes can explode to lower level diagrams or text specifications. DFDs are commonly used in structured analysis and design, information systems design and to a lesser extent in some object-oriented design methods. DFDs show data flowing through processes and must have a data Dictionary that reveals the contents of the data stored; this data needs to be converted to a format for files/DBMS that helps the analyst to understand and document the logical structure of the data.

 CASE tools provide great number of benefits to database design, and this includes automated methods for designing and documenting traditional structured programming techniques. The ultimate goal of CASE is to provide a language for describing the overall system that is sufficient to generate all the necessary programs. Using CASE also allows designers, code writers, testers, planners, and managers to share a common view of where a project stands at each stage of development. As a result, it helps to ensure a disciplined, check-pointed process; hence, portraying progress (or lack of it) graphically. The will result in less time being spent on this phase.

It may also serve as a repository for or be linked to document and program libraries containing the project's business plans, design requirements, design specifications, detailed code specifications, the code units, test cases and results, and marketing and service plans. CASE tools can be used in the design and implementation phases to aid in the translation of the specification document into the design documents, and translation of the design documents into code, respectively. More importantly, CASE tools will aid in the documentation process as well as the maintenance of the same data dictionary.

There are several drawbacks to using CASE tools, but these drawbacks are common to any situation where a specialized tool is used.
§ It produces initial systems that are more expensive to build and maintain.
§ Require more extensive and accurate definition of user needs and requirements
§ Might be difficult to customize
§ Requires more training of maintenance stuff
§ Might be not compatibles with the existing system
§ Another drawback is the cost of using these tools.

In short, CASE tools can play a vital part in every phase of the development process, resulting in a shorter developmental time.


Reference:

Rob, P. & Coronel, C. M. (2004). "Database Systems: Design, Implementation, & Management, 6th Ed." Massachusetts: Thomson Technology

Stair R., Reynolds, G. (2006). “Principles of Information Systems, 7th Ed.” Massachusetts: Thomson Technology

Greenwald, R., Stackowiak, R., & Stern, J. (2004). Oracle essentials 3rd. Oracle 10 Sebastropol, CA: O'Reilly

CASE Vendor List. Retrieved July 22, 2006 from http://www.cs.queensu.ca/FAQs/SE/vendor.html