27
Mod04 Analysis & Design 分析與設計 1

Mod04 analysis designphase

  • View
    472

  • Download
    0

Embed Size (px)

Citation preview

Mod04 Analysis & Design分析與設計

1

課程大綱

·•資料分析/設計

·•元件分析/設計

·•流程分析/設計

2

資料分析/設計

·•找出完成系統功能所需要的資料

·•Database Table 與 Class 設計的基礎

·•Domain Model / Data Model

·•Class diagram / Object diagram

3

Classes

Class Name

Attributes

Operations

A class is a template for actual, in-memory, instances

4

Attributes - Signature[visibility] name [[multiplicity]] [: type] [=initial value] [{property}]

+ isLightOn : boolean = false

- numOfPeople : int

mySport

+ passengers : Customer[0..10]

- id : long {readOnly}

5

Operations - Signature[visibility] name [(parameter-list)] [: return-type] [{property}]

+ isLightOn() : boolean

+ addColor(newColor : Color)

+ addColor(newColor : Color) : void

# convertToPoint(x : int, y : int) : Point

- changeItem([in] key : string, [out] newItem : Item) : int

6

7

Visibility

We will try to keep the visibility as

minimal as possible

7

Lab4.1 Domain Model

8

9

RelationsDependency

Association

Composition Aggregation

請參考 Class Relations.docx

9

Lab4.2 Class Relations

10

Class Types / Relations

11

Lab4.3 Object-Orientation

12

13

Object DiagramIn an Object Diagram, class instances can be modeled

In runtime

Class Diagram Object Diagram

13

Lab4.4 Object diagram

14

元件分析/設計

·•模組化關鍵

·•Package diagram

·•Class / Component diagram

15

Package diagram

·•Java package

·•.NET namespace

·•Folders in file system

·•程式分類

16

Package diagram

17

Component Analysis

18

Component A & D

19

Lab4.5 Component A & D

20

流程分析/設計

·•Operations

·•Communication / Sequence diagram

·•Statemachine diagram

21

Communication diagram

22

Lab4.6 Communication diagram

23

Sequence diagram

24

Lab4.7 Sequence diagram

25

Statemachine diagram

26

Lab4.8 Turnstile

ThankYouLight

CoinBox Lock AlarmGate

Turnstile

OutOfServiceLight

27