+ Các thành phần sửa chữa phản hồi có gây cho khách hàng các nghi ngờ chương trình có lỗi hay không?
+ Qua từng bước thực hiện chương trình, có phát sinh ra lỗi không? Những lỗi này có thể điều chỉnh được không?
+ Quá trình kiểm tra ở mức độ hệ thống có thể hiện được các chức năng như đã đặt ra hay không?
+ Quá trình kiểm tra sự thích ứng có xác thực được tất cả các liên kết trung gian hay không? Nó có tác dụng như thế nào tới việc chứng tỏ độ tin cậy của các liên kết này trong suốt quá trình kiểm thử hệ thống.
+ Chúng ta không biết những gì về môi trường điều hành mà nó có thể ảnh hưởng tới dự án?
+ Phần mềm cơ sở dữ liệu làm việc có hoàn hảo không? Quy trình phục hồi và lưu trữ dữ liệu có đầy đủ cho quá trình kiểm thử hay không?
+ Chúng ta có thể sử dụng các kiểm tra về sự thích ứng của chương trình và về hệ thống như thế nào để phát triển các giai đoạn kiểm tra hồi quy.
+ Các thông tin đã hoàn tất chưa? Các thành viên dự án đã làm việc đúng khả năng chưa? Chúng ta có thể đưa các thành viên trong dự án đến thực hiện các dự án khác được không? Nếu chúng ta cho phép họ đi, thì ai sẽ thay thế vị trí họ khi có các vấn đề xảy ra?
- Khi quá trình kiểm thử kết thúc, các phần của ứng dụng đã thực sự sẵn sàng cho sử dụng. Nên có một sơ đồ cho ứng dụng điều hành thực tế, điều đó sẽ dễ dàng cho người sử dụng trong việc dùng chương trình để tránh có quá nhiều hỏng hóc. Sự dễ dàng trong quá trình sử dụng này sẽ tạo cho người lập dự án có thời gian cố định những lỗi sai đã phát hiện trong quá trình viết chương trình mà không có áp lực giám sát nào. Vấn đề hiện tại là tập trung vào việc đưa ra ứng dụng làm việc trong môi trường đã được định hướng cho người sử dụng nó. Các câu hỏi liên quan sẽ bao gồm:
Có thể bạn quan tâm!
- Định Nghĩa Quản Lý Dự Án Phần Mềm
- Đánh Giá Khối Lượng Và Thời Gian Thực Hiện Các Công Việc
- Lựa Chọn Chiến Lược Cài Đặt
- Mô Hình Xoắn Ốc Của Quy Trình Xác Định Yêu Cầu
- Mối Liên Hệ Giữa Các Kiểu Ứng Dụng Và Các Đặc Tính Dữ Liệu
- Đánh Giá Tính Phù Hợp Của Các Kỹ Thuật Thu Thập Yêu Cầu
Xem toàn bộ 305 trang tài liệu này.
+ Vị trí đã được chuẩn bị đầy đủ chưa? Điều kiện về không gian đã đầy đủ?
Thiết kế về ánh sáng và môi trường làm việc đã đầy đủ?
+ Người sử dụng đã được đào tạo hoàn hảo và đã sẵn sàng làm việc?
+ Chu trình làm việc và đánh giá kết quả đã được chỉ ra đầy đủ cho phép việc tiến hành và kiểm tra các kết quả đạt được.
+ Khi tìm ra lỗi chúng có thể điều chỉnh được không?
+ Người sử dụng có nắm bắt được công việc như dự kiến?
+ Các thành viên hiện tại của dự án có thể đảm nhiệm được phần việc của họ? Tất cả mọi người có đủ công việc để làm không? Họ có thời gian rỗi để tham gia các dự án khác không?
+ Thông tin trao đổi giữa các nhóm với nhau và giữa các nhóm với người sử dụng có xuất hiện phù hợp không? Người sử dụng có thể nói bất kỳ khi nào có vấn đề xảy ra không? Họ có tham gia vào quá trình lập nên các quy định cho vấn đề sửa chữa lỗi hay không?
Các câu hỏi trên là những vấn đề kỹ thuật và nên được trình lên cho chủ dự án. Quản trị viên dự án là người nắm bắt và quan tâm đến tất cả các vấn đề. Việc biên dịch các báo cáo về tiến trình hoạt động cá nhân và tiến trình hoạt động dự án trong một dự án cho phép người quản lý và bất kỳ nhân viên nào đều có thể xem xét lại những quyết định, các vấn đề xuất hiện trong quá trình tiến hành.
3.10. Hồ sơ dự án
Các thành viên dự án có trách nhiệm thu thập và quản lý các hồ sơ dự án liên quan đến các công việc của mình trong quá trình thực hiện dự án. Quản trị viên dự án có trách nhiệm xem xét và kiểm soát hồ sơ dự án trong quá trình thực hiện dự án. Căn cứ vào đặc thù của dự án mà quản trị viên dự án quyết định về việc tổ chức lưu giữ tập trung hay phân tán hồ sơ dự án trong quá trình thực hiện.
Sau khi kết thúc dự án, hồ sơ dự án được lưu trữ tại bộ phận chịu trách nhiệm thực hiện chính dự án hoặc theo quyết định của Giám đốc dự án.
Bao gồm các thành phần liệt kê sau: tuy nhiên theo yêu cầu quản lý và bản quyền của tác giả phần mềm có thể bỏ bớt hay bổ sung thêm một số thành phần khi cần thiết:
1. Đặc tả hệ thống.
2. Kế hoạch dự án phần mềm.
- Đặc tả yêu cầu phần mềm.
- Bản mẫu thực hiện được hay "trên giấy".
3. Tài liệu người dùng sơ bộ
4. Đặc tả thiết kế.
- Mô tả thiết kế dữ liệu.
- Mô tả thiết kế kiến trúc.
- Mô tả thiết kế module.
- Mô tả thiết kế giao diện.
- Mô tả sự vật (nếu kỹ thuật hướng sự vật được dùng).
5. Bản in chương trình gốc.
- Chương trình nguồn.
- Bản in chương trình nguồn (listing).
- Bản mô tả thuật toán tương ứng với chương trình nguồn.
- Kế hoạch và thủ tục kiểm thử.
- Các trường hợp kiểm thử và kết quả ghi lại.
6. Tài liệu vận hành và cài đặt.
- Bản liệt kê các lỗi và cách xử lý.
- Bản liệt kê các thông số đặc trưng của hệ thống.
7. Chương trình thực hiện được.
- Các module mã - thực hiện được.
- Các module móc nối.
- Chương trình đích lưu trữ trên vật mang tin.
8. Mô tả cơ sở dữ liệu.
- Sơ đồ và cấu trúc tệp.
- Nội dung ban đầu.
9. Tài liệu người sử dụng đã xây dựng.
- Bản hướng dẫn sử dụng chi tiết.
- Bản tóm tắt hướng dẫn sử dụng.
- Các chương trình trợ giúp có liên quan.
10. Tài liệu bảo trì.
- Báo cáo vấn đề phần mềm.
- Yêu cầu bảo trì.
- Trình tự thay đổi kỹ nghệ.
11. Các chuẩn và thủ tục cho kỹ thuật phần mềm .
12. Các tư liệu khác: hợp đồng, phiên bản, tài liệu pháp lý,...
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 3
1. Nêu khái niệm quản lý dự án là gì. Quản lý dự án phần mềm có giống quản lý các dự án khác không ?
2. Phân loại dự án phần mềm. Nêu các giai đoạn dự án.
3. Những công việc phải làm trong Quản lý dự án là gì? Cho biết công việc nào là quan trọng nhất.
4. Nêu tầm quan trọng của việc lập kế hoạch dự án. Nêu cấu trúc của một bản kế hoạch dự án phát triển hệ thống phần mềm.
5. Nêu các phương pháp xây dựng bảng phân rã công việc
6. Giải thích mục đích của từng công việc trong quá trình lập kế hoạch dự án.
7. Nêu các thành phần chính trong hồ sơ dự án phần mềm.
8. Đội dự án gồm 4 người (A, B, C và D) có nhiệm vụ hoàn thành phần mềm chơi cờ ca-rô trong 10 tuần. Giả sử mỗi người phải làm nhiều hơn 10 tiếng/tuần. Sản phẩm có hai lần chuyển giao. (Lần thứ nhất là sau 4 tuần).
Hãy liệt kê những vấn đề của bản kế hoạch dưới đây. Tạo ra một bản kế hoạch mới cho dự án trên.
9. Đội dự án có 4 người, phải hoàn thành sản phẩm trong 20 tuần. Dự án được chuyển giao, tăng vòng 2 lần (lần thứ nhất sau 8 tuần). Giả sử, hệ thống có 3 thành phần chính X, Y, Z; trong đó X là thành phần quan trọng nhất. Các yêu cầu hệ thống vẫn còn chỗ chưa rò ràng. Hãy lập bảng kế hoạch chi tiết cho dự án trên.
10. Cho tập hợp các nhiệm vụ, ràng buộc và thời gian thực hiện như bảng sau. Hãy vẽ mô hình mạng của các nhiệm vụ đó.
Chương 4
XÁC ĐỊNH VÀ PHÂN TÍCH YÊU CẦU
4.1. Xác định yêu cầu
4.1.1. Mô tả yêu cầu
Yêu cầu của phần mềm là các công việc muốn thực hiện trên máy tính. Mô tả yêu cầu của phần mềm đòi hỏi phải mô tả đầy đủ các thông tin liên quan đến công việc tương ứng.
Các loại thông tin cần thiết liên quan đến yêu cầu phần mềm:
- Tên công việc ứng với yêu cầu: Cần xác định tên công việc cụ thể, không được chung chung, mơ hồ.
- Người thực hiện hoặc bộ phận thực hiện công việc: Xác định chính xác người hoặc bộ phận sẽ thực hiện công việc trên máy (người dùng phần mềm hay gọi tắc là người dùng – user). Cùng một công việc có thể sẽ có nhiều loại người dùng khác nhau thực hiện, và ngược lại với một loại người dùng có thể thực hiện nhiều công việc khác nhau.
- Địa điểm công việc được thực hiện (không gian): Giới hạn ở phạm vi xem như mọi địa điểm như nhau (không quan tâm đến thông tin không gian).
- Thời điểm công việc được thực hiện (thời gian): Có thể thực hiện công việc bất kỳ lúc nào (không quan tâm đến thời gian thực hiện)
- Nội dung công việc gồm cách thức tiến hành công việc cùng với các quy định liên quan.
Ví dụ 1. Xét phần mềm quản lý thư viện
- Tên công việc ứng với yêu cầu:
+ Quản lý độc giả: chung chung dễ gây nhầm lẫn.
+ Gia hạn thẻ độc giả, cho mượn sách, nhận thẻ sách: là phù hợp
- Người thực hiện hoặc bộ phận thực hiện công việc:
+ Trực tiếp: Thủ thư
+ Gián tiếp: Độc giả, Ban giám hiệu, …
Độc giả nhờ thủ thư tra cứu sách.
Ban giám hiệu yêu cầu thủ thư lập báo cáo thống kế tình hình mượn sách trong năm theo từng loại.
- Địa điểm công việc được thực hiện: Thư viện nhà trường, phòng đọc,..
- Thời điểm công việc được thực hiện: Giờ hành chính, giờ tự học,..
- Nội dung công việc:
+ Qui định về mượn sách khi cho mượn sách: cho mượn đối với độc giả có thẻ còn hạn, số sách đang mượn không quá 3, và không có sách mượn quá hạn.
+ Qui định tính tiền phạt trả sách trễ (thực hiện trả sách): mỗi ngày trễ phạt 1000, nếu quá 10 ngày thì mỗi ngày vượt trả 3000.
Ví dụ 2. Xét phần mềm quản lý điểm
- Tên công việc ứng với yêu cầu:
+ Quản lý điểm: không phải là một nghiệp vụ ở thế giới thực, chung chung
+ Tính điểm trung bình học phần, tính điểm trung bình học kỳ, nhập điểm, tra cứu điểm thi: phù hợp
- Người thực hiện hoặc bộ phận thực hiện công việc:
+ Trực tiếp: Giáo vụ.
+ Gián tiếp: Giáo viên, Sinh viên, Ban giám hiệu
- Địa điểm công việc được thực hiện: Văn phòng khoa
- Thời điểm công việc được thực hiện: Cuối mỗi học kỳ
- Nội dung công việc:
+ Qui định trung bình học phần, tính điểm trung bình học kỳ, tính điểm trung bình tích lũy.
Các yêu cầu được tìm hiểu còn chứa các mâu thuẫn:
- Thiếu rò ràng: Rất khó sử dụng ngôn ngữ tự nhiên mô tả chính xác không nhầm lẫn mà không làm khó khăn cho người đọc.
- Nhầm lẫn yêu cầu: Các yêu cầu chức năng, các ràng buộc, mục đích của hệ thống và các thông tin thiết kế không được phân biệt rò ràng.
- Trộn lẫn yêu cầu: Một số các yêu cầu khác nhau có thể được thể hiện như là một yêu cầu đơn.
Giải quyết mâu thuẫn này, chúng ta phải: trên cơ sở nghiên cứu kỹ lĩnh vực ứng dụng và thảo luận với người sử dụng để định nghĩa chính xác các yêu cầu của bài toán. Xác định rò và đầy đủ bài toán là yếu tố quan trọng góp phần đảm bảo thành công của dự án. Nhiệm vụ của giai đoạn này là xây dựng được các hồ sơ mô tả chi tiết về các yêu cầu, nhiệm vụ, chức năng của hệ thống dự kiến.
4.1.2. Phân loại yêu cầu
Các yêu cầu của hệ thống phần mềm thường được chia thành ba loại: yêu cầu chức năng, yêu cầu phi chức năng và yêu cầu miền ứng dụng. Tuy nhiên, trong thực tế chúng ta rất khó phân biết ba loại yêu cầu này một cách rò ràng.
1) Các yêu cầu chức năng
Yêu cầu chức năng là danh sách các công việc sẽ được thực hiện trên máy tính cùng với các thông tin mô tả tương ứng. Yêu cầu chức năng mô tả hệ thống sẽ làm gì. Nó mô tả các chức năng hoặc các dịch vụ của hệ thống một cách chi tiết.
Các chức năng của phần mềm là các công việc khi được thực hiện trên máy tính bằng phần mềm.
Yêu cầu chức năng chia thành 2 loại theo ý nghĩa sử dụng:
- Yêu cầu chức năng nghiệp vụ: Các chức năng của phần mềm tương ứng với công việc có thật trong thế giới thực. Có 4 loại chức năng chính ứng với 4 loại nghiệp vụ thông dụng nhất trong các lĩnh vực.
+ Chức năng lưu trữ: tương ứng với công việc ghi chép thông tin trên sổ sách theo các qui định cần kiểm tra khi ghi chép.
+ Chức năng tra cứu: tương ứng với các công việc tìm kiếm và xem thông tin tương ứng, theo dòi hoạt động.
+ Chức năng tính toán: tương ứng với các công việc tính toán theo qui định công thức cho trước.
+ Chức năng kết xuất: tương ứng với các công việc lập các báo cáo theo biểu mẫu cho trước.
- Yêu cầu chức năng hệ thống: Đó là các chức năng phần mềm phải phát sinh thêm khi tiến hành công việc trên máy tính thay vì trong thế giới thực, hoặc các chức năng không tương ứng với bất kỳ công việc nào hiện tại trong thế giới thực mà có nhu cầu nhưng không thể thực hiện bằng thủ công.
+ Phân quyền sử dụng giữa các loại người dùng
+ Sao lưu (backup), phục hồi thông tin (Restore)
+ Định cấu hình thiết bị, ngày giờ làm việc, …
+ Mô phỏng hoạt động thế giới thực
+ Báo động nhắc nhở người dùng
Ví dụ 1. Xét phần mềm quản lý thư viện
- Yêu cầu chức năng nghiệp vụ:
+ Chức năng lưu trữ: Ghi nhận việc mượn sách (theo qui định mượn).
+ Chức năng tra cứu: Tìm sách và xem tình trạng sách, thông tin về độc giả mượn sách nếu sách đang được muợn.
+ Chức năng tính toán: Tính tiền phạt trả sách trễ theo qui định phạt.
+ Chức năng kết xuất: Lập báo cáo thống kê về số lượng mượn sách theo từng thể loại trong năm.
- Yêu cầu chức năng hệ thống:
+ Phân quyền sử dụng: Phân quyền cho 3 loại người sử dụng trong phần mềm quản lý thư viện:
Quản lý hệ thống: Administrator sử dụng được tất cả các chức năng.
Thủ thư: Cho sử dụng các chức năng liên quan đến việc cho mượn, trả sách. Độc giả: Cho sử dụng chức năng tra cứu.
+ Sao lưu (backup), phục hồi thông tin (Restore): Sao lưu thông tin về các học sinh sinh viên đã ra trường và cho phục hồi lại khi cần thiết.
+ Định cấu hình thiết bị, ngày giờ làm việc: Chọn loại máy in, khổ giấy.
Chọn niên khóa, ngày tháng năm hiện tại
Chọn Font chữ mặc định, chọn màu, màu nền cho màn hình chính/phụ.
+ Mô phỏng hoạt động thế giới thực: Mô phỏng hoạt động CPU.
+ Báo động nhắc nhở người dùng: Nhắc nhở thủ thư gởi giấy báo đòi sách khi có độc giả mượn sách quá hạn.
Đặc điểm của yêu cầu chức năng:
- Tính mập mờ, không rò ràng của các yêu cầu: Vấn đề này xảy ra khi các yêu cầu không được xác định một cách cẩn thận. Các yêu cầu mập mờ có thể được người xây dựng và người sử dụng hiểu theo nhiều cách khác nhau.
- Tính hoàn thiện và nhất quán: Về nguyên tắc, yêu cầu phải chứa tất cả các mô tả chi tiết và không có sự xung đột hoặc đối ngược giữa các yêu cầu. Tuy nhiên, trong thực tế rất khó có thể đạt được điều này.
2) Các yêu cầu phi chức năng
Yêu cầu phi chức năng không đề cập trực tiếp tới các chức năng cụ thể của hệ thống. Yêu cầu phi chức năng thường định nghĩa các thuộc tính như: độ tin cậy, thời gian đáp ứng, các yêu cầu về lưu trữ …và các ràng buộc của hệ thống như: khả năng của thiết bị vào/ra, giao diện …
Một số yêu cầu phi chức năng còn có liên quan đến quy trình xây dựng hệ thống.
Ví dụ: các chuẩn được sử dụng, các công cụ CASE, ngôn ngữ lập trình …
Các yêu cầu phi chức năng có thể là hạn chế hơn những yêu cầu chức năng. Nhưng nếu nó không được thoả mãn thì hệ thống sẽ không sử dụng được.
Các yêu cầu phi chức năng xuất hiện là do yêu cầu của người sử dụng, ràng buộc về ngân sách, các chính sách của tổ chức sử dụng hệ thống, yêu cầu tương thích giữa phần cứng và phần mềm và các tác nhân ngoài khác. Do đó, chúng ta có thể phân loại các yêu cầu phi chức năng như sau:
- Các yêu cầu về sản phẩm xác định ứng xử của sản phẩm như: hiệu năng, khả năng sử dụng, độ tin cậy … của sản phẩm
+ Cài đặt trên môi trường nào ? Windows ? Web ?
+ Sử dụng hệ quản trị cơ sở dữ liệu nào ? Access/SQL Server/Oracle/DB2…
+ Sử dụng công nghệ gì ? Java/.NET/Delphi/PHP/…
- Các yêu cầu về tổ chức: các yêu cầu này được lấy từ những chính sách và quy tắc của khách hàng hoặc tổ chức sử dụng hệ thống.
- Các yêu cầu ngoài: được xác định từ các tác nhân ngoài của hệ thống.
Nói chung, chúng ta rất khó xác định chính xác và rất khó thẩm tra những yêu cầu phi chức năng mập mờ. Do đó, trong tài liệu đặc tả yêu cầu, người ta thường bổ sung