Chương 1: Tổng Quan về công nghệ phần mềm

Chia sẻ: Pacific Ocean | Ngày: | Loại File: PDF | Số trang:20

0
168
lượt xem
99
download

Chương 1: Tổng Quan về công nghệ phần mềm

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Toàn bộ tài liệu sưu tầm môn Nhập môn Công Nghệ Phần Mềm giành cho các bạn sinh viên

Chủ đề:
Lưu

Nội dung Text: Chương 1: Tổng Quan về công nghệ phần mềm

  1. 14/9/2009 N i dung I. Các khái ni m II. Quy trình xây d ng ph n m m III.Ngh nghi p k sư ph n m m Chương 1 T ng quan v công ngh ph n m m I. Các khái ni m Các khái ni m 1. Khoa h c, k thu t, công ngh — Khoa h c (science) 2. Ph n m m — K thu t (technology) a. Ph n m m t t — Công ngh (engineering) b. Ph n m m đ hay thi u và nguyên nhân — Ph n m m (software) c. Ti n hóa c a ph n m m — Công ngh ph n m m (software d. Các lo i ph n m m engineering) 3. Công ngh ph n m m (SE) 1
  2. 14/9/2009 Ph n m m Đ c tính c a s n ph m ph n m m t t — Software = Computer Program + — Maintainability: ph n m m có th thay đ i thu n ti n theo yêu c u c a ngư i dùng associated documentation — Dependability: tính n đ nh, b o m t và an — Lo i s n ph m ph n m m toàn c a ph n m m. Không gây t n h i v v t — Generic Product: là s n ph m đóng gói và ch t hay kinh t cho h th ng. bán r ng rãi trên th trư ng. — Efficiency: S d ng hi u qu tài nguyên c a h th ng cho công vi c — Bespoke Product: là s n ph m đư c phát tri n theo yêu c u đ c thù c a t ng khách — Usability: giao di n và phương th c ph i phù h p v i ngư i dùng đ ng th i đáp ng đúng hàng. yêu c u c a ngư i dùng Ph n m m-đ hay thi u Nguyên nhân khách quan — Ph n m m đư c vi t ngay t khi có nh ng máy — S lư ng ph n m m ph i đư c hi u là s tính programable đ u tiên. đ u/lo i ph n m m đư c s d ng cho t ng m c — Đư c quan tâm và phát tri n t r t s m tiêu ng d ng. — Có r t nhi u ph n m m đã đư c vi t — Nhu c u s d ng ph n m m là r t l n → Không thi u ph n m m — Nhi u ngành ngh c n dùng ph n m m máy tính — Th c t vi c s n xu t ph n m m không đáp ng k p yêu c u c a ngư i s d ng: — M i ngành ngh c n nhi u lo i ph n m m khác — Không đ v s lư ng nhau — Thi u v ch t lư ng — Không k p v th i gian — M i lo i ph n m m c n nhi u c p đ khác → Ph n m m không đáp ng đ cho ngư i dùng nhau theo trình đ ngư i dùng 2
  3. 14/9/2009 Nguyên nhân khách quan Nguyên nhân ch quan — Ch t lư ng ph n m m cũng chưa đáp ng t t — Tính chuyên nghi p trong s n xu t ph n m m hoàn toàn ngư i s d ng: chưa cao: Các d li u quan sát đư c (1979) — Tính customize r t cao c a s n ph m ph n m m. — Theo ki m toán M — Trình đ s d ng khác nhau và đi u ki n h t ng — 50% vư t ngân sách ng d ng khác nhau — 60% tr — Nhu c u ph n m m thư ng r t c p bách — 40% không đúng yêu c u trong đó 22% ph i — T m nhìn và chi n lư c chưa đ u đ c a ngư i s thi t k l i toàn b và 29% th t b i hoàn toàn d ng — Theo th ng kê c a Tom de Marco (1979) — Không có k ho ch lâu dài — 25% h ph n m m l n th t b i — Ph i thay đ i theo t ng đ i tư ng ngư i dùng Nguyên nhân ch quan Nguyên nhân ch quan — Theo th ng kê c a Copets Jones (1991) — Lý do c a nh ng h qu trên — Trung bình các h thông tin qu n lý tr 1 năm — Phát tri n ph n m m gi ng như m t ngh thu t, — Vư t ngân sách 100% chưa đư c xem như m t ngành khoa h c — Quy trình phát tri n ph n m m chưa đư c th ng nh t — Ph i vi t l i ph n m m m i khi có s thay đ i v ngôn ng , ph n c ng ho c h đi u hành — Chưa đ t đư c 1 chu n cho vi c đo lư ng hi u su t và s n ph m 3
  4. 14/9/2009 Nguyên nhân ch quan Ti n hóa c a ph n m m — Đ ph c t p c a ph n m m quá cao đ i v i 1 — Ph n m m v n dĩ là ph c t p. “ki n trúc sư” — Yêu c u s d ng ph n m m không ng ng thay đ i — K thu t đ c t đ l i s nh p nh ng trong các — S ti n b nhanh c a h t ng – ph n c ng yêu c u ph n m m →S ti n hóa ph n m m là t t y u — Làm vi c nhóm không đúng k lu t gây ra các l i — Xu hư ng chung: → C n ph i có m t/nhi u chu n quy trình trong — Ph n m m ngày càng ph c t p s n xu t ph n m m đ nâng cao tính chuyên — Chi phí ph n m m ngày càng cao nghi p c a n n s n xu t đ c bi t n y: C n công — Ph n m m tr thành ngành công nghi p kh ng l ngh cho công nghi p ph n m m — Năng su t l p trình th p, giá thành cao Ti n hóa c a ph n m m Ti n hóa c a ph n m m — Giai đo n th nh t: (1955 - kho ng 1965-1970) — Giai đo n 2: (t kho ng 1970 - 1985) — Tính toán và qu n lý r i r c — H th ng th i gian th c — Đ c t b ng ngôn ng thư ng — M ng c c b n i các CSDL — X lý theo lô — Đ c t chú tr ng đ n input/output và lu ng chuy n d li u — Môi trư ng l p trình có tính cá nhân — Thi t k chú tr ng đ n c u hình h th ng. — S n xu t đơn chi c — Gi i thu t và d li u có c u trúc — Ngôn ng : mã máy, đ c thù cho t ng máy — Ngôn ng : có c u trúc: Algo60, Fortran, COBOL — L p trình: là m t ngh thu t theo b n năng, — H đi u hành DOS, UNIX chưa có phương pháp 4
  5. 14/9/2009 Ti n hóa c a ph n m m Ti n hóa c a ph n m m — Giai đo n 3: (Kho ng 1985 - 2000) Th i gian th c, PC, n i m ng Tính toán qu n lý đa nhi m, n i — PC phát tri n m nh. Yêu c u nh m ng c c b , di n r ng, Internet CSDL — M ng di n r ng, Internet Đ ct Ngôn ng Đ u vào + đ u ra; dòng Hư ng đ i tư ng, — Đ c t hư ng đ i tư ng, các CASE phát tri n thư ng chuy n d li u vòng đ i PM, CASE — Thi t k chú tr ng đ n tính mô-đun, hư ng đ i Thi t k Gi i thu t C u hình h th ng, c u Tinh môđun, đ i trúc GT và DL tư ng, giao th c, tư ng, giao th c (protocol) và giao di n giao di n (interface) Cài đ t Ct đơn gi n; HĐH, h th ng CSDL Dùng l i PM đóng x lý Batch thư ng tr c gói, ngôn ng — Ngôn ng : Ngôn ng b c cao, hư ng đ i tư ng hư ng đ i tư ng — Phát tri n HT: có phương pháp, công c t đ ng 55 60 65 70 75 80 85 90 95 2000 Các lo i ph n m m Các ng d ng — Ph n m m h th ng — M t ng d ng (application) là m t t p h p — Các chương trình vi t đ ph c v cho chương các chương trình th c hi n t đ ng hóa m t trình khác s các nhi m v nghi p v . — X lý thông tin ph c t p nhưng xác đ nh (như — M i ng d ng đ u có đ c đi m chung và h đi u hành, trình biên d ch…) — Đ c trưng b i tương tác ch y u v i ph n m t s đ c đi m riêng. Các đ c đi m chung c ng máy tính thư ng là: — Ph c v nhi u ngư i dùng. — Đ c tính (Characteristics) — C u trúc d li u ph c t p, nhi u giao di n — Tính h i ti p (Responsiveness) ngoài — Ki u c a (lo i) ng d ng (Type) — Ph n m m ng d ng 5
  6. 14/9/2009 Đ c tính c a ng d ng Ràng bu c v th i gian — D li u Th i gian x lý Đ u vào. Đ u ra. Lưu tr và tìm ki m Th i gian phân chia cho m t quá trình x lý — X lý Th i gian yêu c u v i các quy trình x lý bên — Ràng bu c ngoài Th t trư c, th t sau, th i gian, c u trúc, Th i gian x lý đ ng b đi u khi n, suy di n Th i gian tr l i cho quá trình x lý v i giao — Giao di n di n bên ngoài Ngư i s d ng, th công, t đ ng Ràng bu c v suy di n Kh năng h i đáp — Ràng bu c v suy di n có th x y ra v i các Là th i gian s d ng và đáp ng yêu c u t ng d ng ngư i dùng c a ng d ng. Chia làm 3 lo i: — Ràng bu c v suy di n liên quan đ n tri th c — X lý theo lô (batch oriented) h th ng và gi i h n trên lo i tri th c n y. — X lý tr c tuy n (on-line) — Ràng bu c v suy di n liên quan đ n công c — X lý th i gian th c (realtime) ngôn ng nào đã xây d ng nên h th ng 6
  7. 14/9/2009 So sánh 3 mô hình x lý So sánh 3 mô hình x lý M c so sánh Theo lô Tr c tuy n Th i gian th c M c so sánh Theo lô Tr c tuy n Th i gian th c T ng s d li u L n Nh -l n Trung bình Giám sát d li u Không Có Có Chi phí xây d ng Th p Trung bình Cao T l c p nh t d Cao Tháp-Cao Cao Chi phí ho t đ ng Th p Trung bình khá Cao li u lưu tr T n d ng Tài nguyên máy Th i gian Th i gian H i Theo lô Tr c tuy n Tr c tuy n Đ ph c t p xây d ng Đơn gi n V a Ph c t p Báo cáo Dài, hình th c Ng n, không hình Ng n, không hình T c đ x lý các giao d ch Nhanh Ch m Trung bình th c th c T c đ x lý 1 giao d ch Ch m Trung bình Nhanh D phòng/khôi Lưu file ra dĩa S d ng 1 trong S d ng 1 trong ph c các cách sau: lưu các cách sau: lưu file ra dĩa, ghi file ra dĩa, ghi S d ng h th ng qu n lý Có th hay không Có kh năng Có nh t ký giao d ch, nh t ký giao d ch, CSDL và giao ti p d li u t o b ng ghi tr ng t o b ng ghi tr ng Đ ng b ho t đ ng Ch m Trung bình nhanh thái trư c và sau, thái trư c và sau, t o file nh t o file nh Ki u c a ng d ng H TPS — ng d ng hư ng giao d ch (Transaction Processing Systems-TPS) — H thông tin qu n lý (Management Information System-MIS) — H h tr ra quy t đ nh (Decision Supports System-DSS) — H thông tin thi hành (Executive Information system-EIS) — H h tr quy t đ nh theo nhóm (Group DSS) — H chuyên gia (Expert System –ES) — Các h th ng nhúng (Embedded systems) 7
  8. 14/9/2009 C u trúc TPS tr c tuy n C u trúc TPS theo lô H MIS C u trúc MIS 8
  9. 14/9/2009 H DSS C u trúc DSS C u trúc ES H ES 9
  10. 14/9/2009 H ES Công ngh ph n m m – đ nh nghĩa — Bauer [1969]: SE là vi c thi t l p và s d ng các nguyên lý công ngh đúng đ n đ thu đư c ph n m m 1 cách kinh t v a tin c y v a làm vi c hi u qu trên các máy th c. — Parnas [1987]: SE là vi c xây d ng ph n m m nhi u phiên b n b i nhi u ngư i. — Sommerville [1995]: SE là m t nguyên lý k ngh liên quan đ n t t c các m t (lý thuy t, phương pháp và công c ) c a s n ph n m m Công ngh ph n m m – đ nh nghĩa Công ngh ph n m m – đ nh nghĩa — IEEE [1993]: — Là m t quá trình k ngh g m ba m t: 1. Vi c áp d ng phương pháp ti p c n có h — Th t c (procedures) th ng, bài b n và đư c lư ng hóa trong — Phương pháp (methods) phát tri n, v n hành và b o trì ph n m m; 2. Nghiên c u các phương pháp ti p c n đư c — Công c (tools) dùng trong (1) — Nh m t o ra ph n m m hi u qu ,v i các — Pressman [1995]: SE là b môn tích h p c gi i h n cho trư c qui trình, các phương pháp, các công c đ phát tri n ph n m m máy tính 10
  11. 14/9/2009 Khái ni m Khái ni m Th t c Phương pháp — Xác đ nh trình t th c hi n các công vi c — Cách làm c th đ xây d ng ph n m m — Xác đ nh các tài li u, s n ph m c n bàn giao — M i công đo n làm ph n m m có các và cách th c th c hi n phương pháp riêng — Đ nh các m c th i gian (millestones) và s n — Phương pháp phân tích ph m bàn giao — Phương pháp thi t k — Phương pháp l p trình — Phương pháp ki m th Khái ni m C th Công c — Efficiency: Ph n m m đư c s n xu t trong th i — Cung c p s tr giúp t đ ng / bán t đ ng cho gian và đi u ki n v a ph i. Ph n m m v n hành t ng phương pháp đúng m c đ yêu c u v công vi c và th i gian. — Computer Aided Software Engineering –CASE- — Reliablity: Ph n m m v n hành n đ nh và tương các công c ph n m m đư c chu n hóa đ tr tác đư c v i các h th ng ng d ng giúp các công đo n khác nhau trong quá trình — Usability: Ph n m m có th dùng đư c b i phát tri n ngư i s d ng và v i môi trư ng mà ngư i s — Compiler, debugger d ng đang có. Chú ý t i giao di n, đi u ki n h — H tr phân tích, thi t k (Rwin,Modeler, Oracle Designer, Rational Rose,...) th ng,… 11
  12. 14/9/2009 C th C th — Modifiability: Ph n m m có th đư c thay đ i — Reusability: Ph n m m hay m t ph n có th d dàng, nhanh chóng khi yêu c u c a ngư i s đư c tái s d ng cho các ng d ng khác. Các d ng thay đ i. modul có thi t k t t, đ c l p và giao ti n đơn — Portability: Ph n m m có th chuy n đ i d gi n, c v tình tương thích công ngh phát tri n dàng sang các h th ng khác mà không c n ph i — Maintainability: thi t k c a ph n m m có th đi u ch nh l n. Ch c n recompile n u c n thi t đư c hi u d dàng cũng như chuy n giao thu n là t t nh t. ti n cho ngư i khác trong quá trình đi u ch nh, — Testability: Ph n m m có th đư c ki m tra d nâng c p hay thay đ i theo yêu c u. dàng. T t nh t là đư c modul hóa. C th L ch s phát tri n — Interoperability: Ph n m m v n hành n đ nh và — Đ xư ng, hình thành (70s) đúng như mong đ i. Trên h th ng nhi u ngư i Các phương pháp l p trình và c u trúc d li u dùng (multi users) ph n m m v n ho t đ ng — Khái ni m v tính môđun đư c v i các v n hành khác c a h th ng. — Khái ni m thi t k ,l p trình top-down, chi ti t — Correctness: Ph n m m ph i tính toán đúng và hóa t ng bư c (N. With) t o ra k t qu đúng và đúng v i m c tiêu ng — L p trình có c u trúc (Dijkstra) d ng c a ngư i dùng. — Phương pháp lu n v qui trình thi t k ;phương — Các yêu c u khác: Đúng ti n đ . S d ng h p lý pháp phân chia mô đun ngu n nhân l c phát tri n. Chi phí phát tri n — Tr u tư ng hóa d li u (Liskov th p nh t 12
  13. 14/9/2009 L ch s phát tri n L ch s phát tri n — Tăng trư ng (n a đ u 80s) — Phát tri n (t gi a 80s) — Xu t hi n các phương pháp phát tri n h th ng Hoàn thi n công ngh c u trúc, ra đ i công ngh đ i — Công ngh CSDL (mô hình quan h ) tư ng — Phân tích, thi t k hư ng c u trúc — Nhi u mô hình hư ng c u trúc đư c chu n hóa — Các b công c phát tri n — CASE hoàn thi n, đ t m c t đ ng hóa cao — Công c tr giúp phân tích thi t k — Công ngh hư ng đ i tư ng b t đ u phát tri n: — B kh i t o chương trình (biên d ch) — Quy trình RUP — Các ngôn ng b c cao (FoxPro, SQL...) — Ngôn ng mô hình hóa th ng nh t(UML) — B t đ u quan tâm đ n qu n lý làm ph n m m — Các công c ph n m m đ y đ (ROSE, JBULDER,..) — Các đ đo ph n m m — S d ng l i chi m v trí quan tr ng trong phát tri n L ch s phát tri n II. Quy trình phát tri n ph n m m — Phát tri n các mô hình qu n lý 1. Cách gi i quy t v n đ — Chu n qu n lý đư c công nh n (CMM, 2. M t s mô hình SO9000-03) 3. Các công đo n chính — Nhi u mô hình t ch c làm ph n m m đư c đ xu t 4. Các tiêu chu n — Nhi u công c tr giúp qu n lý d án hoàn thi n 13
  14. 14/9/2009 Quy trình phát tri n ph n m m Cách gi i quy t v n đ Quy trình phát tri n ph n m m (còn g i t t — T l p trình đi lên là quy trình ph n m m) là m t t p h p các — Các tri th c liên quan đ n l p trình hành đ ng ph i đư c th c hi n trong quá — Tri th c v cách ho t đ ng c a công c trình xây d ng m t h th ng ph n m m. x lý thông tin (tư duy gi i thu t) — Tri th c v cách tri n khai, gi i quy t v n đ b ng máy tính (tư duy h th ng) Cách gi i quy t v n đ Cách gi i quy t v n đ — Các giai đo n c a l p trình — V n đ , gi i pháp và gi i quy t v n đ 1. Nh n yêu c u tính toán — Yêu c u c a khách hàng: V n đ hay bài 2. Tìm hi u bài toán đ t ra toán 3. Phát tri n gi i thu t gi i quy t bài toán — S n ph m, d ch v gi i quy t các yêu c u: 4. Chuy n thu t toán thành chương trình máy tính Gi i pháp. 5. Ch y chương trình đ ki m tra và s a ch a — Công ngh ch là công c , phương ti n, 6. Th c hi n tính toán và chuy n giao k t qu c n có con ngư i áp d ng đ đ t đư c đ n nơi yêu c u m c đích 14
  15. 14/9/2009 Cách gi i quy t v n đ Cách gi i quy t v n đ — Đ gi i quy t v n đ , gi a khách hàng và ngư i cung c p ph i có các văn b n pháp lý ràng bu c, dư i d ng các d án và h p đ ng. — D án là n l c gi i quy t v n đ . — Phương pháp xác đ nh ra cách ti n hành các n l c gi i quy t v n đ — Ti n trình là vi c th c hi n c a phương pháp Góc nhìn chung v gi i quy t v n đ Cách gi i quy t v n đ Các nhân t Góc nhìn chi ti t v gi i quy t v n đ 15
  16. 14/9/2009 M t s mô hình phát tri n ph n m m Mô hình thác nư c — Mô hình thác nư c — Mô hình xây d ng ti n tri n — Công ngh ph n m m d a thành ph n — Mô hình phát tri n l p l i, tăng thêm — Mô hình xo n c Mô hình Prototype Công ngh ph n m m d a thành ph n 16
  17. 14/9/2009 Mô hình phát tri n l p l i, tăng thêm Mô hình xo n c Các công đo n chính t ng quát Đ ct — Giai đo n đ c t : xác đ nh các tính năng và đi u ki n ho t đ ng c a h th ng. (thu th p yêu c u và phân tích) — Giai đo n phát tri n: Thi t k ph n m m (software design), vi t code (code generation) — Giai đo n đánh giá: ki m tra ph n m m (software testing), ki m tra tính h p lý c a ph n m m. — Giai đo n b o trì, c i ti n: S a l i (correction), thay đ i môi trư ng th c thi (adaptation), tăng cư ng (enhancement) 17
  18. 14/9/2009 Phát tri n Đánh giá ph n m m — Ki m tra — Xem xét l i — Ki m th h th ng — Thi t k — Vi t code B o trì, c i ti n Các tiêu chu n trong CNPM — The capability Maturity Model (CMM) c a Software Engineering Institue (SEI) - Đ i h c Carnegie Mellon: Chú tr ng đ n tính h th ng và kh năng qu n tr c a các công ty ph n m m hơn là m t quy trình (process) c th . — The process Improvement Paradigm (PIP) c a Software Engineering Laboratory (SEL) – NASA’s Goddard Space Flight Center: Tương — S al i t như CMM, chú tr ng đ n tính h th ng và — C i ti n nh ng hư ng d n đ tăng cư ng tính năng c a các quá trình qu n lý. 18
  19. 14/9/2009 Các tiêu chu n trong CNPM Chu n CMM •Continuous Improvement Optimized •Các h th ng quality control và qualify đã — Các chu n khác c a Department of Defense đư c s d ng hi u qu (Level 5) MIL – STD 2167A ; MIL-STD 1574A ; MIL- •Có kh năng d đoán (Predictability) Managed •Các quy trình qu n lý và tiêu chu n Risk STD 882C đư c chi ti t hóa (Level 4) — The electronic Industries Association (EIA) Defined •Xác l p các tiêu chu n qu n lý •Các v n đ documentation đã xác l p chu n SEB-6-A (Level 3) Competitiveness Repeatable — The European ESPRIT project •B t đ u có kh năng qu n lý (Level 2) — International Standards Organisation - ISO •Qu n lý d a vào kinh nghi m tương t Initial 9001 •Largely Ad-hoc (Level 1) •Ph thu c vào cá nhân — United Kingdom MOD 0055 III. Ngh nghi p k sư ph n m m M c tiêu & nh ng k năng 1. M c tiêu và nh ng k năng M c tiêu: — S n xu t ra các s n ph m ph n m m có ch t lư ng cao 2. Lo i hình công vi c và phù h p v i quy trình phát tri n chu n m c Nh ng k năng c n có: — Đinh danh, đánh giá, cài đ t, l a ch n m t phương pháp lu n thích h p và các công c CASE — Bi t l a ch n ngôn ng , ph n c ng, ph n m m — Qu n lý, l p sơ đ và ki m soát vi c phát tri n ti n trình — Bi t cách ki m tra chương trình s áp d ng — L a ch n và s d ng k thu t b o trì ph n m m — Đánh giá và quy t đ nh khi nào lo i b hay nâng c p 19
  20. 14/9/2009 Lo i hình công vi c Lo i hình công vi c Phát tri n ng d ng Chuyên gia k thu t — L p trình viên — Phân tích thông tin — K sư ph n m m (phân tích/thi t k ) — K sư truy n thông — K sư tri th c (KE) — Chuyên gia m ng H tr ng d ng — L p trình viên h th ng — Chuyên gia ng d ng — Chuyên gia h tr ph n m m (SSP) — Nhà qu n tr d li u Chuyên viên — Nhà qu n tr CSDL (DBA) — Chuyên viên b o m t — K sư trí tu nhân t o — Ki m soát viên EDP — Nhà tư v n — Chuyên viên đào t o và hu n luy n Lo i hình công vi c — Chuyên viên phát tri n các chu n — Ngư i vi t k thu t — Đ m b o ch t lư ng (QA) — L p k ho ch công ngh Nh ng ngư i khác — H tr s n ph m — Ti p th s n ph m — Chuyên viên ngư i dùng cu i 20

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản