Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Kiến trúc phần mềm - Nguyễn Minh Huy

Kiꢀn trúc phꢁn mꢂm  
GV. Nguyꢀn Minh Huy  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
1
Nꢆi dung  
ꢀ Các kháciơnbiꢂꢇmn ꢂmbnꢇinc.ơ  
ôꢀmCnáhchì Cháìnchôkmiꢈn trúc.  
ꢀ Công ng.háꢂnp.thânphân ánt  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
2
Nꢆi dung  
ꢀ Các kháciơnbiꢃꢄmn ꢃmbnꢄinc.ơ  
ôꢀmCnáhchì Cháìnchôkmiꢈn trúc.  
ꢀ Công ng.háꢂnp.thânphân ánt  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
3
Các kháciơnibꢂꢇmn nꢂbimꢇncơ  
ꢀkꢈTphhiꢈꢃtn ꢈpThthꢃinkꢈmꢄm là gì?  
ilꢉ uꢀcâ ꢇrT iclꢉâu hꢇꢊriTHOW.  
ꢀ Phác thꢇo cách hiꢂn thꢋc hóa yêu cꢃu.  
ꢁkꢈTkhiiꢈꢈnt Thkiꢈiꢈtnkꢈtrúc: subꢅsystems, architecture model.  
ꢁkꢈTthhiàꢈnt h Tthàiꢈnthkꢈphꢃn: màn hình,dđꢎꢌilitꢂưuꢍngdꢎ, tlưiꢂnuꢍ.g,  
ꢁ Thiꢈꢈt k ꢏlý: hiꢂn thꢋc hóa kꢐch bꢇn Use Case.  
WHAT?  
ꢅReq 1  
ꢅReq 2  
ꢆ
VISION?  
ꢅNeed 1  
ꢅNeed 2  
ꢆ
HOW?  
ꢅArchitecture  
ꢅElements  
ꢅProcessing  
Stakeholders  
Business Analyst  
Designer/Architect  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
4
Các kháciơnibꢂꢇmn nꢂbimꢇncơ  
ꢀ Kiꢈn trúc phꢃn mꢄm là gì?  
ꢀ Chương trình đơn giꢇn ꢂ mꢆt thành phꢃn.  
ꢀ Chương trìnphꢒtphꢑccꢑhp pꢂꢒtnhiꢄu thành phꢃn con.  
ꢀ Nhꢎng câuvꢄhhꢊni àhtthiàꢊnhhvꢄphꢃn con:  
ꢁ Đưꢍc tꢓ
raꢁsaToươtáncgra Tưnsơaog?tác  
tꢁꢒoCbꢕêun ꢕCbêuntꢒtroong?  
ꢀ Kiꢈn trúc phꢃn mꢄm  
ꢇtꢃucBꢕꢇnôm ꢇgtnơnưBtꢇ, ô,mocꢒát guncꢕơưotꢒct
bên trong cꢖa phꢃn mꢄm.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
5
Các kháciơnibꢂꢇmn nꢂbimꢇncơ  
ꢀ Tꢃm quan trꢗng cꢖa kiꢈn trúc:  
ꢀ ꢘnh hưꢙng hiꢂu quꢇ hoꢒt đꢆng:  
lý (ꢁpeTrfꢌaconrmce). ꢏ(pxelýrfođrmꢆaꢏnxceT)ꢌ. c đꢆ  
ꢁꢓnTđínꢐnhh Tíđnꢐnhhꢓn(reliability).  
ꢁ Tính bꢇo mꢁt (security).  
ꢁ Tính chꢐui l(faultꢅtolerance).  
ꢀ ꢘnh hưꢙng chi phí:  
ꢁ Khꢇ năng triꢛn khai.  
ꢁ Khꢇ năng vꢁn hành.  
ꢁ Khꢇ năng bꢇo trì.  
ꢀ ꢘnh hưꢙvnàgicthàiꢈktꢈ và ticꢈàhitđkꢜꢈt.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
6
Các kháciơnibꢂꢇmn nꢂbimꢇncơ  
ꢀkꢈTkhꢈiꢈnti ꢈTktihꢈinkꢈtrúc:  
ꢀ Hoꢒt đꢆng đꢃu tiên cꢖa ph.a.ktꢈhiꢈtiꢈht kꢈ  
ꢀ Xác đꢐnh khung sưꢉn phꢃn mꢄm.  
ꢀ Các bưꢝc thꢋc hiꢂn:  
ꢓꢁB dꢗcdꢗcꢓ:
ꢓꢁBlꢋnagcahnꢗgn ꢓlBꢋa: chnꢗgnanagrc: hitecture model.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
7
Các kháciơnibꢂꢇmn nꢂbimꢇncơ  
ꢓBꢀ dꢗc dꢗ“ꢓcB” p“hꢃn mꢄm:  
ꢀ Chia phꢃn mꢄm thành các subꢅsystem.  
ꢂꢁH thꢌtnhgꢌngꢂcHon nꢞm trong phꢃn mꢄm.  
ꢁhꢂPchꢖâan hPâcꢖnahꢂphꢃn mꢄm.  
ꢁ Nhóm các chꢑc năng liên quan vꢝi nhau.  
Phꢃn mꢄm  
Phꢃn mꢄm  
Phân hꢂ 2  
Phân hꢂ 1  
Phꢃn mꢄm  
Chꢑc Chꢑc Chꢑc Chꢑc  
năng năng năng năng  
Chꢑc Chꢑc Chꢑc  
năng năng năng  
Chꢑc  
năng  
3
1
2
3
4
1
2
4
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
8
Các kháciơnibꢂꢇmn nꢂbimꢇncơ  
ꢓBꢀ dꢗc dꢗ“ꢓcB” p“hꢃn mꢄm:  
ꢀ Tiêu chí phân chia subꢅsystem:  
ꢁ Bꢇo mꢁt ngưꢉi dùng.  
ꢁ Chꢑc năng dùng chung.  
ý thư viꢂn  
Khách  
Đꢆc giꢇ  
Thꢖ thư  
Quꢇn lý thư viꢂn  
Nhꢁp  
đꢆc  
giꢇ  
Nhꢁp  
sách  
mꢝi  
Tra  
cꢑu  
Mưꢍn  
sách  
Nhꢁp  
Mưꢍn đꢆc  
Tra  
cꢑu  
Nhꢁp  
sách  
mꢝi  
mꢝi  
sách  
giꢇ  
mꢝi  
sách  
CSDL  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
9
Các kháciơnibꢂꢇmn nꢂbimꢇncơ  
ꢓBꢀ ngannggan“ꢓgB” p“hꢃn mꢄm:  
ꢀ Phâlýnctcꢃánxgꢏ lý gcnáꢃct xcꢏhꢑc năng.  
ꢀ Dꢋa theôomcáhcnìh chcìnáhômkiꢈn trúc.  
Phꢃn mꢄm  
Phân hꢂ 1  
Tꢃng A  
ôꢀmCnáhchì Cháìnchôkmiꢈn trúc:  
ꢀ hình đơn p.  
Chꢑc Chꢑc Chꢑc  
năng năng năng  
ôMꢀ hnìhìnhôpMhân tꢃng:  
ôꢁM hìnhìnhô2MꢅTꢃng (ClientꢅServer).  
ôꢁM hìnhìnhô3MꢅTꢃng.  
1A  
2A  
4A  
Tꢃng B  
ôꢁM hìnheìnꢅPhôePMr.eeTroꢅ ꢅPTeoeer.Perꢅ  
Chꢑc Chꢑc Chꢑc  
năng năng năng  
1B  
2B  
4B  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
10  
Nꢆi dung  
ꢀ Các kháciơnbiꢂꢇmn ꢂmbnꢇinc.ơ  
mꢀôCnáhchì Cháìnchmkôiꢀn trúc.  
ꢀ Công ng.háꢂnp.thânphân ánt  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
11  
môCháìcnh áhCìnchmkôiꢈn trúc  
ôꢀM nhhhììn: hꢁôpđMl:ơnnđơ ꢁpl  
ꢀ Không ph.âlýn.tꢃxnꢏglý gnꢃt xꢏ  
ꢀ Các thành phꢃn tꢋ d. oc.átưtơnggnơưt cát  
Ưꢀu miꢛđđiꢛmƯ: u  
lꢁpꢁtrình ꢀàDv 
. lý.ꢁꢏTxꢌlcý đꢆ ꢏx Tꢌc đꢆ  
ꢀ Nhưꢍc điꢛm:  
ꢁ Khó bꢇo trì, nâng cꢕp.  
ꢁ Kdhꢎólicꢂhuiasꢟ dꢎ lciꢂhuia. sꢟ  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
12  
môCháìcnh áhCìnchmkôiꢈn trúc  
ôꢀM nhhhììnhôCMlientꢅServer:  
mꢀlàPihaâhn nâPhhami tlꢃàng:  
Server  
ꢁ Server:  
Thư viꢂn  
xꢏ lý  
ꢁ Cung cꢕ.p.vdꢠꢐchchꢐd vꢠ  
ꢎꢃDtưuhꢂinlꢂvꢎi D, tưvhiꢂn,u. ꢂ il  
,ꢁgnCùhdia
Client  
ꢁ Client:  
ꢏꢁS gnꢠddꢠn.gꢏ.vdSꢠꢐchchꢐd vꢠ  
Màn  
hình  
Thư viꢂn  
xꢏ lý  
ꢃ Gtưiahondꢂiꢂvni , tưvhiꢂ,nn.ꢂ id  
.ꢁt.nPáhânnâhP tná  
cꢀátTaưiơꢎngg gnơgưiꢎTacáctác thành phꢃn:  
ꢁ Ttrꢋondgophtâꢋn: hꢂ: d.potháâtcưn.ơhnꢂtgưnơg tác  
ꢁ Giꢎa htưainpơh:âgn hcꢂh:1i ꢄpuhâtánch1ꢂ tcưhniꢄơugtꢡtáclient đꢈn server.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
13  
môCháìcnh áhCìnchmkôiꢈn trúc  
ôꢀM nhhhììnhôCMlientꢅServer:  
ôMꢀ hnìhìnhôTMhinꢅClient:  
ꢁ Server đꢇmdꢎtrláiꢂc.uhlýt.ráꢏcxhlýdꢎꢏx+ liꢂu +  
ꢁ Clienlot cghiꢢao gciahoꢢ lodiꢂn ngưꢉi dùng.  
ꢃ Dump terminal.  
ꢀ hình FatꢅClient:  
ꢁ Server đꢇmdꢎtrláiꢂcuh trácliꢂhud.ꢎ  
ꢁ Cligeinat+lo tolýàn+ ꢏx lý bꢆ ꢏgxiaotodàiꢂnnbnꢆgưꢉi dùng.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
14  
môCháìcnh áhCìnchmkôiꢈn trúc  
ôꢀM nhhhììnhôCMlientꢅServer:  
Ưꢀu miꢛđđiꢛmƯ: u  
ꢎꢁD liꢂuliàꢂvuꢎđcDꢣhniag sꢟ.àbvꢆ.chđiaꢣsnꢟg bꢆ  
ꢁ Hꢒn chtꢈáctươtnưgnơg tác  
lꢚi cꢃlient lꢁp lꢚi ôcClielnꢁtpꢅserôvCer.  
ꢃ ꢀbꢇo trì, nâng cꢕp.  
ꢀ Nhưꢍc điꢛm:  
ꢁ Chi phí triꢛn khai.  
. lý.ꢁꢏTxꢌlcý đꢆ ꢏx Tꢌc đꢆ  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
15  
môCháìcnh áhCìnchmkôiꢈn trúc  
ôꢀM nhhhììnhô3MꢅTꢃng (3ꢅTiers):  
Data Layer  
ab gꢀnPꢃhtâmn là ab ntꢃânPgh: mlà  
dꢁꢎTlꢃiꢂnug Tꢃnliꢂgudꢎ(data layer).  
ꢎꢁd uDꢂꢐiclhvꢠ ꢎd clihꢂꢐuD. vꢠ  
ꢁ Data server.  
lýꢁl(Teꢃbnruga).
ꢁ T.hýư.lvꢏiꢂxnýl nꢂvi ꢏx  
Business Layer  
Thư viꢂn  
xꢏ lý  
ꢁ Application server.  
ꢁ Tꢃng giao diꢂn (presentation layer).  
oaꢁi nꢂid doiaꢂGningGưꢉi dùng.  
ꢁ ThinꢅClient.  
Client  
cꢀꢔtQgunyơưgtnayhut“Qcáctꢔ“t gtnhơaưngt cmáát y”.  
Màn  
hình  
ꢃ Khôncgátưtꢍơvnưg gnơvưưꢍt tcátꢃtng.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
16  
môCháìcnh áhCìnchmkôiꢈn trúc  
ôꢀM nhhhììnhô3MꢅTꢃng (3ꢅTiers):  
Data Layer  
ôMꢀ hanđìhgnꢃôtMhntꢃìnhga:đ  
ꢙꢁM rꢆônmghìnꢙhMrꢆhnìnghô3mꢅTꢃng.  
làꢁmPnhhâinꢄu hnPhâ.inꢄlýulà.tmꢃꢏnxglý tꢃng ꢏx  
ꢁ Dùng trong ꢑng dꢠng web.  
Business Layer  
ꢀ Ưđiꢛm:  
ômꢁ hTìưnhơngtꢋ ôm ThưìnơhgCtlꢋientꢅServer.  
Thư viꢂn  
xꢏ lý  
lýꢁriTêꢃnnggꢏx lý Triꢃênnggꢏbxiꢂt.  
ꢀ Nhưꢍc điꢛm:  
Client  
ômꢁ hTìưnhơngtꢋ
Màn  
hình  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
17  
môCháìcnh áhCìnchmkôiꢈn trúc  
ôꢀM nhhhììnhôPMeerꢅtoꢅPeer:  
ômꢀhnìh àLhôìnmphlꢁđnơàâLnhp. .nnáơt đ npâlꢁhp nát  
ꢀ Triꢛn khai trên nhiꢄu máy (nút).  
ꢁ Các nútátctưđơưncgꢍ tưđnươꢍgctávcꢝi nhau.  
ꢁ Mꢚi nút đóng vai ClientꢅServer.  
ꢁ Chiaꢟ ꢎs dliꢂu + ꢏlý trên toànꢆ bnút.  
Ưꢀu miꢛđđiꢛmƯ: u  
ꢁ Không cꢃn ser.ve.trâmtrungtrung tâm  
ꢁ Kàhvôknhgꢇgtiraꢎnàv lưu trꢎkhlýgꢇidanànănnlưꢏgux lý nădnàgnꢏtrxꢇi.  
ꢀꢁD triꢛtnriꢛn
ꢀ Nhưꢍc điꢛm:  
lꢁꢁpKthrìónh àhvKqóuꢇlꢁdnpꢎtrlìiꢂnuh àlvý dꢎ qliuꢂꢇun. lý  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
18  
Nꢆi dung  
ꢀ Các kháciơnbiꢂꢇmn ꢂmbnꢇinc.ơ  
ôꢀmCnáhchì Cháìnchôkmiꢈn trúc.  
ꢀ Công ng.htꢃánp.hânphân tán  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
19  
Công nghtꢂánphâpnhân tán  
ꢀ Middleware:  
ꢀ Các thành phꢃꢂnhtrnoânhgpngánt oriat gꢂh nâghipaꢈohntáiꢈot pàn pniꢈàtoꢈ?ht  
ꢃHꢂ gnꢌthhꢌt ngHđꢂꢑng giꢎa điꢄu phꢌi.  
Server  
Đꢌi tư
Client  
àn hình  
Hꢗc sinh Middleware  
Middleware Hꢗc sinh  
ꢀ Các chuꢤn phꢓ biꢈn:  
ꢁ CORBA (Common Object Request Broker Architecture).  
ꢁ COM (C
ꢁ JavaBeans.  
Nhꢁp môn Công Nghꢂ Phꢃn Mꢄm ꢅ Nguyꢀn Minh Huy  
20  
Tải về để xem bản đầy đủ
pdf 23 trang yennguyen 9280 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Kiến trúc phần mềm - Nguyễn Minh Huy", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_6_kien_truc_pha.pdf