|
|
|
The CASEM Project - Operational Concept DescriptionIntroductionOne of the perpetual problems faced by software engineering teams today is how to effectively manage the processes and procedures by which software is created. Although this is by no means a new issue, it has become more significant in an environment of Rapid Application Development (RAD) technologies, and decreased time-to-market demands. The Computer Aided Software Engineering Management (CASEM) tools have been designed with this problem in mind. For all their obvious advantages, RAD environments in particular, while not actually discouraging the use of formal methods, have tended to make it easier to neglect them. This is evident even in experienced engineers, but RAD tools have also made powerful software development available to untrained and inexperienced developers, who have little or no knowledge of formal methodologies. This is not to make the rather elitist suggestion that inexperienced developers should not use RAD tools. In fact, it is partly a justification for creating CASEM. One of the goals of the CASEM tools is to make it easy to learn and use formal software engineering methodologies. When used with formal methodologies, RAD tools become an extremely powerful way to write high-quality software. The speed and efficiency of the RAD environment is combined with the quality assurance of managed processes. Of course, RAD environments are not the only software engineering context in which formal methodologies are required. Before RAD environments were commonly available, formal processes and procedures were the only way in which the complexities of software development could be managed to produce an acceptable result. In this context, the CASEM tools offer nothing particularly new or innovative. As part of the qPrise Software Development System (qSDS), CASEM is designed to implement, enable and assist the core software engineering process and associated procedures. Essentially, it is a toolset for managing:
In this overall context, this document explains the operational concepts of the CASEM project, including:
This document does not replace a formal analysis or design exercise, but it does give a framework for subsequent effort in these areas. CASEM OverviewThe intent of CASEM is that it should assist people working in the following roles (which are defined in the qSDS Software Engineering Process):
Of course, these roles are not always assigned to distinct people, but it is clear that CASEM must operate in a multi-user environment. This, in turn, suggests a client-server architecture. CASEM is designed to handle the following information entities:
The following is a high-level entity/relationship model of this information:
CASEM is not designed to handle:
The CASEM server will function similarly to a database server, handling following functions:
A number of distinct CASEM clients are envisaged, with separate information-handling roles:
Detailed Information ModelAs stated in the previous section, CASEM will handle six basic data entities - Projects, Requirements, Design Elements, Test Procedures and Test Results. Naturally, a formal analysis will highlight a more refined information model than that presented here. The purpose of this discussion is to create a framework for further discussion and ideas. Data Element: ProjectThe Project entity represents the basic unit of work in the qSDS. The qSDS Software Engineering Process document defines this term precisely, but in CASEM, a project is used for grouping all other information in the database. A project entity has the following attributes:
Data Element: DocumentThe Document entity encapsulates information about a document related to the project. It has the following attributes:
Data Element: RequirementThe Requirement entity encapsulates a single requirement in the specification for the project. Detailed definitions of requirements and how they are characterised in the qSDS methodology are specified elsewhere. For this document, it is sufficient to define a requirement as the statement of a condition that a system must meet for it to be accepted into the production environment. Requirements are a key element in a quality system. All work is evaluated against them, either in review or in testing. Note that a list of requirements in this form would not constitute the entire requirements documentation. Such documentation normally includes a great deal of explanatory information from the analysis exercise.
Note that the Requirement entity has a many-to-many relationship with the Design Element and Test Procedure entities. Data Element: Design ElementA Design Element entity encapsulates any part, module, class or object in the system that may be regarded as atomic for the purposes of traceability. Naturally, such entities are subject to very fine levels of decomposition in design and implementation, but traceability requires a level of abstraction such that design elements correspond to requirements. Note that the list of design elements does not replace design documentation. Rather, it is derived from it as part of the traceability system. A Design Element entity has the following attributes:
Test ProcedureThe Test Procedure entity encapsulates a single test, executed to verify the conformance of the system to one or more requirements. It includes the following attributes:
Key Technologies and MethodsThis section discusses some of the technologies and techniques that may be used in the design and implementation of CASEM. Object Oriented MethodsAlthough OO techniques are currently popular in the information industry, there is explicitly no intent to endorse this in qSDS over the alternatives. However, OO methodologies are viewed as appropriate for the execution of the CASEM project. JavaTo make the qSDS truly generic, the CASEM tools must operate on as wide a variety of platforms as possible. For this reason, Java will most likely be the implementation language. This will allow CASEM to be deployed and used across multiple platforms without significant redevelopment effort. Traditionally, Java has been known to suffer from performance penalties imposed by its run-time environment. This is not viewed as significant for CASEM, since it is not a performance-intensive application. This issue is further mitigated by the XMLCASEM requires a standard for characterising its information, both in client / server communications and in storage. Ideally, such a standard would be:
XML fits these requirements admirably. Being a text-based standard, it is not as compact as a binary protocol would be, but the information volumes being communicated are not great, and the commonly available capacity for storage and processing is easily equal to the task of handling information in this form. Also, information in XML is easily viewed and manipulated in ordinary text-based tools. Thus, the CASEM project will define an XML-based standard for software project information. This will be used in client-server communications, and for information storage. Further WorkThe next step in the development of CASEM is a formal analysis exercise to determine a set of requirements. No schedule exists for this work at the moment. |
|
This site is under construction. Please check back with us again soon. In the meantime, enquiries may be directed to enquiries@qprise.com. Except where explicitly noted, all information on this site, qprise.com is copyright (c) 2001 qPrise. Reproduction is only by permission of qPrise. |