1 the business modeling discipline. 2 purpose of business modeling to understand the structure and...

23
1 The Business The Business Modeling Discipline Modeling Discipline

Upload: marjorie-hudson

Post on 18-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

11

The Business Modeling The Business Modeling DisciplineDiscipline

Page 2: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

22

Purpose of Business ModelingPurpose of Business Modeling

To understand the structure and dynamics To understand the structure and dynamics of the organization in which a system is to of the organization in which a system is to be deployedbe deployed

To understand current problems in the To understand current problems in the target organization and identify areas for target organization and identify areas for potential improvementpotential improvement

To ensure customers, end users, and To ensure customers, end users, and developers have a common understanding developers have a common understanding of the target organizationof the target organization

To derive the system requirements to To derive the system requirements to support the target organization.support the target organization.

Page 3: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

33

Business ModelingBusiness Modeling

We will create a model of the ‘vision’ of We will create a model of the ‘vision’ of the target organization –with its the target organization –with its – ProcessesProcesses– RolesRoles– ResponsibilitiesResponsibilities

Two primary components:Two primary components:– Business Use Case Model, andBusiness Use Case Model, and– Business Object ModelBusiness Object Model– We will discuss each in turn several slides We will discuss each in turn several slides

ahead…ahead…

Page 4: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

44

Why Undertake Business ModelingWhy Undertake Business Modeling

The new standard for software The new standard for software development is to try to understand the development is to try to understand the business domain business domain beforebefore or or in parallel within parallel with development of an application.development of an application.

Business modelingBusiness modeling is a central part of is a central part of most projects and most projects and facilitatesfacilitates the the development of Requirements.development of Requirements.

According to the RUP, it is the According to the RUP, it is the first first disciplinediscipline that should be addressed and is that should be addressed and is key to acquiring key artifacts that will key to acquiring key artifacts that will underpin much future work.underpin much future work.

It is also a fundamental discipline in It is also a fundamental discipline in Inception phase.Inception phase.

Page 5: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

55

Why Undertake Business ModelingWhy Undertake Business Modeling

May not be appropriate for all development May not be appropriate for all development efforts.efforts.

Business models add more Business models add more valuevalue when when there are more people directly involved in there are more people directly involved in usingusing the system and more information to the system and more information to be handled by the system. be handled by the system.

Very helpful to understand the Very helpful to understand the environment environment in which the application will functionin which the application will function and and how this application will impact the how this application will impact the business it is to support or already business it is to support or already supports. supports.

Page 6: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

66

Why Undertake Business ModelingWhy Undertake Business Modelingmore…more…

Will be using the Will be using the same techniquesame technique to model to model the software system we will build as the the software system we will build as the business we are now attempting to model.business we are now attempting to model.

Some items in the business domain model Some items in the business domain model will relate directly to the software domain.will relate directly to the software domain.

Business modeling also Business modeling also simplifies simplifies relationshipsrelationships between business model between business model artifacts and similar relationships in the artifacts and similar relationships in the system model.system model.

Page 7: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

77

Business Modeling ScenariosBusiness Modeling Scenarios

Several (five according to author)Several (five according to author) Scenario 1 – Organization ChartScenario 1 – Organization Chart

– Build a simple org chart of business and Build a simple org chart of business and its processes to get a good understanding its processes to get a good understanding of the application you are building.of the application you are building.

– Where does the application fit? To which Where does the application fit? To which organizations might it impact? …organizations might it impact? …Emphasis is on ‘the organization.’Emphasis is on ‘the organization.’

– Part of the software engineering process Part of the software engineering process and part of the inception phaseand part of the inception phase

Page 8: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

88

Business Modeling ScenariosBusiness Modeling Scenarios

Scenario 2 – Domain ModelingScenario 2 – Domain Modeling– Build a model of that Build a model of that informationinformation (banking, (banking,

order management) that will be present at the order management) that will be present at the business level.business level.

– Don’t worry about workflows at this time.Don’t worry about workflows at this time.– Domain Modeling is typically part of the Domain Modeling is typically part of the

software engineering project and is performed software engineering project and is performed during during inception and elaboration phasesinception and elaboration phases – but is – but is definitely started in inception and refined in definitely started in inception and refined in elaboration.elaboration.

– We will develop a domain model – among other We will develop a domain model – among other things.things.

Page 9: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

99

Business Modeling ScenariosBusiness Modeling Scenarios Scenario 3 – One Business; Many systems. Scenario 3 – One Business; Many systems.

One business-modeling effort that we be One business-modeling effort that we be input to several other development input to several other development projects. projects. – The business models will as serve as inputs to The business models will as serve as inputs to

building the architecture of the application building the architecture of the application family. Individual applications may then use family. Individual applications may then use thisthis model for individual projects, and will use model for individual projects, and will use this system as a baseline or domain, which may this system as a baseline or domain, which may be then tailored or used in a dependency role. be then tailored or used in a dependency role. (different architectural layer)(different architectural layer)

– This business modeling effort is a project by This business modeling effort is a project by itself!itself!

Page 10: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

1010

Business Modeling ScenariosBusiness Modeling Scenarios Scenario 4 – Generic Business ModelScenario 4 – Generic Business Model

– Important if you are building a Important if you are building a singlesingle, , generalgeneral modelmodel to be used to align organizations in the to be used to align organizations in the business that will use it and reduce overall business that will use it and reduce overall complexity - or at least understand how the complexity - or at least understand how the different organizations might use the application. different organizations might use the application.

Scenario 5 – Revamp – Business Process Scenario 5 – Revamp – Business Process Reengineering (BPR)Reengineering (BPR)– A complete redo of the way of doing business. A complete redo of the way of doing business.

Done in several discrete stages – envision new Done in several discrete stages – envision new business, reverse engineer existing business, business, reverse engineer existing business, forward-engineer new business, and install new forward-engineer new business, and install new business… business…

– A revolutionary approach to reorganization….A revolutionary approach to reorganization….

Page 11: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

1111

Roles and ArtifactsRoles and ArtifactsPrimary RolesPrimary Roles

Business Process AnalystBusiness Process Analyst– Leads / coordinates the business use case modeling by Leads / coordinates the business use case modeling by

outlining and delimiting the organization being modeled.outlining and delimiting the organization being modeled. Produces vision document, business goals, identifies business Produces vision document, business goals, identifies business

use case model and the business actors and how they interact. use case model and the business actors and how they interact. Business Designer Business Designer

– DetailsDetails the business use cases, determines the business the business use cases, determines the business workers and workers and entitiesentities necessary for each business use case necessary for each business use case and how they function to and how they function to realizerealize the business use case. the business use case.

– Defines Defines responsibilities, operations, attributes, and responsibilities, operations, attributes, and relationshipsrelationships among business workers and business entities. among business workers and business entities.

Others:Others:– Stakeholders – represent parts of the organization that Stakeholders – represent parts of the organization that

are/will be impacted by the softwareare/will be impacted by the software– Business Reviewer – reviews resulting artifactsBusiness Reviewer – reviews resulting artifacts

Page 12: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

1212

Roles and ArtifactsRoles and ArtifactsPrimary ArtifactsPrimary Artifacts

Business Vision DocumentBusiness Vision Document – Defines objectives and goals of the business Defines objectives and goals of the business

modeling effortmodeling effort Business Use Case ModelBusiness Use Case Model

– A model of the business’s intended functions.A model of the business’s intended functions.– Used as an essential input to identify roles and Used as an essential input to identify roles and

deliverables in the organization. (Use Rational deliverables in the organization. (Use Rational Rose)Rose)

Business Object ModelBusiness Object Model (Business (Business Analysis Model)Analysis Model)– A model that A model that realizes the business use casesrealizes the business use cases. .

(Use Rational Rose)(Use Rational Rose)– A lot of work…A lot of work…

Page 13: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

1313

Roles and ArtifactsRoles and ArtifactsPrimary ArtifactsPrimary Artifacts (2) (2)

OthersOthers– Target-Organization AssessmentTarget-Organization Assessment – describes the – describes the

current status of the organization in which a system current status of the organization in which a system is to be deployedis to be deployed

– Business RulesBusiness Rules – policies/conditions that must be – policies/conditions that must be satisfiedsatisfied

– Supplementary Business SpecSupplementary Business Spec – presents definitions – presents definitions of the business not in the business use case model or of the business not in the business use case model or business object modelbusiness object model

– Business GlossaryBusiness Glossary – definitions of important terms – definitions of important terms– Business Architecture DocumentBusiness Architecture Document – comprehensive – comprehensive

overview of the architecturally significant aspects of overview of the architecturally significant aspects of the business from a number of perspectives.the business from a number of perspectives.

Only used when decisions regarding changes to Only used when decisions regarding changes to the business need to be made or when the the business need to be made or when the business needs to be described to other parties.business needs to be described to other parties.

Page 14: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

1414

Business ModelsBusiness Models

1. Business Use Case Model:1. Business Use Case Model:– Contains business actors (roles external to the Contains business actors (roles external to the

business) and business use cases (business business) and business use cases (business processes)processes)

2. Business Object Model2. Business Object Model– Includes the business use case realizationsIncludes the business use case realizations

Includes interacting roles and entities involved.Includes interacting roles and entities involved.

These are at higher levels of abstraction than These are at higher levels of abstraction than the system use cases will be.the system use cases will be.– e.g. A e.g. A classclass at business level represents a at business level represents a

responsibilityresponsibility in an organization. in an organization.

Page 15: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

1515

1. Business Use Case Model1. Business Use Case Model

Simple in structure . See pp 151-152Simple in structure . See pp 151-152– Shows relationship between business use Shows relationship between business use

cases – in generalcases – in general– Very similar to Use Case ModelVery similar to Use Case Model

Different iconsDifferent icons

– Each use case is identified and actors Each use case is identified and actors who interact with this and each business who interact with this and each business use case. use case.

Page 16: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

1616

2. Business Object Model2. Business Object Model

Much more detailedMuch more detailed– Each business use case is realized with business Each business use case is realized with business

actors and business entities.actors and business entities.– Note icons used. (All documented in Visual Note icons used. (All documented in Visual

Modeling with RR 2002 and UML)Modeling with RR 2002 and UML)– You will not need the dashed lines, as these You will not need the dashed lines, as these

figures (pp. 151 and 152) are showing the figures (pp. 151 and 152) are showing the relationship between the business modeling and relationship between the business modeling and the system models. (underlines the system models. (underlines objects) objects)

– Notice the difference between the icons in the Notice the difference between the icons in the System Use Case Model (bottom of pp 151-2) System Use Case Model (bottom of pp 151-2) and the Business Use Case Models (middle of pp. and the Business Use Case Models (middle of pp. 151-152).151-152).

Page 17: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

1717

More details on Business Object More details on Business Object ModelModel

Automated Business WorkerAutomated Business Worker– This applies to us. The Business Worker will This applies to us. The Business Worker will

become the Business Actor.become the Business Actor.– The Business Actor will communicate directly The Business Actor will communicate directly

with the system in several cases. with the system in several cases. E.g. Customer, Owner, Receptionist, Head Waitress, E.g. Customer, Owner, Receptionist, Head Waitress,

…We will see these again as System actors.…We will see these again as System actors.

Business Models and Entity ClassesBusiness Models and Entity Classes– A A business entitybusiness entity that is to be that is to be managed by an managed by an

information systeminformation system will correspond to an entity will correspond to an entity in the analysis model.in the analysis model.

E.g. Menu; Work Schedule; FoodOrder; …E.g. Menu; Work Schedule; FoodOrder; …

Page 18: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

1818

Domain ModelingDomain Modeling The term “problem domain” refers to the The term “problem domain” refers to the

area that encompasses real-world persons, area that encompasses real-world persons, places, and/or things and concepts related places, and/or things and concepts related to the problem that the system is being to the problem that the system is being designed to solve.designed to solve.

Domain ModelingDomain Modeling is the task of discovering is the task of discovering “objects” (classes, actually) that represent “objects” (classes, actually) that represent those entities and concepts.those entities and concepts.– (Taken from (Taken from Use Case Driven Object Modeling Use Case Driven Object Modeling

with UML – A Practical Approachwith UML – A Practical Approach, by Rosenberg), by Rosenberg)

Page 19: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

1919

Domain Modeling (cont.)Domain Modeling (cont.) Domain Modeling is kind of an Domain Modeling is kind of an inside out inside out

approachapproach – working – working fromfrom the data requirements the data requirements out to build a out to build a static modelstatic model of the problem domain of the problem domain

This contrasts with the outside-in approach we This contrasts with the outside-in approach we normally take toward user requirements.normally take toward user requirements.

Domain modeling and Use Case development Domain modeling and Use Case development merge later. In fact, the dynamic model (system merge later. In fact, the dynamic model (system in motion – actors, use case realizations, etc.) in motion – actors, use case realizations, etc.) drivesdrives the static model (the structure of the the static model (the structure of the system.)system.)

The domain model can serve as a glossary of The domain model can serve as a glossary of terms, which is terms, which is very usefulvery useful to use case to use case developersdevelopers– Some approaches specify creation of a domain model Some approaches specify creation of a domain model

OR a Glossary.OR a Glossary.

Page 20: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

2020

Domain Modeling (cont.)Domain Modeling (cont.) The domain model is developed from The domain model is developed from classesclasses – groups – groups

of objects with similar properties, common behaviors, of objects with similar properties, common behaviors, common relationships, and common semantics.common relationships, and common semantics.

Develop a static modelDevelop a static model of the system by finding of the system by finding appropriate classes that represent the real abstractions appropriate classes that represent the real abstractions in the problem domain.in the problem domain.

This serves to underpin system development later.This serves to underpin system development later.

Sources of Domain (Class) Knowledge: high-level Sources of Domain (Class) Knowledge: high-level problem statements; requirements; expert knowledge problem statements; requirements; expert knowledge of the problem space; anything that describes the of the problem space; anything that describes the problem space and the desires and needs of the problem space and the desires and needs of the stakeholders. stakeholders.

These must be very carefully parsed and analyzed.These must be very carefully parsed and analyzed.

Page 21: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

2121

Domain Modeling (cont.)Domain Modeling (cont.) Look through these descriptions for nouns – these are Look through these descriptions for nouns – these are

candidate classescandidate classes in the domain model. in the domain model.– E.g. Menu, customer, food order, Payment, on-line order…E.g. Menu, customer, food order, Payment, on-line order…– E.g. A domain model looks ‘somewhat’ like an ERD, - but no E.g. A domain model looks ‘somewhat’ like an ERD, - but no

primary / foreign keys, …) But we DO have relationships and primary / foreign keys, …) But we DO have relationships and multiplicities between/among these entities, such as:multiplicities between/among these entities, such as:

– E.g. Customer (class with attributes /behaviors) ‘orders’ E.g. Customer (class with attributes /behaviors) ‘orders’ (relationship) Food (class with attributes) – captured (relationship) Food (class with attributes) – captured graphically.graphically.

Customer and Food are entities related by Orders….Customer and Food are entities related by Orders…. Read the requirements over Read the requirements over very closelyvery closely to capture to capture

these ‘nouns.’ Verbs and verb phrases become these ‘nouns.’ Verbs and verb phrases become candidate operations (methods later) or associations. candidate operations (methods later) or associations. Possessive phrases indicate that the nouns should be Possessive phrases indicate that the nouns should be attributes rather than objects. attributes rather than objects.

Page 22: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

2222

Domain Modeling (cont.)Domain Modeling (cont.) 1. 1. Read/study/analyze the problem domain descriptionRead/study/analyze the problem domain description 2. identify nouns, etc. as candidate classes2. identify nouns, etc. as candidate classes

remove synonyms, …Consider noun phrases too.remove synonyms, …Consider noun phrases too. 3. Use Rose (Business Modeling) for modeling domain classes3. Use Rose (Business Modeling) for modeling domain classes w/class notation. See Business Modeling under Use CaseVieww/class notation. See Business Modeling under Use CaseView

Try to identify attributes and operations for your domain classesTry to identify attributes and operations for your domain classes 4. Build associations between the domain classes4. Build associations between the domain classes

Identify (name) these associationIdentify (name) these association 5. Add multiplicities carefully5. Add multiplicities carefully

Don’t worry about aggregations and association classes and much Don’t worry about aggregations and association classes and much more for our exercise. more for our exercise.

6. Model will undergo a refinement later. But try to capture all the 6. Model will undergo a refinement later. But try to capture all the domain information you can; model it; and verify it. All is done in domain information you can; model it; and verify it. All is done in RoseRose

Page 23: 1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is

2323

Deliverable #1 - Introduction to Business ModelingDeliverable #1 - Introduction to Business Modeling

Due: 2/16 at start of class. Turn in CD that contains all models Due: 2/16 at start of class. Turn in CD that contains all models and has links to text descriptions. Ensure text models are on CD and has links to text descriptions. Ensure text models are on CD and clearly linked from Rose.and clearly linked from Rose.See Restaurant Management System requirements version 1 and See Restaurant Management System requirements version 1 and Versions 1.1 on my web page tomorrow, Wednesday, 2/4/2004Versions 1.1 on my web page tomorrow, Wednesday, 2/4/2004

Purpose: Purpose: To understand the structure and dynamics of the organization;To understand the structure and dynamics of the organization;To ensure customers, end-users, and developers understand the organization;To ensure customers, end-users, and developers understand the organization;To derive requirements on systems to support the organization;To derive requirements on systems to support the organization;To support these, Business Use Case Models and Business Object Models are To support these, Business Use Case Models and Business Object Models are developed.developed.

Deliverable Artifacts:Deliverable Artifacts:

Business use case modelBusiness use case modelUse Cases and Actors - ModeledUse Cases and Actors - Modeled

Business object modelBusiness object modelUse Cases realized with actors and entities for the modelingUse Cases realized with actors and entities for the modelingUse Cases realized with actors for the Use Case Descriptions.Use Cases realized with actors for the Use Case Descriptions.

Two additional artifacts are required: Two additional artifacts are required: Business Vision document - textBusiness Vision document - textBusiness Glossary - textBusiness Glossary - textBusiness Rules - textBusiness Rules - textDomain Model - model in Rational RoseDomain Model - model in Rational Rose

You can use Visio to do this. Visio does provide all the tools and is simple.You can use Visio to do this. Visio does provide all the tools and is simple.BUT, you would be much better served to use Rational Rose. So use Rational Rose.BUT, you would be much better served to use Rational Rose. So use Rational Rose.