The Unified Modeling Language. Asst.Prof.Dr. Supakit Nootyaskool IT-KMITL

Similar documents
Chapter 10 Object-Oriented Design Principles

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Information Technology Audit & Cyber Security

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

ITM 305 NOTES. Week 2: Chapter 1: introduction to systems development SDLC. Information systems development process.

Object-Oriented Systems Analysis and Design Using UML

Chapter 5: Structural Modeling

Unified Modeling Language (UML) Class Diagram

Use-Case Analysis. Architecture Oriented Analysis. R. Kuehl/J. Scott Hawker p. 1 R I T. Software Engineering

INTERNAL ASSESSMENT TEST III Answer Schema

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis)

Unified Modeling Language (UML)

Object-Oriented Design

Object-Oriented Modeling Using UML. CS151 Chris Pollett Aug. 29, 2005.

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

Introduction to UML. Danang Wahyu utomo

SE 1: Software Requirements Specification and Analysis

ACS-3913 Ron McFadyen 1. UML Notation for Class diagrams Object diagrams

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

Introduction to Unified Modelling Language (UML)

Unified Modeling Language

Unified Modeling Language (UML)

Architecture and the UML

OO System Models Static Views

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

Object Oriented Methods with UML

Object-Oriented Design

Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci)

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

Basic Structural Modeling. Copyright Joey Paquet,

Review: Cohesion and Coupling, Mutable, Inheritance Screen Layouts. Object-Oriented Design CRC Cards - UML class diagrams

COSC 3351 Software Design. An Introduction to UML (I)

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

Topic : Object Oriented Design Principles

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

Object-Oriented Design

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

VEL TECH HIGH TECH Dr. RANGARAJAN Dr. SAKUNTHALA ENGINEERING COLLEGE UNIT 1 UML DIAGRAMS

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 4 Entity Relationship (ER) Modeling

1. Introduction to Object Oriented Software Development

CS 520 Theory and Practice of Software Engineering Fall 2018

From Analysis to Design. LTOOD/OOAD Verified Software Systems

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

UML Primer. -Elango Sundaram

Class Diagrams in Analysis

Static Modeling. SWE 321 Fall2014

Chapter 2: The Object-Oriented Design Process

Object-Oriented Systems Development: Using the Unified Modeling Language

IS 0020 Program Design and Software Tools

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow

CSE 70 Final Exam Fall 2009

Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel

course 3 Levels of Database Design CSCI 403 Database Management Mines Courses ERD Attributes Entities title 9/26/2018

Database Systems. A Practical Approach to Design, Implementation, and Management. Database Systems. Thomas Connolly Carolyn Begg

administrivia today UML start design patterns Tuesday, September 28, 2010

UML class diagrams. Nigel Goddard. School of Informatics University of Edinburgh

Appendix A - Glossary(of OO software term s)

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

CS 320 Introduction to Software Engineering Spring 2017

Unified Modeling Language (UML)

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

OO Analysis and Design with UML 2 and UP

Object-Oriented and Classical Software Engineering

Object-Oriented Systems Development: Using the Unified Modeling Language

System Analysis and Design/ Object-Oriented System Modeling

Object- Oriented Design with UML and Java Part I: Fundamentals

UML Is Not a Methodology

CMPT 354 Database Systems I

Advanced Class Diagrams and Intro to Interaction Modeling

Designing Classes. Check out DesigningClasses project from SVN

SEEM4570 System Design and Implementation Lecture 11 UML

CSC207H: Software Design Lecture 6

Conceptual Data Modeling by David Haertzen

Software Engineering I (02161)

Object-Oriented Design and Modeling Using the UML

MIS2502: Data Analytics Relational Data Modeling - 1. JaeHwuen Jung

Model Driven Development Unified Modeling Language (UML)

Software Life-Cycle Models

Suggested answers are provided below. These answers are presented top-down, left to right.

Introduction to UML and Class Diagrams

Exam Questions. Object-Oriented Design, IV1350. Maximum exam score is 100, grade limits are as follows. Score Grade 90 A 80 B 70 C 60 D 50 E

06. Analysis Modeling

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

Final Exam. Final Exam Review. Ch 1: Introduction: Object-oriented analysis, design, implementation. Exam Format

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

MechEng SE3 Lecture 7 Domain Modelling

Tutorial notes on. Object relational structural patterns

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.

13/11/2017. Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515

Transcription:

The Unified Modeling Language Asst.Prof.Dr. Supakit Nootyaskool IT-KMITL

UML: requirement VS. Design models Identify 2 All the classes or things Elementary business process Necessary step to carry out a use case Describe document the internal workflow of each use case Related activity diagram show message or data between user and system Track all status of all condition requirement for a class.

3

Use case diagram

Use case diagram The use case diagram is the UML model used to graphically show the use cases and their relationship to user.

Symbols Generalization <<include>> relationship <<extend>> relationship

A use case diagram of the Fill shopping

Activity diagram

Syntax for an Activity diagram (1)

Syntax for an Activity diagram (1)

Introduction Activity Diagram

Activity diagram: Action and Activity

Parallel activity: Fork/Join Node

Use case description

19

Domain model class diagram

4.3 The Domain Model Class Diagram Class is category or classification used to describe a collection of object. Object is member belongs to a class Domain class is the classes that describe thing in the problem domain. 21

4.3 The Domain Model Class Diagram Class is category or classification used to describe a collection Camelback notation or of object. camelcase notation are Object concatenation is member words belongs to a single to word a class by the first character of each word Domain class typing is capitalized. the classes that describe thing in the problem domain. 22

4.3 The Domain Model Class Diagram Class diagram (UML) is used to show class object for a system. Domain model class diagram is one type of UML class diagram that shows the things in the users 'problem domain. 23

4.3 The Domain Model Class Diagram Class diagram (UML) is used to show class object for a system. An order must consist 1 to N Items Domain model class diagram is one type of UML class diagram that shows the things in the users 'problem domain. A customer can place 0 to N orders 24

4.3.1 The Domain Model Class Diagram Notation 25

4.3.1 The Domain Model Class Diagram Example: A bank system 26

4.3.1 The Domain Model Class Diagram Example: A university course enrollment 27

4.3.1 The Domain Model Class Diagram Example: A university course enrollment No grade data, The student taking a class don t have a grade. 1..* 1..* 15..50 28

4.3.1 The Domain Model Class Diagram Example: A university course enrollment (2) Association class The solution is to add a domain class represent association between two classes. 29

4.3.2 More complex issue about classes of objects Generalization relationship Group similar types of things Specialization relationship Group different types of things Superclass Specialize, Sport car is different from tractor and truck, is car. 30 Subclass

4.3.2 More complex issue about classes of objects Abstract class is a class that subclass can inherit from it. Abstract class (italics) Concrete class is a class that does have actual object. 31

4.3.2 More complex issue about classes of objects Whole part relationship Aggregation Composition 32

4.3.3 RMO Example: Domain Model Class Diagram (Sales subsystem) 33

4.3.3 RMO Example: Domain Model Class Diagram (Customer account subsystem) 34

Entity Relationship Diagram

4.2.1 ERD Notation Two data entities (Customer and Order) 36

4.2.1 ERD Notation 37

4.2.1 ERD Notation: Example ERD with attributes shown A customer takes many orders. A customer don t take an order. 38

4.2.1 ERD Notation: Example ERD with attributes shown An order has minimum one item. An order has many items. 39

4.2.1 ERD Notation: Example many branch of bank 40

System sequence diagram

5.3 SSD Indentifying I/O System Sequence Diagram (SSD) Uses to describe the flow of information into and out of the automatic system. Show the sequence message inform diagram between an external actor and the system. SSD is type of Interaction diagram 42

5.3 SSD Indentifying I/O (2) 43

5.3 SSD Indentifying I/O (3): loop frame 44 Loop frame is the repeating operation operating multiple times between an actor and a system

Class diagram

10.4.1 Design class symbols (2) entity class a design identifier for a problem domain class (usually persistent) control class a class that mediates between boundary classes and entity classes, acting as a switchboard between the view layer and domain layer boundary class or view class a class that exists on a system s automation boundary, such as an input window form or Web page data access class a class that is used to retrieve data from and send data to a database 46

Example UML design class symbols ATM Ref: http://www.cs.sjsu.edu/~pearce/modules/patterns/enterprise/ecb/ecb.htm 47

10.4.2 Notation for a design class Syntax for name, attributes, and methods 48

10.4.2 Notation for design classes Attributes Visibility indicates (+ or -) whether an attribute can be accessed directly by another object. private (-) not visibility public (+) visibility Attribute name Lower case camelback notation Type expression class, string, integer, double, date Initial value if applicable the default value Property if applicable, such as {key} Examples: - accountno: String {key} - startingjobcode: integer = 01 49

10.4.2 Notation for design classes Methods Visibility indicates (+ or -) whether an method can be invoked by another object. private (-) not visibility public (+) visibility Method name Lower case camelback, verb-noun Parameters variables passed to a method Return type the type of the data returned Examples: +setname(fname, lname) : void (void is usually let off) +getname(): string (what is returned is a string) -checkvalidity(date) : int (assuming int is a returned code) 50

Start with domain class diagram RMO sales subsystem 51

Create first cut design class diagram Use case create phone sale with controller added 52

Domain class diagram Design class diagram 53

Sequence diagram

11.2.1 Sequence diagram: Example, two-level details design 55

Note of expanded sequence diagram This is a two layer architecture, as the domain class Customer knows about the database and executes SQL statements for data access Three layer design would add a data access class to handle the database resulting in higher cohesiveness and loose coupling Note : CustomerForm is an object of the CustomerForm class, :CustomerHandler is an object of the CustomerHandler class playing the role of a controller stereotype (both underlined because they are objects) ac:customer is an object of the Customer class known by reference variable named ac 56

11.2.2 First-cut sequence diagram: Example create customer account Use case Domain model: (Chap4) Customer account system Design class diagram: Create customer account use case SSD: 57

11.2.2 First-cut sequence diagram: Example create customer account Use case Add messages and activation to complete collaboration This is just the domain layer These domain classes handle data access, so this is a two layer architecture 58

11.2.3 Guideline and Assumptions for first-cut sequence diagram development Perfect technology assumption First encountered for use cases. We don t include messages such as the user having to log on. Perfect memory assumption We have assumed that the necessary objects were in memory and available for the use case. In multilayer design to follow, we do include the steps necessary to create objects in memory. Perfect solution assumption The first-cut sequence diagram assumes no exception conditions. Separation of responsibilities Design principle that recommends segregating classes into separate components based on the primary focus, such as user interface, domain, and data access 59

11.2.4 Developing a multilayer design Problem in domain classes Persistent classes is the problem on complex business logic that some class contains the mechanism for storing and retrieving data from a database. Solving Apply separate layer is the separate connection to database and SQL from the domain classes. The Multilayer design has three-layers design use concept of separation responsibility 1) View layer Get input data or commands Show output or command responding 2) Domain layer 3) Data access layer 60

Fig11-8 First-cut sequence diagram for the create customer account use case The SQL statement is contained in the domain layer Fig11-13 Sequence diagram for fill shopping cart use case with data access layer Data access layer :CustomerDA :CartItemDA :OnlineCartDA 61

11.2.4 Developing a multilayer design: View layer Fig11-14 Partial sequence diagram for fill shopping cart use case with view layer View layer 62

Communication diagram

11.3 Designing communication diagrams Shows the same information as a sequence diagram Symbols used in a communication diagram: [true/false condition] sequence-number; return-value := message-name(parameter-list) 64

11.3 Designing communication diagrams Example Fill Shopping Cart use case This diagram should math the domain layer sequence diagram shown earlier. Many people prefer them for brainstorming The method UpdateQty gets number qty and after running it return status 65