Presentation is loading. Please wait.

Presentation is loading. Please wait.

Business Modeling and Analysis

Similar presentations


Presentation on theme: "Business Modeling and Analysis"— Presentation transcript:

1 Business Modeling and Analysis
REQUIREMENT DESIGN TEST IMPLEMENTATION

2 Purpose of requirements workflow
Aim development toward the right system Other workflows focus on building the system right Describe what the system should and should not do an agreement between customer (including user) and development organization in the language of the customer/user Tasks List candidate requirements Understand system context Capture functional requirements Capture non-functional requirements Validate requirements (not well-developed in RUP)

3 Detailed customer requirements document
Starting points Vague Overly Detailed Vision statement Detailed customer requirements document System Requirements Domain object model Similar systems Business model

4 List candidate requirements  Feature list
Candidate features that could become requirements good ideas added to feature list features taken off list when they become formal requirements Planning values: status, cost, priority, risk

5 Understand system context  Business or domain model
Identify and name important concepts and entities in the system context Identify and name relations between domain objects Glossary for now, possible classes in analysis and design workflows Business model Domain (object) model plus processes/behaviors workers, their responsibilities and operations Decide whether to build a business model, a domain model, or simply a glossary of terms

6 Capture functional requirements  Use cases
Capture requirements as use cases Use case: a user’s way of using the system When an actor (user or external subsystem) uses the system, the system performs a use case All use cases = all the things the system must do Capture user interfaces that support the use cases

7 Capture non-functional requirements  Supplementary requirements and use cases
System properties environmental or implementation constraints e.g. must have remote access or must run on Linux or WinNT “-ilities”: performance, reliability, security, maintainability, extensibility, usability, etc. Tie to use cases or domain concepts, where possible those that cannot be tied (they are general) are listed as supplementary requirements

8 Requirements in the life cycle phases
Inception identify most of the use cases to define scope detail critical use cases (10%) Elaboration detail the use cases (80% of the requirements) Construction identify and detail remaining use cases Transition track and capture requirements changes

9 Domain modeling Objects or concepts: things in the system context that the system must manipulate or keep track of Events that transpire in the system context Capture as UML class diagrams or (for small systems) as a glossary of terms Creates a common language for customer and developer Focus on domain modeling; defer system internal modeling to analysis, design, and implementation

10 Business modeling “Business:” the working context of the system, even if it is not a business application Business use case model processes (use cases) and users (actors) in roles represents system from a usage perspective and outlines how it provides value to its users Business object model how each use case is realized by a set of workers who are using business entities and work units capture as UML class diagrams (as in domain modeling), interaction diagrams and activity diagrams also capture business rules and constraints may use UML business stereotypes (see Fig. 6.4 p. 124)

11 Requirements definition/specification
A statement in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers Requirements specification A structured document setting out detailed descriptions of the system services. Written as a contract between client and contractor Software specification A detailed software description which can serve as a basis for a design or implementation. Written for developers Iterations of one document or “Waterfall” series of documents

12 Business Engineering Business engineering delivers models as a chart for the future Similar artifacts are delivered as those for a software system. Main difference is that the ‘system’ being modeled is now a business organization instead of a software system. An OO business engineering project results in the implementation of a new organization defined by business actors, business use cases, worker types, business entity object types(work products) and competence units (organizational group of workers)

13 Business Models Business modeling is a technique to help answer critical questions, such as: How do you know you have identified all system use cases? What do the workers (users) do before using our system? What business value does the system bring? What is the business system this computer system will be supporting?

14 Packaging Business model Order entry finance manufacturing

15 The Business Object Model Description
The Business Object Model work product identifies objects of importance to a business and documents the relationships between them in terms of responsibilities and behavior. Its emphasizes the roles performed in the business area and their active responsibilities. It uses a subset of notation from the Unified Modeling Language (UML). The Business Object Model brings the notions of structure and behavior together. It is a bridging work product that articulates business concerns in a way that is similar to methods of software development while retaining a purely business content. It is a consolidation of what is known about the area of business concern expressed in terms of objects, attributes, and responsibilities. A Business Object Model is not a “model of business objects.” It is an “object model of the business.” The difference is a matter of perspective. The term “business objects” connotes the part of a software solution that directly represents items of interest to business. The software domain is associated with the scope of a planned implementation. This implementation-free view of the software space is the subject of an analysis object model

16 The Business Object Model Purpose
The Business Object Model is positioned firmly on the bridge between the world of business and the world of information systems development. It explores the essence of business area knowledge in a way that provides a transition from thinking about business issues to thinking about software applications. Its creation is a way of verifying requirements to be enabled or supported by the information system to be built. Agreement between business object definitions and relationships, and the names for the objects and relationships permits business area knowledge to be represented in a precise manner that can be understood and validated by business area experts. In addition, the Business Object Model Helps to scope what is inside and outside the specific application being developed. The boundaries of the application are explored through an object view of the business area. Can be reused by many development projects. To the extent that it is it free of design details and is also free of application boundaries, a good Business Object Model is a key asset that a company can build, maintain, and reuse in many applications within the business area

17 Business Object Model A Business Object Model is complete when it reflects all important business concepts within the intended scope as specified by the classified business terms. A quality Business Object Model is one in which: The names of object types accurately reflect either concepts in the business area or abstractions that structure the model. Class names are appropriate. Names should convey intent. Be suspicious of names such as Controller and Manager as these often indicate a centralization of control. No design artifacts are present.

18 This is a simplified drawing as it is intended to convey business information in a way that is conducive to thoughts of objects collaborating in a software space. There are some structural relationships, but the thrust of the drawing is to convey behavior between the role objects and others.

19 The following example is based on a business process model from a retail store gift registry process. This is a view on a more comprehensive model of the retail store operation. There are various roles that have been defined in the gift registry process, and these are reflected in the model below as active object types, such as EventCoordinator, WishLister, CustomerDefiner, and ProductSelector. These are shown at the center of the view, collaborating to ensure that the customer is defined, the WishList is created, Products are selected and associated witWishListItems, etc

20 UML The UML provides different diagrams. Each UML diagram provides a different view of the business: use case diagrams describe the business context. activity diagrams describe behaviors in the business, or business workflows. class diagrams describe the static structure in the business. interactions diagrams (sequence diagrams and collaboration diagrams) describe the dynamic interactions between employees and things that they manipulate. Thus they indicate how the behaviors described in activity diagrams are realized.

21 Business Modeling with the UML

22 The Use Case Model Use case model Actors and use cases
Use cases represent processes Accept customer order Allow a customer to order Actors represent agents impacting the process Customer Employee Vendor

23 Introduction Major effort in requirements :
Develop a Model of the System to be built. Employ usecases to build such a model. Functional Reqs are structured as usecases. Non Functional Requirements are specific to a single usecase. Remaining Non-Functional requirements are kept in a separate document called the supplementary requirements.

24 Importance of Usecase Offers a systematic and intuitive way to capture the functional requirements. By using usecases the analysts are forced to think in terms of who users are and what business or mission needs can be fulfilled through them. It drives the entire development process.

25 The Requirements Workflow
The artifacts created in the requirements workflow. The workers participating in the requirements workflow. The requirements capture workflow, including each activity in more details

26 Artifacts Use Case Model Actors Use cases Architecture Description
Flow of Events Special Requirements Architecture Description Glossary

27 The Use Case Model 1 Use Case System Use Case Model * * Actor Use Case

28 Artifact - The Use Case Model
Agreement on requirements between developers and customers, i.e, the condition or capability to which the system must conform.. Provides essential input for analysis, design and testing. A use-case model is the model of the system containing actors and their usecases and their relationships. For large number of usecases in a system, packages may be introduced in the model to manage its size. Presents Model in diagrams that presents the actor and usecases from different viewpoint and different purpose.

29 Artifact - Actor Parties outside the system that collaborate with the system Often corresponds to workers in a business. An actor plays one role for each case with it collaborates. Each time a specific user interacts with the system, the corresponding actor instance is playing the role. An instance of an actor is thus a specific user interacting with the system. Any entity that conforms to an actor can act as an instance of the actor.

30 Artifact - Actor Only input information to the system.
Actors are not a part of the system. Anyone or anything that must interact with the system. An Actor may Only input information to the system. Only receive information from the system. Input & receive information to and from the system.

31 Artifact - Identifying Actors
Typically found in the problem statement. Conversation with the customers or Domain Experts. By asking the following questions : Who is interested in a certain requirement? Where in the organization is the system used? Who will benefit from the use of the system? Who will supply, use and remove the information from the system? Who will support and maintain the system. Does the system use an external resource. Does one person play several different roles? Do several people play the same role. Does the system interact with a legacy system?

32 Artifact - Usecase Each way a actor uses the system is represented as a usecase. Are “chunks” of functionality that the system offers to add a result of value to its actors. Sequence of actions, including alternatives of the sequence, that the system can perform, interacting with actors of the system. Specification of the behavior of the dynamics of the system.

33 Artifact - Usecase Usecase is a classifier – It has attributes and operations. Usecase description include the following: State Chart Diagrams Activity Diagrams Collaboration Diagrams Sequence Diagrams.

34 Usecase Instance Execution of usecase.
Interacts with the actor instance and performs a sequence of actions as specified by the usecase. This sequence is specified by a state chart or activity diagram.. Many paths are possible through a usecase and many are very similar. These are the alternatives through the Usecase.

35 Path in a usecase Path through a use case looks as follows:
The Use-Case is instantiated and put in a start state. Invoked by external message from actor. It transitions to another state by performing a sequence of actions. Such a sequence contains internal computations, selection of path and message output. It awaits, in its new state, another message from an actor. It is invoked again by a new message and so on. It goes over many states until the usecase is terminated.

36 Usecase instance - Characteristics
Have attributes that is manipulated during usecase execution. Usecase instance is atomic. A Usecase instance does not interact with other instances. The only interaction that happens in a Usecase is between Actor instances & Usecase instances. The interference issues between different uses of a system is resolved in the Analysis and design phase when we realize these usecases as collaboration classes and subsystems.

37 Usecases - Flow of Events
Describes what the system does when a specified usecase is performed. Also specifies how the system interacts with actors when the usecase is performed. Flow of events for each usecase can be captured as a separate textual description of the use-case's sequence of action. Description includes a set of sequence of actions that are suitable to modify, review, design, implement and test together and to describe as a section or subsection in the user manual.

38 Usecase – Special Reqmnts.
Textual description that collects all requirements on a usecase. Primarily non-functional requirements that are related to the usecase and that are needed to be handled in subsequent workflows such as analysis, design or implementation.

39 Usecase – How to identify?
The following question may be used to help identify the usecases of the system. What are the task of each actor? Will any actor create, store, change, remove or read values from the system? What usecases will create, store, change, remove or read values from the system. Will any actor need to be informed of certain occurrences in the system? Will any actor need to inform the system of any external occurrences? What usecases will support and maintain the system? Can all functional requirements be performed by the usecases?

40 Artifact - Architectural Description
Architectural View of the usecase model depicting the architecturally significant usecases. Should contain all usecases that describe some important and critical functionality or that involves certain requirements that must be developed early in the software cycle. This view is used as an input when the usecases are prioritized to be developed within an iteration.

41 Artifact - Glossary Used to define important and common terms. Used by the analysts when they describe the system. Is useful in reaching a consensus among developers regarding the definition of various concepts and notations to reduce the risk of misunderstandings in general. Can often be derived from a business model or domain model, but because it is less formal it is easier to maintain and more intuitive to discuss with users and customers. Tends to be more focused on the system to be built instead of system’s context.

42 Artifact – User Interface Prototype
Helps during requirements capture to understand and specify the interaction between human actors and system. Helps us in developing a better user interface and to understand usecases better.

43 Workers – System analyst
Usecase Model Glossary Actor

44 Workers – Usecase specifier

45 Workers – User Interface Designer
User Interface Prototype

46 Architecture Description
Workers – Architect Architect Architectural View Usecase Model Architecture Description

47 WORKFLOW A Sequence of activities which are ordered so that one activity produced output that is used as an input for the next activity. When workers perform activities they create and modify artifacts. An activity may be revisited several times and each visit may entail carrying out only a fraction of the activity.

48 Workflow – Sequence Perform Find Actors and usecases.
Find architecturally significant usecases to provide input to the prioritization of usecases to be developed in the current iteration. Detail the usecases. Suggest suitable user interface for each actor based on the usecases.

49 Find Actors & Usecases - Why
Delimit our system from its environment. Outline who and what will interact with the system and what functionality is expected from the system. Capture and define a glossary of common terms that are essential for creating a detailed description of the system’s functionality.

50 Find Actors & Usecases - Activity
Finding the actors Finding the usecases Briefly describing the usecase Describing the usecase model as a whole. The above steps are performed concurrently.

51 Find Actors & Usecases - Activity
System Analyst Business Model Use-Case Model [Outlined] Supplementary Requirements Find Actors and Use Cases Glossary Feature List

52 Find Actors and Usecases - Example

53 Find Actors and Usecases - Example

54 Briefly describing each usecase
Identify the usecases and explain them in a few words. Later describe each usecase briefly in a few sentences. Later a step by step description of what the system needs to do when interacting with its actors. Refer to Page 150 of the book for an Example.

55 Describing the usecase model as a whole
Prepare diagrams and descriptions to explain the use case model as a whole, particularly how the usecase relate to each other and the actors. To ensure consistency while describing several usecases concurrently, it is practical to develop some glossary of terms. Terms are derived from classes in domain or business model. Refer to Page 151 of the book for an Example.

56 Prioritizing Usecases
Determine which one needs to be developed in earlier iterations and which can be developed in later iterations. The results are captured in architectural view of the usecase model.

57 Prioritizing Usecases
Architect Business Model Supplementary Requirements Architectural Description view of the usecase model Prioritizing Feature List

58 Detailing a Usecase Describe flow of events in details including how the usecase starts, ends and interacts with actors. With usecase model and associated usecase diagrams as starting point, the individual usecase specifiers can now describe each usecase in details. Detail the step-by-step description of each usecase into a precise specification of the sequence of actions.

59 Detailing a Usecase How to structure the description to specify all the alternative paths to the usecase. What to include in a usecase description. How to formalize the use-case description when necessary.

60 Supplementary Requirements
Detailing a Usecase Use-Case Specifier Use-Case Model Supplementary Requirements Use Case [Detailed] Detail a Usecase Glossary

61 Structuring a Usecase Desc.
Defines the state that use-case instances may enter and possible transition between those states. Each such transition is a sequence of actions that are performed by a usecase instance when triggered by an event such as a Message. Artifact – State Transition Diagram.

62 What to include in Usecase Desc.
Start State as Pre-condition How and When the use-case starts Required order in which order must be performed. How and when the usecase ends. Post Conditions or End States. Paths of execution that are not allowed. Alternative Paths. System Interaction with the actors and what they exchange. Usage of objects, values and resources in the system. Describe what the system & actors do.

63 Formalizing the Usecase Desc
When describing a usecase, ensure that we cover all possible cases. When usecases become very complex, a structured description technique may be needed. State Charts Activity Diagrams Interaction Diagrams

64 Prototype User Interface
Build a prototype of the User Interface. Start with a use case and try to discern what is needed from the user interfaces to enable usecases for each actor (Logical User-Interface Design). Then Create Physical User Interface design and develop prototypes that illustrates how how users can use the system to perform the usecases. Result of this activity is a set of user-interface sketches and user-interface prototypes that specify the look and feel of the user Interface for actors.

65 Structuring Use Case Model
To Extract general and shared descriptions of functionality that can be used by more specific use-case descriptions. Extract additional and optional description of functionality that can extend more specific use-case description.


Download ppt "Business Modeling and Analysis"

Similar presentations


Ads by Google