Bài giảng Kỹ nghệ phần mềm - Bài 6: Các hoạt động thiết kế - Nguyễn Văn Vỵ

Tóm tắt Bài giảng Kỹ nghệ phần mềm - Bài 6: Các hoạt động thiết kế - Nguyễn Văn Vỵ: ...ng tên vμ dịch vụ -> khó tìm server hay dịch vụ rỗi Đang lμ mô hình phát triển ứng dụng phổ biến Bộ mụn Cụng nghệ phần mềm – ĐHCN 15 NguyễnVănVỵ Kiến trúc phân tầng Layered Architecture tầng lõi tầng tiện ích Các thμnh phần tầng ứng dụng tầng giao diện ng−ời dung Mô hình máy trừu ...efining) kiến trúc để nâng cao tính module ™Luồng chuyển đổi tập trung lμ luồng mμ có các dữ liệu đầu vμo đ−ợc tập trung xử lý ở một số tiến trình rồi cho kết quả đầu ra lμ các tiến trình thực hiện l−u trữ, truyền đi hay biểu diễn thông tin Bộ mụn Cụng nghệ phần mềm – ĐHCN 29 NguyễnVănVỵ V... „ Các kiểu t−ơng tác thông dụng ƒ Thao tác trực tiếp ƒ Chọn thực đơn ƒ Chọn biểu t−ợng ƒ Điền vμo mẫu biều ƒ Ngôn ngữ lệnh ƒ Ngôn ngữ tự nhiên Bộ mụn Cụng nghệ phần mềm – ĐHCN 40 NguyễnVănVỵ Các loại giao diện truyền thống  Giao diện dòng lệnh (giao diện hỏi đáp)  Giao diện đồ họa (G...

pdf61 trang | Chia sẻ: havih72 | Lượt xem: 96 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Kỹ nghệ phần mềm - Bài 6: Các hoạt động thiết kế - Nguyễn Văn Vỵ, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bộ môn Công nghệ phần mềm- Khoa CNTT- ĐHCN
Email: vynv@coltech.vnu.vn
Kỹ nghệ phần mềm
Software Engeneering
Nguyễn Văn Vỵ
Bộ mụn Cụng nghệ phần mềm – ĐHCN 2
NguyễnVănVỵ
Nội dung
Bài 6: Cỏc hoạt động thiết kế
„ Thiết kế kiến trúc
„ Thiết kế giao diện
Bộ mụn Cụng nghệ phần mềm – ĐHCN 3
NguyễnVănVỵ
TÀI LiỆU THAM KHẢO
1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giỏo trỡnh kỹ nghệ phần 
mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008
2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified 
Modeling language User Guid. Addison-Wesley, 1998.
3. M. Ould. Managing Software Quality and Business Risk, John 
Wiley and Sons, 1999.
4. Roger S.Pressman, Software Engineering, a Practitioner’s 
Approach. Fifth Edition, McGraw Hill, 2001.
5. Ian Sommerville, Software Engineering. Sixth Edition, Addison-
Wasley, 2001.
6. Nguyễn Văn Vỵ. Phõn tớch thiết kế hệ thống thụng tin hiện đại. 
Hướng cấu trỳc và hướng đối tượng, NXB Thống kờ, 2002, Hà
Nội.
Bộ mụn Cụng nghệ phần mềm – ĐHCN 4
NguyễnVănVỵ
Thiết kế kiến trúc phần mềm
software achitecture design
Khái niệm kiến trúc
„ Kiến trúc phần mềm chỉ cấu trúc tổng thể của 1 phần mềm
và cách thừc tổ chức qua đó cho ta 1 sự tích hợp về mặt khái 
niệm của 1 hệ thống [SHA95a]
„ Thông th−ờng: thể hiện bằng một biểu đồ phân cấp của các 
thμnh phần vμ quan hệ giữa chúng
„ Đầy đủ: thể hiện cầu trúc hệ thống theo nhiều góc nhìn khác 
nhau: tĩnh, động, dữ liệu, triển khai 
[SHA95a] Shaw,M and D.Garlan, Formulation and formalisms in software achitecture, 
volume 100-lecture Notes in computer Science, Springer-verlag,1995
Bộ mụn Cụng nghệ phần mềm – ĐHCN 5
NguyễnVănVỵ
Vai trò kiến trúc phần mềm
„ giúp kĩ s− hệ thống:
ƒ Phân tích tính hiệu quả của thiết kế đáp ứng đ−ợc yêu 
cầu của phần mềm
ƒ Tìm các giải pháp thay thế cấu trúc ở giai đoạn sớm 
ƒ Giảm các rủi ro liên quan tới cấu trúc
„ Không phải lμ mô hình hoạt động 
„ lμ mô hình phân hoạch theo những cách nhìn khác 
nhau (chức năng, dữ liệu, tiến trình, tĩnh hay động..)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 6
NguyễnVănVỵ
Khái niệm thiết kế kiến trúc
  Quá trình xác định các hệ con lập thành hệ
thống và khung làm việc để điều khiển & giao tiếp 
giữa các hệ con với nhau
  Bắt đầu sớm ngay từ giai đoạn đầu của thiết kế hệ
thống, tiến hμnh cùng với một số hoạt động đặc tả
  Nó bao gồm việc xác các thμnh phần chính của hệ
thống sự truyền thống giữa chúng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 7
NguyễnVănVỵ
Các b−ớc thiết kế kiến trúc
1. Cấu trúc hóa hệ thống: phân chia hệ thống thμnh các 
hệ con (sub-system) độc lập vμ xác định trao đổi thông 
tin giữa các hệ con  xác định các giao diện của chúng
2. Mô hinh hóa điều khiển: xác lập mô hinh điều khiển 
giữa các phần khá nhau của hệ thống đã đ−ợc xác định
3. Phân rã thμnh các module: phân rã các hệ con thμnh 
các module.
™ Hệ con: phần hệ thống hoạt động độc lập với các dịch 
vụ mμ các hệ con khác cung cấp
™ Môdun: phần hệ thống cung cấp dịch vụ vμ t−ơng tác 
cùng phần khác để tạo ra dịch vụ hay sản phẩm
Bộ mụn Cụng nghệ phần mềm – ĐHCN 8
NguyễnVănVỵ
Các mô hình kiến trúc
„ Các mô hình kiến trúc khác nhau đ−ợc tạo ra trong 
quá trình thiết kế
„ Mỗi mô hình biểu diễn một cách nhìn của kiến trúc
 Mô hình kiến trúc tĩnh chỉ ra các thμnh phần chính của 
hệ thống (biểu đồ phân rã)
 Mô hình động chỉ ra cấu trúc tiến trình của hệ thống 
(biểu đồ luồng dữ liệu)
 Mô hình giao diện xác định hệ thống giao diện của hệ
thống (hệ thống giao diện t−ơng tác)
 Mô hình mối quan hệ nh− mô hình kháI niệm thực thể
miền dữ liệu của hệ thống 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 9
NguyễnVănVỵ
Một số mô hình kiến trúc
1.Kiến trúc dữ liệu tập trung (Data-centered architectures)
2.Kiến trúc khách/dịch vụ (Client-server architectures)
3.Kiên trúc phân tầng (Layered architectures)
4.Kiến trúc gọi vμ trả lại (Call and return architectures)
5.Kiến trúc luồng dữ liệu (Data flow architectures)
6.Kiến trúc h−ớng đối t−ợng (Object-oriented architectures)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 10
NguyễnVănVỵ
Kho dữ liệu
(repository)
Phần mềm 
khách
Phần mềm 
khách
Phần mềm 
khách
Phần mềm 
khách
Phần mềm 
khách
Phần mềm 
khách
Phần mềm 
khách
Phần mềm 
khách
Kiến trúc dữ liệu tập trung
Bộ mụn Cụng nghệ phần mềm – ĐHCN 11
NguyễnVănVỵ
Kiến trúc của bộ công cụ CASE 
Bộ tạo sinh 
báo cáo
Bộ phân 
tích thiết kê
Bộ biên tập 
ch−ơng trình
Bộ dịch 
thiết kế
Bộ tạo sinh 
mã
Bộ biên tập 
thiết kế
Kho dữ liệu của dự án 
(prọject repository)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 12
NguyễnVănVỵ
Kiến trúc dữ liệu trung tâm(t)
„ Ưu điểm
„ Tiện lợi cho chia sẻ dữ liệu lớn
„ Phân hệ không cần biết dữ liệu đ−ợc quản lý vμ
tạo ra nh− thế nμo (sao l−u, bảo mật,..)
„ Nh−ợc điểm
„ Các hệ con phải theo mô hình dữ liệu của kho
„ Việc tiến hoá dữ liệu lμ khó khăn vμ đắt đỏ
„ Khó có chính sách quản lý riêng cho các hệ con
„ Khó phân bố dữ liệu một cách hiệu quả
Bộ mụn Cụng nghệ phần mềm – ĐHCN 13
NguyễnVănVỵ
Kiến trúc client-server
Mạng băng thông rộng
Máy khách 1
web HTMLảnh sốDanh mục fim
Máy khách 2 Máy khách 3 Máy khách 4
server server server server
Bộ mụn Cụng nghệ phần mềm – ĐHCN 14
NguyễnVănVỵ
Kiến trúc client-server (t)
„ Ưu điểm
 Phân phối dữ liệu trực tiếp
 Sử dụng hiệu quả mạng, dùng thiết bị rẻ hơn
 Dễ dμng mở rộng, thêm dịch vụ
„ Nh−ợc điểm
 Các hệ con dùng cấu trúc dữ liệu khác nhau không 
chia sẻ đ−ợc, trao đổi dữ liệu có thể không hiệu quả
 Quản lý ở mỗi server lμ d− thừa
 Không l−u giữ chung tên vμ dịch vụ -> khó tìm server 
hay dịch vụ rỗi
Đang lμ mô hình phát triển ứng dụng phổ biến
Bộ mụn Cụng nghệ phần mềm – ĐHCN 15
NguyễnVănVỵ
Kiến trúc phân tầng 
Layered Architecture
tầng lõi
tầng tiện ích
Các thμnh phần
tầng ứng dụng
tầng giao diện 
ng−ời dung
Mô hình máy trừu t−ợng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 16
NguyễnVănVỵ
Kiến trúc phân tầng (t)
„ Dùng để mô hinh hóa giao diện của các phân hệ
(sub-systems)
„ Phân rã hệ thống thμnh các tầng, mỗi tầng lμ một 
tập các dịch vụ
„ Hỗ trợ sự phát triển tăng tr−ởng của các tầng, khi 
giao diện mỗi tầng thay đổi thi chỉ ảnh h−ởng tới các 
tầng liền kề
„ Không phải hệ thống nμo cũng dễ dμng phân chia 
theo mô hinh nμy
Bộ mụn Cụng nghệ phần mềm – ĐHCN 17
NguyễnVănVỵ
Kiến trúc phân tầng tham khảo OSI
Phương tiện giao tiếp
tầng vật lý
tầng liờn kết dữ liệu
tầng mạng
tầng giao vận
tầng phiờn
tầng trỡnh diễn
tầng ứng dụng
tầng vật lý
tầng liờn kết dữ liệu
Tầng mạng
tầng vật lý
tầng liờn kết dữ liệu
tầng mạng
tầng giao vận
tầng phiờn
tầng trỡnh diễn
tầng ứng dụng
Hỡnh 3.15 Kiến trỳc của mụ hỡnh tham chiếu OSI
Bộ mụn Cụng nghệ phần mềm – ĐHCN 18
NguyễnVănVỵ
Kiến trúc gọi & trả lại
Call and Return Architecture
sô mô đun ra
sô mô
đun vμo
độ rộng
độ sâu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 19
NguyễnVănVỵ
Hệ thống xử lý đơn hμng
đọc đơn 
hàng
Kiểm tra 
thanh toán
Lập hoá
đơn
Tìm tàI 
khoản TT
Hoá đơn
Lập giấy 
nhắc t.toán
Giấy nhắc
Đơn hàng Phiếu thanh 
toán
Kiến trúc luồng dữ liệu 
Data Flow Architecture
Bộ mụn Cụng nghệ phần mềm – ĐHCN 20
NguyễnVănVỵ
Kiến trúc h−ớng đối t−ợng
Object-oriented architecture
issue ()
sendReminder ()
acceptPayment ()
sendReceipt ()
invoice#
date
amount
customer
Invoice
invoice#
date
amount
customer#
Receipt
invoice#
date
amount
customer#
Payment
customer#
name
address
credit period
Customer
Hệ thống xử lý đơn hμng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 21
NguyễnVănVỵ
Xây dựng kiến trúc ch−ơng trình
Kiến trúc ch−ờng trình
Biểu đồ luồng dữ liệu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 22
NguyễnVănVỵ
Phân hoạch kiến trúc
„ Cần phân hoạch kiến trúc theo chiều: 
ngang vμ dọc
Bộ mụn Cụng nghệ phần mềm – ĐHCN 23
NguyễnVănVỵ
Phân hoạch kiến trúc dọc
„ Xác định các nhánh rẽ riêng cho các chức năng 
chủ chốt
„ Sử dụng các module điều khiển để điều phối thông 
tin giữa các chức năng
Chức năng1 Chức năng 3
Chức năng 2
Bộ mụn Cụng nghệ phần mềm – ĐHCN 24
NguyễnVănVỵ
Phân hoạch kiến trúc ngang
„ phân tầng các module thμnh từng mức: ra quyết định 
(điều khiển) vμ module thao tác 
„ các module ra quyết định cần đ−ợc xếp ở tầng cao
workers
decision-makers
Bộ mụn Cụng nghệ phần mềm – ĐHCN 25
NguyễnVănVỵ
Tại sao cần phân hoạch kiến trúc
„ Tạo ra phần mềm
„ dễ kiểm thử
„ dễ bảo trì
„ hạn chế hiệu ứng phụ khi sửa đổi
„ dễ mở rộng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 26
NguyễnVănVỵ
Thiết kế cấu trúc ch−ơng trình
„ Mục tiêu: tạo ra module có kiến trúc tốt: đ−ợc 
phân hoạch hợp lý, liên kết qua điều khiến 
„ Cách tiếp cận:
„ chuyển đổi (mapping) DFD thμnh kiến trúc 
phần mềm
„ Ký pháp: biểu đồ có cấu trúc (structure chart)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 27
NguyễnVănVỵ
Đặc tính của luồng dữ liệu
2 loại luồng dữ liệu tiêu 
biểu:
ƒ Luồng chuyển đổi: xử lý 
tập trung
ƒ Luồng giao dịch: định 
tuyến phân phối
Luồng chuyển đổi 
Luồng giao dich
Bộ mụn Cụng nghệ phần mềm – ĐHCN 28
NguyễnVănVỵ
Kiên trúc luồng chuyển đổi 
„ Cô lập, xác định biên của các module vμo/ra; xác định 
các module xử lý tập trung
„ Chuyển chúng thμnh các module kiến trúc t−ơng ứng
„ Thêm các module điều khiển nếu cần thiết
„ Vi chỉnh (refining) kiến trúc để nâng cao tính module
™Luồng chuyển đổi tập trung lμ luồng mμ có các dữ liệu 
đầu vμo đ−ợc tập trung xử lý ở một số tiến trình rồi 
cho kết quả đầu ra lμ các tiến trình thực hiện l−u trữ, 
truyền đi hay biểu diễn thông tin
Bộ mụn Cụng nghệ phần mềm – ĐHCN 29
NguyễnVănVỵ
Ví dụ: kiến trúc luồng chuyển đổi
Luồng chuyển đổi 
a
b
g
c
fd ie k
h
ánh xạ luồng chuyển đổi
x1
x2 x3 x4
b c
a
d e f g i
h j
Bộ mụn Cụng nghệ phần mềm – ĐHCN 30
NguyễnVănVỵ
Kiến trúc luồng giao dịch
„ Xác định các luồng vμo
„ Xác định các luồng thực hiện
„ Xác định trung tâm giao dich (module phân phối)
„ Biến đổi riêng rẽ từng luồng hμnh động
™Luồng giao dịch lμ luồng mμ mỗi đầu vào đ−ợc nhận 
dạng và chuyển cho các tiến trình xử lý t−ơng ứng với 
với nó. Tiến trình lμm nhiệm vụ nhận dạng vμ chuyển dữ
liệu đến nơi cần gọi lμ trung tâm giao dịch
Bộ mụn Cụng nghệ phần mềm – ĐHCN 31
NguyễnVănVỵ
Ví dụ: kiến trúc luồng giao dịch
x1
l
i
b
a
t
x2
d e
x3
f g x3.1
h
J
x4
K m
Luồng giao dich 
h
a
d
b
t f
K
i
m
e
J
g
ánh xạ luồng giao dịch
Bộ mụn Cụng nghệ phần mềm – ĐHCN 32
NguyễnVănVỵ
Thiết kế giao diện
Vai trò, tầm quan trọng
„ một khâu không thể thiếu trong thiết kế phần mềm 
ng−ời dùng đánh giá phần mềm qua giao diện 
„ Thiết kế giao diện:
 h−ớng ng−ời dùng
 che dấu chi tiết kỹ thuật bên trong
 kết hợp 3 măt: ng−ời dùng, chức năng, công nghệ
Bộ mụn Cụng nghệ phần mềm – ĐHCN 33
NguyễnVănVỵ
Vai trò, tầm quan trọng 
  Lμ ph−ơng tiện để ng−ời dùng sử dụng hệ thống 
 Giao diện thiết kế nghèo nμn ng−ời dùng dễ mắc lỗi
 Giao diện thiết kế tồi lμ lý do nhiều phần mềm không 
đ−ợc sử dụng 
  Giao diện trợ giúp ng−ời dùng lμm việc với khả năng 
của họ
 Giao diện trợ giúp tốt ng−ời dùng thμnh công
 Giao diện trợ giúp tồi, ng−ời dùng khó khăn, thất bại
Bộ mụn Cụng nghệ phần mềm – ĐHCN 34
NguyễnVănVỵ
Tiến trình thiết kế giao diện chung
Tạo mô hình 
nghiệp vụ hệ
thống
Làm bản 
mẫu thiết 
kế 
chọn thiết 
bị, cách 
t−ơng tác
Cài đăt-
đánh giá, 
hoàn thiện 
Lμm 
mẫu
Tạo mô hình 
hệ thống 
tích hợp
Tạo mô hình 
ng−ời dùng 
hệ thống
Bộ mụn Cụng nghệ phần mềm – ĐHCN 35
NguyễnVănVỵ
Tiến trình thiết kế giao diện lμm mẫu
Phân tích, hiểu 
hoạt động 
ng−ời dùng
Tạo mẫu 
thiết kế 
trên giấy
Tạo mẫu 
thiết kế 
động
Ng−ời dùng 
đánh gia thiết 
kế
Tạo giao 
diện ng−ời 
dùng 
Ng−ời dùng 
đánh gia thiết 
kế
mẫu thực 
hiện đ−ợc
mẫu 
thiết kế
Bộ mụn Cụng nghệ phần mềm – ĐHCN 36
NguyễnVănVỵ
Nguyên tắc thiết kế giao diện 
„ Cần phản ảnh vμo thiết kế:
ƒ Kinh nghiệm, năng lực, nhu cầu của ng−ời dùng
 khả năng dùng bμn phím, mouse,
 tốc độ phản ứng, khả năng nhớ thao tác
ƒ Sở thích, văn hóa, lứa tuổi:mầu sắc, ngôn ngữ, ..
ƒ Những hạn chế về mặt vất chất vμ tính thần của ng−ời 
dùng (trí nhớ, vụng về, ..có thể mắc lỗi)
„ Luôn bao gồm việc lμm bản mẫu để ng−ời dùng đánh giá
Bộ mụn Cụng nghệ phần mềm – ĐHCN 37
NguyễnVănVỵ
Các nguyên tắc thiết kế giao diện
„ Giao diện cần có các tính chất sau đây:
ƒ Tính thân thiên: thuật ngữ, khái niệm, thói quen, trình tự
nghiệp vụ của ng−ời dùng 
ƒ Tính nhất quán: ví tri hiển thị, câu lệnh, thực đơn, biểu 
t−ợng, mμu sắc,  cùng dạng 
ƒ It gây ngạc nhiên
ƒ Có cơ chế phục hồi tình trạng tr−ớc lỗi
ƒ Cung cấp kịp thời phản hồi vμ trợ giúp mội lúc, mọi nơi
ƒ Tiện ích t−ơng tác đa dạng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 38
NguyễnVănVỵ
Thiết bị t−ơng tác
„ Thiết bị t−ơng tác th−ờng gặp
ƒ Mμn hình
ƒ Bμn phím
ƒ Mouse, bút từ, ...
ƒ Mμn hình cảm biến
ƒ Mic/Speaker
ƒ Smart cards,
ƒ Bóng xoay
Bộ mụn Cụng nghệ phần mềm – ĐHCN 39
NguyễnVănVỵ
Các kiểu t−ơng tác
„ Các kiểu t−ơng tác thông dụng
ƒ Thao tác trực tiếp
ƒ Chọn thực đơn
ƒ Chọn biểu t−ợng 
ƒ Điền vμo mẫu biều
ƒ Ngôn ngữ lệnh
ƒ Ngôn ngữ tự nhiên
Bộ mụn Cụng nghệ phần mềm – ĐHCN 40
NguyễnVănVỵ
Các loại giao diện truyền thống
 Giao diện dòng lệnh (giao diện hỏi đáp)
 Giao diện đồ họa (Graphic User Interface - GUI)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 41
NguyễnVănVỵ
Giao diện dòng lệnh
  Lμ ph−ơng thức t−ơng tác có sớm nhất
  Nhập lệnh/dữ liệu từ bμn phím
  Dễ cμi đặt so với GUI 
 thực hiện thông qua hμm chuẩn của ngôn ngữ
 không tốn tμi nguyên hệ thống
  Có khả năng tổ hợp lệnh để tạo các lệnh phức tạp
 phối hợp các filter, tạo các lô xử lý (batch)
 có thể lập trình bằng (Unix) shell
 có thể tự động hóa
Bộ mụn Cụng nghệ phần mềm – ĐHCN 42
NguyễnVănVỵ
Giao diện dòng lệnh(t)
  Thao tác thực hiện tuần tự
 khó sửa lỗi thao tác tr−ớc đó
  Không phù hợp với ng−ời dùng ít kinh nghiệm
 khó học, khó nhớ
 dễ nhầm
 đòi hỏi kỹ năng sử dụng bμn phím
Bộ mụn Cụng nghệ phần mềm – ĐHCN 43
NguyễnVănVỵ
Giao diện dòng lệnh (t)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 44
NguyễnVănVỵ
Giao diện đồ họa (GUI)
 Thông dụng trên PC, Apple, Unix WS
 Dễ học, dễ sử dụng, thuận tiện với ng−ời ít kinh nghiệm
 Có nhiều cửa sổ, có thể t−ơng tác song song
 Hiển thị, t−ơng tác dữ liệu trên nhiều vị trí trong cửa sổ
  T−ơng tác trực tiếp với thông tin: soạn thảo; nhập dữ liệu 
vμo các form
 dễ học, dễ sử dụng
 nhận đ−ợc tức thời kết quả thao tác
 cμi đặt phức tạp, tốn tμi nguyên phần cứng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 45
NguyễnVănVỵ
Các hình thức t−ơng tác
1.T−ơng tác trực tiếp vμ gián tiếp
 T−ơng tác gián tiếp
ví dụ: chọn lệnh từ menu, giao diện dòng lệnh
 kém trực quan
 thuận tiện khi lặp lại thao tác phức tạp
  T−ơng tác trực tiếp
 Dễ nhận biết vμ thao tác
Bộ mụn Cụng nghệ phần mềm – ĐHCN 46
NguyễnVănVỵ
Ví dụ t−ơng tác trực tiếp
Bộ mụn Cụng nghệ phần mềm – ĐHCN 47
NguyễnVănVỵ
Ví dụ t−ơng tác gián tiếp
Bộ mụn Cụng nghệ phần mềm – ĐHCN 48
NguyễnVănVỵ
Dạng thực đơn
 Không cần nhớ lệnh
 Tối thiểu hóa dùng bμn phím
 Tránh các lỗi nh− sai lệnh, sai tham số
 Dễ dμng tạo các trợ giúp theo ngữ cảnh
Bộ mụn Cụng nghệ phần mềm – ĐHCN 49
NguyễnVănVỵ
Bộ mụn Cụng nghệ phần mềm – ĐHCN 50
NguyễnVănVỵ
Một số các vấn đề thiết kế giao diện
 Ph−ơng pháp hiển thị thông tin
 Thời gian phản hồi của hệ thống
 Cách thức xây dựng thông báo
 Các tiện ích trợ giúp
Bộ mụn Cụng nghệ phần mềm – ĐHCN 51
NguyễnVănVỵ
Hiển thị thông tin
 Hiển thị văn bản (text): - chính xác
- dễ cμi đặt
 Hiển thị đồ họa (graphic):- trực quan 
- dễ nhận dạng & mối quan hệ
0
10
20
30
40
50
60
1 2 3 4 5 6
Bộ mụn Cụng nghệ phần mềm – ĐHCN 52
NguyễnVănVỵ
Thời gian phản hồi
ƒ Thời gian trung bình
 thời gian trung bình phản hồi với thao tác
 ng−ời dùng không thể đợi quá lâu (< 3s)
 cần chứng tỏ hệ thống đang hoạt động
ƒ Độ biến thiên thời gian
 Chênh lệch không đ−ợc lớn
 Đều đặn lμ tốt nhất
Bộ mụn Cụng nghệ phần mềm – ĐHCN 53
NguyễnVănVỵ
Thông báo
ƒ Phản hồi của hệ thống đối với thao tác
ƒ Có nghĩa, dễ hiểu, các thông tin lμ hữu ích
 tránh đ−a ra các số hiệu
 định dạng thông báo phải nhất quán(vị trí, nội dung)
ƒ Thông báo lỗi
 chính xác
 có tính xây dựng (nguyên nhân, cách khắc phục,)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 54
NguyễnVănVỵ
Thông báo
„ Số l−ợng thông báo:
 đ−a ra cμng nhiều cμng tốt = cμng thân thiện
 đ−a ra một l−ợng tối thiểu = im lặng lμ vμng
„ Thời điểm & thứ tự đ−a ra thông báo 
(phù hợp với cách ng−ời dùng)
„ Yêu cầu phản hồi đối với thông báo
Bộ mụn Cụng nghệ phần mềm – ĐHCN 55
NguyễnVănVỵ
Tiện ích
„ Cần có nhiều các tiện ích trợ giúp khác nhau
„ Tiện ích tích hợp: trợ giúp trực tuyến, theo ngữ cảnh 
(chú giải thao tác, giao diện)
„ Các tμi liệu trực tuyến: tra cứu chức năng hệ thống
„ Các macro: tự động hóa thao tác: MS Word macro
Bộ mụn Cụng nghệ phần mềm – ĐHCN 56
NguyễnVănVỵ
Trợ giúp trực tuyến của MS Office
Bộ mụn Cụng nghệ phần mềm – ĐHCN 57
NguyễnVănVỵ
Tính kỹ nghệ
„ Giao diện lμ phần tử dễ thay đổi
 thay đổi qui trình, ph−ơng thức thao tác
 thay đổi môi tr−ờng (phần cứng, hệ điều hμnh)
 nâng cấp (đẹp hơn, dễ sử dụng hơn)
„ Giao diện phải dễ sửa đổi
„ Giao diện phải có tính khả chuyển
Giao diện nên độc lập với xử lý thông tin
Bộ mụn Cụng nghệ phần mềm – ĐHCN 58
NguyễnVănVỵ
Một số hình thức cμi đặt giao diện
„ Tích hợp: dòng lệnh, GUI truyền thống
 phát triển bằng cùng ngôn ngữ, cùng bộ công cụ
„ Client/Server
 giao diện vμ xử lý lμ các ch−ơng trình độc lập
„ X Windows (X protocol)
 giao diện vμ xử lý nằm trong một ch−ơng trình
 hoạt động phân tán trên mạng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 59
NguyễnVănVỵ
Một số hình thức cμi đặt giao diện
„ Web-based 
 truy cập đ−ợc từ mọi thiết bị có web browser
 không cần cμi đặt thêm phần mềm vμo client
Workstation Server
X ProtocolGiao diện Xử lý
Bộ mụn Cụng nghệ phần mềm – ĐHCN 60
NguyễnVănVỵ
Câu hỏi ôn tập
10. Tầm quan trọng của giao diện phần mềm? 
11. Những yếu tố ng−ời dùng nμo cần quan tâm khi thiết kế 
giao diện?
12. Mô tả tiến trình thiết kế giao diện?
13. Các nguyên tắc thiết kế giao diện?
14. Có những loại thiết bị nμo có thể sử dụng để t−ơng tác với 
hệ thống?
15. Có những loại giao diện nμo? GiảI thích nội dung, ý nghĩa, 
−u nh−ợc điểm của nó?
16. Có những đặc tr−ng gì cần quan tâm khi thiết kế giao diện? 
GiảI thích nội dung của nó?
Bộ mụn Cụng nghệ phần mềm – ĐHCN 61
NguyễnVănVỵ
Câu hỏi và thảo luận

File đính kèm:

  • pdfbai_giang_ky_nghe_phan_mem_bai_6_cac_hoat_dong_thiet_ke_nguy.pdf