Giáo trình Công nghệ phần mềm - Chương 3: Thiết kế phần mềm - Phạm Thị Vương

1. Lập sơ đồ phối hợp cho các biến cố còn lại trong ví dụ trên. 2. Đánh giá các sơ đồ phối hợp dựa trên các tính chất - Tính đúng đắn - Tính tái sử dụng - Tính dễ bảo trì - Tính dễ mang chuyển

pdf149 trang | Chia sẻ: huongthu9 | Lượt xem: 440 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Giáo trình Công nghệ phần mềm - Chương 3: Thiết kế phần mềm - Phạm Thị Vương, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1Chương 3: Thiết kế Phần mềm GVLT: ThS Phạm Thi Vương 2Nội dung Thiết kế Phần mềm? Thiết kế giao diện Thiết kế xử lý Thiết kế dữ liệu (lưu trữ) 3Tổng quan  Khái niệm:  Thiết kế phần mềm là mô tả chi tiết tổ chức, hoạt động các đơn vị xử lý của phần mềm  Dựa trên kết quả của việc phân tích  Là cơ sở cho việc thực hiện phần mềm Phân tích Thiết kế Thực hiện Hồ sơ Phân tích Hồ sơ Thiết kế 4Tổng quan Người dùng Khối xử lý D1 D2 D3 D4 Màn hình giao diện Thiết kế xử lý - Kiểu dữ liệu - Hằng, biến - Hàm, đơn thể, lớp đối tượng Lưu trữ dữ liệu 5Thiết kế giao diện  Thiết kế giao diện: Mô tả chi tiết cách thức giao tiếp giữa người sử dụng và phần mềm Màn hình giao diện  Nội dung  Hình thức trình bày  Biến cố phải xử lý  Lập danh sách các biến cố: STT Điều kiện kích hoạt Xử lý Ghi chú 1 ... 6Thiết kế giao diện Mô tả danh sách các thành phần của giao diện: STT Tên Kiểu Ý nghĩa Miền giá trị Giá trị mặc định Ghi chú 1 ... 7Thiết kế dữ liệu (lưu trữ)  Thiết kế dữ liệu: Mô tả chi tiết cách thức tổ chức, lưu trữ các dữ liệu của phần mềm  Tổ chức lưu trữ  Bảng/Tập tin  Thuộc tính/Cấu trúc  Liên kết giữa các bảng/Tập tin  Danh sách các bảng STT Bảng Ý nghĩa Ghi chú 1 ... 8Thiết kế dữ liệu (lưu trữ)  Danh sách các thuộc tính bảng X STT Thuộc tính Kiểu Ràng buộc Giá trị Khởi động Ghi chú 1 ... 9Thiết kế Xử lý  Thiết kế xử lý: Mô tả chi tiết hệ thống các hàm xử lý (cùng với các hằng, biến, kiểu liên quan) của phần mềm  Danh sách các kiểu dữ liệu xử lý  Danh sách các thuộc tính kiểu dữ liệu X STT Kiểu dữ liệu Ý nghĩa Ghi chú ... ... ... ... STT Thuộc tính Kiểu Ràng buộc Giá trị khởi động Ghi chú ... ... ... ... ... ... 10 Thiết kế Xử lý  Danh sách các biến  Danh sách các hằng  Danh sách các hàm xử lý STT Biến Kiểu Ý nghĩa Ghi chú ... ... ... ... ... STT Hằng Kiểu Giá trị Ý nghĩa Ghi chú ... ... ... ... ... ... STT Hàm Tham số Kết quả trả về Thuật giải Ý nghĩa Ghi chú ... ... ... ... ... ... 11 Ví dụ  Phân tích, thiết kế chức năng tra cứu học sinh theo lớp 1. Phân tích Sơ đồ luồng dữ liệu Người dùng Tra cứu học sinh theo lớp D1 D2 D3  Giải thích:  D1: Lớp được chọn  D2: Danh sách lớp, Danh sách học sinh trong lớp được chọn  D3: Danh sách lớp, Danh sách học sinh  Thuật toán xử lý  Đọc D3, Xuất danh sách lớp  Nhập D1  Tính D2 (DS học sinh trong lớp được chọn)  Xuất D2 (DS học sinh trong lớp được chọn) 12 Ví dụ (tt) 2. Thiết kế a. Thiết kế dữ liệu (lưu trữ) Dùng cơ sở dữ liệu quan hệ gồm hai bảng: HOC_SINH, LOP 13 Ví dụ (tt) 2. Thiết kế b. Thiết kế giao diện (0) (1) Cách 1 14 Ví dụ (tt) 2. Thiết kế b. Thiết kế giao diện (0) (1) Cách 2 15 (0) Ví dụ (tt) 2. Thiết kế b. Thiết kế giao diện Cách 3 (2) (1) 16 Ví dụ (tt) 2. Thiết kế b. Thiết kế giao diện Danh sách các biến cố STT Điều kiện kích hoạt Xử lý 0 1 2 Khởi động màn hình Chọn lớp Chọn học sinh ??? ??? ??? 17 Ví dụ (tt) 2. Thiết kế b. Thiết kế xử lý 3. Bài tập: Mở rộng khi Trường quản lý phân cấp theo khối STT Hàm Tham số Kiểu trả về Thuật giải Ghi chú 1 2 ... Xuất danh sách lớp Xuất danh sách học sinh ... ? ? 18 Thiết kế dữ liệu 19 Thiết kế dữ liệu Mục tiêu: Mô tả cách thức tổ chức lưu trữ dữ liệu của phần mềm/hệ thống dựa trên phần mềm.  D1, D2 được lưu trữ theo cách thức nào trong bộ nhớ chính?  D3, D4 được lưu trữ theo cách thức nào trong bộ nhớ phụ? Người dùng D1 D2 D3 D4 Xử lý 20 Thiết kế dữ liệu  Cách thức lưu trữ dữ liệu trên bộ nhớ chính:  Kiểu cấu trúc  Kiểu mảng  Kiểu xâu  Kiểu cây  ...  Cách thức lưu trữ dữ liệu trên bộ nhớ phụ:  Tập tin (Có cấu trúc/Không có cấu trúc)  Cơ sở dữ liệu (Quan hệ/Đối tượng) Thiết kế dữ liệu  Kết quả về cách thức lưu trữ trên bộ nhớ phụ (CSDL)  Danh sách các bảng (Table)  Mối quan hệ giữa các bảng.  Thông tin chi tiết của từng bảng với danh sách các thuộc tính, khóa chính 21 22 Thiết kế dữ liệu  Các yêu cầu chất lượng:  Tính đúng đắn: Lưu trữ đầy đủ và đúng ngữ nghĩa các thông tin có trong nghiệp vụ liên quan  Tính tiến hóa: Lưu trữ thông tin về tổ chức và qui định có trong nghiệp vụ liên quan  Tính hiệu quả: Lưu trữ tiết kiệm nhất không gian bộ nhớ, truy xuất nhanh nhất thông tin cần thiết  Tính bảo mật: Lưu trữ thông tin về các người sử dụng phần mềm cùng với quyền hạn tương ứng 23 Thiết kế dữ liệu  Thuộc tính  Là các đặc trưng mô tả về đối tượng  Thực thể  Sơ đồ logic  Công cụ cho phép mô tả trực quan cách thức lưu trữ dữ liệu trên bộ nhớ phụ với việc sử dụng cơ sở dữ liệu quan hệ  Liên kết giữa các bảng (mối kết hợp) 24 Phân loại thuộc tính  Thuộc tính khóa  Thuộc tính có giá trị rời rạc  Thuộc tính đa trị  Thuộc tính là đối tượng phụ  Thuộc tính tính toán 25  Thuộc tính khóa  Thuộc tính có giá trị rời rạc:  Thuộc tính phái của Sinh viên chỉ có 2 giá trị: Nam hoặc Nữ  Thuộc tính phái của Sinh viên chỉ có 2 giá trị: 0 hoặc 1 (0: Nam, 1: Nữ)  Thuộc tính điểm học phần chỉ có các giá trị 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.  Thuộc tính loại nhân viên chỉ có các giá trị: Nhân viên văn phòng, nhân viên bán hàng, nhân viên sản xuất. Phân loại thuộc tính 26  Thuộc tính đa trị:  Thuộc tính điện thoại của nhân viên là thuộc tính đa trị:  081234567  09081234567,  Thuộc tính email của sinh viên cũng là một thuộc tính đa trị:  xyz@yahoo.com,  xyz@gmail.com,... Phân loại thuộc tính 27  Thuộc tính là đối tượng phụ: Phân loại thuộc tính Tìm sinh viên có địa chỉ ở Bình Định, Nha Trang, Tp.HCM ??? 28  Thuộc tính là đối tượng phụ:  Thuộc tính địa chỉ của sinh viên, nhân viên là một đối tượng phụ, bao gồm các thông tin:  Số nhà  Đường  Phường/xã  Quận/huyện  Tỉnh thành  Thuộc tính ngày sinh của sinh viên, nhân viên cũng là một đối tượng phụ gồm các thông tin: ngày, tháng, năm Phân loại thuộc tính 29  Thuộc tính tính toán:  Thuộc tính thành tiền trong hóa đơn là một thuộc tính tính toán, được tính bằng tổng số lượng * đơn giá của các mặt hàng  Thuộc tính điểm trung bình của học sinh, sinh viên cũng là một thuộc tính tính toán Phân loại thuộc tính 30 Quan hệ giữa các thực thể: Phân loại quan hệ dựa trên bản số  Quan hệ “1-1”  Quan hệ “1-nhiều”  Quan hệ “nhiều-nhiều” Phân loại thuộc tính 31 Ví dụ 1  Xét phần mềm quản lý bán hàng với nghiệp vụ lập phiếu thu tiền của khách hàng Hãy lập sơ đồ logic dữ liệu 32 Ví dụ 1 (tt)  Cách 0: dùng 1 bảng  Cách 1: dùng 2 bảng (PHIEU_THU, LYDO_THU)  Cách 2: dùng 2 bảng (PHIEU_THU, KHACH_HANG)  Cách 3: dùng 4 bảng 33 PHIEU_THU MA_PT MA_KH MA_LDT Ngay_Thu SoTien_Thu KHACH_HANG MA_KH Ho_Ten CMND Dia_Chi LYDO_THU MA_LDT Ten_LDT Ví dụ 1 (tt) THAM_SO MA_Tham_So Ten_Tham_So Gia_Tri Table THAM_SO dùng để lưu những qui định 34 Ví dụ 2  Xét phần mềm quản lý nhân sự với nghiệp vụ tiếp nhận nhân viên 35 Ví dụ 2 (tt) Hãy lập sơ đồ logic dữ liệu cho yêu cầu nghiệp vụ trên trong các trường hợp sau: a. Không yêu cầu theo dõi quá trình chuyển nhân viên từ đơn vị này sang đơn vị khác b. Có yêu cầu theo dõi quá trình chuyển nhân viên c. Bổ sung qui định: Đơn vị X chỉ nhận các nhân viên có trình độ đại học và sau đại học 36 Ví dụ 2 (tt) NHAN_VIEN MA_NV MA_Don_Vi Ho_Ten Gioi_Tinh Ngay_Sinh Dien_Thoai Dia_Chi Ma_Trinh_Do DON_VI MA_Don_Vi Ten_Don_Vi TRINH_DO MA_Trinh_Do Ten_Trinh_Do a. 37  Table THAM_SO có thể thiết kế theo nhiều cách  Cách 1 Khóa ThamSố#1 ThamSố#2 ThamSố#N Mỗi tham số tương ứng với một cột trong bảng tham số Bảng tham số thường chỉ gồm 1 dòng (chứa giá trị các tham số hiện hành) ? Cần bổ sung tham số mới? Cần vô hiệu hóa tác dụng của một tham số? Ví dụ 2 (tt) 38  Cách 2 MãThamSố TênThamSố Kiểu GiáTrị TìnhTrạng Mỗi tham số tương ứng với một dòng trong bảng tham số Giá trị hiện tại của tham số được lưu bằng dạng chuỗi Mỗi tham số cần lưu trữ kiểu giá trị để phần mềm “hiểu” đúng nội dung giá trị hiện tại của tham số ? Cần bổ sung tham số mới?Cần vô hiệu hóa tác dụng của một tham số? Được lưu dạng chuỗi Ví dụ 2 (tt) 39 Ví dụ 2 (tt) b. NHAN_VIEN MA_NV Ho_Ten Gioi_Tinh Ngay_Sinh Dien_Thoai Dia_Chi Ma_Trinh_Do DON_VI MA_Don_Vi Ten_Don_Vi TRINH_DO MA_Trinh_Do Ten_Trinh_Do PHAN_CONG MA_PC MA_NV MA_Don_Vi Ngay_PhanCong 40 Ví dụ 2 (tt) c. Bổ sung qui định: Đơn vị X chỉ nhận các nhân viên có trình độ đại học và sau đại học ??? 41  Khi thiết kế dữ liệu phải chú ý đến các vấn đề sau:  Không gian  Thời gian  Khối lượng dữ liệu phát sinh rất nhanh theo thời gian  Đáp ứng yêu cầu truy xuất nhanh  . Thiết kế dữ liệu 42 Sơ đồ kiểu dữ liệu  Cho phép mô tả cách thức tổ chức lưu trữ dữ liệu trong bộ nhớ chính  Ký hiệu: Tương tự như sơ đồ logic  Ví dụ: Xét chức năng tính diện tích đường tròn DIEM Hoanh_do : R Tung_do : R DUONG_TRON Tam : DIEM Ban_kinh : R Một phương pháp thiết kế  Bước 01: Xét yêu cầu phần mềm thứ nhất (Thông thường ta xét ycpm LưuTrữ)  Thiết kế dữ liệu với tính đúng đắn  Biểu mẫu liên quan: BMx  Sơ đồ luồng dữ liệu:  Các thuộc tính mới  Thiết kế dữ liệu  Sơ đồ logic 43 Một phương pháp thiết kế  Bước 01: Xét yêu cầu phần mềm thứ nhất (Thông thường ta xét ycpm LưuTrữ)  Thiết kế dữ liệu với tính tiến hóa  Qui định liên quan:QĐx  Sơ đồ luồng dữ liệu về việc thay đổi qui định  Các thuộc tính mới  Thiết kế dữ liệu  Sơ đồ logic 44 Một phương pháp thiết kế  Bước 02: Xét yêu cầu phần mềm thứ hai.  Bước03: Xét yêu cầu phần mềm thứ ba. ..  Bước n: Xét yêu cầu phần mềm cuối cùng. 45 Một phương pháp thiết kế  Lưu ý:  Khi thiết kế dữ liệu ở bước đúng đắn và tiến hóa ta lần lượt bố trí các thuộc tính mới vào các bảng đã có sẵn (nếu được). Trong trường hợp không bố trí được thì khi đó ta buộc phải tạo ra bảng mới để chứa thuộc tính mới này 46 47 Bài tập 1. Xét phần mềm quản lý học sinh với chức năng ghi nhận bảng điểm danh Hãy lập: sơ đồ luồng dữ liệu, sơ đồ logic dữ liệu 48 Bài tập 2. Xét phần mềm quản lý bán hàng với chức năng lập hóa đơn bán hàng. Hãy lập sơ đồ logic dữ liệu 49 Bài tập 3. Xét phần mềm quản lý tiết kiệm với chức năng mở sổ tiết kiệm. Hãy lập sơ đồ logic dữ liệu 50 Thiết kế giao diện 51 LAN WAN Wireless Cable FR/ATM DSL Dial .. Multimedia Tìm kiếm thông tin Giao dịch điện tử Xử lý thông tin Tài liệu điện tử Tầm quan trọng của giao diện 52 Multimedia Tìm kiếm thông tin Giao dịch điện tử Xử lý thông tin Tài liệu điện tử Giao diện Các thành phần của giao diện Giao diện nhập liệu Giao diện kết xuất Giao diện tương tác 53 Mục tiêu Mục tiêu: mô tả chi tiết cách thức giao tiếp giữa người dùng và phần mềm trong quá trình thực hiện các nghiệp vụ liên quan  Nội dung trình bày của D1, D2  Hình thức trình bày của D1, D2  Biến cố phải xử lý Người dùng D1 D2 D3 D4 Xử lý THIẾT KẾ GD – Thiết bị  Thiết bị vào và ra  Màn hình  Bàn phím  Mouse, bút từ, ...  Màn hình cảm biến  Mic/Speaker  Smart cards,  Máy in Cả thiết bị lẫn phương thức đều đang tiến hóa - nhận dạng tiếng nói, chữ viết 54 THIẾT KẾ GD - Loại giao diện 55 THIẾT KẾ GD - Loại giao diện 56 TKGD – Loại giao diện 57 TKGD– Hình thức tương tác 58 TKGD– Hình thức tương tác 59 THIẾT KẾ GD – Các vấn đề 60 TKGD– Các vấn đề 61 TKGD– Các vấn đề 62 TKGD– Các vấn đề 63 TKGD– Các vấn đề 64 TKGD - Tính kỹ nghệ 65 66 Các yêu cầu chất lượng  Tính tiện dụng  Dễ học  Thứ tự nhập trực quan, dễ sử dụng  Tính hiệu quả  Quy trình nhập đơn giản nhất, tự nhiên nhất  Tận dụng những bước xử lý trên màn hình  Tránh thêm những công đoạn (thao tác) thừa (không cần thiết)  Tốc độ thực hiện nhanh  Tính tiến hóa  Các tùy chọn về nội dung  Hình thức trình bày  Biến cố phải xử lý Tính dễ dùng – Tính thân thiện  Chức năng dễ hiểu  Phát hiện ngay sai sót  Dự trù sẵn phản ứng khi NSD phạm sai sót  Đủ uyển chuyển  Trình tự khai thác có tự nhiên hay không?  Câu hỏi đ/v NSD: – Tôi đang ở đâu? – Tôi đã đến đây như thế nào? – Tôi có thể làm gi tại đây? – Sau giao diện này, tôi có thể đi đến đâu? – Tính “ergonomic”:  Màu sắc  Vị trí  Cách giao tiếp hệ thống 67 Tính nhất quán: “chuẩn” - Chuẩn về dữ liệu: tên gọi, chiều dài, kiểu, cách trình bày – Chuẩn về mã  Độc lập với việc Tin học hóa, có ý nghĩa về mặt nghiệp vụ => xem như dữ liệu bình thường  Do yêu cầu của việc Tin học hóa => đừng làm rối cho NSD – Chuẩn về cấu trúc hệ thống  Cách trình bày thực đơn  Cách trình bày các thành phần trên màn hình  Cách xử lý trên màn hình – Chuẩn về sưu liệu:  Hướng dẫn trực tuyến  Hướng dẫn trong tài liệu 68 69 Các yêu cầu chất lượng  Phải quan sát thói quen của người sử dụng  Thói quen phải tôn trọng => bắt buộc phải tôn trọng  Quen với phím enter khi nhập liệu  Thói quen chưa hợp lý hoặc mâu thuẫn với kỹ thuật => Phải trao đổi, thuyết phục và thống nhất với người sử dụng 70 Kỹ thuật nâng cao chất lượng 1. Bổ sung nội dung  Hướng dẫn sử dụng  Thuộc tính tính toán  Thông tin chi tiết liên quan 2. Tăng tốc thao tác  Dùng giá trị định sẵn  Chuyển ô nhập liệu thành cột nhập liệu  Sử dụng giá trị thay thế  71 Kỹ thuật nâng cao chất lượng 3. Xử lý lỗi  Thông báo lỗi chính xác, cơ hội sửa lỗi  Hạn chế lỗi  Cấm tuyệt đối lỗi 4. Bổ sung, thay thế hình thức trình bày  Dùng biểu tượng  Dùng thực đơn động  Dùng cây  Dùng sơ đồ  Thao tác trực tiếp 72 Ví dụ  Xét phần mềm Quản lý học sinh với chức năng tiếp nhận học sinh mới  Hãy thiết kế dữ liệu và giao diện 73 Ví dụ 74 Ví dụ Mô tả các thành phần của giao diện STT Tên Kiểu Ý nghĩa Miền giá trị Giá trị mặc định Ghi chú 1 Lb_Tieu_de A_Label Tiêu đề màn hình 2 Lb_Hoten A_Label Tiêu đề họ tên 3 Txt_Hoten A_Textbox Text box nhập họ tên 4 Ch_Phai A_Checkbox 5 Lb_Ngaysinh A_Datetime 75 Bài tập  Xét phần mềm quản lý giải bóng đá với các yêu cầu sau:  Tiếp nhận đăng ký tham gia  Xếp lịch thi đấu  Ghi nhận kết quả thi đấu  Lập bảng xếp hạng  Giải gồm có 4 đội tham gia.  Thông tin về mỗi đội bao gồm: Tên đội, danh sách các cầu thủ của đội  Thông tin về mỗi cầu thủ bao gồm: Tên cầu thủ, vị trí sở trường  Xếp lịch thi đấu  Các đội thi đấu vòng tròn hai lượt. Thông tin về trận đấu được xếp lịch: Hai đội bóng tham dự, ngày giờ thi đấu, sân thi đấu (giải diễn ra trên hai sân: A, B) 76 Bài tập  Ghi nhận kết quả thi đấu, chỉ yêu cầu ghi nhận:  Tỉ số  Lập bảng xếp hạng:  Hạng được dựa trên các tiêu chí sau:  Điểm số  Hiệu số  Số bàn thắng  Điểm cho mỗi trân thua là 0, hòa là 1, thắng là 3 1. Hãy lập sơ đồ luồng dữ liệu cho mỗi yêu cầu 2. Lập sơ đồ logic dữ liệu 3. Thiết kế màn hình giao diện cho từng yêu cầu. 77  Cách 1: Giao diện ghi nhận KQTĐ 78  Cách 2: Giao diện ghi nhận KQTĐ 79  Cách 3: Giao diện ghi nhận KQTĐ 80  Cách 4: Giao diện ghi nhận KQTĐ 81  Cách 5: Giao diện ghi nhận KQTĐ Thiết kế giao diện  Quản lý thiết bị nhập (bàn phím, chuột)  Hiệu chỉnh thông tin input  Kiểm soát lỗi và hiển thị thông báo lỗi  Cung cấp trợ giúp và hiển thị thông báo nhắc nhở  Cung cấp feedback (ví dụ như tự động hiển thị ký tự đánh vào)  Kiểm soát cửa sổ và vùng, khả năng cuộn  Thiết lập giao tiếp giữa chương trình với giao diện (vd: hàm đáp ứng)  Cách ly chương trình với các hàm quản lý giao diện  Cho phép tuỳ biến giao diện: màu sắc, kích thước,.. Một số định hướng về thiết kế giao diện Một số hướng dẫn chung  Nên đồng nhất (menu, lệnh, hiển thị...)  Nên cung cấp feedback cho người dùng  Yêu cầu xác nhận những tác vụ mang tính phá hoại (xoá file, account)  Nên hỗ trợ UNDO, REDO  Hạn chế lượng thông tin phải ghi nhớ giữa 2 tác vụ liên tiếp  Tối ưu trong trình bày hộp thoại và di chuyển mouse  Chấp nhận lỗi từ phía người sử dụng  Cung cấp trợ giúp trực tuyến  Dùng động từ đơn giản và ngắn gọn để đặt tên các lệnh Một số định hướng về thiết kế giao diện Đối với thông tin hiển thị  Chỉ hiển thị những thông tin phù hợp với ngữ cảnh hiện tại  Dùng tên, từ viết tắt và màu gợi nhớ  Cho phép tương tác trực quan  Tạo thông báo lỗi có ý nghĩa  Hiển thị dữ liệu ở nhiều dạng khác nhau trong cửa sổ  Thiết lập biểu diễn tượng tự  Sử dụng không gian màn hình một cách tối ưu Một số định hướng về thiết kế giao diện Đối với thông tin input  Hạn chế input trực tiếp (có thể chọn lựa từ một số dữ liệu có sẵn)  Nên đồng nhất giữa thông tin input và hiển thị  Nên cho phép tuỳ biến input  Cấm các chức năng không thích hợp trong ngữ cảnh hiện tại  Cho phép input ở nhiều dạng khác nhau  Để cho người sử dụng kiểm soát dòng sự kiện tương tác  Tự động tính các giá trị input cho người sử dụng nếu có thể Ví dụ 1 86 Ví dụ 1 87 TK TĐ THEO HƯỚNG TIN HỌC  Các chức năng được phân nhóm theo ý nghĩa tin học  Ví dụ: PM quản lý giáo vụ 88 TK TĐ THEO HƯỚNG ĐỐI TƯỢNG 89 Các chức năng được phân nhóm theo đối tượng TK TĐ THEO HƯỚNG NGHIỆP VỤ  Các chức năng được phân nhóm qui trình nghiệp vụ 90 Thiết kế giao diện nhập  Tránh tình trạng cổ chai nhưng vẫn cho phép nhiều người cùng nhập – Tận dụng những bước xử lý trên màn hình – Tránh thường xuyên truy xuất dữ liệu  Tránh tạo cơ hội cho NSD phạm lỗi/sơ xuất  Tránh thêm những công đoạn thừa  Quy trình nhập đơn giản nhất, tự nhiên nhất  Phải đảm bảo thói quen xử lý chứng từ gốc 91 Thiết kế giao diện nhập  Phát hiện sai sót và kiểm tra ràng buộc toàn vẹn – Kiểm tra ngay? – Kiểm tra cuối màn hình? – Kiểm tra cuối kỳ khai thác? => Phải quan sát thói quen của người sử dụng  Thói quen phải tôn trọng => bắt buộc phải tôn trọng  Thói quen chưa hợp lý hoặc mâu thuẫn với kỹ thuật => Phải trao đổi, thuyết phục và thống nhất với NSD 92 Thiết kế giao diện xuất  Nội dung: - Dữ liệu trong HTTT, - Dữ liệu tính toán, - Dữ liệu vừa được nhập vào  Ai sẽ sử dụng nội dung kết xuất: - Đối tượng trong HT: dùng kết xuất cho mục tiêu gì? - Đối tượng ngoài môi trường: muốn đưa nội dung gì bên ngoài?  Khối lượng dữ liệu xuất hiện trên kết xuất  Khi nào thực hiện kết xuất đó?  Kết xuất ra dạng gì? Màn hình, giấy in, file theo  định dạng nào? 93 Thiết kế giao diện xuất  Trình bày bảng biểu  Nếu dữ liệu nhiều thì lấy những nội dung gì  Cách bố trí nội dung theo cột/dòng/tiểu cột/ tiểu dòng, tổng các tiểu dòng/tiểu cột, thứ tự trình bày các tổng trước hay sau thông tin chi tiết, chữ hoa/thường, thứ tự trình bày dữ liệu, chấm/phẩy đối với số lẻ, canh lề, số lượng số lẻ  Phải mô phỏng nội dung dữ liệu trong phần thiết kế giao diện, không nên chỉ đưa cho NSD xem những template rỗng 94  Trình bày biểu đồ  Chỉ chứa dữ liệu tổng hợp, không có dữ liệu chi tiết  Thể hiện khuynh hướng, so sánh. Không hiệu qua khi cần xác định số liệu cụ thể  Trình bày biểu đồ dạng nào? 95 Thiết kế đối thoại  Đặc điểm:  Giao diện tương tác  Giao diện đồ họa  Thao tác “trực tiếp”  Nguyên tắc: LOOK and FEEL  Mô hình WIMP: Window – Icon – Menu – Pointer 96 Thiết kế đối thoại Các mức thiết kế - Mức ngữ nghĩa: nội dung dữ liệu,nội dung chức năng - Mức cú pháp: quá trình tương tác đối thoại, kịch bản khai thác diễn ra như thế nào? - Mức từ vựng: từ ngữ và cách trình bày nội dung ngữ nghĩa 97 Thiết kế đối thoại – mức ngữ nghĩa  Mức ngữ nghĩa - Hệ thống hướng dẫn trực tuyến đi song song với từng chức năng trong hệ thống thực đơn - Các hộp thoại cần thiết thông báo lỗi/hướng dẫn - Dựa vào hệ thống thực đơn để xác định các giao diện đối thoại  Cần nhớ: tính “ergonomic” và tính nhất quán - Gây chú ý nhưng không được làm NSD mệt mỏi - Nhất quán - Giá trị mặc định (câu trả lời thường hay xảy ra nhất) - Nội dung thông báo phải thể hiện đúng nội dung phản ứng của hệ thống  Mức ngữ nghĩa tốt => Có thể dễ dàng thay đổi ngôn ngữ 98 Thiết kế đối thoại – mức cú pháp  Chọn kiểu đối thoại và kiểu điều khiển đối thoại Kiểu đối thoại: - Hỏi – Trả lời - Thực đơn - Mẫu biểu để điền vào - Ngôn ngữ lệnh nhập qua bàn phím - Dùng các phím chức năng - Ngôn ngữ tự nhiên -.. 99 Thiết kế đối thoại - Mức từ vựng Nên dùng biểu tượng => chọn lựa biểu tượng thể hiện đúng nội dung mong muốn - Biểu tượng đi kèm tên gọi ngắn gọn, súc tích và nhất quán - Cách sử dụng các vật thể: ý nghĩa khi nhấn bên trái/ phải, nhấn đúp trên mouse - Cách di chuyển con trỏ - Cách dùng màu: + Phân biệt các cửa sổ khác nhau lần lượt được mở ra + Tạo mối liên hệ giữa các đối tượng thông tin + Tình trạng khác nhau của đối tượng + Gây chú ý đặc biệt - Các màu phải hòa hợp 100 Hệ thống thực đơn (Menu)  Hệ thống thực đơn chính  Hệ thống thực đơn trong màn hình chính của mỗi phân hệ (module)  Hệ thống thực đơn ngữ cảnh  Thực đơn sử dụng khi click chuột phải lên một hoặc một nhóm đối tượng trên màn hình  Thực đơn sử dụng khi click chuột phải lên một dòng trong lưới (Grid) 101 Tổ chức hệ thống thực đơn chính  Hệ thống  Danh mục  Nhóm chức năng 1 (nghiệp vụ 1)  Nhóm chức năng 2 (nghiệp vụ 2)  Tra cứu  Báo cáo (Report)  Công cụ/tiện ích (Tools/Utilities)  Trợ giúp (Help) 102 103 104 Hệ thống thực đơn chính  Hệ thống  Cấu hình hệ thống  Đăng nhập  Đổi mật khẩu  Thoát  Danh mục  Danh mục nhân viên  Danh mục quận huyện  Danh mục tỉnh thành  Danh mục hàng hóa  . 105 Hệ thống thực đơn chính 106 Hệ thống thực đơn chính  Tra cứu  Tra cứu điểm thi  Tra cứu thông tin sinh viên  Tra cứu lịch thi  Tra cứu thời khóa biểu   Báo cáo/thống kê  Bảng điểm sinh viên  Hồ sơ sinh viên/nhân viên/học sinh  Thống kê doanh số bán trong ngày/tháng/năm  Bảng lương tháng nhân viên  Thống kê số lượng hàng tồn kho 107 Hệ thống thực đơn chính  Công cụ/tiện ích  Sao lưu dữ liệu (Backup Data)  Phục hồi dữ liệu (Restore Data)  Archive Data  Tùy chọn (Options/Customize)  Giúp đỡ  Hướng dẫn sử dụng (Online Help)  Thông tin tác giả (About)  Đăng ký sử dụng (Register)  Nâng cấp (Upgrade/Online Update)  108 109 Phân loại màn hình Màn hình giới thiệu Màn hình chính Màn hình tác giả Màn hình danh mục Màn hình nhập liệu  Nhập liệu trực tiếp  Nhập liệu gián tiếp (import) Màn hình tra cứu Màn hình xử lý tính toán Màn hình thể hiện báo biểu/thống kê Màn hình thể hiện đối tượng: sơ đồ, cây, biểu tượng 110 Tính nhất quán 111 Tính nhất quán 112 Tính trực quan 113 Tính trực quan 114 Tính trực quan 115 Ví dụ  Tính đúng đắn 116 Ví dụ  Tính tiện dụng 117  Tính hiệu quả 118 Ví dụ  Tính hiệu quả 119 120 Ví dụ về menu  Tính đúng đắn: đơn giản là xác định danh sách các công việc và các nghiệp vụ mà phần mềm hỗ trợ. 121 Ví dụ về menu  Tính tiện dụng. 122 Menu quản lý thư viện  Tính đúng đắn 123 Menu quản lý thư viện 124  Tính đúng đắn  Tính đúng đắn 125 Menu quản lý thư viện 126  Tính đúng đắn Menu quản lý thư viện 127  Tính hiệu quả  Tính hiệu quả 128  Tính hiệu quả 129  Tính hiệu quả 130 Ví dụ về menu 131 132 Bài tập  Cho CSDL của phần mềm quản lý bán hàng như sau:  Hãy thiết kế giao diện và mô tả các thành phần của giao diện:  Lập phiếu nhập, lập phiếu xuất  Tra cứu hàng hóa 133 Thiết kế Xử lý 134 Thiết kế xử lý Mục tiêu: Mô tả chi tiết hệ thống các hàm xử lý của phần mềm Người dùng D1 D2 D3 D4 Xử lý Mô tả hàm xử lý  Tổ chức: đơn thể/đối tượng  Thông tin chi tiết: • Tên • Tham số • Kết quả • Dữ liệu toàn cục  Sự phối hợp 135 Thiết kế xử lý  Kết quả:  Danh cách các đơn thể/đối tượng  Danh sách các hàm của mỗi đơn thể/đối tượng  Các sơ đồ phối hợp  Yêu cầu thiết kế:  Tính đúng đắn  Tính dễ bảo trì  Tính tái sử dụng  Tính dễ mang chuyển 136 Thiết kế xử lý  Kỹ thuật thiết kế:  Phân rã/tích hợp  Tham số hóa  Đối tượng hóa  Sơ đồ phối hợp:  Mô tả cách thức phối hợp (gọi thực hiện) giữa các hàm 137 Thiết kế xử lý  Ký hiệu: Hàm xử lý Hàm của đơn thể Tên hàm A B C 1 2 A có gọi đến B, C theo thứ tự, không chuyển tham số, không nhận kết quả A B A gọi đến B có chuyển tham số, không nhận kết quả Tên đơn thể Tên hàm 138 Thiết kế xử lý A B A gọi đến B hoặc C C A B A gọi đến B nhiều lần (ít nhất là 0 lần)* A B A gọi đến B nhiều lần (ít nhất là 1 lần)+ Chú ý: Có n biến cố phải xử lý  Tương ứng có n sơ đồ phối hợp A gọi đến B không chuyển tham số, nhưng nhận kết quả BA 139 Ví dụ  Xét màn hình tiếp nhận học sinh mới như sau: 140 Ví dụ  Hãy:  Mô tả các biến cố  Lập danh sách các hàm xử lý  Lập các sơ đồ phối hợp (Khi có ít nhất hai hàm tham gia trong cùng một biến cố) 141 Ví dụ - Mô tả biến cố  Biến cố 0:  Khởi động màn hình  Biến cố 1:  Kiểm tra tuổi học sinh hợp lệ (tuổi từ 15 đến 20)  Biến cố 2:  Khi chọn một lớp học trên combobox  Biến cố 3:  Kiểm tra dữ liệu hợp lệ và ghi 142 Ví dụ - Danh sách các biến cố BC Điều kiện kích hoạt Xử lý Ghi chú 0 Khởi động màn hình - Đọc danh sách lớp, danh sách học sinh, tham số - Xuất danh sách lớp, danh sách học sinh, hồ sơ học sinh mới 1 Kết thúc nhập ngày sinh - Kiểm tra ngày sinh hợp lệ và xuất thông báo lỗi nếu không hợp lệ Tuổi theo qui định 1520 2 Kết thúc chọn lớp - Ghi nhận vị trí của lớp được chọn trong danh sách lớp Chuẩn bị khi ghi hồ sơ 3 Nhút nút ghi - Kiểm tra hồ sơ hợp lệ - Nếu hợp lệ thì nhập hồ sơ học sinh và ghi hồ sơ học sinh. Xuất thông báo Mã và tên phải khác rỗng 143 Ví dụ - Danh sách các hàm xử lý STT Tên hàm Tham số Kết quả Ý nghĩa Ghi chú 144 Ví dụ - Lập sơ đồ phối hợp  Xử lý biến cố 0 Xử lý biến cố 0 Xuất hồ sơ học sinh mới Xuất danh sách (1) (2) 145 Ví dụ - Lập sơ đồ phối hợp  Xử lý biến cố 0: Phân rã hàm Hàm Xử lý biến cố 0 Xuất hồ sơ học sinh mới Đọc danh sách lớp (1) Xuất danh sách lớp Đọc danh sách học sinh Đọc danh sách tham số Xuất danh sách học sinh (2) (3) (4) (5) (6) 146 Ví dụ - Lập sơ đồ phối hợp Xuất hồ sơ học sinh mới Đọc danh sách lớp (1) Xuất danh sách lớp Đọc danh sách học sinh Đọc danh sách tham số Xuất d.sách học sinh (2) (3) (4) (5) (6) XL_Doc_Ghi Doc_Danh_Dach Hàm Xử lý biến cố 0 XL_Nhap_Xuat Xuat_Danh_Dach 147 Ví dụ - Lập sơ đồ phối hợp  Xử lý biến cố 1  Dùng 1 hàm  Xử lý biến cố 2  ?  Xử lý biến cố 3  ? 148 Bài tập 1. Lập sơ đồ phối hợp cho các biến cố còn lại trong ví dụ trên. 2. Đánh giá các sơ đồ phối hợp dựa trên các tính chất - Tính đúng đắn - Tính tái sử dụng - Tính dễ bảo trì - Tính dễ mang chuyển - 149

Các file đính kèm theo tài liệu này:

  • pdfgiao_trinh_cong_nghe_phan_mem_chuong_3_thiet_ke_phan_mem_pha.pdf