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 liu phc tp nht định khi được trình bày
bng đồ th s truyn ti đến người đọc nhiu thông tin hơn so vi các d liu thô". Vi
phn mm cũng vy, khi ngành Công nghip ca chúng ta ngày càng phát trin, các h
thng s tr nên phc tp hơn. Kh năng nm bt và kim soát s phc tp đó ca chúng
ta đi kèm vi kh năng trình bày h thng mt cách toàn din - mt s trình bày vưt ra
ngoài gii hn ca nhng dòng lnh thô. S thành công trên th trường ca nhng ngôn
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 đây, có mt thi gian dài, ngành công nghip chúng ta đã phi nói ti mt "Cuc
khng hong phn mm". Các cuc tranh lun đều da trên thc tế là chng nhng nhiu
đồ án phn mm không th sn sinh ra nhng h thng tho mãn đòi hi và nhu cu ca
khách hàng, mà còn vượt quá ngân sách và 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ư các môi trường phát trin 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 nht ca vic phát trin phn mm: phn viết lnh (coding). Mt trong
nhng vn đề chính ca ngành phát trin phn mm thi nay là có nhiu đồ án bt tay vào
lp trình quá sm và tp trung quá nhiu vào vic viết code. Lý do mt phn là do ban
qun tr thiếu hiu biết v quy trình phát trin phn mm và h ny lo âu khi thy đội
quân lp trình ca h không viết code. Và 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 là tác v mà h quen thuc! – hơn là 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:
Mô hình hoá trc quan là mt phương thc tư duy v vn đề s dng các mô 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 có 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ế, …). Mô 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. Mô hình giúp hiu
các đòi hi ca h thng tt hơn, to các thiết kế rõ ràng hơn và xây dng nên các h
thng d bo trì hơn.
Mô hình là kết qu ca s tru tượng hóa nhm miêu t các thành phn ct yếu ca mt
vn đề hay mt cu trúc phc tp qua vic lc bt các chi tiết không quan trng và làm
cho vn đề tr thành d hiu hơn. Tru tượng hóa là mt năng lc căn bn ca 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 phn mm cũng không là ngoi l. Để xây dng các h thng phc tp, nhà phát
trin phi tru tượng hóa nhiu hướng nhìn khác nhau ca h thng, s dng ký hiu
chính xác đểy dng mô hình, kim tra xem mô hình có tha mãn các đòi hi ca h
thng, và dn dn b sung thêm chi tiết để chuyn các mô hình thành thc hin.
Chúng ta xây dng mô hình cho các h thng phc tp bi chúng ta không th hiu thu
đáo nhng h thng như thế trong trng thái toàn vn ca chúng. Kh năng thu hiu và
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 dng. Nếu bn mun to mt túp lu góc vườn, bn có th bt tay vào xây
ngay. Nếu bn xây mt ngôi nhà, có l bn s cn ti bn v, nhưng nếu bn 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 vic phát trin đồ á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 gia các
thành phn trong đồ án, tránh b sa ly vào nhng chi tiết riêng bit ca tng thành phn.
Mt môi trường kinh doanh mang tính cnh tranh gay gt và 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 và 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 phn mm, 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 nghim ca nhiu nhà thiết kế và 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 phn mm rt khó hiu cho đúng nhng gì người dùng
cn
- Yêu cu ca người dùng thường thay đổi trong thi gian phát trin.
- Yêu cu thường được miêu t bng văn bn, dài dòng, khó hiu, nhiu khi thm
chí mâu thun.
- Đội quân phát trin phn mm, vn là người "ngoài cuc", rt khó nhn thc
thu đáo các mi quan h tim n và phc tp cn được th hin chính xác trong các ng
dng ln.
- Kh năng nm bt các d liu phc tp ca con người (ti cùng mt thi đim)
là có hn.
- Khó định lượng chính xác hiu sut ca thành phm và tha mãn chính xác s
mong ch t phía người dùng.
- Chn la phn cng và phn mm thích hp cho gii pháp là mt trong nhng
thách thc ln đối vi Designer.
Phn mm ngoài ra cn có kh năng thích ngm rng. Phn mm được thiết
kế tt là phn mm đứng vng trước nhng biến đổi trong môi trường, dù 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 mm tho mãn các yêu cu đó được coi là phn mm có kh
năng thích ng.
Mt phn mm có kh năng m rng là phn mm được thiết kế sao cho d phát trin
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 trin phn mm là:
- Hiu không đúng nhng gì người dùng cn
- Không th thích ng cho phù hp vi nhng thay đổi v yêu cu đối vi h
thng
- Các Module không khp vi nhau
- Phn mm khó bo trì và nâng cp, m rng
- Phát hin tr các l hng ca d án
- Cht lượng phn 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):
Vì phát trin phn mm là mt bài toán khó, nên có 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 ca mt phn mm, dn ti kết
qa khái nim Chu Trình Phát Trin Phn Mm (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) và người dùng (User) để phát trin
và thc hin mt h thng thông tin. Nhng hot động này được thc hin trong nhiu
giai đọan khác nhau.
Nhà phân tích (Analyst): là 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, nhn dng nhu cu ca mt t chc, xác định xem nhân
lc, phương pháp và công ngh máy tính có th làm sao để ci thin mt cách tt nht
công tác ca t chc này.
Nhà thiết kế (Designer): thiết kế h thng theo hướng cu trúc ca database, screens,
forms và reports – quyết định các yêu cu v phn cng và phn mm cho h thng cn
được phát trin.
Chuyên gia lĩnh vc (Domain Experts): là 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 phi là nhà lp
trình, nhưng h có th giúp nhà lp trình hiu yêu cu đặt ra đối vi h thng cn phát
trin. Quá trình phát trin phn mm s có rt nhiu thun li nếu đội ngũ làm phn mm
được s tr giúp ca h.
Lp trình viên (Programmer): là nhng 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 bng ngôn ng lp trình đã được thng nht.
Người dùng (User):đối tượng phc v ca h thng cn được phát trin.
Để cho rõ hơn, xin ly ví d v mt vn đề đơn gin sau:
Người bình thường chúng ta khi nhìn mt chiếc xe ô tô thường s có 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 tích nên được th
hin sao cho d hiu đối vi các chuyên gia lĩnh vc. Đây cũng là môt trong rt nhiu lý
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 phn mm có th được chia thành các giai đon 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ết kế h thng (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)