Xây dựng phần mềm hướng đối tượng
Chuyên:Xâydngphnmmhngitng Trng C Công Ngh Thông Tin TP.HCM 1 Gingviên:NguynNamTrung Email:nntrung.itc@gmail.com Chuyên Xâydngphnmmhngitng Nidung • Giithiuchung • Nidungmônhc • Hìnhthckimtravàánhgiá • Tàiliuthamkho Giithiuchung Mctiêumônhc: • Cung cpchocácsinhviêncác kinthc chuyên sâu liên quan nvic xây dng phnmm theo tipcn hng itng. • Sinh viên scgiithiu phng pháp, k thut xây dng phnmmtheohng itng, cbittronggiai on phân tích và thitk phnmm. • Tính tinhóavà kin trúc linh hot c aphnmmlàni dung quan trng trong môn hcnày. Môn tiên quyt: • Phng pháp lptrìnhhng itng • Nhp môn công ngh phnmm • Có kinthcv C# Nidungmônhc Môn hc c chia thành 02 phn chính : • Phn01–Xâydng phnmmhng itng K nng phân tích, thitk và trin khai d án phnmm. • Phn02–Môitrng và công c xây dng phnmm K nng xây dng, cài tphnmmdatrênbnthitk. Chuyên:Xâydngphnmmhngitng Trng C Công Ngh Thông Tin TP.HCM 2 Phn01–XâydngphnmmHĐT • Chng01 – Mu • Chng02 – Yêucucangisdng • Chng03 – Môhìnhhóayêucu • Chng04–Phântích • Chng05 – Thitkdliu • Chng06 – Thitkkintrúcphnmm • Chng07 – Thitkgiaodin • Chng08 – Mtsvnkhác Phn02–Môitrngvàcôngc • Chng01–Giithiutngquan • Chng02–XAML • Chng03–ThitkLayout • Chng04– Controls • Chng05–WPFInputevents • Chng06–DocumentsvàFileStream • Chng07– Resources • Chng08–Databinding • Chng09–Styles,Templates,SkinsvàThemes Hìnhthckimtravàánhgiá Lý thuyt 7 im • Thi cuik :làm án và vn áp 5 im Làm nhóm (btbuc 5 sinh viên / nhóm). Báo cáo và vn áp 2 im(+0.5im) Chng trình 3 im(+0.5im) • Thi giak 2 im Hình thc1:vit (không dùng tài liu) Hình thc 2 : làm bài lab Thchành 2 im Chuyên cn 1 im Tàiliuthamkho • Roger S Pressman, Roger Pressman (2004), Software Engineering: A Practitioner's Approach ,McGrawHill Science/Engineering/Math • Ian Sommerville (2006), Software Engineering: (Update) (8th Edition) , Addison Wesley • Dennis de Champeaux, Douglas Lea, Penelope, Faure (1993). Software Engineering ObjectOriented System Development , Addison Wesley • Len Bass, Paul Clements, Rick Kazman (2003), Software Architecture in Practice, 2 nd edition , Addison Wesley • Clifton Nock (2003), Data Access Patterns: Database Interactions in Object Oriented Applications, Addison Wesley • Sherif M. Yacoub, Hany H. Ammar (2003), PatternOriented Analysis and Design: Composing Patterns to Design Software Systems , Addison Wesley. • Microsoft Corporation (2003), Enterprise Solution Patterns Using Microsoft .NET, Microsoft Press • Martin Fowler, David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, Randy Stafford (2002), Patterns of Enterprise Application Architecture, Addison Wesley. • Alan Shalloway, James R. Trott (2004), Design Patterns Explained – A New Perspective on Object Oriented Design , Addison Wesley • Gregor Hohpe, Bobby Woolf (2003), Enterprise Integration Patterns: Designing, Building , and Deploying Messaging Solutions, Addison Wesley Chuyên:Xâydngphnmmhngitng Trng C Công Ngh Thông Tin TP.HCM 3 • Nguyn Nam Trung, Windows Presentation Foundation, 2011 • Adam Nathan (2010), WPF 4 Unleashed, SAMS • Matthew MacDonald, Pro WPF in C# 2010: Windows Presentation Foundation in .NET 4.0, Apress • http://msdn.microsoft.com/enus/ff380143 LearnAboutDesktopDevelopment • http://wpf.netfx3.com WPFTechnicalCommunity • http://www.microsoft.com/expression MicrosoftExpressionStudio • http://nibblestutorials.net DesignerorientatedtutorialsforExpressionBlend Tàiliuthamkho Tàiliuthamkho • http://msdn.microsoft.com/enus/library/ms752059.aspx XAML Overview • http://msdn.microsoft.com/enus/library/ms745058.aspx Layout System • http://msdn.microsoft.com/enus/library/ms771466.aspx WPF Controls Gallery Sample • http://msdn.microsoft.com/enus/library/ms742806.aspx Routed Events Overview • http://msdn.microsoft.com/enus/library/ms752308.aspx Commanding Overview • http://msdn.microsoft.com/enus/library/aa970909.aspx Flow Document Overview Tàiliuthamkho • http://msdn.microsoft.com/enus/library/ms748864.aspx Annotations Overview • http://msdn.microsoft.com/enus/library/ms750613.aspx Resources Overview • http://msdn.microsoft.com/enus/library/ms750612.aspx Data Binding (WPF) • http://msdn.microsoft.com/enus/library/ms745683.aspx Styling and Templating Q&A Nid u u ngc h h uyên Chng Chng Chng Chng Chng Chng Chng Chng Xây d h Mđu Yêucu c Môhình Phântíc h Thitk Thitk Thitk Mtsv d ng p ng c angis hóayêucu h dliu kintrúcph giaodin nđkhác P p hn m it dng nmm HNI m m ng Chuong1:Mu Trng C Công Ngh Thông Tin TP.HCM 1 Chng1 M u Ngun:TSTrnMinhTrit Hiuchnhvàtrìnhbày:NguynNamTrung Email:nntrung.itc@gmail.com Nidung • KháinimvPhnmm • KháinimvChtlngphnmm • Khái nim v Công ngh phn mm • Khái nim v Công ngh phn mm • KháinimvQuytrìnhphnmm Kháinimvphnmm Víd:xétmtsphnmmsau Phnmmqunlýhcsinhcp3. Ph nm mqu nlýthvin. Phnmmqunlýnhàsách. Phnmmqunlýkháchsn. Phnmmqunlýphòngmcht. Phnmmqunlýstitkim. Phnm mqunlýgiivôchbóngá. Phnmmqunlýbánvéchuynbay. Phnmmqunlýcácilý. Phnmmxpthikhóabiu … Kháinimvphnmm(tt) Phnmmdi góc nhìn cangis dng: • Chng trình thcthictrênmáy tính hoc các thitb chuyên dng khác nhm h tr cho các nhà chuyên môn trong chuyên dng khác , nhm h tr cho các nhà chuyên môn trong tng lnh vc chuyên ngành thchin tthn các thao tác nghip v camình Chuong1:Mu Trng C Công Ngh Thông Tin TP.HCM 2 Kháinimvphnmm(tt) Môi trng trinkhaiphnmm • Máy tính: Desktop, Laptop, Tablet PC… hi b hê d • T hi t b c h uy ê n d ng: Thitb di ng: PDA, Pocket PC, Đinthoiding… Các thitb chuyên dng khác: settop box, router, firewall (phncng…) Htrlàmtthncácthaotácnghipv: Ti h hó hi hi là th ô • Ti n h c hó a ng hi pv hi n ang là m th c ô ng • Citin chcnngnghipvhinangcthchintrênmáy tính • Đra,xâydngvàtrinkhai chcnngnghipvmi Kháinimvphnmm(tt) Phnmmdi góc nhìn ca chuyên viên Tin hc: • Đây là mth thng bao gm3thànhphnc bn: Thành ph ngiaoti p Thành phnx lý Thành phnlutr • Cn cxâydng thchintheoyêucucangis dng Kháinimvphnmm(tt) Thành phngiaotip(Giaodin): • Cho phép tipnhn các yêu cuv vics dng phnmmt n g is dn g ( chncôn g vicmunthchinvàcun g c p các g g ( g g p d liungunliênquanncôngvic ó), t các thitb thu thp d liu(cân,nhitk,t bào quang in…), hoct các phn mmkhác. • Cho phép trình bày các ktqu cavicthchincácyêucucho ngidùng(ktqu cacôngvickhithchintrênmáytính) hoc iukhinhot ng các thitbiukhin(óng/m ca, dùn g ha y cho chu y n n g …) g y y g • Mtcáchtng quát, thành phngiaotip cho phép nhp/xut thông tin cùng vihìnhthc trình bày/giao tiptng ng. • Mc tiêu chính ca thành phnnàylàa thông tin t th gii bên ngoài phnmm(ngis dng, các thitb,phnmm khác…) và bên trong, hocngcli. Kháinimvphnmm(tt) Thành phnx lý: • Kimtratínhhpl ca thông tin ngun c cung cpt ngi dùn g theo các q u y nh ràn g bu ctron g th g iith c g qy g g g Ví d:ch cho mnti a 3 quynsách,milphc không quá 50 hc sinh… • Tinhànhx lý cho ra ktqu mong itheoquy nh tính toán có sn trong th giithc Ví d: quy tctínhtinphtkhitr sách v, quy nh tính tin in, tr góp khi mua nhà… • Hoc ti nhànhx lý theo thutgi it xu t Ví d:xpthikhóabiutng, nén nh, phát sinh ncc ca máy tính… Chuong1:Mu Trng C Công Ngh Thông Tin TP.HCM 3 Kháinimvphnmm(tt) Thành phnx lý: • Vicx lý da trên thông tin ngunt ngis dng cung cp Ví d : tính nghim phng trình bc 2 da trên các h s nhp Ví d : tính nghim phng trình bc 2 da trên các h s nhp vào hoc d liulutr có sn Ví d:tínhtnkhoda trên các phiunhpxut ãlutr hoc c hai Ví d:tínhtinphtdatrênngàytr sách cnhpvàovà thôn g tin v loisáchã clutr g • Vicx lý cho ra ktqu có th dùng xut cho ngidùngxem qua thành phngiaodin ,haylutr li qua thành phnlutr, hoc c hai Kháinimvphnmm(tt) Mtcáchtng quát, thành phnx lý là h thng chuyên x lý tính toán, bin id liu, • Dùng thông tin ngun t các thành phn giao din ( chc nng • Dùng thông tin ngun t các thành phn giao din ( chc nng nhp)haythànhphnd liu(chcnng c); • Kimtratínhhpl (chcnng kimtra)vàsauótinhànhx lý (chcnng x lý) – nucnthit • Đ cho ra ktqu sc trình bày thông qua thành phngiao din( chcnng xut)hoclutr litrongthànhphnd liu ( chcnng ghi) Kháinimvphnmm(tt) Thành phnlutr (thành phnd liu) • Cho phép lutr li(chcnng ghi)cácktquãx lý V í d:Vicmnsáchã ckimtrahpl,bng lng tháng ã ctính trên b nh ph vit chclutrcxácnh trc Ví d:tptincócutrúc,tptinnh phân, c s d liu • Cho phép truy xutli( chcnng c)cácd liu ãlutr phcv cho các hàm x lý tng ng Mt áh t át thà h h d li là h th hê • Mt c á c h t ng qu át thà n h p h n d li u là h th ng c h uy ê n c ghi d liu cùng vimôhìnht chclutr d liutng ng. Mc tiêu chính ca thành phnnàylà chuyn id liu giab nh chính và b nh ph Kháinimvphnmm(tt) Cácloi phnmmkhác? Chuong1:Mu Trng C Công Ngh Thông Tin TP.HCM 4 Kháinimlpphnmm Lpphnmm: • Lpphnmmlàh thng các phnmmtrêncùng mtlnh vc hot ng nào ó hot ng nào ó • Do cùng lnh vchot ng nên các phnmm cùng lpthng có cutrúcvà chcnng tng t nhau Mctiêuca ngành Công ngh Phnmm • Xây dng cphnmm có chtlng • D dàng xây dng phn mm mi t các phn mm có sn cùng D dàng xây dng phn mm mi t các phn mm có sn cùng lp Chtlngphnmm Conngi Tính úng n: • Đy PhnPhnmmmm • Chính xác Tính úng n Phncng Phnmmkhác DigócnhìncaNgisdng Chtlngphnmm Conngi Tính tindng: D h Tính tin dng Tí h ú PhnPhnmmmm • D h c • D s dng • Giao dintrc quan • T nhiên • Tí n h ú ng n Phncng Phnmmkhác DigócnhìncaNgisdng Chtlngphnmm Conngi Tínhhiuqu: Ti u s dng CPU* Tí h ú Tính hiu qu PhnPhnmmmm Ti u s dng CPU* Tiusdngbnh* Tiusdngthitb • Tí n h ú ng n • Tínhtindng Phncng Phnmmkhác DigócnhìncaNgisdng Chuong1:Mu Trng C Công Ngh Thông Tin TP.HCM 5 Chtlngphnmm Conngi Tínhtngthích: It/Etd li Tí h ú PhnPhnmmmm I mpor t/E xpor t d li u Tngtác • Tí n h ú ng n • Tínhtindng • Tínhhiuqu Tính tng thích Phncng Phnmmkhác DigócnhìncaNgisdng Chtlngphnmm Conngi Tính tinhóa:mttrong các tính cht quan trng Tí h ú PhnPhnmmmm nht c quan tâm xem xét trong ngành Công ngh Phnmm • Tí n h ú ng n • Tínhtindng • Tínhhiuqu • Tínhtngthích Phncng Phnmmkhác DigócnhìncaNgisdng Tính tin hóa Chtlngphnmm Conngi • Tínhtinhóa Tí h ú PhnPhnmmmm • Tí n h ú ng n • Tínhtindng • Tínhhiuqu • Tínhtngthích • ………… Phncng Phnmmkhác DigócnhìncaNgisdng Chtlngphnmm Tính d kimtra:vickim tra các thành phn phù hpvi yêu cuphnmmlàd dàng nhtcóthc Tính d sali: khi có s không phù hp(soviyêucu) trong quá trình kimtramt thành phn, vic phát hiu chính xác “v trí li” và sali là nhanh nhtcóthc. Tính d botrì:khicnnângcp, citinmt thành phn (theo yêu cumi), viccpnhtphnmm là nhanh, chính xác nhtcóthcvàcbitlàc gng hnchnh hng n các thành phn khác hng n các thành phn khác Tính tái s dng: các thành phn ãthchincóth dùng litrongcácphnmm cùng lp(hoc cùng lnh vc) vithi gian và công scítnhtcóthc ……… DigócnhìncaNgisdng Chuong1:Mu Trng C Công Ngh Thông Tin TP.HCM 6 SpháttrincaCôngnghphnmm Giaion1(1950–gia1960) • Xlýtheolô,xlýtptrung,ítxlýphântán,ítsaiphnmm Giaion2(tgia1960ngia1970) • Hthngachngtrìnhvàanguidùng • Btucuc“khnghong”phnmm Giaion3(tgia1970ngia1980) • S pháttrinvàsdngrngrãimáytínhcánhân • Spháttrincacáccôngtyphnmm Giaion4(tgia1980nnay) • Phncngngàycàngpháttrin • Hthngphnmmngàycàngadng,phongphú,xlýngàycàng phctp,côngnghngàycàngpháttrin… Cuckhnghongphnmm Slngcácphnmmtngvt(dospháttrincaphncng: tngkhnng,giáthànhh) Cóquánhi ukhuy ti mtrongcácph nm mcdùngtrongxã hi: • Thchinkhôngúngyêucu(tínhtoánsai,khôngnnh…) • Thigianbotrìnângcpquálâu,chiphícao,hiuquthp • Khósdng • Thchinchm Khô h i d li i á h • Khô ngc h uy n i d li ug i ac á cp h nm m • … Cuckhnghongphnmm Mts ktlun: • Victng vts lng phnmmlàiuhplývàs còn tip din din • Các khuyt imcaphnmmcóngungc chính t phng pháp, cách thc và quy trình tinhànhxâydng phnmm: Cmtính:mingitheomtphng pháp riêng Thô s, ngin:ch tp trung vào viclp trình mà ít quan tâm ncáccôngviccn làm khác (khosáthintrng, phân tích yêu cu, thitk…) Th công:cònthiucáccôngc h tr quy trình phát trin Côngnghphnmm Khái nim: • Công ngh phnmm là ngành khoa hcnghiêncuv vicxây dng các phn mm có cht lng trong thi gian và chi phí hp lý dng các phn mm có cht lng trong thi gian và chi phí hp lý Côngnghphnmm Côngc Quytrình Phngpháp [...]... ng ã có? o C n b sung thêm l p i t ng m i? Ví d :? Các b c xây d ng s l p m c phân tích B c 2: • N u m t l p i t ng có thu c tính có c u trúc ph c t p ho c có các thu c tính có liên h ch t ch v i nhau và có ng ngh a c th thì nên tách ra thành l p i t ng ph Các b c xây d ng s l p m c phân tích B c 3: • 3.1 Nhi u l p i t ng có nhi u c i m chung Xây d ng l p i t ng t ng quát chung cho các l p i t ng c th... tr ng Xác nh yêu c u Xác nh Yêu c u “Thi t k nhanh” Phân tích Xây d ng Prototype Thi t k Cài t ánh giá và xác nh rõ yêu c u Ki m ch ng Tri n khai Phát tri n ph n m m Waterfall Tr ng C Công Ngh Thông Tin TP.HCM 7 Chuong 1 : M u Qui trình xo n c L p k ho ch Ti p xúc Khách hàng ánh giá c a khách hàng Phân tích r i ro Q&A Phân tích, thi t k Xây d ng và tri n khai Tr ng C Công Ngh Thông Tin TP.HCM 8 Ch... trình bày : Nguy n Nam Trung Email : nntrung.itc@gmail.com M t s khái ni m m u V n : Mô t l i b ng m t ngôn ng nào ó (th các s ) nh m di n t tr c quan v v n ng là Phân tích: xây d ng mô hình Th gi i th c Phân tích theo h ng i t ng: xây d ng các mô hình v các i t ng c a Th gi i th c Nh c l i v h ng it ng M t s lo i S : •S l p i t ng: Mô t h th ng các l p i t ng (thu c tính, hành ng) cùng v i các quan h... h ng d n cho phép t ng b c th c hi n m t giai o n nào ó trong quy trình ph n m m • Công c và Môi tr ng phát tri n ph n m m: • H th ng các ph n m m tr giúp trong l nh v c xây d ng ph n m m • H tr các chuyên viên tin h c trong các b c xây d ng ph n m m theo m t ph ng pháp nào ó v i m t quy trình c ch n tr c Qui trình thác n c c i ti n u c Các ho t ng trong th gi i th c Kh o sát Hi n tr ng Xác nh Yêu c... t ng i v i các i t ng khác • … ngh : g • Con ng i • V t th • T ch c • V t lý • Không gian • Th i gian… Tr ng C Công Ngh Thông Tin TP.HCM l p m c phân tích Bi n c c b class A { void F() { B x; } }; it Xây d ng s L p danh sách các L p danh sách các it Không là it it ng ng Không it ng ng liên quan ngh Là it ng c quan tâm it Tiêu chu n nh n d ng n h th ng it c quan tâm ng ph ng: có r t nhi u tr it ng chính... ng c l p) • Ph thu c m t i t ng Thu c tính c a i t ng • Ph thu c nhi u i t ng Thu c tính c a quan h Các lo i thu c tính • • • • • • nh danh (th Phân lo i Th i gian Không gian nh l ng … ng c a it ng) c xây d ng s ng 4 : Phân tích l p m c phân tích B c 1: Xác nh các l p i t ng, quan h và thu c tính tr c ti p t yêu c u c a h th ng • Xét l n l t t ng bi u m u và quy nh N u trong s l p hi n t i ch a có th... ng n i dung c n tìm hi u, có th h th ng hóa các v n ghi nh n c K thu t thu th p yêu c u – Ph ng v n K thu t thu th p yêu c u – Ph ng v n • Làm vi c v i c p lãnh o n m m c tiêu c a h th ng ph n m m c n xây d ng, nh ng i t ng c n ph ng v n h • Yêu c u c p lãnh o thông báo xu ng các phòng ban, nv h p tác • Phân tích xác nh úng và nh ng i t ng c n ph ng v n • H n l ch làm vi c • Xác nh tr c v trí/trách... a th c tí h phân l i à h thu à iá tr thu tính hâ lo Tách l p i t ng này thành nhi u l p i t ng con t ng ng v i m i (nhóm) giá tr c a thu c tính phân lo i Tr ng C Công Ngh Thông Tin TP.HCM 7 Ch Các b c xây d ng s l p m c phân tích K t qu : S S l p Danh sách các l p B c 4: • Hi u ch nh các quan h ã có phù h p v i các l p i t ng v a c i u ch nh l p m c phân tích it ng và quan h STT ng th c) vào các l p . Khitìmhiu,cnghinhncácthôngtin: Ni dung: cáigì? Baogicó:thigian+thihn Bngcáchnàocóni dung thôngtinó Ni dung ódnggì? Đánhgiácangicphngvnvtìnhhìnhhin tithchi nnghipv •. linh hot c aphnmmlàni dung quan trng trong môn hcnày. Môn tiên quyt: • Phng pháp lptrìnhhng itng • Nhp môn công ngh phnmm • Có kinthcv C# Ni dung mônhc Môn hc c. Templating Q&A Nid u u ngc h h uyên Chng Chng Chng Chng Chng Chng Chng Chng Xây d h Mđu Yêucu c Môhình Phântíc h Thitk Thitk Thitk Mtsv d ng p ng c angis hóayêucu h dliu kintrúcph giaodin nđkhác P p hn m it dng nmm HNI m m ng Chuong1:Mu Trng C Công Ngh Thông Tin TP.HCM 1 Chng1 M u Ngun:TSTrnMinhTrit Hiuchnhvàtrìnhbày:NguynNamTrung Email:nntrung.itc@gmail.com Ni dung •