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

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?cqua đó 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

pdf61 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1571 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 6: Các hoạt động thiết kế, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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:

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