Introduction to UML and Patterns for effective Use case
What is UML?
•UML means Unified Modeling language.
Modeling language or Model
•Model means the final representation of product.
•UML is a standard language for designing and documenting a system.•UML is language use to define what system going to perform and how to perform .•Its is not pictorial representation but its graphical representation about system.•It is not a methodology, it is a language
•For example if you are building house or Bridge or something civil engineer first make model and taking model works make final output. Same way in software we can use this Model much before coding and execution.• UMl is language by which a technical architect can communication with developer
•Structural diagrams illustrate the static features of a model.
Structural Diagrams:
•Static features include classes and association, objects and links, and collaborations. These static features provide the framework in which the dynamic elements of the model execute. For example
•A Class defines the behaviors that types of objects can provide.•An association defines the type of relationship that objects can participate in.•A Deployment diagram models pieces of hardware (and people) that can perform work.•Components define pieces of software and procedures that need to be
deployed to processors.
Behavioral Diagrams:
•Behavioral diagrams describe how the resources modeled in the Structural diagrams interact and how they each execute their capabilities.
•The behavioral diagram puts the resources in motion, in contrast to the structural view, which provides a static definition of the resources.
The Use Case diagram models the users' expectation for using the system. The people and systems that interact with the target system are called actors.
Use Case diagram:
The features of the system that the actors use are called use cases. Some use cases interact with other use cases, a relationship modeled using dependency arrows.The goal of the Use Case diagram is to identify all the features that the clients expect the system to support, but it does not reveal any details about the implementation of these features.
Use cases can be written many different ways but the most common is to represent a view of the system from outside the system.
OverviewThe Use Case diagram is a unique graphical element, in that it is a diagram used to model how people expect to use a system. The diagram describes who the relevant users will be, the services they require of the system, and the services they need to provide to the system.
So use case diagrams are consists of actors, use cases and their relationships.
Use Case Elements:
Actors:
Use Cases:
Relationships:
Include, Extend and Generalization
•Now as we have to discuss that the use case diagram is dynamic in nature there should be some internal or external factors for making the interaction.•Actors can be defined as something that interacts with the system.
•A single use case diagram captures a particular functionality of a system.
Include:
•Must relationship•Within an include relationship, one use case explicitly includes the behavior of another use case at a specified point within a course of action.•The included use case doesn't stand alone; it has to be connected with one or more base use cases.
Add To Watch
list
Checkout
Login
<<INCLUDE
>>
<<INCLUDE>>
Extend:
•Optional Relationship •You generally use this construct to factor out behavior that's optional or that occurs only under certain conditions
Check Order Status
Cancel Order
<<EXTEND>>
Often called as Manage Users
Brief Description:•This use case explains the process of Create, update ,Delete and Search of any User in the system.
Case Study: CRUD Operations
Use Cases Relationship:Actors: Pre-conditions
<<INCLUDE>><<EXTEND>>
Admin
Create User
Update User
Search User
Delete User
Only Administrator
Manage User
Basic Flow of Events:Create User:
Update User:
•Admin will go to the User creation form of the system•Admin will fill all the required information in the form•Admin will submit the form•Acknowledgement will shown to user about success/failure of the request
•Admin will go to the User lookup (for search) form of the system•System will display a list of User based on the criteria filled by the user. •Admin Updates the User information
•System validated the data sent by AdminDelete User:•Admin will go to the User lookup (for search) form of the system•System will display a list of User based on the criteria filled by the user. •Admin Delete the User information
•System validated the data sent by Admin
Manage User Admin: CRUD Operations
Manage User
Create User
<<INCLUDE>>
Update User
Search User
Admin
<<INCLUDE>>
<<EXTEND>>
Delete User
<<INCLUD
E>>
<<EXTEND
>>
System Boundary
Post Conditions:
•User details will be created/updated and reflected everywhere in the system•An successful operation message would be displayed to administrator
Exceptions:
If user don’t have sufficient permission then he will not be able to create/update User
Defining the Use Case Approach:You need to answer questions such as the
following:•What functionality do we need to include and exclude?
•How does this system relate to other systems in our architecture?
•Who will use the system?
•Who or what does the system depend on?
•What products and/or results does the system provide?
•Why do the users/other systems need the specific set of features that this system provides?
Advantages OF Use Case
Independent Of programming language.
•Communication with programmers and outside contractors will be more efficient•The right decisions are made before you are given poorly written code.
•Easy to understand and provide overall grip on project.
Ecommerce Case Study
Flow Diagram Use Case
Add Item to Cart
Item In
Basket?
Check Out
Add More Items
End Transaction
New Customer?
Enter Login Details
Enter Account Details
Create Account
Account Details Correct
?
Make Payment
Confirm Order
NO
YES
NO
YES
NO
YES Account
Register Confirmation
Confirm Payment
NO
YES
Create Invoice
Place Order Order
InvoiceInvoice
End Transaction
Use Cases for Customer, Merchant and Admin
Search Products
Customer
Send Notificati
on<<INCLUDE>>
Buy Product
Write Product Review
Update Databas
e
<<INCLUDE>>Authentica
te User/Login
<<INCLUDE>
>
SearchProduct
View Product
<<INCLUD
E>><<IN
CLUD
E>>
System Boundary
Search Product Use Case
Use Case Merchant Account
Merchant
Add/Delete Product
Add/Delete Image
Change Passwor
d
Edit Persona
l Profile
View Product
Login
Update Databas
e
<<INCLUD
E>>
<<INCLUDE>>
<<INCLUD
E>>
<<INCLUD
E>>
Authenticate User<<INCLUD
E>>
System Boundary
Merchant Account
Upload Images
<<INCLUDE>
>
Use Case Admin Account
Admin
Add/Delete Product
Add/Delete
Merchant Account
Add/Delete
Merchant Ac.
Send mail/Newsletter
Backup Database
Add/Delete Image
Add/Delete
Reviews.Add/
Delete Customer Account.
Update Databas
e
<<INCLUDE>>
<<INCLUDE>><<INCLUDE>><<INCLUD
E>><<INCLUD
E>><<INCLUD
E>>
Upload Image
<<INCLUDE>>
Write Backup
File
<<INCLUDE>>
System Boundary
Admin Account
Send Notificatio
n
<<INCLUDE>>
<<INCLUDE
>>
Thank you!!