Computer-Aided Software Engineering (SASE):
Computer-Aided Software Engineering (SASE) is a set of automated tools for implementing software engineering activities and standards during the software development process. Following is a brief overview of CASE architecture.
#1. The environment architecture is composed of the hardware platform and operating system support which includes networking and database management software, this forms the basic ground form CASE.
#2. A set of portability services provides a bridge between CASE tolls and their integration framework along with the environment architecture.
#3. The integration framework is a collection of specialized programs that enable individual CASE tools to communicate with each other, to create a project database and to exhibit the same lookup for the software engineer as he would feel when doing the software engineering procedures manually.
#4. Portability service provides CASE tools and their integration framework to become portable and migrate along with different hardware platforms and operating systems without much change.
The CASE framework provides a very large range of tools for conduction all the possible software engineering activities. Here is a listing of some of the commonly used tools provided by a CASE framework:
#1. Information Engineering Tools:
These tools model business information as it moves between various organizations. They represent:
(a) Business data objects
(b) Relationships between various business data objects and
(c) The flow of business data objects between organizations.
#2. Process Modeling and Management Tools:
These tools provide:
(a) A key element of a process for a better understanding of the process,
(b) Links to the description of work tasks related to a process and
(c) Links to other related process management tools.
#3. Project Planning Tools: They provides tools related to:
(a) Software project effort and cost estimation,
(b) Project scheduling.
#4. Risk Analysis Tools:
They provide information and methods to a project manager in the following areas:
(a) Building risk analysis tables, and
(b) Provide guidance for risk identification and analysis.
#5. Project Management Tools :
These tools provide a project manager with the following help :
(a) Creating, tracking and monitoring project plans and schedules, and
(b) Providing metrics to estimate & evaluate project and product quality factors.
#6. Documentation Tools :
These tools help in the following manner :
(a) Document production, and
(b) Desk-Top publishing of the documents.
#7. System software Tools :
These tools include :
(a) E-mail
(b) Electronic bulletin boards, and
(c) Network communication software.
#8. Software Configuration Management Tools :
These tools help in the following areas of SCM :
(a) Identification
(b) Version control
(c) Change control
(d) Auditing and
(e) Status accounting.
#9. PRO/SIM Tools :
These are a set of Prototyping and Simulation tools for predicting the behavior of a real-time system before it’s production. They help the software engineers to build prototypes of the systems for analyzing the functionality, operation, and response of the system.
#10. Test Management Tools :
These tools help in the process of control and coordination for software testing procedures. It has a Test Driver that reads one or more test cases from a testing file, formats the test data to fit to the needs of the software under test, and then invokes the software to be tested.