Bài 1 - Giới thiệu chung về công nghệ phần mềm. Bài giảng khái quát chung về bộ môn công nghệ phần mềm, trong đó bao gồm các nội dung như: Định nghĩa phần mềm, phân loại phần mềm, công nghệ phần mềm, các giai đoạn phát triển phần mềm, mô hình thác nước, các mô hình tiến hóa.. Cuối bài giảng có câu hỏi ôn tập nhằm giúp cho sinh viên nắm vững được kiến thức hơn. Mời các bạn cùng tham khảo.
Trang 1Gi i thi u chung v ớ ệ ề
BM CNPM – Khoa CNTT –
HVKTQS 10/2012
Trang 2Tài li u tham kh o môn h c ệ ả ọ
Wendy Boggs, Michael Boggs. Mastering UML with Rational Rose
2002. Copyright © 2002 SYBEX Inc
Đoàn Văn Ban. Phân tích, Thi t k và L p trình Hế ế ậ ướng đ i tố ượng
1997 Nxb Th ng kê Vi t nam.ố ệ
Trang 3Gi 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: ẽ ồ
Trang 4(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 ho t đ ng cũng nh s ệ ả ạ ộ ư ử
d ng CT ụ
Trang 7Phâ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 x lí d li u đa năng: ử ữ ệ
Ch ươ ng trình h chuyên gia, h mô ph ng, h t ệ ệ ỏ ệ ự
Trang 8Công ngh ph n m m ệ ầ ề
Công ngh ph n m m ệ ầ ề là m t lĩnh v c nghiên ộ ự
c u c a tin h c nh m đ a ra các ứ ủ ọ ằ ư nguyên lý,
ph ng pháp, công c , ph ng ti n ươ ụ ươ ệ giúp cho
Trang 9Cô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 ắ ể ự ầ ề ộ cách kinh t , tin c y, và có th làm vi c ế ậ ể ệ
Trang 11N 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 ầ ủ 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 ọ ạ ể ả ề ộ ẫ ề
Đ i v i đ c t c a ch ố ớ ặ ả ủ ươ ng trình , nêu đ ượ 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 ế ộ ủ
nó. Đ c t có th s d ng các công th c ho c mô ặ ả ể ử ụ ứ ặ hình toán h c đ đ c t m t cách hình th c ho c ọ ể ặ ả ộ ứ ặ
dùng ngôn ng t nhiên đ di n t m t cách phi hình ữ ự ể ễ ả ộ
th c ho c k t h p c hai ứ ặ ế ợ ả
Thi t k ch ế ế ươ ng trình b ng ph ằ ươ ng pháp l p trình có ậ
c u trúc, h ấ ướ ng đ i t ố ượ ng.
Trang 12N i dung c a CNPM ộ ủ
Ki m th ể ử ch ươ ng trình m t cách có h th ng: ộ ệ ố
ch y th ch ạ ử ươ ng trình v i nhi u b d li u ớ ề ộ ữ ệ
khác nhau, ki m tra phát hi n l i, ki m tra ể ệ ỗ ể
tính n đ nh, kích th ổ ị ướ c vùng nh , vùng nh ớ ớ nháp c a ch ủ ươ ng trình và đ ph c ộ ứ
Ki m ch ng ể ứ tính đúng đ n c a ch ắ ủ ươ ng trình.
Đánh giá ch t l ấ ượ ng c a ch ủ ươ ng trình.
Qu n lý vi c thi t k , cài đ t ả ệ ế ế ặ v n hành và ậ
b o trì ph n m m ả ầ ề , cung c p các ph n m m ấ ầ ề
tr giúp liên quan cho ng ợ ườ ử ụ i s d ng.
Trang 14Các giai đo n phát tri n PM ạ ể
Xác đ nh rõ các ch c năng h th ng: ị ứ ệ ố
Chia ra t ng kh i l n t ừ ố ớ ươ ng đ i đ c l p và ố ộ ậ giao cho t ng nhóm ng ừ ườ i th c hi n. ự ệ
M i nhóm ng ỗ ườ i ph i ch trách nhi m t ả ụ ệ ừ
vi c thi t k s n xu t th nghi m theo ệ ế ế ả ấ ử ệ
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 ố ố ố ớ
Trang 15Cá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 ạ ộ ộ ủ ể ầ
m m. H th ng có th đề ệ ố ể ược chia thành nhi u ph n nh ề ầ ỏ
(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 ừ ế ợ
l i đ t o thành h th ng hoàn ch nh. Vi c ki m th tích ạ ể ạ ệ ố ỉ ệ ể ử
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 a khách hàng cũng đủ ược ghi nh n và đ a vào trong ph n ậ ư ầ
m m t i giai đo n cu i cùng này.ề ạ ạ ố
Trang 16Cá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 ả ẩ ể ế
c a khách hàng đ quy t đ nh nhân b n n u nó t t ủ ể ế ị ả ế ố
ho c là đ s a đ i. ặ ể ử ổ Đào t o ng i s d ng : ạ ườ ử ụ
Trong quá trình t khi tìm hi u nhu c u c a khách hàng cho ừ ể ầ ủ
đ n khi hoàn thi n, trong th i k trế ệ ờ ỳ ước kia, trung bình m i ỗ
người trong m t ngày ch làm độ ỉ ược 5 ho c 6 l nh. Khi đó có ặ ệ
th nói “L p trình ph n m m h t s c n ng nh c”. ể ậ ầ ề ế ứ ặ ọ
Chính vì v y ngậ ười ta ph i c g ng s d ng nh ng chả ố ắ ử ụ ữ ương trình con (modul) chương trình c a nh ng ngủ ữ ười đi trướ ạc t o
ra (thường đ trong th vi n) và đ ng th i ngể ư ệ ồ ờ ười ta cũng
t o ra các modul thêm vào th vi n đ ngạ ư ệ ể ười khai thác có
th dùng.ể
Trang 17Cá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 ố
Trang 18Quá trình phát tri n ph n m m ể ầ ề
• Quá trình PM là l trình đ xây d ng các s n ph m ph n m m ch t l ộ ể ự ả ẩ ầ ề ấ ượ ng cao.
• Quá trình ph n m m đ ầ ề ượ c đi u ch nh đ đáp ng nhu c u c a các k s ph n ề ỉ ể ứ ầ ủ ỹ ư ầ
m m và ề các nhà qu n lý ả khi h t ọ i n hành ế phát tri n m t s n ph m ph n m m ể ộ ả ẩ ầ ề
• Quá trình ph n m m cung c p m t khuôn kh cho các ho t đ ng qu n lý ầ ề ấ ộ ổ ạ ộ ả đem l i ạ
s d ự ễ dàng trong ki m soát ể
• Quá trình ph n m m hi n đ i ph i ầ ề ệ ạ ả linh ho t ạ , ch ỉyêu c u nh ng ho t đ ng, ầ ữ ạ ộ nh ng ữ
s ự ki m soát, ể nh ng ữ công c ụ làm vi c thích h p cho nhóm hay s n ph m ệ ợ ả ẩ
• Các d án ự khác nhau đòi h i quá trình ph n m m khác nhau ỏ ầ ề
• Các s n ph m công vi c c a k s ph n m m (ch ả ẩ ệ ủ ỹ ư ầ ề ươ ng trình, tài li u, d li u) ệ ữ ệ
đ ượ c s n xu t nh là ả ấ ư hệ qu c a các ho t đ ng đ ả ủ ạ ộ ượ c xác đ nh b i quá trình ị ở
ph n m m ầ ề
• Các ch s t t nh t ỉ ố ố ấ đ đánh giá ể m t quá trình ph n m m là ch t l ộ ầ ề ấ ượ ng, tính k p ị
th i, kh năng t n t i lâu dài c a s n ph m ph n m m ờ ả ồ ạ ủ ả ẩ ầ ề
Trang 19Quá trình PT PM
Trang 20• Communication
– H p tác v i khách hàng và thu th p yêu c u ợ ớ ậ ầ
• Planning
– Thi t l p k ho ch công vi c, mô t r i ro k thu t, danh sách ế ậ ế ạ ệ ả ủ ỹ ậ các tài nguyên
c n thi t ầ ế , các s n ph m ả ẩ c a ủ công vi c, và ệ xác đ nh l ch trình ị ị công vi c ệ
• 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
Trang 22Mô hình Thác n ướ c
Trang 23 Nh ượ c đi m: Nhi u khi đ n giai đo n tích ể ề ế ạ
h p th ợ ườ ng x y ra nhi u v n đ tr c tr c ả ề ấ ề ụ ặ trong ghép n i ố
Trang 24Nh ượ 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 ả ị ằ ầ ủ ộ ệ ố ph iả
được c đ nhố ị (ví d , ụ được v ch rõạ ) trước khi b t đ u thi t k ắ ầ ế ế
Đi u này có th cho ề ể phép t đ ng hóa thi t kự ộ ế ế h th ng. ệ ố
Nh ng đ i v i h th ng m i, xác đ nh các yêu c u ư ố ớ ệ ố ớ ị ầ thường khó khăn do ngườ ử ụi s d ng th m chí không bi t các yêu c u. Do ậ ế ầ
đó, có yêu c u không thay đ i là không th c t đ i v i các d ầ ổ ự ế ố ớ ự
án nh v y.ư ậ
C đ nh ố ị các yêu c u thầ ường đòi h i ph i l a ch n ph n c ng ỏ ả ự ọ ầ ứ(b i vì nó là m t ph n c a đ c t yêu c u). M t d án l n có ở ộ ầ ủ ặ ả ầ ộ ự ớ
th ph i m t vài năm đ hoàn thành. N u ph n c ng để ả ấ ể ế ầ ứ ượ ực l a
ch n đ u tiên, sau đó do t c đ công ngh thay đ i, ọ ầ ố ộ ệ ổ thì có kh ả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 ầ ứ s p ắ l 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.ệ ố ầ ề ư ậ
Trang 25 L a ch n nhanh nh ng ch c năng chính đ ự ọ ữ ứ ể phát tri n sau đó đ a cho ng ể ư ườ i s d ng ử ụ đóng góp ý ki n, đ a ng ế ư ườ i dùng dùng th ử cho đ n khi đ t yêu c u ế ạ ầ
Ư u đi m: Không có giai đo n tích h p, ng ể ạ ợ ườ i dùng đ ượ c ti p c n v i h th ng ngay t ế ậ ớ ệ ố ừ
nh ng giai đo n đ u đ b sung hoàn thi n ữ ạ ầ ể ổ ệ
ph n m m theo đúng yêu c u ầ ề ầ
Trang 28 Đánh giá và gi m thi u r i ro: r i ro đả ể ủ ủ ược đánh giá và th c ự
hi n cệ ác hành đ ng đ gi m thi u r i ro.ộ ể ả ể ủ
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 ể ụ ể
Có th xem x ể é t thêm 2 giai đ an nh : ọ ỏ
H tr cỗ ợ ài đ tặ
L y ý ki n khấ ế ách hàng
Trang 29Mô hình xo n c (ti p t c) ắ ố ế ụ
Trang 30Mô 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 yêu c u đ t ra ầ ặ
Là bi n th c a mô h ế ể ủ ì nh ti n h ế ó a, có ý
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 ố ộ ậ ỗ ố ề ó Đ c t , ặ ả thi t k , tri n khai t ế ế ể í ch h p, Chuy n ợ ể giao khách hàng.
Trang 32Mô hình UP (RUP)
Trang 37Phát tri n h th ng h ể ệ ố ì nh th c ứ hoá
Đ ượ c mô t v i c ả ớ ác b ướ c:
Xác đ nh yêu c u ị ầ
Đ c t h ặ ả ình th c ứ
Bi n đ i h ế ổ ì nh th c ứ
Ki m th t ể ử í ch h p v ợ à h th ng ệ ố
T t ư ưở ng ch ính là bi u di n c ể ễ ác đ c t yêu c u b ng c ặ ả ầ ằ ác ký pháp toán h c ọ
Á p d ng c ụ á c bi n đ i kh ế ổ á c nhau đ chuy n t đ c t h ể ể ừ ặ ả ình th c > ch ứ ươ ng tr ì nh
Khi chuy n đ i c ể ổ ác bi u di n c a đ c t đ ể ễ ủ ặ ả ượ c chi ti t d n nh ng luôn đ ế ầ ư ượ c
đ m b o t ả ả ính đúng đ n=> Ch ắ ươ ng tr ì nh là tri n khai đ ể ú ng c a đ c t ủ ặ ả
Ư u đi m: ể
Có th ể áp d ng ch ng minh t ụ ứ í nh đúng đ n c a đ c t ắ ủ ặ ả
Ch ng minh ch ứ ươ ng tr ì nh đáp ng đ ứ ượ c yêu c u c a đ c t đã cho ầ ủ ặ ả
Chi phí đ c t cao, nh ng chi ph ặ ả ư í sau đó l i nh h n nhi u so v i ph ạ ỏ ơ ề ớ ươ ng ph á p khác
D theo dõi c ễ á c b ướ c nh trong qu ỏ á trình chuy n đ i ể ổ
Trang 38Mô hình h ướ ng th à nh ph n ầ
D a trên k thu t t ự ỹ ậ á i s d ng m t c ử ụ ộ á ch có h ệ
th ng, đ ố ượ í c t ch h p t nhi u th ợ ừ ề à nh ph n ầ
đang t n t i ho c c ồ ạ ặ á c thành ph n th ầ ươ ng
m i ạ
Các tr ng th ạ á i chính c a quy tr ủ ì nh bao g m: ồ
Phân tích thành ph n s n c ầ ẵ ó
Đi u ch nh yêu c u ề ỉ ầ
Thi t k h th ng v i k thu t t ế ế ệ ố ớ ỹ ậ á i s d ng ử ụ
Xây d ng v ự à tích h p h th ng ợ ệ ố
Trang 39 Giao ti p ế tr c ti p ự ế đ ượ ư c a chu ng h n giao ti p b ng văn b n ộ ơ ế ằ ả
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 cho ả ồ ụ ự ủ ầ ế
vi c phát tri n ph n m m ch t l ệ ể ầ ề ấ ượ ng t t ố
Thi t k đ n gi n ế ế ơ ả và hoàn thi n d n theo ệ ầ th i gian là m t cách ti p c n t t ờ ộ ế ậ ố
h n so v i thi t k ơ ớ ế ế t ng quát ph c t p ngay t đ u ổ ứ ạ ừ ầ đ x lý t t c các tình ể ử ấ ả
hu ng có th x y ra ố ể ả
Ngày bàn giao s n ph m ả ẩ đ ượ c quy t đ nh b i các nhóm các cá nhân tài ế ị ở năng và có quy n ề (và không b chi ph i b i ng ị ố ở ườ i khác ).
Trang 40 Là các ph n m m kh ầ ề á c nhau đ ượ c xây d ng trên c ự ơ
s nh ng mô h ở ữ ì nh và ph ươ ng ph á p c th Cung c p ụ ể ấ
s tr gi ự ợ ú p cho vi c t đ ng hay b ệ ự ộ á n t đ ng h ự ộ ó a
các ho t đ ng ph ạ ộ á t tri n ph n m m. C ể ầ ề ó 2 m c: b ứ à n
th v ợ à môi tr ườ ng ph á t tri n, t t c đ ể ấ ả ượ c g i l ọ à k ỹ
ngh ph n m m c ệ ầ ề ó s tr gi ự ợ ú p c a m ủ á y tính
(CASE).
Bàn th (workbench): Thông tin chợ úng t o ra cạ ó th dể ùng cho công c khụ ác hay giai đo n phạ át tri n ti p theo.ể ế
Môi trường (Environment): H th ng tr giệ ố ợ úp phát tri n ph n ể ầ
m mề
T i sao CASE quan tr ng? ạ ọ
Trang 41 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 đ ầ ề á nh giá (Evaluative software)
Giao di n ng ệ ườ ử ụ i s d ng (Human Interface)
Trang 42Phân lo i c ạ á c công c ph ụ á t
L p tr ậ ì nh (Bàn th cho m c đ ợ ụ í ch chung, Bàn th ợ cho ngôn ng c th ) Ki m th ữ ụ ể ể ử
Môi tr ườ ng ph á t tri n: Môi tr ể ườ ng t í ch h p, ợ Môi tr ườ ng cho ti n tr ế ì nh
Trang 44Câu h i ỏ
nguyên thông tin
Trang 45Tài li u tham kh o bài gi ng ệ ả ả
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 ị