Upload
bartholomew-hutchinson
View
221
Download
1
Embed Size (px)
Citation preview
Slide 2
Purpose of requirements workflow
Aim development toward the right systemOther workflows focus on building the system right
Describe what the system should and should not doan agreement between customer (including user) and development
organization
in the language of the customer/user
TasksList candidate requirements
Understand system context
Capture functional requirements
Capture non-functional requirements
Validate requirements (not well-developed in RUP)
Slide 3
Starting points
SystemRequirements
Detailed customer requirements document
Business model
Domain object model
Vision statement
Similar systems
Vague Overly Detailed
Slide 4
List candidate requirements Feature list
Candidate features that could become requirementsgood ideas added to feature list
features taken off list when they become formal requirements
Planning values: status, cost, priority, risk
Slide 5
Understand system context Business or domain model
Domain modelIdentify and name important concepts and entities in the
system contextIdentify and name relations between domain objectsGlossary for now, possible classes in analysis and design
workflows
Business modelDomain (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
Slide 6
Capture functional requirements Use cases
Capture requirements as use casesUse 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
Slide 7
Capture non-functional requirements Supplementary requirementsand use cases
System propertiesenvironmental 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 possiblethose that cannot be tied (they are general) are listed as supplem
entary requirements
Slide 8
Requirements in the life cycle phases
Inceptionidentify most of the use cases to define scope
detail critical use cases (10%)
Elaborationdetail the use cases (80% of the requirements)
Constructionidentify and detail remaining use cases
Transitiontrack and capture requirements changes
Slide 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 contextCapture as UML class diagrams or (for small
systems) as a glossary of termsCreates a common language for customer and
developerFocus on domain modeling; defer system internal
modeling to analysis, design, and implementation
Slide 10
Business modeling
“Business:” the working context of the system, even if it is not a business application
Business use case modelprocesses (use cases) and users (actors) in rolesrepresents system from a usage perspective and outlines how it provides
value to its users
Business object modelhow each use case is realized by a set of workers who are using business
entities and work unitscapture as UML class diagrams (as in domain modeling), interaction
diagrams and activity diagramsalso capture business rules and constraintsmay use UML business stereotypes (see Fig. 6.4 p. 124)
Slide 12
Requirements definition/specificationRequirements definition
A statement in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers
Requirements specificationA structured document setting out detailed descriptions of the
system services. Written as a contract between client and contractor
Software specificationA detailed software description which can serve as a basis for
a design or implementation. Written for developers
Iterations of one documentor
“Waterfall” series of documents
Slide 13
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)
Slide 14
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?
Slide 16
The Business Object Model DescriptionThe 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
Slide 17
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
Slide 18
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.
Slide 19
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.
Gift Registry - Business Object Model
*
1..*WishLister
Product
Clothing HousewaresProductOption
CustomerDefiner
EventCoordinator
ProductSelector
WishList
WishListItem
InterStoreCommunicator
**
** Complements
IsAlternativeFor1
Creates
RequestsBroadcastAccessesToTransmit
CustomerAddress
BeforeEventAddress
AfterEventAddress
Event
CustomerGuestLocation Store
BroadcastsTo
MatchesRequirement
GathersToTransmit
CustomerRecordCommunicatesAt
Authenticates
ClothingSizes ClothingColors
Establishes RequestsCreation
ProvidesShippingRadius
Adds
RequestsAuthenticationShipToBefore ShipToAfter ProvidesRequirements ConveysSelection
RegistersGifts
EnsuresCompleteness
*
1
1
Establishes
1
1
1
0..1
1
* *
Slide 20
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
Gift Registry - Business Object Model
*
1..*WishLister
Product
Clothing HousewaresProductOption
CustomerDefiner
EventCoordinator
ProductSelector
WishList
WishListItem
InterStoreCommunicator
**
** Complements
IsAlternativeFor1
Creates
RequestsBroadcastAccessesToTransmit
CustomerAddress
BeforeEventAddress
AfterEventAddress
Event
CustomerGuestLocation Store
BroadcastsTo
MatchesRequirement
GathersToTransmit
CustomerRecordCommunicatesAt
Authenticates
ClothingSizes ClothingColors
Establishes RequestsCreation
ProvidesShippingRadius
Adds
RequestsAuthenticationShipToBefore ShipToAfter ProvidesRequirements ConveysSelection
RegistersGifts
EnsuresCompleteness
*
1
1
Establishes
1
1
1
0..1
1
* *
Slide 21
UMLThe 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.
Slide 23
The Use Case Model
Use case model
Actors and use cases
Use cases represent processesAccept customer order
Allow a customer to order
Actors represent agents impacting the processCustomer
Employee
Vendor
Slide 24
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.
Slide 25
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.
Slide 26
The Requirements Workflow
The artifacts created in 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
Slide 27
Artifacts
Use Case Model
Actors
Use casesFlow of Events
Special Requirements
Architecture Description
Glossary
Slide 29
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.
Slide 30
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.
Slide 31
Artifact - Actor
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.
Slide 32
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?
Slide 33
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.
Slide 34
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.
Slide 35
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.
Slide 36
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.
Slide 37
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.
Slide 38
Usecases - Flow of EventsDescribes 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.
Slide 39
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.
Slide 40
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?
Slide 41
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.
Slide 42
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.
Slide 43
Artifact – User Interface PrototypeHelps 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.
Slide 48
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.
Slide 49
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.
Slide 50
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.
Slide 51
Find Actors & Usecases - ActivityFinding the actors
Finding the usecases
Briefly describing the usecase
Describing the usecase model as a whole.
The above steps are performed concurrently.
Slide 52
Find Actors & Usecases - Activity
Business Model
System Analyst
Supplementary Requirements
Feature List
Use-Case Model
[Outlined]
Glossary
Find Actors and Use Cases
Slide 55
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.
Slide 56
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.
Slide 57
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.
Slide 58
Prioritizing Usecases
Business Model
Architect
Supplementary Requirements
Feature List
Architectural Description view of the
usecase modelPrioritizing
Slide 59
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.
Slide 60
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.
Slide 61
Detailing a Usecase
Use-Case Specifier
Supplementary Requirements
Use Case [Detailed]
Detail a Usecase
Use-Case Model
Glossary
Slide 62
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.
Slide 63
What to include in Usecase Desc.Start State as Pre-conditionHow and When the use-case startsRequired 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.
Slide 64
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
Slide 65
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.