Giáo trình Kỹ nghệ phần mềm Giáo trình Kỹ nghệ phần mềm 50 CHƯƠNG 2 ĐẶC TẢ YÊU CẦU PHẦN MỀM Mục đích Sau khi học xong chương này, sinh viên sẽ có các kiến thức và kỹ năng sau đây Hiểu được khái niệm đ.
Trang 1CH NG 2
C T YÊU C U PH N M M
M c đích
Sau khi h c xong ch ng này, sinh viên s có các ki n th c và k n ng sau đây:
- Hi u đ c khái ni m đ c t yêu c u ph n m m
- Hi u đ c qui trình xác đ nh đ c t yêu c u ph n m m
- Bi t v n d ng các ph ng pháp thu th p thông tin đ xác đ nh đ c t yêu c u ph n
m m
- Có k n ng xây d ng m t đ c t yêu c u ph n m m cho m t bài toán c th
Tóm l c n i dung
Ch ng này trình bày khái ni m đ c t yêu c u ph n m m, các yêu c u đ t ra v i đ c t
yêu c u ph n m m theo quan đi m c a Heniger Ti p đó trình bày các n i dung và qui
trình xác đ nh yêu c u và phân tích yêu c u ph n m m Cu i cùng trình bày 4 ph ng
pháp thu th p thông tin ng d ng trong th c t là nghiên c u tài li u, quan sát, ph ng v n
và đi u tra b ng b ng h i
K t c u ch ng 2
2.1 Khái ni m đ c t yêu c u ph n m m
2.2 Xác đ nh yêu c u ph n m m
2.3 Phân tích yêu c u ph n m m
2.4 c t yêu c u ph n m m
2.5 T li u hóa đ c t yêu c u ph n m m
2.6 Các ph ng pháp thu th p thông tin
2.1 KHÁI NI M C T YÊU C U PH N M M
c t yêu c u ph n m m SRS (Software Requirement Specification- SRS) ch rõ ph m
vi c a s n ph m, các ch c n ng c n có, đ i t ng ng i s d ng ph n m m và các ràng
bu c khi s d ng s n ph m ây là tài li u chính th c cho ng i phát tri n ph n m m
Nhà khoa h c Heniger [5] đã đ a ra 6 yêu c u cho m t tài li u yêu c u ph n m m nh
sau:
- Ch mô t ho t đ ng c a h th ng t bên ngoài
- Ph i ch ra đ c các ràng bu c c a h th ng khi v n hành
- D thay đ i
Trang 2- Là tài li u tham kh o cho ng i b o trì h th ng
- D toán tr c đ c vòng đ i c a h th ng
- Mô t đ c các đáp ng đ i v i nh ng s c , thay đ i ngoài d tính
V i s n ph m ph n m m đ c xây d ng, vi c hi u đ y đ các đ c đi m c a nó là đi u không đ n gi n Quá trình xác đ nh các ch c n ng và các ràng bu c c a h th ng g i là tìm hi u và xác đ nh yêu c u có đ c đi u này thì c n ph i tr l i câu h i "cái gì-
What" ch không ph i là "nh th nào-How" Tìm hi u, xác đ nh và phân tích yêu c u là
b c hình thành bài toán, do v y các yêu c u c a bài toán c n ph i đ c tìm hi u và phân tích theo chi u r ng và theo chi u sâu mang đ n m t s n ph m ph n m m ch t l ng đáng tin c y thì vi c phân tích yêu c u là khâu vô cùng quan tr ng trong quá trình xây
d ng ph n m m Ho t đ ng này đòi h i s k t h p r t ch t ch gi a khách hàng và nhà phân tích đ xác đ nh xem chúng ta ph i phát tri n cái gì?
M c tiêu và yêu c u c a ph n m m là các yêu c u v ph n m m do ng i dùng 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, giao di n c a ph n m m
và m t s các yêu c u khác
Thông th ng các yêu c u ph n m m phân theo m c tr u t ng có th xác đ nh nh sau:
+ Các yêu c u c a ng i s d ng (User requirement): là nh ng phát bi u b ng ngôn ng
t nhiên cùng các bi u đ đ mô t các ch c n ng c a h th ng t ng lai ó là nh ng
phát bi u theo h ng ng i s d ng h th ng
+ Y êu c u h th ng (System requirement): nêu ra các d ch v c a h th ng và các ràng
bu c c a nó ây là tài li u đ c t ch c n ng c a h th ng nên c n ph i rõ ràng và chính xác Tài li u này là c s cho h p đ ng gi a khách hành và ng i phát tri n ph n m m
+ c t ph n m m (Software specification): Mô t t ng quát các ch c n ng c a ph n
m m tr giúp các ho t đ ng nghi p v làm c s đ thi t k và tri n khai ph n m m sau này Tài li u đ c t ph n m m sau khi đ c b sung thêm các chi ti t s tr thành tài li u
Trang 3qu n lý d án Ng i s d ng có th đ c c hai tài li u trên Cu i cùng đ c t yêu c u
ph n m m là tài li u h ng t i vi c tri n khai, dùng cho các k s ph n m m tham gia vào
3 Mõi khi ng i dùng ch n m t bi u t ng cho ki u file
ngoài thì công c thích h p s đ c áp d ng đ truy c p
cho ki u file đó
+ Ng i qu n lý c a khách hàng + Ng i qu n lý th u
+ Ng i dùng h th ng + K s c a khách hàng + Ng i thi t k h th ng + Ng i phát tri n ph n m m
Trang 4nhi u khi r t m h v ph n m m mà h mong mu n xây d ng H n th n a, ý t ng c a
ng i dùng th ng xuyên thay đ i và công vi c c a nhà phát tri n h th ng là ph i n m
- Ng i dùng có xu h ng liên t c thay đ i yêu c u
- Ng i dùng không hi u v quy trình phát tri n ph n m m H ngh phát tri n ph n
m m c ng t ng t nh nh ng công vi c hàng ngày c a h nên có th thay đ i
m t cách d dàng lúc nào c ng đ c
Nh ng v n đ t phía nhà phát tri n:
- Ngôn ng c a ng i dùng và nhà phát tri n không đ ng nh t v i nhau
- Nhà phát tri n c gò ép đ yêu c u c a ng i dùng kh p v i m t h th ng hay mô hình s n có thay vì phát tri n m t h th ng hoàn toàn m i theo nhu c u c a khách hàng và phù h p v i h th ng qu n lý mà h đang th c hi n
Ti n trình k ngh yêu c u bao g m m t s b c đ c bi u di n trong hình v sau đây:
Trang 5Khi m t công ty mu n ký m t h p đ ng cho m t d án phát tri n m t ph n m m, công
ty s phát bi u các yêu c u m c tr u t ng đ không b t bu c đ nh ngh a tr c các gi i pháp Các yêu c u ph i đ c vi t sao cho các nhà phát tri n ph n m m có th đ a ra các
gi i pháp khác nhau Sau khi đã trúng th u và ký h p đ ng, yêu c u ph i đ c làm rõ
h n đ khách hàng có th hi u và đánh giá đ c ph n m m C hai tài li u nói trên đ u
g i là tài li u yêu c u ng i dùng
Theo m c đ chi ti t có th chia ra các lo i tài li u yêu c u:
+ Xác đ nh yêu c u: đây là m t kh ng đ nh, b ng ngôn ng t nhiên h n là các s đ ,
v các d ch v h th ng c n cung c p và các ràng bu c mà h th ng ph i tuân theo Tài
li u này cung c p cho các đ i t ng: ng i qu n lý c a bên khách hàng, ng i dùng cu i
c a h th ng, k s c a khách hàng, ng i qu n lý ký k t h p đ ng, các ki n trúc s h
th ng
+ c t yêu c u: là tài li u đ c c u trúc mô t h th ng các d ch v chi ti t h n ôi
khi tài li u này đ c g i là đ c t ch c n ng ây có th coi là h p đ ng ký k t gi a khách hàng và nhà phát tri n ph n m m Tài li u này cung c p cho các thành ph n: ng i dùng cu i c a h th ng, k s c a khách hàng, các ki n trúc s h th ng, ng i phát tri n
ph n m m
+ c t ph n m m: là mô t tr u t ng h n c a ph n m m làm c s cho thi t k và
tri n khai Tài li u này cung c p cho các thành ph n: k s c a khách hàng, các ki n trúc
s h th ng, ng i phát tri n ph n m m
Xác đ nh yêu c u: là mô t tr u t ng các d ch v mà h th ng đ c mong đ i ph i
cung c p và các ràng bu c mà h th ng ph i tuân th khi v n hành Nó ch có các đ c t hình th c bên ngoài c a h th ng mà không liên quan đ n các đ c tính thi t k Nó ph i
đ c vi t sao cho ng i ta có th hi u đ c mà không c n m t ki n th c chuyên môn đ c
h p lý cho phiên b n đ u tiên c a tài li u yêu c u ph n m m V n đ là khi duy t l i
Trang 6ho c trong các pha sau này c a vòng đ i ph n m m, ng i ta phát hi n ra nh ng thi u sót
đó và ti n hành ch nh lý l i
V b n ch t, chúng ta ph i hi u và xác đ nh rõ nh ng yêu c u c a khách hàng Tuy nhiên, thông th ng bài toán đ c khách hàng phát bi u b ng ngôn ng t nhiên c ng thêm v i vi c dùng các b ng các bi u đ cho các ng i dùng d hi u (gi s r ng ng i dùng không bi t các khái ni m chuyên môn công ngh thông tin) Nh ng ngôn ng đ c dùng này l i th ng là không chính xác và m h , đôi khi có s l m l n gi a các khái
Các yêu c u đ c tìm hi u còn ch a các mâu thu n:
- Thi u rõ ràng: R t khó s d ng ngôn ng t nhiên mô t chính xác không
nh m l n mà không làm khó kh n cho ng i đ c
- Nh m l n yêu c u: Các yêu c u ch c n ng, các ràng bu c, m c đích c a h
th ng và các thông tin thi t k không đ c phân bi t rõ ràng
- Tr n l n yêu c u: M t s các yêu c u khác nhau có th đ c th hi n nh
là m t yêu c u đ n
gi i quy t mâu thu n này, chúng ta ph i nghiên c u k l nh v c ng d ng và th o
lu n v i ng i s d ng đ đ nh ngh a chính xác các yêu c u c a bài toán đ t ra Xác đ nh
rõ ràng và đ y đ bài toán là y u t quan tr ng góp ph n đ m b o thành công c a d án Nhi m v c a giai đo n này là xây d ng đ c các h s mô t chi ti t v các yêu c u,
nhi m v , ch c n ng c a h th ng t ng lai
2.2.2 ánh giá yêu c u
ánh giá các yêu c u ph n m m liên quan t i kh n ng h th ng đáp ng đ c đòi h i
c a khách hàng N u vi c đánh giá này không chính xác, các l i trong ph n đ c t yêu
c u s truy n t i thi t k h th ng và tri n khai h th ng Chi phí s a ch a l i s r t l n
S thay đ i v yêu c u ng ý r ng vi c thi t k và tri n khai c ng ph i thay đ i theo M t
s khía c nh c a yêu c u c n ph i đ c ki m ch ng:
Trang 7+ Giá tr : ng i dùng có th ngh r ng h th ng c n m t s ch c n ng, tuy nhiên sau m t
s phân tích, có th xác đ nh các ch c n ng khác c n đ c đ a vào Do h th ng có nhi u
lo i ng i s d ng nên có các yêu c u khác nhau và không th tránh kh i s th a hi p các nhu c u đó
+ Ch c ch n: m i yêu c u không đ c mâu thu n v i các yêu c u khác
+ Hoàn ch nh: đ nh ngh a c n ph i bao g m m i ch c n ng và các ràng bu c
+ Hi n th c: không có các yêu c u đ c bi t đ n m c phi hi n th c Có th d đoán tr c
các phát tri n ph n c ng, tuy nhiên phát tri n ph n m m thì khó d đoán h n
+ M u: là m t mô hình ch y đ c c a h th ng đ c trình bày v i ng i s d ng ây là
m t k thu t đánh giá yêu c u hi u qu Nó cho phép ng i dùng th nghi m v i h
th ng Vi c đánh giá l i yêu c u không nên đ c coi là công vi c ti p theo c a t li u hóa yêu c u sau khi đã hoàn thành Các xem xét v yêu c u đ nh k liên quan v i ng i dùng và k s ph n m m luôn luôn là đi u c n thi t
Các xem xét yêu c u có th là hình th c ho c phi hình th c Xem xét phi hình th c liên quan t i vi c th ng th o ký h p đ ng v i khách hàng Nhi u v n đ có th đ c
gi i quy t m t cách d dàng và b t ng khi nhà phát tri n h th ng trao đ i tr c ti p v i khách hàng i v i yêu c u xem xét chính th c, đ i phát tri n ph i d n d t khách hàng thông qua các yêu c u h th ng, gi i thích các tri n khai c a m i yêu c u Nhóm rà soát
ph i ki m tra m i yêu c u v đ th ng nh t, hoàn ch nh cho toàn b tài li u H ph i tr
l i các câu h i:
+ Có kh n ng ki m tra: tài li u có th ki m tra th c t đ c không?
+ Kh n ng hi u bi t: tài li u có đ c khách hàng hi u bi t th u đáo hay không?
+ L u v t: ngu n g c c a tài li u có đ c xác đ nh rõ ràng hay không? Có ph i quay l i ngu n g c ban đ u đ đánh giá nh h ng c a s thay đ i hay không?
+ Tính thích h p: các yêu c u đã phù h p hay ch a? Có th thay đ i các yêu c u mà không làm nh h ng l n đ n toàn b h th ng hay không?
2.3 PHÂN TÍCH YÊU C U
Nghiên c u k các yêu c u c a ng i s d ng và c a h th ng ph n m m đ xây d ng các đ c t v h th ng là c n thi t, nó s xác đ nh hành vi c a h th ng Nhi m v c a giai đ an này là ph i tr l i đ c các câu h i sau:
+ u vào c a h th ng là gì?
Trang 8+ Nh ng quá trình c n x lý trong h th ng, hay nói cách khác là h th ng ph n m m s
Hình 2.3 Qui trình phân tích yêu c u ph n m m
Trong toàn b quá trình phân tích, c n l u ý đ n tính kh thi c a d án, bao g m
kh thi v kinh t , kh thi v k thu t, kh thi v s h p pháp
+ Kh thi v kinh t : chi phí phát tri n ph i cân x ng v i l i ích mà h th ng đem
Trang 9- Mua s m: thi t b , v t t (ph n c ng), t v n, cài đ t thi t b , qu n lý và
ph c v vv
- Chi phí cho kh i công: ph n m m ph c v cho h th ng, h th ng liên l c (truy n d li u), nhân s ban đ u: đào t o - hu n luy n, c i t t ch c cho phù h p, vv
- Chi phí liên quan: chi phí nhân công ph c v nh p d li u, s a đ i, c p
nh t h th ng, chu n b tài li u, vv
- Chi phí liên t c bao g m: b o trì, thuê bao, kh u hao ph n c ng, chi phí
đ c chu n hóa, b o đ m an toàn và an ninh d li u, t ng thích và chuy n
đ i gi a các b ph n, truy c p và tìm ki m nhanh, k t n i và trao đ i di n
r ng vv
+ Kh thi v k thu t: đây là v n đ c n l u ý vì các m c tiêu, ch c n ng và hi u
su t c a h th ng theo m t cách nào đó là còn "m h " do v y xem xét các v n đ nh :
- R i ro xây d ng: các ph n t h th ng (ch c n ng, hi u su t) khi thi t k
và phân tích có t ng đ ng hay không?
- Có s n tài nguyên: có s n con ng i và tài nguyên c n thi t đ phát tri n h
th ng?
- Công ngh : các công ngh liên quan cho vi c phát tri n h th ng đã có s n hay ch a?
+ Kh thi v s h p pháp: có s xâm ph m, vi ph m hay khó kh n nào gây ra khi
xây d ng h th ng hay không?
2.4 C T YÊU C U PH N M M
Sau khi đã xác đ nh rõ bài toán thì b c ti p theo là tìm hi u xem h th ng t ng lai s yêu c u làm cái gì i u quan tr ng đây là ph i xây d ng đ c danh sách các yêu c u
c a ng i s d ng, trên c s đó ng i phát tri n đ a ra các đ c t cho h th ng
Ng i phát tri n h th ng ph i tr l i đ c các câu h i sau đây:
- u ra c a h th ng là gì?
Trang 10- H th ng s ph i làm gì đ có k t qu mong mu n, ngh a là ph i x lý
nh ng cái gì?
- Nh ng tài nguyên mà h th ng yêu c u là gì?
T c là ng i phát tri n h th ng ph i hi u rõ ngu n g c, các d ng thông tin c n cung
Chúng ta c n chú ý là trong m t s tr ng h p, s n y sinh nh ng yêu c u m i mà có
th là chúng ta ph i xây d ng l i h th ng T t nhiên đi u này s làm ch m ti n trình xây
d ng và làm t ng giá thành do m t vài lý do đ không th hoàn ch nh các đ c t đ i v i các h th ng nh :
- Các h th ng ph n m m qui mô l n th ng đòi h i c i ti n t hi n tr ng M c dù các khó kh n c a h th ng hi n t i có th xác đ nh đ c nh ng các nh h ng và hi u ng
Do các đ c t yêu c u thêm các thông tin vào đ nh ngh a yêu c u nên các đ c t th ng
đ c bi u di n cùng v i các mô hình h th ng đ c phát tri n trong quá trình phân tích yêu c u Nó c n bao g m m i thông tin c n thi t v yêu c u ch c n ng và ràng bu c c a
h th ng Phân tích yêu c u đ c ti p t c xác đ nh và đ c t khi các yêu c u m i n y sinh ây là tài li u th ng xuyên thay đ i và nên đ c ki m soát ch t ch
Ngôn ng t nhiên không hoàn toàn thu n ti n cho các nhà thi t k ho c các h p đ ng
gi a các khách hàng và cán b phát tri n h th ng vì m t s lý do nh sau:
+ Nh m l n do cách hi u các khái ni m khác nhau gi a hai bên
+ c t yêu c u ngôn ng t nhiên quá m m d o M t v n đ có th đ c mô t b ng quá nhi u cách khác nhau
+ Các yêu c u không đ c phân ho ch t t, khó tìm hi u các m i quan h , vv
Do v y ng i ta th ng dùng các thay th khác đ đ c t các yêu c u nh :
+ Ngôn ng t nhiên có c u trúc
Trang 11+ Ngôn ng mô t thi t k : gi ng ngôn ng l p trình nh ng có m c tr u t ng cao h n + Ngôn ng đ c t yêu c u
c t phi hình th c là đ c t s d ng ngôn ng t nhiên Tuy nó không đ c ch t ch
b ng đ c t hình th c nh ng đ c nhi u ng i bi t và có th dùng đ trao đ i v i nhau
đ làm chính xác hóa các đi m ch a rõ, ch a th ng nh t gi a các bên phát tri n h th ng
c t hình th c
c t hình th c là đ c t mà đó các t ng , cú pháp, ng ngh a đ c đ nh ngh a hình
th c d a vào toán h c c t hình th c có th coi là m t ph n c a ho t đ ng đ c t ph n
m m Các đ c t yêu c u đ c phân tích chi ti t Các mô t tr u t ng c a các ch c n ng
- Do chúng ta s d ng công c oán h c cho vi c đ c t nên có th d a vào các công
c toán h c khi phân tích và đi u này làm t ng thêm tính ch c ch n và tính đ y đ cho h th ng
Trang 12- c t hình th c, b n thân nó cho chúng ta m t cách th c cho vi c ki m tra h
- Ph n l n, nh ng ng i đ c t h th ng không đ c đào t o m t cách chính quy v
vi c s d ng đ c t hình th c cho vi c đ c t h th ng mà d a trên thói quen c a
Nguyên lý 2 C n s d ng ngôn ng đ c t h th ng theo h ng ti n trình, nh t là trong
tr ng h p môi tr ng luôn luôn bi n đ ng và s thay đ i c a nó nh h ng t i hành vi
Nguyên lý 6 c t ph i đ c c c b hóa và đ c n i ghép l ng l o c t làm c s cho thi t k và cài đ t, không ph i t nh mà là m t s v t đ ng, đang tr i qua thay đ i đáng k nên n i dung và c u trúc ph i phù h p S thay đ i khi c n s a đ i là không nhi u, ch m t ph n nh các thành ph n có th thêm vào hay lo i b t
Trang 13Nguyên lý 7 Tài li u đ c t ph n m m c n đ c c u trúc m t cách ch t ch , n i dung
đ y đ bao g m m c tiêu c a tài li u, các mô t chung, các yêu c u c th Ph i đ m b o
r ng sau này có th d dàng s a đ i và b sung mà không c n ph i vi t l i tài li u
2.5 T LI U HÓA YÊU C U PH N M M
Các yêu c u h th ng đ c trình bày trong tài li u các yêu c u ph n m m cho bi t
nh ng th cán b phát tri n h th ng c n bi t Tài li u này bao g m các đ nh ngh a v
yêu c u và các đ c t v các yêu c u
C u trúc chung c a tài li u yêu c u ph n m m g m các ph n nh sau:
+ Gi i thi u: mô t s c n thi t c a h th ng Nó c n s mô t s l c các ch c
n ng c a mình và gi i thích cách làm vi c v i các h th ng khác Nó c ng c n mô t làm
th nào h th ng đáp ng đ c toàn b các m c tiêu chi n l c và nghi p v đ ra
+ Thu t ng : đ nh ngh a các khái ni m k thu t đ c s d ng trong tài li u
+ Mô hình h th ng: ph n này l p m t ho c nhi u mô hình h th ng cho bi t các
quan h gi a các c u thành h th ng v i h th ng và môi tr ng c a nó
+ nh ngh a yêu c u ch c n ng: các d ch v cung c p cho ng i dùng c n đ c
mô t trong m c này Mô t có th dùng ngôn ng t nhiên, s đ ho c các d ng ghi chép
khác cho phép khách hàng có th hi u đ c
+ nh ngh a yêu c u phi ch c n ng: bao g m các tiêu chu n v s n ph m và quy
trình c n tuân th
+ Ti n tri n h th ng: ph n này mô t các gi thi t c n b n làm c s cho h th ng
và d đoán các thay đ i v phát tri n ph n c ng, yêu c u ng i dùng
+ c t yêu c u: mô t các yêu c u c b n chi ti t h n N u c n các chi ti t h n
có th đ c thêm vào các yêu c u phi ch c n ng, ví d giao di n v i các h th ng có th
Trang 14- Ch m c có th đ c cung c p Ví d ch m c theo ch cái, ch m c theo
ch ng, theo ch c n ng vv
Do h th ng đ c v n hành trong th i gian dài, nên môi tr ng h th ng và m c đích nghi p v có th thay đ i Khi đó tài li u yêu c u c ng c n ph i thay đ i V i m c đích ti n tri n, tài li u yêu c u th ng đ c chia theo hai phân lo i:
- Các yêu c u n đ nh: đ c suy d n t các ho t đ ng c t lõi c a t ch c t ng đ i liên quan tr c ti p t i mi n h th ng
- Các yêu c u b t th ng: các yêu c u có th thay đ i khi phát tri n h th ng sau này nh : các yêu c u xu t hi n nh là s hi u bi t c a khách hàng v s phát tri n
c a h th ng trong quá trình xây d ng h th ng, các yêu c u đ c sinh ra do s
xu t hi n c a vi c tin h c hóa làm thay đ i các quy trình nghi p v , vv
Tài li u đ c t c n đ c c u trúc sao cho sau này có th d dàng s a đ i mà không c n
ph i vi t l i C u trúc tài li u yêu c u ph n m m theo chu n IEEE/ANSI 830-1993 nh sau:
2.6 CÁC PH NG PHÁP THU TH P D LI U
1 Gi i thi u 1.1 M c tiêu c a tài li u 1.2 Ph m vi c a s n ph m 1.3 Các đ nh ngh a, ch vi t t t 1.4 Tài li u tham kh o
1.5 T ng quan v tài li u
2 Mô t chung 2.1 Các đ c đi m c a s n ph m 2.2 Các ch c n ng c a s n ph m 2.3 Các đ c tr ng ng i dùng 2.4 Các ràng bu c chung 2.5 Các gi đ nh và các s ph thu c
3 Các yêu c u c th
4 Ph l c
5 Các ch s ch d n