Giáo trình Nhập môn Công nghệ phần mềm (Phần 2)

pdf 88 trang hapham 2420
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Nhập môn Công nghệ phần mềm (Phần 2)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_nhap_mon_cong_nghe_phan_mem_phan_2.pdf

Nội dung text: Giáo trình Nhập môn Công nghệ phần mềm (Phần 2)

  1. Chương 5: THIẾT KẾ GIAO DIỆN 1. Tổng quan Chương này đi sâu tìm hiểu cách thức thiết kế giao diện là công đoạn không kém phần quan trọng trong quá trình làm phần mềm, đây cũng có thể xem là công đoạn phác thảo đồ hình hay prototype cho phần mềm và để sau đó nhận phản hồi yêu cầu của khách hàng đối với chương trình và để người thiết kế có thể điều chỉnh theo yêu cầu đề ra. Tùy theo mục đích yêu cầu, theo độ phức tạp của chương trình, người thiết kế giao diện có thể làm theo các những thiết kế sau và kết qủa thiết kế tương ứng. Thiết kế giao diện phải nắm bắt các điều chính yếu sau: 1. Hồ sơ cá nhân người dùng: Biết họ là ai, mục đích của người dùng là gì, Kỹ năng và kinh nghiệm của người dùng, nhu cầu của họ 2. Mượn những ứng xử từ những hệ thống quen thuộc đối với người dùng. 3. Cho người dùng thấy rõ các chức năng một cách sẵn sàng 4. ứng xử của chương trình từ trong ra ngoài phải kết dính, gắn kết 5. Thay đổi trong ứng xử nên tương phản với diện mạo của chương trình 6. Shortcut: Cung cấp cả cách thức cụ thể và tóm tắt tác vụ được làm 7. Tính tập trung: Một số giao diện GUI được tập trung chú ý nhiều hơn 8. Ngữ pháp: thông qua giao diện biết số luật thao tác 9. Trợ giúp, độ an toàn, hạn chế ngữ cảnh người dùng, giao diện đẹp, 1.1 Kết quả thiết kế . Màn hình giao diện: 132
  2. Màn hình giao diện là một trong các hình thức giao tiếp giữa người sử dụng và phần mềm khi họ thực hiện các công việc của mình trên máy tính. Mục tiêu chính của thiết kế giao diện là mô tả hệ thống các màn hình giao diện này . Kết quả thiết kế giao diện: bao gồm 2 phần o Sơ đồ màn hình: Mô tả các thông tin tổng quát về hệ thống các màn hình cùng với quan hệ về việc chuyển điều khiển giữa chúng o Mô tả chi tiết từng màn hình: Mô tả chi tiết nội dung, hình thức trình bày và các thao tác mà người dùng có thể thực hiện trên từng màn hình Ví dụ: Liệt kê các phần sau: màn hình, ý nghĩa sử dụng Danh sách các thao tác có thể thực hiện STT Thao tác Ý nghĩa Xử lý liên quan Ghi chú 1 2 . Sơ đồ màn hình Màn hình giới thiệu Màn hình chính Màn hình kết thúc Màn hình 1 Màn hình 2 Màn hình 3 133
  3. Ký hiệu: Tên màn hình Màn hình với tên tương ứng Chuyển điều khiển đến màn hình khác . Mô tả màn hình giao diện: Các thông tin cần mô tả môt màn hình giao diện bao gồm o Tên màn hình: Tên của công việc tương ứng muốn thực hiện trên máy tính. o Nội dung: Cấu trúc các thành phần bên trong màn hình. Các thành phần này có thể chia làm 2 loại: Thanh phần dữ liệu, thành phần xử lý. + Thành phần dữ liệu Các thông tin liên quan đến công việc đang xét như sau: a. Thông tin nhập liệu:loại thông tin người dùng chịu trách nhiệm cung cấp giá trị (ngày lập, hóa đơn, hàng bán, ) có thể là nhập liệu trực tiếp, nhập liệu với giá trị định sẵn(có thể sửa nếu muốn) hoặc chọn trong danh sách có trước. b. Thông tin kết xuất: loại thông tin này phần mềm chịu trách nhiệm cung cấp giá trị (ví dụ lượng hàn tồn hiện nay, tổng tiền trả, ). +Thành phần xử lý: Các nút điều khiển cho phép người dùng yêu cầu phần mềm thực hiện một xử lý nào đó. + Hình thức trình bày: 134
  4. Cách thức bố trí sắp xếp các thành phần trong màn hình (ví trí, màu sắc, kích thước, ) Với màn hình có biểu mẫu liên quan, tốt nhất là trình bày đúng với biểu mẫu tương ứng hoặc trình bày đúng như yêu cầu của khách hàng. Tuy nhiên cần lưu ý trong trường hợp biểu mẫu liên quan chỉ là kết quả cuối cùng cần ghi nhận trước khi đạt đến kết quả đó cần phải thực hiện một số công việc trung gian không có biểu mẫu rõ ràng. Với những trường hợp này cần bổ sung, sáng tạo hình thức trình bày các màn hình trung gian thể hiện các công việc trung gian. Với màn hình không có biểu mẫu liên quan hình thức trình bày màn hình hoàn toàn là sự sáng tạo khi thiết kế. + Các thao tác có thể thực hiện Mô tả hệ thống các thao tác mà người dùng có thể thực hiện trên màn hình cùng với ý nghĩa của chúng. Có rất nhiều loại thao tác khác nhau có thể cung cấp cho người dùng trên một màn hình giao diện, tuy nhiên giáo trình này chỉ giới hạn xem xét việc mô tả thao tác khi người dùng nhấn vào nút điều khiển hay nút lệnh hoặc kết thúc việc nhập liệu tại một thành phần nhập liệu nào đó. 1.2 Phân loại màn hình giao diện Quá trình sử dụng phần mềm bao gồm các bước sau:  Chọn công việc muốn thực hiện trên máy tính.  Cung cấp các thông tin cần thiết tương ứng với công việc đã chọn.  Yêu cầu phần mềm thực hiện.  Xem xét kết quả thực hiện. Dựa trên quá trình trên các màn hình giao diện có thể được chia thành nhiều loại tùy theo ý nghĩa sử dụng. 135
  5. o Màn hình chính: Cho phép người dùng sử dụng chọn lựa công việc mong muốn thực hiện trên máy tính từ danh sách các công việc o Màn hình nhập liệu lưu trữ: Cho phép người dùng thực hiện lưu trữ các thông tin được phát sinh trong thế giới thực. o Màn hình nhập liệu xử lý: Cho phép người sử dụng cung cấp các thông tin cần thiết cho việc thực hiện một công việc nào đó o Màn hình kết quả: Trình bày cho người sử dụng các kết quả việc thực hiện của một công việc nào đó o Màn hình thông báo: Thông báo, nhắc nhở người sử dụng trong quá trình thực hiện một công việc nào đó o Màn hình tra cứu: Cho phép tìm kiếm thông tin đã được lưu trữ với các tiêu chuẩn tìm kiếm Một màn hình giao diện có thể thuộc một trong các loại trên hay cũng có thể tích hợp từ nhiều màn hình cơ sở thuộc vào các loại trên tùy theo bản chất công việc liên quan. Trong thực tế còn có rất nhiều màn hình khác, tuy nhiên giáo trình chỉ giới hạn xem xét chủ yếu đến các loại màn hình đã trình bày phía trên, giáo trình sẽ chú trọng trình bày chi tiết 3 loại màn hình quan trọng và thông dụng nhất: màn hình chính, màn hình tra cứu, màn hình nhập liệu lưu trữ. 1.3 Quá trình thiết kế Qui trình chung: Dựa trên yêu cầu chức năng, đầu tiên người thiết kế sẽ xem xét thiết kế các giao diện từ tính đúng đắn, đến tính tiện dụng thõa yêu cầu về tiện dụng, và xét đến tính hiệu quả nếu yêu cầu về hiệu quả được đưa ra và một số thiết kế theo yêu cầu khác, v.v  Thiết kế giao diện với tính đúng đắn . Sơ đồ màn hình 136
  6. Giả sử cần thực hiện n công việc trên máy tính, sơ đồ màn hình trong trường hợp này chỉ bao gồm n+1 màn hình sau: + Một màn hình chính cho phép chọn công việc + n màn hình liên quan trực tiếp đén n công việc muốn thực hiện . Mô tả chi tiết từng màn hình 1. Màn hình chính: Xác định chính xác nội dung dựa trên danh sách các công việc được yêu cầu và chọn hình thức trình bày đơn giản nhất. Ví dụ 1: Phần mềm thự viện Màn hình chính 1. Cho mượn sách 8. Lập báo cáo về độc giả 2. Nhận trả sách 9.Nhận sách mới 3.Tìm sách 10.Thanh lý sách 4.Lập báo cáo mượn trả 11.Lập báo cáo sách 5.Lập thẻ độc giả 12.Thay đổi qui đinh tổ chức 6.Gian hạn thẻ độc giả 13.Thay đổi quy định mượn trả 7.Tìm độc giả 14. Thoát Đây là thiết kế cho ứng dụng chạy độc lập có thể hiển thị tất cả danh sách các màn hình, còn đối với ứng dụng lập trình mạng web có thể tùy theo quyền hạn sử dụng màn hình chính hạn chế bởi các màn hình tương tác cho người sử dụng đó. 137
  7. Ví dụ 2: Phần mềm quản lý học sinh cấp 3 Màn hình chính 1. Tiếp nhận hồ sơ 8. Thay đổi qui đinh tổ chức 2. Xếp lớp 9. Thay đổi qui đinh xếp loại 3.Tìm học sinh 10.Thoát 4. Nhận bảng điểm danh 5.Nhận bảng điểm kiểm tra 6.Xếp loại học sinh 7.Lập báo cáo tổng kết Ví dụ 3: Phần mềm quản lý giải bóng đá Màn hình chính 1. Tiếp nhận hồ sơ đội 8. Thay đổi qui đinh tổ chức bóng 2. Xếp lịch thi đấu 9. Thay đổi qui đinh xếp hạng 3. Phân công trọng tài 10.Thoát 4. Ghi nhận kết quả thi đấu 5. Lập bảng xếp hạng tạm thời 138
  8. 6. Tra cứu cầu thủ 7.Lập báo cáo tổng kết giải 2. Màn hình tra cứu Chọn tiêu chuẩn tra cứu đơn giản nhất (chỉ có mã số) và kết quả tìm kiếm đơn giản (cho biết có hay không có mã số trên). Ví dụ 1: Tra cứu sách với phần mềm quản lý thư viện Ví dụ 2: Tra cứu học sinh với phần mềm quản lý học sinh 139
  9. Ví dụ 3: Tra cứu cầu thủ với phần mềm quản lý giải bóng đá 3. Màn hình nhập liệu Xác định chính xác nội dung dựa trên biểu mẫu hoặc thông tin liên quan đến công việc tương ứng và chọn hình thức trình bày đơn giản nhất có thể có (liệt kê tuần tự các nội dung) Ví dụ: Nhập sách, mượn sách với quản lý thư viện 140
  10. Ví dụ: Nhập học sinh, điểm số với phần mềm quản lý học sinh 141
  11. Ví dụ: Đăng ký cầu thủ với phần mềm quản lý giải bóng đá  Thiết kế giao diện với tính tiện dụng . Sơ đồ màn hình Bổ sung vào sơ đồ các màn hình công việc trung gian giúp cho việc sử dụng các màn hình công việc chính dễ dàng hơn, tự nhiên hơn. . Mô tả chi tiết từng màn hình 1. Màn hình chính Phân chia các công việc theo từng nhóm tùy theo ý nghĩa và chọn hình thức trình bày tự nhiên nhất có thể có (menu, sơ đồ, ) Ví dụ 1: Màn hình chính phần mềm quản lý giải bóng đá. Có các nút điều khiển sau: 142
  12. Tổ chức: Sân, Trọng tài, Loại thẻ phạt, Loại bàn thắng, Qui chế tổ chức. Kế hoạch: Đăng ký đội bóng, Xếp lịch thi đấu, Phân trọng tài Thi đấu: Ghi nhận kết quả, tra cứu cầu thủ, xếp loại tạm thời Tổng kết: Xếp hạng chính thức, Lập báo cáo tổng kết Ví dụ 2: Màn hình quản lý học sinh. Có các nút điều khiển sau Tổ chức: Học kỳ, Lớp, Môn học, hình thức kiểm tra, danh hiệu, qui định chung, Thoát Khai giảng: Tiếp nhận hồ sơ,Xếp lớp Học tập: Điểm danh, Bảng điểm, tra cứu học sinh Tổng kết: Xếp loại học sinh, Báo cáo tổng hợp 143
  13. 2. Màn hình tra cứu Mở rộng các tiêu chuẩn tra cứu (các thông tin khác về đối tượng cần tìm). Mở rộng kết quả tìm kiếm (các thông tin liên quan đến đối tượng khi tìm thấy ). Cho phép người dung xem các kết quả tra cứu dưới nhiều hình thức trình bày khác nhau ( các thứ tự khác nhau với một danh sách, các dạng thể hiện biểu đồ, hình ảnh, v.v.) Ví dụ 1: Tra cứu học sinh Ví dụ 2: Tra cứu cầu thủ 144
  14. 3. Màn hình nhập liệu Chọn dạng trình bày là biểu mẫu liên quan (nếu có) và bổ sung vào đó các thông tin giúp việc sử dụng thuận tiện hơn. Nếu không có biểu mẫu liên quan, cố gắng thiết kế hình thức trình bày tự nhiên nhất có thể có. 2. Thiết kế màn hình 2.1 Mô tả màn hình chính . Ý nghĩa sử dụng: 145
  15. Màn hình chính là màn hình cho phép ngừơi dùng chọn được công việc mà họ muốn thực hiện với phần mềm. Thông thường mỗi phần mềm chỉ có một màn hình chính duy nhất. . Nội dung: Danh sách các công việc có thể thực hiện với phần mềm . Hình thức trình bày Phím nóng: Hình thức này cho phép chọn nhanh một công việc cần thực hiện đối với người sử dụng chuyên nghiệp. Thông thường không được sử dụng riêng rẻ mà phải kết hợp với các hình thức khác. Thực đơn: nhóm từng công việc theo chức năng (ví dụ lưu trữ, kết xuất). Đây là dạng sử dụng thông dụng nhất. Biểu tượng: công việc thể trực quan qua biểu tượng (ký hiệu hay hình ảnh tượng trưng cho công việc. Tương tự như phím nóng nhưng thông dụng hơn và thường kết hợp với các hình thức khác. Sơ đồ: Dùng sơ đồ để hiển thị trực quan các đối tượng chính, được thể hiện qua các thao tác trực tiếp trên sơ đồ. Tích hợp:Sử dụng đồng thời nhiều hình thức, thông thường hình thức thực đơn sẽ được ưu tiên trước và kết hợp với nhiều hình thức khác. . Thao tác người dùng Trên màn hình này thao tác chính của ngừoi dùng là chọn công việc trong danh sách các công việc được đưa ra bởi phần mềm. 2.2 Thiết kế màn hình chính dùng thực đơn (menu) . Tổ chức của thực đơn 146
  16. Thực đơn bao gồm nhiều nhóm chức năng (tương ứng nhóm các công việc) mỗi nhóm chức năng bao gồm nhiều chức năng, mỗi chức năng tương ứng với một công việc. . Phân loại thực đơn: có 3 loại - Thực đơn hướng chức năng: Các nhóm chức năng tương ứng với các loại yêu cầu Ví dụ: Tổ chức: các công việc liên quan đến tổ chức Lưu trữ: Các công việc liên quan đến lưu trữ Tra cứu: Các công việc liên quan đến tra cứu tìm kiếm - Thực đơn hướng đối tượng: Các nhóm chức năng tương ứng với các lớp đối tượng. Với sơ đồ lớp gồm n lớp đối tượng, thực đơn sẽ bao gồm (n+1) nhóm chức năng. Trong đó: + Một nhóm chức năng tương ứng với đối tượng thế giới thực. + n nhóm chức năng tương ứng n lớp đối tượng. - Thực đơn hướng qui trình: Các nhóm chức năng tương ứng với các giai đoạn trng hoạt động của thế giới thực. Thông thường thế giới thực bao gồm các giai đoạn sau như Tổ chức, Kế hoạch, Tiếp nhận, Hoạt động, Tổng kết. 3. Thiết kế màn hình tra cứu 3.1 Mô tả màn hình tra cứu . Ý nghĩa sử dụng Màn hình tra cứu là màn hình cho phép người dùng tìm kiếm và xem các thông tin về các đối tượng. . Nội dung 147
  17. + Tiêu chuẩn tra cứu: Các thông tin được sử dụng cho việc tìm kiếm (thông thường là các thuộc tính). + Kết quả tra cứu: Cho biết có tìm thấy hay không. Các thông tin cơ bản về đối tượng tìm kiếm (các thuộc tính). Các thông tin về quá trình hoạt động của đối tượng (quan hệ với các đối tượng khác). . Hình thức trình bày +Tiêu chuẩn tra cứu: Biểu thức logic, Cây, tích hợp + Kết quả tra cứu: Thông báo, danh sách đơn, xâu các danh sách, cây danh sách. . Thao tác người dùng: Nhập các giá trị cho các tiêu chuẩn tra cứu, yêu cầu bắt đầu tra cứu, xem chi tiết các kết quả tra cứu. 3.2 Thể hiện tiêu chuẩn tra cứu 3.2.1 Tra cứu với biểu thức logic Tiêu chuẩn tra cứu được thể hiện dưới dạng một biểu thức logic có dạng như sau: = Phép toán logic Phép toán AND, OR, NOT, phép so sánh 3.2.2 Tra cứu với hình thức cây Tiêu chuẩn tra cứu được thể hiện qua cây mà các nút chính là các bộ phận trong tổ chức của thế giới thực. Hình thức này rất thích hợp với các thế giới thực có cấu trúc tổ chức phân cấp. 3.2.3 Tích hợp Sử dụng đồng thời cả hai hình thức trên 148
  18. 3.3 Thể hiện kết quả tra cứu 3.3.1 Kết quả tra cứu dùng thông báo Với hình thức này kết quả tra cứu chỉ đơn giản là câu thông báo cho biết có hay không đối tượng cần tìm. Đây là hình thức đơn giản nhất và có tính tiện dụng thấp nhất. Với hình thức này người sử dụng không biết thêm thông tin gì của đối tượng tìm thấy. 3.3.2 Kết quả tra cứu dùng danh sách đơn Với hình thức này kết quả tra cứu là danh sách các đối tượng tìm thấy cùng với một số thông in cơ bản về đối tượng. Hình thức này cho phép người dùng biết thêm thông tin cơ bản về đối tượng tìm thấy nhưng không biết chi tiết về các hoạt động của đối tượng qua các quan hệ với đối tượng khác. 3.3.3 Kết quả tra cứu dùng xâu các danh sách Với hình thức này kết quả tra cứu bao gồm nhiều danh sách mà trong đó danh sách thứ k dsk chứa các mô tả cho một phẩn tử trong danh sách thứ k-1 dsk-1. Danh sách đầu tiên chính là danh sách đơn trong hình thức trên. Hình thức này không những cho phép xem các thông tin cơ bản về đối tượng tìm thấy mà còn cho biết chi tiết về hoạt động của đối tượng qua các quan hệ với các đối tượng khác. 3.3.4 Cây các danh sách Với hình thức này kết quả tra cứu là cây mà các nút chính là các danh sách. Danh sách tương ứng trong một nút con sẽ là các thông tin mô tả chi tiết về một phần tử được chọn trong danh sách của nút cha. Danh sách đầu tiên chính là danh sách đơn trong hình thức phía trên. Hình thức trình bày này cho phép xem được quá trình hoạt động của đối tượng với nhiều quan hệ, nhiều loại hoạt động khác. 149
  19. 3.4 Thao tác người dùng và xử lý của phần mềm . Nhập giá trị cho các tiêu chuẩn tra cứu: - Có thể nhập một số hoặc tất cả tiêu chuẩn tra cứu -Với các tiêu chuẩn thường dùng có thể dùng giá trị định sẳn (loại sách thường tìm, loại hàng thường mua, ) để tiện dụng hơn cho người dùng. - Trong quá trình nhập liệu thông thường phần mềm sẽ không có xử lý tính toán nào ngoài việc chờ nhập giá trị cho các tiêu chuẩn tra cứu. . Yêu cầu bắt đầu tra cứu: - Nhấn vào nút tra cứu. - Dựa vào giá trị các tiêu chuẩn tra cứu phần mềm sẽ tiến hành đọc và xuất các kết quả tra cứu tương ứng (xử lý tra cứu). . Xem xét chi tiết các kết quả tra cứu - Chọn đối tượng cần xem chi tiết trong danh sách của kết quả tra cứu - Nhập phạm vi thời gian cần quan sát (thông thường là thời gian từ ngày đến này hoặc đơn vị thời gian cụ thể tháng năm ). - Dựa vào đối tượng được chọn và dựa vào phạm vị thời gian, phần mềm sẽ đọc và xuất các kết quả tra cứu cấp chi tiết hơn theo từng loại hoạt động. . Yêu cầu kết xuất - Có thể bổ sung các nút điều khiển tương ứng với việc in ấn hoặc ghi lên tập tin các kết quả tra cứu. Thông thường mỗi kết quả tra cứu sẽ có một nút riêng, nhưng cũng có thể dùng chung một nút cho mọi kết quả tra cứu (dựa vào kết quả hiện hành). 150
  20. - Việc kết xuất thông thường là qua máy in, tuy nhiên cũng có thể cho phép người dùng xác định lại đích của kết xuất (tập tin Excel, trang web, ) tùy theo mục đích sử dụng. 4. Thiết kế màn hình nhập liệu 4.1 Mô tả màn hình nhập liệu . Ý nghĩa sử dụng: Màn hình nhập liệu là màn hình cho phép người dùng thực hiện các công việc có liên quan đến ghi chép trong thế giới thực. . Nội dung: - Các thông tin nhập liệu: Với loại thông tin này, người dùng chịu trách nhiệm nhập trực tiếp các giá trị, phần mềm sẽ tiến hành kiểm tra tính hợp lệ các giá trị nhập dựa vào qui định liên quan. - Các thông tin tính toán: Với thông tin này, phần mềm chịu trách nhiệm tính toán và xuất trên màn hình. Thông thường loại thông tin này giúp việc nhập liệu thuận tiện hơn (nhập số lượng hàng bán khi biết số lượng đang tồn tương ứng, nhập sách mượn khi biết số sách độc giả đang mượn ). . Hình thức trình bày: Một số hình thức thông dụng - Danh sách: Màn hình nhập liệu có dạng một danh sách trong thế giới thực (danh sách các thể loại sách, danh sách các lớp học). - Hồ sơ: Màn hình nhập liệu có dạng một hồ sơ với nhiều thông tin chi tiết (hồ sơ học sinh, hồ sơ cầu thủ). - Phiếu: Màn hình nhập liệu có dạng phiếu với nhiều dòng chi tiết (hóa đơn bán hàng, phiếu nhập hàng, ). - Tích hợp: Sử dụng đồng thời các hình thức trên. 151
  21. . Thao tác người dùng: Có 3 thao tác cơ bản trên màn hình nhập liệu. - Nút Ghi: Lưu trữ thông tin. - Nút Xóa: Xóa các thông tin đã lưu trữ. - Nút Tìm: Tìm và cập nhật lại thông tin đã lưu trữ. Ngoài ra để tăng tính tiện dụng có bổ sung các thao tác khác. - Tạo phím nóng: Định nghĩa các phím nóng tương ứng với các giá trị nhập liệu thường dùng, điều này cho phép tăng tốc độ nhập liệu. - Tạo các nút chuyển điều khiển: Chuyển điều khiển trực tiếp đến màn hình khác có liên quan đến việc nhập liệu hiện hành (bổ sung thể loại sách mới, nhà xuất bản mới, ). 4.2 Các hình thức trình bày màn hình nhập liệu 4.2.1 Thiết kế màn hình nhập liệu dạng danh sách . Sử dụng: Dạng danh sách thích hợp khi cần nhập liệu các bảng danh sách với kích thước nhỏ (danh sách các thể loại sách, các môn học, ). . Thành phần nhập liệu: - Thông tin nhập liệu: Các thuôc tính các bảng liên quan - Thông tin tính toán: Thông thường các mã số được tự động phát sinh. . Thành phần xử lý: - Ghi: Ghi nhận các thay đổi trên danh sách (thêm mới, sửa đổi. - Xóa: Xóa 1 dòng trong danh sách. - Thoát: Quy về màn hình trước đó. 152
  22. . Các thao tác: Người dùng có thể tùy ý sửa đổi các thông tin trên các dòng hoặc thêm dòng mới (nhập vào cuối danh sách), xóa dòng sau khi đã chọn dòng cần xóa và cuối cùng yêu cầu ghi các thay đổi trên bộ nhớ phụ. Tuy nhiên trong một số trường hợp đặc biệt một số thao tác có thể bị cấm (không cho xóa, không cho thay đổi một số thuộc tính ) tùy vào ý nghĩa cụ thể của danh sách. 4.2.2 Thiết kế màn hình nhập liệu dạng hồ sơ . Sử dụng:Dạng hồ sơ thích hợp khi cần nhập liệu các hồ sơ các đối tượng trong thế giới thực (hồ sơ học sinh, đội bóng). . Thành phần dữ liệu: - Thông tin nhập liệu: Các thuộc tính các bảng liên quan - Thông tin tính toán: Thông thường các mã số được tự động phát sinh. . Thành phần xử lý: Thêm, Ghi, Xóa, Tìm, Thoát . Các thao tác: Người dùng có thể thêm hồ sơ mới, tìm lại hồ sơ đã lưu trữ và sau đó tuỳ ý sửa đổi, các thông tin trên hồ sơ tìm thấy, xóa hồ sơ tìm thấy, và cuối cùng yêu cầu lưu trữ hồ sơ. Tuy nhiên để tăng tính tiện dụng một số thao tác chuyển điều khiển có thể được bổ sung cho phép di chuyển nhanh đến các màn hình nhập liệu liên quan khi cần thiết. 4.2.3 Thiết kế màn hình nhập liệu dạng phiếu . Sử dụng:Dạng phiếu thích hợp khi cần nhập liệu các phiếu ghi nhận thông tin về hoạt động các đối tượng trong thế giới thực. 153
  23. . Thành phần dữ liệu: - Thông tin nhập liệu: Các thông tin liên quan đến bảng. - Thông tin tính toán: Thông thường các mã số được tự động phát sinh. Thành phần xử lý: Thêm, Thêm chi tiết, Ghi, Xóa, Xóa chi tiết, Tìm, Sửa chi tiết, Thoát. 154
  24. Chương 6: CÀI ĐẶT 1. Tổng quan Trong cài đặt, chúng ta xuất phát từ kết quả của thiết kế và cài đặt hệ thống dưới dạng các thành phần, tức là các mã nguồn, các kịch bản, các tập tin nhị phân, các tập tin thực thi, thư viện, bảng, dữ liệu May thay, phần lớn kiến trúc của hệ thống đã được nắm bắt trong quá trình thiết kế. Mục tiêu chủ yếu của cài đặt là bổ sung thêm cho kiến trúc và hệ thống để trở thành một khối hoàn chỉnh. Cụ thể hơn, các mục tiêu cài đặt là: . Lên kế hoạch tích hợp hệ thống (system integration) trong mỗi bước lặp một các tăng cường. Điều này có nghĩa là một hệ thống được cài đặt bởi một dãy các bước nhỏ liên tiếp và có thể quản lý được. . Phân phối hệ thống bằng cách ánh xạ các thành phần thi hành được vào các nút trong mô hình triển khai. Công việc này chủ yếu dựa vào các lớp động được tìm thấy trong quá trình thiết kế. . Cài đặt các lớp thiết kế và các hệ thống con đã tìm được trong quá trình thiết kế. Đặc biệt, các lớp thiết kế được cài đặt thành các thành phần file chứa mã nguồn. . Kiểm thử đơn vị các thành phần, rồi sau đó tích hợp chúng bằng các biên dịch chúng và liên kết chúng lại với nhau thành một hoặc nhiều thành phần thi hành được trước khi kiểm thử tích hợp và kiểm thử hệ thống Để đạt được những mục tiêu trên, chương này sẽ đưa ra những bàn luận chung quá trình cài đặt phần mềm. Trước tiên chúng ta đưa ra khái quát chung của tiêu chí chất lượng và yếu tố then chốt của ngôn ngữ lập trình và chúng ta sẽ thảo luận trên những phần chính của kiểu lập trình như cấu trúc, những diễn 155
  25. giải, hình thức, và hiệu qủa. Cuối cùng chúng ta sẽ bàn đến thuộc tính chính của phần mềm như khả năng uyển chuyển và dùng lại. Một cài đặt tốt phản ánh những quyết định của thiết kế Cài đặt nên đảm bảo theo các mục sau: Cấu trúc, cấu trúc dữ liệu và những định nghĩa được chọn lựa và thiết lập trong suốt thủ tục thiết kế cần được tổ chức dễ dàng nhận biết trong quá trình cài đặt. Mức trừu tượng của thiết kế (các lớp (class), mô đun (module), thuật toán (algorithm), cấu trúc dữ liệu (data structure), và kiểu dữ liệu (data type)) cũng phải linh động trong thực hiện. Giao diện giữa các thành phần (components) của hệ thống phần mềm được mô tả rõ ràng trong thực hiện. Quá trình thực hiện cũng có thể được kiểm tra độ tin cậy của đối tượng và thao tác với trình biên dịch (trước khi qua giai đọan kiểm tra chương trình thực sự). Đảm bảo những đặc trưng ở trên phụ thuộc vào việc chọn lựa ngôn ngữ thực hiện và kiểu lập trình. 2. Môi trường lập trình Câu hỏi cho việc chọn lựa “đúng” ngôn ngữ lập trình luôn là chủ đề được đưa ra trong qui trình lập trình.Việc chọn lựa ngôn ngữ lập trình trong công đoạn thực thi của một dự án luôn đóng vai trò quan trọng. Trong trường hợp lý tưởng, thiết kế nên đảm trách mà không có bất cứ kiến thức liên quan đến ngôn ngữ thực hiện sau đó sao cho thiết kế có thể thực hiện được trên bất kỳ ngôn ngữ lập trình nào. 156
  26. 2.1 Chất lượng đòi hỏi cho một ngôn ngữ lập trình: Tính mô đun hóa Giá trị của tài liệu Cấu trúc dữ liệu Control flow (luồng điều khiển) Tính hiệu quả Khả năng tích hợp (Integrity) Tính khả chuyển (Portability) Hỗ trợ hộp thoại Yếu tố ngôn ngữ chuyên biệt 2.2 Khả năng Mô đun hóa của ngôn ngữ lập trình Khả năng mô đun hóa là mức độ hỗ trợ những khả năng mô đun hóa chương trình. Phác thảo một chương trình lớn thành nhiều mô đun là điều kiện tiên quyết để thực thi trong dự án phần mềm. Không có khả năng mô đun hóa thì phân chia công việc trong giai đoạn thực hiện trở nên không thể được. Những chương trình đơn nhất trở nên không thể quản lý: chúng khó có thể bảo trì và sưu liệu và chúng thực hiện với thời gian biên dịch dài. Ngôn ngữ như Pascal chuẩn (không hỗ trợ mô đun, nhưng so sánh với Turbo Pascal và Mođun 2) để chứng minh tính không thích hợp cho những dự án lớn. Nếu một ngôn ngữ hỗ trợ phát thảo một chương trình thành những phần nhỏ, chúng phải đảm bảo những thành phần phải hoạt động với nhau. Nếu một thủ tục được thực thi ở mô đun khác, cũng được kiểm tra thủ tục có thực sự tồn tại và nó có được sử dụng chính xác hay không (nghĩa là số tham số và kiểu dữ liệu là chính xác). 157
  27. Những ngôn ngữ với việc biên dịch độc lập (ví dụ như C) nơi việc kiểm tra của ngôn ngữ chỉ thay thế ở quá trình run- time. Ngôn ngữ với việc biên dịch tách biệt (ví dụ Ada và Modula-2) mỗi mô đun có một mô tả giao diện cung cấp những phương thức cơ bản cho việc kiểm tra những thành phần của mô đun dùng tại thời điểm chạy chương trình (run time). 2.3 Giá trị sưu liệu của ngôn ngữ lập trình Ảnh hưởng của khả năng có thể đọc và bảo trì của chương trình. Điều quan trọng của giá trị sưu liệu được nâng lên đối với những chương trình lớn và cho những phần mềm mà khách hàng vẫn tiếp tục phát triển. Giá trị của sưu liệu cao mang lại kết quả hơn. Vì chương trình nói chung chỉ được 1 lần nhưng việc đọc nó có thể lặp lại, hiệu quả tối thiểu thêm vào trong cách viết sẽ chịu ảnh hưởng không đâu nhiều hơn là trong quá trình bảo trì. Giống như phạm vi ngôn ngữ ảnh hưởng đến khả năng đọc chương trình Nhiều ngôn ngữ mở rộng với quá nhiều chức năng chuyên biệt sẽ khó để hiểu thấu tất cả chi tiết, vì vậy dẫn đến giải thích sai. 2.4 Cấu trúc dữ liệu trong ngôn ngữ lập trình Dữ liệu phức tạp phải được xử lý, sự sẵn sàng trong cấu trúc dữ liệu trong ngôn ngữ lập trình đóng vai trò quan trọng. Ngôn ngữ như C cho phép khai báo con trỏ đối với cấu trúc dữ liệu. Điều này cho phép cấu trúc dữ liệu phức tạp, và phạm vi và cấu trúc của chúng có thể thay đổi ở thời điểm run- time. Tuy nhiên, việc drawback những cấu trúc dữ liệu chúng được mở và được phép truy xuất không nghiêm ngặt (nhưng so sánh với Java). Trọng tâm trong dự án lớn với nhiều nhóm dự án, dữ liệu trừu tượng mang nghĩa cụ thể. Mặc dù dữ liệu trừu tượng có thể 158
  28. phân biệt với bất kỳ mô đun ngôn ngữ, bởi khả năng đọc tốt hơn. Ngôn ngữ lập trình hướng đối tượng có những đặc trưng mở rộng loại kiểu dữ liệu trừu tượng cho phép hiện thực hoá những hệ thống phần mềm phức tạp. Đối với những giải pháp mở rộng và uyển chuyển, ngôn ngữ lập trình hướng đối tượng cung cấp tuỳ chọn đặc biệt tốt. 2.5 Ví dụ minh họa Ví dụ: Giai đoạn thực hiện phần mềm quản lý thư viện, các giai đoạn trước đã được minh họa ở các chương trước Giai đoạn 5: Thực hiện phần mềm . Hệ thống lớp đối tượng: Tạo lập các lớp đối tượng (THU_VIEN, DOC_GIA, SACH) theo mô tả của phần thiết kế trong một môi trường cụ thể nào đó (Visual Basic, Visual C++, Java, ) . Hệ thống giao diện: Tạo lập (vẽ) các màn hình giao diện (màn hình chính, màn hình lập thẻ, màn hình cho mượn sách, màn hình nhận sách, màn hình trả sách) theo mô tả của phần thiết kế trong một môi trường cụ thể nào đó (Visual Basic, Viusal C++, Java) . Hệ thống lưu trữ: Tạo lập cấu trúc cơ sở dữ liệu (các bảng THU_VIEN, DOC_GIA, SACH, MUON_SACH) theo mô tả của phần thiết kế trong môi trường cụ thể nào đó(Access, SQL Server, Oracle, ) 3. Phong cách lập trình Sau khi thực hiện và kiểm tra, hệ thống phần mềm hiếm khi được sử dụng một thời gian dài mà không có sửa đổi điều chỉnh. Thực vậy, điều này luôn là đúng: khi yêu cầu được cập nhật hoặc mở rộng sau khi hoàn chỉnh sản phẩm và trongsuốt quá trình thực hiện thao tác, không phát hiện ra lỗi hay những thiếu sót phát sinh. Giai đoạn thực hiện chắc chắn phải được 159
  29. sửa đổi và mở rộng, đòi hỏi lặp lại việc đọc và hiểu chương trình nguồn. Trong trường hợp lý tưởng, chức năng của một thành phần chương trình được hiểu mà không có kiến thức từ tài liệu thiết kế mà chỉ từ chương trình nguồn. Chương trình nguồn chỉ là tài liệu luôn phản ánh hiện trạng của thực thị. Khả năng đọc được một chương trình phụ thuộc vào ngôn ngữ lập trình được dùng và vào phong cách lập trình của người thực hiện. Việc viết một chương trình có thể đọc được là tiến trình sáng tạo. Phong cách lập trình của người thực hiện ánh hưởng đến khả năng đọc được chương trình hơn là ngôn ngữ lập trình được sử dụng. Yếu tố quan trọng nhất của phong cách lập trình tốt là: . Tính cấu trúc . Sự trình bày diễn đạt . Cách thức trình bày bên ngoài . Hiệu suất 3.1 Tính cấu trúc Việc phân rã một hệ thống phần mềm dựa trên mục đích chính là độ phức tạp thông qua mức trừu tượng phần thành phần cô đọng rõ nét (cấu trúc chương trình lớn). Chọn lựa những thành phần chương trình phù hợp trong việc định ra những thuật toán của thủ tục con.(cấu trúc chương trình nhỏ). 3.2 Thế mạnh của diễn đạt Qui trình thực hiện một hệ thống phần mềm chứa đựng việc đặt tên đối tượng và mô tả các công việc thực thi của đối tượng này. Chọn lựa tên đặc biệt quan trọng trong việc viết thuật toán Một số đề nghị: 160
  30. . Nếu dùng chữ viết tắt, thì sử dụng tên đặt này người đọc chương trình có thể hiểu mà không cần bất cứ sự giải thích nào. Việc sử dụng những từ viết tắt chỉ bao gồm ngữ cảnh. . Với một hệ thống gán tên chỉ nên một ngôn ngữ (ví dụ đừng dùng lẫn lộn tiếng Anh và tiết Việt). . Dùng chữ hoa chữ thường để phân biệt những loại định nghĩa khác nhau (ví dụ chữ hoa đầu tiên cho kiểu dữ liệu, lớp, mô đun, chữ thường đầu tiên cho biến) và đặt tên dài hơn có thể đọc (ví dụ CheckInputValue). . Dùng danh từ cho giá trị, động từ cho hoạt động, và thuộc tính cho điều kiện để làm rõ ý nghĩa nhận diện (ví dụ width, ReadKey, valid). . Thiết lập những qui luật cho chính bạn sử dụng theo chúng một cách thích hợp. Phong cách lập trình tốt được tìm thấy trong diễn giải sử dụng ghi chú: đóng góp cho khả năng đọc được chương trình và như vậy nó là thành phần quan trọng của chương trình. Hiệu chỉnh việc ghi chú chương trình không dễ dàng và đòi hỏi kinh nghiệm, sáng tạo và khả năng diễn đạt thông điệp gọn gàng và chính xác. Một số luật cho việc viết những ghi chú: . Mỗi thành phần hệ thống (mỗi mô đun và lớp) nên bắt đầu với ghi chú chi tiết cho người đọc những thông tin với một vài vấn đề liên quan đến thành phần của hệ thống: - Thành phần này làm gì? - Thành phần này được sử dụng như thế nào trong những ngữ cảnh gì? - Những phương thức đặc biệt được sử dụng. - Ai là Tác giả của thành phần này? 161
  31. - Thành phần này được viết khi nào? - Những sửa đổi cập nhật nó được thực hiện. . Mỗi thủ tục và phương thức cung cấp ghi chú mô tả công việc (có thể có). Điều này ứng dụng đặt biệt cho đặc tả giao diện. . Giải thích ý nghĩa của biến với ghi chú. . Những thành phần của chương chịu trách nhiệm cho những tác nhiệm riêng nên được đánh nhãn với những ghi chú. . Những khối lệnh khó để hiểu (ví dụ thủ tục rắc rối hay những thành phần mà đặc trưng cho một máy tính cụ thể) nên được mô tả ghi chú sao cho người đọc dễ dàng hiểu chúng. . Hệ thống phần mềm nên chứa mà một vài ghi chú gãy gọn súc tích như nếu có thể nhưng nhiều ghi chú chi tiết tương xứng nếu cần thiết. . Đảm bảo những thay đổi chương trình không chỉ có tác động phần khai báo và khối lệnh mà còn phản ánh những cập nhật trong phần ghi chú. Những ghi chú không chính xác thì sẽ tệ hơn. Lưu ý: những luật trên tuân thủ cân nhắc bởi vì không có luật áp dụng đồng nhất cho tất cả các hệ thống phần mềm và mỗi phạm vi ứng dụng. Việc ghi chú hệ thống phần mềm là một nghệ thuật cũng giống như phần thiết kế cài đặt hệ thống phần mềm. 3.3 Cách thức trình bày bên ngoài Ngoài sự chọn tên và ghi chú, khả năng đọc được của hệ thống phần mềm cũng phụ thuộc vào cách thức trình bày bên ngoài. Một số luật đề nghị cho hình thức trình bày chương trình: 162
  32. . Mỗi thành phần của chương trình (components), những khai báo (của kiểu dữ liệu, hằng biến, ) nên được tách biệt mỗi phần của khối lệnh. . Phần khai báo nên có một cấu trúc đồng nhất khi có thể như thứ tự sau: hằng, kiểu dữ liệu, lớp, mô đun, phương thức và thủ tục. . Mô tả giao diện (danh sách tham số cho phương thức và thủ tục) nên tách tham số nhập liệu, kết xuất và nhập/xuất. . Phần ghi chú và chương trình nguồn nên tách bạch. . Cấu trúc của chương trình nên được nhấn mạnh ở phần canh chỉnh lề (sử dụng phím tab cho từ mỗi đầu khối lệnh đến khối lệnh theo sau). 4. Đánh giá chất lượng công việc 4.1 Hiện thực tăng cường Ý tưởng cơ bản của việc hiện thực tăng cường gần với việc trộn giai đoạn thiết kế và cài đặt hơn là tách biệt hai giai đoạn này mà mô hình qui trình phát triển phần mềm tuần tự cổ điển đề ra. Điểm nhấn mạnh của phương pháp này được tìm thấy dựa trên thực nghiệm rằng những quyết định trong thiết kế và cài đặt có tác động lẫn nhau và vì vậy nếu tách bạch thiết kế khắt khe sẽ không đạt được mục tiêu. Trong nhiều trường hợp, chỉ có cài đặt mới quyết định việc phân rã cấu trúc của thiết kế chứng minh sự thõa mãn đầy đủ vấn đề. Hiện thực tăng cường nghĩa là sau mỗi bước thiết kế có liên quan đến kiến trúc, kiến trúc phần mềm hiện hành được thẩm định dựa trên những trường hợp thực. Sự tác động qua lại giữa các thành phần hệ thống cụ thể trong thiết kế (trong hình thức đặc tả giao diện) được thẩm định. Để có thể làm được điều 163
  33. này, những thành phần hệ thống (hành vi xuất/ nhập của chúng) được mô phỏng hay thực tế hóa như khuôn mẫu. Nếu có những nghi ngờ liên quan đến tính khả thi của thành phần thì tiến trình thiết kế được ngắt và những thành phần được thực hiện. Chỉ khi hiện thực và nhúng chúng vào trong kiến trúc hệ thống trước đó được kiểm tra thì tiến trình thiết kế tiếp tục hay kiến trúc được chấp nhận tương ứng kiến thức thu được trong hiện thực thành phần. Hiệu quả của phương pháp này phụ thuộc vào việc mở rộng vào khả năng tích hợp thành phần hệ thống mà được viết trong chuẩn mực khác nhau và được hoàn chỉnh ở nhữn cấp độ khác nhau, đối với toàn bộ hệ thống để thực hiện gần với thực tế. Một vài thành phần hệ thống, ví dụ giao diện người dùng và mô hình dữ liệu được thể hiện dưới dạng khuôn mẫu, những thành phần khác từ thư viện thành phần có sẵn hay tồn tại như hiện thực hoàn chỉnh được thể hiện dưới dạng mã nguồn thực thi còn các thành phần hệ thống khác có sẵn như đặc tả giao diện. Đối với sự hợp lệ của thiết kế hệ thống hiện hành, bất kỳ lúc nào giao diện người dùng triển khai thì tương ứng khuôn mẫu cần được kích hoạt. 4.2 Đánh giá lại thiết kế và chương trình (Design and Code Review) Với việc xem lại thiết kế và chương trình, sẽ giúp hoàn chỉnh chất lượng hiệu quả của công việc hơn là chúng ta chỉ điều chỉnh những thay đổi đơn lẻ trong quá trình phát triển phần mềm.Trong những chương trình lớn, đòi hỏi xem xét lại những yêu cầu, đặc tả, thiết kế, và cả chương trình của chúng ta. Giúp điều chỉnh thiếu sót, logic, cấu trúc, tính sáng tỏ. Khi chương trình không rõ hay mơ hồ xáo trộn, thêm những ghi chú thì tốt hơn hay viết lại nó một cách đơn giản hơn sẽ làm cho chương trình dễ đọc và dễ hiểu. Việc làm này sẽ tạo cho chúng ta sự tự tin xuất bản hay trình bày cho bạn bè hay tập thể. 164
  34. Mục đích của review để đảm bảo chương trình tạo ra đạt chất lượng cao nhất. Một trong việc review là kiểm duyệt, duyệt qua, xem xét mục riêng từ thiết kế đến từng dòng lệnh. Review có thể được dùng trên yêu cầu, thiết kế, hồ sơ tài liệu, hay bất kỳ yếu tố của sản phẩm. Nhiều dự án phần mềm trãi qua nữa qúa trình phát triển ở giai đoạn kiểm thử. Điều này không hiệu quả. Review thiết kế và chương trình là những cách thức hiệu quả tìm và sửa chữa thiếu sót. Với review, chúng ta có thể tìm ra những thiếu sót trực tiếp, trong khi chúng ta chỉ có thể tìm ra những dấu hiệu. Khi chúng ta xem lại chương trình, chúng ta biết nơi và những logic gì giả sử phải được làm.Những sửa lỗi của chúng ta sẽ hoàn chỉnh và chính xác. Công việc review cho phép quay trở lại bất cứ việc gì chúng ta đã làm. Nhóm phát triển nên ngồi lại với nhau để đọc lại mọi thiết kế và chương trình, nghiên cứu, hiểu nó. Sửa những sai sót: logic, cấu trúc, tính rõ ràng. Sau khi đã được xem xét và đánh giá, viết lại chương trình. Chỗ nào không rõ ràng hay lộn xộn, thêm ghi chú và viết lại hoàn chỉnh làm cho dễ đọc và dễ hiểu. 5. Ví dụ minh họa Ví dụ: Xét phần mềm hỗ trợ giải bài tập phương trình đại só với 4 yêu cầu: Soạn đề bài, Soạn đáp án, Giải bài tập, Chấm điểm. Nhằm thể hiện các giai đoạn thực hiện trong qui trình Giai đoạn 1: Xác định yêu cầu . Yêu cầu 1: Soạn đề bài với qui định về Soạn đề bài . Yêu cầu 2: Soạn đáp án với qui định về Soạn đáp án và biểu mẫu Soạn đáp án . Yêu cầu 3: Giải bài tập với qui định về Giải bài tập và biểu mẫu Giải bài tập 165
  35. . Yêu cầu 4: Chấm điểm với qui định về Chấm điểm Giai đoạn 2: . Sơ đồ luồng dữ liệu cho công việc Soạn đề bài Giáo viên D1 Soạn đề bài D4 . Sơ đồ luồng dữ liệu cho công việc Soạn đáp án Giáo viên D1 Soạn đáp án D3 D4 . Sơ đồ luồng dữ liệu cho công việc Giải bài tập 166
  36. Học sinh D1 Giải bài tập D3 D4 . Sơ đồ luồng dữ liệu cho công việc Chấm điểm Học sinh D1 Chấm điểm D3 D4 Giai đoạn 3: Phân tích yêu cầu chức năng Giai đoạn 4: Thiết kế phần mềm (đã trình bày trong phần kiến trúc phần mềm của chương Thiết kế phần mềm) Giai đoạn 5: Thực hiện phần mềm . Hệ thống Lớp đối tượng: Tạo lập các lớp đối tượng SACH_BAI_TAP, BAI_TAP theo mô tả phần thiết kế trong môi trường cụ thể nào đó (VIsual Basic, Visual C++, Java 167
  37. . Hệ thống giao diện:Tạo lập (vẽ) các màn hình giao diện (màn hình chính, màn hình soạn đề bài, màn hình soạn đáp án, màn hình giải bài tập, màn hình chấm điểm) theo mô tả của phần thiết kế trong một môi trường cụ thể nào đó (Visual Basic, Visual C++, Java, v.v.) Hệ thông lưu trữ: Tạo cấu trúc cơ sở dữ liệu (các bảng SACH_BAI_TAP, BAI_TAP, BAI_GIAI, BUOC_GIAI) theo mô tả của phần thiết kế trong một môi trường cụ thể nào đó (Access, SQL Server, Oracle,. v.v) Giai đoạn 6: Kiểm chứng phần mềm xem ở chương Kiểm thử 168
  38. Chương 7: KIỂM THỬ PHẦN MỀM 1. Tổng quan Kiểm thử phần mềm là tiến hành thí nghiệm để so sánh kết quả thực tế với lý thuyết nhằm mục đích phát hiện lỗi. Bộ thử nghiệm (test cases) là dữ liệu dùng để kiểm tra hoạt động của chương trình. Một bộ kiểm thử tốt là bộ có khả năng phát hiện ra lỗi của chương trình. Khi tiến hành kiểm thử, chúng ta chỉ có thể chứng minh được sự tồn tại của lỗi nhưng không chứng minh được rằng trong chương trình không có lỗi. Nội dung của bộ thử nghiệm: Tên môđun/chức năng muốn kiểm thử Dữ liệu vào - Dữ liệu của chương trình: số, xâu ký tự, tập tin, - Môi trường thử nghiệm: phần cứng, hệ điều hành, - Thứ tự thao tác (kiểm thử giao diện) Kết quả mong muốn - Thông thường: số, xâu ký tự, tập tin, - Màn hình, thời gian phản hồi Kết quả thực tế Không gian thử nghiệm là tập các bộ số thử nghiệm. Không gian này nói chung là rất lớn. Nếu có thể vét cạn được không gian thử nghiệm thì chắc chắn qua phép kiểm tra đơn vị sẽ không còn lỗi. Tuy nhiên điều này không khả thi trong thực tế. Do đó khi đề cập đến tính đúng đắn của phần mềm chúng ta dùng khái niệm độ tin cậy. Phương pháp kiểm thử là cách chọn bộ số thử nghiệm để tăng cường độ tin cậy của đơn vị cần kiểm tra. Hay nói cách khác phương pháp kiểm thử là cách phân hoạch không gian thử 169
  39. nghiệm thành nhiều miền rồi chọn bộ số liệu thử nghiệm đại diện cho miền đó. Như vậy cần tránh trường hợp mọi bộ thử nghiệm đều rơi vào một miền kiểm tra. 2. Yêu cầu đối với kiểm thử - Tính lặp lại: o Kiểm thử phải lặp lại được (kiểm tra xem lỗi đã được sửa hay chưa) o Dữ liệu/trạng thái phải mô tả được - Tính hệ thống: phải đảm bảo đã kiểm tra hết các trường hợp. - Được lập tài liệu: phải kiểm soát được tiến trình/kết quả. 3. Các kỹ thuật kiểm thử 3.1 Phương pháp hộp đen (Kiểm thử chức năng) Phương pháp kiểm thử này chỉ dựa trên bản đặc tả các chức năng. Do đó, chúng ta chỉ chú tâm đến phát hiện các sai sót về chức năng mà không quan tâm đến cách cài đặt cụ thể. Với phương pháp này chúng ta có khả năng phát hiện các sai sót, thiếu sót về mặt chức năng; sai sót về giao diện của môđun, kiểm tra tính hiệu quả; phát hiện lỗi khởi tạo, lỗi kết thúc. Do không thể kiểm thử mọi trường hợp trên thực tế, chúng ta sẽ chia không gian thử nghiệm dựa vào giá trị nhập xuất của đơn vị cần kiểm tra. Ứng với mỗi vùng dữ liệu chúng ta sẽ thiết kế những bộ thử nghiệm tương ứng và đặc biệt là các bộ thử nghiệm tại các gía trị biên của vùng dữ liệu. Để kiểm chứng chương trình giải phương trình bậc 2 theo phương pháp hộp đen, chúng ta sẽ phân chia không gian thử nghiệm thành 3 vùng như sau: 170
  40. Có 2 nghiệm Vô phân biệt nghiệm Có nghiệm kép Sau khi đã thử kiểm tra với các bộ thử nghiệm đã thiết kế, chúng ta cần mở rộng bộ thử nghiệm cho các trường hợp đặc biệt như: biên của số trong máy tính (32767,-32768), số không, số âm, số thập phân, dữ liệu sai kiểu, dữ liệu ngẫu nhiên. a/ Phương pháp hộp trắng (Kiểm thử cấu trúc) Theo phương pháp này, chúng ta sẽ chia không gian thử nghiệm dựa vào cấu trúc của đơn vị cần kiểm tra. - Giao tiếp - Dữ liệu cục bộ Đơn vị cần - Các điều kiện biên kiểm tra - Các con đường thực hiện - Các ngoại lệ bộ thử nghiệm Kiểm tra giao tiếp của đơn vị là để đảm bảo dòng thông tin vào ra đơn vị luôn đúng (đúng giá trị, khớp kiểu ) Kiểm tra dữ liệu cục bộ để đảm bảo dữ liệu được lưu trữ trong đơn vị toàn vẹn trong suốt quá trình thuật giải được thực hiện. 171
  41. Ví dụ: nhập dữ liệu sai, tên biến không đúng, kiểu dữ liệu không nhất quán, các ràng buộc hoặc ngoại lệ. Kiểm tra các điều kiện biên của các câu lệnh if, vòng lặp để đảm bảo đơn vị luôn chạy đúng tại các biên này. Kiểm tra để đảm bảo mọi con đường thực hiện phải được đi qua ít nhất một lần. Con đường thực hiện của một đơn vị chương trình là một dãy có thứ tự các câu lệnh bên trong đơn vị đó sẽ được thực hiện khi kích hoạt đơn vị. Ví dụ: P1 P2 l1 l1 l2 if (đk) l2 l3 else l3 l4 l4 Con đường thực hiện của p1 và p2 như sau: P1: l1 l2 l3 l4 l1 l2 l4 P2 l1 l3 l4 4. Các giai đoạn và chiến lược kiểm thử Đối với những dự án phần mềm lớn, những người tham gia được chia thành 2 nhóm: - Nhóm thứ nhất: gồm những người tham gia trong dự án phát triển phần mềm. Nhóm này chịu trách nhiệm 172
  42. kiểm tra các đơn vị của chương trình để chắc chắn chúng thực hiện đúng theo thiết kế. - Nhóm thứ hai: độc lập gồm các chuyên gia tin học nhưng không thuộc nhóm thứ nhất. Nhóm này có nhiệm vụ phát hiện các lỗi do nhóm thứ nhất chủ quan còn để lại. 4.1 Kiểm thử đơn vị Sử dụng kỹ thuật hộp trắng và dựa vào hồ sơ thiết kế để xây dựng các bộ thử nghiệm sao cho khả năng phát hiện lỗi là lớn nhất. Vì đơn vị được kiểm tra không là 1 chương trình đầy đủ, hơn nữa đơn vị này có thể được gọi bởi những đơn vị khác hoặc gọi đến những đơn vị khác nên dù chương trình đã được hoàn tất đầy đủ các đơn vị, chúng ta cũng không nên giả thuyết sự tồn tại hoặc tính đúng đắn của các đơn vị khác mà phải xây dựng các module giả lập đơn vị gọi tên là driver và đơn vị bị gọi là stub. Driver đóng vai trò như một chương trình chính nhập các bộ số thử nghiệm và gởi chúng đến đơn vị cần kiểm tra đồng thời nhận kết quả trả về của đơn vị cần kiểm tra. Stub là chương trình giả lập thay thế các đơn vị được gọi bởi đơn vị cần kiểm tra. Stub thực hiện các thao tác xử lý dữ liệu đơn giản như in ấn, kiểm tra dữ liệu nhập và trả kết quả ra. 173
  43. 4.2 Kiểm thử tích hợp Giai đoạn này được tiến hành sau khi đã hoàn tất công việc kiểm thử từng môđun riêng lẻ bằng cách tích hợp các môđun này lại với nhau. Mục đích của giai đoạn này là kiểm tra giao diện của các đơn vị, kiểm tra tính đúng đắn so với đặc tả, kiểm tra tính hiệu quả. Phương pháp thực hiện chủ yếu sử dụng kiểm tra chức năng. Các đơn vị có thể được tích hợp theo một trong hai chiến lược: từ trên xuống (top-down) hoặc từ dưới lên (bottom-up). 4.2.1 Trên xuống Thuật giải của hướng tiếp cận này gồm những bước sau: - Sử dụng Module chính như 1 driver và các stub được thay cho tất cả các module là con trực tiếp của module chính. - Lần lượt thay thế các stub mỗi lần 1 cái bởi các module thực sự. - Tiến hành kiểm tra tính đúng đắn. - Một tập hợp bộ thử nghiệm được hoàn tất khi hết stub. - Kiểm tra lùi có thể được tiến hành để đảm bảo rằng không phát sinh lỗi mới. 174
  44. a) Ưu điểm Kiểm thử trên xuống kết hợp với phát triển trên xuống sẽ giúp phát hiện sớm các lỗi thiết kế và làm giảm giá thành sửa đổi. Nhanh chóng có phiên bản thực hiện với các chức năng chính. Có thể thẩm định tính dùng được của sản phẩm sớm. b) Nhược điểm Nhiều môđun cấp thấp rất khó mô phỏng: thao tác với cấu trúc dữ liệu phức tạp, kết quả trả về phức tạp 4.2.2 Dưới lên Kiểm ta module lá trước do đó không cần phải viết stub. Thuật giả của hướng này là: - Các module cấp thấp được nhóm thành từng nhóm (thực hiện cùng chức năng) - Viết driver điều khiển tham số nhập xuất. - Bỏ driver và gắn chùm vào module cao hơn. 175
  45. a)Ưu điểm Tránh xây dựng các môđun tạm thời phức tạp. Tránh sinh các kết quả nhân tạo (nhập từ bàn phím) Thuận tiện cho phát triển các môđun để dùng lại b) Nhược điểm Chậm phát hiện các lỗi kiến trúc Chậm có phiên bản thực hiện 4.3 Kiểm thử chấp nhận Kiểm thử chấp nhận được tiến hành bởi khách hàng, còn được gọi là alpha testing. Mục đích là nhằm thẩm định lại xem phần mềm có những sai sót, thiếu sót so với yêu cầu người sử dụng không. Trong giai đoạn này dữ liệu dùng để kiểm thử do người sử dụng cung cấp. 176
  46. 4.4 Kiểm thử beta Đây là giai đoạn mở rộng của alpha testing. Công việc kiểm thử được thực hiện bởi một số lượng lớn người sử dụng. Công việc kiểm thử được tiến hành một cách ngẫu nhiên mà không có sự hướng dẫn của các nhà phát triển. Các lỗi nếu được phát hiện sẽ được thông báo lại cho nhà phát triển. 4.5 Kiểm thử hệ thống Đến giai đoạn này, công việc kiểm thử được tiến hành với nhìn nhận phần mềm như là một yếu tố trong một hệ thống thông tin phức tạp hoàn chỉnh. Công việc kiểm thử nhằm kiểm tra khả năng phục hồi sau lỗi, độ an toàn, hiệu năng và giới hạn của phần mềm. 5. Ví dụ minh họa Ví dụ 1: Phần mềm quản lý thư viện trong giai đoạn kiểm thử, các giai đoạn trước đã được trình bày ở các chương trước Giai đoạn 6: Kiểm chứng phần mềm hướng đối tượng . Kiểm tra tính đúng đắn của cá lớp đối tượng - Chuẩn bị dữ liệu thử nghiệm: Nhập dữ liệu thử nghiệm cho các bảng THU_VIEN, SACH, DOC_GIA, MUON_SACH - Kiểm tra: + Kiểm tra từng lớp đối tượng: - Kiểm tra lớp THU_VIEN (Tra cứu độc giả, Tra cứu sách) - Kiểm tra lớp DOC_GIA (Lập thẻ, cho mượn sách) - Kiểm trả lớp SACH (Nhận sách, Trả sách) + Kiểm tra phối hợp các lớp đối tượng 177
  47. - Kiểm tra phối hợp giữa lớp THU_VIEN và lớp DOC_GIA (Lập thẻ và sau đó Tra cứu độc giả) - Kiểm tra phối hợp giữa lớp THU_VIEN và lớp SACH (Nhận sách và sau đó Tra cứu sách) - Kiểm tra phối hợp giữa lớp DOC_GIA và lớp SACH (Lập thẻ, Nhận sách, Cho mượn sách và Tra sách) - Kiểm tra phối hợp giữa 3 lớp THU_VIEN, DOC_GIA và lớp SACH Xác nhận của khách hàng: Khách hàng sử dụng phần mềm để thực hiện các công việc của mình và so sánh kết quả khi sử dụng phần mềm với kết quả khi thực hiện trong thế giới thực Ví dụ 2: Minh họa giai đoạn kiểm chứng của phần mềm hỗ trợ giải bài tập phương trình đại số Giai đoạn 6: Kiểm chứng phần mềm . Kiểm tra tính đúng đắn của các lớp đối tượng - Chuẩn bị dữ liệu thử nghiệm: Chuẩn bị các đề tài, đáp án, bài giải, điểm số đã có trong thế giới thực và nhập điểm cho các bảng SACH_BAI_TAP, BAI_TAP, BAI_GIAI, BUOC_GIAI - Kiểm tra: + Kiểm tra từng lớp đối tượng: - Kiểm tra lớp SACH_BAI_TAP (Tra cứu bài tập) - Kiểm tra lớp BAI_TAP (Soạn đề, Phát sinh đề, Soạn đáp án, Giải bài tập, Xem đáp án, Chấm điểm - Ghi chú: Cần phải kiểm tra từng công việc và sau đó kiểm tra phối hợp giữa các công việc 178
  48. + Kiểm tra phối hợp các lớp đối tượng: Kiểm tra phối hợp giữa các lớp SACH_BAI_TAP và lớp BAI_TAP (Soạn đề thi và sau đó tra cứu bài tập . Xác nhận của khách hàng: Khách hàng sử dụng phần mềm để thực hiện các công việc của mình và so sánh kết quả khi sử dụng phần mềm với kết quả khi thực hiện trong thế giới thực. 179
  49. Chương 8: SƯU LIỆU 1. Tổng quan Chương này xem xét sưu liệu là một phần của hệ thống phần mềm. Cấu trúc của sưu liệu người dùng và hệ thống được mô tả và điều quan trọng của việc tạo ra những sưu liệu đạt chất lượng phải được nhấn mạnh. Phần cuối của chương này chú ý đến khả năng bảo trì, tính khả chuyển của sưu liệu. Có hai lớp sưu liệu kết hợp với hệ thống máy tính. Lớp sưu liệu người dùng được mô tả làm thế nào để sử dụng hệ thống và sưu liệu hệ thống được mô tả thiết kế và thực hiện hệ thống Sưu liệu được cung cấp cùng với hệ thống có thể hữu dụng trong bất kỳ giai đoạn sống của hệ thống Tất cả sưu liệu cần có chỉ mục hiệu quả. Một chỉ mục tốt, cho phép người dùng tìm kiếm thông tin họ cần, và đó là đặc tính hữu dụng nhất được cung cấp nhưng cũng thường là phần rối nhất trong khi tạo sưu liệu. Một chỉ mục cặn kẻ có thể làm cho sưu liệu được viết tệ có thể sử dụng được, nhưng không có chỉ mục, cho dù sưu liệu viết tốt thì không chắc người đọc sưu liệu có hiệu quả không. 2. Sưu liệu người dùng Sưu liệu người dùng là sưu liệu mô tả chức năng của hệ thống, mà không tham chiếu đến chức năng được thực hiện như thế nào Sưu liệu người dùng nên được cấu trúc sao cho không nhất thiết phải đọc hết tất cả sưu liệu trước khi bắt đầu dùng hệ thống. Nó phải được hợp nhất với on-line help nhưng nó quá đơn giản để in văn bản trong help như sưu liệu người dùng 180
  50. Có 5 loại sưu liệu cho người dùng Mô tả chức năng, giải thích hệ thống có thể làm gì Sưu liệu cài đặt, giải thích làm thế nào để install hệ thống và chi tiết cho từng cấu hình phần cứng cụ thể Giới thiệu, giải thích thuật ngữ đơn giản, và làm thế nào để bắt đầu hệ thống Tham chiếu, mô tả chi tiết tất cả tiện ích của hệ thống, chúng được sử dụng như thế nào Hướng dẫn người quản trị hệ thống (nếu cần), giải thích làm thể nào để ứng xử với những trường phát sinh khi hệ thống đang sử dụng và làm thể nào để thực hiện bảo quản hệ thống như backup hệ thống 2.1. Mô tả chức năng - Phác thảo yêu cầu của hệ thống. - Phác thảo mục đích của người thiết kế hệ thống. - Mô tả hệ thống có thể làm được gì? - Mô tả hệ thống không thể làm được gì? - Giới thiệu ví dụ minh họa nhỏ bất kỳ chỗ nào có thể. - Vẽ sơ đồ thì tốt nhất. 2.2. Bảng Giới thiệu - Cung cấp cái nhìn tổng quan của hệ thống. - Cho phép người dùng quyết định nếu hệ thống phù hợp với nhu cầu của họ. - Trình bày giới thiệu thông tin đối với hệ thống. - Mô tả làm thế nào để bắt đầu với hệ thống và làm thế nào người thực hiện sử dụng những tiện ích chung của hệ thống. - Bảo người dùng hệ thống làm thể nào để tránh những rắc rối khi họ làm sai. 2.3. Bảng tham khảo 181
  51. - Bảng tham khảo hệ thống là Sưu liệu được định nghĩa cho cách sử dụng hệ thống. - Bảng tham khảo nên hoàn chỉnh. - Kỹ thuật mô tả chuẩn nên được dùng để đảm bảo độ hoàn chỉnh đạt được. - Người viết bảng này có thể giả sử: o Người đọc quen với cả mô tả hệ thống và phần giới thiệu. o Ngưòi đọc dùng vài hệ thống và hiểu được khái niệm và thuật ngữ. - Phần tham khảo hệ thống cũng nên mô tả: o Những báo cáo lỗi phát sinh trong hệ thống. o Những tình huống lỗi phát sinh, nếu phù hợp, hướng người dùng đến những mô tả tiện ích đã gây ra lỗi. - Chỉ mục cặn kẽ đặc biệt quan trọng trong phần Sưu liệu. 2.4. Sưu liệu cài đặt Sưu liệu cài đặt nên được cung cấp đầy đủ chi tiết làm thế nào để install hệ thống trong mô trường cụ thể. Phải bao gồm mô tả thiết bị có thể đọc của máy mà hệ thống cung cấp như định dạng, mã ký tự dùng, làm thế nào thông tin được viết, và những tập tin được tạo của hệ thống. Sưu liệu này gồm các mô tả: - Cấu hình tối thiểu đòi hỏi để có thể chạy của hệ thống. - Tập tin cố định phải được thiết lập. - Làm thế nào để bắt đầu của hệ thống. - Những tập tin phụ thuộc cấu hình phải thay đổi để thích ứng với hệ thống đối với hệ thống máy chủ cụ thể. Hướng dẫn cho quản trị hệ thống (cho hệ thống đòi hỏi người theo dõi tương tác) 182
  52. - Mô tả những thông điệp phát sinh ở màn hình hệ thống, và làm thể nào để ứng phó với những thông điệp này - Giải thích những nhiệm vụ của người theo dõi trong duy trì phần cứng đó Những tài liều dễ đế đọc khác - Danh sách các tham khảo nhanh sẵn có của tiện ích của hệ thống và làm thể nào để sử dụng chúng - Hệ thống on-line help 3. Sưu liệu hệ thống Sưu liệu hệ thống chứa tất cả những sưu liệu mô tả quá trình thực hiện của hệ thông từ những sưu liệu đặc tả đến bản kế hoạch test cuối cùng -Tài liệu mô tả thiết kế - Sưu liệu mô tả thực hiện - Sưu liệu mô tả việc kiểm thử Sưu liệu hệ thống thì cần thiểt để hiểu và bảo trì hệ thống phần mềm. Sưu liệu nên được cấu trúc và được mô tả tổng quan hướng người đọc đến mô tả hình thức và chi tiết với mỗi khía cạnh của hệ thống. Một trong những khó khăn của sưu liệu hệ thống là duy trì tính kiên định qua những sưu liệu khác mô tả hệ thống. Lưu vết những thay đổi, cân nhắc những sưu liệu nên được thay thế dưới những kiểm soát của hệ thống quản lý cấu hình. Những thành phần của sưu liệu hệ thống: 1. Định nghĩa và đặc tả yêu cầu và kết hợp. 2. Trình bày đặc tả tất cả hệ thống làm thế nào những yêu cầu được phân rã thành những nhóm các chương 183
  53. trình tương tác với nhau. Sưu liệu này không được yêu cầu khi hệ thống được thực hiện chỉ với chương trình đơn lẻ. 3. Mỗi chương trình của hệ thống, một mô tả làm thế nào chương trình được phân rã thành những thành phần và khẳng định của những đặc tả của thành phần. 4. Mỗi đơn vị, một mô tả của những thao tác. Điều này không cần mở rộng để mô tả hoạt động của chương trình. 5. Mô tả kế hoạch kiểm thử (test plan) chi tiết làm thế nào mỗi đơn vị chương trình được kiểm thử. 6. Một kế hoạch kiểm thử chỉ ra những kiểm thử hợp nhất như là kiểm tra tất cả đơn vị chương trình kết hợp với nhau được thực hiện. 7. Một kế hoạch kiểm thử được chấp nhận, vạch ra sự nối kết những người dùng hệ thống. Tài liệu này nên mô tả những kiểm thử phải được thõa mãn trước khi hệ thống được chấp nhận. 4. Chất lượng của sưu liệu Chất lượng của sưu liệu quan trọng như chất lượng của chương trình. Khi không có thông tin làm thế nào sử dụng hệ thống và làm thế nào để hiểu nó thì những tiện ích của hệ thống sẽ bị giảm chất lượng. Tạo những sưu liệu tốt không dễ dàng không rẻ và tiến trình cũng khó như tạo một chương trình tốt. Tiêu chuẩn sưu liệu nên được mô tả chính xác như sưu liệu bao gồm những gì và nên mô tả hệ thống các ký hiệu dùng trong sưu liệu. 184
  54. Với một tổ chức, cần thiết lập một chuẩn cho sưu liệu và yêu cầu tất cả các sưu liệu phải tuân thủ theo những định dạng đó. Những tiêu chuẩn của sưu liệu có thể bao gồm: + Mô tả định dạng trước được chấp bởi tất cả tài liệu + Đánh số trang và cách thức ghi chú trang. + Phương thức tham khảo tài liệu khác + Số đề mục và đề mục con Phong cách viết là yếu tố nền tảng ảnh hưởng đến chất lượng của sưu liệu và đó là khả năng của người viết để xây dưng một cách rõ ràng kỹ thuật soạn thảo chính xác. Một số cách viết nên tránh như dùng câu quá dài, mô tả phức tạp, lặp lại, thông tin tham chiếu chỉ toàn là số không những chi tiết gơi nhớ cho người đọc v.v 5. Bảo trì sưu liệu Bởi vì hệ thống phần mềm được cập nhật, sưu liệu kết hợp với hệ thống cũng phải được cập nhật tướng ứng với những thay đổi của hệ thống. Tất cả những sưu liệu kết hợp nên được cập nhật khi một thay đổi được làm bởi chương trình. Giả sử những thay đổi này được nhìn thấy bởi người dùng, chỉ mô tả thực hiện hệ thống cần phải thay đổi. Nếu hệ thống thay đổi nhiều hơn sự chính xác của lỗi chương trình thì điều này có nghĩa là xem xét lại sưu liệu thiết kế và kiểm thử và có thể sưu liệu ở thiết kế mức cao mô tả đặc tả và yêu cầu. Một trong những vấn đề chính của bảo trì sưu liệu là lưu những thể hiện khác nhau của hệ thống từng bước với nhau. Giải pháp tốt nhất cho vấn đề này là hỗ trợ bảo trì sưu liệu với công cụ phần mềm mà ghi nhận mối liên hệ sưu liệu, nhắc nhỡ những kỹ sư phần mềm khi thay đổi một sưu liệu có tác động đến sưu liệu khác, và ghi nhận những thay đổi trong sưu liệu 185
  55. Nếu sự thay đổi của hệ thống tác động giao diện người dùng một cách trực tiếp hoặc thêm mới một tiện ích hoặc mở rộng tiện ích tồn tại. 6. Các mẫu sưu liệu cho qui trình làm phần mềm 6.1. Xác định yêu cầu (SRS) Software Requirements Specifications (w/o Use Cases) Chuẩn IEE 830-1984 1. Giới thiệu 1.1 Mục đích 1.2 Phạm vi 1.3 Định nghĩa (định nghĩa, từ viết tắt) 1.4 Tài liệu tham khảo 1.5 Mô tả cấu trúc tài liệu 2. Mô tả chung 2.1 Tổng quan về sản phẩm 2.2 Chức năng sản phẩm 2.3 Đối tượng người dùng 2.4 Ràng buộc tổng thể 2.5 Giả thiết và sự lệ thuộc 3. Yêu cầu chi tiết 3.1 Yêu cầu chức năng 3.1.1 Yêu cầu chức năng 1 3.1.1.1 Giói thiệu 3.1.1.2 Dữ liệu vào 186
  56. 3.1.1.3 Xử lý 3.1.1.4 Kết quả 3.1.2 Yêu cầu chức năng 2 3.1.n Yêu cầu chức năng n a. Thiết kế Sưu liệu cho giai đoạn thiết kế có các mẫu thiết kế sau: Thiết kế cơ sở dữ liệu (Database Design) Thiết kế ràng buộc (Design Criteria) Sưu liệu kiến trúc phần mềm (Software Architecture Document) Thiết kế Thành phần (Components Design) 6.2. Mô tả thiết kế phần mềm (SDD) Software Design Descriptions Chuẩn IEEE 1016-1998 1. Introduction (Giới thiệu) Purpose (mục đích) Scope (Phạm vi) Definitions, acronyms, and abbreviations (Định nghĩa, viết tắt) 2 References (Tham khảo) 3 Decomposition description (Mô tả phân rã) 4 Dependency description (Mô tả phụ thuộc) 5 Interface description (mô tả giao diện) 6 Detailed design (thiết kế chi tiết) 187
  57. 6.3. System Design Rationale Document (SDRD) 1. Introduction (Giới thiệu) 1.1 Purpose of the document (Mục đích của sưu liệu) 1.2 Design goals (Mục tiêu của thiết kế đạt được) 1.3 Definitions, acronyms, and abbreviations 1.4 References (Tham khảo) 1.5 Overview (Tổng quan) 2. Rationale for Current Software Architecture 3. Rationale for Proposed Software Architecture 3.1 Overview (Tổng quan) 3.2 Rationale for Subsystem decomposition 3.3 Rationale for Hardware/software mapping 3.4 Rationale for Persistent data management 3.5 Rationale for Access control and security 3.6 Rationale for Global software control 3.7 Rationale for Boundary conditions 4. Subsystem Services Glossary 188
  58. Phụ Lục A 1. Câu hỏi lý thuyết Chương (1->4) 1. Trình bày sự khác biệt của giai đoạn thiết kế trong các qui trình khác nhau 2. Trình bày sự khác biệt của giai đoạn lập trình trong các qui trình khác nhau 3. Khi tiến hành thực hiện phần mềm qua các giai đoạn (trong qui trình 5 giai đoạn) có thể phát sinh lỗi trong một giai đoạn nào đó (kết quả chuyển giao không chính xác, thiếu sót, v.v ). Theo các anh chị lỗi (nếu phát sinh) của giai đoạn nào là nghiêm trọng nhất 4. Theo các anh chị trong các giai đoạn của qui trình công nghệ phần mềm - Giai đoạn nào là quan trọng nhất (tại sao) - Giai đoạn nào dễ thực hiện nhất (tại sao) - Giai đoạn nào là tốn nhiều thời gian và chi phí nhất (tại sao) - Giai đoạn nào là có thể bỏ qua (trong trường hợp nào và tại sao) Chương 2 (5-10) 5. Cho biết sự khác biệt cơ bản giữa yêu cầu chức năng (yêu cầu nghiệp vụ, yêu cầu hệ thống) và phi chức năng (yêu cầu chất lượng). Theo anh chị thì loại yêu cầu nào là quan trọng hơn 6. Xác định tất cả các yêu cầu chức năng hệ thống có thể có trong các phần mềm sau (chi tiết về qui định, biểu mẫu liên quan có trong mô tả của đề tài) 1) Phần mềm quản lý bán sách 189
  59. 2) Phần mềm quản lý học sinh trường cấp 3 3) Phần mềm đánh cờ gánh 4) Phần mềm hỗ trợ giải bài tập phương trình đại số 5) Phần mềm quản lý giải vô địch bóng đá quốc giá 7. Nhận xét về phát biểu sau “Mọi phần mềm đều có yêu cầu về tính tiện dụng”. - Nếu đúng: giải thích - Nếu sai: giải thích và ví dụ minh họa 8. Nhận xét về phát biểu sau: “Mọi phần mềm đề có yêu cầu về tính hiệu quả - Nếu đúng: giải thích - Nếu sai: giải thích và cho ví dụ minh họa 9. Nhận xét về phát biểu sau: “Mọi phần mềm đề có yêu cầu chức năng hệ thống - Nếu đúng: giải thích - Nếu sai: giải thích và cho ví dụ minh họa Chương (3-14) 10. Nhận xét về phát biểu sau “Việc mô hình hóa yêu cầu không cung cấp thêm thông tin mới về yêu cầu của phần mềm mà chỉ giúp trình bày lại yêu cầu của phần mềm dưới dạng trực quan hơn - Nếu đúng: giải thích - Nếu sai: giải thích và cho ví dụ minh họa 11. Nếu không thực hiện qua bước mô hình hóa yêu cầu thì việc lập mô hình đối tượng sẽ có các khó khăn gì? tại sao? 12. Cho biết các kết quả của việc mô hình hóa yêu cầu có được sử dụng trong bước thiết kế giao diện của đối tượng hay không ? 190
  60. - Nếu đúng: giải thích - Nếu sai: giải thích và cho ví dụ minh họa 13. Cho biết các kết quả của việc mô hình hóa yêu cầu có được sử dụng trong bước xác định thuộc tính đối tượng (giai đoạn thiết kế) hay không - Nếu đúng: giải thích - Nếu sai: giải thích và cho ví dụ minh họa 14. Cho biết các kết quả của việc mô hình hóa yêu cầu có được sử dụng trong bước xác định hàm xử lý của đối tượng (giai đoạn thiết kế) hay không - Nếu đúng: giải thích - Nếu sai: giải thích và cho ví dụ minh họa 2. Nội dung và yêu cầu bài tập 2.1 Quản lý thuê bao điện thoại Lưu trữ: Các thông tin về - Các hợp đồng thuê bao điện thoại (Khách hàng, loại thuê bao, máy điện thoại) - Các cuộc gọi (Máy điện thoại, Ngày, Giờ, Thời gian, Nơi gọi đến). Tính toán: - Số tiền phải trả của từng máy điện thoại trong từng tháng: Tiền thuê bao hàng tháng (phụ thuộc vào từng loại thuê bao với các định mức riêng). Tiền cước phí trả thêm (hụ thuộc vào thời gian gọi, số phút gọi, nơi gọi đến) - Tính công nợ khách hàng đối với các khách hàng chưa thanh toán tiền điện thoại. 191
  61. Kết xuất: - Hóa đơn tính tiền điện thoại cho từng khách hàng trong từng tháng. - Danh sách khách hàng chưa thanh toán tiền điện thoại. - Thống kê về nơi gọi đến, thời điểm gọi theo từng khu vực trong từng tháng. 2.2 Quản lý học sinh trường phổ thông trung học Lưu trữ: Các thông tin về - Học sinh: Họ, tên, lớp, ngày sinh, giới tính, địa chỉ, thành phần, kết quả học tập, điểm danh. Tra cứu: Thông tin về học sinh Tính toán: - Điểm trung bình từng môn học theo từng học kỳ: Tính theo các điểm của từng hình thức kiểm tra (15 phút: hệ số 1, 1 tiết hệ số 2, thi học kỳ: hệ số 3) - Điểm trung bình học kỳ 1, học kỳ 2, cả năm (học kỳ 1 hệ số 1, học kỳ 2 hệ số 2) . - Xếp loại: Xuất sắc nếu điểm trung bình niên khóa 9.0 và không có môn nào có điểm trung bình dưới 7.5. Tiên tiến nếu điểm trung bình niên khóa 7.5 và không có môn nào có điểm trung bình dưới 6.0. Đạt yêu cầu nếu điểm trung bình niên khóa 5 và không có môn nào có điểm trung bình dưới 5. Không đạt yêu cầu nếu có ít nhất 1 môn dưới 5. Ghi chú:Nếu tổng số ngày vắng vượt quá 20 sẽ bị xếp vào lọai không đạt yêu cầu. Nếu số ngày vắng vượt quá 10 hay số ngày vắng không phép vượt quá 5 thì sẽ bị hạ xuống một bậc (chỉ áp dụng với lọai xuất sắc và tiên tiến). Kết xuất: 192
  62. - Danh sách học sinh theo từng lớp. - Phiếu điểm cho mỗi học sinh. - Bảng điểm các môn và bảng điểm tổng kết cho từng lớp. - Thống kê về xếp lọai học sinh của tòan trường trong 1 niên khóa. 2.2 Quản lý các tài khoản trong ngân hàng Lưu trữ: - Các tài khỏan: Khách hàng, lọai tài khỏan, số tiền, lọai tiền, ngày gởi, tình trạng - Quá trình gửi và rút tài khỏan: Khách hàng, ngày số tiền, hình thức. - Các qui định về lãi suất và tỷ giá. Tra cứu: Tài khoản theo các tiêu chuẩn - Mã số - Khách hàng - Loại tài khoản - Ngày mở, ngày đóng. Tính toán: - Lãi suất cho từng tài khoản khi đến kỳ hạn hay khi khách hàng rút trước kỳ hạn (chỉ được không kỳ hạn). Kết suất: - Danh sách các biến động trên 1 tài khoản - Danh sách tài khoản cùng số dư hiện tại theo từng loại tài khoản. - Tình hình gửi, rút tiền theo từng loại tài khoản. - Số dư của ngân hàng theo từng ngày của tháng. 2.3 Theo dõi kế hoạch sản lượng cao su Lưu trữ: Các thông tin về 193
  63. - Nông trường: Tên, diện tích các lô cao su theo từng năm. - Sản lượng kế hoạch theo tháng, năm của từng loại mủ. - Sản lượng thực tế theo ngày của từng loại mủ. Tính toán: - Tỷ lệ đạt của từn loại mủ theo từng nông trường theo kế hoạch. - Kế hoạch dự kiến cho năm tới. Kết xuất: - Báo cáo nhanh hàng ngày. - Báo cáo tháng. - Kế hoạch năm cho từng nông trường cho từng loại mủ. 2.4 Quản lý giải vô địch bóng đá Lưu trữ: Các thông tin về - Các đội bóng tham gia giải: Tên đội bóng, tên huấn luyện viên, các cầu thủ, sân nhà. - Lịch thi đấu: đội tham dự, sân, thời gian - Kết quả các trận đấu: Trọng tài, tỷ số, khán giả, các cầu thủ ra sân của 2 đội cùng vị trí tương ứng, việc ghi bàn, phạt thẻ. Tra cứu: Cầu thủ, đội bóng Tính toán: - Tính điểm cho từng đội: mỗi trận thắng được 3 điểm, mỗi trận hòa được 1 điểm, mỗi trận thua được 0 điểm. - Xếp hạng cho từng đội: Dựa vào các tiêu chuẩn: tổng số điểm, tổng số bàn thắng, hiệu số, đối kháng trực tiếp, bốc thăm. 194
  64. Kết xuất: - Danh sách các cầu thủ theo từng đội, vị trí. - Lịch thi đấu. - Bảng xếp hạng các đội bóng. - Tổng kết việc ghi bàn của giải. - Tình hình phạt thẻ các đội bóng. 2.4 Thi trắc nghiệm trên máy tính Lưu trữ: Các thông tin về - Thí sinh dự thi: Họ và tên, môn thi, ngày thi, địa chỉ, đề thi, bài làm, phòng thi. - Câu hỏi trắc nghiệm: Nội dung câu hỏi, các cầu trả lời có thể có, đáp án, mức độ khó, thang điểm, môn tương ứng. Tính toán: - Phát sinh các đề thi tương đương cho một đề thi đã chọn cho một môn thi nào đó (đề thi tương có cùng các câu hỏi trắc nghiệm nhưng có số thứ tự khác nhau và trật tự các câu trả lời cũng khác nhau). - Tính điểm thi cho từng thí sinh: Tổng điểm các câu hỏi với thang điểm tương ứng. Kết xuất: - Danh sách các thí sinh theo từng phòng thi. - Đề thi. - Bài làm của từng thí sinh cùng với điểm số. - Danh sách kết quả thi của mỗi môn thi. - Thống kê kết quả thi theo từng mức theo từng môn thi. - Thống kê kết quả thi theo từng câu hỏi. 2.5 Quản lý trung tâm giới thiệu việc làm sinh viên Lưu trữ: Các thông tin về 195
  65. - Sinh viên đăng ký tìm việc: Họ và tên, ngày sinh, địa chỉ, tình hình sức khỏe, quá trình học tập và bằng cấp, các công việc có thể đảm nhận, các yêu cầu khi tìm việc. - Đơn vị đăng ký tìm người: Tên, địa chỉ, người đại diện, các công việc cùng yêu cầu tuyển dụng. - Giới thiệu việc làm: Sinh viên, đơn vị, công việc, tình trạng. Tra cứu: Sinh viên tra cứu công việc - Loại công việc. - Mức lương. - Hình thức làm việc. - Nơi làm việc Đơn vị tuyển dụng tra cứu các sinh viên - Bằng cấp chuyên môn. - Sức khỏe. - Phương tiện làm việc. Tính toán: - Các công việc thích hợp cho sinh viên đăng ký làm việc. - Các sinh viên thích hợp cho công việc cần tuyển dụng của 1 đơn vị. Kết xuất: - Danh sách sinh viên đăng ký theo từng công việc. - Danh sách số lượng sinh viên đăng ký theo từng loại công việc. - Danh sách các đơn vị tuyển dụng theo từng công việc. - Danh sách số lượng đơn vị tuyển dụng theo từng công việc. 196
  66. - Thống kê tình hình giới thiệu việc làm thực hiện trong năm. b. Phần mềm quản lý bán sách Khảo sát thực tế và rút ra yêu cầu cần phải làm cho đề tài c. Phần mềm quản lý bán vé chuyến bay Khảo sát thực tế và rút ra yêu cầu cần phải làm cho đề tài d. Phần mềm quản lý phòng mạch Khảo sát thực tế và rút ra yêu cầu cấn phải làm cho đề tài 3. Bài tập nâng cao 3.1 Đăng ký môn học và học phí Một trường đại học có nhu cầu tin học hóa khâu quản lý việc đăng ký môn học và học phí của sinh viên. Một sinh viên sau khi hoàn thành thủ tục nhập học phải cho biết họ và tên, ngày sinh, giới tính, quê quán gồm tên huyện và tên tỉnh. Nếu sinh viên thuộc đối tượng (con liệt sỹ, con thương binh, con gia đình có công với nước, vùng sâu, vùng xa,) thì phải có xác nhận của địa phương. Mỗi đối tượng có một tỷ lệ tương ứng về việc giảm học phí. Ðể thuận tiện trong việc quản lý người ta gán cho mỗi sinh viên một mã số gọi là mã số sinh viên, mã số này là duy nhất, không thay đổi trong suốt quá trình sinh viên học tại trường. Căn cứ ngành học mà sinh viên thi đậu vào mà sinh viên đó sẽ thuộc sự quản lý của một khoa nào đó: nghĩa là mỗi sinh viên thuộc một ngành, và một khoa có thể gồm nhiều ngành học khác nhau; dĩ nhiên không tồn tại một ngành thuộc sự quản lý của hai khoa khác nhau. Vào đầu học kỳ mới sinh viên đến phòng Giáo vụ đăng ký các môn học. Việc đăng ký môn học được thể hiện qua một phiếu đăng ký. Trên phiếu đăng ký có một số phiếu, thông tin về sinh viên (mã số, họ và tên), ngày đăng ký, học kỳ và niên 197
  67. khóa đăng ký. Một phiếu đăng ký có thể có nhiều môn học (mã môn, tên môn và số đơn vị học trình tương ứng của môn đó). Tất nhiên là các môn học đó sẽ được dạy trong học kỳ cho sinh viên đăng ký mà phòng Giáo vụ đã có kế hoạch trong thời khóa biểu đã thông báo cho sinh viên biết trước khi đăng ký. Mỗi môn học ngoài việc định danh bằng tên còn kèm theo số tín chỉ học trình và được gán cho một mã số môn học. Số tín chỉ của mỗi môn học tùy thuộc vào thời gian giảng dạy (thường 15 tiết lý thuyết hoặc bài tập hay 30 tiết thực hành tương đương 1 tín chỉ). Ðể đơn giản người ta phân thành hai loại môn: môn lý thuyết (hoặc bài tập) và môn thực hành. Nếu đăng ký môn lý thuyết sinh viên sẽ phải trả 27000 đồng/ tín chỉ, còn với môn thực hành là 37000 đồng/tín chỉ. Có một số môn, muốn đăng ký học, sinh viên phải học và đạt trên điểm trung bình một số môn trước để làm cơ sở cho việc học môn đó (gọi là các môn tiên quyết của môn học đó). Mỗi ngành học bao gồm một hệ thống nhiều môn mà sinh viên thuộc ngành đó phải theo học nằm trong nội dung chương trình giảng dạy của ngành đó; có thể có nhiều môn thuộc chương trình giảng dạy của nhiều ngành học khác nhau. Mỗi học kỳ, căn cứ vào việc đăng ký các môn học và đối tượng của từng sinh viên mà người ta xác định được số tiền học phí mà mỗi sinh viên sẽ phải đóng. Sau khi đăng ký xong các môn học, sinh viên phải đến Phòng Tài vụ của trường để đóng học phí. Mỗi lần khi một sinh viên đến nộp học phí, một phiếu thu được lập, trên đó ghi nhận mã số sinh viên, ngày lập, số tiền mà sinh viên đóng và được đánh số thứ tự để tiện việc theo dõi. Mỗi phiếu thu chỉ thu tiền học phí của một sinh viên tại một học kỳ. Một phiếu thu được in thành hai liên, một liên gửi cho sinh viên như một biên lai, liên còn lại để lưu. Nhân viên của Phòng Tài vụ lập phiếu phải nhận tiền học phí của sinh viên để cuối buổi nộp cho thủ quỹ. Mỗi học kỳ, nhà trường khống chế thời điểm cuối cùng (một ngày nào đó) mà sinh viên phải hoàn thành thủ tục trên, nếu quá hạn đó phòng Tài vụ khóa sổ không thu nữa, và như vậy những 198
  68. sinh viên không đóng, không kịp đóng hoặc đóng không đủ học phí sẽ không được tham dự kỳ thi cuối học kỳ đó. Mỗi học kỳ, sau khi cho sinh viên đăng ký môn học, để khuyến khích sinh viên đóng học phí sớm nhà trường cũng qui định một ngày mà nếu sinh viên đóng học phí trước ngày đó sẽ được giảm một tỷ lệ nào đó (thường là 5% số tiền học phí mà sinh viên phải đóng cho học kỳ đó). Mỗi học kỳ sinh viên có thể đóng học phí làm nhiều lần tùy theo tình hình tài chính của mình và phải đóng trước ngày hết hạn đóng học phí của học kỳ đó. Khi hết hạn đóng học phí Phòng Tài vụ sẽ tổng kết số tiền học phí mà mỗi sinh viên đã đóng, kết hợp với số tiền học phí mà sinh viên phải đóng xác định danh sách những sinh viên đang còn nợ học phí của học kỳ đó để gửi cho bộ phận quản lý của Phòng Giáo vụ loại những sinh viên đó ra khỏi danh sách dự thi. 3.2 Quản lý đồ án – Niên luận Bộ môn Hệ thống thông tin và toán ứng dụng khoa Công Nghệ Thông Tin muốn quản lý tất cả các đồ án - niên luận của sinh viên tin học chính quy cũng như tại chức. Ðể dễ dàng trong việc quản lý, ngay sau khi vào trường mỗi sinh viên ngoài họ tên, ngày sinh, giới tính đều được gán một mã số gọi là mã số sinh viên. Sinh viên chính quy thuộc sự quản lý của trường còn đối với sinh viên tại chức sẽ thuộc sự quản lý của một đơn vị đào tạo (thường là trung tâm giáo dục thường xuyên) của một tỉnh nào đó. Trong chương trình đào tạo sinh viên phải thực hiện một số loại đồ án (niên luận 1 - lập trình chuyên ngành, niên luận 2 - lập trình quản lý, niên luận 3 – lập trình ứng dụng, tiểu luận tốt nghiệp, và luận văn tốt nghiệp cho một số sinh viên xuất sắc khi ra trường). Mỗi loại đồ án - niên luận có một số đơn vị học trình tương ứng gọi là số tín chỉ. 199
  69. Theo chương trình học, đến kỳ triển khai đồ án - niên luận bộ môn yêu cầu các giáo viên ra đề tài cho sinh viên chọn. Mỗi một đề tài giáo viên yêu cầu những điều mà sinh viên sẽ phải làm, cung cấp các tài liệu để sinh viên tham khảo. Sau khi giáo viên nộp đề tài bộ môn sẽ gán cho mỗi đề tài một mã số. Việc định danh (đặt tên) do các giáo viên ra đề tài quyết định. Mỗi đề tài chỉ thuộc một loại đồ án - niên luận duy nhất, và được ra bởi ít nhất một giáo viên trong bộ môn. Mỗi một giáo viên được nhận biết qua mã số giáo viên, họ tên, ngày sinh, phái và một chức danh. Mỗi chức danh có một hệ số chức danh, và căn cứ vào chức danh này để sau này tính tiền cho giáo viên ra đề tài hay giáo viên hướng dẫn đồ án - niên luận. Ðến học kỳ mà sinh viên phải thực hiện loại đồ án nào đó, bộ môn sẽ triển khai việc thực hiện đồ án - niên luận cho sinh viên. Trước hết bộ môn cung cấp danh sách các đề tài mà các giáo viên đã ra thuộc loại đó đểø sinh viên lựa chọn thực hiện. Ðối với các loại niên luận, tiểu luận, các sinh viên tự lập nhóm, tối đa hai sinh viên một nhóm, nhóm này chọn làm chung một quyển đồ án và một quyển đồ án như vậy làm về một đề tài duy nhất trong danh sách các đề tài được bộ môn cung cấp. Riêng trường hợp đối với luận văn tốt nghiệp, chỉ có một số sinh viên xuất sắc được chọn và mỗi sinh viên làm một đồ án tốt nghiệp riêng rẽ. Sau khi sinh viên lựa chọn đề tài, bộ môn sẽ phân công giáo viên hướng dẫn cho từng nhóm sinh viên làm chung một đề tài và viết chung một quyển đồ án - niên luận. Nói chung giáo viên ra đề tài là người hướng dẫn những sinh viên thực hiện đề tài đó, tuy nhiên có khi giáo viên ra đề tài bận đi công tác, bộ môn có thể cử người khác hướng dẫn. Ðến hạn sinh viên phải hoàn thành và nộp các quyển đồ án. Quyển đồ án phải được soạn theo mẫu mà bộ môn đã quy định để dễ dàng trong việc quản lý và đánh giá. Cán bộ trực bộ môn phải chịu trách 200
  70. nhiệm thu nhận các quyển đồ án mà sinh viên nộp. Ðể đơn giản trong quản lý, mỗi quyển đồ án - niên luận được cán bộ trực bộ môn gán cho một số thứ tự, ghi nhận lại ngày mà sinh viên nộp. Ngay sau ngày hết hạn nộp trưởng hoặc phó bộ môn sẽ phân công giáo viên đánh giá và chấm điểm cho từng quyển đồ án. Bộ môn cũng yêu cầu các giáo viên nộp kết quả đúng kỳ hạn để tổng kết điểm. Các sinh viên thực hiện chung một đề tài sẽ được chung một điểm kết quả qua sự cho điểm đó. Khi đến hạn, bộ môn sẽ tổng kết điểm, lập danh sách báo cáo cho phòng Giáo vụ. Cuối học kỳ bộ môn tổng kết số đề tài mà mỗi giáo viên đã ra (mà được sinh viên chọn làm đồ án - niên luận), số đồ án - niên luận mà mỗi giáo viên đã hướng dẫn, đã chấm để làm cơ sở cho việc tính tiền giảng dạy. 3.3 Quản lý cơ sở sản xuất và chất lượng sản phẩm Chi cục tiêu chuẩn đo lường chất lượng sản phẩm một tỉnh cần quản lý chất lượng các sản phẩm của những cơ sở sản xuất trong tỉnh. Trên địa bàn tỉnh quản lý có nhiều cơ sở sản xuất. Ðể thuận tiện trong quản lý người ta gán mỗi cơ sở một mã số cơ sở duy nhất. Mỗi một cơ sở có một địa chỉ, một người chịu trách nhiệm gọi là chủ cơ sở, được biết bằng họ và tên, có thể không có, có một hoặc có một vài số điện thoại để tiện liên hệ. Cơ sở muốn sản xuất một mặt sản phẩm nào phải đăng ký thông qua một phiếu đăng ký chất lượng cho nó. Một phiếu đăng ký có một số đăng ký hay số thứ tự và chỉ cấp cho một sản phẩm duy nhất, tuy nhiên một cơ sở sản xuất có thể đăng ký nhiều sản phẩm khác nhau. Mỗi phiếu đăng ký có một thời hạn (từ một ngày đến một ngày nào đó) và số lượng đăng ký sẽ sản xuất trong thời hạn đó. Mỗi sản phẩm được gán cho một mã số sản phẩm, một định danh rõ ràng và một đơn vị tính tương ứng. Một sản phẩm thường phải đăng ký nhiều chỉ tiêu, mỗi chỉ tiêu 201
  71. có một đơn vị tính cho chỉ tiêu đó, và khi đăng ký thì chỉ số đăng ký cho chỉ tiêu tương ứng là bao nhiêu. Trong thời hạn đăng ký, về nguyên tắc sản phẩm đã đăng ký sản xuất được bán trên thị trường phải bảo đảm các chỉ tiêu đã đăng ký. Theo định kỳ hoặc có gì nghi vấn chi cục tiêu chuẩn đo lường chất lượng sản phẩm sẽ bốc mẫu sản phẩm của cơ sở về để kiểm nghiệm, đánh giá. Khi đánh giá xong một phiếu kiểm nghiệm được lập. Một phiếu kiểm nghiệm chỉ kiểm một sản phẩm theo một số chỉ tiêu với chỉ số kiểm nghiệm tương ứng. Hơn nữa một phiếu kiểm nghiệm có một số thứ tự, ngày đánh giá và chỉ dùng cho một cơ sở duy nhất đã sản xuất sản phẩm đã đăng ký đó. Dựa vào kết quả kiểm nghiệm mà người có trách nhiệm cho đánh giá là đạt hay không đạt chất lượng theo mức đăng ký. Sản phẩm của cơ sở nào không đạt chất lượng sẽ không được phép tiếp tục sản xuất và lưu hành trên thị trường, và bị rút giấy phép kinh doanh. Nếu sản phẩm gây nguy hại cho người dùng thì chủ cơ sở có thể bị truy tố trước pháp luật. Ðến lúc nào đó cục tiêu chuẩn đo lường chất lượng sản phẩm muốn biết các sản phẩm của cơ sở nào hết thời hạn đăng ký, những sản phẩm nào không đạt chất lượng, vv 3.4 Quản lý lương sản phẩm Một công ty sản xuất muốn quản lý tiền lương của tất cả các nhân viên. Các nhân viên thuộc hai loại: nhân viên hành chánh và công nhân. Mỗi một nhân viên có một mã số, họ tên, phái, ngày sinh, và ngày bắt đầu tham gia công tác. Mỗi nhân viên sẽ thuộc một đơn vị quản lý nào đó. Ðối với công nhân hưởng lương sản phẩm. Các sản phẩm này thường được các công ty khác đặt hàng thông qua một hợp đồng với một số lượng tương ứng cùng những yêu cầu về kỹ thuật và thẩm mỹ kèm theo. Một sản phẩm có một mã số và mang một tên để gọi và đơn vị tính của nó. 202
  72. Các hợp đồng được đánh số thứ tự, tên hợp đồng, ngày bắt đầu và ngày kết thúc. Một hợp đồng ít nhất về một sản phẩm, nếu liên qua đến nhiều sản phẩm thì tất cả các sản phẩm này đều cùng kết thúc cùng một thời điểm ghi trên hợp đồng để giao hàng và thanh lý hợp đồng. Quá trình sản xuất một sản phẩm gồm nhiều công đoạn tùy theo sản phẩm. Do đặc tính kỷ thuật, thẩm mỹ và môi trường làm việc mà mỗi công đoạn được trả một đơn giá tương ứng. Các công đoạn sản xuất một sản phẩm được gọi bằng tên công đoạn và thường được đánh số thứ tự. Hàng ngày, bộ phận quản lý sẽ ghi nhận kết quả làm việc của công nhân ngày hôm trướùc do đơn vị sản xuất báo lên. Kết quả làm việc của mỗi công nhân trong ngày thể hiện việc công nhân đó thực hiện được những công đoạn nào của sản phẩm được hợp đồng với số lượng tương ứng của công đoạn đó là bao nhiêu trong ca làm việc nào. Làm việc ở ca 3 hoặc các ca của ngày chủ nhật được hưởng thêm một hệ số cao hơn làm việc các ca khác trong ngày làm việc bình thường. Kết quả này sẽ xác định thu nhập của công nhân trong ngày hôm đó. Ðối với việc tính lương cho nhân viên hành chánh căn cứ vào hệ số lương và số ngày làm việc trong tháng của người đó. Nếu nghỉ có lý do (bệnh đột xuất, thai sản, ) sẽ được hưởng tiền bảo hiểm xã hội tùy theo số ngày nghỉ có lý do trong tháng. Nếu nghỉ không lý do thì không được tính lương. Hệ số lương thường căn cứ vào trình độ chuyên môn, trình độ ngoại ngữ, và thâm niên công tác và do lãnh đạo công ty xem xét và quyết định. Ðối với những người có đảm trách chức vụ thì được hưởng phụ cấp chức vụ tùy theo đặc thù của chức vụ. Do nhu cầu của công tác, có thể các nhân viên hành chánh có thể làm việc ngoài giờ. Bộ phân theo dõi lương sẽ tổng kết số buổi làm thêm ngoài giờ của từng nhân viên trong tháng để tính lương ngoài giờ cho nhân viên. 203
  73. 3.5 Quản lý công tác thực hành tin học Khoa Công nghệ thông tin muốn quản lý công tác thực hành tin học của các phòng thực hành. Khoa có nhiều phòng máy tính phục vụ các môn học thực hành và làm niên luận, luận văn cho sinh viên. Mỗi phòng có số phòng, cùng hệ thống các máy tính trong đó. Các máy tính được đánh số và có thể có cấu hình (các phụ tùng: Mainboard, Ram, Harddisk, với đặc tính kỷ thuật liên quan) khác nhau. Mỗi phòng thực hành do một cán bộ phụ trách. Người ta quan tâm đến họ tên, phái, ngày sinh, địa chỉ của cán bộ và để cho đơn giản người ta cho mỗi cán bộ một mã số để phân biệt. Dựa vào việc đăng ký các môn thực hành của sinh viên vào đầu học kỳ mà phòng Giáo vụ chuyển danh sách cho, trợ lý giáo vụ của khoa sẽ phân thành các nhóm thực hành. Các sinh viên cùng một nhóm sẽ có cùng một lịch thực hành. Lịch thực hành của mỗi môn học tại một học kỳ được bố trí thành các buổi tại các phòng thực hành. Mỗi buổi thực hành chỉ dành cho một môn thực hành của một nhóm nào đó. Phòng Giáo vụ dựa vào việc đăng ký môn học đầu học kỳ của sinh viên mà cung cấp danh sách các nhóm thực hành cho từng môn, căn cứ vào đó cán bộ coi thi thực hành điểm danh và kiểm tra. Khi tiến hành mỗi buổi thực hành, cán bộ phụ trách sẽ bố trí vị trí của sinh viên (ngồi vào máy nào của phòng máy). Nói chung sinh viên tham dự các buổi thực hành theo lịch thực hành mà trợ lý giáo vụ hay trưởng phòng thí nghiệm đã sắp xếp. Cũng như đối với cán bộ, người ta quan tâm đến họ tên, phái, ngày sinh, địa chỉ của sinh viên và để cho đơn giản người ta cho mỗi sinh viên một mã số gọi lã mã sinh viên để phân biệt. Những thông tin về sinh viên được ghi nhận tại Phòng Giáo vụ khi sinh viên nhập học sau khi trúng tuyển qua kỳ tuyển sinh. Một buổi thực hành tại một phòng máy chỉ thực hành một môn học nào đó. Chú ý là một ngày làm việc có thể có 3 buổi 204
  74. thực hành (sáng, chiều, và tối). Sau khi trợ lý giáo vụ công bố lịch thực hành, bộ môn sẽ phân công cán bộ giảng dạy hướng dẫn sinh viên thực hiện các bài tập cho thực hành này. Cùng một môn nhưng có thể có nhiều cán bộ coi thực hành tại một buổi thi. Xong mỗi đợt thực hành cán bộ phụ trách phòng thực hành kiểm tra sinh viên nào đủ tiêu chuẩn thi, sinh viên nào không tham dự đầy đủ số buổi thực hành sẽ bị cấm thi. Cuối học kỳ bộ môn sẽ tổng kết số giờ coi thực hành của từng cán bộ để giáo vụ khoa tổng hợp công tác giảng dạy. 3.6 Công tác tổ chức thi học kỳ Trợ lý giáo vụ khoa công nghệ thông tin muốn tin học hóa việc tổ chức thi cử ở các đơn vị đào tạo mà khoa phụ trách. Hàng năm khoa phải tổ chức nhiều đợt thi cho sinh viên các đơn vị đào tạo: thường là thi cuối học kỳ của mổi năm học, mổi học kỳ có hai lần thi, mổi lần thi lại tổ chức nhiều đợt khác nhau do có thể có nhiều môn thi trong một lần thi. Tùy từng lần thi có thể có 1, 2 hoặc thậm chí 3 đợt cho một lần thi. Trước hết trợ lý giáo vụ phải dự kiến thời gian tổ chức cho mổi đợt trong mổi lần của kỳ thi, danh sách các môn thi, số sinh viên tham dự cho các lớp tương ứng tại mổi đơn vị đào tạo. Mổi đợt thi tại các đơn vị đào tạo khác nhau có hệ thống các môn thi khác nhau. Có một số đơn vị đào tạo do điều kiện khách quan có thể không có một số khóa học nào đó. Nếu tất cả sinh viên của lớp tại một đơn vị đào tạo đã đạt lần thi thứ nhất thì không cần tổ chức thi môn đó cho lớp đó trong lần 2; nhưng cũng tại đợt thi của lần thi đó ở đơn vị đào tạo khác lại phải bố trí do có sinh viên chưa đạt kết quả trong lần thi trước. Số sinh viên trong lần thi thứ nhất thường là tất cả các sinh viên của lớp đủ điều kiện dự thi. 205
  75. Nói chung một đợt thi có lịch thi thống nhất áp dụng cho một số đơn vị đào tạo nào đó. Tuy nhiên do hoàn cảnh và nhiều nguyên nhân chủ quan cũng như khách quan, nên có thể thời gian thi áp dụng cho đơn vị đào tạo này khác với thời gian thi áp dụng cho đơn vị đào tạo kia là điều có thể xảy ra. Việc dự kiến trước thời gian tổ chức thi nhằm có kế hoạch trước để các bộ môn phân công cán bộ ra đề thi. Cùng một môn thi trong một đợt thi, nhưng ở những đơn vị đào tạo khác nhau có thể do những giáo viên khác nhau ra đề. Giáo viên ra đề tự quyết định thời gian làm bài của thí sinh cho đề mình ra. Giáo viên ra đề phải hoàn thành trước thời gian bắt đầu tổ chức đợt thi một tuần. Sau đó trợ lý giáo vụ khoa làm lịch thi và cử các cán bộ làm giám sát đợt thi tại các đơn vị đào tạo có tổ chức thi. Có thể có nhiều cán bộ tham gia làm giám sát đợt thi tại cùng một đơn vị đào tạo (thường đầu tuần một người, cuối tuần lại người khác và sang tuần sau lại có thể là cán bộ khác nữa) do một đợt thi có thể kéo dài đến vài tuần. Khi làm lịch thi trợ lý giáo vụ khoa dự kiến ngày, giờ bắt đầu cho mổi môn thi tại từng đơn vị đào tạo. Người có trách nhiệm tại các đơn vị đào tạo chịu trách nhiệm phân công cán bộ coi thi cho mổi môn. Theo qui định thường có 2 cán bộ coi thi cho mổi môn. Tùy theo thời gian làm bài của sinh viên đối với mổi môn thi đã được qui định bởi giáo viên ra đề mà tính tiền coi thi cho cán bộ coi thi môn đó. Thời gian thi càng dài thì tiền coi thi càng nhiều. Mỗi đợt thi, sau khi phòng đào tạo xử lý bài thi (cắt phách) xong các trưởng bộ môn phân công cán bộ đến phòng đào tạo nhận bài thi về chấm. Chú ý là trong cùng một đợt thi, cùng một môn thi, bài thi các lớp tại các đơn vị đào tạo khác nhau, có thể do các cán bộ khác nhau chấm. Sau khi chấm xong các cán bộ chấm thi nộp kết quả cho phòng đào tạo và báo số sinh viên còn thiếu điểm để trợ lý giáo vụ khoa ghi nhận, làm cơ sở xác định số lượng đề cần photocopy cho việc ra đề lần sau. 206
  76. Mổi đợt thi tại mổi đơn vị đào tạo, trợ lý giáo vụ khoa cần biết các thông tin cụ thể như: ngày, giờ, môn, lớp. thời gian thi, cán bộ ra đề, cán bộ chấm, số sinh viên còn nợ sau khi chấm, các cán bộ coi thi tương ứng đối với từng môn thi. 4. Biểu mẫu thực hiện đồ án môn học I. Yêu cầu chung Mỗi sinh viên đăng ký thực hiện phần mềm. Kết quả gồm báo cáo viết, đĩa/CD (chương trình nguồn, EXE, báo cáo viết. II. Cấu trúc báo cáo viết 1. Hiện trạng và yêu cầu 1.1 Hiện trạng - Giới thiệu về thới giới thực liên quan - Mô tả qui trình các công việc liên quan đến đề tài - Mô tả các mẩu biểu có liên quan - Mô tả các qui định ràng buộc có liên quan - Mô tả các qui định công thức tính có liên quan 1.2 Yêu cầu Danh sách các công việc sẽ được hỗ trợ thực hiện trên máy tính (dựa theo tóm tắt yêu cầu đã cho) 2. Mô hình hóa yêu cầu 2.1 Mô hình luồng dữ liệu theo yêu cầu - Sơ đồ luồng dữ liệu cho từng yêu cầu - Mô tả chi tiết cho từng sơ đồ 2.2 Mô hình luồng dữ liệu chung cho toàn bộ hệ thốn Sơ đồ luồng dữ liệu chung cho toàn bọê hệ thống 3. Thiết kế phần mềm 3.1 Thiết kế dữ liệu 207
  77. + Sơ đồ logic + Danh sách các thành phần của sơ đồ Stt Tên Loại Ý nghĩa Ghi chú + Danh sách các thuộc tính của từng thành phần Tên thành phần: Stt Tên Loại Kiểu Miền giá trị Ý nghĩa 3.2 Thiết kế giao diện Stt Mã số Loại Ý nghĩa Ghi chú + Mô tả chi tiết từng màn hình - Nội dung - Danh sách biến cố và xử lý tương ứng trên màn hình Stt Biến cố Ý nghĩa Xứ lý tương ứng Mã số xử lý 3.3 Thiết kế xử lý + Danh sách các xử lý (Các xử lý quan trọng) Stt Mã số Loại Ý nghĩa Ghi chú + Mô tả chi tiết từng xử lý - Sơ đồ luồng dữ liệu - Mô tả chi tiết sơ đồ 4. Cài đặt thử nghiệm 4.1 Cài đặt 208
  78. + Danh sách tình trạng cài đặt các chức năng (mức độ hoàn thành) Stt Chức năng Mức độ hoàn thành Ý nghĩa 4.2 Thử nghiệm + Nội dung các bảng dữ liệu + Một số test-case chạy thử nghiệm + Các báo biểu màn hình cùng các số liệu tương ứng 5. Tổng kết + Các kết quả đã thực hiện + Đánh giá ưu khuyết điểm + Hướng mở rộng tương lai 209
  79. PHỤC LỤC B 1. Phần mềm quản lý thư viên . Mô tả chi tiết các thuộc tính 1. Độc giả: Stt Thuộc tính Kiểu Miền giá trị Ý nghĩa Ghi chú 1 MDG Chuỗi Khóa chính 2 MLDG Chuỗi Khóa ngoại 3 HoTen Chuỗi 4 NgaySinh Ngày 5 DiaChi Chuỗi 6 DienThoai Chuỗi 2. Sách: Stt Thuộc tính Kiểu Miền giá Ý nghĩa Ghi trị chú 1 MSACH Chuỗi Khóa chính 2 MTG Chuỗi Khóa ngoại 3 MNXB Chuỗi Khóa ngoại 4 MLSACH Chuỗi Khóa ngoại 5 MNN Chuỗi Khóa ngoại 6 TenSach Chuỗi 7 Ngàymua Ngày 8 SoTrang Số >0 3. Phiếu mượn: Stt Thuộc tính Kiểu Miền giá Ý nghĩa Ghi trị chú 1 MPHM Chuỗi Khóa chính 2 NgayMuon Ngày 210
  80. 4. Chi tiết mượn: Stt Thuộc tính Kiểu Miền giá Ý nghĩa Ghi trị chú 1 MPHM Chuỗi Khóa ngoại 2 MSACH Chuỗi Khóa ngoại 3 NgayTra Ngày 5.Loại sách: Stt Thuộc tính Kiểu Miền giá Ý nghĩa Ghi trị chú 1 MLSACH Chuỗi Khóa ngoại 2 TenLoai Chuỗi 3 Ghi Chu Chuỗi 5. 6. Loại độc giả: Stt Thuộc tính Kiểu Miền giá Ý nghĩa Ghi trị chú 1 MLDG Chuỗi Khóa chính 2 Tenloại Chuỗi 3 GhiChu Chuỗi 7. Nhà xuất bản: Stt Thuộc tính Kiểu Miền giá Ý nghĩa Ghi trị chú 1 MNXB Chuỗi Khóa chính 2 Tenloai Chuỗi 3 GhiChu Chuỗi 8. Tác giả: Stt Thuộc tính Kiểu Miền giá Ý nghĩa Ghi trị chú 1 MTG Chuỗi Khóa chính 2 Ten Chuỗi 3 GhiChu Chuỗi 211
  81. 9. Ngôn ngữ Stt Thuộc tính Kiểu Miền giá trị Ý nghĩa Ghi chú 1 MNN Chuỗi Khóa chính 2 Ten Chuỗi 3 GhiChu Chuỗi . Mô hình chi tiết các thành phần trong sơ đồ lớp 1. Đối tượng Độc Giả Stt Thuộc tính Kiểu Miền giá Ý nghĩa Ghi trị chú 1 MDG Chuỗi 2 Loại độc giả Số giá trị rời rạc 3 HoTen Chuỗi 4 NgaySinh Ngày từ 19 đến 90 5 DiaChi Chuỗi 6 DienThoai Chuỗi 2. Đối tượng Sách Stt Thuộc tính Kiểu Miền giá Ý nghĩa Ghi trị chú 1 MSACH Chuỗi 2 Loại sách Số 3 Tác giả Chuỗi 4 Nhà xuất Chuỗi bản 5 Ngày nhập Chuỗi 6 TenSach Chuỗi 7 Ngôn ngữ Ngày 8 SoTrang Số >0 212
  82. 3. Quan hệ mượn Stt Thuộc tính Kiểu Miền giá Ý nghĩa Ghi trị chú 1 Ngày mượn Ngay >=Ngày nhập 2 Ngày trả Ngay >=Ngày mượn 3. Phần mềm quản lý giải vô địch bóng đá . Mô tả chi tiết các thuộc tính 1. Đối tượng Đội bóng Stt Thuộc tính Kiểu Miền giá trị Ghi chú 1 Tên Chuỗi Giá trị rời rạc 2 Thành Phố ĐT phụ 3 Sân nhà ĐT phụ 4 Địa chỉ Chuỗi 5 Trạng thái Số Giá trị rời rạc 6 Huấn luyện viên ĐT phụ Nhiều 2. Đối tượng Cầu thủ Stt Thuộc tính Kiểu Miền giá trị Ghi chú 1 Họ Tên Chuỗi 2 Ngày sinh Ngày 3 Vị trí ĐT phụ 4 Số Áo Số >=0 5 Chiều cao Số >1.5 6 Trạng thái Số Rời rạc 3. Đối tượng Trận đấu Stt Thuộc tính Kiểu Miền giá trị Ghi chú 1 Loại trận đấu Số Giá trị rời rạc 2 Ngày NGAY >=0 213
  83. 3 Giờ 4 Thời gian Số >=0 5 Sân ĐT phụ 6 Trọng tài ĐT phụ Nhiều 7 Số khán giả Số Ít hơn sức chứa của sân 4. Quan hệ Thi đấu Stt Thuộc tính Kiểu Miền giá trị Ghi chú 1 Số bàn thắng Số Giá trị rời rạc Tính toán 2 Số bàn thua NGAY >=0 Tính toán 3 Thẻ phạt ĐT phụ Nhiều Tính toán 5. Quan hệ Ra sân Stt Thuộc tính Kiểu Miền giá trị Ghi chú 1 Thời điểm Số >=0 2 Vị trí ĐT phụ 3 Bàn thắng ĐT phụ Nhiều 4 Thẻ phạt ĐT phụ Nhiều  Mô tả chi tiết thuộc tính Đội bóng Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MDBTên Chuỗi Khóa chính 2 MTP Chuỗi Khóa ngoại 3 HoTen Chuỗi 4 Diachi Chuỗi 5 DienThoai Chuỗi Cầu thủ: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MCT Chuỗi Khóa chính 2 MDB Chuỗi Khóa ngoại 3 MVT Chuỗi Khóa ngoại 214
  84. 4 HoTen Chuỗi 5 Ngaysinh NGAY 6 SoAo Số >0 7 TrangThai Logic Trận đấu: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MTRD Chuỗi Khóa chính 2 MLTRD Chuỗi Khóa ngoại 3 MSAN Chuỗi Khóa ngoại 4 Ngay NGAY 5 GIO GIO 6 Thoigian Số >0 7 Sokhangia Số >0 Thi đấu: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MTD Chuỗi Khóa chính 2 MTRD Chuỗi Khóa ngoại 3 MDB Chuỗi Khóa ngoại 4 Ketqua Số Ra Sân Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MRS Chuỗi Khóa chính 2 MTD Chuỗi Khóa ngoại 3 MCT Chuỗi Khóa ngoại 4 MVT Chuỗi Khóa ngoại 5 Thoidiem Số Ghi bàn: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MRS Chuỗi Khóa chính, khóa ngoại 2 MTD Chuỗi Khóa chính, Khóa ngoại 215
  85. 3 Thoidiem Số Phạt Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MRS Chuỗi Khóa chính, khóa ngoại 2 MTHE Chuỗi Khóa chính, Khóa ngoại 3 Thoidiem Số Điều khiển: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MTRD Chuỗi Khóa chính, khóa ngoại 2 MTTAI Chuỗi Khóa chính, Khóa ngoại 3 MVTRO Chuỗi Khóa ngoại Loại trận đấu: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MLTRD Chuỗi Khóa chính 2 Tên Chuỗi 3 Ghichu Chuỗi 4 Sobanthang Số >0 tính tóan 5 SoThe Số >0 tính toán Vị trí: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MVT Chuỗi Khóa chính 2 Tên Chuỗi 3 Ghichu Chuỗi Trách nhiệm: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MTN Chuỗi Khóa chính 2 Tên Chuỗi 216
  86. 3 Ghichu Chuỗi Vai trò: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MVTRO Chuỗi Khóa chính 2 Tên Chuỗi 3 Ghichu Chuỗi 4 Soluong Số tính toán Loại bàn thắng: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MLBT Chuỗi Khóa chính 2 Tên Chuỗi 3 Ghichu Chuỗi 4 Soluong Số tính toán Thẻ phạt: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MTHE Chuỗi Khóa chính 2 Tên Chuỗi 3 Ghichu Chuỗi 4 Soluong Số tính toán Trọng tài: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MTTAI Chuỗi Khóa chính 2 Tên Chuỗi 3 Ghichu Chuỗi Huấn luyện viên: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MHLV Chuỗi Khóa chính 2 MDB Chuỗi Khóa ngoại 3 MTN Chuỗi Khóa ngoại 4 Ten Chuỗi 5 Ghichu Chuỗi 217
  87. Thành phố: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MTP Chuỗi Khóa chính 2 Tên Chuỗi 3 Ghichu Chuỗi Sân: Stt Thuộc tính Kiểu Ràng buộc Ghi chú 1 MSAN Chuỗi Khóa chính 2 MTP Chuỗi Khóa ngoại 2 Tên Chuỗi 3 Succhua Số >0 TÀI LIỆU THAM KHẢO 7. Software Engineering By Nguyễn Xuân Huy – Institute of Information Technology 8. Nhập môn công nghệ phần mềm Nguyễn Tiến Huy – ĐH Khoa học Tự Nhiên 9. A Discipline for Software Engineering Watts S. Humphrey 10. Quá trình phát triển phần mềm thống nhất Nguyễn Tuấn Huy biên dịch –Nhà xuất bản thống kê 11. Analyzing Requirements and Defining Solution Architechtures Ian Lewis – Bruce Nielson 218
  88. 12. MCSD Analyzing Requirements Study Guide Tata McGraw-Hill Pusblishing Company Limited 13. Software Engineering Roger S.PressMan 14. Một số tài liệu tham khảo từ internet: Khoa CNTT ĐH KHTN, ĐH BKHN, ĐHCần Thơ, và một số bài báo khoa học. - A Summary of Principles for User-Interface Design by Talin - The Foundation for Verifiable Software Process Improvement - Lecture Notes: Software Engineering I by Joey Paquet 219