intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

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

116
lượt xem
19
download
 
  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 8 trình bày các nội dung trong lập trình kỹ nghệ phần mềm. Các nội dung chi tiết được trình bày ở bài 8 bao gồm 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ả.

Chủ đề:
Lưu

Nội dung Text: Bài giảng môn học Kỹ nghệ phần mềm: Bài 8 - 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 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
  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. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2