chương 4 mô hình phân tích - nguyễn kim Đức | just another …€¦ ·  ·...

86
1 CNPM/NN CÔNG NGHPHN MM Chương 4 Mô hình phân tích MÔN HC TRƯỜNG ĐẠI HC CÔNG NGHIP TP.HCM

Upload: dotu

Post on 14-Apr-2018

222 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

1CNPM/NN

CÔNG NGHỆ PHẦN MỀM

Chương 4

Mô hình phân tích

MÔN HỌC

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM

Page 2: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

2CNPM/NN

Chương Chương 4:4: Mô hMô hìình phân tnh phân tííchch

4.1 nguyên lý phân tích4.2 Mô hình luồng dữ liệu4.3 Mô hình hành vi4.4 Mô hình lớp4.5 Mô hình kịch bản

Page 3: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

3CNPM/NN

4.1 nguyên lý phân t4.1 nguyên lý phân tííchch

Kỹ nghệ yêu cầuXác định khách hàng và làm việc với nhau để đưa ra yêu cầu mức sản phẩmXây dựng mô hình phân tích

Tập trung vào dữ liệuXác định chức năngBiểu diễn hành vi

Tạo mẫu những phạm vi không chắn chắnPhát triển đặc tả cho phát triển thiết kếĐịnh hướng những kiểm tra kỹ thuật hình thức

Page 4: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

4CNPM/NN

Mô hMô hìình phân tnh phân tííchch

Data Model

BehavioralModel

FunctionalModel

Page 5: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

5CNPM/NN

Nguyên lý phân tNguyên lý phân tíích Ich I

Mô hình miền dữ liệuXác định đối tượng dữ liệuMô tả thuộc tính dữ liệuThiết lập quan hệ dữ liệu

Page 6: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

6CNPM/NN

Nguyên lý phân tNguyên lý phân tíích IIch II

Mô hình chức năngXác định những chức năng biến đổi dữ liệuChỉ ra luồng dữ liệu truyền qua hệ thốngBiểu diễn những đối tượng tạo và tiêu thụ dữ liệu (producer và consumer)

Page 7: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

7CNPM/NN

Nguyên lý phân tNguyên lý phân tíích IIIch III

Mô hình hành viXác định những trạng thái của hệ thốngNhững sự kiện gây ra biến đổi trạng thái

Page 8: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

8CNPM/NN

Nguyên lý phân tNguyên lý phân tíích IVch IV

Phân tách mô hình: tinh chế mô hình nhằm biểu diễn những mức trừu tượng thấp hơn

Tinh chế những đối tượng dữ liệuTạo hệ thống cấp bậc chức năngBiểu diễn hành vi ở các mức chi tiết khác nhau

Page 9: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

9CNPM/NN

Nguyên lý phân tNguyên lý phân tíích Vch V

Sự thiết yếu (Essence)Tập trung vào những vấn đề thiết yếu không quan tâm tới chi tiết thực thi

Page 10: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

10CNPM/NN

Nguyên lý cNguyên lý củủa Davisa Davis

Hiểu vấn đề trước khi tạo mô hình phân tíchTạo prototype cho phép người dùng hiểu tương tác người - máyGhi nhận nguồn gốc và lý do cho mỗi yêu cầuDùng nhiều khung nhìn (view)Phân loại độ ưu tiên của yêu cầuLàm việc để loại bỏ những sự mơ hồ

Page 11: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

11CNPM/NN

HưHướớng phân tng phân tííchch

Phân tích cấu trúc:Dữ liệu: Xác định thuộc tính và quan hệ của chúngNhững quá trình mà biến đổi dữ liệu: mô hình luồng dữ liệu

Phân tích hướng đối tượngTập trung: lớp và tương tác của chúng với nhauMô hình: UML

Page 12: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

12CNPM/NN

NhNhữững thng thàành phnh phầần trong mô hn trong mô hìình phân tnh phân tííchch

Use-case diagramsUse cases - textActivity DiagramsSwim lane diagrams

Scenario-based elements

Class diagramsAnalysis PackagesCRC ModelsCollaboration Diagrams

Class-based elements

Data-flow diagramsControl flow diagramsProcessing narratives

Flow-oriented elements

State diagramsSequence diagrams

Behavioral elements

Analysis Model

Page 13: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

13CNPM/NN

4.2 T4.2 Tạạo mô ho mô hìình dnh dữữ liliệệuu

Kiểm tra những dữ liệu độc lập trong xử lýQuan tâm tới miền của dữ liệuTạo mô hình ở mức trừu tượng đối với khách hàngXác định các đối tượng dữ liệu quan hệ với nhau như thế nào

Page 14: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

14CNPM/NN

ĐĐốối tưi tượợng dng dữữ liliệệu lu làà ggìì??

Đối tượng dữ liệu là những gì được mô tả bằng các thuộc tính (những mục dữ liệu) mà sẽ được xử lý trong phần mềm:

Mỗi thể hiện của một đối tượng (sách) được xác định bởi một số định danh duy nhất (ISBN)Mỗi đối tượng đóng một vai trò cần thiết trong hệ thống, vídụ hệ thống không thể hoạt động nếu không truy cập tới thểhiện của đối tượngMỗi đối tượng được mô tả bằng những thuộc tính là những mục dữ liệu của chúng

Page 15: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

15CNPM/NN

NhNhữững đng đốối tưi tượợng dng dữữ liliệệu đu đặặc trưngc trưng

externalexternal entitiesentities (printer, user, sensor)(printer, user, sensor)thingsthings (e.g, reports, displays, signals) (e.g, reports, displays, signals) occurrences or eventsoccurrences or events (e.g., interrupt, alarm)(e.g., interrupt, alarm)rolesroles (e.g., manager, engineer, salesperson)(e.g., manager, engineer, salesperson)organizational unitsorganizational units (e.g., division, team)(e.g., division, team)placesplaces ((e.g., manufacturing floor) e.g., manufacturing floor) structuresstructures ((e.g., employee record)e.g., employee record)

Page 16: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

16CNPM/NN

ThuThuộộc tc tíính cnh củủa đa đốối tưi tượợngng

object: automobileobject: automobileattributes:attributes:

makemakemodelmodelbody typebody typepricepriceoptions codeoptions code

Page 17: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

17CNPM/NN

Quan hQuan hệệ llàà ggìì (Relationship)?(Relationship)?

Quan hệ chỉ ra sự kết nối giữa các đối tượng mà hệ thống phải ghi nhậnĐối tượng có thể có nhiều quan hệHai đối tượng có thể có nhiều quan hệ khác nhau

Page 18: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

18CNPM/NN

ERDERD

(0, m) (1, 1)

objectobject objectobjectrelationshiprelationship11 22

(0, m)(0, m)

(1, 1)(1, 1)

objectobject11 objectobject22relationshiprelationship

attributeattribute

Page 19: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

19CNPM/NN

VVíí ddụụ

Page 20: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

20CNPM/NN

VVíí ddụụ

Page 21: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

21CNPM/NN

DDữữ liliệệu phu phụụ thuthuộộc thc thờời giani gian

21

Product_ID

Price

Price_History

PRODUCT

Effective_Date

Page 22: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

22CNPM/NN

22

EMPLOYEEEMPLOYEE

Address

Date_Hired

Employee_Name

Hourly_Rate

Employee_No

Employee_Type

SALARIEDEMPLOYEESALARIEDEMPLOYEE

HOURLYEMPLOYEEHOURLY

EMPLOYEE CONSULTANTCONSULTANT

d

Annual_Salary Stock_Options Billing_Rate

Contract_No“H”

“S” “C”

Employee_Type=

Page 23: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

23CNPM/NN

VVíí ddụụ

Page 24: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

24CNPM/NN

Use-case diagramsUse cases - textActivity DiagramsSwim lane diagrams

Scenario-based elements

Class diagramsAnalysis PackagesCRC ModelsCollaboration Diagrams

Class-based elements

Data-flow diagramsControl flow diagramsProcessing narratives

Flow-oriented elements

State diagramsSequence diagrams

Behavioral elements

Analysis Model

NhNhữững thng thàành phnh phầần trong mô hn trong mô hìình phân tnh phân tííchch

Xét mô hình luồng

Page 25: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

25CNPM/NN

4.3 Mô h4.3 Mô hìình lunh luồồng dng dữữ liliệệuu

computercomputerbasedbasedsystemsystem

inputinput outputoutput

Mô hMô hìình lunh luồồng dng dữữ liliệệuu DFD (Data-flow diagrams)

Page 26: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

26CNPM/NN

Ký hiKý hiệệuu

ThThựực thc thểể ngongoàài i ((external entitiesexternal entities )

QuQuáá trtrììnhnh(process)(process)

LuLuồồng dng dữữ liliệệuu((data flow)data flow)

Kho dKho dữữ liliệệuu(data store)(data store)

Page 27: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

27CNPM/NN

LuLuồồng dng dữữ liliệệuu

Data flows through a system, beginningData flows through a system, beginningas input and be transformed into output.as input and be transformed into output.

computecomputetriangle triangle

areaarea

basebase

heightheight

areaarea

Page 28: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

28CNPM/NN

Kho dKho dữữ liliệệuu

DataData is often stored for later use.is often stored for later use.

looklook--upupsensorsensor

datadata

sensor #sensor #

report requiredreport required

sensor #, type, sensor #, type, location, agelocation, age

sensor datasensor data

sensor numbersensor number

type, type, location, agelocation, age

Page 29: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

29CNPM/NN

HưHướớng dng dẫẫnn

Tất cả các biểu tượng phải có nhãn với tên có ý nghĩaDFD có một số mức chi tiết (2.0, 2.1, 2.2… )Bắt đầu với sơ đồ mức 0 hay sơ đồ ngữ cảnhLuôn chỉ thực thể ngoài ở mức 0Luôn luôn gán nhãn cho mũi tên luồng dữ liệuKhông biểu diễn những logic thủ tụcKiểm tra mô hình dữ liệu để cô lập đối tượng dữ liệu vàphân tích văn phạm để xác định hoạt động

Page 30: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

30CNPM/NN

DFD mDFD mứức 0c 0

useruserprocessing processing

requestrequest

videovideosourcesource NTSCNTSC

video signalvideo signal

digitaldigitalvideovideo

processorprocessor

requestedrequestedvideovideosignalsignal

monitormonitor

Page 31: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

31CNPM/NN

CCấấp bp bậậc luc luồồng dng dữữ liliệệuu

PPaa bbxx yy

p1p1p2p2

p3p3p4p4 55

aa

bb

cc

ddee

ff

gg

level 0level 0

level 1level 1

Page 32: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

32CNPM/NN

DFD mDFD mứứcc 11

Page 33: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

33CNPM/NN

DFD mDFD mứức IIc II

Phân tích để xác định mức dịch chuyển kếtiếpCân bằng luồng để duy trì luồng liên tụcPhát triển từ mức 1Dùng tỷ lệ mở rộng thích hợp

Page 34: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

34CNPM/NN

ChChúú ýý

Mỗi xử lý (bubble) được tinh chế cho đến khi nó chỉ còn một xử lý đơnTỷ lệ mở rộng giảm khi số mức gia tăngThông thường từ mức 3 tới mức 7

Page 35: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

35CNPM/NN

Maps intoMaps into

Phân tPhân tíích DFD ch DFD thithiếết kt kếế

analysis modelanalysis model

design modeldesign model

Page 36: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

36CNPM/NN

Page 37: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

37CNPM/NN

SafeHomeSafeHome

SafeHome dùng những thiết bị cảm biến để nhận ra tình trạng nhà, nó có thể được lập trình bởi chủ nhà và có thểgọi điện thoại tự động.SafeHome bao gồm: những bộ cảm biến khói; cảm biến hoạt động cửa ra vào, cửa sổ; cảm biến sự di chuyển; một còi báo động; một bảng điều khiển; một màn hình...Dịch vụ bao gồm: tạo ra báo động, theo dõi sự kiện ngoài, gọi điện thoại, lập trình bảng điều khiển...Danh sách ràng buộc: giá thành sản phẩm < 80$, phải thân thiện với người dùng, giao giao tiếp trực tiếp với đường điện thoại tiêu chuẩn.Những tiêu chuẩn: bộ cảm biến phải phát hiện sự kiện trong vòng 1giây, phải có một lược đồ ưu tiên thực thi.

Page 38: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

38CNPM/NN

KhKhảảo so sáát hot hoạạt đt độộngng

1. Chủ nhà quan sát bảng điều khiển nếu hệ thống chưa sẵn sàng thì chủ nhà phải đóng cửa sổ/cửa ra vào để hệthống có thể hoạt động

2. Chủ nhà nhập vào password 4 ký tự nếu password không đúng bảng điều khiển sẽ bip và reset. Nếu password đúng bảng điều khiển sẽ chờ cho hoạt động khác

3. Chủ nhà chọn khóa stay hay away để hoạt động hệthống. Away sẽ hoạt động tất cả bộ cảm biến, stay sẽ ngưng hoạt động những bộ cảm biến những chuyển động bên trong

4. Khi hệ thống hoạt động sẽ xuất hiện đèn báo màu đỏ trên bảng điều khiển

Page 39: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

39CNPM/NN

XÂY DXÂY DỰỰNG DFDNG DFD

Phần mềm SafeHome: Thiết lập đoạn văn miêu tả xử lýDFD mức ngữ cảnh (mức 0): nhận diện các thực thể và dữ liệu, input, output

SafeHome

Baûng ñieàu khieån

Boä caûm öùng

Maøn hình

Chuoâng

Ñöôøng ñieän thoaïi

Leänh vaø döõ lieäu

Traïng thaùi caûm öùng

Thoâng tin hieån thò

Kieåu baùo ñoäng

Taàn soá cuûa soá ñieän thoaïi

Page 40: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

40CNPM/NN

MMứức 1c 1

Page 41: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

41CNPM/NN

MMứức 2 (monitor sensors)c 2 (monitor sensors)

Page 42: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

42CNPM/NN

VVíí ddụụ

Launched Dec. 11, 1998, the Climate Orbiter plunged too steeply into the Martian atmosphere Sept. 23, 1999, and either burned up or crashed. In an initial failure report released Oct. 15, 2000 the review board blamed the navigation error on a communications foul-up between NASA's Jet Propulsion Laboratory and prime contractor Lockheed Martin.

Launched Dec. 11, 1998, the Climate Orbiter plunged too steeply into the Martian atmosphere Sept. 23, 1999, and either burned up or crashed. In an initial failure report released Oct. 15, 2000 the review board blamed the navigation error on a communications foul-up between NASA's Jet Propulsion Laboratory and prime contractor Lockheed Martin.

C o llec t,an a lyze ,

ge ne ra te f l igh tcon tro l d a ta

JP L -1

J 1 JP L s to re

C on v e rt d a taf rom M e tric to

E n g lish

?

LM 1 L M s to re

C on tro lspa ce f l igh t

LM -1

E ng lish da ta

T ra n s fe r o f F lig h t C o n tro l D a taT h is p ro cessw as m issin g

M e tric da ta

T ran sfe r da ta?

W ho w asresp onsib le

fo r th is task?

Page 43: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

43CNPM/NN

VIVIẾẾT PSPECT PSPEC

Có thể viết PSPEC bằng một trong 2 cáchNgôn ngữ tự nhiên Ngôn ngữ PDL - là ngôn ngữ giả giúp thể hiện kiến trúc và giao tiếp của chức năng xử lý

Page 44: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

44CNPM/NN

NGÔN NGNGÔN NGỮỮ PDL (PDL (t.tt.t))procedure AnalyzeTriangle( a, b, c: in real; type: out string)begin

sort a, b, c so that a >= b >= c;if ( c > 0 and a < b + c )

if ( a = c )type := “Equilateral”

elseif ( a = b or b = c )

type := “Isosceles”else

if ( a*a = b*b + c*c )type := “Right”

elsetype := “Scalene”

elsetype := “Error”

end

Page 45: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

45CNPM/NN

TTỪỪ ĐI ĐIỂỂN DN DỮỮ LILIỆỆUU

Nhiều phần tử được tạo ra trong mô hình phân tích: dữliệu, chức năng, điều khiển… Phải có một cách thức quản lý các phần tử đó sao cho hiệu quả chúng ta dùng Từ điển dữ liệuĐịnh nghĩa: Từ điển dữ liệu là một danh sách có tổ chức của tất cả các phần tử dữ liệu cần thiết cho hệ thống. Các phần tử được định nghĩa chính xác và chặt chẽ sao cho cả phân tích viên và khách hàng cùng chia sẻ một suy nghĩ về chúng.Từ điển dữ liệu thường được hiện thực như là một phần của công cụ CASE. Mỗi phần tử bao gồm những thông tin: tên, bí danh, được dùng ở đâu/như thế nào, đặc tả nội dung và thông tin phụtrợ

Page 46: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

46CNPM/NN

TTỪỪ ĐI ĐIỂỂN DN DỮỮ LILIỆỆUUVí dụ:phần tử dữ liệu số điện thoại

Tên: Số điện thoạiBí danh: KhôngĐược dùng ở đâu/như thế nào: output của Tạo báo độninput của Quay số Đặc tả nội dung:

Số điện thoại = [ mở rộng địa phương | số bên ngoài ]Mở rộng địa phương = [ 2001 | 2002 … | 2009 ]Số bên ngoài = 9 + [ số địa phương | số đường dài ]Số địa phương = tiền tố + <chuỗi 4 ký số>Số đường dài = (1) + mã vùng + số địa phươngTiền tố = [ 795 | 799 | 874 | 877 ]

Page 47: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

47CNPM/NN

Page 48: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

48CNPM/NN

Doanh nghieäp Hoaøng Minh laø moät doanh nghieäp thöông maïi, chuyeân mua baùn caùc loaïi haøng hoùa.Doanh nghieäp coù nhieàu vaên phoøng ñaïi dieän baùn haøng ôû khaép caùc tænh, thaønh phoá treân phaïm vi caû nöôùc. Moãi tænh, thaønh phoá ñöôïc nhaän dieän baèng maõ tænh-thaønh phoá vaø coù thuoâc tính teân tænh-thaønh phoá, soá daân. Thoâng tin veà moät vaên phoøng goàm coù: maõ vaên phoøng (duy nhaát), teân vaên phoøng, ñòa chæ, ñieän thoaïi lieân laïc vaø tænh, thaønh phoá nôi ñaët vaên phoøng. Doanh nghieäp coù nhieàu nhaân vieân baùn haøng. Thoâng tin veà moät nhaân vieân goàm coù: maõ nhaân vieân (duy nhaát), hoï teân, ngaøy sinh, ñòa chæ. Nhaân vieân chæ ñöôïc pheùp laøm vieäc ôû moät vaên phoøng ñaïi dieän.Doanh nghieäp kinh doanh nhieàu haøng hoùa, thoâng tin veà moät haøng hoùa goàm: maõ haøng (duy nhaát), teân haøng, ñôn vò tính, ñôn giaù baùn, soá löôïng toái thieåu phaûi toàn kho, tæ suaát thueá giaù trò gia taêng.

Mô tMô tảả nghinghiệệp vp vụụ

Page 49: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

49CNPM/NN

Doanh nghieäp coù nhieàu khaùch haøng. Thoâng tin veà moät khaùch haøng goàm coù: maõ khaùch haøng, hoï teân, ñòa chæ, vaø thaønh phoá nôi khaùch haøng cö nguïMoãi giao dòch mua baùn ñöôïc tieán haønh seõ coù moät hoùa ñôn baùn haøng do moät nhaân vieân ñaïi dieän baùn haøng laäp. Treân hoùa ñôn coù caùc thoâng tin: teân vaên phoøng, soá hoùa ñôn (duøng ñeå phaân bieät hoùa ñôn naøy vôùi hoùa ñôn kia), ngaøy hoùa ñôn, hoï teân khaùch haøng, ñòa chæ khaùch haøng vaø moät danh saùch caùc maët haøng coù cuøng tæ suaát thueá GTGT (xem maãu). Moät laàn mua, khaùch coù theå mua nhieàu loaïi haøng coù soá löôïng khaùc nhau vaø tæ suaát thueágiaù trò gia taêng khaùc nhau (nhö 5%, 10%, 1%). Nhaân vieân baùn haøng coùnhieäm vuï gom caùc maët haøng cuøng tæ suaát thueá vaøo moät hoùa ñôn. Nhö vaäy moät laàn mua khaùch coù theå coù nhieàu hoùa ñôn vôùi caùc tæ suaát thueá khaùc nhau.Taát caû hoùa ñôn cuûa caùc vaên phoøng phaûi ñöôïc gôûi veà vaên phoøng chính ñeåthoáng keâ doanh thu.

……Mô tMô tảả nghinghiệệp vp vụụ

Page 50: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

50CNPM/NN

QuQuảản lý đơn hn lý đơn hààng ng

ĐƠN HÀNG

Họ tên khách hàng: Địa chỉ:

Số : Ngày:

STT Mô tả Đvt Số lượng Đơn giá Thành tiền

Tổng cộng:

Mã hàng

ÑÔN HAØNG KHAÙCH HAØNG

soá ñôn haøngngaøy ñôn haøng

maõ khaùch haøngteân khaùch haøngñòa chæsoá ñieän thoaïi

ñöôïc ñaët bôûi

ñaët

DOØNG ÑÔN HAØNG MAËT HAØNG

chöùa

thuoäc veà

keâ

ñöôïc keâ bôûisoá ñôn haøngsoá thöù töïsoá löôïngñôn giaù baùn

maõ haøngmoâ taû ñôn vò tính maøu saécñôn giaù hieän haønh

Page 51: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

51CNPM/NN

SƠ ĐỒ CẤP 0

Page 52: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

52CNPM/NN

Page 53: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

53CNPM/NN

MAÃU MOÂ TAÛ PHAÀN TÖÛ DÖÕ LIEÄUMaõ nhaän dieän

Teân Maõ khaùch haøng

Teân khaùc

Moâ taû Laø thuoäc tính nhaän dieän khaùch haøng ñaõ vaø ñang giao dòch mua haøng cuûa coâng ty trong khoûang 5 naêm gaàn ñaây

Tính chaátChieàu daøi: 6 Chöõ Ñònh daïng nhaäp: 000000 Soá chöõ Ñònh daïng xuaát: Ngaøy Giaù trò maëc nhieân: Soá

Lieân tuïc Rôøi raïc Nhaäp Tính toùan

Ñieàu kieän raøng buoäcLieân tuïc Rôøi raïc

Giaù trò dieãn giaûiGiaù trò lôùn nhaát: 999999 ............ ...........................................................Giaù trò beù nhaát: 000000 ............ ...........................................................

........... ..........................................................

Page 54: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

54CNPM/NN

MAÃU MOÂ TAÛ DOØNG DÖÕ LIEÄU

Maõ nhaän dieän:

Teân: Thoâng tin Ñôn haøng

Moâ taû: Chöùa thoâng tin khaùch ñaët haøng vaø ñöôïc duøng ñeå caäp nhaät kho döõ lieäu khaùch haøng, maët haøng, ñôn haøng vaø doøng ñôn haøng

Nguoàn: Taùc nhaân khaùch haøng Ñích: OÂ xöû lyù Caäp nhaät ñôn haøng

Loïai doøng döõ lieäu:Taäp tin Maønh hình Baùo bieåu Bieåu maãu Khaùc

Caáu truùc döõ lieäu: Ñôn haøng Taàn suaát: 100/ngaøy

Ghi chuù: Thoâng tin ñôn haøng coù theå gôûi ñeán phoøng xöû lyù ñôn haøng baèng ñöôøng thö tín, qua maùy Fax, ñieän thoïai.

Page 55: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

55CNPM/NN

MAÃU MOÂ TAÛ KHO DÖÕ LIEÄUMaõ nhaän dieän D1

Teân Khaùch haøng

Teân khaùc

Moâ taû Chöùa moãi maãu tin cho moät khaùch haøng

Tính chaátLoïai taäp tin Maùy tính Thuû coâng Daïng taäp tin Cô sôû döõ lieäu Chæ muïc Tuaàn töï Tröïc tieápKích thöôùc maãu tin (kyù töï) : 200 Kích thöôùc khoái: 4,000Soá löôïng maãu tin: möùc cao 46,000 möùc bình quaân: 42,000Toác ñoä taêng tröôûng haøng naêm: 6%

Teân taäp tin döõ lieäu: KhachHang.MSTTeân baûn so: CustMastCaáu truùc döõ lieäu: Maãu tin khaùch haøngKhoùa chính: Maõ khaùch haøngKhoùa phuï: Hoï teân khaùch haøng

Ghi chuù:

Page 56: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

56CNPM/NN

Xöû lyù 4.1 – Kieåm tra ñôït giao haøng

GET doøng döõ lieäu [Soá löôïng hoøan thaønh] töø taùc nhaân [Coâng nhaân]DO WHILE [Ñôït giao haøng] chöa ñeán cuoái taäp tin

IF [Soá löôïng hoøan thaønh].[maõ chuyeàn] = [Ñôït giao haøng].[maõ chuyeàn] AND[Soá löôïng hoøan thaønh].[maõ saûn phaåm] = [Ñôït giao haøng].[maõ saûn phaåm]

AND[Soá löôïng hoøan thaønh].[ngaøy giao] = [Ñôït giao haøng].[ngaøy giao] OUTPUT ddl [Ñôït giao haøng hôïp leä]RETURN

ENDIFREAD maãu tin keá cuûa kho döõ lieäu [Ñôït giao haøng]

ENDDOOUTPUT doøng döõ lieäu [Ñôït giao haøng khoâng hôïp leä]RETURN

Page 57: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

57CNPM/NN

Use-case diagramsUse cases - textActivity DiagramsSwim lane diagrams

Scenario-based elements

Class diagramsAnalysis PackagesCRC ModelsCollaboration Diagrams

Class-based elements

Data-flow diagramsControl flow diagramsProcessing narratives

Flow-oriented elements

State diagramsSequence diagrams

Behavioral elements

Analysis Model

NhNhữững thng thàành phnh phầần trong mô hn trong mô hìình phân tnh phân tííchch

Oh behave!

Page 58: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

58CNPM/NN

4.4 T4.4 Tạạo mô ho mô hìình hnh hàành vinh vi

Outsideworld Application

events behavior

Page 59: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

59CNPM/NN

TrTrạạng thng tháái ci củủa ha hệệ ththốốngng

State — a set of observable circumstances that characterizes the behavior of a system at a given timestate transition — the movement from one state to anotherevent — an occurrence that causes the system to exhibit some predictable form of behavioraction — process that occurs as a consequence of making a transition

Page 60: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

60CNPM/NN

TTạạo mô ho mô hìình hnh hàành vinh vi

Tạo list trạng thái của hệ thốngXác định dịch chuyển trạng thái

Xác định sự kiệnXác định hoạt động

Vẽ biểu đồ Hành vi

Page 61: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

61CNPM/NN

Mô hMô hìình trnh trạạng thng thááii

Page 62: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

62CNPM/NN

BiBiểểu đu đồồ tutuầần tn tựự

Page 63: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

63CNPM/NN

VVẽẽ mô hmô hìình hnh hàành vinh vi

You are designing a traffic light system for this intersection.

Draw a state diagramshowing thedifferent states and how they transition.

North

South

East

West

Page 64: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

64CNPM/NN

Use-case diagramsUse cases - textActivity DiagramsSwim lane diagrams

Scenario-based elements

Class diagramsAnalysis PackagesCRC ModelsCollaboration Diagrams

Class-based elements

Data-flow diagramsControl flow diagramsProcessing narratives

Flow-oriented elements

State diagramsSequence diagrams

Behavioral elements

Analysis Model

NhNhữững thng thàành phnh phầần trong mô hn trong mô hìình phân tnh phân tííchch

Xét mô hình lớp

Page 65: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

65CNPM/NN

4.5 Mô h4.5 Mô hìình lnh lớớpp

Mục đích của OOA là xác định tất cả các lớp (và quan hệvà hành vi kết hợp với chúng) mà liên quan tới vấn đềcần giải quyết. Một số công việc:

Classes must be identified (i.e., attributes and methods) A class hierarchy is definedObject-to-object relationships should be representedObject behavior must be modeledTasks 1 through 4 are reapplied iteratively

Page 66: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

66CNPM/NN

KhKháái nii niệệm hưm hướớng đng đốối tưi tượợngng

Khái niệm cơ bản

Class và object Attribute và operation Encapsulation và instantiationInheritance

Page 67: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

67CNPM/NN

Encapsulation/HidingEncapsulation/HidingThe object encapsulatesboth data and the logicalprocedures required tomanipulate the data

Achieves “information hiding”

method # 1

data

method # 2

method # 4

method # 5

method # 6

method # 3

Page 68: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

68CNPM/NN

TTạạo mô ho mô hìình dnh dựựa va vàào lo lớớpp

Xác định lớp phân tích bằng cách kiểm tra phát biểuPhân tích văn phạmXác định thuộc tínhXác định tác vụ mà xử lý thuộc tính

Page 69: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

69CNPM/NN

Phân tPhân tíích văn phch văn phạạmm

Viết mô tả vấn đềGạch dưới những danh từChọn các đối tượng mà dự án yêu cầu, và tổ chức chúng theo những cụm

Page 70: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

70CNPM/NN

Phân tPhân tíích văn phch văn phạạmm

University Bank will be opening in Oxford, Mississippi, in January, 2000. We plan to use a full service automated teller machine (ATM) system.The ATM system will interact with the customer through a display screen, numeric and special input keys, a bankcard reader, a deposit slot, and a receipt printer. Customers may make deposits, withdrawals, and balance inquires using the ATM machine, but the update to accounts will be handled through an interface to the Accounts system. Customers will be assigned a Personal Identification Number(PIN) and clearance level by the Security system. The PIN can be verified prior to any transaction. In the future, we would also like to support routine operations such as a change of addressor phone number using the ATM

Page 71: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

71CNPM/NN

Phân tPhân tíích văn phch văn phạạmm

University Bank will be opening in Oxford, Mississippi, in January, 2000. We plan to use a full service automated teller machine (ATM) system.The ATM system will interact with the customer through a display screen, numeric and special input keys, a bankcard reader, a deposit slot, and a receipt printer. Customersmay make deposits, withdrawals, and balance inquiresusing the ATM machine, but the update to accounts will be handled through an interface to the Accounts system. Customers will be assigned a PersonalIdentification Number (PIN) and clearance level by the Security system. The PIN can be verified prior to any transaction.In the future, we would also like to support routine operations such as a change of address or phone number using the ATM

Page 72: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

72CNPM/NN

NhNhữững lng lớớp đp đặặc trưngc trưng

External entities - (e.g., printer, user, sensor)Things – (e.g., reports, displays, signals)Occurrences or events (e.g., interrupt, alarm)Roles (e.g., manager, engineer, salesperson)Organizational units (e.g., division, team)Places (e.g., manufacturing floor or loading dock)Structures (e.g., sensors, four-wheeled vehicles, or computers)

Page 73: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

73CNPM/NN

Tiêu chuTiêu chuẩẩn chn chọọn ln lớớpp

needed servicesneeded services

Multiple (phMultiple (phứức)c) attributesattributes

common attributescommon attributes

common operationscommon operations

essential requirementsessential requirements

retained retained ((lưu trlưu trữữ) information) information

Page 74: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

74CNPM/NN

ĐĐốối tưi tượợng hng hệệ ththốốngng

Page 75: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

75CNPM/NN

Quan hQuan hệệ gigiữữa ca cáác đc đốối tưi tượợngng

Page 76: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

76CNPM/NN

GGóói (Package)i (Package)

Page 77: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

77CNPM/NN

ĐĐốối tưi tượợng hng hệệ ththốốngng

Page 78: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

78CNPM/NN

ClassClass--ResponsibilityResponsibility--collaborator (CRC)collaborator (CRC)

Page 79: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

79CNPM/NN

Use-case diagramsUse cases - textActivity DiagramsSwim lane diagrams

Scenario-based elements

Class diagramsAnalysis PackagesCRC ModelsCollaboration Diagrams

Class-based elements

Data-flow diagramsControl flow diagramsProcessing narratives

Flow-oriented elements

State diagramsSequence diagrams

Behavioral elements

Analysis Model

NhNhữững thng thàành phnh phầần trong mô hn trong mô hìình phân tnh phân tííchch

Mô hình kịch bản

Page 80: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

80CNPM/NN

4.6 Mô h4.6 Mô hìình knh kịịch bch bảảnn

a scenario that describes a “thread of usage” for a systemactors represent roles people or devices play as the system functionsusers can play a number of different roles for a given scenario

““[Use[Use--cases] are simply an aid to defining cases] are simply an aid to defining what exists outside the system (actors) and what exists outside the system (actors) and what should be performed by the system what should be performed by the system (use(use--cases).cases).”” Ivar Ivar JacobsonJacobson

Page 81: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

81CNPM/NN

BiBiểểu đu đồồ useuse--casecase

Page 82: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

82CNPM/NN

BiBiểểu đu đồồ hohoạạt đt độộng (Activity)ng (Activity)

Supplements the use-case by providing a diagrammatic representation of procedural flow

How might we make this better?

e n t e r p a ssw o r d a n d u se r ID

se le c t ma jo r f u n c t io n

valid passw or ds/ ID

p r o mp t f o r r e e n t r y

invalid passw or ds/ ID

input t r ies r em ain

no inputt r ies r em ain

se le c t su r v e illa n c e

ot her f unct ions m ay also be

select ed

t hum bnail v iew s select a specif ic cam er a

se le c t c a me r a ic o n

p r o mp t f o r a n o t h e r v ie w

se le c t sp e c if ic c a me r a - t h u mb n a ils

exit t his f unct ion see anot her cam er a

v ie w c a me r a o u t p u t in la b e lle d w in d o w

Page 83: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

83CNPM/NN

BiBiểểu đu đồồ SwimlaneSwimlaneAllows the modeler Allows the modeler to represent the flow to represent the flow of activities of activities described by the described by the useuse--case and at the case and at the same time indicate same time indicate which actor (if there which actor (if there are multiple actors are multiple actors involved in a specific involved in a specific useuse--case) or case) or analysis class has analysis class has responsibility for the responsibility for the action described by action described by an activity rectanglean activity rectangle

enter password and user ID

select m ajor funct ion

valid p asswo r d s/ ID

prom pt for reent ry

in validp asswo r d s/ ID

in p u t t r iesr em ain

n o in p u tt r ies r em ain

select surveillance

o t h er f u n ct io n s m ay also b e

select ed

t h u m b n ail views select a sp ecif ic cam er a

select cam era icon

generate video output

select specif ic cam era - thum bnails

exit t h isf u n ct io n

seean o t h ercam er a

h o m e o w n e r c a m e ra i n t e rf a c e

prom pt foranother view

view cam era output in labelled window

Page 84: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

84CNPM/NN

BiBiểểu đu đồồ hohoạạt đt độộng (Activity)ng (Activity)- To show concurrent

activity, activity diagrams allow branches and joins.

- You can also reference or include other activity diagrams

Page 85: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

85CNPM/NN

Phân tPhân tíích vch vàà thithiếết kt kếế theo UMLtheo UML

Page 86: Chương 4 Mô hình phân tích - Nguyễn Kim Đức | Just another …€¦ ·  · 2009-10-30Nguyên lý phân tích III Mô hình hành vi ... Dùng nhiều khung nhìn (view)

86CNPM/NN

Phân tPhân tíích vch vàà thithiếết kt kếế theo DFDtheo DFD