Sei sulla pagina 1di 5

Computer-aided software engineering

Computer-aided software engineering (CASE) 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. BUILDING BLOCKS FOR CASE The building blocks for CASE are illustrated in Figure

FIGURE - CASE Building Blocks 1. Environment Architecture. The environment architecture, composed of the hardware platform and operating system support including networking and database management software, lays the groundwork for CASE but the CASE environment itself demands other building blocks. 2. Portability Services. A set of portability services provides a bridge between CASE tools and their integration framework and the environment architecture. These portability services allow the CASE tools and their integration framework to migrate across different hardware platforms and operating systems without significant adaptive maintenance. 3. Integration Framework. It is a collection of specialized programs that enables individual CASE tools to communicate with one another and to create a project database.

4. Case Tools. Case tools are used to assist software-engineering activities (such as analysis modeling, code generation, etc.) by either communicating with other tools, the project database (integrated CASE environment), or as point solutions.

4.

Supporting software
Alfonso Fuggetta classified CASE into 3 categories:[4] 1. 2. 3. Tools support only specific tasks in the software process. Workbenches support only one or a few activities. Environments support (a large part of) the software process.

Workbenches and environments are generally built as collections of tools. Tools can therefore be either stand alone products or components of workbenches and environments.

]Tools
CASE tools are a class of software that automate 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 flowcharts and narrative documents, without the assistance of automated design software.[5] Types of tools are:

Business process engineering tools Process modeling and management tools Project planning tools Risk analysis tools Project management tools Requirement tracing tools Metrics management tools Documentation tools System software tools Quality assurance tools Database management tools Software configuration management tools

Analysis and design tools Interface design and development tools prototyping tools programming tools Web development tools Integration and testing tools Static analysis tools Dynamic analysis tools Test management tools Client/Server testing tools Re-engineering tools

Real CASE tools - can be separated into three different categories, depending on where in the development process they are most involved in:

Upper - support analysis and design phases Lower - support coding phase Integrated - also known as I-CASE support analysis, design and coding phases

Workbenches
Workbenches integrate several CASE tools into one application to support specific software-process activities. Hence they achieve:

a homogeneous and consistent interface (presentation integration). easy invocation of tools and tool chains (control integration).

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

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

Applications
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:

Modeling business / real-world processes and data flow Development of data models in the form of entity-relationship diagrams Development of process and function descriptions

What is a CASE repository? Identify three advantages of a CASE repository. A CASE repository is a centralized database that contains all diagrams, form and report definitions, data structure, data definitions, process flows and logic, and definitions of other organizational and system components. The repository provides a set of mechanisms and structures to achieve seamless data-to-tool and data-to-data integration. Specific tool integration, project management, and reusability are three advantages. Identify the components within a comprehensive CASE repository. A data dictionary and an information repository are the components within a CASE repository. A data dictionary is the repository of all data definitions for all organizational applications. An information repository refers to automated tools used to manage and control access to organizational business information and application portfolio as components within a comprehensive repository.

Define CASE, upper CASE, lower CASE, cross life-cycle CASE, and I-CASE. CASE can be defined as software tools that provide automated support for some portion of the systems development process. Upper CASE tools are designed to support the information planning and the project identification and selection, project initiation and planning, analysis, and design phases of the systems development life cycle. Lower CASE tools support the implementation and maintenance phases of the systems development life cycle. Cross life-cycle CASE tools are designed to support activities that occur across multiple phases of the systems development life cycle. I-CASE refers to an automated systems development environment that provides numerous tools to create diagrams, forms, and reports; provides analysis, reporting, and code generation facilities; and seamlessly shares and integrates data across and between tools.

Potrebbero piacerti anche