420 likes | 804 Views
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
E N D
Few questions What are models? Why do we model? What do we model? (c) Adaptive Processes Consulting Be with the Best!
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!
Lets look at this picture Which one will the developer get it correct? (c) Adaptive Processes Consulting Be with the Best!
Video on Need for Modelling (iRise Video) (c) Adaptive Processes Consulting Be with the Best!
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!
What do we model • Concepts • Relationship between concepts • Generalization and inheritance • Events • Actors • Roles (c) Adaptive Processes Consulting Be with the Best!
Modeling systems • Structured system analysis and design • Entity relationship diagram • Data flow diagram • Use case modeling (c) Adaptive Processes Consulting
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
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
Object modeling • Objects • Items for which system maintains data • Class • Object Type • Attributes • Methods • Optional • Inheritance and generalization How is object oriented development different from structured approach? (c) Adaptive Processes Consulting
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 http://www.zicomi.com/viewUseCaseDiagram.jsp (c) Adaptive Processes Consulting
Use case diagram Project Control System Set up Project Identify Projects <<include>> Assign Resources ProjectManager Track Progress <<include>> <<include>> <<extend>> <<include>> <<actor>> Finance system Print Progress Report Provide Invoice Data Print Personal Schedule Summarize Projects Team Member ProgrammManager (c) Adaptive Processes Consulting
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. Scenarios
Class diagram (c) Adaptive Processes Consulting Be with the Best!
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!
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!
Package diagram How and when package diagrams are useful? (c) Adaptive Processes Consulting Be with the Best!
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?
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. State diagram Open Assigned Fixed Implemented Cancel How and when state diagrams are useful?
Demo of Process Modeling Tool – BizAgi Process Modeler (c) Adaptive Processes Consulting Be with the Best!
Demo of UML Tool – STAR UML (c) Adaptive Processes Consulting Be with the Best!
Lets develop a sample process model and Use case diagram for training process. Time : 30 Minutes (c) Adaptive Processes Consulting Be with the Best!