Đặc tả yêu cầu phần mềm
1
GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Trịnh Hồng Trường – 09520326 Đinh Tiến Sỹ 09520257
Tại sao phải đặc tả yêu cầu phần mềm?
Vấn đề:
mềm dễ dàng vì cấu trúc dự án không phức tạp.
Đối với các dự án nhỏ : tiếp cận với yêu cầu phần
tả là rất khó. Vì cấu trúc và yêu cầu phần mềm cực kì
phức tạp
2
Đối với các dự án lớn: việc tiếp cận mà không có đặc
Tại sao phải đặc tả?
Yêu cầu:
Đầu vào: những yêu cầu người dùng đặt ra
3
Đầu ra: đặc tả chi tiết hệ thống trong tương lai
Thách thức
Đặc tả yêu cầu phần mềm:
Cần phải có tương tác người dùng
4
Không thể sinh ra tự động
Nền tảng
Hiểu được yêu cầu phần mềm là rất khó
Hình tượng hóa hệ thống trong tương lai rất khó
Khả năng của hệ thống không rõ ràng
Yêu cầu thay đổi theo thời gian
....
5
Thực tế cho thấy việc đưa ra một đặc tả yêu cầu
phần mềm là cần thiết.
Mục đích của tài liệu đặc tả?
Tài liệu đặc tả được hình thành giữa người dùng
và nhà cung cấp.
nhiều về phần mềm.
Người dùng cần sự tiện lợi nhưng không hiểu biết
không hiểu được những vấn đề chuyên ngành của
người dùng.
6
Nhà phát triển thực hiện phần mềm nhưng có thể sẽ
Mục đích
Tài liệu đặc tả yêu cầu phần mềm:
và nhà cung cấp.
Là cầu nối cho khoảng cách giao tiếp giữa khách hàng
mà cả hai đều có thể hiểu.
7
Đặc tả mong muốn của người dùng ở một phạm trù
Sự cần thiết của đặc tả
Giúp người dùng hiêu được thực sự muốn gì
muốn gì
Người dùng không phải bao giờ cũng biết họ thực sự
Cần đánh giá khả năng và hiểu rõ tiềm lực
Quá trình phân tích giúp yêu cầu rõ ràng hơn.
Đặc tả được xem như một chứng nhận cho sản
phẩm cuối cùng:
8
Hiểu rõ ràng yêu cầu cuối cùng
Xác nhận “Phần mềm thỏa mãn đặc tả”
Cần thiết
Đặc tả tốt cho ra phần mềm tốt
cùng.
Đặc tả yêu cầu bị lỗi sẽ thể hiện ra ở phần mềm cuối
nhất.
Để đạt được chất lượng tốt nhất cần có một đặc tả tốt
khuyết.
9
Đặc tả khiếm khuyết sẽ cho ra phần mềm khiếm
Quá trình đặc tả
Hoạt động chính:
Phân tích yêu cầu/ vấn đề.
Đặc tả yêu cầu.
Xác nhận đặc tả.
Trong đó bước phân tích đầu tiên chính là bước
quan trọng nhất và khó khăn nhất.
10
Quá trình đặc tả
Quá trình này không
needs
tuyến tính.
Sẽ có vòng lặp tại các bước.
Analysis
Thể hiện chi tiết hóa yêu
Specification
cầu giúp đỡ rất nhiều cho
đặc tả.
Validation
11
Quá trình đặc tả
Chia để trị là chiến thuật cơ bản
riêng từng vấn đề.
Chia vấn đề thành nhiều phần nhỏ và giải quyết
Một lượng lớn thông tin sinh ra
Tổ chức lại để dễ dàng quản lý.
Các kỹ thuật như data flow diagram, object
diagram, ... Được sử dụng cho việc phân tích.
12
Analysis
Phân tích vấn đề
Specification
Mục tiêu: để hiểu được yêu cầu, hạn chế
Validation
của phần mềm
Vấn đề liên quan:
Nói chuyện với khách hàng
Đọc hướng dẫn sử dụng
13
Học tập hệ thống hiện tại
Hướng dẫn người dùng
Trở thành cố vấn
Phân tích vấn đề
Một vài vấn đề:
Thu thập thông tin cần thiết
chất cần thiết của phần mềm
Tương tác với người dùng để hình thành những tính
Quản lý thông tin
Bảo đảm việc hoàn thành phần mềm
14
Bảo đảm nhất quán
...
Analysis
Đặc tả yêu cầu
Specification
Kết quả cuối cùng của việc đặc tả yêu cầu là
Validation
đặc tả yêu cầu phần mềm.
Tại sao không phải mô hình DFD, OO, ... Mà
lại là đặc tả yêu cầu phần mềm:
hình chỉ chú ý đến cầu trúc bên trong
Vì nó chú ý đến thể hiện bên ngoài, còn các mô
15
yêu cầu phần mềm
Xử lý lỗi, hạn chế, ... Đều được rõ ràng trong đặc tả
Đặc điểm của một đặc tả yêu cầu phần mềm
Chính xác
Hoàn thiện
Rõ ràng
Nhất quán
Kiểm chứng
16
Dễ theo dõi
Dễ điều chỉnh
Thành phần của một đặc tả
Một đặc tả yêu cầu phần mềm cần thể hiện yêu
cầu về:
Chức năng
Thi hành
Hạn chế về thiết kế
17
Giao diện
Yêu cầu chức năng
Thể hiện tất cả các chức năng mà hệ thống hỗ trợ
Kết quả tương ứng với đầu vào và mối liện hệ
giữa chúng
Tất cả các hành động của hệ thống
18
Cần thể hiện rõ yêu cầu của đầu vào
Yêu cầu thi hành
Những hạn chế của việc thi hành (chạy hệ thống).
Thời gian phản hồi của hệ thống với yêu cầu.
19
Yêu cầu cấu hình
Hạn chế thiết kế
Các yếu tố hạn chế khách hàng lựa chọn trong
môi trường làm việc thực tế
Ví dụ:
Hạn chế của phần cứng
Bảo mật
20
Độ tin cậy, khả năng chịu lỗi, yêu cầu sao lưu.
Giao diện
Tất cả những tương tác giữa phần mềm với người
dùng
Giao diện người dùng rất quan trọng
21
Đại từ “thân thiện” cần được tránh
Analysis
Xác nhận đặc tả
Specification
Rất nhiều lỗi đọc hiểu
Validation
Có thể có lỗi cấu trúc
Sẽ tốn rất nhiều tài nguyên để khắc phục lỗi
Ở bước này cần khắc phục càng nhiều lỗi của
đặc tả càng tốt
22
Kiểm tra đặc tả
Đặc tả được kiểm lại bằng một nhóm người
Gồm: tác giả, người dùng, người phát triển,
khách hàng
Tiến trình: kiểm tra theo từng giai đoạn
Hiệu quả: Bước này có thể tìm thấy 40~80% lỗi
và khắc phục kịp thời
23
Tổng kết
Một đặc tả tốt sẽ cho một phần mềm tốt
Giai đoạn yêu cầu có 3 giai đoạn con:
Phân tích, đặc tả và xác nhận
Phân tích:
Cho các vấn đề và mô hình hóa
24
Prototyping...
Phương pháp thường dùng: SSAD, OOA,
Tổng kết
Đặc tả:
kế.
Phải bao gồm chức năng, thi hành, giao diện, và thiết
Sử dụng ngôn ngữ tự nhiên
25
Kiểm lại và xác nhận
Cám ơn
26