UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND by xpw14517

VIEWS: 10 PAGES: 22

									         Dražen Brđanin, Slavko Marić
              bdrazen@etfbl.net           ms@etfbl.net

    Faculty of Electrical Engineering Banja Luka



   UML-BUSINESS-PROFILE-BASED
        BUSINESS MODELING
  IN ITERATIVE AND INCREMENTAL
      SOFTWARE DEVELOPMENT




                           4th Workshop
“Software Engineering Education and Reverse Engineering”
                  Zagreb, 06-10.09.2004.
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.

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

Business modeling

   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

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




                                                                              4
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
                                                                                                  business
               concept                                                                            domain
                                                                            concept
                       the highest apstraction level view of
                        the business domain where the
                        problems are ilustrated and the goal
                        system architecture is described        structure             behaviour
               structure
                       organizational structure of business                process
                        system
               process
                       business activities in the system
               behaviour                                        Fig. 1. Aspects of business domain
                                                                               analysis.
                       interactions between resources –
                        workers and objects

   Business model structure
           unique model (Penker, Eriksson),
           two models (UML standard).
                                                                                                     5
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.

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




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

UML and business modeling

                     business modeling                         UML
              (first phase in IS development)      +   (industrial standard)




                          language for business modeling

                      PRO                                            CONTRA
       during the whole cycle of IS                     too rich OO notation (not optimal and
       development, from business modeling              not adequate for business modeling)
       to software implementation and                   traditional techniques and notations
       transition in business domain,                   are more popular
       harmonized notation will be used
                                                        there is no standard for business
       transition from business models to               modeling based on UML
       system UML models will be easier
                                                            standard UML,
       possibilities for extending, adopting and            UML extensions,
       specialization of standard UML                       UML profile.

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




                                                                «realise»                       «realise»

                                                                                    «realise»

                                                          use case 1
                                                                                                     use case N
                                                                            use case 2




       Fig. 3. Generic example of business model       Fig. 4. Implementation of business
           according to Eriksson-Penker extension.                            process.
                                                                                                                  10
Dražen Brđanin, Slavko Marić
UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN
ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT

UML business profile

                                                     Table 1. Specialized classes for business domain.
    Profile - defined set of standard language
    extensions which is built in UML and              Base classes        Specialized classes
    specialized for modeling in particular domain.    Model               UseCaseModel, ObjectModel
                                                      Package             UseCaseSystem, UseCasePackage
    Business profile (v1.3) specializes some          Subsystem           OrganizationUnit, WorkUnit, ObjectSystem
    base classes of standard UML by introduction      Class               Worker, CaseWorker, InternalWorker, Entity
                                                      Association         Communicate, Subscribe
    of business domain specific classes.

    Business model = two models
        business use case model
         represents outside view of business           Business model
         system and describes business system
         and its relationships with the exterior
                                                                «UseCaseModel»                     «ObjectModel»
         systems through the business use cases                   Business                          Business
        business object model                                  use case model                     object model

         represents inside view of business
                                                                Fig. 5. Business model defined by UML
         system and in the completeness shows                               business profile.
         process, procedures, business worker's
         behaviour, used resources - business
         objects, and their relationships and
         organization, that goals can be realized
         and expected results achieved                                                                           11
Dražen Brđanin, Slavko Marić
UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN
ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT

Business use case model                                   Tekstualni opis
                                                          poslovnog slučaja
                                                          upotrebe...
                                                                                                             <<extend>>
                                                                                                                                    proširenje




     Outside view of business system which describes                  Generalizovani                      Poslovni
                                                                                                                           <<include>>


     business system and its relationships with the
                                                                     poslovni učesnik                      slučaj
                                                                                                          upotrebe

     exterior systems through the business use cases.
                                                                                                                                     uključeni

     Business use case is the business process, or                                                                                    slučaj
                                                                                                                                     upotrebe

     some concrete function in business system           Poslovni učesnik 1        Poslovni učesnik 2


     offered to the exterior systems. Those exterior     Fig. 6. Generic example of UC diagram.
     systems are called business actors. Business use
     case is the sequence of actions, preformed by                                                                                       Početak


     workers in business system, and by them                                          Prva aktivnost u
                                                                                         procesu
                                                                                                                                         Tačka
                                                                                                                                         odlučivanja
                                                                                                                                         (grananje na

     business system makes some concrete and                        uslov nije ispunjen
                                                                                                                                         alternativne
                                                                                                                                         procese)


     recognable value.
                                                                                                 uslov ispunjen
                                                                                                                                         Tačka
                                                             Aktivnost u slučaju da                      Aktivnost u slučaju da          sinhronizacije
                                                             uslov nije ispunjen                          je uslov ispu njen             (grananje na

     Business use case model contains descriptions of                                                                                    konkurentne
                                                                                                                                         procese)


     business actors and business use cases, and their
     interactions too. We represent that by business
                                                                                              Aktivnost A1                 Aktivnost B



     use case diagrams.
                                                                                                                                   Aktivnosti
                                                                                              Aktivnost A2                         A1 i A2 izvode se
                                                                                                                                   konkurentno sa
                                                                                                                                   aktivnošću B

     Business use case model also contains realization                                                                             Tačka
                                                                                                                                   sinhronizacije

     descriptions of identified business use cases. We
                                                                                                                                   (spajanje
                                                                                                                                   konkurentnih
                                                                                                                                   procesa)

     can document realization:                                                   Završna aktivnost                                 Tačka spajanja
                                                                                                                                   alternativnih

         textually, and
                                                                                                                                   procesa
                                                                                                                                  Kraj procesa

        graphically (high level sequence diagram or
                      activity diagram)                   Fig. 7. Generic example of high-level
                                                                                  activity diagram.
                                                                                                                                    12
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          Poslovni učesnik             Radnik na slučaju                 Interni radnik               Neka
                                                                                                                                     Poslovni učesnikdruga
                                                                                                                                        organizaciona jedinica

     objects, and their relationships and
     organization, that goals can be realized        Inicijalna aktivnost


     and expected results achieved
                                                 (npr. podnošenje zahtjeva)




     Business object model includes:                      Objekat
                                                                                  Prijem i analiza



         detailed activity diagrams,                  (npr. zahtjev)
                                                                                                 zahtjev potpun



          interaction diagrams, and
                                                                                 zahtjev
                                                                              nepotpun



         object diagrams.                                                            Vraćanje
                                                                                                                     Razrada
                                                                                                                                         Konkurentna aktivnost
                                                                                                                                            (npr. priprema
                                                                                                                                            dokumentacije)



     Detailed activity diagram                        Odbijeni zahtjev

                                                                                                                                      Pripremljena dokumentacija

        high level activity diagram
         completed by workers'
         responsibilities, used objects and
                                                                                                                   Kompletiranje




         object flows                                                            Završna aktivnost
                                                                              (npr. slanje, arhiviranje)


         Responsibility areas of involved
                                                      Konačni proizvod                                            Konačni proizvod
      
         workers are emphasized by                        Prijem


         swimlanes
        activity diagram is procedurally
         (algorithmic) oriented and it is not   Fig. 8. Generic example of detailed activity diagram.
         appropriate for OO analysis and
         design
                                                                                                                                               13
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:                                                                                 business object model includes
    collaboration diagram                                                                                    business object diagram
            • focus on structural component of process                                                          • shows the static structure and relationships
     sequence diagram                                                                                                 between objects
            • focus on temporal component of process                                                            • can be used to show organizational structure
            • messages between classes can be easy mapped in                                                          of business system
             the responsibilities (methods) during the
             development of system class diagram
                                                                                                                               1..n
                                                                                                                                      Zahtjev            Predmet

    Poslovni učesnik       Radnik na slučaju           Interni radnik
                                                                                    Neka druga                          1..n                                               0..n
                                                                               organizaciona jedinica
              Inicira()
                                      Analizira zahtjev()
                                                                                                              Učesnik
                    odbijen zahtjev                                                                                                                                 Dodatni materijal
                                                                                                                                      Konačni proizvod
                                      predaje na razradu()
                                                                 dodatno zahtijeva()
                                                                                             priprema()

                                                                        dokumentacija

                                                                kompletira()                                        Radnik na slučaju                     Interni radnik
                                        konačni proizvod

                                      završava()
                                                                                                           Fig. 10. Generic example of object diagram.
              konačni proizvod




       Fig. 9. Generic example of sequence diagram.
                                                                                                                                                                             14
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.
                                                       time
                                                                                                                RUP has two dimensions:
                                                      phases
                      Inception        Elaboration             Construction         Transition                      structural dimension, or
 Business modeling
                                                                                                                      static aspect of process
                                                                                                                        represented by activities,
     Requirements
                                                                                                                        resources and artifacts …




                                                                                                   activities
Analysis and design
                                                                                                                    temporal dimension, or
    Implementation

              Test
                                                                                                                      dynamic aspect of process
                                                                                                                        represented by phases,
       Deployment
                                                                                                                        iterations, cycles …
                                    Inception Inception   Const.   Const. Const.   Tran.   Tran.
                      Preliminary
                                       #1        #2        #1       #2     #n       #1      #2

                                                     iterations


                          Fig. 11. Technical perspective of RUP.
                                                                                                                                                 15
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                 Business
        model                     object model

                                                  Poslovni učesnik




                                    


             
                               
   Tekstualni opis
   poslovnog slučaja
   upotrebe...




                                                                    




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

       In order to get better picture of whole                                                BUSINESS
                                                                                               SYSTEM

       system and solve the problem of
       visualisation complexity, all those                        <<UseCaseSystem>>       <<UseCaseSystem>>      <<UseCaseSystem>>
       business use cases can be grouped in                         SUBSYSTEM 1            SUBSYSTEM 2             SUBSYSTEM N

       higher level abstraction:
            business use case package                                         <<UseCaseSystem>>
                                                                              SUBSYSTEM 2.1
                                                                                                       <<UseCaseSystem>>
                                                                                                       SUBSYSTEM 2.n
             consists of some business use cases and
             appropriate relations
                                                         <<UseCasePackage>>            <<UseCasePackage>>

           business use case system                       BUS. USE CASE
                                                            GROUP 1
                                                                                        BUS. USE CASE
                                                                                          GROUP M               BUC1            BUCN

             contain more business use case packages,
             single business use cases and appropriate
             relations                                   BUC1         BUCN             BUC1          BUCN


                                                          Fig. 12. Transition from business models to
                                                                                    system models.

                                                                                                                           17
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
                                                             Fig. 13. Transition from business models to
             each message in sequence diagram is possible
                                                                          system models.
                member function (method) of system class.



                                                                                                 18
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        Fig. 14. Business model in inception phase.
      team dimension and experience, iterations can be
      parallely preformed
                                                                                              19
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.

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

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




                                                                                 22

								
To top