UML and Object Oriented Concepts

Slides:



Advertisements
Similar presentations
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Advertisements

Unified Modeling Language
Object-Oriented Analysis and Design
UMLにおける実体指向. Object-oriented concepts have been around since the 1970s. A variety of programming languages, including C++, Smalltalk, Java, and Eiffel,
Chapter 1 Object-Oriented System Development
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Introduction to UML Visual modeling Models and its importance
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
Object-oriented Programming Concepts
Chapter Assistance -- Lamimi V. Kamat February 14, 1999 R. A. Volz1 OBJECT ORIENTED MODELING, CONCEPTS AND PRINCIPLES Chapter 20.
Itntroduction to UML, page 1 Introduction to UML.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Unified Modeling Language(UML) BY
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Introduction to Object-oriented programming and software development Lecture 1.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
CSCI-383 Object-Oriented Programming & Design Lecture 9.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Object Oriented Design and Programming Alan Goude Room: Sheaf 9323.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Unified Modeling Language, Version 2.0
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Object Oriented Programming Principles Lecturer: Kalamullah Ramli Electrical Engineering Dept. University of Indonesia Session-3.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
16 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 7 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 
Object-Oriented Paradigm and UML1 Introduction to the Object- Oriented Paradigm.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Design Jon Walker. More UML ● What is UML again?
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Copyright © Active Frameworks Inc. - All Rights Reserved - V2.0Design Pattern Catalog - Page L3-1 PS95&96-MEF-L10-1 Dr. M.E. Fayad Creationa.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
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.
CS 6502-OBJECT ORIENTED ANALYSIS AND DESIGN TOTAL : 40 Questions CLASS : III CSE.
1 Unified Modeling Language, Version 2.0 Chapter 2.
OOP Review CS 124.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
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
Chapter 11 Inheritance © 2008 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. Marilyn Bohl/Maria Rynn Tools for Structured and Object-Oriented.
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.
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.
Object Oriented Systems Design
Introduction to UML.
Unified Modeling Language (UML)
Object-Oriented Analysis and Design
Object-Oriented Modeling with UML
Systems Analysis and Design With UML 2
Object-Oriented Modeling and Design
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Introduction to UML.
Presentation transcript:

UML and Object Oriented Concepts

Outline UML Object Oriented Concepts What is UML UML History Why UML UML Diagrams and Work Products Object Oriented Concepts Visual Paradigm for UML – As UML tool

What is UML? UML enables system developers to specify, visualize, and document models in a manner that supports scalability, security, and robust execution. Because UML modeling raises the level of abstraction throughout the analysis and design process, it is easier to identify patterns of behavior and thus define opportunities for refactoring and reuse UML models can be precise enough to generate code or even the entire application

What is UML? UML modeling facilitates the creation of modular designs resulting in components and component libraries that expedite development and help insure consistency across systems and implementations. Automated test suites can verify the accuracy of the model. When coupled with tools to compile the UML model, the model can even be executed before any code exists

What is UML? Unified: It represents the evolutionary unification of Grady Booch, James Rumbaugh, and Ivar Jacobson experience with other industry engineering best practices. Modeling: it focuses on how we understand the world around us Language: it provides a best-of-breed mechanism for capturing, communicating, and leveraging problem-solving artifacts.

UML History 1970s: number of methods were developed to exploit the new object-oriented (OO) programming concepts Models Vs. Codes legs on a three-legged stool Object-Oriented Software Engineering (OOSE), developed by Ivar Jacobson James Rumbaugh developed the Object-Modeling Technique (OMT) The Booch method, developed by Grady Booch October 1994: Grady Booch and Jim Rumbaugh, working at Rational Software Corp. 1995: first UML (0.8) Objectory Company joined Rational Software Corp. 1996: UML 0.9 and 0.9.1 1997: UML 1.0 and 1.1 Then: 1.3, 1.4, 1.4.1 and 2.0

Why UML Communication, general-purpose, broadly applicable, tool-supported, and industry standardized. UML knowledge can be applied to improve value by increasing quality, reducing costs, and reducing time-to market while managing risks and being proactive to ever-increasing change and complexity.

UML Diagrams and Work Products Model Management diagrams include Packages, which are used to represent Subsystems, Models, and more. Structural diagrams include the Class diagram, Object diagram, Composite Structure diagram, Component diagram, Deployment diagram, and the Combined Component and Deployment diagram. Behavioral diagrams include the Use Case diagram, Activity diagram, Interaction diagrams Each diagram reveals a unique yet overlapping view of a system

Object Oriented Concepts Object orientation concept is nearly thirty years old. Object oriented languages: Simula firsts OO programming language Smalltalk Objective C Object Pascal C++ Object Cobol Add 9 Java C#

Object Oriented Concepts Object orientation is so called because this method sees things that are parts of the real world as objects. Anything that you can describe can be represented as an object, and that representation can be created, manipulated, and destroyed to represent how you use the real object that it models.

Object Definition: An object is a software bundle of variables and related methods. bicycle bicycle instance software object that modeled your real-world bicycle

Class One cow makes moo- many cows make moolah. Definition: A class is a blueprint, or prototype, that defines the variables and the methods common to all objects of a certain kind.

Class

Encapsulation Encapsulation is a way to organize the many types of information and behavior so that objects can be used as efficiently and effectively as possible. Encapsulation states that when designing an object we should separate what we know about the object according to two concepts: The minimum information needed to use the object. The information required to make the object work properly.

Encapsulation car interface

Encapsulation To use an object: we need interface To make the object work properly: we need to provide the mechanisms that respond to the interface (behaviors, data that describes the object's structure and object's current state) Purpose objects with same interface should have different purposes

Applying encapsulation Encapsulation of an object requires us to expose Its purpose, so you can select the proper object for the application you have in mind. Its interfaces, so you know how to use the object. Encapsulation of an object requires us to hide. The implementation that provides the behavior requested through the interfaces. The data within the object that defines the structure that supports its behavior. The data within the object that tracks the state of the object, its condition at any given point in time.

Defining associations and links A link is a relationship between two objects. An association is a relationship between two classes. Associations (and links) take on three different forms: Association Aggregation Composition

Association The simplest form, association, is a peer-to-peer relationship.

Aggregation Special type of association Indicates that the participating objects are not just independent objects that know about each other. Instead, they are assembled or configured together to create a new, more complex object.

Composition Composition is used for aggregations in which the life span of the part depends on the life span of the aggregate object

Inheritance We use the generalization process to create generalizations routinely to organize large amounts of information

Polymorphism "poly“ means many and "morph" means shape Polymorphism is based on polymorphic methods. A polymorphic method behaves differently, depending on the object type it is called with. On the outside, all calls to a polymorphic method look identical. The method identifies by itself the type of the object and behaves accordingly

Polymorphism Generalization is one way to accomplish polymorphism. Another way is to define a special kind of abstract class called an interface class

Measuring Quality OO concepts alone do not ensure a quality object-oriented model. Cohesion and coupling are two common principles which are used to measure the quality of Object oriented model

Cohesion Cohesion is a measure of how well the parts of an object support the same purpose Cohesion measures two factors: how well-defined the purpose of the object is whether every part of the object contributes directly to fulfilling the purpose.

Coupling Coupling is a measure of the degree of dependency between objects

Questions and comments