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
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:
- 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ế.pdf