Giáo trình Công cụ hỗ trợ xây dựng phần mềm theo hướng đối tượng

pdf 58 trang huongle 3970
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Công cụ hỗ trợ xây dựng phần mềm theo hướng đối tượng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_cong_cu_ho_tro_xay_dung_phan_mem_theo_huong_doi_t.pdf

Nội dung text: Giáo trình Công cụ hỗ trợ xây dựng phần mềm theo hướng đối tượng

  1. z Công cụ hổ trợ xây dựng phần mềm theo hướng đối tượng
  2. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 1 MUÅC LUÅC MÚÃ ÀÊÌU 7 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûoång 9 Giai àoaån kiïím chûáng 2 9 HIÏÅN TRAÅNG VAÂ YÏU CÊÌU 9 1. Hiïån traång 9 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûoång 10 Giai àoaån kiïím chûáng 3 10 CÖNG CUÅ PHÊN TÑCH THIÏËT KÏË PHAÁT SINH VN_Case 10 (ÀHKHTN, TPHCM) 10 Cöng cuå höî trúå phêìn mïìm theo hûúáng àöëi tûúång 10 Giai àoaån kiïím chûáng 4 10 CÖNG CUÅ PHÊN TÑCH THIÏËT KÏË PHAÁT SINH VISUAL MODELER (Rational + Microsoft) 10 Cöng cuå höî trúå xêy dûång phêìn mïìm theo àöëi tûúång 11 Giai àoaån kiïím chûáng 5 11 Cöng cuå höî trúå xêy dûång phêìn mïìm theo àöëi tûúång 12 Giai àoaån kiïím chûáng 6 12 1.2. Yïâu cêìu 12 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 12 Giai àoaån kiïím chûáng 7 12 PHÊN TÑCH 12 2. Sú àöì lúáp àöëi tûúång tham gia 12 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 13 Giai àoaån kiïím chûáng 8 13 2.2. Danh saách caác lúáp àöëái tûúång, quan hïå STT tïn Lúáp àöëi tûúång loaåi diïîn giaãi 13 Cöng cuå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 14 Giai àoaån kiïím chûáng 9 14 2.3. Danh saách caác thuöåc tñnh vaâ haânh àöång cuãa caác Lúáp àöëái tûúång 14
  3. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 2 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 15 Giai àoaån kiïím chûáng 10 15 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 15 Giai àoaån kiïím chûáng 11 15 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 16 Giai àoaån kiïím chûáng 12 16 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 17 Giai àoaån kiïím chûáng 13 17 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 17 Giai àoaån kiïím chûáng 14 17 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 18 Giai àoaån kiïím chûáng 15 18 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 19 Giai àoaån kiïím chûáng 16 19 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 19 Giai àoaån kiïím chûáng 17 19 Cöng cuå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 20 Giai àoaån kiïím chûáng 18 20 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 21 Giai àoaån kiïím chûáng 19 21 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 21 Giai àoaån kiïím chûáng 20 21 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 21 Giai àoaån kiïím chûáng 21 21 Cöng cuå höî trúå phêìn mïìm theo hûúáng àöëi tûúång 22 Giai àoaån kiïím chûáng 22 22 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 23 Giai àoaån kiïím chûáng 23 23 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 23 Giai àoaån kiïím chûáng 24 23 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 24 Giai àoaån kiïím chûáng 25 24 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 24 Giai àoaån kiïím chûáng 26 24 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 25 Giai àoaån kiïím chûáng 27 25 3. Thiïët kïë 25
  4. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 3 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 25 Giai àoaån kiïím chûáng 28 25 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 26 Giai àoaån kiïím chûáng 29 26 Cöng cuå höî trú å xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 27 Giai àoaån kiïím chûáng 30 27 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 27 Giai àoaån kiïím chûáng 31 27 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 28 Giai àoaån kiïím chûáng 32 28 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 28 Giai àoaån kiïím chûáng 33 28 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 28 Giai àoaån kiïím chûáng 34 28 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 29 Giai àoaån kiïím chûáng 35 29 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 30 Giai àoaån kiïím chûáng 36 30 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 30 Giai àoaån kiïím chûáng 37 30 Cöng cuå höî trúå phêìn mïìm theo hûúáng àöëi tûúång 30 Giai àoaån kiïím chûáng 38 30 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 31 Giai àoaån kiïím chûáng 39 31 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 31 Giai àoaån kiïím chûáng 40 31 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 32 Giai àoaån kiïím chûáng 41 32 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 32 Giai àoaån kiïím chûáng 42 32 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 32 Giai àoaån kiïím chûáng 43 32 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 33 Giai àoaån kiïím chûáng 44 33 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 33 Giai àoaån kiïím chûáng 45 33 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 34
  5. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 4 Giai àoaån kiïím chûáng 46 34 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 35 Giai àoaån kiïím chûáng 47 35 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 35 Giai àoaån kiïím chûáng 48 35 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 35 Giai àoaån kiïím chûáng 49 35 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 35 Giai àoaån kiïím chûáng 50 35 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 35 Giai àoaån kiïím chûáng 51 35 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 36 Giai àoaån kiïím chûáng 52 36 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 36 Giai àoaån kiïím chûáng 53 36 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 36 Giai àoaån kiïím chûáng 54 36 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 36 Giai àoaån kiïím chûáng 55 36 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 36 Giai àoaån kiïím chûáng 56 36 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng hïå thöëng 36 Giai àoaån kiïím chûáng 57 36 Cöng cuå hö î trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûoång 37 Giai àoaån kiïím chûáng 58 37 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 38 Giai àoaån kiïím chûáng 59 38 Cong cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 38 Giai àoaån kiïím chûáng 60 38 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 39 Giai àoaån kiïím chûáng 61 39 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 39 Giai àoaån kiïím chûáng 62 39 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 40 Giai àoaån kiïím chûáng 63 40 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 40 Giai àoaån kiïím chûáng 64 40
  6. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 5 Cöng cu å höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 41 Giai àoaån kiïím chûáng 65 41 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 42 Giai àoaån kiïím chûáng 66 42 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 42 Giai àoaån kiïím chûáng 67 42 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 43 Giai àoaån kiïím chûáng 68 43 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 44 Giai àoaån kiïím chûáng 69 44 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 44 Giai àoaån kiïím chûáng 70 44 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 45 Giai àoaån kiïím chûáng 71 45 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 45 Giai àoaån kiïím chûáng 72 45 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 46 Giai àoaån kiïím chûáng 73 46 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 46 Giai àoaån kiïím chûáng 74 46 4. Caâi àùåt vaâ thûã nghiïåm 46 Cöng cuå höî trú å xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 47 Giai àoaån kiïím chûáng 75 47 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 48 Giai àoaån kiïím chûáng 76 48 5. Kïët luêån 48 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöñ tûúång 49 Giai àoaån kiïím chûáng 77 49 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöñt tûúång 50 Giai àoaån kiïím chûáng 78 50 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 50 Giai àoaån kiïím chûáng 79 50 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 51 Giai àoaån kiïím chûáng 80 51 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 54 Giai àoaån kiïím chûáng 81 54 PHUÅ LUÅC 54
  7. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 6 A-Hûúáng dêîn sûã duång phêìn mïìm 54 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 55 Giai àoaån kiïím chûáng 82 55 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 55 Giai àoaån kiïím chûáng 83 55 B-Kïët quaã thûã nghiïåm 55 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 55 Giai àoaån kiïím chûáng 84 55 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 56 Giai àoaån kiïím chûáng 85 56 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 56 Giai àoaån kiïím chûáng 86 56 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 56 Giai àoaån kiïím chûáng 87 56 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång 56 Giai àoaån kiïím chûáng 88 56
  8. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 7
  9. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 8 MÚÃ ÀÊÌU Ngaânh Cöng Nghïå Thöng Tin ra àúâi nhû thöíi möåt luöìng gioá múái vaâo têët caã caác lônh vûåc àúâi söëng - xaä höåi. Àùåc biïåt nhûäng nùm gêìn àêy, sûå phaát triïín nhanh choáng cuãa caác cöng nghïå phêìn cûáng àaä múã ra möåt khung trúâi múái cho cöng nghïå phêìn mïìm. Nhûäng thaânh tûåu maâ cöng nghïå phêìn mïìm àaåt àûúåc khöng thïí boã qua sûå àoáng goáp cuãa caác Möi Trûúâng Phaát Triïín Phêìn Mïìm (SDE : Software Development Environment) maâ baãn thên noá chñnh laâ sûå tñch húåp cuãa caác cöng cuå phêìn cûáng vaâ caác cöng cuå phêìn mïìm. Vúái àïì taâi “CÖNG CUÅ HÖÎ TRÚÅ XÊY DÛÅNG PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG”, chuáng töi hy voång seä àoáng goáp möåt phêìn hûäu ñch cho phûúng phaáp Xêy Dûång Phêìn Mïìm Theo Hûúáng Àöëi Tûúång, cuäng nhû laâm phong phuá hún nhûäng böå cöng cuå phêìn mïìm.
  10. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 9 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûoång Giai àoaån kiïím chûáng 2 HIÏÅN TRAÅNG VAÂ YÏU CÊÌU 1. Hiïån traång Phûúng phaáp hûúáng àöëi tûúång laâ möåt kyä thuêåt múái sûã duång caác àöëi tûúång vaâ caác lúáp àöëi tûúång trong phên tñch, thiïët kïë vaâ caâi àùåt. Phûúng phaáp hûúáng àöëi tûúång hiïån laâ phûúng phaáp töët nhêët cho cöng nghïå phêìn mïìm. Viïåc sûã duång caác àöëi tûúång laâm cho phûúng phaáp hûúáng àöëi tûúång khaác vúái caác kyä thuêåt khaác nhû laâ phûúng phaáp cêëu truác truyïìn thöëng hay phûúng phaáp toaán hoåc. Caác àöëi tûúång taåo nïn sûå nhêët quaán suöët caác giai àoaån phên tñch, thiïët kïë vaâ caâi àùåt khi nhêën maånh caác traång thaái, haânh àöång, vaâ tûúng taác cuãa caác àöëi tûúång trong mö hònh. Trong khi caác tiïën trònh thûúâng thay àöíi thò hïå thöëng caác àöëi tûúång ñt thay àöíi laâm cho hïå thöëng hûúáng àöëi tûúång ñt bõ thay àöíi hún. Hïå thöëng àûúåc xêy dûång hûúáng àöëi tûúång thûúâng àûúåc phaát triïín nhanh hún, chêët lûúång àûúåc caãi tiïën, dïî baão trò vaâ tñnh tiïën hoáa cao. Ngoaâi ra, phûúng phaáp hûúáng àöëi tûúång seä taåo ra mö hònh thïë giúái thûåc tûå nhiïn hún. Tñnh taái sûã duång cuäng laâ möåt ûu àiïím khaá nöíi bêåt cuãa phûúng phaáp hûúáng àöëi tûúång. Phûúng phaáp hûúáng àöëi tûúång ngaây caâng àûúåc sûã duång phöí biïën. Tuy nhiïn, viïåc mö hònh hoáa thïë giúái thûåc, aánh xaå tûâ mö hònh thïë giúái thûåc sang mö hònh phêìn mïìm cuäng nhû taåo dûä liïåu thûã bùçng tay mêët khaá nhiïìu thúâi gian. Trong khi àoá, duâ cêìn coá sûå àiïìu chónh cuãa con ngûúâi, nhûng möåt phêìn cöng viïåc coá thïí tûå àöång hoáa. Cho nïn, viïåc sûã duång caác cöng cuå höî trúå laâ thiïët thûåc vaâ hûäu ñch. Mùåc duâ hiïån nay söë cöng cuå höî trúå phên tñch, thiïët kïë cuäng nhû thûã nghiïåm phêìn mïìm khöng ñt, nhûng caác cöng cuå naây chûa àûúåc phöí biïën lùæm úã Viïåt Nam. Möåt phêìn la â vò caác phêìn mïìm naây chó àûúåc sûã duång trong giúái laâm phêìn mïìm vaâ trong trûúâng hoåc, möåt phêìn vò chi phñ caác phêìn mïìm naây quaá cao.
  11. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 10 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûoång Giai àoaån kiïím chûáng 3 CÖNG CUÅ PHÊN TÑCH THIÏËT KÏË PHAÁT SINH VN_Case (ÀHKHTN, TPHCM) - Taåo mö hònh thûåc thïí kïët húåp - Kiïím tra tñnh àuáng àùæn cuãa mö hònh - Xuêët ra file .ERT - AÁnh xaå tûâ mö hònh thûåc thïí kïët húåp sang mö hònh quan hïå (khöng cho chónh sûãa trïn mö hònh naây) - Khung CSDL trïn SQL vaâ MS Access 2.0 Power Designer (SyBase) - Taåo mö hònh quan niïåm - Kiïím tra tñnh àuáng àùæn cuãa mö hònh - Xuêët ra file .CDM - AÁnh xaå qua mö hònh vêåt lyá (thïm caác thuöåc tñnh khoáa ngoaåi, phaát sinh baãng múái cho quan hïå m-n) - Kiïím tra tñnh àuáng àùæn cuãa mö hònh - Xuêët ra file .PDM - Khung CSDL trïn caác hïå QTCSDL nhû (dBase, AS/400, Foxpro, Ingress, MS Access, Ocracle, SyBase SQL, MS SQL Server ) - Raâng buöåc khoáa chñnh, khoáa ngoaåi, miïìn giaá trõ - Caác maân hònh tûúng ûáng vúái caác thaânh phêìn trong mö hònh vêåt lyá Cöng cuå höî trúå phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 4 CÖNG CUÅ PHÊN TÑCH THIÏËT KÏË PHAÁT SINH VISUAL MODELER (Rational + Microsoft) - Taåo mö hònh 3 Lúáp theo ngön ngûä UML - Kiïím tra tñnh àuáng àùæn cuãa mö hònh - Xuêët ra file .MDL
  12. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 11 - Maân hònh chñnh trïn Visual C++ Rational Rose (Rational) - Taåo mö hònh 3 Lúáp theo ngön ngûä UML - Kiïím tra tñnh àuáng àùæn cuãa mö hònh - Xuêët ra file .MDL - Maä nguöìn trïn caác ngön ngûä lêåp trònh thïë hïå thûá 4 Hònh1.1 Möåt vaâi cöng cuå höî trúå phên tñch - thiïët kïë hiïån coá Cöng cuå höî trúå xêy dûång phêìn mïìm theo àöëi tûúång Giai àoaån kiïím chûáng 5 Trong khi caác phêìn mïìm höî trúå phên tñch thiïët kïë hiïån àang coá trïn thõ trûúâng khöng nhiïìu thò caác phêìn mïìm phaát sinh dûä liïåu thûã nghiïåm laåi caâng ñt hún. Möåt söë phêìn mïìm phaát sinh dûä liïåu cho möåt loaåi chûúng trònh naâo àoá, vñ duå cho kiïíu phêìn mïìm naây laâ phêìn mïìm ClimGen phaát sinh caác dûä liïåu thûã nghiïåm vïì thúâi tiïët theo möåt mêîu naâo àoá. Möåt söë phêìn mïìm phaát sinh dûä liïåu theo hûúáng phuã àêìy caác àûúâng ài cho möåt module trong chûúng trònh, vñ duå nhû Datatect. Phêìn mïìm naây coá thïí phaát sinh dûä liïåu cho caác tïåp dûä liïåu hoùåc caác cú súã dûä liïåu (trong caác hïå quaãn trõ cú súã dûä liïåu MS SQL Server, MS Access, Oracle, Informix, Sybase), dûä liïåu coá thïí laâ kiïíu söë, ngaây hoùåc chuöîi (tïn, hoå, àõa chó, söë àiïån thoaåi, maä vuâng) theo möåt danh muåc naâo àoá. Dûä liïåu do phêìn mïìm naây phaát sinh thoaã raâng buöåc khoáa ngoaåi cuãa cú súã dûä liïåu. Tuy nhiïn, dûä liïåu do phêìn mïìm naây phaát sinh laåi khöng thoãa caác loaåi raâng buöåc khaác cuãa cú súã dûä liïåu vaâ phaåm vi ûáng duång chuã yïëu trong lônh vûåc quaãn lyá nhên sûå. Tuy nhiïn, caác phêìn mïìm phaát sinh dûä liïåu naây hêìu nhû khöng thêëy trïn thõ trûúâng Viïåt Nam. Trong khi àoá, dûä liïåu thûã nghiïåm laâ khöng thïí thiïëu trong quaá trònh phaát triïín phêìn mïìm vaâ viïåc nhêåp dûä liïåu bùçng tay thò khaá nhaâm chaán vaâ mêët rêët nhiïìu thúâi gian. Hiïån nay, viïåc sûã duång cöng cuå ngaây caâng phöí biïën vaâ cöng cuå àaä bùæt àêìu ài vaâo trong giaãng daåy. Nhûng do caác cöng cuå naây thûúâng àûúåc thiïët kïë cho möåt töí chûác saãn xuêët phêìn mïìm riïng biïåt vaâ chi phñ mua caác cöng cuå naây laåi quaá cao, cho nïn viïåc sûã duång caác cöng cuå trong giaãng daåy vêîn coân haån chïë. Hún nûäa, caác cöng cuå naây khöng theo saát vúái lyá thuyïët àûúåc hûúáng dêîn trong nhaâ trûúâng. Do àoá, chuáng töi thûåc hiïån àïì taâi naây vúái mong muöën coá thïí höî trúå cho quaá trònh thûåc hiïån phêìn mïìm vaâ minh hoåa phêìn naâo cho phûúng phaáp xêy dûång phêìn mïìm hûúáng àöëi tûúång àaä àûúåc giaãng daåy .
  13. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 12 Cöng cuå höî trúå xêy dûång phêìn mïìm theo àöëi tûúång Giai àoaån kiïím chûáng 6 1.2. Yïâu cêìu - Yïu cêìu chung Àïì taâi àûúåc xêy dûång chuã yïëu àïí höî trúå möåt söë cöng àoaån trong quy trònh Xêy Dûång Phêìn Mïìm theo Hûúáng Àöëi Tûúång: Höî trúå phaát triïín phêìn mïìm nhanh dûåa trïn böå thû viïån sú àöì Lúáp coá sùén. Höî trúå giai àoaån caâi àùåt, thûã nghiïåm phêìn mïìm vaâ têåp trung chuã yïëu vaâo viïåc phaát sinh caác cú súã dûä liïåu thûã nghiïåm cuâng vúái caác haâm kiïím tra raâng buöåc. - Yïu cêìu chi tiïët • Lûu trûä: Caác thöng tin vïì sú àöì Lúáp cuäng nhû sú àöì Logic vaâ caác raâng buöåc trïn sú àöì • Tñnh toaán + Phaát sinh cú súã dûä liïåu thûã nghiïåm trïn Ms SQL Server (dûúái daång file script) vaâ MS Access (dûúái daång file .mdb) + Phaát sinh haâm kiïím tra raâng buöåc dûúái daång trigger trïn Ms SQL Server vaâ ra file .cpp trïn Visual C++. • Kïët xuêët + Caác baáo caáo vïì raâng buöåc trïn sú àöì Lúáp, Logic + Caác baáo caáo vïì caác haâm kiïím tra raâng buöåc àûúåc phaát sinh + Caác baáo caáo vïì caác CSDL àûúåc phaát sinh. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 7 PHÊN TÑCH 2. Sú àöì lúáp àöëi tûúång tham gia Thaânh phêìn Thaânh phêìn lúáp Thuöåc tñnh
  14. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 13 Thuöåc tñnh lúáp Thaânh phêìn logic Thuöåc tñnh logic Sú àöì Sú àöì lúáp Sú àöì logic Hònh 2.1 Sú àöì lúáp àöëi tûúång Thuöåc Bao göìm Liïn kïët Lúáp àöëi tûúång Quan hïå Tham gia Raâng buöåc Liïn quan Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 8 2.2. Danh saách caác lúáp àöëái tûúång, quan hïå STT tïn Lúáp àöëi tûúång loaåi diïîn giaãi 1 Sú àöì LÀT chñnh 2 Sú àöì Lúáp àöëi tûúång LÀT chñnh 3 Sú àöì Logic LÀT chñnh 4 Thaânh phêìn LÀT chñnh 5 Thaânh phêìn Lúáp LÀT chñnh Thaânh phêìn úã sú àö ì Lúáp 6 Thaânh phêìn Logic LÀT chñnh Thaânh phêìn úã sú àöì Logic 7 Lúáp àöëi tûúång LÀT chñnh Lúáp àöëi tûúång úã sú àöì Lúáp 8 Quan hïå LÀT chñnh Quan hïå úã sú àöì Lúáp 9 Tham gia Quan hïå Quan hïå m-n 10 Thuöåc tñnh LÀT chñnh 11 Thuöåc tñnh Lúáp LÀT chñnh Thuöåc tñnh cuãa Lúáp àöëi tûúång 12 Thuöåc tñnh Logic LÀT chñnh Thuöåc tñnh cuãa thaânh phêìn 13 Raâng buöåc LÀT chñnh Raâng buöåc trong sú àöì 14 Liïn kïët Quan hïå Quan hïå bêåc n 15 Hònh hoåc cú baãn LÀT phuå
  15. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 14 16 Thïí hiïån LÀT phuå 17 Cöng cuå LÀT phuå Duâng àïí veä caác àöëi tûúång 18 Cöng cuå choån LÀT phuå 19 Cöng cuå veä thaânh phêìn LÀT phuå 20 Cöng cuå veä quan hïå LÀT phuå 21 Cöng cuå hònh hoåc cú baãn LÀT phuå Cöng cuå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 9 2.3. Danh saách caác thuöåc tñnh vaâ haânh àöång cuãa caác Lúáp àöëái tûúång 2.3.1. Lúáp àöëi tûúång [SÚ ÀÖÌ] Diïîn giaãi: Lúáp àöëi tûúång cú súã cuãa caác Lúáp sú àöì: [SÚ ÀÖÌ LÚÁP ÀÖËI TÛÚÅNG] vaâ [SÚ ÀÖÌ LOGIC] a. Thuöåc tñnh: Stt Thuöåc tñnh Kiïíu dûä liïåu Mö taã Ghi chuá 1 Tïn sú àöì Chuöîi Tïn cuãa sú àöì duâng àïí phên biïåt vúái sú àöì khaác. 2 Loaåi sú àöì Söë Loaåi sú àöì: Lúáp àöëi tûúång, Logic. 3 Kñch thûúác (Söë, söë) Kñch thûúác baãn veä cuãa sú àöì. 4 Maâu nïìn Söë Maâu nïìn cuãa baãn veä. 5 Tïn taác giaã Chuöîi Tïn cuãa taác giaã veä sú àöì. 6 Ngaây taåo lêåp Ngaây Ngaây taåo lêåp sú àöì. 7 Diïîn giaãi Chuöîi Àûúåc duâng cho tûâ àiïín dûä liïåu. b. Haânh àöång: - Cung cêëp caác thöng tin vïì sú àöì. - Thay àöíi caác thöng tin vïì sú àö ì (ngoaåi trûâ [Loaåi sú àöì]). - Cung cêëp söë lûúång caác àöëi tûúång. - Thïm caác àöëi tûúång vaâo sú àöì vúái tïn àûúåc phaát sinh àöång. - Xoáa caác àöëi tûúång cuãa sú àöì cuâng vúái caác àöëi tûúång coá liïn quan. - Sûãa caác àöëi tûúång cuãa sú àöì.
  16. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 15 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 10 - Choån caác àöëi tûúång cuãa sú àöì (riïng reã tûâng àöëi tûúång, nhoám caác àöëi tûúång, têët caã caác àöëi tûúång). - Tòm thaânh phêìn vaâ quan hïå trong sú àöì theo tïn. - Thöëng kï caác thaânh phêìn vaâ quan hïå. - Veä caác àöëi tûúång trong sú àöì. - Canh chónh caác thaânh phêìn. - Hiïín thõ moåi thaânh phêìn dûúái daång àêìy àuã, thu goån. - Àoåc sú àöì tûâ têåp tin. - Ghi sú àöì lïn têåp tin. - Nhêåp sú àö ì tûâ thû viïån vaâo phêìn mïìm. - Xuêët sú àöì tûâ phêìn mïìm ra thû viïån. - Kiïím tra tñnh húåp lïå cuãa sú àöì. - Phaát sinh baáo biïíu vïì caác thaânh phêìn vaâ caác quan hïå. - In êën sú àöì ra giêëy. 2.3.2. Lúáp àöëi tûúång [SÚ ÀÖÌ LÚÁP ÀÖËI TÛÚÅNG] Diïîn giaãi: Biïíu diïîn sú àöì Lúáp àöëi tûúång, bao göìm caác Lúáp àöëi tûúång vaâ möëi quan hïå giûäa chuáng. a. Thuöåc tñnh: (Khöng coá) Sú àöì Sú àöì lúáp àöëi b. Haânh àöång: - Phaát sinh sú àöì Logic tûâ sú àöì Lúáp àöëi tûúång. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 11 2.3.3. Lúáp àöëi tûúång [SÚ ÀÖÌ LOGIC] Diïîn giaãi: Biïíu diïîn sú àöì Logic,bao göìm caác thaânh phêìn Logic vaâ caác quan hïå giûäa chuáng.
  17. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 16 a. Thuöåc tñnh: (Khöng coá) b. Haânh àöång: - Chi tiïët hoáa quan hïå xaác àõnh duy nhêët. - Nhoám caác thaânh phêìn. - Phaát sinh cú súã dûä liïåu theo hai phûúng phaáp: • Thöng qua cú chïë DAO. • Thöng qua cú chïë ODBC. - Phaát sinh caác Lúáp cuãa ngön ngûä lêåp trònh Microsoft Visual C++ giuáp thao taác cú súã dûä liïåu theo hai phûúng phaáp: • Thöng qua cú chïë DAO. • Thöng qua cú chïë ODBC. Sú àöì Sú àöì logic Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 12 2.3.4. Lúáp àöëi tûúång [THAÂNH PHÊÌN] Diïîn giaãi: Lúáp àöëi tûúång cú súã cuãa caác Lúáp àöëi tûúång: [LÚÁP ÀÖËI TÛÚÅNG] vaâ [THAÂNH PHÊÌN LOGIC] a. Thuöåc tñnh: Stt Thuöåc tñnh Kiïíu dûä liïåu Mö taã Ghi chuá 1 Tïn thaânh phêìn: Chuöîi Tïn cuãa Lúáp àöëi tûúång hay thaânh phêìn Logic. 2 Loaåi thaânh phêìn: Söë Loaåi thaânh phêìn: Lúáp àöëi tûúång hay thaânh phêìn Logic. 3 Thïí hiïån Biïíu diïîn thïí hiïån tuây thuöåc vaâo loaåi thaânh phêìn: ÀT Phuå 4 Diïîn giaãi Chuöîi Àûúåc duâng cho tûâ àiïín dûä liïåu. b. Haânh àöång: - Thay àöíi tïn thaânh phêìn. - Cung cêëp tïn thaânh phêìn. - Thay àöíi thïí hiïån. - Àoåc thaânh phêìn tûâ têåp tin. - Ghi thaânh phêìn lïn têåp tin. - Kiïím tra tñnh húåp lïå cuãa tïn thaânh phêìn. - Thïm, xoáa, sûãa thuöåc tñnh. - Kiïím tra thuöåc tñnh bõ truâng lùåp.
  18. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 17 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 13 2.3.5. Lúáp àöëi tûúång [THAÂNH PHÊÌN LÚÁP] Diïîn giaãi: Lúáp àöëi tûúång cú súã cuãa caác Lúáp àöëi tûúång: [LÚÁP ÀÖËI TÛÚÅNG] vaâ [QUAN HÏÅ] a. Thuöåc tñnh: (Khöng coá) b. Haânh àöång: - A'nh xaå thaânh Lúáp àöëi tûúång THAÂNH_PHÊÌN_LOGIC cuãa sú àöì Logic. 2.3.6. Lúáp àöëi tûúång [THAÂNH PHÊÌN LOGIC] Diïîn giaãi: Biïíu diïîn thaânh phêìn Logic cuãa sú àöì Logic. a. Thuöåc tñnh: (Khöng coá) b. Haânh àöång: Thaânh phêìn Thaânh phêìn Thaânh phêìn Thaânh phêìn Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 14 - Phaát sinh àõnh nghôa “quan hïå” trong hïå quaãn trõ cú súã dûä liïåu quan hïå tûúng ûáng. - Phaát sinh àõnh nghôa “Lúáp” thao taác trïn cú súã dûä liïåu tûúng ûáng trong ngön ngûä lêåp trònh Microsoft Visual C++. 2.3.7. Lúáp àöëi tûúång [LÚÁP ÀÖËI TÛÚÅNG] Diïîn giaãi: Biïíu diïîn Lúáp àöëi tûúång cuãa sú àöì Lúáp àöëi tûúång. a. Thuöåc tñnh: (Khöng coá) b. Haânh àöång:
  19. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 18 - A'nh xaå thaânh [THAÂNH PHÊÌN LOGIC] cuãa sú àöì Logic. 2.3.8. Lúáp àöëi tûúång [QUAN HÏÅ] Diïîn giaãi: Biïíu diïîn quan hïå giûäa caác Lúáp àöëi tûúång cuãa sú àöì Lúáp àöëi tûúång. Coá caác loaåi liïn kïët sau: quan hïå 1-n, quan hïå m-n, quan hïå àïå quy 1-n, quan hïå àïå quy m-n, quan hïå bêåc n, quan hïå àùåc biïåt hoáa, kñ hiïåu têåp con, Thaânh phêìn lúáp, Lúáp àöëi tûúång, Thaânh phêìn, Quan hïå Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 15 a. Thuöåc tñnh: Stt Thuöåc tñnh Kiïíu dûä liïåu Mö taã Ghi chuá 1 Tïn quan hïå Chuöîi 2 Loaåi quan hïå Söë 3 Thïí hiïån ÀT phuå b. Haânh àöång: - Cung cêëp tïn quan hïå. - Thay àöíi tïn quan hïå. - Kiïím tra tñnh húåp lïå cuãa tïn quan hïå. - A'nh xaå thaânh [THAÂNH PHÊÌN LOGIC] hay caác [LIÏN KÏËT] cuãa sú àöì Logic tuây thuöåc vaâo tûâng loaåi quan hïå. 2.3.9. Quan hïå [LIÏN KÏËT] Diïîn giaãi: Thïí hiïån quan hïå giûäa caác [LÚÁP ÀÖËI TÛÚÅNG] vaâ [Quan hïå] trong sú àöì Lúáp àöëi tûúång. 2.3.10. Lúáp àöëi tûúång [THUÖÅC TÑNH] Diïîn giaãi: Lúáp àöëi tûúång cú súã cuãa Lúáp àöëi tûúång [THUÖÅC TÑNH LÚÁP] vaâ [THUÖÅC TÑNH LOGIC] a. Thuöåc tñnh: Stt Thuöåc tñnh Kiïíu dûä liïåu Mö taã Ghi chuá
  20. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 19 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 16 1 Tïn thuöåc tñnh Chuöîi Tïn cuãa thuöåc tñnh 2 Kiïíu dûä liïåu Chuöîi 3 Loaåi thuöåc tñnh Söë Göìm caác loaåi: thöng thûúâng, Rúâi raåc, ÀT phuå àún trõ, ÀT phuå àa trõ 1-n, ÀT phuå àa trõ m-n 4 Nguöìn göëc Söë Bao göìm caác nguöìn göëc sau: taác nhên, thúâi gian, khöng gian, traång thaái, khaác 5 Diïîn giaãi Chuöîi Àûúåc duâng cho tûâ àiïín dûä liïåu Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 17 b. Haânh àöång: - Thay àöíi caác thöng tin cuãa thuöåc tñnh. - Kiïím tra tñnh húåp lïå cuãa thuöåc tñnh. - Àoåc thuöåc tñnh tûâ têåp tin. - Ghi thuöåc tñnh lïn têåp tin. 2.3.11. Lúáp àöëi tûúång [THUÖÅC TÑNH LÚÁP] Diïîn giaãi: Thuöåc tñnh cuãa Lúáp àöëi tûúång [LÚÁP ÀÖËI TÛÚÅNG] trong sú àöì Lúáp àöëi tûúång. a. Thuöåc tñnh: (Khöng coá) b. Haânh àöång: - A'nh xaå thaânh [THUÖÅC TÑNH LOGIC] cuãa Lúáp àöëi tûúång [THAÂNH PHÊÌN LOGIC] trong sú àöì Logic. 2.3.12. Lúáp àöëi tûúång [THUÖÅC TÑNH LOGIC] Thuöåc tñnh Thuöåc tñnh Thuöåc tñnh Thuöåc tñnh Diïîn giaãi: Thuöåc tñnh cuãa Lúáp àöëi tûúång [THAÂNH PHÊÌN LOGIC] trong sú àöì Logic.
  21. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 20 a. Thuöåc tñnh: Stt Thuöåc tñnh Kiïíu dûä liïåu Mö taã Ghi chuá 1 Khoáa chñnh Luêån lyá 2 Chó muåc Luêån lyá 3 Bùæt buöåc Luêån lyá 4 Chiïìu daâi söë 5 Phêìn thêåp phên söë b. Haânh àöång: - Phaát sinh àõnh nghôa “trûúâng” trong hïå quaãn trõ cú súã dûä liïåu quan hïå tûúng ûáng. - Phaát sinh àõnh nghôa “thuöåc tñnh” tûúng ûáng trong ngön ngûä lêåp trònh Microsoft Visual C++. Cöng cuå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 18 2.3.13. Lúáp àöëi tûúång [RAÂNG BUÖÅC] Diïîn giaãi: Raâng buöåc trong sú àöì a. Thuöåc tñnh: Stt Thuöåc tñnh Kiïíu dûä liïåu Mö taã Ghi chuá 1 Loaåi_RB Chuöîi Caác loaåi raâng buöåc tônh :RB thuöåc tñnh, RB quan hïå 2 Àùåc taã_RB Chuöîi RB úã daång àùåc taã 3 Mö taã_RB Chuöîi RB úã daång ngön ngûä tûå nhiïn 4 Traång thaái_RB Luêån lyá RB coá àûúåc sûã duång hay khöng b. Haânh àöång: - Thay àöíi caác thöng tin cuãa raâng buöåc. - Kiïím tra tñnh húåp lïå cuãa raâng buöåc. - Àoåc thuöåc tñnh tûâ raâng buöåc. - Ghi thuöåc tñnh lïn raâng buöåc. - AÁnh xaå qua sú àöì Logic. - Phaát sinh haâm kiïím tra trïn Visual C++. - Phaát sinh trigger trïn MS SQL
  22. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 21 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 19 2.3.14. Quan hïå [LIÏN KÏËT] Diïîn giaãi: Thïí hiïån caác quan hïå xaác àõnh trïn sú àöì Logic. Coá caác loaåi liïn kïët sau: quan hïå xaác àõnh duy nhêët, quan hïå xaác àõnh duy nhêët àïå quy. a. Thuöåc tñnh: Stt Thuöåc tñnh Kiïíu dûä liïåu Mö taã Ghi chuá 1 Tïn liïn kïët Chuöîi 2 Loaåi liïn kïët Söë 3 Thïí hiïån ÀT phuå Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 20 b. Haânh àöång: - Cung cêëp tïn quan hïå. - Thay àöíi tïn quan hïå. - Kiïím tra tñnh húåp lïå cuãa tïn quan hïå. - Àoåc quan hïå tûâ têåp tin. - Ghi quan hïå lïn têåp tin. - Thïm, xoáa, sûãa thuöåc tñnh. - Kiïím tra xem thuöåc tñnh coá bõ truâng lùåp khöng. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 21 2.3.15. Lúáp àöëi tûúång [HÒNH HOÅC CÚ BAÃN] Diïîn giaãi: • Lúáp àöëi tûúång cú súã cuãa caác hònh hoåc cú baãn nhû: hònh chûä nhêåt, hònh elip, àûúâng thùèng, àûúâng gêëp khuác, àa giaác, vùn baãn. • Giuáp nêng cao chêët lûúång baãn veä cuãa caác sú àöì khöng nhûäng vïì mùåt thêím myä maâ coân vïì mùåt ngûä nghôa. a. Thuöåc tñnh:
  23. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 22 Stt Thuöåc tñnh Kiïíu dûä liïåu Mö taã Ghi chuá 1 Loaåi hònh hoåc cú baãn Söë Bao göìm : hònh chûä nhêåt, chûä nhêåt goác cong, elip, àûúâng thùèng, gêëp khuác, àa giaác, vùn baãn 2 Thïí hiïån ÀT phuå b. Haânh àöång: - Veä. - Thay àöíi kñch thûúác. - Àoåc tûâ têåp tin. - Ghi lïn têåp tin. 2.3.16. Lúáp àöëi tûúång [THÏÍ HIÏÅN] Diïîn giaãi: Àêy laâ Lúáp àöëi tûúång phuå duâng àïí thïí hiïån caác thaânh phêìn, quan hïå, vaâ caác àöëi tûúång khaác trong sú àöì (nhû vùn baãn, caác àöëi tûúång hònh hoåc cú baãn). Cöng cuå höî trúå phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 22 a. Thuöåc tñnh: Stt Thuöåc tñnh Kiïíu dûä liïåu Mö taã Ghi chuá 1 Loaåi thïí hiïån Söë Loaåi thïí hiïån duâng àïí hiïín thõ àöëi tûúång lïn thiïët bõ. 2 Àöå röång neát veä söë 3 Maâu sùæc neát veä söë 4 Kiïíu neát veä söë coá caác neát veä sau: liïìn neát, chêëm chêëm, gaåch-gaåch, chêëmgaåch 5 Maâu mêîu tö söë 6 Kiïíu mêîu tö söë coá caác kiïíu tö sau: àùåc, gaåch ngang, gaåch doåc, gaåch cheáo 7 Phöng chûä cêëu truác 8 Hònh chûä nhêåt cú súã (Söë, söë, söë, söë) Hònh chûä nhêåt bao quanh cuãa àöëi tûúång. 9 Võ trñ Toåa àöå Võ trñ duâng àïí thïí hiïån caác àöëi tûúång (coá thïí truâng hònh chûä nhêåt cú súã) 10 Traång thaái Söë Coá 2 traång thaái sau: Bònh thûúâng, àûúåc choån 11 Chïë àöå hiïín thõ söë coá caác chïë àöå hiïín thõ sau: àêìy àuã, thu goån, boáng
  24. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 23 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 23 b. Haânh àöång: - Cung cêëp caác thuöåc tñnh trïn. - Thay àöíi caác thuöåc tñnh trïn. - Veä thïí hiïån. - Cung cêëp söë lûúång handle. - Cung cêëp handle taåi toåa àöå cho trûúác. - Cung cêëp hònh daång con troã taåi möåt handle. - Thay àöíi kñch thûúác thïí hiïån. - Thay àöíi võ trñ thïí hiïån. - Kiïím tra xem möåt àiïím coá thuöåc thïí hiïån hay khöng (giuáp choån riïng leã tûâng àöëi tûúång). - Kiïím tra xem möåt hònh chûä nhêåt coá giao vúái thïí hiïån hay khöng (giuáp choån nhoám caác àöëi tûúång ). 2.3.17. Lúáp àöëi tûúång [CÖNG CUÅ] Diïîn giaãi: Lúáp àöëi tûúång cú súã cho caác cöng cuå khaác vaâ duâng àïí xûã lyá caác thao taác chuêín trïn thïí hiïån. a. Thuöåc tñnh: Stt Thuöåc tñnh Kiïíu dûä liïåu Mö taã Ghi chuá 1 Chïë àöå thao taác söë göìm caác chïë àöå thao taác sau: sùén saâng, àang choån nhoám caác àöëi tûúång, àang di chuyïín caác àöëi tûúång àûúåc choån, àang thay àöíi kñch thûúác àöëi tûúång 2 Võ trñ nhêëp chuöåt (Söë, söë) Toåa àöå bùæt àêìu nhêëp chuöåt. 3 Võ trñ hiïån haânh (Söë, söë) Toåa àöå hiïån haânh cuãa chuöåt. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 24 b. Haânh àöång: - Nhêëp chuöåt traái. - Di chuyïín hoùåc rï chuöåt traái. (Rï: laâ thao taác nhêëp chuöåt lïn möåt võ trñ vaâ sau àoá, vûâa giûä vûâa di chuyïín nuát chuöåt).
  25. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 24 - Thaã chuöåt traái. - Nhêëp àöi chuöåt traái. - Ngûâng cöng viïåc hiïån haânh. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 25 2.3.18. Lúáp àöëi tûúång [CÖNG CU Å CHOÅN] Diïîn giaãi: Xûã lyá cöng viïåc choån, di chuyïín, thay àöíi kñch thûúác vaâ võ trñ cuãa thïí hiïån. a. Thuöåc tñnh: (Khöng coá) b. Haânh àöång: (Khöng coá) c. Sú àöì traång thaái: Sùén saâng choån möåt àöëi tûúång, choån nhoám àöëi tûúång ÊËn Shift vaâ nhêëp chuöåt traái lïn àöëi tûúång khaác. Nhêëp chuöåt traái lïn àöëi tûúång chûa àûúåc choån. ÊËn Shift vaâ nhêëp chuöåt traái lïn àöëi tûúång àaä choån. Nhêëp chuöåt traái lïn möåt àöëi tûúång. Nhêëp chuöåt traái ngoaâi moåi àöëi tûúång vaâ rï chuöåt traái (choån theo khung chûä nhêåt). Nhêëp chuöåt traái ngoaâi moåi àöëi tûúång. ÊËn Delete, rï handle, thaã chuöåt traái. Rï (caác) àöëi tûúång àaä choån. Thaã chuöåt traái CAÁC ÀÖËI TÛÚÅNG ÀÛÚÅC CHOÅN Bùæt àêìu Hònh 2.2 Sú àöì traång thaái cuãa lúáp àöëi tûúång [CÖNG CUÅ CHOÅN] Thay àöíi kñch thûúác di chuyïín Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 26 2.3.19. Lúáp àöëi tûúång [CÖNG CUÅ VEÄ THAÂNH PHÊÌN] Diïîn giaãi: Cöng cuå duâng àïí veä caác thaânh phêìn: Lúáp àöëi tûúång, thaânh phêìn Logic. 2.3.20. Lúáp àöëi tûúång [CÖNG CUÅ VEÄ QUAN HÏÅ] Diïîn giaãi: Cöng cuå duâng àïí veä caác quan hïå nhû: quan hïå 1-n, quan hïå m-n, quan hïå àïå quy 1-n, quan hïå àïå quy m-n, quan hïå xaác àõnh duy nhêët 2.3.21. Lúáp àöëi tûúång [CÖNG CUÅ HÒNH HOÅC CÚ BAÃN] Diïîn giaãi:
  26. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 25 Cöng cuå duâng àïí veä caác àöëi tûúång hònh hoåc cú baãn nhû: àûúâng thùèng, hònh chûä nhêåt, hònh elip 2 4 Mö taã caác raâng buöåc R1: Möåt thaânh phêìn coá ñt nhêët möåt thuöåc tñnh. R2: Tïn thaânh phêìn phaãi khaác röîng. R3: Tïn möåt thaânh phêìn khöng àûúåc chûáa caác kñ tûå khöng húåp lïå. R4: Möåt Lúáp àöëi tûúång phaãi coá ñt nhêët möåt quan hïå. R5: Möåt Lúáp àöëi tûúång cha phaãi coá ñt nhêët möåt Lúáp àöëi tûúång con. R6: Möåt Lúáp àöëi tûúång con phaãi coá möåt Lúáp àöëi tûúång cha (khöng höî trúå àa kïë thûâa) R7: Möåt Lúáp àöëi tûúång khöng àûúåc vûâa laâ Lúáp àöëi tûúång cha vûâa laâ Lúáp àöëi tûúång con. R8: Tïn thuöåc tñnh phaãi khaác röîng. R9: Tïn thuöåc tñnh khöng àûúåc chûáa caác kñ tûå khöng húåp lïå. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 27 3. Thiïët kïë 3.1. Thiïëát kïëá dûä liïåu Sú àöì Logic: (Göåp 2 nhoám : Dûä Liïåu & Kiïím Chûáng) Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 28 Nguöìn göëc thaânh phêìn Thaânh phêìn Loaåi thaânh phêìn Thïí hiïån thaânh phêìn Liïn kïët Thuöåc tñnh Loaåi thuöåc tñnh Kiïíu dûä liïåu Nguöìn göëc thuöåc tñnh RBMGT
  27. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 26 Biïën àöíi RBTT Traång thaái Sú àöì Baãng tham söë Biïíu thûác RBLTT RBDN RBTÀ RBSL RBÀK Giaá trõ RR Hònh 3.1 Sú àöì logic Biïën cöë Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 29 3.1.2. Danh saách caác thaânh phêìn trong sú àöì Logic " Nhoám dûä liïåu stt tïn thaânh phêìn nguöìn göëc mö taã 1 Thaânh phêìn Lúáp àöëi tûúång 2 Loaåi thaânh phêìn Àöëi tûúång phuå duy nhêët 3 Nguöìn göëc thaânh phêìn Àöëi tûúång phuå duy nhêët 4 Thïí hiïån thaânh phêìn Àöëi tûúång phuå duy nhêët 5 Thuöåc tñnh Lúáp àöëi tûúång 6 Loaåi thuöåc tñnh Àöëi tûúång phuå duy nhêët 7 Nguöìn göëc thuöåc tñnh Àöëi tûúång phuå duy nhêët 8 Kiïíu dûä liïåu Lúáp àöëi tûúång 9 Liïn kïët Quan hïå 10 Sú àöì 11 Baãng tham söë " Nhoám Kiïím Chûáng stt tïn thaânh phêìn nguöìn göëc mö taã 12 RBMGT Lúáp àöëi tûúång Mö taã cêëu truác raâng buöåc miïìn giaá trõ cuãa möåt thuöåc tñnh 13 Giaá trõ RR Rúâi raåc Caác giaá trõ cuãa RBMGT Rúâi raåc 14 RBTT Lúáp àöëi tûúång Mö taã cêëu truác raâng buöåc thuöåc tñnh tñnh toaán (trïn möåt hay nhiïìu thaânh phêìn) 15 RBDN Lúáp àöëi tûúång Mö taã cêëu truác raâng buöåc liïn böå–töìn taåi duy nhêët - cuãa möåt hay möåt nhoám thuöåâc tñnh
  28. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 27 16 RBTÀ Lúáp àöëi tûúång Mö taã cêëu truác raâng buöåc thúâi àiïím cuãa quan hïå, thaânh phêìn 17 RBSL Lúáp àöëi tûúång Mö taã cêëu truác raâng buöåc söë lûúång àöëi tûúång tham gia quan hïå 18 RBÀK Lúáp àöëi tûúång Mö taã cêëu truác raâng buöåc àiïìu kiïån àöëi tûúång tham gia quan hïå 19 RBLTT Lúáp àöëi tûúång Mö taã cêëu truác raâng buöåc liïn thuöåc tñnh (trïn möåt hay nhiïìu thaânh phêìn) 20 Biïíu thûác Quan hïå Biïíu thûác raâng buöåc giûäa caác thuöåc tñnh 21 Traång thaái Àöëi tûúång phuå 1_n. Thöng tin vïì traång thaái cuãa lúáp àöëi tûúång 22 Biïën cöë Àöëi tûúång phuå 1_n. Thöng tin vïì caác biïën cöë cuãa lúáp àöëi tûúång 23 Biïën àöíi Quan hïå phuå Sûå biïën àöíi giûäa caác traång thaái Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 30 3.1.3. Mö taã chi tiïët caác thaânh phêìn " Nhoám Kiïím Chûáng 12. RBMGT. STT tïn thuöåc tñnh kiïíu dûä liïåu raâng buöåc MGT loaåi diïîn giaãi Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 31 1 MA_RBMGT Söë -Khoáa chñnh, khoáa ngoaåi Thöng thûúâng Maä thuöåc tñnh coá RBMGT 2 Mö taã RBMGT Chuöîi Thöng thûúâng Mö taã raâng buöåc 3 Àùåc taã RBMGT Chuöîi Thöng thûúâng Àùåc taã cuãa raâng buöåc 4 Loaåi RBMGT Söë -4 byte, khöng dêëu Thöng thûúâng 5 Traång thaái RBMGT Luêån lyá Thöng thûúâng Traång thaái cuãa raâng buöåc 6 Giaá trõ nhoã nhêët Chuöîi Thöng thûúâng 7 Giaá trõ lúán nhêët Chuöîi Thöng thûúâng 8 Giaá trõ mùåc àõnh Chuöîi Thöng thûúâng # Raâng buöåc thuöåc tñnh $ Giaá trõ nhoã nhêët <= Giaá trõ mùåc àõnh <= Giaá trõ lúán nhêët.
  29. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 28 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 32 GIAÁ TRÕ RR: STT Tïn thuöåc tñnh kiïíu dûä liïåu raâng buöåc MGT loaåi diïîn giaãi 1 MA_RBMGT Söë -Khoáa chñnh Thöng thûúâng 2 Tïn GTRR Chuöîi -Khoáa chñnh Thöng thûúâng Giaá trõ Rúâi raåc # Raâng buöåc thuöåc tñnh % Tïn GTRR phaãi phên biïåt . RBTT STT Tïn thuöåc tñnh Kiïíu dûä liïåu Raâng buöåc MGT Loaåi Diïîn giaãi 1 MA_RBTT Söë -Khoáa chñnh, khoáa ngoaåi Thöng thûúâng Maä thuöåc tñnh coá RBTT 2 Mö taã RBTT Chuöîi Thöng thûúâng Mö taã raâng buöåc 3 Àùåc taã RBTT Chuöîi Thöng thûúâng Àùåc taã cuãa raâng buöåc 4 Loaåi RBTT Söë -4 byte, khöng dêëu Thöng thûúâng 5 Traång thaái RBTT Luêån lyá Thöng thûúâng 6 Maä biïíu thûác TT Söë - Khoáa ngoaåi Caác thuöåc tñnh tham gia raâng buöåc Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 33 RBDN: STT Tïn thuöåc tñnh Kiïíu dûä liïåu Raâng buöåc MGT Loaåi Diïîn giaãi 1 MA_RBDN Söë -Khoáa chñnh Thöng thûúâng 2 MA_TT Söë -Khoáa chñnh, khoáa ngoaåi thöng thûúâng Maä thuöåc tñnh tham gia raâng buöåc 3 MA_TP Söë -Khoáa chñnh, khoaá ngoaåi. Thöng thûúâng Maä thaânh phêìn chûáa raâng buöåc # Raâng buöåc thuöåc tñnh $ Caác thuöåc tñnh trong möîi raâng buöåc laâ duy nhêët Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 34 RBTÀ: STT Tïn thuöåc tñnh Kiïíu dûä liïåu Raâng buöåc MGT Loaåi Diïîn giaãi 1 MA_RBTÀ Söë -Khoáa chñnh Thöng thûúâng 2 Mö taã RBTÀ Chuöîi Thöng thûúâng Mö taã raâng buöåc 3 Àùåc taã RBTÀ Chuöîi Thöng thûúâng Àùåc taã raâng buöåc 4 Traång thaái RBTÀ Luêån lyá Thöng thûúâng
  30. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 29 5 MA_TT_àêìu Söë -Khoáa ngoaåi Thöng thûúâng Maä thuöåc tñnh àoáng vai troâ thuöåc tñnh àêìu 6 MA_TT_cuöëi Söë -Khoáa ngoaåi Thöng thûúâng Maä thuöåc tñnh àoáng vai troâ thuöåc tñnh cuöëi 7 Söë lûúång Chuöîi Thöng thûúâng Söë lûúång töëi àa 8 MA_TP_n Söë -Khoáa ngoaåi Thöng thûúâng Maä thaânh phêìn n 9 MA_TP_1 Söë -Khoáa ngoaåi Thöng thûúâng Maä thaânh phêìn 1 10 MA_TP_QH Söë -Khoáa ngoaåi Thöng thûúâng Maä quan hïå chûáa raâng buöåc 11 MA_BT Söë -Khoáa ngoaåi Thöng thûúâng Caác thuöåc tñnh tham gia raâng buöåc # Raâng buöåc thuöåc tñnh $ Thúâi àiïím àêìu , Thúâi àiïím cuöëi phên biïåt nhau $ Söë lûúång tûúng ûáng möåt giaá trõ > 0 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 35 RBSL: STT Tïn thuöåc tñnh Kiïíu dûä liïåu Raâng buöåc MGT Loaåi Diïîn giaãi 1 MA_RBSL Söë -Khoáa chñnh Thöng thûúâng 2 Mö taã RBSL Chuöîi Thöng thûúâng Mö taã raâng buöåc 3 Àùåc taã RBSL Chuöîi Thöng thûúâng Àùåc taã raâng buöåc 4 Loaåi RBSL Söë -4 byte, khöng dêëu Thöng thûúâng 5 Traång thaái RBSL Luêån lyá Thöng thûúâng 6 Söë lûúång Chuöîi Thöng thûúâng Söë lûúång thaânh phêìn N tham gia quan hïå 8 MA_TP_1 Söë -Khoáa ngoaåi Thöng thûúâng Thaânh phêìn 1 9 MA_TP_n Söë -Khoaá ngoaåi Thöng thûúâng Thaânh phêìn N 10 MA_TP_QH Söë -Khoaá ngoaåi Thöng thûúâng Quan hïå chûáa raâng buöåc 11 MA_BT Söë -Khoáa ngoaåi Thöng thûúâng Caác thuöåc tñnh tham gia biïíu thûác raâng buöåc # Raâng buöåc thuöåc tñnh $ Söë lûúång tûúng ûáng giaá trõ nhoã nhêër <= giaá trõ lúán nhêët, hoùåc caác giaá trõ rúâi raåc phên biïåt nhau. $ Caác thuöåc tñnh tham gia biïíu thûác raâng buöåc phên biïåt nhau
  31. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 30 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 36 RBÀK: STT Tïn thuöåc tñnh Kiïíu dûä liïåu Raâng buöåc MGT Loaåi Diïîn giaãi 1 MA_RBÀK Söë -Khoáa chñnh Thöng thûúâng 2 Mö taã RBÀK Chuöîi Thöng thûúâng Mö taã raâng buöåc 3 Àùåc taã RBÀK Chuöîi Thöng thûúâng Àùåc taã raâng buöåc 4 Traång thaái RBÀK Luêån lyá Thöng thûúâng 5 MA_TP_àk Söë -Khoáa ngoaåi Thöng thûúâng Thaânh phêìn chûáa àiïìu kiïån 6 MA_TP_QH Söë -Khoáa ngoaåi Thöng thûúâng Quan hïå chûáa raâng buöåc 7 MA_BT Söë -Khoáa ngoaåi Thöng thûúâng Caác thuöåc tñnh tham gia raâng buöåc # Raâng buöåc thuöåc tñnh $ Caác thuöåc tñnh tham gia biïíu thûác raâng buöåc phên biïåt nhau Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 37 RBLTT: STT Tïn thuöåc tñnh Kiïíu dûä liïåâu Raâng buöåc MGT Loaåi Diïîn giaãi 1 MA_RBLTT Söë -Khoáa chñnh Thöng thûúâng 2 Mö taã RBLTT Chuöîi Thöng thûúâng Mö taã raâng buöåc 3 Àùåc taã RBLTT Chuöîi Thöng thûúâng Àùåc taã raâng buöåc 4 Loaåi RBLTT Söë -4 byte, khöng dêëu Thöng thûúâng 5 Traång thaái RBLTT Luêån lyá 6 MA_BT Söë -Khoáa ngoaåi Thöng thûúâng Caác thuöåc tñnh tham gia raâng buöåc # Raâng buöåc thuöåc tñnh $ Daång trûåc tiïëp : Caác thuöåc tñnh tham gia biïíu thûác raâng buöåc phên biïåt nhau $ Daång àiïìu kiïån Nïëu Thò : Caác trûúâng húåp phên biïåt nhau, trong möîi trûúâng húåp caác thuöåc tñnh phên biïåt nhau. Cöng cuå höî trúå phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 38 Biïuã thûác: STT Tïn thuöåc tñnh Kiïíu dûä liïåu Raâng buöåc MGT Loaåi Diïîn giaãi 1 MA_BT Söë -Khoáa chñnh Thöng thûúâng 2 MA_TT Söë -Khoáa chñnh, Khoáa chñnh thöng thûúâng Traång thaái: STT Tïn thuöåc tñnh Kiïíu dûä liïåu Raâng buöåc MGT Loaåi Diïîn giaãi
  32. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 31 1 MA_TRANG_THAI Söë -Khoáa chñnh Thöng thûúâng 2 Tïn traång thaái Chuöîi Thöng thûúâng 3 MA_TP Söë -Khoáa ngoaåi Thöng thûúâng Maä thaânh phêìn chûáa traång thaái Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 39 Biïën cöë: STT Tïn thuöåc tñnh kiïíu dûä liïåu raâng buöåc MGT loaåi diïîn giaãi 1 MA_BIEN_CO Söë -Khoáa chñnh Thöng thûúâng 2 Tïn biïën cöë Chuöîi Thöng thûúâng 3 MA_TP Söë -Khoáa ngoaåi Thöng thûúâng Maä thaânh phêìn chûáa biïën cöë Biïën àöíi: STT Tïn thuöåc tñnh Kiïíu dûä liïåu Raâng buöåc MGT Loaåi Diïîn giaãi 1 MA_TRANG_THAI1 Söë -Khoáa chñnh, Khoáa ngoaåi thöng thûúâng maä traång thaái vaâo biïën cöë 2 MA_TRANG_THAI2 Söë -Khoáa chñnh, Khoaá ngoaåi thöng thûúâng maä traång thaái ra biïën cöë 2 MA_BIEN_CO Söë -Khoáa chñnh, Khoáa ngoaåi tThöng thûúâng Maä biïën cöë tûúng ûáng cùåp traång thaái vaâo - ra Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 40 3.1.4. Mö taã caác raâng buöåc liïn thaânh phêìn STT Mö taã Thaânh phêìn liïn quan 1 RBMGT: -Giaá trõ nhoã nhêët, Giaá trõ mùåc àõnh, Giaá trõ lúán nhêët phaãi phuâ húåp vúái kiïíu dûä liïåu cuãa thuöåc tñnh. -Tïn GTRR khöng àûúåc truâng tïn Thuöåc Tñnh RBMGT , Thuöåc tñnh 2 RBMGT: -Nïëu Loaåi RBMGT laâ “Liïn tuåc” thò Loaåi thuöåc tñnh laâ {“Thöng thûúâng”,”Tñnh toaán”} -Nïëu Loaåi RBMGT laâ “Rúâi raåc” thò Loaåi thuöåc tñnh laâ { “Rúâi raåc” RBMGT , Thuöåc tñnh 3 RBLTT:
  33. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 32 -Daång so saánh trûåc tiïëp: Caác Thuöåc tñnh tham gia phaãi cuâng Kiïíu dûä liïåu laâ Söë, Giúâ hoùåc Ngaây; phaãi coá Loaåi thuöåc tñnh laâ {“Thöng thûúâng”,”Tñnh toaán”} -Daång Nïëu Thò : Caác Thuöåc tñnh tham gia phaãi coá Loaåi thuöåc tñnh laâ {“Thöng thûúâng”, ”Tñnh toaán” , “Rúâi raåc” } RBLTT, Thuöåc tñnh STT Mö taã Thaânh phêìn liïn quan Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 41 4 RBTT : -Thuöåc tñnh tñnh toaán phaãi coá Loaåi thuöåc tñnh = “Tñnh toaán” -Caác thuöåc tñnh toaán naây khöng àûúång tham gia vaâo raâng buöåc cuãa thuöåc tñnh tñnh toaán kia RBTT , Thuöåc tñnh 5 RBTÀ: -Thúâi àiïím Àêìu, Thúâi àiïím Cuöëi phaãi coá cuâng Kiïíu dûä liïåu laâ Ngaây, Giúâ hoùåc Söë; Loaåi thuöåc tñnh laâ {“Thöng thûúâng” } -Thúâi àiïím Cuâng phaãi coá Loaåi thuöåc tñnh = {“Rúâi raåc”, “Àöëi tûúång phuå duy nhêët”} RBTÀ , Thuöåc tñnh 6 Trïn möåt thaânh phêìn, caác raâng buöåc cuâng loaåi phaãi phên biïåt nhau Thaânh phêìn, RBLTT 7 Trïn sú àöì, caác raâng buöåc liïn thuöåc tñnh – liïn thaânh phêìn phaãi phên biïåt nhau Sú àöì, Thaânh phêìn, RBLTT Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 42 3.2. Thiïëát kïëá giao diïåän Sú àöì liïn kïët maân hònh (Göåp 2 nhoám : Dûä Liïåu & Kiïím Chûáng) Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 43 Hònh 3.2 Sú àöì liïn kïët maân hònh MH1 MH2 MH3 MH4 MH11 MH12 MH5 MH28 MH6 MH7 MH8 MH9 MH10 MH13 MH14 MH20 MH22 MH21 MH23 MH24 MH25 MH15 MH16 MH17 MH18 MH19 MH26 MH30 MH31 MH40
  34. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 33 MH43 MH34 MH35 MH36 MH38 MH39 MH37 MH30 MH31 MH33 MH34 MH35 MH36 MH41 MH42 MH43 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 44 3.2.2. Danh saách caác giao diïån, baáo biïíu " Nhoám Dûä Liïåu STT Maä maân hònh Tïn maân hònh 1 MH1 MH giúái thiïåu 2 MH2 MH sú àöì Lúáp àöëi tûúång 3 MH3 MH sú àöì Logic 4 MH4 MH phaát sinh SQL Scripts 5 MH5 MH thöng tin phêìn mïìm 6 MH6 MH thöng tin sú àöì 7 MH7 MH àõnh daång thïí hiïån caác àöëi tûúång àûúåc choån 8 MH8 MH thïm hïå quaãn trõ 9 MH9 MH múã thû viïån 10 MH10 MH ghi vaâo thû viïån 11 MH11 MH nhêåp thöng tin Lúáp àöëi tûúång 12 MH12 MH nhêåp thöng tin quan hïå bêåc n 13 MH13 MH nhêåp thöng tin quan hïå nhiïìu nhiïìu (m_n) 14 MH14 MH nhêåp liïåu thuöåc tñnh cuãa Lúáp àoái tûúång ,quan hïå 15 MH15 MH nhêåp thöng tin quan hïå möåt nhiïìu (1_n) 16 MH16 MH tûâ àiïín dûä liïåu (sú àöì Lúáp) 17 MH17 MH baáo biïíu vïì caác Lúáp àöëi tûúång 18 MH18 MH baáo biïíu vïì caác quan hïå 19 MH19 MH baáo biïíu töíng húåp vïì Lúáp àöëi tûúång vaâ quan hïå 20 MH20 MH nhêåp thöng tin thaânh phêìn 21 MH21 MH nhêåp liïåu thuöåc tñnh cuãa thaânh phêìn 22 MH22 MH nhêåp liïåu quan hïå xaác àõng duy nhêët Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 45 23 MH23 MH tûâ àiïín dûä liïåu (sú àöì Logic) 24 MH24 MH baáo biïíu vïì caác thaânh phêìn 25 MH25 MH baáo biïíu vïì caác quan hïå (sú àöì Logic)
  35. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 34 26 MH26 MH baáo biïíu töíng húåp vïì thaânh phêìn vaâ quan hïå 27 MH27 Caác MH thöng baáo 28 MH28 MH kïët thuác " Nhoám Kiïím Chûáng, 29 STT Maä maân hònh Tïn maân hònh 30 MH30 Maân hònh nhêåp liïåu RBMGT (Sú àöì Lúáp /Logic) 31 MH31 Maân hònh nhêåp liïåu RBLTT (Sú àöì Lúáp /Logic) 32 MH32 Maân hònh nhêåp liïåu RBTT (Sú àöì Lúáp /Logic) 33 MH33 Maân hònh nhêåp liïåu RBDN (Sú àöì Lúáp /Logic) 34 MH34 Maân hònh nhêåp liïåu RBTÀ (Sú àöì Lúáp /Logic) 35 MH35 Maân hònh nhêåp liïåu RBSL (Sú àöì Lúáp /Logic) 36 MH36 Maân hònh nhêåp liïåu RBÀK (Sú àöì Lúáp /Logic) 37 MH37 Maân hònh baáo biïíu vïì caác RB (Sú àöì Lúáp hoùåc Logic) 38 MH38 Maân hònh baáo biïíu vïì danh saách RB àaä phaát sinh 39 MH39 Maân hònh baáo biïíu vïì dûä liïåu àaä phaát sinh 40 MH40 Maân hònh sú àöì traång thaái cuãa Lúáp àöëi tûúång 41 MH41 Maân hònh phaát sinh dûä liïåu 42 MH42 Maân hònh nhêåp xaác suêët cuãa thuöåc tñnh 43 MH43 Maân hònh nhêåp liïåu RBLTT liïn quan hïå ( Sú àöì Lúáp/ Logic) Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 46 3.2.3. Thûåc àún, maân hònh chñnh " Thûåc àún (Nhoám Kiïím Chûáng ) $ Thûåc àún “Sú àöì” (Popup) +Kiïím tra raâng buöåc. +Phaát sinh dûä liïåu thûã nghiïåm (ÚÃ mûác sú àöì Logic) +Phaát sinh haâm kiïím tra raâng buöåc (ÚÃ mûác sú àöì Logic) $ Thûåc àún “Lúáp àöëi tûúång” (Popup) +Nhêåp raâng buöåc (Popup) -Nhêåp raâng buöåc miïìn giaá trõ -Nhêåp raâng buöåc liïn thuöåc tñnh -Nhêåp raâng buöåc thuöåc tñnh tñnh toaán (ÚÃ mûác sú àöì Logic) -Nhêåp raâng buöåc töìn taåi duy nhêët (ÚÃ mûác sú àöì Logic) -Nhêåp raâng buöåc thúâi àiïím
  36. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 35 -Nhêåp raâng buöåc söë lûúång -Nhêåp raâng buöåc àiïìu kiïån $ Thûåc àún “Baáo biïíu” (Popup) +Baáo biïíu vïì caác raâng buöåc. + Baáo biïíu vïì caác haâm kiïím tra raâng buöåc àaä phaát sinh + Baáo biïíu vïì CSDL àaä phaát sinh $ Thûåc àún “Tûâ àiïín dûä liïåu” (Popup) +Danh saách raâng buöåc Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 47 " Maân hònh chñnh ( Göåp 2 nhoám : Dûä Liïåu & Kiïím Chûáng ) 3.2.4. Caác maân hònh nhêåp liïåu Hònh 3.3 Maân hònh chñnh Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 48 3.2.4. Caác maân hònh nhêåp liïåu Hònh 3.4 Maân hònh nhêåp liïåu RBMGT Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 49 Hònh 3.5 Maân hònh nhêåp liïåu RBLTT Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 50 Hònh 3.10 Maân hònh nhêåp liïåu RBLTT - liïn thaânh phêìn Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 51
  37. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 36 Hònh 3.14 Maân hònh nhêåp liïåu RBTT Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 52 Hònh 3.7 Maân hònh nhêåp liïåu RBDN Hònh 3.8 Maân hònh nhêåp liïåu RBTÀ Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 53 Hònh 3.9 Maân hònh nhêåp liïåu RBSL Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 54 Hònh 3.6 Maân hònh nhêåp liïåu RBÀK Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 55 Hònh 3.11 Maân hònh nhêåp sú àöì traång thaái cuãa Lúáp àöëi tûúång Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 56 Hònh 3.12 Maân hònh phaát sinh Hònh 3.13 Maân hònh nhêåp xaác suêët Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng hïå thöëng Giai àoaån kiïím chûáng 57 3.2.5. Caác mêîu baáo biïíu
  38. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 37 " Danh saách raâng buöåc (Sú àöì Lúáp hoùåc Logic) (MH37) Stt àùåc taã mö taã àöëi tûúång liïn quan, thuöåc tñnh liïn quan, loaåi raâng buöåc, danh saách raâng buöåc àaä phaát sinh (MH38), stt Raâng buöåc àaä phaát sinh haâm kiïím tra, tïn Trigger, tïn haâm kiïím tra chûác nùng (Thïm, Xoáa , Sûãa) " Dûä liïåu àaä phaát sinh (MH39), Stt Tïn thaânh phêìn àaä phaát sinh Söë lûúång record phaát sinh Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûoång Giai àoaån kiïím chûáng 58 3.3. Thiïëát kïëá xûã lyá Danh saách caác xûã lyá tñnh toaán Maä xûã lyá Àöëi tûúång Tïn xûã lyá RBMGT_XL1 RBMGT Aùnh xaå RBMGT Lúáp sang Logic RBMGT_XL2 RBMGT Aùnh xaå sang CSDL RBLTT_XL1 RBLTT Aùnh xaå RBLTT Lúáp sang Logic RBLTT_XL2 RBLTT Phaát sinh haâm kiïím tra RBLTT RBLTT_XL3 RBLTT Phaát sinh Trigger kiïím tra RBLTT RBLTT_XL4 RBLTT Kiïím tra dûä liïåu phaát sinh RBÀK_XL1 RBÀK Aùnh xaå RBÀK Lúáp sang Logic RBÀK_XL2 RBÀK Phaát sinh haâm kiïím tra RBÀK RBÀK_XL3 RBÀK Phaát sinh Trigger kiïím tra RBÀK RBÀK_XL4 RBÀK Kiïím tra dûä liïåu phaát sinh RBTÀ_XL1 RBTÀ A'nh xaå RBTÀ Lúáp sang Logic RBTÀ_XL2 RBTÀ Phaát sinh haâm kiïím tra RBTÀ RBTÀ_XL3 RBTÀ Phaát sinh trigger kiïím tra RBTÀ RBTÀ_XL4 RBTÀ Kiïím tra dûä liïåu phaát sinh RBTT_XL1 RBTT Phaát sinh haâm kiïím tra RBTT RBTT_XL2 RBTT Phaát sinh dûä liïåu RBDN_XL1 RBDN Phaát sinh haâm kiïím tra RBDN RBDN_XL2 RBDN Kiïím tra dûä liïåu phaát sinh RBSL_XL1 RBSL A'nh xaå RBSL Lúáp sang Logic RBSL_XL2 RBSL Phaát sinh haâm kiïím tra RBSL RBSL_XL3 RBSL Phaát sinh Trigger kiïím tra RBSL RBSL_XL4 RBSL Kiïím tra dûä liïåu phaát sinh TT_XL1 Thuöåc tñnh Phaát sinh dûä liïåu cho Thuöåc tñnh TP_XL1 Thaânh phêìn Phaát sinh dûä liïåu cho Thaânh phêìn
  39. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 38 TP_XL2 Thaânh phêìn A'nh xaå raâng buöåc tûâ sú àöì Lúáp sang Logic SÀ_XL1 Sú àöì phaát sinh dûä liïåu cho sú àöì Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 59 3.3.2 Cêëu truác dûä liïåu trung gian Goåi: Chuöîi = CString Xêu chuöîi = CStringList Söë nguyïn ngùæn = int Söë nguyïn khöng dêëu = UINT Chuöîi söë nguyïn khöng dêëu =CUIntArray Luêån lyá = BOOL Caác cêëu truác dûä liïåu trung gian sûã duång trong chûúng trònh & caác cêëu truác raâng buöåc: % class CConstraint :Lúáp cú súã, mö taã nhûäng thuöåc tñnh vaâ haânh àöång töíng quaát cho têët caã caác loaåi raâng buöåc. % class CDomainCstr :Raâng buöåc Miïìn Giaá Trõ, kïë thûâa tûâ Constraint. % class CCalAttribCstr :Raâng buöåc Thuöåc Tñnh Tñnh Toaán, kïë thûâa tûâ CConstraint. Cong cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 60 % class CMulAttribCstr :Raâng buöåc Liïn Thuöåc Tñnh, kïë thûâa tûâ CConstraint. % class CAlterKeyCstr :Raâng buöåc Liïn Böå (Duy nhêët), kïë thûâa tûâ CConstraint. % class CTimeCstr :Raâng buöåc Thúâi Àiïím, kïë thûâa tûâ CConstraint. % class CQuantityCstr :Raâng buöåc Söë Lûúång, kïë thûâa tûâ CConstraint. % class CConditionCstr :Raâng buöåc, Àiïìu Kiïån ,kïë thûâa tûâ CConstraint. class Cconstraint {CString m_stSpecification; CString m_stDescription; BOOL m_bStatus; int m_nID; int m_nKind; CStringList m_slAttribs; CStringList m_slObjects; } class CDomainCstr{CString m_stMaxVal; CString m_stMinVal; CString m_stDefaultVal; CStringList m_slDiscreteList;}class CTimeCstr{CString m_stBeginAtt;
  40. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 39 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 61 CString m_stEndAtt; CString m_stObjN; CString m_stObj1; UINT m_unMax;} class CQuantityCstr{CString m_stObjN; CString m_stObj1; CString m_stQuantity; UINT m_unMax; UINT m_unMin; CUIntArray m_arDiscrete; CString m_stCondition; } class CconditionCstr { CString m_stConObj; CString m_stCondition; } & Danh saách raâng buöåc CAttrib :Lûu giûä caác raâng buöåc cuãa Thuöåc Tñnh { CDomainCstr *m_pDomCstr; CCalCstr *m_pCalCstr; } CStdObj :Lûu giûä caác raâng buöåc cuãa Àöëi tûúång , Quan Hïå { CCstrList m_MulAttribList; CCstrList m_AlterKeyList; CCstrList m_CstrTimeList; CCstrList m_CstrQuantityList; CCstrList m_CstrConditionList; } CSuperDoc :Lûu giûä caác raâng buöåc Liïn Thuöåc Tñnh – Liïn Quan Hïå { CCstrList m_MulAttribList; } Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 62 3.3.3. Mö taã thuêåt toaán cho caác xûã lyá tñnh toaán 1) RBMGT_XL1 : Aùnh xaå RBMGT tûâ sú àöì Lúáp sang sú àöì Logic - Àêìu vaâo: - Àêìu ra: RBMGT àaä àûúåc aánh xaå sang sú àöì Logic - Thuêåt toaán: Nïëu thuöåc tñnh laâ rúâi raåc traång thaái cuãa RBMGT = FALSE ngûúåc laåi giûä nguyïn. 2) RBMGT_XL2 : Aùnh xaå RBMGT sang CSDL - Àêìu vaâo: - Àêìu ra: RBMGT àaä àûúåc aánh xaå sang CSDL - Thuêåt toaán: - Nïëu taåo CSDL úã Access: Nïëu traång thaái = TRUE. Taåo Validation Rule, Validation Text
  41. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 40 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 63 Taåo Default. - Nïëu taåo CSDL úã SQL Server. Nïëu traång thaái = TRUETaåo Rule. Taåo Default. 3) RBLTT_XL1 : Aùnh xaå RBLTT tûâ sú àöì Lúáp sang sú àöì Logic - Àêìu vaâo: - Àêìu ra: RBLTT àaä àûúåc aánh xaå sang sú àöì Logic. - Thuêåt toaán: - Daång biïíu thûác so saánh trûåc tiïëp: Giûä nguyïn - Daång Nïë Thò : + Nïëu thuöåc tñnh laâ Bònh thûúâng: Giûä nguyïn + Nïëu thuöåc tñnh laâ Rúâi raåc: Chuyïín thaânh tïn cuãa thaânh phêìn rúâi raåc vûâa phaát sinh vaâ thïm vaâo möåt liïn kïët giûäa thaânh phêìn cuä vaâ thaânh phêìn rúâi raåc vûâa phaát sinh. + Phaát sinh àùåc taã daång Logic. 4) RBLTT_XL2, RBTÀ_XL2, RBSL_XL2, RBÀK_XL2, RBTT_XL1, RBDN_XL1: Phaát sinh haâm kiïím tra raâng buöåc - Àêìu vaâo: - Àêìu ra: Chuöîi chûáa haâm kiïím tra - Thuêåt toaán: - Taåo phêìn múã àêìu (tïn haâm, khai baáo biïën, múã CSDL, múã Recordset ) - Taåo cêu SQL tûúng ûáng vúái àùåc taã - Taåo phêìn kiïím tra raâng buöåc (àïëm söë phêìn tûã cuãa Recordset) - Taåo phêìn kïët thuác (àoáng Recordset, àoáng CSDL) Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 64 5) RBLTT_XL3 : Phaát sinh Trigger kiïím tra RBLTT - Àêìu vaâo:
  42. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 41 - Àêìu ra: Caác Trigger trïn caác thao taác Thïm, Xoáa, Sûãa thuöåc tñnh liïn quan. - Thuêåt toaán: Phaát sinh + Trigger khi Thïm caác thaânh phêìn liïn quan + Trigger khi Sûãa caác thaânh phêìn liïn quan (Maä, Caác thuöåc tñnh liïn quan). 6) RBLTT_XL4, RBTÀ_XL4, RBSL_XL4, RBÀK_XL4, RBDN_XL2 : Kiïím tra dûä liïåu phaát sinh thoaã raâng buöåc - Àêìu vaâo: CurRec :Mêíu tin vûâa àûúåc phaát sinh Db :CSDL chûáa caác dûä liïåu àaä phaát sinh - Àêìu ra: Giaá trõ luêån lyá :Cho biïët dûä liïåu vûâa phaát sinh coá thoaã raâng buöåc khöng - Goåi: m_slAttribs: xêu thuöåc tñnh tham gia RBLTT Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 65 - Thuêåt toaán: - Lêëy têët caã caác giaá trõ cuãa caác thuöåc tñnh trong m_slAttribs tûúng ûáng vúái CurRec - Nïëu caác giaá trõ naây thoãa raâng buöåc traã vïì giaá trõ TRUE. Ngûúåc laåi traã vïì giaá trõ FALSE. 7) RBTÀ_XL1 : Aùnh xaå RBTÀ tûâ sú àöì Lúáp sang sú àöì Logic - Àêìu vaâo: - Àêìu ra: RBTÀ àaä àûúåc aánh xaå sang sú àöì Logic - Thuêåt toaán: - Chuyïín Tïn thaânh phêìn_1,Tïn thaânh phêìn_N thaânh Maä tûúng ûáng. - A'nh xaå caác thuöåc tñnh thúâi àiïím: + Nïëu thuöåc tñnh laâ Bònh thûúâng: Giûä nguyïn + Nïëu thuöåc tñnh laâ Rúâi raåc, Àöëi tûúång phuå_1: Chuyïín thaânh Maä cuãa thaânh phêìn rúâi raåc hoùåc thaânh phêìn phuå_1 vûâa phaát sinh. - Phaát sinh àùåc taã daång Logic. 8) RBTÀ_XL3 : Phaát sinh Trigger kiïím tra RBTÀ - Àêìu vaâo: - Àêìu ra:
  43. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 42 Caác Trigger trïn caác thao taác Thïm, Xoáa, Sûãa thuöåc tñnh liïn quan. - Thuêåt toaán: Phaát sinh: + Trigger khi Thïm múái trïn thaânh phêìn chñnh + Trigger khi Xoáa, Sûãa caác thaânh phêìn liïn quan (Maä). + Stored Procedure kiïím tra dûä liïåu cuãa thaânh phêìn chñnh. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 66 9) RBSL_XL1 : Aùnh xaå RBSL tû â sú àöì Lúáp sang sú àöì Logic - Àêìu vaâo: - Àêìu ra: RBSL àaä àûúåc aánh xaå sang sú àöì Logic. - Thuêåt toaán: - Chuyïín Tïn thaânh phêìn_1,Tïn thaânh phêìn_N thaânh Maä tûúng ûáng. - A'nh xaå biïíu thûác àiïìu kiïån: + Nïëu loaåi thuöåc tñnh tham gia laâ bònh thûúâøng: Giûä nguyïn. + Nïëu loaåi thuöåc tñnh tham gia laâ Rúâi raåc, Àöëi tûúång phuå_1: Chuyïín thaânh Tïn cuãa Thaânh Phêìn Rúâi raåc hoùåc Thaânh Phêìn Phuå_1 vûâa phaát sinh vaâ thïm vaâo möåt liïn kïët giûäa Thaânh Phêìn Cuä vaâ thaânh phêìn vûâa phaát sinh. - Phaát sinh àùåc taã daång Logic. 10) RBSL_XL3 : Phaát sinh Trigger kiïím tra RBSL - Àêìu vaâo: - Àêìu ra: Stored Procedure kiïím tra dûä liïåu cuãa thaânh phêìn chñnh. - Thuêåt toaán: Xeát tûâng record trong thaânh phêìn chñnh: Kiïím tra record àoá vúái caác record coân laåi trong thaânh phêìn xem raâng buöåc coá bõ vi phaåm. + Nïëu coá: chêëm dûát kiïím tra. + Nïëu khöng: laâm tûúng tûå cho record kïë tiïëp. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 67 11) RBÀK_XL1 : Aùnh xaå RBÀK tûâ sú àöì Lúáp sang sú àöì Logic - Àêìu vaâo: - Àêìu ra: RBÀK àaä àûúåc aánh xaå sang sú àöì Logic - Thuêåt toaán:
  44. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 43 - Chuyïín Tïn àöëi tûúång coá àiïìu kiïån thaânh Maä tûúng ûáng. - A'nh xaå àiïìu kiïån tham gia raâng buöåc + Nïëu laâ biïíu thûác àiïìu kiïån: Giûä nguyïn. + Nïëu laâ thuöåc tñnh giöëng nhau: Aùnh xaå tuây theo loaåi thuöåc tñnh laâ bònh thûúâng, Rúâi raåc hay Àöëi tûúång phuå_1. - Phaát sinh àùåc taã daång Logic. 12) RBÀK_XL3 : Phaát sinh Trigger kiïím tra RBÀK - Àêìu vaâo: - Àêìu ra: Caác Trigger trïn caác thao taác Thïm, Xoáa, Sûãa thuöåc tñnh liïn quan. - Thuêåt toaán: Phaát sinh: + Trigger khi Thïm múái trïn thaânh phêìn chñnh + Trigger khi Xoáa, Sûãa caác thaânh phêìn liïn quan (Maä, Thuöåc tñnh liïn quan). Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 68 13) RBTT_XL2 : Phaát sinh dûä liïåu cho raâng buöåc tñnh toaán - Àêìu vaâo: CurRec: mêíu tin chûáa thuöåc tñnh tñnh toaán cêìn phaát sinh dûä liïåu - Àêìu ra: Chuöîi chûáa dûä liïåu phaát sinh àûúåc - Thuêåt toaán: - Lêëy têët caã caác giaá trõ cuãa caác thuöåc tñnh trong m_slAttribs tûúng ûáng vúái CurRec - Tñnh giaá trõ tûúng ûáng cuãa thuöåc tñnh theo àùåc taã. 14) TP_XL1 : Phaát sinh dûä liïåu cho Thaânh phêìn - Àêìu vaâo: NoRecord :Söë record cêìn phaát sinh cho thaânh phêìn - Àêìu ra: Giaá trõ luêån lyá :Cho biïët viïåc phaát sinh coá hoaân têët khöng. - Goåi: m_Attribs :Xêu caác thuöåc tñnh cuãa thaânh phêìn - Thuêåt toaán: Bûúác 1: - Múã RecordSet nïëu phaát sinh dûä liïåu trïn Access, hoùåc múã file nïëu phaát sinh dûä liïåu trïn SQL. Bûúác 2: -Duyïåt m_Attribs, vúái moåi pAtt thuöåc m_Attribs: -Nïëu pAtt laâ PrimaryKey - Nïëu pAtt laâ ForgeignKey:
  45. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 44 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 69 Count = söë record cuãa thuöåc tñnh khoáa chñnh trong baãng chñnh. Nïëu count < NoRecord thò : NoRecord = Count. Ngûúåc laåi: Phaát sinh pAtt. Nïëu söë record do pAtt phaát sinh < NoRecord thò: NoRecord = Söë resord do pAtt phaát sinh cuöëi nïëu. -Xoáa caác giaá trõ phaát sinh dû. -Lùåp I tûâ 0 àïën NoRecord + Duyïåât m_Attribs vaâ phaát sinh cho tûâng pAtt trong àoá: Nïëu pAtt laâ PrimaryKey : Nïëu pAtt laâ ForeignKey : Phaát sinh pAtt. Ngûúåc laåi: Lêëy giaá trõ thûá I maâ pAtt àaä phaát sinh. Cuöëi nïëu. Ngûúåc laåi: Nïëu pAtt khöng phaãi laâ thuöåc tñnh tñnh toaán: Phaát sinh pAtt. + Kiïím tra têët caã caác raâng buöåc. + Lûu xuöëng cú súã dûä liïåu nïëu laâ Access, lûu xuöëng file nïëu laâ SQL. + Nïëu vûúåt quaá thúâi gian Timeout thò: Àoáng RecordSet. Return FALSE. Cuöëi lùåp. - Àoáng RecordSet nïëu laâ Access , àoáng file nïëu laâ SQL. - Return TRUE. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 70 15) SÀ_XL1 : Phaát sinh dûä liïåu cho Sú àöì - Àêìu vaâo: - Àêìu ra: Giaá trõ luêån lyá :Cho biïët viïåc phaát sinh coá hoaân têët khöng - Goåi:
  46. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 45 T : Xêu caác thaânh phêìn trong sú àöì Logic F : Xêu caác thaânh phêìn sinh chûa coá khoáa ngoaåi - Thuêåt toaán: Bûúác 1: Lùåp - Duyïåt T + Goåi Ri laâ xêu caác thaânh phêìn maâ Ti tham chiïëu túái. + Nïëu têët caã caác thaânh phêìn trong Ri àïìu àaä phaát sinh (khöng thuöåc T) Phaát sinh Ti. Xoáa Ti khoãi T cho àïën khi T khöng thay àöíi. Bûúác 2: Nïëu T röîng Kïët thuác Ngûúåc laåi: Phaát sinh trûâ khoáa ngoaåi Ti coá têët caã khoáa ngoaåi khöng bùæt buöåc thïm Ti vaâo F. Quay laåi Bûúác 1 Bûúác 3: Cêåp nhêåt khoáa ngoaåi cho caác thaânh phêìn thuöåc F. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 71 16) TT_XL1 : Phaát sinh dûä liïåu cho thuöåc tñnh - Àêìu vaâo: stMin : chuöîi giaá trõ nhoã nhêët; stMax: chuöîi giaá trõ lúán nhêët - Àêìu ra: Chuöîi chûáa dûä liïåu àûúåc phaát sinh - Thuêåt toaán: - Nïëu stMin röîng; StMin = giaá trõ nhoã nhêët mùåc nhiïn cho kiïíu dûä liïåu àoá - Nïëu stMax röîng; StMax = giaá trõ lúán nhêët mùåc nhiïn cho kiïíu dûä liïåu àoá - Phaát sinh giaá trõ ngêîu nhiïn nùçm tûâ stMin àïën stMax 17) TP_XL2 : A'nh xaå raâng buöåc tûâ sú àöì Lúáp sang Logjc - Àêìu vaâo: - Àêìu ra: Danh saách raâng buöåc möîi loaåi trïn sú àöì Lúáp Thuêåt toaán: Vúái moåi pCstr trong danh saách raâng buöåc cuãa àöëi tûúång , pCstr aánh xaå sang Logic Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 72 3.4. Töíng húåp quan hïå giûäa caác thaânh phêìn thiïët kïë
  47. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 46 Dûä liïåu - Giao diïån - Xûã lyá Thaânh phêìn Giao diïån Xûã lyá RBMGT MH30 , MH37 , MH39 RBMGT_XL1, RBMGT_XL2 RBTT MH32 , MH37 , MH39 RBTT_XL1, RBTT_XL2 RBDN MH33 , MH37 , MH39 RBDN_XL1, RBDN_XL2 RBTÀ MH34 , MH37 , MH39 RBTÀ_XL1 , RBTÀ_XL2, RBTÀ_XL3, RBTÀ_XL4 RBSL MH35 , MH37 , MH39 RBSL_XL1 , RBSL_XL2, RBSL_XL3, RBSL_XL4 RBÀK MH36 , MH37 , MH39 RBSL_XL1 , RBSL_XL2, RBSL_XL3, RBSL_XL4 RBLTT MH31 , MH37 , MH39 RBLTT_XL1 , RBLTT_XL2, RBLTT_XL3, RBLTT_XL4 Thaânh phêìn MH31 ->MH40 TP_XL1 Thuöåc tñnh MH30 ->MH39 TT_XL1 Sú àöì MH37, MH38, MH39 SÀ_XL1 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 73 3.4.2. Giao diïån - Dûä liïåu - Xûã lyá Giao diïån Dûä liïåu Xûã lyá MH30, MH32 RBMGT, RBTT, Thuöåc tñnh Nhêåp liïåu RB MH31, MH33->MH36 RBLTT, RBTÀ, RBSL, RBDN, RBÀK,Thaânh phêìn, Thuöåc tñnh; Nhêåp liïåu RB MH37->MH39 Sú àöì Phaát sinh baáo biïíu Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 74 4. Caâi àùåt vaâ thûã nghiïåm 4.1. Möi trûúâng caâi àùåt Àùåc àiïím: - Möi trûúâng caâi àùåt : Visual C++ kïët húåp vúái MS Access. - Visual C++ : + Laâ möåt ngön ngûä lêåp trònh theo hûúáng àöëi tûúång trïn hïå àiïìu haânh Windows. Àiïìu naây rêët tiïån lúåi nïëu giai àoaån Phên Tñch –Thiïët Kïë thûåc hiïån theo phûúng phaáp hûúáng àöëi tûúång. + Thû viïån MFC cung cêëp caác Lúáp cú baãn nhùçm höî trúå rêët nhiïìu cho giai àoaån caâi àùåt vöën chiïëm nhiïìu thúâi gian trong quaá trònh thûåc hiïån möåt àïì aán.
  48. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 47 Ngûúâi phaát triïín ûáng duång trïn möi trûúâng Visual C++ seä kïë thûâa caác Lúáp cú baãn vaâ phaát triïín thïm caác chûác nùng chuyïn biïåt. + Visual C++ coân cho pheáp kïët nöët vúái caác HQTCSDL nhû MS SQL Server, MS Access thöng qua ODBC + Visual C++ laâ möåt trong 4 ngön ngûä lêåp trònh àûúåc tñch húåp trong böå Visual Studio. Vò thïë noá àûúåc höî trúå caác kyä thuêåt cuãa böå Visual Studio, àûúåc höî trúå búãi caác cöng cuå höî trúå caác giai àoaån khaác trong quaá trònh laâm phêìn mïìm nhû Visual Modeler höî trúå phên tñch – thiïët kïë , Install Shield höî trúå àoáng goái - MS Access : + Laâ möåt HQTCSDL chaåy trïn maáy àún, àûúåc sûã duång khaá phöí biïën trong caác trûúâng àaåi hoåc, trong phêìn mïìm quaãn lyá caác cú quan, xñ nghiïåp + HQTCSDL naây coá thïí kïët nöëi vúái caác ngön ngûä lêåp trònh úã bïn ngoaâi nhû Visual C++, Visual Basic Nhû àaä trònh baây úã trïn, muåc tiïu trûúác mùæt cuãa àïì taâi laâ minh hoåa cho phûúng phaáp Xêy Dûång Phêìn Mïìm theo Hûúáng Àöëi Tûúång trong caác trûúâng àaåi hoåc & höî trúå cho caác nhaâ phaát triïín phêìn mïìm nhanh dûåa vaâo Thû Viïån Sú Àöì Lúáp coá sùén. Thû viïån phên theo Lúáp Phêìn Mïìm hoùåc theo Siïu Lúáp Phêìn Mïìm. Vò thïë, chuáng töi choån Visual C++ laâm ngön ngûä chuã àïí caâi àùåt, coân MS Access àoáng vai troâ lûu trûä dûä liïåu ( lûu thöng tin vïì caác Lúáp àöëi tûúång, quan hïå, thaânh phêìn, raâng buöåc trïn sú àöì Lúáp & sú àöì Logic; lûu thû viïån sú àöì Lúáp). Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 75 4.1.2. Cêëu truác töí chûác phêìn mïìm - Phêìn mïìm göìm: + Thû muåc CaseData : Chûáa caác têåp tin àõnh daång + Thû muåc CaseLib : Chûáa caác têåp tin thû viïån sú àöì Lúáp + Têåp tin POOM.EXE : Têåp tin thi haânh. - Cêëu hònh phêìn mïìm vaâ phêìn cûáng: + Maáy 586 + RAM tûâ 16 MB trúã lïn + Hïå àiïìu haânh Windows + MS Access 97 trúã lïn, Seagate Crystal Reports 6.0. 4.2. Thûã nghiïåäm Caác àïì taâi sau àaä àûúåc chaåy thûã nghiïåm trïn ûáng duång :
  49. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 48 + Quaãn lyá Giaáo vuå úã trûúâng PTTH. + Töí chûác Giaãi thi àêëu boáng àaá vö àõch Quöëc gia. + Quaãn lyá Thû viïån. Chuá yá: Xem kïët quaã thûã nghiïåm trong phêìn Phuå Luåc. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 76 5. Kïët luêån 5.1. Töíng kïët caác kïët quaã àaä coá -Giai àoaån phên tñch & nhêåp (Thïm, Xoáa, Sûãa) raâng buöåc trïn sú àöì Lúáp + Ngûúâi duâng nhêåp RB theo cêëu truác vaâ phêìn mïìm tûå phaát sinh àùåc taã. & Cho pheáp xêy dûång sú àöì traång thaái cuãa àöëi tûúång nïëu àöëi tûúång àoá coá thuöåc tñnh traång thaái & kiïím tra sú àöì Lúáp (phêìn raâng buöåc) + Caác raâng buöåc hoaân toaân phên biïåt. + Àöëi Tûúång / Thaânh Phêìn vaâ caác Thuöåc Tñnh tham gia RB phaãi nùçm trong sú àöì Lúáp / Logic. -Giai àoaån thiïët kïë & a'nh xaå raâng buöåc tûâ sú àöì Lúáp sang sú àöì Logic + A'nh xaå caã cêëu truác lêîn àùåc taã cuãa RB. Chuá yá : Nïëu sang sú àöì Logic , ngûúâi duâng thao taác (Xoáa, Sûãa) trïn caác thaânh phêìn àaä coá thò caác raâng buöåc liïn quan bõ xoáa ài & nhêåp (Thïm, Xoáa, Sûãa) raâng buöåc trïn sú àöì Logic + Ngûúâi duâng nhêåp RB theo cêëu truác vaâ phêìn mïìm tûå phaát sinh àùåc taã. & kiïím tra sú àöì Logic (phêìn raâng buöåc) + Tûúng tûå chûác nùng “Kiïím tra RB trïn sú àöì Lúáp”. -Giai àoaån phaát sinh & phaát sinh caác haâm kiïím tra RBTV. + Ms Access :Validation Rule,Validation Text trong file .MDB + Visual C++ :Haâm kiïím tra tñnh àuáng àùæn cuãa CSDL + Ms SQL Server :Rule, Trigger, Store Procedure & Phaát sinh CSDL thûã nghiïåm. + Ms Access :File .MDB + Ms SQL Server :File script .SQL. *PM cho pheáp ngûúâi duâng àõnh nghôa: % Söë lûúång Record trong möîi quan hïå (Choån möåt lêìn cho têët caã caác quan hïå)
  50. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 49 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöñ tûúång Giai àoaån kiïím chûáng 77 % Xaác suêët dûä liïåu cuãa möîi thuöåc tñnh trïn tûâng quan hïå. *PM phaát sinh dûä liïåu cho caác loaåi thaânh phêìn coá àùåc àiïím sau: % Chó coá thuöåc tñnh khoáa chñnh, khoáa ngoaåi % Coá thuöåc tñnh bõ tham chiïëu % Tham chiïëu cheáo % Tham chiïëu àïå quy & phaát sinh caác baáo caáo. + Baáo caáo vïì raâng buöåc trïn sú àöì Lúáp (theo tûâng loaåi RB). + Baáo caáo vïì raâng buöåc trïn sú àöì Logic (theo tûâng loaåi RB). + Baáo caáo vïì caác haâm kiïím tra raâng buöåc àûúåc phaát sinh + Baáo caáo vïì dûä liïåu thûã nghiïåm àûúåc phaát sinh. *PM höî trúå caác loaåi raâng buöåc sau: RB miïìn giaá trõ: Coá 2 daång : Liïn tuåc & Rúâi raåc + Liïn tuåc : Àöëi vúái kiïíu Söë, Ngaây + Rúâi raåc : Àöëi vúái kiïíu Söë, Ngaây, Chuöîi RB thuöåc tñnh tñnh toaán: (Thuöåc tñnh tñnh toaán thay àöíi àöìng thúâi khi thay àöíi caác thuöåc tñnh liïn quan). Coá 2 daång : Biïíu thûác so saánh trûåc tiïëp & daång “Nïëu thò ” + Biïíu thûác so saánh trûåc tiïëp : Thuöåc tñnh tñnh toaán = Biïíu thûác tñnh toaán = SUM( Biïíu thûác tñnh toaán) = COUNT(Caác thuöåc tñnh) ( Thuöåc tñnh tñnh toaán & caác thuöåc tñnh liïn quan phaãi cuâng kiïíu dûä liïåu; kiïíu dûä liïåu phaãi laâ Söë, Ngaây. + Daång “Nïëu thò ” : (Biïíu thûác NÏËU laâ möåt nhûäng biïíu thûác Logic maâ toaán tûã Logic laâ AND, OR, NOT. (Biïíu thûác THÒ coá daång “Thuöåc tñnh tñnh toaán = Biïíu thûác tñnh toaán” RB liïn thuöåc tñnh (möåt hay nhiïìu thaânh phêìn): (Khöng giúái haån söë thuöåc tñnh tham gia RB) Coá 2 daång : Biïíu thûác so saánh trûåc tiïëp & daång “Nïëu thò ”
  51. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 50 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöñt tûúång Giai àoaån kiïím chûáng 78 + Biïíu thûác so saánh trûåc tiïëp : Àöëi vúái caác thuöåc tñnh cuâng kiïíu dûä liïåu laâ Söë, Ngaây, Giúâ. + Daång “Nïëu thò ” : Biïíu thûác NÏËU, biïíu thûác THÒ laâ nhûäng biïíu thûác Logic maâ toaán tûã Logic laâ AND, OR, NOT. RB liïn böå (duy nhêët): + Möåt hay nhiïìu thuöåc tñnh töìn taåi duy nhêët Vñ duå: Q(MQ, MA,MB) coá 2 khoáa nhûng chó caâi àùåt 1 khoáa laâ MQ. ( RB liïn böå trïn (MA,MB) MÖN (MA_MON , TenMon) ( RB liïn böå trïn (TenMon) RB thúâi àiïím: + Söë lûúång : Chó laâ möåt söë > 0 tûúng ûáng “Giaá trõ lúán nhêët” ( Söë lûúång àûúåc hiïíu laâ [0 ; Giaá trõ lúán nhêët ] + Khi àaä xaác àõnh Thúâi Àiïím Àêìu thò phaãi xaác àõnh Thúâi Àiïím Cuöëi. RB söë lûúång: + Söë lûúång coá 2 daång : Liïn tuåc : [ Giaá trõ nhoã nhêët ; Giaá trõ lúán nhêët ] Rúâi raåc : giaá trõ1 ; giaá trõ2,, + Giûäa hai thaânh phêìn A & B chó coá möåt quan hïå vïì söë lûúång Vñ duå: Nïëu coá”1 böå A tûúng ûáng vúái n böå B” . Thò khöng coá “1 böå B tûúng ûáng vúái m böå A” RB àiïìu kiïån tham gia quan hïå: + RB chu trònh. + Möåt biïíu thûác liïn quan àïën thuöåc tñnh cuãa àöëi tûúång tham gia quan hïå. Biïíu thûác naây laâ möåt biïíu thûác Logic maâ toaán tûã Logic chó laâ AND, caác biïíu thûác con laâ caác biïíu thûác so saánh. 5.2. Nhêån xeát -So vúái caác yïu cêìu vïì chêët lûúång phêìn mïìm& tñnh àuáng àùæn: Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 79 PM thûåc hiïån àêìy àuã caác yïu cêìu chûác nùng cuãa àïì taâi. Coân caác yïu cêìu phi chûác nùng nhû an toaân, baão mêåt khöng chuá troång vò àêy chó laâ cöng cuå höî trúå & tñnh tiïën hoáa:
  52. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 51 Dïî daâng phaát triïín cho caác loaåi raâng buöåc múái vaâ caác daång höî trúå khaác trong giai àoaån caâi àùåt , thûã nghiïåm & tñnh hiïåu quaã: Kïët quaã thûã nghiïåm cho thêëy PM thûåc hiïån caác yïu cêìu chûác nùng (Phaát sinh dûä liïåu thûã nghiïåm, Phaát sinh haâm kiïím tra RB trïn möi trûúâng Ms Access vaâ Ms SQL Server) khöng quaá chêåm trïn cêëu hònh maáy úã mûác trung bònh hiïån nay (Maáy 586, 166Mhz, RAM 16MB) & tñnh tûúng thñch: PM coá sûå chuyïín àöíi dûä liïåu vúái Giai àoaån Thiïët Kïë Thaânh Phêìn Dûä Liïåu (Àïì taâi cuãa nhoám Nguyïîn Thanh Nghõ – Nguyïîn Höìng Quang). Kïët quaã taåo ra laâ nhûäng file .MDB (Ms Access), .SQL (Ms SQL Server). Tûâ àoá ngûúâi duâng coá thïí duâng chûác nùng Export cuãa Ms Access, Ms SQL Server, hay caác chûúng soaån thaão vùn baãn khaác nhû NotePad, Ms Word àïí taåo ra file theo yá muöën & tñnh tiïån duång: Caác thaânh phêìn giao diïån (Maân hònh, Thöng baáo, Baáo biïíu, Thûåc àún ) trònh baây nhêët quaán. Trïn àoá ngûúâi duâng coá thïí thao taác bùçng chuöåt hay baân phñm, caác loaåi thao taác cuäng coá tñnh thöëng nhêët nhû click, right click Tuy nhiïn, do cêëu truác RB khöng hoaân toaân thöëng nhêët nïn giao diïån nhêåp RB coá phêìn keám tûå nhiïn. -So vúái caác phêìn mïìm khaác& àiïím maånh : % Höî trúå caã hai giai àoaån Phên Tñch, Thiïët Kïë theo phûúng phaáp hûúáng àöëi tûúång. Àöìng thúâi cho pheáp nhêåp RB vaâ xêy dûång sú àöì traång thaái cuãa lúáp àöëi tûúång trïn sú àöì lúáp. Caác cöng cuå hiïån coá thûúâng laâ höî trúå phên tñch, thiïët kïë theo phûúng phaáp cêëu truác nhû VN_Case, Power Designer Coân Rational Rose, Visual Modeler thò höî trúå theo phûúng phaáp hûúáng àöëi tûúång nhûng chó höî trúå giai àoaån thiïët kïë. Khöng coá cöng cuå naâo höî trúå RB. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 80 % Phaát sinh dûä liïåu thûã nghiïåm vaâo khung CSDL tûúng ûáng sú àöì Logic. Àaä coá nhûäng cöng cuå phaát sinh dûä liïåu thûã nghiïåm nhûng theo phûúng phaáp Höåp Trùæng nhû DataTect, hoùåc phaát sinh dûä liïåu cho möåt lônh vûåc cuå thïí nhû Climgen (vïì thúâi tiïët cuaã möåt vuâng). % Goån hún, dïî daâng sûã duång hún nhûäng cöng cuå khaác & Àiïím yïëu: % Höî trúå phaát sinh sang ñt HQTCSDL hún caác cöng cuå sùén coá. % Khaã nùng tûúng thñch vúái caác hïå àiïìu haânh keám hún. % Thûåc hiïån caác chûác nùng chêåm hún. 5.3. Hûúáng phaát triïín
  53. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 52 Nhûäng kïët quaã maâ hïå thöëng naây àaåt àûúåc goáp phêìn minh hoåa cho mön hoåc Xêy Dûång Phêìn Mïìm Theo Hûúáng Àöëi Tûúång vöën coân rêët múái meã, ngoaâi ra coá thïí höî trúå cho nhûäng nhoám phaát triïín phêìn mïìm úã giai àoaån phên tñch, thiïët kïë dûä liïåu vaâ kiïím chûáng, giuáp hoå ruát ngùæn thúâi gian hoaân thaânh caác àïì aán tin hoåc àaáng kïí. Sau naây, hïå thöëng seä àûúåc múã röång thïm thaânh möåt cöng höî trúå àùæc lûåc cho viïåc Xêy Dûång Phêìn Mïìm Theo Huúáng Àöëi Tûúång. % Trûúác mùæt seä höî trúå thïm caác raâng buöåc àöång, thïm caác àiïìu kiïån loåc cho RBLTT vaâ RBÀK. % Phaát sinh khung CSDL, dûä liïåu thûã nghiïåm cuäng nhû haâm kiïím tra raâng buöåc sang möåt söë HQTCSDL thöng duång khaác úã nûúác ta hiïån nay FoxPro, Oracle àùåc biïåt laâ caác HQTCSDL theo cêëu truác Client-Server, hoùåc phaát sinh sang caác HQTCSDL hûúáng àöëi tûúång àïí höî trúå nhiïìu hún nûäa cho phûúng phaáp Xêy Dûång Phêìn Mïìm Hûúáng Àöëi Tûúång. % Höî trúå thïm thaânh phêìn Xûã Lyá cuãa giai àoaån Thiïët Kïë : Tûâ sú àöì Lúáp, cho pheáp nhêåp caác xûã lyá cuãa àöëi tûúång; A'nh xaå caác xûã lyá qua sú àöì Logic; Phaát sinh Project vaâ caác haâm kiïím tra RB daång client sang möåt söë ngön ngûä lêåp trònh thöng duång hiïån nay nhû Visual C++, Visual Basic,CBuilder, Java Caác project naây thûåc thi nhúâ vaâo dûä liïåu thuã nghiïåm àaä phaát sinh sùén. % Höî trúå giao diïån tiïëng Viïåt vaâ tiïëng Anh.
  54. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 53
  55. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 54 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 81 PHUÅ LUÅC A-Hûúáng dêîn sûã duång phêìn mïìm "Naåp chûúng trònh "Taåo múái sú àöì Lúáp hoùåc múã sú àöì Lúáp coá sùén YÁ nghôa: Taåo ra mö hònh thïë giúái thûåc. Caách thûåc hiïån: Coá thïí choån möåt trong hai caách % Tûâ thûåc àún “Sú àöì” , choån chûác nùng “Taåo múái”,”Múã”,”Àoåc tûâ thû viïån”. % Nhêëp vaâo biïíu tûúång tûúng ûáng trïn thanh cöng cuå cuãa chûúng trònh. " Nhêåp thöng tin, thuöåc tñnh, raâng buöåc cuãa caác Àöëi tûúång, Quan hïå Caách thûåc hiïån: -Nhêëp chuöåt choån Àöëi tûúång hoùåc Quan hïå. -Coá thïí choån möåt trong hai caách % Tûâ thûåc àún “Sú àöì” , choån chûác nùng “Nhêåp thöng tin”,”Nhêåp thuöåc tñnh”. % Nhêëp phaãi chuöåt , choån chûác nùng tûúng ûáng trïn thûåc àún ngûä caãnh. " Kiïím tra sú àöì Lúáp YÁ nghôa: Kiïím tra tñnh àuáng àùæn cuãa sú àöì Lúáp trûúác khi aánh xaå sang Logic. Nïëu ngûúâi duâng khöng choån chûác nùng naây thò khi phaát sinh sang Logic seä tûå àöång kiïím tra. Caách thûåc hiïån: Coá thïí choån möåt trong hai caách % Tûâ thûåc àún “Sú àöì” , choån chûác nùng “Kiïím tra sú àöì”. % Nhêëp chuöåt vaâo biïíu tûúång trïn thanh cöng cuå cuãa sú àöì. " A'n xaå sú àöì Lúáp sang Logic YÁ nghôa: Taåo ra mö hònh phêìm mïìm tûâ mö hònh thïë giúái thûåc. Caách thûåc hiïån: Coá thïí choån möåt trong hai caách % Tûâ thûåc àún “Sú àöì” , choån chûác nùng “Phaát sinh sú àöì Logic”. % Nhêëp vaâo biïíu tûúång trïn thanh cöng cuå cuãa sú àöì.
  56. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 55 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 82 Nhêåp & chónh sûãa thöng tin, thuöåc tñnh vaâ raâng buöåc úã mûác Logic (Tûúng tûå mûác sú àöì Lúáp) "Phaát sinh khung CSDL vaâ dûä liïåu thûã nghiïåm Caách thûåc hiïån: -Tûâ thûåc àún “Sú àöì” , choån chûác nùng “Phaát sinh dûä liïåu thûã nghiïåm”. -Choån HQTCSDL -Choån söë lûúång record cho möîi thaânh phêìn Chuá yá: Khi phaát sinh, söë lûúång record trong möîi thaânh phêìn coá thïí nhoã hún söë àaä àõnh trûúác do raâng buöåc giúái haån. -Choån xaác suêët cho tûâng thuöåc tñnh trong möîi thaânh phêìn -Choån tïn file chûáa khung CSDL -Bùæt àêìu phaát sinh khung CSDL vaâ dûä liïåu thûã nghiïåm. Phaát sinh haâm kiïím tra raâng buöåc Caách thûåc hiïån: -Choån möi trûúâng (Visual C++ hay Ms SQl Server) -Tûâ thûåc àún “Sú àöì” , choån chûác nùng “Phaát sinh T_SQL Trigger” hoùåc “Phaát sinh haâm kiïím tra trïn Ms Visual C++ ”. Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 83 B-Kïët quaã thûã nghiïåm Caác kïët quaã àaåt khi sûã duång caác chûác nùng cuãa phêìn mïìm cho caác àïì taâi. Àïì taâi: Quaãn lyá Giaáo vuå úã trûúâng PTTH - Sú àöì Lúáp & caác raâng buöåc trïn sú àöì Lúáp - Sú àöì Logic & caác raâng buöåc trïn sú àöì Logic Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 84 Hònh 6.1 Sú àöì Lúáp àïì taâi thûã nghiïåm ”Quaãn lyá giaáo vuå trûúâng PTTH”
  57. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 56 Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 85 Hònh 6.2 Danh saách RB cuãa sú àöì Lúáp “Quaãn lyá Giaáo vuå trûúâng PTTH” Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 86 Hònh 6.3 Sú àöì Logic àïì taâi thûã nghiïåm ”Quaãn lyá giaáo vuå trûúâng PTTH” Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 87 Hònh 6.4 Danh saách RB cuãa sú àöì Logic “Quaãn lyá Giaáo vuå trûúâng PTTH” Cöng cuå höî trúå xêy dûång phêìn mïìm theo hûúáng àöëi tûúång Giai àoaån kiïím chûáng 88 - Paát sinh khung cú súã dûä liïåu tuây theo HQTCSDL Nïëu choån Ms Access : file QLGV. MDB Nïëu choån Ms SQL Server hoùåc SQL chuêín : file script QLGV. SL - SQL Phaát sinh haâm kiïím tra raâng buöåc + Ms Access : Caác RBMGT ( R2 ) & RBLTT trïn möåt tthaânh phêìn ( R1 + Visual C++: Caác haâm kiïím tra tñnh àuáng àùæn cuãa caác baãng dûä liïåu trïn MS Access + Ms SQL Server : Caác Rule, Trigger, Store Procedure kiïím tra têët caã caác raâng buöåc tônh trïn sú àöì Logic. - Phaát sinh dû ä liïåu thûã nghiïåm thoäa caác raâng buöåc ( R1 R2): + Ms Access : phaát sinh dûä liïåu vaâo file QLGV.MDB àaä coá. + Ms SQL Server :phaát sinh dûä liïåu vaâo file script. Söë lûúång record Choån danh muåc Choån xaác suêët
  58. CÖNG CUÅ HÖÎ TRÚÅ PHÊÌN MÏÌM THEO HÛÚÁNG ÀÖËI TÛÚÅNG 57 Cêëu hònh maáy Thúâi gian hoaân têët 100 X X CPU Intel 166Mhz , Mainboard 586, RAM 48MB 6 phuát 100 X X CPU Intel 166Mhz , Mainboard 586, RAM 32MB 6 phuát 500 CPU Intel 233Mhz , Mainboard 586, RAM 64MB 30 phuát 500 X CPU Intel 166Mhz , Mainboard 586, RAM 48MB 32 phuát 500 X CPU Intel 166Mhz , Mainboard 586, RAM 16MB 35phuát 5000 CPU Intel 233Mhz , Mainboard 586, RAM 64MB 303 phuát 5000 X X CPU Intel 166Mhz , Mainboard 586, RAM 48MB 322 phuát 5000 X CPU Intel 166Mhz , Mainboard 586, RAM 16MB 355 phuát