Phân tích thiết kế hệ thống thông tin - Công Nghệ Thông Tin | Đại học Mỏ – Địa chất

Phân tích thiết kế hệ thống thông tin - Công Nghệ Thông Tin | Đại học Mỏ – Địa chất được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

Phân tích và thiết kế
H thng thông tin vi UML
Chương 1: TNG QUAN V PHÂN TÍCH THIT K H THNG
1- DN NHP:
1.1- Tính trc quan:
Chúng ta có th thy rng: "Mt s tp hp d u ph li c tp nht định khi được trình bày
bng đồ th s ơ truy n ti đến người đọc nhi u thông tin h n so vi các d li u thô". Vi
phn m p cm cũng vy, khi ngành Công nghi a chúng ta ngày càng phát trin, các h
thng s tr nên phc t ơ p h n. Kh nă ng n m b t và kim soát s ph c t p đ ó c a chúng
ta đim vi kh năng trình bày h th t sng mt cách toàn din - m trình bày vượt ra
ngoài gi ng ngôn i hn ca nhng dòng l ng cnh thô. S thành công trên th trườ a nh
ng như Visual Basic và phn giao din trc quan ca C++, Java đã cho thy s trình bày
trc quan mang tính ct yếu đối vi quá trình phát trin các h thng phc tp.
1.2- Mô hình tru tượng:
Trước c đây, mt thi gian dài, ngành công nghip chúng ta đã phi nói ti mt "Cu
khng ho ng ph n mm". Các cuc tranh lun đều da trên thc tế ch ng nh ng nhiu
đồ án phn mm không th s n sinh ra nh ng h th ng tho mãn đòi hi nhu c u ca
khách hàng, còn vượt quá ngân sách thi hn. Các công ngh mi như lp trình
hướng đối tượng, lp trình trc quan cũng nh ng phát triư các môi trườ n tiên tiến có giúp
chúng ta nâng cao năng sut lao động, nhưng trong nhiu trường hp, chúng ch hướng
ti tng thp nh n m n vit ca vic phát trin ph m: ph ết lnh (coding). Mt trong
nhng vn đề chính ca ngành phát trin phn mm th i nay là có nhi u đồ án bt tay vào
lp trình quá sm tp trung quá nhiu vào vic viết code. do mt phn do ban
qun tr thiếu hi u bi ết v quy trình phát trin phn mm h n y lo âu khi th y đội
quân lp trình ca h không viết code. bn thân các lp trình viên cũng cm thy an
tâm hơn khi h ngi viết code - vn tác v h quen thuc! hơn khi xây dng
các mô hình tru t ng cho hượ thng mà h phi to nên.
1.3- Mô hình hóa trc quan:
hình hoá trc quan mt phương thc tư duy v vn đề s dng các hình được
t chc xoay quanh các khái nim đời thc. Mô hình giúp chúng ta hiu vn đề, giao tiếp
vi mi người liên quan đến d án (khách hàng, chuyên gia lĩnh vc thuc đề án, nhà
phân tích, nhà thiết kế, …). hình rt hu dng trong vic mô hình hoá doanh nghip,
son tho tài liu, thiết kế chương trình cũng nh ngân hàng dư liu. hình giúp hiu
các đòi hi c t ha h thng t ơn, to các thiết kế ràng hơn và xây dng nên các h
thng d bo trì hơn.
hình là kế t qu ca s tru tượng hóa nhm miêu t các thành phn c u ct yế a m t
vn đề hay mt cu trúc phc tp qua vic lc b ế t các chi ti t không quan tr ng làm
cho vn đề tr thành d hiu hơn. Tru tượng hóa là mt nă ă ng lc c n b n c a con người,
cho phép chúng ta gii quyết các vn đề phc tp. Các k sư, ngh sĩ đ và th th công ã
xây dng mô hình t hàng ngàn năm nay để th nghim thiết kế trước khi thc hin. Phát
trin ph n mm cũng không ngo i l. Để xây d ng các h thng phc t p, nphát
trin phi tru tượng hóa nhiu hướng nhìn khác nhau ca h th ng, s d ng hi u
chính xác để xây dng mô hình, kim tra xem hình tha mãn các đòi hi ca h
thng, và dn dn b sung thêm chi tiết để chuy n các mô hình thành thc hi n.
Chúng ta xây dng mô hình cho các h thng ph p bc t i chúng ta không th u th hi u
đáo nhng h th ng như thế trong tr ng thái toàn vn c a chúng. Kh nă ng th u hi u
nm bt tính phc tp ca con người là có hn. Điu này ta có th thy rõ trong ví d ca
ngành xây d u b n mung. Nế n to mt túp lu góc v n, bườ n th bt tay vào xây
ngay. Nếu bn xây mt ngôi nhà, l bn s c ư ế n ti b n v , nh ng n u b n mun xây
mt toà nhà chc tri thì chc chn bn không th không cn bn v. Thế gii phn mm
ca chúng ta cũng thế. Ch tp trung vào các dòng code hay thm chí c phân tích Forms
trong Visual Basic chng cung cp mt cái nhìn toàn cc v vi c phát tri n đồ án. Xây
dng mô hình cho phép nhà thiết kế tp trung vào bc tranh ln v s tương tác gi a các
thành phn trong đồ án, tránh b sa ly vào nhng chi tiết riêng bit c a t ng thành phn.
Mt môi trường kinh doanh mang tính cnh tranh gay gt luôn luôn thay đổi dn n đế
tính phc tp ngày càng tăng cao, và tính phc tp này đặt ra nhng thách thc đặc trưng
cho các nhà phát trin h thng. Mô hình giúp chúng ta t chc, trình bày trc quan, thu
hiu to nên các h thng phc tp. Chúng giúp chúng ta đáp ng các thách thc ca
vic phát trin ph m, hôm nay c ng nhn m ũ ư ngày mai.
2- MÔ T CHU TRÌNH PHÁT TRIN PHN MM:
2.1- Software Development – mt bài toán phc tp:
Kinh nghim ca nhiu nhà thiết kếphát trin cho thy phát trin phn mm là mt bài
toán phc tp. Xin nêu mt s các lý do thường được k đến:
- Nhng người phát trin ph úng nhn mm rt khó hiu cho đ ng ngưi dùng
cn
- Yêu cu c a ngườ ười dùng th ng thay đổi trong th i gian phát tri n.
- Yêu cu thường được miêu t b ă ng v n b n, dài dòng, khó hi u, nhi u khi thm
chí mâu thun.
- Đội quân phát trin phn mm, vn người "ngoài cu c", r t khó nhn thc
thu đáo các mi quan h tim n và phc tp cn ng được th hin chính xác trong các
dng ln.
- Kh nă ng n m b t các d li u ph c t p ca con người (ti cùng m đt thi im)
là có hn.
- Khó định lượng chính xác hiu sut ca thành phm tha mãn chính xác s
mong ch t phía người dùng.
- Chn la phn c ng ph n mm thích h p cho gi i pháp mt trong nh ng
thách thc ln đối vi Designer.
Phn mm ngoài ra cn có kh nă ng thích ứng mở rộng. Ph n mm được thiết
kế tt ph n m m đng v ếng trước nh ng bi n đổi trong môi trường, t phía cng
đồng người dùng hay t phía công ngh. Ví d đ phn mm ã được phát trin cho mt nhà
băng cn có kh năng tái s dng cho mt nhà băng khác vi rt ít sa đổi hoc hoàn toàn
không cn sa đổi. Phn m n mm tho mãn các yêu cu ó đ được coi ph m kh
năng thích ng.
Mt phn mm kh năng m r ế ng ph n m ếm đưc thi t k sao cho d phát tri n
theo yêu cu ca người dùng mà không cn sa cha nhiu.
Chính vì vy, mt s các khiế ế m khuy t thường gp trong phát tri n ph n mm là:
- Hiu không đúng nhng gì người dùng cn
- Không th thích ng cho ph p v i nhng thay đổi v u cu đối v i h
thng
- Các Module không khp vi nhau
- Phn m m khó b o trì và nâng cp, m rng
- Phát hin tr các l hng ca d án
- Ch ng pht lượ n mm kém
- Hiu năng ca phn mm thp
- Các thành viên trong nhóm không biết được ai đã thay đổi cái gì, khi nào, đâu,
ti sao phi thay đổi.
2.2- Chu Trình Phát Trin Phn Mm (Software Development Life Cycle):
phát trin phn mm mt bài toán khó, n l ế trước h t ta cn đim qua mt s
các công vic căn bn ca quá trình này. Thường người ta hay tp hp chúng theo tiến
trình thi gian mt cách tương đối, xoay quanh chu trình c a mt ph n mm, d ến t i k t
qa khái nim Chu Trình Phát Trin Ph n M m (Software Development Life Cycle -
SDLC) như sau:
Chu Trình Phát Trin Phn Mm là mt chui các hot động ca nhà phân tích (Analyst),
nhà thiết kế (Designer), người phát trin (Developer) ng i dùng (User) ườ để phát trin
thc hin mt h th ng thông tin. Nhng ho ng này t độ được thc hin trong nhiu
giai đọan khác nhau.
Nhà phân tích (Analyst): người nghiên cu yêu cu ca khách hàng/người dùng đ
định nghĩa mt phm vi bài toán, nh n d ng nhu c u ca mt t chc, xác định xem nhân
lc, phương pháp công ngh máy tính th làm sao để ci thi n mt cách tt nh t
công tác ca t chc này.
Nhà thiết kế (Designer): thiết kế h th ng theo hướng c u trúc ca database, screens,
forms reports quyết định các yêu cu v n c ph ng phn mm cho h thng cn
được phát trin.
Chuyên gia lĩnh vc (Domain Experts): nhng người hiu thc cht vn đề cùng tt
c nhng s phc tp ca h thng cn tin hc hoá. H không nht thiế t ph i nhà lp
trình, nh giúp nhà lưng h th p trình hiu yêu cu đặt ra thđối v i h ng cn phát
trin. Quá trình phát trin phn mm s có r t nhi u thu n l ế ũi n u đội ng làm phn mm
được s tr giúp ca h.
Lp trình viên (Programmer): là nh ế ế ếng người da trên các phân tích và thi t k để vi t
chương trình (coding) cho h thng b ng nhng ngôn ng lp trình đã được th t.
Người dùng (User):đối tượng phc v ca h th ng c n được phát trin.
Để cho rõ hơn, xin l y ví d v mt vn đề đơn gin sau:
Người bình thường chúng ta khi nhìn mt chiếc xe ô thường s mt bc tranh t
bên ngoài như sau:
Vn đề
Hình 1.1: Nhìn vn đề ô tô ca ngườ ười bình th ng
Chuyên gia lĩnh vc s giúp nhà phân tích "trình bày li" vn đề như sau:
Hình 1.2: Nhìn vn đề ô tô ca chuyên gia phân tích
Chính vì s tr giúp ca chuyên gia lĩnh vc có th đóng vai trò rt quan trng nên trong
nhng giai đon đu ca quá trình phát trin phn mm, kế t qu phân ch nên được th
hin sao cho d hi nh vu đối vi các chuyên gia lĩ c. Đây cũng môt trong rt nhiu
do khiến cho phương pháp hướng đối tượng được nhiu người hưởng ng.
2.3- Các giai đon ca Chu Trình Phát Trin Phn Mm:
Chu trình ca mt ph n mm có th được chia thành các giai đo n như sau:
- Nghiên cu sơ b (Preliminary Investigation hay còn gi là Feasibility Study)
- Phân tích yêu cu (Analysis)
- Thi thết kế h ng (Design of the System)
- Xây dng phn mm (Software Construction)
- Th nghim h thng (System Testing)
- Thc hin, trin khai (System Implementation)
- Bo trì, nâng cp (System Maintenance)
a) Nghiên cu sơ b:
Câu hi quan trng nht khi phát trin mt h thng hoàn toàn không phi câu hi mang
tính phương pháp lun. cũng chng phi câu hi v k thut. mt câu hi
dường như v đơn gin, nhưng tht ra đặc bit ktr li: Đây đúng mt h
thng để thc hin không?” Đáng bun là chính câu hi này trong thc tế thường chng
h được đặt ra li càng không được tr l i. Mc vi c l m l n v phương pháp hay
quyết định sai lm v k thu ũt c ng có th dn ti tht bi, nhưng thường thì d án có th
được c ếu vãn n u có đầy đủ tài nguyên cùng s c g ng quên mình ca các nhân viên tài
gii. Nhưng s chng mt ai mt điu cu vãn cho mt h th ng ph n m m hoàn
toàn chng được cn ti hoc c gng t động hóa mt quy trình lm lc.
Trước khi bt tay vào mt d án, bn phi mt ý tưởng cho nó. Ý tưởng này đi song
song vi vic nm bt các yêu cu và xut hin trong giai đon khi đầu. Nó hoàn tt mt
phát biu: "H thng chúng ta mong mun s làm được nhng vic như sau ....".
Trong sut giai đon này, chúng ta to nên mt bc tranh v ý tưởng đó, rt nhiu gi
thuyết s được công nhn hay loi b. Các hot động trong thi gian này thường bao gm
thu thp các ý tưởng, nhn biết ri ro, nhn biết các giao din bên ngoài, nhn biết các
các chc năng chính h thng cn cung cp, và có th to mt vài nguyên mu dùng
để “minh chng các khái nim ca h thng”. Ý tưởng th đến t nhiu ngun khác
nhau: khách hàng, chuyên gia lĩnh vc, các nhà phát trin khác, chuyên gia v k ngh,
các bn nghiên cu tính kh ng nh thi cũ ư vic xem xét các h thng khác đang tn ti.
Mt khía cnh cn nhc ti là code viết trong thi k này thường s b "b đ i”, b i chúng
được viế ế ư t nh m m đc ích th m tra hay tr giúp các gi thuy t khác nhau, ch ch a ph i
th code được viết theo kết qu phân tích và thiết kế thu đáo.
Trong giai đọan nghiên c u sơ b, nhóm phát trin h th ng cn xem xét các yêu c u ca
doanh nghip (cn dùng h thng), nhng ngun tài nguyên th s dng, công ngh
cũng như cng đồng người dùng cùng các ý tưởng c ng ma h đối v i h th i. th
thc hin tho lun, nghiên cu, xem xét khía cnh thương m i, phân ch kh năng li-
l, phân tích các trường hp s d ng t o các nguyên m u để xây d ng nên mt khái
nim cho h đ th ng ích cùng v i các mc đích, quyn ưu tiên và phm vi ca nó.
Thường trong giai đon này người ta cũng tiến hành to mt phiên bn thô ca lch trình
và kế hoch s dng tài nguyên.
Mt giai đon nghiên cu sơ b đ thích áng s lp nên t p hp các yêu c u ( mc độ
khái quát cao) đối vi m t h th ng kh thi được mong mun, k c v phương din
k o thut ln hi. Mt giai đ n nghiên cu sơ b đ không được thc hi n tho áng s
dn ti c h thng không được mong mun, đt tin, bt kh thi và đưc định nghĩa
lm lc – nhng h thng thừơng chng được hoàn tt hay s dng.
Kết qu ca giai đ o n nghiên c u sơ bBáo Cáo Kết Qu Nghiên Cu Tính Kh Thi.
Khi h thng tương lai được chp nhn da trên bn báo cáo này cũ đ ng c giai o n
Phân tích bt đầu.
b) Phân tích yêu cu
Sau khi đã xem xét v tính kh thi ca h thng cũng như to lp m t bc tranh sơ b ca
d án, chúng ta bước sang giai đon thường được coi quan trng nht trong các công
vic lp trình: hi u h th ng c n xây d ng. Người thc hi n công vi c này nhà phân
tích.
Quá trình phân tích nhìn chung là h qu ca vic tr li câu hi "H th ng c n ph i làm
gì?". Quá trình phân tích bao gm vi ế c nghiên c u chi ti t h thng doanh nghi p hi n
thi, tìm cho ra nguyên hot động ca nhng v tth được nâng cao, ci
thin. Bên cnh đó là vic nghiên cu xemt các chc năng h ng c th n cung cp
các mi quan h ca chúng, bên trong cũng như vi phía ngoài h thng. Trong toàn
b giai đon này, nhà phân tích người dùng cn cng tác mt thiết vi nhau để c
đị đốnh các yêu cu i vi h thng, tc các tính nă ng mi c n ph i được đưa vào h
thng.
Nhng mc tiêu c th ca giai đon phân tích là:
- Xác định h ng c th n phi làm gì.
- Nghiên cu thu đáo tt c các chc năng cn cung cp nhng yếu t liên
quan
- Xây dng mt hình nêu bt bn cht vn đ t mt hướng nhìn thc
(trong đời sng thc).
- Trao định nghĩa vn đề cho chuyên gia lĩnh v nhc để n s đánh giá, góp ý.
- Kết qu ca giai đon phân tích bn Đặc T Yêu Cu (Requirements
Specifications).
c) Thiết kế h thng
Sau giai đon phân tích, khi các yêu cu c th đối v i h th ng đã được xác định, giai
đ ếo n ti p theo thiế ết k cho các yêu cu mi. Công tác thiế ết k xoay quanh câu hi
chính: H a mãn các yêu c th thng làm cách nào để u đã được nêu trong Đặc T Yêu
Cu?
Mt s các công vic thường được thc hi đ ế ến trong giai o n thi t k :
- Nhn biết form nhp liu tùy theo các thành phn d liu cn nhp.
- Nhn biết reports và nhng output mà h thng mi phi sn sinh
- Thiết kế forms (v trên giy hay máy tính, s d ếng công c thiết k )
- Nhn biết các thành phn d li u và b ng để t o database
- Ước tính các th tc gii thích quá trình x lý t input đến output.
Kết qu giai đon thiết kế Đặc T Thiết Kế (Design Specifications). Bn Đặc T Thiết
Kế Chi Tiết s được chuyn sang cho các lp trình viên để thc hin giai n xây dđo ng
phn mm.
d) Xây dng phn mm
Đây giai đ o n viết l ếnh (code) th c s , t o h thng. T ng người vi t code thc hin
nhng yêu cu đã được nhà thiết kế định sn. Cũng chính người viết code chu trách
nhim viết tài liu liên quan đến chương trình, gii thích th tc (procedure) anh ta
to nên được viết như thế nào và lý do cho vi c này.
Để đảm b o chương trình được viế t nên ph i tho mãn mi yêu cu ghi trước trong
bn Đặc T Thiết Kế Chi Tiết, người viết code cũ ếng đồng thi ph i ti n hành th nghim
phn chương trình ca mình. Phn th nghim trong giai đon này có th được chia thành
hai bước chính:
Th nghim đơn v:
Người viết code chy th các phn chương trình ca mình vi d liu gi (test/dummy
data). Vic y được thc hin theo m ũt kế ho ch th, c ng do chính người viết code
son ra. Mc đích chính trong giai đon th này là xem chương trình có cho ra nhng kết
qu mong đợi. Giai đon th nghi n vm đơ nhiu khi được gi "Th hp trng"
(White Box Testing)
Th nghi p: m đơn v độc l
Công vic này do mt thành viên khác trong nhóm đm trách. Cn chn người không có
liên quan trc tiếp đến vic viết code ca đơn v chương trình cn th nghim để đảm bo
tính độc lp”. Công vic th đợt này cũng được thc hin d hoa trên kế ch th do
người viết code son nên.
e) Th nghim h thng
Sau khi các th t hc đã được th nghim riêng, cn phi th nghim toàn b thng. Mi
th tc được tích h p ch y th, kim tra xem mi chi tiết ghi trong Đặc T Yêu Cu
nhng mong ch ca người dùng đưc tho mãn. D li u th c n đưc ch n lc
đặc bi t, kế t qu c n được phân tích để phát hi n mi l ch l c so v i mong ch .
f) Thc hin, trin khai
Trong giai đon này, h thng va phát trin s được trin khai sao cho phía người dùng.
Trước khi để người dùng tht s bt tay vào s d ng h thng, nhóm các nhà phát tri n
cn to các file d liu cn thiết cũng nh huư n luyn cho người dùng, để đm bo h
thng được s dng hu hiu nht.
g) Bo trì, nâng cp
Tùy theo các biến đổi trong môi trường s d ng, h th ng có th tr nên li thi hay c n
phi được sa đổi nâng cp để s d ng có hi u qu . Ho t động bo trì h thng có th rt
khác bit tùy theo mc độ sa đổi và nâng c p c n thiết.
Sơ đồ tng quát các giai đon ca Chu Trình Phát Trin Phn Mm:
Hình 1.3: S tơ đồ ng quát các giai đon ca Chu Trình Phát Trin Phn Mm
3- PHƯƠNG PHÁP HƯỚNG CHC NĂNG PHƯƠNG PHÁP
HƯỚNG ĐỐI TƯỢNG:
3.1- Phương pháp hướng chc năng:
Đây là li tiếp cn truyn thng c pha ngành Công ngh n mm. Theo li tiếp cn này,
chúng ta quan tâm ch yế u ti nh ng thông tin h thng s gi gìn. Chúng ta hi
người dùng xem h s c n nhng thông tin nào, ri chúng ta thiết kế ngân hàng d li u để
cha nhng thông tin đó, cung cp Forms để nhp thông tin in báo cáo để trình bày
các thông tin. Nói mt cách khác, chúng ta t p trung vào thông tin không m y để ý
đến nhng th x đy ra vi nh ng h thng ó cách hot động (ng x) ca h
thng ra sao. Đây li ti lim cn xoay quanh d u đã được áp dng để to nên
hàng ngàn h thng trong sut nhiu năm tri.
Li tiếp cn xoay quanh d liu là phương pháp tt cho vic thiết kế ngân hàng d liu và
nm bt thông tin, nhưng nếu áp dng cho vic thiết kế ng dng li th khiến phát
sinh nhiu khó khăn. Mt trong nhng thách thc ln yêu c u đối v i các h th ng
thường xuyên thay đổi. Mt h thng xoay quanh d liu th d dàng x vi c thay
đổ đổi ngân hàng d li ưu, nh ng li khó thc thi nhng thay i trong nguyên tc nghip v
hay cách hot động ca h thng.
Phương pháp hướng ng đối tượ đã được phát trin để tr l đ i cho v n đề ó. V i li tiếp
cn hướng đi tượng, chúng ta tp trung o c hai mt ca vn đề : thông tin cách
hot động.
3.2- Phương pháp hướng đối tượng:
Hướng ng đối tượ là thu t ng thông d ng hi n thi ca ngành công nghi p ph n mm.
Các công ty đang nhanh chóng tìm cách áp dng tích hp công ngh mi này vào các
ng d ng c a h . Tht s đa ph n các n thng dng hi i i đều mang tính hướng đố
tượng. Nhưng hướng đối tượng có nghĩa là gì?
Li tiếp cn hướng đối tượng mt li tư duy v v n đề theo li ánh x các thành ph n
trong bài toán vào các đối tượng ngoài đời thc. Vi li tiếp c n này, chúng ta chia ng
dng thành các thành phn nh, gi là các đối tượng, chúng tương đối độc lp vi nhau.
Sau đó ta th xây d ó lng ng d ng b ng cách chp các đối tượng đ i vi nhau. Hãy
nghĩ đến trò chơi xây lâu đài bng các mu g. Bước đầu tiên là to hay mua mt vài loi
mu g că đn b n, t ó to nên các kh a mình. Mi xây dng căn bn c t khi đã các
khi xây dng đó, bn th chp ráp chúng li vi nhau để t đo lâu ài. Tương t như
vy mt khi đã xây dng mt s đối tượng că n b n trong thế gi i máy tính, bn có th
chp chúng li vi nhau để to ng dng ca mình.
Xin ly mt ví d đơn gin: vn đề rút tin mt ti nhà băng. Các “mu g“ thành phn
đây s là ánh x ca các đố đời tượng ngoài i th c như tài kho n, nhân viên, khách hàng,
…Và ng d ng s được s được nhn di gin cũng như i đáp xoay quanh các đối tượng
đó.
4- ƯU NG: ĐIM CA MÔ HÌNH HƯỚNG ĐI TƯỢ
4.1- Tính tái s dng (Reusable)
Phương pháp phân tích và thiết kế hướng đối tượng thc hi n theo các thu t ng và khái
nim ca phm vi lĩnh vc ng dng (tc ca doanh nghip hay đơn v h thng
tương lai cn phc v), nên to s p c tiế n tương ng gia h thng v n đề thc
ngoài đời. Trong ví d bán xe ô tô, m i giai đ o n phân tích thiết kế và thc hin đều xoay
quanh các khái nim như khách hàng, nhân viên bán hàng, xe ô tô, quá trình phát
trin ph n mm đồng th i quá trình cng tác ca khách hàng/người dùng, nhà phân
tích, nhà thiết kế, nhà phát trin, chuyên gia lĩnh vc, chuyên gia k thut, ... nên li tiếp
cn này khiến cho vic giao tiếp gia h vi nhau được d dàng hơn.
Mt trong nhng u ư đim quan trng bc nht ca phương pháp phân tích thiết kế
hướng đối tượng là tính tái s dng: bn có th to các thành phn (đối tượng) mt ln và
dùng chúng nhiu ln sau đó. Ging như vi c b n th tái s d ng các kh i xây dng
(hay bn sao ca nó ) trong mt toà lâu đài, mt ngôi nhà , mt con tàu vũ ũ tr, b n c ng
có th tái s dng các thành phn (đối tượng) că n b n trong các thiết kế hướ ượng đối t ng
cũng như code ca mt h thng kế toán, h thng kim kê, hoc mt h thng đặt hàng.
các đối tượng đã được th nghim k càng trong ln dùng trước đó, nên kh năng tái
s d ăng đối tượng c d ng gi m thi u l i các khó kh n trong vi c b o trì, giúp
tăng tc độ thiết kế và phát trin phn mm.
Phương pháp hướng đối tượng giúp chúng ta x các vn đề phc tp trong phát trin
phn mm và to ra các thế h phn mm có kh năng thích ng và bn chc.
4.2- c giai đ on c a chu trình phát tri n phn m m v i mô hình hướng đi
tượng:
Phân tích hướng đối tượng (Object Oriented Analysis - OOA):
giai đọan phát trin mt hình chính xác súc tích ca vn đề, thành phn là
các đối tượng và khái nim đời thc, d hiu đối vi người s dng.
Trong giai đon OOA, vn đề được trình bày bng các thut ng tương ng v i các đối
tượng thc. Thêm vào đó, h thng cn phi được định nghĩa sao cho người không
chuyên Tin hc có th d dàng hi u được.
Da trên mt vn đềsn, nhà phân tích cn ánh xc đối tượng hay th c thth c
như khách hàng, ô tô, người bán hàng, … vào thiết kế để to ra được bn thiết kế gn cn
vi tình hung thc. hình thiết kế s cha các thc th trong mt v n đề thc
gi nguyên các mu hình v cu trúc, quan h cũng như hành vi ca chúng. Nói mt cách
khác, s d ng phương pháp hướ ượng đối t ng chúng ta th hình hóa các th c th
thuc mt vn đề có thc mà vn gi được cu trúc, quan h cũng như hành vi ca chúng.
Đối vi ví d m t phòng bán ô tô, giai đo n OOA s nh n biết được các thc th như:
- Khách hàng
- Người bán hàng
- Phiếu đặt hàng
- Phiếu (hoá đơn) thanh toán
- Xe ô tô
Tương tác và quan h gia các đối tượng trên là:
- Người bán hàng dn khách hàng tham quan phòng trưng bày xe.
- Khách hàng chn mt chiếc xe
- Khách hàng viết phiếu đặt xe
- Khách hàng tr tin xe
- Xe ô tô được giao đến cho khách hàng
Đối vi ví d nhà bă ế ng l, giai đo n OOA s nh n bi t được các thc th như:
- Loi tài khon: ATM (rút tin t động), Savings (tiết kim), Current (bình
thường), Fixed (đầu tư), ...
- Khách hàng
- Nhân viên
- Phòng máy tính.
Tương tác và quan h ng trên: gia các đối tượ
- Mt khách hàng mi m mt tài khon tiết kim
- Chuyn tin t tài khon tiết kim sang tài khon đầu tư
- Chuyn tin t tài khon tiết kim sang tài khon ATM
Xin chú ý là đây, như đã nói, ta chú ý đến c hai khía cnh: thông tin và cách hot động
ca h thng (tc là nhng gì có th xy ra vi nh đng thông tin ó).
Li phân tích bng kiu ánh x "đời thc” vào máy nh như thế tht s ư u đi m ln
ca phương pháp hướng đối tượng.
Thiết kế hướng đối tượng (Object Oriented Design - OOD):
giai đon t chc chương trình thành các t p h p đố đối tượng cng tác, mi i tượng
trong đó là thc th c a m t lp. Các lp là thành viên ca mt cây cu trúc vi mi quan
h tha kế.
Mc đích ca giai đon OOD là to thiết kế d ca trên kết qu a giai đon OOA, da trên
nhng quy định phi ch u vc năng, nhng yêu c môi trường, nhng yêu c khu v năng
thc thi, .... OOD tp trung vào vic ci thin kết qu ca OOA, ti ư đu hóa gi i pháp ã
được cung c đp trong khi v n đảm b o tho mãn t t c các yêu c u ã được xác lp.
Trong giai đon OOD, nhà thiết kế định nghĩa các chc năng, th tc (operations), thuc
tính (attributes) cũng như mi quan h c a m t hay nhiu lp (class) và quyết định chúng
cn phi được điu chnh sao cho phù hp vi môi trường phát tri ũn. Đây c ng giai
đ ếo n để thi t kế ngân hàng d liu và áp dng các k thut tiêu chun hóa.
V cui giai đon OOD, nhà thiết kế đưa ra mt lot các biu đồ (diagram) khác nhau.
Các biu đồ này có th được chia thành hai nhóm chính là Tĩnh và động. Các bi ĩu đồ t nh
biu th các lp đối tượng, trong khi biu đồ động biu th tương tác gia c lp
phương thc hot động chính xác ca chúng. Các lp đó sau này có th được nhóm thành
các gói (Packages) tc là các đơn v thành phn nh ng d hơn ca ng.
Lp trình hướng đối tượng (Object Oriented Programming - OOP):
Giai đon xây d n mng ph m th được thc hin s d ng k thut l p trình
hướng đối tượng. Đó là phương th t kc thc hin thiế ế hướng đối tượng qua vic s dng
mt ngôn ng l ă p trình h tr các tính n ng hướng đối tượng. Mt vài ngôn ng
hướng ng đối tượng thườ được nhc ti là C++ và Java. Kết qu chung cuc ca giai đon
này mt lot các code chy được, ch được đưa vào s d ng sau khi đã tr i qua
nhiu vòng quay ca nhiu bước th nghim khác nhau.
PHN CÂU HI
H i : Mt s t p h p d li u phc t p nh t định khi được trình bày bng đồ th s truy n
ti đến người đọc nhiu thông tin hơ n so v i các d liu thô?
Đáp: Đúng
H i : hình giúp chúng ta t chc, trình bày trc quan, thu hiu to nên các h
thng phc tp.
Đáp: Đúng
H i : Ưu đ i m l n nht ca mô hình hướ ượng đối t ng là tính tái s dng (Reusable)?
Đáp: Đúng.
Chương 2: NGÔN NG MÔ HÌNH HOÁ THNG NHT LÀ GÌ
1- GII THIU UML:
1.1- Mô hình hóa h thng phn mm:
Như đã trình bày phn trước, mc tiêu ca giai đon phân tích h thng sn xut ra
mt hình tng th ca h thng c n xây d ng. Mô hình này c n ph i được trình bày
theo hướng nhìn (View) ca khách hàng hay người s dng và làm sao để h hiu được.
hình này cũng th được s dng để xác định các yêu cu ca người dùng đối vi
h thng và qua đó giúp chúng ta đánh giá tính kh thi ca d án.
Tm quan trng ca mô hình đã được lĩnh hi mt cách thu đáo trong hu như tt c các
ngành khoa hc k thut t nhiu thế k nay. Bt k đâu, khi mu n xây dng m t vt
th o đó, đầu tiên người ta đã to nên các bn v để quyết định c ngo i hình ln
phương thc hot động ca nó. Chng hn các bn v k thu t thường g p m t dng
hình quen thuc. hình nhìn chung mt cách mô t ca mt v đt th nào ó. Vt
đ ó th t n ti trong m đt s giai o n nh n thit đnh, đó giai đo ết kế hay giai
đ o n xây d ng hoc ch là mt k t kế hoch. Nhà thiế ế c n ph i t o ra các mô hình mô t
tt c các khía cnh khác nhau ca sn phm. Ngoài ra, mt hình th được chia
thành nhiu hướng nhìn, mi hướng nhìn trong s chúng s t mt khía cnh riêng
bit ca s ũn ph m hay h th ng c n được xây d ng. M t mô hình c ng th được xây
dng trong nhiu giai đon và mi giai đ o n, mô hình s được b sung thêm mt s chi
tiết nht định.
hình thường được t trong ngôn ng trc quan, đ i u đó nghĩa đa phn c
thông tin được th hin bng các hiu đồ h ế a các k t n i gia chúng, ch khi cn
thiết mt s thông tin mi được biu di n; Theo n dng văn b đúng như câu ngn ng
"Mt bc tranh nói nhiu hơn c ngàn t". To hình cho các h th ng ph n mm
trước khi thc s xây dng nên chúng, đã tr thành mt chun mc trong vic phát trin
phn mm được chp nhn trong cng đồng làm phn m ng nhm gi ư trong bt k
mt ngành khoa hc k thut nào khác. Vic biu din mô hình phi thoã mãn các yếu t
sau:
- Chính xác (accurate): Mô t đ úng h n xây d thng c ng.
- Đồng nht (consistent): Các view khác nhau không được mâu thun vi nhau.
- Có th hiu được (understandable): Cho nhng người xây dng ln s dng
- D thay đổi (changeable)
- D dàng liên lc vi các mô hình khác.
Có th nói thêm rng hình là mt s đơn gi n hoá hi n thc. Mô hình được xây dng
nên để chúng ta d dàng hiu và hi ơ u t t h n h th ng cn xây dng. To mô hình s giúp
cho chúng ta hiu thu đáo mt h thng phc tp trong s toàn th ca nó.
Nói tóm li, mô hình hóa m t h th ng nhm m c đích:
- Hình dung mt h thng theo thc tế hay theo mong mun ca chúng ta .
- Ch rõ cu trúc hoc ng x ca h thng.
- To mt khuôn m u hướng d n nhà phát tri n trong su t quá trình xây dng h
thng.
- Ghi li các quyết đị đểnh ca nhà phát trin s dng sau này.
1.2- Trước khi UML ra đời:
Đầu nhng năm 1980, ngành công ngh phn mm ch có duy nht mt ngôn ng hướng
đối tượng Simula. Sang n a sau ca th p k 1980, các ngôn ng hướ ượng đối t ng như
Smalltalk và C++ xut hin. Cùng vi chúng, ny sinh nhu cu mô hình hoá các h thng
phn mm theo hướng đối tượng. Và m nh ng ngôn ngt vài trong s hình hoá xut
hin nh ng n ăm đầu th p k 90 được nhi u người dùng là:
- Grady Booch’s Booch Modeling Methodology
- James Rambaugh’s Object Modeling Technique – OMT
- Ivar Jacobson’s OOSE Methodology
- Hewlett- Packard’s Fusion
- Coad and Yordon’s OOA and OOD
Mi phương pháp lun và ngôn ng trên đu có h thng ký hiu riêng, phương pháp x
riêng công c h tr riêng, khiế n n y ra cuc tranh lun phương pháp nào tt
nh t. Đây cuc tranh lu n khó câu tr l i, b i t t c các phương pháp trên đều
nhng đim mnh n ph n mđim yếu riêng. thế, các nhà phát tri m nhiu kinh
nghim thường s dng phi hp các đim mnh ca mi phương pháp cho ng d ng c a
mình. Trong thc tế, s a các ph khác bit gi ương pháp ó hđ u như không đáng k
theo cùng tiến trình thi gian, tt c nh n lng phương pháp trên đã tim c i b sung
ln cho nhau. Chính hin th ĩ c này đã được nh ng ngưi tiên phong trong l nh v c
hình hoá hướng đối tượng nhn ra và h quyết định ngi li cùng nhau để tích hp nhng
đ im mnh ca m i phương pháp đưa ra mt hình thng nh nh vt cho lĩ c công
ngh phn mm.
1.3- S ra đời ca UML:
Trong bi cnh trên, người ta nhn th y c n thiế t phi cung c p mt phương pháp tim
cn được chun hoá và thng nht cho vic mô hình hoá hướng đối tượng. Yêu cu c th
đưa ra mt tp hp chun hoá các ký hiu (Notation) và các biu đồ (Diagram) để nm
bt các quyết định v mt thiế ết k mt cách ràng, rành mch. Đã có ba công trình tiên
phong nhm ti mc tiêu đó, chúng được thc hi n dưới s lãnh đạo ca James
Rumbaugh, Grady Booch và Ivar Jacobson. Chính nhng c g ế ng này d n đến k t qu
xây dng được mt Ngôn Ng Hình Hoá Thng Nht (Unifield Modeling Language
– UML).
UML mt ngôn ng mô hình hoá thng nh t ph n chính bao gm nhng hiu
hình h ng pháp hc, được các phươ ướng đối tượng s d ng để th hi n miêu t các
thiết kế ca m t h thng. Nó là m t ngôn ng để đặc t, tr c quan hoá, xây d ng và làm
sưu liu cho nhiu khía cnh khác nhau ca mt h thng nng độ phn mm cao.
UML th được s dng làm công c giao tiếp gia người dùng, nhà phân tích, nhà
thiết kế và nhà phát trin phn mm.
Trong quá trình phát trin nhiu công ty đã h tr và khuyến khích phát trin UML có
th k ti như : Hewlett Packard, Microsoft, Oracle, IBM, Unisys.
1.4- UML (Unifield Modeling Language):
Ngôn ng hình hóa thng nht (Unifield Modeling Language UML) mt ngôn
ng đ biu din hình theo hướ ượng đối t ng được xây d ng b i ba tác gi trên v i
ch đích là:
- Mô hình hoá các h thng s dng các khái nim hướng đối tượng.
- Thiết lp m t kế t ni t nh n th c c a con người đến các s kin cn mô hình
hoá.
- Gii quyết vn đề v m c độ th a kế trong các h thng phc tp, có nhiu ràng
buc khác nhau.
- To mt ngôn ng mô hình hoá có th s d ng được bi người và máy.
1.5- Phương pháp và các ngôn ng mô hình hoá:
Phương pháp hay phương thc (method) là mt cách tr c tiế p c u trúc hoá s suy nghĩ
hành động ca con người. Phương pháp cho người s d ế ng bi t ph i làm gì, làm như thế
nào, khi nào ti sao (m c đích c a hành động). Phương pháp cha các hình
(model), các hình được dùng để t nhng s d ế ng cho vi c truy n đạt k t qu
trong quá trình s d Đ ng phương pháp. i m khác nhau chính gia mt phương pháp
mt ngôn ng hình hoá (modeling language) là ngôn ng mô hình hoá không có mt
tiến trình (process) hay các câu lnh (instruction) t nhng công vic người s dng
cn làm.
Mt mô hình được biu din theo mt ngôn ng mô hình hoá. Ngôn ng mô hình hoá bao
gm các hiu nhng biu tượng được dùng trong hình mt tp các quy tc
ch cách s dng chúng. Các quy tc này bao gm:
- Syntactic (Cú pháp): cho biết hình dng các biu tượng cách kết hp chúng
trong ngôn ng.
- Semantic (Ng nghĩa): cho biết ý nghĩa ca mi biu tượng, chúng được hiu
thế nào khi nm trong hoc không nm trong ng c nh ca các bi u tượng khác.
- Pragmatic : định nghĩa ý nghĩa ca biu tượng để sao cho mc đích ca mô hình
được th hin và mi người có th hi u được.
2- UML TRONG PHÂN TÍCH THIT K H THNG:
UML th được s d đ ế ế ng trong nhi u giai o n, t phát tri n, thi t k cho ti thc hi n
bo trì. Vì mc đích chính ca ngôn ng này là dùng các biu đồ hướng đối tượng để
t h thng nên min ng d ng c a UML bao gm nhiu loi h thng khác nhau
như:
- H th ng thng tin (Information System): Ct gi, ly, biến đổi biu din thông
tin cho người s dng. X nh ng kho ng d li u l n các quan h ph c tp ,
chúng được lưu tr trong các cơ s d liu quan h hay h ướng đối tượng .
- H thng k thut (Technical System): X lý và điu khin các thiết b k thut
như vin thông, h thng quân s, hay các quá trình công nghip. Đây là loi thiết b phi
x c giao tiế p đặc bit , không ph n mm chu n thường các h thng thi
gian thc (real time).
- H thng nhúng (Embeded System): Thc hin trên phn cng gn o các
thiết b như đin thoi di động, điu khi ơn xe h i, Điu này được thc hin bng vic
lp trình m c th p vi h tr th i gian th c. Nh ng h thng này thưng không các
thiết b như màn hình đĩa cng, …
- H thng phân b ( Distributed System): Được phân b trên mt s máy cho
phép truyn d liu t nơi này đến nơ ơi khác mt cách d dàng. Chúng đòi hi các c chế
liên l lic đồng b để đảm bo toàn vn d u và thường được xây dng trên mt s các
k thut đối tượng như CORBA, COM/DCOM, hay Java Beans/RMI.
- H th ng Giao dch (Business System): Mô t mc đích, tài nguyên (con người,
máy tính, …), các quy tc (lut pháp, chiến thut kinh doanh, cơ chế, …), công vic
hot động kinh doanh.
- Phn mm h thng (System Software): Định nghĩa cơ s h t ng k thu t cho
phn mm khác s dng, ch ng h n như h đi u hành, cơ s d liu, giao din người s
dng.
3- UML VÀ CÁC GIAI ĐON PHÁT TRIN H THNG
Preliminary Investigation: use cases th hin các yêu cu ca người dùng. Phn miêu t
use case xác định các yêu cu, ph p vn diagram th hin mi quan h giao tiế i h
thng.
Analysis: Mc đích chính ca giai đọan này là tru tượng hóa tìm hiu các cơ cu
trong phm vi bài toán. Class diagrams trên bình din tru tượng hóa các thc th ngoài
đời th c được s d ng để làm s t ũn t i c ng như mi quan h ca chúng. Ch nh ng
lp (class) nm trong phm vi bài toán mi đáng quan tâm.
Design: Kết qu phn analysis được phát trin thành gi i pháp k thu t. Các l p được mô
hình hóa chi tiết để cung cp h t ng k thu t như giao di n, n n t ng cho database,
Kết qu phn Design là các đặc t chi tiết cho giai đon xây dng phn mm.
Development: Mô hình Design được chuyn thành code. Programmer s dng các UML
diagrams trong giai đon Design để hiu vn đề và to code.
Testing: S d ng các UML diagrams trong các giai đo n trước. Có 4 hình thc kim tra
h thng:
- Unit testing (class diagrams & class specifications) : kim tra tng đơn th, được
dùng để ki m tra các l p hay các nhóm đơn th.
- Integration testing (integration diagrams & collaboration diagrams) : kim tra
tích hp là kim tra kết hp các component vi các lp để xem chúng hot động vi nhau
đúng không.
- System testing (use-case diagrams) : kim tra xem h thng đáp ng được
chc năng mà người s d ng yêu cu hay không.
- Acceptance testing: Kim tra tính chp nhn được ca h thng, thường được
thc hin bi khách hàng, vic kim tra này thc hin tương t nh kiư m tra h thng.
PHN CÂU HI
H i : UML (Unifield Modeling Language) là gì?
Đáp: Ngôn ng hình hóa thng nht UML mt ngôn ng để biu din hình
theo hướng đối tượng.
H i : Đim khác nhau cơ bn gi a phương pháp (method) mt ngôn ng hình hoá
(modeling language) là gì?
Đáp: Đim khác nhau cơ b n gia m t phương pháp m t ngôn ng hình hoá
ngôn ng hình hoá không mt tiến trình (process) hay c câu lnh (instruction)
mô t nhng công vic người s d ng c n làm mà bao g m các ký hi unh ng bi u
tượng được dùng trong mô hình – và mt tp các quy tc ch cách s dng chúng.
Chương 3: KHÁI QUÁT V UML
1- UML CÁC GIAI ĐON CA CHU TRÌNH PHÁT TRIN
PHN MM
1.1- Giai đon nghiên cu sơ b:
UML đưa ra khái nim Use Case để nm b t các yêu c u ca khách hàng (người s
dng). UML s d ng bi u đồ Use case (Use Case Diagram) để nêu bt mi quan h cũng
như s giao tiếp vi h thng.
Qua phương pháp mô hình hóa Use case, các tác nhân (Actor) bên ngoài quan tâm đến h
thng s được mô hình hóa song song vi chc năng mà h đòi hi t phía h thng (tc
Use case). Các tác nhân các Use case được hình hóa cùng các mi quan h
được miêu t trong biu đồ Use case ca UML. Mi mt Use case được t trong tài
liu, và nó s đặc t các yêu cu ca khách hàng: Anh ta hay ch ta ch đợi điu gì phía
h thng mà không h để ý đến vic ch c n ăng này s được thc thi ra sao.
1.2- Giai đon phân tích:
Giai đon phân tích quan tâm đến quá trình tru tượng hóa đầu tiên (các lp các đối
tượng) cũng như cơ chế hi n h u trong phm vi v n đề. Sau khi nhà phân tích đã nhn
biết được các lp thành phn ca hình cũng như mi quan h gia chúng vi nhau,
các lp cùng các mi quan h đó s được miêu t bng công c biu đồ lp (class
diagram) ca UML. S c ng tác gi a các lp nhm thc hin các Use case cũng s được
miêu t nh vào các hình động (dynamic models) ca UML. Trong giai đon phân
tích, ch t các l duy nh p có t n t i trong phm vi vn đề (các khái nim đời thc)
được mô hình hóa. Các lp k thu ĩ ết định ngh a chi ti t cũng nh giư i pháp trong h thng
phn mm, d như các lp cho giao din người dùng, cho ngân hàng d liu, cho s
giao tiếp, trùng hp, v.v..., chưa phi là mi quan tâm ca giai đon này.
1.3- Giai đon thiết kế:
Trong giai đon này, kết qu c đa giai o n phân tích s đưc m rng thành mt gii
pháp k thut. Các lp mi s được b sung để to thành mt h tng cơ s k thut:
Giao din người dùng, các chc năng để lư u tr các đối tượng trong ngân hàng d li u,
giao tiếp vi các h thng khác, giao din vi các thiết b ngoi vi các máy móc khác
trong h thng, .... Các l đ p thuc phm vi v n đề t giai o n phân tích s được
"nhúng" vào h tng cơ s k thu t y, t o ra kh nă ng thay đổi trong c hai phương
din: Phm vi vn đề h t đ ng cơ s . Giai o n thiết kế s đưa ra kết qu b n đặc t
chi tiết cho giai đon xây dng h thng.
1.4- Giai đon xây dng:
| 1/109

Preview text:


Phân tích và thiết kế
H thng thông tin vi UML
Chương 1: TNG QUAN V PHÂN TÍCH THIT K H THNG   
1- DN NHP:
1.1- Tính trc quan:
Chúng ta có thể thấy rằng: "Một số tập hợp dữ liệu phức tạp nhất định khi được trình bày
bằng đồ thị sẽ tru ề
y n tải đến người đọc nh ề
i u thông tin hơn so với các dữ l ệ i u thô". Với
phần mềm cũng vậy, khi ngành Công nghiệp của chúng ta ngày càng phát triển, các hệ
thống sẽ trở nên phức tạp hơn. Khả năng ắ n m ắ
b t và kiểm soát sự p ứ h c ạ t p đó của chúng
ta đi kèm với khả năng trình bày hệ thống một cách toàn diện - một sự trình bày vượt ra
ngoài giới hạn của những dòng lệnh thô. Sự thành công trên thị trường của những ngôn
ngữ như Visual Basic và phần giao diện trực quan của C++, Java đã cho thấy sự trình bày
trực quan mang tính cốt yếu đối với quá trình phát triển các hệ thống phức tạp.
1.2- Mô hình tru tượng:
Trước đây, có một thời gian dài, ngành công nghiệp chúng ta đã phải nói tới một "Cuộc
khủng hoảng phần mềm". Các cuộc tranh luận đều dựa trên thực tế là chẳng những nhiều
đồ án phần mềm không thể sản sinh ra n ữ h ng ệ h thống th ả o mãn đòi hỏi và nhu ầ c u của
khách hàng, mà còn vượt quá ngân sách và thời hạn. Các công nghệ mới như lập trình
hướng đối tượng, lập trình trực quan cũng như các môi trường phát triển tiên tiến có giúp
chúng ta nâng cao năng suất lao động, nhưng trong nhiều trường hợp, chúng chỉ hướng
tới tầng thấp nhất của việc phát triển phần mềm: phần viết lệnh (coding). Một trong
những vấn đề chính của ngành phát triển phần mềm thời nay là có nhiều đồ án bắt tay vào
lập trình quá sớm và tập trung quá nhiều vào việc viết code. Lý do một phần là do ban
quản trị thiếu hiểu biết về quy trình phát triển phần mềm và họ nảy lo âu khi thấy đội
quân lập trình của họ không viết code. Và bản thân các lập trình viên cũng cảm thấy an
tâm hơn khi họ ngồi viết code - vốn là tác vụ mà họ quen thuộc! – hơn là khi xây dựng các mô hình trừu tư n
ợ g cho hệ thống mà họ phải tạo nên.
1.3- Mô hình hóa trc quan:
Mô hình hoá trực quan là một phương thức tư duy về vấn đề sử dụng các mô hình được
tổ chức xoay quanh các khái niệm đời thực. Mô hình giúp chúng ta hiểu vấn đề, giao tiếp
với mọi người có liên quan đến dự án (khách hàng, chuyên gia lĩnh vực thuộc đề án, nhà
phân tích, nhà thiết kế, …). Mô hình rất hữu dụng trong việc mô hình hoá doanh nghiệp,
soạn thảo tài liệu, thiết kế chương trình cũng như ngân hàng dữ liệu. Mô hình giúp hiểu
các đòi hỏi của hệ thống tốt hơn, tạo các thiết kế rõ ràng hơn và xây dựng nên các hệ thống dễ bảo trì hơn.
Mô hình là kết quả của sự trừu tượng hóa nhằm miêu tả các thành phần cốt yếu của một
vấn đề hay một cấu trúc phức tạp qua việc lọc bớt các chi tiết không quan t ọ r ng và làm
cho vấn đề trở thành dễ hiểu hơn. Trừu tượng hóa là một năng lực ă c n bản của con người,
cho phép chúng ta giải quyết các vấn đề phức tạp. Các kỹ sư, nghệ sĩ và thợ thủ công đã
xây dựng mô hình từ hàng ngàn năm nay để thử nghiệm thiết kế trước khi thực hiện. Phát
triển phần mềm cũng không là ng ạ o i lệ. Để xây ự
d ng các hệ thống phức ạ t p, nhà phát
triển phải trừu tượng hóa nhiều hướng nhìn khác nhau của hệ t ố h ng, sử dụng ký hiệu
chính xác để xây dựng mô hình, kiểm tra xem mô hình có thỏa mãn các đòi hỏi của hệ
thống, và dần dần bổ sung thêm chi tiết để chuyển các mô hình thành thực h ệ i n.
Chúng ta xây dựng mô hình cho các hệ thống phức tạp bởi chúng ta không thể hiểu thấu
đáo những hệ thống như thế trong t ạ
r ng thái toàn vẹn của chúng. Khả năng thấu hiểu và
nắm bắt tính phức tạp của con người là có hạn. Điều này ta có thể thấy rõ trong ví dụ của
ngành xây dựng. Nếu bạn muốn tạo một túp lều ở góc vư n
ờ , bạn có thể bắt tay vào xây
ngay. Nếu bạn xây một ngôi nhà, có lẽ bạn sẽ cần tới bản vẽ, nhưng ế n u bạn muốn xây
một toà nhà chọc trời thì chắc chắn bạn không thể không cần bản vẽ. Thế giới phần mềm
của chúng ta cũng thế. Chỉ tập trung vào các dòng code hay thậm chí cả phân tích Forms
trong Visual Basic chẳng cung cấp một cái nhìn toàn cục về việc phát triển đồ án. Xây
dựng mô hình cho phép nhà thiết kế tập trung vào bức tranh lớn về sự tương tác giữa các
thành phần trong đồ án, tránh bị sa lầy vào những chi tiết riêng biệt của từng thành phần.
Một môi trường kinh doanh mang tính cạnh tranh gay gắt và luôn luôn thay đổi dẫn đến
tính phức tạp ngày càng tăng cao, và tính phức tạp này đặt ra những thách thức đặc trưng
cho các nhà phát triển hệ thống. Mô hình giúp chúng ta tổ chức, trình bày trực quan, thấu
hiểu và tạo nên các hệ thống phức tạp. Chúng giúp chúng ta đáp ứng các thách thức của
việc phát triển phần mềm, hôm nay cũng như ngày mai.
2- MÔ T CHU TRÌNH PHÁT TRIN PHN MM:
2.1- Software Development – mt bài toán phc tp:
Kinh nghiệm của nhiều nhà thiết kế và phát triển cho thấy phát triển phần mềm là một bài
toán phức tạp. Xin nêu một số các lý do thường được kể đến:
- Những người phát triển phần mềm rất khó hiểu cho đúng những gì người dùng cần
- Yêu cầu của người dùng t ư
h ờng thay đổi trong thời gian phát tr ể i n.
- Yêu cầu thường được miêu tả bằng ă
v n bản, dài dòng, khó h ể i u, nhiều khi thậm chí mâu thuẫn.
- Đội quân phát triển phần mềm, vốn là người "ngoài cuộc", rất khó nhận thức
thấu đáo các mối quan hệ tiềm ẩn và phức tạp cần được thể hiện chính xác trong các ứng dụng lớn. - Khả năng ắ n m ắ b t các dữ l ệ
i u phức tạp của con người (tại cùng một thời điểm) là có hạn.
- Khó định lượng chính xác hiệu suất của thành phẩm và thỏa mãn chính xác sự
mong chờ từ phía người dùng.
- Chọn lựa phần cứng và phần mềm thích hợp cho giải pháp là một trong n ữ h ng
thách thức lớn đối với Designer.
Phần mềm ngoài ra cần có khả năng thích ứng và mở rộng. P ầ h n mềm được thiết kế tốt là phần ề
m m đứng vững trước những biến đổi trong môi trường, dù từ phía cộng
đồng người dùng hay từ phía công nghệ. Ví dụ phần mềm đ
ã được phát triển cho một nhà
băng cần có khả năng tái sử dụng cho một nhà băng khác với rất ít sửa đổi hoặc hoàn toàn
không cần sửa đổi. Phần mềm thoả mãn các yêu cầu đó được coi là phần mềm có khả năng thích ứng.
Một phần mềm có khả năng mở rộng là p ầ h n mềm được th ế i t ế k sao cho dễ phát triển
theo yêu cầu của người dùng mà không cần sửa chữa nhiều.
Chính vì vậy, một số các khiếm khu ế
y t thường gặp trong phát tr ể i n phần mềm là:
- Hiểu không đúng những gì người dùng cần
- Không thể thích ứng cho phù hợp với những thay đổi về yêu cầu đối với hệ thống
- Các Module không khớp với nhau
- Phần mềm khó bảo trì và nâng cấp, mở rộng
- Phát hiện trễ các lỗ hổng của dự án
- Chất lượng phần mềm kém
- Hiệu năng của phần mềm thấp
- Các thành viên trong nhóm không biết được ai đã thay đổi cái gì, khi nào, ở đâu, tại sao phải thay đổi.
2.2- Chu Trình Phát Trin Phn Mm (Software Development Life Cycle):
Vì phát triển phần mềm là một bài toán khó, nên có lẽ trước ế
h t ta cần điểm qua một số
các công việc căn bản của quá trình này. Thường người ta hay tập hợp chúng theo tiến
trình thời gian một cách tương đối, xoay quanh chu trình của một p ầ h n mềm, dẫn tới kết
qủa khái niệm Chu Trình Phát Triển Phần Mềm (Software Development Life Cycle - SDLC) như sau:
Chu Trình Phát Triển Phần Mềm là một chuỗi các hoạt động của nhà phân tích (Analyst),
nhà thiết kế (Designer), người phát triển (Developer) và ngư i
ờ dùng (User) để phát triển
và thực hiện một hệ thống thông tin. Những hoạt đ n
ộ g này được thực hiện trong nhiều giai đọan khác nhau.
Nhà phân tích (Analyst): là người nghiên cứu yêu cầu của khách hàng/người dùng để
định nghĩa một phạm vi bài toán, nhận ạ
d ng nhu cầu của một tổ chức, xác định xem nhân
lực, phương pháp và công nghệ máy tính có thể làm sao để cải thiện một cách tốt nhất
công tác của tổ chức này.
Nhà thiết kế (Designer): thiết kế hệ t ố h ng theo hướng ấ
c u trúc của database, screens,
forms và reports – quyết định các yêu cầu về phần cứng và phần mềm cho hệ thống cần được phát triển.
Chuyên gia lĩnh vc (Domain Experts): là những người hiểu thực chất vấn đề cùng tất
cả những sự phức tạp của hệ thống cần tin học hoá. Họ không nhất thiết phải là nhà lập
trình, nhưng họ có thể giúp nhà lập trình hiểu yêu cầu đặt ra đối với hệ thống cần phát
triển. Quá trình phát triển phần mềm sẽ có rất nhiều thuận lợi nếu đội ngũ làm phần mềm
có được sự trợ giúp của họ.
Lp trình viên (Programmer): là những người dựa trên các phân tích và thiết kế để viết
chương trình (coding) cho hệ thống bằng ngôn ngữ lập trình đã được thống nhất.
Người dùng (User): là đối tượng phục vụ của hệ thống ầ c n được phát triển.
Để cho rõ hơn, xin lấy ví dụ ề
v một vấn đề đơn giản sau:
Người bình thường chúng ta khi nhìn một chiếc xe ô tô thường sẽ có một bức tranh từ bên ngoài như sau: Vn đề
Hình 1.1: Nhìn vấn đề ô tô của người bình t ư h ờng
Chuyên gia lĩnh vực sẽ giúp nhà phân tích "trình bày lại" vấn đề như sau:
Hình 1.2: Nhìn vấn đề ô tô của chuyên gia phân tích
Chính vì sự trợ giúp của chuyên gia lĩnh vực có thể đóng vai trò rất quan trọng nên trong
những giai đoạn đầu của quá trình phát triển phần mềm, kết quả phân tích nên được thể
hiện sao cho dễ hiểu đối với các chuyên gia lĩnh vực. Đây cũng là môt trong rất nhiều lý
do khiến cho phương pháp hướng đối tượng được nhiều người hưởng ứng.
2.3- Các giai đon ca Chu Trình Phát Trin Phn Mm:
Chu trình của một phần mềm có thể được chia thành các giai đoạn như sau:
- Nghiên cứu sơ bộ (Preliminary Investigation hay còn gọi là Feasibility Study)
- Phân tích yêu cầu (Analysis)
- Thiết kế hệ thống (Design of the System)
- Xây dựng phần mềm (Software Construction)
- Thử nghiệm hệ thống (System Testing)
- Thực hiện, triển khai (System Implementation)
- Bảo trì, nâng cấp (System Maintenance)
a) Nghiên cu sơ b:
Câu hỏi quan trọng nhất khi phát triển một hệ thống hoàn toàn không phải câu hỏi mang
tính phương pháp luận. Mà cũng chẳng phải câu hỏi về kỹ thuật. Nó là một câu hỏi
dường như có vẻ đơn giản, nhưng thật ra đặc biệt khó trả lời: “Đây có đúng là một hệ
thống để thực hiện không?” Đáng buồn là chính câu hỏi này trong thực tế thường chẳng
hề được đặt ra và lại càng không được trả lời. Mặc dù v ệ i c lầm ẫ l n về phương pháp hay
quyết định sai lầm về kỹ thuật cũng có thể dẫn tới thất bại, nhưng thường thì dự án có thể
được cứu vãn nếu có đầy đủ tài nguyên cùng sự cố gắng quên mình của các nhân viên tài
giỏi. Nhưng sẽ chẳng một ai và một điều gì cứu vãn cho một hệ thống p ầ h n mềm hoàn
toàn chẳng được cần tới hoặc cố gắng tự động hóa một quy trình lầm lạc.
Trước khi bắt tay vào một dự án, bạn phải có một ý tưởng cho nó. Ý tưởng này đi song
song với việc nắm bắt các yêu cầu và xuất hiện trong giai đoạn khởi đầu. Nó hoàn tất một
phát biểu: "Hệ thống mà chúng ta mong muốn sẽ làm được những việc như sau ....".
Trong suốt giai đoạn này, chúng ta tạo nên một bức tranh về ý tưởng đó, rất nhiều giả
thuyết sẽ được công nhận hay loại bỏ. Các hoạt động trong thời gian này thường bao gồm
thu thập các ý tưởng, nhận biết rủi ro, nhận biết các giao diện bên ngoài, nhận biết các
các chức năng chính mà hệ thống cần cung cấp, và có thể tạo một vài nguyên mẫu dùng
để “minh chứng các khái niệm của hệ thống”. Ý tưởng có thể đến từ nhiều nguồn khác
nhau: khách hàng, chuyên gia lĩnh vực, các nhà phát triển khác, chuyên gia về kỹ nghệ,
các bản nghiên cứu tính khả thi cũng như việc xem xét các hệ thống khác đang tồn tại.
Một khía cạnh cần nhắc tới là code viết trong thời kỳ này thường sẽ bị "bỏ đi”, ở b i chúng
được viết nhằm mục đích t ẩ
h m tra hay trợ giúp các giả thu ế
y t khác nhau, chứ chưa phải
thứ code được viết theo kết quả phân tích và thiết kế thấu đáo.
Trong giai đọan nghiên cứu sơ bộ, nhóm phát triển hệ t ố
h ng cần xem xét các yêu cầu của
doanh nghiệp (cần dùng hệ thống), những nguồn tài nguyên có thể sử dụng, công nghệ
cũng như cộng đồng người dùng cùng các ý tưởng của họ đối với hệ thống mới. Có thể
thực hiện thảo luận, nghiên cứu, xem xét khía cạnh thương mại, phân tích khả năng lời-
lỗ, phân tích các trường hợp sử dụng và ạ
t o các nguyên mẫu để xây dựng nên một khái
niệm cho hệ thống đích cùng với các mục đích, quyền ưu tiên và phạm vi của nó.
Thường trong giai đoạn này người ta cũng tiến hành tạo một phiên bản thô của lịch trình
và kế hoạch sử dụng tài nguyên.
Một giai đoạn nghiên cứu sơ bộ thích đáng ẽ
s lập nên tập hợp các yêu ầ c u (dù ở mức độ
khái quát cao) đối với một hệ thống khả thi và được mong muốn, kể cả về phương diện
kỹ thuật lẫn xã hội. Một giai đoạn nghiên cứu sơ bộ không được thực hiện thoả đáng sẽ
dẫn tới các hệ thống không được mong muốn, đắt tiền, bất khả thi và được định nghĩa
lầm lạc – những hệ thống thừơng chẳng được hoàn tất hay sử dụng.
Kết quả của giai đoạn nghiên cứu sơ bộ là Báo Cáo Kết Quả Nghiên Cứu Tính Khả Thi.
Khi hệ thống tương lai được chấp nhận dựa trên bản báo cáo này cũng là lúc giai đoạn Phân tích bắt đầu.
b) Phân tích yêu cu
Sau khi đã xem xét về tính khả thi của hệ thống cũng như tạo lập một bức tranh sơ ộ b của
dự án, chúng ta bước sang giai đoạn thường được coi là quan trọng nhất trong các công
việc lập trình: hiểu hệ thống ầ
c n xây dựng. Người thực h ệ i n công v ệ i c này là nhà phân tích.
Quá trình phân tích nhìn chung là hệ quả của việc trả lời câu hỏi "Hệ thống ầ c n phải làm
gì?". Quá trình phân tích bao gồm việc nghiên cứu chi tiết hệ thống doanh ngh ệ i p hiện
thời, tìm cho ra nguyên lý hoạt động của nó và những vị trí có thể được nâng cao, cải
thiện. Bên cạnh đó là việc nghiên cứu xem xét các chức năng mà hệ thống cần cung cấp
và các mối quan hệ của chúng, bên trong cũng như với phía ngoài hệ thống. Trong toàn
bộ giai đoạn này, nhà phân tích và người dùng cần cộng tác mật thiết với nhau để xác
định các yêu cầu đối với hệ thống, tức là các tính năng mới cần phải được đưa vào hệ thống.
Những mục tiêu cụ thể của giai đoạn phân tích là:
- Xác định hệ thống cần phải làm gì.
- Nghiên cứu thấu đáo tất cả các chức năng cần cung cấp và những yếu tố liên quan
- Xây dựng một mô hình nêu bật bản chất vấn đề từ một hướng nhìn có thực (trong đời sống thực).
- Trao định nghĩa vấn đề cho chuyên gia lĩnh vực để nhận sự đánh giá, góp ý.
- Kết quả của giai đoạn phân tích là bản Đặc Tả Yêu Cầu (Requirements Specifications).
c) Thiết kế h thng
Sau giai đoạn phân tích, khi các yêu cầu cụ thể đối với hệ thống đã được xác định, giai
đoạn tiếp theo là thiết ế
k cho các yêu cầu mới. Công tác thiết ế k xoay quanh câu hỏi
chính: Hệ thống làm cách nào để thỏa mãn các yêu cầu đã được nêu trong Đặc Tả Yêu Cầu?
Một số các công việc thường được thực hiện trong giai đ oạn thiết kế:
- Nhận biết form nhập liệu tùy theo các thành phần dữ liệu cần nhập.
- Nhận biết reports và những output mà hệ thống mới phải sản sinh
- Thiết kế forms (vẽ trên giấy hay máy tính, sử dụng công cụ thiết ế k )
- Nhận biết các thành phần dữ liệu và bảng để tạo database
- Ước tính các thủ tục giải thích quá trình xử lý từ input đến output.
Kết quả giai đoạn thiết kế là Đặc Tả Thiết Kế (Design Specifications). Bản Đặc Tả Thiết
Kế Chi Tiết sẽ được chuyển sang cho các lập trình viên để thực hiện giai đoạn xây dựng phần mềm.
d) Xây dng phn mm
Đây là giai đoạn viết lệnh (code) thực sự, tạo hệ thống. Từng người viết code thực hiện
những yêu cầu đã được nhà thiết kế định sẵn. Cũng chính người viết code chịu trách
nhiệm viết tài liệu liên quan đến chương trình, giải thích thủ tục (procedure) mà anh ta
tạo nên được viết như thế nào và lý do cho v ệ i c này.
Để đảm bảo chương trình được viết nên phải th ả
o mãn mọi yêu cầu có ghi trước trong
bản Đặc Tả Thiết Kế Chi Tiết, người viết code cũng đồng thời p ả
h i tiến hành thử nghiệm
phần chương trình của mình. Phần thử nghiệm trong giai đoạn này có thể được chia thành hai bước chính:
Th nghim đơn v:
Người viết code chạy thử các phần chương trình của mình với dữ liệu giả (test/dummy
data). Việc này được thực hiện theo một kế h ạ
o ch thử, cũng do chính người viết code
soạn ra. Mục đích chính trong giai đoạn thử này là xem chương trình có cho ra những kết
quả mong đợi. Giai đoạn thử nghiệm đơn vị nhiều khi được gọi là "Thử hộp trắng" (White Box Testing)
Th nghim đơn v độc lp:
Công việc này do một thành viên khác trong nhóm đảm trách. Cần chọn người không có
liên quan trực tiếp đến việc viết code của đơn vị chương trình cần thử nghiệm để đảm bảo
tính “độc lập”. Công việc thử đợt này cũng được thực hiện dựa trên kế hoạch thử do
người viết code soạn nên.
e) Th nghim h thng
Sau khi các thủ tục đã được thử nghiệm riêng, cần phải thử nghiệm toàn bộ hệ thống. Mọi
thủ tục được tích hợp và chạy thử, kiểm tra xem mọi chi tiết ghi trong Đặc Tả Yêu Cầu
và những mong chờ của người dùng có được thoả mãn. Dữ l ệ
i u thử cần được chọn lọc đặc biệt, kết q ả u ầ
c n được phân tích để phát hiện mọi ệ l ch ạ l c so với mong c ờ h .
f) Thc hin, trin khai
Trong giai đoạn này, hệ thống vừa phát triển sẽ được triển khai sao cho phía người dùng.
Trước khi để người dùng thật sự bắt tay vào sử dụng ệ
h thống, nhóm các nhà phát triển
cần tạo các file dữ liệu cần thiết cũng như huấn luyện cho người dùng, để đảm bảo hệ
thống được sử dụng hữu hiệu nhất.
g) Bo trì, nâng cp
Tùy theo các biến đổi trong môi trường sử dụng, ệ h thống có t ể
h trở nên lỗi thời hay cần
phải được sửa đổi nâng cấp để sử dụng có h ệ
i u quả. Hoạt động bảo trì hệ thống có thể rất
khác biệt tùy theo mức độ sửa đổi và nâng cấp cần thiết.
Sơ đồ tng quát các giai đon ca Chu Trình Phát Trin Phn Mm: Hình 1.3: Sơ đ
ồ tổng quát các giai đoạn của Chu Trình Phát Triển Phần Mềm
3- PHƯƠNG PHÁP HƯỚNG CHC NĂNG VÀ PHƯƠNG PHÁP
H
ƯỚNG ĐỐI TƯỢNG:
3.1- Phương pháp hướng chc năng:
Đây là lối tiếp cận truyền thống của ngành Công nghệ phần mềm. Theo lối tiếp cận này,
chúng ta quan tâm chủ yếu tới n ữ
h ng thông tin mà hệ thống ẽ s giữ gìn. Chúng ta hỏi
người dùng xem họ sẽ cần những thông tin nào, rồi chúng ta thiết kế ngân hàng dữ liệu để
chứa những thông tin đó, cung cấp Forms để nhập thông tin và in báo cáo để trình bày
các thông tin. Nói một cách khác, chúng ta tập trung vào thông tin và không ấ m y để ý
đến những gì có thể xảy ra với n ữ
h ng hệ thống đó và cách hoạt động (ứng xử) của hệ
thống là ra sao. Đây là lối tiệm cận xoay quanh dữ liệu và đã được áp dụng để tạo nên
hàng ngàn hệ thống trong suốt nhiều năm trời.
Lối tiếp cận xoay quanh dữ liệu là phương pháp tốt cho việc thiết kế ngân hàng dữ liệu và
nắm bắt thông tin, nhưng nếu áp dụng cho việc thiết kế ứng dụng lại có thể khiến phát
sinh nhiều khó khăn. Một trong những thách thức lớn là yêu cầu đối ớ v i các hệ thống
thường xuyên thay đổi. Một hệ thống xoay quanh dữ liệu có thể dể dàng xử lý việc thay
đổi ngân hàng dữ liệu, nhưng lại khó thực thi những thay đổi trong nguyên tắc nghiệp vụ
hay cách hoạt động của hệ thống.
Phương pháp hướng đối tượng đã được phát triển để trả lời cho vấn đề đó. Với lối tiếp
cận hướng đối tượng, chúng ta tập trung vào cả hai mặt của vấn đề : thông tin và cách hoạt động.
3.2- Phương pháp hướng đối tượng:
Hướng đối tượng là thuật ngữ thông ụ d ng h ệ
i n thời của ngành công nghiệp phần mềm.
Các công ty đang nhanh chóng tìm cách áp dụng và tích hợp công nghệ mới này vào các ứng ụ
d ng của họ. Thật sự là đa p ầ
h n các ứng dụng hiện thời đều mang tính hướng đ i ố
tượng. Nhưng hướng đối tượng có nghĩa là gì?
Lối tiếp cận hướng đối tượng là một lối tư duy về vấn đề theo lối ánh ạ x các thành phần
trong bài toán vào các đối tượng ngoài đời thực. Với lối tiếp cận này, chúng ta chia ứng
dụng thành các thành phần nhỏ, gọi là các đối tượng, chúng tương đối độc lập với nhau.
Sau đó ta có thể xây dựng ứng dụng bằng cách chắp các đối tượng đó lại với nhau. Hãy
nghĩ đến trò chơi xây lâu đài bằng các mẫu gỗ. Bước đầu tiên là tạo hay mua một vài loại
mẫu gỗ căn bản, từ đó tạo nên các khối xây dựng căn bản của mình. Một khi đã có các
khối xây dựng đó, bạn có thể chắp ráp chúng lại với nhau để tạo lâu đài. Tương tự như
vậy một khi đã xây dựng một số đối tượng căn bản trong thế giới máy tính, bạn có thể
chắp chúng lại với nhau để tạo ứng dụng của mình.
Xin lấy một ví dụ đơn giản: vấn đề rút tiền mặt tại nhà băng. Các “mẫu gỗ“ thành phần ở
đây sẽ là ánh xạ của các đối tượng ngoài đời thực như tài kh ả
o n, nhân viên, khách hàng,
…Và ứng dụng sẽ được sẽ được nhận diện cũng như giải đáp xoay quanh các đối tượng đó.
4- ƯU ĐIM CA MÔ HÌNH HƯỚNG ĐỐI TƯỢNG:
4.1- Tính tái s dng (Reusable)
Phương pháp phân tích và thiết kế hướng đối tượng thực hiện theo các thuật ngữ và khái
niệm của phạm vi lĩnh vực ứng dụng (tức là của doanh nghiệp hay đơn vị mà hệ thống
tương lai cần phục vụ), nên nó tạo sự tiếp cận tương ứng giữa hệ thống và ấ v n đề thực
ngoài đời. Trong ví dụ bán xe ô tô, mọi giai đoạn phân tích thiết kế và thực hiện đều xoay
quanh các khái niệm như khách hàng, nhân viên bán hàng, xe ô tô, … Vì quá trình phát
triển phần mềm đồng thời là quá trình cộng tác của khách hàng/người dùng, nhà phân
tích, nhà thiết kế, nhà phát triển, chuyên gia lĩnh vực, chuyên gia kỹ thuật, ... nên lối tiếp
cận này khiến cho việc giao tiếp giữa họ với nhau được dễ dàng hơn.
Một trong những ưu điểm quan trọng bậc nhất của phương pháp phân tích và thiết kế
hướng đối tượng là tính tái sử dụng: bạn có thể tạo các thành phần (đối tượng) một lần và
dùng chúng nhiều lần sau đó. Giống như việc bạn có thể tái sử dụng các k ố h i xây dựng
(hay bản sao của nó ) trong một toà lâu đài, một ngôi nhà ở, một con tàu vũ trụ, ạ b n ũ c ng
có thể tái sử dụng các thành phần (đối tượng) căn bản trong các thiết kế hướng đối tượng
cũng như code của một hệ thống kế toán, hệ thống kiểm kê, hoặc một hệ thống đặt hàng.
Vì các đối tượng đã được thử nghiệm kỹ càng trong lần dùng trước đó, nên khả năng tái
sử dụng đối tượng có tác dụng g ả
i m thiểu lỗi và các khó khăn trong việc bảo trì, giúp
tăng tốc độ thiết kế và phát triển phần mềm.
Phương pháp hướng đối tượng giúp chúng ta xử lý các vấn đề phức tạp trong phát triển
phần mềm và tạo ra các thế hệ phần mềm có khả năng thích ứng và bền chắc.
4.2- Các giai đon
c a chu trình phát tr i n phn m m
v i mô hình hướng đối tượng:
Phân tích hướng đối tượng (Object Oriented Analysis - OOA):
Là giai đọan phát triển một mô hình chính xác và súc tích của vấn đề, có thành phần là
các đối tượng và khái niệm đời thực, dễ hiểu đối với người sử dụng.
Trong giai đoạn OOA, vấn đề được trình bày bằng các thuật ngữ tương ứng với các đối
tượng có thực. Thêm vào đó, hệ thống cần phải được định nghĩa sao cho người không
chuyên Tin học có thể dễ dàng h ể i u được.
Dựa trên một vấn đề có sẵn, nhà phân tích cần ánh xạ các đối tượng hay thực thể có t ự h c
như khách hàng, ô tô, người bán hàng, … vào thiết kế để tạo ra được bản thiết kế gần cận
với tình huống thực. Mô hình thiết kế sẽ chứa các thực thể trong một vấn đề có thực và
giữ nguyên các mẫu hình về cấu trúc, quan hệ cũng như hành vi của chúng. Nói một cách
khác, sử dụng phương pháp hướng đối ư t ợng chúng ta có t ể h mô hình hóa các t ự h c t ể h
thuộc một vấn đề có thực mà vẫn giữ được cấu trúc, quan hệ cũng như hành vi của chúng.
Đối với ví dụ một phòng bán ô tô, giai đoạn OOA sẽ n ậ
h n biết được các thực thể như: - Khách hàng - Người bán hàng - Phiếu đặt hàng
- Phiếu (hoá đơn) thanh toán - Xe ô tô
Tương tác và quan hệ giữa các đối tượng trên là:
- Người bán hàng dẫn khách hàng tham quan phòng trưng bày xe.
- Khách hàng chọn một chiếc xe
- Khách hàng viết phiếu đặt xe
- Khách hàng trả tiền xe
- Xe ô tô được giao đến cho khách hàng
Đối với ví dụ nhà băng lẻ, giai đoạn OOA sẽ n ậ
h n biết được các thực t ể h như:
- Loại tài khoản: ATM (rút tiền tự động), Savings (tiết kiệm), Current (bình
thường), Fixed (đầu tư), ... - Khách hàng - Nhân viên - Phòng máy tính.
Tương tác và quan hệ giữa các đối tượng trên:
- Một khách hàng mới mở một tài khoản tiết kiệm
- Chuyển tiền từ tài khoản tiết kiệm sang tài khoản đầu tư
- Chuyển tiền từ tài khoản tiết kiệm sang tài khoản ATM
Xin chú ý là ở đây, như đã nói, ta chú ý đến cả hai khía cạnh: thông tin và cách hoạt động
của hệ thống (tức là những gì có thể xảy ra với những thông tin đ ó).
Lối phân tích bằng kiểu ánh xạ "đời thực” vào máy tính như thế thật sự là ưu điểm lớn
của phương pháp hướng đối tượng.
Thiết kế hướng đối tượng (Object Oriented Design - OOD):
Là giai đoạn tổ chức chương trình thành các tập hợp đối tượng cộng tác, mỗi đối tượng
trong đó là thực thể của ộ
m t lớp. Các lớp là thành viên của một cây cấu trúc với mối quan hệ thừa kế.
Mục đích của giai đoạn OOD là tạo thiết kế dựa trên kết quả của giai đoạn OOA, dựa trên
những quy định phi chức năng, những yêu cầu về môi trường, những yêu cầu về khả năng
thực thi, .... OOD tập trung vào việc cải thiện kết quả của OOA, tối ưu hóa g ả i i pháp đã
được cung cấp trong khi ẫ v n đảm ả
b o thoả mãn tất cả các yêu ầ c u đã được xác lập.
Trong giai đoạn OOD, nhà thiết kế định nghĩa các chức năng, thủ tục (operations), thuộc
tính (attributes) cũng như mối quan hệ của một hay nhiều lớp (class) và quyết định chúng
cần phải được điều chỉnh sao cho phù hợp với môi trường phát triển. Đây ũ c ng là giai
đoạn để thiết kế ngân hàng dữ liệu và áp dụng các kỹ thuật tiêu chuẩn hóa.
Về cuối giai đoạn OOD, nhà thiết kế đưa ra một loạt các biểu đồ (diagram) khác nhau.
Các biểu đồ này có thể được chia thành hai nhóm chính là Tĩnh và động. Các biểu đồ tĩnh
biểu thị các lớp và đối tượng, trong khi biểu đồ động biểu thị tương tác giữa các lớp và
phương thức hoạt động chính xác của chúng. Các lớp đó sau này có thể được nhóm thành
các gói (Packages) tức là các đơn vị thành phần nhỏ hơn của ứng dụng.
Lp trình hướng đối tượng (Object Oriented Programming - OOP):
Giai đoạn xây dựng phần mềm có thể được thực hiện sử dụng kỹ thuật ậ l p trình
hướng đối tượng. Đó là phương thức thực hiện thiết kế hướng đối tượng qua việc sử dụng
một ngôn ngữ lập trình có hỗ trợ các tính ă
n ng hướng đối tượng. Một vài ngôn n ữ g
hướng đối tượng thường được nhắc tới là C++ và Java. Kết quả chung cuộc của giai đoạn
này là một loạt các code chạy được, nó chỉ được đưa vào sử dụng sau khi đã trải qua
nhiều vòng quay của nhiều bước thử nghiệm khác nhau.
PHN CÂU HI
Hi: Một số tập hợp dữ liệu phức ạ
t p nhất định khi được trình bày bằng đồ thị sẽ truyền
tải đến người đọc nhiều thông tin hơn so với các dữ liệu thô? Đáp: Đúng
Hi: Mô hình giúp chúng ta tổ chức, trình bày trực quan, thấu hiểu và tạo nên các hệ thống phức tạp. Đáp: Đúng
Hi: Ưu điểm ớ
l n nhất của mô hình hướng đối tượng là tính tái sử dụng (Reusable)? Đáp: Đúng.   
Chương 2: NGÔN NG MÔ HÌNH HOÁ THNG NHT LÀ GÌ   
1- GII THIU UML:
1.1- Mô hình hóa h thng phn mm:
Như đã trình bày ở phần trước, mục tiêu của giai đoạn phân tích hệ thống là sản xuất ra
một mô hình tổng thể của hệ thống ầ
c n xây dựng. Mô hình này ầ
c n phải được trình bày
theo hướng nhìn (View) của khách hàng hay người sử dụng và làm sao để họ hiểu được.
Mô hình này cũng có thể được sử dụng để xác định các yêu cầu của người dùng đối với
hệ thống và qua đó giúp chúng ta đánh giá tính khả thi của dự án.
Tầm quan trọng của mô hình đã được lĩnh hội một cách thấu đáo trong hầu như tất cả các
ngành khoa học kỹ thuật từ nhiều thế kỷ nay. Bất kỳ ở đâu, khi muốn xây dựng ộ m t vật
thể nào đó, đầu tiên người ta đã tạo nên các bản vẽ để quyết định cả ngoại hình lẫn
phương thức hoạt động của nó. Chẳng hạn các bản vẽ kỹ thuật thường ặ g p là một dạng
mô hình quen thuộc. Mô hình nhìn chung là một cách mô tả của một vật thể nào đó. Vật
đó có thể tồn tại trong một số giai đoạn nhất định, dù đó là giai đoạn thiết kế hay giai
đoạn xây dựng hoặc chỉ là một kế hoạch. Nhà thiết kế cần phải tạo ra các mô hình mô tả
tất cả các khía cạnh khác nhau của sản phẩm. Ngoài ra, một mô hình có thể được chia
thành nhiều hướng nhìn, mỗi hướng nhìn trong số chúng sẽ mô ả t một khía cạnh riêng
biệt của sản phẩm hay ệ h t ố h ng ầ
c n được xây dựng. Một mô hình cũng có thể được xây
dựng trong nhiều giai đoạn và ở mỗi giai đoạn, mô hình sẽ được bổ sung thêm một số chi tiết nhất định.
Mô hình thường được mô tả trong ngôn ngữ trực quan, điều đó có nghĩa là đa phần các
thông tin được thể hiện bằng các ký hiệu đồ họa và các kết ố
n i giữa chúng, chỉ khi cần
thiết một số thông tin mới được biểu diễn ở dạng văn bản; Theo đúng như câu ngạn ngữ
"Một bức tranh nói nhiều hơn cả ngàn từ". Tạo mô hình cho các hệ thống p ầ h n mềm
trước khi thực sự xây dựng nên chúng, đã trở thành một chuẩn mực trong việc phát triển
phần mềm và được chấp nhận trong cộng đồng làm phần mềm giống như trong bất kỳ
một ngành khoa học kỹ thuật nào khác. Việc biểu diễn mô hình phải thoã mãn các yếu tố sau:
- Chính xác (accurate): Mô tả đúng hệ thống cần xây dựng.
- Đồng nhất (consistent): Các view khác nhau không được mâu thuẩn với nhau.
- Có thể hiểu được (understandable): Cho những người xây dựng lẫn sử dụng
- Dễ thay đổi (changeable)
- Dễ dàng liên lạc với các mô hình khác.
Có thể nói thêm rằng mô hình là một sự đơn giản hoá hiện thực. Mô hình được xây dựng
nên để chúng ta dễ dàng hiểu và hiểu ố t t hơn hệ t ố
h ng cần xây dựng. Tạo mô hình sẽ giúp
cho chúng ta hiểu thấu đáo một hệ thống phức tạp trong sự toàn thể của nó.
Nói tóm lại, mô hình hóa một hệ t ố h ng nhằm ụ m c đích:
- Hình dung một hệ thống theo thực tế hay theo mong muốn của chúng ta .
- Chỉ rõ cấu trúc hoặc ứng xử của hệ thống.
- Tạo một khuôn mẫu hướng ẫ
d n nhà phát triển trong s ố
u t quá trình xây dựng hệ thống.
- Ghi lại các quyết định của nhà phát triển để sử dụng sau này.
1.2- Trước khi UML ra đời:
Đầu những năm 1980, ngành công nghệ phần mềm chỉ có duy nhất một ngôn ngữ hướng
đối tượng là Simula. Sang nửa sau của thập kỷ 1980, các ngôn ngữ hướng đối ư t ợng như
Smalltalk và C++ xuất hiện. Cùng với chúng, nảy sinh nhu cầu mô hình hoá các hệ thống
phần mềm theo hướng đối tượng. Và một vài trong số những ngôn ngữ mô hình hoá xuất
hiện những năm đầu thập kỷ 90 được nhiều người dùng là:
- Grady Booch’s Booch Modeling Methodology
- James Rambaugh’s Object Modeling Technique – OMT
- Ivar Jacobson’s OOSE Methodology - Hewlett- Packard’s Fusion
- Coad and Yordon’s OOA and OOD
Mỗi phương pháp luận và ngôn ngữ trên đều có hệ thống ký hiệu riêng, phương pháp xử
lý riêng và công cụ hỗ trợ riêng, khiến nảy ra cuộc tranh luận phương pháp nào là tốt
nhất. Đây là cuộc tranh luận khó có câu t ả r lời, bởi ấ
t t cả các phương pháp trên đều có
những điểm mạnh và điểm yếu riêng. Vì thế, các nhà phát triển phần mềm nhiều kinh
nghiệm thường sử dụng phối hợp các điểm mạnh của mỗi phương pháp cho ứng ụ d ng của
mình. Trong thực tế, sự khác biệt giữa các phương pháp đó hầu như không đáng kể và
theo cùng tiến trình thời gian, tất cả những phương pháp trên đã tiệm cận lại và bổ sung
lẫn cho nhau. Chính hiện thực này đã được n ữ
h ng người tiên phong trong lĩnh vực mô
hình hoá hướng đối tượng nhận ra và họ quyết định ngồi lại cùng nhau để tích hợp những điểm mạnh của ỗ
m i phương pháp và đưa ra một mô hình thống nhất cho lĩnh vực công nghệ phần mềm.
1.3- S ra đời ca UML:
Trong bối cảnh trên, người ta nhận thấy cần thiết phải cung ấ
c p một phương pháp tiệm
cận được chuẩn hoá và thống nhất cho việc mô hình hoá hướng đối tượng. Yêu cầu cụ thể
là đưa ra một tập hợp chuẩn hoá các ký hiệu (Notation) và các biểu đồ (Diagram) để nắm
bắt các quyết định về mặt thiết ế
k một cách rõ ràng, rành mạch. Đã có ba công trình tiên
phong nhắm tới mục tiêu đó, chúng được thực hiện dưới ự s lãnh đạo của James
Rumbaugh, Grady Booch và Ivar Jacobson. Chính những cố gắng này dẫn đến kết q ả u là
xây dựng được một Ngôn Ngữ Mô Hình Hoá Thống Nhất (Unifield Modeling Language – UML).
UML là một ngôn ngữ mô hình hoá thống nhất có phần chính bao gồm những ký hiệu
hình học, được các phư n
ơ g pháp hướng đối tượng sử dụng để thể hiện và miêu tả các
thiết kế của một hệ thống. Nó là ộ
m t ngôn ngữ để đặc tả, trực quan hoá, xây ự d ng và làm
sưu liệu cho nhiều khía cạnh khác nhau của một hệ thống có nồng độ phần mềm cao.
UML có thể được sử dụng làm công cụ giao tiếp giữa người dùng, nhà phân tích, nhà
thiết kế và nhà phát triển phần mềm.
Trong quá trình phát triển có nhiều công ty đã hỗ trợ và khuyến khích phát triển UML có
thể kể tới như : Hewlett Packard, Microsoft, Oracle, IBM, Unisys.
1.4- UML (Unifield Modeling Language):
Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language – UML) là một ngôn
ngữ để biểu diễn mô hình theo hướng đối tượng được xây dựng bởi ba tác giả trên với chủ đích là:
- Mô hình hoá các hệ thống sử dụng các khái niệm hướng đối tượng.
- Thiết lập một kết nối từ n ậ
h n thức của con người đến các sự kiện cần mô hình hoá.
- Giải quyết vấn đề về mức độ t ừ
h a kế trong các hệ thống phức tạp, có nhiều ràng buộc khác nhau.
- Tạo một ngôn ngữ mô hình hoá có thể sử dụng được bởi người và máy.
1.5- Phương pháp và các ngôn ng mô hình hoá:
Phương pháp hay phương thức (method) là một cách trực tiếp cấu trúc hoá sự suy nghĩ và
hành động của con người. Phương pháp cho người sử dụng biết phải làm gì, làm như thế
nào, khi nào và tại sao (mục đích của hành động). Phương pháp chứa các mô hình
(model), các mô hình được dùng để mô tả những gì sử dụng cho v ệ
i c truyền đạt kết q ả u
trong quá trình sử dụng phương pháp. Điểm khác nhau chính giữa một phương pháp và
một ngôn ngữ mô hình hoá (modeling language) là ngôn ngữ mô hình hoá không có một
tiến trình (process) hay các câu lệnh (instruction) mô tả những công việc người sử dụng cần làm.
Một mô hình được biểu diễn theo một ngôn ngữ mô hình hoá. Ngôn ngữ mô hình hoá bao
gồm các ký hiệu – những biểu tượng được dùng trong mô hình – và một tập các quy tắc
chỉ cách sử dụng chúng. Các quy tắc này bao gồm:
- Syntactic (Cú pháp): cho biết hình dạng các biểu tượng và cách kết hợp chúng trong ngôn ngữ.
- Semantic (Ngữ nghĩa): cho biết ý nghĩa của mỗi biểu tượng, chúng được hiểu
thế nào khi nằm trong hoặc không nằm trong ngữ cảnh của các b ể i u tượng khác.
- Pragmatic : định nghĩa ý nghĩa của biểu tượng để sao cho mục đích của mô hình
được thể hiện và mọi người có thể h ể i u được.
2- UML TRONG PHÂN TÍCH THIT K H THNG:
UML có thể được sử dụng trong nh ề
i u giai đoạn, từ phát tr ể i n, thiết ế k cho tới thực hiện
và bảo trì. Vì mục đích chính của ngôn ngữ này là dùng các biểu đồ hướng đối tượng để
mô tả hệ thống nên miền ứng ụ d ng ủ
c a UML bao gồm nhiều loại hệ thống khác nhau như:
- H thng thng tin (Information System): Cất giữ, lấy, biến đổi biểu diễn thông
tin cho người sử dụng. Xử lý những khoảng ữ
d liệu lớn có các quan ệ h phức tạp , mà
chúng được lưu trữ trong các cơ sở dữ liệu quan hệ hay hướng đối tượng .
- H thng k thut (Technical System): Xử lý và điều khiển các thiết bị kỹ thuật
như viễn thông, hệ thống quân sự, hay các quá trình công nghiệp. Đây là loại thiết bị phải
xử lý các giao tiếp đặc biệt , không có p ầ h n mềm ch ẩ
u n và thường là các hệ thống thời gian thực (real time).
- H thng nhúng (Embeded System): Thực hiện trên phần cứng gắn vào các
thiết bị như điện thoại di động, điều khiển xe hơi, … Điều này được thực hiện bằng việc
lập trình mức thấp với hỗ trợ thời gian thực. N ữ
h ng hệ thống này thường không có các
thiết bị như màn hình đĩa cứng, …
- H thng phân bố ( Distributed System): Được phân bố trên một số máy cho
phép truyền dữ liệu từ nơi này đến nơi khác một cách dễ dàng. Chúng đòi hỏi các ơ c chế
liên lạc đồng bộ để đảm bảo toàn vẹn dữ liệu và thường được xây dựng trên một số các
kỹ thuật đối tượng như CORBA, COM/DCOM, hay Java Beans/RMI.
- H thng Giao dch (Business System): Mô tả mục đích, tài nguyên (con người,
máy tính, …), các quy tắc (luật pháp, chiến thuật kinh doanh, cơ chế, …), và công việc hoạt động kinh doanh.
- Phn mm h thng (System Software): Định nghĩa cơ sở hạ tầng kỹ th ậ u t cho
phần mềm khác sử dụng, chẳng hạn như hệ điều hành, cơ sở dữ liệu, giao diện người sử dụng.
3- UML VÀ CÁC GIAI ĐON PHÁT TRIN H THNG
Preliminary Investigation: use cases thể hiện các yêu cầu của người dùng. Phần miêu tả
use case xác định các yêu cầu, phần diagram thể hiện mối quan hệ và giao tiếp với hệ thống.
Analysis: Mục đích chính của giai đọan này là trừu tượng hóa và tìm hiểu các cơ cấu có
trong phạm vi bài toán. Class diagrams trên bình diện trừu tượng hóa các thực thể ngoài
đời thực được sử dụng để làm rõ sự tồn tại ũ
c ng như mối quan hệ của chúng. Chỉ n ữ h ng
lớp (class) nằm trong phạm vi bài toán mới đáng quan tâm.
Design: Kết quả phần analysis được phát triển thành giải pháp kỹ th ậ u t. Các lớp được mô
hình hóa chi tiết để cung cấp hạ tầng kỹ th ậ u t như giao d ệ
i n, nền tảng cho database, …
Kết quả phần Design là các đặc tả chi tiết cho giai đoạn xây dựng phần mềm.
Development: Mô hình Design được chuyển thành code. Programmer sử dụng các UML
diagrams trong giai đoạn Design để hiểu vấn đề và tạo code.
Testing: Sử dụng các UML diagrams trong các giai đoạn trước. Có 4 hình thức kiểm tra hệ thống:
- Unit testing (class diagrams & class specifications) : kiểm tra từng đơn thể, được
dùng để kiểm tra các lớp hay các nhóm đơn thể.
- Integration testing (integration diagrams & collaboration diagrams) : kiểm tra
tích hợp là kiểm tra kết hợp các component với các lớp để xem chúng hoạt động với nhau có đúng không.
- System testing (use-case diagrams) : kiềm tra xem hệ thống có đáp ứng được
chức năng mà người sử dụng yêu cầu hay không.
- Acceptance testing: Kiểm tra tính chấp nhận được của hệ thống, thường được
thực hiện bởi khách hàng, việc kiểm tra này thực hiện tương tự như kiểm tra hệ thống.
PHN CÂU HI
Hi: UML (Unifield Modeling Language) là gì?
Đáp: Ngôn ngữ mô hình hóa thống nhất – UML là một ngôn ngữ để biểu diễn mô hình
theo hướng đối tượng.
Hi: Điểm khác nhau cơ bản giữa phương pháp (method) và một ngôn n ữ g mô hình hoá (modeling language) là gì?
Đáp: Điểm khác nhau cơ bản giữa một phương pháp và ộ m t ngôn n ữ g mô hình hoá là
ngôn ngữ mô hình hoá không có một tiến trình (process) hay các câu lệnh (instruction)
mô tả những công việc người sử dụng cần làm mà nó bao gồm các ký hiệu – những biểu
tượng được dùng trong mô hình – và một tập các quy tắc chỉ cách sử dụng chúng.   
Chương 3: KHÁI QUÁT V UML   
1- UML VÀ CÁC GIAI ĐON CA CHU TRÌNH PHÁT TRIN
PH
N MM
1.1- Giai đon nghiên cu sơ b:
UML đưa ra khái niệm Use Case để nắm bắt các yêu cầu của khách hàng (người sử
dụng). UML sử dụng biểu đồ Use case (Use Case Diagram) để nêu bật mối quan hệ cũng
như sự giao tiếp với hệ thống.
Qua phương pháp mô hình hóa Use case, các tác nhân (Actor) bên ngoài quan tâm đến hệ
thống sẽ được mô hình hóa song song với chức năng mà họ đòi hỏi từ phía hệ thống (tức
là Use case). Các tác nhân và các Use case được mô hình hóa cùng các mối quan hệ và
được miêu tả trong biểu đồ Use case của UML. Mỗi một Use case được mô tả trong tài
liệu, và nó sẽ đặc tả các yêu cầu của khách hàng: Anh ta hay chị ta chờ đợi điều gì ở phía
hệ thống mà không hề để ý đến việc chức năng này sẽ được thực thi ra sao.
1.2- Giai đon phân tích:
Giai đoạn phân tích quan tâm đến quá trình trừu tượng hóa đầu tiên (các lớp và các đối
tượng) cũng như cơ chế h ệ i n hữu trong phạm vi ấ
v n đề. Sau khi nhà phân tích đã nhận
biết được các lớp thành phần của mô hình cũng như mối quan hệ giữa chúng với nhau,
các lớp cùng các mối quan hệ đó sẽ được miêu tả bằng công cụ biểu đồ lớp (class
diagram) của UML. Sự cộng tác giữa các lớp nhằm thực hiện các Use case cũng sẽ được
miêu tả nhờ vào các mô hình động (dynamic models) của UML. Trong giai đoạn phân
tích, chỉ duy nhất các lớp có tồn tại trong phạm vi vấn đề (các khái niệm đời thực) là
được mô hình hóa. Các lớp kỹ thuật định ng ĩ
h a chi tiết cũng như giải pháp trong hệ thống
phần mềm, ví dụ như các lớp cho giao diện người dùng, cho ngân hàng dữ liệu, cho sự
giao tiếp, trùng hợp, v.v..., chưa phải là mối quan tâm của giai đoạn này.
1.3- Giai đon thiết kế:
Trong giai đoạn này, kết quả của giai đoạn phân tích ẽ
s được mở rộng thành một giải
pháp kỹ thuật. Các lớp mới sẽ được bổ sung để tạo thành một hạ tầng cơ sở kỹ thuật:
Giao diện người dùng, các chức năng để lưu trữ các đối tượng trong ngân hàng ữ d liệu,
giao tiếp với các hệ thống khác, giao diện với các thiết bị ngoại vi và các máy móc khác
trong hệ thống, .... Các lớp thuộc phạm vi ấ v n đề có ừ
t giai đoạn phân tích sẽ được
"nhúng" vào hạ tầng cơ sở kỹ thuật này, tạo ra khả năng thay đổi trong ả c hai phương
diện: Phạm vi vấn đề và hạ tầng cơ sở. Giai đoạn thiết kế sẽ đưa ra kết quả là bản đặc ả t
chi tiết cho giai đoạn xây dựng hệ thống.
1.4- Giai đon xây dng: