UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić

Slides:



Advertisements
Similar presentations
Ch 3: Unified Process CSCI 4320: Software Engineering.
Advertisements

Lecture # 2 : Process Models
Ch 3 System Development Environment
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
BUSINESS MODELING BY UML PROFILE VISA ISSUING SYSTEM Dražen Brđanin, Slavko Marić Faculty of Electrical Engineering Banja.
Rational Unified Process
OO Development Process. UML and Process UML standardizes notation, not process –Increase likelihood of widespread acceptance There is significant variability.
1 COST G9 - Work group 2 meeting Székesfehérvár, Hu Modeling real property transactions Radoš Šumrada Faculty of Civil and Geodetic.
COST G9 - Work group 2 Cadastral science meeting Aalborg, Dk Modeling methodology for real estate transactions Radoš Šumrada Faculty.
Software Engineering General Project Management Software Requirements
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
Itntroduction to UML, page 1 Introduction to UML.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Object Oriented Analysis and Design Using the UML
Chapter 1 The Systems Development Environment
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Chapter 1 The Systems Development Environment
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Copyright by Dr. Clarence Lau, IVE(TY)
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
The Rational Unified Process
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Object Oriented Design and Analysis Rational Unified Process.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Systems Development Life Cycle
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
UML (Unified Modeling Language)
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Introduction to UML.
UNIT 1.
Object-Oriented Analysis and Design
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Chapter 2 – Software Processes
Introduction to UML.
Object oriented analysis and design
Software engineering -1
Chapter 1: Introduction to Systems Analysis and Design
PASSI (Process for Agent Societies Specification and Implementation)
Software Development Process Using UML Recap
Presentation transcript:

UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić Faculty of Electrical Engineering Banja Luka 4 th Workshop “Software Engineering Education and Reverse Engineering” Zagreb,

2 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT This presentation includes: review of present business modeling techniques based on UML:  standard UML,  UML extensions,  UML business profile. one proposal for UML-business-profile-based business modeling:  business use case model – exterior view to business domain business use case diagrams, textual description of business use cases, high level business activity diagrams.  business object model – interior view to business domain detailed business activity diagrams, business sequence diagrams, business object diagrams. static aspect of business modeling in iterative-incremental software development, dynamic aspect of business modeling in iterative-incremental software development.

3 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Business systems complex (sometimes large-scale) systems that offer to customers/users desired products/services. they are characterized by appropriate organizational structure and business processes to satisfy customers/users. Business process - specific sequence of spatio-temporal activities which has begin and end, as well as clearly defined goal, inputs and outputs. Organizational structure – mutual connectivity of human and material resources required for successful business process realization. Business domain totality consists of customers/users, organizational structure and business processes in particular business system Business modeling discipline that deals with modeling of business domain Business model abstraction of business system parts and their relationships authors focus on Business Process Modelling – BPM Business modeling

4 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Business modeling (continued) Motives for business modeling better understanding of key concepts in present business processes, base for information system development, base for improvement of present business structure and organization, presentation of proposed reconstruction in present business processes, experimental check through different types of simulation... Goals of business modeling Business Process Improvement - BPI, Business Process Reengineering - BPR. Types of business modeling modeling of present state - "as-is" model, modeling of proposed state - "to-be" model.

5 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Business modeling (continued) Complete business model view in business domain from different perspectives, it’s result of different aspects of analysis in business domain – each view is represented with single or more different diagrams aspects of analysis  concept the highest apstraction level view of the business domain where the problems are ilustrated and the goal system architecture is described  structure organizational structure of business system  process business activities in the system  behaviour interactions between resources – workers and objects Business model structure unique model (Penker, Eriksson), two models (UML standard). Fig. 1. Aspects of business domain analysis.

6 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Business modeling (continued) Business modeling role in information system development usually prephase or first phase in IS development (eg. RUP) business model  is used for system requirements identification,  serves for identification of the most suitable IS architecture for the particular business domain Business modeling tasks During business modeling we must identify: processes and activities in particular processes, actors, process initiators, process goals and results, required resources (human, material and nonmaterial), process rules and constraints, automatization level of present processes, responsibilities for particular activities, possibilities that some alternate activities can be chosen, manners for efficiency improvement and augment in present processes, etc.

7 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT UML UML is graphic language for visualization, specification, design and documenting of software systems, but nonsoftware systems too. UML has rich notation and semantics thanks to totality of the best engineering techniques (Booch, OMT, OOSE) which are successfully proved in modeling large-scale and complex systems, as well as it offers possibilities to use and integrate different concepts of IS analysis and design. leading modeling language (implemented in many CASE tools), de facto industrial standard for software modeling (ISO ?) standard UML is open system – it’s possible to: extend base concept with user extensions, or specialize base concept in particular domain by introducing profile.

8 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT PRO during the whole cycle of IS development, from business modeling to software implementation and transition in business domain, harmonized notation will be used transition from business models to system UML models will be easier possibilities for extending, adopting and specialization of standard UMLCONTRA too rich OO notation (not optimal and not adequate for business modeling) traditional techniques and notations are more popular there is no standard for business modeling based on UML standard UML, UML extensions, UML profile. UML and business modeling UML (industrial standard) + language for business modeling business modeling (first phase in IS development)

9 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT BM based on standard UML too rich OO notation, not optimal and not adequate for business modeling combination with other approaches and notations, such as IDEF, etc. Example: integration of business models and system UML models within Popkin Software based on hierarchical decomposition to elementary processes which are transferred to system use cases Advantages: hierarchical decomposition which solves complexity problems. Disadvantages: heterogeneous and not harmonized notation, impossible to deal with resources, decisions, as well as it is static system model. Fig. 2. Integration of business model and system UML model.

10 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT BM based on UML extensions UML extensions are mechanisms for extending base UML concept to be possible specific details modeling without changing entire language. Extension can be realized by using: stereotypes, tagged values and constraints. Several extensions for business modeling has been realized because there is no standard for business modeling based on UML, such as: Eriksson-Penker, McLeod, etc.., but neither extension didn’t solve problems of use UML for business modeling. “Eriksson-Penker” extension The most important set of extensions Fig. 3. Generic example of business model according to Eriksson-Penker extension. Fig. 4. Implementation of business process.

11 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT UML business profile Profile - defined set of standard language extensions which is built in UML and specialized for modeling in particular domain. Business profile (v1.3) specializes some base classes of standard UML by introduction of business domain specific classes. Business model = two models business use case model represents outside view of business system and describes business system and its relationships with the exterior systems through the business use cases business object model represents inside view of business system and in the completeness shows process, procedures, business worker's behaviour, used resources - business objects, and their relationships and organization, that goals can be realized and expected results achieved Fig. 5. Business model defined by UML business profile.

12 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Business use case model Outside view of business system which describes business system and its relationships with the exterior systems through the business use cases. Business use case is the business process, or some concrete function in business system offered to the exterior systems. Those exterior systems are called business actors. Business use case is the sequence of actions, preformed by workers in business system, and by them business system makes some concrete and recognable value. Business use case model contains descriptions of business actors and business use cases, and their interactions too. We represent that by business use case diagrams. Business use case model also contains realization descriptions of identified business use cases. We can document realization: textually, and graphically (high level sequence diagram or activity diagram) Fig. 6. Generic example of UC diagram. Fig. 7. Generic example of high-level activity diagram.

13 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Business object model Inside view of business system and in the completeness shows process, procedures, business worker's behaviour, used resources - business objects, and their relationships and organization, that goals can be realized and expected results achieved Business object model includes: detailed activity diagrams, interaction diagrams, and object diagrams. Detailed activity diagram high level activity diagram completed by workers' responsibilities, used objects and object flows Responsibility areas of involved workers are emphasized by swimlanes activity diagram is procedurally (algorithmic) oriented and it is not appropriate for OO analysis and design Fig. 8. Generic example of detailed activity diagram.

14 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Business object model (continued) business object model also includes some of OO interaction diagrams: collaboration diagram focus on structural component of process sequence diagram focus on temporal component of process messages between classes can be easy mapped in the responsibilities (methods) during the development of system class diagram Fig. 9. Generic example of sequence diagram. Fig. 10. Generic example of object diagram. business object model includes business object diagram shows the static structure and relationships between objects can be used to show organizational structure of business system

15 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT RUP – iterative and incremental approach Today, integral IS development in "one breath" – according to the traditional waterfall model in one pass, from domain analysis to implementation in real world is impossible and actually unimaginable An iterative approach is necessary that in sequence of iterations, better domain understanding will be achieved and risk reduced, what incrementally leads to goal system. As an example of well structured iterative and incremental process, which found wide application in SE practice, we often take the RUP. RUP has two dimensions: structural dimension, or static aspect of process represented by activities, resources and artifacts … temporal dimension, or dynamic aspect of process represented by phases, iterations, cycles … Fig. 11. Technical perspective of RUP.

16 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Static aspect of business modeling  Business use case model Tekstualni opis poslovnog slučaja upotrebe...     Business object model  Poslovni učesnik

17 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Static aspect of business modeling (continued) Large-scale systems great number of heterogeneous business use cases can be identified, often more than several hundreds, sometimes more than thousand. In order to get better picture of whole system and solve the problem of visualisation complexity, all those business use cases can be grouped in higher level abstraction: business use case package consists of some business use cases and appropriate relations business use case system contain more business use case packages, single business use cases and appropriate relations Fig. 12. Transition from business models to system models.

18 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Static aspect of business modeling (continued) Transition from business models to system models Identified business use cases, business actors, business workers and business objects can be used in transition from business models to initial system models. Business use case model is transferred in the system use case model, and business object model is transferred in the system design model. Next rules are valid during transition from business use case model to system use case model: each business UC is candidate for system UC, each business actor is possible system actor, each worker is possible system actor. During the transition of business object model next rules are valid: each identified entity (worker or business object) is possible system class, and each message in sequence diagram is possible member function (method) of system class. Fig. 13. Transition from business models to system models.

19 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dynamic aspect of business modeling IS lifecycle isn't an integral process, but process divided into more cycles, where each cycle deals with the new product generation. Development cycle consists of four phases: inception, elaboration, construction and transition. Each phase ends at the point where some great decision must be done, or some great goal(s) achieved. Those points we call milestones. INCEPTION  Inception phase requests from business modeling that makes adequate base for the specification of functional and non- functional system requirements.  All exterior entities (business actors) and business use cases must be identified, and nature of their interactions high-level- described. Business use case model must be realized in completeness.  Inception phase can be done in one iteration (so called preliminary iteration). However, in case of the large scale systems it is recommended to preform business modeling in several iterations – one subsystem per iteration. Dependent on the team dimension and experience, iterations can be parallely preformed Fig. 14. Business model in inception phase.

20 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dynamic aspect of business modeling (continued) ELABORATION  In elaboration phase, realized business object model is required from business modeling workflow.  For all business use cases we must realize detailed activity diagrams as base for analysis and design.  Based on activity diagrams we generate sequence diagrams and object diagrams.  Business model is here finished with more than 90% of completeness.  Usually, elaboration phase is preformed through several iterations, especially in the case of large-scale business systems – subsystem by subsystem – one subsystem per iteration. Dependent on the team dimension and experience, iterations can be parallely preformed. Fig. 15. Business model in elaboration phase.

21 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dynamic aspect of business modeling (continued) CONSTRUCTION  All features of goal system are realized, integrated in system and checked in details. Stress is put on resource management to optimise expenses and prize, quality and performances, etc. Many projects are enough large-scale so many activities can be parallel preformed and in this manner we can improve and accelerate the realization of new product versions, but that can also augment the complexity of resource management and activity synchronization.  At the end of this phase, product must be ready for the customer, actually "beta" version. This at least means that product is implemented on appropriate platform, and also written documentation and user manual are required. Evaluation criteria is stability of beta-version in real world – in particular business system.  Only some specific processes remain for business modeling workflow – processes with some errors detected during the past iterations. TRANSITION  transfer from "labs" to real business system. Only fine tuning remains, as well as generating newer product versions and users training.  This is the last phase in the IS development and it doesn't contain business modeling activities.

22 UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Dražen Brđanin, Slavko Marić UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT Conclusion Although primary intended for visual modeling of software systems, thanks to business profile, UML can be successfully used for business modeling too, because of very rich notation and semantics offer possibilities for all business domain analysis' aspects. UML based business modeling has especial importance if it's base for IS development. Then, notations for business modeling and system modeling are harmonized, and used concepts offer possibilities for easy transfer business models to system UML models. Described approach is fully integrated in iterative-incremental model of software development, so thanks to the advantages of business modeling based on UML business profile, advantages of iterative-incremental approach are additionally augment, such as: high risk parts are discovered earlier and their elimination is easier, business process reengineering and system changes are easier to be realized, project team more and faster learns thanks to iterative approach and generally, level of quality is increased too.