Upload
prashanth-shivakumar
View
140
Download
0
Tags:
Embed Size (px)
Citation preview
Objectives
In this lesson, you will learn about :
Object-oriented modeling
Origin and evolution of UML
Architecture of UML
User View
Actor
Use Cases
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
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
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
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
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
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
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
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
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.
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
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
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
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
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.
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
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.
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
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
Diagrammatic Conventions for Drawing
Use Case Diagrams(Contd.)
Following is the diagrammatic representation of use case diagrams
<Actor Name>
<Use Case Name>
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
Diagrammatic Conventions for Drawing
Use Case Diagrams(Contd.)
Enter Bill Details
Calculate Total Amount
Print Bill
Clerk
Clerk
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.
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.
Solution:(Contd.)
Match Skills
Generate Offer Letter
Update Interview Details
Arrange Interview
EMP
EMP
RHR (V)
RHR (V)
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.
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
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
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