Applications of Implementation Diagrams in System Infrastructure Modeling



Similar documents
Journal of Internet Banking and Commerce

Information systems modelling UML and service description languages

Applying 4+1 View Architecture with UML 2. White Paper

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

How To Design An Information System

Classical Software Life Cycle Models

THE SIMULATION OF SOFTWARE PROCESSES IN THE INTEGRATED COMPUTER ENVIRONMENT IN THE CASE OF TELCO SECTOR

TOGAF usage in outsourcing of software development

Development/Maintenance/Reuse: Software Evolution in Product Lines

Rational Unified Process for Systems Engineering RUP SE1.1. A Rational Software White Paper TP 165A, 5/02

Software Requirements Specification of A University Class Scheduler

UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application

Software Development in the Large!

Business Modeling with UML

Chap 1. Introduction to Software Architecture

An Approach to Software Architecture Description Using UML

Applying Agile Methods in Rapidly Changing Environments

The most suitable system methodology for the proposed system is drawn out.

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

Electronic Healthcare Design and Development

BPMN PATTERNS USED IN MANAGEMENT INFORMATION SYSTEMS

Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models?

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Towards Collaborative Requirements Engineering Tool for ERP product customization

White Paper What Solutions Architects Should Know About The TOGAF ADM

Agile Unified Process

Component Based Development Methods - comparison

An Automated Workflow System Geared Towards Consumer Goods and Services Companies

I219 Software Design Methodology

Designing Real-Time and Embedded Systems with the COMET/UML method

Chapter 6 Essentials of Design and the Design Activities

Business-Driven Software Engineering Lecture 3 Foundations of Processes

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

The Unified Software Development Process

The Role of the Software Architect

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

Comparison between Traditional Approach and Object-Oriented Approach in Software Engineering Development

A Process for ATLAS Software Development

EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS

UML SUPPORTED SOFTWARE DESIGN

Advancing Your Business Analysis Career Intermediate and Senior Role Descriptions

How To Develop A Telelogic Harmony/Esw Project

Elicitation and Modeling Non-Functional Requirements A POS Case Study

Logical Data Models for Cloud Computing Architectures

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Verification and Validation of Software Components and Component Based Software Systems

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

Data Analytics and Reporting in Toll Management and Supervision System Case study Bosnia and Herzegovina

A Comparison of SOA Methodologies Analysis & Design Phases

Business Process- and Graph Grammar-Based Approach to ERP System Modelling

An Object-Oriented Analysis Method for Customer Relationship Management Information Systems. Abstract

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Computer Technology: Your Need to Know

A Process Model for Software Architecture

How To Develop A Multi Agent System (Mma)

An Object Oriented Role-based Access Control Model for Secure Domain Environments

Software Project Management using an Iterative Lifecycle Model

Secure Database Development

A Business Process Driven Approach for Generating Software Modules

REGULATIONS FOR THE DEGREE OF MASTER OF SCIENCE IN COMPUTER SCIENCE (MSc[CompSc])

Generating Aspect Code from UML Models

Rose/Architect: a tool to visualize architecture

JOURNAL OF OBJECT TECHNOLOGY

Automated Test Approach for Web Based Software

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

A New MSc Curriculum in Computer Science and Mathematics at the University of Zagreb

VAIL-Plant Asset Integrity Management System. Software Development Process

Umbrella: A New Component-Based Software Development Model

Modeling the User Interface of Web Applications with UML

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

IES - Introduction to Software Engineering

Application Of Business Intelligence In Agriculture 2020 System to Improve Efficiency And Support Decision Making in Investments.

DATABASE DEVELOPMENT LIFE CYCLE

Becoming a Business Analyst

[2006] IEEE. Reprinted, with permission, from [M. Ye and K. Sandrasegaran, Teaching about Firewall Concepts using the inetwork Simulator, Information

Exhibit F. VA CAI - Staff Aug Job Titles and Descriptions Effective 2015

Software Engineering

ECE 750 T11 Component-Based Software System Project Proposal. Web-based Course Registration System using Component-Based Development

What is a life cycle model?

Department of Information Technology ENTD311: Analysis and Design of Information Systems 3 Credit Hours 8 Weeks Prerequisite(s): None

Business Intelligence. A Presentation of the Current Lead Solutions and a Comparative Analysis of the Main Providers

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus IBM Corporation

Cloud Computing Services and its Application

Master of Science Service Oriented Architecture for Enterprise. Courses description

A Grid Architecture for Manufacturing Database System

The role of integrated requirements management in software delivery.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

RESEARCH ON THE APPLICATION OF WORKFLOW MANAGEMENT SYSTEM IN COLLABORATIVE PLATFORM FOR ENGLISH TEACHING

Component visualization methods for large legacy software in C/C++

Transcription:

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