Software Engineering - Old Questions

12. Write short notes on (any two):

        a. CASE tools

        b. Reverse Engineering

        c. Reliability validation

6 marks | Asked in 2071(II)

a. CASE tools

Computer-aided software engineering (CASE) tools are software programs that automate or support the drawing and analysis of system models and provide for the translation of system models into application programs. Some CASE tools also provide prototyping and code generation capabilities.

A CASE repository is a system developers’ database. It is a place where developers can store system models, detailed descriptions and specifications, and other products of system development. Synonyms include dictionary and encyclopedia.

Types of CASE tools:

  • Diagramming tools
  • Dictionary tools
  • Design tools
  • Quality management tools
  • Documentation tools
  • Design and code generator tools

b. Reverse Engineering

The objective of reverse engineering is to derive the design and specification of a system from its source code. It is the process of analyzing a program in an effort to create a representation of the program at a higher level of abstraction than source. The program itself is unchanged by the reverse engineering process. The software source code is usually available as the input.

Reverse engineering process:

c. Reliability validation

Reliability validation is the process of measuring the reliability of a system. To validate that the system meets these requirements, we have to measure the reliability of the system as seen by typical system user.

Reliability validation process:

  1. Establish the operational profile for the system.

  2. Construct test data reflecting the operational profile

  3. Test the system and observe the number of failures and the times of these failures.

  4. Compute the reliability after a statistically significant number of failures have been observed.