bai 02 - cac khai niem ve huong doi tuong

86
1 THIẾT KẾ & XÂY DỰNG PHẦN MỀM THIẾT KẾ & XÂY DỰNG PHẦN MỀM HƯỚNG ĐỐI TƯỢNG HƯỚNG ĐỐI TƯỢNG ViỆN CÔNG NGHỆ THÔNG TIN & TT ViỆN CÔNG NGHỆ THÔNG TIN & TT TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Bé m«n C«ng nghÖ phÇn mÒm Bé m«n C«ng nghÖ phÇn mÒm Bài 2 Bài 2 CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG 2.1 Các khái niệm hướng đối 2.1 Các khái niệm hướng đối tượng tượng (nhắc lại) (nhắc lại)

Upload: smile-smile

Post on 10-Nov-2015

227 views

Category:

Documents


0 download

DESCRIPTION

Bai 02 - Cac Khai Niem Ve Huong Doi Tuong

TRANSCRIPT

  • *THIT K & XY DNG PHN MM HNG I TNGViN CNG NGH THNG TIN & TT TRNG I HC BCH KHOA H NIB mn Cng ngh phn mm Bi 2CNG NGH HNG I TNG2.1 Cc khi nim hng i tng(nhc li)

    Nguyn Th Thu Trang, SE-FIT-HUT

  • *Mc tiuM t cc khi nim tru tng ha, ng gi, m-un ha v phn cpM t cu trc vt l ca mt lpM t mi quan h gia lp v i tngHiu v a hnh v tng qut ha

  • *Ni dungi tng l g?Bn nguyn l ca OOLp l g?a hnh v Tng qut haT chc cc phn t m hnh

  • *Mt i tng biu din mt thc th, c th l thc th vt l, thc th tru tng hoc thc th phn mm.Thc th vt l Thc th tru tng Thc th phn mmPhn ng ha hcDanh sch lin kt1. i tng l g?

  • *nh ngha Mt i tng l mt thc th c bin v nh danh c xc nh r rng ng gi trng thi v hnh vi.Trng thi biu din thuc tnh v cc mi quan h.Hnh vi l cc thao tc, cc phng thc v c ch chuyn trng thi.i tngCc php x lThuc tnh

  • *Mt i tng c trng thiTrng thi l mt iu kin hay mt tnh hung trong sut qu trnh sng ca i tng.Trng thi ca mt i tng thng thay i theo thi gian.Name: J ClarkEmployee ID: 567138Date Hired: July 25, 1991Status: TenuredDiscipline: FinanceMaximum Course Load: 3 classesName: J ClarkEmployee ID: 567138HireDate: 07/25/1991Status: TenuredDiscipline: FinanceMaxLoad: 3Gio s Clark

  • *Mt i tng c hnh viHnh vi xc nh cch m mt i tng hnh ng v phn ng.Mt hnh vi c th thy c ca mt i tng c m hnh ha bi mt tp cc thng ip m n c th p ng (cc thao tc m i tng c th thc hin).Cc hnh vi ca gio s ClarkSubmit Final GradesAccept Course OfferingTake Sabbatical Set Max LoadSubmitFinalGrades()AcceptCourseOffering()TakeSabbatical()Gio s ClarkSetMaxLoad()

  • *Mt i tng c nh danhMi i tng c mt tn ring phn bit i tng vi cc i tng khc mc d trng thi ca chng c th ging ht nhau.Gio s J Clark dy Sinh hcGio s J Clark dy Sinh hc

  • *Ni dung?i tng l g?Bn nguyn l ca OOLp l g?a hnh v Tng qut haT chc cc phn t m hnh

  • *2. Cc nguyn l c bn ca OOTru tng haPhn cpHng i tngng giM-un ha

  • *2.1. Tru tng ha (Abstraction)Nhng c im c bn ca mt thc th phn bit n vi cc loi thc th khc. Xc nh mt bin gii lin quan n gc ca ngi quan st. N khng phi l mt biu hin c th, n biu th bn cht ca thc th.

  • *V d: Tru tng haSinh vinGio vinKha hc din ra lc 9:00 sng cc ngy th 3, 5, 7Kha hc (v d i s)

  • *2.2. ng gi (Encapsulation)Tng cng tnh mm doChe giu s thc thi bn trongClient s dng giao din c cung cp

  • *Minh ha vic ng giGio s Clark c yu cu dy 4 lp thng tiSubmitFinalGrades()AcceptCourseOffering()TakeSabbatical()Gio s ClarkSetMaxLoad()Name: J ClarkEmployee ID: 567138HireDate: 07/25/1991Status: TenuredDiscipline: FinanceMaxLoad:4SetMaxLoad(4)

  • *2.3. M un ha (Modularity)Chia nh h thng phc tp thnh nhng thnh phn nh c th qun l c.Cho php ngi dng hiu bit v h thng.

  • *V d: M un haV d, chia nh mt h thng phc tp thnh cc m un nh hn.H thng qun l xut nhp schH thng qun l thng tin sch

  • *2.4. Phn cp (Hierarchy)Gim mc tru tnghaGia tng mc tru tng haTi snBt ng snTit kimTi khon ngn hngTin giC phiuChng khon Cc loi giy t c gi trCc phn t cng cp trong s phn cp th c cng mc tru tng ha

  • *Ni dung?i tng l g?Bn nguyn l ca OOLp l g?a hnh v Tng qut haT chc cc phn t m hnh

  • *3. Lp l g?Lp i din cho mt tp cc i tng. Cc i tng ny chung nhau cc thuc tnh, hnh vi, mi quan h v ng nghaMt i tng l mt th hin ca lp.Mt lp l mt s tru tng ha, trong n:Tp trung vo cc c tnh chungB i cc c tnh khc

  • *V d v mt lpLpKha hcThuc tnhTna im din raS ngy d kinS n v hc trnhThi gian bt uThi gian kt thcHnh viThm sinh vinXa sinh vinXem lch hcKim tra s thnh vin

  • *Biu din lp trong UMLTrong UML, mt lp c biu din bng mt hnh ch nht, chia lm 3 phn.Tn lp

    Cu trc (Cc thuc tnh)

    Hnh vi (cc phng thc)

  • *Biu din i tng trong UMLTrong UML, mt i tng c biu din bng mt hnh ch nht, vi tn i tng c gch chn.J Clark : Professor : Professori tng J Clark thuc lp Professori tng nc danhGio s J Clark

  • *Mi quan h ga lp v i tngLp l s tru tng ha ca i tngMt lp nh ngha cu trc v hnh vi cho tt c cc i tng thuc lp N c chc nng nh l khun mu cho vic to i tng Lp khng phi l tp hp cc i tngProfessor

  • *Thuc tnh (attribute) l g?Mt thuc tnh l mt c tnh (property) c tn ca mt lp m t phm vi cc gi tr m cc th hin ca c tnh c th giMt lp c th c mt s thuc tnh hoc khng c thuc tnh no.Attributes

  • *Thuc tnh trong lp v trong i tngLpi tng

  • *Thao tc l g?Mt dch v c th c yu cu t mt i tng thc hin hnh vi. Mt thao tc c mt ch k, c th gii hn cc tham s thc t c thMt lp c th c nhiu thao tc hoc khng c thao tc no.OperationsStudent+ get tuition()+ add schedule()+ get schedule()+ delete schedule()+ has prerequisites()

  • *Ni dung?i tng l g?Bn nguyn l ca OOLp l g?a hnh v Tng qut haT chc cc phn t m hnh

  • *4.1. a hnh l g?Kh nng che giu rt nhiu s thc thi thng qua mt giao din.Nh sn xut ANh sn xut BNh sn xut CNguyn l OO: ng giiu khin t xa

  • *V d: a hnhC phiuTri phiuQu c nhgetCurrentValue()financialInstrument.getCurrentValue()getCurrentValue()getCurrentValue()

  • *4.2. Tng qut ha l g?Mi quan h gia cc lp trong mt lp chia s cu trc v hnh vi ca n cho mt hoc mt s lp khc.nh ngha mt cu trc phn cp ca cc mc tru tng trong , cc lp con k tha t mt hoc mt s lp cha.n k thaa k thaTng qut ha l mt loi quan h

  • *V d: n k thaMt lp k tha t mt lp khcCheckingSavingsLp chaLp conMi quan h tng qut haT tinAccount- balance- name- number+ withdraw()+ createStatement()Hu du

  • *V d: a k thaMt lp c th k tha t nhiu lp khc.

  • *K tha nhng g?Inheritance leverages the similarities among classes.Mt lp k tha t lp cha cc thuc tnh, phng thc v cc mi quan h.Mt lp con c th :Thm cc thuc tnh , phng thc v cc mi quan h mi.nh ngha li cc phng thc (cn thn)Cc thuc tnh, phng thc v cc mi quan h chung c ch ra mc cao nht trong cy phn cp.

  • *Ni dung?i tng l g?Bn nguyn l ca OOLp l g?a hnh v Tng qut haT chc cc phn t trong m hnh

  • *L mt cng c t chc cc phn t trong m hnh vo thnh tng nhm.Cc phn t trong m hnh c th cha ng cc phn t khc.Mt package c th c s dng :T chc cc m hnh ang pht trin.To ra mt khi qun l cu hnh.Package l g?University Artifacts

  • *Mt package c th cha ng cc lpTrong package University Artifacts, cha mt package v 5 lp.

  • *V biu Mi biu c mt khung (frame), mt ngn tiu pha gc trn bn tri v mt vng ni dungNu khung khng cung cp thm gi tr g th n c th b qua.

  • *Tho luni tng l g? 4 nguyn l ca hng i tng? Gii thch.Lp l g? Lp v i tng lin quan n nhau nh th no?Thuc tnh l g? Phng thc?nh ngha a hnh.Cung cp mt v d v a hnh.Tng qut ha l g?Ti sao phi s dng package?

  • *OBJECT-ORIENTED ANALYSIS AND DESIGN WITH UML 2.0Unified Modeling Laguage B mn Cng ngh phn mm KHOA CNG NGH THNG TIN TRNG I HC BCH KHOA H NIBi 2 (tip)2.1 Cng ngh i tng v UML$6-

    Nguyn Th Thu Trang, SE-FIT-HUT

  • *Mc tiuHiu c v cng ngh i tng v ch ra c cc u th ca cng ngh ny.Nm c lch s ca cng ngh i tng v xu th s dng h cng ngh i tngM t tm quan trng ca m hnh ha trc quan v vai tr ca Kin trc hng m hnh (Model Driven Architecture)Xc nh 4 nguyn tc ca m hnh ha trc quanNm c vai tr ca UMLXc nh loi quy trnh ph hp nht vi UML

  • *Ni dungCng ngh i tngCc nguyn tc m hnh ha trc quanNgn ng m hnh ha thng nht UML

  • *1.1. Cng ngh i tng l g?Mt tp cc quy tc (tru tng ha, ng gi, a hnh), hng dn xy dng phn mm, cng vi ngn ng, c s d liu v cc cng c khc h tr cc quy tc ny (Object Technology - A Managers Guide, Taylor, 1997)

  • *Li im ca Cng ngh i tngGip ti s dng m ngun v kin trcPhn nh gn hn cc m hnh trong th gii thcn nh hnC kh nng thch ng vi thay i

  • *Cc mc chnh ca cng ngh i tngLch s ca Cng ngh i tng

  • *1.2. Cng ngh i tng c s dng u?Cc h thng Client/Server v pht trin WebCng ngh i tng cho php cc cng ty ng gi thng tin doanh nghip trong cc i tng v gip phn phi qu trnh x l qua mng Internet hoc mt mng my tnh.

  • *1.2. Cng ngh i tng c s dng u? (2)Cc h thng thi gian thc (real-time)Cng ngh i tng cho php cc h thng thi gian thc c th pht trin vi cht lng cao hn v linh hot hn

  • *Hng i tng v Thit k cu trcHng i tng (OO)Kt hp sm d liu v x l lung d liu cng nhau trong vng i phn mmC mc ng gi caoy mnh kh nng ti s dng m ngun mt cch hiu quCho php m rng phn mm hn na

  • *Ni dungCng ngh i tngCc nguyn tc m hnh ha trc quanNgn ng m hnh ha thng nht UML

  • *2.1. M hnh l g?M hnh l s n gin ha cc vt th, cc i tng trong th gii thc.

  • *Tai sao phi m hnh ha?M hnh ha thc hin 4 mc tiu:Gip chng ta c mt ci nhn trc quan v h thng.Cho php chng ta ch r cu trc hoc hnh vi ca h thng.M hnh cho chng ta mt khun mu xy dng h thng.Ghi li cc quyt nh ca chng ta.

  • *Tai sao phi m hnh ha? (2)Chng ta phi xy dng cc m hnh cho mt h thng phc tp v chng ta khng th hiu ton b h thng .Xy dng cc m hnh gip chng ta hiu bit su sc hn v h thng.

  • *S quan trng ca m hnh haMy bay giyMy bay phn lcMc quan trng thpMc quan trng cao hn

  • *i d n thng khng m hnh haRt nhiu i d n tin hnh xy dng ng dng theo hng tip cn ca vic gp my bay giy.Bt u code ngay khi c c yu cu.Mt rt nhiu thi gian v to ra rt nhiu m ngun.Khng c bt k mt kin trc no.Phi chu kh vi nhng li pht sinh.M hnh ha l mt con ng dn n thnh cng ca d n.

  • *Kin trc hng m hnh (MDA)L mt cch tip cn s dng m hnh trong pht trin phn mm.Tch bit c t chc nng vi chi tit ci t chng.Ch ra s c lp ca h thng vi nn tng h tr na ra cc nn tng.La chn nn tng c th cho h thng.Chuyn cc c t vo h thng trn nn tng .

  • *Cc m hnh MDAComputational Independent Model (CIM)Tp trung vo mi trng ca h thng v cc yu cu ca h thng nhng che giu cc chi tit v thc thi v s thc thi ca h thngGim khong cch gia cc chuyn gia lnh vc v cc chuyn gia cng nghPlatform Independent Model (PIM)Tp trung vo thao tc ca h thng, c lp vi nn tngPlatform Specific Model (PSM)Tp trung vo chi tit s dng h thng trn mt nn tng nht nh

  • *2.2. Bn nguyn tc ca m hnh haM hnh to ra chi phi cch thc vn bt u v cch thc hnh thnh gii phpMi m hnh din t h thng vi mt mc chi tit khc nhau.Cc m hnh tt nht phi bm st vo thc t.Mt m hnh n l khng din t ton b h thng.

  • *Nguyn tc 1: Vic la chn m hnh rt quan trngCc m hnh gip chng ta hiu bit su sc v vn , cch thc vn c gii quyt v gii php a ra l g.Trong phn mm, cc m hnh chu nh hng ln bi gc nhn ca bn.Mi gc nhn s dn n mt loi h thng khc nhau.

  • *Nguyn tc 2: Mc chi tit c th khc nhauMi m hnh din t h thng vi nhng mc chi tit khc nhau.Mc chi tit ca m hnh m bn la chn ph thuc vo vic tr li cu hi:Ai l ngi s xem m hnh.Ti sao h li cn xem n.M hnh cho nh thit kM hnh cho khch hng

  • *Nguyn tc 3: Cc m hnh tt nht phi bm st thc tTt c cc m hnh u n gin ha i tng trong th gii tht.Mt m hnh tt phi phn nh c nhng im n cha ri ro.

  • *Nguyn tc 4: Mt m hnh khng Khng c m hnh n l no li c th m t y v h thng.Cch tip cn tt nht n cc h thng khng tm thng l s dng mt s m hnh gn nh c lp vi nhau.To ra cc m hnh c th xy dng v nghin cu c lp nhng vn c mi quan h tng quan ln nhau.

  • *Ni dungCng ngh i tngCc nguyn tc m hnh ha trc quanNgn ng m hnh ha thng nht UML

  • *3.1. UML l g?Unified Modeling Laguage UML l ngn ng :Trc quan ha (Visualizing)Xc nh r (c t - Specifying)Xy dng (Constructing)Ti liu ha (Documenting)cc cu phn (artifact) ca mt h thng phn mm.

  • *UML l ngn ng trc quanUML l ngn ng thng nht trc quan gip cng vic c x l nht qun, gim thiu li xy raC nhng th m nu khng m hnh ha th khng hoc kh c th hiu cM hnh tr gip hiu qu trong vic lin lc, trao iTrong t chc Bn ngoi t chc

  • *UML l ngn ng c tUML xy dng cc m hnh chnh xc, r rng v y .

  • *UML l ngn ng xy dng HTCc m hnh UML c th kt ni trc tip vi rt nhiu ngn ng lp trnh.nh x sang Java, C++, Visual BasicCc bng trong RDBMS hoc kho lu tr trong OODBMSCho php cc k ngh xui (chuyn UML thnh m ngun)Cho php k ngh ngc (xy dng m hnh h thng t m ngun)

  • *UML l ngn ng ti liu haUML gip ti liu ha v kin trc, yu cu, kim th, lp k hoch d n, v qun l vic bn giao phn mmCc biu khc nhau, cc ghi ch, rng buc c c t trong ti liu

  • *3.2. Lch s pht trin ca UMLVo 1994, c hn 50 phng php m hnh ha hng i tng:Fusion, Shlaer-Mellor, ROOM, Class-Relation,Wirfs-Brock, Coad-Yourdon, MOSES, Syntropy, BOOM, OOSD, OSA, BON, Catalysis, COMMA, HOOD, Ooram, DOORS Meta-models tng ng vi nhauCc k php ha khc nhauQuy trnh khc nhau hoc khng r rng Cn chun ha v thng nht cc phng php

  • *3.2. Lch s pht trin ca UML (2)UML c 3 chuyn gia hng i tng hp nht cc k thut ca h vo nm 1994:Booch91 (Grady Booch): Conception, ArchitectureOOSE (Ivar Jacobson): Use casesOMT (Jim Rumbaugh): AnalysisThit lp mt phng thc thng nht xy dng v v ra cc yu cu v thit k hng i tng trong qu trnh PTTK phn mm UML c cng nhn l chun chung vo nm 1997.

    Nguyn Th Thu Trang, SE-FIT-HUT

  • *UML l mt ngn ng hp nhtFusionOperation descriptions, message numberingBefore and after conditions MeyerHarelState chartsWirfs-BrockResponsibilitiesEmbleySingleton classes, High-level viewOdellClassificationObject lifecyclesShlaer- Mellor Gamma, et.alFrameworks, patterns, notesBoochRumbaughJacobsonSelic, Gullekson, WardROOM (Real-Time Object-Oriented Modeling)

  • *UML l mt ngn ng thng nht

  • *3.2. Lch s pht trin ca UML (2)UMLPartners ExpertiseUML 1.0(Jan. 97)UML 1.1(Sept. 97)UML 1.5(March, 03)UML 2.0(2004)Other MethodsBooch 91OMT - 1OOSEBooch 93OMT - 2Public FeedbackUnified Method 0.8(OOPSLA 95)

  • *3.3. Cc khung nhn ca UMLKhung nhn ca m hnh c ngha vi nhng ngi tham gia no 4 + 1 Architectural ViewProcess ViewLogical ViewImplementation ViewProgrammersSoftware managementPerformance, scalability, throughputSystem integratorsAnalysts/DesignersStructureCh r cc yu cu chc nng ca h thng (cc dch v h thng cn cung cp cho ngi s dng)Ch ra hiu nng, tnh co dn v thng lng ca h thngM t cc nt vt l khc nhau v cc kt ni ln nhau gia chng cho cc cu hnh nn tng in hnh nhtBiu din cc chc nng v mi trng d kin ca h thng di gc nhn ca ngi dngM t vic t chc cc m-un phn mm tnh nhm chia thnh package, phn lp v qun l cu hnh

  • *Cc biu UMLBiu ca s dng (Use Case Diagram)Biu tng tc (Interaction Diagrams)Biu trnh t (Sequence Diagram)Biu giao tip/cng tc (Communication/Collaboration Diagram)Biu trng thi (Statechart Diagram)Biu cu trc tnh (Static Structure Diagrams)Class DiagramObject DiagramBiu hot ng (Activity Diagram)Biu thc thi (Implementation Diagrams)Biu thnh phn (Component Diagram)Biu trin khai (Deployment Diagram)

  • *Biu use caseM t tng tc ca h thng vi th gii bn ngoi.

  • *Biu hot ngCh ra lung s kin bn trong h thng

  • *Biu trnh tCh ra tng bc cn thc hin t c mt chc nng no ca h thng

  • *Biu giao tip/cng tcM t s tng tc gia cc i tng c t chc xung quanh cc i tng v lin kt gia chng

  • *Biu lpM t cu trc ca phn mm

  • *Biu i tng

  • *Biu trng thiM t vng i ca mt lp no

  • *Biu thnh phnM t cch t chc v s ph thuc gia cc thnh phn phn mm

  • *Biu trin khaiM t s phn phi cc thnh phn trong doanh nghip

  • *Khung nhn Use caseNm bt cc chc nng ca h thngCn thit cho cc hot ng phn tch, thit k v kim thHp ng gia khch hng v ngi pht trinHnh vi ca h thng cc chc nng m h thng cn cung cp c lu trong mt m hnh use caseBiu use caseLung s kin use caseBiu hot ngCc ti liu ph tr

  • *Khung nhn LogicCu phn chnh l m hnh thit kCung cp m t c th v hnh vi chc nng ca h thng.Xut pht t m hnh phn tchM t vn tt v hnh vi ca h thng da trn m hnh use caseTp hp lp, t chc vo cc h thng conBao gm:Biu lp, biu tng tc, biu trng thiH thng con v giao din ca chng

  • *Khung nhn thc thi (implementation)T chc cc m-un phn mm tnh (m ngun, tp d liu, cc thnh phn thc thi, ti liu) trong mi trng di dng:Chia thnh cc package v phn lp (layer)Qun l cu hnh (quyn s hu, k hoch bn giao)c m hnh ha trong cc biu thnh phn

  • *Khung nhn tin trnh (process)Bao gm cc thread v cc process to nn cc c ch ng thi v ng b ca h thngGii quyt v cc vn :ng thi v song song (ng b, deadlock)Dung th li (c lp chc nng v li, tin cy)Khi ng v tt h thngPhn phi i tng v d liuHiu nng (thi gian p ng, thng lng) v tnh co dnKhng cn thit i vi mi trng x l n lM hnh ha bng biu lp, biu tng tc v biu trng thi

  • *Khung nhn trin khai (deployment)M t cc nt vt l khc nhau v cc kt ni ln nhau gia chng cho cc cu hnh nn tng in hnh nhtGii quyt cc vn :Trin khaiCi tBo trc m hnh ha bng biu trin khai

  • *Quy trnh v UMLUML l k php ch khng phi l phng phpUML c th p dng cho tt c cc pha ca quy trnh pht trin phn mm"Rational Unified Process" - quy trnh pht trin cho UML

  • *Tho lunBn bit g v cng ngh i tng?Bn bit g v sc mnh cng ngh i tng? Nhc im ca cng ngh ny?Ti sao bn li chuyn sang cng ngh i tng?M hnh l g?Cc m hnh ca MDA l g? M t chngC 4 nguyn tc m hnh ha? M t chng?UML l g? M t mt trong 4 li ch ca n?

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesIntroduce the objectives for this module.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesIntroduce the first topic in this module.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesCc i tng cho php cc lp trnh vin biu din c cc khi nim ca th gii thc trong phn mm ca h. Thc th trong th gii thc c th l mt thc th vt l nh con ngi, xe ti, tu v tr.i tng c th l mt thc th tru tng nh mt phn ng ha hc.Hoc n c th l mt thc th phn mm nh danh sch lin kt.Stress that objects can represent anything. Remember, most of your students do not know what an object is.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesMt i tng l mt thc th c bin c xc nh r rng. Ngha l mc ch ca i tng l rt r rng.Mt i tng c hai thnh phn kha : thuc tnh v phng thcCc thuc tnhv cc mi quan h biu din trng thi ca i tng.Phng thc biu din hnh vi ca i tng

    Emphasize that state, identity and behavior are the key characteristics of an object.Take a moment to explain the graphic on this slide. Attributes are documented on the inside of the doughnut. Operations are documented on the borders, which become clearer to the student as you discuss topics like encapsulation.Note that the doughnut is not part of the UML notation. UML notation is discussed later.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesTrng thi l mt trong cc iu kin m i tng tn ti. Trng thi thng thay i theo thi gianTrng thi ca mt i tng thng c thc thi bi mt tp cc c tnh c gi l thuc tnh cng vi gi tr ca cc c tnh v cc mi quan h vi cc m i tng c th c. State is not defined by a state attribute or set of attributes. Instead, state is defined by the total of an objects attributes and links. For example, if Professor Clarks status changed from Tenured to Retired, the state of the Professor Clark object would change.

    Explain the concept of state to the students.Provide some supplemental state exercises to ensure that the class understands the concept of state. For example an online order (Pending, Approved, Shipped, BackOrdered, Cancelled, etc.) or a cars Cruise Control (Engaged, Disengaged, On, Accelerating, Decelerating).Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor Notesc im th hai ca i tng l hnh vi. Mt i tng c k vng l s m hnh ha c khi nim m chng ta ang xem xt, bao gm trong c hnh vi.Hnh vi xc nh cch i tng hot ng v phn ng cc yu cu t cc i tng khc.Hnh vi ca i tng biu din bng cc thao tc m i tng thc hin. V d, Gio s Clark c th la chn mt k ngh php 5 nm mt ln. i tng gio s Clark biu din hnh vi ny thng qua thao tc TakeSabbatical() .Explain the concept of behavior to the students.

    Objects do some interesting things. This is where the work in an OO system is done.The melding of data and behavior is what makes OO such a powerful development technique.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesTrong th gii thc, hai ngi c th c cng cc c im nh : tn ,ngy sinh nht, m t cng vic. Tuy nhin, khng th c s nhm ln bi v mi c nhn c mt nh danh ring.Khi nim tng t c xy dng trong i tng. Mc d hai i tng c th c cng trng thi, nhng chng vn l cc i tng c lp v tch ri nhau.Mi i tuongj c mt nh danh ring.Explain the concept of identity to the students.

    Every object is unique, even if it shares the exact same characteristics of another object.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesIntroduce the first topic in this module.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesC 4 nguyn l c bn ca OO:Tra tng hang giM un haPhn cpIntroduce the four basic principles of OO.Be sure the students understand objects before you begin this next section. Youve introduced objects first to help students better apply each of these principles.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesTru tng ha c th c nh ngha nh sau:l bt c m hnh no m th hin nhng thng tin c bn, quan trng hoc cc kha cnh ring ca i tng no , ng thi cng b i nhng thng tin chi tit, khng quan trng.N l kt qu ca qu trnh loi b i cc thng tin c th v gi li nhng thng tin chung. (Dictionary of Object Technology, Firesmith, Eykholt, 1995.)Tru tng ha cho php chng ta qun l cc i tng phc tp bng cch tp trung vo cc c im c bn ca thc th, cc c im m phn bit n vi cc loi thc th khcTru tng ha ph thuc vo min vn v cc gc nhn. N c th quan trng trong ng cnh ny nhng li khng c ngha ln trong ng cnh khc. OO cho php chng ta m hnh ha h thng bng tru tng ha n t min vn .

    Explain the concept of abstraction to the students.A car (a mobile, powered vehicle for transporting people from place to place) is an example of an abstraction if it suppresses less important details.The abstract use of car is not concrete. However, if you describe the car as a 1995 Blue Ford Mustang, then it becomes a concrete manifestation and not an abstraction. Discuss the makings of a good abstraction. Concise Single coherent conceptAbstraction removes the unnecessary details to make something easier to understand.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesCc v d sau v tru tng ha:Mt sinh vin l mt ngi tham gia mt lp hc trong trng.Gio vin l mt ngi dy hc trn ging ng i hc.Kha hc l mt lp c a ra bi trng i hc.Explain how these are examples of abstraction. Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor Notesng gi c th c nh ngha nh sau: n i s thc thi bn trong, cung cp cho th gii bn ngoi mt giao din (Dictionary of Object Technology, Firesmith, Eykholt, 1995)ng gi thng cp n vic che giu i thng tin, sn c cho ngi dng nhng n i chi tit thc hin bn trong.ng gi tch ngi dng khi s ph thuc vo ni dung thc thi, (ngi dng ph thuc vo giao din c cung cp), nh vy vic sa i s thc thi bn trong c tin hnh c lp m khng phi tc ng bt c iu g vo client, min l giao din khng thay i. Do Client khng b nh hng bi s thay i s thc thi, cho nn gim thiu c hiu ng lan truyn (hiu ng ny xy ra sa i ca mt phng thc dn n vic phi sa i cc client). Nh vy, ng gi lm cho vic bo tr h thng tr nn n gin v tn km.ng gi a ra hai loi bo v: Bo v trng thi bn trong ca i tng trnh khi cc truy nhp bt hp php t client v bo v c m ngun ca client khi thay i code thc thi cc phng thc ca i tng.

    Define the concept of encapsulation to the students.Encapsulation is putting the data bits and operations that manipulate them in the same place. Encapsulation does NOT allow direct manipulation of things that have been encapsulated without using the supplied interface. An example is a cars accelerator. Generally speaking, you put your foot down and the car goes faster. You dont worry about the cables, electronics, engine, and the rest.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesThnh phn kha trong ng gi l giao din cc thng ip (cc phng thc) ca i tng. Giao din ca i tng bo m mi giao tip vi i tng din ra thng qua mt tp cc phng thc c nh ngha trc. D liu bn trong ca i tng ch c truy cp bi cc phng thc ca i tng.Cc i tng khc khng th truy cp vo bn trong i tng thay i cc thuc tnh ca n.V d, Gio s Clark c yu cu dy 4 lp thng ti,mt i tng khc s yu cu gio s Clark tng s lp ln 4 (MaxLoad = 4), n s dng phng thc SetMaxLoad().ng gi rt hu ch trong v d ny , bi v i tng ang yu cu khng cn phi bit lm th no thay i s lp hin ti ca gio s.V trong tng lai, MaxLoad c th thay i m khng nh hng n cc i tng yu cu, n ch ph thuc vo giao din ca i tng giao s Clark.Point out that the requesting object does not need to know the structure of the Professor object to request a state change. The object that owns the attributes is the only one allowed to change its own attributes.Note that encapsulation can also be illustrated using interfaces. However, the scope of this course does not include this discussion. Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesM hnh ha c th nh ngha l :Vic phn r mt i tng thnh cc phn nh, n gin hn c th qun l c. Mt cch khc qun l cc h thng phc tp l chia nh n thnh cc phn nh hn,d qun l hn.Cc phn ny c th c pht trin c lp min l cc tng tc gia chng c th hiu c.Cc package (c m t chng sau) h tr vic xc nh cc m un thnh phn.Explain the concept of modularity to the students.Modularity supports a separation of concerns.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesThng thng, h thng ang c xy dng rt phc tp v rt kh hiu. c th hiu r hn v n,chng ta phi chia nh chng thnh cc khi nh hn c xy dng c lp. Chia nh mt h thng theo cch nh vy c gi l m un ha. M un ha l yu t quyt nh hiu m h thng quyt nh.V d, chng ta ang xy dng h thng ng k kha hc. y l mt h thng ln v rt kh hiu, v vy, i d n phi chia nh h thng ny thnh 3 h thng thnh phn, mi thnh phn c lp vi nhau.H thng thu tinH thng phn loi kha hc H thng qun l sinh vin

    A car is an example of modularity. It is made of up of a body, chassis, engine, wheels, and so on.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesPhn cp c th c nh ngha l:vic xp hng hay xp th t cc mc tru tng vo mt cu trc cy. Cc loi: phn cp kt tp, phn cp lp, phn cp phm vi, phn cp mc k tha, phn cp thnh phn, phn cp mc chuyn mn ha, phn cp loi. (Dictionary of Object Technology, Firesmith, Eykholt, 1995.)Phn cp t chc theo mt th hng c th (v d, phc tp, trch nhim). Cch t chc ny ph thuc vo kha cnh ang xem xt. S dng mt cy phn cp m t s khc nhau ca cc khi nim c th, n gip minh ha c cc mc tru tng v rt d phn r trch nhim c th cho tng i tng.Trong bt k mt h thng no u c cy phn cp cho cc khi nim tru tng ( v d, trong ng dng ti chnh, c rt nhiu loi khch hng v nhiu loi ti khon).Phn cp c th c biu din bng th hoc c th l bn c t phn r chc nng.Phn cp cn l mt dng t chc phn loi. S dng phn cp rt d dng nhn ra s ging v khc nhau gia cc i tng. V d, trong sinh vt hc, ngi ta t chc cc loi cy thnh cc h. Cn trong ha hc, vic t chc cc phn t l trong bng tun hon.Explain the concept of phn cp to the students.phn cp is a taxonomic organization. The use of phn cp makes it easy to recognize similarities and differences.A taxonomic organization is one that represents an orderly classification. For example, plants and animals are classified taxonomically.Note that this is not part of the UML notation. UML notation is discussed later.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesIntroduce the first topic in this module.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesLp c th c nh ngha l:s m t ca mt tp cc i tng c cng thuc tnh, phng thc, mi quan h v ng ngha(he Unified Modeling Language User Guide, Booch, 1999.)Trong mi lnh vc, u c rt nhiu i tng. Nhn ra c im chung ca cc i tng v xc nh c lp cho cc i tng s gip chng ta gii quyt c rt nhiu s phc tp tim n. thc hin iu ny, chng ta s dng nguyn l tru tng ha trong OO.

    Explain what a class is to the students. Remember, many of your students are not familiar with this term.

    The course introduces objects before classes because objects are the things that actually do most of the work. Classes are the templates for the objects.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesLp Kha hc l mt s tru tng ha biu din mt kha hc ti trng i hc trong th gii thc.Lp ny c cc c tnh : Tn,a im din ra,S ngy d kin,S n v hc trnh,Thi gian bt u,Thi gian kt thc. N cng c cc hnh vi nh : Thm sinh vin,Xa sinh vin,Xem lch hc,Kim tra s thnh vin

    Lp ny khng biu din mt kha hc c th nh Algebra 101 hoc Theatre Arts 102. M n ch m t loi thuc tnh, hnh vi c trng m mt khoa hc c.Point out the differences between a class and an object.Emphasize that a class is not an object. These properties are not filled in to represent a specific course. Rather, it serves as a template.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesK php UML biu din lp, cho php chng ta nhn thy s tru tng ha m khng c th, ph thuc vo bt k ngn ng lp trnh no, n nhn mnh vo cc thnh phn tru tng quan trng nht bao gm : tn , thuc tnh, phng thc. Mt lp trong UML , s c biu din bng mt hnh ch nht, cc tnh cht public, private s i km vi cc biu tng +- tng ng.Demonstrate how a class is modeled in UML.

    Tell them that the UML represents public visibility with a plus (+) symbol and private visibility with a minus (-) symbol. Do not discuss protected visibility.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesTrong UML, mt i tng c biu din bng mt hnh ch nht, vi tn i tng c gch chn.Tn i tng i km vi tn lp, v c tch nhau bi du : Mt i tng c th c tn hoc c th l mt i tng nc danh ( khng tn).

    Demonstrate how an object is modeled in UML.Many of your students may now wonder, Hey, what is a class? Classes are defined on the next slide.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesMt lp m t ca mt tp cc i tng c cng thuc tnh, phng thc, mi quan h v ng nghaMt lp nh ngha mt i tng.N nh ngha mt khun mu ca cu trc v cc hnh vi ca i tng. Cc i tng c to ra t lp th c gi l thc th ( instance) ca lp.Lp l s m t tnh, cn i tng l thc th c th ca lp, n xut hin trong thi gian thc thi ng dng.c m hnh ha t th gii thc, cc i tng phn mm da trn cc i tng ca th gii thc , nhng tn ti trong ng cnh ca h thng.S dng cc i tng t th gii thc , b i nhng g bn khng quan tm, sua chuyn n sang phn loi da trn nhng g bn quan tm.Cc lp trong m hnh s sinh ra t giai on phn loi ca bn.Sau , cc lp ny s c s dng nh l khun mu to ra cc i tng chy trong h thng phn mm. Cc i tng ny li biu din cc i tng trong th gii thc m chng ta s dng ban u.Tuy nhin, mt s lp/i tng li khng m t i tng trong th gii thc, chng sinh ra ch tr gip cho qu trnh thit k phn mm.Show how classes and objects are related.Classic example: A class is to an object what a cookie cutter is to a cookie.

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesMt thuc tnh l mt c tnh (property) c tn ca mt lp m t phm vi cc gi tr m cc th hin ca c tnh c th gi. (The Unified Modeling Language User Guide, Booch, 1999.)Mt lp c th c mt s thuc tnh hoc khng c thuc tnh no. Ti mt thi im, mt i tng ca mt lp c cc gi tr c th cho tt c cc thuc tnh ca lp.Mt thuc tnh l mt c tnh (property) c tn ca mt lp. Mt thuc tnh c kiu d liu.Cc loi d liu in hnh ca thuc tnh nh s nguyn, Boolean, s thc, v lit k. Chng c gi l cc kiu d liu truyn thng. Thuc tnh c th c cc kiu d liu khc.

    Define the term attribute for the students.Remember, there are still operations in this class, but choose to suppress them.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor Notes mc lp,lp Student ch ra l n c cc thuc tnh l tn , tui , a ch v ID. mc i tng, cc thuc tnh ch ra gi tr ca tn ,tui, a ch, v ID ca sinh vin c th.Trng thi ca i tng th c xc nh bi tt c cc gi tr ca cc thuc tnh ca n.

    Show that an attribute is defined on a class and instantiated on an object.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesThao tc c th c nh ngha l:Mt dch v c th c yu cu t mt i tng thc hin hnh vi. Mt thao tc c mt ch k, c th gii hn cc tham s thc t c th.Cc thao tc cho bit, lp c th thc hin c nhng vic g.Cc thao tc c th dng ra lnh hoc l mt cu hi.Nu thao tc ch l cu hi, th trng thi ca i tng s khng b thay i, ch c nhng thao tc dng ra lnh mi lm thay i trng thi i tng.Mt thao tc bao gm kiu d liu tr v,tn thao tc, c hoc c th khng cn tham s.Tt c to nn ch k ca thao tc.Kt qu ca thao tc th ph thuc vo trng thi hin ti ca i tng. Thng thng, gi mt thao tc s lm thay i trng thi i tng ( tuy nhin iu ny khng phi lc no cng ng)Define the term operation for the students.Point out that these should be called operations. Many people use the term methods instead of operations.In the UML, methods and operations are NOT synonymous and have distinct definitions.An operation is simply the advertisement of a service that is offered by a class. A method is the actual code that realizes that operation.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesIntroduce the first topic in this module.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNgha ca t polymorphos trong ting Hy-lp c ngha l c nhiu hnh dng. Mi s thc thi mt giao din bao gi cng gm t nht mt giao din, tuy nhin trong mt s trng hp, s thc thi c th c nhiu hn mt giao din.V d, mt iu kin t xa c th c s dng h tr cho mi loi tivi, v chng cng a ra mt giao din nh nhau.

    Define the term polymorphism for the students.

    In a nutshell, polymorphism means that different things respond in different ways to the same command. For example, if you told your class to relax each one of the students would do something different, but they would still relax.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesTrong v d trn, mt i tng yu cu mun bit gi tr hin thi ca cc phng tin u t ti chnh ca mnh. Tuy nhin, gi tr ca cc loi ti chnh khc nhau th c tnh ton khc nhau.C phiu th phi c tnh ton thng qua gi tr hin ti trn sn giao dch, tri phiu li c tnh thng qua li sut cho vay v gi tr c nh ca n.Trong mi trng tnh ton khng hng i tng, bn phi vit mt on code nh sau :IF financialInstrument = Stock THENcalcStockValue()ELSEIF financialInstrument = Bond THENcalcBondValue()ELSEIF financialInstrument = MutualFund THENcalcMutualFundValue()Vi cng ngh i tng, mi loi ti chnh c th c biu din bi mt lp, mi lp s bit cch tnh gi tr ca n. Mi i tng yu cu th ch vic giao tip vi cc i tng c th ly gi tr hin ti ca n.Cc i tng yu cu khng cn phi bit ch k ca cc thao tc c th, m n ch cn bit mt thao tc duy nht.a hnh cho php cng mt thng ip gi i , nhng mi i tng nhn c li c cch x l ring.This diagram shows how three different objects can have the same operation: getCurrentValue(). However, the way each interprets that operation is unique because the current value for each instrument is dependent on different variables. Point out how the requesting object does not need to know anything about the calculations or the differences. All that it cares about is that the current value is calculated.One of the huge benefits of polymorphism is that the calling object does not need to know what type of object it is calling. In this example, it doesnt care what type of asset it gets the value from, just that it gets the value. Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesTng qut ha c th c nh ngha l:Mi quan h gia cc lp trong mt lp chia s cu trc v hnh vi ca n cho mt hoc mt s lp khc (The Unified Modeling Language User Guide, Booch, 1999.)Lp con c s dng mi c im ca cha, nhng ngc li th khng.Lp con k tha t lp cha.Tng qut ha c tnh cht bc cu. Bn c th kim tra li cu trc tng qut ha ca bn bng quy tc l mt loi .bn lun bt u A l mt loi B , Trong A l lp con, B l lp cha.Thut ng Tng qut ha v k tha l tng ng, v c th tro i cho nhau, nhng chng ta cn phi phn bit, tng qut ha l tn ca mi quan h, trong khi k tha l c ch biu din, m hnh ha mi quan h tng qut ha.K tha :c tnh ny cho php mt i tng c th c sn cc c tnh m i tng khc c thng qua k tha.n k tha: Mt lp ch k tha t mt lp khc, ch c mt cha.a k tha: Mt lp k tha t nhiu lp khc, mt con c nhiu cha.

    Introduce the concept of generalization. Remember, many of your students are not familiar with this term.Generalization relationships are also permitted between packages. However, packages do not have semantics. Therefore, generalization between packages is not common. According to Grady Booch: The terms inheritance and generalization are, practically speaking, interchangeable. The UML standard calls a relationship generalization so as not to confuse people with language-specific meanings of inheritance. To confuse matters more, some call this an is-a or a kind of relationship (especially those into conceptual modeling in the cognitive sciences). So, for most users, its fair to use either term. For power users, people who care about things like the UML metamodel and specifying formal semantics of the same, the relationship is called generalization and applying such a relationship between two classes, for example, results in the subclass inheriting the structure and operations of the superclass (inheritance is the mechanism).Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesThut ng , t tin v hu du c th thay th cho thut ng cha v con

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor Notesa k tha ngha l mt lp c th k tha t mt vi lp khc. V d,Bird k tha t hai lp FlyingThing v Animal.a k tha l mt khi nim dng m hnh ha chnh xc th gii thc. Tuy nhin, n tn ti nhng vn tim tng khi bn s dng a k tha.V khng phi ngn ng no cng h tr a k tha.V vy , bn phi thc s cn thn khi s dng a k tha. S dng n ch gim s phc tp ca m hnh ca bn. Sau , n phi c tinh chnh li tng thit k v thc thi.Thng thng, mt lp ch k tha t mt lp khc.

    Provide an example of generalization.Some languages do not support multiple inheritance.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesTng qut ha l vic i tm cc thuc tnh , cc phng thc v cc mi quan h chung.N i vo bn cht v cc mi quan h ca lp.

    Explain how generalization works.Emphasize that when a change is made to a super class, all descendent classes inherit the change.

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesIntroduce the first topic in this module.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesPackage c th c nh ngha l:L mt cng c t chc cc phn t trong m hnh vo thnh tng nhm. (The Unified Modeling Language User Guide, Booch, 1999.)Mt m hnh c th cha ng hnh trm thm ch hng ngn cc phn t m hnh. S lng ny tng rt nhanh. Chnh v vy cn thit phi nhm cc phn t m hnh thnh tng nhm d dng kim sot v hiu c m (ng dng ca m un ha v phn cp). Package n gin lm mt cng c gom nhm. N khng nh ngha ng ngha cc thc th ca n.Nh vy, package khng cn phi ch ra s thc thi c th nh th no, ngoi tr vic n ch ra cu trc th mc.Trong UML, mt package c biu din nh trn.Biu gi ( package) ch ra s ph thuc gia cc gi c a vo trong UML 2.0Introduce the term package to the students.A package is a virtual bag. You can place just about anything inside of it that you would like. Packages allow us to organize our models into bits and pieces that make sense. They support the concept of modularity.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesMt lp c th cha cc phn t ca n, v cha cc package khc. S hu l mt mi quan h hn hp, ngha l cc phn t c khai bo trong package , khi package b ph hy th cc phn t cng b ph hy. Mi phn t c s hu ring bi mt lp c th, v d , package UniversityArtifacts s hu cc lp sau : Course, Student, Schedule, Professor, v Course Offering, nu gi UniversityArtifacts b ph hy, tt c cc lp cng b ph hy.Nu chuyn package sang mt v tr khc ca m hnh, th cc lp cng b di chuyn theo.Mt package l mt c ch quan trng trong m hnh ha cc h thng ln.Nu khng c package bn s phi i mt vi mt h thng ln, vi rt nhiu phn t trung tn, v mt m hnh rt ln.Package gip bn kim sot cc phn t to thnh h thng, ng thi qun l c s pht trin ca n.Explain how packages and classes are related to one another. Make sure students understand that packages are a higher level of abstraction than a class. Everything in your model must reside in a package. Therefore, it is assumed that, at the top level of your model, there is one owning package.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesPhn heading dng cha tn th vi quy tc:[][] c th l : activity - biu hot ng package - biu lp, gi v biu gi communication biu giao tipComponent - biu thnh phn class biu cu trc tng hp deployment -biu trin khai intover Biu tng tc mc tng quan.Object biu i tng state machine biu state machine sd - sequence diagram timing -biu thi gian use case biu use case

    The UML 2 specification does not have consistent usage of , for example, the interactions chapter uses sd for all kinds of interaction diagrams (including timing), which is clearly erroneous.

    The frame is primarily used in cases where the diagrammed element has graphical border elements, like ports for classes and components (in connection with composite structures), entry/exit points on state machines, and gates/fragments on sequence diagrams. The majority of these are not discussed in this course but will be in OOAD.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesA. An object is an entity with a well-defined boundary and identity that encapsulates state and behavior.B. There are four basic principles of object orientation: abstraction, encapsulation, modularity and phn cp. C. A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics. The class is the static description and the object is the run-time instance of that class.D. An attribute is a named property of a class that describes the range of values that instances of the property may hold. An operation is the implementation of a service that can be requested from any object of the class to affect behavior.E. Polymorphism is the ability to hide many different implementations behind a single interface. For example, a remote control can be used to monitor/support any type of television that relates to a specific interface (whichever interface the remote was designed to be used with). F. Generalization is a relationship among classes where one class shares the structure and/or behavior of one or more classes.G. Without packages, you would end up with large, flat models where all elements would be uniquely named. Packages help you control the elements that compose your system as they evolve at different rates over time.

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTIntroduce the course objectives to the students.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTCng ngh i tng c s dng to ra cc m hnh phn nh mt lnh vc no s dng thut ng ca lnh vc .Cc m hnh c to ra s dng cng ngh i tng cn d to, d thay i, m rng, thm nh v kim chng.Cc h thng c xy dng s dng cng ngh i tng linh hot trong thay i, c cc kin trc xc nh v c c hi to ra v thc thi cc thnh phn c kh nng ti s dng.Cc m hnh c to ra s dng cng ngh i tng c thc thi tin li trong phn mm s dng cc ngn ng lp trnh hng i tng.Cng ngh i tng khng ch l l thuyt, nhng l mt cng ngh c c chng minh c s dng trong nhiu d n v xy dng nhiu loi h thng.Vic thc thi thnh cng cng ngh i tng yu cu c mt phng php tch hp mt quy trnh pht trin v mt ngn ng m hnh ha vi cc k thut v cng c xy dng ph hp (UML Toolkit, Eriksson and Penker, 1997.)

    Provide a high-level definition of object technology. Keep in mind that this is all new to most of your students.Share with the students your excitement about OO. Object technology is not simply the use of an object-oriented language like Java or C++. It is based on the principles of abstraction, modularity, hierarchy, and encapsulation. If an organization is to successfully implement object technology, they must use more than a language. They must also use process, a modeling language (UML), data modeling techniques, and so on. Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTCng ngh hng i tng gii quyt c nhng vn ln no? Ti sao ngnh cng nghip phn mm li chuyn mt cch nhanh chng sang cc ngn ng hng i tng nh Java? Hu ht cu tr li nm sc mnh ca cng ngh hng i tng. Mt s ngi cho rng cng ngh i tng s sm li vo qu kh, v b thay th bi mt cng ngh khc. Mt s ngi khc tin tng rng cng ngh i tng s l cu tr li cho mi vn ca cng nhip phn mm. S thc l th no? Chng ta thy, cng ngh i tng l mt phng php hiu qu nhng cng phi i u vi nhiu thch thc trong qu trnh pht trin phn mm. Kt qu qu trnh lm vic vt v, chm ch s l mt phn mm :Gip ti s dng m ngun v kin trc.Phn nh gn hn cc m hnh trong th gii thcn nh hn, s thay i ca h thng s c thc hin mt phn nh ca h thng.C kh nng thch nghi vi cc thay i.

    Emphasize the importance of object technology.

    Object technology is NOT easy. It is a highly disciplined way of approaching a software problem. However, the approach can reap benefits over other ways of approaching software development. Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTCng ngh i tng khng phi l mt tng mi. N ra i v pht trin c trn 30 nm Di y l m t tm tt cc bc ngot trong qu trnh pht trin cng ngh i tng.Nm 1967, Simula c thit k v tr thnh mt ngn ng i tng u tin.Nm 1972, Alan Kay v cc ng nhip ti Xerox PARC to ra Smalltalk , n ti s dng v pht trin t Simula. Nm 1980, Smalltalk cho ra i bn thng mi u tin ca mi trng lp trnh hng i tng.Bjarne Stroustrop, ngi to ra ngn ng C, cng b phin bn chnh thc u tin ca C++ vo cui nhng nm 1980. C++ khng phi l mt ngn ng mi hon ton, n m rng kh nng ca C.Nm 1991, James Gosling to ra mt ngn ng tn l Oak l tin thn ca Java. N c to ra bi v nhm pht trin ca ng ta Sun Microsystems ang vit mt phn mm qun l thng tin v ng ta nhn thy C++ qu phc tp v khng an ton, chnh v vy ng ta to ra Oak.UML 2.0 thay th phin bn UML 1.4. N c a ra chnh thc vo nm 2004, Object Management Group (OMG) to ra 2 c t l cu trc h tng v kin trc thng tng. Review these milestones with the students so that they garner a perspective on object technologys history.

    This slide was included to show students that object technology is not new. It has been around for a long time and is a proven and fairly mature technology. Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTCng ngh i tng gip cc cng ty ng gi thng tin ca cng ty trong cc i tng, v cho php x l phn tn thng qua internet hoc mi trng mng ni b. Cc nn tng pht trin ng dng doanh nghip nh J2EE ca Sun v .NET ca Microsoft u s dng i tng nh l c s cho cng ngh ca h.Demonstrate that object technology is used in many client/server applications today.

    If you have a war-story or an experience that you had working on a Web or client-server application that successfully used object technology, share it here.

    This is not just for traditional 2-tier client/server systems, but also N-tier systems such as large scale Web applications.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTCng ngh i tng c s dng trong cc ng dng phn mm v cc ngnh cng nghip sau:Truyn thng Cc h thng chuyn mnh, cc h thng khng dy, h truyn tin, h thng v tinh, qun l li, kim sot kt ni, pht trin giao thc.Trao i d liu Cc chuyn mch hub ca LAN, Cc b nh tuyn a giao thc, Chuyn mnh gi v tr knh, cc h thng chuyn mch ATM, kim sot kt ni, qun l nt, qun l li, v pht trin giao thc.Quc phng v hng khng v tr Cc h thng iu kin v ra lnh, Cc h thng iu kin u n, cc h thng tp trn gi, h thng li t ng, kim sot giao thng trn khng, theo di mc tiu, m hnh ha my tnh phn tn, kim sot giao tip ngi my, kim sot cc ch giao tip, qun l d tha.iu khin cng nghip cc thit b vn phng , h thng kim sot nh my, cc my in tc cao nhiu b vi x l, cc thng t ng , kim sot thit b, qun l h thng, iu khin x l phn tn phn tn. Demonstrate that object technology is in many real-time applications today.

    If you have a war-story or an experience that you had working on a real-time system that successfully used object technology, share it now.

    People dont often think of real-time development using objects. However, both active objects and state machines are used to model real-time systems. Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTTrong th gii thit k cu trc, lun tn ti cc mi quan h kh hiu gia m hnh d liu trong biu thc th lin kt v trong biu lung d liu. Quy trnh x l lung d liu v d liu gp nhau mt s ni, nhng ti mt s ch khc, chng khng gp c nhau. Trong cng ngh i tng, d liu v chc nng x l d liu c kt hp v hnh thnh trong cc i tng, v th cng ngh i tng va cho bn ci nhn tnh li va c ci nhn ng v h thng (Jones, p.65).Hng i tng lun c mt s ng gi rt cao trong n. D liu, thao tc v ton b cc lp c th c ng gi. Lp trnh cu trc da trn cu trc d liu, cc gii thut tinh vi, v cc mi quan h chi tit gia th tc x l v d liu (Jones, p.65).Hng i tng cho php ti s dng li m ngun mc lp hn l mc th tc, hm nh trong lp trnh cu trc(Jones, p. 66).Mc tiu ca cc phn mm c th m rng l n a ra cc gii php m gn nh gii quyt trit vn . Bng cch lm ny, khi c mt yu cu nh thay i, chng ta khng phi tin hnh thay i qu nhiu vi h thng. Bi v hng i tng c xy dng s dng cc lp tru tng ca cc i tng nghip v thc t, k thut OO cho php phn mm c th m rng hn rt nhiu so vi thit k cu trc truyn thng.

    Offer a comparison between structured design (where many of your students have experience) and Object Orientation (OO).

    This slide is not meant to attack the structured design world. Many of the techniques and models that are used in structured design are the basis for the UML and the processes that are used to build OO systems.

    However, OO has taken the best techniques from structured design and addressed some of the basic problems to arrive at a better solution.Niklaus Wirth data + algorithms = program Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTTheo Grady Booch, mt thnh vin ca IBM, th mt m hnh cung cp mt khun mu ca h thng. Cc m hnh c th bao gm cc k hoch c chi tit ha v cc k hoch tng th cung cp nhiu gc nhn v h thng ang xy dng.Mi h thng c th c m t di cc gc khc nhau bng cc m hnh khc nhauMt m hnh c th th hin cu trc, nhn mnh vo t chc ca h thng, hoc c th th hin hnh vi, nhn mnh vo s tng tc, tnh cht ng ca h thng.

    Define what is meant by the term model.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTTheo kin ca Booch trong cun The Unified Modeling Language User Guide, m hnh ha thc hin 4 mc tiu:1.M hnh ha gip chng ta trc quan ha h thng. Mt m hnh s gip cho i d n c mt ci nhn thng nht v h thng. iu ny rt kh thc hin nu chng ta ch da vo ti liu yu cu ngi dng v ti liu c t phn mm. Cc m hnh mang li s hiu bit v h thng. 2.M hnh ha cho php chng ta ch r cu trc hoc hnh vi ca h thng. Mt m hnh a ra t liu v cu trc hoc hnh vi ca h thng trc khi tin hnh xy dng h thng (coding).3. Cc m hnh a ra cc khun mu ch dn, hng dn cho chng ta trong vic xy dng h thng. Trong qu trnh xy dng h thng, cc m hnh l nhng cng c v gi. N ging nh l trnh cho lp trnh vin. Cc bn bao gi gp phi trnh hung m mt lp trnh vin code sai mt chc nng ca h thng v anh ta nhm ln ngha ca cc t trong ti liu yu cu ngi dng cha? M hnh ha s gip chng ta gim bt c tnh hung ny.4. Cc m hnh ghi li cc quyt nh m chng ta to ra. Cc m hnh l nhng cng c ng gi trong mt khong thi gian di. N ging nh cc thng tin cng, c nh li quyt nh thit kt, c th a ra mt hp ng r rng v chc chn. Da vo cc m hnh bn s khng b ph thuc vo ti tin ca ngi khc.Sell the students on the value of visual modeling.

    Clarify that you are discussing formal modeling, not modeling written on a white board or on the back of a napkin at lunch.

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTTheo kin ca Booch trong cun The Unified Modeling Language User Guide, m hnh ha thc hin 4 mc tiu:1. M hnh ha gip chng ta trc quan ha h thng. Mt m hnh s gip cho i d n c mt ci nhn thng nht v h thng. iu ny rt kh thc hin nu chng ta ch da vo ti liu yu cu ngi dng v ti liu c t phn mm. Cc m hnh mang li s hiu bit v h thng. 2. M hnh ha cho php chng ta ch r cu trc hoc hnh vi ca h thng. Mt m hnh a ra t liu v cu trc hoc hnh vi ca h thng trc khi tin hnh xy dng h thng (coding).3. Cc m hnh a ra cc khun mu ch dn, hng dn cho chng ta trong vic xy dng h thng.Trong qu trnh xy dng h thng, cc m hnh l nhng cng c v gi.N ging nh l trnh cho lp trnh vin. Cc bn bao gi gp phi trnh hung m mt lp trnh vin code sai mt chc nng ca h thng v anh ta nhm ln ngha ca cc t trong ti liu yu cu ngi dng cha? M hnh ha s gip chng ta gim bt c tnh hung ny.4.Cc m hnh ghi li cc quyt nh m chng ta to ra. Cc m hnh l nhng cng c ng gi trong mt khong thi gian di. N ging nh cc thng tin cng, c nh li quyt nh thit kt, c th a ra mt hp ng r rng v chc chn.Da vo cc m hnh bn s khng b phu thuc vo ti tin ca ngi khc.Sell the students on the value of visual modeling.

    Clarify that you are discussing formal modeling, not modeling written on a white board or on the back of a napkin at lunch.

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesBn c th c mt t giy, v ch trong vi pht bn c mt chic my bay giy lm tr chi cho l tr ca bn. Nu bn gp hng t giy , khng sao, bn c th lm li vi mt t giy khc.Cn khi bn ch to mt chic my bay phn lc th sao? Bn cng lm theo cch ? C phi bn s mua sp thp, nguyn vt liu v v bt tay ngay vo vic to ra n? ng nhin, khng ai trong chng ta lm nh th c. Bi v chng ta ang tiu tn hng triu ola to ra n. Chng ta s phi c mt i gm nhiu thnh vin v phi tin hnh xy dng m hnh c th giao tip, tho lun hiu qu vi nhau.(The Unified Modeling Language User Guide, Booch, 1999.)

    Emphasize that complex projects outside of the software industry require models. Its inconceivable that a defense contractor would build an airplane as complex as a fighter jet without modeling the airplane first. Why? Because unlike building paper airplanes, the cost of failure is significant. As a general rule, modeling becomes more important as the complexity and expense rises.

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUT Point out that a major problem with software development is that we often fail to model complex systems before construction. Software engineering is an engineering discipline. Why is it that so many of our projects dont use models like other engineering disciplines such as electrical, civil, and so on? Would anyone work in a high rise that was put together without the benefit of a well thought- out design? Would you drive an automobile that had not been modeled first? Ask the class why they think that software teams dont always model. Note these ideas and address them through the course.

    Nu nh b quc phng mun ch to ra mt chic my bay phn lc cho chnh ph, h cn thc hin nhng cn bng c th gia nhu cu ca qun i v thc t ca k thut hng khng. H cng mun mun to ra s chuyn nghip cho cc s quan, khng y h vo nhng ri ro hoc bt h phi i mt vi nhng kh khn m h khng th gii quyt c.Nhng cng rt l, l rt nhiu cng ty pht trin phn mm, h mun xy dng cc h thng phn mm phc tp, nhng cch tip cn ca h u di dng gp my bay giy.Khi cc nhu cu gia tng i hi phi xy dng mt phn mm phc tp trong khong thi gian ngn hn, i pht trin thng gii quyt vn bng cc dng code. H phi mt nhiu thi gian hn, nhng cng khng hon thnh v v vy, d n i n tht bi.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTThis is a good point to introduce students to the DEV325 Essentials of Model Driven Architecture course.

    The MDA framework was adopted by the Object Management Group (OMG) in 2001. Visit www.omg.org for additional information.

    Kin trc hng m hnh ch ra cc loi m hnh c th s c s dng, cc m hnh c chun b nh th no v mi quan h gia cc m hnh khc nhau .N c t tn l hng m hnh bi v, cch tip cn ny s dng cc m hnh hng dn cho vic tm hiu, thit k, xy dng, trin khai, x l, bo tr v thay i h thng.Kin trc ca mt h thng l c t ca cc b phn v cc thnh phn kt ni ca h thng, ng thi n cng a ra cc quy tc tng tc gia cc b phn s dng cc thnh phn kt ni.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesThe computation independent viewpoint focuses on the environment of the system, and the requirements for the system; the details of the structure and processing of the system are hidden or as yet undetermined.

    The platform independent viewpoint focuses on the operation of a system while hiding the details necessary for a particular platform. A platform independent view shows that part of the complete specification that does not change from one platform to another. A platform independent view may use a general purpose modeling language, or a language specific to the area in which the system will be used.

    The platform specific viewpoint combines the platform independent viewpoint with an additional focus on the detail of the use of a specific platform by a system.Mt khung nhn ca h thng l qu trnh loi b i cc chi tit c th ,rm r c th to nn mt m hnh n gin, tp trung vo nhng vn trng tm bn trong h thng.CIM : Tp trung vo mi trng ca h thng v cc yu cu ca h thng nhng che giu cc chi tit v thc thi v s thc thi ca h thng, gim khong cch gia cc chuyn gia lnh vc v cc chuyn gia cng nghPIM : Tp trung vo thao tc ca h thng, c lp vi nn tngPSM : Tp trung vo chi tit s dng h thng trn mt nn tng nht nh

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTM hnh ha c 4 nguyn tc c bn : M hnh bn to ra chi phi cch thc vn bt u v cch thc hnh thnh gii php.Mi m hnh din t h thng vi mt mc chi tit khc nhau.Cc m hnh tt nht phi bm st vo thc t.Mt m hnh n l khng din t ton b h thng.Demonstrate that there are guiding principles for visual modeling. It is not chaotic activity.The four modeling principles are described in detail on the next four slides.See the UML User Guide for a more detailed discussion on these four principles.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTCc m hnh ng n s ch r nhng vn kh nht, a bn nhn thu vo bn trong h thng. Ngc li, mt m hnh sai s nh la bn, s lm cho bn tp trung vo nhng vn khng xc ng.Trong phn mm, cc m hnh bn chn c nh hng ln n ci nhn th gii thc ca bn. Nu bn xy dng h thng di con mt ca mt ngi pht trin c s d liu, bn s phi lm vic vi m hnh thc th lin kt, v bn s y cc hnh vi ca th thng thnh cc store procedure, cc trigger Nu bn xy dng h thng di con mt ca mt lp trnh vin hng i tng, bn s phi lm vic vi m hnh kin trc trung tm, v to ra cc lp, cc khun mu tng tc m cc i tng ca lp s tham giaMi ci nhn th gii s dn n mt h thng khc nhau vi chi ph v li ch khc nhau (The Unified Modeling Language User Guide, Booch, 1999)

    Remind students that each model should reflect the problem that they are trying to solve.The model of a system comprises many different views of that system. Refer students to the Architectural Blueprints -The 4+1 View of Software Architecture by Phillipe Kruchten. You can find the white paper at http://www-306.ibm.com/software/rational/info/literature/design.jsp. Discuss the views later in this module.Supplement this slide with the following example. To build a home, you would use different models to resolve structural and electrical problems.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNu bn ang xy dng chip my tnh, i khi bn phi cn n rt nhiu mc chi tit khc nhau. V d, bn phi a cho cc nh u t xem hnh dng ca sn phm cui cng.Ti mt thi im khc, bn li phi a chi tit thit k mch.Khi pht trin cc h thng GUI, bn c th to ra mt giao din mu cho php giao tip vi khch hng d dng hnNi chung, mc chi tit ca cc m hnh phi ph thuc vo i tng s xem m hnh .(The Unified Modeling Language User Guide, Booch, 1999.)

    Remember, there are many different ways to view a model of a solution.Again, point out that there is no one mega-model that displays everything about a system.Additional examples from building a home may include examples that the homebuyer may be interested only in the elevation and the floor plan.Obviously, the construction foreman is going to need a more detailed view of the home.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTMt m hnh vt l th thng s khng minh ha c y chc nng ca h thng do gii hn v gi tr ca vt liu xy dng m hnh. Mt m hnh tt nht l phi m t chnh xc v cng gn th gii thc cng tt. Tt c cc m hnh u n gin ha th gii thc. Bn phi bo m c s n gin trong m hnh ca bn ng thi khng che y i cc chi tit quan trng. Mt m hnh tt phi phn nh c nhng im n cha ri ro (The Unified Modeling Language User Guide, Booch, 1999.)

    A model should accurately reflect the real world.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTCm t gn nh c lp vi nhau c ngha l cc m hnh c th c xy dng v nghin cu ring bit , nhng vn c mi tng quan ln nhau. hiu c kin trc ca mt h thng hng i tng , bn cn mt s khung nhn b xung. Mt khung nhn kin trc c th c nh ngha ging nh mt s tru tng ha h thng t mt kha cnh c th hoc t mt im thun li,bao ph cc mi lin quan c th, v ch ra cc thc th khng lin quan trong kha cnh ny. Cc khung nhn l cc ming nh ca m hnh.Cc khung nhn di y c th l kha cnh cu trc hoc hnh vi ca h thng. Khi kt hp vi nhau, chng biu din nguyn mu ca h thng phn mm.Khung nhn Use-case ch ra cc yu cu ca h thngKhung nhn logic Cung cp m t c th v hnh vi chc nng ca h thngKhung nhn x l m hnh ha cc h thng x l phn tnKhung nhn thc thi t chc cc m-un phn mm tnh (m ngun, tp d liu, cc thnh phn thc thi, ti liu) Khung nhn trin khai tp trung vo vn k thut trin khai h thngNh rng khng phi mi h thng u cn tt c cc khung nhn ny. S lng cc khung nhn th ph thuc vo h thng bn ang xy dng.

    Many interrelated models are needed to accurately describe a system. Introduce the 4+1 views of architecture first. Its important that they understand from the beginning that the models created/read represent a specific view of the system.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTCc h thng phn c xy dng ngy nay cng ngy cng tr nn phc tp. l l do ti sao bn phi m hnh ha h thng. M hnh m bn la chn gip bn hiu bit su sc v vn , cch thc vn c gii quyt v gii php a ra l g , mt m hnh n l th khng th cung cp thng tin. Mi h thng phc tp c mt hng tip cn tt nht l thng qua mt tp nh cc m hnh gn nh c lp.Nh vy, tng cng s hiu bit v h thng, mt ngn ng mi c s dng biu din cc m hnh l UML.Ngn ng m hnh ha UML tp l mt ngn ng chun xy dng khun mu phn mm.Cc cu phn: l cc ti liu v cc m hnh pht trin bo tr h thng. Cc ti liu: Ghi li cc yu cu ca h thng, bao gm chc nng, tin cy , hiu nng v cc yu cu h tr Cc m hnh: l cc gc nhn n gin ha v h thng. Cc phn t m hinh : Cc phn t ny cho php i d n v, xy dng v ti liu ha cu trc v hnh vi ca h thng , m khng lm mt i s phc tp

    Introduce the UML. Remember many of your students have no idea what the UML really is.

    The next four slides explain how the UML is a language for visualizing, specifying, constructing and documenting. Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTThng thng, cc i d n v cc cng ty xy dng mt ngn ng m hnh ha h thng ring ca h, iu ny lm cho nhng thnh vin bn ngoi cng nh nhng thanh vin mi ca d n rt kh hiu ci g ang din ra.Vic truyn ti thng tin v cc m hnh, cc khi nim l rt kh khn, v thng gy ra hiu lm, mt thi gian.V vy cn mt ngn ng m hnh ha thng nht. UML a ra mt tp cc biu tng vi ng ngha c nh ngha tt. Mt lp trnh vin c th to ra mt biu UML v mt ngi khc c th xem n m khng gy ra bt c hiu lm no.C nhng th trong h thng, m nu bn khng xy dng m hnh th bn khng th hiu ni n.Chng hn nh cu trc phn cp trong h thng. UML l mt ngn ng ha gii quyt vn ny.Nu mt lp trnh vin thc hin code m khng lp m hnh , th c nhng thng tin s b mt vnh vin. To ra cc m hnh bng UML s tr gip cho vic giao tip, lm gim thi gian giao tip. (The Unified Modeling Language User Guide, Booch, 1999.)

    Stress how the UML is designed to promote communication using pictures rather than text.Using the UML allows the light bulb to go on in the minds of many people. Rather than trying to interpret a textual description of a system design, the UML offers a graphical representation of that same description.In this case, a picture is truly worth a thousand words.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTTrong hon cnh ny, c th c ngha l xy dng cc m hnh chnh xc, r rng v y . c bit , UML gii quyt vn c t cho tt c cc quyt nh quan trng cn phi thc thi v trin khai trong qu trnh phn tch, thit k v thc thi. (The Unified Modeling Language User Guide, Booch, 1999.)

    The UML can be used to specify detailed or general models.Anyone who has worked on a project where miscommunication occurred appreciates this feature of the UML. The UML allows the modeler to specify their intentions in a clear, unmistakable manner.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesUML khng phi l mt ngn ng lp trnh trc quan. Tuy nhin, cc m hnh c thit k bng UML th kt ni trc tip vi cc ngn ng lp trnh, cho php anh x cc m hnh vo trong cc ngn ng lp trnh v vo trong c s d liu.Nu mt vn c m t tt bng ha , th n s dng UML thc hin. Nu n m t tt bng vn bn th n s dng cc ngn ng lp trnh. Cho php cc k ngh xui (chuyn UML thnh m ngun) v cho php k ngh ngc (xy dng m hnh h thng t m ngun).The UML was designed with forward and reverse engineering in mind.Rational has partners who provide round-trip engineering for other languages.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesCc artifact ca d n c ngha quyt nh trong vic kim sot , o c v giao tip v cc vn ca h thng trong sut qu trnh pht trin n v sau qu trnh trin khai.UML gii quyt vn ng gi ti liu cho kin trc h thng tt c cc mc chi tit. UML cng l ngn ng din t yu cu v cc kch bn test. Cui cng, UML cung cp mt ngn ng m hnh ha k hoch d n, v cch thc qun l phin bn (The Unified Modeling Language User Guide, Booch, 1999.)Trong slide ny, khng ch ra mi biu trong UML,m ch ra mt s biu trong c t UML m thi. UML diagrams should be treated as formal project artifacts. Each diagram created by a project team should be treated as an artifact. The UML can help alleviate some of the paper crunch that many software teams experience.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTMeta-model: M t v m hnhNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesUML c pht trin bng cch kt hp nhiu tng t cc trng phi khc nhau. Vn l phi xy dng mt cch tip cn n gin nhng cho php m hnh ha mt lot cc vn trong h thng. Nn tng cc khi nim th c thit lp mt cch rt nhanh, nhng vn thng nht cc biu tng th li tn nhiu thi gian.Vic cng tc nhit tnh vi cc nh lnh o trong cac ngnh cng nghip khc mang li ngn ng UML , UML cng h tr c cc ngnh cng nghip khc ngoi ngnh phn mm. Cc i tc ca UML gm c HP, ICON Computing, IBM, I-Logix, Intellicorp, MCI Systemhouse, Microsoft, ObjecTime, Oracle, Platinum Technology, Ptech, Reich Technologies, Softeam, Sterling Software, Taskon, and Unisys.Cc hng ny c cc thnh vin hp tc cng nhau xy dng UML.

    Demonstrate that UML was developed as an industry standard with many influences. The UML is not owned and written by Rational.Do not spend a lot of time on this slide. Simply point out one or two contributors of special interest to your audience. For example, for a telephony audience, you might point out Harel and his state charts.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTKhi bn xy dng m hnh ca bn, bn c th la chn cc khung nhn thc s c ngha, c gi tr i vi cc thnh vin lin i trong d n.

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTKhung nhn Use-CasePhc v nh mt tha thun gia khch hng v lp trnh vin.L c s cho cc hot ng phn tch, thit k v kim th.Bao gm Biu use case,Lung s kin use case,Biu hot ng,Cc ti liu ph tr. N c th cng gm c biu hot ng.L tri tim ca cc khung nhn khc, v n m t cc hnh vi ca h thng phi thc.Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTKhung nhn LogicCung cp m t c th v hnh vi chc nng ca h thng.Bao gm:Biu lp, biu tng tc, biu trng thi,H thng con v giao din ca chng

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUT Khung nhn thc thiT chc cc m-un phn mm tnh (m ngun, tp d liu, cc thnh phn thc thi, ti liu) trong mi trng v mt:Chia thnh cc package v phn lp (layer),Qun l cu hnh (quyn s hu, k hoch bn giao)Gii quyt cc vn nh : vic trin khai phi d dng, qun l cc thnh phn, tnh c lp, tnh ti s dng ca thnh phn.

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTKhung nhn tin trnhBao gm cc thread v cc process to nn cc c ch ng thi v ng b ca h thng.Gii quyt vn hiu nng, tnh co dn( kh nng p ng vi s lng ngi dng ln hn trong tng lai) v bng thng ca h thng.Khng cn thit i vi mi trng x l n l.

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTKhung nhn trin khai Khung nhn trin khai M t cc nt vt l khc nhau v cc kt ni ln nhau gia chng cho cc cu hnh nn tng in hnh nht.Khung nhn trin khai l mt tp con ca m hnh trin khai, v ch cn thit khi h thng l phn tn.

    Nguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesNguyn Th Thu Trang, SE-FIT-HUTEssentials of Visual Modeling w/ UML 2.0 - Instructor NotesThis slide gives you the opportunity to find out what your students know about object technology. What are their preconceived ideas?Listen closely, as it may help you shape the direction that the class takes.

    Its important to record the students concerns at this time. Try to address these issues at the appropriate time in the course. This is a good opportunity to find out if you need to supplement the slides in any particular area.