LNCS 7046 - Use Cases and Object Modelling Using ... - Springer Link

2 downloads 39153 Views 262KB Size Report
ing system designer at this software development stage. The article describes ... legacy inventory systems like SEZTEL or accounting and billing systems like.
Use Cases and Object Modelling Using ArgoUML Wojciech Complak1 , Adam Wojciechowski1 , Alok Mishra2 , and Deepti Mishra2 1

Institute of Computing Science, Poznań University of Technology, ul. Piotrowo 2, 60-965 Poznań, Poland 2 Department of Computer Engineering, Atilim University, Incek, 06836 Ankara, Turkey

Abstract. The key factor in the process of good quality software development is using proper techniques for requirements elicitation, representation and modelling providing foundations to build a logical model of the projected system. One of the most popular functional requirements description methods is use cases and scenarios approach introduced by Jacobson in 1993. Use case diagrams and analysis of functionality necessary for future users of the system allows precise definition of object model of target software system. However there are few fully functional free CASE tools supporting system designer at this software development stage. The article describes process of creating guidelines and formal requirements for design of a software system supporting storage and analysis of data concerning regulatory duties of Polish Telecom (Polish name: Telekomunikacja Polska) in the range of RIO framework agreement regarding collocation with the free UML modelling ArgoUML tool. Keywords: UML, Software Engineering, use cases, open source software.

1

Introduction

In Poland the construction of telecommunication infrastructure was started between World Wars by a national company Polska Poczta, Telegraf i Telefon (PPTiT: Polish Post, Telegraph and Telephone) established in 1928 [1]. The ongoing efforts to modernise and develop the existing infrastructure and to reorganise services towards market and commercial needs were interrupted by the beginning of the Second World War in 1939. After World War II PPTiT was a de facto monopolist on the market. This dominance position began to change in 1987 when the Lower Chamber of Polish Parliament started fulfilment of the second stage of the economic reform. The primary target of the reform was basic reconstruction of the national economical system. Therefore PPTiT was transformed into a multi plant company based on market economical rules. Finally in 1991 Telekomunikacja Polska S. A. (Polish Telecommunication JSC, Polish Telecom in short) was span off as an independent company. Initially the company was a monopolist, nowadays it remains a R. Meersman, T. Dillon, and P. Herrero (Eds.): OTM 2011 Workshops, LNCS 7046, pp. 246–255, 2011. c Springer-Verlag Berlin Heidelberg 2011 

Use Cases and Object Modelling Using ArgoUML

247

dominating operator on the market of telecommunication services in Poland. The task of supervising of elimination of national monopolies and preserving competition in the telecommunication services area in Poland was initially assigned to Urząd Regulacji Telekomunikacji (Telecommunication Normalization Office), later to Urząd Regulacji Telekomunikacji i Poczty (Telecommunication and Post Normalization Office) and since 2006 to Urząd Komunikacji Elektronicznej (UKE: Electronic Communication Office). The paper presents experience and conclusions drawn while developing a software system project supposed to support control duties of UKE related to Polish Telecom in the range of collocation areas sharing. The original project was scheduled to be finished by the end of 2007 but it was slightly (January 2008) delayed and has been recently revisited to verify its correctness, to perform validation of assumptions and software choice. Polish Telecom based on appropriate provisions of Polish law must provide among other telecommunication services the so called collocation service. Collocation service consists of sharing physical area and/or technical devices necessary to place and connect required equipment of an operator joining its network to other operator’s network. All document circulation related to collocation service has been performed in paper. In order to supervise fulfilling of the collocation duty by Polish Telecom it is necessary to build a software system providing means to gather and analyse appropriate data. To achieve this aim UKE shall order Polish Telecom to create a suitable computer system replacing current circulation of paper documents. The projected system is supposed to be able to exchange data with existing legacy inventory systems like SEZTEL or accounting and billing systems like SERAT/SERAT2. The purpose of the commissioned by UKE task was to elaborate guidelines and formal requirements for design of a software system capable of storing and delivering information about collocation areas provided by Polish Telecom to other telecommunication operators. The projected system shall also have ability to automatically generate and deliver notices about violation of enforced by law time limits of performing statutory obligations by Polish Telecom. The project comprised a range of introductory activities including analysis of existing regulations and applied practices and subsequently tidying up and formalising identified procedures. The project covered the following detailed tasks: – reviewing existing RIO framework agreement in order to tidy up laws and duties of telecommunication operators and Polish Telecom – working out standards and rules to be applied by Polish Telecom while realizing collocation service including equipment of collocation areas: • elements of telecommunication devices (racks, stands, switches), • construction elements (for placing cable ducts) • auxiliary elements and systems (air conditioning, ventilation, heating, power, lights, grounding, alarm, fire control, visual supervision, access control)

248

W. Complak et al.

– analysing applied imprecise informal and hardly documented procedures, defining and formalising them; procedures subject to analyse included: • concluding and cancelling Collocation Contracts • concluding and cancelling Detailed Collocation Contracts • accessing information about the number and location of collocation areas shared by Polish Telecom • access to information about collocation services rendered by Polish Telecom • reserving resources • releasing resources – defining (as automated as possible) control and statistical functionality providing supervising office (UKE) information about: • current status of collocation areas shared by Telekomunikacja Polska and the information about possibility of co-usage of the infrastructure by another telecommunication operator • statuses of individual applications for collocations • violations of time limits related to procedures All the others detailed tasks were related only to the software system and included: – defining functional requirements for the future software system – the principal selected use cases method [2] for this task – defining logical data model basing on the analysis of existing paper documents and preliminary approximation of data size to estimate type and cost of storage necessary to gather and archive data – creating a software system object model with a commonly used software tool supporting data exchange in XMI (XML Metadata Interchange) format [3] – elaborating software system interface allowing entire removal of paper document exchange between telecommunication operators and Telekomunikacja Polska – defining requirements for Telekomunikacja Polska to assure software system safety, availability and maintenance – proposing projected system architecture based entirely on free open source tools and public data exchange standards – elaborating of data exchange interfaces between existing legacy systems (i.e. SEZTEL and MARTA) and projected software system – constructing a procedure of selecting future implementer of the system The commissioned task comprised using scenarios and use case for functional requirements analysis stage and object oriented analysis for modelling stage. As the comparison of popularity of different techniques ([4]) used in these two stages indicates that scenarios and use case are a quite popular method of requirements analysis (over 50% of popularity). Object oriented analysis which is supposed to be used along with use cases appears to be not as popular as one should expect it to be. Anyway the emphasis on object oriented technology in tools languages and books in the industry is very strong.

Use Cases and Object Modelling Using ArgoUML

249

Unexpectedly the process of selecting proper tools for the project appeared to be not that straightforward. While the UML Unified Modelling Language [5] appeared to be the only reasonable solution (well defined standard, mature, concise, scalable formal language) the selection of tools turned to be more difficult. The principal required well known, free open source tools supporting as many UML diagrams as possible and as flexible in supporting XMI format as possible. It is easy to notice (i. e. [6]) that basically there are numerous free UML modelling tools. However many of them are unfinished, unstable, orphaned or occasionally updated. Usually there is hardly any documentation available, and even if there is some it is at least outdated and incomplete. Besides it is difficult to precisely define what means “well known” since there are no public feasible statistics pertaining open source products (comparing for example to research presented in [4]). Finally, after analysing capabilities of several tools and some discussion with the principal ArgoUML [7] version 0.24 dated 02-17-2007 has been selected (Fig. 1. contains a screenshot of the program with the outlook of the projected system). According to the creators of the program it supports UML 1.4 however we had some problems related to sequence diagrams. Undoubtedly ArgoUML is a well-known application - from the 21 nominees, readers of the Software Development Magazine chose ArgoUML Software Design Productivity Award Winner (since 2006 Software Development Magazine merged Dr. Dobbs journal). The runners-up included well known commercial products for example Borland Together [8]. ArgoUML is written entirely in Java and it is open source BSD type licensed. As mentioned earlier ArgoUML does not support full UML standard (as far as types of diagrams are concerned) and it has limited editorial and visual capabilities. After performing several data exchange tests between different programs we assessed that its support of XMI format is sufficient. Besides the principal suddenly valued its inherent portability – namely the ability of utilizing Java Web Start [9] technology allowing running ArgoUML on (virtually) any device supporting Java Runtime Environment (JRE) which is part of Java SE 6 platform [10]. Additionally it is possible to generate implementation in (among others) Java programming language directly from the model. During realization of the project we assumed – according to the developer statement ([7]), that in April 2007 there would be an SQL plugin available but apparently this subproject encountered problems because by the time of completing first stage of the project (March 2008) no such plugin or update of the schedule became available. The most important advantage of using UML as a programming tool is the possibility of trespassing directly from the UML model to the application code thereby assuring that every aspect of previously verified and certified model will be implemented. This feature reduces implementation costs and increases its portability.

250

W. Complak et al.

 Fig. 1. The outlook of the projected system in ArgoUML version 0.24

Apparent disadvantages of Argo UML were – as mentioned earlier – incomplete implementation of UML standard and some functional inconveniences like for example lack of autorouting of diagrams, slowing in time, crashes causing loss of unsaved data. Use case diagrams and use case scenarios creation was quite a different problem. While it is possible to create use case diagrams with ArgoUML (however without any significant benefit) it is not possible to create use case scenarios with it. Several tools like Use Case Editor [11] and Use Case Maker [12] were considered as an alternative however their application to this particular project yielded very limited profit.

2

Software Project Development

In the beginning appropriate use cases for formalised resource sharing procedures in the format proposed in [2] were developed. During this phase actors were identified and their roles in the project were defined. It appeared that the number of actors is relatively small and includes Polish Telecom (TP actor), Electronic Communication Office (UKE actor) and telecommunication operators (OK actor). The number of functions used by particular users was also relatively small. During the analysis process the following actors and their roles have been identified:

Use Cases and Object Modelling Using ArgoUML

251

– UKE (Electronic Communication Office) Role: regulation, analysis and control of the telecommunication market Role towards the system: controlling proper sharing and managing of collocations – TP (Polish Telecom) Role: telecommunication operator Role towards the system: construction, maintenance, sharing of collocation areas (final model by definition does NOT allow TP to be an OK) – OK (Operator Korzystający) Role: entrepreneur or other subject legitimate to perform business activities according to separate regulations, performing business activity concerning supplying telecommunication network or telecommunication services Role towards the system: renting, using, sharing and terminating the collocation agreement For all procedures identified and formalised during analysis phase there were adequate use case scenarios defined according to methodology described in [5]. An exemplary use case scenario is depicted in Fig. 2. All use case scenario were created using text processor with the aid of Microsoft Visio for drawing use case diagrams. All uses case diagrams have been summarized in ArgoUML. It was easy to notice how much this tool is limited as far as effective and attractive presentation is concerned. It is only possible to export all diagrams to a bitmap format PNG. It is possible to export selected diagrams one–by–one to PNG, GIF, SVG, PS and EPS formats. The number of defined use case was relatively small and comprised: – – – – – – – – –

submit an application for a collocation contract conclude a collocation contract conclude a detailed collocation contract acquire general information acquire detailed information submit an application for inspection submit an application for access to collocation area make resource reservation submit an application for resource access

In the next step an object model of the entire system (as a class diagram) was developed (an overview diagram depicting associations and attributes of classes is presented in Fig. 1). Basing on existing paper documents particular classes and their attributes were designed. Preliminary estimation of data size was performed according to implementation in Java generated by ArgoUML. An exemplary TUrzadzenie containing a device description class generated by ArgoUML follows:

252

W. Complak et al.

8VH&DVHVXEPLWDQDSSOLFDWLRQIRUDFROORFDWLRQFRQWUDFW %ULHI'HVFULSWLRQ 7KHXVHFDVHLQLWLDWHVVWULYLQJIRUDFROORFDWLRQFRQWUDFWE\VXEPLWWLQJDQDSSOLFDWLRQIRU DFROORFDWLRQDJUHHPHQW

5HODWLRQVKLSV VXEPLWDQDSSOLFDWLRQ IRUDFROORFDWLRQ DJUHHPHQW ©XVHVª

FRQFOXGHWKHFROORF DWLRQDJUHHPHQW





73

2.



%DVLF)ORZ 7KHXVHFDVHVWDUWVZKHQ2.VXEPLWVDQDSSOLFDWLRQIRUDFROORFDWLRQDJUHHPHQWWR73 7KHXVHFDVHYHULILHVIRUPDOFRUUHFWQHVVRIDQDSSOLFDWLRQIRUDFROORFDWLRQDJUHHPHQW FKHFNLQJLIDOOILHOGVLQWKHDSSOLFDWLRQKDYHEHHQSURSHUO\ILOOHGLQ 7KHXVHFDVHUHFRJQL]HVDSSOLFDWLRQIRUDFROORFDWLRQDJUHHPHQWDVIRUPDOHUURUIUHH 7KHXVHFDVHHQGV

$OWHUQDWLYH)ORZV )250$/(55256,1$33/,&$7,21 7KHXVHFDVHVWDUWVZKHQ2.VXEPLWVDQDSSOLFDWLRQIRUDFROORFDWLRQDJUHHPHQWWR73 7KHXVHFDVHYHULILHVIRUPDOFRUUHFWQHVVRIDQDSSOLFDWLRQIRUDFROORFDWLRQDJUHHPHQW FKHFNLQJLIDOOILHOGVLQWKHDSSOLFDWLRQKDYHEHHQSURSHUO\ILOOHGLQ 7KHXVHFDVHGHWHFWVIRUPDOHUURUVDQGVXPPRQV2.WRVXSSOHPHQWWKH DSSOLFDWLRQVXEPLWDGGLWLRQDOFODULILFDWLRQV7KH2.LVSUHVHQWHGDSUHFLVHOLVWRIIRUPDO HUURUV 7KHXVHFDVHVXSSOHPHQWVIRUPDOHUURUVRUVXEPLWVDGGLWLRQDOFODULILFDWLRQVIURP73 7KHXVHFDVHUHFRJQL]HVDSSOLFDWLRQIRUDFROORFDWLRQDJUHHPHQWDVIRUPDOHUURUIUHH VLPSOLILHGYHULILFDWLRQSURFHGXUH  7KHXVHFDVHHQGV

6SHFLDO5HTXLUHPHQWV 8QOHVV73YHULILHVDSSOLFDWLRQIRUDFROORFDWLRQDJUHHPHQWZLWKLQZRUNGD\VWKHXVH FDVHDXWRPDWLFDOO\UHFRJQL]HVDSSOLFDWLRQIRUDFROORFDWLRQDJUHHPHQWDVIRUPDOHUURU IUHH 8QOHVV2.FRUUHFWVDOOIRUPDOHUURUVLQGLFDWHGLQWKHFDOOIRUVXSSOHPHQWLQJDSSOLFDWLRQ IRUDFROORFDWLRQDJUHHPHQWWKHXVHFDVHUHVXPPRQV2.WRVXSSOHPHQWWKH DSSOLFDWLRQVXEPLWDGGLWLRQDOFODULILFDWLRQV

,QLWLDOUHTXLUHPHQWV 2.KDVQ¶WFRQFOXGHGDFROORFDWLRQDJUHHPHQW Fig. 2. An exemplary use case scenario

Use Cases and Object Modelling Using ArgoUML

253

public class TUrzadzenie { public String Rodzaj_Urzadzenia; // the kind of the device public String Typ_Urzadzenia; // the type of the device public int Liczba_Urzadzen; // number of devices public TSzczegolowa_Umowa_Kolokacji myTSzczegolowa_Umowa_Kolokacji; // binding to detailed collocation // contract description class public TWyposazenie_Szafy myTWyposazenie_Szafy; // binding to description of rack equipment } Results were however very rough because it appeared that some of the documents contain scanned attachments (maps, authorizations, power of attorneys etc.) which size can significantly vary due to image quality and number of sheets of document. As far as the definition of interfaces is concerned the project was totally unsuccessful. Polish Telecom refused to disclose any information about data structures or any interface to data stored in SEZTEL system. It was only possible do define general guidelines for implementer of the system. We also defined access rules for all types of subjects, backup plans, network attacks protections scheme and physical protection plans, safe communication protocols and schedule for regular system audits. The proposed database system architecture is SOAP (a protocol for exchanging XML-based messages over computer networks) and free open source database tools like MySQL or Postgress. The user interface should be constructed with the aid of dynamic HTML pages. Some general remarks and hints useful during selection of future implementer of the system were also proposed.

3

Benefits of Using ArgoUML in a Distributed Team

Project managers responsible for choosing software tools to be used in the software process have to take into consideration several factors to achieve a compromise and optimal revenue [13]. An important issue is also introducing and involving customer representative into software team which has substantial positive influence on quality of communication and speed of software production [14]. Our experience of developing a software project in a distributed team showed that ArgoUML appeared a good alternative for other commercial tools. Freely available tool appeared to be known to all engineers and students who co-operated with us. Because many students used ArgoUML in their students projects they felt familiar with the tool and the overheads of introducing them into development environment was minimal. Our observation was that non-programmers, people with non-technical education were more likely to have some student experience with ArgoUML rather than e.g. IBM Rational Rose was considered as an alternative tool.

254

4

W. Complak et al.

Conclusion

The paper presents experience and conclusions concerning realization of the contract commissioned by Urząd Komunikacji Elektronicznej in the range of elaborating guidelines and requirements for creation of a software system providing information about availability of collocation areas provided by Polish Telecom. The project has generally been successfully completed chiefly using free open source UML modelling tool ArgoUML in December 2007. The only detailed task which remained unfulfilled was defining data exchange interfaces between existing legacy systems and projected software system due to unwillingness of revealing relevant information by Polish Telecom. The project was updated in summer 2011 to verify its validity and choice of tools. For many software projects it is vital to assure maintenance over several years. This problem was also considered during environment selection especially considering free software – one may expect that expensive commercial products sold by large companies will not perish easily. According to the same formal requirements it appeared that both Use Case Editor and Use Case Maker taken into consideration during initial selection were not suitable. Use Case Editor apparently is no longer developed – the last downloadable version is 4 years old. On the other hand Use Case Maker was significantly extended and could be useful if the project was to be started all over again. As far as ArgoUML is concerned several improvements have been implemented over the years, eg.: – new notation capabilities, previously only UML 1.4 and Java were available, now C++ support is added – new reverse engineering features like importing from C++, Java from classes and Interface Definition Language IDL (previously only Java) – rules library has been extended – although interface has not changed significantly however it is more attractive (at first look one can notice colourful diagrams icons) – ability to generate classes to source not only in Java (as before) but also C#, C++, PHP4/5 and SQL (the feature we were waiting for in 2007) – the range of available diagrams has not changed significantly (still 7/14 of diagrams defined in UML), however there are more properties available (e. g. visibility) The paper contains description of our experience gained during realization of the contract in the fields of methodology of analysing requirements and defining uses cases, conclusions concerning selecting a proper UML modelling tool and ArgoUML usage.

References 1. Poczta Polska, http://poczta-polska.pl/O_Firmie/?d=Historia&h=IIRzeczpospolita (in Polish)

Use Cases and Object Modelling Using ArgoUML

255

2. Overgaard, G., Palmkvist, K.: Use Cases: Patterns and Blueprints. Addison-Wesley (2005) 3. The Object Management Group (OMG), http://www.omg.org/ (standard ISO/IEC 19503:2005 Information technology – XML Metadata Interchange) 4. Neill, C.J., Laplante, P.A.: Requirements Engineering: The State of the Practice. IEEE Software 20(6), 40–45 (2003) 5. Miles, R., Hamilton, K.: Learning UML 2.0. OâĂŹReilly (2006) 6. List of UML tools, Wikipedia (March 2008), http://en.wikipedia.org/wiki/List_of_UML_tools 7. ArgoUML, Tigris.org, Open Source Software Engineering Tools, http://argouml.tigris.org/ 8. Borland Together, Visual Modeling for Software Architecture Design, http://www.borland.com/us/products/together 9. Sun, Desktop Java, Java Web Start Technology (2008), http://java.sun.com/products/javawebstart/ 10. Sun, Desktop Java, Java Runtime Environment (2008), http://java.sun.com/j2se/desktopjava/jre/index.jsp 11. Use Case Editor UCEd (2007), http://www.site.uottawa.ca/~ssome/Use_Case_Editor_UCEd.html 12. Use Case Maker, http://use-case-maker.sourceforge.net/index.html 13. Mishra, D., Mishra, A.: A review of non-technical issues in global software development. International Journal of Computer Applications in Technology (IJCAT) 40(3) (2011) 14. Wojciechowski, A., Wesolowski, M., Complak, W.: Experimental Evaluation of ’On-Site Customer’ XP Practice on Quality of Software and Team Effectiveness. In: Meersman, R., Dillon, T., Herrero, P. (eds.) OTM 2010. LNCS, vol. 6428, pp. 269–278. Springer, Heidelberg (2010)

Suggest Documents