Chương 22. . Phân t Chương
Phân tíích hch hệệ ththốốngng
(cid:97) Vai trò phân tích hệ thống (PTHT)
(cid:97) Các đối tượng tham gia
p môn Công ngh
(cid:97) Kịch bản PTHT
Công nghệệ PhPhầần mn mềềmm NhNhậập môn Nhập môn Công nghệ Phần mềm Software Engineering)) Introduction toto Software Engineering ((Introduction (Introduction to Software Engineering)
(cid:97) Chuẩn bị PTHT
PGS.TS. Phan Huy Khánh
(cid:97) Quy trình phân tích hệ thống
khanhph29@gmail.com, phkhanh@dut.udu.vn
(cid:97) Phương pháp và công cụ PTHT
. Phân tíích hch hệệ ththốốngng Chương 22. Phân t Chương Chương 2. Phân tích hệ thống
2/2/5555
Vai trò phân tích hệ thống (PTHT)
Các yếu tố cơ bản trong PTHT
(cid:97) Là bước đầu tiên, quan trọng của một dự án phát triển PM,
(cid:97) PTHT có vai trò quyết định sự thành-bại của một dự án CNTT-Tin học nói chung, một sản phẩm PM nói riêng
thường do các chuyên gia PTHT (Analyst) đảm nhiệm
(cid:97) PTHT cần xác định được :
(cid:97) Công việc PTHT bao gồm :
(cid:86) Tìm hiểu, thu thập yêu cầu về quy trình nghiệp vụ hiện tại
ng tham gia : (cid:86)(cid:86) CCáác đc đốối tưi tượợng tham gia : (cid:153) Khách hàng (bên A)
(cid:153) Người phát triển (bên B)
(cid:86) Xác lập các quy trình sẽ được phát triển/thay thế bằng máy tính
(cid:153) Người sử dụng (NSD) (bên C)
(cid:86) Xác thực chi tiết các yêu cầu/tính năng của hệ thống
(cid:86) Phương pháp triển khai PTHT phù hợp :
(cid:97) Kết quả của PTHT :
(cid:153) Phương pháp hướng chức năng/cấu trúc (Structured)
(cid:86) Là các đặc tả tính năng hệ thống dưới dạng sơ đồ, mô hình...
(cid:153) Phương pháp hướng đối tượng (Object-Oriented)
(cid:86) Là đầu vào của quá trình thiết kế hệ thống tiếp theo
(cid:86) Môi trường phát triển (hệ thống phần cứng, hệ điều hành…)
(cid:86) Công nghệ, phương tiện phần mềm (MidleWare) sử dụng
(thủ công hoặc đã có sử dụng một phần CNTT)
3/3/5555
4/4/5555
ng tham gia trong PTHT CCáác đc đốối tưi tượợng tham gia trong PTHT
Kịch bản phân tích hệ thống
BB
AA
(cid:97) Khách hàng (bên A) và người phát triển (bên B) gặp nhau để thảo luận về yêu cầu của hệ thống PM cần xây dựng
Người phát triển Người phát triển (Developers) (Developers)
Khách hàng Khách hàng (Customers) (Customers)
(cid:97) Nhiệm vụ PTHT của người phát triển (bên B) :
Hợp đồng/dự án
(cid:86) Tìm hiểu, PT yêu cầu của khách hàng và NSD (bên C)
(cid:86) Đặc tả kết quả PTHT :
(cid:153) Xây dựng các mô hình chức năng, mô hình dữ liệu
(cid:153) Xác định các khái niệm, đặc thù của HTPM, ý nghĩa, cấu trúc…
Sản phẩm Sản phẩm (Product) (Product)
Cung cấp SP Tạo ra SP
(cid:153) Tổ chức giao tiếp vào-ra
(cid:153) Xác định các yếu tố về môi trường, công cụ triển khai, cài đặt…
Phân tích hiện trạng/ nhu cầu Quan hệ khách hàng
(cid:86) Kiểm chứng (Verification) và hợp thức (Validate)
(cid:86) Thống nhất với khách hàng về kết quả PTHT trước khi thiết kế, triển khai xây dựng HTPM
Người sử dụng Người sử dụng (End-Users) (End-Users)
(NSD)
CC
Sử dụng (cầu) SP
5/5/5555
6/6/5555
Nhập môn CNPM - Ch2. PT Hệ thống
1
Chuẩn bị phân tích hệ thống
XXáác đc địịnh bnh bảản chn chấất yêu c
u PM t yêu cầầu PM
nh PM theo 3 loạại mi mụục đc đíích tch tạạo lo lậập :p :
(cid:97)(cid:97) BưBướớc chu
c chuẩẩn bn bịị PTHT c
PTHT cầần xn xáác đc địịnh đư
nh đượợc :c :
(cid:86)(cid:86) XXáác đc địịnh bnh bảản chn chấất yêu c
t yêu cầầu PMu PM
(cid:86)(cid:86) XXáác đc địịnh ch
nh chứức năng c
c năng cáác thc thàành ph
nh phầần cn củủa PMa PM
(cid:86)(cid:86) XXáác đc địịnh nh
y sinh trong PTHT nh nhữững vng vấấn đn đềề nnảảy sinh trong PTHT
chi phíí ccụụ ththểể
XXáác đc địịnh PM theo 3 lo PM theo hợợp đp đồồngng (cid:97)(cid:97) PM theo h (cid:86)(cid:86) CCóó khkháách hch hààng ng ccụụ ththểể (cid:86)(cid:86) CCóó yêu c yêu cầầu u ccụụ ththểể (cid:86)(cid:86) CCóó ththờời hi hạạn vn vàà chi ph (cid:86)(cid:86) CCóó trtráách nhi ch nhiệệm bm bảảoo trtrìì PM khung (cid:97)(cid:97) PM khung (cid:86)(cid:86) Không c (cid:86)(cid:86) Không c (cid:86)(cid:86) CCóó ththểể xây d (cid:97)(cid:97) PM đPM đóóng gng góóii Không cóó khkháách hch hààng ng ccụụ ththểể (cid:86)(cid:86) Không c c yêu cầầuu ccụụ ththểể Không cóó ccáác yêu c (cid:86)(cid:86) Không c (cid:86)(cid:86) ĐưĐượợc bc báán rn rộộng rãi ng rãi (cid:86)(cid:86) Không b
Không cóó khkháách hch hààng ng ccụụ ththểể c yêu cầầuu ccụụ ththểể Không cóó ccáác yêu c xây dựựng vng vàà ááp dp dụụng nhanh theo nhu c ng nhanh theo nhu cầầuu ththựực tic tiễễnn
Không bảảo tro trìì, , chchỉỉ nâng c nâng cấấp phiên b p phiên bảảnn
7/7/5555
8/8/5555
XXáác đc địịnh ch
nh chứức năng c
c năng cáác thc thàành ph
nh phầần cn củủa PMa PM
ChChứức năng c
c năng cáác thc thàành ph
nh phầần cn củủa PMa PM
(cid:97)(cid:97) Giao di
Giao diệệnn (cid:86)(cid:86) TiTiếếp nhp nhậận cn cáác yêu c
Phần mềm Phần mềm
(cid:86)(cid:86) TrTrìình bnh bàày ky kếết qut quảả ththựực hic hiệện (xn (xửử lý) yêu c
(cid:86)(cid:86) LLàà hhệệ ththốống gng gồồm cm cáác hc hààm/thm/thủủ ttụục vc vààoo--rara
(cid:97)(cid:97) XXửử lýlý
(cid:86)(cid:86) KiKiểểm tra t
c yêu cầầu, du, dữữ liliệệu (DL) c a NSD u (DL) củủa NSD lý) yêu cầầuu
Xử lý
(cid:86)(cid:86) XXửử lý/t
Giao Giao diện diện
Tổ chức Tổ chức dữ liệu dữ liệu
(cid:86)(cid:86) LLàà hhệệ ththốống cng cáác hc hààm/thm/thủủ ttụục chuyên v
(cid:97)(cid:97) TTổổ chchứức dc dữữ liliệệuu
(cid:86)(cid:86) Lưu tr
m tra tíính hnh hợợp lp lệệ ccủủa DL do NSD cung c a DL do NSD cung cấấpp lý/tíính to nh toáán cho ra k n cho ra kếết qut quảả c chuyên vềề xxửử lý/t lý/tíính to nh toáánn
NSD
Phần cứng Phần cứng
(cid:86)(cid:86) Truy xu
(cid:86)(cid:86) LLàà hhệệ ththốống cng cáác hc hààm/thm/thủủ ttụục chuyên v
Lưu trữữ llạại ci cáác kc kếết qut quảả đã x đã xửử lý theo c lý theo cáác mô h c mô hìình, ki nh, kiểểu DLu DL Truy xuấất lt lạại ci cáác dc dữữ liliệệu đã lưu tr u đã lưu trữữ c chuyên vềề đ đọọcc--ghi d ghi dữữ liliệệuu
9/9/5555
10/10/5555
c năng BBảảng tng tóóm tm tắắt ct cáác chc chứức năng
Xác định những vấn đề nảy sinh
(cid:97) Thường nảy sinh những vấn đề khi PTHT
(cid:97) Đối với người PTHT (bên B) :
(cid:86) Có sự cách biệt về chuyên môn, về sự hiểu biết lĩnh vực cần PTHT
(cid:97) Đối với NSD (End-User) :
(cid:86) Chưa hiểu hết, lường trước được quy trình làm việc của HTPM
(cid:86) Định hướng ứng dụng lâu dài chưa có, hoặc chưa rõ ràng
(cid:97) Đối với hệ thống sẽ phát triển :
(cid:86) Điều kiện cơ sở hạ tầng phục vụ hoạt động của hệ thống
(cid:86) Tính sẵn sàng thông tin của các hệ thống hiện tại
(cid:86) Công cụ/ngôn ngữ sử dụng để đặc tả hệ thống, kết quả phân tích
SttStt c năng ChChứức năng Ghi chúú Ghi ch ThThàành nh phphầầnn HHààm/m/ ThThủủ ttụụcc u, DL vààoo VVààoo NhNhậập yêu c p yêu cầầu, DL v 11 Giao di Giao diệệnn CCầần xn xáác đc địịnh hnh hìình th nh thứức c nhnhậập/xup/xuấất vt vàà ttổổ chchứức DL c DL tương ứứngng tương RaRa Đưa ra kếết qut quảả đã x Đưa ra k đã xửử lýlý và khả năng ứng dụng PM cho công việc của họ KiKiểểm tram tra m tra tíính hnh hợợp lp lệệ a DL vààoo KiKiểểm tra t ccủủa DL v SSửử ddụụng cng cáác hc hààmm NhNhậập,p, Đ Đọọc vc vàào DLo DL 22 XXửử lýlý XXửử lýlý SSửử ddụụng cng cáác hc hààmm NhNhậập, Xu c, Ghi p, Xuấất,t, Đ Đọọc, Ghi lý tíính to XXửử lý t nh toáán cn cáácc phpháát sinh, c t sinh, cáác bic biếến đn đổổi i trên DL trên DL c DL từừ bbộộ nhnhớớ phphụụ tương tác với hệ thống sẽ xây dựng trong tương lai ĐĐọọcc ch thứức c ĐĐọọc DL t vvàào bo bộộ nhnhớớ chchíínhnh 33 DDữữ liliệệuu c lưu trữữ DLDL CCầần xn xáác đc địịnh cnh cáách th ttổổ chchứức lưu tr theo mô hìình, ki theo mô h nh, kiểểu DLu DL GhiGhi Ghi DL từừ bbộộ nhnhớớ chchíính nh Ghi DL t vvàào bo bộộ nhnhớớ phphụụ
11/11/5555
12/12/5555
Nhập môn CNPM - Ch2. PT Hệ thống
2
Những khó khăn của PTHT
Quy trình phân tích hệ thống
(cid:97) Những vấn đề nảy sinh đối với khách hàng (bên A) :
(cid:97) Quy trình PTHT gồm 2 hoạt động cơ bản : 1. Tìm hiểu hệ thống hiện tại, thu thập thông tin
(cid:86) Thường mơ hồ về yêu cầu, không biết rõ mình muốn gì,
dễ lẫn lộn giữa yêu cầu và mong muốn
(cid:86) Thể hiện yêu cầu theo thuật ngữ chuyên môn riêng của họ, thường mang tính đặc thù, khó hiểu, khó có chuẩn chung
(cid:86) Khách hàng đa dạng, có thể có yêu cầu mâu thuẫn nhau
và mô phỏng/xây dựng lại hiện trạng của hệ thống (cid:86) Các quy trình hoạt động /nghiệp vụ (cid:86) Phương thức và ý nghĩa của các quá trình xử lý (cid:86) Dữ liệu/thông tin của hệ thống (cid:86) Cơ sở hạ tầng hiện có : thiết bị, con người, quan hệ…
(cid:97) Những khó khăn khác :
(cid:86) Yếu tố tổ chức, chính sách có thể ảnh hưởng đến PTHT
(cid:86) Các yêu cầu thay đổi trong quá trình PTHT :
2. Xác định yêu cầu của hệ thống (cid:86) Các yêu cầu về chức năng (cid:86) Các yêu cầu về môi trường vận hành : thiết bị, con người
(cid:153) Môi trường nghiệp vụ thay đổi
(cid:97) Tại mỗi bước triển khai, người PT
(cid:153) Có người liên quan mới xuất hiện
sử dụng các công cụ đặc tả để biểu diễn kết quả PTHT
(cid:153) Xu thế phát triển đời sông, xã hội, kinh tế…
13/13/5555
14/14/5555
Tham khảảo trang web Tham kh
http://vi.wikipedia.org/ o trang web http://vi.wikipedia.org/
Tìm hiểu hệ thống hiện tại
(cid:97) Các hoạt động chính của tiến trình thu thập thông tin,
(cid:97)(cid:97) Phân t
Phân tíích yêu c
ch yêu cầầu gu gồồm ba lo
m ba loạại hoi hoạạt đt độộng :ng :
tìm hiểu hệ thống hiện tại bao gồm :
(cid:97)(cid:97) LLààm rõ yêu c
u (Eliciting Requirements) : m rõ yêu cầầu (Eliciting Requirements) :
(cid:86) Tìm hiểu miền ứng dụng
(cid:86)(cid:86) Giao ti
Giao tiếếp vp vớới khi kháách hch hààng vng vàà NSD đ
NSD đểể xxáác đc địịnh yêu c
nh yêu cầầu cu củủa ha họọ
(cid:86) Phát hiện, thu thập yêu cầu
(cid:97)(cid:97) Xem x
Xem xéét yêu c
u (Analyzing Requirements) : t yêu cầầu (Analyzing Requirements) :
(cid:86) Phân loại yêu cầu
nh trạạng cng củủa yêu c
a yêu cầầu :u :
(cid:86) Giải quyết xung đột (nếu có)
(cid:86)(cid:86) XXáác đc địịnh tnh tìình tr rõ rààng, ho rõ r
ng, hoààn chn chỉỉnh,nh, đa ngh
đa nghĩĩa, hay mâu thu
a, hay mâu thuẫẫnn
(cid:86) Sắp xếp ưu tiên các yêu cầu
(cid:86)(cid:86) KhKhảả năng gi
năng giảải quy
i quyếết ct cáác vc vấấn đn đềề đ đóó
(cid:86) Thẩm định yêu cầu
(cid:97)(cid:97) ViViếết tt tàài li
i liệệu yêu c
u (Recording Requirements) : u yêu cầầu (Recording Requirements) :
(cid:86)(cid:86) CCáác yêu c
i theo nhiềều hu hìình th
nh thứức,c,
c ghi lạại theo nhi ng ngôn ngữữ ttựự nhiên, c
nhiên, cáácc ttìình hu
nh huốống sng sửử
c yêu cầầu đưu đượợc ghi l chchẳẳng hng hạạn dn dùùng ngôn ng ddụụngng (use case), ho
(use case), hoặặc cc cáác đc đặặc tc tảả titiếến trn trììnhnh
15/15/5555
16/16/5555
Đặc tả sử dụng phương pháp mô hình hóa
Mô hình tiến trình tìm hiểu HT
(cid:97) Trong tiến trình phân tích yêu cầu, người PT thường
sử dụng phương pháp mô hình hóa để đặc tả kết quả
(cid:97) Các yếu tố được mô hình hóa gồm :
(cid:86) Miền thông tin-dữ liệu liên quan
(cid:86) Các chức năng của hệ thống
Đặc tả Đặc tả yêu cầu yêu cầu
(cid:86) Các hành vi có thể
(cid:86) …
Sắp xếp thứ tự Sắp xếp thứ tự ưu tiên ưu tiên Tìm hiểu Tìm hiểu miền ứng dụng miền ứng dụng Thẩm định Thẩm định yêu cầu yêu cầu
Phân loại Phân loại các yêu cầu các yêu cầu Thu thập Thu thập yêu cầu yêu cầu Giải quyết Giải quyết xung đột xung đột
17/17/5555
18/18/5555
Nhập môn CNPM - Ch2. PT Hệ thống
3
Mô hình hóa miền thông tin
Mô hình hóa chức năng
(cid:97) NPT phải hiểu rõ và biểu diễn được miền thông tin
i thông tin, ng tin họọc lc làà bibiếến đn đổổi thông tin,
(Problem Domain) :
(cid:97)(cid:97) BBảản chn chấất ct củủa ha hệệ ththốống tin h nh đượợc :c :
(cid:86) Xác định các thực thể dữ liệu (đối tượng)
PTHT phảải xi xáác đc địịnh đư PTHT ph (cid:86)(cid:86) CCáác chc chứức năng
c năng (bi(biếến đn đổổi thông tin) c
i thông tin) củủa HTa HT
(cid:86) Xác định các thuộc tính của chúng
(cid:86)(cid:86) CCáách th
ch thứức dc dữữ liliệệu (thông tin) di chuy
u (thông tin) di chuyểển trong h
n trong hệệ ththốống ng
(lu(luồồng dng dữữ liliệệu)u)
(cid:86) Thiết lập các mối quan hệ giữa các dữ liệu
(cid:86)(cid:86) XXáác đc địịnh cnh cáác tc táác nhân t
c nhân tạạo do dữữ liliệệu (ngu
u (nguồồn)n)
(cid:97)(cid:97) VVíí ddụụ trong b
trong bàài toi toáán qun quảản lý b
n lý báán hn hààng, mng, mốối i quan hệ giữa
vvàà ttáác nhân ti
c nhân tiếếp nhp nhậận dn dữữ liliệệu u ((đđíích)ch)
các đối tượng dữ liệu được mô hình hóa như sau :
(cid:97)(cid:97) VVíí ddụụ sơ đ
sơ đồồ DFD trong b
DFD trong bàài toi toáán qun quảản lý Phòng kh
n lý Phòng kháám bm bệệnh :nh :
NHÂNVIÊN
MẶTHÀNG
1-n
1−n
BÁN
MãHG
TênHG ĐơnVịHG
Đề nghị khám
GiáBán SốLượngBán NgàyBán
HT quảản lýn lý HT qu HT quản lý Phòng kháám bm bệệnhnh Phòng kh Phòng khám bệnh
MãNV TênNV ĐịaChỉNV ĐTNV
Chẩn bệnh, điều trị (kê toa) Bệnh nhân Thanh toán tiền
19/19/5555
20/20/5555
Mô hình hóa hành vi
Phát hiện, thu thập yêu cầu
i PT cóó ththểể phphốối hi hợợp sp sửử ddụụng mng mộột, ho
t, hoặặc nhi
c nhiềều,u,
(cid:97)(cid:97) NgưNgườời PT x
i PT xáác đc địịnh đư
nh đượợc :c :
p thu thậập yêu c
u như sau :: p yêu cầầu như sau
ng tháái ci củủa ha hệệ ththốống tng tạại mi mỗỗi thi thờời đi i khi xuấất hi
ng thay đổổi mi mỗỗi khi xu
i điểểmm t hiệện sn sựự kikiệệnn
ng câu hỏỏii
nh vi hệệ ththốống thay đ y pha càà phê : phê : ng tháái : ngh
(cid:86)(cid:86) CCáác trc trạạng th (cid:86)(cid:86) HHàành vi h (cid:97)(cid:97) VVíí ddụụ mmááy pha c (cid:86)(cid:86) CCóó 2 tr2 trạạng th (cid:86)(cid:86) Thay đ
Thay đổổi hi hàành vi m
i : nghỉỉ, l, lààm vim việệcc nh vi mỗỗi khi NSD b
i khi NSD bậật/tt/tắắt công t
t công tắắcc
Nghiên cứứu tu tàài li Truy cậập internet
i liệệuu p internet……
(cid:97)(cid:97) NgưNgườời PT c phương phááp thu th phương ph (cid:86)(cid:86) PhPhỏỏng vng vấấn trn trựực tic tiếếpp thăm dò Quan sáát, t, thăm dò (cid:86)(cid:86) Quan s u tra bằằng bng bảảng câu h (cid:86)(cid:86) ĐiĐiềều tra b (cid:86)(cid:86) Nghiên c (cid:86)(cid:86) Truy c (cid:86)(cid:86) ……
(cid:97)(cid:97) VVíí ddụụ nguyên lý c
nguyên lý củủa phương ph
a phương phááp php phỏỏng vng vấấn trn trựực tic tiếếpp
p thông tin qua cáác câu h
Thu nhậập thông tin qua c
c câu hỏỏi vi vàà ccáác câu tr
c câu trảả llờờii
Bật công tắc 1. Nghỉ 1. Nghỉ
t câu hỏỏi cho đ
i cho đốối tưi tượợng cng cầần đưn đượợc khc khảảo so sáátt
(cid:86)(cid:86) Thu nh (cid:86)(cid:86) ĐĐặặt câu h (cid:86)(cid:86) Ghi kGhi kếết qut quảả phphỏỏng vng vấấn vn vàào phi
o phiếếu hay b
u hay bááo co cááo khi k
o khi kếết tht thúúcc
• Có điện • Đèn sáng • Cà phê được pha • Cắt điện • Tắt đèn • Chuẩn bị nước, cà phê 2. Làm việc 2. Làm việc (pha cà phê) (pha cà phê) Tắt công tắc
21/21/5555
22/22/5555
Phân loại yêu cầu
VVíí ddụụ thu thập yêu c
yêu cầầuu
(cid:97) Các yêu cầu có thể phân loại theo hai cách :
(cid:97)(cid:97) Trong b
n lý thưư viviệện,n, nh đượợc cc cáác yêu c
c yêu cầầu :u :
1. Phân loại theo đặc trưng :
Trong bàài toi toáán qun quảản lý th i PT xáác đc địịnh đư ngưngườời PT x (cid:86)(cid:86) LLậập thp thẻẻ đ độộc gic giảả
(cid:86) Yêu cầu tương hỗ :
(cid:86)(cid:86) TiTiếếp nhp nhậận sn sáách/t
ch/tàài li
i liệệu mu mớớii
Chịu ảnh hưởng của môi trường
(cid:86)(cid:86) LLậập chp chỉỉ mmụục, c, lưu tr
lưu trữữ……
(cid:86) Yêu cầu nảy sinh :
(cid:86)(cid:86) TTììm kim kiếếm, tra c
m, tra cứứuu
Nhận ra trong quá trình phát triển HT
(cid:86)(cid:86) Cho mư
Cho mượợnn
(cid:86) Yêu cầu hệ quả :
(cid:86)(cid:86) NhNhậận trn trảả, x, xửử lý t
lý tìình hu
nh huốống (ph
ng (phạạt,t, đ đềềnn……))
Là kết quả của việc áp dụng hệ thống dựa trên máy tính
(cid:86)(cid:86) LLậập bp bááo co cááo cuo cuốối ki kỳỳ (th(thááng, quý
ng, quý…… hay h
hay họọc kc kỳỳ, , năm h
năm họọc)c)
(cid:86) Yêu cầu tương thích :
(cid:86)(cid:86) ……
Phụ thuộc vào hệ khác hay tiến trình tổ chức
2. Phân loại theo mức độ quan trọng : chính, phụ
23/23/5555
24/24/5555
Nhập môn CNPM - Ch2. PT Hệ thống
4
Thẩm định yêu cầu
Nghiên cứu khả thi
(cid:97) Thẩm định yêu cầu nhằm đạt được :
(cid:97) Mục tiêu của nghiên cứu khả thi là đi đến kết luận :
(cid:86) Tính rõ ràng, minh bạch
(cid:86) Có nên phát triển hệ thống hay không ?
(cid:86) Tính đúng đắn, đầy đủ, nhất quán, hiện thực…
(cid:86) Nếu khả thi, xây dựng nội dung nghiên cứu
(cid:86) Tính kiểm tra được
(cid:97) Nội dung nghiên cứu khả thi tập trung trả lời
các câu hỏi sau :
(cid:97) Các câu hỏi liên quan :
(cid:86) Hệ thống được xây dựng sẽ giúp gì cho tổ chức ?
(cid:86) Còn nhu cầu nào của người dùng chưa kể đến ?
(cid:86) Hệ thống sử dụng công nghệ nào, kinh phí bao nhiêu,
(cid:86) Có gì mâu thuẫn nhau ?
thời gian bao lâu ?
(cid:86) Chức năng; ràng buộc gì chưa kể ?
(cid:86) Hệ thống cần phải tích hợp với các hệ thống nào
(cid:86) Có thực hiện được không ?
hiện đang sử dụng ?
(cid:86) Có thể kiểm tra nó thế nào ?
(cid:86) …
25/25/5555
26/26/5555
Triển khai nghiên cứu khả thi
Phương pháp và công cụ PTHT
(cid:97) Báo cáo khả thi được xây dượng :
(cid:97) Hiện nay phổ biến hai phương pháp PTHT, t triểển cn củủa ka kỹỹ thuthuậật lt lậập trp trìình nh :
đi tđi từừ ssựự phpháát tri
(cid:86) Dựa trên thông tin, báo cáo thu thập được,
những đánh giá ban đầu về hệ thống hiện tại
1. Phương pháp PTHT theo hướng chức năng được phát triển từ kỹ thuật lập trình cấu trúc :
(cid:86) Những phác thảo về phương án dự kiến
(cid:86) Các bước PT thực hiện đồng thời, xen kẽ nhau
(cid:97) Câu hỏi người PT đặt ra :
(cid:86) Sử dụng các lược đồ DFD, ERD
(cid:86) Cái gì xẩy ra nếu hệ thống không được triển khai ?
2. Phương pháp hướng đối tượng (HĐT)
(cid:86) Những vấn đề gì đang đặt ra cần giải quyết ?
được phát triển từ kỹ thuật lập trình HĐT (OOP)
(cid:86) Hệ thống được đề suất trợ giúp họ như thế nào ?
(cid:86)(cid:86) Hơn Hơn 50 p50 phương ph
hương phááp php pháát tri
t triểển HĐT
n HĐT đã được đề xuất,
(cid:86) Những tích hợp gì cần phải có ?
trong đóó ccóó ccáác phương ph trong đ
c phương phááp OOD, OOSE v
p OOD, OOSE vàà OMTOMT
(cid:86) Công nghệ mới gì, kỹ năng gì cần có ?
(cid:86) Hiện nay UML được sử dụng thống nhất và phổ biến
(cid:86) Những tiện ích gì cần sự trợ giúp từ hệ thống
27/27/5555
28/28/5555
Phân cấấp cp củủa ca cáác phương th Phân c
c phương thứức lc lậập trp trììnhnh
SSựự phpháát tri
t triểển cn củủa ka kỹỹ thuthuậật lt lậập trp trììnhnh
n nay đã cóó nhinhiềềuu
(cid:97)(cid:97) Sau hơn n
t triểển, nn, nổổi bi bậật nht nhấất lt làà ::
nh đã đượợc phc pháát tri c đơn giảảnn
nh đơn thểể
Phương thức lập trình Phương thức lập trình
Theo chức năng (How?) Theo mô tả (What?)
Sau hơn nửửa tha thếế kkỷỷ, c, cho đho đếến nay đã c kkỹỹ thuthuậật lt lậập trp trìình đã đư (cid:86)(cid:86) LLậập trp trìình bnh bởởi mi mộột tht thủủ ttụục đơn gi (cid:86)(cid:86) LLậập trp trìình đơn th (cid:86)(cid:86) LLậập trp trìình cnh cấấu tru trúúc c (cid:86)(cid:86) LLậập trp trìình hư
Mệnh lệnh Mệnh lệnh Khai báo Khai báo
nh hướớng đng đốối tưi tượợngng
(cid:97)(cid:97) NgoNgoàài ra còn c
i ra còn cóó rrấất nhi
c đã đượợcc
t nhiềều ku kỹỹ thuthuậật lt lậập trp trìình kh i xu thếế phpháát tri
nh kháác đã đư c ngôn ngữữ t triểển cn cáác ngôn ng
t triểển,n, đ đồồng th
ng thờời vi vớới xu th phương thứứcc (phong c
đgl phương th
(phong cáách, hay ki
ch, hay kiểểu) lu) lậập trp trììnhnh
phpháát tri llậập trp trìình,nh, đgl (Paradigm) (Paradigm) (cid:86)(cid:86) MMộột t phương th
phương thứức lc lậập trp trììnhnh đư đượợc hic hiểểu lu làà mmộột tt tậập hp hợợp cp cáác tc tíính nh
c trưng cho mộột lt lớớp p
năng trừừu tưu tượợngng ( (Abstract Features) năng tr ngôn ngữữ mmàà ccóó nhinhiềều ngư ngôn ng
Abstract Features) đ đặặc trưng cho m nh thườờng xuyên s
u ngườời li lậập trp trìình thư
ng xuyên sửử ddụụngng
Lôgic Lôgic HàmHàm Thủ tục Thủ tục Xử lý Xử lý song song song song Hướng Hướng đối tượng đối tượng Cơ sở Cơ sở dữ liệu dữ liệu
29/29/5555
30/30/5555
Nhập môn CNPM - Ch2. PT Hệ thống
5
LiLiệệt kê ngôn ng
t kê ngôn ngữữ llậập trp trìình theo phương th
nh theo phương thứứcc
LLậập trp trìình bnh bởởi mi mộột tht thủủ ttụục đơn gi
c đơn giảảnn
(cid:97)(cid:97) Ngôn ng
(cid:97)(cid:97) NNộội dung phương ph
(cid:86)(cid:86) HHầầu như ch
t ngườời, hay m
i, hay mộột nht nhóóm nhm nhỏỏ llàà ttáác gic giảả ccủủa a
(cid:97)(cid:97) Ngôn ng
i dung phương phááp :p : u như chỉỉ ccóó mmộột ngư t chương trìình, t
mmộột chương tr
nh, tựự do quy
do quyếết đt địịnh vnh vớới ci cáái nhi nhììn tn tổổng th
ng thểể
(cid:97)(cid:97) HHạạn chn chếế ::
(cid:97)(cid:97) Ngôn ng
i quyếết đưt đượợc cc cáác bc bàài toi toáán cn cóó phphạạm vi nh
m vi nhỏỏ, không th
i quyếết đưt đượợc nhc nhữững bng bàài toi toáán cn cóó phphạạm vi lm vi lớớn như hi
, không thểể n nay n như hiệện nay
oriented) : ng (object--oriented) : nh hướớng đng đốối tưi tượợng (object
(cid:86)(cid:86) ChChỉỉ gigiảải quy gigiảải quy n nay : (cid:97)(cid:97) ThThựực tc tếế hihiệện nay :
(cid:86)(cid:86) Nhu c
u ngườời phân t
i phân tíích, ch,
(cid:97)(cid:97) Ngôn ng (cid:97)(cid:97) Ngôn ng (cid:97)(cid:97) Ngôn ng
Nhu cầầu bu bàài toi toáán cn cààng lng lớớn thn thìì ccầần cn cóó nhinhiềều ngư ccầần nhi
n trao đổổi ri rấất lt lớớn,n,
(cid:97)(cid:97) NgoNgoàài ra còn c
ccầần nhi
nh phân bổổ (Distributed Programming) (Distributed Programming) c (Constraint Programming) ng buộộc (Constraint Programming)
Oriented Programming) p (Access--Oriented Programming)
ng truy cậập (Access
u chuyên gia n nhiềều chuyên gia ng thông tin cầần trao đ (cid:86)(cid:86) KhKhốối lưi lượợng thông tin c lý phứức tc tạạpp u khâu xửử lý ph n nhiềều khâu x i gian (cid:86)(cid:86) Đòi hĐòi hỏỏi ci cóó nhinhiềều thu thờời gian ng, bààn bn bạạc quy thương lượợng, b
đđểể thương lư
c quyếết đt địịnh vnh vàà phpháát tri
t triểểnn
a logic (logic--based) ch based) chủủ yyếếu lu làà ngôn ng Prolog (1970) ngôn ngữữ Prolog (1970) u SQL (1980)... c cơ sởở ddữữ liliệệu SQL (1980)... thao táác cơ s
nh hướớng truy c u (Dataflow Programming), v.v... nh theo luồồng dng dữữ liliệệu (Dataflow Programming), v.v...
Ngôn ngữữ mmệệnh lnh lệệnh (imperative) : nh (imperative) : 71), Ada (1979)... Fortran (1957), Cobol (1959), Basic (1965), Pascal (1970), C (1971), Ada (1979)... Fortran (1957), Cobol (1959), Basic (1965), Pascal (1970), C (19 Ngôn ngữữ đ địịnh hư 00)... Smalltalk (1969), C++ (1983), Eiffel (1986), Java (1991), C# (2000)... Smalltalk (1969), C++ (1983), Eiffel (1986), Java (1991), C# (20 Ngôn ngữữ hhààm (functional) : m (functional) : Lisp (1958), ML (1973), Scheme (1975), Caml (1987), Miranda (1982)...2)... Lisp (1958), ML (1973), Scheme (1975), Caml (1987), Miranda (198 Ngôn ngữữ ddựựa logic (logic Ngôn ngữữ thao t lý song song (parallel) : Ngôn ngữữ xxửử lý song song (parallel) : Linda... Ada, Occam (1982), C--Linda... Ada, Occam (1982), C i ra còn cóó :: (cid:86)(cid:86) LLậập trp trìình phân b (cid:86)(cid:86) LLậập trp trìình rnh rààng bu (cid:86)(cid:86) LLậập trp trìình hư (cid:86)(cid:86) LLậập trp trìình theo lu
31/31/5555
32/32/5555
LLậập trp trìình đơn th
nh đơn thểể
LLậập trp trìình cnh cấấu tru trúúcc
(cid:97)(cid:97) NNộội dung phương ph
i dung phương phááp :p :
(cid:86)(cid:86) LLàà kkếết qut quảả ccủủa la lậập trp trìình đơn th
nh đơn thểể
(cid:97)(cid:97) MMụục đc đíích :ch : Chia bàài toi toáán thn thàành nhi (cid:86)(cid:86) Chia b (cid:86)(cid:86) MMỗỗi bi bàài toi toáán đưn đượợc xây d
nh phầần nhn nhỏỏ hơn hơn n riêng rẽẽ
t triểển riêng r
(cid:86)(cid:86) SSửử ddụụng phân t
ng phân tíích hư
nh nhiềều bu bàài toi toáánn--ththàành ph ng & pháát tri c xây dựựng & ph đđểể ttừừ đ đóó hhợợp lp lạại, ti, tổổ hhợợp lp lạại thi thàành hnh hệệ ththốống đng đầầy đy đủủ
đđểể nhnhậận đưn đượợc chương tr
ch hướớng ch c chương trìình, t
ng chứức năng đ nh, theo hư
c năng đểể chia nh heo hướớng tng từừ trên xu
chia nhỏỏ bbàài toi toáán,n, trên xuốốngng
(cid:97)(cid:97) Ưu thƯu thếế ccủủa a phương ph
phương phááp :p :
(cid:86)(cid:86) CCáác chc chứức năng trao đ
c năng trao đổổi vi vớới nhau b
i nhau bằằng truy
ng truyềền tham s
n tham sốố hohoặặc c
nh con c chương trìình con
ddữữ liliệệu (ch
ng chung u (chẳẳng hng hạạn bin biếến ton toààn cn cụục) dc) dùùng chung
khai tháác (gc (gọọi) bi) bấất ct cứứ llúúc nc nààoo
(cid:86)(cid:86) ThThựực hic hiệện song song hai qu
n song song hai quáá trtrìình :nh :
Đã đượợc phc pháát tri
t triểển mn mạạnh mnh mẽẽ, , đđạạt đưt đượợc rc rấất nhi
t nhiềều tiu tiếến bn bộộ
(cid:153)(cid:153) Đơn th
(cid:86)(cid:86) HHệệ ththốống lng làà ttậập hp hợợp cp cáác chương tr (cid:86)(cid:86) CCóó ththểể khai th (cid:86)(cid:86) Đã đư (cid:97)(cid:97) HHạạn chn chếế ::
(cid:153)(cid:153) Đơn th
o, phứức tc tạạpp
(cid:86)(cid:86) Đòi hĐòi hỏỏi ti tíính knh kỷỷ luluậật cao do ph i chương trìình con ngo (cid:86)(cid:86) ViViệệc gc gọọi chương tr c chương trìình kh (cid:86)(cid:86) CCấấu tru trúúc chương tr
t cao do phảải li lààm vim việệc tc tậập thp thểể nh con ngoắắt ngo nh khóó hihiểểu, kh
t ngoééo, ph u, khóó bbảảo tro trìì
Đơn thểể hohoáá ththủủ ttụục (xc (xửử lý hay l lý hay lệệnh th nh thựực hic hiệện)n) Đơn thểể hohoáá ddữữ liliệệu su sửử ddụụng hai phương ph n lý : ng hai phương phááp qup quảản lý : •• Phân chia d Phân chia dữữ liliệệu hou hoààn ton toàànn •• Đơn th nh con c chương trìình con Đơn thểể hohoáá ddữữ liliệệu bu bởởi ci cáác chương tr
33/33/5555
34/34/5555
Phương phááp qup quảản lý d Phương ph
u phân chia n lý dữữ liliệệu phân chia
c năng Phân cấấp chp chứức năng Phân c
Phân chia dữữ liliệệu hou hoààn ton toààn :n : (cid:97)(cid:97) Phân chia d (cid:86)(cid:86) MMọọi bi
i biếến sn sửử ddụụng trong h
ng trong hệệ ththốốngng
phân cấấp vp vềề thao t thao táác, xc, xửử lýlý CCóó ththểể hihiểểu lu làà ssựự phân c Có thể hiểu là sự phân cấp về thao tác, xử lý
đđềều đưu đượợc khai b
(global variables) c khai bááo lo làà bibiếến ton toààn cn cụụcc(global variables)
(cid:86)(cid:86) Khi kh
u tăng lên thìì sai s
ng tăng lên,, sai sóót ct cũũng tăng lên
Khi khốối lưi lượợng dng dữữ liliệệu tăng lên th (side effect) ddễễ bbịị hihiệệu u ứứngng llềề (side effect)
(cid:97)(cid:97) HHạạn chn chếế ccủủa a phương ph
Chưa rõ, còn mơ hồ Hệ thống Hệ thống
phân chia dữữ liliệệu hou hoààn ton toàànn :: nh con c chương trìình con
phương phááp p phân chia d (cid:86)(cid:86) Đòi hĐòi hỏỏi i ttíính đnh độộc lc lậậpp ccủủa ca cáác chương tr
(cid:86)(cid:86) Không
tương thíích vch vớới ci cáác phương ph
c phương phááp lp lậập trp trìình đơn th
nh đơn thểể vvàà
Không tương th llậập trp trìình cnh cấấu tru trúúcc
Chức năng 1 Chức năng 1 Chức năng 2 Chức năng 2
Chức năng 1.1 Chức năng 1.1 Chức năng 1.2 Chức năng 1.2 Chức năng 2.1 Chức năng 2.1 Chức năng 2.2 Chức năng 2.2
Đã rõ, đã biết cách giải
35/35/5555
36/36/5555
Nhập môn CNPM - Ch2. PT Hệ thống
6
Phương phááp qup quảản lý d Phương ph
n lý dữữ liliệệu u đơn th
đơn thểể hohoáá
CCấấu tru trúúc dc dữữ liliệệuu
(cid:97)(cid:97) CCáác c NNLTNNLT đ đềều u cho ph
cho phéépp ::
(cid:97)(cid:97) Đơn th
nh con : c chương trìình con :
Đơn thểể hohoáá ddữữ liliệệu bu bởởi ci cáác chương tr (Local Variables) (cid:86)(cid:86) SSửử ddụụng ng bibiếến cn cụục bc bộộ (Local Variables)
(cid:86)(cid:86) LLắắp rp rááp cp cáác cc cấấu tru trúúc dc dữữ liliệệu phu phứức tc tạạp tp từừ ccáác kic kiểểu su sẵẵn cn cóó (cid:86)(cid:86) KhKhảả năng
c tên vớới ci cáác kic kiểểu mu mớới ki kếết ht hợợpp
liên kếết ct cáác tên v
năng liên k ng kiểểu u mmảảng, danh s
(d(dùùng ki
ng, danh sáách, h
a phương phááp đơn th
(cid:97)(cid:97) LLợợi i íích cch củủa phương ph
p đơn thểể hohoáá :: c tương táác không mong mu
c không mong muốốnn
(cid:86)(cid:86) HHạạn chn chếế bbớớt ct cáác tương t
(cid:97)(cid:97) Khi Khi ccấấu tru trúúc dc dữữ liliệệu đã đư
ch, hààng đng đợợi, i, ngăn x u đã đượợc đc địịnh rõ, m
ngăn xếếp hay p hay ttệệpp)) nh rõ, mááy ty tíính ph
nh phảải đưi đượợc c
(cid:86)(cid:86) GiGiúúp phân t
c chương trìình con đư
p phân tíích vch vàà hihiểểu cu cáác chương tr
nh con đượợc dc dễễ ddààngng
ch biểểu diu diễễn trong, hay ngo
chchỉỉ ththịị llààm thm thếế nnàào đo đểể titiếến hn hàành nh :: (cid:86)(cid:86) CCáách bi (cid:86)(cid:86) CCáác phc phéép top toáán trên
n trong, hay ngoàài, ci, cáácc ccấấu tru trúúc dc dữữ liliệệu đu đóó n trên ccáácc ccấấu tru trúúc dc dữữ liliệệu đu đóó
(cid:97)(cid:97) Vai trò c
n lý dữữ liliệệu :u :
n lý dữữ liliệệu cu cũũng đng đóóng vai trò quan tr
ng vai trò quan trọọng như l
ng như làà
(cid:86)(cid:86) ĐĐảảm bm bảảo to tíính đnh độộc lc lậập thp thựực sc sựự gigiữữa da dữữ liliệệu vu vàà xxửử lýlý Vai trò củủa a ququảản lý d (cid:86)(cid:86) ViViệệc quc quảản lý d ququảản lý x
n lý xửử lýlý
(cid:86)(cid:86) HiHiệện nay, c
n nay, cáác hc hệệ ququảản trn trịị CSDL đã cho ph
n lý dữữ liliệệu u
CSDL đã cho phéép qup quảản lý d TK HT thông tin n PT vàà TK HT thông tin
hihiệệu quu quảả đ đốối vi vớới nhi nhữững bng bàài toi toáán PT v
37/37/5555
38/38/5555
CCáác mc mứức khc kháác nhau c
c nhau củủa ca cấấu tru trúúc dc dữữ liliệệu u
Hierarchy Data Type Hierarchy Data Type
Data Type Data Type Data Type
Tính độc lập giữa các mức
Trees Trees Files Files Stack Stack LIFO LIFO Lists Lists Application Application level level Tables Tables Graphs Graphs Queues Queues FIFO FIFO Simple/Basic Simple/Basic Pointer Pointer Structured/ Structured/ Compound Compound SetsSets Variables Variables Records Records Vector 1D Vector 1D Arrays nD Arrays nD Laguage Laguage level level Ordinal Ordinal Real/Float Real/Float Static Static Dynamic Dynamic
Memory Memory Float Float Numbers Numbers Int Int Record Record CharChar BoolBool EnumEnum SetSet ArrayArray FileFile WordsWords Fixed Fixed Numbers Numbers Machine Machine level level Bytes Bytes String String Sub-range Sub-range min..max min..max Registers Registers BitsBits (0, 1)* (0, 1)*
39/39/5555
40/40/5555
Phân tích hệ thống hướng chức năng
ĐĐáánh gi
nh giáá PP lPP lậập trp trìình cnh cấấu tru trúúcc
(cid:97)(cid:97) Ưu đi
(cid:97) Tập trung thu thập thông tin nghiệp vụ của các loại NSD
trong hệ thống
(cid:97) Xây dựng sơ đồ dòng dữ liệu DFD ở các mức khác nhau
Ưu điểểmm (cid:86)(cid:86) Phân t (cid:86)(cid:86) Đưa l (cid:97)(cid:97) HHạạn chn chếế ::
(cid:86) Thiết lập sơ đồ mức ngữ cảnh (DFD mức 0)
c năng củủa ha hệệ ththốốngng Phân tíích đư Đưa lạại ki kếết qut quảả mong đ ch đượợc cc cáác chc chứức năng c mong đợợii
(cid:86) Phân hoạch DFD vào các mức cao hơn
(cid:97) Xây dựng mô hình dữ liệu
(cid:86) Mô hình thực thể liên kết ERD
(cid:86) Mô hình quan hệ RD
(cid:97) Xây dựng mô hình xử lý
(cid:86) Sử dụng trong các phương pháp Gane-Sarson, Gane-Sarson,
Merise…
1.1. Đòi hĐòi hỏỏi ci cóó năng l năng lựực quan ni ng (conception) c quan niệệm hm hệệ ththốống (conception) mmộột ct cáách đch đầầy đy đủủ trư trướớc khi ph c khi pháát tri i phiên bảản)n) t triểểnn thay đổổi phiên b 2.2. PhPhảải di dựự kikiếến đưn đượợc sc sựự titiếến hon hoáá ( (thay đ ng trong tương lai ccủủa ha hệệ ththốống trong tương lai 3.3. MMỗỗi ti nh phân tíích ch c năng ch chứức năng i tiếến hn hàành phân t ng trởở llạạii i tiếến hon hoáá llạại phi phảải ti vvàà kikiếến trn trúúc hc hệệ ththốống tr Thay đổổi vi vềề chchứức năng c năng llààm km khhóó khăn thay đ khăn thay đổổi ci cấấu tru trúúcc ng thấấpp
4.4. Thay đ 5.5. TTíính mnh mởở ccủủa ha hệệ ththốống th 6.6. KhKhóó ttáái si sửử ddụụngng 7.7. Chi ph Chi phíí ssửửa cha chữữa la lỗỗi li lớớnn
41/41/5555
42/42/5555
Nhập môn CNPM - Ch2. PT Hệ thống
7
VVíí ddụụ DFDDFD hhệệ ththốốngng muamua bbáánn hhààngng
TiTiếếp cp cậận hưn hướớng đng đốối tưi tượợngng
YC mua hàng
(cid:97)(cid:97) MMụục đc đíích :ch : (cid:86)(cid:86) PhPháát tri
QL mua bàn hàng
Khách hàng
Giao hàng
(cid:86)(cid:86) KhKhảả năng s
(cid:86)(cid:86) VVấấn đn đềề đ đặặt ra th
(cid:97)(cid:97) CCóó 3 ngu
3 nguồồn đn đốối tưi tượợng chu
Làm mịn
Khách hàng
Mức đỉnh (Top Level) t triểển cn cáác đc đốối tưi tượợng chu n (standard objects) ng chuẩẩn (standard objects) năng sửử ddụụng lng lạại (reuse) c i (reuse) cáác đc đốối tưi tượợng ng t ra thếế nnàào lo làà đ đốối tưi tượợng chu
ng chuẩẩn như ng quáát (chuyên bi
Người Người bán bán
Hoá đơn
ng chuẩẩn ? n ? sau : n như sau : t) trong cáác ngôn ng t (chuyên biệệt) trong c HĐT c ngôn ngữữ HĐT
2 2 Thủ tục Thủ tục th.toán th.toán
1 1 Lập KH Lập KH Giao hàng Giao hàng
(cid:86)(cid:86) CCáác đc đốối tưi tượợng tng tổổng qu VVíí ddụụ IntInt, , CharChar......
Đơn đặt hàng
Hoá đơn TT
Phiếu giao hàng
(cid:86)(cid:86) CCáác đc đốối tưi tượợng đng đặặc bic biệệt do c HĐT cung cấấp dp dùùng đng đểể :: HĐT cung c nh toáán khoa h (cid:153)(cid:153) TTíính to
Hàng giao
DL KH
Người bán
t do cáá nhân hay công ty ph nhân hay công ty pháát tri t triểển ngôn ng n ngôn ngữữ
(Graphic Object) : openinventor
Mức dưới đỉnh
openinventor......
o ra cáác giao di
ng : IlogViews
IlogViews......
n khoa họọc kc kỹỹ thuthuậật,t, Trang tríí đ đồồ hohoạạ (Graphic Object) : c giao diệện ngư
(cid:153)(cid:153) Trang tr (cid:153)(cid:153) TTạạo ra c
Hàng
n ngườời di dùùng : t triểển bên trong c
Xác nhận đơn TT
(cid:97)(cid:97) CCáác đc đốối tưi tượợng đư VVíí ddụụ Cas.Cade c
Phiếu nhận hàng
ng đượợc phc pháát tri n bên trong cáác hic hiệệp hp hộội ngư i ngườời di dùùng.ng. Cas.Cade củủa ha hệệ ththốống Dassault MDTV trong l c CAD ng Dassault MDTV trong lĩĩnh vnh vựực CAD
4 4 Giao Giao hàng hàng
3 3 Thanh Thanh toán toán
43/43/5555
44/44/5555
m HĐT Xây dựựng cng cáác phc phầần mn mềềm HĐT Xây d
MMô hô hìình cnh cáác đc đốối tưi tượợng ng
sau : n như sau :
(cid:97)(cid:97) QuQuáá trtrìình xây d 1.1. ĐĐịịnh ngh
nh xây dựựng gng gồồm hai giai đo m hai giai đoạạn như n thiếếtt
nh nghĩĩa ca cáác đc đốối tưi tượợng cng cầần thi
ng kê đốối vi vớới ci cáác đc đốối tưi tượợng dng dùùng lng lạại đưi đượợcc
Thừa kế
n đã cóó
vvàà llậập bp bảảng kê đ (cid:86)(cid:86) BưBướớc nc nàày khy khóó do ph
do phảải xi xáác đc địịnh cnh cáác đc đốối tưi tượợng chu
ng chuẩẩn đã c
vvàà phphảải ci cóó phương ph
phương phááp đp địịnh ngh
nh nghĩĩa ca cáác đc đốối tưi tượợng mng mớớii
(cid:86)(cid:86) CCóó hai phương ph
(cid:153)(cid:153) Phương ph
(cid:153)(cid:153) Mô hMô hìình ho
hai phương phááp :p : Phương phááp cp cổổ đi điểển : tn : tậập hp hợợp cp cáác đc đốối tưi tượợng chu ccáác đc đốối tưi tượợng ng ởở mmứức cao m nh hoáá, t, tạạo nguyên m
2.2. ChuyChuyểển đn đổổi mô h
c chương trìình nh
i mô hìình vnh vềề nguyên m n cho đếến khi nh
llààm mm mịịn dn dầần cho đ
Khái niệm Khái niệm Lớp Lớp đối tượng đối tượng Mô hình thiết kế (trừu tượng) Thuộc tính Thuộc tính Phương thức Phương thức ng chuẩẩn đn đểể xây d xây dựựng ng Tạo sinh cá thể ng chương trììnhnh n xây dựựng chương tr c cao mỗỗi li lầần xây d o nguyên mẫẫu (prototype), t o sinh chương u (prototype), tạạo sinh chương Thông điệp Triển khai lập trình (cụ thể) trtrìình bnh bằằng cng cáách phân t Cá thể Cá thể ch phân tíích bch bàài toi toáán thn thàành cnh cáác đc đốối tưi tượợngng nguyên mẫẫu đu đểể ttừừ đ đóó n khi nhậận đưn đượợc chương tr
45/45/5555
46/46/5555
nh HĐT Mô hMô hìình lnh lậập trp trìình HĐT
Quan điểểm hưm hướớng đng đốối tưi tượợngng Quan đi
m trung tâm (cid:97)(cid:97) LLấấy đy đốối tưi tượợng lng lààm trung tâm
Object 2 Object 2
Object 1 Object 1
HHệệ ththốống =ng =
Messages Messages
DataData
DataData
TTậập hp hợợp cp cáác đc đốối tưi tượợngng Quan hệệ gigiữữa ca cáác đc đốối tưi tượợngng
++ Quan h
Function Function
Function Function
(cid:86)(cid:86) CCáác đc đốối tưi tượợng trao đ
ng trao đổổi bi bằằng thông đi
p (Message) ng thông điệệp (Message)
(cid:86)(cid:86) Không s
Không sửử ddụụng bi
c (No Global Variable) ng biếến ton toààn cn cụục (No Global Variable)
(cid:97)(cid:97) Xây d
Object 3 Object 3
c nguyên lý hướớng đng đốối tưi tượợng :ng : Xây dựựng cng cáác nguyên lý hư i (Encapsulation) (cid:86)(cid:86) ĐĐóóng gng góói (Encapsulation)
Inheritance) (cid:86)(cid:86) ThThừừa ka kếế ( (Inheritance)
DataData
Function Function
(cid:86)(cid:86) Đa hĐa hìình hay đa ki
u (Polymorphism) nh hay đa kiểểu (Polymorphism)
47/47/5555
48/48/5555
Nhập môn CNPM - Ch2. PT Hệ thống
8
VVíí ddụụ nguyên lý th
nguyên lý thừừa ka kếế ccóó phân c
phân cấấpp
ĐĐáánh gi
nh giáá quan đi
quan điểểm hưm hướớng đng đốối tưi tượợngng t triểển tn từừ ccấấu tru trúúc :c :
m HĐT đượợc phc pháát tri
(cid:97)(cid:97) Quan đi
An Inheritance Hierarchy An Inheritance Hierarchy
Quan điểểm HĐT đư (cid:86)(cid:86) LLậập trp trìình cnh cấấu tru trúúcc
Superclass
Vehicle
Subclasses
nh HĐT (cid:86)(cid:86) LLậập trp trìình HĐT
ThuThuậật tot toáán + C n + Cấấu tru trúúc dc dữữ liliệệu =u = Chương tr Chương trììnhnh
Automobile
Bus
Motorcycle
(cid:97)(cid:97) Ưu đi
Ưu điểểm chm chíính cnh củủa tia tiếếp cp cậận hưn hướớng đng đốối tưi tượợng :ng :
(cid:86)(cid:86) PT & TK g
PT & TK gầần gn gũũi vi vớới thi thếế gigiớới thi thựựcc
(cid:86)(cid:86) TTáái si sửử ddụụng dng dễễ ddààngng
Sports Car
School Bus
Sedan
Luxury Bus
(cid:86)(cid:86) ĐĐóóng gng góói, che d
i, che dấấu thông tin l
u thông tin lààm cho h
m cho hệệ ththốống tin c
y hơn ng tin cậậy hơn
(cid:86)(cid:86) ThThừừa ka kếế llààm gim giảảm chi ph
cao hơn m chi phíí, h, hệệ ththốống cng cóó ttíính mnh mởở cao hơn
(cid:86)(cid:86) Xây d
Xây dựựng hng hệệ ththốống lng lớớn vn vàà phphứức tc tạạpp
hương trììnhnh ΣΣ đ đốối tưi tượợngng = C= Chương tr ĐĐốối tưi tượợngng = Thu= Thuậật tot toáán + C n + Cấấu tru trúúc dc dữữ liliệệuu
49/49/5555
50/50/5555
UML làà ggìì ?? UML l
UML UML –– mmộột ngôn ng
t ngôn ngữữ
(cid:97)(cid:97) UML (
UML (UUnified
nified MModeling
anguage) : odeling LLanguage) :
(cid:97)(cid:97) BBảản chn chấất t ngôn ng
a UML : ngôn ngữữccủủa UML :
(cid:86)(cid:86) Cung c
cho phéép đưa ra c
, diễễn đn đạạt, t,
p đưa ra cáác khung nh o văn bảản cho m
c khung nhììn,n, đ đặặc tc tảả, di t HT3QL n cho mộột HT3QL
(cid:97)(cid:97) BBảản chn chấất t ngôn ng
Ngôn ngữữ cho ph (cid:86)(cid:86) Ngôn ng xây dựựng ng ứứng dng dụụng vng vàà ttạạo văn b xây d Trong đóó ::
(cid:97)(cid:97) Trong đ
ngôn ngữữmô hmô hìình hnh hóóaa:: (cid:86)(cid:86) SSửử ddụụng tng tậập hp hợợp cp cáác kc kíí hihiệệu vu vàà luluậật ct củủa ngôn ng
Cung cấấp tp từừ vvựựngng, c, cúú phphááp vp vàà ngngữữ nghnghĩĩa đa đểể mô tmô tảả hhệệ ththốốngng
(cid:86)(cid:86) Ngôn ng
Ngôn ngữữ : t: từừ vvựựng ng ((đđồồ ththịị), c), cúú phphááp (p (sơ đsơ đồồ), ng
), ngữữ nghnghĩĩaa
(cid:86)(cid:86) Khung nh
Khung nhììn : bi
quan sáátt
n : biểểu diu diễễn dn dạạng đng đồồ ththịị ddễễ quan s
(cid:86)(cid:86) Ưu đi
a ngôn ngữữ đ đểể c nhau củủa ma mộột ht hệệ ththốốngng nh kháác nhau c c mô hìình kh
(cid:86)(cid:86) ĐĐặặc tc tảả : mô t
: mô tảả rõ r
rõ rààng,ng, đ đầầy đy đủủ, không nh
, không nhậập nhp nhằằngng
(cid:97)(cid:97) BBảản chn chấất ngôn ng
(cid:86)(cid:86) Xây d
Xây dựựng : chuy
ng : chuyểển sơ đ
n sơ đồồ UML v
UML vềề ccáác ngôn ng
c ngôn ngữữ llậập trp trììnhnh
t hơn a đem lạại ci cáái nhi nhììn hn hệệ ththốống tng tốốt hơn
Văn bảản : mô t
c nhu cầầu, tiu, tiếến trn trìình bnh bằằng văn b
ng văn bảảnn
(cid:86)(cid:86) Văn b (cid:97)(cid:97) CCóó 9 lo9 loạại sơ đ
n : mô tảả ccáác nhu c trong UML,, i sơ đồồ trong UML c chia ra theo hai loạại khung nh
đưđượợc chia ra theo hai lo
n (view) i khung nhììn (view)
bibiểểu diu diễễn đn đồồ hhọọa ca cáác mô h ởở mmứức khc kháái ni i niệệm vm vàà vvậật lýt lý Ưu điểểm : m : bibiểểu diu diễễn đn đồồ hhọọa đem l t ngôn ngữữ đ đặặc tc tảả :: (cid:86)(cid:86) ĐĐặặc tc tảả llàà mô tmô tảả chchíính xnh xáác, không nh c, không nhậập nhp nhằằng vng vềề hhệệ ththốốngng c : phân c công cụụ đ đểể đ đặặc tc tảả hhệệ ththốống ng ởở nhinhiềều mu mứức : phân UML cung cấấp cp cáác công c (cid:86)(cid:86) UML cung c ch, thiếết kt kếế vvàà ccàài đi đặặtt ttíích, thi
51/51/5555
52/52/5555
UML UML –– mmộột ngôn ng
t ngôn ngữữ
CCóó nhinhiềều khung nh
n trong UML u khung nhììn trong UML
(cid:97)(cid:97) UML UML –– ngôn ng
ngôn ngữữ đ đểể xây d
xây dựựng :ng :
ng chuyểển cn cáác mô h
(cid:86)(cid:86) CCóó ththểể ddễễ ddààng chuy sang mộột ngôn ng sang m
t ngôn ngữữ llậập trp trìình (Java, C++, VB
nh UML c mô hìình UML nh (Java, C++, VB……))
(cid:86)(cid:86) SSửử ddụụng UML đ
ng UML đểể mô phmô phỏỏng ch c mô hìình đnh đểể ththựực hic hiệện chuy
ng chíính xnh xáác, không nh n chuyểển đn đổổi thi thàành dòng l
c, không nhậập nhp nhằằngng nh dòng lệệnhnh
ccáác mô h
(cid:97)(cid:97) UML UML –– ngôn ng
ngôn ngữữ đ đểể llậập tp tàài li
i liệệu :u :
ng UML đểể mô tmô tảả ttấất ct cảả ccáác bưc bướớc xây d
c xây dựựngng
(cid:86)(cid:86) SSửử ddụụng UML đ mmộột ht hệệ ththốốngng
(cid:86)(cid:86) CCáác mô h
c mô hìình đư
nh đượợc xây d
c xây dựựng tng tạạo nên m
o nên mộột tt tàài li
i liệệu đu đầầy đy đủủ
vvàà chuchuẩẩn xn xáác vc vềề hhệệ ththốốngng
53/53/5555
54/54/5555
Nhập môn CNPM - Ch2. PT Hệ thống
9
CCáác khung nh
a UML c khung nhììn n ccủủa UML
MMứức vc vậật lýt lý
MMứức ý ni
c ý niệệmm
CCấấu tru trúúcc Cấu trúc ccáácc các đđốối tưi tượợngng đối tượng
CCáácc Các nh phầầnn ththàành ph thành phần chương trììnhnh chương tr chương trình
Khung nhììnn Khung nh Khung nhìn lôgic tĩĩnhnh lôgic t lôgic tĩnh Khung nhììn n Khung nh Khung nhìn vvậận hn hàành/cnh/càài đi đặặtt vận hành/cài đặt
c sơ đồồ GGồồm cm cáác sơ đ Gồm các sơ đồ nh phầầnn ccáác thc thàành ph các thành phần
c sơ đồồ :: GGồồm cm cáác sơ đ Gồm các sơ đồ : LLớớp,p, Đ Đốối tưi tượợng,ng, Lớp, Đối tượng, c, Chuỗỗii CCộộng tng táác, Chu Cộng tác, Chuỗi
KiKiếến trn trúúcc Kiến trúc vvậật lýt lý vật lý
HoHoạạt đt độộngng Hoạt động ccủủa ca cáácc của các đđốối tưi tượợngng đối tượng
NhNhììn tn từừ bên ngo bên ngoààii
c sơ đồồ
GGồồm cm cáác sơ đ c năng chchứức năng
c sơ đồồ :: GGồồm cm cáác sơ đ Gồm các sơ đồ : i, Hoạạt đt độộngng ng tháái, Ho TrTrạạng th Trạng thái, Hoạt động
c sơ đồồ GGồồm cm cáác sơ đ Gồm các sơ đồ n khai tritriểển khai triển khai
Phân tíích ch →→ ThiThiếết kt kếế →→ CCàài đi đặặtt Phân t
Khung nhììnn Khung nh Khung nhìn lôgic độộngng lôgic đ lôgic động n khai Khung nhììn trin triểển khai Khung nh Khung nhìn triển khai

