Đăng ký Đăng nhập

Tài liệu 1bsev_kynghefm

.PDF
50
167
100

Mô tả:

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: [email protected] 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 TÀI LiỆU THAM KHẢO NguyễnVănVỵ 1. 2. 3. 4. 5. 6. 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 Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. M. Ould. Managing Software Quality and Business Risk, John Wiley and Sons, 1999. Roger S.Pressman, Software Engineering, a Practitioner’s Approach. Fifth Edition, McGraw Hill, 2001. Ian Sommerville, Software Engineering. Sixth Edition, AddisonWasley, 2001. 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 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 §Þ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. Quy tr×nh/thñ tôc 2. Ph−¬ng ph¸p 3. C«ng cô 1 ? 2 3 2 Bộ môn Công nghệ phần mềm – ĐHCN 1 4 3 5 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 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 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 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 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: Thñ tôc (procedures) Ph−¬ng ph¸p (methods) 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 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 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 C¸c ph−¬ng ph¸p - methods NguyễnVănVỵ Néi dung ph−¬ng ph¸p th−êng bao gåm: C¸c ph©n tö m« h×nh: m« t¶ kh¸i niÖm C¸c ký ph¸p: ®Æc t¶ phần tö C¸c quy t¾c: liªn kÕt c¸c ph©n tö m« h×nh Quy tr×nh x©y dùng: tr×nh tù t¹o 1 m« h×nh 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 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 t¸c nh©n Ký ph¸p Quy t¾c tên tác nhân - Tiến tr×nh l lµ duy nhất - C¸c luồng vµo 1 tiến tr×nh phải # c¸c luồng ra - C¸c luồng vµo 1 tiến tr×nh đủ để tạo ra c¸c luồng ra - Kh«ng cã c¸c luồng dữ liệu sau: i tiÕn tr×nh kho d÷ liÖu luång d÷ liÖu tên tiến trình tên kho tên luồng Bộ môn Công nghệ phần mềm – ĐHCN Kho Kho Quy tr×nh VÏ luång d÷ liÖu møc 0 tõ m« h×nh nghiÖp vô VÏ biÓu ®å møc i: tõ mçi tiÕn tr×nh møc i-1 ch−a lµ c¬ së kho t¸c nh©n •… 14 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 HÖ thèng Kh¸ch t.t. xe kh¸ch 0 1 1.0 nhËn xe "hÕt chç" vÐ xe a b¶ng gi¸ 2 DS thùc thÓ a. xxxx b. xxxx c. xxxx d. xxxx e. xxxx f. xxxx d sæ xe ra e phiÕu t.to¸n b c d 1 R C U R R U R e 3.0 gi¶i quyÕt sù cè R 2 g phiÕu chi biªn b¶n f a R vÐ xe 3 c sæ xevµo 3 2.0 tr¶ xe b vÐ xe f "vÐ z¶" phiÕu t.to¸n kh¸ch tt sù cè "kh«ng g.q." phiÕu chi biªn b¶n C 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 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 VÝ dô: c«ng cô sinh giao diÖn (C Builder, ...) hç trî ph©n tÝch, thiÕt kÕ (Rwin, Modeler (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 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 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 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 C¸c b−íc chung nhÊt ph¸t triÓn NguyễnVănVỵ X¸c ®Þnh yªu cÇu ph©n tÝch hÖ thèng lËp kÕ ho¹ch ph©n tÝch yªu cÇu ®Æc t¶ yªu cÇu TiÕn hãa Bộ môn Công nghệ phần mềm – ĐHCN Ph¸t triÓn ThiÕt kÕ M· ho¸ KiÓm thö Lμm tμI liÖu söa lçi thÝch nghi n©ng cao bæ sung 20
- Xem thêm -

Tài liệu liên quan