Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.

Slides:



Advertisements
Similar presentations
Introduction to UML: Structural &Use Case Modeling
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Unified Modeling Language
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Principles of Object-Oriented Software Development Unified Modeling Language.
CS 501: Software Engineering Fall 2000 Lecture 11 Object-Oriented Design I.
© Copyright Eliyahu Brutman Programming Techniques Course.
Unified Modeling Language(UML) BY
The definition and history of creating the UML Lection №1.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
 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 
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Copyright (C), No Magic, Inc Welcome to No Magic!
Technical Module C Object Modeling Objects Object – a valuable resource: Money (Account Receivable) Material (Product) Machines (Delivery Truck) Personnel.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Basic Characteristics of Object-Oriented Systems
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.
Introduction to UML.
Chapter 1: Introduction to Systems Analysis and Design
Evolution of UML.
Object-Oriented Analysis and Design
Introduction to the Unified Modeling Language
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
Software Architecture & Design Pattern
Introduction to UML.
Unified Modeling Language
Introduction to UML.
Introduction to the Unified Modeling Language
Uml diagrams In ooad.
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera

What we learnt so far - Introduction to Software engineering Software life-cycle Software design principles Object Oriented concepts Object Oriented software implementation with JAVA What ‘s next?

What’s next - Object Oriented Analysis Object Oriented Design Determine what to do Extract Objects (modules) Object Oriented Design Determine how to build Unified Modeling Language (UML) Is a modeling language for documenting OO Analysis and Design.

Problem Statement 1. Keep records for all university members. MelbX, a famous Australian University, has committed to a new registration system for the students, employees and academic staff. The university would like to keep records for each type of university member in a centralized filing system. They would like to implement the system using the latest software development technologies. The system should be able to support the following high level requirements. 1. Keep records for all university members. 2. Capability to add new records to the system. 3. Capability to edit specific records. 4. Capability to enrol/unenrol students in subjects. 5. Capability to assign/unassign course to staff. 6. Capability to add/modify/list prerequisites for a course.

Solving the Problem Step 1 - Write Requirements for the system Should be clearly written and unambiguous Should be implementable Should be testable Is not a part of this course Step 2 – Analysis, Design (Modeling) You will be learning in this section….. Step 3 – Implementation You already know…..

Analysis, Design and Implementation Proper analysis and design (modeling) prior to implementation results in a high quality product. Successful projects spend most time on analysis, less on design and even less time on implementation. Analysis Design Implementation

Object Oriented Modeling Processes Rational Unified Process (RUP) – also called the Unified Process. Most widely used modeling process Introduced by Ivar Jacobson, Gary Booch and Jim Rumbaugh Other Object Oriented Modeling Processes Object Oriented Software Process (OOSP) OPEN Process (www.open.org.au) ICONIX Unified Modeling (www.iconixsw.com)

Phases Rational Unified Process Inception Identify the system, what it contains and the business case - Analysis Elaboration Perform the detailed design for the system - Design Construction Write Software Transition Deliver to users.

Introduction to UML Is a graphical modeling language that can be used represent the artifacts of analysis and design. It is a standard that has international support. Was developed by Rational Software – Grady Booch, Jim Rumbaugh and Ivar Jacobson

UML History 1994 – Grady Booch and Jim Rumbaugh started at Rational creating the new notation Grandy Booch – Booch Method Jim Rumbaugh – Object Modeling Technique 1995 – Ivar Jacobson Joined the team Object-Oriented Software Engineering First Version of UML – 0.8 1995 Object Management Group (OMG) agreed to make UML the standard 1996 – Additional companies got involved. Current version of UML is 2.0

UML – Building Blocks Elements (Things) Relationships Diagrams e.g. classes, interfaces etc Relationships e.g. association, generalization Diagrams e.g. class diagrams, use case diagrams

<<interface>> UML - Elements centreX:Int centreY:Int=0 Circle draw() move(Int X, Int Y) centreX:Int centreY:Int=0 CircleA:Circle draw() move(Int X, Int Y) <<interface>> TypeWriter keyStroke() Class Object Interface Shapes Borrow Use-case Component Actor

UML - Relationships Dependency Association Generalization Realization

UML - Diagrams Structural Diagrams Behavioral Diagrams Visualize, specify, construct and document the STATIC aspects of the system. Behavioral Diagrams Visualize, specify, construct and document the DYNAMIC aspects of the system.

UML– Diagrams – cont.. Structural Behavioral Use case Diagram Class Diagram Object Diagram Component Diagram Deployment Diagram Behavioral Use case Diagram Sequence Diagram Collaboration Diagram Statechart Diagram Activity Diagram

UML– Diagrams - Notes Class Diagram shows a set of classes, interfaces and their relationships. Object Diagram shows a set of objects and their relationships. Component Diagram shows the organization and dependencies among a set of of components. Deployment Diagram shows the configuration of run time processing nodes.

UML– Diagrams - Notes Use Case Diagram shows use cases, actors and their relationships. Sequence Diagram shows the interaction between actors and objects and other objects of the system in ordered based on the time they occur. Collaboration Diagram shows the structural organization of the objects that send and receive messages. Statechart Diagram shows a state machine consisting of states, transitions an events. Activity Diagram used to analyze the bahaviour within more complex use-cases.

Life Cycle Phase Diagrams Requirements Object Oriented Analysis Object Oriented Design Development Deployment

Analysis Diagrams Activity UML Diagram Understand System Usage Use-case Diagram Activity Diagram Define Workflows High Level Class Diagram Identify Classes

Design Diagrams Activity UML Diagram Identify Interactions among objects Sequence and Collaboration Diagram Analyze State Changes State Diagram Refine Class Diagrams Class Diagram

UML Modeling Tools Rational Rose Visio Provides complete UML support As many useful capabilities Provides complete object management Visio Many other free tool are available on the web – Be careful since some of them don’t allow printing. Pen and Paper

Reference Reference : UML A Beginner’s Guide - Jason T. Roff