chương 4 mô hình phân tích - nguyễn kim Đức | just another …€¦ · ·...
TRANSCRIPT
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
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
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
4CNPM/NN
Mô hMô hìình phân tnh phân tííchch
Data Model
BehavioralModel
FunctionalModel
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
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)
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
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
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
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ồ
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
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
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
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
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)
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
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
18CNPM/NN
ERDERD
(0, m) (1, 1)
objectobject objectobjectrelationshiprelationship11 22
(0, m)(0, m)
(1, 1)(1, 1)
objectobject11 objectobject22relationshiprelationship
attributeattribute
19CNPM/NN
VVíí ddụụ
20CNPM/NN
VVíí ddụụ
21CNPM/NN
DDữữ liliệệu phu phụụ thuthuộộc thc thờời giani gian
21
Product_ID
Price
Price_History
PRODUCT
Effective_Date
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=
23CNPM/NN
VVíí ddụụ
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
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)
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)
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
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
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
30CNPM/NN
DFD mDFD mứức 0c 0
useruserprocessing processing
requestrequest
videovideosourcesource NTSCNTSC
video signalvideo signal
digitaldigitalvideovideo
processorprocessor
requestedrequestedvideovideosignalsignal
monitormonitor
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
32CNPM/NN
DFD mDFD mứứcc 11
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
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
35CNPM/NN
Maps intoMaps into
Phân tPhân tíích DFD ch DFD thithiếết kt kếế
analysis modelanalysis model
design modeldesign model
36CNPM/NN
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.
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
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
40CNPM/NN
MMứức 1c 1
41CNPM/NN
MMứức 2 (monitor sensors)c 2 (monitor sensors)
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?
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ý
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
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ợ
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 ]
47CNPM/NN
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ụụ
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ụụ
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
51CNPM/NN
SƠ ĐỒ CẤP 0
52CNPM/NN
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 ............ ...........................................................
........... ..........................................................
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.
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ù:
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
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!
58CNPM/NN
4.4 T4.4 Tạạo mô ho mô hìình hnh hàành vinh vi
Outsideworld Application
events behavior
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
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
61CNPM/NN
Mô hMô hìình trnh trạạng thng thááii
62CNPM/NN
BiBiểểu đu đồồ tutuầần tn tựự
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
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
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
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
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
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
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
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
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
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)
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
74CNPM/NN
ĐĐốối tưi tượợng hng hệệ ththốốngng
75CNPM/NN
Quan hQuan hệệ gigiữữa ca cáác đc đốối tưi tượợngng
76CNPM/NN
GGóói (Package)i (Package)
77CNPM/NN
ĐĐốối tưi tượợng hng hệệ ththốốngng
78CNPM/NN
ClassClass--ResponsibilityResponsibility--collaborator (CRC)collaborator (CRC)
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
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
81CNPM/NN
BiBiểểu đu đồồ useuse--casecase
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
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
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
85CNPM/NN
Phân tPhân tíích vch vàà thithiếết kt kếế theo UMLtheo UML
86CNPM/NN
Phân tPhân tíích vch vàà thithiếết kt kếế theo DFDtheo DFD