Bài giảng Công nghệ phần mềm - Chương 1: Giới thiệu - Nguyễn Thanh Bình

pdf 13 trang hoanguyen 2230
Bạn đang xem tài liệu "Bài giảng Công nghệ phần mềm - Chương 1: Giới thiệu - Nguyễn Thanh Bình", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_gioi_thieu_cong_nghe_phan_mem_nguyen_thanh_binh.pdf

Nội dung text: Bài giảng Công nghệ phần mềm - Chương 1: Giới thiệu - Nguyễn Thanh Bình

  1. Gi i thi u cơng ngh ph n m m (1) Nguy n Thanh Bình Khoa Cơng ngh Thơngtin Tr ưng ði h c Bách khoa ði h c ðà Nng Ni dung  Lch s phát tri n ph n m m và kh ng ho ng ph n m m ?  Cơng ngh ph n m m  Khái ni m  Mc đích  Nguyên t c  Ch t l ưng ph n m m  Phân lo i ph n m m 2 1
  2. Lch s phát tri n ph n m m  1946, máy tính đin t rađi  1950, máy tính đưc th ươ ng m i hĩa  Ph n m m b t đu đưc phát tri n  Nh ng n ăm 1960  nh ng th t b i v phát tri n ph n m m • sn ph m ph n m m ph c t p • nhi u l i • t ch c s n xu t: giá thành, ti n đ,  Ng ưi ta nĩi đn “Kh ng ho ng ph n m m” 3 Lch s phát tri n ph n m m  T th cơngđn cơng ngh • Ch ươ ng trình nh • D án l n • khơng chuyên nghi p • chuyên nghi p •1 ng ưi làm • nhi u ng ưi làm •ngưi s dng = ng ưi phát tri n • khách hàng & nhà cung c p • 1 s n ph m = mã ngu n • nhi u s n ph m • ti n trình phát tri n đơ n gi n • ti n trình phát tri n ph c t p 1968, h i th o khoa h c đu tiên v “Cơng ngh ph n m m” 4 2
  3. Kh ng ho ng ph n m m  V mt s n ph m  ch t l ưng s n ph m ph n m m • khơng đáp ng yêu c u th c t • khĩ s dng • khơng tin c y • khĩ bo trì • khách hàng khơng hài lịng 5 Kh ng ho ng ph n m m  V mt qu n lý  K ho ch • khơng đánh giáđ úng giá thành • khơng đúng ti n đ • chi phí phát tri n / chi phí bo trì  V mt pháp lý • hp đng khơng r ràng, khơng ch t ch  Nhân l c • đào t o • giao ti p  Thi u tiêu chu n đánh giá sn ph m  Thi u quy trình qu n lý 6 3
  4. Kh ng ho ng ph n m m  ðiu tra c a General Acounting Office (1982) trên nhi u s án v i t ng v n đu t ư $68.000.000  Khơng giao s n ph m: 29%  Khơng đưc s dng: 47%  B cu c: 19%  ðưc s dng sau khi đã ch nh s a: 3%  Tt: 2% 7 Kh ng ho ng ph n m m 8 4
  5. Cơng ngh ph n m m Khái ni m  Cơng ngh ph n m m  nghiên c u và phát tri n các ph ươ ng pháp, kĩ thu t và cơng c nh m xây d ng các ph n m m m t cách kinh t , cĩđ tin c y cao và ho t đng hi u qu  thi ết k ế, xây d ựng , và bảo trì các ph ần m ềm ph c t p, bn v ng và ch t l ưng 9 Cơng ngh ph n m m Mc đích  Mc đích  áp d ng th c t • các ki n th c khoa h c, • các nguyên t c kinh t , • các nguyên t c qu n lí, • các k thu t và cơng c thích h p  đ sn xu t và bo trì các ph n m m nh m b o đm 4 yêu c u (FQCD): • phn m m t o ra ph i đáp ng đưc yêu c u ng ưi s dng • phn m m ph i đt đưc các tiêu chu n v ch t l ưng • giá thành ph i n m trong gi i h n đt ra • tin đ xây d ng ph n m m ph i đm b o 10 5
  6. Cơng ngh ph n m m Nguyên t c  Các nguyên t c c ơ b n  Cht ch (rigor and formality)  Chia nh (separation of concerns)  Mơ-đun hĩa (modularity)  Tru t ưng (abstraction)  Phịng ng a s thayđi (anticipation of change)  Tng quát hĩa (generality)  Gi i quy t t ng b ưc (incrementality) 11 Cơng ngh ph n m m Nguyên t c  Cht ch (rigor and formality)  s dng mơ hình lý thuy t và tốn h c  áp d ng cho t t c các b ưc, t t c các s n ph m  Ví d • “ch n z là giá tr ln nh t c a x và y” • z = max(x, y) 12 6
  7. Cơng ngh ph n m m Nguyên t c  Chia nh (separation of concerns)  Làm ch đ ph c t p • ch tp trung m t l ĩnh v c cùng m t lúc  Chia v n đ thành các ph n nh hơn • Gi i quy t m t ph n nh sđơngin h ơn • “chia đ tr ” (divide and conquer)  Cĩ th chia nh theo • th i gian: l p k ho ch • khái ni m: giao di n / thu t tốn • x lý: chia các x lý con 13 Cơng ngh ph n m m Nguyên t c  Mơ-đun hĩa (modularity)  Chia nh đ ph c t p • d hi u • d qu n lý các h th ng ph c t p  Quan h mt thi t v i nguyên t c “chia nh ”  Các ph ươ ng pháp mơ-đun hĩa • chi n l ưc t trên xu ng (top-down) • chi n l ưc t dưi lên (bottom-up)  Ch t l ưng c a mơ-đun hĩa • liên k t l ng l o (low coupling) • kt c cao (high cohesion) 14 7
  8. Cơng ngh ph n m m Nguyên t c  Tru t ưng (abstraction)  Lo i b nh ng gì khơng quan tr ng  Ch xem xét các y u t quan tr ng  S dng các mơ hình • mơ hình cho ng ưi s dng • mơ hình cho ng ưi phát tri n  Ví d • ngơn ng lp trình / c u trúc ph n c ng • xây d ng tài li u • đc t bi điu ki n tr ưc và sau 15 Cơng ngh ph n m m Nguyên t c  Phịng ng a s thayđi (anticipation of change)  ph n m m là sn ph m th ưng xuyên ph i thay đi  d báo các y u t cĩ th thayđi • nh h ưng cĩ th  các thay đi th ưng g p • trong đc t yêu c u • trong ng cnh s dng • kh năngv cơng ngh 16 8
  9. Cơng ngh ph n m m Nguyên t c  Tng quát hĩa (generality)  xem xét v n đ trong ng cnh t ng quát  gi i quy t v n đ ln h ơn  mc đích • tái s dng d dàng • cĩ th s dng các cơng c cĩ sn • s dng design patterns • chi phí cĩ th tăngcao 17 Cơng ngh ph n m m Nguyên t c  Gi i quy t t ng b ưc (incrementality)  Nguyên t c • xác đnh m t ph n (t p con) • phát tri n • đánh giá • bt đu l i  Áp d ng cho • phát tri n m t s n ph m • mơ đc t / m t ki n trúc / • mơ hình phát tri n • mơ hình l p 18 9
  10. Ch t l ưng ph n m m  Tính đúng đn (correctness)  th c hi n đúng các đc t v ch c n ăng (functional specification)  Tính tin c y (reliability)  đáp ng đưc nh ng yêu c u đt ra  Tính b n v ng (robustness)  ho t đng t t trong nh ng điu ki n s dng khác nhau 19 Ch t l ưng ph n m m  Tính hi u qu (efficiency)  s dng hi u qu các ngu n tài nguyên (b nh , CPU, )  Tính thân thi n (user friendlyness)  d s dng  Tính d ki m tra (verifiability)  d ki m tra ch t l ưng 20 10
  11. Ch t l ưng ph n m m  Tính d bo trì (maintainability)  d xác đnh và sa l i  d to ra nh ng phiên b n m i khi cĩ s m rng  Tính tái s dng (reusability)  d tái s dng trong nh ng ph n m m m i  Tính kh chuy n (portability)  d s dng trong các mơi tr ưng m i 21 Ch t l ưng ph n m m  Tính d hi u (understandability)  d hi u đi v i ng ưi s dng c ũng nh ư đi vi ng ưi phát tri n  Tính h p tác (interoperability)  d hp tác v i các ph n m m khác  Sn xu t hi u qu (productivity)  ti n trình s n xu t ph n m m ph i hi u qu 22 11
  12. Ch t l ưng ph n m m  Kh nănggiaosn ph m đúng h n (timeliness)  giao s n ph m theo t ng gĩi  Tính trong su t (visibility)  đi v i ng ưi phát tri n/ngưi qu n lý • hi u r ti n đ phát tri n • hi u r nh h ưng c a các quy t đnh  đi v i khách hàng • hi u r ti n đ phát tri n • hi u r nh h ưng c a các quy t đnh 23 Ch t l ưng ph n m m  S th a hi p gi a các tiêu chu n ch t lưng  tính thân thi n / tính b n v ng  tính kh chuy n / tính hi u qu 24 12
  13. Phân lo i ph n m m  Các h th ng thơng tin (Information Systems)  qu n lý thơng tin  cơ s d li u + giao tác  Các h th ng th i gian th c (Real-Time System)  các h th ng khi ho t đng c n ph i tr li các s ki n v i m t th i gian đưc quy đnh nghiêm ng t 25 Phân lo i ph n m m  Các h th ng phân tán (Distributed Systems)  mng máy tính  phân tán d li u  phân tán x lí  Các h th ng nhúng (Emmbedded Systems)  giao ti p v i các h th ng/m ch đin t 26 13