Giáo trình Kỹ nghệ phần mềm Giáo trình Kỹ nghệ phần mềm 124 CHƯƠNG 4 PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG CHỨC NĂNG Mục đích Sau khi học xong chương này, sinh viên sẽ có các kiến thức và kỹ năng sau đây Hiểu đ.
Trang 1CH NG 4
M c đích
Sau khi h c xong ch ng này, sinh viên s có các ki n th c và k n ng sau đây:
đ lu ng d li u
b n là thi t k ki n trúc h th ng, thi t k d li u, thi t k gi i thu t, thi t k giao
di n
Tóm l c n i dung
phân tích và thi t k c b n (cùng v i ph ng pháp h ng đ i t ng và ph ng pháp
th i gian th c) Ch ng này trình bày ph ng pháp phân tích và thi t k các h th ng có
c u trúc SADT (Structure Analysis and Design Technology) Tr c h t chúng tôi trình
thành c u trúc ch ng trình khi s d ng m t trong hai cách ti p c n ánh x là phân tích
bi n đ i và phân tích giao tác Ti p đó trình bày qui trình thi t k h ng ch c n ng bao
g m các b c thi t k ki n trúc, thi t k d li u, thi t k gi i thu t, thi t k giao di n
Cu i cùng là n i dung tài li u thi t k ph n m m
K t c u ch ng 4
4.1 Khái ni m phân tích h th ng h ng ch c n ng
4.2 Phân tích h th ng v ch c n ng nghi p v b ng bi u đ BFD
4.3 Phân tích h th ng v qui trình b ng bi u đ ng c nh
4.4 Phân tích h th ng v d li u b ng bi u đ lu ng d li u DFD
4.5 Báo cáo phân tích h ng ch c n ng
4.6 Ph ng pháp thi t k h ng ch c n ng
4.7 Thi t k ki n trúc ph n m m
4.8 Thi t k d li u
4.9 Thi t k gi i thu t
4.10 Thi t k giao di n
4.11 Tài li u thi t k ph n m m
Trang 24.1 KHÁI NI M PHÂN TÍCH H TH NG H NG CH C N NG
Phân tích h th ng có vai trò r t quan tr ng trong quá trình thi t k m t h th ng d a
trên máy tính Do đó vi c phân tích h th ng ph i d a trên nh ng ph ng pháp có c s
khoa h c Nh ng sai l m có th x y ra khi phân tích h th ng th ng là:
ây là ph ng pháp ti p c n truy n th ng c a ngành k ngh ph n m m Theo cách
ti p c n này, ng i thi t k quan tâm ch y u t i nh ng thông tin mà h th ng s l u gi
Ng i thi t k h i ng i dùng xem h s c n nh ng thông tin nào, trên c s đó s ti n hành thi t k c s d li u đ ch a nh ng thông tin đó, c ng nh cung c p các Forms đ
ng i dùng nh p thông tin và in ra các báo cáo Nói cách khác, ng i thi t k ch y u t p
Phân tích h th ng h ng ch c n ng phát sinh t quan ni m cho r ng các nguyên lý
h th ng trong k ngh ph n m m Vi c s d ng ph ng pháp phân tích h th ng có c u trúc làm t ng thêm kh n ng thành công cho các ng d ng và nó đã ch ng t r t có ích trong nhi u bài toán phân tích các h th ng trong th c ti n thi t k ph n m m
M t h th ng s đ c xem xét m c v t lý tr l i cho câu h i How? và m c khái
ni m tr l i cho câu h i What?
Trang 3đã c i ti n b ng cách đ a ra cách ti p c n g i là ph ng pháp phân tích h th ng có c u
trúc
D i đây là m t s ph ng pháp phân tích h th ng có c u trúc ph bi n nh t:
+ P h ng pháp phân tích và thi t k có c u SADT (Structure Analysis and Design
Technology) Ph ng pháp này xu t phát t M d a trên ý t ng c b n là phân rã m t
h th ng l n thành các phân h nh h n và đ n gi n h n Ph ng pháp SADT d a trên
Trang 4nguyên lý s d ng mô hình và phân tích t đ nh xu ng (Top down) Các k thu t mà
SADT s d ng là 3 công c kinh đi n trong phân tích h th ng có c u trúc:
Hình 4.2 Mô hình p h ng pháp phân tích và thi t k có c u trúc (SADT)
trúc, thi t k theo l i phân c p, b o đ m t m t d li u vào t o ra nhi u d li u ra Nh c
di n
Trang 5đi m c a ph ng pháp này là không bao g m toàn b các ti n trình phân tích do đó n u không th n tr ng có th đ a đ n tình tr ng trùng l p thông tin
+ Ph ng pháp phân tích thi t k MERISE (Methode pour Rassembler les Ideés
Sans Effort)
MERISE là vi t t t c a c m t ti ng Pháp t m d ch là “Ph ng pháp t p h p các ý
t ng không c n n l c” Ph ng pháp này ra đ i vào nh ng n m cu i c a th p niên 70
Xu t phát t nh ng suy ngh c a m t nhóm nghiên c u đ ng đ u b i J.L.Lemoigne t i
tr ng đ i h c Aix-En-Provence n c Pháp và nh ng nghiên c u hi n th c đ ng th i Trung tâm nghiên c u trang b k thu t (CETE), d i s lãnh đ o c a H.Tardien.Trong
s phát tri n nhanh chóng c a công ngh m i, MERISE còn đ c dùng đ đi u hành d
án không ch trong công s mà còn trong nhi u xí nghi p đ lo i khác nhau
N i dung c b n c a ph ng pháp phân tích thi t k Merise d a trên 3 ý t ng c b n
sau đây:
Hình thành – Phát tri n – Tri n khai – Thoái hóa Chu k s ng này có th kéo dài t 15
đ n 20 n m đ i v i các h th ng l n
Hai là, đ c p đ n chu k đ c tr ng c a h th ng thông tin, còn đ c g i là chu k tr u
t ng M i t ng đ c mô t d i d ng m t mô hình t p trung bao g m t p h p các thông
s chính xác Theo đó khi nh ng thông s c a t ng d i t ng tr ng, t ng đang mô t không bi n đ i và nó ch thay đ i khi các thông s c a mình thay đ i M i mô hình đ c
mô t thông qua m t hình th c d a trên các quy t c, nguyên lý t v ng và cú pháp quy
đ nh Có nh ng quy t c cho phép chuy n t mô hình này sang mô hình khác m t cách t
Trang 6Trên c s ba m c b t bi n c a h th ng thông tin, ph ng pháp phân tích thi t k Merise s d ng các mô hình t ng ng trên các m c này đ phân tích thi t k m t h
Hi n là m t trong nh ng ph ng pháp đ c dùng nhi u Pháp và Châu Âu khi ti n hành
phân tích các h th ng l n Nh c đi m c a ph ng pháp này là khá c ng k nh Do đó,
đ gi i quy t các ng d ng nh ph ng pháp này th ng làm kéo dài th i gian
Khái ni m bi u đ BFD đ c các nhà kinh t M đ a ra khi nghiên c u kinh t và
th ng m i D n d n bi u đ này đã đ c ng d ng trong r t nhi u l nh v c khác nhau không liên quan gì nhi u l m đ n th ng m i Nh ng đ tôn tr ng ý ngh a l ch s ng i
ta v n s d ng tên g i nh v y Bi u đ ch c n ng BFD c a h th ng ch ra cho chúng ta
bi t h th ng c n ph i làm gì ch không ch ra là ph i làm nh th nào đây chúng ta
ch a c n l u ý t i các ph ng ti n đ th c hi n các ch c n ng y nh ngu n nhân l c,
Trang 7máy móc, trang thi t b , v trí các tác nhân ho c nh ng ràng bu c Chúng ta c ng ch a
c n phân bi t ch c n ng hành chính v i ch c n ng qu n lý T t c các ch c n ng đó đ u quan tr ng và c n đ c x lý nh nhau nh m t ph n c a cùng m t c u trúc c a h th ng
M i ch c n ng c n có m t tên duy nh t, tên nên bi u th th t sát, đ y đ ý ngh a c a các
các ch c n ng c a th gi i th c ch không ch cho h th ng thông tin
Trang 8+ Phân rã kh i ch c n ng m c trên thành các ch c n ng nh h n m c d i, l n l t đánh s là m c 1, m c 2,
li u trong m t doanh nghi p H th ng g m 3 ch c n ng chính là:
Trang 9Báo cáo
NVL l u
Trang 10
m c 1, m c 2 vv
đ c dùng đ v ch ra biên gi i c a h th ng c ng nh đ phân tích viên h th ng xem xét m i tham s bên ngoài h th ng Chúng ta c ng có th dùng bi u đ này nh m c cao nh t có th đ c c a DFD, trong đó có th đ t t i bi u đ DFD m c 0 b ng cách phân rã ch c n ng quá trình trung tâm c a bi u đ ng c nh
Ký pháp dùng trong bi u đ ng c nh:
+ Toàn b h th ng đang nghiên c u:
+ Các tác nhân bên ngoài tham gia:
+ Các dòng thông tin đi vào và đi ra h th ng:
Tên tác nhân
Tên h
th ng
Trang 11Nh v y trong m i bi u đ ng c nh s có m t vòng tròn quá trình trung tâm bi u th cho toàn b h th ng đang nghiên c u Vòng tròn này đ c bao quanh b i các tác nhân bên ngoài c a h th ng đ c bi u di n b ng các hình ch nh t Các dòng thông tin đi vào
và đi ra kh i h th ng.t các tác nhân đ c bi u di n b ng các m i tên đ nh h ng đi vào
Vi ph m
Hình 4.5 Bi u đ ng c nh qu n lý nhân s
s bao g m: Thông tin v ng i lao đ ng, H p đ ng lao đ ng c a phòng T ch c hành chính, ánh giá c a phòng t ch c v ng i lao đ ng, Báo cáo tình hình qu c a phòng
TC - KT, Thông tin tìm ki m t Ban Giám đ c Thông tin đ u ra bao g m: B ng l ng
g i cho phòng TC-KT và Báo cáo th ng kê g i cho Ban Giám đ c
B ng 4.3 Tóm t t v bi u đ ng c nh CD
Trang 12Qui trình x
d ng
+ Bi u đ ng c nh: ch có tác nhân, m t ti n trình duy nh t mô t
c h th ng, các lu ng d li u gi a tác nhân và h th ng + Phát tri n lu ng d li u m c O xu t phát t bi u đ ng c nh và các y u t c a mô hình nghi p v
DFD (Data Flow Diagram)
tr giúp cho các ho t đ ng phân tích, thi t k , bi u di n h s trong qui trình s n xu t
ph n m m
d ng Trong công đo n thi t k DFD đ c dùng đ v ch k ho ch và minh h a các
ph ng án cho phân tích viên h th ng và ng i dùng khi thi t k h th ng m i Trong
công tài li u h th ng bi u đ DFD là công c đ n gi n, d hi u đ i v i phân tích viên h
Trang 13th ng và ng i dùng đ bi u di n tài li u phân tích h th ng m t cách đ y đ , súc tích và
ng n g n
Nh v y bi u đ DFD cung c p cho phân tích viên h th ng m t cái nhìn t ng th v
h th ng và c ch l u chuy n thông tin trong h th ng y Bi u đ DFD xác đ nh các thông tin luân chuy n t m t quá trình ho c t ch c n ng này trong h th ng sang m t quá trình ho c ch c n ng khác i u quan tr ng nh t là nó ch ra ph i có s n nh ng
thông tin nào tr c khi th c hi n m t ch c n ng hay m t quá trình nào đó
pháp c a DFD Ký pháp c a DFD bao g m b n ký hi u là: ngu n ho c đích, tên dòng d
li u, ti n trình x lý, kho d li u Các ký hi u này đ c bi u di n trong hình sau đây:
Trong bi u đ DFD hình tròn hay hình ôvan đ c dùng đ ch ra m t ch c n ng ho c
m t quá trình trong h th ng Vi c dùng ký hi u đ ng tròn ch là m t qui c, đ c k
th a t các ph ng pháp lu n d a trên quá trình tr c đây Nhi u ph ng pháp lu n hi n
đ i đã ch p nh n nh ng ký hi u khác cho m c đích này, ch ng h n nh dùng hình ch
nh t ho c hình vuông tròn mép, lý do chính cho vi c s d ng nh ng ký hi u này là đ d
gõ v n b n trong các h p rõ nét h n Ph ng pháp lu n trình bày đây v n gi ký hi u
đ ng tròn vì nó giúp làm s đ đ n gi n rõ ràng thân thi n v i ng i dùng Ch c n ng quan tr ng đ c mô t trong DFD là bi n đ i thông tin T c là nó ph i làm thay đ i thông tin t đ u vào theo m t cách nào đó, nh t ch c l i thông tin, b sung thông tin
Tên tác nhân
Tên ch c
n ng
Trang 14ho c t o ra thông tin m i N u trong m t quá trình DFD không có thông tin m i đ c sinh ra thì đó ch a ph i là quá trình trong DFD và các ho t đ ng trong quá trình đó c n
ph i g p vào các ho t đ ng c a quá trình bi n đ i thông tin th c s khác Tên đ c g n
h n " Nh n đ n đ t hàng", " Ghi phi u xu t v t li u" v.v
ch c n ng trong bi u đ ch c n ng BFD
+ Lu ng d li u
Lu ng d li u là vi c chuy n thông tin vào m t quá trình trong bi u đ DFD ho c đ a thông tin ra kh i m t quá trình Nó đ c ch ra trên s đ b ng m t đ ng k có m i tên
đ u M i tên ch ra h ng c a lu ng thông tin
nh t i u đó có ngh a là cùng m t dòng thông tin có th đi vào m t s quá trình khác nhau Tuy nhiên phân tích viên h th ng nên c n th n đ đ m b o r ng các dòng thông tin khác nhau đ c mang các tên khác nhau Nh ng thông tin nào đã tr i qua m t s thay
đ i thì nên đ c mang tên đã s a đ i đ bi u th rõ đi u đó Ch ng h n, hoá đ n đã duy t, hoá đ n đã thanh toán Thông th ng thông tin đ c luân chuy n nh các tài li u trên gi y hay tài li u đi n t trên máy tính Nh ng chính thông tin m i là cái quan tr ng
ch không ph i là v t mang tin nh gi y t , đ a t máy tính Các dòng d li u ph i ch ra
đ c thông tin logic t ng ng ch không ph i là tài li u v t lý M c đích c a chúng ta trong vi c xây d ng bi u đ dòng d li u DFD là đ th y đ c đ ng sau nh ng cái gì x y
ra trong h th ng hi n t i, làm rõ ràng nh ng ch c n ng và xác đ nh các thông tin c n thi t
+ Kho d li u
Các kho d li u trong m t DFD bi u di n các thông tin c n ph i l u gi trong m t kho ng th i gian đ m t ho c nhi u quá trình tác nhân truy nh p vào D i d ng v t lý, chúng có th là t p các tài li u đ c c t gi trong v n phòng ho c các t p máy tính đ c
l u trên máy tính đ c l u trên đ a t , trên c ng Nh ng đi u c n chú ý là các ph ng
ti n v t lý không ph i là v n đ chúng ta quan tâm Cái mà chúng ta quan tâm nh t chính
là thông tin ch a trong nó
Ký hi u đ c dùng bi u di n kho d li u trong DFD là c p đ ng th ng song song,
ch a tên c a thông tin đ c c t gi Có th đ t nhi u kho d li u trên m t trang c a DFD
đ làm cho s đ th t d đ c Khi kho d li u đ c truy nh p ho c c p nh t thì s có các
Trang 15dòng d li u ch ra s ki n này Tuy nhiên l i ph i nh n m nh m t l n n a là vi c ghi l i
s chuy n đ ng thông tin ch không ph i là vi c chuy n đ ng v t lý c a các tài li u này
Kh n ng th ba có th xu t hi n là kho d li u đ c truy nh p vào và thông tin c a
nó đ c dùng đ xây d ng m t dòng d li u khác ng th i, b n thân kho d li u c ng
c n có s s a đ i Trong tr ng h p này chúng ta có th v m t dòng d li u nh ng v i
m i tên hai đ u M t ví d cho tình hu ng này là vi c ki m tra tính h p l c a hóa đ n
Ta c n ph i ki m tra kho hoá đ n đ xem li u hóa đ n có tho mãn hay không, và có th
s a đ i các chi ti t c p phát kho Chúng ta nên g n tên cho các dòng d li u ngo i tr dòng ra kh i kho d li u, t c là t kho d li u đi ra
Ngu n ho c đích trong mô hình DFD đ c bi u di n b ng m t hình ch nh t bên
trong có ghi tên c a ngu n ho c đích Ví d : Khách hàng, Nhà cung c p, Phòng qu n tr nhân l c Ví d DFD c a qui trình th m đ nh kho n v n vay đ c bi u di n trong hình v sau đây:
1.0
Qu n lý danh m c
3.0
Th m đ nh
h s cho vay
4.0
L p báo cáo
2.0
Qu n lý tài li u
5.0 Tìm ki m
D li u
h s cho vay , v n
D li u ph c v tìm
ki m
Hình 4.6 Bi u đ ch c n ng DFD th m đ nh cho vay t i Ngân hàng
Trang 16+ Phân rã bi u đ dòng d li u
Bi u đ dòng d li u DFD đ y đ c a h th ng đang nghiên c u thông th ng là r t
ph c t p, bao g m nhi u quá trình, nhi u kho d li u, nhi u ngu n và đích Bi u đ này không th bi u di n g n trong m t trang đ c, cho nên ta c n dùng t i các k thu t phân
rã (Explosion) theo th b c đ phân chia bi u đ DFD ban đ u ra m t s m c Bi u đ DFD m c cao nh t th ng đ c g i là bi u đ m c 0 hay m c đ nh, bao g m nhi u quá trình chính, tr ng y u nh t bên trong h th ng N i dung c a m i quá trình này l i có
th đ c bi u di n trong m t bi u đ DFD m c th p h n, trong đó xác đ nh các quá
trình con và các d li u c n thi t Ti p theo, m i quá trình con đ n l t nó l i đ c bi u
di n trong m t DFD m c th p h n n a Quá trình phân rã nh v y có th ti p t c qua
đ s m c c n thi t theo c u trúc hình cây
Nh v y khi s d ng ph ng pháp phân rã bi u đ lu ng d li u DFD m c đ nh
chúng ta thu đ c nhi u m c DFD khác nhau T m c t ng quát nh t đ n các m c ngày càng chi ti t h n i u này c ng t ng t nh b n v thi t k m t toà nhà c a m t ki n trúc s M c t ng quát đ u tiên là ph i c nh hình nh c a ngôi nhà t ng lai Sau đó
đ c phân m c thành b n v thi t k t ng t ng B c phân m c sau đó là trong m i t ng
đ c phân m c thành các b n v thi t k chi ti t h n nh thi t k sàn, thi t k d m ch u
l c
Trong quá trình phân rã DFD chúng ta c n ph i cho m i trang c a bi u đ DFD m t tiêu đ riêng Trong tr ng h p s đ m c 0, tiêu đ s là tên c a toàn b h th ng, và tiêu đ cho t ng m c th p h n s mang tên c a quá trình đang tri n khai Trong cách ti p
c n này, m i quá trình bi u đ m c đ nh đ u đ c g n v i m t con s c th , và s
đ c mang ti p theo v i các ch s ch m c ph thu c, xem nh m t cách đ t tên theo con s cho t ng quá trình con c a nó
Trang 17m t lo t các quá trình con trên trang m i thì phân tích viên ph i ki m tra xem t t c các dòng thông tin vào và thông tin ra t các quá trình dó có t ng thích v i nhau không Trong khi th c hi n qui trình ki m tra này ph i luôn luôn chú ý r ng đôi khi dòng thông tin m c cao h n có th đ c t ng quát hóa và có th đ c bi u th m c th p h n b i nhi u dòng thông tin khác nhau Ch ng h n, trong bi u đ DFD m c 0 có dòng thông
tin là “Ti m n ng vào " Nh ng khi phân rã thành m c con thì ta l i có th có các dòng
thông tin nh "Ti m n ng nhân l c", "Ti m n ng tài chính", "Ti m n ng công ngh "
Vi c phân rã đ i v i kho d li u trong s đ DFD t ng đ i đ c bi t Kho d li u
đ c bi u di n t i m c mà chúng c n t i cho nhi u quá trình N u m i quá trình truy
nh p vào kho d li u đ u n m trong m t quá trình, thì chúng ta không c n ph i phân m c kho d li u đó trên bi u đ DFD, tr tr ng h p quá trình là m t ch c n ng s c p
C ng c n ph i nói ngay r ng bi u đ dòng d li u DFD c ng ch a th phân tích h
th ng thông tin m t cách hoàn h o Bi u đ DFD là bi u đ t nh nên đ ng nhiên nó không bao hàm đ c các tham s th i gian Ch ng h n, DFD không ch ra đ c các y u
t th i gian nh các dòng thông tin luân chuy n t quá trình này sang quá trình khác m t
bao lâu
+ M t s chú ý trong bi u đ lu ng d li u:
trích t kho ch m t ph n thông tin kho, ng i ta m i dùng tên cho lu ng d li u
- Vì lí do trình bày nên tác nhân ngoài, tác nhân trong và kho d li u s d ng nhi u l n
vào là kho “r ng”
Trang 18- Trong bi u đ lu ng d li u nên có tác nhân ngoài vì tác nhân ngoài là ph n s ng còn
c a h th ng, chúng là ngu n cung c p thông tin cho h th ng c ng nh chúng nh n s n
d li u ra + Không có lu ng d li u vòng (quay l i n i nó đã đi ra) + Không có lu ng d li u gi a khoa d li u và kho d li u; kho d
li u và tác nhân; tác nhân và tác nhân
Qui trình x
d ng
+ Phát tri n lu ng d li u m c O xu t phát t bi u đ ng c nh và các y u t c a mô hình nghi p v
+ Thay ti n trình duy nh t b ng các ti n trình con
các lu ng d li u vào các ti n trình con t ng ng + Thêm các kho d li u, các lu ng d li u gi a kho và ti n trình;
ti n trình và ti n trình + Phát tri n các DFD m c 1, m c 2, m c 3 vv…
Trang 194.5 BÁO CÁO PHÂN TÍCH H NG CH C N NG
So n th o báo cáo phân tích h th ng là công đo n cu i cùng c a giai đo n phân tích thông tin Trong b n báo cáo này v n đ chính ph i đ c trình bày m t cách trung th c, các thông tin g c ph i có c s , ho c thu đ c t các cu c ph ng v n ho c t nh ng bài
vi t N i dung thông tin ph i h p lý, đúng đ n và hoàn ch nh Ng i vi t ph i bi t chính xác v d án và ch u trách nhi m đ m b o báo cáo đó th c s khách quan C hai m t c a
v n đ c n đ c nh n m nh và lo i tr nh ng thành ki n cá nhân M c đích c a báo cáo
N i dung báo cáo
Trang 20Tóm l i, phân tích h th ng trong k ngh ph n m m là m t qui trình r t quan tr ng
Nó là c s là n n t ng c a qui trình thi t k ph n m m N i dung c a phân tích h th ng
Chia nh đ hi u rõ v n đ và h p nh t đ xây d ng h th ng Ti n trình chia nh
(tách) đã có truy n th ng và tuân th các tiêu chí ch c n ng Các ch c n ng c a h th ng
đ c nh n di n, sau đó chúng đ c tách thành các ch c n ng con Ti n trình này đ c
th c hi n l p đi l p l i cho đ n khi có đ c các thành ph n đ n gi n đ n m c chúng
đ c bi u di n tr c ti p b ng các hàm hay th t c c a ngôn ng l p trình Cách ti p c n này đ c g i là ti p c n h ng ch c n ng (hay còn g i là th t c, truy n th ng) Ng i