Chươ 3Chương 3
Phân tích hệ thống
(system analysis)
•Những vấn đề trong phân tích hệ thống
Th thậ ê ầ từ ời ử d•Thu thậpyêucầu từ người sử dụng
•Phân tích yêu cầu
•Xác định tính năng hệ thống
Mục tiêu của phân tích hệ thốngụ p ệ g
Khách hàng và nhà phát triểngặp nhau để thảoluận
ề ầ ố ầ ề ầvề yêu cầucủahệ thống phầnmềmcầnxâydựng
Nhà phát triển tìm hiểu phân tích và kiểm chứng lại Nhà phát triển tìm hiểu, phân tích và kiểm chứng lại
(validate) yêu cầuvàbiểudiễnnóbằng mô hình phân
tích
Mô hình phân tích đặctả toàn bộ nội dung : chức
năng dữ liệu nhập/xuất các hoạt động của hệ thốngnăng, dữ liệu nhập/xuất, các hoạt động của hệ thống
cần phát triển
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
22
Mục tiêu của phân tích hệ thống (tt)ụ p ệ g( )
Xây dựng các từđiểndữ liệu định nghĩa các khái niệm
ố ấđặcthùcủahệ thống, ý nghĩa, cấu trúc,…
Thống nhất với khách hàng về mô hình và tính năng Thống nhất với khách hàng về mô hình và tính năng
củahệ thống
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
33
Phân tích hệ thốngệ g
Phân tích hệ thống là bước đầutiênrất quan trọng cho dự án
phát triển phần mềmphát triển phần mềm
Công việc phân tích hệ thống bao gồm
Thu thậpyêucầu và quy trình nghiệpvụ hiệntại
Phân tích và xác lập các quy trình sẽđược phát triển/thay thế bằng máy tính
Xác thực các yêu cầu/tính năng củahệ thống
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
44
Phân tích hệ thống (tt)ệ g( )
Kếtquả củaviệc phân tích hệ thống là các tài liệu đặc
tả tính năng hệ thống Các tài liệ nà thông th ờng ởtả tính năng hệ thống. Các tài liệu này thông thường ở
dạng các sơđồ,biểu đồ,..
Kếtquả này dùng cho việcxácthực các tính năng của
hệ thống với khách hàng
Kếtquả này là đầuvàocủa quá trình tiếp theo là thiết
kế hệ thống.
Tùy thuộc vào công nghệ phát triểnmàsử dụng các
phương pháp phân tích phù hợp :cấutrúchay OOP
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
55
p g ppp p ợp y
Những vấn đề trong phân tích hệ
thốthống
Cách biệtvề chuyên môn củalĩnh vựccần phân tích
Sự hiểubiếtcủanhững người end user về quy trình
làm việc và khả năng ứng dụng phần mềm cho cônglàm việc và khả năng ứng dụng phần mềm cho công
việccủahọ
Những vấn đề vềđiềukiệnhạ tầng hổ trợ hoạt động
củahệ thống
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
66
Những vấn đề trong phân tích hệ thống
(tt)(tt)
Tính sẳn sàng thông tin củacáchệ thống đang có sẽ
ố ầtương tác vớihệ thống cầnxâydựng
Định hướng ứng dụng lâu dài chưa có/ chưa rõ ràng Định hướng ứng dụng lâu dài chưa có/ chưa rõ ràng
Công cụ/ngôn ngữ sử dụng để đặc tả hệ thống / kết Công cụ/ngôn ngữ sử dụng để đặc tả hệ thống / kết
quả phân tích
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
77
Quy trình phân tích hệ thốngQy p ệ g
Các bước chính
ố
Tìm hiểu và xây dựng lại
ệ ệ ố Thu thập thông tin hệ thống hiện
tại
Thu thậpyêucầu
Phâ tí h ê ầ
hiện trạng của hệ thống
•Các quy trình hoạt
động/nghiệpvụ
Phân tích yêucầu
Xác lập tính năng hệ thống
Xác thực tính năng hệ thống
động/nghiệp vụ
•Phương thức và ý nghĩa của
các quá trình xử lý
•
Dữ liệucủahệ thốngDữ liệu của hệ thống
•Điều kiện hạ tầng: thiết bị,
con người
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
88
Quy trình phân tích hệ thốngQy p ệ g
Các bước chính
ố Thu thập thông tin hệ thống hiện
tại
Thu thậpyêucầu
Phâ tí h ê ầ
Xác định các yêu cầu
•Các yêu cầuvề chứcnăng
Phân tích yêucầu
Xác lập tính năng hệ thống
Xác thực tính năng hệ thống
Các yêu cầu về chức năng
của hệ thống
•Các yêu cầu về môi trường
vận hành: thiết bị, con n
gườig
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
99
Quy trình phân tích hệ thốngQy p ệ g
Các bước chính
ố Thu thập thông tin hệ thống hiện
tại
Thu thậpyêucầu
Phâ tí h ê ầ
Phân tích các yêu cầu
Phân tích yêucầu
Xác lập tính năng hệ thống
Xác thực tính năng hệ thống
•Phân tích các yêu cầu theo
quy trình sử lý
•Bổ sun
g các quy trình cho gqy
phù hợp với máy tính
•Yều cầu bổ sung các thông
tin
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
1010
Quy trình phân tích hệ thốngQy p ệ g
Các bước chính
ố Thu thập thông tin hệ thống hiện
tại
Thu thậpyêucầu
Phâ tí h ê ầ
Xá lậ tí h ă ủ hệ
Phân tích yêucầu
Xác lập tính năng hệ thống
Xác thực tính năng hệ thống
Xác lập tính năng của hệ
thống
•Xác lập các chứcnăng mà•Xác lập các chức năng mà
hệ thống sẽ bao gồm
•Xác lập các điều kiện và môi
trường hoạt độngtrường hoạt động
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
1111
Quy trình phân tích hệ thốngQy p ệ g
Các bước chính
ố Thu thập thông tin hệ thống hiện
tại
Thu thậpyêucầu
Phâ tí h ê ầ
Xác thực tính năng hệ
thố
Phân tích yêucầu
Xác lập tính năng hệ thống
Xác thực tính năng hệ thống
thống
•Xác thực với người dùng về
tính hợplývàđầy đủ của cáctính hợp lý và đầy đủ của các
tính năng
•Xác thực các quy trình
n
ghiệp vụg ệp ụ
•Xác thực các ràng buộc
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
1212
Quy trình phân tích hệ thốngQy p ệ g
Các bước chính
ố Thu thập thông tin hệ thống hiện
tại
Thu thậpyêucầu
Phâ tí h ê ầ Phân tích yêucầu
Xác lập tính năng hệ thống
Xác thực tính năng hệ thống
Phương pháp cấutrúcPhương pháp cấutrúc
Phương pháp OOPPhương pháp OOP
Phương pháp cấu trúcPhương pháp cấu trúc
Các bước được thực hiện
đồng thời và xen kẽ nhau
Thường sử dụng lược đồ:
Phương pháp OOPPhương pháp OOP
Sử dụng UML: lược đồ Use case, Class
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
1313
g ụ g ợ
DFD, ERD, STD
Phân tích hệ thống theo hướng phát triển
kỹ thuậtlậptrìnhcấutrúckỹ thuật lập trình cấu trúc
Tiếp cận của phương pháp phát triển cổ điển cho
b ớ hâ tí h hệ thốbước phân tích hệ thống
Các lược đồ DFD, STD, ERD
CÁC YẾU TỐ CĂN BẢN CỦA MÔ HÌNH
Objective
:
¾ Describe what the customer requires¾ Describe what the customer requires
¾ Establish a basis for the creation of
a software design
¾ Define a set of requirements that¾ Define a set of requirements that
can be validated once the software is
built
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
1515
CÁC YẾU TỐ CĂN BẢN CỦA MÔ HÌNH
Process Specification (PSPEC)
Lược đồ DFDLược đồ DFD
Lược đồ
dò hả
Lược đồ DFDLược đồ DFD
•Mô hình chứcnăng và dòng
thông tin: DFD, PSPEC
•Mô tả dòng thông tin di chuyển
Từ điển
dữ liệu
dòng chảy
dữ liệu
Lược đồ quan
hệ thực thể
Mô tả dòng thông tin di chuyển
(flow) xuyên qua các hệ thống
thiên về phầnmềm.
•Diểntả các tương tác xuấtnhập
Lược đồ dịch chuyển
trạng thái
dữ liệuvớiconngười và các hệ
thống khác
•Lưu đồ dòng chảydữ liệuDFD
(Data Flow Diagram) cung cấp 4(Data Flow Diagram) cung cấp 4
ký hiệucơ bản để mô hình sự di
chuyểncủa dòng thông tin
•Mở r
ộng của Ward & Mellor;
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
1616
ộ g ;
Hatley & Pirbhai cho realtime
CÁC YẾU TỐ CĂN BẢN CỦA MÔ HÌNH
Process Specification (PSPEC)
Lược đồ
dò hả
Lược đồ STDLược đồ STD
•Mô hình hành vi củahệ thống
•Lược đồ dịch chuyển trạng thái
Từ điển
dữ liệu
dòng chảy
dữ liệu
Lược đồ quan
hệ thực thể
Lược đồ dịch chuyển trạng thái
(STD) thể hiện
• Các trạng thái khác nhau
củahệ thống
Lược đồ dịch chuyển
trạng thái
• Sự dịch chuyểngiữacác
trạng thái đó
•Mô tả chi tiếthơn điềukiệnxảy
Control Specification (CSPEC)
ra của các hành vi
•Cung cấpmộthìnhảnh động về
hệ thống
Trường ĐạiHọc Bách Khoa - Khoa Công Nghệ Thông Tin
Copyright 2004 – Th.S Nguyễn Cao Trí –
1717