Danh mục

Bài giảng Bộ môn Công nghệ phần mềm - Bài 6: Kỹ thuật lập trình

Số trang: 43      Loại file: ppt      Dung lượng: 427.50 KB      Lượt xem: 9      Lượt tải: 0    
Xem trước 5 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài 6 - Kỹ thuật lập trình. Đây là tài liệu rất bổ ích đối với các sinh viên thuộc ngành Công nghệ thông tin. Nội dung của bài giảng bao gồm: Lập trình cấu trúc, lập trình hướng đối tượng, che dấu thông tin, các nguyên lý lập trình, chuẩn mã nguồn, qui ước Files, phát triển Code tăng dần (Incrementally), xây dựng và quản lý Source Code... Mời các bạn cùng tham khảo.


Nội dung trích xuất từ tài liệu:
Bài giảng Bộ môn Công nghệ phần mềm - Bài 6: Kỹ thuật lập trìnhKỸTHUẬTLẬPTRÌNHBMCNPM–KhoaCNTT– HVKTQS 10/2012Outline Lịchsửpháttriểncủacácmẫuhìnhlậptrình Cácnguyênlýlậptrình Cáccôngcụlậptrình Pháttriểnmãnguồnincremental Quảnlýmãnguồn Kiểmtramãnguồn CácđộđoGiớithiệuchung Lập trình được tiến hành để triển khai thiếtkếphầnmềm. Kỹ thuật lập trình sẽ ảnh hưởng cả hai quátrìnhkiểmthửvàbảotrì. Tuy nhiên, thời gian dành cho lập trình tườngđốiíthớnthờigiandànhchokiểm thửvàbảotrì. Tính dễ đọc/hiểu là mục tiêu hàng đầu củakhâulậptrình.Lậptrìnhcấutrúc LTCT bắt đầu từ những năm 70 nhằm mụcđíchtạoracáccodemàkhôngcó “goto” Ngoài ra, múc đích khác của LTCT là trợgiúpquátrìnhquátrìnhkiểmchứng mãnguồn.Lậptrìnhcấutrúc Câulệnhkhôngchỉđơnthuầnlàgán Bacấutrúclệnhcơbản: Selection:ifBthenS1elseS2ifBthenS1 Iteration:WhileBdoS repeatSuntilB Sequencing:S1;S2;S3;... Luônluonocó:Singleentry,singleexitLậptrìnhhướngđốitượng Làkĩthuậtlậptrìnhhỗtrợcôngnghệđốitượng.OOPđượcxemlàgiúptăngnăngsuất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phéplậptrìnhviêntậptrungvàocácđốitượngphầnmềm ởbậccaohơn.Ngoàira,nhiều ngườicònchorằngOOPdễtiếpthuhơnchonhữngng ườim ớih ọcv ềl ậptrìnhhơnlàcác phươngpháptrướcđó. Mộtcáchgiảnlược,đâylàkháiniệmvàlàmộtnỗlựcnhằmgiảmnhẹcácthaotácviếtmã cho người lập trình, cho phép họ tạo ra cácứng dụngmà các yếu tố bên ngoài có thể tươngtácvớicácchươngtrìnhđógiốngnhưlàtươngtácvớicácđốitượngvậtlý. NhữngđốitượngtrongmộtngônngữOOPlàcáckếthợpgiữamãvàdữliệumàchúng đượcnhìnnhậnnhưlàmộtđơnvịduynhất.Mỗiđốitượngcómộttênriêngbiệtvàtấtcả cácthamchiếuđếnđốitượngđóđượctiếnhànhquatêncủanó.Nhưvậy,mỗiđốitượng cókhảnăngnhậnvàocácthôngbáo,xửlýdữliệu(bêntrongcủanó),vàgửirahaytrảlời đếncácđốitượngkháchayđếnmôitrường. Rađờitừnhữngnăm1980. Chedấuthôngtin,đảmbảotínhtoànvẹn,đúngđắncảudữliệuChedấuthôngtin Phầnmềmluônluônsửdụngmộtsốcấu trúcdữliệuđểlưutrữthôngtin. Mỗimộtcấutrúcdữliệusẽđượctruyxuất bởimộtsốhữuhạncácthaotác (operations).Cácthaotáckhácsẽkhôngthể truynhậpthôngtinnàyđược=>đâychínhlà nguyênlýchedấuthôngtin. PhầnlớncácngônngữLTHĐTchophép làmđiềunàyCácnguyênlýlậptrình Nhiệm vụ chính của lập trình viên là tạoracodevớiítlỗinhấtvớithờigianít nhất. Kỹnănglậptrìnhthunhậnđượcthông quathựctếviếtcode. Lậptrìnhtốtkhôngphụthuộcvàomột ngônngữcụthểMộtsốlưuýthựctế Control Constructs: Sử dụng nhiều cấutrúcsingleentry,singleexit.Tăng cườngsửdụngcáccấutrúcchuẩn. Gotos: Không nên sử dụng các lệnh gotoquánhiều.Trongcáctrườnghợp bấtđắcdĩ.Mộtsốlưuýthựctế Chedấuthôngtin:nênđượcsửdụng rộngrãi.Truynhậpthôngtinnêntheo cơchếhàm. KiểuDLUserDefined:Nếungônngữ LTchophépthìnênsửdụngcáckiểu DLtựđịnhnghĩa.Mộtsốlưuýthựctế Nesting:NêntránhcácLặpsâu(deepnesting).For example,considerthefollowingconstructofnested ifthenelses:  ifC1thenS1  elseifC2thenS2  elseifC3thenS3  elseifC4thenS4; Nếucácđiềukiệnlàkhôngliênkếtdisjointthìta nên:  ifC1thenS1;  ifC2thenS2;  ifC3thenS3;  ifC4thenS4;Mộtsốlưuýthựctế Module Size: Việc sử dụng hàm với nhiều biếnsốphảihếtsứccẩnthận(>=100).Kích thước lớn có thể làm cho việc quản lý kết dínhvàkếtnốikhókhăn. Module Interface: (rule of thumb), bất kỳ một giao diện module mà có nhiều hơn 5 tham số thì phải đặc biệt cẩn thận và nên đượcchiathnàhnhièumodulenhỏhơnMộtsốlưuýthựctế SideEffects:Hiệntượngthayđổitrạng thái CT mà không thay đổi giá trị tham số. Thường xảy ra khi ta thay đổi biến toàncục. Robustness: Xử lý tốt các điều kiện ngoạilệ.Mộtsốlưuýthựctế SwitchCasewithDefault:Đảmbảo hànhvicủaCTổnđịnh. VD: switch(i){ case0:{s=malloc(size) } s[0]=y;/*NULLdereferenceifdefault occurs*/Mộtsốlưuýthựctế EmptyCatchBlock:nêncóchặnbắtlỗi, tránhđểtrống. VD: try{ FileInputStre ...

Tài liệu được xem nhiều: