Real-time (OO) Systems Design Using UML

Slides:



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

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
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
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Object-Oriented Analysis and Design
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
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.
© Copyright Eliyahu Brutman Programming Techniques Course.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Systems Analysis and Design in a Changing World, 3rd Edition
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
UML Review of diagram types. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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.
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
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.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Chapter 5 – System Modeling
Systems Analysis and Design in a Changing World, Fourth Edition
UNIT 1.
The Movement To Objects
Course Outcomes of Object Oriented Modeling Design (17630,C604)
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
Analysis and Design with UML: Discovering Classes and Relationships
Use Case Model Use case diagram.
Week 10: Object Modeling (1)Use Case Model
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
Analysis and Design with UML: Discovering Classes and Relationships
Business System Development
The Object Oriented Approach to Design
Unified Modeling Language
Inheritance B.Ramamurthy 11/7/2018 B.Ramamurthy.
Analysis and Design with UML: Discovering Classes and Relationships
Introduction to UML.
Introduction to the Unified Modeling Language
Chapter 20 Object-Oriented Analysis and Design
Object oriented analysis and design
Appendix A Object-Oriented Analysis and Design
Introduction to the Unified Modeling Language
Software Design Lecture : 15.
Unified Modeling Language
Copyright 2007 Oxford Consulting, Ltd
Analysis and Design with UML: Classes and Relationships
Enterprise Computing: An Overview
Software Design Methodologies and Testing
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Appendix A Object-Oriented Analysis and Design
Appendix 3 Object-Oriented Analysis and Design
UML Design for an Automated Registration System
Presentation transcript:

Real-time (OO) Systems Design Using UML Bina Ramamurthy 12/25/2018 B.Ramamurthy

Introduction Purpose of this course is to provide the foundation for incorporating Object-Oriented Analysis and Design (OOAD) into your Software Development and Engineering Process. We will do that by learning Fundamental OO concepts, and A tool for OO analysis and design representation: Unified Modeling Language (UML). 12/25/2018 B.Ramamurthy

Major Goals OOAD and UML OO Principles Analysis and Design using UML Miscellaneous Topics -- Encapsulation --- class, object -- Relations --- Aggregation --- Association -- Inheritance -- Polymorphism -- Interface & Implementations -- Composition -- Requirement Analysis --- Use-case diagram -- OO Analysis and Design --- Class diagram --- Sequence, collaboration, activity diagram --- State diagram -- System Architecture --- Deployment diagram -- UML Tool -- Model Driven Architecture (MDA) -- Core components -- Classes, Responsibility Collaboration (CRC) Cards --- discovering classes -- Model-View-Controller (MVC) 12/25/2018 B.Ramamurthy

Object-Oriented Principles (OOP) Encapsulation (class) -- Information Hiding -- Separation of Interface and Implementation -- Standardization -- Access Control mechanisms (private /public/protected) Inheritance -- Hierarchy -- Reusability -- Extensibility -- Expressive power -- Reflects many real-world problems Polymorphism -- Many forms of same function -- Runtime Binding -- Abstract Classes -- Interfaces -- Uniformity 12/25/2018 B.Ramamurthy

Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh with contributions from other leading methodologists, software vendors, and many users. The UML provides the application modeling language for: Business process modeling/ Requirement Analysis with Use-cases. Static Design with Class and object modeling. Dynamic Design with sequence, collaboration and activity diagrams. Component modeling. Distribution and deployment modeling. See http://www.omg.org/uml http://www.rational.com/uml/resources/documentation/index.jsp http://www.cetus-links.org/oo_uml.html http://www.softwaremag.com/archive/2001apr/umlmodelsebiz.html 12/25/2018 B.Ramamurthy

Phases of System Development Requirement Analysis The functionality users require from the system Use-case model OO Analysis Discovering classes and relationships Class diagram OO Design Result of Analysis expanded into technical solution Sequence diagram, state diagram, etc. Results in detailed specs for the coding phase Implementation (Programming/coding) Models are converted into code Testing Unit tests, integration tests, system tests and acceptance tests. 12/25/2018 B.Ramamurthy

Use-Case Modeling In use-case modeling, the system is looked upon as a black box whose boundaries are defined by its functionality to external stimuli. The actual description of the use-case is usually given in plain text. A popular notation promoted by UML is the stick figure notation. We will look into the details of text representation later. Both visual and text representation are needed for a complete view. A use-case model represents the use-case view of the system. A use-case view of a system may consist of many Use-case diagrams. An use-case diagram shows (the system), the actors, the use-cases and the relationship among them. 12/25/2018 B.Ramamurthy

Components of Use-case Model The components of a Use-case model are: System Modeled Actors Use-cases Stimulus System Name name Use-case 12/25/2018 B.Ramamurthy

System As a part of the use-case modeling, the boundaries of the system are developed. System in the use-case diagram is a box with the name appearing on the top. Defining a system is an attempt to define the catalog of terms and definitions at an early stage of the development of a business model. 12/25/2018 B.Ramamurthy

Actors An actor is something or someone that interacts with the system. Actor communicates with the system by sending and receiving messages. An actor provides the stimulus to activate an Use-case. Message sent by an actor may result in more messages to actors and to Use-cases. Actors can be ranked: primary and secondary; passive and active. Actor is a role not an individual instance. 12/25/2018 B.Ramamurthy

Finding Actors The actors of a system can be identified by answering a number of questions: Who will use the functionality of the system? Who will maintain the system? What devices does the system need to handle? What other system does this system need to interact? Who or what has interest in the results of this system? 12/25/2018 B.Ramamurthy

Use-cases A Use-case in UML is defined as a set of sequences of actions a system performs that yield an observable result of value to a particular actor. Actions can involve communicating with number of actors as well as performing calculations and work inside the system. A Use-case is always initiated by an actor. provides a value to an actor. must always be connected to at least one actor. must be a complete description. 12/25/2018 B.Ramamurthy

Finding Use-cases For each actor ask these questions: Which functions does the actor require from the system? What does the actor need to do? Could the actor’s work be simplified or made efficient by new functions in the system? What events are needed in the system? What are the problems with the existing systems? What are the inputs and outputs of the system? 12/25/2018 B.Ramamurthy

Relationship between Use-cases Extends relationship: A generalization relationship where one Use-case extends another by adding actions to the general Use-case. 12/25/2018 B.Ramamurthy

Relations (contd.) Uses Relationship: When a Use-case “uses” another, the entire Use-case must be used. Call another use case. Grouping: When a number of Use-cases handle similar functionality they can be bundled in a UML package. 12/25/2018 B.Ramamurthy

Describing Use-cases Use-case Name: Use-case Number: system#.diagram#.Use-case# Authors: Event(Stimulus): Actors: Overview: brief statement Related Use-cases: Typical Process description: Algorithm Exceptions and how to handle exceptions: 12/25/2018 B.Ramamurthy

Example Number: A.132.4 Name: Buy book online Author: B.Ramamurthy Event: Customer request one or more books System: Amazon.com Overview: Captures the process of purchasing one or more books and the transactions associated with it. Related Use-case: A.132.5, A.132.8 Typical Process Description with exceptions handled. NOTE : All these can be in a tabular form, say, in an Excel worksheet for example. 12/25/2018 B.Ramamurthy

Realizing Use-cases Validation is done up front. As soon as the model is ready it has to be presented and discussed with the customers. Use-cases are implementation independent descriptions of the functionality of the system. Use-case can be realized in the next stages of software development using, say, a class diagram. 12/25/2018 B.Ramamurthy

Interaction between user and Use-case Insert coins Count coins Show/see drinks Show drink N/A Choose drink Deliver/pickup drink 12/25/2018 B.Ramamurthy

Use Case Diagram Insert coins <<uses>> Count coins Show/see drinks <<uses> Show drink N/A Choose drink Deliver/pickup drink 12/25/2018 B.Ramamurthy

Case Studies Ticket counter for basketball game TIVO: Video recorder/controller Weather Station. ATM Machine: Description given as data dictionary. (*) 4-cycle lawnmower engine: Word description. Model will have at least three Use-case diagrams. Burger queen fast food restaurant’s hand-held order device 12/25/2018 B.Ramamurthy

Use Case Example 2 12/25/2018

Example Carry out a use-case analysis of the operations performed by a parking ticket vending machine. Consider end-user (motorist), maintenance technician, auditor, coin collector, and traffic warden. 12/25/2018 B.Ramamurthy

Summary : Use case model We studied the Use-case Model of Unified Modeling Language. Use-case model provides a formal mechanism for carrying out a requirement analysis with active participation from domain experts and users who may or may not be software savvy. Use-case model can be used not only for requirement analysis of software systems but also of other (non-software) systems. 12/25/2018 B.Ramamurthy