Mais conteúdo relacionado
Semelhante a Crj 3 1-a (20)
Crj 3 1-a
- 1. An Introduction to UML
Objectives
In this lesson, you will learn about :
Object-oriented modeling
Origin and evolution of UML
Architecture of UML
User View
Actor
Use Cases
©NIIT UML /Lesson 1/Slide 1 of 34
- 2. An Introduction to UML
The Object Oriented Approach
The object-oriented approach views a system as a
collection of real-world objects
Object-oriented systems are based on classes
A class categorizes a set of objects that share
common
Attributes - represent the properties of the class
Behaviors - represent the operations that can be
performed by the class
An object is an instance of a class and demonstrates
the attributes and behaviors of the class
©NIIT UML /Lesson 1/Slide 2 of 34
- 3. An Introduction to UML
Features of Object-Orientation
Abstraction - represents the essential characteristics
of an object or a class that differentiates it from other
objects or classes with respect to the viewer’s
perspective
Inheritance - helps you generalize common attributes
and behaviors in separate classes from which various
subclasses can be derived
Encapsulation - helps you hide unnecessary
behaviors or attributes from the user
Polymorphism - is the ability of an object to behave
differently under different circumstances
©NIIT UML /Lesson 1/Slide 3 of 34
- 4. An Introduction to UML
Software Development Life Cycle
Software Development Life Cycle consists of four
phases that any software-intensive system undergoes
Inception - This is the first phase of the SDLC process.
The idea of a new system is envisaged at this stage
Elaboration - This is the second phase of the SDLC
process. The system vision and architecture are defined
at this stage
Construction - This is the third phase of the SDLC
process. The software is coded to form an executable
base, which is ready to be deployed
Transition - This is the last phase of the SDLC process.
The software is handed over to the end user and is
tested for defects
©NIIT UML /Lesson 1/Slide 4 of 34
- 5. An Introduction to UML
Object-Oriented Modeling
Modeling is breaking the complex problem into small
elements and arriving at the solution of the problem
Models help you visualize and specify different parts
of a system
Models also show how different parts are related to
one another and help in visualizing their working
©NIIT UML /Lesson 1/Slide 5 of 34
- 6. An Introduction to UML
Object-Oriented Modeling(Contd.)
UML defines various models in the software
engineering domain. The models and their description
are given below:
The class model describes the static structure
The state model represents the dynamic behavior of
objects
The use case model explains the requirements of the
user
The interaction model describes the messages flows
The implementation model contains the work units
The deployment model contains details that pertain to
process allocation
©NIIT UML /Lesson 1/Slide 6 of 34
- 7. An Introduction to UML
Unified Modeling Language (UML)
Is a standard modeling language used for modeling
software systems of varying complexities
Provides a set of notations and rules for using any kind
of system
Focus is on creating simple, well-documented and
easy-to-understand software models
©NIIT UML /Lesson 1/Slide 7 of 34
- 8. An Introduction to UML
Goals of UML
The goals of the UML are:
To provide a simple and ready-to-use expressive
visual modeling language
To be process-independent
To be language-independent
©NIIT UML /Lesson 1/Slide 8 of 34
- 9. An Introduction to UML
UML is used to:
Visualize the software system with well-defined
symbols
Specify the software system and help in building
precise, unambiguous, and complete models
Construct models of the software system that can
directly communicate with a variety of programming
languages
Document models of the software system by
expressing requirements of the system during its
development and deployment stages
©NIIT UML /Lesson 1/Slide 9 of 34
- 10. An Introduction to UML
Where is UML Used?
Some of the most common domains where UML is
being currently used are:
Banking services
Defense systems
Distributed Web-based services
Enterprise Information systems
Medical systems
Aerospace systems.
©NIIT UML /Lesson 1/Slide 10 of 34
- 11. An Introduction to UML
UML: The Big Picture
Structural View Implementation View
User View
Behavioral View Environment View
©NIIT UML /Lesson 1/Slide 11 of 34
- 12. An Introduction to UML
Views in UML
User View – represents the goals and objectives of the
system
Structural View – represents the static or idle state of
the system
Behavioral View – represents the dynamic or changing
state of the system
Implementation View – represents the distribution of
the logical elements of the system
Environment View – represents the distribution of the
physical elements of the system
©NIIT UML /Lesson 1/Slide 12 of 34
- 13. An Introduction to UML
Context and Environment of a System
A system addresses a problem and provides solutions
to the problem within a framework. This framework is
referred to as the context of a system
The environment of a system specifies the functionality
of the system from the user’s point of view
©NIIT UML /Lesson 1/Slide 13 of 34
- 14. An Introduction to UML
The User View of a System
Represents the goals and objectives of various users
and their requirements from the system
Represents that part of the system with which the user
interacts
Consist of:
System Users - System users can be human users
or other systems that interact directly with the
system
Actors - Actors are the elements that lie outside the
system, and therefore are called the external
entities of a system. They are used to model
system users
©NIIT UML /Lesson 1/Slide 14 of 34
- 15. An Introduction to UML
Actors
Are divided into four main categories:
Principal actors – people who directly interact with
the system.
Secondary actors – people who are involved in
maintenance of the system
External hardware – The hardware that is a part of
system other than the computer that runs an
application
Other systems –The external systems with which
your system needs to interact for its working
©NIIT UML /Lesson 1/Slide 15 of 34
- 16. An Introduction to UML
Problem Statement 1.D.1
One of the sources used by Tebisco for recruiting
personnel is the internal job postings process.
Whenever a vacancy arises, the Human Resource
(HR) head of the region informs all the employees of
that region and also sends the information to other
regional HR heads inviting applications. The other
regional HR heads then place the vacancy information
on the notice board. All interested employees send
their applications to the HR head of the region where
the vacancy exists.
Identify the various actors interacting with the system.
©NIIT UML /Lesson 1/Slide 16 of 34
- 17. An Introduction to UML
Solution:
The actors identified are:
Regional HR head where a vacancy exists, denoted as
RHR(V)
Other Regional HR head, denoted as RHR(O)
All employees of Tebisco, denoted as EMP
©NIIT UML /Lesson 1/Slide 17 of 34
- 18. An Introduction to UML
Problem Statement 1.P.1
Employee referrals are one of the best sources used for
recruiting external candidates at Tebisco. In this process
an employee recommends a candidate. Whenever a
vacancy arises, the HR head of the region informs all the
employees of that region and also sends the information
to other regional HR heads inviting applications. The
regional HR head then places the vacancy information
on the notice board. Employees send the details of
candidates being recommended by them to the HR head
of the region where the vacancy exists. After an
employee sends in the recommendation, the regional HR
head sends an acknowledgement of the receipt of the
application to the candidate.
Identify the various actors interacting with the system.
©NIIT UML /Lesson 1/Slide 18 of 34
- 19. An Introduction to UML
Use Cases
Consist of elements that lie inside the system
Are responsible for functionality and behavior of the
system
Are set of transactions performed by the system when
an actor initiates an event or an action
Represent all the possible events that can occur in all
possible scenarios
©NIIT UML /Lesson 1/Slide 19 of 34
- 20. An Introduction to UML
Diagrammatic Conventions for Drawing
Use Case Diagrams
The user view of a system consists of use case
diagrams
A use case diagram contains actors, use cases, and
their relationships
A use case diagram represents the functionality
provided by the system to external entities
Use case diagrams consist of actors and use cases
©NIIT UML /Lesson 1/Slide 20 of 34
- 21. An Introduction to UML
Diagrammatic Conventions for Drawing
Use Case Diagrams(Contd.)
Following is the diagrammatic representation of use
case diagrams
Use Case Name
Actor Name
©NIIT UML /Lesson 1/Slide 21 of 34
- 22. An Introduction to UML
Diagrammatic Conventions for Drawing
Use Case Diagrams(Contd.)
Consider the following examples of use cases in the
billing system of the department store:
Enter Bill Details
Calculate Total Amount
Print Bill
©NIIT UML /Lesson 1/Slide 22 of 34
- 23. An Introduction to UML
Diagrammatic Conventions for Drawing
Use Case Diagrams(Contd.)
Enter Bill Details
Clerk
Calculate Total
Amount
Print Bill
Clerk
©NIIT UML /Lesson 1/Slide 23 of 34
- 24. An Introduction to UML
Problem Statement 1.D.2
In the internal job postings process, the HR head of the
region where a vacancy exists informs the employees of
that region and other regional HR heads. The other
regional HR heads inform employees by putting up a
notice with the vacancy information.
In response to this information, employees from various
regions send their applications to the HR head of the
region where the vacancy exists.
The skills of the applicants are then matched with the
skills required for the vacancy. Applicants who possess
the required skills are short-listed and an interview
schedule is drawn. The short-listed applicants are
informed about the interview schedule.
©NIIT UML /Lesson 1/Slide 24 of 34
- 25. An Introduction to UML
Problem Statement 1.D.2 (Contd.)
Based on the interview proceedings, interview details are
updated and all the selected applicants are given a new
offer letter. The applicant informs the HR head of the
region where the vacancy exists, either by accepting or
declining the offer letter. After the employee accepts the
offer letter, a transfer request is sent to the HR head of
the current region of the employee. The respective
region processes the transfer details and sends it to the
new region where the employee has been transferred.
The new region then updates the employee details and
sends the transfer documents to the employee.
Identify the various use cases involved in the internal job
postings process and represent the user view of the
system.
©NIIT UML /Lesson 1/Slide 25 of 34
- 26. An Introduction to UML
Solution:
Distribute
RHR (O)
Information
RHR (V)
EMP
Send Application
EMP RHR (V)
©NIIT UML /Lesson 1/Slide 26 of 34
- 27. An Introduction to UML
Solution:(Contd.)
Match Skills
RHR (V)
Arrange Interview
EMP
Update Interview
Details
RHR (V)
Generate Offer
Letter
EMP
©NIIT UML /Lesson 1/Slide 27 of 34
- 28. An Introduction to UML
Solution:(Contd.)
Accept / Reject Offer
Letter
EMP RHR (V)
Transfer Request
RHR (V) RHR (O)
©NIIT UML /Lesson 1/Slide 28 of 34
- 29. An Introduction to UML
Solution:(Contd.)
Arrange for Transfer
RHR (O) RHR (V)
Update Transfer
Details
RHR (V) EMP
©NIIT UML /Lesson 1/Slide 29 of 34
- 30. An Introduction to UML
Problem Statement 1.P.2
Dual Infosys Inc is going in for workflow automation. One
of the workflows that they want to automate is leave
processing. The process followed by Dual Infosys Inc is
discussed below.
The employee sends an application for a leave to the
supervisor. Supervisor sanctions or rejects the leave
application and sends it to the HR Operations (HR(O)).
HR(O) verifies the leave balance and processes the
leave by updating the leave details and sends the
approval to the employee.
Identify the various use cases involved in the employee
referral process of leave application and represent the
user view of this system.
©NIIT UML /Lesson 1/Slide 30 of 34
- 31. An Introduction to UML
Summary
In this lesson you learned that:
A class is a set of objects that share common
attributes and behaviors.
Features of object-orientation are:
Abstraction
Inheritance
Encapsulation
Polymorphism
Advantages of object-oriented approach are:
Realistic modeling
©NIIT UML /Lesson 1/Slide 31 of 34
- 32. An Introduction to UML
Summary (Contd.)
Reusability
Resilience to change
The phases in Software Development Life Cycle are:
Inception
Elaboration
Construction
Transition
UML provides a set of notations and rules for using
different kind of systems
©NIIT UML /Lesson 1/Slide 32 of 34
- 33. An Introduction to UML
Summary (Contd.)
The goals of UML are:
To provide a simple and ready-to-use expressive
visual modeling language
To be process independent
To be language independent
©NIIT UML /Lesson 1/Slide 33 of 34
- 34. An Introduction to UML
Summary (Contd.)
Different kind of views in UML are:
The user view
The structural view
The behavioral view
The implementation view
The environment view
©NIIT UML /Lesson 1/Slide 34 of 34