Đăng ký Đăng nhập

Tài liệu 4sev_laptrinh

.PDF
78
171
148

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 8: Lập trình NguyễnVănVỵ Nội dung Ng«n ng÷ lËp tr×nh Phong c¸ch lËp tr×nh LËp tr×nh tr¸nh lçi LËp tr×nh h−íng hiÖu qu¶ 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 Kh¸i niÖm lËp tr×nh hiÖu qu¶ NguyễnVănVỵ S¶n phÈm phÇn mÒm tèt khi ph©n tÝch tèt thiÕt kÕ tèt lËp tr×nh tèt kiÓm thö chÆt chÏ kü thuËt lËp tr×nh tèt chuyªn nghiÖp (tu©n theo c¸c chuÈn) æn ®Þnh hiÖu qu¶ Bộ môn Công nghệ phần mềm – ĐHCN 4 Kh¸i niÖm lËp tr×nh hiÖu qu¶ NguyễnVănVỵ LËp tr×nh hiÖu qu¶ h¬n, s¶n phÈm rÎ tiÒn h¬n Tèc ®é ph¸t triÓn cao h¬n n¨ng lùc biÓu diÔn cao h¬n kh¶ n¨ng sö dông l¹i cao h¬n DÔ b¶o tr× h¬n dÔ hiÓu, dÔ söa ®æi, thÝch nghi ChÊt l−îng cao h¬n sö dông c¸c cÊu tróc an toμn h¬n ch−¬ng tr×nh cÇn dÔ hiÓu Bộ môn Công nghệ phần mềm – ĐHCN 5 Tèc ®é viÕt m· nguån NguyễnVănVỵ Tèc ®é ph¸t triÓn cao ≠ lμm ng¾n ch−¬ng tr×nh nguån Tèc ®é kh«ng tû lÖ thuËn víi sè dßng lÖnh C©u lÖnh phøc t¹p lμm gi¶m ®é dÔ hiÓu Ng«n ng÷ møc cao (4GL) n¨ng lùc biÓu diÔn cao tèc ®é ph¸t triÓn nhanh Bộ môn Công nghệ phần mềm – ĐHCN 6 TiÕn hãa cña kü thuËt lËp tr×nh NguyễnVănVỵ LËp tr×nh tuÇn tù (tuyÕn tÝnh) LËp tr×nh cã cÊu tróc (thñ tôc) LËp tr×nh h−íng chøc n¨ng LËp tr×nh h−íng ®èi t−îng Kü thuËt thÕ hÖ thø 4 Bộ môn Công nghệ phần mềm – ĐHCN 7 LËp tr×nh tuÇn tù NguyễnVănVỵ ■ kh«ng cã/thiÕu c¸c lÖnh cã cÊu tróc (for, while, do while) ■ l¹m dông c¸c lÖnh GOTO ■ thiÕu kh¶ n¨ng khai b¸o biÕn côc bé ®é ghÐp nèi cao ch−¬ng tr×nh khã hiÓu, khã söa, dÔ sinh lçi Ng«n ng÷ dïng: thÕ hÖ 1, 2: assembly, basic,... Bộ môn Công nghệ phần mềm – ĐHCN 8 LËp tr×nh cã cÊu tróc NguyễnVănVỵ ■ sö dông c¸c lÖnh cã cÊu tróc (for, while, do while) ■ h¹n chÕ/cÊm dïng GOTO ■ sö dông ch−¬ng tr×nh con, biÕn côc bé dÔ hiÓu h¬n, an toμn h¬n Ng«n ng÷ dïng: thÕ hÖ 2, 3: Fortran, Pascal, C, Bộ môn Công nghệ phần mềm – ĐHCN 9 LËp tr×nh h−íng chøc n¨ng NguyễnVănVỵ Dùa trªn nguyªn t¾c ghÐp nèi d÷ liÖu trao ®æi d÷ liÖu b»ng tham sè vμ gi¸ trÞ tr¶ l¹i lo¹i bá hoμn toμn d÷ liÖu dïng chung Lo¹i bá c¸c hiÖu øng phô khi söa ®æi c¸c mo®un ch−¬ng tr×nh; n©ng cao tÝnh t¸i sö dông VÝ dô: Lisp Bộ môn Công nghệ phần mềm – ĐHCN 10 LËp tr×nh h−íng ®èi t−îng NguyễnVănVỵ ■ Bao gãi & che dÊu th«ng tin ■ thao t¸c víi d÷ liÖu qua c¸c giao diÖn x¸c ®Þnh ■ kÕ thõa côc bé h¬n dÔ t¸i sö dông h¬n thuËn tiÖn cho c¸c øng dông lín Ng«n ng÷ h−íng ®èi t−îng: C++, Java, C# Bộ môn Công nghệ phần mềm – ĐHCN 11 LËp tr×nh logic NguyễnVănVỵ T¸ch tri thøc vÒ bμi to¸n khái kü thuËt lËp tr×nh M« t¶ tri thøc c¸c qui t¾c c¸c sù thùc môc tiªu HÖ thèng tù chøng minh t×m ®−êng ®i ®Õn môc tiªu VÝ dô:Prolog Bộ môn Công nghệ phần mềm – ĐHCN 12 VÝ dụ. Prolog: 8 hËu NguyễnVănVỵ member(X,[X|L]). member(X,[Y|L]):-member(X,L). solution([]). solution([X/Y|Other]):solution(Other), member(Y, [1,2,3,4,5,6,7,8]), noattack(X/Y, Other). noattack(_,[]). noattack(X/Y, [X1/Y1 | Other]):Y =\= Y1, Y1-Y =\= X1-X, Y1-Y =\= X-X1, noattack(X/Y , Other). Bộ môn Công nghệ phần mềm – ĐHCN 13 Lùa chän ng«n ng÷ NguyễnVănVỵ ■ §Æc tr−ng cña ng«n ng÷ n¨ng lùc (kiÓu biÕn, c¸c cÊu tróc) tÝnh kh¶ chuyÓn møc ®é hç trî cña c¸c c«ng cô ■ MiÒn øng dông cña ng«n ng÷ lËp tr×nh hÖ thèng nghiÖp vô, kinh doanh khoa häc kü thuËt trÝ tuÖ nh©n t¹o ■ N¨ng lùc, kinh nghiÖm cña nhãm ph¸t triÓn ■ Yªu cÇu cña kh¸ch hμng Bộ môn Công nghệ phần mềm – ĐHCN 14 N¨ng lùc cña ng«n ng÷ NguyễnVănVỵ ■ Ng«n ng÷ bËc cao: cã cÊu tróc, c©u lÖnh phong phó hç trî nhiÒu kiÓu d÷ liÖu hç trî con trá, ®Ö qui hç trî h−íng ®èi t−îng th− viÖn phong phó nªn dïng ng«n ng÷ bËc cao (h¬n) Bộ môn Công nghệ phần mềm – ĐHCN 15 TÝnh kh¶ chuyÓn NguyễnVănVỵ ■ YÕu tè quan träng cña ng«n ng÷, cÇn khi thay ®æi phÇn cøng thay ®æi OS Java kh¶ chuyÓn C¸c ng«n ng÷ th«ng dÞch (script) kh¶ chuyÓn sö dông c¸c tÝnh n¨ng chuÈn cña ng«n ng÷ sö dông script khi cã thÓ Bộ môn Công nghệ phần mềm – ĐHCN 16 Cã c«ng cô hiÖu qu¶ NguyễnVănVỵ ■ Tr×nh biªn dÞch hiÖu qu¶ biªn dÞch tèc ®é cao kh¶ n¨ng tèi −u cao khai th¸c c¸c tËp lÖnh, kiÕn tróc phÇn cøng míi ■ C¸c c«ng cô trî gióp hiÖu qu¶ editor, debugger, linker, make... IDE (Integrated Develop Environment) m«i tr−êng Unix th−êng kh«ng dïng IDE Bộ môn Công nghệ phần mềm – ĐHCN 17 MiÒn øng dông vμ ng«n ng÷ NguyễnVănVỵ ■ PhÇn mÒm hÖ thèng: hiÖu qu¶, v¹n n¨ng, dÔ më réng C, C++ ■ HÖ thêi gian thùc: C, C++, Ada, Assembly ■ PhÇn mÒm nhóng: C++, Java ■ PhÇn mÒm khoa häc kü thuËt: tÝnh to¸n chÝnh x¸c, th− viÖn to¸n häc m¹nh,dÔ dμng song song hãa Fortran vÉn phæ biÕn Bộ môn Công nghệ phần mềm – ĐHCN 18 MiÒn øng dông vμ ng«n ng÷ (t) NguyễnVănVỵ ■ PhÇn mÒm nghiÖp vô: CSDL: Oracle, DB2, SQL Server, MySQL... ng«n ng÷: FoxPro, COBOL, VB, VC++ ■ TrÝ tuÖ nh©n t¹o: Lisp, Prolog, OPS5,... ■ LËp tr×nh Web/CGI: Perl, ASP, PHP, Java, Java script, Python... Bộ môn Công nghệ phần mềm – ĐHCN 19 Phong c¸ch lËp tr×nh NguyễnVănVỵ ■ Bao gåm c¸c yÕu tè: c¸ch ®Æt tªn hμm vμ biÕn c¸ch x©y dùng c©u lÖnh, cÊu tróc ch−¬ng tr×nh c¸ch viÕt chó thÝch H−íng tíi phong c¸ch lμm cho m· nguån dÔ hiÓu, dÔ söa ®æi an toμn (Ýt lçi) Ng−êi kh¸c cã thÓ hiÓu ®−îc, b¶o tr× ®−îc Bộ môn Công nghệ phần mềm – ĐHCN 20
- Xem thêm -

Tài liệu liên quan