Bài giảng môn học Kỹ nghệ phần mềm: Bài 2 - PGS.TS. Nguyễn Văn Vỵ

Chia sẻ: Na Na | Ngày: | Loại File: PDF | Số trang:50

0
66
lượt xem
9
download

Bài giảng môn học Kỹ nghệ phần mềm: Bài 2 - PGS.TS. Nguyễn Văn Vỵ

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

Bài giảng môn học Kỹ nghệ phần mềm: Bài 2 có nội dung trình bày các định nghĩa, khái niệm về kỹ nghệ phần mềm, lịch sử phát triển và các mô hình tiến trình của kỹ nghệ phần mềm.

Chủ đề:
Lưu

Nội dung Text: Bài giảng môn học Kỹ nghệ phần mềm: Bài 2 - PGS.TS. Nguyễn Văn Vỵ

  1. Kỹ nghệ phần mềm Software Engeneering NguyÔn V¨n Vþ Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN Email: vynv@coltech.vnu.vn
  2. Bài 2: Kỹ nghệ phần mềm NguyễnVănVỵ Nội dung „ §Þnh nghÜa vμ kh¸i niÖm „ LÞch sö ph¸t triÓn „ C¸c m« h×nh tiÕn tr×nh Bộ môn Công nghệ phần mềm – ĐHCN 2
  3. TÀI LiỆU THAM KHẢO NguyễnVănVỵ 1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giáo trình kỹ nghệ phần mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008 2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. 3. M. Ould. Managing Software Quality and Business Risk, John Wiley and Sons, 1999. 4. Roger S.Pressman, Software Engineering, a Practitioner’s Approach. Fifth Edition, McGraw Hill, 2001. 5. Ian Sommerville, Software Engineering. Sixth Edition, Addison- Wasley, 2001. 6. Nguyễn Văn Vỵ. Phân tích thiết kế hệ thống thông tin hiện đại. Hướng cấu trúc và hướng đối tượng, NXB Thống kê, 2002, Hà Nội. Bộ môn Công nghệ phần mềm – ĐHCN 3
  4. C¸c ®Þnh nghÜa kü nghÖ phÇn mÒm NguyễnVănVỵ Kü nghÖ phÇn mÒm – Software Engineering:SE „ SE lμ thiÕt lËp vµ sö dông c¸c nguyªn lý c«ng nghÖ ®óng ®¾n ®Ó ®−î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 (Bauer [1969]) „ SE lμ 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 phÇn mÒm (Sommerville [1995]) Bộ môn Công nghệ phần mềm – ĐHCN 4
  5. §Þnh nghÜa SE NguyễnVănVỵ „ SE lμ bé m«n tÝch hîp 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 (Pressman [1995]) „ Ba mặt c¬ b¶n của kü nghÖ phÇn mÒm lμ: 1 1. Quy tr×nh/thñ tôc 1 ? 2 2. Ph−¬ng ph¸p 3. C«ng cô 3 4 2 3 Bộ môn Công nghệ phần mềm – ĐHCN 5
  6. LÞch sö cña kü nghÖ phÇn mÒm NguyễnVănVỵ „ §Ò x−íng, h×nh thμnh (70s) C¸c ph−¬ng ph¸p lËp tr×nh vμ cÊu tróc d÷ liÖu  Kh¸i niÖm vÒ tÝnh m«®un  Kh¸i niÖm s¬ ®å khèi, lËp tr×nh top-down  LËp tr×nh cã cÊu tróc (Dijkstra)  ph−¬ng ph¸p chia m«dun mét ch−¬ng tr×nh  Trõu t−îng hãa d÷ liÖu (Liskov) Bộ môn Công nghệ phần mềm – ĐHCN 6
  7. LÞch sö cña kü nghÖ phÇn mÒm NguyễnVănVỵ „ T¨ng tr−ëng (nöa ®Çu 80s) ¾ XuÊt hiÖn c¸c ph−¬ng ph¸p ph¸t triÓn hÖ thèng ƒ c«ng nghÖ CSDL (m« h×nh quan hÖ) ƒ ph©n tÝch, thiÕt kÕ h−íng cÊu tróc (biÓu ®å luång,..) ¾ C¸c bé c«ng cô ph¸t triÓn ƒ c«ng cô trî gióp ph©n tÝch, thiÕt kÕ ƒ bé khëi t¹o ch−¬ng tr×nh, kiÓm thö ƒ c¸c ng«n ng÷ bËc cao ¾ B¾t ®Çu quan t©m ®Õn qu¶n lý ƒ C¸c ®é do phÇn mÒm ƒ Qu¶n lý theo thèng kª Bộ môn Công nghệ phần mềm – ĐHCN 7
  8. LÞch sö cña kü nghÖ phÇn mÒm NguyễnVănVỵ „ Ph¸t triÓn (tõ gi÷a 80s) ¾Hoμn thiÖn c«ng nghÖ cÊu tróc, ra ®êi c«ng nghÖ ®èi t−ợng ƒ NhiÒu m« h×nh h−íng cÊu tróc triÓn khai, chuÈn hãa ƒ CASE hoμn thiÖn, ®¹t møc tù ®éng hãa cao ƒ Ng«n ng÷ thÕ hÖ 4 ra ®êi (LIPS, PROLOG,..) ƒ C«ng nghÖ h−íng ®èi t−îng b¾t ®Çu ph¸t triÓn: Quy tr×nh RUP, UML, C¸c c«ng cô ®Çy ®ñ (ROSE, JIBULDER,..) ƒ Sö dông l¹i chiÕm vÞ trÝ quan träng trong ph¸t triÓn Bộ môn Công nghệ phần mềm – ĐHCN 8
  9. LÞch sö cña kü nghÖ phÇn mÒm NguyễnVănVỵ „ Ph¸t triÓn (tõ gi÷a 80s) ¾ Ph¸t triÓn c«ng nghÖ ®èi t−îng  Kho d÷ liÖu, CSDL ®èi t−îng, ®a ph−¬ng tiÖn  §Þnh h−íng sö dông l¹i: thμnh phÇn, mÉu, Framework  C«ng nghÖ Web: web services ¾ Ph¸t triÓn c¸c m« h×nh qu¶n lý  ChuÈn qu¶n lý ®−îc c«ng nhËn (CMM, IS9000-03)  NhiÒu m« h×nh tæ chøc lμm phÇn mÒm ®−îc ®Ò xuÊt  NhiÒu c«ng cô trî gióp qu¶n lý dù ¸n hoμn thiÖn Bộ môn Công nghệ phần mềm – ĐHCN 9
  10. C¸c yÕu tè c¬ b¶n cña - SE NguyễnVănVỵ „ Tæng hîp: Kü nghÖ phÇn mÒm  Lμ mét qu¸ tr×nh kü nghÖ tÝch hîp: y Thñ tôc (procedures) y Ph−¬ng ph¸p (methods) y C«ng cô (tools)  Nh»m t¹o ra phÇn mÒm hiÖu qu¶, víi c¸c giíi h¹n cho tr−íc Bộ môn Công nghệ phần mềm – ĐHCN 10
  11. C¸c thñ tôc - Procedures NguyễnVănVỵ „ Qui tr×nh ph¸t triÓn vμ qu¶n lý: ƒ X¸c ®Þnh tr×nh tù thùc hiÖn c¸c c«ng viÖc ƒ X¸c ®Þnh c¸c tμi liÖu, s¶n phÈm cÇn bμn giao, vμ c¸ch thøc thùc hiÖn ƒ §Þnh c¸c mèc thêi gian (millestones) vμ s¶n phÈn ®−a ra (theo c¸c chuÈn) ¾ Cã thÓ ë møc chung cho nhiÒu dù ¸n ¾ Hay cô thÓ ho¸ cho 1 dù ¸n cô thÓ Bộ môn Công nghệ phần mềm – ĐHCN 11
  12. C¸c ph−¬ng ph¸p - methods NguyễnVănVỵ „ C¸ch lμm cô thÓ ®Ó x©y dùng phÇn mÒm „ Mçi c«ng ®o¹n cã ph−¬ng ph¸p riªng: • Ph©n tÝch (x¸c ®Þnh, ®Æc t¶ yªu cÇu) • ThiÕt kÕ (®Æc t¶ kiÕn tróc, giao diÖn, d÷ liªu, thñ tôc) • LËp tr×nh (cÊu tróc, h−íng ®èi t−îng) • KiÓm thö (hép ®en, hép tr¾ng, ¸p lùc, håi quy, luån sîi) • Qu¶n lý dù ¸n (PERT, GANTT, COCOMO) Bộ môn Công nghệ phần mềm – ĐHCN 12
  13. C¸c ph−¬ng ph¸p - methods NguyễnVănVỵ „ Néi dung ph−¬ng ph¸p th−êng bao gåm: y C¸c ph©n tö m« h×nh: m« t¶ kh¸i niÖm y C¸c ký ph¸p: ®Æc t¶ phần tö y C¸c quy t¾c: liªn kÕt c¸c ph©n tö m« h×nh y Quy tr×nh x©y dùng: tr×nh tù t¹o 1 m« h×nh y Lêi khuyªn, c¸ch dïng: cho m« h×nh tèt vμ dïng nã Bộ môn Công nghệ phần mềm – ĐHCN 13
  14. C¸c ph−¬ng ph¸p methods NguyễnVănVỵ M« h×nh (p.ph¸p) luång d÷ liÖu Kh¸i niÖm Ký ph¸p Quy t¾c Quy tr×nh - Tiến tr×nh l lµ duy nhất ƒ VÏ luång d÷ liÖu tên tác nhân t¸c nh©n - C¸c luồng vµo 1 tiến møc 0 tõ m« h×nh tr×nh phải # c¸c nghiÖp vô i luồng ra ƒ VÏ biÓu ®å møc i: tiÕn tr×nh tên tiến - C¸c luồng vµo 1 tiến tõ mçi tiÕn tr×nh trình tr×nh đủ để tạo ra c¸c luồng ra møc i-1 ch−a lµ c¬ së - Kh«ng cã c¸c luồng kho d÷ liÖu tên kho dữ liệu sau: Kho Æ kho Kho Æ t¸c nh©n tên luồng luång d÷ liÖu •… Bộ môn Công nghệ phần mềm – ĐHCN 14
  15. VÝ dô: BiÓu ®å luång d÷ liÖu møc 0 bμi to¸n tr«ng göi xe NguyễnVănVỵ 0 Kh¸ch t.t. xe HÖ thèng "hÕt chç" 1.0 b vÐ xe 2.0 kh¸ch vÐ xe nhËn xe tr¶ xe 0 a b¶ng gi¸ phiÕu vÐ t.to¸n 1 2 3 xe "vÐ c sæ xevµo d sæ xe ra z¶" DS thùc thÓ a. xxxx e phiÕu t.to¸n b. xxxx c. xxxx kh¸ch d. xxxx e. xxxx g phiÕu chi 3.0 tt sù cè f. xxxx "kh«ng g.q." gi¶i biªn b¶n f quyÕt sù biªn b¶n a b c d e f phiÕu chi 1 R C U R cè 2 R R U C 3 R R C nÐt ®á lμ phÇn thay thÕ hay thªm vμo M« h×nh nghiÖp vô Bộ môn Công nghệ phần mềm – ĐHCN 15
  16. C¸c c«ng cô - tools NguyễnVănVỵ „ Trî gióp tù ®éng/b¸n tù ®éng ph−¬ng ph¸p „ Computer Aided Software Engineering CASE c¸c c«ng cô trî gióp c¸c c«ng ®o¹n kh¸c nhau tiÕn tr×nh ph¸t triÓn phÇn mÒm „ C¸c ng«n ng÷ lËp tr×nh c«ng cô sinh giao diÖn (C Builder, ...) hç trî ph©n tÝch, thiÕt kÕ (Rwin, Modeler VÝ dô: (Oracle Designer, Rational Rose,...) trî gióp lËp tr×nh: compiler, debugger trî gióp qu¶n lý: project management Bộ môn Công nghệ phần mềm – ĐHCN 16
  17. C¸c c«ng cô - tools NguyễnVănVỵ Biểu đồ m« h×nh Bộ môn Công nghệ phần mềm – ĐHCN 17
  18. Vßng ®êi ph¸t triÓn hÖ thèng phÇn mÒm (systems development life cycle - SDCL)NguyễnVănVỵ „ Lμ c¸c ho¹t ®éng tõ khi ®−îc ®Æt hµng, ph¸t triÓn, sö dông ®Õn khi bÞ lo¹i bá n㠄 Vßng ®êi chia thμnh c¸c giai ®o¹n chÝnh : ¾ x¸c ®Þnh yªu cÇu, ¾ triÓn khai, ¾ kiÓm thö, ¾ VËn hµnh, b¶o tr× vµ lÆp l¹i Ph¹m vi, thø tù, néi dung kh¸c nhau tïy theo tõng s¶n phÈm vμ dù ¸n Bộ môn Công nghệ phần mềm – ĐHCN 18
  19. Vßng ®êi ph¸t triÓn phÇn mÒm NguyễnVănVỵ „ Tïy m« h×nh ¸p dông, ph©n chia c¸c pha, c¸c b−íc cã thÓ kh¸c nhau : tõ 3 ®Õn 20 b−íc X¸c ®Þnh yªu cÇu TriÒn khai KiÓm thö VËn hµnh - B¶o tr× C¸c pha chÝnh cña vßng ®êi Bộ môn Công nghệ phần mềm – ĐHCN 19
  20. C¸c b−íc chung nhÊt ph¸t triÓn NguyễnVănVỵ   X¸c ®Þnh yªu cÇu   Ph¸t triÓn y ph©n tÝch hÖ thèng y ThiÕt kÕ y lËp kÕ ho¹ch y M· ho¸ y ph©n tÝch yªu cÇu y KiÓm thö y ®Æc t¶ yªu cÇu y Lμm tμI liÖu y söa lçi   TiÕn hãa y thÝch nghi y n©ng cao y bæ sung Bộ môn Công nghệ phần mềm – ĐHCN 20

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản