EuroSPI99 
Learn from the Past - Experience the Future
European Software Process Improvement
SPI and Object Orientation
Category Index
Rated Newspaper Supported by EU Project  

Improvement of the Quality in the Software Development Process by the Introduction of UML

Arthur Görges, Minsheng Liu
Hüngsberg AG,
Linienthalsraße 2
D-85399 Hallbergmoos, Germany
E-mail: {apg, mil}@daxware.de

ABSTRACT: This paper presents the result of the experience acquired from the ESSI project called OFTPIVE.PIE. In this project the object-oriented methods with UML and a new paradigm have been introduced to the application environment of the software development process and to improving the software development process. By executing the project, the weakness in the process of our software development have been recognized, so that the process of software development has been redefined and improved. The use of the forward, reverse and round trip engineering can reduce the development time of the software product. It is shown that the introduction of UML, CASE tool and a new paradigm is beneficial to the software development process.
 

1. Introduction

Huengsberg AG is an international company in the field of information and communication technology in automotive industry, based on the Organisation for Data Exchange for Tele-Transmission in Europe (ODETTE). In the past the company has developed, manufactured and marketed a wide range of hardware and software products in the ISDN for automotive industry. We developed and provided a variety of software products for our customers, and emphasised the importance of servicing for the customers and meeting customer's requirement. However we did not pay much attention to developing the methodology of our software product development. With increasing complexity of our products resulting from customer's requirements, we found that a permanent improvement of the software development process is urgent, if we want to provide our customers with better service and high quality products.

The goals of this project, which was funded by the European Systems and Software Initiative(ESSI), are to improve the software development process and to reduce the errors of analysis, design and implementation in software development by using object-oriented methods with UML in our application environment. So we are able to make our customers more satisfied with high quality and with the best cost-to-benefit ratio. In this paper the project is firstly described in brief, then we report the results and experience obtained by executing the PIE project .
 

2. Description of the Project

Baseline Project:

In the European automotive industry file transfer based on ODETTE File Transfer protocol uses simple point to point links, today. There is a number of file exchange systems between different manufactures and suppliers. As the CAD transfer volumes is increasing, these systems can not match the customer’s needs. On the other hand the use of these systems is also expensive, e.g. a company has to pay in full for 24 hours, even if the company uses only the system a few hours in a day. The application of electronic communication for file transfer is necessary and important for the automotive industry.

Fig.1: File transfer through TCP/IP in the baseline project.

On the basis of the international networks and Corporate Networks the baseline project [3] has been developed for the file transfer in the automotive industry. The ODETTE file Transfer Protocol takes an interface function for a standardized and efficient communication over the network as shown in Fig. 1.

The software product of the baseline project is based on logical connections between product providers and manufactures, so the software product provides our customers with much efficient service. In the experiment two server modules were designed in the conventional way using Microsoft C++ and Micro FoxPro as programming language. One transmission protocol is subject to the test-wise re-implementation by making use of object-oriented modelling and programming.
 

Definition of the PIE Project:


The PIE project is proposed to evaluate a new software development method, namely, object-oriented method by using UML (Unified Modelling Language ) [5] and CASE Tool for software development process in the automotive industry. The programming language JAVA is chosen for the support environment [4].

In order to evaluate the object-oriented method with UML, we applied it to re-implement modules of the baseline project. tool. The experiment consists of the following components: Definition of experiment, Sending and receiving process, Logging activities, Interprocess communication and Investigation of data security as shown in Fig. 2.


Fig.2: Composition of the PIE experiment: Definition of experiment, Sending- and receiving process, Logging activities, Interprocess communication and Investigation of data security

3. Implementation of the Improvement Actions


In order to achieve the goals of the project the following main activities have been taken for implementing the experiment:
 

Analysis and definition of the software development process:

In the project program a process of software development, which consists of four phases, was planned for the PIE project. Afterwards we realized that

the process is not fit to the environment of our software development. With the aid of the consulting company 3 SOFT the current application environment of development process is firstly analysed by using the new method kit [1, 2]. Some weak areas in the software development process have been discovered. Combining the existing environment with object-oriented development methods, the new process of the software development has been defined carefully again and completed in detail.

The Fig. 3 shows the improved process of the software development as an example. The improved process consists of 8 phases such as Analysis, design, implementation, Integration test and so on. By using the improved process the software development can be easily implemented by the iterative and incremental method.
 
 

Fig. 3: The improved process of the software development.
 

Roles in the software development process are defined as a set of related tasks of one person, each roles has the responsibility to achieve the predefined objectives. Moreover the documents and its plan of the project, the methods used in the project have been defined.
 

Selection of a CASE Tool:

There are different CASE tools existing in European market. For selecting a suitable CASE tool, we reviewed firstly them, then after considering the requirements of the PIE project, two CASE tools: Rational Rose and Together, were chosen for further test by using the modules of the PIE project.

When checking the CASE Tool the following factors are considered:

User-Interface: A CASE tool is designed to assist in software development, and it should be logical and easy to use by designers without long training periods. A tool should support familiar GUI elements and UML, and integrate other applications such as Microsoft word, etc.

Workflow: Because of the weakness in the process of the analysis and the design phase, we regarded workflow as an important factor. A CASE Tool is able to model workflow of a new system in the field of the new system and to represent the software development process.

Code generation: On the basis of logical diagram a CASE tool must generate proper code in an appropriate format which implements the product model.

Reverse Engineering:

Reverse engineering is the process of creating a model by analysing source code. As a software supplier, we offer our customers various products. It is often that we are asked to satisfy some special requirements by customers. A CASE tool has to allow to modify easily from analysis to design and to implement, and back to analysis again. The iterative style of development allows designers to begin with a set of known requirements, then evolve as project parameters change or new requirements are added and the project modelling is modified. The reverse Engineering and forward engineering are very important features for the dynamic development process, so that we alter the implement, assess the changes and incorporate them in the design.

The result of the studies indicate that the general functionality of these tools is similar. The CASE tool Rational Rose has more functions than the CASE tool Together. So Rational Rose is chosen as the suitable tool for the demands of the PIE project and is the choice for object-oriented software development in our company. Such a CASE tool provides us significant benefits in the speed of our developing new applications and also facilitates maintenance of the application throughout their life cycle.
 

Training Activities:

Software developers took part in the seminars about the object-oriented software development, unified modelling language, design patterns and OO-programming and software metrics. They gained a lot of knowledge in the object-oriented analysis, design, implementing and metrics.
 

Experiment:

The UML consists of different diagrams [5]. In this project the Use Case diagram, Class and package diagrams, Sequence diagrams, Activity diagrams and Component diagrams have been used for managing the project and for the process of the analysis, design and implementation. The following examples illustrate the application of the UML for the analysis, design and implementation.
 

Documenting the behaviour and requirements with UML:

The first step in the development of a software products is to achieve a understanding of the problems and define the behaviour of the products. This begins with the assessment and documentation of the product requirements. In this project the use case model is used in documenting the behaviour and requirements of the project. The use case model illustrates the system’s intended functions (use case), its surroundings (actors) and relationships between the use case and actors (use case diagrams). It provides a view of the system structure and one starting point for design. Fig. 4 shows the actors in the project and the use case diagram of the PIE project. It provides a detailed view of the project for the communication between the development team members and customers.
 
 


Fig. 4: The actors in the project and the use case diagram of the sender and receiver process, Logging activities and interprocess communication. This presents a view of the functions of the TCP/IP subsystem.
 

Software design with UML: A good software design must support the below abilities: Comprehensibility, maintainability and extensibility. In this project we employed the class and package diagram, sequence diagram, activity diagram and component diagram for the software design. The Fig.5 and Fig.6 as instances display the class diagram and the sequence diagram.

The class diagram of three components in the project is shown in Fig. 5. The class diagram provides a view of the classes in the logical view of the design , which illustrate how the classes relate. The class diagrams are also the foundation for code generation.

Class diagram and package diagrams are static. They are not adequate to determine whether the design is adequate to meet the requirements. From the class diagrams we cannot learn about the behaviours of the system. Sequence diagram can meet this need. The elements of sequence diagrams are objects and messages. The Fig. 6 shows the sequence diagram of the project DAX 2000 as example, where the boxes with underlying dashed line indicate objects.

Fig. 5: Class diagram of the project components: sender and receiver process, logging activities and interprocess communication. It presents the view of the classes in the model and the interactions among them.
 
 







Fig. 6: Sequence diagram of process of the incoming file in DaxENGdat of the project DAX 2000. It shows the object interactions arranged in time sequence.

Sequence diagrams are derived from the development of use cases; they present the objects, messages and object interactions arranged in time sequence.

In the development process of each component the above phases have been used repeatedly. The iterative and incremental method has been easily realised by using the round trip engineering. The Fig. 4 shows the user interface of the sender.

Fig. 7: The user interface of the sender.

 

4. Result and Conc1usion


By executing the PIE project we have introduced the new method to the process of our software development. The process of the software development has been improved and complemented. A standardised software development process has been established. The software developers have realised that how-know becomes very quickly out-of date in the IT sector. They should keep on learning in lifelong and now are more motived for new technology.

The Fig.8 illustrates the application of the UML and the CASE Tool for the development phases. It shows how the requirements of customer’s are realized through the phases: analysis, design, implementation and code test by using the CASE tool. The impact of the UML on the each phase of the software development process is represented by the colour. The darker colour presents the greater impact of UML on the phase. It indicates that the UML is suitable to the analysis and design phase. It has also influence on implementation and code test phase.

By the execution of the experiment, we gathered the following information:





Fig. 8: The impact degree of the UML on the software development process: the darker colour presents the greater impact.

Conclusion:

In this report we present the result of the OFTPIVE.PIE project. It is indicated that the introduction of UML and CASE Tool results in positive impacts on software development process. Especially the UML is suitable to apply for modelling the software development process and for documenting the software analysis and software design. The development period of the product can be reduced by the forward, reverse and round trip engineering. This method has been used in modelling the project DAX 2000 in the process of our software development. We will continue applying this method for the process of other software product developments.
 

5. References

1. H. Balzert: "Lehrbuch der Software-Technik", Spektrum Akademischer Verlag Heidelberg, Berlin Berlin, 1988.
2. A. Barthel, B. Hindel:"The Method Kit: A new Paradigm for Process Definition", CONQUEST’ 98, pp.192-200, Sept. 1998 in Nuernberg, Germany.

3. W. Huengsberg: "Ein Extranet in Internet für die Unternehmenskommunikationn in der Automobilindustrie", Sonderdruck des Beuth Verlags aus edi-change, No. 2 1997.

4. R. Gema: "Gruppenbild, Java-Entwicklungsumgebungen im Praxisvergleich", Magazin für computer technik, pp. 180-189, No. 5 1999.

5. B. Oestereich: "Objekt-orientierte Softwareentwicklung", R. Oldenbourg Verlag münchen Wien, 4. Auflage, 1998.

6. A. Goerges, M. Liu: "Tool Selection Review Report", the report of the ESSI project, July 1999.

Authors:

Arthur Görges is Chief Operating Officer Research & Development at Huengsberg AG. Since 1983 he has been working on computer technology, networking and electronic communication. His main areas of interest: project management of software development and the application of ISDN, internet technology for electronic communication in the automotive industry.

Minsheng Liu received the PhD in applied Physics at the University of Frankfurt am Main in 1998. He is working as a software developer at Hungsberg AG. His main interests are: object-oriented programming with JAVA; UML, CASE Tool, TCP/IP and the application for software development process.
 


Partners in EuroSPI

Editors
ISCN LTD, ISCN GesmbH, Schieszstattgasse 4/24, 8010 Graz, and Coordination Office, Florence House, 1 Florence Villas, Bray, Ireland, office@iscn.at, office@iscn.com, office@iscn.ie, Editing Done: 19.7.2002