Tải bản đầy đủ (.pdf) (75 trang)

Bài giảng môn Công nghệ phần mềm - Chương 4: Quy trình xác định các yêu cầu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (394.02 KB, 75 trang )

Chng
4
Bài 2

QUY
TRèNH
XC
NH
YấU
CU
Phân tích và đặc tả yêu cầu

1


Phân tích và đặc tả yêu cầu
ã Vai trò của phân tích và đặc tả
ã Một số kỹ thuật mô hình hóa
ã Đặc tả yêu cầu
ã Định dạng tài liệu yêu cầu

2


Tài liệu
N.V. Vỵ, N. V. Hà, Giáo trình kỹ nghệ phần

mềm, chơng 2.
N.V. Vỵ, Phân tích thiết kế HTTT hiện đại
Hớng cấu trúc và hớng đối tợng, NXB
Thèng kª


„ Zhiming Liu, Object-Oriented Software
Development with UML, UNU/IIST Report
„ Sommerville, Software Engineering
„ Pressman, Software Engineering
3


Khái niệm, tầm quan trọng
Phân tích yêu cầu là khâu kỹ thuật đầu tiên, bao

gồm nhiều bớc nhỏ:





nghiên cứu khả thi
phân tích, mô hình hóa
đặc tả,
thẩm định yêu cầu

Là sự phối hợp cả nhà phát triển và khách hàng
Có vai trò đặc biệt quan trọng trong tiến trình

phát triển phần mềm
4


Giá phải trả cho sự tìm và sửa lỗi


5


Quá trình hình thành yêu cầu

6


2.1 Phân tích yêu cầu
ã Tìm hiểu xem hệ thống cần làm cái gì?
ã Cần tuân thủ những ràng buộc gì?
(tài liệu yêu cầu là cơ sở của hợp đồng đợc ký)
"Đặc tả yêu cầu phần mềm"

bài toán

ã hiểu vấn đề
ã chi tiết hóa
ã biểu diễn lại

đặc tả
7


Phân tích yêu cầu: các công đoạn
Xác định khách hàng, cùng khách hàng phát hiện các

yêu cầu
Xây dựng mô hình phân tích (hiểu bài toán)


dữ liệu
chức năng
trạng thái


Làm bản mẫu đối với các chức năng cha rõ ràng
Tạo đặc tả yêu cầu phần mềm
Thẩm định đặc tả yêu cầu

8


Khó khăn của phân tích
Khách hàng chỉ có khái niệm mơ hồ về yêu

cầu


ngời phát triển phải chi tiết hóa thành các
yêu cầu phần mềm có thể phát triển đợc

Khách hàng rất hay thay đổi yêu cầu


ngời phát triển cần tỉnh táo để xác định đúng
các yêu cầu (cái gì là cốt yếu, bền vững)

9



Khó khăn trong phân tích(t)
ã Các yêu cầu thờng mang tính đặc thù
- khó hiểu, khó định nghĩa
- không có chuẩn biểu diễn
ã Hệ thống đa ngời sử dụng
- yêu cầu đa dạng, mức u tiên khác nhau
- yêu cầu mâu thuẫn nhau
ã Ngời đặt hàng khác ngời dùng thực sự
không nắm vững yêu cầu
10


Mục tiêu và yêu cầu
ã Mục tiêu: là cái hớng tới
Ví dụ:Có giao diện thân thiện"
ã Yêu cầu: là cái cụ thể kiểm tra đợc
Ví dụ: "Giao diện đồ họa có các lệnh đợc
chọn bằng menu"
nhiệm vụ của ngời phân tích là
xác định các yêu cầu
11


Các loại yêu cầu
Có thể phân loại yêu cầu phần mềm thành:
ã Yêu cầu chức năng
mô tả một chức năng (dịch vụ) cụ thể
mà phần mềm cần cung cấp
ã Yêu cầu phi chức năng
các ràng buộc về chất lợng, về môi trờng,

chuẩn sử dụng, qui trình phát triển...phần mềm

12


Yêu cầu phi chức năng
ã Yêu cầu về sản phẩm
tốc độ, độ tin cậy, bộ nhớ, giao diện,
qui trình tác nghiệp,
ã Yêu cầu về tiến trình phát triển
các chuẩn, phơng pháp thiết kế,
ngôn ngữ lập trình...
ã Yêu cầu ngoại lai
về chi phÝ, vỊ b¶n qun,...
13


Tiến trình phân tích yêu cầu

14


Nguyên lý phân tích 1

Mô hình hóa miền thông tin
Phải hiểu và biểu diễn đợc miền thông tin
(problem domain):
định danh dữ liệu (đối tợng, thực thể)
xác định các thuộc tính của chúng
thiết lập các mối quan hệ giữa các dữ liệu



15


Nguyên lý phân tích 2

Mô hình hóa chức năng
Bản chất của phần mềm là biến đổi thông tin




định danh các chức năng (biến đổi thông tin)
xác định cách thức dữ liệu (thông tin) di chuyển
trong hệ thống (luồng dữ liệu)
xác định các tác nhân tạo dữ liệu và tác nhân tiêu
thụ dữ liệu (tác nhân)

16


Nguyên lý phân tích 3

Mô hình hóa hành vi
Phần mềm (hệ thống) có trạng thái (hành vi)
xác định các trạng thái của hệ thống

ví dụ: giao diện đồ họa, phần mềm điều khiển,
xác định các dữ kiện làm thay đổi hành vi hệ thống

ví dụ: bàn phím, chuột, các cổng thông tin...


17


Nguyên lý phân tích 4

Phân hoạch, làm mịn các mô hình
Làm mịn, phân hoạch và biểu diễn các mô hình ở
các mức khác nhau
làm mịn các mô hình dữ liệu
tạo cây (mô hình) phân rà chức năng
biểu diễn hành vi ở các mức chi tiết khác nhau

18


Nguyên lý phân tích 5

Tim hiểu vấn đề bản chất
Nhìn nhận bản chất của yêu cầu (làm gì?,

điều kiện gì?) - What?
Cha quan tâm đến cách thức cài đặt (làm
nh thế nào?) How?

19



Phơng pháp thu thập yêu cầu
ã Phỏng vấn
ã Quan sát
ã Điều tra bằng bảng hỏi
ã Nghiên cứu tài liệu
ã Joint Application Design - JAD

20


Phỏng vấn
ã Chuẩn bị:
kế hoạch, danh sách tham dự, địa điểm, ...

ã Câu hỏi:
- câu hỏi có/không
- câu hỏi mô tả

ã Cách thức tiến hành:
- theo nhóm, ít nhất 2 ngời
- phân công hỏi và ghi chép

21


Các mức trừu tợng của yêu cầu
Yêu cầu nên đợc biểu diễn ở nhiều mức trừu tợng
khác nhau
Có nhiều đối tợng ngời đọc:
ã ngời sử dụng

ã nhà quản lý
ã lập trình viên
ã kỹ s bảo trì

22


Các mức trừu tợng của yêu cầu
Xác định yêu cầu:
ã mô tả các dịch vụ mà phần mềm cung cấp
ã viết bằng ngôn ngữ tự nhiên
ã hớng ngời dùng
Đặc tả yêu cầu:
ã tài liệu có cấu trúc
ã mô tả chi tiết, chính xác về yêu cầu
ã dùng làm bản hợp ®ång
23


Ví dụ: chức năng kiểm tra chính tả
Định nghĩa: thông báo các lỗi chính tả của văn bản
Đặc tả:
- các lỗi chính tả đợc gạch đỏ bên dới
- lỗi soạn thảo đợc gạch xanh bên dới
Lỗi chính tả:
- từ đơn không có trong từ điển
Lỗi soạn thảo:
- thừa dấu cách
- không viết hoa đầu câu
24



Đòi hỏi đối với đặc tả yêu cầu
ã Tính đầy đủ
- mọi yêu cầu của ngời dùng phải đợc mô tả
ã Tính không đợc mâu thuẫn lẫn nhau
ã Tính chính xác: yêu cầu không đợc mơ hồ
- ngời phát triển sẽ làm cái nhỏ nhất
- chi phí phát sinh do sửa đổi yêu cầu rất cao

25


×