Zarz¹dzanie i Finanse Journal of Management and Finance Vol. 12, No. 3/2/2014 Stanis³aw Wrycza* Bartosz Marcinkowski** Jacek Maœlankowski*** Stanis³aw Wrycza, Bartosz Marcinkowski, Jacek Maœlankowski Applications of Implementation Diagrams in System Infrastructure Modeling Applications of Implementation Diagrams in System Infrastructure Modeling Introduction Information system (IS) modeling domain is commonly associated with visual representation of the functionalities of system under development [comp. Shoval and Kabeli, 2005]. It concerns in particular the specification of functional requirements and less frequently non-functional ones, due to the lack of the commonly accepted system requirement modeling standard for the latter [Zou and Pavlovski, 2008]. Requirements regarding IS services are defined basically on a conceptual level. Nevertheless, in order to carry out the implementation phase of the system lifecycle properly, laying out technical aspects, related to IS hardware and software, is clearly necessary. Architecture-related aspects of information system both software and hardware are visualized with UML using a number of strictly connected diagrams, i.e. component and deployment diagrams. These UML constructs are commonly grouped within dedicated architecture views [comp. Kruchten, 1995]. Due to substantial content-related relationships as well as application practice, authors of the current article address aforementioned pair of diagrams using an abstract notion of implementation diagrams (see figure 1). Although MIS is one of the most quickly evolving areas of research and business activity, UML including its implementation features retains its exceptional stability, despite its relatively long history. UML still meets the crucial expectations of IS analysts and designers regarding the most current and modern digital and mobile applications as well. Despite UML stability, still new current research publications appear with the aim * Professor, Head of Business Informatics Department, Faculty of Management, University of Gdañsk, Piaskowa 9, 81-864 Sopot, stanislaw.wrycza@ug.edu.pl ** PhD, Business Informatics Department, Faculty of Management, University of Gdañsk, bartosz.marcinkowski@ug.edu.pl *** PhD, Business Informatics Department, Faculty of Management, University of Gdañsk, jacek.maslankowski@ug.edu.pl
276 Stanis³aw Wrycza, Bartosz Marcinkowski, Jacek Maœlankowski of solving specific complex issues, such as UML-RT: Real-Time Systems applications [Bianco, Lavazza, Mauri and Occorso, 2003] or data warehouse architecture modeling [Lujan-Mora, Trujillo and Song, 2006]. The goal of the paper it to assess as well as to verify challenges and opportunities related to the applications of implementation diagrams within the development process of modern digital economy-oriented systems. In order to achieve that, literature/documentation analysis was conducted and supported by a series of implementation-oriented case studies. The paper covers also principles of the effective applications of component and deployment diagrams. 1. The role of implementation diagrams in infrastructure modeling Both UML Unified Modeling Language [Booch, Rambaugh and Jacobson, 2004], [Object Management Group, 2012] as well as BPMN Business Process Model and Notation [Object Management Group, 2013] became the vital standards used in information systems development domain. The standards are commonly used in business applications and academic research/teaching [Wrycza and Marcinkowski, 2005]. The particular attention is paid to UML, with its widespread diagrams used to specify functional requirements (represented by use cases), classes, flows of activities and interactions within information system. Practically, UML usage relies on the proper selection and application of the most suited diagrams to the specific information system functionality and/or structure aspects. A rich set of 14 types of the diagrams is available to a system designer within the process of information system modeling. Usually, due to the UML complexity, the four most accepted and widespread types of diagrams are integrated and addressed as so called light or minimal versions of UML superstructure [Wrycza and Marcinkowski, 2007]. The similar outcome resulted from the parallel research carried out by [Erickson and Siau, 2007]. On the other hand, a number or UML constructs and diagrams have been quite often underestimated or neglected. System analysts and designers usually regard these types of diagrams as playing the supplementary or highly specialized role in the IS development process. That is the case regarding implementation diagrams [Al-Fedaghi and Abdullah, 2013]. However, it ought to be recognized as one of the major UML strengths that information systems designers are enabled to model vari-
Applications of Implementation Diagrams in System Infrastructure Modeling 277 ous architectural perspectives, including physical system infrastructure comprising computer and networking hardware as well as software [Holt, 2007]. Having such a robust functionality, UML standard meets major quality metrics required from any system- or business-oriented modeling notation, such as expressiveness, suitability, completeness or effectiveness [comp. Hommes and van Reijswoud, 2000]. The emplacement of implementation diagrams in the UML diagrams hierarchy is presented at figure 1. Figure 1. The emplacement of the implementation diagrams in diagrams hierarchy for UML 2.4.1 Source: Own elaboration based on [Object Management Group, 2012]. 2. Implementation diagrams functional capabilities In accordance with the leading system lifecycle patterns waterfall, spiral and iterative-incremental ones both functional and non-functional aspects of the system modelled should be identified to enable efficient analysis, design as well as implementation of software and hardware design. As shown at figure 1, the abstract notion of implementation diagrams comprises component diagrams and deployment diagrams. The software-related implementation-oriented perspective is modelled using component diagrams, while the hardware-related one by deployment diagrams.
278 Stanis³aw Wrycza, Bartosz Marcinkowski, Jacek Maœlankowski Component diagram is a kind of implementation diagram that is oriented on description of the organization of software components and relationships among them. The basic conceptual and notational categories of components diagrams include a component, required interface, provided interface, port as well as complex port. In respect of relationships system analysts are enabled to use dependencies, realizations, delegate connectors and assembly connectors. Interfaces lay out sets of operations that point out the services offered by a class or a component. Any component may be replaced freely by another component as long as their provided and required interfaces are compatible. Practically, the basic kinds of components are first and foremost: executable programs, program libraries, databases, flat files, data tables, subsystems or system services [Ahmed and Umrysh, 2002]. The set of concepts utilized within deployment diagrams is considerably more limited compared to component diagrams. In turn, deployment diagram is a kind of implementation diagram which describes the network of nodes interconnected with communication paths, along with the artifacts allocated to relevant nodes. The nodes represent basically computer and networking hardware. Specifying the components and other IT artifacts that reside on individual nodes is not mandatory. In comparison to component diagrams basic terminology of deployment diagrams covers only nodes and communication paths as a relationship type between nodes. Thus, a node is a physical or logical processing resource that enables executing components and utilizing artifacts allocated to the node. To provide some examples, general ICT equipment and execution environments such as operating systems, e-learning platforms (Moodle, BlackBoard, WebCity, Sakai etc.), ERP, CRM, WFM systems, database management systems, e-shops, e-auctions, conference management systems are all classified as system nodes. 3. Implementation diagrams in digital economy practical applications Theoretical aspects of implementation diagrams may be exemplified using diverse practical examples. In order to achieve that goal, the following applications originating from the digital economy domain were selected, analyzed and discussed: component diagram intelligent system for metropolitan traffic management,
Applications of Implementation Diagrams in System Infrastructure Modeling 279 deployment diagram information system for the store service, deployment diagram that integrates relevant elements of component diagram mobile devices-based electronic ticket purchase. The complex aspects of software modeling were the matter of detailed studies and analysis, specific for the above mentioned examples of information systems, eg. [Larman, 2012; Mahmood and Lai, 2008; Mokarat and Vatanawood, 2013; Wrycza, Marcinkowski and Wyrzykowski, 2006]. Due to the scope and goal of the paper, only selected results are included. 3.1. Intelligent system for metropolitan traffic management The existing urban infrastructure within most metropolitan areas imposes strong limitations for the smooth flow of individual vehicles throughout road network, causing traffic jams. It is in particular bothersome during peak hours. From a certain point, increasing the throughput of distinct roads as well as increasing the density of existing road network has no effect on transit times regarding individual transport, because additional infrastructure supply meets with even more accelerated demand. In order to limit congestions, a number of physical and organizational solutions are used. One of the most advanced remedies for the problem in question are intelligent systems for the metropolitan traffic management, classified generally as Intelligent Transport Systems (ITS). Their application enables an essential improvement of traffic conditions by advanced traffic lights control, dependent on traffic congestions. Having that said, capabilities of such systems are much more sublime and include such features as mechanism for traffic safety management, road accident-related notifications in harmony with metropolitan emergency systems and also LED screens that display important warnings information for drivers. Some ITS implementations are designed exclusively for public transport improvement. The concept of ITS has been introduced in Gdañsk Metropolitan Area, Poland in the form of a TRISTAR system. Its main functionalities are presented at figure 2, using the basic conceptual categories of component diagrams. Complete functionality of TRISTAR functionalities is described in [Jamroz, Krystek and Kustra, 2007].
280 Stanis³aw Wrycza, Bartosz Marcinkowski, Jacek Maœlankowski Figure 2. Intelligent system for metropolitan traffic management Source: Own elaboration. As shown at figure 2, it is the Traffic Monitoring and Supervision Subsystem that is the central component of ITS system. The subsystem collects data from a number of detectors. After processing, the data is used consequently by remaining five subsystems and so is the functionality of core component. Thus, subsidiary subsystems are connected using dependencies with the Traffic Monitoring and Supervision Subsystem. 3.2. Information system for the store service It is an information system for the store service called e-store that is the quite frequent example of the modern information system used in digital economy. The digital store service systems are common in commerce, construction business and many other business sectors. E-store system assigns the tasks regarding store service by distributing proper instructions to employees responsible for store handling. After receipt of
Applications of Implementation Diagrams in System Infrastructure Modeling 281 instruction, employees have to accomplish the received instruction of goods relocating. Their task completion is recognized and appropriate system status is assigned when the bar code of the specific commodity is be scanned accordingly to the instruction content. This employee action of release or moving the commodities is recorded in the system database, as illustrated at figure 3. E-store system considerably improves operation of the large space stores, where tens of thousands of different commodities are stored. Figure 3. Deployment diagram for information system of the store service Source: Own elaboration. It is an Intelligent Store Server that is the crucial node of the e-store system. The server manages communication among other nodes using communication paths. Two of the remaining nodes are particularly significant to overall system operation Database Server is responsible for the vast system data storage, while a (unspecified directly) number of Bar Code Scanner nodes provides functionality, necessary to register the accomplishment of the tasks scheduled earlier. 3.3. Mobile devices-based electronic ticket purchase Nowadays mobile phones are more and more widely used for making payments regarding different digital services. One of business-rele-
282 Stanis³aw Wrycza, Bartosz Marcinkowski, Jacek Maœlankowski vant examples of such applications is a mobile devices-based electronic ticket purchase system. It may prove to be a useful tool inter alia for purchasing tickets for the metropolitan public transport service. After logging into the payment mobile application, the customer selects means of transport (subway, tram, trolleybus, metropolitan railway, bus etc.) along with route number as well as ticket type (day ticket, single ticket etc.). A payment for the ticket is credited from customer s pre-paid or current account. In case ticket inspection occurs, customer is obliged to provide ticket details on the screen of her/his mobile device. The data provided are then verified by a ticket inspector. Mobile device-based electronic ticket purchase system is modeled using deployment diagram that integrates elements of component diagram (figure 4). Figure 4. Deployment diagram for mobile device-based electronic ticket purchase system Source: Own elaboration.
Applications of Implementation Diagrams in System Infrastructure Modeling 283 The system is controlled by the node of Application Server, connected by communication paths with two functionally dependent nodes (i.e. Ticket Inspector Mobile Device and Passenger Mobile Device) as well as Database Server that hosts database storing data updated in a regular manner. Most of the components that are singled out within the diagram rely on a DB Management component that handles various queries throughout the application. Authentication Service is provided by separate AAA Server. Conclusion In order to put into practice the requirements of the system designers regarding quickly changing information and communication technologies, both kinds of implementation diagrams, i.e. component diagrams and deployment diagrams, were assessed and applied. The system architecture-related data contained in them has the substantial value for systems designers in face of quickly changing and upgrading information and communication technologies. The case studies and elaborated models included in this paper led the authors to conclusion that Unified Modeling Language, besides supporting high-level modeling of processes and interactions, thoroughly enables and assists the development of IS architecture regarding ICT equipment as well as software components of the information system. Research conducted indicates that digital economy-aimed component models are often overcomplicated and hence rejected by business stakeholders. Since features such as interfaces, ports or assembly connectors are of secondary values while supplementing business specifications with technological software overview, it is recommended to keep component models as simple as possible by relying on dependencies, should no in-depth implementation details be required by IT project development team. On the other hand, deployment diagram proved to be the leading UML diagram in terms of graphical stereotyping. Stakeholders groups representing different industries are usually very open to introducing industry-specific stereotypes for device nodes as well as communication paths networking industry being one of the most evident examples. UML language still retains its usefulness in modeling contemporary applications, taking into account quick technological development of ICT field. Its vitality is related with both practical applications and theoretical
284 Stanis³aw Wrycza, Bartosz Marcinkowski, Jacek Maœlankowski extensions, enabling development of still more complex and evolving systems in business and administration. References 1. Ahmed K.Z., Umrysh C.E. (2002), Developing Enterprise Java Applications with J2EE and UML, Addison-Wesley. 2. Al-Fedaghi S., Abdullah A. (2013), A New Approach to Component-based Development of Software Architecture, International Review on Computers & Software, Vol. 8. 3. Bianco V., Lavazza L., Mauri M., Occorso G. (2003), Towards UML-based Formal Specifications of Component-based Real-time Software, in: Fundamental Approaches to Software Engineering, 6th International Conference, Springer-Verlag. 4. Booch G., Rumbaugh J., Jacobson I. (2004), The UML Reference Manual. 2nd Edition, Addison-Wesley. 5. Erickson J., Siau K. (2007), Theoretical and Practical Complexity of Modeling Methods, Communications of the ACM, Vol. 50. 6. Holt J. (2007), UML for Systems Engineering: Watching the Wheels. 2nd Edition, The Institution of Engineering and Technology. 7. Hommes B. J., van Reijswoud V. (2000), Assessing the Quality of Business Process Modeling Techniques, in: Proceedings of the 33rd Hawaii International Conference on System Sciences. 8. Jamroz K., Krystek R., Kustra W. (2007), The Concept for Integrated Traffic Management System within Gdañsk/Sopot/Gdynia Area. Part I: General Concept for TRISTAR Integrated Traffic Management System (in Polish), Gdañsk City Hall. 9. Kruchten P.B. (1995), The 4+1 View Model of Architecture, IEEE Software, Vol. 12. 10. Larman C. (2012), Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3/e, Pearson Education India. 11. Lujan-Mora S., Trujillo J., Song I. (2006), A UML Profile for Multidimensional Modeling in Data Warehouses, Data & Knowledge Engineering, Vol. 59. 12. Mahmood S., Lai R. (2008), A Complexity Measure for UML Component-Based System Specification, Journal of Software: Practice and Experience, Vol. 38.
Applications of Implementation Diagrams in System Infrastructure Modeling 285 13. Mokarat, C., Vatanawood, W. (2013), UML Component Diagram to Acme Compiler, in: Information Science and Applications (ICISA), IEEE. 14. Object Management Group (2012), Unified Modeling Language (UML). Version 2.4.1. Part 2: Superstructure, http://www.omg.org/spec/uml, accessed 22.09.2014. 15. Object Management Group (2013), Business Process Model and Notation (BPMN). Version 2.0.1, http://www.omg.org/spec/bpmn, accessed 22.09.2014. 16. Shoval P., Kabeli J. (2005), Special Theme of Research in Information Systems Analysis and Design II. Data Modeling or Functional Modeling Which Comes First? An Experimental Comparison, Communications of the Association for Information Systems, No. 16. 17. Wrycza S., Marcinkowski B. (2005), UML 2 Teaching at Postgraduate Studies Prerequisites and Practice, in: Colton D., Janicki T. (eds.), Proceedings of the 22nd Annual Conference for Information Systems Educators, AITP Foundation for Information Technology Education. 18. Wrycza S., Marcinkowski B. (2007), Towards a Light Version of UML 2.x: Appraisal and Model, Organizacija, No 4. 19. Wrycza S., Marcinkowski B., Wyrzykowski K. (2006), UML 2.0 in Information Systems Modeling (in Polish), Helion. 20. Zou J., Pavlovski C. (2008), Control Case Approach to Record and Model Non-functional Requirements, Information Systems & e-business Management, Vol. 6. Applications of Implementation Diagrams in System Infrastructure Modeling (Summary) Software architecture of systems under development as well as specification of ICT equipment on which systems execution will be based upon are nowadays inherent elements of complete information system documentation. These aspects are in particular addressed by Unified Modeling Language (UML) by implementation-oriented diagrams. Two kinds of such diagrams could be singled out component diagrams and deployment diagrams. The diagrams are used respectively for specifying and interconnecting software and hardware resources. The goal of the paper is to assess as well as to verify challenges and opportunities related to the applications of implementation diagrams within the development process of modern digital economy-oriented systems. After introduction to the article, the significance of the diagrams for infrastructure modeling is discussed in section 1. Section 2 is aimed at depicting functional capabilities of the diagrams. In the last section, the assessment and exemplification of the specific diagrams is
286 Stanis³aw Wrycza, Bartosz Marcinkowski, Jacek Maœlankowski introduced as a series of mini-cases. The case studies included in the paper cover the issues of intelligent metropolitan traffic management, IS-assisted store service as well as mobile devices-based electronic ticket purchasing. Keywords Unified Modeling Language, system implementation, components, deployment, case study