Object-Oriented Software Engineering CS288. UniS 2 Lecture 1 - Object-Orientation & UML Contents  Overview  Classifiers  Dynamic Behaviour  Static.

Slides:



Advertisements
Similar presentations
Use Case Diagrams Damian Gordon.
Advertisements

Use Case & Use Case Diagram
Lecture 10 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Unified Modeling Language
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Paul Deitel, CEO Deitel & Associates, Inc.. Contact Information  Paul Deitel, CEO  Deitel & Associates, Inc.  Twitter:  Facebook:
Software Modeling Jerry Lebowitz.
Interaction Diagrams Activity Diagram State Machine Diagram
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
1 SWE Introduction to Software Engineering Lecture 25 – Object-Oriented Design (Chapter 14)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
Executable UML The Models are the Code - Executable UML Lecture 2 - Using Executable UML Paul Krause.
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
© Copyright Eliyahu Brutman Programming Techniques Course.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML.
Object-oriented Design CSCI 5801: Software Engineering.
From Problem Statement to Design
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Chapter 8: Modelling Interactions and Behaviour UML Activity Diagram
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Page 1  Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling captures essential parts of.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Faculty of Computer & Information Software Engineering Third year
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
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.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
ATM Adv. SW Engineering
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
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.
1 Unified Modeling Language, Version 2.0 Chapter 2.
UML (Unified Modeling Language)
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Object-Oriented Software Engineering CS288 Paul Krause.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Requirements Document for the Banking System
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
1 Case Study and Use Cases for Case Study Lecture # 28.
UML Diagrams: Class Diagrams The Static Analysis Model
UNIT 1.
Business System Development
Use Case Modeling - II Lecture # 27.
ATM OO Design and Implementation Case Study
Systems Analysis and Design With UML 2
Dynamic Modeling of Banking System Case Study - I
Object-Oriented Static Modeling of the Banking System - I
Dynamic Modeling of Banking System Case Study - II
Object Oriented Modeling and Design
Chapter 8: Modelling Interactions and Behaviour UML Activity Diagram
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Software Design Lecture : 14.
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Real-Time Structured Analysis and Design Technique (RSTAD)
Presentation transcript:

Object-Oriented Software Engineering CS288

UniS 2 Lecture 1 - Object-Orientation & UML Contents  Overview  Classifiers  Dynamic Behaviour  Static Modelling  Summing Up

UniS 3 Unified Modelling Language  First introduced in 1999 (about)  Still evolving, and extremely popular language  Current version 2.0 ratified August 2003  We use UML 1.4, which is the current standard widely adopted in industry

UniS 4 Unified Modelling Language Java allows us to closely tie the concepts from the UML model directly to the implementation. Easier to verify Easier to modify Easier to reuse Think before you code. UML allows us to build a conceptual model that we can examine and understand before we write a single line of code.

UniS 5 Unified Modelling Language  Visual modelling language Specify Visualise Construct Document  UML can be used to capture information about: Static structure Dynamic behaviour Environmental aspects Organisational aspects

UniS 6 Overview CreditCardCharges ItemSeller ManagerInterface ItemDB SalesServer CustomerInterface Client ServiceInterface SalesTerminal 1 * 1 * Deployment View

UniS 7 Overview height: Real age: Real Person Male_PersonFemale_Person Static View

UniS 8 Overview public class Person { public double height; public double age; } class Male_Person extends Person { // Now add stuff here to change // attributes and behaviour } class Female_Person extends Person { // Now add stuff here to change // attributes and behaviour }

UniS 9 Overview Locked Available Sold timed out lock unlock buy Behavioural View: Single Object

UniS 10 Overview customercredit servicevendor request item show availability select item demand payment insert card charge card Dynamic behaviour: communication patterns

UniS 11 Classifiers ClassifierFunctionNotation actorAn outside user of the system classA concept from the modelled system componentA physical piece of the system data typeA descriptor of a set of primitive values that lack identity Name nodeA computational resource subsystemA package that is treated as a unit with a specification, implementation and identity use caseA specification of the behaviour of an entity in its interaction with outside agents Name >

UniS 12 Dynamic Behaviour: Use Cases ATM Customer Validate PIN > Withdraw Cash Query Account Order Statement Operator Add Cash Startup Shutdown

UniS 13 Dynamic Behaviour: Sequence Chart ATM Customer ATM CardATM Control Customer Interface Bank Server Card Inserted Get Pin PIN Prompt PIN Input Card Request Card Data PIN Entered Validate PIN

UniS 14 Dynamic Behaviour: State  A condition or situation during the life of an object during which it satisfies some condition, performs some action, or waits for some event. The Unified Modelling Reference Manual  I.E. State captures all the relevant information about an object at one specific moment with respect to the purpose of the object.

UniS 15 Representation of a State Activate Phone entry/ register on network exit / disconnect from network

UniS 16 Events trigger Transitions Closed DownIdle startup closedown Top-level Statechart for ATM Control

UniS 17 Full Label for a Transition StateAStateB e1 [cond] / action1;action2 event name guard condition actions

UniS 18 More ATM Control Closed Down Idle Entry / display Welcome startupclosedown Processing Customer Input card inserted / get pin validation received [invalid card] / confiscate Terminating Transaction Processing Transaction withdrawal selected [valid card] / display wait

UniS 19 Phone Composite State Example Off On Power On Power Off

UniS 20 Phone Composite State Example Off On Power On Power Off Idle Active unlock incoming-call end

UniS 21 Phone Composite State Example Off On Power On Power Off Idle Active Dialling end 0-9 Connecting Ringing Talking unlock incoming-call connect-key connect-fail call-accepted connect-key

UniS 22 Static Modelling: Class Tuner class name Channel Frequency attributes Get_Frequency Set_Frequency operations

UniS 23 Static Modelling: Inheritance Hierarchy Tuner A/V TunerFM Tuner

UniS 24 Static Modelling: Association Tuner Surf List 1 1 Binary relation between classes Can be implemented in different ways 1 Surf List to 1 Tuner

UniS 25 Static Modelling: Aggregation Surf List Surf List Size Add Surf Channel Delete Surf Channel Set Surf Channel Source ID Preset Number Preset Name Edit Preset Number Edit Preset Name 0..* Specifies that an aggregate class is made up from components. Here: A Surf List has 0 or more Source ID

UniS 26 Static Modelling: Aggregation University 0..* School Department LecturerStudents 1..* Nested Aggregates

UniS 27 Static Modelling: Putting it all together A/V Source Front EndExternal Source Surf List Source ID 0..* 1 1 Tuner 1..* is tuned to

UniS 28 Summing Up  UML is a visual modelling language that covers a range of aspects of systems analysis and design  We have seen examples of modelling static structure and dynamic behaviour  Environmental and Organisational aspects can be covered too ______________  Use it!