Bài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến - Chủ đề 2: Khảo sát hiện trạng và xác định yêu cầu (Phần 1)

•Tổng quan về Yêu cầu PM

•Xác định yêu cầu

•Đặc tả yêu cầu

•Thẩm định yêu cầu

•Đặc tả hệ thống và làm bản mẫu

pdf45 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1633 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến - Chủ đề 2: Khảo sát hiện trạng và xác định yêu cầu (Phần 1), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ring Chapter 2a - 23 HIENLTH
Xác định và thu thập yêu cầu
• Phân loại yêu cầu: Có 2 loại yêu cầu chính:
– Yêu cầu chức năng (functional requirements):
• 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 phi chức năng (non--functional 
requirements)
• Là các yêu cầu liên quan đến chất lượng phần 
mềm. (Yêu cầu về chất lượng PM)
• Là sự ràng buộc trên cách thức thực hiện yêu cầu 
chức năng.
COMP1026 – Introduction to Software Engneering Chapter 2a - 24 HIENLTH
Ví dụ Phân loại yêu cầu
Yêu cầu Loại
Thống kê doanh thu bán hàng Chức năng
Tra cứu sách Chức năng
Xử lý và phản hồi nhanh Phi chức năng
Bảo mật mật khẩu Phi chức năng
COMP1026 – Introduction to Software Engneering Chapter 2a - 25 HIENLTH
Yêu cầu chức năng
• Được chia làm 2 loại: 
– Yêu cầu chức năng nghiệp vụ. 
– Yêu cầu chức năng hệ thống.
COMP1026 – Introduction to Software Engneering Chapter 2a - 26 HIENLTH
Yêu cầu chức năng nghiệp vụ
• Các chức năng của PM 
– 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 trong các lĩnh vực:
– Chức năng Lưu trữ
– Chức năng Tra cứu 
– Chức năng Tính toán
– Chức năng Kết xuất
COMP1026 – Introduction to Software Engneering Chapter 2a - 27 HIENLTH
Yêu cầu chức năng nghiệp vụ (tt)
• Chức năng lưu trữ: 
– Tương ứng với các công việc ghi chép thông tin sổ sách. 
– VD: ghi nhận điểm thi kết thúc học phần của sinh viên với qui định điểm số 
(từ 0 đến 10)
• 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. 
– VD: tìm sách và xem tình trạng sách
• 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)
– VD: tính tiền phạt trả sách trễ hạn theo qui định phạt
• 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) 
– VD: Lập báo cáo thống kê về số lượt mượn sách theo từng thể loại trong 
năm
COMP1026 – Introduction to Software Engneering Chapter 2a - 28 HIENLTH
Yêu cầu chức năng hệ thống
• Là các chức năng PM phải phát sinh thêm khi tiến hành 
các công việc trên máy tính thay vì trong thế giới thực.
• Là các chức năng không tương ứng với bất kỳ công việc 
nào trong thế giới thực (có nhu cầu nhưng không thể thực 
hiện thủ công).
• Một số chức năng hệ thống thông dụng sau:
– 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.
– Đị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.
COMP1026 – Introduction to Software Engneering Chapter 2a - 29 HIENLTH
Yêu cầu chức năng hệ thống (tt)
• Phân quyền sử dụng giữa các loại người dùng. 
– VD: Phân quyền cho 3 loại người dùng trong 
phần mềm quản lý thư viện.
• Quản trị hệ thống: có quyền sử dụng tất cả các 
chức năng.
• Thủ thư: chỉ sử dụng các chức năng liên quan đến 
việc mượn trả sách.
• Độc giả: chỉ sử dụng chức năng tra cứu.
• Sao lưu, backup, phục hồi thông tin.
– VD: Sao lưu thông tin các học sinh đã ra 
trường và chỉ phục hồi khi cần thiết.
COMP1026 – Introduction to Software Engneering Chapter 2a - 30 HIENLTH
Phân quyền sử dụng 
STT Chức năng Độc giả Thủ thư
Quản trị
Hệ thống
1 Lập thẻ độc giả X X
2 Tiếp nhận sách mới X X
3 Tra cứu sách X X X
4 Cho mượn sách X X
5 Nhận trả sách X X
6 Lập báo cáo X X
7 Thay đổi qui định X
8 Sao lưu, phục hồi X
9 … X
Thủ thư và Quản trị phải đăng nhập trước khi sử dụng
COMP1026 – Introduction to Software Engneering Chapter 2a - 31 HIENLTH
Yêu cầu chức năng hệ thống (tt)
• Định cấu hình thiết bị, ngày giờ làm việc. 
– Chọn loại máy in, kích thước giấy, niên khoá 
hiện hành, tháng làm việc hiện tại…
• 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. 
– Báo động khi có khách hàng thiếu nợ quá lâu 
hay số tiền quá lớn.
COMP1026 – Introduction to Software Engneering Chapter 2a - 32 HIENLTH
Yêu cầu phi chức năng
• Yêu cầu về sản phẩm:
– Yêu cầu khả dụng
– Yêu cầu hiệu quả (về hiệu năng, về không gian), tốc độ xử lý
– Yêu cầu về độ tin cậy
– Yêu cầu khả chuyển
• Yêu cầu về tổ chức:
– Yêu cầu chuyển giao
– Yêu cầu triển khai
– Yêu cầu về chuẩn
• Yêu cầu mở rộng:
– Yêu cầu hoạt động bên trong
– Yêu cầu đạo đức
– Yêu cầu pháp lý
– Yêu cầu về cá nhân
– Yêu cầu an toàn
COMP1026 – Introduction to Software Engneering Chapter 2a - 33 HIENLTH
Xác định và thu thập yêu cầu
• Khái niệm:
– Quá trình nắm bắt yêu cầu
– Làm rõ yêu cầu
– Gợi mở yêu cầu
• Kỹ thuật thu thập yêu cầu:
– Phỏng vấn
– Bảng câu hỏi
– Nghiên cứu các tài liệu
– Quan sát thực tế
– Lập kịch bản (scenarios)
– Phân tích thiết kế nhóm (JAD)
COMP1026 – Introduction to Software Engneering Chapter 2a - 34 HIENLTH
Phỏng vấn
• Phỏng vấn cá nhân/phỏng vấn nhóm?
– Phỏng vấn cá nhân
– Phỏng vấn nhóm
• Phỏng vấn tự do/phỏng vấn có định hướng?
– Phỏng vấn tự do
• Người được hỏi có cảm giác thoải mái, cung cấp nhiều thông tin sâu 
sắc
• Nguy cơ: không có được những thông tin cần thiết, thông tin khó 
hệ thống được
– Phỏng vấn có định hướng
• Người được hỏi có thể cảm thấy không thoải mái, ít có khả năng ghi
nhận được nhận xét, ý kiến, suy nghĩ riêng của người được phỏng
vấn, ít cảm nhận được thái độ của họ đối với hiện trạng.
• Có thể định hướng nội dung cần tìm hiểu, có thể hệ thống hóa các 
vấn đề ghi nhận được
COMP1026 – Introduction to Software Engneering Chapter 2a - 35 HIENLTH
Phỏng vấn (tt)
– Làm việc với cấp lãnh đạo để nắm mục tiêu 
của hệ thống phần mềm cần xây dựng, 
những đối tượng cần phỏng vấn
– Yêu cầu cấp lãnh đạo thông báo xuống các 
phòng ban, đơn vị để hợp tác
– Phân tích để xác định đúng và đủ những đối 
tượng cần phỏng vấn
– Hẹn lịch làm việc
– Xác định trước vị trí/trách nhiệm của người 
sắp phỏng vấn
COMP1026 – Introduction to Software Engneering Chapter 2a - 36 HIENLTH
Phỏng vấn (tt)
– Khi tìm hiểu, cần ghi nhận các thông tin:
• Nội dung: cái gì?
• Bao giờ có: thời gian + thời hạn
• Bằng cách nào có nội dung thông tin đó
• Nội dung đó ở dạng gì?
• Đánh giá của người được phỏng vấn về tình hình 
hiện tại thực hiện nghiệp vụ
– Không nên: 
• Đưa nhận xét cá nhân của người phỏng vấn
• Dùng thuật ngữ/ngôn ngữ Tin học
COMP1026 – Introduction to Software Engneering Chapter 2a - 37 HIENLTH
Sử dụng bảng câu hỏi
• Phải trình bày rõ:
– Mục đích của bảng câu hỏi, 
– Mục đích sử dụng những thông tin trong bảng câu hỏi, 
– Tính bảo mật thông tin trả lời (không tiết lộ ai là người cung cấp thông 
tin, không để lộ ra ngoài tổ chức…)
• Hướng dẫn cách điền: rất cần thiết, cần lưu ý để tránh hiểu nhầm
• Thời hạn trả về
– Cần nhắc khi gần đến thời hạn
• Câu hỏi trình bày rõ ràng
• Hình thức bảng câu hỏi phải dễ dàng để xử lý tự động
• Cần để dành chỗ để ghi câu trả lời. 
– Thêm chỗ cho lời bình 
– Không phải chỉ ở cuối trang, hay cuối bảng câu hỏi, 
– Nên dự kiến những câu hỏi nào sẽ có ý kiến thêm thì nên có sẵn chỗ để 
ghi lời bình ngay dưới câu hỏi đó)
COMP1026 – Introduction to Software Engneering Chapter 2a - 38 HIENLTH
Nghiên cứu các tài liệu
• Các tài liệu (có thể tìm hiểu những văn bản chung)
• Những quy định nội bộ
• Các báo cáo liên quan
• Những quy định về quy trình nghiệp vụ
– Rất khó có đầy đủ văn bản quy định về quy trình nghiệp vụ
– Đơn vị đạt chuẩn ISO?
• Những quy định “bất thành văn” !!!
• Thường dễ tiến hành hơn kỹ thuật phỏng vấn hay bảng 
câu hỏi
• Thường được tiến hành trước làm cơ sở chuẩn bị cho 
việc phỏng vấn hay dùng bảng câu hỏi
COMP1026 – Introduction to Software Engneering Chapter 2a - 39 HIENLTH
Quan sát thực tế
• Tiến hành sau cùng (nếu cần thiết)
• Kiểm tra lại:
– Đã hiểu đúng nghiệp vụ hiện tại?
– Có những ngoại lệ?
– Phát hiện những khó khăn, lỗ hổng trong quy 
trình nghiệp vụ
COMP1026 – Introduction to Software Engneering Chapter 2a - 40 HIENLTH
Phương pháp lập kịch bản
• Ý tưởng:
– Xem phần mềm như một vở kịch
– Phân chức năng thành những tình huống sử 
dụng
– Mỗi tình huống sử dụng cho một kịch bản 
diễn
• Ưu điểm:
– Yêu cầu được gom nhóm và có cấu trúc
– Yêu cầu được mô tả chi tiết vả rõ ràng
COMP1026 – Introduction to Software Engneering Chapter 2a - 41 HIENLTH
Phương pháp lập kịch bản (tt)
Chức năng
(màn diễn)
Tình huống
(cảnh diễn)
Mô tả 
(kịch bản)
Đăng nhập Người dùng 
đăng nhập 
thành công
• Hệ thống: yêu cầu tên đăng nhập và mật khẩu
• Người dùng: cung cấp thông tin rồi đề nghị đăng nhập
• Hệ thống: Chuyển tới màn hình chính
Người dùng 
đăng nhập 
thành công
• Hệ thống: yêu cầu tên đăng nhập và mật khẩu
• Người dùng: cung cấp thông tin rồi đề nghị đăng nhập
• Hệ thống: thông báo sai và đề nghị cung cấp lại
Quản trị đăng 
nhập thành 
công
• Hệ thống: yêu cầu tên đăng nhập, mật khẩu và câu 
hỏi bí mật
• Người dùng: cung cấp thông tin rồi đề nghị đăng nhập
• Hệ thống: Chuyển tới màn hình chính
Quản trị đăng 
nhập thành 
công
• Hệ thống: yêu cầu tên đăng nhập, mật khẩu và câu 
hỏi bí mật
• Người dùng: cung cấp thông tin rồi đề nghị đăng nhập
• Hệ thống: thông báo sai và đề nghị cung cấp lại
COMP1026 – Introduction to Software Engneering Chapter 2a - 42 HIENLTH
Phân tích thiết kế nhóm - JAD
• JAD – Joint Application Design
• Kỹ thuật áp dụng cho các giai đoạn phân tích
yêu cầu và đặc tả
• Các nhà phát triển và khách hàng làm việc như
một nhóm chung và có trách nhiệm chung đối
với kết quả đầu ra.
• Nhóm làm việc sẽ thảo luận các yêu cầu cần có,
thiết kế các màn hình và báo cáo, xây dựng mô
hình định khung nhanh, rút ra các đặc tả
• Chủ yếu dựa trên sự đồng thuận (consensus)
COMP1026 – Introduction to Software Engneering Chapter 2a - 43 HIENLTH
References
• Slide bài giảng CNPM, ĐH KHTN, TpHCM.
• Trần Ngọc Bảo, Slide bài giảng CNPM, ĐH 
Sư phạm TpHCM.
COMP1026 – Introduction to Software Engneering Chapter 2a - 44 HIENLTH
Q & A
44
COMP1026 – Introduction to Software Engneering Chapter 2a - 45 HIENLTH
THE END

File đính kèm:

  • pdfBài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến - Chủ đề 2 Khảo sát hiện trạng và xác định yêu cầu (Phần 1).pdf