1
Tổng quan về phân tích và
thiết kế hệ thống thông tin
Vũ Tuyết Trinh
Bộ môn Hệ thông thông tin
Viện Công nghệ thông tin & Truyền thông
Đại học Bách Khoa Hà Nội
2
Đặt vấn đề
Hệ thống thông tin là gì?
Vai trò của HTTT trong thực tế
Vòng đời phát triển HT(TT)
Các phương pháp phát triển HT(TT)
Nhóm phát triển hệ thống và vai trò
Ngôn ngữ mô hình hóa UML
2
3
Hệ thống là gì ?
Hệ thống
Một nhóm các thành phần có quan hệ ràng buộc lẫn
nhau, có tương tác lẫn nhau tạo nên một thể thống
nhất
Môi trường hoạt động của hệ thống
Gồm các thành phần không thuộc hệ thống nhưng
có quan hệ trao đổi thông tin với hệ thống
4
Các đặc điểm của hệ thống
Đầu vào
(Input)
Đầu ra
(Output)
Giao diện
(Interface)
Thành phần
(Component)
Môi trường
(Environment)
Phạm vi
(Boundary)
Liên kết
(Interrelationship)
3
5
Ví dụ: Quy trình xử lý đơn hàng
Nhận đơn hàng
Kiểm tra trạng thái
khách hàng
Kiểm tra tín dụng
khách hàng
Nhập thông tin về
đơn hàng
Hoàn thành xử lý
đơn hàng
6
Ví dụ
4
7
Một số loại hệ thống
Hệ thống xử lý giao dịch
Cải tiến xử lý giao dịch bằng cách tăng tốc độ, tăng hiệu suất và đơn
giản hóa các quá trình
Hệ thống thông tin quản lý
Cung cấp thông tin giúp ích cho công việc quản lý
Hệ thống tự động hóa sản xuất / Hệ thống điều khiển quá trình
Hệ thống tự động hóa văn phòng
Hỗ trợ người dùng trong các hoạt động văn phòng
Hệ thống hỗ trợ ra quyết định
So sánh các giải pháp khác nhau và đề nghị một giải pháp thích hợp
Hệ chuyên gia và trí tuệ nhân tạo
Lưu trữ và sử dụng kiến thức của các chuyên gia một cách hiệu quả
…
8
Mối liên hệ
Hệ thống xử lý giao dịch Hệ thống thông tin quản lý
Hệ thống trợ giúp ra quyết định
5
9
Các công nghệ hiện đại
10
Các thành phần của HTTT
Phần cứng
Thiết bị vào/ra
Cơ sở hạ tầng, mạng truyền thông
Phần mềm
Phần mềm hệ thống
Phần mềm ứng dụng
Dữ liệu
Các dữ liệu phản ánh cấu trúc nội bộ của cơ quan
Các dữ liệu phản ánh các hoạt động nghiệp vụ
Xử lý
Sản sinh thông tin theo thể thức quy định
Trợ giúp cho các quyết định
Con người
Người sử dụng bên trong
Người sử dụng bên ngoài
6
Vòng đời phát triển hệ thống
(Systems Development Life Cycle – SDLC)
11
Pha 1:
Lập kế hoạch
Pha 2:
Phân tích hệ thống
Pha 4:
Cài đặt hệ thống
Pha 3:
Thiết kế hệ thống
Pha 5:
Vận hành, bảo trì
yêu cầu hệ thống
b/c khả thi
Tài liệu đặc tả yêu cầu
Tài liệu thiết kế hệ thống
Hệ thống
đã cài đặt
Lập kế hoạch
Giải quyết các vấn đề, câu hỏi
Tại sao phải xây dựng HTTT ?
Nhóm dự án phát triển hệ thống thông tin như thế
nào?
Các công việc cụ thể
Tìm hiểu dự án được bắt đầu và được đánh giá ban
đầu như thế nào
Xác định các vấn đề, cơ hội, mục tiêu
Phân tích SWOT (Strength – Weakness – Opportunity – Threat)
12
7
Phân tích hệ thống
Giải quyết các vấn đề, câu hỏi
Ai sẽ sử dụng hệ thống?
Hệ thống sẽ thực hiện gì, khi nào, ở đâu?
Các công việc cụ thể
Phân tích chiến lược: phân tích hiện trạng, phương
pháp sử dụng
Thu thập yêu cầu: mô hình hóa và phân tích các yêu
cầu
Đề xuất mô hình hệ thống
13
Thiết kế hệ thống
Giải quyết các vấn đề, câu hỏi
Hệ thống sẽ hoạt động như thế nào (phần cứng,
phần mềm, mạng, giao diện người dùng, modun
chương trình, CSDL, tệp, …)
Các công việc cụ thể
Chiến lược thực hiện
Kiến trúc hệ thống: phần cứng, phần mềm, mạng
Thiết kế dữ liệu
Thiết kế chương trình
Thiết kế giao diện
14
8
Cài đặt hệ thống
Giải quyết các vấn đề, câu hỏi
Lập trình, kiểm thử
Các công việc cụ thể
Phát triển ứng dụng: lập trình, kiểm thử, lập tài liệu
cho các modun chương trình
Cài đặt và đánh giá
Xây dựng kế hoạch hỗ trợ và bảo trì hệ thống
15
16
9
17
Phân bổ chi phí cho các hoạt động
18
Sử dụng tài nguyên
Khối lượng
tài nguyên
sử dụng
Phát triển
hệ thống
Thời gian
Kiểm thử
hệ thống
Cập nhật
thay đổi nhỏ
Thay đổi lớn trong
nghiệp vụ và công
nghệ
10
Một số phương pháp phát triển HT
Phương pháp ~ một cách thực hiện chu trình
phát triển hệ thống
3 nhóm phương pháp
Các phương pháp hướng quy trình
Tập trung định nghĩa các hoạt động gắn với hệ thống
Mô hình hóa các quy trình với luồng vào/ra
Các phương pháp hướng dữ liệu
Tập trung định nghĩa nội dung dữ liệu lưu trữ
Mô hình hóa dữ liệu
Các phương pháp hướng đối tượng
Cân bằng giưa dữ liệu và quy trình
UML là một ngôn ngữ mô hình hóa
19
20
Một số kiểu phát triển hệ thống
Phân tích thiết kế có cấu trúc
(Structured Design)
Chu trình thác nước
Chu trình tăng trưởng / chu trình song song
Phát triển nhanh ứng dụng
(Rapid Application Development - RAD)
Chu trình xoắn ốc
Làm bản mẫu
Hướng lập trình ứng dụng
(Agile Development)
eXtreme-Programming based
11
Phân tích thiết kế có cấu trúc
Thực hiện tuần tự các bước trong quy trình
phát triển hệ thống
Sử dụng các mô hình và biểu đồ kỹ thuật để
mô hình hóa quy trình nghiệp vụ của hệ thống
21
22
Mô hình phát triển thác nước
(Waterfall Development Model)
12
23
Mô hình phát triển song song
(Parallel Development Model)
Phát triển nhanh ƯD
Thực hiện phát triển từng phần hệ thống với
mục đích chuyển giao cho người dùng sớm
Cần sử dụng các kỹ thuật và công cụ để tăng
tốc quá trình phân tích, thiết kế và cài đặt (vd:
CASE – computer-aided software engineering)
24
13
25
Mô hình phát triển xoắn ốc
(Spiral Development Model)
26
Làm bản mẫu
(prototyping-based)
14
Throwaway prototyping-based
27
Phương pháp phát triển linh hoạt
(Agile Development)
Tập trung vào bước của chu trình phát triển và
hạn chế việc sử dụng mô hình hóa, xây dựng
tài liệu của các bước trung gian
Phát triển ứng dụng đơn giản, lăp đi lặp lại
Sử dụng eXtreme Programming (XP)
28
15
29
eXtreme-Programming -based
Trao đổi thông tin (communication)
Đơn giản (simplicity)
Phản hồi (feedback)
Thế mạnh (courage)
Đặc điểm
Tương tác liên tục
Thiết kế đơn giản, sử dụng các nguyên lý và
dạng thức thiết kế chung
Nhóm làm việc: người lập trình, khách hàng,
người quản trị - khách hàng trực diện
30
16
Lựa chọn phương pháp phát triển HT
31
Các nhiệm vụ phân tích
Phân tích nghiệp vụ
Phân tích các yêu cầu nghiệp vụ và vai trò của hệ
thống trong việc thực hiện các yêu cầu nghiệp vụ
này
Đưa ra các quy trình nghiệp vụ “mới” và các chính
sách
Phân tích hệ thống
Xác định công nghệ sử dụng
Thiết kế các quy trình nghiệp vụ đề xuất và HTTT
theo quy chuẩn
32
17
Các nhiệm vụ …
Phân tích cơ sở hạ tầng
Xác định và đảm bảo hệ thống tương thích với cơ
sở hạ tầng (đã có và/hoặc sẽ xây dựng)
Phân tích và quản lý biến động
Quản trị dự án
Quản lý các nhóm làm việc
Xây dựng và quản lý tiến độ dự án
Lập kế hoạch và điều phối sử dụng các tài nguyên
33
34
Vai trò của người phân tích HT
Nhiệm vụ
Người tư vấn
Chuyên gia
Tác nhân thay đổi
Kỹ năng cần thiết
Phân tích
Kỹ thuật
Quản lý
Quan hệ cá nhân
18
35
Phân tích và thiết kế hệ thống
Mục đích
Xác định các vấn đề, các cơ hội, các mục tiêu
Phân tích các dòng thông tin vào/ra
Sử dụng máy tính để xử lý tự động các thông tin
sử dụng các mô hình để diễn tả các kết quả thu được,
cho nên thường gọi khác đi là sự mô hình hoá.
Mô hình là một dạng biểu diễn trừu tượng của một hệ
thống thực, được diễn tả:
ở một mức độ trừu tượng hoá nào đó,
theo một góc nhìn nào đó,
bởi một hình thức diễn tả hiểu được (chẳng hạn văn bản,
phương trình toán học, đồ thị)
Mô hình hóa
Phương pháp mô hình hoá
Quá trình mô hình hoá phải được thực hiện theo
một phương pháp nào đó.
Phương pháp là một sự kết hợp của ba thành phần:
một ký pháp,
một tiến trình,
một (hay một số) công cụ hỗ trợ (CASE).
Hai xu hướng mô hình hoá
hướng chức năng,
hướng đối tượng.
36
19
Ngôn ngữ mô hình hóa UML
UML (Unified Modeling Language) là một ngôn
ngữ (hay ký pháp) mô hình hoá hướng đối
tượng đã được công nhận là chuẩn.
Lịch sử
1/94 hình thành dự án (Booch, Rumbaugh),
10/95 UML 0.,
6/96 UML 0.9,
11/97 UML 1.1, OMG công nhận là chuẩn,
6/98 UML 1.2,
10/98 UML 1.3,
5/2001 UML 1.4,
2004 UML 2.0
2007 UML 2.2
37
Các góc nhìn UML
38
Góc nhìn
ca sử dụng
Góc nhìn thiết kế
Góc nhìn bố trí
Góc nhìn thực thi
Góc nhìn quá trình
20
Các biểu đồ UML
Các biểu đồ về cấu trúc:
Biểu đồ lớp, Biểu đồ đối tượng,
Biểu đồ bố trí, Biểu đồ gói,
Biểu đồ thành phần, Biểu đồ cấu trúc đa hợp,
Các biểu đồ về hành vi:
Biểu đồ ca sử dụng, Biểu đồ hoạt động,
Biểu đồ máy trạng thái, Biểu đồ trình tự
Biểu đồ giao tiếp, Biểu đồ thời khắc,
Biểu đồ bao quát tương tác.
39
UML
Mở rộng ý nghĩa của các yếu tố MH
Đặc tả,
Tô điểm,
Khuôn dập,
Tính chất và giá trị gắn nhãn,
Ràng buộc.
Mô hình hoá với UML
Theo nhiều góc nhìn,
Theo nhiều mức độ trừu tượng.
40
21
Tiến trình RUP
RUP (Rational Unified Process)
Là một tiến trình do chính các tác giả đầu tiên của
UML đề xuất (và không là chuẩn).
Các nguyên tắc cơ bản của RUP
Lặp và tăng trưởng,
Tập trung vào kiến trúc,
Dẫn dắt theo các ca sử dụng,
Khống chế bởi các nguy cơ.
41
Các pha của RUP
RUP gồm 4 pha: Khởi đầu, Triển khai, Xây
dựng, Chuyển giao.
Mỗi pha gồm nhiều vòng lặp.
Mỗi vòng lặp thường gồm năm công đoạn: Xác
định nhu cầu, Phân tích, Thiết kế, Cài đặt,
Đánh giá
42
22
Một tiến trình đơn giản
43
1. Phân tích chức năng
Nghiên cứu sơ bộ
MHH ca sử dụng
2. Phân tích cấu trúc
Phát hiện các lớp lĩnh vực
Phát hiện các lớp tham gia Ca SD
3. Phân tích hành vi: sự tương tác
Sử dụng biểu đồ trình tự
Sử dụng biểu đồ giao tiếp
4. Phân tích hành vi: sự ứng xử
Sử dụng biểu đồ máy trạng thái
5. Thiết kế giao diện và kiến trúc
TK giao diện và làm nguyên mẫu
TK kiến trúc hệ thống
6. Thiết kế chi tiết
Thiết kế các đối tượng
Thiết kế các tầng
44 44
23
45
Lưu ý
Một số khái niệm cơ bản
Quy trình phát triển hệ thống
Một số mô hình phát triển hệ thống
Vai trò của nhóm dự án
46
Chất lượng của một HTTT
Mức độ thỏa mãn các yêu cầu của người sử
dụng
Chất lượng của các công việc cụ thể
Phân tích hệ thống
Lập trình hệ thống
Quản trị dự án CNTT
24
I. Đại cương về mô hình hoá
Phân tích và thiết kế hệ thống thường sử dụng
các mô hình để diễn tả các kết quả thu được,
cho nên thường gọi khác đi là sự mô hình hoá.
1. Mô hình
Mô hình là một dạng biểu diễn trừu tượng của
một hệ thống thực, được diễn tả:
ở một mức độ trừu tượng hoá nào đó,
theo một góc nhìn nào đó,
bởi một hình thức diễn tả hiểu được (chẳng hạn văn
bản, phương trình toán học, đồ thị)
Nội dung
I. Đại cương về mô hình hoá
II. Ngôn ngữ mô hình hoá UML
III. Tiến trình RUP
25
I. Đại cương về mô hình hoá (2)
2 Phương pháp mô hình hoá
Quá trình mô hình hoá phải được thực hiện
theo một phương pháp nào đó.
Phương pháp là một sự kết hợp của ba thành
phần:
một ký pháp,
một tiến trình,
một (hay một số) công cụ hỗ trợ (CASE).
3 Hai xu hướng mô hình hoá
hướng chức năng,
II. Ngôn ngữ mô hình hoá UML
UML (Unified Modeling Language) là một
ngôn ngữ (hay ký pháp) mô hình hoá hướng
đối tượng đã được công nhận là chuẩn.
1. Xuất xứ
1/94 hình thành dự án (Booch, Rumbaugh),
10/95 UML 0.,
6/96 UML 0.9,
11/97 UML 1.1, OMG công nhận là chuẩn,
6/98 UML 1.2,
10/98 UML 1.3,