1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Kỹ nghệ phần mềm 3

46 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo trình Kỹ nghệ phần mềm 3
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Kỹ nghệ phần mềm
Thể loại Giáo trình
Thành phố Hà Nội
Định dạng
Số trang 46
Dung lượng 418,04 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giáo trình Kỹ nghệ phần mềm Giáo trình Kỹ nghệ phần mềm 78 CHƯƠNG 3 NỀN TẢNG THIẾT KẾ PHẦN MỀM 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 được vai trò.

Trang 1

C H NG 3

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 đ c vai trò quan tr ng c a công đo n thi t k trong KNPM

- Hi u rõ các v n đ lý lu n c b n làm n n t ng cho quá trình thi t k

- Bi t v n d ng các ki n th c v mô đun hóa, tr u t ng hóa, ký pháp l u đ khi thi t k ph n m m

Tóm l c n i dung

Công đo n thi t k có vai trò đ c bi t quan tr ng trong KNPM Ch ng này trình bày các v n đ lý lu n c b n v thi t k ph n m m Tr c h t chúng tôi trình bày vai trò c a thi t k theo quan đi m c a Roger Pressman và các tiêu chu n thi t k Sau đó trình bày các chi n l c và ph ng pháp thi t k ch y u (thi t k h ng ch c n ng, thi t k

h ng đ i t ng, thi t k h ng th i gian th c) và 2 ph ng pháp thi t k c a tr ng phái h ng ch c n ng là thi t k t trên xu ng Top Down Design và thi t k t d i lên Bottom Up Design Chúng tôi c ng trình bày các v n đ lý lu n c b n trong thi t k

ph n m m nh tr u t ng hóa, che d u thông tin, đ c l p ch c n ng, tính k t dính, s ghép n i Cu i cùng là v ngôn ng thi t k PDL (Program Design Language)

Trang 2

d ng nhi u k thu t và nguyên lý v i m c đích xác đ nh ra m t thi t b , m t ti n trình hay

m t h th ng đ chi ti t đ cho phép th c hi n nó v m t v t lý."[7]

M c tiêu c a qui trình thi t k là t o ra m t mô hình hay s bi u di n c a m t th c th

s đ c xây d ng Ti n trình phát tri n mô hình này là k t qu c a t h p tr c giác và s đánh giá d a trên kinh nghi m trong vi c xây d ng các th c th t ng t Thi t k ph n

m m máy tính, gi ng nh cách ti p c n thi t k công ngh trong các l nh v c khác, liên

t c thay đ i khi xu t hi n các ph ng pháp m i, các qui trình phân tích t t h n và hi u

bi t r ng l n Không gi ng nh qui trình thi t k trong ngành c khí hay ngành đi n t , thi t k ph n m m đã hình thành ngay giai đo n t ng đ i s m trong s ti n hóa c a

nó Chúng ta đã có ý t ng v thi t k ph n m m đã h n ba th p k nay Do đó, ph ng pháp lu n thi t k ph n m m th ng là thi u s m m d o, mang ít nhi u b n ch t đ nh tính thông th ng g n bó v i nhi u b môn thi t k k ngh c đi n

T m quan tr ng c a qui trình thi t k ph n m m có th đ c phát bi u b ng m t t

ch t l ng ph n m m Qui trình thi t k cung c p cho chúng ta cách bi u di n ph n m m

có th đ c xác nh n v ch t l ng Thi t k là cách duy nh t mà chúng ta có th d ch

m t cách chính xác nh t các yêu c u c a khách hàng thành s n ph m ph n m m cu i cùng N u không có thi t k , chúng ta có nguy c t o d ng nên m t h th ng không n

đ nh, m t h th ng s th t b i khi ch có m t thay đ i nh s y ra; m t h th ng không th nào ki m th đ c; m t h th ng không th nào xác nh n đ c ch t l ng ch ng nào

ch a đ n cu i ti n trình ki m th trong khi th i gian còn r t ng n và r t nhi u ti n đã

ph i chi ra

Tóm l i, thi t k ph n m m là m t ti n trình qua đó các yêu c u c a ng i s d ng

đ c d ch thành m t s n ph m ph n m m ng d ng Trong toàn b ti n trình thi t k ,

ch t l ng c a thi t k ti n hóa đ c kh ng đ nh b ng m t lo t các cu c h p xét duy t k thu t chính th c đánh giá ch t l ng c a m t bi u di n thi t k , chúng ta ph i thi t

l p các tiêu chu n cho thi t k

Th nh t, thi t k theo các mô đun, t c là ph n m m s đ c phân ho ch m t cách logic

thành các thành ph n th c hi n nh ng ch c n ng con xác đ nh

Th hai, thi t k nên bi u di n phân bi t và tách bi t gi a d li u và th t c

Th ba, thi t k nên h ng t i các giao di n làm rút g n đ ph c t p c a vi c n i ghép

gi a các mô đun v i môi tr ng bên ngoài

Th t , thi t k nên dùng ph ng pháp l p l i đ c đi u khi n b i thông tin có trong tài

li u phân tích các yêu c u ph n m m

Trang 3

Các đ c tr ng c a m t h s thi t k có ch t l ng không th có đ c nh s may

m n Ti n trình thi t k trong k ngh ph n m m ph i đ c th c hi n thông qua vi c áp

d ng các nguyên lý thi t k c b n, các ph ng pháp lu n h th ng và vi c xét duy t

th u đáo các qui trình

Nh v y, thi t k ph n m m là m t ti n trình qua đó các yêu c u c a ng i s d ng

đ c d ch thành m t s n ph m ph n m m ng d ng ây là công đo n có vai trò đ c bi t quan tr ng trong k ngh ph n m m

3.2 CHI N L C THI T K PH N M M

Có nhi u chi n l c thi t k ph n m m theo các ph ng pháp ti p c n khác nhau Hai chi n l c thi t k đang đ c s d ng r ng rãi và mang l i hi u qu tích c c là thi t k h ng ch c n ng và thi t k h ng đ i t ng

Thi t k h ng ch c n ng là m t cách ti p c n thi t k ph n m m trong đó b n thi t k

đ c phân gi i thành m t b các mô-đun tác đ ng l n nhau, m i mô-đun có m t ch c

n ng đ c xác đ nh rõ ràng ây là m t ph ng pháp thi t k c đi n trong đó ng i ta dùng các bi u đ dòng d li u mô t vi c x lý d li u logic, các l c đ c u trúc đ ch

Trong cách ti p c n này, h th ng đ c nhìn nh n nh m t b các đ i t ng phân tán,

m i đ i t ng có nh ng thông tin tr ng thái riêng c a nó Thi t k h ng đ i t ng d a trên vi c che d u thông tin do d li u dùng chung b lo i b Các đ i t ng liên l c v i nhau b ng cách trao đ i thông báo Các đ i t ng là các th c th đ c l p, s n sàng thay

đ i mà không nh h ng t i các đ i t ng khác Các đ i t ng có th phân tán và hành

đ ng tu n t ho c song song

u đi m c a cách ti p c n h ng đ i t ng:

Trang 4

Trong cách ti p c n này, các k s ph n m m c n mô t các đ u vào và đ u ra c u trúc

d li u và sau đó phát tri n c u trúc đi u khi n c a ch ng trình d a trên các s đ c u trúc d li u

Trong cách ti p c n này m i thành ph n c a ph n m m là m t đ n v đ c l p, có giao

di n và có th đ c tri n khai m t cách đ c l p Chi n l c thi t k h ng thành ph n

d a trên các v n đ liên quan đ n vi c cung c p, phát tri n, và tích h p các thành ph n

nh v y đ c i thi n, tái s d ng M t ph n m m tái s d ng nh ng thành ph n khác hay

s d ng ph n m m đã đ c xây d ng s n ph i đáp ng các yêu c u b o m t t ng t nh

ph n m m m i

Ngoài các h ng thi t k trên còn nhi u h ng thi t k khác c ng đang đ c áp d ng

hi n nay và mang l i nh ng hi u qu nh t đ nh G n đây xu t hi n m t ki n trúc ph n

m m m i đ c k v ng là chìa khóa gi i quy t v n đ "đ n gi n hóa" ph n m m là SOA (Service-Oriented Architecture) - ki n trúc h ng d ch v SOA là t p h p các d ch v

k t n i “m m d o” v i nhau, có giao ti p đ c đ nh ngh a rõ ràng và đ c l p v i n n t ng

h th ng, có th tái s d ng SOA là c p đ cao h n c a phát tri n ng d ng, chú tr ng

đ n quy trình nghi p v và dùng giao ti p chu n đ giúp che đi s ph c t p k thu t bên

d i Nói cách khác, SOA là:

+ M t ki u ki n trúc ph n m m g m nhi u thành ph n đ c l p đ c th hi n thành nh ng

d ch v (service), m i d ch v th c hi n m t quy trình nghi p v nào đó c a doanh nghi p

+ Các thành ph n đ c n i k t qua c ng giao ti p, có tính k th a các thành ph n đang

t n t i, và s t ng tác gi a chúng không c n quan tâm đ n vi c chúng đ c phát tri n trên n n t ng công ngh nào i u này khi n h th ng có th m r ng và tích h p m t

Trang 5

cách d dàng SOA giúp tái s d ng ph n m m, linh ho t khi m r ng, k t n i và tích

h p

Nh v y m i chi n l c thi t k ph n m m đ u d a trên cách nhìn nh n tr c quan và

m t b ký pháp duy nh t đ bi u di n quá trình này Tuy nhiên c n nh r ng không có

m t cách ti p c n nào là t t nh t cho m i d án ph n m m Ng i k s ph n m m ph i

bi t l a ch n cách ti p c n thích h p nh t cho m i d án và m i giai đo n thi t k

3.3 CÁC PH NG PHÁP THI T K

3.3.1 Ph ng pháp thi t k t trên xu ng (Top Down Design)

Theo ph ng pháp này, tr c h t ng i ta xác đ nh mô đun t ng quát nh t mà bài toán yêu c u gi i quy t Sau đó ti n hành phân rã các mô đun thành các ni m v c th

h n, t c là chuy n d n t môdule chính đ n các môdun con t trên xu ng d i, do v y

ph ng pháp có tên g i là thi t k "t trên xu ng"

minh ho cho ph ng pháp này, chúng ta xét bài toán thi t k h th ng qu n lý m t trung tâm th ng m i

Trang 6

+ Phác th o 3:

+ Phác th o 4:

Qu n lý nhân l c

L p k ho ch ngu n nhân l c Qu n lý h s Qu n lý l ng

Trang 7

+ Phác th o 5: Tích h p h th ng

Hình 3.1 Mô hình thi t k t đ nh xu ng

Ý t ng c a ph ng pháp thi t k này ng c l i v i ph ng pháp Top down design

Tr c h t ng i ta ti n hành gi i quy t các v n đ c th , sau đó trên c s đánh giá m c

đ t ng t v ch c n ng c a các v n đ này trong vi c gi i quy t bài toán ng i ta g p chúng l i thành t ng nhóm cùng ch c n ng t d i lên trên cho đ n mô đun chính Sau

đó s thi t k thêm m t s ch ng trình làm phong phú h n, đ y đ h n ch c n ng c a các phân h và cu i cùng là tích h p các môđun thành m t h th ng th ng nh t, hoàn

Trang 8

Trong m t doanh nghi p, vi c ng d ng tin h c trong qu n lý đã đ c tri n khai các

b ph n khác nhau và trong t ng th i đi m khác nhau K t qu là ng i ta đã thi t k và

đ a vào s d ng m t s ch ng trình qu n lý trong các phòng ban (Phòng tài v , Phòng

Prog 6: L p k ho ch cung ng nguyên v t li u

Các ch ng trình này đã đ c ng d ng có k t qu trong s n xu t kinh doanh và đã

đ c th c t ki m nghi m Bây gi trên c s các ch ng trình c th này Lãnh đ o nhà máy có nhu c u thi t k m t h ch ng trình th ng nh t ph c v t t h n cho vi c qu n

lý doanh nghi p Trong tr ng h p này chúng ta v n d ng ph ng pháp thi t k t d i lên theo các phác th o sau đây:

Phác th o th nh t: G p các môđun 1, 4 thành phân h qu n lý nhân l c

Phác th o th hai: G p các môđun 2, 5 thành ch c n ng qu n lý tài chính

Phác th o th ba: G p các môđun 3, 6 thành ch c n ng qu n lý s n xu t

Trên c s ch c n ng c a các phân h qu n lý trên đây, chúng ta có th ti n hành thi t k thêm m t s ch ng trình khác làm phong phú thêm các v n đ mà h th ng đang qu n lý:

+ Prog 7: Qu n lý các ngu n v n

+ Prog 8: Qu n lý đào t o nhân l c

+ Prog 9: L p k ho ch tác nghi p

Các ch ng trình đ c thi t k b sung ph i đ m b o đ c yêu c u phù h p v m t

ch c n ng v i các ch ng trình đã đ c thi t k và cài đ t tr c đây, đ ng th i ph i có

s t ng thích v i các ch ng trình đã đ c ki m nghi m trong th c ti n Trong ví d trên đây chúng ta có th thi t k thêm nhi u ch ng trình trong m i phân h làm cho kh

n ng c a các phân h ngày càng đa d ng, gi i quy t đ c ngày càng hi u qu các v n đ

mà th c t qu n lý c a doanh nghi p đ t ra

Cu i cùng ti n hành tích h p thành m t h th ng th ng nh t qu n lý doanh nghi p

d i d ng mô hình sau đây:

Trang 9

Hình 3.2 Mô hình thi t k t d i lên

3.4 C S LÝ LU N THI T K PH N M M

Dù cho có nhi u cách ti p c n thi t k khác nhau nh ng m i chi n l c và ph ng pháp thi t k đ u ph i d a trên m t s v n đ lý lu n sau đây:

3.4.1 T r u t ng

Tr u t ng là m t quá trình t duy t nhiên c a con ng i khi tìm cách nh n th c m t

v n đ nào đó Có th xem tr u t ng là s hình thành khái ni m v s v t hay hi n

t ng b ng cách t p trung vào các đ c tr ng c n thi t nh t và lo i b các chi ti t c th không c n thi t

Khi thi t k ph n m m, các đ i t ng trong bài toán nghiên c u có r t nhi u thu c tính khác nhau Chúng ta không th ánh x toàn b vào trong thi t k mà ch mang vào các thu c tính c n thi t đ c tr ng nh t mà thôi K t qu c a quá trình tr u t ng hóa này là các mô hình nh mô hình d li u, mô hình lu ng đi u khi n, mô hình các giao di n

Qu n lý đào t o

và s d ng nhân

l c

Trang 10

Ch ng h n khi thi t k phàn m m qu n lý sinh viên chúng ta có th tr u t ng hóa khái

ni m sinh viên trong th c t thành mô hình sinh viên v i các thu c tính nh h tên, ngày tháng n m sinh, l p, khoa, đi m thi…vv mà b qua các thu c tính nh chi u cao, cân

M i b c trong ti n trình k ngh ph n m m đ u là s làm m n cho m t m c tr u

t ng c a gi i pháp ph n m m Trong k ngh h th ng, ph n m m đ c dùng nh m t

ph n t c a h th ng d a trên máy tính Trong phân tích các yêu c u ph n m m, gi i pháp ph n m m đ c phát bi u d i d ng "đó là cái quen thu c trong môi tr ng v n

đ " [7] Khi chúng ta chuy n t thi t k s b sang thi t k chi ti t thì m c đ tr u t ng

đ c rút l i Cu i cung, ta đi t i m c tr u t ng th p nh t khi sinh ra ch ng trình g c Khi chúng ta chuy n qua các m c tr u t ng khác nhau, chúng ta làm vi c đ t o ra các tr u t ng th t c và d li u Tr u t ng d li u là m t t p h p các d li u có tên

mô t cho m t s v t d li u Thí d v tr u t ng d li u là "séc thanh toán" i t ng

d li u này th c ch t là m t t p h p nhi u m u thông tin khác nhau (nh tên ng i thanh toán, s ti n thanh toán, ti n thu , v.v ) Nh v y chúng ta có th tham kh o t i m i d

li u b ng cách nói tên c a tr u t ng d li u

3.4.2 L àm m n

xu t Ki n trúc c a m t ch ng trình đ c phát tri n b ng các m c làm m n liên ti p các chi ti t th t c M t c p b c đ c xây d ng nên b ng cách phân tích m t phát bi u v mô

v ch c n ng (tr u t ng th t c) theo ki u t ng b c cho t i khi đ t t i phát bi u ngôn

ng l p trình

Trong m i b c (làm m n), m t hay nhi u câu l nh c a ch ng trình s đ c phân rã thành nh ng câu l nh chi ti t h n Vi c phân rã hay làm m n lên ti p các đ c t này k t thúc khi t t c các l nh đã đ c di n đ t d i d ng b t k ngôn ng l p trình hay ngôn

ng máy tính n n t ng nào Khi các nhi m v đã đ c làm m n thì d li u c ng ph i

Trang 11

đ c làm m n, đ c phân rã hay đ c c u trúc l i i u t nhiên là theo đó s ti n hành làm m n các đ c t ch ng trình và d li u

M i b c làm m n đ u kéo theo nh ng quy t đ nh thi t k nào đó i u quan tr ng là

ng i l p trình c n nh n bi t v các tiêu chu n n n t ng (cho quy t đ nh thi t k ) và v

s t n t i c a các gi i pháp khác

Ti n trình làm m n trong thi t k mô đun c ng t ng t v i ti n trình làm m n và phân

ho ch đ c dùng trong phân tích yêu c u S khác bi t ch m c đ chi ti t đ c xét t i,

ch không ph i cách ti p c n

Làm m n th c t i là m t ti n trình kh i th o Chúng ta b t đ u v i m t phát bi u v

ch c n ng (hay mô t thông tin) đ c xác đ nh nh m c tr u t ng cao T c là, phát bi u

mô t ch c n ng hay thông tin v m t quan ni m, nh ng không đ a ra thông tin v cách làm vi c n i b c a ch c n ng hay c u trúc n i b c a thông tin đó Vi c làm m n yêu

c u ng i thi t k ph i kh i th o phát bi u nguyên g c, đ a ra ngày càng nhi u chi ti t khi các b c công vi c làm m n (kh i th o) k ti p xu t hi n

b c x lý mà v b n ch t có trong đ c t c a b t k thu t toán nào K t c u đi u ki n

đ a ra công c cho vi c x lý có ch n l a d a trên c s ki m tra m t đi u ki n lôgic

K t c u l p thì đ a ra công c cho vi c l p l i m t quá trình tính toán nào đó Ba k t c u

này là n n t ng cho l p trình có c u trúc - m t k thu t thi t k quan tr ng trong m t l nh

v c r ng h n g i là k ngh ph n m m

L p trình có c u trúc đã đ c s d ng r ng rãi trong vi c gi i quy t các bài toán thu c nhi u l nh v c khác nhau Xem xét trên góc đ ph c t p c a ch ng trình ch ra r ng vi c dùng các k t c u có c u trúc làm gi m đ ph c t p ch ng trình và do đó nâng cao tính

d đ c, d ki m th và d b o trì Vi c s d ng m t s có gi i h n nh ng k t c u lôgic

c ng làm cho ti n trình đ c hi u c a con ng i tr nên d dàng h n mà các nhà tâm lý

Trang 12

g i là theo c m hi u ti n trình này, chúng ta hãy xem xét cách th c đ c m t trang tài

li u Chúng ta không đ c riêng r t ng t ; thay vì th , chúng ta nh n ra các m u hay các

c m ch t o nên t hay các câu trong tài li u Các k t c u có c u trúc chính là các c m

lôgic cho phép đ c gi nh n ra các y u t th t c c a m t mô đun, thay vì đ c thi t k hay ch ng trình t ng dòng m t Vi c hi u bi t đ c nâng cao khi ta g p các d ng lôgic

d nh n ra

B t k ch ng trình nào, b t k mi n ng d ng hay đ ph c t p k thu t nào, đ u có

th đ c thi t k và cài đ t b ng cách ch dùng các k t c u c b n nêu trên Tuy nhiên

c n ph i l u ý r ng cách s d ng m t cách không h p lý nh ng k t c u này đôi khi có th gây ra nh ng khó kh n th c hành Trong công k ph n m m có m t khái ni m r t c b n

là khái ni m mô đun M i mô đun có th coi nh m t đ n th ch ng trình đ c l p có th

l p ghép v i nhau T t ng chính c a ph ng pháp mô đun hoá là phân chia bài toán

l n thành các bài toán nh h n, ngày càng c th và chi ti t h n theo s đ c u trúc hình cây trong hình v 3.3 sau đây

N u ta coi bài toán chính là mô đun b c 1 thì mô đun này l i đ c phân chia thành các mô đun b c 2, b c 3 vv… theo c u trúc hình cây

mô đun P2 đ c chia thành P21, P22 và P23 Mô đun con P3 l i đ c phân chia ra ba

mô đun P131, P132, P133 M i mô đun gi i quy t m t v n đ nh riêng r , đ c l p v i các mô đun khác và do m t l p trình viên đ m nh n

P

Trang 13

Khái ni m v tính mô đun trong ph n m m máy tính đã tr thành m t trào l u c b n

g n b n th p k nay Ki n trúc ph n m m minh ho c th hóa cho tính mô đun này Trong ki n trúc ph n m m, ph n m m đ c chia thành các thành ph n nh có tên g i

riêng bi t và đ nh v đ a ch , đ c g i là các mô đun, đ c tích h p đ gi i quy t m t bài

toán nào đó

Roger Pressman [7] đã t ng phát bi u r ng "tính mô đun là m t thu c tính riêng c a

ph n m m, nó cho phép m t ch ng trình tr nên qu n lý đ c theo cách thông minh"

Ng i ta không th nào hi u đ c m t cách th u đáo m t ph n m m nguyên kh i (nh

m t ch ng trình l n ch g m m t mô đun) S các đ ng d n, ph m vi tham kh o, s các bi n, và đ ph c t p t ng th s làm cho vi c hi u th u đáo nó tr thành nên th nào

Xem nh m t tr ng h p t ng quát, k t qu này là hi n nhiên v tr c giác

M t đ c tr ng đáng quan tâm khác đã đ c đ l ra qua th c nghi m trong vi c gi i

E(p 1 + p2 ) > E(p 1 ) + E(p 2 ) (4)

i u này d n đ n k t lu n "chia đ tr ": t c là chúng ta s d dàng h n khi gi i quy t

Trang 14

Hình 3.4 th m i liên h gi a s mô đun và chi phí [7]

Chú ý t i hình v 3.4 trên đây v chi phí đ phát tri n các mô đun ph n m m riêng l chúng ta th y chi phí không gi m đi khi t ng s các mô đun t ng lên V i cùng m t t p

h p các yêu c u, khi chia nh thành nhi u mô đun h n có ngh a là kích c t ng mô đun

s nh h n Tuy nhiên, khi s các mô đun t ng lên thì chi phí liên k t v i vi c làm giao

di n cho các mô đun c ng t ng lên theo

Gi s r ng khi phân chia thành M mô đun thì s yêu c u m t m c chi phí phát tri n

t i thi u Tuy nhiên chúng ta c ng không có đ d li u c n thi t đ d ki n mi n chi phí

t i thi u M v i s đ m b o ch c ch n

ng cong đ c v trong hình 3.4 c ng đ a ra nh ng thông tin có ích khi chúng ta xem xét tính mô đun c a ph n m m ó là m t m t, chúng ta ph i ti n hành mô đun hóa,

nh ng m t khác c ng ph i chú ý đ duy trì trong vùng lân c n c a M Mô đun hóa còn

ch a đ hay mô đun hóa quá m c đ u là nh ng tr ng h p nên tránh Nh ng làm sao đ

có th bi t đ c m t cách chính xác "vùng lân c n c a M"? Chúng ta nên ti n hành phân chia các mô đun ph n m m đ n đâu là h p lý? Trong th c ti n thi t k ph n m m, câu

h i này đ c gi i quy t cho t ng bài toán c th ch không th đ a ra m t công th c

t ng quát cho m i bài toán

Chi phí hay

Chi phí cho

giao di n

Mi n chi phí t i thi u

M

Trang 15

Nh v y, sau khi c u trúc h th ng đã đ c l a ch n, chúng ta c n ph i xác đ nh

ph ng pháp phân rã h th ng con thành các mô đun H th ng con là m t h th ng có

th v n hành m t cách đ c l p, có th s d ng m t s d ch v đ c cung c p b i các h

th ng con khác ho c cung c p d ch v cho các h th ng con khác Mô đun là m t thành

ph n h th ng cung c p các d ch v cho các thành ph n khác, nh ng nó th ng không

đ c coi nh là m t h th ng riêng r , đ c l p

Có hai ph ng pháp đ phân chia các h th ng thành các mô đun:

- Ph ng pháp h ng đ i t ng: h th ng đ c phân chia thành các đ i t ng t ng tác

v i nhau

- Ph ng pháp h ng ch c n ng: h th ng đ c phân chia thành các mô đun ch c n ng

ch u trách nhi m chuy n đ i thông tin đ u vào thành k t qu đ u ra

"Gi i pháp" ph n m m

Trang 16

Chúng ta có các ki n trúc sau đây:

Hình 3.6 S đ thi t k các c u trúc khác bi t

Trên hình v ta th y r ng m t v n đ có th đ c tho mãn b i nhi u c u trúc khác nhau

Ki n trúc ph n m m đ c mô t d ng các mô hình khác nhau nh sau [5]:

+ Mô hình kho d li u (Repository model): Trong mô hình này t t c các d li u đ c l u

tr t i m t CSDL trung tâm sao cho t t c các h con đ u có th truy c p đ c

B d ch thi t

k

B phân tích thi t k

Trang 17

+ Mô hình Khách / ch (client/Server model): ây là mô hình h th ng phân tán trong đó

d li u và x lý đ c phân b trên các máy khác nhau Thành ph n chính c a mô hình bao g m các máy ch cung c p d ch v , các máy khách s d ng d ch v , m ng liên k t giúp các máy khách truy c p đ c v i máy ch

Hình 3.9 Mô hình đi u khi n g i- tr l i

Server 1: Danh m c Server 2: Video

M ng b ng thông r ng

Ch ng

trình con 1.2

Ch ng

trình con 2.1

Ch ng

trình con 2.2

Ch ng

trình con 3.1

Ch ng

trình con 3.2

Trang 18

+ Mô hình đi u khi n ng t (dùng cho h th ng th i gian th c):

Hình 3.10 Mô hình x lý ng t

3.4.5 C p b c đi u khi n

(th ng theo c p b c) c a các thành ph n ch ng trình (mô đun) và bao g m c m t c p b c

đi u khi n Nó không bi u th các khía c nh th t c c a ph n m m nh dãy các x lý, s

xu t hi n/th t các quy t đ nh hay vi c l p l i các thao tác

Ng i ta dùng các ký pháp khác nhau đ bi u di n cho c p b c đi u khi n Thông d ng

nh t là bi u đ hình cây nh v trong hình 3.11 thu n ti n cho các th o lu n sau đây

v c u trúc, chúng ta đ nh ngh a m t vài thu t ng và ph ng cách đ n gi n Tham kh o Hình 3.11 đ sâu và chi u r ng đ a ra m t ch báo v s m c đi u khi n và đ tr i r ng

toàn b c a đi u khi n t ng ng S mô đun ra là m t đ đo đo s các mô đun tr c ti p

b đi u khi n b i m t mô đun khác S mô đun vào ch ra cách th c mô đun tr c ti p đi u

khi n m t mô đun đã cho

Trang 19

Hình 3.11 Mô hình c p b c đi u khi n

M i quan h đi u khi n gi a các mô đun đ c di n t theo cách sau: m t mô đun

đi u khi n m t mô đun khác thì đ c g i là th ng c p c a nó, và ng c l i, m t mô đun

b m t mô đun khác đi u khi n thì đ c g i là thu c c p c a n i đi u khi n Ch ng h n, tham kh o t i hình 3.11 mô đun A là th ng c p c a các mô đun B,C và D Mô đun B1

là thu c c p c a n i đi u khi n mô dun B M i quan h theo chi u r ng (t c là gi a các

mô đun B1 và D3), m c d u có th di n t trong th c t nh ng không nh t thi t ph i

đ c xác đ nh b ng thu t ng t ng minh

C p b c đi u khi n c ng bi u di n cho hai đ c tr ng khác nhau c a ki n trúc ph n

m m: tính th y đ c và tính n i đ c Tính th y đ c ch ra t p h p các thành ph n

ch ng trình có th đ c g i hay đ c dùng nh d li u b i m t thành ph n đã cho, ngay c khi đi u này đ c th c hi n m t cách gián ti p Ch ng h n, m t mô đun trong

Trang 20

3.4.6 C u trúc d li u

C u trúc d li u là m t bi u di n cho m i quan h lôgic gi a các ph n t d li u riêng

l Vì c u trúc thông tin s luôn luôn nh h ng t i thi t k th t c cu i cùng nên c u trúc d li u c ng quan tr ng nh c u trúc ch ng trình đ bi u th ki n trúc ph n m m

C u trúc d li u kh ng ch cách t ch c, các ph ng pháp thâm nh p, m c đ k t h p

và các ph ng án x lý thông tin Tuy nhiên, đi u quan tr ng là c n hi u các ph ng pháp c đi n đã có th t ch c thông tin và các khái ni m làm n n t ng cho c p b c thông tin

M t c u trúc d li u đ c thi t k t t cho phép th c hi n nhi u phép toán, s d ng càng ít tài nguyên, th i gian x lý và không gian b nh càng t t Các c u trúc d li u

đ c tri n khai b ng cách s d ng các ki u d li u, các tham chi u và các phép toán trên

th vô h ng (Graph), đ th có h ng (Directed graph) M t s ki u c u trúc d li u c

đi n đ c minh ho trong hình 3.12 d i đây

Trang 21

Kho n m c vô h ng là c u trúc d li u đ n gi n nh t là trong các c u trúc d li u

Nh tên c a nó đã hàm ý, kho n m c vô h ng bi u th cho m t ph n t thông tin đ n

gi n có th đ c đánh đ a ch b ng m t tên g i; t c là vi c thâm nh p có th đ c đ t t i

b ng cách xác đ nh ch m t đ a ch trong b nh Kích c và đ nh d ng c a kho n m c vô

h ng có th thay đ i bên trong các gi i h n do ngôn ng l p trình kh ng ch Ch ng

h n, m t kho n m c vô h ng có th là th c th logic dài 1 bit, m t s nguyên hay s

d u ph y đ ng dài t 8 đ n 64 bit, hay m t xâu ký t dài m t tr m hay m t nghìn byte Khi các kho n m c vô h ng đ c t ch c nh m t danh sách hay nhóm liên t c thì m t vecto tu n t s đ c hình thành Vec t là ph n chung nh t c a t t c các c u trúc d li u và m cánh c a t i vi c làm ch s thay đ i cho thông tin minh ho chúng ta xem xét m t thí d Pascal đ n gi n:

Type G = array [1 100] of integer;

Vect tu n t G (m ng) g m 100 ph n t là s nguyên vô h ng, đ c đ nh ngh a

Vi c thâm nh p vào t ng ph n t c a G đ u đ c ch s hóa trong th t c S sao cho các

ph n t c a c u trúc d li u đ c tham kh o t i theo m t tr t t xác đ nh

Khi vect tu n t đ c m r ng thành hai, ba và cu i cùng thành s chi u b t k , thì m t

không gian n chi u s đ c t o ra Không gian n chi u thông d ng nh t là ma tr n hai

chi u Trong h u h t các ngôn ng l p trình, m t không gian n chi u đ c g i là m t

m ng (array)

Kho n m c, vect và không gian có th đ c t ch c theo chi u đ nh d ng Danh sách

móc n i là m t c u trúc d li u t ch c các kho n m c vô h ng, vect hay không gian

không liên t c trong đó có m t v trí đ c g i là đ u danh sánh Vi c truy c p luôn luôn

đ c th c hi n t đ u c a danh sách M i đ nh ch a cách t ch c d li u thích h p (nh vec t ) và m t hay nhi u con tr ch ra đ a ch trong b nh c a đ nh ti p theo trong danh

Trang 22

sách Có th b sung thêm các đ nh t i b t k đi m nào trong danh sách b ng cách đ nh ngh a l i các con tr đ thích h p v i l i vào danh sách m i

x p STACK là m t mô hình khái ni m v c u trúc d li u có th đ c cài đ t nh m t

vect hay m t danh sách móc n i Tu theo m c đ chi ti t thi t k mà cách làm vi c bên trong c a STACK có th đ c xác đ nh hay không

3.5 THI T K MÔ UN HI U QU

Các n n t ng thi t k đã đ c mô t trong các m c trên đây đ u liên quan đ n thi t k

mô đun Trong th c t , tính mô đun đã tr thành cách ti p c n r t thông d ng trong m i

b môn công ngh Thi t k mô đun làm gi m đ ph c t p, t o đi u ki n thu n ti n cho

vi c thay đ i (khía c nh m u ch t c a tính b o trì ph n m m), và cho phép phát tri n song song các thành ph n khác nhau c a h th ng

Tr u t ng hóa và che d u thông tin đ c dùng đ xác đ nh các mô đun bên trong ki n trúc ph n m m C hai thu c tính này đ u ph i đ c chuy n đ i thành các tính n ng v n hành c a mô đun, đ c đ c tr ng b i l ch s th i gian c a cái h p thành, c ch kích

ho t và hình m u đi u khi n

Trang 23

L ch s th i gian c a cái h p thành nói t i th i gian mà m t mô đun đ c đ a vào bên

trong mô t ngôn ng g c c a ph n m m Ch ng h n, m t mô đun đ c xác đ nh là

ch ng trình con s đ c xem xét thông qua vi c sinh ra m t phân nhánh trong ch ng

trình

Ng i ta th ng g p hai c ch kích ho t Theo quy c, m t mô đun đ c g i t i theo tham chi u (nh câu l nh Call) Tuy nhiên, trong nh ng ng d ng th i gian th c,

m t mô đun có th đ c g i t i b i tr ng thái ng t; t c là, m t s ki n bên ngoài gây ra

s gián đo n trong vi c x lý làm n y sinh vi c chuy n đi u khi n sang mô đun khác C

ch kích ho t là quan tr ng b i vì chúng có th nh h ng t i c u trúc ch ng trình

Hình m u đi u khi n c a m t mô đun mô t cho cách th c mà nó đ c th c hi n bên

trong Các mô đun quy c có m t l i vào và m t l i ra và đ c th c hi n tu n t nh

m t ph n c a m t ch c n ng nào đó Hình m u đi u khi n ph c t p đôi khi c ng đ c s

d ng t i Ch ng h n, m t mô đun có th mang tính đ ng d ng T c là mô đun đ c thi t

k sao cho nó không thay đ i b n thân nó hay thay đ i đ a ch c c b mà nó tham chi u theo b t k cách nào Do đó, mô đun có th đ c dùng b i nhi u nhi m v m t cách

t ng tranh

Bên trong c u trúc ch ng trình, m t mô đun có th đ c phân lo i là:

+ Mô đun tu n t , đ c tham chi u và th c hi n không b ng t b i ph n m m ng d ng

+ Mô đun t ng tr ng, có th b ng t tr c khi hoàn t t b i ph n m m ng d ng và sau

đó kh i đ ng ch y l i t i th i đi m ng t

+ Mô đun song song, th c hi n đ ng th i v i mô đun khác trong môi tr ng đa x lý

t ng tranh

Mô đun tu n t th ng hay g p nh t và đ c đ c tr ng b i các macro khi d ch và các

ch ng trình con Mô đun t ng tr ng duy trì m t con tr cho phép mô đun đ c kh i

đ ng l i t i đi m ng t Các mô đun nh v y r t có ích trong các h th ng đi u khi n b i

đi u khi n ng t Các mô đun song song đôi khi c ng th ng g p trong các tính toán t c

đ cao nh khi yêu c u hai hay nhi u CPU làm vi c song song

M t ki u mô đun khác c ng hay g p trong các ngôn ng l p trình nh Modula và Ada

tr u t ng d li u và các y u t th t c theo cách th c h ng đ i t ng

Ngày đăng: 08/11/2022, 13:44

TÀI LIỆU CÙNG NGƯỜI DÙNG