ớ
ệ
ầ
ề
i thi u chung v
Gi
ề
ệ
Công ngh ph n m m
BM CNPM – Khoa CNTT –
HVKTQS
10/2012
ệ
ả
ọ
Tài li u tham kh o môn h c
ụ
ệ
ề
R. Pressman, K ngh ph n m m. T p 1, 2, 3. NXB Giáo d c, Hà
ộ
ỹ
ườ ị
ậ
ệ
N i, 1997 (Ng
ầ
i d ch: Ngô Trung Vi
t).
R. Pressman, Software Engineering: A Practioner’s Approach. 5th
Ed., McGrawHill, 2001
I. Sommerville, Software Engineering. 5th Ed., AddisonWesley, 1995
Pankaj Jalote, An Integrated Approach to Software Engineering, Third
Edition, Springer.
Wendy Boggs, Michael Boggs. Mastering UML with Rational Rose
2002. Copyright © 2002 SYBEX Inc.
ế ế
ố ượ
ướ
ậ
t k và L p trình H ng đ i t
ng
ệ
Đoàn Văn Ban. Phân tích, Thi
ố
t nam.
1997 Nxb Th ng kê Vi
ớ
ệ
Gi
i thi u chung
ị
ề
ề
ầ
ề
ầ
ệ
ử ế
ề
ị
ệ
ầ
ườ
ấ
ẽ
ồ
ả
ạ
ầ
Đ nh nghĩa ph n m m và phân lo i ph n m m
ệ
Khái ni m Công ngh ph n m m
ầ
ể
L ch s ti n tri n Công ngh ph n m m
ề
Các giai đo n s n xu t ph n m m thông th
ng s bao g m:
ứ
ị
t k (xác đ nh ch c năng, development)
ế ế
ữ
ạ
Phân tích (yêu c u)ầ
Thi
ử
S a ch a
ể
Chuy n giao
ầ
ề
ầ
ề
Quá trình ph n m m (software process)
ể
Quá trình phát tri n ph n m m: water fall, unified, agile
CASE tools :
ệ
ạ
Khái ni m CASE Tools
Phân lo i CASE Tools
ề
ầ
ị
Đ nh nghĩa ph n m m
ẩ
ả
ế
ầ
ầ
ỹ ư
Ph n m m máy tính là s n ph m do k s
ồ
ự
t k và xây d ng, bao g m
ế
sau:
ươ
ậ ệ
ứ
ố
ữ ệ
ấ
ợ
ạ ộ
ả
ư ử
ho t đ ng cũng nh s
ụ
ề
ề
ph n m m thi
ế ố
các y u t
ng trình máy tính (các t p l nh)
(1) các ch
ụ ể
ấ
cung c p các ch c năng mong mu n c th
nào đó,
(2) các c u trúc d li u tr giúp CT thao tác
ớ
v i thông tin,
ệ
(3) các tài li u mô t
d ng CT.
ề
ầ
ị
Đ nh nghĩa ph n m m
ng logic, không
ố ượ
ứ
ề
ệ
ầ
ể
ề
ả
ẩ
ủ
ị ỏ
ứ
ề
ầ
ề
Ph n m m là đ i t
ư
ố
gi ng nh ph n c ng
ầ
Vi c phát tri n ph n m m không theo
ố
cách th c truy n th ng c a s n ph m
ờ
Ph n m m không b h ng hóc theo th i
ầ
gian
“Custombuilt”
ề
ạ
ầ
Phân lo i ph n m m
ộ
ỗ
ữ
m i m t ngôn ng
ươ
ươ
Nhóm ch
ươ
ộ
có m t ch
Nhóm các ch
ầ
ồ
ữ
ươ
ươ
ạ
ả
ng trình so n th o văn b n, các ch
ồ
ươ
ệ
ị
ng trình d ch:
ị
ng trình d ch riêng.
ố
ệ
ng trình h th ng (bao g m
ồ
ề
ả
c các ph n m m hđh):
G m có nh ng
ả
ch
ng
ạ ệ ề
trình đ ho , h đi u hành, …
Nhóm các ti n ích và trò ch i:
ơ ch
ươ
ng trình
ng trình tìm và
ả
t virus, t
ử
x lí b ng tính đi n t
ệ
di
ả
ệ ử
, ch
ơ
ấ ả
t c các trò ch i.
ị
ệ
Nhóm các h qu n tr CSDL
ề
ạ
ầ
Phân lo i ph n m m
ươ
ứ
Nhóm các ch
ệ
ụ
ng trình ng d ng có tính h
ữ ệ
th ng:ố
Nhóm các ch
ỏ
ử
ng trình h chuyên gia, h mô ph ng, h t
ng trình x lí d li u đa năng:
ệ ự
ọ
t k , d y h c và t
ươ
ệ
ế ế ạ
ử
ổ
ươ
Ch
ộ
đ ng thi
ươ
Ch
ợ
ấ
ả
ươ
ể
ề
ng trình đi u khi n qui trình
T t c nh ng ch
ờ
ề
ề
ề
ệ
ự ọ
h c.
ậ
ạ
ng trình x lí nh n d ng, phân tích, t ng
ế
h p ti ng nói, hình nh.
ữ
ả
công nghi p.ệ
ự
ầ
Nhóm các ph n m m th i gian th c
ầ
Nhóm các ph n m m nhúng
ầ
Nhóm các ph n m m thông minh
ề
ầ
ệ
Công ngh ph n m m
ộ
ệ
Công ngh ph n m m
ầ
ọ
ng ti n
ư
ủ
ng pháp, công c , ph
ụ
ặ
ẩ
ế ế
ạ ượ
ầ
ộ
ề là m t lĩnh v c nghiên
ự
ằ
nguyên lý,
ươ
ệ giúp cho
ầ
ộ ả
t k và cài đ t m t s n ph m ph n
ố
t
c các yêu c u sau m t cách t
ọ
ắ
ả ế
ứ
c u c a tin h c nh m đ a ra các
ươ
ph
ệ
vi c thi
ề
m m đ t đ
nh t:ấ
ả
Ph i có tính đúng đ n và khoa h c.
ậ
ễ ế
D ti p c n và c i ti n.
ổ ụ
Ph d ng.
ớ
ộ ậ
Đ c l p v i các thi
ế ị
t b .
ề
ầ
ệ
Công ngh ph n m m
ầ
ệ
Công ngh ph n m m
ề là s thi
ử ụ
ắ
ự
ể
ộ
ệ
ế
ể
ậ
ọ
ế ậ
ự
t l p và
ậ
ỹ
s d ng các nguyên lý k thu t đúng
ề
ầ
đ n đ xây d ng các ph n m m m t
, tin c y, và có th làm vi c
cách kinh t
trên m i máy tính
ủ
ộ
N i dung c a CNPM
ủ
ể
ầ
ủ
ầ
Tìm hi u yêu c u c a bài toán
, yêu c u c a khách
ậ
ủ
ề
ượ
ẫ
, nêu đ
ặ
ầ
ể ả
c a ch
ủ
ọ
ố ớ ặ ả ủ
ấ
hàng, thu th p đ y đ các thông tin và phân tích theo
ề ộ
m i khía c nh k c chi u r ng l n chi u sâu.
ươ
ng trình
ữ ệ
ủ
ặ ả
ứ
ặ
ộ
ể ử ụ
ể ặ ả ộ
ứ
ặ
ể ễ ả ộ
m t cách phi hình
nhiên đ di n t
ươ
ậ
ng pháp l p trình có
ứ
Thi
ấ
ố ượ
ạ
Đ i v i đ c t
c các tính
ư
ầ
ch t, đ c tr ng c a d li u vào và ra mà không c n
ế
quan tâm đ n n i dung các thao tác bên trong c a
có th s d ng các công th c ho c mô
nó. Đ c t
ọ
hình toán h c đ đ c t
m t cách hình th c ho c
ữ ự
dùng ngôn ng t
ế ợ
ặ
th c ho c k t h p c hai.
ằ
ươ
ế ế
b ng ph
t k ch
ướ
ng.
c u trúc, h
ả
ng trình
ng đ i t
ủ
ộ
N i dung c a CNPM
ộ
ớ
ổ
ướ
ủ
ươ
ng trình và đ ph c.
ắ
ể
ng trình.
ả
ệ ố
ươ
ử ch
ể
ng trình m t cách có h th ng:
Ki m th
ộ ữ ệ
ề
ươ
ử
ạ
ng trình v i nhi u b d li u
ch y th ch
ể
ệ ỗ
ể
i, ki m tra
khác nhau, ki m tra phát hi n l
ớ
ớ
ị
tính n đ nh, kích th
c vùng nh , vùng nh
ứ
nháp c a ch
ứ tính đúng đ n c a ch
Ki m ch ng
Đánh giá ch t l
Qu n lý vi c thi
ệ
ầ
ộ
ủ
ươ
ủ
ấ ượ c a ch
ươ
ng
ng trình.
ặ v n hành và
ế ế
ậ
t k , cài đ t
ề
ấ
ề , cung c p các ph n m m
ườ ử ụ
ả
ợ
b o trì ph n m m
tr giúp liên quan cho ng
ầ
i s d ng.
ể
ạ
Các giai đo n phát tri n PM
ể
ủ
ầ
Tìm hi u nhu c u c a khách hàng:
ạ
ể
ầ
Đây là giai đo n đ u tiên và không th
ệ
ự
ề
ầ
c trong vi c xây d ng ph n m m
ượ
ế
thi u đ
ộ ệ ố
cho m t h th ng nào đó.
ầ
ẩ
ứ
ế
ả
ể
ộ
ủ
ể
ề
ả
S n ph m ph n m m mà nhóm phát tri n
ạ
t o ra suy cho đ n cùng thì ph i đáp ng
ả
ượ
c (có th không ph i là toàn b ) nhu
đ
ầ
c u c a khách hàng.
ể
ạ
Các giai đo n phát tri n PM
ị
ứ
ố ớ ươ
ườ
ừ
Chia ra t ng kh i l n t
ừ
giao cho t ng nhóm ng
ả
ườ
i ph i ch trách nhi m t
ử
ả
M i nhóm ng
ế ế
ệ
ộ
ắ
ố
ố
ệ ố
Xác đ nh rõ các ch c năng h th ng:
ố ộ ậ
ng đ i đ c l p và
ệ
ự
i th c hi n.
ừ
ệ
ụ
ỗ
ấ
ệ
t k s n xu t th nghi m theo
vi c thi
ị
ấ
ộ
m t nguyên t c nh t đ nh và m t ngôn
ấ
ớ ơ ở ữ ệ
ữ
ng cùng v i c s d li u th ng nh t.
ố ớ
ố
Sau đó ghép n i các kh i thành kh i l n.
ể
ạ
Các giai đo n phát tri n PM
ữ
ệ
ầ
S a ch a và th nghi m n u th y c n thi
ế
t:
ử
ạ
ể
ầ
ấ
ế
ử
ộ ộ ủ
Đây là giai đo n mang tính n i b c a nhóm phát tri n ph n
ề
ể ượ
ề
ầ
ỏ
c chia thành nhi u ph n nh
ệ ố
m m. H th ng có th đ
ờ ạ
(module) r i r c nhau.
ự
ử
ệ
ầ
ả
Do v y khi xây d ng xong chúng ta c n ph i th nghi m
ậ
ừ
ợ
ể
ử
ệ
ỉ
ế
ế
cho t ng module đó. Sau đó ti n hành tích h p các module
ạ ể ạ
i đ t o thành h th ng hoàn ch nh. Vi c ki m th tích
l
ợ
h p ph i đ
ệ ố
c ti n hành.
ế
ả ượ
Các thay đ i có th đ
c thêm vào; các ý ki n đóng góp
ượ
ư
ầ
ậ
c ghi nh n và đ a vào trong ph n
ạ
ạ
ể ượ
ổ
ủ
c a khách hàng cũng đ
ố
ề
m m t
i giai đo n cu i cùng này.
ể
ạ
Các giai đo n phát tri n PM
ẩ
ả
ủ
ặ
ể ử
ủ
ặ
ộ
ể
ế
Bàn giao s n ph m cho khách hàng, tìm hi u ý ki n
ế
ả
ố
ế ị
ể
t
c a khách hàng đ quy t đ nh nhân b n n u nó t
ườ ử ụ
ạ
i s d ng :
ho c là đ s a đ i.
ể
ầ
khi tìm hi u nhu c u c a khách hàng cho
Trong quá trình t
ỗ
ờ ỳ ướ
c kia, trung bình m i
ệ
c 5 ho c 6 l nh. Khi đó có
ọ
ượ
ế ứ
ầ
ườ
i ta ph i c g ng s d ng nh ng ch
Chính vì v y ng
ặ
ử ụ
ữ
ươ
ườ
ể
ồ
ườ
ng đ trong th vi n) và đ ng th i ng
ư ệ
ể
ươ
ng
ướ ạ
c t o
i ta cũng
i khai thác có
ể
ổ Đào t o ng
ừ
ệ
ế
đ n khi hoàn thi n, trong th i k tr
ỉ
ườ
ng
i trong m t ngày ch làm đ
ề
ể
ậ
th nói “L p trình ph n m m h t s c n ng nh c”.
ả ố ắ
ữ
ậ
ủ
i đi tr
ng trình c a nh ng ng
trình con (modul) ch
ờ
ườ
ư ệ
ra (th
ườ
ạ
t o ra các modul thêm vào th vi n đ ng
th dùng.
ể
ơ
ạ
Các giai đo n phát tri n PM :
ổ
cách nhìn t ng quát h n
ị
ộ
ọ
ị
Giai đ an xác đ nh (Definition phase):
Xác đ nh n i dung s th c hi n (what)
ọ
Giai đ an phát
ứ
ể
ị
ẽ ự
ệ
ể
tri n (Development
phase): Xác đ nh cách th c phát tri n
(how)
ọ
ỗ ợ
ả
ổ
ỗ
Giai đ an h tr (support phase): H
ệ
ể ả
ợ
tr thay đ i có th x y ra và b o trì h
th ngố
ề
ể
ầ
Quá trình phát tri n ph n m m
ầ ẩ ự ấ ượ
ầ ể ề ứ
ề ề
ầ
ủ
ộ ả ẩ m m và
ầ ả
ộ
trình đ xây d ng các s n ph m ph n m m ch t l
ề
các nhà qu n lý
ề ạ ộ ả ộ ổ ể
ng cao.
• Quá trình PM là l
ầ
ượ
c đi u ch nh đ đáp ng nhu c u c a các k s ph n
• Quá trình ph n m m đ
ề
ể
ả
đem l phát tri n m t s n ph m ph n m m.
i ạ
ể
ữ ệ ầ ạ ỹ ư
ỉ
ầ
ế
khi h tọ i n hành
ấ
• Quá trình ph n m m cung c p m t khuôn kh cho các ho t đ ng qu n lý
ự ễ dàng trong ki m soát.
s d
• Quá trình ph n m m hi n đ i ph i nh ng ữ
ạ ộ
ả ể ệ ẩ ợ s ự ki m soát,
ề
ầ
ả linh ho tạ , ch ỉ yêu c u nh ng ho t đ ng,
nh ngữ công c ụ làm vi c thích h p cho nhóm hay s n ph m.
ề ầ
khác nhau đòi h i quá trình ph n m m khác nhau.
ẩ ỏ
ủ ữ ệ • Các d án
• Các s n ph m công vi c c a k s ph n m m (ch
ỹ ư
ả ủ ề
ạ ộ ị ư ươ
ầ
hệ qu c a các ho t đ ng đ ệ
ng trình, tài li u, d li u)
ở
ượ
c xác đ nh b i quá trình
ộ ấ ượ t nh t ng, tính k p ị
ự
ả
ệ
ả
ấ
ượ
c s n xu t nh là
đ
ầ
ề
ph n m m.
ỉ ố ố
• Các ch s t
ả
ờ ầ
m t quá trình ph n m m là ch t l
ầ ề
ề ủ ả ẩ ấ đ đánh giá
ể
ồ ạ
th i, kh năng t n t i lâu dài c a s n ph m ph n m m.
Quá trình PT PM
Common Process Framework
• Communication
ớ
ợ ầ ậ – H p tác v i khách hàng và thu th p yêu c u
ế ệ ạ ỹ các tài nguyên
ả ủ
ệ ị ế ậ
t t l p k ho ch công vi c, mô t
ả
ế , các s n ph m ẩ c a ủ công vi c, và ậ
r i ro k thu t, danh sách
ị
xác đ nh l ch trình công vi c ệ
• Planning
– Thi
ầ
c n thi
• Modeling
– creation of models to help developers and customers understand the requires
and software design
• Construction
ể ử – sinh code và ki m th
• Deployment
– software delivered for customer evaluation and feedback
Umbrella Activities
• Software project management (SPM)
• Formal technical reviews (FTRs)
• Software quality assurance (SQA)
• Software configuration
management (SCM)
• Document preparation and production
• Reusability management
• Measurement
• Risk management (RA&M)
Mô hình Thác n
cướ
Mô hình Thác n
cướ
Các giai đo n: ạ
ủ
ạ
ầ
ị
Giai đo n xác đ nh các yêu c u c a bài toán và
ề
đ tài.
ộ ừ ướ
ượ
tr
c
ề
ợ
ử ụ
u đi m: Đ c s d ng quen thu c t
ế
Nh
ợ
ạ
ề ụ
ấ
ặ
ế
ể
c đi m: Nhi u khi đ n giai đo n tích
ề
ng x y ra nhi u v n đ tr c tr c
ạ
ế ế
t k .
Giai đo n thi
ệ
ử
ạ
Giai đo n th nghi m.
ạ ổ
Giai đo n t ng h p.
Ư ể
đ n nay.
ượ
ả
ườ
h p th
trong ghép n i.ố
ượ
ể
ế
Nh
c đi m (chi ti
t)
Mô hình này gi
ố ị
ầ
đ nh r ng các yêu c u c a m t h th ng
) tr
ể
ế
ướ
đ ng hóa thi
c ượ c đ nh
ề
ư
ộ ệ ố
ủ
ắ ầ
c khi b t đ u thi
t k
ầ th
i s d ng th m chí không bi
ổ
ố ớ ệ ố
ườ ử ụ
ầ
ế
ự ế ố ớ
ph iả
ế ế
t k .
ố
ế h th ng.
ệ
ườ
ng
khó
ầ
t các yêu c u. Do
ự
đ i v i các d
ư ậ
ằ
ả ị
ượ
ạ
(ví d , ụ đ
c v ch rõ
đ
ự ộ
phép t
Đi u này có th cho
ị
ớ
Nh ng đ i v i h th ng m i, xác đ nh các yêu c u
ậ
khăn do ng
đó, có yêu c u không thay đ i là không th c t
án nh v y.
ầ
ứ
ầ
ầ
ườ
ủ
ả ự
ầ
ặ ả
ể
ế
ấ
ầ
ố ị
C đ nh
ở
ể
ọ
ả
ầ
ệ
ẽ ử ụ
ầ
ợ
ầ
s p ắ l
ư ậ
ờ
ề
ọ
ỏ
ng đòi h i ph i l a ch n ph n c ng
các yêu c u th
ớ
ộ ự
ộ
yêu c u). M t d án l n có
(b i vì nó là m t ph n c a đ c t
ượ ự
ứ
c l a
th ph i m t vài năm đ hoàn thành. N u ph n c ng đ
ổ thì có kh ả
ộ
ố
ch n đ u tiên, sau đó do t c đ công ngh thay đ i,
ệ
ộ
ố
ề
năng các ph n m m cu i cùng s s d ng m t công ngh
ỗ
ề
ứ
ph n c ng
i th i. Đi u này rõ ràng là không thích h p cho
ầ
ệ ố
các h th ng ph n m m nh v y.
Mô hình Prototyping
ứ
ự
ọ
ể
ườ
ể
ữ
L a ch n nhanh nh ng ch c năng chính đ
ườ ử ụ
ư
i s d ng
ử
ư
i dùng dùng th
ợ
ầ
u đi m: Không có giai đo n tích h p, ng
ượ
ố
ậ
ầ
ề
phát tri n sau đó đ a cho ng
ế
đóng góp ý ki n, đ a ng
ạ
ế
cho đ n khi đ t yêu c u.
ườ
ạ
Ư ể
i
ế
ừ
ệ
ớ
c ti p c n v i h th ng ngay t
dùng đ
ể ổ
ữ
ệ
ạ
nh ng giai đo n đ u đ b sung hoàn thi n
ầ
ầ
ph n m m theo đúng yêu c u
Mô hình Prototyping
ụ
ọ
ị
Xác đ nh m c
tiêu .
ự
L a ch n các
ứ
ch c năng chính
c ướ
ặ ả ệ ố
Đ c t h th ng
ẫ
ể
Phát tri n nguyên
m uẫ
Đánh giá
ượ
l
ng nguyên m u
ế ế ự
ừ
ầ
ẩ
ị
Th m đ nh
ộ ệ ố
Thi t k th c thi t ng ph n và
toàn b h th ng
ế
Các mô hình ti n hóa
ắ ố
Xo n c
Tăng d nầ
RUP
RAD
ắ ố
Mô hình xo n c
ính
ạ ộ
c ho t đ ng ch
ụ
ừ
ủ
ị
ác đ nh m c tiêu cho t ng pha c a d
ự
ó 4 b
ướ
ụ
ế ậ
t l p m c tiêu: x
ủ
ế
ình
ạ
G m cồ
Thi
án.
ậ
ế
L p k ho ch: đ
ắ ố
xo n c s đ
ạ
ẽ ượ ậ
ả
Đánh giá và gi m thi u r i ro: r i ro đ
c đ
ánh giá và th c ự
ủ
ể ủ
ộ
ánh giá d ự án và pha ti p theo c a mô h
ế
c l p k ho ch.
ể ủ
ượ
ác hành đ ng đ gi m thi u r i ro.
ể ả
hi n cệ
ọ ự
ủ
ẽ
Phát tri n vể
à đánh giá: sau khi đánh giá r i ro s ch n l a 1
ể
mô hình phát tri n c th .
ụ ể
ọ
ỏ
ét thêm 2 giai đ an nh :
ài đ tặ
Có th xem x
ể
ỗ ợ
H tr c
ế
ấ
L y ý ki n kh
ách hàng
ế ụ
ắ ố
Mô hình xo n c (ti p t c)
ể
ầ
Mô hình phát tri n tăng d n
ệ
Phát tri n h th ng c
ạ
ể
ả
àng nhanh càng
ế
ố
t
t=> C i biên h th ng cho đ n khi đ t
ượ
đ
ẫ
ệ
ư
ỗ
ừ
ó Đ c t
ặ ả
ể
ợ
ể
t k , tri n khai t
ố
ệ ố
ặ
ầ
c yêu c u đ t ra.
Là bi n th c a mô h
óa, có ý
ình ti n hế
ể ủ
ế
ình làm b n m u
ố
ớ
ả
ưở
ng gi ng v i mô h
t
và xo n c, nh ng th c hi n trên t ng
ắ ố
ự
ố ộ ậ
ố ề
,
kh i đ c l p, m i kh i đ u c
ích h p, Chuy n
ế
ế
thi
giao khách hàng.
Mô hình RUP
ướ
ng ĐT
úc làm trung tâm
ử ụ
ở ác ca s d ng
ớ
T
ộ
ình xo n c, tuy nhiên m i b
ỗ ướ ặ
ớ
ắ
ắ ố
ủ
c l p c a
ó n i dung riêng g n v i ngôn ng
ữ
ộ
ạ ộ
ấ
Là mô hình dành riêng cho h
Có 3 đ c tr ng:
ư
ặ
ế
ấ
L y ki n tr
ề
ể
Đi u khi n b i c
ặ ạ à tăng d nầ
i v
L p l
ồ
ươ
ng đ ng v i mô h
RUP, n i dung ho t đ ng c
mô hình hóa th ng nh t UML
ố
Giai đo n: ạ
ạ
ở ộ
ạ
ạ
ạ
ể
Inception phase (giai đo n kh i đ ng)
ả
Elaboration phase (giai đo n so n th o)
ự
Construction phase (giai đo n xây d ng)
ạ
Transition phase (giai đo n chuy n giao)
Production phase (software monitoring and support)
Mô hình UP (RUP)
UP Work Products
• Inception phase
– Vision document
– Initial usecase model
– Inital project glossary
– Inital business case
– Inital risk assessment
UP products (ti p)ế
• Elaboration phase
– Usecase model
– Functional and nonfunctional requirements
– Analysis model
– Software architecture description
– Inital risk assessment
– Project plan (phases and iterations)
– Business model
– Prototypes description
– Executable architectural prototype
– Preliminary design model
– Revise risk list
– Project plan (iteration plan, workflow, milestones)
– Preliminary user manual
UP products (ti p)ế
• Construction phase
– Design model
– Software components
– Integrated software increment
– Test plan
– Test cases
– Support documentation (user, installation, increment)
• Transition phase
– Delivered software increment
– Beta test reports increment
– User feedback
ể
Mô hình phát tri n nhanh RAD
ộ
ươ
ng ph
áp lu n g p c
đ ng phân t
ạ
m t lo t vòng l p ph
ế
ằ
ác ho t ạ
ậ
ào
ích, thi
ự
ế ế
t k , xây d ng v
át tri n ng n.
ắ
ể
ặ
ư
ầ
H ng đ n nhu c u đ a ng
ào PTTK b ng c
ự
ườ
i s
ách s ử
Là ph
ộ
ộ
ướ
ụ
ụ
ệ
ầ
Đáp ng nhu c u hi u qu v
ả à chi phí
ộ
ỏ
d ng tham gia v
d ng CASE
ứ
ì th pấ
b o trả
Thích h p cho đ i ph
ợ
át tri n nh
ể
ể
ệ ố
ình th c ứ
Phát tri n h th ng h
hoá
c:ướ v i c ả ớ ác b
ầ T t
ác bi n đ i kh ình
à h th ng
ử ích h p vợ
ệ ố
ính là bi u di n c
ác đ c t
ễ
ể
ặ ả
ằ
ác nhau đ chuy n t
ể
ổ
đ c t
ặ ả ượ
c chi ti
ình là tri n khai đ
ể
ủ
ạ
ươ
ượ
í sau đó l
ặ ả
đã cho
ớ
ề
i nh h n nhi u so v i ph
ng ph
áp khác
ướ
ỏ
ứ
ình đáp ng đ
ứ
ươ
ng tr
ư
cao, nh ng chi ph
ác b
ính đúng đ n c a đ c t
ắ
ặ ả
ủ
ầ
c yêu c u c a đ c t
ỏ ơ
á trình chuy n đ i
ổ
ể
c nh trong qu
ác ký pháp toán h cọ
ng tr
ượ
c ổ ác bi u di n c a đ c t
ễ ể
ắ ủ
ươ ặ ả ả ính đúng đ n=> Ch yêu c u b ng c
ể ừ ặ ả ình th c > ch
ươ
ứ
h
ư
ế ầ
t d n nh ng luôn đ
đ
úng c a đ c t
ủ ng tr
Nh
ỏ ình đ tr u t
ó
ươ
ượ
ộ ừ ượ
ng cao
ự úng đ n lắ à khó khăn
ố
ng đ i kh
ượ
Đ c mô t
Xác đ nh yêu c u
ầ
ị
ặ ả ình th cứ
Đ c t
h
ổ ình th cứ
ế
Bi n đ i h
ể
Ki m th t
ư ưở
ng ch
Áp d ng c
ế
ụ
ể
Khi chuy n đ i c
ả
đ m b o t
Ư ể
u đi m:
Có th ể áp d ng ch ng minh t
ụ
ứ
Ch ng minh ch
Chi phí đ c t
ặ ả
ễ
D theo dõi c
ể
c đi m:
ặ ả
ệ
Vi c đ c t
đòi h i tr
ệ
ứ
Vi c ch ng minh s đ
áp này là t
ươ
ng ph
Ph
ướ
Mô hình h
ng th
ành ph nầ
D a trên k thu t t
ậ ái s d ng m t c
ử ụ
ự
ố
ồ ạ
ỹ
ượ ích h p t
c t
ặ
i ho c c
ề
ợ ừ
nhi u th
ác thành ph n th
ầ
ộ ách có h ệ
ành ph n ầ
ươ
ng
th ng, đ
đang t n t
m i.ạ
ạ
ình bao g m: ồ
Các tr ng th
ó
ái chính c a quy tr
ủ
ẵ
ầ
ử ụ
ậ ái s d ng
ệ ố
ự
Phân tích thành ph n s n c
ầ
ỉ
ề
Đi u ch nh yêu c u
ế ế ệ ố
Thi
Xây d ng v
ớ ỹ
t k h th ng v i k thu t t
à tích h p h th ng
ợ
Các mô hình AGILE
ượ
ể
ằ
Các PP Agile đ
ữ
ệ
ụ
ề
ắ
ầ
ệ
c phát tri n vào nh ng năm 90s nh m kh c ph c
các trì tr /khóa khăn trong vi c tài li u hóa quá trình PT ph n m m.
ệ
ủ
Nguyên lý c a các PP AGILE:
ệ
S làm vi c c a p
ủ ầ ướ ủ ộ ề
h n m m là th ộ ự
ự ế
c đo chính c a s ti n b trong m t d
ự
án.
ế ượ ể ể ể ự
Đ d án đ c phát tri n và chuy n giao ướ ượ
c ti n tri n
nhanh chóng trong t ng b ể , ph n m m nên đ
ề
ầ
ỏ
c nh .
Nh ng ữ
ừ
ộ ổ c ượ hoan nghênh (mô
ự thay đ i mu n trong các yêu c u
hình phát tri n ể chia nh ỏ giúp ch p nh n chúng
).
ế ầ cũng luôn đ
ậ
ơ ằ
ượ ư chu ng h n giao ti p b ng văn b n
ả .
ầ c a
ụ ủ ế t cho ề ố
ộ
th i gian là m t cách ti p c n t
ể ử ệ
Thi
ơ ế
ấ ả ấ
ộ
Giao ti p ế tr c ti p
ế đ
ồ
ự
ả
Thông tin ph n h i liên t c và s tham gia c a khách hàng là c n thi
ấ ượ
ầ
ể
t.
vi c phát tri n ph n m m ch t l
ng t
ờ
ầ
ả và hoàn thi n d n theo
ệ
t k đ n gi n
ừ ầ đ x lý t
ứ ạ
ế ế t ng quát ph c t p ngay t
t k ậ ố
t
t c các tình đ u ể ả ố
ả ế ị ượ ế ế ơ
ổ
ớ
h n so v i thi
hu ng có th x y ra.
Ngày bàn giao s n ph m ẩ đ ố ở ườ ở
năng và có quy n ề (và không b chi ph i b i ng c quy t đ nh b i các nhóm các cá nhân tài
ị
i khác ).
CASE tools
Là các ph n m m kh
ầ
ữ
ác nhau đ
ươ
ượ
ng ph
àn
ng ph
ườ
ề
án t
ệ ự ộ
đ ng hay b
át tri n ph n m m. C
ề
ầ
ể
át tri n, t
ấ ả ượ
ể
t c đ
ự ợ úp c a mủ
ó s tr gi
ự
ơ
c xây d ng trên c
áp c th . Cung c p
ụ ể
ấ
óa
ự ộ
đ ng h
ó 2 m c: bứ
ọ à k ỹ
c g i l
áy tính
ó th dể ùng
ợ
cho công c khụ
ườ
ể
ầ
ề
ình và ph
ở
s nh ng mô h
ự ợ úp cho vi c t
s tr gi
các ho t đ ng ph
ạ ộ
th vợ à môi tr
ầ
ệ
ngh ph n m m c
(CASE).
Bàn th (workbench): Thông tin ch
ác hay giai đo n ph
ạ
ệ ố
ng (Environment): H th ng tr gi
úng t o ra c
ạ
át tri n ti p theo.
ể
ế
ợ úp phát tri n ph n
Môi tr
m mề
ạ
ọ
T i sao CASE quan tr ng?
CASE tools
ệ ố
ạ ộ
ử ụ
ượ
ể ỗ ợ ác ho t đ ng
ng đ
ầ
ó hai lo i CASE:
ạ
ạ ộ
Các h th ng CASE th
ườ
ể
ụ ể ỗ ợ ác ho t đ ng ban đ u nh đ c t
c s d ng đ h tr c
trong quy trình phát tri n ph n m m. C
ề
UpperCASE: công c đ h tr c
ư ặ ả ầ yêu ế ế c u vầ à thi t k .
LowerCASE: công c đ h tr c
ư ậ ụ ể ỗ ợ ác ho t đ ng sau nh l p tr
ạ ộ ình, g l ỡ ỗ à
i v
ấ
ố
ình hóa th ng nh t (UML
ể
ạ
ộ
ữ
– Unified Modeling Language)
át tri n ph n
t c c
ấ ả ác giai đo n ph
ữ
ụ ự
ộ ố ác công c d a trên ngôn ng ng
ầ
ày
ng đ i t
ng: M t s c
ườ
ử
ki m th .
ữ ể
Ngôn ng mô h
ộ
ả
ệ
ầ
ầ
ầ
ấ
cung c p m t ngôn ng chung cho t
ố ượ
ướ
ề
m m h
ư
nh Rational Rose, PowerDesigner.
ộ
ồ
ẩ
ng CASE chu n bao g m:
M t môi tr
ứ
M t kho ch a (repository)
ụ ồ ọ
Công c đ h a (Graphic drawing tools)
ề
ả
ạ
Ph n m m so n th o văn b n (Text Definition software)
ứ
ề
Ph n m m giao di n kho ch a (Repository interface software)
ề
Ph n m m đ
ệ
Giao di n ng
ánh giá (Evaluative software)
ườ ử ụ i s d ng (Human Interface)
át
ể
Phân lo i cạ ác công c phụ
ề
ầ
tri n ph n m m
ụ ơ
ả
ạ
ộ
ươ
Công c đ n: B so n th o, Ch
ng tr
ình
d chị
Bàn th : ợ
ế ế
ươ
ng ph
áp,
ươ
L p trậ
àn th đ n ph
ợ ơ
áp)
ụ
ể
ích chung, Bàn th ợ
ử
ườ
Phân tích và thi
t k (B
Bàn th đa ph
ợ
ng ph
ình (Bàn th cho m c đ
ợ
ữ ụ ể
cho ngôn ng c th ) Ki m th
át tri n: Môi tr
ể
ng t
ích h p, ợ
ườ
ườ
ế
Môi tr
Môi tr
ng ph
ng cho ti n tr
ình
ộ ố
ườ
ng
M t s CASE Tool th
dùng
ồ
ạ
ể
ể
à đ nh nghĩa b
áo cáo
ự ộ
ệ
ả
So n th o bi u đ
ích mô hình và ki m tra
ụ
Công c phân t
ấ
ữ
Ngôn ng truy v n
ụ ạ
ị
Công c t o v
ụ ị
Công c đ nh nghĩa form
ộ ị
B d ch
ụ ạ
Công c t o mã l nh t
đ ng
Câu h iỏ
ể
ưở
ủ
ầ
Tìm hi u các nh h
ả
ộ ủ
ề
ng c a ph n
ỷ
m m lên xã h i c a chúng ta trong k
nguyên thông tin
ệ
ả
ả
Tài li u tham kh o bài gi ng
ệ
ầ
ề
ườ
ậ
ị
ụ
ộ
R. Pressman, K ngh ph n m m. T p 1, 2, 3. NXB
i d ch: Ngô Trung
ỹ
Giáo d c, Hà N i, 1997 (Ng
Vi
t).ệ
R. Pressman, Software Engineering: A Practioner’s
Approach. 5th Ed., McGrawHill, 2001. Chapters 1, 2,
10, 20, 31.
I. Sommerville, Software Engineering. 5th Ed.,
AddisonWesley, 1995. Chapters 1, 2, 3, 27, 28.
Wendy Boggs, Michael Boggs. Mastering UML with
Rational Rose 2002. Copyright ©2002 SYBEX Inc.