Tải bản đầy đủ (.ppt) (108 trang)

Thiết ké hệ thống

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (678.49 KB, 108 trang )

1
Chương 5:
Thiết kế hệ thống
2
Nội dung
1. Một số khái niệm
2. Các mô hình thiết kế
1. Thiết kế mô hình hệ thống
2. Thiết kế giao diện (Interface Design)
3. Thiết kế dữ liệu (Data design)
4. Thiết kế kiến trúc (Achitectural Design)
5. Thiết kế thành phần (Component Design)
3
1. Một số khái niệm

Thiết kế là gì

Thuộc tính chất lượng

Thiết kế hệ thống

Hướng dẫn thiết kế

Nguyên lý thiết kế

Khái niệm thiết kế
4
Thiết kế là gì?

Thiết kế tạo ra một biểu diễn hay mô hình của phần mềm,
nhưng không giống như mô hình phân tích (tập trung vào việc


mô tả dữ liệu, chức năng và hành vi)

Mô hình thiết kế cung cấp chi tiết về kiến trúc (architecture),
Giao diện (interfaces) và thành phần (component) cần thiết để
cài đặt phần mềm

Sản phẩm công tác (work product): biểu diễn kiến trúc (Cơ sơ
dữ liệu, giao tiếp với hệ thống khác…), giao diện người dùng
(GUI), thành phần (giao tiếp các thành phần, cấu trúc dữ liệu,
giải thuật dưới dạng mã giả…)
5
Thiết kế là gì?

SRS cho biết hệ thống làm gì (what) và trở thành đầu vào cho
quá trình thiết kế

Thiết kế dùng để chỉ ra hệ thống sẽ làm như thế nào (how), các
yêu cầu sẽ được hiện thực hóa (realize) ra sao?

Kết quả của quá trình thiết kế là Software Design Document
(SDD).
6
Thuộc tính chất lượng

Chức năng (functionality): khả năng của phần mềm, kèm theo
tính an ninh

Tiện dụng (usability): bao gồm cả tính mỹ thuật, toàn vẹn và tư
liệu


Tin cậy (reliability): tính chính xác, dùng The mean-time-to-
failure (MTTF), Khả năng phục hồi từ lỗi

Thực thi (performance): tốc độ xử lý, thời gian đáp ứng, sử
dụng tài nguyên, hiệu quả…

Khả năng hỗ trợ (suppotability): dễ mở rộng, khả năng ráp nối,
khả năng test, khả năng cấu hình, khả năng tương thích…
7
Thiết kế hệ thống
8
Thiết kế phần mềm

Thiết kế phần mềm là quá trình lặp thông qua đó các yêu cầu hệ
thống sẽ được chuyển đổi thành “blueprint” (bản thiết kế chi
tiết) của phần mềm.

Thiết kế bao gồm hai phần:

Thiết kế ý niệm (conceptual design) nhằm nói cho khách
hàng biết chính xác hệ thống sẽ làm gì

Thiết kế kỹ thuật (technical design) cho phép các nhà xây
dựng hệ thống biết cách vận dụng phần cứng và phần mềm
như thế nào để giải quyết bài toán của khách hàng.
9
Hướng dẫn thiết kế

Một thiết kế phải đưa ra một kiến trúc mà:


(1) Dùng mẫu (pattern) hay kiểu (style) kiến trúc được thừa
nhận

(2) Gồm những thành phần có đặc trưng thiết kế tốt

(3) Có thể thi hành theo cách tiến hóa

Thiết kế phải module hóa

Thiết kế phải trình bày riêng dữ liệu, kiến trúc, giao diện và
thành phần (component)

Thiết kế phải đưa ra cấu trúc dữ liệu phù hợp với lớp thực thi
và từ những mẫu dữ liệu được thừa nhận

Thiết kế phải đưa ra những thành phần mà độc lập chức năng
10

Thiết kế phải đưa ra những giao diện (interface) mà giảm sự
phức tạp của việc kết nối giữa các thành phần, cũng như môi
trường ngoài

Thiết kế được đưa ra từ việc dùng phương pháp lặp mà được
định hướng bởi thông tin đạt được suốt quá trình phân tích yêu
cầu phần mềm

Thiết kế phải dùng những ký hiệu hiệu quả cao trong việc thông
tin
11
Chuyển mô hình phân tích sang mô hình

thiết kế

Mỗi phần tử của mô hình phân tích (analysis model) cung cấp
thông tin cần thiết để tạo 4 mô hình thiết kế.
Analysis Model
Scenario-based
Element
Use case diagram
Activity diagram
Scenario-based
Element
Use case diagram
Activity diagram
Flow-oriented
Element
Data Flow Diagram
Control-Flow diagram
Flow-oriented
Element
Data Flow Diagram
Control-Flow diagram
Behavioral
Element
State diagram
Sequence diagram
Behavioral
Element
State diagram
Sequence diagram
Class-based

Element
Class diagram
CRC models
Class-based
Element
Class diagram
CRC models
12
Nguyên lý thiết kế

Thiết kế phải tránh “tunnel vision”

Thiết kế phải có thể lần vết ra mô hình phân tích

Thiết kế phải không “reinvent the wheel”

Thiết kế “minimize the intellectual distance” giữa phần mềm và những vấn
đề trong thế giới thực

Thiết kế phải thể hiện tính đồng nhất và tích hợp

Thiết kế phải hỗ trợ sự thay đổi

Thiết kế phải làm nhẹ đi những lệch lạc về dữ liệu sự kiện hay điều kiện
hoạt động

Thiết kế không là code, code không là thiết kế

Thiết kế phải được đánh giá chất lượng khi nó đang được tạo không phải
khi nó có vấn đề


Thiết kế phải được kiểm tra (review) để làm giảm thiểu những lỗi ngữ
nghĩa (semantic)
13
Khái niệm thiết kế

Trừu tượng (Abstraction) - data, procedure, control

Kiến trúc (Architecture) - the overall structure of the software

Mẫu (Patterns) - ”conveys the essence” of a proven design solution

Module hóa (Modularity) - compartmentalization of data and function

Che dấu thông tin (Information hiding) - controlled interface

Độc lập chức năng (Functional independence) - single-minded function
and low coupling

Tinh chế (Refinement) - elaboration of detail for all abstractions

Phân tách lại (Refactoring) - a reorganization technique that simplifies the
design
14
2. Các mô hình thiết kế

Thiết kế giao diện (Interface Design)

Thiết kế kiến trúc (Achitectural Design)


Thiết kế dữ liệu (Data design)

Thiết kế thành phần (Component Design)
15
2.2 Thiết kế giao diện

Để hệ thống làm việc tốt, ta phải điều khiển được các hệ thống
con, làm cho các dịch vụ của chúng phải được thực hiện đúng
chỗ và đúng thời điểm.

Có 2 loại điều khiển (control styles):

Điều khiển tập trung: một hệ thống con chịu trách nhiệm
kiểm soát, khởi tạo hoặc dừng các hệ thống con khác.

Điều khiển hướng sự kiện: mỗi hệ thống đáp ứng với các sự
kiện xảy ra từ các hệ thống con khác hoặc từ môi trường của
hệ thống.
16
2.2 Thiết kế giao diện

Ba quy tắc vàng

Các mô hình phân tích & thiết kế giao diện

Quy trình phân tích & thiết kế giao diện

Phân tích giao diện

Thiết kế giao diện

17
Xây nhà Phát triển hệ thống
Bản vẽ kiến trúc (Blueprint)
Thiết kế kiến trúc
(architecture design)
Các mô tả Doors, windows,
utility connections for
water, for electricity,…
Thiết kế giao diện (user
interface design)
18
Ba quy tắc vàng
1. Place the user in control.
2. Reduce the user’s memory load.
3. Make the interface consistent.
19
Quy tắc 1: Theo yêu cầu người dùng
Place the user in control

Người dùng luôn mong muốn hệ thống tương tác và giúp họ
thực hiện mọi việc dễ dàng.

Người dùng muốn

“to control the computer, not have the computer control”,

“System reads their mind, it knows what the users want to
do before the user need to do”
Nhưng


Người thiết kế muốn đưa vào giao diện các ràng buộc và giới
hạn để làm đơn giản hóa việc thực thi giao diện.
20
Quy tắc 1: Theo yêu cầu người dùng
Place the user in control

Nên xác định kiểu tương tác sao cho không ép người dùng thực
hiện các thao tác không cần thiết hay không mong muốn

Cho phép tương tác linh hoạt ( bàn phím, chuột, bút,..)

Cho phép người dùng được ngắt khi thực 1 chuỗi thao tác hay
được phép “undo” thao tác nào

Cho phép người dùng thông thạo được phép tùy biến các tương
tác (dùng macro)

Không nên để người dùng phải nhìn thấy các yếu tố kỹ thuật
của hệ thống (hệ điều hành, chức năng quản lý file,…)

Cho phép người dùng tương tác trực tiếp với các đối tượng trên
màn hình (kéo dãn 1 đối tượng vẽ..)
21
Quy tắc 2: giảm thiểu việc ghi nhớ của người dùng
Reduce the user’s memory load

Càng bắt người dùng phải nhớ càng nhiều, thì việc tương tác
với hệ thống càng dễ bị lỗi

Để giảm việc phải nhớ các hành động cần làm, nên đưa ra

các gợi ý hình ảnh (visual cues)

Nên tạo các mặc định thích hợp

Nên tạo các phím gõ tắt (shortcut) trực giác, dễ nhớ

Nên sắp xếp giao diện gần giống với thế giới thực

Nên tổ chức thông tin theo dạng phân cấp (hierarchical),
thông tin ở mức trừu tượng trước, rồi tới mức chi tiết ( chọn
chức năng gạch dưới xong, thì các kiểu gạch dưới cụ thể sẽ
được liệt kê tiếp theo..)
22
Quy tắc 3: Giao diện phải luôn nhất quán
Make the interface consistent.

Nhất quán trong việc thiết kế các màn hình giao diện theo cùng
một tiêu chuẩn

Cùng cơ chế nhập liệu

Cùng cơ chế chuyển đổi từ nhiệm vụ này sang nhiệm vụ
khác
23
Mục tiêu của thiết kế giao diện

Là để xác định tập hợp các đối tượng giao diện và các hành
động cho phép người dùng thực hiện được tất cả những nhiệm
vụ của hệ thống
24

Các mô hình phân tích và thiết kế giao diện
Bốn mô hình có liên quan đến thiết kế giao diện:
1. Kỹ sư phần mềm tạo mô hình thiết kế (design model)
2. Người phụ trách về nhân sự tạo ra mô hình người dùng
(user model)
3. Người dùng cuối phát triển mô hình nhận biết hệ thống
(system perception)
4. Người thực thi tạo mô hình thực thi (implementation
model)
Các mô hình này có thể rất khác nhau. Vai trò của người thiết kế
giao diện là phải làm sao cho các mô hình này tương thích và
tạo ra giao diện ôn định.
25
Phân loại người dùng

Novices (người mới) – không có kiến thức về hệ thống, hiểu
biết rất ít về ứng dụng cũng như cách sử dụng máy tính

Knowledgeable intermittent users (người dùng gián đoạn tuy có
kiến thức)

Knowledgeable frequent users (người dùng thường xuyên có
hiểu biết)
Phân tích giao diện thường xét đến hồ sơ (profile) của người dùng
hệ thống và phân tích cả môi trường làm việc của người dùng.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×