You are on page 1of 26

KHOA

CÔNG NGHỆ THÔNG TIN

Công nghệ phần mềm


Chương III: Phân tích&Thiết kế kiến
trúc hệ thống (ph.1)
Nội dung phân tích & thiết kế hệ
thống phần mềm
I. Các hoạt động cơ bản trong tiến trình phân
tích hệ thống.
II. Đặc tả hệ thống
III. Thiết kế hệ thống
– Thiết kế hệ thống là gì?
– Quy trình thiết kế hệ thống.
IV. Phương pháp thiết kế hệ thống
– Tổng quan về các phương pháp thiết kế hệ thống
– Các tiêu chuẩn cho một thiết kế tốt
– Các đặc trưng của các phương pháp thiết kế 2
I.Các hoạt động cơ bản
• Bước 1: Xác định nhu cầu
– Người phân tích giúp khách hàng xác định
các mục tiêu của hệ thống.
– Người phân tích phải phân biệt được giữa
“nhu cầu” của khách hàng và “điều mong
muốn” của khách hàng.
– Khi các mục tiêu tổng thể đã được xác định,
người phân tích chuyển sang việc đánh giá
các thông tin phụ.

3
I.Các hoạt động cơ bản
• Bước 2: Nghiên cứu khả thi
– Khả thi về kinh tế: đánh giá về chi phí phát
triển cần phải cân xứng với lợi tức cuối cùng
hay lợi ích mà hệ thống được xây dựng đem
lại.
– Khả thi về kỹ thuật: khảo cứu về chức năng,
hiệu suất và ràng buộc có thể ảnh hưởng tới
khả năng đạt tới một hệ thống chấp nhận
được.

4
I.Các hoạt động cơ bản
• Bước 2: Nghiên cứu khả thi (tiếp)
– Khả thi về hợp pháp: quy định của pháp luật
về sự xâm phạm, vi phạm hay khó khăn nào
có thể gây ra từ việc xây dựng hệ thống.
– Khả thi về phương án: đánh giá tính khả thi
của phương án đã xác định để tiếp cận tới
việc xây dựng hệ thống.

5
I.Các hoạt động cơ bản
• Bước 3: Mô hình hóa hệ thống
– Việc mô hình hóa và mô phỏng hệ thống
được sử dụng để loại bỏ những điều bất ngờ
khi xây dựng hệ thống.
– Những công cụ CASE được áp dụng trong
các tiến trình kỹ nghệ hệ thống.

6
Mô hình hóa hệ thống
• Các yếu tố của mô hình phân tích: Phân
tích cấu trúc và phân tích hướng đối
tượng.

7
UML Diagram
Ví dụ:
• Use case diagram:
https://www.smartdraw.com/use-case-diagram/
• Activity Diagram:
https://www.smartdraw.com/activity-diagram/
• Class Diagram:
https://www.smartdraw.com/class-diagram/
• Sequence Diagram:
https://www.smartdraw.com/sequence-diagram/

8
II.Đặc tả hệ thống
• Bản đặc tả hệ thống:
– Là một tài liệu làm nền tảng cho kỹ nghệ phần
cứng, kỹ nghệ phần mềm, kỹ nghệ cơ sở dữ
liệu và kỹ nghệ con người.
– Mô tả về chức năng và hiệu suất của hệ
thống và những ràng buộc hệ thống.
– Quy định cả giới hạn cho từng phần tử hệ
thống.
– Mô tả thông tin (dữ liệu và điều khiển) vào/ ra
khỏi hệ thống
9
II.Đặc tả hệ thống
• Xét duyệt đặc tả hệ thống:Tổ chức các
cuộc họp cả hai bên.
– Cuộc họp được tiến hành trong giai đoạn đưa
ra các quan điểm quản lý áp dụng cho hệ
thống, tiến hành đánh giá kỹ thuật về các
phần tử và chức năng hệ thống
– Cuộc họp phải đảm bảo: Tính đúng đắn của
phạm vi dự án, chức năng, hiệu suất và giao
diện. Phân tích rủi ro môi trường và tính khả
thi. Người phát triển và khách hàng có cùng
cảm nhận về mục tiêu hệ thống

10
Xét duyệt đặc tả hệ thống
• Về khía cạnh quản lý, tại giai đoạn đánh giá kỹ
thuật, trong nhiệm vụ phân tích cần đều đặn trả
lời các câu hỏi:
– Nhu cầu kinh doanh của hãng đã được thiết lập
chưa? Luận chứng hệ thống có nghĩa không?
– Có cần môi trường (hay thị trường) riêng cho hệ
thống đã được mô tả hay không?
– Những phương án nào đã được xem xét?
– Rủi ro phát triển cho từng phần tử hệ thống là gì?
– Các tài nguyên đã có sẵn cho việc xây dựng hệ thống
chưa?
– Các giới hạn chi phí và lịch biểu có ý nghĩa gì không?

11
Xét duyệt đặc tả hệ thống
• Mức độ chi tiết trong giai đoạn đánh giá kỹ
thuật phụ thuộc mức độ chi tiết trong
nhiệm vụ xác định ban đầu nhưng phải
bao gồm các vấn đề sau:
– Về chức năng của hệ thống
– Giao diện giữa các phần tử hệ thống và với
môi trường
– Các vấn đề độ tin cậy, hiệu suất và bảo trì
– Cung cấp đủ nền tảng cho các bước kỹ nghệ
phần cứng và phần mềm tiếp sau không?
12
III.Thiết kế hệ thống
Thiết kế hệ thống là gì?
• Là thiết kế cấu hình phần cứng và cấu trúc
phần mềm (gồm cả chức năng và dữ liệu)
để có được hệ thống thỏa mãn các yêu
cầu đề ra
• Có thể xem như Thiết kế cấu trúc
(WHAT), chứ không phải là Thiết kế Logic
(HOW)

13
Quy trình thiết kế hệ thống
• Phân chia mô hình phân tích ra các hệ
con
• Tìm ra sự tương tranh (concurrency)
trong hệ thống
• Phân bố các hệ con cho các bộ xử lý hoặc
các nhiệm vụ (tasks)
• Phát triển thiết kế giao diện giữa chúng
• Chọn chiến lược cài đặt quản trị dữ liệu

14
Quy trình thiết kế hệ thống
• Tìm ra nguồn tài nguyên chung và cơ chế
điều khiển truy nhập chúng.
• Thiết kế cơ chế điều khiển thích hợp cho
hệ thống, kể cả quản lý nhiệm vụ(task)
• Xem xét các điều kiện biên được xử lý
như thế nào?
• Xét duyệt và xem xét các thỏa hiệp (trade-
offs)

15
IV. Phương pháp thiết kế hệ thống

• Tổng quan về phương pháp thiết kế hệ thống:


– Hai phương pháp hiện tại:
• Hướng cấu trúc (hướng chức năng)
• Hướng đối tượng
– Hạn chế của các phương pháp trên
– Phương pháp hướng tương quan(Xu hướng hiện
nay)
• Các tiêu chuẩn cho một thiết kế tốt
• Các đặc trưng của phương pháp thiết kế
16
Tổng quan về phương pháp thiết kế
• Phương pháp cấu trúc là phương pháp đầu
tiên ra đời vào những đầu năm thập kỷ
1970, sau đó đến những năm thập kỷ 1990
phương pháp hướng đối tượng trở thành
trào lưu ra đời.
• Thay vì phương pháp dựa vào chức năng
như phương pháp cấu trúc, phương pháp
hướng đối tượng lại dựa vào các thực
thể(các đối tượng). Khái niệm hướng đối
tượng được xây dựng trên nền tảng hướng
cấu trúc và sự trừu tượng hóa dữ liệu.
17
Tổng quan về phương pháp thiết kế

• Các phương pháp thiết kế trên thường trợ


giúp một số cách nhìn nhận hệ thống:
– Nhìn nhận cấu trúc
– Nhìn nhận quan hệ thực thể
– Nhìn nhận dòng dữ liệu

18
Tổng quan về phương pháp thiết kế
• Hạn chế của phương pháp hướng cấu trúc:
– Phương pháp cấu trúc lộ rõ yếu điểm khi độ
phức tạp của một chương trình tăng lên, dẫn đến
cấu trúc dữ liệu được xử lý cũng phức tạp lên.
Nếu kiểu dữ liệu này bị thay đổi trong các hàm
với chương trình có hàng trăm hàm trở lên quả là
một công việc tốn thời gian và kém hiệu quả.
– Một yếu điểm nữa của phương pháp cấu trúc là
khi làm việc theo các nhóm khác nhau. Nếu dữ
liệu dùng chung của các nhóm mà bị thay đổi bởi
một nhóm thì việc sai sót trong việc trao đổi
thông tin giữa các nhóm quả là thảm họa. 19
Tổng quan về phương pháp thiết kế
• Hạn chế của các phương pháp trên:
– Các hệ thống tốt cần xem xét đến những yêu
cầu hiện tại và cả những yêu cầu tiềm tàng
trong tương lai. Trong khi đó hướng đối
tượng modul hóa yêu cầu theo kiểu mô
phỏng một đối tượng trong thế giới thực
nhưng chỉ dừng lại ở mức tĩnh: Sinh-hoạt
động-tử trong khi thế giới thực các đối tượng
hoạt động theo qui trình Sinh-hoạt động-phát
triển-tử. Trong đó phát triển chính là sự tiến
hóa, thay đổi yêu cầu phần mềm. Nên hệ
thống trong OOP thiếu tính khả mở, tiến hóa.20
Tổng quan về phương pháp thiết kế

• Hạn chế của các phương pháp trên:


– Một hệ thống thực tế là sự đan xen giữa các
yêu cầu. Một yêu cầu nghiệp vụ thường được
bổ sung thêm các yêu cầu khác, gây nên sự
chồng chéo giữa các yêu cầu. Từ đó hệ thống
thiết kế theo hướng đối tượng sẽ khó bảo trì,
phát triển. Khi bổ sung thêm một nghiệp vụ
phải dẫn đến thay đổi tất cả các yêu cầu
nghiệp vụ liên quan.

21
Tổng quan về phương pháp thiết kế

• Phương pháp hướng tương quan/khía


cạnh:
– Được xây dựng dựa trên phương pháp
hướng cấu trúc và hướng đối tượng. Bổ sung
thêm các khái niệm và cấu trúc để module
hóa các concern đan xen.
– Khác nhau cơ bản của hướng tương quan là
cách quản lý các nhiệm vụ đan xen (cross-
cutting concerns) và các nhiệm vụ thành phần
(core concerns)

22
Các tiêu chuẩn cho một thiết kế tốt

1. Thiết kế nêu ra cách tổ chức theo cấp bậc


để dùng cách kiểm soát thông minh
2. Thiết kế nên theo các module, tức là phần
mềm nên được phân hoạch một cách
logic thành các thành phần thực hiện
những chức năng xác định
3. Thiết kế nên chứa các biểu diễn phân biệt
và tách biệt giữa dữ liệu (CSDL) và thủ tục

23
Các tiêu chuẩn cho một thiết kế tốt

4. Thiết kế nên dẫn tới (như chương trình


con hay thủ tục) nêu ra các đặc trưng
chức năng đặc biệt
5. Thiết kế nên dẫn tới giao diện giúp rút
gọn độ phức tạp của việc nối ghép giữa
các module và với môi trường bên ngoài.
6. Thiết kế nên được hướng theo phương
pháp lặp lại, được điều khiển bởi các dữ
liệu có trong bản phân tích các yêu cầu
phần mềm.
24
Các đặc trưng của phương pháp
thiết kế
1. Một cơ chế để chuyển hóa từ biểu diễn
miền thông tin thành biểu diễn thiết kế
2. Một bộ ký pháp để biểu diễn các thành
phần chức năng và giao diện giữa chúng
3. Cách trực cảm để làm mịn phân hoạch
4. Các hướng dẫn về định giá chất lượng

25
Thảo luận

26

You might also like