129
โดย อ.ดร. นัฐพงศ์ ส่งเนียม http://www.siam 2dev.com [email protected] สาขาวิชา วิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏพระนคร Last Update : 04/01/2561 Lec05 : Introduction to UML แหล่งข ้อมูลเพิ่มเติม : : http://www.lumpaya.com/sdlc01.htm http://www.siam2dev.com [ dr. nattapong songneam]

Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

โดย อ.ดร. นฐพงศ สงเนยมhttp://[email protected]

สาขาวชา วทยาการคอมพวเตอรคณะวทยาศาสตรและเทคโนโลย มหาวทยาลยราชภฏพระนคร

Last Update : 04/01/2561

Lec05 : Introduction to UML

แหลงขอมลเพมเตม : : http://www.lumpaya.com/sdlc01.htm

http://www.siam2dev.com [ dr. nattapong songneam]

Page 2: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

งานโปรเจกต สงไดตงแต

• กาหนดสงกอน สอบปลายภาค 1 สป.

• สอบระหวางภาค บทท 1 -4 ................ สอบวนท 11-01-2560

• คร งหนา สง Requirement Specifications

Page 3: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

UMLUse CaseDiagramsUse Case

DiagramsUse CaseDiagrams

ScenarioDiagramsCollaboration

Diagrams

StateDiagramsState

DiagramsComponentDiagrams

ComponentDiagramsComponent

DiagramsDeploymentDiagrams

StateDiagramsState

DiagramsObjectDiagrams

ScenarioDiagramsScenario

DiagramsStatechartDiagrams

Use CaseDiagramsUse Case

DiagramsSequenceDiagrams

StateDiagramsState

DiagramsClassDiagrams

ActivityDiagrams

Models

http://www.siam2dev.com [ dr. nattapong songneam]

Page 4: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

การวเคราะหและออกแบบระบบเชงวตถ (OOAD)

Lec05 # Introduction to UML

โดย อ. นฐพงศ สงเนยมhttp://[email protected]

Page 5: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Lecture Outline• Software Modeling

• Require and Domain Analysis Model

• Design Model

• Brief Overview of Unified Modeling Language (UML)

Updated : 04/01/2561

Page 6: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Structural Programming

and OOP

Analysis and Design

Tradditional / OOAD

Introduction to Database ,

DBMS

SE : Software Engineering

• Software Management• Project Management

• ฯลฯ

• Algorithm

ER Design, Normalize, ER-Mapping , DBMS , DDL ,DML , DCL

ALGORITM , PSEUDOCODE , SYNTAX, FLOWCHART , SCREEN LAYOUT , Visual Programming ,Event-Driven Programming , Object Oriented

Programming

SDLC, DFD, Process Description, UP, Analysis , Design ,Requirement , Diagram , UML, Screen

Layout

Page 7: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

What is Modeling?• การสรางแบบจาลอง (Modeling)

– เปนวธการวเคราะห และออกแบบ (Analysis and Design) วธการหนงทเนนการสรางแบบจาลอง เพอใหสามารถเขาใจปญหาของระบบ

– ใชเปนเครองมอในการสอสาร แนวคดในการพฒนาระบบ กบบคคลอนๆ (ระหวางผพฒนาระบบดวยกน และกบบคคลอนๆ)

• Mathematics Model – เปนโมเดลทางคณตศาสตร เชน สมการ สตร

• Visual Modeling– Visual แปลวา ภาพ– Modeling กคอแบบจาลอง ดงนน Visual Modeling กคอ

ใชสญลกษณรปภาพในการสรางแบบจาลอง

1

n

ix

=∑

Page 8: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

SA Programmer

TesterUIDesigner

USERModel

Requirement

USE CASE ModelClass & Object Model

USE CASE ModelClass & Object ModelState DiagramActivity Diagram

USE CASE ModelUI

USE CASE ModelUI

Page 9: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

ลกคา

Personal Corporate

SA : class & object specified

ลกคา

Personal Corpora

ลกคา

Personal Corporate

Page 10: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

• ต.ย. จงหาอายรวมของ นศ. วทยคอม 29

• 52 53 42 28 47 58 19

1

n

ix

=∑

0. Specified problem1. Requirement

2. การวเคราะห INPUT / PROCESS (algo) / OUTPUT

3. ออกแบบ Flowchart/ Structure chart / PSEUDO-CODE

Page 11: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

เปรยบเทยบ

• MODEL ทางานเสรจแลว แตอธบายงานใหงายขนกทาโมเดลขนมา

เพออธบายดวยวธการทงาย

• PROTOTYPE ยงไมไดทาตวจรง แตทาตวจาลองขนมากอน แลว เอา

ตวจาลองไปสรางเปนของจรง

Page 12: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Software Modelingแบบจาลองของซอฟตวร

UserRequirement

Modeling(Analysis and Design)

Model(Specification)

Tools ManuallyCoding

Program

Implementation

Page 13: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Models• Requirement Analysis Models (Requirement Specification)

ไดจากกระบวนการวเคราะหความตองการของผใชระบบ (RequirementAnalysis)

• Analysis Modelไดจากกระบวนการวเคราะหหนาทการทางานของระบบ (System

Analysis)

• Design Modelไดจากกระบวนการออกแบบการทางานของระบบ (System Design)

Page 14: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Software Development Process

1. Requirement Specification : define problem domain

2. Analysis : what problem to be solved? (อะไรคอปญหาทตองแก)

3. Design : how to solve the problem? (แกอยางไร)

4. Implementation : how to implement the solution?

5. Testing : how to ensure that the solution can solve the problem?

1. ทดสอบในเรองความเรว ประสทธภาพ ความปลอดภย ความม นคง เสถยร

2. ความเขากนได Integrated System

6. Maintenance : how to adjust the solution to accomodate change?

1. ในรอบระยะเวลาหนงอาจจะตองมการปรบเปลยน

7. Retirement : when does the system to be retired?

บทท 6 RequirmentSpecificationSDLC

Page 15: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

• Divide & Conquer

componet1 componet2 componet3 componet4

Problem

Integrated System

Standard

Page 16: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

• ทาสไลด powerpoint 50 slide แบง 5 คน

– ถาพนหลง คนละส เวลารวมกน จะเปนอยางไร

Page 17: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

การคอนโทรล

• ควบคมดวยซอฟตแวร

• ควบคมดวย มาตรฐาน / ISO เชน UML

จะถกพดถงในรายวชา Software Project Management หรอ วชา Software Engineering

Page 18: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Web application / Mobile App

• MVC : – M : Model – V : View– C : Control/Coding

Page 19: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

ระบบชอขายสนคา

• ปญหาเดม / ทมา ระบบเดม ขายโดยการจดบนทกในสมด ปญหา มขอผดพลาดเยอะ / ลาชา

• ReqID :: 01 ตองการใหระบบสามารถบนทกขอมลการขายสนคาได – ระบบจะตองทาการบนทก ขอมลสนคาไดทผซ อ ซอไป– ระบบจะตองจดเกบขอมลผซ อได – ระบบจะตองตรวจสอบไดวา พนกงานคนใดขายสนคาใหกบ

ลกคา– ระบบจะตองตรวจสอบจานวนสนคาในสตอกได

Page 20: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Structured Analysis Modelsโมเดลการวเคราะหเชงโครงสราง

• Data Flow Diagrams :: DFD• Entity Relationship Diagrams : ERD• State-Transition Diagrams : STD

เปนโมเดลแบบดงเดมทใชสาหรบการวเคราะหระบบแบบเชงโครงสราง

Page 21: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Object-Oriented Analysis Models

• Use-case Diagrams• Class and Object Diagrams• Behavioral Diagrams

เปนโมเดลทใชสาหรบการวเคราะหระบบเชงวตถ

UML

Page 22: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

The Unified Modeling Language (UML)

Page 23: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

What is UML?• เปนเครองมอหรอภาษาทใชในการสรางแบบจาลอง

(Modeling Language) ทประกอบดวยองคความรทใชในการนาเสนอและออกแบบเอกสารประกอบโปรแกรม– คมอทางเทคนค Programmer Manual/Technical Manual

• อธบายรายละเอยดทางเทคนค การวเคราะห การสราง การออกแบบ การทดสอบ

– คมอสาหรบผใช User Manual อธบาย การใชงานซอฟตแวร , การปอนขอมล การปรบปรงแกไขขนตน

• รวม 3 แนวคด/วธการเชงวตถท ไดแก Booch, Rumbaughและ Jacobson รวมทงจากบคคลอน

• จดรวบรวมออกมาเปนมาตรฐานสาหรบการแลกเปลยนแนวคดการออกแบบระบบ และองคความรในเชงเทคนคในรปของแบบจาลอง

Page 24: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

What is NOT UML?• ไมใชภาษาโปรแกรม (Programming Language)

– ไมใชภาษา VB , Pascal , Delphi , Java , C# etc.

• ใช method หรอ methodology {เปนวธการเปนกระบวนการ}

• ไมระบ Process ทใชในการทางาน• UML ใชในการสรางแบบจาลองการวเคราะห และออกแบบ

ระบบ โดยไมขนกบ Process• แตละโครงงานสามารถเลอก Process การทางาน ท

เหมาะสม กบสภาพความจรงของโครงงาน โดยไมขนกบ modeling language (สามารถใชกบภาษาโปแกรมใดกได)

**** ความหมายไมกาหนด ภาษาทใช หรอเครองมอทใชตายตว ใหออกแบบกวางๆ ไว

Page 25: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Customer

CustName : StringCustID : String

CustAge : Integer

Customer

CustName : StringCustID : String

CustAge : int

Customer

CustName : StringCustID : StringCustAge : int16

Java, c,c#

VB

Customer

CustName : StringCustID : String

CustCredit : floatJava, c,c#

CustAge : single

UML Class diagram Implementation

Page 26: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

History of UML• 1970s ďńİŇřýńÐďĿ₣Ğő (Object-oriented method)• 1970s, 1980s, 1990s “Method Wars”

Grady Booch, Jim Rumbaugh, Ivar Jacobson• 3 ŚŞďŽń¾/ďńİŇł ŀăřýńÐďĿ₣ĞőğŇůřĆŮŞğŇůŞńĂ· ŢýŰŢŞýůďÐł ąŀÐ

ğĐďăăĘ 1990s ţ¾ŰŚł ů– OOSE (Object-Oriented Software

Engineering) ś¾Ă Ivar Jacobson– OMT (Object Modelling Technique) ś¾Ă Jim

Rumbaugh– Booch method ś¾Ă Grady Booch

• ĆĿ−Ěŀ¾ŰŀŞł ŀăęŐůĹęŀă ęĿ−ąĿł Ę¼źğŇůŢýŰŢŞŚ₣ůąľďńİŇł ŀăţ· ůřĚ· ŐĹŞł ĿŞ

Page 27: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Histroy of UML• ในป 1994/5 Booch, Rumbaugh และ Jacobson (เรยก

ตวเองวา “three amigos”) รวมกนทาการรวบรวมแนวคดองคความร และเทคนคตางๆ เขาดวยกน ท Rational Software

• Three Amigos เสนอ Unified Modelling Language (UML) ไปยง หนวยงาน OMG (Object Management Group) เพอใหเปนภาษามาตรฐานสาหรบสรางแบบจาลองเชงวตถ

• UML Version 1.1 ไดถกพฒนาขนในป 1997 เพอเปนมาตรฐาน สาหรบสรางแบบจาลองเชงวตถ

Page 28: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Histroy of UML• ป 1998 พฒา UML Version 1.2• ป 1999 พฒา UML Version 1.3• ป 2000 พฒา UML Version 1.4• ป 2001 พฒา UML Version 2.0 • http://www.uml.org/

Page 29: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

The Evolution of the UML:

UML1.1

UML1.0

UML0.9

Beta version OOPSLA’96

Public Feedback

Submission of OMG group

OMG vote’97Submission to OMG, sept’97

Unified Method 0.8

Other method Booch OMT OOSE

29

Page 30: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Models and Diagrams

Use CaseDiagramsUse Case

DiagramsUse CaseDiagrams

ScenarioDiagramsScenario

DiagramsCollaborationDiagrams

StateDiagramsState

DiagramsComponentDiagrams

ComponentDiagramsComponent

DiagramsDeploymentDiagrams

StateDiagramsState

DiagramsObjectDiagrams

ScenarioDiagramsScenario

DiagramsStatechartDiagrams

Use CaseDiagramsUse Case

DiagramsSequenceDiagrams

StateDiagramsState

DiagramsClassDiagrams

ActivityDiagrams

A model is a completedescription of a systemfrom a particularperspective

Models

Page 32: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

ทาไมตองเปน UML• Development life cycle - สนบสนนท ง life cycle ของการพฒนา

ระบบ สามารถถกใชตงแตขนตอนการหาความตองการ (Requirements) จนถงขนตอนการทดสอบตดตงระบบ (Test & Installation)

• Implementation languages and platforms - ไมผกตดกบภาษาและแพลทฟอรม (platform) ของการ implement สนบสนนทง pure oolanguages เชน smalltalk java, c#. หรอ hybrid เชน c++ หรอ non-oo เชน c,pascal

• Application domains - สนบสนนการสราง application ในหลาย domain เชน information systems {MIS , EIS , ES , DSS,TPS}, embeded real-time systems, technical systems, distributed systems, system software

• Development process – สามารถใช UML รวมกบกรรมวธพฒนาระบบใดๆกได (prefer UP)

• Internal concepts – มหลกการทชด มนคง

Page 33: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

server

client

Client -Server

database

Web Application

server

database

Distributed-Database System

Page 34: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

มมมอง UML (UML Views)

Major Area มมมอง (View) แผนภาพ (Diagrams)

โครงสราง(structural)

static view class diagram

use case view use case diagram

implementation viewdeployment view

component diagram

deployment diagram

สามารถใช UML สรางเปนโมเดลแสดงมมมองระบบไดเปน 3 กลม

พลวตร(dynamic)

state machine view state chart diagram

activity view activity diagram

interaction view sequence diagram

collaboration diagram

การจดการโมเดล(model

management)

model management view class diagram (package, subsystem)

Page 35: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

UP : Lifecycle Phases

• Inception Define the scope of the project and develop business case

time

Inception Elaboration Construction Transition

• Elaboration Plan project, specify features, and baseline the architecture

• Construction Build the product

• Transition Transition the product to its users

Presenter
Presentation Notes
Page 36: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์
Page 37: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

The Iterative Approach

OOAD : Object-Oriented Analysis and Design 37

Disciplinesgroup activities

logically

In an iteration,you walk through

all disciplines

37

Presenter
Presentation Notes
This graphic illustrates how phases and iterations (the time dimension) relate to the development activities (the discipline dimension). The relative size of the color area indicates how much of the activity is performed in each phase/iteration. Each iteration involves activities from all disciplines. The relative amount of work related to the disciplines changes between iterations. For instance, during late Construction, the main work is related to Implementation and Test and very little work on Requirements is done. Note that requirements are not necessarily complete by the end of Elaboration. It is acceptable to delay the analysis and design of well-understood portions of the system until Construction because they are low in risk.
Page 38: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

จ. อ. พ. พ.

Page 39: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

UML has 9 kinds of diagrams Class Diagram Object Diagram Component Diagram Deployment Diagram

Use Case Diagram Sequence Diagram Collaboration Diagram StateTransition Diagram Activity Diagram

Structural Diagrams(static diagrams)

Behavioral Diagrams(dynamic diagrams)

Page 40: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

UML(Unified Modeling Language)

• 5 มมมองหลกของ UML– Use-case view : หนาทการทางานของระบบซอฟตแวร

โดยพจารณาจากมมมองของผใชภายนอก หรอ ระบบภายนอก

• use-case diagram– Logical view : หนาทการทางานของระบบมโครงสราง

อยางไร มองในรปของ static structure และdynamicbehavior

• class diagram, object diagram, state, sequence, collaboration, activity diagrams

Page 41: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

UML(Unified Modeling Language)– Component view : องคประกอบยอยในการ implement ท

ประกอบเปนระบบ และ dependency ระหวางองคประกอบเหลาน น• component diagram

– Concurrency view: การแบงแยก process และ processors โดยพจารณาท ง communication และ synchronization

• dynamic diagrams (state, sequence, collaboration activity)

• implementation diagrams(component และ deployment)

– Deployment view : โครงสรางทางกายภาพเกยวกบ การตดต งและใชงานระบบ

• deployment diagram

Page 42: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

1. Class Diagrams• Class diagrams

– แสดงรายละเอยดของ Class และความสมพนธระหวาง Class ในมมมองแบบ logical view

• องคประกอบของ UML class diagrams ไดแก– Class, โครงสรางของ Class และพฤตกรรมของ

Class– ตวบงช Multiplicity และ navigation – ชอของ Role– ความสมพนธแบบ Association, aggregation,

dependency, และ inheritance

Page 43: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

int x;var x : integer;

X = 5

Offset : 010111011

heap

heap

Page 44: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Classes in UML

Person

Class name

Attributes

Operations

• เขยนได 2 รปแบบ

Person

- TaxIDNo : String- Name : String+ Income : double+ TaxPaid : Boolean

+ calcTax()+ calcTaxBal()

attribute name : type

operation name(parameter : type): result type

Page 45: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Person Person

- Name : String- Address : String

+ getName() : String+ setName(name:String)

Class name

Attribute

Behavior

Page 46: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

อยาไปเอา Type ในภาษาใดภาษาหนงมาใชกบ

UML class diagram

Person

- TaxIDNo : String- Name : String+ Income : real+ TaxPaid : Boolean

+ calcTax()+ calcTaxBal()

Real เปนชนดตวแปรทศนยม ในภาษาปาสคาลเทานน ภาษาอนไมรจก

UML ไมผกตดกบภาษา

Real Pascalfloat,Float c, c++, javadouble,Double c, c++, javaSingle,DoubleVB

Floating,String,Boolean

Page 47: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

แสดงผลบนหนาจอ

1. Echo2. Print3. Printf4. Scanf5. System.out.print6. System.out.println7. Write8. Writeln9. Display10. Input11. Read

แตละคาสงคอภาษาอะไร แลวไวทาอะไร

Display “Menu”

Page 48: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

ในโลกนมภาษาคอมพวเตอร 160 กวาภาษา

คณรจกแค 2-3 ภาษา

เขยนไดแค 1 ภาษา

เขยนเปน 0 ภาษาจงเขยนโปรแกรม Paintดวยภาษาท ถนด

สรางรป

บนทกได

เปดได

Page 49: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

A Class Diagram

Light

off( )on( )

Heater Cooler

Environmental Controller

define_climate( )terminate_climate( )

0..*

1

1

1

1

1SystemLog

display( )recordEvent( )

Actuator

startUp( )shutDown( )

Temperature

generalization

aggregation

Embedded –real time System

Page 51: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Television : Product

Product

Computer : Product

TypeAn object

Page 52: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

An Object Diagram

Victoria High StreetBranch

(A Branch Object)

London Road Branch

(A Branch Object)

Account#31421123

Account#741421123

Account#521665423

Account#31421123

Account#31421123

Account#714559543

Page 54: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

• อาจารย สอน นกศกษา ในรายวชา Association

• อาจารยนฐพงศ สอน นกศกษาไอท 58/2 ในรายวชา OOAD …Senario

นาไปเขยนเปน class diagram นายลญจกร

นาไปเขยนเปน objects diagram นายศรชช

Page 55: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

• ลกคาไปถอนเงนจากธนาคาร Association

• อาจารยนฐพงศ ถอนเงน 500 บาท จากตธนาคารกสกร …Senario

นาไปเขยนเปน class diagram นายนพณฐ

นาไปเขยนเปน objects diagram นางสาววชราภ

Page 56: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

2. Component Diagram• Component Diagram เปนไดอะแกรมทใชอธบายถง

ซอฟตแวรตาง ๆ ทเปน Component ของระบบน น ๆ

Page 57: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

A Component Diagram

Course CourseOffering

Student Professor

Course.dll

People.dll

Course

User

Register.exeBilling.exeBillingSystem

อยใน เอกสาร Programmer Manual

*.dll: Dynamic Link Libralyเพอให คนทจะพฒนาตอเขาใจองคประกอบของระบบไฟล ทคณพฒนา

Page 58: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

2. Component Diagram

WindowHandler(whnd.cpp)

Graphiclib(graphic.dll)

CommHandler(comhnd.cpp)

Main Class(main.cpp)

WindowHandler(whnd.obj)

CommHandler(comhnd.obj)

MainClass(main.obj)

ClilentProgram(client.exe)

component diagram แสดงโครงสรางทางกายภาพของ code ในเทอมของ code components (component อาจเปน source code component, a binary component, or an executable component)

อยใน เอกสาร Programmer Manual

Page 59: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Physical Model ทางกายภาพ

Logical Model ทางลอจก

Page 60: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

3. Deployment Diagram• Deployment Diagram ใชสาหรบแสดงสถาปตยกรรมของระบบ

ในลกษณะทเปน Physical Architecture คอแสดงวามคอมพวเตอรและอปกรณอะไรบางทตองการใชในระบบ

• เวลาทจะนาระบบไปตดตง จะอยในคมอ Technical Manual • ใชรปลกบาศกแทน โดย 1 ลกบาศกจะแทน 1 โหนด และแต

ละโหนดกจะม component ทเปนองคประกอบของโหนดนน

Page 61: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

A Deployment Diagram

AccountServer

DeploysAccountDB.javaAccountMgt.java

AccountServer

AccountMgt.javaAccountDB.java

อยใน เอกสาร Programmer Manualอยใน เอกสาร Programmer Manual

Page 62: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Deployment Diagram

ClientA:Compaq Pro PC

ClientB:Compaq Pro PC

ApplicationServerSilicon GraphicsO2

DatabaseServerVAX

<< DecNe t>>

Deployment diagram แสดงสถาปตยกรรมการตดตงระบบ แสดงการตดตง Hardware และ Software ในระบบ

Client-serverอยใน เอกสาร Programmer Manual

Page 63: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์
Page 64: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

4. Use Case Diagram• Use Case แปลตรงตวมความหมายวา กรณของการใชงานทเกด

จากมมมองของผใชระบบ ตวอยางงายๆ ของ Use Case กคอ- Create Order (ทาการลงใบสงซอสนคา)- Modify Order (ทาการเปลยนแปลงหรอแกไขใบสงซอสนคา)- Delete Order (ทาการลบใบสงซอสนคา)

Use case จะใชในการเกบ Requirement

Page 65: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

4. Use Case Diagram• Use Case อาจหมายถง การอธบายฟงกชนการทางาน

ตางๆ ของระบบน นเอง

• Use Case Diagram จะแสดงแผนผงการใชงานของระบบ โดยมองคประกอบ 2 สวนคอ actor และ use case

Page 66: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

4. Use case Diagram

แสดงความสามารถหรอพฤตกรรมของระบบทผใชคาดหวง

Actor

Actor (ผใชระบบ)Someone/something ทอยนอกระบบทโตตอบกบระบบ

Use Case name

Use caseชดของการกระทาททาโดยระบบซงให ผลลพธทมคณคาตอผใช

Communicates-Association

Communicates-Associationสายการสอสาร แทนชดการกระทาทงหมด

Page 67: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Use-Case Diagram

Bank Consortium

BankCustomer

Deposit Funds

Withdraw Cash

An Automated Teller Machine (ATM)

Transfer Funds

Cashier

Maintain ATM MaintenanceCrew

Collect Deposits

RTF/LMF

กลมธนาคาร ไดแก

ไทยพานชย ทหารไทย

กรงเทพ ฯลฯ

Presenter
Presentation Notes
A use-case model shows what the system is supposed to do (use cases), the system's surroundings (actors), and the relationship between actors and use cases. The use-case diagram is a graphical description of the use-case model. Can you tell at a glance what users can do with an ATM?
Page 68: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Use-Case Diagram

Bank Consortium

BankCustomer

Deposit Funds

Withdraw Cash

An Automated Teller Machine (ATM)

Transfer Funds

Cashier

Maintain ATM MaintenanceCrew

Collect Deposits

RTF/LMF

กลมธนาคาร ไดแก

ไทยพานชย ทหารไทย

กรงเทพ ฯลฯ

Presenter
Presentation Notes
A use-case model shows what the system is supposed to do (use cases), the system's surroundings (actors), and the relationship between actors and use cases. The use-case diagram is a graphical description of the use-case model. Can you tell at a glance what users can do with an ATM?
Page 69: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

A Use Case Diagram

Establish Credit

<<include>>

Trader

Validate Client

<<include>>

PlaceOrder

<<extend>>FinancialOfficer

TrackOrder

RetinalScan

CheckPassword

Place RushOrder

StockExchange

<<include>>

Broker Stock

Page 70: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

5. Sequence Diagram• Sequence Diagram จะแสดงการทางานของออบเจกต

ตางๆ เมอเกดการสงขาวสารหรอ massage และเมอเกดเหตการณตางๆ โดยทศทางของลกศรจะเปนการบงบอกถงทศทางการสง messageระหวางออบเจกต

Page 71: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

A Sequence Diagram

: Student registration form

registration manager math 101

1: fill in info

2: submit

3: add course(joe, math 01)

4: are you open?5: are you open?

6: add (joe)7: add (joe)

math 101 section 1

ถางานใดทเนน ลาดบ เวลา ทากอนหลว หรอ Requirement ใด อะไรทากอน-หลง ให ใช

Sequence Diagram

Page 72: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Math

Unit : String

3(3-0-6)

+ Add(stdname:String,stdID:String,semester:String)+ Drop()

3(2-2)

1/2561

Page 73: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

6. Collaboration Diagram• Collaboration Diagram จะแสดงการตดตอสอสาร

ระหวางออบเจกตตางๆ และความสมพนธระหวางทแตละออบเจกตตดตอสอสารกน

Page 74: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

A Collaboration Diagram

: Registrar

course form : CourseForm

theManager : CurriculumManageraCourse :

Course

1: set course info2: process

3: add course

4: new course

เนนท การบรหารจดการ งานใด หรอ Requirement ใด ตองการบรหารจดการ ให ใช

Collaboration Diagram

จนท ดาเนนการ สราง Course เรยนขนมา โดยระบรายละเอยดของคอรส ตามแบบฟอรม

กรรมการหลกสตร

Page 75: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์
Page 76: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

6. Collaboration Diagram

:aPrinterServer

:aComputer

:aPrinter

:aQueue

1 : Print (file)

[printer busy ]1.2 : Store (file)

[printer free] 1.1 :Print (file)

collaboration diagram แสดงความเกยวพนของ objects ตางๆ ทตองทางานรวมกน

เนนท การบรหารจดการ งานใด หรอ Requirement ใด ตองการบรหารจดการ ให ใช

Collaboration Diagram

กรณ น จะดพรนเตอร วาง หรอไมวาง และ จะจดการอยางไร กใช collaboration diagram

Page 77: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

7. State-Transition DiagramState-Transition Diagram ทาหนาทตอไปน• แสดงวงจรชวตของออบเจกต ระบบยอยตางๆ และระบบ

โดยรวม• บงบอกวาเหตการณตางๆ จะสงผลกระทบใหเกดอะไรขน

บางในระบบ• อาจมจดเร มตนและจดจบไดหลายจด

Page 78: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

A State-Transition Diagram

Initialization Openentry: Register studentexit: Increment count

Closed

Canceled

do: Initialize course

do: Finalize coursedo: Notify registered students

Add Student / Set count = 0

Add student[ count < 10 ]

[ count = 10 ]

Cancel

Cancel

Cancel

เรมตน

สนสด

จากรปน สถานะของคอรสเรยนม 4 สถานะ

Count = 11

Page 79: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

State Diagram

go up(floor)

go up(floor)

Onfirst floor

Moving to firstfloor

Arrive atfirst floor

MovingUp

Movingdown Idle

Arriveat floor

go down(floor)

state diagram แสดงสถาณภาพ (state) ทเปนไปไดของ object ใดๆ รวมทงแสดงเหตการณ (event) ททาใหเกดการเปลยนสภาพของ object

Page 80: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

• ใชสาหรบ– อธบาย กระแสการไหลของการทางาน (workflow)– แสดงขนตอนการทางานของระบบ

• แตละขนตอนการทางาน เรยกวา Activity ตวอยาง ไดแก– การคานวณผลลพธบางอยาง– การเปลยนแปลงสถานะ (State) ของระบบ– การสงคากลบคน – การสงสญญาณ– การเรยกใหโอเปอรเรชนอนๆ ทางาน– การสราง หรอ ทาลายวตถ

8. Activity diagramFlowchart in traditional approaches

Page 81: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Activity Diagramactivity diagram แสดงลาดบกระแสของกจกรรมของการทางานใดๆเชน ขนตอนการทา operation ขนตอนการลงทะเบยน

Initial State

Final State

ActionState1 Action State

Transition (Fork)

Transition (Join)

Control Flow

Decision

Partition1

Swimlane

Note

ActionState1

Page 82: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

ตย. Activity Diagram แสดงการทางานของ operation ‘print’

ShowMessageBox“Disk full” on screen

ShowMessageBox“Printing” onscreen

Create postscriptfile

RomoveMessageBox

^Printer.Print(file)

PrintFile()

[disk full]

[free disk space]

เงอนไข full ไมสามารถสงพมพได

Page 83: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

ต.ย. Activity Diagram แสดงการโครงการสานกทางหลวงพเศษระหวางเมองผรบจาง

สารวจขอมล/ ศกษาวเคราะหการลงบญชในปจจบน

ทบทวน/ตรวจสอบรายงาน

ออกแบบงานบญช

ออกแบบระบบสารสนเทศ

ทบทวน/ตรวจสอบรายงาน

พฒนาระบบสารสนเทศฐานขอมลบญช

ทดสอบระบบ

ทารายงานฉบบสมบรณ

ตรวจรบระบบ

Page 84: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

An Activity DiagramShow

MessageBox“Printing” on Screen

Create postscriptfile

Send postscriptfile to printer

RemoveMessageBox

displayer samplerSwimlane Example

Ordinary Example

Page 85: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Class

Attributes

Operations

Node

Use Case

Object

Attributes

Operations

State

Interface

ComponentNotePackage

Model Elements

Page 86: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Aggregation ( a form of Association)

Association

Generalization

Dependency

Page 87: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

General Mechanisms

เครองประดบ (Adornments)

UML มกลไกสาหรบการให information เพมเตมเขาไปในทกประเภทของแผนภาพ โดยเฉพาะ information น นไมสามารถสอสารไดโดยใชสญลกษณพนฐานของ UML ทม

โนต (Notes)

ขอกาหนด (Specifications)

Extensibility Mechanism

แมพมพ (Stereotypes)

ตดปาย (Tagged value)

ขอจากด (Constraints)

Page 88: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Adornments เพม information เขาไปในสญลกษณปกต

Stock Option

TheorPrice( )MarketPrice( )ExpireDate ( )

Using Black &Schole Formula

A note contains any additional information such as a simple comment

Stock Option

+TheorPrice( )#MarketPrice( )-ExpireDate ( )

Page 89: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

<<Actor>>Customer

Customer

Customer

The customer is a class with the stereotype <<Actor>>. The stereotypeadds extra semantics to the class; in this case, that the class represents an external user of the system

Page 90: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Instrument{abstract}{author = “HEE”}{status = draft }

Value : intexpdate : Date

Properties on an Instrument class. Abstract is a predefined property; author and status are user defines tagged values

Page 91: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

SeniorCitizenGroup

{person.age > 60}

A constraint restricts which Person objects may participate in the association

Person

0..1

0..*

Page 92: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Benefits of UML• เปนภาษามาตรฐานทใชในการสรางแบบจาลองเชงวตถ โดยใช

รปภาพ (Standard Visual Modeling Language)• ใชในการแลกเปลยนขอมล แบบจาลองกนระหวางทมผพฒนา

และระหวางผใช กบทมผพฒนา• นาเสนอ และ สนบสนนหลกการเชงวตถไดครบถวน ชดเจน• ไมผกตดกบภาษาโปรแกรม (Programming Language)

ภาษาใดภาษาหนง• สนบสนนการขยายขอบเขต และการปรบปรงระบบ โดยทไม

จาเปนตองลงมอพฒนาซอสโคดกอน

Page 93: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Use Case Model

Page 94: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

System Analysis• กระบวนการวเคราะหระบบ (system analysis phase)

– มงเนน “what” ทระบบจะตองม และตองทาใหกบผใช ไมเนน “how” วาจะทาอยางไร

• กระบวนการวเคราะหความตองการของผใชระบบ (Requirement analysis phase)– ใชในการสรางแบบจาลองหนาทการทางานของระบบ

ซอฟตแวร จากมมมองของผใชภายนอก หรอ ระบบภายนอก

– ไดแบบจาลองของความตองการของผใชระบบ (Requirement Model) เปน Output

Page 95: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

System Analysis and Use Case• Use Case Model

– Use Case Model คอแบบจาลองความตองการของระบบ ท นาเสนอ functional requirement ของระบบโดยรวม จากมมมองของผใชภายนอก หรอ ระบบภายนอก

– โดยจะทาหนาทในการระบพฤตกรรม หรอหนาทการทางานของระบบ (เนน “what”) ทระบบตองม

– ใชในการทดสอบ และตรวจสอบ โครงสราง และหนาทการทางานของระบบ

– ใน UML ระบเปน Use Case Description (Text) หรอ Use Case Diagram (Diagram)

Page 96: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Use Case Example• Name: การสงรายการซอขายหลกทรพย (Place Order)

– Main flow of events:1. Trader ปอนชอ และรหสของ client2. System ตรวจสอบ (Validate) ชอ รหส และ credit ของ

client3. Trader ปอนรหสหลกทรพย จานวนหลกทรพย และราคา

หลกทรพย ท Client ตองการซอขาย4. System ตรวจสอบเงอนไขราคาของหลกทรพย6. System สง order ใหกบตลาดหลกทรพย7. System เกบหมายเลข order ทไดรบจากตลาด

หลกทรพย8. System แจงให Trader ทราบ

Trader

Place OrderStock

Exchange Market

Page 97: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Use Case Diagram• นาเสนอ Use Case และการปฏสมพนธโตตอบกน

ระหวางระบบ และ ผใชภายนอก (อาจเปนคน หรอระบบกได)

• ประกอบดวย– Use Case - ความสามารถ/หนาทของระบบ– Actor - ผกระทา/ผใชงาน Use Case น นๆ– Relationship - เสนแสดงความสมพนธระหวาง

Use Case กบ Actor– System - ระบบทกาลงพฒนา

Page 98: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Use Case Modeling : Core Elements

Construct Description Syntax

use case A sequence of actions, including variants, that a system (or other entity) can perform, interacting with actors of the system.

actor A coherent set of roles that users of use cases play when interacting with these use cases.

system boundary

Represents the boundary between the physical system and the actors who interact with the physical system.

UseCaseName

ActorName

Page 99: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Construct Description Syntax

association The participation of an actor in a use case. i.e., instance of an actor and instances of a use case communicate with each other.

generalization A taxonomic relationship between a more general use case and a more specific use case.

extend A relationship from an extension use case to a base use case, specifying how the behavior for the extension use case can be inserted into the behavior defined for the base use case.

Use Case Modeling : Core Relationships

<<extend>>

Page 100: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Construct Description Syntax

include An relationship from a base use caseto an inclusion use case, specifyinghow the behavior for the inclusion usecase is inserted into the behaviordefined for the base use case.

Use Case Modeling : Core Relationships (cont’d)

<<include>>

Page 101: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Use Cases v.s. Scenario

• Use Case– ความสามารถ หรอ หนาทการทางานของระบบ– แตละ Use Case แทนชดของ transactions ทระบบทางาน

โตตอบกบ ผใชงาน หรอระบบอนๆ ภายนอก• Scenario

– สถานการณ หรอตวอยางเรองราวการใชงานระบบ– Scenario จดเปน instance ของ use case– เชน

withdrawal cash

a user withdrawals$200

Page 102: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Actors• Actor หมายถง someone หรอ some thing ทมการ

ปฏสมพนธ โตตอบกบระบบ– สงใดกตามทมความตองการในการแลกเปลยน

information กบระบบ หรอ สงใดกตามทอยภายนอกระบบ และมการใชงาน Use Case ของระบบ

– กาหนดบทบาทหนาทของผใชระบบ– กาหนดการเชอมโยงกบระบบอนๆ ภายนอก

• ตวอยางของ Actors– Customer -- maintain their account– Cashier -- verify withdrawal amount

Customer Cashier

Page 103: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Actors• Actors สามารถอธบายโดยใช Specialization

Relationship

• อาจพจารณา Actors เปนคลาส ใน UML เนองจากมrelationships เชนเดยวกบทคลาสม

specialization relationship

Customer

ATM Customer Cashier Customer

Page 104: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Actors• เชอมตอกบ use cases โดยใชเสนแสดงความ

เกยวของ ปฏสมพนธ(association)• association = ความสมพนธท มการตดตอสอสารกน

(ท งการรบ และสง messages ใหแกกนและกน)

• ใช generalization relationships อธบายความสมพนธ ระหวาง actors ไมจาเปนตองอธบายรายละเอยดของ Association เนองจากไมมการ Implement สวนของ Actor ในระบบ

Customerwithdrawal cash

Page 105: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

System• System

– อาจหมายถง Software system, business, hardware,..

– วตถประสงคใน use-case modeling เพอระบขอบเขตของระบบทกาลงพฒนา (system boundary)

• ใชสญลกษณ

System

Page 106: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Relationships between Use Case

• Extends : เปน generalization relationships ในกรณท Use Case หนงๆ ขยาย (extends) Use Case อน โดยการเพมการกระทา (actions)

• Includes/Uses : เปน generalization relationship ในกรณท Use Case หนงๆ เรยกใช (uses) Use Case อน ทพจารณาใหเปนสวนหนงของ Use Case น นๆ

Page 107: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Generalization Relationship• Child Use case รบถายทอด

คณสมบตมาจาก Parent Use Case

• Child สามารถเปลยนแปลงพฤตกรรมทรบจาก Parent หรอเพมเต มพฤตกรรม

• Child อาจนาไปแทนท ในทๆ Parent ปรากฏ

Validate client

Check password

Retinal scan

Page 108: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

“Include” relationship• มกใชในการหลกเลยงการอธบายการไหลของ

เหตการณ (flow of events) เดม ซากนหลายๆ คร ง โดยรวบรวมพฤตกรรมรวม ใน Use Case

• หลกเลยงการ copy & paste ของ Use Case Descriptions

Validate clientPlace

order

<<include>>

Track order

<<include>>

Page 109: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

“Include” Example• Name : การตรวจสอบรายการซอขายหลกทรพย

(Track Order) – Main flow:

1. ใชหมายเลข order ในการตรวจสอบ ทไดรบจากตลาดหลกทรพย Obtain and verify order number

2. Include สวนของ “Validate client”3. ในแตละสวนของ Order …

Track Order ValidateClient

<<include>>

Page 110: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

“Extend” relationship

• ใชสรางแบบจาลองบางสวนของ Use Case ท user อาจมองเปน optional

• ใช สรางแบบจาลอง conditional subflows

• ใชในการแทรก subflows ในจดทระบโดยพจารณา ปฏสมพนธระหวาง Actors

<<extend>>(set priority)

Place orderExtension points:

Set priority

Place rush order

Page 111: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

“Extend” Example• Name : การสงรายการซอขายหลกทรพย (Place Order)

– Main flow of events:1. …2. Trader ปอนเงอนไขของหลกทรพย ท Client

ตองการซอขาย3. กาหนดลาดบความสาคญ โดย (set priority)4. System สง order ใหกบตลาดหลกทรพย5. ...

Place Order Place RushOrder

<<extend>>

Page 112: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Relationships between Use Case

WithdrawalCash

ValidateAccount

<<include>>

Ship PartialOrder

Ship Order

<<extend>>

Page 113: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Comparing extends/uses• extend

– ใชแยกความแตกตางของ Use Case – actors ทเกยวของมกเปนคนกระทา Use case และ

Use Case ทextend ท งหมด– actor มกเชอมตอกบ “base” Use Case

• include/use– ใช extract พฤตกรรมรวม– มกไมม actor เกยวของโดยตรงกบ Use Case ทม

พฤตกรรมรวม– actors ทแตกตางกน for “caller” use cases

possible

Page 114: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

A Use Case Diagram

Establish

Credit

<<include>>

Trader

Validate Client

<<include>>

PlaceOrder

<<extend>>FinancialOfficer

TrackOrder

RetinalScan

CheckPassword

Place RushOrder

StockExchange

<<include>>

Page 115: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

A Use Case Diagram

<<include>>

Customer

Validate Account

<<include>>

BankTeller

Deposit

BalanceChecking

Transfer

Withdraw

Verifywithdrawal

<<include>>

Page 116: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

When and how?• Requirements capture

– ใชในการกาหนด Reuqirement ของระบบ– สรางแบบจาลอง (Model) ของ User requirements

ดวย Use Case• Test Scenarios

– สรางแบบจาลอง (Model) ของสถานการณการทดสอบระบบ (test scenarios) ดวย Use Case

• Use Case: ระบส งท customer ตองการใหมในระบบ– ต งชอให Use Case– เขยนคาอธบายส นๆ– เพมรายละเอยดในภายหลง

Presenter
Presentation Notes
Sources for identifying use cases: Think about potential actors Think about potential external events
Page 117: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Finding Actors• สามารถระบ actor ไดโดยตอบคาถามตอไปน

– ใครเปนคนใชงานหนาทการทางานหลกของระบบ (primary actors)?– ใครตองการการสนบสนนการทางานจากระบบ?– ใครตองการบารงรกษา และบรหารระบบ (secondary actors)?– Hardware devices ใดทตองการใหระบบจดการดแล?– ระบบภายนอกระบบใดท ตองการใหระบบมปฏสมพนธดวย?– ใคร หรอ อะไรทตองการไดรบผลประโยชน จาก output ของระบบ?

• Tips– ไมควรพจารณาเฉพาะ users ทใชงานระบบโดยตรง แต พจารณา

users อนๆ ทตองการใชบรการจากระบบดวย

Page 118: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Finding Use Cases• สาหรบแตละ actor ตอบคาถามตอไปน

– หนาทการทางานอะไรท actor ตองการจากระบบ?– ขอมลใดบางท actor ตองการสราง อาน ลบ เปลยนแปลง หรอเกบอย

ภายในระบบ?– เหตการณใดบางทระบบตองแจงให actor ทราบ? หรอ actor ตอง

แจงใหระบบทราบ? – หนาทการทางานของระบบ ชวยทาใหงานประจาวนของ actor งาย

ขนหรอไม?• ถาไมพจารณา actors

– อะไรคอ input/output ของระบบ ? input/output เหลาน นมาจากไหน หรอใครเปนคนนาไปใชงาน?

– ปญหาหลกของระบบทใชงานอย คออะไร?

Page 119: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Recipe (เทคนค)• ระบ actors ทมปฏสมพนธกบระบบ• พจารณาแนวทางของระบบ ในการปฏสมพนธกบ

actors• จาแนกพฤตกรรมของระบบใน การปฏสมพนธกบ

actors ใหเปน use cases โดยกาหนดความสมพนธระหวาง Use Case

Page 120: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

ตวอยางการเขยน Use case

Page 121: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

การเขยน Use caseองคประกอบมดงน- ชอของ Use Case- ภาพรวมของการทางาน (Overview)- Actor หลก (Primary Actor)- Actor รอง (Secondary Actor)- จดเร มตน (Starting Point)-จดสนสด (End point)- การทางานของ Use Case (Flow of Events)- การทางานของ Use Case เมอมปญหาเกดขน

(Alternative flow of Events)-ผลของการทางานของ Use Case (Measurable

Result)

Page 122: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Use Case : Create Orderภาพรวมของการทางาน (Overview)

จดประสงคหลกของ Use Case น เพอทาการลงขอมลในใบสงซอสนคาจากลกคา

Actor หลก (Primary Actor)ตวแทนฝายขายสนคา

Actor รอง (Secondary Actor)ไมม

จดเร มตน (Starting Point)Use Case ตวนเรมตนเมอ Actor ตวแทนฝายขายสนคาขอให ระบบทาการลงขอมลการสงซอสนคา

จดสนสด (End point)คาขอเพอทาการลงขอมลการสงซอสนคาเสรจสนสมบรณหรอไมกถกยกเลก

Page 123: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Use Case : Create Orderการทางานของ Use Case (Flow of Events)

จาก User Interface บนจอเพอทาการลงขอมลการสงซอ Actorจะตองทาการใสขอมลเกยวกบการสงซอ เปนตนวา วนทลกคาตองการใหสนคาสงมอบถงมอ (Required Date) ปรมาณทตองการส งซอ (Quantity) ตองการใหสงมอบสนคาโดยบรษทสงสนคาไหน (ShipVia) ตองการใหใหสงมอบสนคาทไหน (ShipAddress) หลงจากนนแลว Actor สามารถเลอกทจะทาการบนทกขอมลลงไปไวในฐานขอมล หรอยกเลกการทางานทงหมด ถา Actor เลอกทาการบนทก ใบสงซอใบใหมกจะถกสรางขนมาในฐานขอมล

Page 124: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Use Case : Create Orderการทางานของ Use Case เมอมปญหาเกดขน

(Alternative Flow of Events)ถาไมมสนคาทตองการอยในคลงสนคา ระบบจะตองแจงให Actor ทราบพรอมกนนนกตองยกเลกการทางานทเหลอของUse Case น

ผลของการทางานของ Use Case (Measurable Result)จะมใบสงซอสนคาใหม 1 ใบขนมาในระบบ

Page 125: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Cash Register Example

Use Case: Buy items

Actors: Customer, Cashier

Type: Primary

Description: A Customer arrives at a checkout with items to purchase. The Cashier records the purchase itemsand collects payment. On completion, the Customer leaves with the items

Page 126: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Expanded Use Case Example

Use Case: Buy Items with Cash

Actors: Customer (initiator), Cashier

Purpose: Capture a sale and its cash payment

Overview: A Customer arrives at a checkout with items to

purchase. The Cashier records the purchase items and collects a cash payment. Oncompletion, the Customer leaves with the

items.

Type: primary and essential

Cross references: R1.1, R1.2, R1.7

Page 127: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Expanded Use Case (2)

1. This use case begins when a Customer arrives at the register with items to purchase.

2. The cashier records the identifier from each item. If more than one of the same item, the Cashier can enter the quantity as well.

4. Cashier indicates completion of item entry.

6. Cashier tells the Customer the total.

3. Determines the item price and adds the item information to the running sales transaction. The description and price of the item are presented.

5. Calculates and presents the sale total.

TYPICAL COURSE OF EVENTSACTOR ACTION SYSTEM RESPONSE

Page 128: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Expanded Use Case (3)

7. The Customer gives a cash payment - possibly greater than the sale total.

8. The Cashier records the cash received amount.

10. The Cashier deposits the cash received and extracts the balance owing. Cashier gives balance and receipt to Customer.

12. Customer leaves with items purchased.

ACTOR ACTION SYSTEM RESPONSE

9. Show the balance due back to the Customer.Generates a receipt.

11. Logs the completed sale.

Page 129: Last Update : 04/01/2561 · 2018-01-05 · การวิเคราะห์และออกแบบระบบเชงวัตถุ ... – เป็นโมเดลทางคณิตศาสตร์

Expanded Use Case (4)

• Alternative Courses• Line 2: Invalid identifier entered. Indicate error• Line 7: Customer didn’t have enough cash. Cancel

sales transaction• If a Typical Course of Events has multiple equally

likely courses of action– indicate branches in Use case– write a subsection for each branch indicating the

typical course of events– have alternatives for each subsection if necessary