Object Oriented Design Model

Slides:



Advertisements
Similar presentations
ANALYSIS MODEL. Analysis Model Actual system development start with this. Aims to structure the system independently of the actual implementation environment.
Advertisements

Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Visual Basic: An Object Oriented Approach 2 – Designing Software Systems.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Lecture 9 Descriptors, Events & Event Tables INFO1409 Systems Analysis & Design Module HND Year /9.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 7 Descriptors Events Events Tables.
Interaction Diagrams Activity Diagram State Machine Diagram
Object-Oriented Analysis and Design
Lecture 5a: Sequence Interaction Diagrams CSE 111 Copyright W. Howden1.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
© Copyright Eliyahu Brutman Programming Techniques Course.
An Introduction to Rational Rose Real-Time
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Object-Oriented Analysis and Design
Chapter 7: The Object-Oriented Approach to Requirements
State and Sequence Diagrams Modelling dynamic information So far we have seen: Use Case Diagrams – requirements capture, interface.
Starting Chapter 4 Starting. 1 Course Outline* Covered in first half until Dr. Li takes over. JAVA and OO: Review what is Object Oriented Programming.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
Object-Oriented Software Testing. C-S 5462 Object-Oriented Software Testing Research confirms that testing methods proposed for procedural approach are.
Introduction to Sequence Diagrams
1 Modeling interactions and behavior Lecturer Dr. Mai Fadel.
Systems Analysis and Design in a Changing World, 3rd Edition
UML-1 3. Capturing Requirements and Use Case Model.
44221: Information Systems Systems Concepts 2 By:Ian Perry Room: C48 Tel:
7 Systems Analysis and Design in a Changing World, Fifth Edition.
9-1 © Prentice Hall, 2004 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Information Systems Engineering Interaction Diagrams: Sequence Diagram Collbortion Diagram.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
1 Kyung Hee University Statecharts Spring Kyung Hee University Specifying Objects’ Behaviour  Interaction diagrams show message-passing behaviour.
UNIFIED MODELING LANGUAGE(UML) BY Touseef Tahir Lecturer CS COMSATS Institute of Information Technology, Lahore.
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part VI: Design Continuous Activity Diagams State Diagrams.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
Systems Analysis and Design in a Changing World, Fourth Edition
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Tevfik Bultan Lecture 4: Introduction to C: Control Flow.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Sequence diagrams Lecture 5. Main terms  Interaction  Life line  Activation  Executable behavior and derived behavior  Messages  Trajectory  Frame.
CompSci 280 S Introduction to Software Development
Systems Analysis and Design in a Changing World, Fourth Edition
Analysis Classes Unit 5.
Component 1.6.
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Evolution of UML.
Recall The Team Skills Refining the Use cases
Unified Modeling Language—UML A Very Brief Introduction
Unified Modeling Language
Week 10: Object Modeling (1)Use Case Model
Activity and State Transition Diagram
Object Oriented Concepts -I
Business System Development
Unified Modeling Language
Object Oriented System Design COS 50-3
COS50-3 OOSD INTRODUCTION TO OOSD (Week 1) November 7, 2018
Software Engineering Chapter 5 (Part 3) System Modeling Dr.Doaa Sami.
Sequence Diagrams.
Object Oriented System Design
Object Oriented Software Development CIS 50-3
IMAT5205 Systems Analysis and Design
CIS 375 Bruce R. Maxim UM-Dearborn
Software Design Lecture : 15.
Unified Modeling Language
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
CIS 375 Bruce R. Maxim UM-Dearborn
Object Oriented System Design Class Diagrams
Appendix 3 Object-Oriented Analysis and Design
Object Oriented System Design Responsibilities
Presentation transcript:

Object Oriented Design Model COS50-3 OOSD Object Oriented Design Model (Week 4) 19/11/2018 Marc Conrad / Dayou Li

System Specification The entire model of recycling machine Receipt printer Deposit item receiver Alarm device Customer panel Deposit item receiver Report control Receipt basis Deposit items Operator panel can bottle crate 19/11/2018 Marc Conrad / Dayou Li

System Specification (Cont’d) System specification or logical structure is about system “components” and their relationship. This is displayed in the OO analysis model with a set of analysis classes (objects) and associations. -- analysis classes represent “components”, -- association represents relationship. The model also shows sub-systems and the relations between the subsystems. 19/11/2018 Marc Conrad / Dayou Li

System Specification (Cont’d) System and subsystems Customer panel Receipt printer Deposit item receiver Receipt basis Deposit items can bottle crate Alarm device Deposit item receiver Operator panel Report control 19/11/2018 Marc Conrad / Dayou Li

Traceability Traceability -- showing step-by-step how user’s requirements are satisfied in the course of software development and where changes are introduced during the lifecycle of a system. This is important for being able to trace back when we want to find places where things go wrong. So far, we are able to trace back from OO analysis model to use case diagram as the OOAM comes from use cases. Traceability needs to be kept on and on in the whole course of software development. 19/11/2018 Marc Conrad / Dayou Li

What is “New” in Design Design aims to give such a detailed description of a system that actual coding can start based on it. Design model is required to represent the description. Actual implementation environment need to be taken into account when building up the design model. Functional localisation guarantees that any functionality change will not influence large part of a system. 19/11/2018 Marc Conrad / Dayou Li

Converting OOAM The process of constructing a design model starts from OOAM, to guarantee the logic and traceability. Conversion -- change objects, known as “analysis classes” in Rational Rose, in an OOAM to “blocks”, -- split a block into several blocks or simply add more blocks if necessary. Traceability -- bridging OOAM and OODM so that one can see how OODM “inherits” system’s logic from OOAM. Functional localisation -- functionality is restricted in each block. 19/11/2018 Marc Conrad / Dayou Li

Converting OOAM (Cont’d) Example: (We focus on the return item use case.) Customer panel Receipt printer Deposit item receiver Receipt basis Deposit items can bottle crate 19/11/2018 Marc Conrad / Dayou Li

Implementation Environment Target environment -- where system will execute. Programming language. existing products -- e.g. Database. Taking them into consideration in design: Encapsulation -- new block will be created. Component-based design. 19/11/2018 Marc Conrad / Dayou Li

Sequence Diagram Details, then, need to be given for each block. BUT, inputs and outputs of a block MUST be known before thinking about the details of a block. Sequence diagram helps to find out the inputs and the outputs. 19/11/2018 Marc Conrad / Dayou Li

Sequence Diagram A sequence diagram shows how blocks (objects) within a use case cooperate with each other. It shows the occurrence of a sequence of events as the responses to stimuli, which is called stimuli-responses relationship or the internal logic of a system. A stimulus comes from a block and goes to another block. It triggers a sequence of events in that block. The receiver may also send “results” (feedback) back to the sender. Events must be known before constructing a sequence diagram. 19/11/2018 Marc Conrad / Dayou Li

Sequence Diagram (Cont’d) Syntax and Semantics message Block’s life line (showing life cycle) Distinguishing a system and the outside world (RationalRose: Use Actors ) Events occurring within a block feedback signal 19/11/2018 Marc Conrad / Dayou Li

Sequence Diagram (Cont’d) Pragmatics: List all blocks right-hand side of the system border, Draw a life line for each block, List all events on the left-hand side of the system border, Draw vertical bars on the corresponding life lines to represent the events. Identify and draw signals, Identify and draw messages, Identify and draw feedback signals. 19/11/2018 Marc Conrad / Dayou Li

Sequence Diagram (Cont’d) Example: (focusing on Returning item use case) Blocks: -- Customer Panel, -- Deposit item receiver, -- Receipt basis, -- Deposit item, -- Receipt printer. 19/11/2018 Marc Conrad / Dayou Li

Sequence Diagram (Cont’d) Events (when a customer insert an item): If (customer is new) { Create a new account; } Do If (returned item is acceptable == true) Classify; Increment items; Increment values; else reject; 19/11/2018 Marc Conrad / Dayou Li

Sequence Diagram (Cont’d) Events (when the customer presses receipt button): Print Logo and date; for (all types of items) { Find name and number for a type of item; Find deposit value for a type of item; Sum; Print sum; } Ready for the next customer; 19/11/2018 Marc Conrad / Dayou Li

Sequence Diagram

Sequence Diagram

Rational Rose – Collaboration Diagram 19/11/2018 Marc Conrad / Dayou Li

Control in SD Synchronous and asynchronous A synchronous message/signal is a control which has to wait for an answer before continuing. Hence, the sender passes the control to the receiver and cannot do anything until the receiver sends the control back. An asynchronous message is a control which does not need to wait before continuing. Hence, the sender actually does not pass the control to the receiver. The sender and the receiver carry on their work concurrently. 19/11/2018 Marc Conrad / Dayou Li

Synchronous & Asynchronous Simple (unspecified) synchronous asynchronous 19/11/2018 Marc Conrad / Dayou Li

Control in SD (Cont’d) Example: the “return item” use case in the recycling machine. -- Concentrate on the rounded rectangle and answer the question: “Should getName and getValue be synchronous or asynchronous? 19/11/2018 Marc Conrad / Dayou Li

Control in SD (Cont’d) On one hand, getValue signal and getName signal can be asynchronous as the system does not need to wait for values before requesting name. On the other hand, the “print” message could not be sent out to the printer if getValue and getName were asynchronous. For this reason, getValue signal and getName signal must be synchronous. 19/11/2018 Marc Conrad / Dayou Li

Control in SD (Cont’d) Concentrate on other signals and messages. -- receipt signal: it does not even need a feedback. Therefore, it can asynchronous. -- printReceipt signal: it can be asynchronous, too. -- printLogo, date message: it can also be asynchronous, as no feedback is required. 19/11/2018 Marc Conrad / Dayou Li

Recursion in SD Syntax: 19/11/2018 Marc Conrad / Dayou Li

Structure of SD Centralised structure -- Fork: Everything is handled and controlled by the left-most block. 19/11/2018 Marc Conrad / Dayou Li

Structure of SD (Cont’d) Decentralised structure -- Stair: There is no central control block. 19/11/2018 Marc Conrad / Dayou Li