ề 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., McGraw­Hill, 2001

 I. Sommerville, Software Engineering. 5th Ed., Addison­Wesley, 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

 “Custom­built”

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 use­case model  – Inital project glossary  – Inital business case  – Inital risk assessment

UP products (ti p)ế

• Elaboration phase  – Use­case 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 ề  Upper­CASE: công c  đ  h  tr  c

ư ặ ả ầ yêu ế ế c u vầ à thi t k .

 Lower­CASE: 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., McGraw­Hill, 2001. Chapters 1, 2,  10, 20, 31.

 I.  Sommerville,  Software  Engineering.  5th  Ed.,

Addison­Wesley, 1995. Chapters 1, 2, 3, 27, 28.

 Wendy  Boggs,  Michael  Boggs.  Mastering  UML  with  Rational Rose 2002. Copyright ©2002 SYBEX Inc.