Mô t ả ch ứ c n ă ng c ủ a h ệ th ố ng Ví d ụ Người sửdụng có thểtìm kiếm các tài liệu dựa trên từkhóa chứa trong tài liệu hoặc tên tài liệu Hệthống cần cung cấp cho người sửdụng phươ
Trang 1Phân tích và ñặ c t ả
Khoa Công nghệ Thông tin
Trường ðại học Bách khoa
ðại học ðà Nẵng
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
Trang 2Phân tích và ñặ c t ả yêu c ầ u là ti ế n
trình xác ñị nh:
các d ị ch v ụ /ch ứ c n ă ng mà khách
hàng yêu c ầ u t ừ h ệ th ố ng
các ràng bu ộ c mà h ệ th ố ng ñượ c phát
tri ể n và v ậ n hành
M ộ t yêu c ầ u có th ể là t ừ m ộ t phát bi ể u
th ố ng cho ñế n m ộ t ñặ c t ả toán h ọ c r ấ t chi
ti ế t
Yêu c ầ u là
năng lực của phần mềm mà người sửdụng
cần ñểgiải quyết vấn ñề ñặt ra nhằm ñạt
ñược mục ñích xác ñịnh
năng lực của phần mềm cần có nhằm thỏa
mãn một hợp ñồng, một chuẩn, một ñặc tả
Trang 3Yêu c ầ u ng ườ i s ử d ng
các phát bi ể u b ằ ng ngôn ng ữ t ự nhiên (và các s ơ ñồ ) v ề
d ị ch v ụ và ràng bu ộ c mà h ệ th ố ng cung c ấ
dành cho khách hàng
Yêu c ầ u h ệ th ố ng
tài li ệ u có c ấ u trúc mô t ả chi ti ế t các d ị ch v ụ c a h ệ th ố ng
là h ợ p ñồ ng gi ữ a khách hàng và ngườ i phát tri ể
ðặ c t ả ph ầ n m ề m
mô t ả chi ti ế t v ề ph ầ n m ề m, nh ằ m ph ụ c v ụ cho thi ế t k ế , mã
hóa
dành cho ng ườ i phát tri ể
Client man ag ers
Sy stem end -us ers Client en gineers
Co ntracto r man ag ers
Sy stem architects
Sy stem end -us ers Client en gineers
Sy stem architects
So ftware d ev elo pers
Client en gineers (perh ap s)
Sy stem architects
So ftware d ev elo pers
Us er req uirements
Sy stem requ irements
So ftware d esign
specificatio n
Trang 4Yêu c ầ u ch ứ c n ă ng
phát biểu vềcác dịch vụ/chức năng mà hệ
thống cần cung cấp
• h th ố ng c ầ n tr ả l ờ i các s ự ki ệ n hay d ữ li ệ u vào
nh ư th ế nào
Yêu c ầ u phi ch ứ c n ă ng
các ràng buộc trên các dịch vụ/chức năng
của hệthống
• th ờ i gian
• ti ế n trình phát tri ể
• chu ẩ n
Mô t ả ch ứ c n ă ng c ủ a h ệ th ố ng
Ví d ụ
Người sửdụng có thểtìm kiếm các tài liệu
dựa trên từkhóa chứa trong tài liệu hoặc tên
tài liệu
Hệthống cần cung cấp cho người sửdụng
phương tiện hiển thịdễdàng các tài liệu từ
CSDL
Hệthống phải ñọc ñược các ñịnh dạng khác
nhau của tài liệu: văn bản (text), pdf, doc,
bảng tính Excel
Trang 5S ự không chính xác c ủ a yêu c ầ u
yêu cầu không ñược phát biểu chính xác
yêu cầu nhập nhằng có thể ñược hiểu các
cách khác nhau bởi người sửdụng và người
phát triển
Ví dụ“hiển thịd dàng”
• ng ườ i s ử d ng: có th ể hi ệ n các lo ạ i tài li ệ u khác
nhau
• ng ườ i phát tri ể n: cung c ấ p giao di ệ n hi ể n th ị tài
li ệ u ở ch ế ñộ văn bả n
Trên nguyên t ắ c, yêu c ầ u ph ả i th ỏ a mãn:
ñầ y ñủ
• yêu c ầ u ph ả i mô t ả ñầ y ñủ các ch ứ c n ă ng c ầ n thi ế t
g n bó
• các yêu c ầ u ch ứ c n ă ng ph ả i không mâu thu ẩ n l ẫ n nhau
Trong th ự c t ế
không ñơ n gi ả n ñể có ñượ c yêu c ầ u ñầy ñủvà gắn
bó
có th ể trong quá trình phát tri ể n, các v ấ n ñề ñượ c
phát hi ệ n và ch ỉ nh s ử a yêu c ầ
Trang 6ðị nh ngh ĩ a các tính ch ấ t và ràng bu ộ c c ủ a h ệ th ố ng
yêu c ầ u ti ế n trình
• ph ươ ng pháp thi ế t k ế
• ngôn ng ữ l ậ p trình
• công c ụ c ử d ng
th ờ i gian tr ả l ờ i
ñộ tin c ậ y
yêu c ầ u v ề lưu trữ d ữ li ệ
Yêu c ầ u phi ch ứ c n ă ng có th ể quan tr ọ ng h ơ n yêu c ầ u
ch ứ c n ă ng
n u yêu c ầ u phi ch ứ c n ă ng không ñượ c ñ áp ứ ng, h ệ
th ố ng tr ở nên vô d ụ ng
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,
Trang 7Perfo rmance
requirements
Sp ace
requ ir ement s
Us ab ilit y
requirements
Ef ficiency
requ ir ement s
Reliability requ ir ements
Po rtability requ irement s
Intero perability requirements
Ethical requ irement s
Leg islative requ irements Implementatio n
requ ir ements
Stand ards requ irements Delivery
requ irements
Safety requ irements Priv acy
requ irements
Pro du ct requ ir ements
Or g an izatio nal requ ir ements
Ex ternal requ irement s
No n-fu nctio nal requ ir ements
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
Trang 8ð o l ườ ng yêu c ầ u
Speed Processed transactions/second
User/Event response time Screen refresh time
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
(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
Trang 9Ư 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
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
Trang 10(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 ả
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)
Trang 11Ng ườ 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
s y s t 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 s t e m te s t
e n g in e e r s
M a n a g e r s
S y s t 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 s t 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 s y s t e m a n d
t h e r e l a ti o n s h ip s b e tw e e n it s
p ar t s
S y s t e m
m a in te n a n c e
e n g in e e r s
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
Trang 12Gi ớ 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
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
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
Trang 13Phâ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
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
Trang 14Phâ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
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
Trang 15Xá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
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
Trang 16Cá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
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ì ?
Trang 17Ph ỏ 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
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
Trang 18Chu ẩ 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 ạ ñộ 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 ạ
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
Trang 19Mô 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 ầ
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
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
Trang 20Ki ể 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 ?
Th ẩ m ñị nh các yêu c ầ u (reviews)
Th ườ ng xuyên th ẩ m ñị nh yêu c ầ
C ả khách hàng và ngườ i phát tri ể n ñề u ph ả i th ẩ m
ñị nh yêu c ầ
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