Upload
idalee
View
15
Download
0
Embed Size (px)
DESCRIPTION
Requirements Modeling. Few questions. What are models? Why do we model? What do we model?. Lets understand this paragraph. ABC Technologies carries out 2 kinds of projects Milestone based – Billed at end of a milestone Time and Material – Billed on based on effort spent in a period - PowerPoint PPT Presentation
Citation preview
Requirements Modeling
Few questions
What are models?
Why do we model?
What do we model?
(c) Adaptive Processes Consulting Be with the Best!
4
Lets understand this paragraph
• ABC Technologies carries out 2 kinds of projects– Milestone based – Billed at end of
a milestone– Time and Material – Billed on
based on effort spent in a period• Milestone based projects are
invoiced at the end of a milestone as per agreement with the client.
• T&M projects are billed on monthly basis based on effort spent in the project or a fixed amount based on agreement with client
• For domestic project, service tax needs to be applied.
(c) Adaptive Processes Consulting Be with the Best!
5
Lets look at this picture
(c) Adaptive Processes Consulting Be with the Best!
6
Which one will the developer get it correct?
Video on Need for Modelling (iRise Video)
(c) Adaptive Processes Consulting Be with the Best! 7
What are models• Models are simplified
representation of reality• They abstract and simplify
reality• Models are represented by text
and by diagrams• Models are likely to be less
mis-understood by practitioners
• Models is wide usage are– Data models such as Entity
Relationship diagrams, Class diagrams
– Activity models such as Activity Diagrams and Process Models
– Decision models such as Flow Charts, Decision Tree, Decision Tables
– Roles(c) Adaptive Processes Consulting Be with the Best!
8
What do we model• Concepts
– Relationship between concepts
– Generalization and inheritance
• Events• Actors
– Roles
(c) Adaptive Processes Consulting Be with the Best!
9
Modeling systems• Structured system
analysis and design– Entity relationship
diagram– Data flow diagram
• Use case modeling
(c) Adaptive Processes Consulting 10
Modeling data• Data attributes that the
organization (system) needs to maintain
• Grouping of data attributes (Entities)
• Relationships between the entities• Entities can be
– Physical– Conceptual
• Entity Type Vs. Entity Occurrence
(c) Adaptive Processes Consulting 11
Entity relations• One to One
– May not require additional entity• One to Many
– Office to Employees– Mandatory– Optional
• Many to Many– Books and Publishers
(c) Adaptive Processes Consulting 12
Object modeling• Objects
– Items for which system maintains data
• Class– Object Type– Attributes– Methods– Optional
• Inheritance and generalization
(c) Adaptive Processes Consulting 13
How is object oriented development different from structured approach?
Use Case Modeling
Use case modeling• A use case is a scenario that
describes the use of a system by an actor to accomplish a specific goal.
• An actor is a user playing a role with respect to the system - people, other systems.
• Scenario - A sequence of steps that describe the interactions between an actor and the system.
• The use case model consists of the collection of all actors and all use cases.
• Capture the system's functional requirements from the users' perspective
• Actively involve users in the requirements-gathering process
• Provide the basis for identifying major classes and their relationships
• Serve as the foundation for developing system test cases
Sample use case model• Actor
– User role– Another system– Time
• Use Case• System Boundary• Use case associations
– Include - Included use case embodies common behavior
– Extend - Extending use case adds behavior
(c) Adaptive Processes Consulting 16
http://www.zicomi.com/viewUseCaseDiagram.jsp
Use case diagram
(c) Adaptive Processes Consulting 17
Set up Project
Assign Resources
Track Progress
Print Progress Report
Provide Invoice Data
Print Personal Schedule
Summarize Projects
Identify Projects
Project Manager
Programm Manager
Team Member
<<
incl
ude>
>
<<
incl
ude>
>
<<inclu
de>>
<<include>>
<<
exte
nd
>>
<<actor>>
Finance system
Project Control System
18
Scenarios Scenario is another
name for a particular flow of events.
A use case covers a range of situations – a scenario is just one.
Each use case typically has:
– a main flow describing the “happy path”
– alternate flows describing major exceptions
Several alternatives exist for specifying the use case scenarios.
Class diagram
(c) Adaptive Processes Consulting Be with the Best!
19
Concepts in Class diagram
• Association– A relationship between instances of the two classes. There
is an association between two classes if an instance of one class must know about the other in order to perform its work. In a diagram, an association is a link connecting two classes.
• Composition / Aggregation– An association in which one class belongs to a collection.
An aggregation has a diamond end pointing to the part containing the whole. In our diagram, Order has a collection of OrderDetails.
• Generalization– an inheritance link indicating one class is a super class of
the other. A generalization has a triangle pointing to the super class. Payment is a super class of Cash, Check, and Credit
(c) Adaptive Processes Consulting Be with the Best!
20
Concepts in Class diagram
• Multiplicity– Multiplicity of an association end is the number of
possible instances of the class associated with a single instance of the other end. Multiplicities are single numbers or ranges of numbers. In our example, there can be only one Customer for each Order, but a Customer can have any number of Orders.
• Navigability– A navigability arrow on an association shows which
direction the association can be traversed or queried. An OrderDetail can be queried about its Item, but not the other way around. The arrow also lets you know who "owns" the association's implementation; in this case, OrderDetail has an Item. Associations with no navigability arrows are bi-directional.
(c) Adaptive Processes Consulting Be with the Best!
21
MultiplicitiesMeaning
0..1zero or one instance. The notation n . . m indicates n to m instances.
0..* or *no limit on the number of instances (including none).
1 exactly one instance1..* at least one instance
Package diagram
(c) Adaptive Processes Consulting Be with the Best!
22
How and when package diagrams are useful?
23
Activity diagram• Activity diagrams are an
easy way to represent the high-level flow of activity.
• Show how activities connect to one another in a process.
• Sequential or concurrent activities
• Often used to:– model the flow of events in
a use case– model business processes– model internal system
processes• Not easy to tell who is
responsible for the behavior.
How and when activity diagrams are useful?
24
State diagram Use case analysis often
reveals state-based behavior.
Exception flows may occur based on state.
The user may operate directly on the state of something in the system.
How and when state diagrams are useful?
Open
Implemented
Assigned
Fixed
Cancel
Prototyping
(c) Adaptive Processes Consulting Be with the Best!
26
Demo of Process Modeling Tool – BizAgi Process Modeler
(c) Adaptive Processes Consulting Be with the Best! 27
Demo of UML Tool – STAR UML
(c) Adaptive Processes Consulting Be with the Best! 28
Lets develop a sample process model and Use case
diagram for training process.
Time : 30 Minutes
(c) Adaptive Processes Consulting Be with the Best! 29