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

Bài 4 Phân tích, đặc tả 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 (525.48 KB, 78 trang )

Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN
Email:
K ngh phn mm
Software Engeneering
B mụn Cụng ngh phn mm HCN
2
NguynVnV
Bi 4: Phõn tớch, c t yờu cu
Ni dung
Khái niệm v tầm quan trọng
Phân loại các yêu cầu
Phân tích v xác định yêu cầu
Đặc tả yêu cầu
Định dạng ti liệu yêu cầu
B môn Công ngh phn mm – HCN
3
NguynVnV
TÀI LiU THAM KHO
1. Nguyn Vn V, Nguyn Vit Hà. Giáo trình k ngh phn
mm. Nhà xut bn i hc Quc gia Hà ni, 2008
2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified
Modeling language User Guid. Addison-Wesley, 1998.
3. M. Ould. Managing Software Quality and Business Risk, John
Wiley and Sons, 1999.
4. Roger S.Pressman, Software Engineering, a Practitioner’s
Approach. Fifth Edition, McGraw Hill, 2001.
5. Ian Sommerville, Software Engineering. Sixth Edition, Addison-
Wasley, 2001.
6. Nguyn Vn V. Phân tích thit k h thng thông tin hin đi.
Hng cu trúc và hng đi tng, NXB Thng kê, 2002, Hà
Ni.


B mụn Cụng ngh phn mm HCN
4
NguynVnV
Khái niệm, tầm quan trọng
Xác định v đặc tả yêu cầu:
L khâu kỹ thuật đầu tiên của quá trình phát triển
phần mềm. Thiếu nó không thể tiếp tục quá trình
L sự phối hợp của cả nh phát triển v khách
hng
Nó quyết định chất lợng phần mềm đạt đợc với
chi phí d kin v thời hạn cho trớc.
B mụn Cụng ngh phn mm HCN
5
NguynVnV
Các yêu cầu v mục tiêu
Các yêu cầu l các mô tả từ trừu tợng đến chi tiết về
dịch vụ m hệ thống cung cấp cũng nh các rng
buộc lên sự phát triển v hoạt động của nó
Mục đích các yêu cầu:
Lm cơ sở cho việc mời thầu (cần có giải thích)
Lm cơ sở ký kết hợp đồng thầu (cần đủ chi tiết)
Lm t liệu u vo cho thiết kế v triển khai
(cần đầy đủ, chính xác, không mâu thuẫn )
B môn Công ngh phn mm – HCN
6
NguynVnV
Gi¸ ph¶i tr¶ cho viÖc t×m vμ söa lçi
100
100
mc chi phí

(ln)
M
M


c chi ph
c chi ph
í
í
ph
ph


i tr
i tr


do s
do s
ó
ó
t l
t l


i qua c
i qua c
á
á
c giai đoan

c giai đoan
10
10
1
1
xác đnh
y.cu
thit
k

hóa
kim
th
k.th
tích hp
a vào
s dng
0.75
0.75
1.0
1.0
1.5
1.5
3.0
3.0
10.0
10.0
60
60
-

-
100
100
B mụn Cụng ngh phn mm HCN
7
NguynVnV
Các loại yêu cầu
Yêu cầu ngời dùng:
Đơn giản, dễ hiểu
Diễn đạt bằng ngôn ngữ tự nhiện v sơ đồ
Nêu rõ dịch vụ hệ thống cung cấp v các rng buộc trong
hoạt động của nó
Yêu cầu hệ thống:
Mô tả đủ chi tiết về các dịch vụ hệ thống cung cấp
Các đặc trng m hệ thống cần có
Nh một hợp đồng giữa khách hng v nh thầu
Yêu cầu khi đặc tả (phần mềm)
Đủ chi tiết lm cơ sở cho thiết kế v triển khai
B mụn Cụng ngh phn mm HCN
8
NguynVnV
Những ngời đọc yêu cầu
Ngời dùng hệ thống
Ngời quản lý của khách hng
Kỹ s của khách hng
Ngời quán lý nh thầu
Nh kiến trúc hệ thống
Các nh phát triển v bảo trì phần mềm
ơ yêu cầu viết ra cần đáp ứng đợc tất các đối tợng
B mụn Cụng ngh phn mm HCN

9
NguynVnV
Yêu cầu từ nghiệp vụ
Các yêu cầu chức năng
Mô tả các chức năng hay các dịch vụ m hệ thống phần
mềm cần cung cấp

Các yêu cầu phi chức năng
Mô tả các rng buộc đặt lên dịch vụ v quá trình phát triển
hệ thống (về chất lợng, về môi trờng, chuẩn sử dụng, qui
trình phát riển )

Các yêu cầu miền/lĩnh vực (ngoi)
Những yêu cầu đặt ra từ miền ứng dụng, phản ảnh những
đặc trng của miền đó
B mụn Cụng ngh phn mm HCN
10
NguynVnV
Các yêu cầu chức năng
Mô tả chức năng hay các dịch vụ của hệ thống
Chúng phụ thuộc vo:
loại phần mềm sẽ đợc xây dựng
sự mong muốn của khách hng
loại hệ thống m phần mềm trợ giúp

Mức độ các yêu cầu:
trừu tợng: hệ thống lm gì

chi tiết: nhiệm vụ cụ thể hệ thống cần thực hiện
B mụn Cụng ngh phn mm HCN

11
NguynVnV
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ớ cần, giao diện
Yêu cầu về tổ chức/ tiến trình phát triển:
các chuẩn áp dụng, phơng pháp thiết kế, ngôn ngữ lập trình,
mô hình tiến trình
Yêu cầu từ bên ngoi:
về chi phí, về thời gian, bản quyền, liên kết
B mụn Cụng ngh phn mm HCN
12
NguynVnV
Các loại yêu cầu phi chức năng
r
Yêu cầu cá
nhân
Yêu cầu về
an toàn
Yêu cầu đạo

Yêu cầu hiệu
quả
Yêu cầu khả
dụng
Yêu cầu
không gian
Yêu cầu về
hiệu năng
Yêu cầu sản

phẩm
Yêu cẩu triển
khai
Yêu cầu
chuyển giao
Yêu cầu khả
chuyển
Yêu cầu tin
cậy
Yêu cầu
pháp lý
Yêu cầu hoạt
động bên trong
Yêu cầu về
chuẩn
Yêu cầu từ
bên ngoài
Yêu cầu về
tổ chức
Yêu cầu phi
chức năng
B mụn Cụng ngh phn mm HCN
13
NguynVnV
Tiến trình kỹ nghệ yêu cầu
Các hoạt động của tiến trình kỹ nghệ:
Nghiên cứu khả thi ồ Dự án khả thi
Phân tích, xác định yêu cầu ồ Mô hình hệ thống
Đặc tả yêu cầu ồ Các yêu cầu đợc đặc tả
Thẩm định yêu cầu ồ Ti liệu yêu cầu

B mụn Cụng ngh phn mm HCN
14
NguynVnV
Sơ đồ tiến trình kỹ nghệ yêu cầu
Nghiên cứu
khả thi
Báo cáo
khả thi
Phân tích, xác
định yêu cầu
Đặc tả
yêu cầu
Thẩm định
yêu cầu
Các đặc tả
yêu cầu
Mô hình
hệ thống
Tài liệu
Yêu cầu
B mụn Cụng ngh phn mm HCN
15
NguynVnV
Nghiên cứu khả thi
Mục tiêu của nghiên cứu khả thi l đi đến kết luận:
Có nên phát triển hệ thống hay không?
Nội dung nghiên cứu khả thi tập trung để trả lời các câu
hỏi sau:
Hệ thống đợc xây dựng sẽ giúp gì cho tổ chức?
Hệ thống sử dụng công nghệ no, kinh phí bao

nhiêu, thời gian bao lâu?
Hệ thống cần phải tích hợp với các hệ thống no
đang sử dụng?
B mụn Cụng ngh phn mm HCN
16
NguynVnV
Triển khai nghiên cứu khả thi
Báo cáo khả thi đợc viết dựa trên thông tin, báo cáo thu
thập đợc, những đánh giá ban đầu về hệ thống hiện tại
v phác hoạ các phơng án dự kiến
Câu hỏi đặt ra cho ngời của tổ chức:
Cái gì xẩy ra nếu hệ thống không đợc triển khai?
Những vấn đề gì đang đặt ra cần giải quyết?
Hệ thống đợc đề suất trợ giúp họ nh thế no?
Những tích hợp gì cần phải có?
Công nghệ mới gì, kỹ năng gì cần có?
Những tiện ích gì cần sự trợ giúp từ hệ thống
B mụn Cụng ngh phn mm HCN
17
NguynVnV
Phân tích tìm ra yêu cầu
Phân tích v xác định yêu cầu: còn gọi l phát hiện yêu
cầu.
Các nh kỹ thuật cùng với khách hng (ngời dùng, kỹ s,
nh quản lý, chuyên gia miền, ) lm rõ:
phạm vi lĩnh vực ứng dụng
các dịch vụ m hệ thống cần cung cấp
các rng buộc đặt lên hoạt động của nó
Bằng cách xây dựng các mô hình phân tích (mô hình
nghiệp vụ của hệ thống

) để lm rõ các yêu cầu trên
B mụn Cụng ngh phn mm HCN
18
NguynVnV
Những khó khăn của phân tích
Khách hng thờng mơ hồ về yêu cầu, không biết rõ
mình muốn gì, dễ lẫn lộn giữa yêu cầu v mong muốn.
Họ thể hiện yêu cầu theo thuật ngữ riêng
Khách hng đa dạng, có thể có yêu cầu mâu thuẫn
Những yếu tố tổ chức v chính sách có thể ảnh hởng
đến yêu cầu
Yêu cầu thờng mang tính đặc thù, khó hiểu, khó có
chuẩn chung
Các yêu cầu thay đổi trong quá trình phân tích: môi
trờng nghiệp vụ thay đổi, có ngời liên quan mớí
B mụn Cụng ngh phn mm HCN
19
NguynVnV
Mục tiêu, mong muốn v yêu cầu
Mục tiêu, mong muốn : l cái hớng tới
Ví dụ:"xây dựng giao diện thân thiện với ngời dùng"
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 thực đơn hay biểu tợng"
nhiệm vụ của ngời phân tích l gợi mở, xác định
đúng, đầy đủ, chính xác các yêu cầu
B mụn Cụng ngh phn mm HCN
20
NguynVnV
Tiến trình phân tích yêu cầu

Các hoạt động chính bao gồm:
Tìm hiểu miền ứng dụng
Phát hiện, thu thập yêu cầu
Phân loại yêu cầu
Giải quyết xung đột (nếu có)
Sắp u tiên các yêu cầu
Thẩm định yêu cầu
B mụn Cụng ngh phn mm HCN
21
NguynVnV
Tiến trình phân tích yêu cầu
hiểu miền
ứng dụng
thu thập
yêu cầu
phân loại
giải quyết
xung đột
Sắp
u tiên
thẩm định
yêu cầu
đặc tả
yêu cầu
B môn Công ngh phn mm – HCN
22
NguynVnV
C¸c nguyªn lý
1. M« hinh hãa miÒn th«ng tin
Ph¶i hiÓu vμ biÓu diÔn ®−îc miÒn th«ng tin

(problem domain):
º X¸c ®Þnh c¸c thùc thÓ d liÖu (®èi t−îng)
º 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
B mụn Cụng ngh phn mm HCN
23
NguynVnV
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
Xác định các chức nng (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 (ngun
) v tác nhân tip
nhn d liệu (ích
)
ơ Mô hình chung của mọi quá trình xuất sản :
Các
đích
(ra)
Các
Nguồn
(vào)
Sản xuất
(xử lý)
Quy tắc nghiệp vụ, điều khiển
B mụn Cụng ngh phn mm HCN
24
NguynVnV
3. Mô hình hóa hnh vi

Phần mềm (hệ thống) có trạng thái (hnh vi)
xác định các trạng thái của hệ thống
ví dụ: giao diện đồ họa, phần trong ứng dụng web
xác định các dữ kiện lm thay đổi hnh vi hệ thống
ví dụ: máy xay các phê có 2 trạng thái: nghỉ, lm việc
1. nghỉ
2.Pha c phê
bật công tắc
tắt công tắc
- bật đèn
- cho nớc
- mở bếp, pha
-tắt đèn
- tắt bếp
B mụn Cụng ngh phn mm HCN
25
NguynVnV
4. Phân hoạch, lm mịn
Lm mịn, phân hoạch v biểu diễn các mô tả ở các mức
chi tiết khác nhau
lm mịn các mô hinh dữ liệu
tạo cây (biểu đồ) phân rã chức năng
biểu diễn hnh vi ở các mức chi tiết khác nhau
Bán hng
Nhận yêu cầu
Gom hng
Giao hng
Thanh toán

×