Post on 07-Jan-2016
description
UML-BUSINESS-PROFILE-BASED BUSINESS MODELING
IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT
Dražen Brđanin, Slavko Marić bdrazen@etfbl.net ms@etfbl.net
Faculty of Electrical Engineering Banja Luka
4th Workshop “Software Engineering Education and Reverse
Engineering” Zagreb, 06-10.09.2004.
2
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N
ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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).
business domain concept
structure
process
behaviour
Fig. 1. Aspects of business domain analysis.
6
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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 tasksDuring 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
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE DEVELOPMENT
PROPROduring 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 UML
CONTRACONTRAtoo 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)+
languagelanguage for businessfor business model modelinging
business modeling(first phase in IS development)
9
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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.
A0
decomposition diagram
A1 A2 AN
A21 A22
Ai Aj Am EVENT RESULT
RESULT
RESULT
process flow diagram
Ai
Aj
Am
system use cases
A0
context diagram
Fig. 2. Integration of business model and system UML model.
10
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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.
use case 1
use case 2
use case N
«realise»
«realise»
«realise»
Fig. 4. Implementation of business process.
11
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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 modelrepresents 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.
Businessuse case model
Business object model
Business model
«UseCaseModel» «ObjectModel»
12
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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.
Poslovni učesnik 1
Generalizovani poslovni učesnik
proširenje
Poslovni slučaj
upotrebe
uključeni slučaj
upotrebe
<<include>>
<<extend>>
Poslovni učesnik 2
Tekstualni opis poslovnog slučaja upotrebe...
uslov nije ispunjen
Aktivnost u slučaju da je uslov ispunjen
uslov ispunjen
Tačka odlučivanja (grananje na alternativne procese)
Početak
Tačka sinhronizacije (grananje na konkurentne procese)
Kraj procesa
Aktivnosti A1 i A2 izvode se konkurentno sa aktivnošću B
Tačka sinhronizacije (spajanje konkurentnih procesa)
Tačka spajanja alternativnih procesa
Prva aktivnost u procesu
Završna aktivnost
Aktivnost u slučaju da uslov nije ispunjen
Aktivnost A1 Aktivnost B
Aktivnost A2
Fig. 7. Generic example of high-level activity diagram.
13
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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
Poslovni učesnik Neka druga organizaciona jedinica
Interni radnik Poslovni učesnik Radnik na slučaju
zahtjev nepotpun
zahtjev potpun
Objekat (npr. zahtjev)
Odbijeni zahtjev
Vraćanje Konkurentna aktivnost (npr. priprema dokumentacije)
Pripremljena dokumentacija
Konačni proizvod
Završna aktivnost (npr. slanje, arhiviranje)
Konačni proizvod
Prijem
Inicijalna aktivnost (npr. podnošenje zahtjeva)
Prijem i analiza
Kompletiranje
Razrada
Fig. 8. Generic example of detailed activity diagram.
14
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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
Zahtjev Predmet
Dodatni materijal
0..n
Interni radnik Radnik na slučaju
Konačni proizvod
Učesnik
1..n
1..n
15
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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 unimaginableAn 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 processrepresented by phases, iterations, cycles …
Inception Elaboration Construction Transition
Business modeling
Requirements
Analysis and design
Implementation
Test
Deployment
Preliminary Inception
#1 Inception
#2 Const.
#1 Const.
#2 Const.
#n Tran.
#1 Tran.
#2
iterations
phases
time
activ
ities
Fig. 11. Technical perspective of RUP.
16
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE DEVELOPMENT
Static aspect of business modeling
Business use case
model
Tekstualni opis
poslovnog slučaja
upotrebe...
Business object model
Poslovni učesnik
17
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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 packageconsists 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.
BUC1 BUCN
<<UseCaseSystem>> SUBSYSTEM 1
<<UseCaseSystem>> SUBSYSTEM N
<<UseCaseSystem>> SUBSYSTEM 2
<<UseCaseSystem>> BUSINESS SYSTEM
<<UseCaseSystem>> SUBSYSTEM 2.n
<<UseCaseSystem>> SUBSYSTEM 2.1
<<UseCasePackage>> BUS. USE CASE
GROUP 1
<<UseCasePackage>> BUS. USE CASE
GROUP M
BUC1 BUCN BUC1 BUCN
18
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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,
andeach message in sequence diagram is possible member function (method) of system class.
Fig. 13. Transition from business models to system models.
19
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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
Dražen Brđanin, Slavko Marić
UMUML-BUSINESS-PROFILE-BASED BUSINESS MODELINGL-BUSINESS-PROFILE-BASED BUSINESS MODELING I IN N ITERATIVEITERATIVE AND INCREMENTALAND INCREMENTAL SOFTWARE DEVELOPMENTSOFTWARE 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.