-
Thông tin
-
Quiz
Bài giảng Phân tích thiết kế Hệ thống thông tin | Đại học Kỹ thuật Công nghệ - Cần Thơ
Bài giảng Phân tích thiết kế Hệ thống thông tin | Đại học Kỹ thuật Công nghệ - Cần Thơ. Tài liệu được biên soạn dưới dạng file PDF gồm 124 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!
Phân tích thiết kế Hệ thống thông tin (CT) 1 tài liệu
Đại học Kỹ thuật - Công nghệ Cần Thơ 98 tài liệu
Bài giảng Phân tích thiết kế Hệ thống thông tin | Đại học Kỹ thuật Công nghệ - Cần Thơ
Bài giảng Phân tích thiết kế Hệ thống thông tin | Đại học Kỹ thuật Công nghệ - Cần Thơ. Tài liệu được biên soạn dưới dạng file PDF gồm 124 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!
Môn: Phân tích thiết kế Hệ thống thông tin (CT) 1 tài liệu
Trường: Đại học Kỹ thuật - Công nghệ Cần Thơ 98 tài liệu
Thông tin:
Tác giả:
Tài liệu khác của Đại học Kỹ thuật - Công nghệ Cần Thơ
Preview text:
Phân tích Thi t k HTTT h ng i t ng - UML M c ích môn h c
Giúp cho sinh viên có kh n ng:
Ti p c n, nghiên c u, phân tích, hi u ư c th c tr ng nghi p v c a h th ng th c
Thi t k , xây d ng h th ng thông tin theo phương pháp hư ng i tư ng.
V n d ng ngôn ng mô hình hóa UML. 2 N i dung môn h c 1. Gi i thi u t ng quan 2. Ngôn ng UML 3. Mô hình hóa nghi p v 4. Xác nh và c t các ca s d ng 5. Mô hình hóa l nh v c ng d ng 6. Mô hình hóa tương tác 7. Thi t k h th ng 3 ánh giá h c ph n 1. Bài t p nhóm (40%)
Ph n 1: Nghiên c u sơ b h th ng Ph n 2: Phân tích h th ng Ph n 3: Thi t k h th ng 2. Thi tr c nghi m (60%) 4 Phân tích Thi t k HTTT h ng i t ng - UML Bài 1 T ng quan 2 N i dung Phân tích thi t k là gì?
T i sao ph i phân tích thi t k ?
T m quan tr ng c a phân tích thi t k trong công ngh ph n m m
Các cách ti p c n phân tích và thi t k h th ng Các khái ni m c b n c a h ng i t ng
Khái quát qui trình phát tri n h th ng thông tin Ti n trình RUP 3
Phân tích thi t k là gì?
Phân tích thi t k ph n m m:
Quá trình tìm hi u và mô ph ng l i hi n t ng, quy trình nghi p v trong th gi i th c t ó xây d ng h th ng gi i quy t bài toán t ra trên máy tính. Thi t k Th gi i th c L p tr nh Ki m th Ph n m m 4
T i sao ph i phân tích thi t k ? T m quan tr ng c a thi t k B o tr B o tr Ki m th C i t Ki m th C i t Thi t k C thi t k Không thi t k 5
T m quan tr ng c a phân tích thi t k Ch t l
ng thi t k là nhân t chính quy t nh ch t l ng ph n m m
Không thi t k - ho c thi t k không t t d n n ph n m m ch t l ng th p Không qu n lý c nh ng thay i yêu c u Khó ki m th Khó b o trì Không có tính ti n hóa Không tái s d ng c 6
T m quan tr ng c a phân tích thi t k
Thi t k t t mang l i ph n m m ch t l ng t t: D dàng thay i yêu c u D ki m th D b o trì Có tính ti n hóa cao Có kh n ng tái s d ng cao 7
Các cách ti p c n phân tích và thi t k h th ng Có 2 cách: H ng ch c n ng/ c u trúc H ng i t ng 8 H ng ch c n ng c tr ng c a ph ng pháp h ng c u trúc là !" # $% ch
ng trình chính thành nhi u ch ng trình con, m&i ch ng trình con nh'm
n th c hi n m(t công vi c xác )nh. Cách th c th c hi n c a ph ng pháp h ng c u trúc là ph
ng pháp thi t k t trên xu ng (top-down). Ph ng
pháp này ti n hành phân rã bài toán thành các bài toán
nh* ", r+i ti p t c phân rã các bài toán con cho n khi nh n c các bài toán có th cài t c ngay s d ng các hàm c a ngôn ng l p trình h ng c u trúc. 9 H ng ch c n ng… 10 H ng ch c n ng…
ây là l i ti p c n truy n th ng c a ngành Công ngh ph n
m m, quan tâm ch y u t i nh ng thông tin mà h th ng s, gi gìn.
C n c vào thông tin ng -i dùng c n => thi t k d li u
ch a nh ng thông tin ó, cung c p Forms nh p thông tin và in báo cáo trình bày các thông tin.
=> T p trung vào thông tin. 11 H ng i t ng L y i t ng làm trung tâm i t ng = ch c n ng + d li u H th ng = t p h p các i t ng + quan h gi a các i t ng Cách ti p c n h ng i t
ng là m(t l i t duy theo cách
ánh x các thành ph n trong bài toán vào các i t ng
ngoài -i th c. V i cách ti p c n này, m(t h th ng c chia t
ng ng thành các thành ph n nh* g i là các i t ng, m&i i t ng bao g+m y c d li u và hành (ng liên quan n i t ng ó. 12 u i m OOA .u i m G n g/i v i th gi i th c Tái s d ng d dàng
óng gói, che d u thông tin làm cho h th ng tin c y h n
Th a k gi m chi phí, h th ng có tính m0 cao
Phù h p v i h th ng l n và ph c t p 13
Các khái ni m cơ b n c a h ng i t ng i t ng L p Gói K th a 14 i t ng i t
ng là khái ni m cho phép mô t các s v t/th c th trong th gi i th c Các i t
ng duy trì m i quan h gi a chúng Ví d : Nguy n V n A là m(t i t ng 15 i t ng.. Các tính ch t c a i t ng i t
ng = tr ng thái + hành vi + )nh danh • Tr ng thái là các c tính c a i t ng t i m(t th-i i m
• Hành vi th hi n các ch c n ng c a i t ng •
)nh danh th hi n s t+n t i duy nh t c a i t ng
Tr ng thái = t p h p các thu(c tính M&i thu(c tính mô t m(t c tính
T i m(t th-i i m c th , các thu(c tính mang các giá tr) trong mi n xác )nh Ví d
M(t chi c xe máy: màu xanh, 110 cm3, dream, 12000km,… 16 i t ng.. Hành vi = t p h p các ph ng th c Ph
ng th c: là m(t thao tác ho c c th c hi n b0i chính nó,
ho c th c hi n khi có yêu c u t môi tr -ng (thông i p t i t ng khác)
Hành vi ph thu(c vào tr ng thái
Ví d m(t xe máy có các hành vi: kh0i (ng, ch y, … 17 Giao ti p gi a các i t ng Các i t ng giao ti p v i nhau
G i các thông i p (message) cho nhau Các lo i thông i p Hàm d ng (constructor) Hàm h y (destructor) Hàm ch n l a (get) Hàm s a i (set) Các hàm ch c n ng khác Gi a các i t
ng có m i liên k t (link) v i nhau Ví d : 18 L p L p là khái ni m dùng mô t m(t t p h p các i t ng
có cùng m(t c u trúc, cùng hành vi và có cùng nh ng m i quan h v i các i t ng khác
L p = các thu(c tính + các ph ng th c L p là m(t b c tr u t ng hóa
Tìm ki m các i m gi ng, b* qua các i m khác nhau c a i t ng Tr u t ng hóa làm gi m ( ph c t p 19 L p.. Quan h gi a các l p: k t h p
M(t k t h p là m(t t p h p các m i liên k t gi a các i t ng 20 L p & i t ng i t
ng là th hi n (instance) c a l p
Giá tr) là th hi n c a thu(c tính
Liên k t là th hi n c a k t h p L p 1 i t ng Thu(c tính 1 giá tr) K t h p 1 liên k t 21 Gói (package)
Là m(t cách t ch c các thành ph n, ph n t trong h th ng thành các nhóm. Nhi u gói có th c k t h p v i nhau tr0 thành m(t h th ng con (subsystem). <> Business rules Subsystem name Interface 22 K th a Trong ph ng pháp h ng i t ng, m(t l p có th có s d ng l i các thu(c tính và ph
ng th c c a m(t ho c nhi u l p khác.
Ki u quan h này g i là quan h k th a, c xây d ng d a trên
m i quan h k th a trong bài toán th c t . 23
Các nguyên t!c cơ b n c a ph ơng pháp h ng i t ng Tr u t
ng hóa (abstraction) Các th c th ph n m m c mô hình hóa d i d ng các i t ng. Các i t ng c tr u t
ng hóa 0 m c cao h n d a trên thu(c tính và ph ng th c mô t i t ng t o thành các l p. Các l p c tr u t ng hóa 0 m c cao h n n a t o thành m(t s + các l p c k th a l n nhau. Trong ph ng pháp h ng i t ng có th t+n t i nh ng l p không có i t ng t
ng ng, g i là l p tr u t ng. Nh v y, nguyên t2c c b n
xây d ng các khái ni m trong h ng i t ng là s tr u t
ng hóa theo các m c ( khác nhau. 24
Các nguyên t!c cơ b n c a ph ơng pháp h ng i t ng..
Tính bao óng (encapsulation): che d u m i chi ti t hi n th c c a i t
ng không cho bên ngoa3i th 4y va3 truy xu t => tính (5c l 5p cao gi 6a các i t ng
Che d u các thu(c tính d li u: n u c n cho phép truy xu t 1 thu(c tính d li u, ta t o 2 ph ng th c get/set t ng ng giám sát vi c truy xu t
và che d u chi ti t hi n th c bên trong (thu(c tính private)
Che d u chi ti t hi n th c các ph ng th c.
Che d u các hàm và s hi n th c c a chúng. 25
Các nguyên t!c cơ b n c a ph ơng pháp h ng i t ng..
Tính modul hóa (modularity): các bài toán s, c phân chia thành nh ng v n nh* h n, n gi n và qu n lý c.
Tính phân c p (hierarchy): c u trúc chung c a m(t h th ng h ng i t
ng là d ng phân c p theo các m c ( tr u t ng t cao n th p. 26
Quy trình phát tri n ph n m m
Chu trình phát tri n ph n m m (Software Development
Life Cycle - SDLC): là m(t chu&i các ho t (ng c a nhà
phân tích (Analyst), nhà thi t k (Designer), ng -i phát
tri n (Developer) và ng -i dùng (User) phát tri n và
th c hi n m(t h th ng thông tin. Nh ng ho t (ng này
c th c hi n trong nhi u giai đo n khác nhau.
Nhà phân tích (Analyst): nghiên c u yêu c u c a khách hàng/ng -i dùng
)nh ngh7a ph m vi bài toán, nh n
d ng nhu c u c a t ch c, xác )nh xem nhân l c, ph ng pháp và công ngh
c i thi n m(t cách t t nh t công tác c a t ch c này 27
Quy trình phát tri n ph n m m
Nhà thi t k (Designer): thi t k database, screens, forms và reports –
quy t )nh các yêu c u v ph n c ng và ph n m m cho h th ng c n c phát tri n.
Chuyên gia l"nh v c (Domain Experts): là nh ng ng -i hi u th c ch t v n
cùng s ph c t p c a h th ng c n tin h c hoá. H không
nh t thi t ph i là nhà l p trình, nh ng h có th giúp nhà l p trình hi u yêu c u t ra
i v i h th ng c n phát tri n.
L p trình viên (Programmer): là nh ng ng -i d a trên các phân tích và thi t k vi t ch
ng trình (coding) cho h th ng b'ng ngôn ng l p trình ã c th ng nh t. Ng i dùng (User): là i t ng ph c v c a h th ng c n c phát tri n.
Quy trình phát tri n ph n m m Ng i bình th ng khi nhìn m t chi c xe ô tô th ng s có m t b c tranh t bên ngoài nh sau:
Chuyên gia l nh v c s giúp nhà
phân tích "trình bày l i" v n nh sau:
Quy trình phát tri n ph n m m..
Các giai o n c a Quy trình phát tri n ph n m m
Nghiên c u s b( (Preliminary Investigation hay còn g i là Feasibility Study)
Phân tích yêu c u (Analysis)
Thi t k h th ng (Design of the System)
Xây d ng ph n m m (Software Construction)
Th nghi m h th ng (System Testing)
Th c hi n, tri n khai (System Implementation)
B o trì, nâng c p (System Maintenance) 30
Quy trình phát tri n ph n m m
Nghiên c u sơ b
M(t giai o n nghiên c u s b( thích áng s, l p nên t p
h p các yêu c u (dù 0 m c ( khái quát cao) i v i m(t h th ng kh thi và c mong mu n, k c v ph ng di n k8 thu t l n xã h(i.
K t qu c a giai o n nghiên c u s b( là Báo cáo k t qu
nghiên c u tính kh thi. Khi h th ng t ng lai c ch p
nh n d a trên b n báo cáo này c/ng là lúc giai o n Phân tích b2t u. Phân tích yêu c u
Quá trình phân tích nhìn chung là h qu c a vi c
tr l-i câu h*i "H th ng c n ph i làm gì?".
Nh ng m c tiêu c th c a giai o n phân tích là:
Xác )nh h th ng c n ph i làm gì.
Nghiên c u th u áo t t c các ch c n ng c n cung c p và nh ng y u t liên quan
Xây d ng m(t mô hình nêu b t b n ch t v n t m(t h ng nhìn có th c (trong -i s ng th c). Trao )nh ngh7a v n cho chuyên gia l7nh v c nh n s ánh giá, góp ý.
K t qu c a giai o n phân tích là b n c t yêu c u (Requirements Specifications). 33 Phân tích yêu c u c t yêu c u
là thông báo chính th c cái òi h*i h th ng ph i c phát tri n
Nó không ph i là tài li u thi t k Mô t c t yêu c u Ngôn ng c t Ký pháp + h a a !" # $ a #% &' ( ) * & + ,- #a ./, , a ! # ) 0 )12 3 + ,- #a 4 a , eo'77 34 Thi t k h th ng
Sau giai o n phân tích, khi các yêu c u c th i v i h th ng ã
c xác )nh, giai o n ti p theo là thi t k cho
các yêu c u m i. Công tác thi t k xoay quanh câu h*i
chính: H th ng làm cách nào th*a mãn các yêu c u ã c nêu trong c t yêu c u? Các ho t (ng c a thi t k E- 0 & 0 .F, D* - 0 & . G @ !" G , 3 8# ư? & 8 , ) .o& 9 @ . , 3 A, #B C & 8 , ) ,7 , 9 o < 2 2= 8 . 2 +, & : 8 . 2 ư o: ; a - + 8 , ) + $ a - 35 Thi t k h th ng M(t s các công vi c th -ng c th c hi n trong giai o n thi t k :
Nh n bi t form nh p li u tùy theo các thành ph n d li u c n nh p.
Nh n bi t reports và nh ng output mà h th ng m i ph i s n sinh
Thi t k forms (v, trên gi y hay máy tính, s d ng công c thi t k )
Nh n bi t các thành ph n d li u và b ng t o database
. c tính các th t c gi i thích quá trình x lý t input n output. 36 L p trình và ki m th#
M&i thành ph n trong pha thi t k c hi n th c thành m(t mo un ch ng trình
Ki m ch ng hay ki m th m&i mo un ch ng trình theo c t có t pha thi t k T h p các mo un ch ng trình thành h th ng Ki m th h th ng ch ng trình m b o áp ng y yêu c u
Khi ng -i phát tri n th*a mãn v i s n ph9m khách hàng ki m th h th ng
Pha này k t thúc khi khách hàng ch p nh n s n ph9m 37 B o trì h th ng Pha này b2t u khi h th ng c cài t s d ng th c t , sau khi
ã c p phát s n ph9m cho khách hàng B o trì bao g+m m i thay i s n ph9m khách hàng +ng ý r'ng h ã th*a mãn v i s n ph9m. B o trì bao g+m s a ph n m m
lo i b* các l&i mà không phát hi n trong các pha tr c ó nâng c p ph n m m
Hi u n ng: B sung ch c n ng, t ng t c ( th c hi n ch ng trình Thích nghi: Các thay
i cho phù h p v i môi tr -ng ph n m m ho t (ng thay
i, thí d yêu c u m i c a chính ph 38
M t s mô hình phát tri n h th ng Mô hình thác n c Mô hình t ng tr 0ng Ti n trình RUP Mô hình thác n c
Các ho t (ng phát tri n ph n m m có th bi u di n b'ng mô hình thác n c
Ti n trình phát tri n s n ph9m ph n m m 40
Mô hình t ng tr $ng 41
Ti n trình l p và t ng d n
Ti n trình th ng nh t (Rational Unified Process - RUP)
Là Software Engineering process
Là s n ph9m ti n trình (process product) do Rational
Software phát tri n và b o trì
RUP nâng cao team productivity
Các ho t (ng RUP t o l p và qu n lý models Là h
ng d n cách s d ng hi u qu UML 42
Các nguyên t!c cơ b n c a RUP L p và t ng tr 0ng D án
c c2t thành nh ng vòng l p ho c giai o n ng2n. Cu i
m&i vòng l p thì m(t ph n thi hành c c a h th ng c s n
sinh theo cách t ng tr 0ng (thêm vào) d n d n. T p trung vào ki n trúc Toàn b( h th ng ph c t p ph i c chia thành t ng ph n (các modun)
có th d dàng tri n khai và b o trì, t o nên m(t ki n trúc. (Theo 5 góc nhìn) 43
Các nguyên t!c cơ b n c a RUP.. D n d2t các ca s d ng RUP nh n m nh s
áp ng nhu c u ng -i dùng, th hi n b0i các ca s
d ng. Các ca s d ng nh h 0ng và d n -ng cho m i giai o n phát tri n c a h th ng. Kh ng ch b0i các nguy c Các nguy c chính
i v i d án ph i phát hi n s m và lo i b* càng
s m càng t t. Yêu c u này c/ng là c n c xác )nh th t tr c sau c a các vòng l p. 44
Các pha và công o n c a ti n trình RUP Có 4 pha Kh0i u (inception)
Cho m(t cái nhìn t ng quát v h th ng s, xây d ng và v d án s, tri n khai. Phác th o (elaboration)
Bao g+m s phân tích chi ti t h n v h th ng, c v ch c n ng l n c u trúc
t7nh. +ng th-i m(t ki n trúc h th ng c/ng c xu t. Ki n trúc này có
th d ng thành nguyên m u, trên ó th hi n nhi u ý + i v i h th ng Xây d ng (construction)
T p trung vào vi c thi t k và th c thi h th ng. Chuy n giao (transition)
Nh'm chuy n h th ng ã xây d ng cho ng -i dùng cu i 45
Các l p và lu%ng công vi c Phases Core Workflows Inception Elaboration Construction Transition Requirements An iteration in the elaboration phase Analysis Design Implementation Test Preliminary iter. iter. iter. iter. iter. iter. iter. Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1 H e #a ,o I 46 Ti n trình 10 b c 1. Nghiên c u s b 1. Kh4i u 2. Nh n =nh và c 3. Mô hình hóa l nh v c t ca s dGng ng dGng 4. Xác =nh các 0i 2. Tri n khai t ?ng/l p tham gia các ca s dGng 5. Mô hình hóa t ng 6. Mô hình hóa s ng x tác 7. Làm nguyên mJu 8. Thi t k h- th0ng giao di-n ng i dùng 3. Xây d ng 9. Thi t k chi ti t 4. Cài t và chuy n giao 47 10. Cài t Phân tích Thi t k HTTT h ng i t ng - UML
Ngôn ng mô hình hóa th ng nh t UML 2 Mô hình là gì? Mô hình là b c tranh hay mô t v n
ang c g ng gi i quy t hay mô t chính gi i pháp v n
là ngôn ng c a ngư i thi t k (trong nhi u l nh v c)
là trình di n h th ng s xây d ng
là phương ti n giao ti p gi a ngư i phân tích, thi t k và ngư i dùng
là k ho ch chi ti t (blueprints)
Mô hình cho kh n ng suy di n m t s c tính c a h th ng th c Mô hình hóa tr c quan B ng các ph n t h a
Ngôn ng mô hình hóa là ngôn ng mô t h th ng hay tác nghi p 3 Thí d mô hình u a u Ôtô Con ng i Sách 4 Thí d mô hình a o !"e e $e % ! o o& a ' e &%o a !a% u"a% !e% !e (e 5 UML là gì? UML là m t ngôn ng dùng cho
Mô hình hóa tr c quan (Visualizing) c t (Specifying) Xây d ng (Constructing) Tài li u hóa (Documenting)
các nhân t c a h th ng ph n m m 6
Mô hình hóa tr c quan Giúp cho vi c suy ngh v cài t và b n cài t th c t ư c nh t quán
Giúp l p trình viên, phân tích viên: D dàng trao
i nh ng mô hình trong ph n m m v i nhau
Hi!u rõ toàn b h th ng và vai trò c a mình trong h th ng
Thông tin ư c lưu tr rõ ràng, d tra c u qu n lý 7 c t
c t giúp cho xây d ng các mô hình Chính xác Rõ ràng, không nh p nh ng y UML giúp gi i quy t các v n Phân tích Thi t k Cài t
ư c rõ ràng, thông su t trong quá trình phát tri!n ph n m m 8 Xây d ng
Các mô hình UML có th! ánh x sang M t ngôn ng l p trình Java C++/C# Visual Basic/ .NET
M t b ng trong CSDL quan h (R-DBMS)
M t lưu tr b n v ng c a"#$%&"' ("(OO-DBMS) 9 Tài li u hóa
UML giúp ghi chép, tài li u hóa l i ki n trúc c a h th ng
Mô t các yêu c u (Requirements) Các b ki!m th (Tests) Mô hình hóa các ho t
ng, l p l)ch c a project, gi m khó kh n cho công vi c qu n lý 10 Sơ l c v l ch s UML 11
T i sao chúng ta c n UML?
M t ngôn ng mô hình hóa chu*n, tr c quan b ng hình nh
Phát tri!n h th ng hi u qu , thi t k chính xác và hi u qu
D dàng giao ti p gi a các nhóm trong cùng project
Giao ti p d dàng gi a các ngư i liên quan n project
(khách hàng, nhà phát tri!n,…)
Cho “cái nhìn t ng th!” v project 12 L c (Diagrams) ! 13 Workflows and Models UML diagrams provide views into each model Requirements Use Case Model Analysis Analysis Model Design Design Depl. Model Model Implementation Impl. Model Test Test Model
Each workflow is associated with one or more models. 14
Representing System Architecture
C n bao nhiêu khung nhìn?
Mô hình phù h p v i ng c nh phát tri!n h th ng
Không ph i t t c các mô hình òi h+i y khung nhìn
ơn x lý: B+ qua khung nhìn tri!n khai
ơn ti n trình: B+ qua khung nhìn ti n trình
Chương trình r t nh+: B+ qua khung nhìn cài t B sung các khung nhìn Data view Security view 16 UML Concepts UML ư c s d,ng !:
Hi!n th) biên h th ng và các ch c n ng chính c a nó b ng use cases và actors
Mô t hi n th c use case b ng interaction diagrams
Bi!u di n các c u trúc t nh c a h th ng b ng class diagrams Mô hình hóa hành vi
i tư ng b ng state transition diagrams Bi!u th) ki n trúc cài
t v t lý b ng component & deployment diagrams
M- r ng các ch c n ng b ng stereotypes 17 Thí d ng d ng UML M t trư ng
i h c th c hi n tin h c hóa h th ng ng ký h c và d y h c:
Giáo v, (Registrar) l p chương trình gi ng d y (curriculum) cho m t h c k.
Sinh viên (Student) ch n 4 môn h c chính và 2 môn d b) Khi sinh viên
ng ký h c thì h th ng thanh toán (billing system)
in hóa ơn h c phí cho sinh viên
Sinh viên có th! s d,ng h th ng ! b sung/lo i b+ môn h c sau khi ã
ng ký (trong kho ng th i gian c )nh)
Giáo sư (Professors) s d,ng h th ng ! xem b ng phân công d y h c (course rosters) Ngư i s d,ng h th ng
ng ký ư c c p passwords ! vào máy 18 Use case Diagram Bi!u di n sơ
ch c n ng c a h th ng. T/ t p yêu c u c a h th ng, bi!u
use case s ph i ch0 ra h th ng c n th c hi n i u gì
! tho mãn các yêu c u c a ngư i dùng h th ng ó. i kèm v i bi!u use case là các k)ch b n. Request Course Roster Student Professor Maintain Schedule Billing System Maintain Curriculum Registrar 19 Sequence Diagram Bi!u di n m i quan h gi a các i tư ng và gi a các
i tư ng và tác nhân theo th t th i gian. : Student registration registration math 101 math 101 form manager section 1 1: fil in info 2: submit 3: add course(joe, math 01) 4: are you open? 5: are you open? 6: add (joe) 7: add (joe) 20 Collaboration Diagram Bi!u di n m i quan h gi a các i tư ng và gi a các i tư ng và tác nhân nhưng nh n m nh n vai trò c a các i tư ng trong tương tác. course form : 1: set course info CourseForm 2: process : Registrar 3: add course theManager : aCourse : CurriculumManager Course 21 4: new course Class Diagram Ch0 ra các l p
i tư ng trong h th ng, các thu c tính và phương
th c c a t/ng l p và các m i quan h gi a nh ng l p ó. ScheduleAlgorithm RegistrationForm 0..* RegistrationManager 1
addStudent(Course, StudentInfo) Course 1 name 0..* numberCredits Student open() addStudent(StudentInfo) major 1 3..10 Professor 1..* 4 CourseOffering tenureStatus location 1 0..4 open() 22 addStudent(StudentInfo)
State Transition Diagram Add student [count < 10] Add Student / Initialization Set count = 0 Open do: Initialize entry: Register student course exit: Increment count Cancel Cancel [count = 10] Canceled do: Notify registered students Closed Cancel do: Finalize course 23
State Transition Diagram
Tương ng v i m1i l p s ch0 ra các tr ng thái mà i tư ng
c a l p ó có th! có và s chuy!n ti p gi a nh ng tr ng thái ó. 24 Activity Diagram Bi!u di n các ho t ng và s ng b , chuy!n ti p các ho t ng, thư ng ư c s d,ng ! mô t ca s d,ng ho c bi!u di n các phương th c ph c t p c a các l p. 25 Component Diagram Register.exe Bil ing.exe Bil ing System People.dll User Course.dll Course Student Professor Course Course Offering 26 Component Diagram
Component diagrams )nh ngh a các thành ph n c a h
th ng và m i liên h gi a các thành ph n ó.
N m b t ki n trúc v t lý trong th c thi Xây d ng như b ph n c a s c t ki n trúc M,c ích T ch c mã ngu n Xây d ng các modul thi hành Ch0 )nh cơ s- d li u v t lý
ư c phát tri!n b-i ngư i thi t k và l p trình 27 Deployment Diagram
Bi)u * tri)n khai bi)u
di+n ki n trúc cài ,t và Registration Database
tri)n khai h- th.ng d i
d/ng các nodes và các m.i quan h- gi0a các node ó. Thông thư ng, các nodes ư1c k t n.i v i nhau Main Library Building thông qua các liên k t truy2n thông như các k t Form n.i m/ng, liên k t TCPIP, … 28 Deployment Diagram Dynamic HTML, JavaScript, Java Client
plug-ins, source code enhancements Java, C, C++, JavaScript, CGI Server Application Java, C, C++, JavaBeans, Server CORBA, DCOM Fulfillment Financial Inventory RDBMS Native languages System System System Server 29 M t s ph n m m h tr UML Rational Rose
Là ngôn ng chu*n phù h p v i các lư c trong UML
Phù h p v i s k th/a c a các h th ng hư ng i tư ng Các mô hình duy trì s ng b hóa trong su t vòng i phát tri!n ... Paradigm Altova UModel StartUML … 30 Tóm t t Các v n ã nghiên c u
Khái ni m mô hình, mô hình hóa tr c quan
Khái quát v Ngôn ng mô hình hóa th ng nh t Thí d, s d,ng các bi!u c a UML 31 Phân tích Thi t k HTTT h ng i t ng - UML 2
Gi i thi u mô hình hóa nghi p v
Mô hình hóa nghi p v (Business Modeling)
Là k thu t mô hình hóa ti n trình nghi p v
Mô hình hóa các ch c n ng c a t ch c Quan tâm
n góc nhìn ch c n ng. Không phân bi t các ti n trình nghi p v s c t ng hóa hay th c hi n th công
Bi u di n mô hình nghi p v b ng bi u nghi p v Ch
ác gi a các ti n trình nghi p v v i các vai trò (roles) th c hi n nghi p v customers hay vendors
Bi u di n vai trò bên ngoài nghi p v
Hai l nh v c c a mô hình hóa nghi p v
Biên c a t ch c và nó c n giao ti p v i ai?
Lu ng công vi c bên trong t ch c và t!i u nó nào? 3
Gi i thi u mô hình hóa nghi p v
Không t p trung vào mô hình hóa h th!ng s xây d ng
T p trung vào nghi p v trên h th!ng M c tiêu là hi u rõ môi tr "ng nghi p v c khi xây d ng h th!ng Mô hình hóa nghi p v Nghiên c u v# t ch c
Kh$o sát c%u trúc t ch c, quan sát các vai trò trong t ch c và
quan h c a chúng v i nhau nh th nào.
Kh$o sát lu ng công vi c trong t ch c
Ti n trình chính, h& làm vi c th nào Tính hi u qu$ Các h'n ch
Nghiên c u các t ch c bên ngoài và quan h v i chúng?
Làm tài li u v# các thông tin b ng mô hình nghi p v c a UML 4
Gi i thi u mô hình hóa nghi p v
Khi nào không c n mô hình hóa nghi p v ?
Khi ã hi u bi t rõ ràng c%u trúc, m c ích tác nghi p c a t ch c
Khi xây d ng ph n m#m s( d ng cho m t ph n nh) c a t ch c, không $nh h *ng n nghi p v khác
Lu ng công vi c khá rõ ràng và có tài li u y Khi không có th"i gian!!!!
Mô hình hóa nghi p v trong ti n trình l+p 5
Các khái ni m cơ b n c a BM Các khái ni m c b$n bao g m Business actors Business workers Business use case Bi u Business use case
Quan h giao ti p gi a Business use case và Business actor Th c th Business Các bi u ho't ng 6 Tác nhân nghi p v
Ai ó, cái gì ó bên ngoài t ch c nh ng t ng tác v i nó
Customers, Investors, Suppliers... Có th là "i hay nhóm ng "i
Tìm ki m tác nhân nghi p v ? Quan sát ph'm vi d án tìm ra nh ng gì n m ngoài d án
Nh ng gì (ai, cái gì) n m ngoài d án có ,-. /0 n nghi p v
Nghiên c u tài li u mô t$ d án, th1 "ng t ch c, m c tiêu nghi p v ... xác 1nh th c th bên ngoài liên quan
Thí d : Hãng hàng không liên quan n nhà s$n xu%t máy bay, nhà s$n xu%t 0!ng cho khách, khách
hàng, hi p h i hàng không... 7 Worker nghi p v
Là vai trò (role) trong t ch c
M t ng "i có th có nhi#u vai trò không ph$i là ch c v Mô t$ worker Có trách nhi m gì? K 2 n có th c hi n trách nhi m? T ng tác v i worker nào?
Tham gia vào lu ng công vi c nào?
Trách nhi m c a worker trong lu ng công vi c Tìm ki m worker nghi p v
Quan sát ph'm vi d án – b3t u t4 bi u t ch c
Khi ã có danh sách worker thì làm tài li u cho chúng
Thí d worker nghi p v trong công ty hàng không Phi công, ng "i d5n
"ng, th máy, ti p viên, nhân 8 viên an ninh... Ca nghi p v
Business use case là nhóm các lu ng công vi c liên quan có ý ngh a v i tác nhân nghi p v Cho bi t t ch c làm gì T p các ca nghi p v mô t$ y nghi p v c a t ch c 6+t tên Theo hình th c “<
ng t4>”: “Price Products”
Làm tài li u lu ng công vi c
Thí d v i UC nghi p v Price Products
Nhân viên yêu ng "i c u qu$n lý cung c%p danh sách các m+t hàng m i c n 1nh giá Nhân viên ki m tra hóa n kho
bi t ph$i tr$ cho kho bao nhiêu kho hàng bán Nhân viên c ng thêm 10% có giá bán Nhân viên trình giá "i qu$n lý phê duy t
Nhân viên làm các th7 s$n ph8m
G3n th7 giá s$n ph8m vào t4ng s$n ph8m 9
T ơng tác gi a các ph n t Bi u di n t ng tác Quan h association Safety Coordinator
Perform pre-flight Safety Check gi a tác nhân nghi p v , worker nghi p v v i UC nghi p v Issue Airline Ticket m9i tên cho bi t ai kh*i Customer x ng ti n trình Quan h generalization ch ra c%u trúc k th4a Ticket salesperson gi a các ph n t( mô hình nghi p v áp d ng cho hai hay nhi#u ph n t( Phone t icket salesperson In-person ticket salesperson 10 nhau Bi u UC nghi p v Ch ra mô hình y cái công ty làm Driver Products ai * trong công ty Driver ai * ngoài công ty Cho bi t ph'm vi c a t ch c Sell Products Clerk N u có nhi#u UC nghi p v Customer có th t'o nhi#u bi u UC Price Products nghi p v và m:i bi u ch a t p các UC nghi p v Manager
M9i tên i t4 tác nhân nghi p Refund Money v và worker nghi p v n UC nghi p v cho th%y ai kh*i ng ti n trình nghi p v . 11 Th c th nghi p v Business entity là !i t ng mà t ch c s( d ng -#u
hành tác nghi p hay s$n xu%t.
Th c th bao g m t%t c$ nh ng gì mà worker nghi p v có liên quan hàng ngày
Thí d : Sales Order, Account, Shiping Box, Contract, Ghim gi%y...
Cái gì là th c th nghi p v , hãy tr$ l"i: S$n ph8m c a công ty? Công ty có các d1ch v ? Công ty ph$i mua v t li u gì s$n xu%t?
Khách hàng cung c%p/nh n gì t4 công ty? Các worker nghi p v ; i nhau cái gì khi s$n xu%t? Tìm ki m th c th nghi p v * - < ác Các danh t4 trong UC nghi p v 12 Th c th nghi p v Bi u t ng
B sung các thu c tính cho th c th nghi p v
Thí d , th c th nghi p v Account có các thu c tính account
number, account type, balance, date opened, status...
Chú ý r ng ch a có thi t k CSDL * => Ch b sung các thu c tính d hi u nghi p v 13 ơn v t ch c
6 n v1 t ch c (Organization Unit) là t p h p các worker
nghi p v , th c th nghi p v và các ph n t( mô hình nghi p v khác Là 2 2 c s( d ng t ch c mô hình nghi p v
Nhi#u công ty t ch c theo phòng, ? , n v1... M:i chúng c mô hình hóa nh n v1 t ch c M:i
n v1 t ch c s bao g m các worker nghi p v ?. ; phòng, ban, @1 ó Bi u t ng 14 Bi u UC nghi p v
Th c t : lu ng công vi c (Workflow) không n gi$n mà có nhi#u logíc i#u ki n
worker nghi p v có th th c hi n m t vài actions khi i#u ki n A
x$y ra và th c hi n m t vài actions khác khi i#u ki n B x$y ra... hãy s( d ng bi u ho't ng (Activity Diagram) mô hình hóa các lu ng công vi c N u trong bi u
UC nghi p v có nhi#u UC nghi p v ,
tác nhân nghi p v và worker nghi p v thì có th nhóm chúng thành các
n v1 t ch c (Organizational Units) t ch c l'i mô hình d &c và d hi u sau ó xây d ng bi u UC nghi p v chi t4ng n v1 t ch c 15 Bi u ho t ng Bi u Activity c s( d ng
mô hình hóa lu ng công vi c c a UC b ng các ph n t( h&a Nó ch ra các b c trong lu ng công vi c các i m quy t 1nh
ai có trách nhi m th c hi n t4ng b c các !i t ng $nh h *ng n lu ng công vi c Thí d Khách hàng nh n
c s$n ph8m l:i, yêu c u tr$ l'i hàng
Customer vi t th yêu c u b i th "ng. Customer service representative
nghiên c u th . N u thi u tài li u yêu c u thì h& vi t th t4 ch!i b i th "ng. N u y tài li u thì h& , 0 @à ng th"i Account
payable clerk vi t séc. Khi xong hai vi c này, Customer service
representative thông báo cho khách hàng và yêu c u c a h& c ch%p nh n. 16 Thí d bi u ho t ng Write letter requesting refund Refund request Refund request Create rejection letter Refund request Create refund File request check Refund request Notify customer ! " # $% 17 Bi u ho t ng Các ph n t( chính c a bi u ho't ng
Swimlines: ch ra ai có trách nhi m th c hi n các nhi m v trong bi u Activities: các b c trong lu ng công vi c Actions: các b c trong activity
action x$y ra khi vào (entry), ra (exit), * (do) trong activity hay
ph thu c vào s ki n (event) nào ó x$y ra.
Business objects: th c th b1 lu ng công vi c tác ng
Transitions: ch ra lu ng công vi c chuy n t4 activity này n activity khác Decision points: ch
- , p quy t 1nh r nhánh trong lu ng công vi c
Synchronizations: ch ra hai hay nhi#u b
c trong lu ng công vi c x$y ra ng th"i Start state: ch - ,0 ng công vi c b3t u End state: ch - ,0 ng công vi c k t thúc 18 Làm tài li u chi ti t
Ti n trình cho bi t cái nhìn m c cao nh ng gì bên ngoài và bên trong t ch c Chi ti t lu ng công vi c s c th c hi n trong các b c sau
Ph$i làm tài li u cho lu ng công vi c trong t4ng UC nghi p v
có th là tài li u mô t$ t4ng b c, flowchart hay bi u ho't ng
ti n trình ph c t'p có nhi#u lu ng chính lu ng r nhánh -> s( d ng bi u ho't ng
K t qu$ là b c tranh t ng th v# t ch c UC cho bi t t ch c làm gì Workflow cho bi t m:i UC
c th c hi n chi ti t nh th nào
Actor cho bi t cài gì bên ngoài t ch c và ác v i nó
Business worker cho bi t các vai trò trong t ch c
Units t ch c cho bi t c%u trúc t ch c Bi u
UC nghi p v cho bi t quan h các ph n t( này 19 Tóm t t Mô hình hóa nghi p v
Th c t , không ph$i t%t c$ các d án #u th c hi n mô hình hóa nghi p v Mô hình hóa nghi p v < A ,-. /0 n cái s c t ng hóa b ng h th!ng c th
Giúp ta hình thành ng c$nh cho mô hình hóa h th!ng Mô hình hóa h th!ng
T p trung vào cài +t m t h th!ng ph n m#m c th 20 Phân tích Thi t k HTTT h ng i t ng - UML 2
Gi i thi u mô hình hóa UC
Trong pha thu th p yêu c u và phân tích h th ng th ng ph i xây d ng các bi u cho Mô hình nghi p v Mô hình ca s d ng Mô hình giao di n ng i s d ng
Mô hình ca s d ng mô t h th ng c s d ng nh th nào
Use case (UC) h th ng và tác nhân h th ng xác nh ph m vi h th ng
UC là nh ng gì bên trong h th ng
Actor là nh ng gì bên ngoài h th ng Bi u
UC mô t t ơng tác gi a các UC và tác nhân hình thành ch c n ng h th ng
S khác nhau gi a mô hình hóa nghi p v và mô hình hóa ca s d ng
Mô hình hóa nghi p v t p trung vào t ch c c a cơ quan
Mô hình hóa h th ng t p trung vào h th ng ang xây d ng 3
Các khái ni m mô hình hóa UC Các khái ni m cơ b n Ca s d ng (Use case-UC) Tác nhân (Actor) Quan h (Relationship) Bi u ca s d ng (Use case Diagram) 4
Use case, tác nhân là gì? Use case? UC
c xem là ch c n ng c a h th ng cung c p t quan i m c a ng i dùng. UC dùng mô t h th ng m i v m t ch c n ng, m i m t ch c n ng s c bi u di n nh m t ho c nhi u UC. Không ph i là thi t k , cài t mà là m t ph n c a v n c n gi i quy t Kí hi u 5
Use case, tác nhân là gì?... Tác nhân? Là i t
ng bên ngoài t ơng tác v i h th ng theo 3 hình th c: T ơng tác trao
i thông tin v i h th ng ho c s d ng ch c n ng. Cung c p u vào ho c nh n thông tin u ra t h th ng. Không i u khi n ho t ng c a h th ng.
! t tên: theo vai trò, không theo tên c th vì nó là l p Kí hi u: Customer Xây d ng UC làm gì?
Hình thành và mô t yêu c u ch c n ng h th ng
Là k t qu th"a thu n gi a khách hàng và ng i phát tri n h th ng ph n m m
Cho phép mô t rõ ràng và nh t quán cái h th ng s làm Mô hình có kh n ng
c s d ng xuyên su t quá trình phát tri n Cung c p cơ s# ki m tra, th nghi m h th ng Cho kh n ng d thay i hay m# r ng yêu c u h th ng Phân tích Thi t k , Ki m tra cài t o ! Thu th p, Ki m tra l c và ánh xem UC Cài t UC giá UC Cài t U th a mãn? 7 Xây d ng UC làm gì? Ai quan tâm n UC? Di&n 't Hi u Ng "i s# Phân tích viên d$ng Use case Ki m tra Cài t Thi t k Th# nghi%m L p trình viên Ki n trúc s 8
Tìm ki m tác nhân nh th nào? Hãy tr l i các câu h"i sau tìm ra tác nhân h th ng
Ai s s d ng ch c n ng chính c a h th ng?
Ai giúp h th ng làm vi c hàng ngày? Ai qu n tr , b o d $ng h th ng làm vi c liên t c?
H th ng qu n lý thi t b ph n c ng nào?
H th ng ang xây d ng t ơng tác v i h th ng khác nào? Ai hay cái gì quan tâm n k t qu h th ng cho l i? 9
Tìm ki m UC nh th nào?
V i m i tác nhân ã tìm ra, hãy tr l i các câu h"i sau tìm ra các Use case h th ng
Tác nhân yêu c u h th ng th c hi n ch c n ng nào?
Tác nhân c n %c, t o l p, bãi b", l u tr , s a i các thông tin nào trong h th ng?
Tác nhân c n thông báo cho h th ng s ki n x y ra trong nó?
H th ng c n thông báo cái gì ó cho tác nhân?
H th ng c n vào/ra nào? Vào/ra i n âu hay t âu? ! t tên UC h th ng
Theo khái ni m nghi p v c a t ch c
Không s d ng t k& thu t, chuyên môn S d ng các ng t , c m t ng'n g%n
Tùy theo t m c$ d án mà m i h th ng có t 20-70 UC 10 ã tìm y UC cho h th ng? Các câu h"i sau giúp xác nh ã tìm y UC?
M i yêu c u ch c n ng # trong ít nh t m t UC?
N u yêu c u ch c n ng không # trong UC nào thì nó s không c cài t sau này.
!ã kh o sát m%i tác nhân t ơng tác v i h th ng?
Tác nhân cung c p cho h th ng thông tin nào?
Tác nhân nh n thông tin nào t h th ng?
!ã nh n bi t m%i h th ng bên ngoài t ơng tác v i h th ng ang xây d ng?
Thông tin nào h th ng bên ngoài nh n và g i cho h th ng ang xây d ng? 11 Các quan h Quan h k t h p (Association) Quan h g p (Includes) Quan h m# r ng (Extends)
Quan h t ng quát hóa (Generalization) 12 Các quan h Quan h k t h p (Association)
Là lo i quan h gi a tác nhân và UC M(i tên cho bi t ai là ng i kh#i x #ng giao ti p Customer Purchase Ticket Purchase Ticket Customer Credit System 13 Các quan h Quan h g p (Includes) Tr
c phiên b n UML 1.3 quan h <> có tên là <>
Cho phép m t UC s d ng ch c n ng c a UC khác Ch c n ng c a UC include s c g%i trong UC cơ b n. 14 Ví d , UC rút ti n UC xác th)c KH 1. ! a th, vào máy UC rút ti(n 2. Ki m tra th, 1. G i UC xác th)c KH 3. KH nh p pin 2. Hi n th* menu 3. KH ch n ch+c n ng rút ti(n 4. H% th-ng ki m tra pin E1: Th, sai. E2: sai pin Khi nào dùng quan h include
Tách ra hành vi(ch c n ng) chung c a 2 ho c nhi u UC.
Tránh mô t hành vi ó nhi u l n trong các UC.
! m b o nh ng hành vi chung ó c th ng nh t.
Tách ra hành vi c a UC cơ s# nên c óng gói riêng.
Tách ra hành vi không ph i là chính c a UC ó ( hành vi ít quan tr%ng)
Gi m thi u s ph c t p c a lu ng s ki n Các quan h Quan h m# r ng (Extends)
Cho phép m# r ng ch c n ng c a m t UC
Chèn hành vi c a UC extend vào UC cơ s#.
Ch) chèn khi i u ki n extend úng
Chèn vào l p cơ s# t i i m phát sinh 17 Các quan h
Khi nào dùng quan h m# r ng (Extends) Tách ra hành vi ngo i l , c bi t ho c không b't bu c Ch) c th c thi trong i u ki n c th Tách ra làm ơn gi n lu ng chính Thêm m t hành vi m# r ng i v i UC cơ s#. Phát tri n hành vi ó c l p 18 Các quan h Quan h t ng quát hóa (Generalization) Abstract
Ch) ra m t vài tác nhân hay UC có Actor m t s cái chung, gi ng nhau Customer
Không nh t thi t hình thành quan h này cho các tác nhân
Khi m t lo i tác nhân kích ho t
m t hay vài UC mà lo i tác tác Corporate
nhân khác không kích ho t -> nên Individual Customer Customer
hình thành quan h khái quát hóa
Khi c hai lo i tác nhân cùng s
d ng các UC -> không c n mô Concrete Actors
hình hóa quan h khái quát hóa Private Govenment Agency Company 19 T o các gói
Có th nhóm các thành ph n thành m t nhóm chung N u s l
ng UC quá l n có th chia chúng vào các nhóm D hi u mô hình t ng th hơn D b o trì mô hình UC
D giao vi c cho các thành viên Xem xét kh n ng g p nhóm
T ơng tác v i cùng m t tác nhân
Nhóm UC h p thành m t module t ơng i hoàn thi n Bi u Use Case Mô hình UC c mô t b#i m t hay nhi u bi u UC S l ng bi u UC cho m t d án là tùy ý
Không quá nhi u làm r i lo n Ph i m b o y bi u di n y thông tin c a h th ng
Nó là công c m nh giúp thu th p yêu c u ch c n ng h th ng
Nó ch) ra quan h gi a UC và tác nhân và gi a UC v i nhau S d ng bi u
làm tài li u UC, tác nhân và các quan h gi a chúng L i ích chính c a bi u UC là làm giao ti p
Khi quan sát các UC, customer bi t h th ng có các ch c n ng nào
Khi quan sát các tác nhân, customer bi t ai giao ti p v i h th ng
Khi quan sát c UC và tác nhân, customer bi t ph m vi d án 21 Thí d bi u Use Case .// 0 1 o o 2 3 4 o 4 o o 7 2 3 / 5 o6 0 1 o1 : o / 47 1 1 8 0 1 o o 0 1 4 o o / 6 / 8 1o 0 1 6 o1 o 4 o / 4 9 o3 1 6o 5 .// 3 1 6o 5 1 8 1o 1 6o 5 ;< 7 1 o 7 22 Bi u Use Case
Các chú ý khi xây d ng bi u UC
Không nên mô hình hóa quan h k t h p gi a tác nhân v i tác nhân ->
vì giao ti p gi a các tác nhân là # bên ngoài h th ng Hãy s d ng bi u lu ng công vi c kh o sát quan h gi a các tác nhân
Không hình thành quan h Association gi a các UC Bi u
ch) ra có các UC nào nh ng không ch) ra tr t t th c hi n chúng
M i UC ph i có tác nhân kích ho t (tr UC trong quan h extends và quan h includes)
Nên v m(i tên th hi n association i t tác nhân n UC Có th xem CSDL là l p # d i bi u UC
Có th nh p tin vào CSDL # UC này và xâm nh p d li u trong CSDL # UC khác
Không v association gi a các UC ch) ra lu ng thông tin 23 Lu ng s ki n trong UC
Tài li u lu ng s ki n (flow of events) mô t hành vi c a UC mô t lu ng logíc i qua UC mô t ng
i s d ng làm gì, h th ng làm gì
Trong m t UC có nhi u lu ng s ki n: lu ng chính, lu ng ph K ch b n (Scenario)
M t lu ng s ki n trong m t hi n th c c a UC Là trình t hành ng c th mô t hành vi
K ch b n i xuyên su t UC theo nhánh chính, nhánh ph , nhánh c bi t 24 Tài li u lu ng s ki n Tài li u lu ng s ki n bao g m Mô t v'n t't UC Mô t ng'n g%n UC làm gì? Nh ng ai s d ng UC? Nó cho l i k t qu gì? Ti n i u ki n (pre-condition)
!i u ki n c n th c hi n tr c khi UC kh#i ng
Không ph i UC nào c(ng có ti n i u ki n
Lu ng s ki n chính và lu ng s ki n r nhánh H u i u ki n (post-condition) 25 Tài li u lu ng s ki n Tài li u lu ng s ki n bao g m Mô t v'n t't UC
Ti n i u ki n (pre-condition): khi nào UC c kích ho t?
Lu ng s ki n chính và lu ng s ki n r nhánh chi ti t v UC
c mô t trong hai lu ng s ki n này mô t cái gì s x y ra th c hi n ch c n ng c a UC N i dung tài li u UC kh#i ng nh th nào? Các ng i xuyên qua các UC Lu ng chính thông qua UC Lu ng r nhánh thông qua UC Các lu ng l i UC k t thúc th nào. H u i u ki n (post-condition) Là i u ki n
c th c hi n ngay sau khi k t thúc UC 26
Thí d tài li u lu ng s ki n Ca s d ng: C p nh t t i n môn h%c
Tác nhân: Nhân viên phòng ào t o
M c ích: C p nh t các môn h%c trong t i n môn h%c Mô t : Sau khi
ng nh p vào h th ng, nhân viên phòng ào t o c p nh t
thông tin môn h%c vào bi u m*u ho c s a môn h%c có s+n và ghi l i. Lu ng s ki n chính: Hành ng tác nhân Ph n ng h th ng D li u liên quan 1. Ch n ch+c n ng c p 2. Hi n th* bi u m>u T= i n môn h c nh t t= i n môn h c nh p thông tin v( các môn h c m i và hi n th* danh sách môn h c ch n môn h c tiên quy t cho môn h c. 3. Nh p thông tin môn 4. C p nh t môn h c vào Môn h c h c, ch n môn h c tiên t= i n môn h c quy t, ?ng ý nh p m i.
Lu?ng s) ki%n ph$: s#a thông tin Ngo'i l%: B
c 4: n u thông tin nh p ko chính xác thì yêu c@u nh p l'i ho c 27 d=ng ca s# d$ng.
Thí d tài li u lu ng s ki n Ca s d ng: S a i thông tin môn h%c
Tác nhân: Nhân viên phòng ào t o
M c ích: S a các thông tin v m t môn h%c ang t n t i trong h th ng Mô t khái quát: Tìm n môn h%c c n s a
i, xóa các thông tin c( và nh p
các thông tin m i v môn h%c này. Cu i cùng, yêu c u h th ng ghi nh n các thông tin m i. 28
Thí d tài li u lu ng s ki n 29 Tóm t t Bài này ã xem xét các v n sau Bi u UC là gì? Quan h gi a bi u UC và bi u nghi p v
Các khái ni m c a mô hình UC
Cách tìm ki m UC, tác nhân, quan h trong mô hình UC Các ph n t h%a xây d ng bi u UC Cách mô t lu ng s ki n v n b n bi u ho t ng 30 Phân tích Thi t k HTTT h ng i t ng - UML 2 Mô hình hóa i t ng
Mô hình hóa t ng tác gi a các i t ng trong h th ng Hai lo i bi u c s d ng mô hình hóa i t ng Bi u trình t (Sequence diagram) T p trung vào mô t i u khi n Bi u
c ng tác (Colaboration diagram) T p trung vào mô t d li u Bi u trình t và bi u c ng tác
u ch ra cùng lo i thông tin.
G i tên chung cho hai lo i bi u này là bi u t ng tác (Interaction diagram) Bi u t ng tác ch ra các i t ng tham gia vào lu ng
xuyên qua UC và các thông i p g i gi a chúng? Bi u
t ng tác giúp xác nh h th ng làm vi c nh th nào?
Lu ng s ki n t p trung vào cái h th ng làm. 3 i t ng? Ta nhìn th y i t ng xung quanh ta Bàn, gh , quy n sách...
i t ng là cái gì ó gói thông tin và hành vi
Nó là khái ni m bi u di n cái c th trong th gi i th c Thí d Máy bay VN358 là i t ng Có các thông tin:
Ngày bay 10 April, gi bay 8h30, s hi u máy bay VN358, bay t Hà N i Có các hành vi
Nó bi t ón khách vào máy bay, bi t
a khách ra kh i máy bay, xác nh khi nào máy bay y khách Thông tin
c l u tr b i thu c tính (Attribute) Hành vi c a i t ng
c g i là thao tác (Operation) 4 L p là gì?
L p (class) là cái gì ó cung c p k ho ch (blueprint) cho i t ng L p cung c p thông tin nào
i t ng l u tr và hành vi nào i t ng có Cung c p m u (template) cho i t ng nh ngh!a l p c a UML Là mô t t p
i t ng chia s" cùng thu c tính, thao tác, ph ng pháp, quan h và ng ngh!a. Thí d
i t ng: Sinh viên A, Sinh viên B... L p: Sinh viên 5 Xây d ng bi u t ơng tác xây d ng bi u t ng tác ta b#t u t lu ng s ki n Xây d ng t ng bi u cho
lu ng chính, lu ng thay th , lu ng l$i
N u hai lu ng thay th và lu ng l$i t ng t nhau thì g p chúng l i
S d ng m u (Pattern) xây d ng bi u t ng tác gi m th i gian
Xây d ng các m u cho các logíc chung: Khai thác CSDL, qu n lý
l$i, giao ti p gi a các ti n trình... Các b c xây d ng bi u t ng tác Tìm ki m i t ng Tìm ki m tác nhân B% sung thông i p vào bi u 6 Tìm ki m i t ng
Kh o sát các danh t trong lu ng s ki n Tìm
i t ng trong tài li u k ch b n
K ch b n (Scenario) là m t hi n th c c a lu ng s ki n
M$i lu ng s ki n có nhi u k ch b n M$i UC có th có nhi u bi u t ng tác M$i bi u
c xây d ng cho m t k ch b n thông qua lu ng s ki n Tìm i t ng không c mô t trong lu ng s ki n Các
i t ng cho phép tác nhân nh p và quan sát thông tin Các
i t ng tham gia i u khi n trình t lu ng xuyên qua UC Tìm
i t ng t ng &ng v i khái ni m tr u t ng khi phân tích
Thí d Tên sách, Tên t p chí là tr u t ng không t ng &ng v i i t ng nào trong th gi i th c 7 Tìm ki m i t ng Có th hình thành các bi u t ng tác ' m&c cao:
ch ra h th ng giao ti p nh th nào ' m&c r t th p:
ch ra l p nào c n tham gia vào k ch b n Nên xem xét các nhóm
i t ng sau khi tìm ki m chúng i t ng th c th (Entity)
L u tr thông tin, có th ánh x sang b ng, tr ng c a CSDL
Nhi u danh t trong lu ng s ki n thu c lo i này
Thí d : Chuy n bay VN358, Hành khách John, Vé s #1347A... i t ng biên (Boundary) Là
i t ng t i biên h th ng và th gi i bên ngoài
Là các Forms, c a s% c a &ng d ng và giao di n v i các &ng d ng khác i t ng i u khi n (Control) Là các
i t ng b% sung, không th c hi n ch&c n(ng nghi p v nào Nó i u ph i các
i t ng khác và i u khi n toàn b lu ng logíc 8 Tìm ki m tác nhân Sau khi xác nh
i t ng là tìm ki m tác nhân cho bi u t ng tác Tác nhân trong bi u
t ng tác là s kích ho t t ngoài kh i
ng lu ng công vi c c a lu ng s ki n
Tìm ki m tác nhân trong lu ng s ki n
Ai hay cái gì kh i x ng ti n trình?
Có th có nhi u tác nhân cho m t bi u t ng tác
N u tác nhân nh n hay g i thông i p cho h th ng theo k ch
b n nào ó thì chúng ph i có m)t trong bi u t ng tác c a k ch b n ó 9 S d ng bi u t ơng tác T bi u
t ng tác ng i thi t k và ng i phát tri n xác nh các l p s* xây d ng quan h gi a các l p
thao tác và các trách nhi m c a l p Bi u
trình t theo th& t th i gian
Giúp ng i s d ng quan sát lu ng logíc thông qua k ch b n Bi u
c ng tác t p trung vào t% ch&c c u trúc c a các i t ng Giúp d dàng quan sát i t ng nào giao ti p v i các i t ng nào Khi thay %i
i t ng, d* dàng nh n th y tác ng trên các i t ng khác? 10 Xây d ng bi u t ơng tác Bi u
t ng tác bao g m các thành ph n sau i t ng (Objects) Bi u t ng tác s d ng tên i t ng, tên l p hay c hai Thông i p (Messages) Thông qua thông i p, m t
i t ng hay l p có th yêu c u l p hay
i t ng khác th c hi n vài ch&c n(ng c th Thí d : Form yêu c u i t ng Report t in Liên k t (Links)
Là hi n th c c a quan h k t h p gi a các i t ng
Chú thích (Notes) và ràng bu c 11 Xây d ng bi u t ơng tác Khi t o l p bi u
t ng tác có ngh!a là gán trách nhi m cho i t ng Gán trách nhi m cho i t ng nh n thông i p Ph i gán trách nhi m cho i t ng m t cách phù h p
Thí d không gán trách nhi m nghi p v cho i t ng Form, Screen D a trên các lo i l p
cân nh#c hình thành trách nhi m cho chúng
L p Entity: l u tr thông tin và th c hi n các ch&c n(ng nghi p v L p Boundary
form và windows: hi n th và nh n thông tin. Có th x lý vài nghi p v r t nh
interfaces: trao %i thông tin v i h th ng khác. X lý vài nghi p v r t nh
L p Control: theo dõi trình t th c hi n 12 Bi u trình t Bi u trình t là bi u theo th& t th i gian c bi u t nh xu ng áy c bi u b+ng quan sát các i t ng và thông i p M$i i t ng có vòng i (Lifeline) B#t u khi hình thành i t ng, k t thúc khi phá h y i t ng Thông i p c v* gi a hai i t ng – th hi n i t ng g i hàm i t ng khác Thông i p ph n thân 13 Bi u trình t Thí d : Thêm h s sinh viên : NV N Pho h n o g n g : fr f m r Ho H S o oS o V : ctrT r h T e h m e S m V : Ho H S o oS o V QL Q S L inh n V h ie i n e 1: Chuc nang them sinh vien
2: Hien thi form nhap thong tin SV 3: Nhap thong tin sinh vien 4: Lap ho so SV 5: Kiem tra tinh hop le
6: Thong bao thong tin sai hoac thieu thong tin 7: Thong bao loi 8: Luu vao co so du lieu 9: Luu thanh cong 10: Thong bao luu thanh cong
11: Hien thi thong bao luu thanh cong
12: Chon chuc nang tiep tuc them SV 13: Quay lai buoc 2 14 Bi u trình t Thí d : S a h s sinh viên : NV N Pho h n o g n g QL Q S L inh n V h ie i n e : fr f m r Ho H S o oS o V : fr f m r Ti T m i K m ie i m e : ctrS r ua u S a V : Ho H S o oS o V
1: Chon chuc nang sua sinh vien
2: Hien thi danh sach sinh vien
3: Chon sinh vien va sua thong tin 4: Thong tin sua 5: Kiem tra thong tin
6: Thong tin bi sai hoac thieu sot 7: Thong bao loi 8: Luu thong tin sua 9: Luu thanh cong 10: Thong bao luu thanh cong
11: Hien thi thong bao luu thanh cong 12: Chon chuc nang tim kiem 13: Goi form tim kiem
14: Yeu cau nhap thong tin tim kiem 15: Nhap thong tin can tim 16: Gui thong tin tim kiem 17: Tim kiem 18: Ket qua tim kiem 19: Hien thi ket qua tim kiem 20: Quay tro lai buoc 3 15 Bi u trình t Thí d : Xóa h s sinh viên : NV N Pho h n o g n g : ctrX r o X a o S a V QL Q S L inh n V h ie i n e : fr f m r Ho H S o oS o V : fr f m r Ti T mK m ie i m e : Ho H S o oS o V
1: Chon chuc nang xoa sinh vien
2: Hien thi danh sach sinh vien
3: Chon sinh vien va xoa thong tin 4: Hien thi canh bao 5: Dong y xoa 6: Thong tin xoa 7: Xoa thong tin 8: Xoa thanh cong 9: Thong bao luu thanh cong
10: Hien thi thong bao luu thanh cong 11: Chon chuc nang tim kiem 12: Goi form tim kiem
13: Yeu cau nhap thong tin tim kiem 14: Nhap thong tin can tim 15: Gui thong tin tim kiem 16: Tim kiem 17: Ket qua tim kiem 18: Hien thi ket qua tim kiem 19: Quay tro lai buoc 3 16 Xây d ng bi u trình t Sau khi v* i t ng trong bi u , c n v* liên k t các i t ng b% sung thông i p cho chúng )c t thông i p )t tên thông i p
Ánh x thông i p vào thao tác )t )c tính ng b cho thông i p )t t n s cho thông i p 17 Xây d ng bi u trình t )c t thông i p )t tên thông i p
Tên ch ra m c tiêu c a thông i p
Ánh x thông i p vào thao tác
Tr c khi phát sinh mã trình ph i ánh x m i thông i p thành thao tác )t t n s cho thông i p ánh d u thông i p s* c g i u )n, thí d m$i 30s Hai lo i Periodic: cho bi t thông i p c g i u )n theo chu k,
Aperiodic: cho bi t thông i p không c g i u )n mà c g i m t l n hay theo th i i m không u )c t
)c tính t ng tranh cho thông i p 18 Xây d ng bi u trình t )c t thông i p )t tên thông i p
Ánh x thông i p vào thao tác )t t n s cho thông i p
)t )c tính t ng tranh cho thông i p
n (Simple): Giá tr m)c nh c a thông i p, cho bi t thông i p ch y trong n ti n trình
ng b (Synchronous): Client g i thông i p, ch n khi Supplier x lý xong thông i p
C n tr (Balking / Rendez-vous): Client g i thông i p, n u Supplier không s-n
sàng x lý ngay thông i p h y b
H t h n (Timeout): Client g i thông i p ch n Supplier x lý trong kho ng th i gian nh t nh
D b (Asynchronous): Client g i thông i p không ch Supplier x lý xong
mà ti p t c làm công vi c khác
L i g i th t c (Procedure Call): Client g i thông i p n Supplier, ch n khi
m i trình t l)p c a các thông i p c x lý xong (m.i tên )c)
Tr v (Return): Mô t tr v t l i g i th t c (m.i tên nét &t) 19 Xây d ng bi u trình t 20 Xây d ng bi u trình t 21 Xây d ng bi u trình t 22 Xây d ng bi u trình t 23 Xây d ng bi u trình t 24 Xây d ng bi u trình t 25 Xây d ng bi u trình t 26 Xây d ng bi u trình t 27 Xây d ng bi u trình t 28 Xây d ng bi u trình t 29 Xây d ng bi u trình t 30 Xây d ng bi u trình t 31 Xây d ng bi u trình t 32 Scripts trong bi u trình t ! " # ! $ % " ! -. & ' ( ) * ) + , ) - / 33 Bi u c ng tác T ng t bi u trình t , bi u c ng tác (Collaboration
diagram) ch ra lu ng th c hi n trong k ch b n c a UC Bi u c ng tác t p trung vào quan h gi a các i t ng c u trúc t% ch&c c a các i t ng lu ng d li u trong k ch b n T ng
i khó quan sát trình t các thông i p trong bi u c ng tác
Do v y, các d án th ng hay xây d ng c hai lo i bi u này Trong Rose: Có th t ng chuy n %i qua l i gi a bi u trình t và bi u c ng tác (nh n phím F5) 34 Thí d bi u c ng tác
Thí d : Lu ng s ki n Khách hàng )t ch$ cho chuy n bay % " & ' $ # ! + , ) * ) ( ) ! " 35 Thí d bi u c ng tác C bi u trình t và bi u c ng tác
u mô t lu ng i u khi n trong k ch b n Khác bi t gi a bi u trình t và bi u c ng tác bi u c ng tác mô t lu ng d li u bi u
trình t không mô t lu ng d li u Lu ng d li u c s d ng
mô t thông tin tr l i khi m t i t ng g i thông i p n i t ng kia
Không nên b% sung m i lu ng d li u vào bi u vì nó s* làm r i S d ng nó khi th y c n thi t ) / -#0 -#0 36 K thu t xây d ng bi u t ơng tác Xây d ng bi u t ng tác theo ti m c n 2 b c [Boggs] -#0 ) -#0
B c th& nh t t p trung vào thông
tin m&c cao mà khách hàng quan 1 - tâm 1 2
Ch a ánh x thông i p vào thao tác $1 " Ch a ánh x i t ng vào l p %1
Dành cho phân tích viên, khách hàng &1 / và nh ng ai quan tâm n lu ng (1 " nghi p v -> th y c lu ng logíc trong h th ng
B c th& 2 b% sung chi ti t h n vào bi u t o ra t b c 1 37 K thu t xây d ng bi u t ơng tác Xây d ng bi u t ng tác theo ti m c n 2 b c [Boggs]
B c th& nh t t p trung vào -#0 -#0 ) -#0 thông tin m&c cao 1 -
B c th& 2 b% sung chi ti t h n vào bi u t o ra t b c 1 1 2
Không hi u qu cho khách hàng $1 " R t h u ích cho ng i phát %1 "
tri n, ki m th và các thành viên &1 khác... (1 / B% sung vào bi u i t ng *1 " i u khi n ( i t ng qu n lý):
Có trách nhi m i u khi n trình t i qua k ch b n. M i bi u trình t trong UC có th cùng chia s" m t i t ng i u khi n. 38 K thu t xây d ng bi u t ơng tác Chi ti t h n trong b c 2
Control object không th c ti n trình hi n nghi p v , nó ch g i thông i p n các i t ng khác
Control object cho kh n(ng tách logíc nghi p v kh i logíc trình t
N u logíc trình t thay %i thì ch nh h ng n i t ng i u khi n Có th b% sung các
i t ng qu n lý an toàn, l$i hay k t n i CSDL
Thí d l u tr hay truy v n thông tin CSDL cho i t ng John: có hai kh n(ng
i t ng John bi t v CSDL và t l u tr
B t l i: khi thay %i CSDL thì s* ph i thay %i r t nhi u i t ng trong h th ng
L i th : d mô hình hóa, d cài )t
i t ng John tách kh i logíc CSDL -> c n i t ng khác th c hi n l u tr John vào CSDL C n t o ra i t ng m i
qu n lý logíc CSDL g i là Transaction Manager
i t ng Transaction Manager bi t l u tr và truy v n thông tin trong CSDL cho i t ng John L i ích: d s d ng l i i t ng John
B t l i: th i gian mô hình hóa 39 K thu t xây d ng bi u t ơng tác Thí d bi u trình t sau b c hai -#0 -#0 3 1 - 1 2 $1 " %1 " &1 (1 / *1 " 3 +1 ' ,1 " 40 Thí d xây d ng bi u t ơng tác ! ! 4 / ! 1 / / 1 / / $1 ' / / %1 54 / 6 &1 ' (1 / / *1 / / e ! a # 41 Tóm t t Bài này ã xem xét các v n sau Các lo i bi u t ng tác Bi u trình t Bi u c ng tác Tìm ki m
i t ng, thông i p c a lu ng s ki n trong UC
)c t các ph n t mô hình xây d ng bi u t ng tác K/ thu t xây d ng bi u trình t 42 Phân tích Thi t k HTTT h ng i t ng - UML 2 L p là gì?
i t ng là cái gì ó t n t i trong th gi i th c
L p là mô t thu c tính, hành vi, ng ngh a c a m t nhóm i t ng L p xác nh thông tin nào c l u tr trong i t ng và hành vi nào i t ng có Thí d v l p: L p Employee
i t ng c a l p có các attribute: Name, Address, Salary
Các operation: Thuê m n, u i vi c và b t nhân viên? Ký pháp h a c a l p trong bi u Tên l p Thu c tính Thao tác - Private + Public 3
Tìm ki m l p nh th nào? Vi c tìm ki m y l p là khó kh n Khuy n cáo
Tìm l p t các danh t trong lu ng s ki n
Chú ý r ng danh t có th là tác nhân, l p (, thu c tính và
bi u th c không ph i lo i trên) Tìm l p t bi u t ơng tác Nh ng cái chung c a i t ng t o thành l p Tìm l p các nơi khác
Các báo cáo tìm ra trong pha phân tích yêu c u hình thành l p giao di n Các thi t b ph n c ng c bi u di n b i l p khác nhau 4
Tìm ki m l p nh th nào?
Cùng v i chuyên gia l nh v c v n tr l i các câu h!i sau ây tìm ra l p
Có thông tin nào c n l u tr hay phân tích? N u có, nó là l p
Có h th ng ngoài không? N u có thì nó c xem nh nh ng l p
ch a trong h th ng c a ta hay h th ng c a ta t ơng tác v i chúng
Có m"u, th vi n l p, thành ph n...? N u có, thông th ng chúng ch a các ng viên l p
H th ng c n qu n lý các thi t b ngo i vi nào? M i thi t b k# thu$t n i v i h th ng u là ng viên l p.
Tác nhân óng vai trò tác nghi p nào? Các nhi m v này có th là
l p; thí d ng i s% d ng, thao tác viên h th ng, khách hàng... 5 L p bi u l p Bi u l p cho bi t hình nh t nh c a b ph$n h th ng Bi u l p bao g m các l p và quan h gi a chúng
Thông th ng m&i h th ng có vài bi u l p Xây d ng vài bi u l p mô t y h th ng Bi u l p giúp ng i phát tri n quan sát, l$p k ho ch
c u trúc h th ng tr c khi vi t mã trình Rose Bi u l p c hình thành trong Logical View 6 Bi u l p th c th 7 Các nhóm l p
Ba nhóm l p cơ s s% d ng trong pha phân tích là
Boundary: l p biên (giao di n)
Dành cho l p n m trên biên h th ng v i th gi i còn l i
Chúng có th là form, report, giao di n v i ph n c ng nh máy in, scanner... Kh o sát bi u UC tìm ki m l p biên 8 Các nhóm l p
Ba nhóm l p cơ s s% d ng trong pha phân tích là Boundary Entity: l p th c th
L p th c th là l p l u tr thông tin s' ghi vào b nh ngoài
Tìm chúng trong lu ng s ki n và bi u t ơng tác
Thông th ng ph i t o ra b ng CSDL cho l p lo i này
M&i thu c tính c a l p th c th s' là tr ng trong b ng CSDL Control: l p i u khi n Có trách nhi m i u ph i ho t ng c a các l p khác
Thông th ng m&i UC có m t l p i u khi n
Nó không th c hi n ch c n ng nghi p v nào
Các l p i u khi n khác: i u khi n s ki n liên quan n an ninh và liên quan n giao d ch CSDL 9 c t l p trong bi u (c t l p bao g m Tên l p
M&i l p trong mô hình có tên duy nh t Thông th ng s% d ng danh t ơn, không nên có d u cách Thí d : Flight, Airplane Ph m vi (Visibility)
Xác nh kh n ng nhìn th y l p t ngoài gói Các lo i
Public: m i l p trong h th ng có th nhìn th y
Private hay Protected: có th nhìn th y t bên trong l p hay t l p friend
Package hay Implementation: ch) các l p trong cùng gói m i nhìn th y Tính nhi u (Multiplicity) 10 c t l p trong bi u (c t l p bao g m ...
Tính nhi u c a l p (Multiplicity) Là s hi n th c mong i c a l p Multiplicity Ý ngh a n (M c nh) Nhi u 0..0 Không 0..1 Không ho c 1 0..n Không ho c nhi u 1..1 Chính xác 1 1..n M t ho c nhi u 11 Gói các l p Gói (Packages) nhóm các l p có nh ng cái chung
Có nhi u quan i m hình thành gói Gói l p theo prototype
Thí d có gói Boundaries, gói Control và gói Entities Gói l p theo ch c n ng
Thí d gói Security, gói Reporting, gói Error Handling...
S% d ng t h p hai lo i ti p c$n trên hình thành gói
Có th t ch c gói bên trong gói khác
Quan h gi a các gói hình thành trên cơ
s quan h gi a các l p trong các gói. 12 Thu c tính l p
Thu c tính là nhóm thông tin liên k t v i l p
Có th g*n m t hay nhi u thu c tính vào l p Tìm ki m thu c tính? Tìm trong tài li u UC
Tìm các danh t trong lu ng s ki n
Thí d : “Ng i s% d ng nh$p tên, a ch) ngày sinh c a Nhân viên”
-> Tên, a ch), ngày sinh là danh t và là thu c tính c a l p Nhân viên
Tìm trong tài li u yêu c u h th ng
Thí d tài li u yêu c u h th ng mô t các thông tin c n thu th$p
Tìm thu c tính trong c u trúc CSDL
N u ã xác nh c u trúc CSDL thì các tr ng trong b ng là thu c tính c a l p 13 Thu c tính l p
Trong tr ng h p khó kh n quy t nh danh t tìm ra là thu c tính hay là l p
Thí d : Tên công ty là thu c tính hay l p?
Lo i ng d ng c th quy t nh vi c này
M(t khác c n quan sát nhóm thông tin có hành vi hay không
Khi k t thúc tìm ki m thu c tính
m b o r ng các thu c tính tìm ra ph i có ích cho yêu c u h th ng
Gán th$n tr ng thu c tính cho các l p
Không nên hình thành l p có quá nhi u hay quá ít thu c tính
(t t nh t nên có l p ít hơn 10 thu c tính) 14 c t thu c tính l p Trong Rose: s% d ng c%a s (c t thu c tính gán (c tính cho thu c tính V i m&i thu c tính trong bi u c n có Tên thu c tính
Ki u d li u thu c tính l u tr . Ph thu c vào ngôn ng l$p trình Thí d , Add : String Giá tr kh i u Thí d , IDNumber: Interger=0 Stereotype Ph m vi (visibility) .... 15 c t thu c tính l p
V i m&i thu c tính trong bi u c n có ... Ph m vi (visibility)
M t tính ch t quan tr ng c a l$p trình h ng i t ng là tính gói !
B n l a ch n ph m vi cho thu c tính Public: M i l p u nhìn th y thu c tính (+) !
Private: L p khác không nhìn th y thu c tính (-)
Protected: Các l p k th a có th nhìn th y (#)
Package và Implementation: Thu c tính là public i v i các l p trong cùng gói " # $% ! & ... 16 c t thu c tính l p
V i m&i thu c tính trong bi u c n có ... Ki u l u tr thu c tính By value: L p ch a thu c tính
By reference: Thu c tính (t ngoài l p, l p có con tr! n thu c tính Unspecified: Không xác nh Thu c tính t nh
Là thu c tính chia s+ cho m i hi n th c l p
Ký hi u trong l p là tên thu c tính có g ch chân (phiên b n c,: $) Thu c tính suy di n Là thu c tính
c t o b i 1 hay nhi u thu c tính khác
Ký hi u: d u / tr c tên thu c tính ' ... 17 Thao tác l p
Thao tác là hành vi k t h p v i l p, nó xác nh trách nhi m c a l p Mô t thao tác bao g m Tên thao tác Tham s thao tác Ki u giá tr cho l i Ký pháp trong UML
Operation Name (arg1: arg1 data type, arg2: arg2 data type...): return type
Chú ý khi b sung thao tác trong l p Không nên l p ch) có 1 hay 2 thao tác
N u l p không có thao tác thì mô hình hóa nó nh thu c tính
N u l p có quá nhi u thao tác thì khó qu n lý, nên chia s+ chúng ra các l p khác 18 Các lo i thao tác
Thao tác cài (t (Implementor)
Cài (t m t vài ch c n ng nghi p v
H u nh m i thông i p trong bi u
t ơng tác ánh x vào thao tác cài (t Thao tác qu n lý (Manager) Qu n lý vi c l$p và h y b! i t ng
Thí d : các c u t%, h y t% c a l p Thao tác xâm nh$p (Access)
Thao tác xâm nh$p vào các thu c tính private và protected
Thí d : các thao tác Get và Set cho m&i thu c tính trong l p Thao tác tr giúp (Helper)
Là các thao tác private và protected c a l p
Các thông i p ph n thân trong bi u t ơng tác ánh x n thao tác này 19 Quan h gi a các l p
Quan h là k t n i ng ngh a gi a các l p
Quan h cho m t l p bi t thu c tính, thao tác và quan h c a l p khác Các lo i quan h chính K t h p (Associations) Thành ph n (Aggregations)
T ng quát hóa (Generalizations) Ph thu c (Dependencies) 20 Tìm ki m quan h Kh o sát bi u trình t và bi u c ng tác N u l p A g%i thông i p
n l p B thì gi a chúng có quan h
Thông th ng là quan h k t h p hay ph thu c Kh o sát các l p tìm ra các quan h Quan h t ng th - thành ph n B t k- l p nào
c hình thành t l p khác thì chúng có quan h t$p h p Quan h t ng quát hóa
N u nhi u l p k th a t l p th ba thì gi a chúng v i l p
th ba có quan h khái quát hóa 21 Quan h k t h p K t h p là quan h c u trúc mô t t$p liên k t (m t liên k t là k t n i gi a các i t ng). Khi i t ng c a l p này g%i/nh$n thông i p n/t i t ng c a l p kia thì ta g i
chúng là có quan h k t h p. Ký pháp h a c a k t h p c mô t trên hình sau,
chúng có th ch a tên nhi m v và tính nhi u (multiplicity). 22 Quan h k t h p
Association là k t n i ng ngh a gi a các l p
K t h p cho m t l p bi t v thu c tính và thao tác public c a l p khác
Quan h k t h p hai chi u, m t chi u Quan h k t h p ph n thân ( ( class Person class House class Person class House { { { { public: public: public: public: Person(); House(); Person(); House(); ~Person(); ~House(); ~Person(); ~House(); private: private: private: private: House *the_House; Person *the_Person; House *the_House; }; }; }; }; 23 Quan h thành ph n
Aggregation là quan h gi a t ng th và b ph$n (Whole- Parts)
Trong quan h này, m t l p bi u di n cái l n hơn còn l p kia bi u di n cái nh! hơn Bi u di n quan h has-a M t
i t ng c a l p t ng th có nhi u i t ng c a l p thành ph n Có 2 lo i quan h thành ph n: T h p G p 24 Quan h thành ph n T h p:
T ng th và b ph$n có th h y b! vào th i i m khác nhau
Tên khác: quan h t h p b i tham chi u (by reference) Ví d : M t l p h c ph n c m (trong h c tín ch)) có
nhi u sinh viên theo h c, l p h c ph n c m là class
t ng th , còn sinh viên là class thành ph n. N u không có l p h c ph n
c m thì sinh viên v"n t n t i, ho(c khi h y l p h c ph n. c m i thì sinh viên v"n không b h y. Quan h thành ph n ) ** * + * Ví d : # + , - . */. ) 0 ***** ! 1 2 / 3 4 54 - . */. 0 *** ! 1 ) 2 / 3) 4 54 Quan h thành ph n
G p: là d ng (c bi t (m nh hơn) c a quan h t h p T ng th và thành ph n
c hình thành hay h y b! vào cùng th i i m
Tên khác: quan h t h p b i giá tr (by value)
Ví d : M t công ty (Company) có nhi u phòng ban(
Department). Nh th khi công ty b h y i thì phòng ban
(Department) không còn t n t i, ho(c M t phòng h c(
Class-room) có nhi u bàn gh (table), th c t là t t c các phòng h c
u có bàn gh riêng cho t ng phòng và bàn c a phòng nào
u có mã s phòng i kèm v i mã s bàn, nh
v$y n u phòng h c b h y thì bàn gh c a phòng ó b h y theo. 27 Quan h thành ph n Ví d : 6 7 - .6 7*/. - . */. 6 7 0 0 *** *** ! 1 ! 1 5 / 3 4 5 28 Quan h t ng quát hóa
Generalization là quan h k th a c a hai ph n t% mô hình
nh l p, tác nhân, Use case và gói
Cho phép m t l p k th a các thu c tính, thao tác public và protected c a l p khác - ; ! */< ! ( !1 ! 8 ! 998 0 ( $& ! 1 $& = : 4 ****** ( ! 9 ! 54 : 9 29 Quan h ph thu c
Dependency là quan h ch) ra m t l p tham chi u l p
khác. Ph thu c là m i quan h gi a hai l p i t ng: m t l p i t ng A có tính c l$p và m t l p i t ng B ph thu c vào A; m t s thay i c a A s' nh h ng n l p ph thu c B. Khi thay
i (c t l p tham chi u thì l p s% d ng nó b nh h ng ( 30 Quan h ph thu c gói
Có th v' quan h ph thu c gi a các gói nh gi a các l p
Ph thu c gói t gói A n gói B có ngh a r ng vài gói
trong l p A có quan h m t chi u v i các l p trong gói B " # " #
Tránh ph thu c vòng gi a các gói " # " # 31
c t quan h gi a các l p (c t chi ti t quan h bao g m Multiplicity Tên quan h Tên nhi m v Ph n t% liên k t 32
c t quan h gi a các l p (c t chi ti t quan h bao g m Multiplicity
Cho bi t bao nhiêu hi n th c c a m t l p liên k t v i m t
hi n th c c a l p khác vào cùng th i i m 9 >**+ >** > Tên quan h Tên quan h là
ng t mô t t i sao l i t n t i quan h ! ! 33 ...
c t quan h gi a các l p (c t chi ti t quan h bao g m ..... Tên nhi m v
S% d ng tên nhi m v thay th cho tên quan h trong quan h k t h p hay t h p ch) ra t i sao quan h t n t i ! ? ! ? ! 34
c t quan h gi a các l p (c t chi ti t quan h bao g m ..... Ph m vi k t h p (Qualifier) Ph n t% liên k t
Còn g i là l p k t h p, nơi l u tr thu c tính liên quan n k t h p 9 >** * > >** * + * @ 35 Tóm t t Bài này ã xem xét các v n sau Tìm ki m l p
Tìm ki m thu c tính, thao tác l p
Tìm ki m các lo i quan h gi a các l p Bi u di n bi u l p và gói Bi u di n
h a các thu c tính c a thu c tính, thao tác trong l p
Bi u di n các thu c tính cho quan h gi a các l p 36 Phân tích Thi t k HTTT h ng i t ng - UML o 2 Bi u chuy n tr ng thái Mô t chu k t n t i c a i t ng t khi nó n khi nó b phá h y S d ng mô hình hóa khía c nh ng c a l p Bi u bao g m các thông tin sau Các tr ng thái c a i t ng Hành vi c a i t ng S ki n tác ng làm thay i tr ng thái Thông th ng Xây d ng bi u
chuy n tr ng thái cho m t vài i t ng c a l p có nhi u hành vi ng trong d án
Không ph i m i d án s d ng bi u lo i này 3 Tr ng thái i t ng? Tr ng thái i t ng là k t qu c a các ho t ng tr c ó c a i t ng i t
ng luôn trong m t tr ng thác xác nh t i m t th i i m Tr ng thái
c xác nh b i giá tr c a thu c tính và liên k t v i i t ng khác Thí d Con ng
i c th c a l p Person có các tr ng thái: Ng i lao ng, Th!t nghi p, V " Hóa ơn mua hàng: $ % %&án, ch a thanh toán Xe ô tô: ' ( y, ' )ng Thay i tr ng thái i t ng Có s ki n x y ra
Thí d : ai ó thanh toán hóa ơn hàng 4 Bi u tr ng thái Thí d bi u tr ng thái S d ng bi u tr ng thái làm gì? Phân tích viên, ng i thi t k và ' i s d ng hi u hành vi i t ng Ng i phát tri n hi u hành vi i t ng cài *t nó 5 Bi u tr ng thái Các ph+n t h a Tr ng thái kh i +u: Khi i t ng c t o ra Tr ng thái d ng: Khi i t ng b phá h y Tr ng thái (State) Ho t ng Hành ng vào Hành ng ra Quá (Transition) S ki n i u ki n canh Hành ng 6 Tr ng thái ,n Bi u tr ng thái Các ph+n t h a ... Tr ng thái (State) Tr ng thái
c xác nh t kh o sát thu c tính l p và quan h gi-a các l p Ký pháp h a Khi i t
ng trong tr ng thái nào ó nó th c hi n vài ho t ng (Activity)
Phát sinh báo cáo, Th c hi n tính toán và G i thông i p n i t ng khác
Có ./ 0& i thông tin có th g p trong tr ng thái Ho t ng, Hành ng vào, Hành
ng ra, S ki n, L ch s tr ng thái. ... 7 Bi u tr ng thái Các ph+n t h a ... Tr ng thái (State) Ho t ng (Activity) Là hành vi mà i t ng th c hi n khi nó ang tr ng thái c th Nó là hành vi có th ng1t c Bi u di2n trong ph+n t bi u : do hay / Hành ng vào (Entry Action) Là hành vi x y ra khi i t ng ang chuy n vào tr ng thái
Nó là hành vi không th ng1t c Bi u di2n trong ph+n t bi u : Entry Hành ng ra (Exit Action) ! Là hành vi x y ra khi i t ng ang chuy n ra tr ng thái
Nó là hành vi không th ng1t c Bi u di2n trong ph+n t bi u : Exit 8 Bi u tr ng thái Các ph+n t h a ... ! Quá (Transition) " Quá là chuy n ng t tr ng thái này sang " tr ng thái khác Quá ph n thân *c t quá !
S ki n (Event): cái gì ó là nguyên nhân chuy n t
tr ng thái này sang tr ng thái khác H+u h t quá
u có s ki n. S ki n có th có i #
s , thí d , Remove passenger(name)
i u ki n canh (Guard): xác nh khi nào s ki n
x y ra, thí d , Tr ng thái máy bay t Open sang Full khi ch3 cu i cùng ã có ' i mua vé Hành
ng (Action): hành vi không ng1t c, x y
ra nh m t ph+n c a chuy n ti p. & '( ) $ % 9 Bi u tr ng thái Các ph+n t h a ... Tr ng thái ,n (Nested state)
gi m quá nhi u tr ng thái trong bi u ta có th l ng tr ng thái
vào trong tr ng thái khác: Substate, Superstate
N u hai hay nhi u tr ng thái có cùng quá -> nhóm chúng thành superstate Thí d Bi u bi n
i tr ng thái c a l p Flight có các tr ng thái Scheduled, Open, Full và Closed
Chuy n bay chuy n vào tr ng thái Closed 10 phút tr c khi c!t cánh, không quan tâm n tr ng thái tr
c ó c a nó là Open hay Full.
L ch s tr ng thái (Superstate history)
Nhi u khi có nhu c+u nh l i tr ng thái v a tr c ó c a i t ng
B sung tr ng thái kh i +u trong siêu tr ng thái * S d ng ch4 báo l ch s tr ng thái nơi i t ng v a i qua 10 Bi u
tr ng thái v i tr ng thái n Scheduled Scheduled
[ Current date is less than 60 days before flight ]
[ Current date is less than 60 days before / Set number of passenger to 0
flight ] / Set number of passenger to 0 Add/Remove passenger Adding Passengers
Add passenger[ Last seat was sold ] Add/Remove passenger Full Open
Add passenger[ Last seat was sold ] Op Oe pn ee nd Fu F lll
Remove passenger( PassengerName )
[ 10 min before scheduled takeoff ]
Remove passenger( PassengerName )
[ 10 min before scheduled takeoff ]
[ 10 min before scheduled takeoff ] Closed Closed 11 Bi u tr ng thái và l p Mô t quan h gi-a bi u tr ng thái và l p Thí d Bi u
tr ng thái c a l p Digital watch + ,1 23 ,- 23 ./ 0$ + ,- + ./ 0$ ,- ,- + 12 Bi u ho t ng Bi u ho t ng (Activity diagram) do Odell xu!t cho UML
mô t lu ng công vi c trong ti n trình nghi p v trong mô hình hóa nghi p v
mô t lu ng s ki n trong mô hình hóa h th ng S d ng text nh tr c ây s5 khó
c khi logíc ph)c t p, có nhi u r5 nhánh Bi u ho t ng s d ng mô hình hóa khía c nh ng c a h th ng các b c trình t 6 % ơ ' %
% & ' 7"á trình tính toán 13 Bi u ho t ng Ho t ng (Activity) Là m t b c trong ti n trình Hành ng (Actions) Là các b c nh8 ơ % & ' 9(% : %6 Action có th x y ra khi ang vào activity Hành
ng vào x y ra khi activity b1t +u, ánh d!u b;ng “Entry” Khi ang i ra kh8i activity Hành
ng ra x y ra khi r i b8 (% : %6, ánh d!u b;ng “Exit” Khi th c hi n activity Hành
ng x y ra khi ang trong activity, ánh d!u b;ng “do” Khi có s ki n *c bi t x y ra Hành
ng x y ra khi và ch4 khi có s ki n c th x y ra, ánh d!u b;ng “event” ti p theo là tên s ki n 14 Bi u ho t ng i t ng và lu ng i t ng (Object flow) + i t ng là th c th , có th b các ho t ng trong lu ng s 4 & ' ) d ng và % 6 i ' ) Trong bi u ho t ng: ' ) hi n th i t ng v i tr ng thái 4 c a nó ! ' ) Liên k t i t ng v i các ho t ( ng thông qua lu ng i t ng - M t i t ng có th là +u vào cho ho t ng. 15 Bi u ho t ng Quá (Transition) Ch4 ra lu ng i u khi n t ho t ng này n ho t ng khác Tr ng h p ơn gi n ! ( - *t gi i h n trên quá
u khi n: event hay guard condition ! ! ( - Khi có s ki n, u ki n canh i u khi n quá có th x y ra? ' 1 ) ! ( - 16 Bi u ho t ng R5 nhánh và ng b (Synchonization)
ng b là cách mô t hai hay nhi u nhánh flows x y ra ng th i 5 6 Kh>i ?ng xe [ Con x ng ] [ HAt x ng ] 7 8 9 : ; i xe buýt, Lái xe taxi, xe @p < = 17 Bi u ho t ng Làn bơi (Swimlanes) S d ng
mô hình hóa lu ng công vi c trong ti n trình nghi p v
Ch4 ra ai có trách nhi m th c hi n t ng ho t ng
phân ho ch các tr ng thái ho t ng vào nhóm Phân tách nhóm trên bi u b;ng các làn bơi M3i ho t ng thu c v m t làn bơi Quá có th c v5 t làn bơi này n làn bơi khác M3i làn bơi có th
c cài *t b i m t hay nhi u l p 18 Bi u h Khá o ch hà t n g ng Nhân viên bán hàng Nhân viên kho hàng Yêu cBu mua hàng XG àng ChuyHn hàng ra TiAp tCc công viDc O : Order [ ang xG lý] GGi hàng i O : Order [ ã iFn] Nh6n hàng Báo giá b : Bill TrE tiFn [Ch a thanh toán] a e" KAt thúc mua b : Bill hàng [ ã thanh toán] 19 Tóm t t
Bài này ã xem xét các v!n sau Bi u chuy n tr ng thái Tr ng thái c a i t ng Các ph+n t h a xây d ng bi u K< thu=t xây d ng bi u tr ng thái Bi u ho t ng >ng d ng c a bi u ho t ng Các ph+n t h a xây d ng bi u ho t ng 20 Phân tích Thi t k HTTT h ng i t ng - UML 8 Chuy n i i t ng sang mô hình quan h Trong CSDL quan h , m t l c c hình thành b i các
b ng (Table) g m các c t và dòng. Trong mô hình i t
ng, t ơng ng m t b ng là m t l p (ho c nhi u l p).
Các thành ph n t ơng ng nh sau:
M t c t ng v i m t thu c tính l p M t dòng ng v i m t i t ng
M t th t c l u tr (stored procedure) có th ng v i m t ph ơng th c Chuy n i sơ l p sang l c quan h bao g m: Chuy n i l p – b ng Chuy n i m i liên k t Chuy n i i t ng sang mô hình quan h Chuy n i l p – b ng M t l p chuy n i thành m t b ng c th nh sau: L p b ng M t thu c tính
m t c t: ch có các thu c tính c n nhu c u l u tr và c òi h i b i ng d ng M t i t ng (th hi n) m t dòng Chuy n i i t ng sang mô hình quan h Chuy n i m i liên k t Chuy n
i liên k t k t h p (association) Tr ng h p 1: Chuy n i i t ng sang mô hình quan h Tr ng h p 2: Chuy n i i t ng sang mô hình quan h Tr ng h p 3: Chuy n i i t ng sang mô hình quan h Chuy n i liên k t k th a Trong
không có khái ni m k th a mà chúng th ng dùng liên k t khóa chính khóa ngo i
di!n t i u này. Sau ây là các tr ng
h p mà ta có th quy t "nh ch#n m t: Chuy n i i t ng sang mô hình quan h Tr ng h p 1
Ch s$ d ng m t b ng l u tr t%t c các lo i nhân viên. Ngoài ra ta c&ng có th
a thêm m t thu c tính nh'm phân lo i dòng này thu c i t ng nào Chuy n i i t ng sang mô hình quan h Tr ng h p 2 Chuy n i i t ng sang mô hình quan h Tr ng h p 3 Chuy n i i t ng sang mô hình quan h Tr ng h p 4:
ng d ng m t s ph n m m vào chuy n i mô hình Rose Paradigm Tóm t t Bài này ã xem xét các v%n sau Mô hình i t ng và mô hình d li u T o l(p mô hình d li u B sung CSDL, l c
, gói l)nh v*c, b ng, th t c l u tr và các quan h +ng d ng ph n m m vào Mô hình hóa d li u Chuy n
i gi a mô hình d li u và mô hình i t ng