Professional Documents
Culture Documents
1
Phân tích yêu cầu phần mềm
2
Phân tích yêu cầu phần mềm
Chất lượng nghĩa là chúng được sử dụng. Ở đây, các hoạt Yêu cầu là một
đáp ứng mục tiêu. phần của … nhu
động RE như là cầu nối giữa cầu là gì ???
Không thể nói điều gì
về chất lượng trừ khi các nhu cầu trong thực tế của
bạn hiểu rõ mục tiêu
người dùng, khách hàng, và những
ứng viên khác có ảnh hưởng đến một
hệ thống phần mềm, và những khả Và một phần của
… nó thực hiện
Cần nhận dạng tất cả năng và cơ hội được tạo ra bởi những được gì ???
các đối tác – không
chỉ là người dùng và
kỹ thuật phần mềm chuyên nghiệp
khach hàng !
4
Phân tích yêu cầu phần mềm
5
Phân tích yêu cầu phần mềm
6
Phân tích yêu cầu phần mềm
Báo cáo của Boehm và Papaccio (1988) cho thấy ước lượng giá trị tiêu
tốn cho việc phát hiện lỗi ở các giai đoạn của một tiến trình phát triển
phần mềm như sau :
Phân tích yêu cầu (1$) ⇒ Thiết kế (5$) ⇒ Lập trình (10$)
⇒ Kiểm thử (20$) ⇒ Triển khai hệ thống (>200$)
Cần dành thời gian để tìm hiểu kỹ vấn đề trong lĩnh vực của chúng và
thu thập yêu cầu thật chính xác trong giai đoạn đầu tiên.
7
Phân tích yêu cầu phần mềm
8
Phân tích yêu cầu phần mềm
9
Phân tích yêu cầu phần mềm
10
Phân tích yêu cầu phần mềm
11
Phân tích yêu cầu phần mềm
Yêu cầu là gì ?
13
Phân tích yêu cầu phần mềm
Ví dụ
Requirement R:
“Phản lực chỉ có thể xảy ra khi máy bay đang chạy trên đường
băng”
Domain Properties D:
Xung lực bánh xe xảy ra khi và chỉ khi các bánh xe bật ra
Các bánh xe bật ra khi và chỉ khi nó chạy trên đường băng
Specification S:
Phản lực có thể xảy ra khi và chỉ khi có xung lực bánh xe
Kiểm tra
Phần mềm cho máy bay, P, thực thi trên máy tính trong buồng lái của
máy bay, C, có hoàn toàn chính xác như đặc tả, S?
S, trong ngữ cảnh của giả thuyết D, có đáp ứng R?
Kiểm chứng
Giả thuyết của chúng ta, D, về lĩnh vực có thật chính xác? Có thiếu gì
không?
Yêu cầu, R, có thật sự cần thiết? Có thiếu gì không?
14
Phân tích yêu cầu phần mềm
Một ví dụ khác
Requirement R:
“Cơ sở dữ liệu chỉ có thể được truy cập bởi những người có quyền”
Domain Properties D:
Những người có quyền thì có passwords
Passwords không bao giờ được chia sẻ với những người không có quyền
Specification S:
Truy cập vào CSDL chỉ được chấp nhận sau khi người dùng gõ vào một
password được cấp
S + D dẫn đến R
Nhưng có liệu rằng giả thuyết về lĩnh vực là sai?
15
Phân tích yêu cầu phần mềm
Không có quy luật tự nhiên nào bên trong các hành vi phần mềm
Không có các ràng buộc tự nhiên nào trong các phần mềm phức tạp
Phần mềm hoàn toàn có thể thực hiện một công việc lặp đi lặp lại
…không tạo ra sự thay đổi
16
16
Phân tích yêu cầu phần mềm
Quản lý dự án
Một nhà quản lý dự án có thể kiểm soát 4 thứ:
Tài nguyên (có thể tăng thêm tiền, tiện ích, nhân lực)
Thời gian (có thể tăng thời gian, trì hoãn thời hạn, etc.)
Sản phẩm (có thể giảm chức năng - e.g. các yêu cầu quá rắc rối)
Rủi ro (có thể quyết định các rủi ro nào chấp nhận được)
Để thực hiện điều này, nhà quản lý cần theo dõi:
Công sức – Cần tốn công sức nhiều thế nào? Tiêu hao bao nhiêu?
Thời gian – Lịch biểu được mong đợi ra sao? Còn bao lâu nữa ?
Kích cỡ – Kế hoạch vấn đề lớn như thế nào? Phải thiết kế ra sao?
Hạn chế – Đã tạo ra bao nhiêu lỗi ? Bao nhiêu lần phát hiện lỗi?
Và các lỗi này ảnh hưởng như thế nào đến chất lượng?
Khởi đầu, một nhà quản lý cần có sự đánh giá đúng
… và điều đó chỉ có thể có từ sự phân tích thấu đáo vấn đề.
Bạn không thể kiểm soát được cái mà bạn không thể đo lường !
17
Phân tích yêu cầu phần mềm
Các kiểu dự án
Các lý do khởi đầu cho một dự án phát triển phần mềm
Hướng vấn đề (Problem-driven): sự cạnh tranh, sự khủng hoảng,…
Hướng thay đổi (Change-driven): nhu cầu mới, sự lớn mạnh, thay đổi doanh
nghiệp hoặc môi trường,…
Hướng cơ hội (Opportunity-driven): bùng nổ một kỹ thuật mới,…
Hướng kế thừa (Legacy-driven): một phần của kế hoạch trước đó, công việc
chưa hoàn thành, …
Green field
Các kiểu quan hệ với khách hàng:
Customer-specific – một khách hàng với vấn đề cụ thể
Có thể là một công ty khác, với hợp đồng thỏa thuận
Có thể là một bộ phận trong cùng công ty
Market-based – hệ thống bán ra thị trường
Trong một số trường hợp, sản phẩm phải sinh ra khách hàng
Đội ngũ tiếp thị phải hành động như những người thay thế khách hàng
Community-based – dự định sẽ như một tiện ích chung cho cộng đồng
E.g. công cụ nguồn mở (open_ source), các công cụ cho nghiên cứu khoa học
Khách hàng tài trợ (nếu nhà tài trợ không chiếm giữ kết quả)
Hybrid (kết hợp những kiểu trên)
18
Phân tích yêu cầu phần mềm