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.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Unified Modeling Language
Ch 12: Object-Oriented Analysis
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Introduction To System Analysis and design
BCS 2143 Introduction to Object Oriented and Software Development.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Chapter 1: Introduction to Systems Analysis and Design
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
An Introduction to the Unified Modeling Language
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
Introduction to OOAD and UML
UML Diagrams By Daniel Damaris Novarianto S..
Chapter 1: Introduction to Systems Analysis and Design
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Business System Development
Object-Oriented Analysis and Design
Unified Modeling Language
Business System Development
Unified Modeling Language
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Software Design Lecture : 15.
Chapter 1: Introduction to Systems Analysis and Design
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

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 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 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 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: 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