Công nghệ phần mềm - Phân tích và đặc tả yêu cầu

 Khái niệm yêu cầu

 Yêu cầu chức năng và phi chức năng

 Tài liệu ñặc tả yêu cầu

 Các bước phân tích vàñặc tả yêu cầu

 Phân tích bài toán

 Thu thập yêu cầu

 Phân tích yêu cầu

 ðặc tả yêu cầu

 Hợp thức hóa yêu cầu

pdf20 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 3546 | Lượt tải: 2download
Tóm tắt nội dung Công nghệ phần mềm - Phân tích và đặc tả yêu cầu, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
g
 Yêu cầu về sản phẩm
 yêu cầu ñặc tả sản phẩm làm ra phải ñáp ứng: tốc ñọ
thực thi, ñộ tin cậy...
 Yêu cầu về tổ chức
 yêu cầu là các chính sách về tổ chức như: tiến trình 
phát triển áp dụng, yêu cầu cài ñặt, 
 Yêu cầu bên ngoài
 yêu cầu ñến từ các yêu tố bên ngoài hệ thống và tiến 
trình phát triển: yêu cầu về khả năng tương tác, về 
ñạo ñức, ..
713
Yêu cầu phi chức năng
Performance
requirements
Space
requir ements
Usability
requirements
Ef ficiency
requir ements
Reliability
requir ements
Portability
requirements
Interoperability
requirements
Ethical
requirements
Legislative
requirements
Implementation
requir ements
Standards
requirements
Delivery
requirements
Safety
requirements
Privacy
requirements
Product
requir ements
Or ganizational
requir ements
External
requirements
Non-functional
requir ements
14
Yêu cầu phi chức năng
 Ví dụ
 Yêu cầu về sản phẩm
• phần mềm chỉ nên yêu cầu tối ña 256 MB bộ nhớ
 Yêu cầu về tổ chức
• tiến trình phát triển phải ñáp ứng chuẩn DO178
 Yêu cầu bên ngoài
• hệ thông không ñược ñể lộ thông tin cá nhân của 
khách hàng
815
Yêu cầu phi chức năng
 ðo lường yêu cầu
Property Measure
Speed Processed transactions/second
User/Event response time
Screen refresh time
Size K Bytes
Number of RAM chips
Ease of use Training time
Number of help frames
Reliability Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness Time to restart after failure
Percentage of events causing failure
Probability of data corruption on failure
Portability Percentage of target dependent statements
Number of target systems
16
Yêu cầu người sử dụng
(user requirements)
 nên mô tả
 yêu cầu chức năng
 yêu cầu phi chưc năng
 dễ hiểu ñối với người sử dụng
 không có kiến thức chi tiết về kỹ thuật/tin học
 yêu cầu người sử dụng nên ñược mô tả
bởi:
 ngôn ngữ tự nhiên
 biểu ñồ, bảng biểu
917
Ngôn ngữ tự nhiên
 Ưu ñiểm
 dễ hiểu
 dễ sử dụng
 Hạn chế
 không rỏ ràng, thiếu chính xác
 nhập nhằng
 lẫn lộn giữa yêu cầu chức năng và yếu cầu 
phi chức năng
 quá mềm dẻo
• trình bày nhiều cách
18
Các giải pháp thay thế cho 
ngôn ngữ tự nhiên
 Ngôn ngữ có cấu trúc
 sử dụng ngôn ngữ gần với ngôn ngữ lập 
trình
 Các mô hình
 các ký hiệu ñồ họa
 Ký hiệu toán học
 ngôn ngữ hình thức
10
19
Yêu cầu hệ thống
(system requirements)
 là ñặc tả chi tiết hơn yêu cầu người sử
dụng
 phục vụ cơ bản cho bước thiết kế
 có thể sử dụng làm một phần của hợp ñồng
 có thể sử dụng các mô hình ñể mô tả
20
Tài liệu ñặc tả yêu cầu
 Tài liệu ñặc tả yêu cầu là các phát biểu 
chính thức về hệ thống cần xây dựng
 Không phải là tài liệu thiết kế
 Xác ñịnh hệ thống cần làm cái gì (WHAT)
 Không trả lời câu hỏi làm như thế nào 
(HOW)
11
21
Tài liệu ñặc tả yêu cầu
Người sử dụng
U s e t h e r e q u i r e m e n t s to
d ev e lo p v a l id a ti o n te s ts f o r
t h e s y s te m
U s e t h e r e q u i r e m e n t s
d o c u m e n t to p l a n a b i d f o r
t h e s y s te m a n d to p l a n th e
sy st e m d e v e lo p m e n t p r o c e s s
U s e t h e r e q u i r e m e n t s to
u n d e r s ta n d w h a t s y s te m i s to
b e d e v e lo p e d
S y st e m te s t
e n g in e e r s
M a n a g e r s
S y st e m e n g in e e r s
S p e c i f y t h e r e q u ir e m e n ts a n d
r e a d th e m to c h e c k t h a t t h e y
m e e t th e ir n e e d s . T h e y
s p e c if y c h a n g e s t o th e
r e q u ir e m e n ts
S y st e m c u s to m e r s
U s e t h e r e q u i r e m e n t s to h e l p
u n d er s ta n d th e sy st e m a n d
t h e r e l a ti o n sh ip s b e tw e e n it s
p ar t s
S y st e m
m a in te n a n c e
e n g in e e r s
22
Tài liệu ñặc tả yêu cầu
 Các yêu cầu của một tài liệu ñặc tả yêu cầu
 ñặc tả các hành vi bên ngoài của hệ thống
 ñặc tả các ràng buộc cài ñặt (mã hóa)
 dễ dàng thay ñổi
 sử dụng như là công cụ tham khảo khi bảo 
trì
 dự báo thời gian sống của hệ thống (dự báo 
thay ñổi)
 ñặc tả trả lời các sự kiện không mong ñợi
12
23
Cấu trúc của tài liệu ñặc tả
yêu cầu
 Giới thiệu
 Thuật ngữ
 ðịnh nghĩa yêu cầu người sử dụng
 Kiến trúc hệ thống
 ðặc tả yêu cầu hệ thống
 Mô hình hệ thống
 Phát triển/thay ñổi của hệ thống
 Phụ lục
 Chỉ mục
24
Cấu trúc của tài liệu ñặc tả
yêu cầu – theo chuẩn IEEE
1. Introduction
1.1 Purpose
1.2 Document Conventions
1.3 Intended Audience and Reading Suggestions
1.4 Product Scope
1.5 References
2. Overall Description
2.1 Product Perspective
2.2 Product Functions
2.3 User Classes and Characteristics
2.4 Operating Environment
2.5 Design and Implementation Constraints
2.6 User Documentation
2.7 Assumptions and Dependencies
3. External Interface Requirements
3.1 User Interfaces
3.2 Hardware Interfaces
3.3 Software Interfaces
3.4 Communications Interfaces
Chi tiết
4. System Features
4.1 System Feature 1
4.2 System Feature 2 (and so on)
5. Other Nonfunctional Requirements
5.1 Performance Requirements
5.2 Safety Requirements
5.3 Security Requirements
5.4 Software Quality Attributes
5.5 Business Rules
6. Other Requirements
Appendix A: Glossary
Appendix B: Analysis Models
Appendix C: To Be Determined List
13
25
Các bước phân tích và ñặc 
tả yêu cầu
 Phân tích bài toán
 Thu thập yêu cầu
 Phân tích yêu cầu
 ðặc tả yêu cầu
 Hợp thức hóa yêu cầu
26
Phân tích bài toán
 Mô tả nghiệp vụ
 mô tả các luồng nghiệp vụ, các xử lý và vai 
trò của con người trong hệ thống hiện tại
 hiểu ñược nghiệp vụ
 chủ yếu tập trung vào các vùng cần tự ñộng 
hóa
 hỗ trợ cho việc xác ñịnh các thay ñổi và cải 
tiến yêu cầu trong hệ thống mới
14
27
Phân tích bài toán
 Mô tả hệ thống
 mô tả hệ thống ñề xuất
• mô tả luồng thông tin giữa hệ thống ñề xuất và 
môi trường của nó
 ñáp ứng ñược mô tả nghiệp vụ
 cải tiến nghiệp vụ hiện tại
 dựa trên mô tả nghiệp vụ hiện tại
28
Thu thập yêu cầu
 Khẳng ñịnh tính khả thi của hệ thống ñề
xuất
 khả thi về kinh tế
 khả thi về kỹ thuật
 khả thi về vận hành
 Xác ñịnh những người liên quan ñến hệ
thống và nhường người sử dụng cuối
 Xác ñịnh các ràng buộc khi sử dụng hệ
thống ñề xuất
15
29
Thu thập yêu cầu
 Xác ñịnh các các phương pháp thu thập 
yêu
 ví dụ: phỏng vấn
 Xác ñịnh các yêu cầu nhập nhằng
 có thể sử dụng kỹ thuật nguyên mẫu
 Xác ñịnh các yêu cầu khác, mà khách hàng 
không yêu cầu rỏ
 ví dụ: giao diện dễ sử dụng
30
Thu thập yêu cầu
 Kết quả của bước thu thập yêu cầu
 Phát biểu về sự cần thiết và tính khả thi
 Giới hạn lĩnh vực/chức năng của phần mềm
 Danh sách người liên quan, người sử dụng 
cuối
 Mô tả môi trường mà phần mềm sẽ vận 
hành
 Danh sách các yêu cầu của phần mềm ñề
xuất
 Các ràng buộc của phần mềm ñề xuất
16
31
Thu thập yêu cầu
 Các kỹ thuật thu thập yêu cầu
 Phỏng vấn khách hàng
 Thực hiện các hội thảo/thảo luận
 Chuẩn bị các bảng câu hỏi ñiều tra
 Quan sát hoạt ñộng nghiệp vụ hiện tại
 Tham khảo các chuyên gia trong lĩnh 
vực
32
Thu thập yêu cầu
 Phỏng vấn khách hàng (1)
 hiểu rỏ nghiệp vụ hiện tại
 hiểu rỏ chi tiết của yêu cầu
 hiểu rỏ mong muốn thực sự của khách hàng
 nên ñặt các câu hỏi ngắn gọn
 câu hỏi tập trung vào việc hiểu yêu cầu
 Ví dụ
• Những ai sử dụng hệ thống ?
• Kết quả của chức năng này là gì ?
17
33
Thu thập yêu cầu
 Phỏng vấn khách hàng (2)
 các hoạt ñộng cần thiết cho phỏng 
vấn
• xác ñịnh rỏ những người cần phỏng vấn
• chuẩn bị sẵn các câu hỏi
• tìm hiểu về lĩnh vực hoạt ñộng của hệ
thống, của khách hàng
• ghi nhận các câu hỏi trong quá trình 
phỏng vấn
34
Thu thập yêu cầu
 Thực hiện các hội thảo/thảo luận
 tập hợp khách hàng, những người 
liên quan ñến hệ thống
 tổ chức các buổi thảo luận
 trình bày các yêu cầu của hệ thống 
cần phát triển
• khách hàng có hiểu yêu cầu ?
 khuyến khích ý kiến của khách hàng
18
35
Thu thập yêu cầu
 Chuẩn bị các bảng câu hỏi ñiều tra
 Chuẩn bị sẵn bảng các câu hỏi
• chức năng mong ñợi
• thời gian yêu cầu hoàn thành dự án
• kết quả của một tiến trình nghiệp vụ
• hỏi ñược nhiều người
 Quan sát hoạt ñộng nghiệp vụ hiện tại
 ñến nơi làm việc của khách hàng và quan sát
 quay phim các nghiệp vụ
 Tham khảo các chuyên gia trong lĩnh vực
 hiểu rỏ các nghiệp vụ chuyên môn phức tạp
36
Phân tích yêu cầu
 Phân loại các yêu cầu
 chức năng
 phi chức năng
 Yêu cầu chức năng xuất phát từ các yêu 
cầu của khách hàng và nghiệp vụ trong hệ
thống hiện tại
 Yêu cầu phi chức năng thường không lộ rõ
 thường do người phát triển ñề xuất
19
37
ðặc tả yêu cầu
 Mô tả chi tiết các yêu cầu ñã phân tích
 Có thể sử dụng các cấu trúc tài liệu ñặc tả yêu cầu 
khác nhau
 chẳng hạn cấu trúc IEEE
 Tuy nhiên, phải chứa ít nhất các thông tin
 ñịnh nghĩa hệ thống phần mềm
 mục ñích tài liệu ñặc tả yêu cầu
 giới hạn của hệ thống phần mềm
 yêu cầu chức năng
 yêu cầu phi chức năng
 các ñiều kiện mà trong ñó hệ thống ñề xuất sẽ vận 
hành
38
Hợp thức hóa yêu cầu
 Chỉ ra rằng các yêu cầu thực sự là cái 
khách hàng cần
 Lỗi ở bước ñặc tả yêu cầu chi phí rất lớn
 chi phí sửa một lỗi yêu cầu sau khi ñã giao 
sản phẩm có thể lớn gấp 100 lần lỗi cài ñặt
 Kỹ thuật nguyên mẫu rất hiệu quả ñể hợp 
thức hóa yêu cầu
20
39
Hợp thức hóa yêu cầu
 Kiểm tra các tính chất
 Hợp lệ
• hệ thống phần mềm có cung cấp các chức năng 
hỗ trợ tốt nhất cho khách hàng ?
 Chắc chắn
• có các yêu cầu nào mâu thuẩn nhau ?
 ðầy ñủ
• tất cả các yêu cầu của khách hàng ñã ñược ñặc 
tả ?
 Thực tế
• tất cả các yêu cầu có thể thực hiện với công nghệ
và ngân sách hiện tại ?
40
Hợp thức hóa yêu cầu
 Thẩm ñịnh các yêu cầu (reviews)
 Thường xuyên thẩm ñịnh yêu cầu
 Cả khách hàng và người phát triển ñều phải thẩm 
ñịnh yêu cầu
 Thẩm ñịnh có thể tổ chức hình thức hoặc không hình 
thức
 Trao ñổi giữa người phát triển, khách hàng và người 
sử dụng cuối có thể giải quyết sớm các khó khăn

File đính kèm:

  • pdf3_YeuCau.pdf