Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 159 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
159
Dung lượng
3,88 MB
Nội dung
1 t r × n h ® é ® µ o t ¹ o cc GIÁO TRÌNHPHÂNTÍCHTHIẾTKẾHƯỚNGĐỐITƯỢNG VỚI UML 2 MỤC LỤC TRANG 01. L 3 02. 4 03. 5 04. 9 05. Bài 1 11 06. Bài 2 19 07. Bài 3 69 08. Bài 4 80 09. Bài 5 94 10. Bài 6 109 11. Bài 7 116 12. Bài 8 132 13. 170 14. 158 15. 160 15. 162 3 BÀI 1 Tên bài : TỔNG QUAN VỀ OOAD VÀ UML Mã bài : ITPRG3_16.1 Giới thiệu : t Mục tiêu thực hiện: - - - - - Nội dung chính: I. Giới thiệu về OOAD và UML 1. Phân tích và thiếtkếhướngđốitượngHướngđốitượng là thut ng thông dng hin thi ca ngành công nghip phn mm. Các ng và tích hp công ngh mi này vào các ng dng ca h. Tht s n các ng dng hin th ng có Li tip cng là mt l v theo li ánh x các thành phn trong i thc. Vi li tip cn này, chúng ta chia ng dng thành các thành phn nh, gc lp v xây dng ng dng bng cách chi v ng các mu gu tiên là to hay mua mt vài loi mu g n, t o nên các khi xây dn ca mình. Mi xây dn có th chp ráp chúng li v t y mng mt s i n trong th gii máy tính, bn có th chp chúng li v to ng dng ca mình. Xin ly mt ví d n: v rút tin mt tu gn s là ánh x ci thng dng s c s c nhn di pháp phântích và thit k ng thc hin theo các thut ng và khái nim ca phc ng dng (tc là ca doanh nghi mà h thn phc v), nên nó to s tip cng gia h thng và v thc ngoài i. Trong ví d bán xe ô tô, mn phântích thit k và thc hiu xoay quanh các khái nim n phn mng thi 4 là quá trình cng tác ci dùng, nhà phân tích, nhà thit k, nhà phát trin, c, chuyên gia k thut, nên li tip cn này khin cho vic giao tip gia h vc d Mt trong nhm quan trng bc nht ct k ng ng là tính tái s dng: bn có th to các thành ph ng) mt ln và dùng chúng nhiu lc bn có th tái s dng các khi xây dng (hay bn sao ca nó ) trong mt ngôi nhà , m, b tái s dng các thành phn trong các thit k ca mt h thng k toán, h thng kim kê, hoc mt h tht hàng. c th nghim k càng trong l s dng có tác dng gim thiu lc b thit k và phát trin phn mm. ng giúp chúng ta x lý các v phc tp trong phát trin phn mm và to ra các th h phn mm có kh ng và bn chc. 2. Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language – UML) Ngôn ng mô hình hóa thng nht (Unifield Modeling Language UML) là mt ngôn ng biu ding vi ch Mô hình hoá các h thng s dng các khái ning. Thit lp mt kt ni t nhn thc cn các s kin cn mô hình hoá. Gii quyt v v m tha k trong các h thng phc tp, có nhiu ràng buc khác nhau. To mt ngôn ng mô hình hoá có th s dc bi và máy. II. Các quá trình OOAD 1. Phântíchhướngđốitượng (Object Oriented Analysis - OOA): an phát trin mt mô hình chính xác và súc tích ca v, có thành phi ng và khái nii thc, d hii vi s dng. n OOA, v c trình bày bng các thut ng ng vng có th thng cn phi không chuyên Tin hc có th d dàng hic. Da trên mt v có sn, nhà phântích cn ánh x ng hay thc th có th t k tc bn thit k gn cn vi tình hung thc. Mô hình thit k s cha các thc th trong mt v có thc và gi nguyên các mu hình v cu trúc, quan h a chúng. Nói mt cách khác, s dng 5 ng chúng ta có th mô hình hóa các thc th thuc mt v có thc mà vn gi c cu trúc, quan h a chúng. i vi ví d mn OOA s nhn bic các thc th Khách hàng i bán hàng Phit hàng Phi Xe ô tô ging trên là: i bán hàng dy xe. Khách hàng chn mt chic xe Khách hàng vit phit xe Khách hàng tr tin xe n cho khách hàng i vi ví d n OOA s nhn bic các thc th Loi tài khon: ATM (rút tin t ng), Savings (tit kim), Current (bình Khách hàng Nhân viên Phòng máy tính. ging trên: Mt khách hàng mi m mt tài khon tit kim Chuyn tin t tài khon tit kim sang tài kho Chuyn tin t tài khon tit kim sang tài khon ATM Xin chú ý là n c hai khía cnh: thông tin và cách hong ca h thng (tc là nhng gì có th xy ra vi nh Li phântích bng kiu ánh x i th tht s m ln ca ng. 2. Thiếtkếhướngđốitượng (Object Oriented Design - OOD): 6 n t chp hng cng tác, mng trong c th ca mt lp. Các lp là thành viên ca mt cây cu trúc vi mi quan h tha k. Mn OOD là to thit k da trên kt qu cn OOA, da trên nhnh phi chng yêu cu v ng, nhng yêu cu v kh thc thi, OOD tp trung vào vic ci thin kt qu ca OOA, tc cung cp trong khi vm bo tho mãn tt c các yêu cc xác lp. n OOD, nhà thit k tc (operations), thuc tính i quan h ca mt hay nhiu lp (class) và quynh chúng cn phi u chnh sao cho phù hp vng phát tri thit k ngân hàng d liu và áp dng các k thut tiêu chun hóa. V cun OOD, nhà thit k t lot các bi (diagram) khác nhau. Các bi này có th ng. Các bi u th các lng, trong khi bi ng biu th a các lc ho ng chính xác ca chúng. Các l c nhóm thành các gói (Packages) t thành phn nh a ng dng. 3. Lậptrìnhhướngđốitượng (Object Oriented Programming - OOP): n xây dng phn mm có th c thc hin s dng k thut li c thc hin thit k ng qua vic s dng mt ngôn ng lp trình có h tr ng. Mt vài ngôn ng ng c nhc ti là C++ và Java. Kt qu chung cuc cn này là mt lot các code chc, nó ch di qua nhiu vòng quay ca nhic th nghim khác nhau. III. Tiến trình Objectory Chu trình ca mt phn mm có th Nghiên c (Preliminary Investigation hay còn gi là Feasibility Study) Phântích yêu cu (Analysis) Thit k h thng (Design of the System) Xây dng phn mm (Software Construction) Th nghim h thng (System Testing) Thc hin, trin khai (System Implementation) Bo trì, nâng cp (System Maintenance) a - Nghiên cứu sơ bộ: 7 Câu hi quan trng nht khi phát trin mt h thng hoàn toàn không phi câu hi mang tính ng phi câu hi v k thut. Nó là mt câu h có v c bit khó tr lt h th thc hin n là chính câu hi này trong thc t ng chng h t ra và li c tr li. Mc dù vic lm ln v nh sai lm v k thu dn ti tht bng thì d án có th c cu vãn n tài nguyên cùng s c gng quên mình ca các nhân viên tài gi chng mt ai và mu gì cu vãn cho mt h thng phn mm hoàn toàn chc cn ti hoc c gng t ng hóa mt quy trình lm lc. c khi bt tay vào mt d án, bn phi có m vi vic nm bt các yêu cu và xut hin khu. Nó hoàn tt mt phát biu: "H thng mà chúng ta mong mun s c nhng vit giai n này, chúng ta to nên mt bc tranh v t nhiu gi thuyt s c công nhn hay loi b. Các hong trong thng bao gm thu thng, nhn bit ri ro, nhn bit các giao din bên ngoài, nhn bit các các ch thng cn cung cp, và có th to mt vài nguyên m ng các khái nim ca h thng có th n t nhiu ngun khác nhau: khách hàng, vc, các nhà phát trin khác, chuyên gia v k ngh, các bn nghiên cu tính kh vic xem xét các h thn ti. Mt khía cnh cn nhc ti là code vit trong thi k ng s b "b c vit nhm mm tra hay tr giúp các gi thuyt khác nhau, ch i th c vit theo kt qu phântích và thit k th an nghiên c, nhóm phát trin h thng cn xem xét các yêu cu ca doanh nghip (cn dùng h thng), nhng ngun tài nguyên có th s dng, công ngh ng ca h i vi h thng mi. Có th thc hin tho lun, nghiên cu, xem xét khía ci, phântích kh i-l, phântích các ng hp s dng và to các nguyên m xây dng nên mt khái nim cho h th cùng vi các mm vi ca nó. n hành to mt phiên bn thô ca lch trình và k hoch s dng tài nguyên. Mt n nghiên c lp nên tp hp các yêu cu (dù m khái i vi mt h thng kh c mong mun, k c v n k thut ln xã hi. Mn nghiên c c thc hin tho dn ti các h thc mong mut tin, bt kh m lc nhng h thng thc hoàn tt hay s dng. 8 Kt qu cn nghiên c là Báo Cáo Kt Qu Nghiên Cu Tính Kh Thi. Khi h thc chp nhn da trên bn Phântích bu. b- Phântích yêu cầu tính kh thi ca h tho lp mt b ca d c coi là quan trng nht trong các công vic lp trình: hiu h thng cn xây di thc hin công vic này là nhà phân tích. Quá trìnhphântích nhìn chung là h qu ca vic tr li câu hi "H thng cn phi làm gì?". Quá trìnhphântích bao gm vic nghiên cu chi tit h thng doanh nghip hin thi, tìm cho ra nguyên lý hong ca nó và nhng v trí có th c nâng cao, ci thin. Bên cnh c nghiên cu xem xét các ch thng cn cung cp và các mi quan h ci phía ngoài h thng. Trong toàn b n này, nhà i dùng cn cng tác mt thit v nh các yêu ci vi h thng, ti cn ph thng. Nhng mc tiêu c th cn phântích là: nh h thng cn phi làm gì. Nghiên cu tht c các chn cung cp và nhng yu t liên quan Xây dng mt mô hình nêu bt bn cht v t m ng nhìn có thc i sng thc). v nhn s Kt qu c n phântích là b c T Yêu Cu (Requirements Specifications). c -Thiếtkế hệ thống n phân tích, khi các yêu cu c th i vi h thn tip theo là thit k cho các yêu cu mi. Công tác thit k xoay quanh câu hi chính: H th tha mãn các yêu cc T Yêu Cu? Mt s các công vic thc hin thit k: Nhn bit form nhp liu tùy theo các thành phn d liu cn nhp. Nhn bit reports và nhng output mà h thng mi phi sn sinh Thit k forms (v trên giy hay máy tính, s dng công c thit k) Nhn bit các thành phn d liu và b to database 9 c tính các th tc gii thích quá trình x lý t n output. Kt qu n thit k c T Thit K (Design Specifications). Bc T Thit K Chi Tit s c chuyn sang cho các l thc hin xây dng phn mm. d - Xây dựng phần mềm n vit lnh (code) thc s, to h thng. Ti vit code thc hin nhng yêu cc nhà thit k nh si vit code chu trách nhim vit tài lii thích th tc (procedure) mà anh ta tc vit nào và lý do cho vic này. m bc vit nên phi tho mãn mi yêu cc trong bn c T Thit K Chi Tii ving thi phi tin hành th nghim phn a mình. Phn th nghim n này có th c chính: Thử nghiệm đơn vị: i vit code chy th các pha mình vi d liu gi (test/dummy data). Vic thc hin theo mt k hoch thi vit code son ra. Mc n th ng kt qu i. n th nghi nhic gi là "Th hp trng" (White Box Testing) Thử nghiệm đơn vị độc lập: Công vic này do mt thành viên khác trong nhóm trách. Cn chi không có liên quan trc tin vic vit code c n th nghi m bo tính c lc th c thc hin da trên k hoch th i vit code son nên. e- Thử nghiệm hệ thống Sau khi các th tc th nghim riêng, cn phi th nghim toàn b h thng. Mi th tc tích hp và chy th, kim tra xem mi chi tic T Yêu Cu và nhng mong ch cc tho mãn. D liu th cc chn lc bit, kt qu c phát hin mi lch lc so vi mong ch. f - Thực hiện, triển khai n này, h thng va phát trin s c tri i dùng. i dùng tht s bt tay vào s dng h thng, nhóm các nhà phát trin cn to các file d liu cn thin luy m bo h thc s dng hu hiu nht. g - Bảo trì, nâng cấp 10 Tùy theo các bing s dng, h thng có th tr nên li thi hay cn phi c si nâng c s dng có hiu qu. Hong bo trì h thng có th rt khác bit tùy theo m si và nâng cp cn thit. Sơ đồ tổng quát các giai đoạn của Chu Trình Phát Triển Phần Mềm: Hình 1.3: tn ca Chu Trình Phát Trin Phn Mm Câu hỏi và bài tập 1. Hỏi: Mt s tp hp d liu phc tp nh c trình bày b th s truyn tn c nhii các d liu thô? 2. Hỏi: Mô hình giúp chúng ta t chc, trình bày trc quan, thu hiu và to nên các h thng phc tp. 3. Hỏim ln nht cng là tính tái s dng (Reusable)? Bài tập thực hành : 160 [...]... thay đổitrong cả hai phương diện: Phạm vi vấn đề và hạ tầng cơ sở Giai đoạn thiếtkế sẽ đưa ra kết quả là bản đặc tả chi tiết cho giai đoạn xây dựng hệ thống 16 1. 4- Giai đoạn xây dựng: Trong giai đoạn xây dựng (giai đoạn lập trình) , các lớp của giai đoạn thiếtkế sẽ được biến thành những dòng code cụ thể trong một ngôn ngữ lập trình hướngđốitượng cụ thể (không nên dùng một ngôn ngữ lậptrình hướng. .. theo dạng một biểu đồ đối tượng, nơi một loạt các đốitượng được chỉ ra cùng với mối quan hệ giữa chúng với nhau (sử dụng những ký hiệu như trong biểu đồ lớp/ biểu đồ đối tượng) Các mũi tên được vẽ giữa các đốitượng để chỉ ra dòng chảy thông điệp giữa các đốitượng Các thông điệp thường được đính kèm theo các nhãn (label), một trong những chức năng của nhãn là chỉ ra thứ tự mà các thông điệp được gửi... sẽ được phân bố ra sao trong cấu trúc vật lý - Nói một cách khác là nó có thể nằm trong máy tính nào) Ngoài các hướng nhìn kể trên, ngành công nghiệp phần mềm còn sử dụng cả các hướng nhìn khác, ví dụ hướng nhìn tĩnh-động, hướng nhìn logic-vật lý, quy trình nghiệp vụ (workflow) và các hướng nhìn khác UML không yêu cầu chúng ta phải sử dụng các hướng nhìn này, nhưng đây cũng chính là những hướng nhìn... miêu tả trong một loạt các hướng nhìn khác nhau, mỗi hướng nhìn sẽ thể hiện một bức ảnh ánh xạ của toàn bộ hệ thống và chỉ ra một khía cạnh riêng của hệ thống Hình 2. 1- Các View trongUML Mỗi một hướng nhìn được miêu tả trong một loạt các biểu đồ, chứa đựng các thông tin nêu bật khía cạnh đặc biệt đó của hệ thốngTrong thực tế khi phân tích và thiếtkế rất dễ xảy ra sự trùng lặpthông tin, cho nên một... miêu tả chi tiết hơn trong chương sau (Mô hình động) Hình 2. 5- Một ví dụ về biểu đồ trạng thái 2. 5- Biểu đồ trình tự (Sequence Diagram): Một biểu đồ trình tự chỉ ra một cộng tác động giữa một loạt các đốitượng (xem hình 3.6) Khía cạnh quan trọng của biểu đồ này là chỉ ra trình tự các thông điệp (message) được gửi giữa các đốitượng Nó cũng chỉ ra trình tự tương tác giữa các đối tượng, điều sẽ xảy ra... thống Tạo một khuôn mẫu hướng dẫn nhà phát triển trong suốt quá trình xây dựng hệ thống Ghi lại các quyết định của nhà phát triển để sử dụng sau này 2- Trước khi UML ra đời: Đầu những năm 1980, ngành côngnghệphần mềm chỉ có duy nhất một ngôn ngữ hướng đốitượng là Simula Sang nửa sau của thập kỷ 1980, các ngôn ngữ hướngđốitượng như Smalltalk và C++ xuất hiện Cùng với chúng, nảy sinh nhu cầu... độ phần mềm cao UML có thể được sử dụng làm công cụ giao tiếp giữa người dùng, nhà phân tích, nhà thiếtkế và nhà phát triển phần mềm Trong quá trình phát triển có nhiều công ty đã hỗ trợ và khuyến khích phát triển UML có thể kể tới như: Hewlett Packard, Microsoft, Oracle, IBM, Unisys 4- UML (Unifield Modeling Language): Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language – UML) là một ngôn... tĩnh của các lớp trong hệ thống (nhìn hình 3.3) Các lớp là đại diện cho các “vật” được xử lý trong hệ thống Các lớp có thể quan hệ với nhau trong nhiều dạng thức: liên kết (associated - được nối kết với nhau), phụ thuộc (dependent - một lớp này phụ thuộc vào lớp khác), chuyên biệt hóa (specialized - một lớp này là một kết quả chuyên biệt hóa của lớp khác), hay đóng gói ( packaged - hợp với nhau thành... được miêu tả chi tiết trong chương sau Hình 2.3 - Biểu đồ lớp cho một giao dịch Tài chính 22 4. 3- Biểu đồ đốitượng (Object Diagram): Một biểu đồ đốitượng là một phiên bản của biểu đồ lớp và thường cũng sử dụng các ký hiệu như biểu đồ lớp Sự khác biệt giữa hai loại biểu đồ này nằm ở chỗ biểu đồ đốitượng chỉ ra một loạt các đốitượng thực thể của lớp, thay vì các lớp Một biểu đồ đốitượng vì vậy là một... hình vẽ miêu tả nội dung trong một hướng nhìn UML có tất cả 9 loại biểu đồ khác nhau được sử dụng trong những sự kết hợp khác nhau để cung cấp tất cả các hướng nhìn của một hệ thống 17 Phần tử mô hình hóa (model element): Các khái niệm được sử dụng trong các biểu đồ được gọi là các phần tử mô hình, thể hiện các khái niệm hướngđốitượng quen thuộc Ví dụ như lớp, đối tượng, thông điệp cũng như các . phát trin UML có th k t 4- UML (Unifield Modeling Language): Ngôn ng mô hình hóa thng nht (Unifield Modeling Language UML) là mt. dụng UML. 1- UML và các giai đoạn của chu trình phát triển phần 1.1- Giai đoạn nghiên cứu sơ bộ: ái nim Use Case nm bt các yêu cu ci s dng). UML. Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language – UML) Ngôn ng mô hình hóa thng nht (Unifield Modeling Language UML) là mt ngôn ng biu ding