Xem mẫu

  1. Chương VI T H ia K ễ Sau khi Ihực hiện xong 6 bước đầu của tiến trình 10 bước, chúng ta đã xây dựng xong mỏ hình phân tích cúa hệ thống. Trong phân tích ta luôn luôn tự hạn ch ế trong câu hói "Là gi?" hay "Làm gì?", mà không bao giờ lấn sang câu hỏi "Làm như thế nào?". Tới đây, ta bắt đầu c h u y ể n s a n g ih iế t k ế , n g h ĩa là n g u v ê n cứii s ự th ự c thi h ệ th ố n g v à đ ư a ra những quyết định về cài đặt. phù li(Tp \ớ i điều kiện công nghệ có được và đáp ứng các đòi hói phi chức nãng từ phía người dùng (như là hiệu nãng, tính kliả dụng, lính bdo mật.v.v,..). Ba bước 7. 8. 9 sẽ lần lượt dề cập ba vãn đề cua thiết kế; • Làm nguyên mẫu giao diện người dùng; • Thiết kế hệ thống: • Thiết k ế chi tiết. 7’rong thiết kế, ta klió tránh khói đi sâu vào việc chọn lựa và vận đụng các công cụ cài đật (như là cúc ngòii ngữ lập trình, các hệ quản trị cơ sỏ dữ liệu, các hệ lạo lập giao diện, các thư viện thành phần.v.v...), Tuy nhiên, vì sự hạn chô' của khuôn khổ cuốn sách, ta khóng thế (rình bày vé các cóng cụ đó ỏ đày. mà chỉ trình bày sự thiết kế ở mức độ độc lặp với côni’ ru cài (!ậl, Mãt khác một vấn đề rất thú vị và đ ồ n g ihời là xu hướng tâì y ố u c ú a thiết kế hiện đ ạ i là v ấ n đề mẩi( ỉhiết /iré'(design patterns) cũng không lliể irình bày một cách c ó hệ thống, mà chí có thể được giới tliiộu qua. mổi khi cần đến. Đ ể đi sâu vào mầu thiết ké, bạii dọc có tho ihain kháo 113].
  2. 184 Chương VI. Th iết k ế §1. BƯỚC 7: LẢM NGUYÊN MẪLI G IA O D IỆ N N G Ư Ờ I DÙ N G 1. MỤC ĐÍCH Cõn« việc ở bước 7 nàv là dưa vào các bộ tạo lập GUI (Gruphiciil liscr Uìteiiace builder) thàrứi lập sớin \ ’ Dhaiili một nguyên mảu (protoíype) à p.iao diên người dùnc, có íínli thãm dò. nhẳm vào các rnục đích sau: • Tạo ra một mối irườiig làm việc cụ ihế. dễ tiến xúc. dề làm thử. làm cho nsười dùng irở nên yên tâm hơn. không như khi chí được Ihấy nhữiic cì ve irẽn eiấ)'. \'à !iọ cũng iró' ncn nìiiic độnạ !iciì tr:Mìg '. iộc dona góp cl'0 \'iộc phái iriến t'>ệ Ihốiig • Quii quá irình dùng tliú. ta ihu Ihập dược nhiẽu ý kicn phánhổi bố ícli lù pliía người dùng. • S ớ m p h á t h iệ n d ư ợ c c á c y ê u c ầ u h a v c h ứ c n â n g bị b ỏ s ó t, s ớ m n lììn thấy các chỗ yếu. chỗ khó khăn nhất cúa hộ ihống. Vì mục đích thăm dò cúa nguyên inảu. ta nên làm nguyên mảucàng sớin caní! lổt (dù rầna ta gọi đây là bước 7). Oiáng hạn có the báí đáu làm ncuyên mầu ngay sau khi đưa ra các ca sử dụng (bước 2). Nguyên inảu có ỉhé dược làm đi làm lại nlìiổu lấn. lìan đẩu có ihể dó chi là các hình vẽ trên giấy. Iiliưiig sau đ ó sẽ đ ư a lên m à n hìiìli. Ban đầu c ó ihể n ó chi đưa ra các dử liệu giá, nhuiig sau dó nó phái đề cập dữ liệu Ihật với kliối lượiig lãng dán. Quá liinh phái triển nguyên inău làiiì dòng ihc/i với tịuá trìiili pliân lích v a ih i c l k c . % lìi) l i ọ ciiO piiìiii líciì / à i h ì ẽ i k ẽ . 'à 2. M Ô 'IẢ C Á C ( ; iA ( ) D IỆ N C Ú A H Ệ T H Ổ N í ; Như ta đã biết (§ 3 .2 0 , Chưmig IV), cứ m ỗi cặp dối tác - ca sử dụng licn quan, có ít nhất một lớp biên de chuyến dổi các ihòng tin vào-ra. The hiện của lớp biên chính là giao diện mà bây giờ ta cẩn phái mô tả. Muổn vậy, ta dõi íhco từng bước trong kịch bản của mỗi ca sử dụng, xét nội dung ciia tươiìg tác giữa đối tác và hệ thống, các thõng lin vào và ra. các hàiih động dược ycu câu để tố hợp vào mộl phán tứ giao diện. Chảng hạn, trong Bủng VI. 1. la thực hiện sự phân bố các giao diện cho từng bước trong ca sử dụng 'Chọn inôn học để giáng dạy'.
  3. § 1. Bưóc 7: Làm nguyên m àu giao diện người dùng 185 Báiiii V l . ỉ . Ẩ^hân b ố cúc ịiiao diộn cho các bước irong ca sử dụng 'Chọn môn học J ể ^iảng dạy' Các bước/ hoạt động trong ca sử dụng Phần tử giao diện cần có Đ ãng nhập người dùng Yêu cầu mã số người dùng Màn hình đãng nhập Xác định người dùng Ghi nhận ý định người dùng Chọn học kỳ Màn hlnh chọn việc Chọii việc (thêm, bò. xem , in, ra) TTièm ỉớp giíing Nhập lên. mã số môn học Màn hình chọn lúp giảng Hiến lliị các lớp giảng Chọn m ộl lớp giáng Kết nối tháy với lớp giảng Bỏ lớp giảng Hiến ihị các lớp giảng của thầy Màn hình bò lớp giảng Bó một lớp giáng Xein lịc h biểu Hicn ihị lịch bicu cúa thầy M àn hìn h lịch biểu In lịch bicu Tiếp đó, ta m ỏ tả lìm g giao diện theo các cliểm sau: • 'ĩẽn c ú a giao diện; • Diền tá ngắn độ 2 - 10 dòng vãn tự; • Mức độ phức tạp của giao diện (phức tạp/chuẩn/dơn giản); • Ghi chú thêm, nếu có. Có bốn [oại giao diện, mà đặc điểm kv ihuật có những khác biệt, cần dược bổ sung thêm chi tiết. Đ ó là; • Các giao diện đối thoại;
  4. 186__________________________________________ Chương VI. Thiết kế • Các thông tin xuất (thư. báo cáo v.v,..): • Các giao diện dữ liệu từ và đến các hệ thống ngoài; • Các giao diện chức nãng đến các hệ thống ngoài. Đ ối với hai loại cuối (giao diện chức nãng và giao diện dữ liệu), các chi liết m ô tá sau đây cần được bổ sung; • Tòn của hệ Ihóng ngoài có liên liệ (tên cliươiig irìiih. lèn giao tác.v.v...): • Loại gr.ic diên' đống bộ (,gi‘ diện chức i0 khòng đổn
  5. §1 . Bườc 7: Làm nguyên m ẫu giao diện người dũng _______________ 187 Mỗi tháy giáo có thế Ihực hiện dối thoại ngay trên máy tính ở phòng làm việc ciia inìnli (nối mạng cục bộ của trường). Mỗi thầy thưc hiện vài ba lần. tập trung vào một tuần trước kiii bước vào học kv mới. Mức đô phức íạp: Chuán CỚC' Iriỉờ/I^ nhập d ữ liệu Tên thấy, học kỳ, m ôn học. mã số môn học. C á c ĩn ỉờ n ^ Itiểii lỉìị: Dunlì sách các lớp giảng ứng VỚI mòn học và học kỳ (mã số lớp giảng, đối iượns học, khối lượng, dự kiến thời gian biếu). C á c khả nãng r ẽ ngang: Thoát. Kết thúc, Bỏ lớp giảng. C á c hành động Đánh dấu lớp giáng, Nhận lớp giáng. Hoàn lại lớp giảng. Bdnỵ VI.3. Miêu id iliônỊỉ tin xiuíi: Lịch trình giảng dạy Tên: Lịch irinh giáng dạy M iẽỉt ỉii n^âii: M ôl thòng báo viết (trẽn màn liiiìh liay in ra giấy, về lịch Irình ộl viêt iiiiìli hay giáng dạy cúa các lớp giáng cùa Ilìộí riiiìy giáo. SửclựnịỊ: Tiìầy giáo c ó llìể xem lịch trình hay in lịch trình cúa mình Irên máy tính (nối m ạng) ó phòng làm việc của 'rhầy, Mức d ộ phức tạp: Chuẩn C á c Irư ờ n íỊ xuất: Lịch giáng cúa từng m ón học (tên Tliầy giáo, tên học kỳ, lên môn học. mã số m ôn học, mã số lớp giáng, dối tượng học, khối lượng, ngày Irong tuán, giờ, địa điểm).
  6. 188 Chương VI. Th iết k ế 3. DI C H U Y Ể N G IỮ A C Á C G IA O D IỆ N N C Ư Ờ I D Ù N G Cách phái hiện \’à m iêu tả các giao diện như trên là đơn gián, dễ làm, Nhươc dicm chính cùa nó là bỏ qua sắc thái động cùa giao d'ện. V'ị \’ãy. cých iàm dó nếu có tlĩể đã ihành công với nliững giuo diện dơn aiáii, Ihì lại trớ nên khá lúng túng khi sập các giao diện phức tạn. Cháng hụn với các giao diện ircn mộl NVebsile, với cúc đơn chọn, các kết nối. các siêu kếí nố'„ các núl dản d:U v.v. .. ih.ì việc '0 hơp các yếii tố giao diện đó lại với nhau thành một giao diện hcíp lý. uyến chuyến và đẻ dùng không phái là việc ỉàm gián đơn. ƯML cung cấp cho lii m ệt ccng cụ lốl đe dicn lả inối các!i chír.h xác. khóns bỏ sót các sắc Ihái độriL’ của ;nột hộ tliông gi.io rìiện, đó là bieu đổ hoạt động (xem § 3 , C'hươiìg V). Vốn là m ỏ hìiih cúa luỏng còng việc, nó được áp dụng vào đày đc diỗn tá sự di chuycn giữa các yếu tố giao diện đối với một người dùng. Đ ế áp dụng cho giao diện, khái niệm 'hoạt động' trong biếu dồ hoạt động được chuyên biệt hoá thành năm loại (Hình VI. 1), mang các khuờn dập thích hợp, nliư sau: • Một trang đ ầ y đú cùa V V e b sile (« p a g e » ); • Một kliiuìg nằm trong inột trang ( « f r a m e » ) ; • Một hành íiộnịỊ đơn giàn ( « a c t i o n » ) ; • Một sơi lồi hav hành vi không cbờ íỉợi của hệ thống ( « e x c e p t i o n » , được tô màu ẹhi nhạt): • Một mõĩ nổi lới một biểu đổ hoạt dộng khác,nhằm thực hiệii sự cấu trúc hoá, \ ’à nhằm làm cho biểu đồ dễ đọc hơn ( « c o n n e c l o r » , được tò màu ghi đạm). Các khái niệm trang và khung tươiig ứng trực tiếp vứi các lớp biên ( § 3 , Chương IV). Khái niệm hành động nói chung là tương ứng với m ội thao túc trong một lớp biên hoặc trong một lớp điểu khiển.
  7. §7. Bưởc 7; Làm nguyên mẫu giao diện người dùng 189 «p ages» « fr a in e » « a c tio n » « e x c e p tio n » « c o n n e c to r » L Hìiilì V I . i . C ác qii\' ước d ổ lìoạ chuyên biệt V iệc m ô hình hoú di chuycn bắt dấu lừ một đối tác (Hình VĨ.2). Tliường thì mội đối tác liên kết với nhiểu ca sử dụng. Nếu các ca sử đụng đó là độc lập hoàn loàn \ ’ới nhau, thì la xây dựng m ộl biểu đổ di chuyến ch o m ỗi ca sừ dụng đó. và các biểu đổ đó ià đơn gián và dẻ dọc. Trái lại nếu các ca sử dụtig đó lại có liên hệ và ràng buộc lẫn nhau, Ihì la phái xây clLm a một biếu đổ thống nhất, và các ràng buộc dược thc hiện bằng các cảnh giới trẽn các di chuyển giữa các trang iươiig ứng. Và như vậy, các biếu đồ di chuyên lại cho la một cách diễn đạt các ràng buộc một cách hình iliức và minh bạch. Đối tác D ối lác • intranet ▼ ( « fra m e » > / «pagcs» Đăng nhập 1 Trang đón liếp ] \ - / « e x c e p tio n » \ ỊkhôngỊ__ A 4' Lỗi đãng nhập ^ ^ x a c n liỊn ' *‘ _______ / «pages» v_ 1 Trang đón tiếp / có] H ĩnh VỊ.2. K h ỏ i cỉâii ciía hiểu đồ
  8. 190 Chương VI. Thiết kế T h í dụ Hãy lập biểu đổ di chuyển cho một khách hàng trên \Vcbsite thương mại điện lử của một hiệu sách. Ta có biểu đồ các ca sir dụng cùa khách hàng nhir trẽn Hình V I.3. c ') Thực hiên một đơii hàng \ « e x ĩe n d » V c _______ Sữ dụng giỏ xách / / / ' « ex ten d » c Tim sách ^ í ị CZ^ l ì m nhanh c n m theo chủ để 'Hin sáu Hinli Vỉ.3. Biểu đ ồ ca sửdụnỊỊ của khácìì hàiiị’ Ta xét lần lưọt từng ca sử dụng. Tìm sách Thông thường khách hàng irưỏc liên tìm và chọn sách, cho sách Lfng ý vào giỏ xách và cuối cùng thực hiện đơn mua hàng. V ậ) :ừ trang đón tiếp, khách hàng có thể tìm nhanh các sách, hoặc tìm sâu theo một ý định nào đó, hoặc xem qua một lập hợp các trang như là: Sá;h mới. Sách bán chạy nhất, v.v... (Hình VI.4).
  9. §1. Bước 7: Làm nguyên mẫu giao diện người dùng 191 Tim nhanh dựa trên một vài từ klioá. chi cần thực hiện bằng một « f r a m e » luôn có mặl trên tiang lìm kiô’ Trái lại tim sâu với nhiều m. liêu ch í lại được tliực hiện bãng niội Uaiig nguyên. Tim kiếm là một « a c t i o n » mà kết quả là một framc chứa danh sách các sách lìm được hoặc một thông báo lổi khi khòng tìm dược sách. «page» Sách mới «page» «page» Trang đón tiếp Sách bán chạy nhất «page» «page» V Tim sâu V « a c tio n » Tìm kiếm « e x c e p tio n » không tìm được? Lỗi: không tìm )< ■ được sách có ______
  10. 192 Chương VI. T hiết k ế vào giỏ xách (ảo), hoặc có thế sắp xếp lại các kết quá. Nếu có nhiều sách tìm được, khách hàng có thể duyệt các Irans kết quá {Hình V I.5). Phiếu sách lại cũng cho phép dưa sách vào giỏ xách hoặc yêu cầu xein phiếu tác giá bao gồm tiếu sứ và danh sách các sách cúa lác giả đó. N ó cũng cho pbcp I.niy cập các thỏpg tin bổ sun*’ như la: ảnli phóng dại, lời bình, mục iục chi liết, tóm láỉ cac chuơiig, Vì sự rườm rà kéo đài từ phiếu sách này. ta cắỉ phẩn di chuycn kc từ phiếu sách ''ào một biểu đồ hoạt động khác, bằng cách dùng mối nối « c o n n e c t o r » (Hình VI,6). Cũng tifcf!ig tự, phấn Sừ dựiiíí G iỏ xách chưa triến khai cũng được ihay Ihế bằng một mối nối « c o n n e c i o r » . •Sávb Tiì / • A^v,vhicvsach í-or.i ------------- ' ( < < pãgẽ» Sách b án 1^ chạy ah ăt H ỉn h V I.5. D i ch uyển đ ể tìm kiếm (m à thêm )
  11. §1. Bưóc 7; Làm nguyên m ẫu giao diện người dùng 193 P h iế u s á c h Hình Vỉ.6. D i chuyển ỉừphiếu iỉiới thiệu sách Siỉ dung giỏ xách Xem lại biểu đổ ca sử dụng ờ Hình V I.3, ta ihấy ca sử dụng 'Thực hiện mộl đcm hàng' m ớ rộng ca sử dụng 'Sừ dụna giỏ xách'. Đ iểu đó có nghĩa là đang sừ dụng giỏ xách, ta có thc cliu\’ến sang ihực hiện đcm mua hàng. Tuy nhiôn ờ đây phải có inộl ràng buộc: G iỏ xách phải khòiig lồn g tlìì mới chuyển sang Ihực hiện rnua hàng được. Đ ể thể hiện sự ràng buộc này la phải đưa ihêin một trang "Cìiỏ xách rỗng', iruy cập đưực từ nhiều trang, kể cả Irang dón tiép. nhưna nó ngăn không cho chuyến sang trang Đặt hàng. Bới việc lách irang G ió xách thành hai (rỗng và không rỗng), nên « c o n n e c t o r » Giỏ xách trên hình V I.5 nay lại tương ứng với « p a g e » G iỏ xách ở Hình VI.7, mà không phải tương ứng với m ội điểm vào biểu đổ mới như trường hợp trên.
  12. i i i n h V 1 7 . ỈỈU'II d ồ íli clniYCíì cho s ứ c l ụ n i i ÍỊÌÓ xách !'/ntc hiện mội (ừ/n ìiảini « c o n n e c t o r » Đơn hùng trên Hình V I.7 trớ thành điểin vào cho biểu đồ di chuyến để thực hiện một đơn hàng trèn Hình V I.8. D ơ n ìià n g [K h á c h đ ã đ a n g k K h á c h c h ư a đ ỉln g k ý l / « jn ìg c » « p a g c » P h iế u k liá c h P h iế u k h á c h y h ù n g d iẻ u sá n h à n g rỏ n g z 2 « 'a c i i o n » « a c L io n » Đ i c u c h in h N h ậ n t h ô n g tiìì tà i k h o ả n m ua hàng /< ^ x c c p tío n > > « p a G e » V / ( Đ cm h à n g p h iê í m ua -< ề > \ chưa đụt hùnM n ỉỉìiih Vỉ.8. Biển d ố dì cìuivểii clioTliực hiện m ột dơn hủiiíi
  13. § í, Bườc 7: Làm nguyên m ấu giao diện người dùng 195 Cuối cùng thì la có thế lổng hợp vào một biếu đổ di chuyển chung ciia một khách hàng, như trên Hình VII,9. Trẽn biểu đổ này ta lược bớt các báo lỗi « e x c e p t i o n » và các rẽ nhánh Iheo điều kiện. Đ iều thú vị là ta thấy chỉ với một trang giấy mà la có thc thâu tóm mọi quy tắc dịch chuyển trên m ộl W ebsite. « page» S ách m ớ i « page» « pagc» «pagc» bán T rợ g iú p T rang đón tií p nhất ^ . « fra m e » «page» T im n h a n h j T ìm s â u j ỉ « a c iio n » « a c tio ii» 1 R à lại c h o v ào giò [còn ít nhất 1 cuốnl «page» G iỏ sách í« a c tio n » \ / «page» VL ập d ự toán 1 VyPhiếu giới th iệ u s á c íy > • « fra n ie » Đ ặ t h àn g / «page» « a c tio n » D ự to á n Ị 1 P h iéu khách Đ iể u ch in h \ h à n g đ ié n sẩn tài k h o ả n Ị « p ag c» Ị « a c tia n » P h iế u k h á c h y h à n g rỗ n g j N h ạ p thỏng tin m u a tìàng Kết thúc bình Ihuờng có mua % ách í « p ag e» \ í « a c tio n » 1 1 P h iế u m u a h à n g ì \ M ua J H ìn h V ỉ. 9. B iểu đồ d i chuyển tổn ^ íỉìể c ủ a khách hàng
  14. 196___________________________________________ Chương VI. Thiết k ế 4. L À M N G U Y Ê N M Ẫ U N gày nay có nhiều bộ tạo ỉập giao diện người dùng (GUI builders) cho phép làm các nguyên mảu giao diện mà khỏng tốn mấv công sức. Bước đầu thì các trường là rỗng hoạc cho giá trị giá, Các núi và các phần lử đối thoại khác có thê’ chưa có 'liệu ứng rõ rêi và cJìn giái thích "miệng". Song dần dần qua nhiêu \ ’òng lạp, tli: giao diện tiớ nên sinli động hcfn và đi gần tới phương án cuối. Và như vậy người dùng có Ihc làm việc ihử vứi các nguyên mầu. Các bước ihực hiện nguyẽn inẫu có Ihể là như sau: • X ciĩi xét lừng ca sử dụng dế phát hiệti yêu cáu \'ề giao cliẹn cửa c h ú n g . D Õ ! i h e o c á c b ư ớ c f o n g k ị c h b ả n c ử a C'd s ử đ ụ n g m à la p h á t la ii iư ợ i c iíc phán i ừ g i a o c l i ệ ') c â n th iế t. C -ẩn p h á ’ c h ú V sụ iư
  15. §2. Bưôc 8: Thiết k ế hệ thống 197 §2. BƯỚC 8: THIẾT KÊ HÊ THỐNG l. MỤC ĐÍCH Thiêì k ế hệ thống chính là thiết k ế kiẽii Irúc tổng thể của nó. Kiến írúc (architechture) là tập họp các quy tắc về sự hợp thành và sấp đặt các Ihành phần của một hệ thống phức tạp, nhờ đ ó mà nó hoạt đ ộ n s được. Các thành phần lạo nên hệ thống là gì và các m ối ỉiên quan giữa chúng ra sao, cái đó lại phụ thuộc vào lừng cách nhìn đối với hệ thống. U M L miêu tả năm góc nhìn đối với hệ ihống (xem § 2 .1 , Chưcíng II) và đó cũng chính là nãm cách nhìn khác nhau \ ề kiến trúc. Có thể tách năm góc nhìn đ ó thành hai nhóm: • C á c góc nhìn v é kiến trúc lôgic: Kiến trúc lôgic đề cập tới các chức núng của hộ thống, sự phân bổ cùa cúc chức năng đó vào các phấn khiíc nhau của hệ thống và cho thấy vì sao các giải pháp đã làin việc được và đáp ứng yêu cầu. Kiến trúc lôgic chứa lôgic của ứng dụiig, nhưng không chứa sự bố trí vật iý cúa lôgic đó vào các quá Irình, các chương Irình hay các máy tính. Vậy kiến trúc lôgic thể hiện trên ba góc nhìn cùa ƯML: - G óc nhìn ca sứ dụng, ch o thấy hệ Ihnng phãi có các chức năng (lớn) nào đổ đáp ứng các yêu cầu của người dùng. - G óc nhìn thiết kế, cho thấy hệ thống dirơc thiết k ế với các lớp và dối tượng nào, hoạt động của chúng ra sao và chúng được gom vào các hệ con ra sao. - G óc nhìn quá trình, cho thấy sự thực hiện của hệ thống diễn ra t h e o c á c t u y ế n đ i ể u k h i ề n n à o , thiíộc loiỊÌ h ì n h đ i ể u k h i ể n gì (đcfn, song hành-..)- • C á c góc nhìn v é kiến trúc vật lý: Kiến trúc vật lý đề cập sự hợp thành của hệ thống từ các bộ phận tổn tại thực sự trong thực lế (chứ không phải trong sự hình dung của con người) bao gồm các phần mềm (các mã nguồn, các mã khả thi, các thư viện chương trình...) và các phẩn cứng (các m áy lính, các thiết bị, các đường kết nối) cùng với sự b ố trí của các phẩn m ềm chạv được trên các phần cứng.
  16. 198__________________________________________ Chương VI. Thiết k ế Như vậy kiến trúc vật lý thể hiện trên hai góc nhìn còn lại cúa ƯML: - G óc nhìn thành phần, ch o thấy hệ thống bao gồm các Ihành phần phần mềm nào, các mối liên quan giữa chúng ra sao. - Góc nhìn bỏ’ trí. cho thấy ỉiệ thống bao gổni oác pỉiầii cúng nào; các nút (các bộ xử lý. các thiết bị), các k ít nôi (đường truyền) giữa các nút đó và sự bố li’í các Ihàrih phần pliầa mém trèn các núỉ. • Rốt cục, nếu hiểu kiến trúc là sự m ó lả hệ thỗng theo nãm góc nhin írôn, ihì chắng phủi mãi đến bước 8 này ta mới đế cập tới kiến trúc. Tlìậl vậy, dọc theo quá tpnh phàn 'ích nhiều khía cạnh của kiến trú.: h ị ‘hứng, (lậc biộĩ là kiến irúc íôgic do được xcrn xét, vớ; nhiềii loại biếii dổ, nhu ìà biểu đổ ca sử dụng, biếu đồ lop, bieii đò doi tượng, các biểu đổ lương tác, biểu đổ máy trạng thái, biểu đổ hoại động... Vậy ò đây. irong bước 8 này, ta chi còn phài để cặp lới bốn ván để còn lại cùa kiến trúc hệ thống, là: - V ỡ hệ thống thành các hệ con (các gói). - Chọn lựa loai hình điều khiển - M iêu tả các thành phần vật lý của hệ thống. - Bố trí các thành phần khả thi vào các nút phần cứng. 2. V Ớ H Ệ T H Ố N G T H À N H C Á C H Ệ C O N a) K h ái niệm về hệ con Các lớp là những thực thể cấu trúc quá nhỏ bé so với một hệ thống thực. Bời vậy khi số các ỉớp trong hệ thống đã lên lới hàng chục, thì ta nên gom các lớp liên quan mạnh với nhau thành từng nhóm gọi là các hệ con. H ệ con (subsystem ) là một sự gom nhóm lôgic các lớp c ó sự c ố kết bên trong mạnh và sự tương liên bên ngoài yếu. Thuật ngữ hệ con được nhiều tác giả dùng, và G. Booch lại g ọ i là phạm trù (category), ihực ra không phải íà thuật ngũ chuẩn của UM L. Trái lại UM L dùng thuật ngữ gói (package). Tuy nhiên khái niêm gói (xem lại Chương IV § 1 .1 0 và § 2 .6 ) lại có ý nghĩa khái quát hơn;
  17. §2. Bưởc 8: Thiết k ế hệ thống 199 • Gói là một cơ ch ế gom nhóm nliiC'1 pÍKiii lử. Các phần tứ nói dày .1 có thế là các lớp, các giao diện, các ihàiili pỉum. các hợp tác. các ca .sứ dụng, các nút. bicu đồ và cũni’ có (hc là c.k' gói khác. • Gói và biéu đổ gói có thế được vận dụng á inọi giai đoạn phá! tricn hệ thống. Khi ta có một bicu dổ lùio dó (ci) ihế là biểu đổ lớp. biểu đổ ca sử dụng...) là quá lớn, quá phức lap. \à ta muốn diẻn tá nó lại, sơ lược hơn, nhưng dỗ nắm bắt hơn, (iỏ phãii công nghiên cứu và Iriến khui hơn. ihì ta dùng gói và biéu đỏ ụói. Còn \'ề các hệ con mà ta ihiết lặp tion< '2 đoạn Ihiết kê' kiến trúc 2 .'m cùa hệ lliống, thì; • Đ ó chí là gói cúa các lớp. thưừiiỵ mang thêm khuôn dập « s u b s y s t e m » . như trên Hình VI.ỈO. Sô cúc lớp trong một hệ con klìông nên ít quá. mà cũng chắni’ iiC 1 iiliicu quá (thường thì có -1 l:hoảng mươi lớp là vừa). « s u b s y s te m » Lich biểu ỉỉiỉilt V ỉ . i O . B i ể u d i ề n Ììệ v o n Nội dung của một hệ con (gồm các lóp \'à các mối liên quaii giữa chúag) dược U M L 2.0 diễn tả irong n\ộl kìuút^ (íiain e). vứi niột lựa ỏc viếi trong một hình chữ nhật cắt góc (lu;o khuôn dụng [] Tên ], như trên Hình V I.11. • Sự có' kếĩ của các lớp irong cùng ipột lìc ':«'n thc hiên ờ chỗ: - V é mục đích; Chúng phái cuny cãp các dịch vụ C ) cùng bán C chất cho người dùng. Như vậy chúng pliái ihuộc vùo cùng mộl lĩnh vực và đề cập một số thuậl ngữ chung (cháng hạn hệ con giao diện để cập các thuật ngữ như: cửa sổ. đơn chọn, nút hành động v.v...). - V ề xu thế phát triển: Người tu tác h các !ớp bền vững \'ới các lớp còn nhiều khả nãna thay đối. phát triến. Đặc biệt là tii
  18. 200 Chương VI. Thiết k ế thường tách các lớp nghiệp \'ÌỊ với các iớp ửììi’ clụniỊ và xếp chúng vào các hệ con khác nhau. V ề ứng dụng các công nghệ: để tận dụng các dịch \ụ còng nghệ có sẵn, như các thư viện chương trình (lớp/thành phan), các GUI, các hệ quản irị cơ sờ dữ liệu v.v..., ta thường tách các hệ .-:on giao tiếp, hệ con quàn trị dữ liệu ra khói phần lõi {ưiig dung và nghiệp vu) của hè thống. T Hệ t'on Lịch biêu Hin/ì V Ỉ . Ị ỉ . N ội dung cứa hệ con Lịch biêu Sự tưcíng liên giữa các hệ con thể hiện ở mổi liên quan phụ thuộc giữa chúng. Mà sự phụ Ihuộc giữa hai hệ con phản ánh các mối liên quan tĩnh (thừa kế, liên kết...) và các m ối liên quan động {trao đổi, thông điệp) giữa các lớp ihuộc hai hệ con đó. Sự phụ thuộc giữa các hệ con phải càng đơn giản, càng lỏng lẻo càng tốt. Đ ể đảm bảo tính tương liên yếu này, khi thành lập hệ con, ta áp dụng các quy tắc sau: - Các lớp thuộc vào cùng m ội pha hệ thừa kế nên đưực xếp vào cùng một hệ con. - Các lớp có m ối liên quan kết nhập và hợp thành với nhau thường được xếp vào cùng một hệ con.
  19. §2. Bưóc 8: Thiết k ế hệ thống 201 - Các lớp cộng tác với nhau nhiéu. irao đối thông tin nhiều, thế hiện qua các biổu dổ tương tác. ihì nên đặt chung vào m ộl hệ con. - Nên tránh sự phụ thuộc vòng quanh giữa các lớp. b) Kiến trú c p h â n tầng Một hệ con ihường được định nghĩa bỏi các dịch vụ mà nó cung cấp. M ối liên quan giữa một hệ con với phần còn lại của hệ thống có thể là ngang hàng hay ỉà khách hàng/dịch vụ. Trong m ối liên quan níỊang lìàii^ (peer-lo-peer) thì mỗi bèn đều có thể truy cập các dịch vụ của bẽn kia. Bấy giờ sự giao tiếp không nhất thiết là ờ dạng câu hỏi và trả lời liền sau đó, mà có thể là một sự giao tiếp loanh quanh, rất dễ dẫn tới những sai ỉỗí đáng liếc về thiết kế. Còn mới liên quan khách lìàngklịclí vụ (client/server) thì đơn giản hcfn: bên khách hàng gọi bên dịch vụ và bên dịch vụ thực hiện một dịch vụ theo yêu cầu và trá kết quá cho bên khách hàng. Bên khách hàng thì phải biết giao diện của bèn dịch vụ, song bẽn dịch vụ ihì không cần biếl giao diện cùa bên khách hàng. Từ hai hình thức giao tiếp đó mà ta có hai cách để vỡ hệ thống thành các hệ con; • Tổ chức hệ thống thànli các tầng iheo chiều ngang, với m ối quan hệ khách hàng/dịch vụ luôn luôn hướng từ tầng trèn xuống (các) láng dưới. Mộl thí dụ của hệ thống phãii Ihành tầng là hệ thống tạo cứa sổ trong giao diên người dùng cứa máv tính. • Tố chức hộ thống thành lát theo chiều đứng, với quan hệ ngang hàng giửa các lát. tuy nhiên các lát là khá độc lập hoặc tương liên yếu vói nhau. Một thí dụ của hệ thống phân lát là m ộl hệ điều hành, ihường gổm các hệ con như là các hệ quản lý tệp, điều khiển thiết bị, quản lý sự kiện và ngắt... R õ r à n g l à t ổ c h ứ c p h â n t ầ n g l à đ á n g đ ư ợ c UTJ l i ê n h c í n , v ì n ó m a n g lại nhiều ưu thế Irong ihiết kế, trong cài đặt cũng như trong sử dụng lại. Song đối với các hệ thống lớn thì ta thường phải phối hợp cả hai cách tổ chức phân tầng và phân lái, chẳng hạn phân hệ ihống thành tầng, nhưng trong mồi tầng thi lại phân thành lát.
  20. 202__________________________________________ Chương VI. T tiế t k ế Khi thực hiện phân tầng, thì s ố tầng là tuỳ thuộc sự phức lạp của hộ ihống; • Trong một hệ đơn giản, thì số tầng có thổ chi là hai (2-tiers . Bâv giờ tầng khách hàng thì quán lý-giao diện người dùng và các quá trìnb k h a i I.hác. c ò n l á n g d i c h vụ tbì x ử lý víêc c ấ t í i ữ c á c d ữ liệu. • Trong mộr hệ phức tạp hơi‘i. thì người ĩa íácti tổng trên ihun^. tầng giao diện - ứng dụng, và ở dưới né là tầng nghiệp vụ (hay lĨ!ih vực), bổn vững hơii và có nhiều khả nâng sứ dụng lại hơn. Vậy đó là một kiến tĩúc khách hàng/dịch vụ ba táníỉ (3- liers), • Cuối cùng ihì trong các bộ lớn. số tầng còn có thế nhiều hưn (n- tiers). mà điển hình ỉà kiếii trúc nãni tầng, với các lầng kê' tư trẽn :«uổ()g l;l: - 'rrùig ti-ình bà>: Chuyến các dữ lìèu cho Iiỵư(íi. dỉjng vu blcri đổi các hành động cùa người dùng thành các sự kiện vào của hệ thống. - Tầng ứng dụng; bao gổm các đối tượng điểu khiển và dần dát các quy luật của ứng dụng. - Tầng nghiép vụ; bao gổm các đối lượng nghiệp vụ (huv lĩnh vực), cùng sự cài đặt các quy lắc quản lý chúng. - Tầng truy cập dữ liệu: phục hổi các đối tượng nghiệp vụ từ các phương tiện lưu trữ. - Táng lưu trữ dữ liệu; bảo dảin sự lưu giữ làu dài các dừ liệu. Một thí dụ về kiến trúc khdch hùng/dịch \ụ nărn tầng cho irong Hình Irong đó m ỗi gói (hệ con) đcu có mang khuôr dập Ihícb hợp. như là « u s e í interíace fr a m e w o r k » (khuón khổ giao diện người dùng), « u s e r in te r f a c e » (giao diện người dùng), « d o m a i n » (lĩnh vực), « in fr a s t r u c t u r e » (cơ sở hạ tầng), « d a t a b a s e » (cơ sở dữ liệu). 3. CHỌN LựA LOẠI HÌNH ĐlỂU KHlỂN Đ â y là v ấ n đ ề đ ặ t ra từ g ó c n h ìn h ệ th ố n g v ề q u á trìn h t h J c h iệ n , nghĩa là xein xél các luồng diều khiển trong hệ tliống khi bệ tiiống đang làm việc. Có hai loại luồng điều khiển ớ trong một hệ thống phần inềTi, đó là luồng điều khiển ngoài và luồng điều khiển trong. Đ iều khiển ngoài là
nguon tai.lieu . vn