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.
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 .

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.
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.

In order to achieve the goals of the project the following main
activities have been taken for implementing the experiment:
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.
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.
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.
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.
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.
1. H. Balzert: "Lehrbuch der Software-Technik", Spektrum Akademischer Verlag Heidelberg, Berlin Berlin, 1988.
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.
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.
![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
| 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 |