structure analysis class diagram ... - cs.science.cmu.ac.th เพื่อแสดง information...

Post on 21-Mar-2018

221 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

UMLrequirement Activity diagram- overview

Use case diagram structure analysis

Class diagramBehavior analysis

5.1 sequence diagram5.2 communication diagram5.3 statechart diagram5.4 activity diagram

Implement5.5 component diagram5.6 deployment diagram

Acitity diagram-business flow

Acitity diagram-complex use case

Acitity diagram-method

2

5.4 activity diagramActivity diagrams show behavior with control structure.

Activity diagram can be used to show behaviors over many use case, model business workflows, or describe complicated method.

activity diagram มจีดุเร ิม่ตน้จดุสิน้สดุ

กจิกรรมของระบบงานactivity1

activity2

จุดเร่ิมต้น

จุดส้ินสุด

สญัลกัษณ

3

เชน activity diagram แสดงเกีย่วกบัการเขียน&สงจดหมาย

Write letter

Address letter Activity state

Start state

Stop state

post letter

transition

สีฟ้าเป็นคาํอธิบาย

4

ใน activity diagram มลีกัษณะ

-Swimlanes

-Decision

-Forks and joins

-Object flow

-signal

5

Swimlanes : Partition

เปนการแบงกลุม activity เปนเลน เหมอืนสระวายน้าํ

แบงเปนชองในแนวดิ่ง และกาํหนดแตละชองดวยชือ่ object ไวดานบน

การแบงเปน Swimlanes ชวยใหแยกแยะผูรบัผดิชอบ แตละงานไดวา ใครควรจะเปนคนทาํงานในหมวดหมูใด

ตวัอยางเชน

6

Swimlanes : Partition เพิ่ม

7

Customer Sales Stockroom

pay

deliver order

collect order

request service

take order fill order

8

Decisionมีทางเลอืกใหตัดสนิใจ

สญัลกัษณเชน

wakeUp

Eat Breakfast Go to Work

[hungry] [not hungry]

Real world

9

get mail

open mail bin mail

else [is junk]

ตวัอยาง

10

calculate total cost

get authorization

charge customer’s account

[cost < $50]

[cost >= $50]

ตวัอยาง

11

get campaign bonus level

average bonus level

get next campaign

[campaign found][no more campaign]

ตวัอยาง

next

12

Activity diagram for calculateBonus() operation ตย Simon p220

Find oldest campaign worked on

[no campaign]

Get campaign bonus level

Get next campaign

Average campaign bonus level

Set bonus to grad minimum

[campaign found]

[no more campaign]

[campaign found]

13

Forks and joinsงานหลายงานที่มกีารทาํงานไปพรอมๆ กนัสญัลกัษณ ใชเสนตรงแนวนอนเสนหนาตวัอยาง

Work out

relaxshopping

fork

join

14

ตวัอยาง activity diagram making a cup of tea

Find tea bag

[milk required]

Fill cupFill kettle with water

Place tea bag in cup

Boil water in kettle

Add water to cup

Add milk

[no milk required]real world

15

Activity diagram for the manage course information use case

16

ตวัอยาง

Design new product

Make product

Manufacture product

Sell product

Deliver product

17Source: Fowler & Scott,UML Distilled

Receive Order

Assign Goods to item

Authorize Payment

Reorder Goods

Dispatch order

Cancel Order

*[for each line item]

[need to reorder]

[stock assigned to all items and payment authorized]

[failed][suceeded]

18

ตวัอยาง activity diagram for a company assembly companymarketing manufacturing delivery

market product

sell product

deliver product

design new product

manufacture product

:Overall System

19

ตัวอยาง activity diagram for กระบวนการสัง่ซือ้สินคา :Overall System

Customer Sales Warehouse

Continue work

Request product

Process order

o : Order [in progress]Pull materials

Ship order

o : Order [filled]

Received product

Receive order

close order

b : Bill [unpaid]

Bill Customer

b : Bill [paid]

Object flow -:input/output สามารถ modify สถานะของobject Object in state

20

Object flowใน activity diagram -: input/output สามารถ modify สถานะของobject ตวัอยาง activity diagram ทีม่ลีกัษณะ object flow

21

ตวัอยาง marketing

manufacturing delivery

Market product

Sell product

Deliver product

Design new product

Manufacture product

:ProductSpec

:Order[delivered]

:Order [paid]

object

Object flow

Object in state

มี 2 object คือ :productSpec ซึง่เปน output จาก design new product subactivity state และเปน input เขาสู manufacture product subactivity state :order ซึง่ capture payment deliver detail เพื่อ audit for selling process

22

Signalแสดงการสงสญัญาณเพือ่แสดง information communicate asynchronous ระหวาง 2 objectsignal event จะเกดิเมือ่ object ไดรบั signal

Event ที่เกดิ อาจเปนไปไดวาไดรับจาก object เปน trigger state transition

สัญลักษณEvent ทีเ่ปน input

Event ที่เปน output

Signal Receipt notation also called the Accept event action in a UML Activity Diagram is an action that waits for a specific event to occur.

Signal Sending in UML Activity Diagram is an action that creates a signal instance from its inputs, and transmits it to the target object,

Create order fill order request Create invoice

Cancel request

Cancel order

23

ตวัอยาง activity diagram แสดงการสงสญัญาณ เมือ่กด remote control เพื่อเปลีย่นชอง

Press channel number

Change channel

watch

watch

Change channel

Television

Signal : event input

Signal : event output

24

sendSignal : create a signal instance from its inputs, and transmits it to the target object

An AcceptEventAction is an action that waits for the occurrence of an event meeting specified conditions.

25

events like user input or a model event that leads to an UI update

26

Activity diagram : mailOrderCompany

ตวัอยา่ง UML red p. 241

Select products from catalog

order

Goods delivered

Fill in order form

Mail order

:mailOrderCompany

Select products from catalog

Check Goods

External flow of control

Receive a signal

Send a signal called order Object flow

27

ตวัอย่าง

28

Activity diagram Person: Prepare beverage Real world

Find beverage

Put coffee in filter

Add water to reservoir Get cups

Put filter in machine

Turn on machine

Brew coffee

Pour coffee

Get cups

drink

[no coffee] [no cola]

[found cola][found coffee]

/coffeePot.turnOn

Light goes out

29

Receive order

Authorize Payment

Check line item

Activity diagram : Order

Assign to orders

Reorder item

Dispatch Order

*For each line item on order

[in stock][succeeded]

[need to reorder]

[stock assigned to all line items and payment authorized]

Cancel Order

[failed]

taseap p 41

30Simon p223

Activity diagram : running a campaignCampaign Manager Campaign team

pay

Request campaign

Accept payment

Campaign [Commissioned]

client

Authorize Campaign [Active]

Run CampaignCampaign

[Complete]

Campaign [Paid]

31

Activity diagram :Order processing Fulfillment

Pay

Order product

customer

Validate order

Larman p608

:Order [placed]

Correct Payment

:Order [prepaid]

Get Product

Deliver rush

Deliverregular

:Order [fulfilled]Give visa to

shippers

Add customer to satisfied list Send receipt

[rush]

32

Establish E-mail connection

Send e-mail Receive response

Activity diagram : email

[private content]

taseap p 41

Encrypted e-mail

Regular e-mail

Communication established

[valid reply] [no reply] or [error]

33same

34

create newstaffGrade

link to creativeStaff

link to previousStaffGrade

set prevoiusSatffGrade

gradeFinishDate

activity diagram showing the main step for operation CreativeStaff.changeGrade()

เล่มsimon p.262-265

35

check approval forgrade change

print approvalrequest

link to creativeStaff

set prevoiusStaffGrade

gradeFinishDate

create newStaffGrade

[not approval byDirector]

[approval byDirector]

more complex activity diagram for CreativeStaff.changeGrade()

36

calculate bonus

create warning letter add to 'star' list

formal list

add to list

[bonus > 250][bonus < 25]

[bonus >= 25 and bonus

<=250]

[more staffMembers]

[no more staffMembers]

activity diagram for prepareBonusList()

37

find oldestcampaign worked

on

average campaignbonus

set bonus to grademinimum

get next campaign

get campaign bonuslevel

[campaign found]

[no more campaigns][campaign found]

[no campaign]

activity diagram for creativeSatff.calculateBonus()

38

Activity diagram for the use case checkCampaignBudget

get client

calculate overheads

get advert cost

show campaign

[incorrect campaign][correct campaign]

[more adverts][no more adverts]

39

{{ while more adversts:

next advert;cumcost = cumcost + advertcost;

endwhile;}{ campaigncost = cumcost x ohrate;

get campaignbudget;case campaigncost >= campaignbudget:

return warningflag;endcase

}}

pseudo code for check campaign budget

get client

calculate overheads

get advert cost

show campaign

[incorrect campaign]

[correct campaign]

[more adverts][no more adverts]

อยา่ลืมวา่

• Activity diagram สามารถ นาํมาใชอ้ธิบาย

– overall business flow– Use case ท่ีซบัซอ้น

– Method

เม่ือเห็น Activity diagram ตอ้งตอบตวัเองวา่ Activity diagramน้ีกาํลงัอธิบายอะไร

และเม่ือเราตอ้งเขียน diagram เราตอ้งระบุใหช้ดัเจนวา่

Activity diagram for…….

40

41

แบบฝึกหดั

จงเขียน actitity diagram :methodและ pseudo code for calculateGPA()

ID CourseNo Unit Grade5305100007 204219 3 A5305100007 204315 3 B 5305100007 204362 3 B5405100009 …..

42

UML for objected-analysis and designUse case diagram-requirementClass diagram-structure analysis

Behavior analysis5.1 sequence diagram5.2 collaboration diagram 5.3 statechart diagram แสดงสถานะของ object 5.4 activity diagram :business flow, use case, method

Implement ***now5.5 component diagram5.6 deployment diagram

43

Implementation diagram

show aspect of physical implementation , including the structure of component and the run-time deployment system

เปน diagram ทีใ่ชในกระบวนการ implement งาน ม ี2 diagram

-Component diagram

-Deployment diagram

44

5.5 Component diagramเปน diagram ที่แสดงใหเหน็ถึง สวนประกอบทาง software (Software component) และความสมัพนัธระหวาง component และยงัแสดงถงึลกัษณะ dependence ระหวาง software component โดย Component อาจประกอบไปดว้ย Source Code และ Runtime หรอื Executable Component

ประโยชนทีส่าํคญัของ component diagram คือสามารถแบง system ขนาดใหญ เปน subsystem การแบงเปน subsystem ทาํใหการพัฒนาระบบมปีระสทิธภิาพ สนบัสนนุการแบงงานกนัทาํเปนทีม แยกความรบัผดิชอบได สนบัสนนุหลกัการ reuse

Component diagram - Show the structure of software in term of software components and their relationship to executable component - need not be used at this low level , but can be used to show dependencies between large-scale component .

45

สญัลักษณ

component

ความสมัพนัธในลกัษณะ Dependency โดยจะแสดงในรปูของเสนปะทีม่หีวัลกูศร ดานหวัลกูศร --Component ลกู ดานปลาย --Component หลกั

Executation programเช่น Program1.exe

1 component เกดิจากการ implement class >= 1

หลกั

tools::Calculator.java

Component นีอ้ยูใ่น package tools

46

การแบงยอยsystem

subsystem

component

47

GardeningSystemPlanner

GardeningSystemController

GardeningSystemPlanDatabase

GardeningSystemDevices

ตวัอยาง hydroponics gardening system ม ี4 subsystem

48

GardeningControl

EnvironmentControllers

PlanningConstants

NutrientControllers

GreenhouseSensors GreenhouseActuators

Hydroponics gardening system

component diagram : Gardening System Controller

49

ตวัอยาง Servlet 2.2 API

Billboard service Reporting tool JDBC API

Show 4 component mean that the Reporting tool is dependent on those three component

50

ตวัอยาง Scheduler

Planer

GUI

GUI update PlanerPlaner reservation Scheduler

51

ตวัอยาง

ShoppingSesion

ShoppingCart

Catalog

52

Dependency ระหวาง Component

Partner

Inventory management

Treasure

53

ตวัอยาง

<<page>> home.html

<<file>> anlmlogo.java

<<file>> anlmator.java

<<document>> anlmlogo.java

<< document >> anlmator.java

54

Page or file เชน่page1.htmlApplet.java

Component ทีเ่ป็นฝ่ายใหบ้รกิาร

Component ทีเ่ป็นฝ่ายขอใชบ้รกิาร

แสดงการใชอ้นิเตอรเ์ฟส

Three types of icon that can represent software component

Generic icon

Represent source file Represent file that contains executable (or object) code

เพิ่มเติม

55

Billing.exe

Course.dll People.dll

Registar.exe

Billing system

Course user

Course registration system

dll dynamic link library เป็นprog.เลก็ๆ ทํางานเฉพาะอย่างถูก loadเข้ามาเมื่อต้องใช้งาน

56

ตวัอยาง

อา้งอิงจาก http://www.math.unipd.it/~cignoni/uml/diagram.htm

สีฟ้าเป็นคาํอธิบาย

57

Calculator.html

Calculator.jar

CalcApplet.class CalcGUI.class CalcModule.class

ตวัอยาง

58

59

<<JavaClassFile>> BookReviewApplication

“JavaApplication” BookReviewApplication

<<JavaClassFile>> BookReviewPanel

BookReviewPanel

<<JavaClassFile>> BookReviewData

<<JavaClassFile>> BookReviewMySQLDAO

BookReviewMySQLDAO

<<JavaClassFile>> BookReviewVO

BookReviewVO

60

<<JAR>> BookReviewApplicationCilentJAR

<<JAR>> BookReviewMySQLDAOJAR

<<JavaClassFile>>BookReviewMySQLDAO

<<JavaClassFile>> BookReviewApplication <<JavaClassFile>>

BookReviewPanel

<<JAR>> BookReviewBusinessJAR

<<JavaClassFile>> BookReviewVO

<<JavaClassFile>> BookReviewData

61

The diagram demonstrates some components and their inter-relationships. Assembly connectors "link" the provided interfaces supplied by "Product" and "Customer" to the required interfaces specified by "Order". A dependency relationship maps a customer's associated account details to the required interface; "Payment", indicated by Order".Components are similar in practice to package diagrams, as they define boundaries and are used to group elements into logical structures. The difference betweenpackage diagrams and component diagramsis that Component Diagrams offer a more semantically rich grouping mechanism. With component diagrams all of the model elementsare private, whereas package diagrams only display public items.

Sheet p.1

62

Server ComponentsThis diagram illustrates the layout ofthe main server side components thatWill require building for an on-line book store. These components are a mixture of custom built and purchased items which willbe assembled to provide the required functionality.

63

Security ComponentsThe security components diagram shows how security software such As the Certificate Authority, Browser, Web server and other model elements work together to assure security provisions in the proposed system.

64

Catalog Home Strub

Catalog Business Delegate

CatalogRemote Strub

Catalog EJB Home

Catalog EJB objectb

Catalog Bean

Catalog.jsp Catalog homeCatalog home

Catalog remote Catalog remote

Catalog remote

Remote method calls across a network using HOP

สีฟ้าคาํอธิบาย

65

5.6 Deployment diagram

show how a system will be physical deployed in the hardware environment

Its purpose is to show where the different component of the system will physically run

and how they will be physical with each other

Show how software is mapped onto hardware devices.

สถาปตยกรรมแบบ physical เปนการมองภาพรวมทัง้ระบบ ในลกัษณะที ่hardware เชือ่มตอกนั

66

สญัลกัษณ

เปนการเชือ่มระหวาง node

Node เปน object ที่แทนอปุกรณฮารดแวรที่ใชในการทาํงานของระบบ

ปกต ิจะม ีอยางนอย 1 หนวยความจาํ 1 processor

node สีเ่หลีย่มลกูบาศก 3 มติ ิภายในบรรจปุระเภทของ node เชน PC หรอื Hostmachine

ลกูศรเสนปะ เชือ่มระหวาง node

อาจมกีารเชือ่มตอระหวาง node ที่แสดงวาอปุกรณมกีารตดิตอสื่อสารกนัดวยวธิใีด

67

ตวัอยาง

AdminServer:HostMachine

:Schedule <<database>>meetingDB

Joe’sMAchine:PC

:Planner

68

ตวัอยาง การเชือ่มตอกนัของโหนดโดยกาํหนดประเภทการสือ่สาร

ClientA:PC

ClientB:PC

Database Server:VAX

Application Server:Silicon Graphics:O2

<<TCP/IP>>

<<TCP/IP>>

DecNet

69

70

71

72

73

74

75

อธบิาย Deployment diagram ไดอะแกรมนีแ้สดงใหเ้ห็นถงึสถาปตัยกรรมแบบ client-server โดยมีserver 2 ตวั คอื bank server กบั Real Estate server และ client คอื aPC ในการทาํงานของระบบเป็นการเชือ่มตอ่การทาํงานผา่นเครือ่ขา่ย TCP/IP ซึง่เป็น protocol ในการเชือ่มตอ่ในการทํางาน aPC คอื BuyerInterface ทาํงานกบั server ท ัง้ 2 ตวั เพือ่นําขอ้มลูมาแสดงที ่BuyerInterface

ในการทํางาน ที ่bank server รบัขอ้มลูผา่นทาง IMorgageAppcationผา่นเครือ่ขา่ยและประมวลผลที ่Morgage Application โดยดงึขอ้มลูจาก CustomerDB

สว่น การทาํงานที ่Real Estate server เมือ่รบัขอ้มลูผา่นILsting ทางเครือ่ขา่ยก็นําไปประมวลผลที ่Listing โดยตรวจสอบ/ดงึขอ้มลูจาก MultipleListings

76

77

78

OnBoardComputer

RoutingSubsystem

WebServer

PlanningSubsystem

Figure 6-31 Allocation of MyTrip sunbsystem to hardware (UML development diagram).RoutingSubsystem runs on the OnBoardComputer while PlanningSubsystem runs on a WebServer.

79

top related