Bài giảng Nhập môn Công nghệ học phần mềm - Phần III: Yêu cầu người dùng

Nhập môn  
Công nghệ học Phần mềm  
Introduction to Software Engineering  
Department of Software Engineering  
Faculty of Information Technology  
Hanoi University of Technology  
TEL: 04-8682595 FAX: 04-8692906  
Email: cnpm@it-hut.edu.vn  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.1  
Phần III  
Yêu cầu người dùng  
User’s Requirements  
Chương 5: Phương pháp xác định yêu cầu  
5.1. Kỹ thuật xác định yêu cầu  
5.2. Nội dung xác định yêu cầu  
5.3. Các nguyên lý phân tích yêu cầu  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.2  
5.1. Kỹ thuật xác định yêu cầu phần mềm  
SW Requirements Engineering  
• Yêu cầu phần mềm: là tất cả các yêu cầu  
về phầm mềm do khách hàng - người sử  
dụng phần mềm - nêu ra, bao gồm: các  
chức năng của phần mềm, hiệu năng của  
phần mềm, các yêu cầu về thiết kế và giao  
diện, các yêu cầu đặc biệt khác  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.3  
• Thông thường các yêu cầu phần mềm được  
phân loại theo 4 thành phần của phần mềm:  
– Các yêu cầu về phần mềm (Software)  
– Các yêu cầu về phần cứng (Hardware)  
– Các yêu cầu về dữ liệu (Data)  
– Các yêu cầu về con người (People, Users)  
• Mục đích: mục đích của yêu cầu phần mềm là  
xác định được phần mềm đáp ứng được các  
yêu cầu và mong muốn của khách hàng - người  
sử dụng phần mềm  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.4  
Tại sao cần phải đặt ra yêu  
cầu phần mềm ?  
• Khách hàng chỉ có những ý tưởng còn mơ hồ về  
phần mềm cần phải xây dựng để phục vụ công  
việc của họ, chúng ta phải sẵn sàng, kiên trì theo  
đuổi để đi từ các ý tưởng mơ hồ đó đến “Phần  
mềm có đầy đủ các tính năng cần thiết”  
• Khách hàng rất hay thay đổi các đòi hỏi của mình,  
chúng ta nắm bắt được các thay đổi đó và sửa đổi  
các mô tả một cách hợp lý  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.5  
5.2. Nội dung xác định yêu cầu phần mềm  
Contents of Requirements Engineering  
• Phát hiện các yêu cầu phần mềm (Requirements  
elicitation)  
• Phân tích các yêu cầu phần mềm và thương lượng với  
khách hàng (Requirements analysis and negotiation)  
• Mô tả các yêu cầu phần mềm (Requirements  
specification)  
• Mô hình hóa hệ thống (System modeling)  
• Kiểm tra tính hợp lý các yêu cầu phần mềm  
(Requirements validation)  
• Quản trị các yêu cầu phần mềm (Requirements  
management)  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.6  
Quy trình xác định yêu cầu phần mềm  
Build a  
prototype  
Requirements  
elicitation  
Develop  
specification  
the problem  
Review  
Create  
analysis  
models  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.7  
The Analysis Model  
Data Model  
Functional  
Model  
Behavioral  
Model  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.8  
5.2.1. Phát hiện yêu cầu phần mềm  
(Requirements Elicitation)  
Các vấn đề của phát hiện yêu cầu phần mềm  
(Problems)  
• Phạm vi của phần mềm (Scope)  
• Hiểu rõ phần mềm (Understanding)  
• Các thay đổi của hệ thống (Volatility)  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.9  
Phương pháp phát hiện yêu cầu phần mềm  
Requirements Elicitation Methodology  
• Xác định các phương pháp sử dụng phát hiện các yêu cầu  
phần mềm: phỏng vấn, làm việc nhóm, các buổi họp, gặp  
gỡ đối tác, v.v.  
• Tìm kiếm các nhân sự (chuyên gia, người sử dụng) có  
những hiểu biết sâu sắc nhất, chi tiết nhất về hệ thống  
giúp chúng ta xác định yêu cầu phần mềm  
• Xác định “môi trường kỹ thuật - technical environment”  
• Xác định các “ràng buộc lĩnh vực domain constraints”  
• Thu hút sự tham gia của nhiều chuyên gia, khách hàng  
để chúng ta có được các quan điểm xem xét phần mềm  
khác nhau từ phía khách hàng  
• Thiết kế các kịch bản sử dụng của phần mềm  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.10  
Sản phẩm (output) của  
“phát hiện yêu cầu phần mềm”  
• Bảng kê (statement) các đòi hỏi và chức năng khả thi của  
phần mềm  
• Bảng kê phạm vi ứng dụng của phần mềm  
• Mô tả môi trường kỹ thuật của phần mềm  
• Bảng kê tập hợp các kịch bản sử dụng của phần mềm  
• Các nguyên mẫu xây dựng, phát triển hay sử dụng trong  
phần mềm (nếu có)  
• Danh sách nhân sự tham gia vào quá trình phát hiện các  
yêu cầu phần mềm - kể cả các nhân sự từ phía công ty-  
khách hàng  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.11  
5.2.2. Phân tích các yêu cầu phần mềm và  
thương lượng với khách hàng  
Software  
Customer  
Engineering  
Group  
Group  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.12  
Requirements Analysis and Negotiation  
• Phân loại các yêu cầu phần mềm và  
sắp xếp chúng theo các nhóm liên  
quan  
• Khảo sát tỉ mỉ từng yêu cầu phần mềm  
trong mối quan hệ của nó với các yêu  
cầu phần mềm khác  
• Thẩm định từng yêu cầu phần mềm  
theo các tính chất: phù hợp, đầy đủ, rõ  
ràng, không trùng lặp  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.13  
Requirements Analysis and  
Negotiation  
• Phân cấp các yêu cầu phần mềm theo dựa trên  
nhu cầu và đòi hỏi khách hàng / người sử dụng  
• Thẩm định từng yêu cầu phầm mềm để xác  
định chúng có khả năng thực hiện được trong  
môi trường kỹ thuật hay không, có khả năng  
kiểm định các yêu cầu phần mềm hay không  
• Thẩm định các rủi ro có thể xảy ra với từng  
yêu cầu phần mềm  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.14  
Requirements Analysis and  
Negotiation  
• Đánh giá thô (tương đối) về giá thành và  
thời gian thực hiện của từng yêu cầu phần  
mềm trong giá thành sản phẩm phần mềm  
và thời gian thực hiện phần mềm  
• Giải quyết tất cả các bất đồng về yêu cầu  
phần mềm với khách hàng / người sử dụng  
trên cơ sở thảo luận và thương lượng các  
yêu cầu đề ra  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.15  
5.2.3. Đặc tả yêu cầu phần mềm  
• Đặc tả các yêu cầu phần mềm là công việc  
xây dựng các tài liệu đặc tả, trong đó có thể  
sử dụng tới các công cụ như: mô hình hóa,  
mô hình toán học hình thức (a formal  
mathematical model), tập hợp các kịch bản  
sử dụng, các nguyên mẫu hoặc bất kỳ một  
tổ hợp các công cụ nói trên  
• Chất lượng của hồ sơ đặc tả đánh giá qua  
các tiêu thức  
– Tính rõ ràng, chính xác  
– Tính phù hợp  
– Tính đầy đủ, hoàn thiện  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.16  
Requirements Specification  
• Các thành phần của hồ sơ đặc tả  
– Đặc tả phi hình thức (Informal specifications) được viết  
bằng ngôn ngữ tự nhiên  
– Đặc tả hình thức (Formal specifications) được viết bằng  
tập các ký pháp có các quy định về cú pháp (syntax) và  
ý nghĩa (sematic) rất chặt chẽ  
– Đặc tả vận hành chức năng (Operational specifications)  
mô tả các hoạt động của hệ thống phần mềm sẽ xây  
dựng  
– Đặc tả mô tả (Descriptive specifications) – đặc tả các  
đặc tính đặc trưng của phần mềm  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.17  
Requirements Specification  
• Đặc tả chức năng (Operational  
Specifications): thông thường khi đặc tả  
các chức năng của phần mềm người ta sử  
dụng các công cụ tiêu biểu sau  
– Biểu đồ luồng dữ liệu (Data Flow Diagrams)  
– Máy trạng thái hữu hạn (Finite State  
Machines  
– Mạng Petri (Petri nets)  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.18  
Requirements Specification  
• Đặc tả mô tả (Descriptive  
Specifications)  
– Biểu đồ thực thể liên kết (Entity-  
Relationship Diagrams)  
– Đặc tả Logic (Logic Specifications)  
– Đặc tả đại số (Algebraic Specifications)  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.19  
Biểu đồ luồng dữ liệu (DFD)  
• Hệ thống (System): tập hợp các dữ liệu  
(data) được xử lý bằng các chức năng  
tương ứng (functions)  
• Các ký pháp sử dụng:  
Thể hiện các chức năng (functions)  
Thể hiện luồng dữ liệu  
Kho dữ liệu  
Vào ra dữ liệu và tương tác giữa  
hệ thống và người sử dụng  
HUT, Falt. of IT  
© Dept. of SE, 2002  
SE-III.20  
Tải về để xem bản đầy đủ
ppt 42 trang yennguyen 20680 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn Công nghệ học phần mềm - Phần III: Yêu cầu người dùng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptbai_giang_nhap_mon_cong_nghe_hoc_phan_mem_phan_iii_yeu_cau_n.ppt