Giáo trình phân tích thiết kế hướng đối tượng

216 1.2K 8
Giáo trình phân tích thiết kế hướng đối tượng

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

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

Thông tin tài liệu

TRUONG DAI HOC CễNG NGH KHOA CễNG NGH THễNG TIN GIO TRèNH PHN TCH THIT K H THNG VI UML Thỏng 09 nm 2011 Phõn tớch, thit k hng i tng bng UML MC LC MC LC LI NểI U CHNG I PHNG PHP HNG I TNG V QU TRèNH PHT TRIN H THNG PHN MM CHNG II 33 UML V QU TRèNH PHT TRIN PHN MM 33 CHNG III 64 BIU CA S DNG PHN TCH CC NHU CU CA H THNG 64 CHNG IV 80 PHN TCH H THNG Mễ HèNH KHI NIM V BIU LP .80 CHNG V 107 Mễ HèNH NG THI: CC BIU TNG TC V HNH NG TRONG H THNG 107 CHNG VI 129 THIT K CC BIU CNG TC V BIU THNH PHN CA H THNG .129 CHNG VII 158 KIN TRC H THNG V PHT SINH M TRèNH 158 Ph lc: Hng dn gii bi ln 181 TI LIU THAM KHO 210 Danh sỏch thut ng v cỏc t vit tt 213 LI NểI U Nhim v ca cụng ngh thụng tin núi chung, cụng ngh phn mm núi riờng l nghiờn cu cỏc mụ hỡnh, phng phỏp v cụng c to nhng h thng phn mm cht lng cao nhm ỏp ng c nhng nhu cu thng xuyờn thay i, ngy mt -2- Phõn tớch, thit k hng i tng bng UML phc ca thc t Nhiu h thng phn mm ó c xõy dng theo cỏc cỏch tip cn truyn thng t lc hu, khụng ỏp ng c cỏc yờu cu ca ngi s dng Cỏch tip cn hng i tng giỳp chỳng ta cú c nhng cụng c, phng phỏp mi, phự hp gii quyt nhng nờu trờn Cỏch tip cn ny rt phự hp vi cỏch quan sỏt v quan nim ca chỳng ta v th gii xung quanh v to nhng cụng c mi, hu hiu phỏt trin cỏc h thng cú tớnh m, d thay i theo yờu cu ca ngi s dng, ỏp ng c cỏc tiờu chun phn mm theo yờu cu ca nn cụng ngh thụng tin hin i, gii quyt c nhng phc ca thc t t th k 21 Giỏo trỡnh ny trỡnh by cỏch s dng ngụn ng mụ hỡnh hoỏ thng nht UML (Unified Modeling Language) phõn tớch v thit k h thng theo cỏch tip cn hng i tng Cỏch tip cn hng i tng t trng tõm vo vic xõy dng lý thuyt cho cỏc h thng tng quỏt nh l mụ hỡnh c bn H thng c xem nh l cỏc thc th tỏc ng qua li v trao i vi bng cỏc thụng ip thc hin nhng nhim v t Cỏc khỏi nim mi ca mụ hỡnh h thng hng i tng v cỏc bc thc hin phõn tớch, thit k hng i tng c mụ t, hng dn thc hin thụng qua ngụn ng chun UML cựng phn mm cụng c h tr mụ hỡnh hoỏ Rational Rose Giỏo trỡnh c biờn son theo nhu cu ging dy, hc v nghiờn cu mụn hc Phõn tớch, thit k h thng ca ngnh Cụng ngh thụng tin; ni dung c biờn son da vo kinh nghim ging dy mụn hc ny qua nhiu nm ca tỏc gi cỏc khoỏ o to cao hc, i hc ti cỏc i hc Quc gia H Ni, i hc Bỏch khoa H Ni, i hc Khoa hc Hu, i hc Nng, i hc Thỏi Nguyờn, v.v Giỏo trỡnh c trỡnh by tỏm chng Chng m u gii thiu nhng khỏi nim c s mụ hỡnh hoỏ, qui trỡnh phỏt trin h thng v hai cỏch tip cn chớnh phỏt trin cỏc h thng phn mm hin l hng th tc (hng chc nng) v hng i tng Chng II gii thiu ngụn ng mụ hỡnh hoỏ thng nht UML v vai trũ ca nú quỏ trỡnh phỏt trin phn mm Vn phõn tớch cỏc yờu cu ca h thng v cỏch xõy dng biu ca s dng c nờu chng III Chng IV trỡnh by nhng khỏi nim c bn v cỏc lp i tng v cỏc mi quan h ca chỳng khụng gian bi toỏn Biu lp cho phộp biu din tt c nhng khỏi nim ú mt cỏch trc quan v thụng qua mụ hỡnh khỏi nim l biu lp, chỳng ta hiu rừ hn v h thng cn phỏt trin Nhng biu tng tỏc, mụ hỡnh ng thỏi th hin cỏc hnh vi v ng x ca h thng c gii thiu chng V Da vo nhng kt qu phõn tớch cỏc chng trc, hai chng tip theo nờu cỏch thc hin thit k cỏc biu cng tỏc cho tng nhim v, tng ca s dng ca h thng v t ú cú c nhng thit k lp, biu lp chi tit mụ t chớnh xỏc cỏc nhim v c giao Vn quan trng l la chn kin trỳc cho h thng v kh nng ỏnh x nhng kt qu thit k sang mó chng trỡnh mt ngụn ng lp trỡnh hng i tng nh C++, Java, Visual Basic, v.v c cp chng VII Chng cui cp n mt s chớnh cn lu ý thit k mt CSDL HT, ú ch yu gii thiu v vic ng dng ObjectStore ci t ng dng CSDL Bi toỏn H thng qun lý bỏn hng c chn lm vớ d minh ho phõn tớch, thit k h thng phn -3- Phõn tớch, thit k hng i tng bng UML mm theo cỏch tip cn hng i tng xuyờn sut c giỏo trỡnh Ngoi ra, phn ph lc gii thiu mt s ti liu phõn tớch, thit k cỏc bn tham kho thờm Tỏc gi xin chõn thnh cỏm n cỏc bn ng nghip Vin CNTT, cỏc bn Khoa CNTT, i hc Khoa hc Hu, cỏc bn Khoa CNTT, i hc Quc gia H Ni v nhng úng gúp quớ bỏu, h tr thit thc v ng viờn chõn thnh hon thnh cun giỏo trỡnh ny Mc dự ó rt c gng nhng giỏo trỡnh ny chc khụng trỏnh nhng sai sút Chỳng tụi rt mong nhn c cỏc ý kin gúp ý ca cỏc thy cụ, nhng nhn xột ca sinh viờn v cỏc bn c hiu chnh thnh cun sỏch hon thin H Ni 2004 Tỏc gi CHNG I PHNG PHP HNG I TNG V QU TRèNH PHT TRIN H THNG PHN MM Chng I trỡnh by cỏc c s v: -4- Phõn tớch, thit k hng i tng bng UML Cỏc khỏi nim v c trng c bn ca h thng phn mm, Quỏ trỡnh phỏt trin phn mm h thng, Cỏc phng phỏp phõn tớch v thit k h thng 1.1 Gii thiu Thỏch thc ln nht ca loi ngi th k 21 l s hn n v mc phc hu ht cỏc lnh vc ca cuc sng Khoa hc tớnh toỏn, tin hc s úng vai trũ rt quan trng vic tng thờm trớ tu, khoa hc cho ngi nhm gii quyt nhng rt phc mi hot ng ca mỡnh Nn kinh t ca chỳng ta th k ny cng phi chuyn sang nn kinh t tri thc, ngha l luụn i mi v thay i, khỏc hn vi nn kinh t da vo vt cht hiu, khng ch c phc ca nhng t ca nn kinh t tri thc v t ú a c nhng gii phỏp gii quyt chỳng thỡ chỳng ta phi cú nhng phng phỏp khoa hc v ỳng n, phự hp vi cỏc qui lut xó hi v t nhiờn Bờn cnh vic nghiờn cu cỏc phng phỏp thớch hp i vi tng loi h thng, chỳng ta cng cn tỡm hiu tng b phn ca chỳng mụ hỡnh hoỏ v xỏc nh c quỏ trỡnh hỡnh thnh ca mi h thng Nh Pascal ó khng nh Khụng th hiu c b phn nu khụng hiu ton th v khụng th hiu ton th nu khụng hiu c tng b phn Do vy, nhim v ca cỏc ngnh khoa hc l i nghiờn cu cỏc quỏ trỡnh, cỏc qui lut t nhiờn, cỏc tớnh cht v hnh vi ca h thng mụ hỡnh hoỏ chỳng v xut nhng phng phỏp gii quyt nhng xy cỏc hot ng ca ngi cho hiu qu nht Nhim v ca cụng ngh thụng tin núi chung, cụng ngh phn mm núi riờng l nghiờn cu cỏc mụ hỡnh, phng phỏp v cụng c to nhng h thng phn mm cht lng cao phm vi hn ch v ti nguyờn nhm ỏp ng c nhng nhu cu thng xuyờn thay i ca khỏch hng, gii quyt c nhng phc t thc t Trc nhng nm 60, cha nh hỡnh cỏc phng phỏp rừ rt cho quỏ trỡnh phỏt trin phn mm [19, 35] Ngi ta xõy dng h thng phn mm tng i tu tin, theo s thớch v nhng kinh nghim cỏ nhõn T nhng nm 70 ti nay, nhiu mụ hỡnh, phng phỏp phỏt trin phn mm ln lt i Mi phng phỏp u cú nhng u, nhc im riờng, cú th c a chung ni ny, mt s lnh vc no ú nhng li khụng c a chung nhng ni khỏc S a dng v phong phỳ cỏc phng phỏp cng cú ngha l s khụng thng nht, khụng chun hoỏ Tuy nhiờn, tri qua thi gian, mt s phng phỏp ó t cú sc sng dai, ang c ỏp dng rng rói thc t Trong s ny phi k trc ht nhng phng phỏp cú tờn chung l cỏc phng phỏp cú cu trỳc [7, 9, 19] (phng phỏp phỏt trin trờn xung) Nhng phng phỏp ny thng nht cựng mt cỏch tip cn, ú l hng th tc v cựng mt hng t (cú cu trỳc v trờn xung), nhng mi phng phỏp li ch cp n mt phng din ca quỏ trỡnh phỏt trin phn mm Do vy, ngi ta thng s dng mt s phng phỏp liờn hon, b sung cho cựng mt ỏn phỏt trin phn mm phc Ngy nú cha lc hu, cũn phỏt huy tỏc dng tt cho nhng h thng cú cu trỳc vi nhng d liu tng i thun nht Nhng s phong phỳ v phng phỏp lun v s a dng v -5- Phõn tớch, thit k hng i tng bng UML s biu din cỏc khỏi nim (cỏc ký hiu rt khỏc nhau, khụng thng nht) dn ti khú cú th a c mt qui trỡnh thng nht cho quỏ trỡnh phỏt trin phn mm Mt khỏc, nhiu phc mi xut hin, khụng ch yờu cu tớnh toỏn ln, x lý phõn tỏn, thng xuyờn thay i cỏc yờu cu m cũn ũi hi phi qun lý vi nhiu loi d liu khỏc nhau, d liu a phng tin, d liu õm thanh, hỡnh nh, v.v T nhng nm 90, xut hin mt tro lu mi, mónh lit: ú l s i ca cỏc phng phỏp hng i tng [4, 5, 18 21, 24] Thay vỡ cỏch tip cn da vo chc nng, nhim v ca h thng nh cỏc phng phỏp cú cu trỳc nờu trờn, phng phỏp hng i tng li da chớnh vo cỏc thc th (cỏc i tng) Cỏch tip cn hng i tng t trng tõm vo vic xõy dng lý thuyt cho cỏc h thng tng quỏt nh l mụ hỡnh khỏi nim c s H thng c xem nh l cỏc i tng tỏc ng vi trờn c s truyn thụng ip thc thi cỏc nhim v t h thng ú Cỏch tip cn ny rt phự hp vi cỏch quan sỏt v quan nim ca chỳng ta v th gii xung quanh v to nhng cụng c mi, hu hiu phỏt trin cỏc h thng cú tớnh m, d thay i theo yờu cu ca ngi s dng, ỏp ng c cỏc tiờu chun phn mm theo yờu cu ca nn cụng ngh thụng tin hin i, gii quyt c nhng phc ca thc t t th k 21 Mt iu rt quan trng cụng ngh phn mm l cỏc khỏi nim mi ca mụ hỡnh h thng hng i tng, cỏc bc phỏt trin cú th c t v thc hin theo mt qui trỡnh thng nht [2, 21] vi mt h thng ký hiu chun, ú l ngụn ng mụ hỡnh hoỏ hp nht UML (Unified Modeling Language) [3, 10], c s h tr ca nhng phn mm cụng c nh Rational Rose [17, 22] Nhng cụng c ny h tr rt hiu qu cho cỏc giai on phõn tớch, thit k v lp trỡnh hng i tng 1.2 Gii thiu v h thng phn mm Theo t in Larousse, Tin hc l hp cỏc ngnh khoa hc, k thut, kinh t xó hi dng vo vic x lý thụng tin v s t ng hoỏ Nu vy, cú th nh ngha h thng tin hc l h thng cú mc ớch x lý thụng tin v cú s tham gia ca mỏy tớnh S tham gia ca mỏy tớnh mt h thng tin hc cú th nhiu mc khỏc nhau: Mc thp: mỏy tớnh ch c s dng gii quyt mt s cụng vic n l, nh son tho cỏc cụng vn, bỏo cỏo, cỏc bng biu thng kờ, hoỏ n, chng t, bng tớnh lng, v.v Mc trung bỡnh: mỏy tớnh cựng vi ngi cng tỏc, phõn cụng vi thc hin mt qui trỡnh qun lý phc tp, vớ d, cỏc h thng thụng tin qun lý hnh chớnh nh nc, cỏc dch v cụng, cỏc h thng iu hnh tỏc nghip ang c xõy dng Chng trỡnh Ci cỏch hnh chớnh, ỏn 112 ca Chớnh ph giai on 2001 - 2005 Mc cao: mỏy tớnh úng vai trũ ch cht quỏ trỡnh x lý thụng tin, ngi khụng can thit trc tip vo quỏ trỡnh ny m ch cú nhim v cung cp thụng tin u vo cho h thng v nhn c kt qu t mỏy tớnh nh cỏc chng trỡnh iu khin cỏc chuyn bay ca cỏc tu v tr, cỏc chng -6- Phõn tớch, thit k hng i tng bng UML trỡnh iu khin cỏc quỏ trỡnh sn xut t ng, v.v H thng tin hc (phn mm) vy, cú th c xem l t hp cỏc phn cng, phn mm cú quan h qua li vi nhau, cựng hot ng hng ti mc tiờu chung thụng qua vic nhn cỏc d liu u vo (Input) v sn sinh nhng kt qu u (Output) thng l cỏc dng thụng tin khỏc nh mt quỏ trỡnh x lý, bin i cú t chc Mt cỏch hỡnh thc hn chỳng ta cú th nh ngha phn mm [13, 19] bao gm cỏc thnh phn c bn nh sau: H thng cỏc lnh (chng trỡnh) thc hin thỡ to c cỏc hot ng v cho cỏc kt qu theo yờu cu, Cỏc cu trỳc d liu lm cho chng trỡnh thc hin c cỏc thao tỏc, x lý v cho cỏc thụng tin cn thit, Cỏc ti liu mụ t thao tỏc v cỏch s dng h thng 1.2.1 Cỏc c trng ca h thng H thng thụng tin cng ging nh cỏc h thng khỏc u cú nhng c trng c bn nh sau: Mi h thng u cú tớnh nht th hoỏ v c tớnh ny c th hin thụng qua: Phm vi v qui mụ ca h thng c xỏc nh nh mt th thng nht v h thng khụng thay i nhng iu kin nht nh Khi nhng iu kin ny khụng cũn c m bo thỡ h thng s phi bin i theo To nhng c tớnh chung thc hin c cỏc nhim v hay nhm t c cỏc mc tiờu chung m tng b phn riờng l khụng th thc hin c Trong s hn n, phc ca th gii xung quanh, mt h thng c to v phỏt trin thỡ phi cú tớnh t chc, cú th bc Ngha l: Mi h thng luụn l h thng ca mt h thng ln hn mụi trng no ú v chớnh nú li bao gm cỏc h thng (cỏc thnh phn) nh hn Gia cỏc thnh phn ca mt h thng cú s sp xp theo quan h th bc hay mt trỡnh t nht nh Mi h thng u cú cu trỳc: Chớnh cu trỳc ca h thng quyt nh c ch hnh ca h thng v mc tiờu m nú cn t c Cu trỳc ca h thng c th hin bi: Cỏc phn t c sp xp theo trt t cu thnh mt h thng Mi quan h gia cỏc thnh phn liờn quan ch yu n loi hỡnh, s lng, chiu, cng , v.v -7- Phõn tớch, thit k hng i tng bng UML Nhng h thng cú cu trỳc cht thng c gi l h thng cú cu trỳc Cu trỳc ca h thng l quan trng, nú cú th quyt nh tớnh cht c bn ca h thng Vớ d: kim cng v than ỏ u c cu to t cỏc phõn t cỏc-bon, nhng khỏc v cu trỳc nờn: kim cng vụ cựng rn chc, cũn tham ỏ thỡ khụng cú tớnh cht ú S thay i cu trỳc cú th to nhng c tớnh mi (sc tri mi, hay cũn gi l nhng t bin) ca h thng v vt quỏ mt ngng no ú thỡ cú th dn ti vic phỏ v h thng c Vớ d: cụng ngh bin i gen: chớnh l lm thay i cu trỳc ca cỏc t bo sinh hc Nhng nguyờn lý di truyn v bin i gen ca cụng ngh sinh hc cng ang c nghiờn cu v ng dng cụng ngh thụng tin Mi h thng u bin i theo thi gian v khụng gian: H thng no cng cú mt i sng, t lỳc khai sinh n lỳc b ph b Cỏc h thng phi luụn thay i cho phự hp vi iu kin thc t theo thi gian v khụng gian, ngha l mun tn ti v phỏt trin thỡ phi bin i cho phự hp vi mụi trng xung quanh theo qui lut tin hoỏ ca t nhiờn (Darwin) S khỏc ch yu l tc v kh nng nhn bit c v s thay i ú Mi s thay i luụn cú mi liờn h ngc (feedback) h thng v chu s tỏc ng ca qui lut nhõn - qu H thng c ỏnh giỏ theo nhiu tiờu khỏc [7, 12, 19, 24] v cha cú mt h thng tiờu chun ỏnh giỏ cho cỏc sn phm phn mm õy chỳng ta ch quan tõm n mt s tớnh cht quan trng nht hin ca cỏc sn phm phn mm Mt sn phm ca cụng ngh phn mm hin nay, ngoi nhng tớnh cht chung ca cỏc h thng nờu trờn thỡ phi cú cỏc tớnh cht sau: Tớnh tin dng (usability): sn phm phi d s dng v tin li cho ngi dựng, h tr thc hin cỏc cụng vic tt hn Mun t c mc ớch ny thỡ phn mm phi cú giao din thõn thin, phự hp, cú y cỏc ti liu mụ t v cú s h tr kp thi cho ngi s dng Kh nng bo hnh v trỡ hot ng (Maintainability): H thng phi cú kh nng cp nht, thay i, cú kh nng m rng thc hin c nhng yờu cu thay i ca khỏch hng Tớnh tin cy (Dependability): Tớnh tin cy ca phn mm khụng ch th hin kh nng thc hin ỳng nhim ó c thit k v c cỏc kh nng m bo an ton, an ninh d liu H thng phi thc hin bỡnh thng c cú s kin bt thng xy Tớnh hiu qu (Efficiency): Phn mm khụng gõy s lóng phớ cỏc ti nguyờn nh b nh, b x lý,cỏc thit b ngoi vi, thi gian s dng, v.v -8- Phõn tớch, thit k hng i tng bng UML 1.2.2 Phõn loi h thng phn mm Nu xột ti ni dung ca thụng tin c x lý v tớnh cht ca mụi trng ca h thng, ngi ta cú th phõn h thng phn mm theo cỏc loi khỏc [24, 35] nh sau: H thng thụng tin qun lý (Management Information System - MIS): h thng cung cp cỏc thụng tin cn thit cho cụng tỏc qun lý v iu hnh ca mt doanh nghip, c quan, hay núi rng l cho mt t chc Ht nhõn ca h thng thụng tin qun lý l mt c s d liu (CSDL) cha cỏc thụng tin phn ỏnh tỡnh trng hin thi v cỏc kt qu hot ng sn xut, kinh doanh ca t chc ú H thng thu thp cỏc thụng tin t mụi trng hot ng ca doanh nghip, kt hp vi cỏc thụng tin cú CSDL kt xut cỏc thụng tin m cỏc nh qun lý cn, ng thi thng xuyờn cp nht d liu gi cho cỏc thụng tin CSDL luụn phn ỏnh ỳng thc trng hin thi ca t chc ú H thng thụng tin qun lý thng c phõn loi theo hai mc: Mc thp, hay cũn gi mc tỏc nghip, h thng ch cú nhim v in cỏc bng biu, chng t giao dch theo nhng biu mu ca cỏch x lý th cụng (bng tay) lm ú thng l cỏc h thng x lý d liu nh cỏc h thng n hng, qun lý nhõn s, qun lý thit b, vt t, k toỏn ti v, v.v Mc cao, hay cũn gi mc iu hnh, h thng phi a c cỏc thụng tin cú tớnh cht chin lc v k hoch giỳp cho ngi lónh o a c cỏc quyt nh ỳng n cụng tỏc iu hnh s hot ng ca n v, vớ d, cỏc h thng dch v cụng, cỏc h thng thụng tin tng hp, cỏc trang thụng tin iu hnh tỏc nghip ca Tnh / Thnh ang c xõy dng ỏn 112 ca Chớnh ph [37, 38, 39] Nhng h thng nh th cú th phỏt trin c thnh h h tr quyt nh (Decision Support System DSS) c im ca h h tr quyt nh l bờn cnh CSDL cũn cú c s cỏc mụ hỡnh, cỏc phng phỏp m la chn dng lờn cỏc d liu s cho cỏc li gii, cho cỏc kt qu theo yờu cu a dng ca ngi dựng t cỏc tỡnh chn la cỏc quyt nh ca mỡnh Cỏc h thng k thut (Technical Systems), nhng h thng t ng hoỏ sn xut hay cũn gi l cỏc h thng iu khin cỏc quỏ trỡnh ú l nhng h thng nhm x lý v iu khin t ng cỏc quỏ trỡnh hnh cỏc thit b k thut sn xut, vin thụng, quõn s, cỏc quỏ trỡnh cụng nghip, v.v Nhng h thng ny thng phi lm vic theo phng thc x lý thi gian thc V mt kin trỳc vt lý, bờn cnh phn mm, h thng ny bao gm nhiu loi thit b tin hc a dng: t cỏc CPU ph dng, n cỏc mỏy tớnh chuyờn dng, cỏc ụtụmỏt lp trỡnh c, nh cỏc b iu khin logic -9- Phõn tớch, thit k hng i tng bng UML lp trỡnh c (Programmable Logic Controller PLC), cỏc ng truyn, cỏc b cm bin, cỏc b chuyn i tớn hiu A/N hay N/A Cỏc h thng nhỳng thi gian thc (Embedded Real_time System) H thng thc hin trờn nhng thit b cng n gin v c nhỳng vo cỏc thit b khỏc nh: mobile phone, h thng hng dn lỏi xe ụ tụ, h thng iu khin cỏc dng c dõn dng, v.v Cỏc h thng ny thng c thc hin lp trỡnh mc thp, v cng thng thc hin x lý theo thi gian thc Trong cỏc h ny, thng thiu vng cỏc thit b ngoi vi thụng dng nh mn hỡnh, a cng, v.v Phn mm h thng (System Software) Nhng h thng ny thit lp nờn h tng k thut ca cỏc h thng mỏy tớnh, phc v cho cỏc phn mm ng dng chy trờn ú ú cú th l h iu hnh, h qun tr CSDL, chng trỡnh dch, giao din phn mm ng dng API (Application Programming Interface), v.v Chỳng khai thỏc cỏc dch v tng thp ca cỏc phn cng a cỏc giao din, cỏc dch v tng cao mc khỏi quỏt, d s dng cho cỏc chng trỡnh ng dng Cỏc h thng t ng hoỏ phũng (Automated Office Ssystems) T ng hoỏ phũng l cỏch tip cn nhm a mỏy tớnh vo hot ng phũng, cho phộp thõu túm mi cụng vic tớnh toỏn, giao lu, qun lý thụng tin, tt c vo cỏc ca s trờn mn hỡnh mỏy tớnh, cú trờn bn lm vic ca mi nhõn viờn phũng Mt h thng t ng hoỏ phũng phi cung cp c ớt nht mt s cỏc chc nng chớnh nh sau: Th tớn in t (E-mail): nhn/gi cỏc thụng ip bn (Text messages) ti cỏc cỏ nhõn hay nhúm ngi Lch biu, k hoch cụng tỏc, thụng bỏo, v.v X lý bn: son tho, sa cha, mi trang, v.v cỏc ti liu, biu , t v ho Hi tho in t: hi tho nghe nhỡn t xa, trao i d liu, cỏc cuc to m hn hp d liu v ting núi, hỡnh nh, ni ghộp cỏc mn hỡnh vi Cỏc h thng tớch hp in thoi vi x lý, tớnh toỏn ca mỏy tớnh: ngi s dng cú th truy cp ti cỏc h CSDL thụng qua h thng in thoi (k c in thoi khụng dõy) cú c nhng dch v cn thit Thụng thng, mi loi phn mm thng cú nhng phng phỏp, mụ hỡnh, cụng c v qui trỡnh riờng Do vy, xõy dng mt h thng phn mm chỳng ta cn phi xỏc nh xem nú thuc loi no quyt nh la chn gii phỏp cho thớch hp v hiu qu nht - 10 - Phõn tớch, thit k hng i tng bng UML Nhim v ca giai on ny l xõy dng cỏc gúi (h thng con) v s trao i gia chỳng h thng nh th no Vic phõn chia gúi cú th da vo: o Tng vựng chc nng c th hoc o Tng vựng k thut riờng S ph thuc gia cỏc gúi phi tng i lng, ngha l nờn loi b nhng quan h ph thuc hai chiu trc tip (nhng quan h ph thuc cht) Vn tip theo l xỏc nh cỏc gúi th vin chun, tỡm s nhng th vin ph dng nh: UI, DataBase, Communication, v.v H thng th vin cú th chia thnh cỏc gúi: gúi giao din, gúi i tng tỏc nghip, gúi CSDL v gúi tin ớch + Gúi giao din: gm cỏc lp giao din vi NSD nh CuaSoChoMuon, CuaSoNhanTra, CuaSoTraCuu, v.v ú cho phộp NSD nhp c cỏc yờu cu, cp nht c d liu v ng thi cú c nhng cỏc thụng tin cn thit theo yờu cu Trong Java, gúi AWT l th vin chun cha cỏc lp giao din h tr thc hin tt c nhng chc nng trờn + Gúi cỏc i tng tỏc nghip: cha tt c cỏc lp phm vi bi toỏn nh ó xỏc nh giai on phõn tớch (hỡnh 3-2) nh: DauMuc, HangMuc, ThongTinBanDoc, NguoiMuon, v.v Tt nhiờn nhng lp ny phi c thit k chi tit v c b sung thờm nhng thuc tớnh m bo tớnh nht quỏn cỏc lp + Gúi CSDL: cung cp cỏc dch v cho cỏc lp i tng nhng gúi trờn v m bo d liu c lu tr mt cỏch nht quỏn + Gúi tin ớch: Cha cỏc dch v phc v cho cỏc h thng khỏc h thng Trong ú cú lp ObjectId c s dng ch chớnh xỏc cỏc i tng h thng v c s dng tt c ba gúi trờn Mi quan h gia cỏc gúi c mụ t nh hỡnh 3-5 GiaoDien DoiTuongTacNghiep TienIch CSDL Hỡnh 3.5 Cỏc gúi h thng th vin 3.7 Thit k chi tit Mc ớch ca giai on ny l: - 202 - Phõn tớch, thit k hng i tng bng UML + M rng v chi tit hoỏ cỏc i tng tỏc nghip ó c xỏc nh cỏc giai on trc + Mụ t cỏc lp k thut thc hin cỏc chc nng giao din (gúi giao din) v t chc lu tr (gúi CSDL) A/ Thit k chi tit gúi CSDL Gúi CSDL phi cung cp cỏc dch v m bo lu tr nht quỏn cỏc i tng Khi thit k gúi CSDL cú th: + Da vo nhng h QT CSDL hng i tng cú trờn th trng, nh O 2, ObjectStore, Jasmin, v.v + Da vo CSDL quan h v thc hin bin i cỏc bng thnh i tng Trong nhng h thng tng i nh nh h thng qun lý th vin cú th chn gii phỏp n gin nht nh sau: Lu tr cỏc i tng thnh cỏc trờn a: + Cỏc phộp toỏn phc v lu tr nh: store(), update(), delete(), find(), c cung cp cho NSD v h khụng cn bit chi tit + Mi thc hin liờn quan n vic x lý d liu ca i tng luụn m bo c tớnh nht quỏn, c thc hin thụng qua mt lp c gi l Persistent + Lp Persistent l lp c s tru tng cho cỏc lp cn cú cỏc i tng nht quỏn k tha Cỏc lp ca nú phi ci t thờm nhng thao tỏc nh: write(), read() cho tng i tng c th + Mt thnh t quan trng na tham gia vo vic bo v tớnh nht quỏn h thng l lp ObjectId, c s dng truy cp (tham chiu) ti chớnh cỏc i tng yờu cu h thng Cỏc i tng c xỏc nh bng nh danh ID v thụng qua lnh: Persistent.getObject() hoc thụng qua tham s c trao i ca cỏc phộp toỏn Vic tỡm kim cỏc i tng c thc hin tun t cỏc B/ Thit k chi tit gúi cỏc i tng tỏc nghip Nhim v chớnh ca giai on ny l thit k cỏc thnh phn ca cỏc lp tỏc nghip v ch cỏch ci t chỳng nh th no Cỏch thc hin nh sau: Tt c cỏc lp i tng tỏc nghip cn phi lu tr u k tha lp Persistent v ci t b sung nhng phộp toỏn cn thit nh: read(), write() nh ó nờu gúi CSDL Nhng phng thc ó phõn tớch trờn cú th chuyn sang mụ hỡnh thit k chi tit hoc mt s cú th thay i, nh i tờn cho phự hp hn v thc hin chi tit hoỏ tin li cho vic ci t giai on sau - 203 - Phõn tớch, thit k hng i tng bng UML Tt c cỏc hm (phng thc) phi c nh ngha chớnh xỏc v tờn gi, kiu tr li, i s v gỏn giỏ tr ban u nu cn Biu lp c thit k chi tit nh hỡnh 3.6 BaoNgay TapChi Sach HangMuc DauMuc n PhieuDatMua n n Persistent NguoiMuon n PhieuNhacTra n ThongTinBanDoc PhieuDatMuon n Persistent objectId : Integer $iter : AccessFile Persistent() getObject() : ObjectId getObject() : Object store() : Boolean update() : Boolean delete() : Void iterate() : Object write() read() : Object TapChi num : Integer volume : Integer timeOut : Date = getVolume() : Integer setVolume() getNum() : Integer setNum() getYear() : Integer setYear() read() : Boolean write() : Boolean DauMuc name : String num : Integer isbn : String items : ObjectID[] reservations : ObjectId[] ThongTinBanDoc name : String address : String city : String cardNum : String loans : ObjectId[] reservation : ObjectId[] findOnName() : DauMuc findOnISBN() : DauMuc getTitle() : DauMuc getISBN() : String getNum() : Integer setTitle() setISBN() setNum() addItem() removeItem() getReservation() : PhieuDatMuon getName() : String getName() : String setName() getAddress() : String setAddress() getLoans() : ObjectId opname() getResevation() : NguoiMuon setReservation() Sach author : String publish : String year : Integer numOfPages : Integer timeOut : Date = 21 getAuthor() : String setAuthor() read() : Boolean write() : Boolean PhieuDatMua publisher : String title : DauMuc num : Integer reserveDate : Date readInfo() writeInfo() NguoiMuon cardNum : String items : HangMuc borrower : ObjectId[] getCardNum() : Integer setCardNum() getItems() : HangMuc setItems() getBorrower() : ObjectId[] setBorrower() read() : NguoiMuon write() BaoNgay date : Date timeOut : Date = type : String read() : Boolean wrie() : Boolean HangMuc itemId : Integer title : ObjectId loan : NguoiMuon findOnItem() : Object findOnTitle() : Object getId() : Integer setId() getTitle() : String getLoan() : NguoiMuon setLoan() isBorrowed() : Boolean read() write() PhieuDatMuon resevDate : Date title : DauMuc getTitle() : DauMuc setTile() getReservationDate() : Date setReservDate() read() : DauMuc write() PhieuNhacTra items : HangMuc borrower : NguoiMuon readInfo() write() - 204 - Phõn tớch, thit k hng i tng bng UML Hỡnh 3-6 Biu lp chi tip C/ Thit k gúi giao din Gúi giao din nm trờn cỏc gúi khỏc, nú cung cp cỏc dch v thụng tin cho c h thng v cỏc tỏc nhõn ngoi (NSD) Thit k giao din cú mt s tc phi tuõn theo: Hiu v nm bt c qui trỡnh cụng vic ca NSD i vi tng ca s dng Lm cho NSD luụn cú cm giỏc iu khin c nhng hot ng ca h thng, ch ng vic hu b bt k v tc thỡ nhng thao tỏc m h cm thy khụng cn phi tip tc, ngha l bt k luc no h cng cú th thoỏt h thng c Cung cp nhiu cỏch thc hin nhng hot ng liờn quan n giao din, vớ d m, úng ca s v tp, v.v Thụng tin phi n gin, d c, d hiu v mi thao tỏc u phi c tr giỳp kp thi cho NSD Nờn s dng nhng hp thoi cựng kớch thc Cỏc thụng bỏo c chnh theo l trỏi v vic s dng mu phi hi ho, trỏnh lm dng mu l NSD khụng chỳ ý vo cụng vic chớnh Giao din h thng th vin cú th thit k da chớnh vo cỏc ca s dng, bao gm: MainWindow: mn hỡnh chớnh ca h thng, liờn kt vi LenItemFrame, ReturnItemFrame, ReservatiopnFrame, CancelReservationFrame, OrderFrame v ReturnRequirementFrame LenItemFrame: khung mn hỡnh bn c mn ti liu ReturnItemFrame: khung mn hỡnh th th nhn tr li ti liu t bn c ReservatiopnFrame: khung mn hỡnh bn c t mn ti liu CancelReservationFrame: khung mn hỡnh bn c, th th hu b phiu t mn ti liu OrderFrame: khung mn hỡnh t mua ti liu ReturnRequirementFrame: khung mn hỡnh nhc ũi ti liu Cỏc lp giao din cú quan h kt hp 1-1 vi mn hỡnh chớnh v cú quan h vi cỏc lp tỏc nghip c mụ t nh hỡnh 3-7 Nhim v cui cựng ca ngi thit k l thit k chi tit cỏc mn hỡnh thc t cho tng lp giao din trờn v xõy dng thut toỏn thc hin cỏc phng thc ca cỏc lp thc th nờu trờn - 205 - Phõn tớch, thit k hng i tng bng UML PhieuDatMua PhieuDatMuon CancelReservationFrame LendItemFrame OrderFrame PhieuDatMuon ThongTinBanDoc DauMuc DauMuc ThongTinBanDoc HangMuc MainWindow NguoiMuon ReservationFrame ThongTinBanDoc ReturnItemFrame PhieuDatMuon NguoiMuon ReturnRequirementFrame Hỡnh 3-7 Mi quan h gia cỏc lp thc th v cỏc giao din Bi 4: H thng qun lý ng ký hc 4.1 Xỏc nh bi toỏn Quỏ trỡnh lp lch ging dy cỏc mụn hc cho cỏc ging viờn v ng ký hc ca sinh viờn thng khỏ phc tp, gõy nhiu phin phc v tn kộm thi gian Bi toỏn ny cú nhng yờu cu nh sau: Sau cú c danh sỏch cỏc mụn ca cỏc giỏo viờn d nh ging dy hc k ti, Phũng qun lý hc nhp cỏc thụng tin ú vo h thng H thng sau ú s in mt danh mc cỏc mụn hc v phõn phỏt cho cỏc sinh viờn Sinh viờn s phi in vo cỏc phiu ng ký hc tp, ú h phi chn nhng mụn d nh s hc hc k ti Tt c cỏc phiu ng ký ny c gi ti cho Phũng qun lý hc Cỏc phiu ng ký v chng trỡnh ging dy c nhp vo h thng H thng lp lch hc cỏc mụn hc cho sinh viờn v cho giỏo viờn Nu cú nhng khụng hp lý (mõu thun, xung t) thỡ Phũng qun lý hc phi trao i vi sinh viờn, giỏo viờn h b sung hoc thay i quyt nh cho phự hp Sau ó lp c lch biu hc cho tt c cỏc mụn hc, cho tt c cỏc sinh viờn thỡ h thng in v gi cho sinh viờn h kim tra li Cỏc phiu hc c x lý mt tun, nhng yờu cu thay i, phiu ngoi l c x lý hai tun tip theo - 206 - Phõn tớch, thit k hng i tng bng UML u mi hc k cỏc giỏo viờn nhn c cỏc chng trỡnh ging dy: mụn hc, lp, a im v thi gian m h s ging dy Mt s im cn lu ý: Mi sinh viờn c chn mụn hc hc k ti Mi mụn hc sinh viờn cú kh nng la chn: chn hoc khụng chn Mi mụn hc cho mt lp khụng cú s sinh viờn vt quỏ ngng qui nh, vớ d 50 v khụng ớt hn, vớ d 10 sinh viờn Nhng mụn cú quỏ ớt sinh viờn ng ký hc s khụng c a vo dy hc k ti Giỏo viờn cú th truy cp trc tip vo h thng bit c nhng thụng tin cn thit v chng trỡnh ging dy Trc mi hc k, cú mt khong thi gian sinh viờn c th thay i quyt nh v h cng cú th truy cp vo h thng cp nht li quyt nh ca mỡnh 4.2 Phõn tớch yờu cu ca bi toỏn Mi hnh vi (nhim v, chc nng, dch v) ca h thng phi c nm bt, phi c phõn tớch k v c th hin mụ hỡnh ca s dng A/ Cỏc tỏc nhõn ngoi + Sinh viờn (SV): nhng ngi mun ng ký hc tp, ghi danh vo lp hc hc k ti + Giỏo viờn (GV): nhng ngi c giao nhim v dy mt s mụn i hc + Phũng qun lý hc (PQL): b phn qun lý hc ca sinh viờn, xõy dng chng trỡnh ging dy, hc cho mi hc k v trỡ hot ng ca h thng + H thng qun lý phiu hc (HTLP): b phn nhn c cỏc thụng tin v chng trỡnh ging dy, lp danh mc, in v phỏt phiu hc cho sinh viờn, giỏo viờn B/ Cỏc ca s dng Ca s dng l dóy cỏc giao tỏc c h thng thc hin v cho nhng kt qu cú ý ngha i vi tng tỏc nhõn ngoi c th Da vo nhng cõu hi kho sỏt v phõn tớch cỏc yờu cu chỳng ta phỏt hin c nhng nhu cu chớnh ca h thng: Sinh viờn s dng h thng ng ký mụn hc Giỏo viờn s dng h thng Chn cỏc mụn ging dy hc k ti v nhn c thi khoỏ biu t h thng Phũng qun lý hc s dng h thng Phỏt sinh danh mc cho khoỏ hc v Duy trỡ cỏc thụng tin v chng trỡnh o to, v giỏo viờn, sinh viờn Phõn tớch cỏc yờu cu trờn thỡ phỏt hin c cỏc ca s dng: ng ký khoỏ hc: cho sinh viờn - 207 - Phõn tớch, thit k hng i tng bng UML Chn mụn ging dy: cho giỏo viờn Yờu cu chng trỡnh ging dy: cho giỏo viờn Duy trỡ thụng tin hc tp: nhim v ca Phũng qun lý hc Duy trỡ thụng tin GV: nhim v ca Phũng qun lý hc Duy trỡ thụng tin SV: nhim v ca Phũng qun lý hc Lp lch: cho vi Phũng qun lý hc Mt s ca s dng nh cỏc ca s dng trỡ thụng tin cú th phõn tỏch thnh cỏc ca s dng nh: b sung, loi b hay cp nht thụng tin, v.v Mi ca s dng phi c ghi li cựng vi cỏc s kin v nhng gỡ h thng s thc hin (xõy dng cỏc kch bn) bao gm: + Tờn ca s dng (kch bn) + Tin iu kin (precondition) + Lung cụng vic chớnh - Cỏc lung cụng vic + Cỏc lung cụng vic la chn Vớ d:Kch bn cho ca s dng Chn mụn ging dy: I Tin iu kin: Trc s dng chc nng ny thỡ phi thc hin ca s dng Duy trỡ thụng tin khoỏ hc ó cú nhng thụng tin v khoỏ hc II Lung cụng vic chớnh: Tỏc nhõn ngoi Giỏo viờn truy cp vo h thng bng cỏch nhp vo mt khu (password) GV chn mụn dy H thng H thng kim tra quyn truy cp sau ú hin th mn hỡnh nhc GV (giỏo viờn) chn mt cỏc mụn dy hc k ti H thng ghi nhn H thng hin th lung cụng vic ph: 5.1 B sung mụn hc 5.2 Hu b mụn hc 5.3 Xem lch biu 5.4 In chng trỡnh khoỏ hc 5.5 Thoỏt h thng GV cú th la chn mt cỏc chc nng trờn thc hin - 208 - Phõn tớch, thit k hng i tng bng UML III Lung cụng vic ph (Kch bn con): 5.1 B sung mụn hc + H thng hin th danh sỏch cỏc mụn ca khoỏ hc + GV nhp vo tờn v mt s thụng tin cn thit v mụn hc + H thng liờn kt nhng mụn hc ó c to to phiu thm dũ gi cho SV Tng t nh vy xõy dng kch bn cho cỏc lung cụng vic khỏc C/ Biu ca s dng Chọn môn giảng dạy SV GV Đăng ký môn học Yêu cầu ch ơng trình giảng dạy HTLP Duy trì thông tin GV Duy trì thông tin khoá học Lập lịch Duy trì thông tin SV PQL Hỡnh 4-1 Biu ca s dng cho h thng ng ký hc hon thin vic phõn tớch, thit k h thng chỳng ta phi phõn tớch xõy dng biu lp, biu trỡnh t, biu cng tỏc, biu hnh ng, biu thnh phn v biu trin khai tng t nh trờn - 209 - Phõn tớch, thit k hng i tng bng UML TI LIU THAM KHO [1] Booch G., Rumbaugh J and Jacobson I., The Unified Software Development Process, Addision Wesley, 1998 [2] Booch G., Rumbaugh J and Jacobson I., The Unified Modeling Language User Guide, Addision Wesley, 1999 [3] Sommerville I., Software Engineering, 4th Edition, Addition Wesley, 1994 [4] Larman C., Applying UML and Patterrns: An Instruction to Object-Oriented Analysis and Design, Prentice Hall, 1997 [ 5] Michael B., William P., Object Oriented Modeling and Design for Database Applications, Prentice Hall, New Jersey 1998 [6] Oestereich B., Developing Software with UML, Object-Oriented Analysis and Design in Prctice, Addision Wesley, 2000 [7] OMG, The OMG Unified Modeling Language Specification, http:// www.omg.org/uml , 1999 [8] Quatrani T., Visual Modeling With Rational Rose and UML, Addison-Wesley, http:// www.rational.com, 2000 [9] Liang Y., From use cases to classes: a way of building object model with UML, Information and Software Technology, 45 (2003) 83-93, www.elservier.com/locate/infsof [10] Zhiming L., Object-Oriented Software Development Using UML, UNU /IIST, Macau 2001 [11] ng Vn c, Phõn tớch thit k hng i tng bng UML (Thc hnh vi Rational Rose), NXB Khoa hc v K thut, H Ni 2002 [12] on Vn Ban, Phõn tớch, thit k v lp trỡnh hng i tng, NXB Thng Kờ 1997 [13] on Vn Ban, Hong Quang, Chuyn i cỏc biu thc i s quan h thnh cõu truy mụ hỡnh d liu hng i tng, Tp Khoa hc v Cụng ngh, Tp 40-S B, 2002 (120-129) [14] on Vn Ban, C s d liu hng i tng, giỏo trỡnh Khoa CNTT, HN 2003 [15] on Vn Ban, Lp trỡnh hng i tng vi Java, Nh xut bn Khoa hc, H Ni, 2003 [1] Binder R V., Testing Object-Oriented Systems: Models, Patterns and Tools, Addison-Wesley, 1999 - 210 - Phõn tớch, thit k hng i tng bng UML [2] Booch G., Rumbaugh J and Jacobson I., The Unified Software Development Process, Addision Wesley, 1998 [3] Booch G., Rumbaugh J and Jacobson I., The Unified Modeling Language User Guide, Addision Wesley, 1999 [4 ] Coad, P., Yourdon E., Object-Oriented Analisys, Prentice Hall, Englewood Cliffs, 1991 [5] Coad, P., Yourdon E., Object-Oriented Design, Prentice Hall, Englewood Cliffs, 1991 [6] Date C J , An Introduction to Database Systems, Eddison-Wesley, 2000 [7] Hussain K M., Hussain D., Information Systems: Analysis, Design and Implementation, McGraw-Hill, 1998 [8] Fong J., Siu B., Multimedia, Knowledge-Based & Object-Oriented Databases, Springer, 1996 [9] Kendall P., Introduction to System Analysis and Design: A structured Approach, Wm C Brown Publishers, 2001 [10] Larman C., Applying UML and Patterrns: An Instruction to Object-Oriented Analysis and Design, Prentice Hall, 1997 [11] Liang Y., From use cases to classes: a way of building object model with UML, Information and Software Technology, 45 (2003) 83-93, www.elservier.com/locate/infsof [12] Maier D., Object-Oriented Database Theory: An Introduction and Indexing in OODBS, Database Hall of Fame,2001, http://www.csc.ogi.edu [13 ] Meyer B., Object-Oriented Software Construction, Prentice Hall, Englewood Cliffs, 1988 [14] Michael B., William P., Object Oriented Modeling and Design for Database Applications, Prentice Hall, New Jersey 1998 [15] Oestereich B., Developing Software with UML, Object-Oriented Analysis and Design in Prctice, Addision Wesley, 2000 [16] OMG, The OMG Unified Modeling Language Specification, http:// www.omg.org/uml , 1999 [17] Quatrani T., Visual Modeling With Rational Rose and UML, Addison-Wesley, http:// www.rational.com, 2000 [18] Rumbaugh J., Blaha M., Premerlani V., Eddy F., Lorensen V., Object-Oriented Modeling and Design, Prentice-Hall, NJ 1991 [19] Sommerville I., Software Engineering, 4th Edition, Addition Wesley, 1994 [20] Vafadarafshar R., Document a brief introduction of ObjectStore, 2002, http://www.cs.concordia.ca - 211 - Phõn tớch, thit k hng i tng bng UML [21] Zhiming L., Object-Oriented Software Development Using UML, UNU /IIST, Macau 2001 [22] ng Vn c, Phõn tớch thit k hng i tng bng UML (Thc hnh vi Rational Rose), NXB Khoa hc v K thut, H Ni 2002 [23] ng Vn Hng, on Vn Ban, Nguyn Ngc Thun, Maintaining the amount of global information in local states of processes of distributed systems, Proceeding of the National Centre for Science and Technology of Vietnam, Volume 9, No 2, 1997 [24] on Vn Ban, Phõn tớch, thit k v lp trỡnh hng i tng, NXB Thng Kờ 1997 [25] on Ban, S dng phng phỏp phõn tớch hng i tng phỏt trin nhng h thng ln tớch hp, Tp Tin hc v iu khin hc, Tp 13, s 4, 1997 (1-10) [26] on Ban, Mt s tớnh cht ca quỏ trỡnh tha k kiu mụ hỡnh c s d liu hng i tng, Tp Tin hc v iu khin hc, Tp 15, s 3, 1999 (1-7) [27] on Ban, H Vn Hng, Cỏc gii phỏp kt ni Web vi c s d liu, Tp Tin hc v iu khin hc, Tp 16, s 2, 2000 (25-31) [28] on Ban, Mt s tớnh cht ca quỏ trỡnh tha k kiu mụ hỡnh c s d liu hng i tng, Tp Tin hc v iu khin hc, Tp 16, s 2, 2000 (25-31) [29] on Ban, Tớnh ỳng n ca lc c s d liu hng i tng, Tp Tin hc v iu khin hc, Tp 16, s 3, 2000 (7-15) [30] on Vn Ban, Hong Quang, Chuyn i cỏc biu thc i s quan h thnh cõu truy mụ hỡnh d liu hng i tng, Tp Khoa hc v Cụng ngh, Tp 40-S B, 2002 (120-129) [31] on Ban, Nguyn Hu Ng, H Vn Hng, A Formal Specification of the Correctness Criteria for Concurrent Executions of a Transaction System in RealTime Databases, Tp Tin hc v iu khin hc, Tp 19, s 3, 2003 (263-273) [32] on Vn Ban, C s d liu hng i tng, giỏo trỡnh Khoa CNTT, HN 2003 [33] on Vn Ban, Lp trỡnh hng i tng vi Java, Nh xut bn Khoa hc, H Ni, 2003 [34] on Vn Ban, Lờ Mnh Thnh v Hong Bo Hựng, S tng ng biu din ngụn ng truy OQL v i s i tng, Tp Tin hc v iu khin hc, Tp 20, s 2, 2004 ( 11 trang) [35] Nguyn Vn Ba, Phõn tớch v thit k h thng thụng tin, Nh xut bn i hc Quc gia H Ni, 2003 - 212 - Phõn tớch, thit k hng i tng bng UML [36] Phm Vn Cng, on Vn Ban, Hunh Vn Nam, A rough-set-based model of modal logic for information systems, Advances in Natural Sciences, Volume 4, No 3, 2003 (217-225) [37] Ban iu hnh ỏn 112 Chớnh ph, Chng trỡnh tng th Ci cỏch hnh chớnh, Gii phỏp kh thi h thng qun lý bn v h s cụng vic ca Tnh (Tp) (Ti liu mu), H Ni 2004 [38] Ban iu hnh ỏn 112 Chớnh ph, Chng trỡnh tng th Ci cỏch hnh chớnh, Gii phỏp kh thi h thng thụng tin tng hp kinh t - xó hi phc v iu hnh trờn a bn Tnh (Tp) (Ti liu mu), H Ni 2004 [39] Ban iu hnh ỏn 112 Chớnh ph, Chng trỡnh tng th Ci cỏch hnh chớnh, Xõy dng khung trang thụng tin in t phc v iu hnh ca cỏc B, Tnh (Tp) (Ti liu mu), H Ni 2004 Danh sỏch thut ng v cỏc t vit tt T vit tt ting Anh UML OOA OOD API CASE OMT OOSE OCL GRASP ODMG USPD RUP UP OCL GUI Unified Modeling Language Object Oriented Analysis Object Oriented Design Application Programming Interface Computer Aided Software Engineering Object Modeling Technique Object-Oriented Software Engineering Object Constraints Language General Responsibility Assignment Software Patterrn Object Data Management Group Unified Software Development Process Rational Unified Process Unified Process Object Constraints Language Graphics User Interface T vit tt ting Vit CNTT CSDL NSD CNPM HBH CSDLQH CSDLHT Cụng ngh thụng tin C s d liu Ngi s dng Cụng ngh phn mm H thng bỏn hng C s d liu quan h C s d liu hng i tng - 213 - Phõn tớch, thit k hng i tng bng UML QTCSDL H qun tr c s d liu Cỏc thut ng Vit Anh Bao gúi Biu ca s dng Biu cng tỏc Biu hnh ng Biu lp Biu thnh phn Biu trng thỏi Biu trin khai Biu trỡnh t Biu i tng B phn kim duyt sộc B phn kim duyt th tớn dng Bi s, bn s (c s) Cỏc h thng k thut Cỏc h thng nghip v Cỏc h thng nhỳng thi gian thc Cỏch tip cn hng i tng Cỏch tip hng chc nng Che giu thụng tin Ch s, ch mc Chia tr C kt Cụng ngh th h th t 4GT a x, a hỡnh nh danh D liu thnh phn c hng dn bi ca s dng Giao din Gúi Hm thnh phn H thng phn mm H thng thụng tin Hin thc hoỏ Hng th tc Hu t K tha K tha bi K tha n Kt nhp chia s Kt nhp hp thnh Kt nhp thụng thng Kh nng trỡ hot ng Khung cụng vic Liờn kt Encapsulation Use case diagram Collaboration diagram Activity diagram Class diagram Component diagram State diagram, Deployment diagram Sequence diagram Object diagram Check Authorization Service Credit Authorization Service Multiplicity Technical Systems Business Systems Embedded Real_time Systems Object-Oriented Approach Functional-Oriented Approach Information hidding Index Devide and conquer Cohension Fourth Generation Technology Polymorphic Identifier (ID) Data member Use-case-driven Interface Package Member function Software System Information System Realisation Procedure-Oriented Destructor Inheritance Multiple inheritance Single inheritance Shared Aggregation Composition Aggregation Normal aggregation Maintainability Framework Link - 214 - Phõn tớch, thit k hng i tng bng UML Lp Lp biờn Lp iu khin Lp hin thc Lp mu Lp tham s hoỏ Lp thc th Lp tớch cc Lp tin ớch Lung Mu rp khuụn Mụ hỡnh thỏc nc Mụ hỡnh xoỏn c Np chng Nguyờn mu Phm vi quan sỏt ca thuc tớnh Phng thc Quan h kt hp Quan h kt nhp Quan h ph thuc Quan sỏt logic Quan sỏt thnh phn Quan sỏt theo ca s dng Quan sỏt trin khai Quan sỏt tng tranh Qui tc rng buc Qui tc suy dn Siờu d liu S kt hp Tỏc nhõn Tp trung vo kin trỳc Tờn ca vai trũ Thnh phn Thao tỏc Thụng ip Thuc tớnh Tớnh hiu qu Tớnh tin dng Tớnh tin cy Toỏn t to lp (hu t) Tng quỏt húa T in thut ng Tuyn Vt phm Class Boundary class Control class Instantiated class Template class Parameterized Class Entity class Active class Class utility Thread Stereotype Waterfall model Spiral model Overloading Prototype Attribute visibility Method Association relationship Aggregation relationship Depedency relationship Logic view Component view Use case view Deployement view Concurrency view Constraint rule Derivation rule Meta data Association Actor Architecture-centric Role name Component Operation Message Attribute Efficiency Usability Dependability Constructor Generalization Glossary Collection Artifact - 215 - Phõn tớch, thit k hng i tng bng UML - 216 - [...]... bằng UML Tập hợp các yêu cầu Phân tích có cấu trúc Làm bản mẫu 1 Phân tích hướng đối tượng Mô hình xoắn ốc Thiết kế có cấu trúc Thiết kế hướng đối tượng Lập trình có cấu trúc Làm bản mẫu n Lập trình hướng đối tượng Mẫu hình vòng thứ n có cấu trúc Lập trình hướng đối tượng Kiểm định Hệ thống hoạt động Bảo trì Hình 1.4: Quá trình phát triển phần mềm Các giai đoạn của quá trình phát triển phần mềm có... giữa các kế các mối quan hệ Hình 1.7: Thiết kế logic và thiết k Thiết chi tiết thành phần (iv) Lập trình hướng đối tượng Trong giai đoạn này, mỗi thành phần đã được thiết kế sẽ được lập trình bằng ngôn ngữ lập trình hướng đối tượng được lựa chọn thành những mô đun chương trình (chương trình con) Mỗi mô đun này sẽ được kiểm định hoặc thử nghiệm theo các tài liệu đặc tả của giai đoạn thiết kế Công việc... Các đối tượng tương tác với nhau như thế nào?  Các nhiệm vụ mà mỗi lớp đối tượng phải thực hiện là gì?  Dữ liệu nghiệp vụ và các giao diện được xây dựng như thế nào?  Kiến trúc và cấu hình của hệ thống? Nhiệm vụ chính của thiết kế hệ thống là: - 28 - Phân tích, thiết kế hướng đối tượng bằng UML  Xây dựng các thiết kế chi tiết mô tả các thành phần của hệ thống ở mức cao hơn khâu phân tích, thiết kế. .. hiện trong quá trình phát triển phần mềm thì trên 55% [19] các lỗi của phần mềm là do các yêu cầu của hệ thống chưa được phát hiện đầy đủ và chi phí cho việc sửa các lỗi đó ( để bảo trì hệ thống) chiếm tới trên 80% chi phí của cả dự án - 27 - Phân tích, thiết kế hướng đối tượng bằng UML (ii) Phân tích hệ thống hướng đối tượng Phân tích hướng đối tượng (OOA): là một giai đoạn của quá trình phát triển... khâu phân tích hệ thống chủ yếu trả lời câu hỏi:  Hệ thống gồm những thành phần, bộ phận nào?  Hệ thống cần thực hiện những cái gì? Kết quả chính của pha phân tích hệ thống hướng đối tượng là biểu đồ lớp, biểu đồ trạng thái, biểu đồ trình tự, biểu đồ cộng tác và biểu đồ thành phần (iii) Thiết kế hệ thống hướng đối tượng Dựa vào các đặc tả yêu cầu và các kết quả phân tích (các biểu đồ nêu trên) để thiết. .. tả thiết kế Lập trình Tập các mô đun chương trình (Xây dựng các lớp) - 29 - Phân tích, thiết kế hướng đối tượng bằng UML Hình 1.8: Lập trình tập trung xây dựng lớp Hiện nay có một số công cụ hỗ trợ cho quá trình phân tích, thiết kế và có thể sinh mã tự động cho những thành phần chính của mô hình như: Rose [8, 22], hay Visual Studio NET của Microsoft, v.v (v) Kiểm định phần mềm Các mô đun chương trình. .. của hệ thống cần xây dựng và nhu cầu của NSD  Phân tích các yêu cầu: chi tiết các yêu cầu chức năng và phi chức năng của hệ thống  Phân tích thiết kế hệ thống: mô tả hệ thống thực hiện các yêu cầu và hỗ trợ cài đặt  Cài đặt chương trình: lập trình những kết quả thiết kế nêu trên để hệ thống hoạt động đúng theu yêu cầu - 35 - Phân tích, thiết kế hướng đối tượng bằng UML  Kiểm thử, kiểm chứng các thành... giúp cho việc phân chia những dự án lớn, phức tạp để phân tích, thiết kế theo cách chia nhỏ bài toán thành các lớp đối tượng hoàn toàn tương ứng với quan điểm hướng tới lời giải phù hợp với thế giới thực một các tự nhiên • Nguyên lý bao gói, che giấu thông tin hỗ trợ cho việc xây dựng những hệ thống thông tin an toàn và tin cậy - 22 - Phân tích, thiết kế hướng đối tượng bằng UML • Nguyên lý kế thừa dựa... nêu trên) để thiết kế hệ thống Thiết kế hướng đối tượng (OOD) là một giai đoạn trong quá trình phát triển phần mềm, trong đó hệ thống được tổ chức thành tập các đối tượng tương tác với nhau và mô tả được cách để hệ thống thực thi nhiệm vụ của bài toán ứng dụng Trong khâu thiết kế hệ thống hướng đối tượng chủ yếu trả lời câu hỏi làm như thế nào? và  Trong hệ thống có những lớp đối tượng nào, trách nhiệm... tiếp hướng chức năng (Functional-Oriented) và cách tiếp cận hướng đối tượng (ObjectOriented Approach) - 18 - Phân tích, thiết kế hướng đối tượng bằng UML 1.4.1 Cách tiếp cận hướng chức năng Phần lớn các chương trình được viết bằng ngôn ngữ lập trình như C, hay Pascal từ trước đến nay đều được thực hiện theo cách tiếp cận hướng chức năng (Functional Oriented) hay còn được gọi là cách tiếp cận hướng

Ngày đăng: 26/10/2016, 21:24

Từ khóa liên quan

Mục lục

  • Lập báo cáo

  • MỤC LỤC

  • LỜI NÓI ĐẦU

  • CHƯƠNG I

  • PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG VÀ

  • QUÁ TRÌNH PHÁT TRIỂN HỆ THỐNG PHẦN MỀM

    • 1.1. Giới thiệu

    • 1.2. Giới thiệu về hệ thống phần mềm

      • 1.2.1 Các đặc trưng của hệ thống

      • 1.2.2 Phân loại hệ thống phần mềm

      • 1.3. Sự phát triển hệ thống

        • 1.3.1 Chu trình phát triển hệ thống

        • 1.3.2 Mô hình hoá hệ thống

        • 1.4 Các cách tiếp cận trong phát triển phần mềm

          • 1.4.1 Cách tiếp cận hướng chức năng

          • 1.4.2 Cách tiếp cận hướng đối tượng

          • Ưu điểm chính của phương pháp hướng đối tượng:

          • 1.5. Quá trình phát triển phần mềm hợp nhất với UML

            • (i) Xác định các yêu cầu và phân tích hệ thống

            • (ii) Phân tích hệ thống hướng đối tượng

            • (iii) Thiết kế hệ thống hướng đối tượng

            • (iv) Lập trình hướng đối tượng

            • (v) Kiểm định phần mềm

            • (vi) Vận hành, khai thác và bảo trì hệ thống

            • 1.6. Kết luận

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan