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
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ơ
ꢓ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
sách
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.ꢎ
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
ꢀꢁ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:
ꢁ 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 đủ
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:
bai_giang_nhap_mon_cong_nghe_phan_mem_chuong_6_kien_truc_pha.pdf

