Objectives In this lesson, you will learn about : *Object-oriented modeling * Origin and evolution...

download Objectives In this lesson, you will learn about : *Object-oriented modeling * Origin and evolution of UML *Architecture of UML *User View 3 Actor 3 Use.

If you can't read please download the document

description

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

Transcript of Objectives In this lesson, you will learn about : *Object-oriented modeling * Origin and evolution...

Objectives In this lesson, you will learn about : *Object-oriented modeling * Origin and evolution of UML *Architecture of UML *User View 3 Actor 3 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 3Attributes - represent the properties of the class 3Behaviors - 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 viewers 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 3 Inception - This is the first phase of the SDLC process. The idea of a new system is envisaged at this stage 3Elaboration - This is the second phase of the SDLC process. The system vision and architecture are defined at this stage 3Construction - This is the third phase of the SDLC process. The software is coded to form an executable base, which is ready to be deployed 3Transition - 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: 3 The class model describes the static structure 3 The state model represents the dynamic behavior of objects 3 The use case model explains the requirements of the user 3 The interaction model describes the messages flows 3 The implementation model contains the work units 3 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: 3 To provide a simple and ready-to-use expressive visual modeling language 3 To be process-independent 3 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: 3 Banking services 3 Defense systems 3 Distributed Web-based services 3 Enterprise Information systems 3 Medical systems 3 Aerospace systems. UML: The Big Picture User View Structural View Behavioral View Implementation View Environment View 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 users 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: 3 System Users - System users can be human users or other systems that interact directly with the system 3 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: 3 Principal actors people who directly interact with the system. 3 Secondary actors people who are involved in maintenance of the system 3 External hardware The hardware that is a part of system other than the computer that runs an application 3 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 Diagrammatic Conventions for Drawing Use Case Diagrams(Contd.) * Consider the following examples of use cases in the billing system of the department store: 3 Enter Bill Details 3 Calculate Total Amount 3 Print Bill Diagrammatic Conventions for Drawing Use Case Diagrams(Contd.) Enter Bill Details Calculate Total Amount Print Bill 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: Distribute Information Send Application RHR (V) EMP RHR (O) EMP RHR (V) Solution:(Contd.) Match Skills Generate Offer Letter Update Interview Details Arrange Interview EMP RHR (V) Solution:(Contd.) Accept / Reject Offer Letter RHR (V) EMP Transfer Request RHR (O) RHR (V) Solution:(Contd.) Arrange for Transfer Update Transfer Details EMP RHR (V) RHR (O) 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: 3 Abstraction 3 Inheritance 3 Encapsulation 3 Polymorphism * Advantages of object-oriented approach are: 3 Realistic modeling Summary (Contd.) 3 Reusability 3 Resilience to change *The phases in Software Development Life Cycle are: 3 Inception 3 Elaboration 3 Construction 3Transition * UML provides a set of notations and rules for using different kind of systems Summary (Contd.) *The goals of UML are: 3 To provide a simple and ready-to-use expressive visual modeling language 3 To be process independent 3To be language independent Summary (Contd.) * Different kind of views in UML are: 3 The user view 3 The structural view 3 The behavioral view 3 The implementation view 3 The environment view