220 likes | 229 Views
This presentation explores the use of UML business profiles for business modeling in iterative and incremental software development. It covers various business modeling techniques and proposes a UML-based approach for modeling business processes and activities. The static and dynamic aspects of business modeling are also discussed.
E N D
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.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT This presentation includes: • reviewof 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 objectdiagrams. • static aspect of business modeling in iterative-incremental software development, • dynamic aspect of business modeling in iterative-incremental software development.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT Business modeling Business systems • complex (sometimes large-scale) systems that offer to customers/users desired products/services. • they are characterized by appropriateorganizational structureandbusiness processesto satisfy customers/users . Business process- specificsequence 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 structureandbusinessprocessesin 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
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT Business modeling(continued) Motives for business modeling • better understandingof key conceptsin present business processes, • basefor information system development, • basefor improvement of present business structure and organization, • presentation of proposed reconstruction in present business processes, • experimental check through different types of simulation... Goalsof 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.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT Business modeling(continued) Completebusiness model • view inbusiness 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.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT Business modeling(continued) Business modeling role in information system development • usuallyprephaseorfirst 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 andactivitiesin particular processes, • actors, • process initiators, • processgoalsandresults, • required resources (human, material and nonmaterial), • processrulesandconstraints, • automatizationlevel ofpresent processes, • responsibilitiesfor particular activities, • possibilitiesthat somealternate activities can be chosen, • manners forefficiency improvement and augment in present processes, etc.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT UML • UML is graphiclanguagefor visualization, specification, designand documentingof software systems, but nonsoftware systems too. • UML has rich notation and semanticsthanks to totality of the best engineering techniques (Booch, OMT, OOSE) which are successfully proved in modelinglarge-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 factoindustrial standard for software modeling (ISO ?) • standard UML is open system– it’s possible to: • extend baseconcept with user extensions, or • specializebaseconcept in particular domain by introducing profile.
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 forextending, adopting and specialization of standard UML CONTRA too rich OO notation (not optimal and not adequate for business modeling) traditional techniquesand notations are more popular there is no standard for business modelingbased on UML standard UML, UML extensions, UML profile. Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT UML andbusiness modeling business modeling (first phase in IS development) + UML (industrial standard) languagefor business modeling
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT BM basedon standard UML • too rich OO notation,not optimal and not adequate for business modeling • combinationwith otherapproachesand notations, such asIDEF, etc. • Example:integrationof business models and system UML modelswithin Popkin Softwarebased onhierarchical decompositionto elementary processes which are transferred to system use cases • Advantages:hierarchical decompositionwhich 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.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT BM basedon UML extensions • UML extensions are mechanismsforextendingbase UML concept to be possible specific details modeling without changing entire language. Extension can be realized by using:stereotypes, tagged valuesand 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. Genericexample of business model according to Eriksson-Penker extension. Fig. 4. Implementation of business process.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT UMLbusiness 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 byUML business profile.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE 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 identifiedbusiness 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.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE 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.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT Business object model(continued) 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 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. 10. Generic example of object diagram. Fig. 9. Generic example of sequence diagram.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT RUP – iterative and incremental approach • Today, integral IS development in "one breath" – according to the traditional waterfall modelin 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.
Tekstualni opis poslovnog slučaja upotrebe... Poslovni učesnik Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE DEVELOPMENT Static aspect of business modeling Business use case model Business object model
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE 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.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE 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.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE 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 systemsit 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.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE 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 onactivity 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.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE 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.
Dražen Brđanin, Slavko MarićUML-BUSINESS-PROFILE-BASED BUSINESS MODELING IN ITERATIVEAND INCREMENTALSOFTWARE 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.