Title: UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT
1UML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN
ITERATIVE AND INCREMENTAL SOFTWARE DEVELOPMENT
- Dražen Brdanin, Slavko Maric
- bdrazen_at_etfbl.net ms_at_etfbl.net
- Faculty of Electrical Engineering Banja Luka
4th Workshop Software Engineering Education and
Reverse Engineering Zagreb, 06-10.09.2004.
2Dražen Brdanin, Slavko MaricUML-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.
3Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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
4Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.
5Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-BASED BUSINESS MODELING IN ITERATIVE AND
INCREMENTAL SOFTWARE DEVELOPMENT
Business modeling (continued)
- Complete business model
- view in business domain from different
perspectives, - its 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.
6Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.
7Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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 its possible to
- extend base concept with user extensions, or
- specialize base concept in particular domain by
introducing profile.
8Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-BASED BUSINESS MODELING IN ITERATIVE AND
INCREMENTAL SOFTWARE DEVELOPMENT
UML and business modeling
UML (industrial standard)
business modeling (first phase in IS development)
language for business modeling
- 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 UML
- CONTRA
- 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.
9Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.
10Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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 didnt 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.
11Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.
12Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.
13Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.
14Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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
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
Fig. 10. Generic example of object diagram.
Fig. 9. Generic example of sequence diagram.
15Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.
16Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-BASED BUSINESS MODELING IN ITERATIVE AND
INCREMENTAL SOFTWARE DEVELOPMENT
Static aspect of business modeling
Business use case model
Business object model
17Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.
18Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.
19Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.
20Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.
21Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.
22Dražen Brdanin, Slavko Maric UML-BUSINESS-PROFI
LE-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.