4. Nội dung
I. Thiết kế kiến trúc
II. Thiết kế xử lý dữ liệu
III. Thiết kế hệ thống thời gian thực
5. 1.1. Mô hình kiến trúc
1.1.1. Kiến trúc phần mềm và vai trò
Kiến trúc phần mềm (Software Architecture) chỉ một cấu trúc phần mềm
và qua đó cung cấp một sự tích hợp chặt về mặt khái niệm của hệ thống.
Kiến trúc phần mềm gồm 3 vai trò chính:
- Công cụ giao tiếp giữa những người liên quan
- Để phân tích hệ thống
- Sử dụng lại ở quy mô lớn
Kiến trúc là 1 mô tả phần mềm cho phép các kỹ sư thực hiện công việc:
- Tăng cường hiểu biết về hệ thống cần xây dựng
- Phân tích hiệu quả
- Xem xét, sửa đổi kiến trúc từ sớm, giảm rủi ro
Thiết kế kiến trúc phần mềm
I
6. 1.1.2. Các mô hình kiến trúc phổ dụng
*Kiến trúc hướng đối tượng:
- Khái niệm: là một phần của chiến lược phát triển định hướng đối
tượng.
- Đầu vào là các mô hình nhận được ở giai đoạn phân tích
- Gồm các bước:
+ Xác định các bước của hệ thống
+ Sắp xếp thứ tự ưu tiên các gói
+ Với mỗi gói thiết kế ca sử dụng tương ứng
+Xây dựng biểu đồ tương tác
+ Thiết kế chi tiết các lớp
+ Phân tích và hoàn thiện biểu đồ lớp dựa trên mẫu thiết kế.
- Kiến trúc hướng đối tượng được minh họa qua biểu đồ thành phần
8. • *Kiến trúc client-server :
• - Là một mô hình
điện toán trong đó máy chủ lưu
trữ, phân phối và quản lý hầu
hết các tài nguyên và dịch vụ mà
máy khách yêu cầu.
• - Nó còn được gọi là
mô hình điện toán nối mạng hoặc
mạng máy chủ máy khách vì
tất cả các yêu cầu và dịch vụ đều
được phân phối qua mạng.
• - Kiến trúc Client-
Server được minh họa qua biểu
đồ thành phần như hình dưới đây Hình 2. Kiến trúc Client-Server
9. 1.1.3. Tiến trình kiến trúc phần mềm
▪ Là tiến trình xác định các hệ thống con của một hệ thống và thiết lập một
khung làm việc cho việc điều khiển và giao tiếp giữa chúng
▪ Kết quả của hoạt động này là tài liệu thiết kế kiến trúc-mô tả kiến trúc
phần
mềm
▪ Tập trung vào biểu diễn cấu trúc các thành phần phần mềm, các thuộc tính
và tương tác giữa chúng
▪ Có nhiều các tiếp cận tiến trình thiết kế khác nhau, nhưng đều có các hoạt
động chung:
- Cấu trúc hệ thống: Hệ thống phân ra thành các Hệ thống con
- Mô hình hóa điều khiển: Thiết lập mô hình chung mô tả mối quan hệ
điều khiển giữa các thành phần trong hệ thống
-Phân rã các môdul: Các hệ thống con được phân rã thành các modul
10. II Thiết kế xử lý dữ liệu
➢ Gồm 2 bước:
-Thiết kế dữ liệu logic và thiết kế cơ sở dữ liệu vật lý
➢ Thiết kế dữ liệu logic:
- Đầu vào của bước này là mô hình thực thể quan hệ, được mô tả
11. ➢ Thiết kế cơ sở dữ liệu vật lý:
- Thực hiện trên CS mô hình quan hệ nhận được, lựa chọn hệ quản trị cơ
sở dữ liệu tiến hành phi chuẩn hóa, thiết kế tệp
➢ Có các hệ quản trị cơ sở dữ liệu mạnh: SQLServer, Oracle trợ giúp việc lưu trữ
và tự động hóa cao
➢ Thích hợp với các bài toán xử lý trên các dữ liệu có thể mô tả ở dạng bảng
➢ Tuy nhiên hạn chế với các bài toán dữ liệu đa dạng và đòi hỏi nhiều đối tượng
tương tác với nhau
➢ Nếu hệ thống sử dụng cơ sở dữ liệu dùng chung nên khó sử dụng lại và sai sót ở
một số bộ phận thì ảnh hưởng đến toàn hệ thống
12. 3.1.thiết kế hệ thống hướng cấu trúc
- Hệ thống được phân chia thành các chức năng, bắt đầu ở mức cao nhất, và được
làm mịn dần
- Thường có 2 hoạt động độc lập: thiết kế dữ liệu và thiết kế xử lý
- 3 cấu trúc chuẩn là Tuần tự, chọn và lặp (Bolun1966)
Thiết kế cấu trúc phần mềm
III
13. 3.2. Thiết kế hệ thống hướng đối tượng
- Hệ thống được nhìn nhận như 1 bộ các đối tượng tương tác với nhau, đ/tượng gồm
d/liệu + thao tác
- Một lớp được xác định = thuộc tính+phương thức, có tính kế thừa cao
- Các đối tượng liên lạc với nhau bằng các thông điệp
- Một số công cụ hỗ trợ mạnh như: Rational Rose, Jbuilder
Gồm các bước:
▪ Xác định kiến trúc của hệ thống
▪ Sắp thứ tự ưu tiên các gói
▪ Với mỗi gói thiết kế ca sử dụng tương ứng
▪ Xây dựng biểu đồ tương tác
▪ Thiết kế chi tiết các lớp
▪ Phân tích và hoàn thiện biểu đồ lớp dựa trên mẫu TK
14. 3.3.Thiết kế hệ thống thời gian thực
- Hệ thống thời gian thực là hệ thống mà sự hoạt động đúng đắn của nó phụ thuộc vào kết quả được tạo ra và
thời gian kết quả được xuất ra
- Thường là hệ thống nhúng
** Phần mềm thời gian thực bao gồm:
- Một thành phần thu thập dữ liệu
- Một thành phần phân tích
- Một thành phần kiểm soát đáp ứng
Các bước thiết kế:
▪ Xác định các tác nhân kích thích mà hệ phải đáp ứng
▪ Với mỗi kích thích tương ứng xác định các ràng buộc
▪ Phân tích các kích thích và quá trình xư lý đáp ứng thành 1 tiến trình song song
▪ Với mỗi cặp kích thích/đáp ứng thiết kế các thuật toán tương ứng
▪ Thiết kế hệ thống lập lịch đảm bảo các quá trình được bắt đầu ở đúng thời điểm thích hợp
▪ Tích hợp hệ thống dưới sự điều khiển của một bộ điều phối thời gian thực
15. Thiết kế giao diện người dùng
IV
4.1. Các nguyên tắc thiết kế giao diện người máy
➢ Giao diện người dùng được xem là yếu tố quyết định thành công của hệ thống.
➢ Thiết kế giao diện người sử dụng phải lấy con người làm trung tâm
➢ Một số nguyên tắc thiết kế
➢ Tính quen thuộc với người sử dụng
▪ Tính nhất quán
▪ Làm ngạc nhiên nhỏ
▪ Có khả năng phục hồi
▪ Hướng dẫn sử dụng
▪ Đa dạng người dùng
16. 4.3. Tiến trình thiết kế giao diện người máy
➢ Bao gồm các hoạt động:
• Bắt đầu với việc tạo ra các mô hình khác nhau về chức năng hệ thống
• Phác họa ra các nhiệm vụ hướng con người và máy tính để đạt tới chức năng hệ thống
• Cài đặt cho mô hình thiết kế và đánh giá kết quả về chất lượng
➢ Các mô hình thiết kế giao diện:
• Mô hình thiết kế do kĩ sư phần mềm xây dựng
• Mô hình người dùng
• Mô hình người dùng cảm nhận hệ thống do người dùng cuối cùng xây dựng
➢ Các bước của tiến trình thiết kế giao diện thực hiện theo các cách:
• Thiết lập mục tiêu và ý đồ cho nhiệm vụ
• Ánh xạ thành dãy các hành động
• Xác định dãy hành động khi nó thực hiện ở mức g/diện
➢ Tiến hóa thiết kế và đánh giá:
• Sau khi có bản mẫu giao diện người dùng thì phải đánh giá sự đáp ứng nhu cầu người sử dụng
• Sử dụng phương pháp làm bản mẫu cho cho tiến trình tiến hóa thiết kế giao diện người sử dụng
• Khi phát triển giao diện chú ý đến các thuộc tính cần thiết
17. 4.4 Mô tả tổng quan
• Chức năng Tìm kiếm sản phẩm theo
tên:
Khách hàng bấm vào thanh tìm kiếm
trên trang web ở giữa nửa trên màn hình
web. Khách hàng nhập văn bản (String)
vào thanh tìm kiếm và nhấn biểu tượng tìm
kiếm kế bên phải hoặc nhấn Enter. Hệ
thống sẽ xử lý dữ liệu đầu vào và trả về kết
quả là danh sách sản phẩm hoặc thông báo
không tìm thấy bằng cách tải lại trang và
hiển thị ra màn hình.