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

55/55/5555

Nhập môn CNPM - Ch2. PT Hệ thống

10