231 Business Modeling - Domain Analysis Most materials taken from the RUP textbook Chapter 8 and OOSE, pp. 101-106.

Slides:



Advertisements
Similar presentations
Introduction to Rational Rose 2000 v6.5 Copyright © 1999 Rational Software, all rights reserved 1 Rational Rose 2000 Interaction Diagrams.
Advertisements

Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
1 The Business Modeling Discipline. 2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
CSCI 639 Topics in Software Engineering Assignment #5 Fall 2008.
231 Business Modeling - Domain Analysis Most materials taken from the RUP textbook Chapter 8 and OOSE, pp
Lecture 4 Class Responsibility Collaboration Cards
The Use of Zachman Framework Primitives for Enterprise Modeling
NJIT Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman Presented by Anuradha Dharani.
171 Use Case Descriptions Chapter 4 – Facade Iteration Initial Requirements (Inception Phase)
Iterative development and The Unified process
COMP 350: Object Oriented Analysis and Design Lecture 2
Use Case Analysis – continued
Lecture Nine Database Planning, Design, and Administration
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Business Modeling - Domain Analysis Most materials taken from the RUP textbook Chapter 8 25.
Object Oriented Analysis and Design Using the UML
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
Business Modeling Domain Modeling Source: Use Case Driven Object Modeling with UML – A Practical Approach By Doug Rosenberg ISBN:
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
What is Business Analysis Planning & Monitoring?
USE Case Model.
UML - Development Process 1 Software Development Process Using UML (2)
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Business Modeling : basic concepts Extracted from Rational UML Profile for business modeling.mht.
Business Analysis and Essential Competencies
17 1 Use Case Descriptions Chapter 4 – Facade Iteration Requirements Inception Phase.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
111 Notion of a Project Notes from OOSE Slides – a different textbook used in the past Read/review carefully and understand.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Chapter 7 Applying UML and Patterns -Craig Larman
Chapter 7 Applying UML and Patterns Craig Larman
McGraw-Hill/Irwin Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 3 Identification and Selection of Development Projects.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
Project Deliverables Version 1: 08/30/2005 Note: This document contains the deliverables for a two semester course. These items WILL change as the courses.
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Business Modeling with UML Virtusa Training Group (2005) Trainer: Ojitha Kumanayaka Duration: 1 hours.
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Inception is not Requirement phasee Chapter 3 and 4 Applying UML and Patterns -Craig Larman.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Requirements Workshop Techniques for E-Business Projects
UML - Development Process 1 Software Development Process Using UML.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Project Deliverables Deliverable 1 Posted Version Numbers will reflect added Deliverable numbers.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Project Deliverables Version 3: 10/04/2006 Deliverable 3 Added.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
UML: Unified modeling language
Business Modeling - Domain Analysis
Rational Rose 2000 Instructor Notes Use Case Realization Structure
Use Case Analysis – continued
Presentation transcript:

231 Business Modeling - Domain Analysis Most materials taken from the RUP textbook Chapter 8 and OOSE, pp

2 Purpose of Business Modeling  To understand the structure and dynamics of the organization in which a system is to be deployed  To understand current problems in the target organization and identify areas for potential improvement  To ensure customers, end users, and developers have a common understanding of the target organization   Note: all about the organization and not the application (directly).

3 Business Modeling (Domain Analysis)   We look at WHY we look at business modeling before application development.  We will create a model of the ‘vision’ of the target organization –with its Processes Roles Responsibilities  Three primary components: (Much more ahead) Business Use Case Model, and Business Object Model A Domain Model ( some: ‘exploratory domain model’) We will discuss each in turn several slides ahead…

4 Why Undertake Business Modeling (Why do we care? – Slide 1)  The new standard for software development is to try to understand the business domain before or in parallel with development of an application. Applications must ‘fit’ within the organization!  Business modeling is now a recognized, central part of development, and, in particular, facilitates the development of Requirements.  Business modeling now involves higher level people; those who can have an appreciation of the overall organization and major cost centers therein. Also, we need those who (some of the time) make decisions involving change (not just those who ‘know’ the business well - SMEs).  According to the RUP, Business Modeling is the first discipline that should be addressed and is key to acquiring key artifacts that will underpin much future work.  It is also a fundamental discipline in Inception phase.

5 Why Undertake Business Modeling (Why do we care?)  Very important to learn background knowledge so developers can communicate with users and make more intelligent decisions. Essential for understanding customer’s problems and setting the scope for a development project that might follow.   Business Modeling (sometimes called ‘Domain Analysis’) is a process by which a software engineer learns background information sufficient to be able to understand a problem at hand and to make good decisions during requirements analysis and other stages of the software engineering process.  The ‘Domain’ – a general field of business or technology.

6 Why Undertake Business Modeling (Why do we care?)  To perform business modeling (domain analysis), we need to gather information from a number of sources of information.  Seek experts in domain knowledge (SME)  Sources of Domain Knowledge: High-level problem statements; Overall / Expert Vision of the Enterprise; Documented somewhere… All about the organization. Any model or document that describes the problem space and the desires and needs of the stakeholders.  Quarterly reports  Interviews  Questionnaires  Personal Research

7 Business Modeling - more  “No serious software project should be undertaken without a sound domain analysis; a good knowledge of the domain of application considerably increases your chances of success.” p. 103, OOSE textbook.  Understand the domain? Easier to press on with requirements analysis to solve the problem – vision of a new/enhanced application.  Recognize that domain analysis never ends, as developers continue to supplement their domain knowledge over time.

8 Categories of Applications (e-business tools)  E-business reflects the nature of the business – represents what the business is all about.  Customer to Business (C2B) – applications that allow you to order goods over the Internet, such as books  Business to Business (B2B) automation of a supply chain across two companies  Business to Customer (B2C): provision of information to (otherwise passive) customers, such as by distributing newsletters.  Customer to Customer (C2C): applications that allow customers to share and exchange information with little input from the service provider, such as for auctions.

9 Terms  Business user – customers, vendors, partners – represented by ‘business actors’  Business processes – represented by business use cases; business use case realizations  Business workers –roles played by…  Business Entities: ‘Things’ organizations manage/produce. Represented by business entities / events organized into business systems.

10 Business Modeling Scenarios  Scenario 1 – Organization Chart Build a simple organization chart of business and its processes to get a good understanding of the application you are building. Where does the application fit? To which organizations or part of organizations might it impact?  Emphasis is on ‘the organization.’ (This is done as part of the software engineering process - perhaps part of the inception phase)

11 Business Modeling Scenarios  Scenario 2 – Domain Modeling Build a model of that information (banking, order management) that will be present at the business level. Domain Modeling is typically part of the software engineering project and is performed during inception and elaboration phases – but is definitely started in inception and refined in elaboration. We will develop a domain model – among other things in the second deliverable. (See next slide lecture plus assigned readings.) Recognize that the Domain Model is part of Domain Analysis (that is, the Domain Model is a component of Business Modeling)

12 Business Modeling Scenarios  Scenario 3 – One Business; Many systems.  One business-modeling effort that is input to several other development projects. The business models will as serve as inputs to building the architecture of the application family. Individual applications may then use this model for individual projects, and will use this system as a baseline or domain, which may be then tailored or used in a dependency role. This business modeling effort is a project by itself!

13 Business Modeling Scenarios  Scenario 4 – Generic Business Model (for different organizations) Important if you are building a single, general model to be used to align several organizations within the business  used to reduce overall complexity - or at least understand how the different organizations might use the application.  Scenario 5 – New Business Necessary business modeling for a new line of businesses

14 Business Modeling Scenarios  Scenario 5 – Revamp: Business Process Reengineering (BPR) A complete redo of the way of doing business. Done in several discrete stages – envision new business, reverse engineer existing business, forward-engineer new business, and install new business… A revolutionary approach to reorganization….

15 Primary Artifacts developed during Business Modeling  Business Vision Document Defines objectives and goals of the business modeling effort  Business Use Case Model A model of the business’s intended functions. Used as an essential input to identify roles and deliverables in the organization. (Use Rational Rose) Will be very useful in your development use case modeling for application development.  Business Object Model (Business Analysis Model) A model that realizes the business use cases. (We will not do this in this course)

16 Primary Artifacts developed during Business Modeling  Business Rules – policies/conditions that must be satisfied; heuristics during operations;  Business Glossary – definitions of important terms that are important to the business (acronyms, as HELOC, … commonly used terms.)  Domain Model – captures core abstractions / business entities – in the organization.  Others – selected…(several omitted are important, but we are concentrating on these )  Artifacts in more detail: 

17 Business Models   1. Business Use Case Model: Contains business actors (roles external to the business such as customers, existing systems, devices, triggers, etc.) and business use cases (business processes) (Use case diagrams plus specifications)  2. Business Object Model (again, not doing this one this semester) Includes the business use case realizations  Includes interacting roles and entities involved.   3. Domain Model - ahead  These are at higher levels of abstraction than the application use cases will be. e.g. A class at business level represents a responsibility in an organization. A class represents a business entity, such as Customer, Book, Inventory Item, Salesperson, etc.

18 1. Business Use Case Model  Simple in structure. See pp in the RUP. Shows relationship between business use cases – in general and business users (business actors).  A few small business use case diagrams are shown. Each use case is identified and actors who interact with this and each business use case.

19 2. Business Object Model  Much more detailed than the business use case model (pg ) Each business use case is realized with business actors and business entities. Remember: this is all about the “organization!” Note icons used. (All documented in Visual Modeling with RR 2002 and UML) We model using ‘business entities’ and ‘customers’ (actors) and business workers (actors). These business entities will then likely be found in the Domain Model (ahead)

20 More details on Business Object Model  Business Models and Entity Classes A business entity that is to be managed by an information system will correspond to an entity in the domain model as stated. Discuss: Domain Model entities versus Application Classes. Example entities might include:  Menu  Work Schedule  Food Order  Account  Loan  Course …

21 Closing Remarks  The Major Thrust of Domain Analysis is developing models such as those captured via Visual Models often – to reflect the organization  Artifacts we develop are very important.  All of them will greatly assist in effective requirements analysis (gathering, capturing, and modeling user requirements).  Let’s look at the Domain Model.