Giáo trình Lập trình Visual Basic căn bản: Chương 9
Số trang: 69
Loại file: doc
Dung lượng: 1.05 MB
Lượt xem: 11
Lượt tải: 0
Xem trước 7 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Giáo trình cung cấp cho người học các kiến thức: Debug. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu.
Nội dung trích xuất từ tài liệu:
Giáo trình Lập trình Visual Basic căn bản: Chương 9 ChươngChínDebugBugslànhữnglỗilầmcủaprogrammàtapháthiệnkhichạynó.Debuglàcôngviệcloạitấtcảnhữnglỗilầmtrongchươngtrìnhđểnóchạyêmxuôitrongmọihoàncảnh.Thôngthườngmuốnfixmộtcáibugnàotrướchếttaphảitìmhiểulýdokhiếnnóxuấthiện.Mộtkhiđãbiếtđượcduyêncớrồitasẽnghĩracáchgiảiquyết.Nóichung,cóhailoạibugs: 1. Hoặclàprogramkhônglàmđúngchuyệncầnphảilàmvìprogrammerhiểulầm Specificationshayđượcchotintứcsailạc,hoặclàprogrambỏsótchitiếtcần phảicó.Trườnghợpnầytagiảiquyếtbằngcáchgiảmthiểusựhiểulầmquasự nângcấpkhảnăngtruyềnthông. 2. Programkhôngthựchiệnđúngnhưýprogrammermuốn.Tứclàprogrammermuốn mộtđàngmàbảochươngtrìnhlàmmộtngãvìvôtìnhkhôngviếtlậptrìnhđúng cách.TrườnghợpnầytagiảiquyếtbằngcáchdùngnhữngSoftwareTools(kểcả ngônngữlậptrình)thíchhợp,vàcónhữngquátrìnhlàmviệccóhệthống.TronghãngxehơingườitadùngtừQualityControlđểnóiđếnviệcchếrachiếcxekhôngcólỗilầmgìcả.Đểđạtmụctiêuấy,chẳngnhữngcầncóngườikiểmphẩmmàchínhcácnhânviênlấprápthậntrọngđểcôngviệcchínhcủangườikiểmphẩmlàxácnhậnkếtquảtốtchớkhôngphảitìmlỗilầm.Cónhiềuyếutốảnhhưởngđếnchấtlượngcủamộtprogramnhưchứcnăngcủaprogram,cấutrúccủacácbộphận,kỹthuậtlậptrìnhvàphươngphápdebug.Debugkhônghẳnnằmởgiaiđoạncuốicủadựánmàtùythuộcrấtnhiềuvàocácyếutốkểtrướctrongmọigiaiđoạntriểnkhai.Chứcnăngcủachươngtrình(ProgramSpecifications)Dầuprogramlớnhaynhỏ,trướchếttaphảixácnhậnrõràngvàtỉmỉnócầnphảilàmgì,baonhiêungườidùng,mạngnhưthếnào,databaselớnbaonhiêu,phảichạynhanhđếnmứcnào.v.v..Cónhiềuchươngtrìnhphảibịthayđổinữachừngvìprogrammershiểulầmđiềukháchhàngmuốn.Khổnhấtlàlúcgầngiaohàngmớikhámpháracónhiềuđiểmtrongchươngtrìnhkháchmuốnmộtđàngmàtalàmmộtngã.Dođótrongsựliênhệvớikháchhàngtacầnphảihỏiđi,hỏilại,phảnhồivớikháchhàngnhiềulầnđiềutahiểubằngthưtừ,tàiliệu,đểkháchxácnhậnlàtabiếtđúngýhọtrướckhixúctiếnviệcthiếtkếchươngtrình.Nếusaunầykháchđổiý,đólàquyềncủahọ,nhưnghọphảitrảtiềnthayđổi(variation).CấutrúccácbộphậnProgramnàocũngcómộtkiếntrúctươngtựnhưmộtcănnhà.Mỗibộphậncàngđơngiảncàngtốtvàcáchrápcácbộphậnphảinhưthếnàođểtadễthử.Trongkhithiếtkếtaphảibiếttrướcnhữngyếuđiểmcủamỗibộphậnnằmởđâuđểtachuẩnbịcáchthử 1chúng.Tasẽkhônghềtinbộphậnnàohoànhảochođếnkhiđãthửnó,dùnóđơnsơđếnđâu.Nếutamuốndùngmộtkỹthuậtgìtrongmộthoàncảnhnàomàtakhôngbiếtchắcnóchạykhôngthìnênthửriêngrẽnótrước.PhươngphápấyđượcgọilàPrototype.Ngoàira,tacũngnênkếhoạchchonhữngtrườnghợpbấtngờ,điểnhìnhlàbaddatakhiuserbấmlungtunghaydatabasechứarácrến.Nếuchươngtrìnhchạytrongrealtime(tứclàdatathunhậpquaSerialCommPort,DataAcquisitionCardhaymạng),bạncầnphảilưuýnhữngtrườnghợpkhácnhautùytheoviệcgìxẩyratrước,việcgìxẩyrasau.LúcbấygiờLogiccủachươngtrìnhsẽtùythuộcvàotrạngthái(State)củadata.TốtnhấtlànghĩđếnnhữngScenarios(diễntiếncủanhữnghoàncảnh)đểcóthểthửtừnggiaiđoạnvàtìnhhuống.NgàynayvớikỹthuậtĐốiTượng,ởgiaiđoạnthiếtkếnầylàlúcquyếtđịnhcácDataStructures(tables,records..v.v.)vàconsốFormsvớiClasses.NhớrằngmỗiClassgồmcómộtDataStructurevànhữngSubs/Functions/Propertieslàmviệc(operate)trêndataấy.Datastructurephảichứađầyđủnhữngchitiết(datafields,variables)tacần.Kếđólànhữngcáchchươngtrìnhprocessdata.Subs/FunctionsnàocóthểchobênngoàigọithìtachonóPublic,cònnhữngSubs/FunctionskháchiệnhữuđểphụcvụbêntrongclassthìtachonóPrivate.KỹthuậtlậptrìnhCănbảncủaprogrammersvàcácthóiquencủahọrấtquantrọng.Nóichung,nhữngngườihấptấp,nhảyvàoviếtchươngtrìnhtrướckhisuynghĩhaycânnhắcchínhchắnthìsaunầybugslòirakhắpnơilàchuyệntựnhiên.DùngSubsvàFunctionsNếuởgiaiđoạnthiếtkếkiếntrúccủachươngtrìnhtachiaratừngClass,thìkhilậptrìnhtalạithiếtkếchitiếtvềSubs,Functions.v.v..,mỗithứsẽcầnphảith ửnh ưth ếnào.NếutacóthểchiacôngviệcratừnggiaiđoạnthìmỗigiaiđoạncóthểmàmộtcallđếnmộtSub.ThứgìcầnphảitínhrahaylấytừnơikhácthìcóthểđượcthựchiệnbằngmộtFunction.Thídụnhưcôngviệctrongmộttiệmgiặtủicóthểgồmcócácbướcsau: 1. Nhậnhàng 2. Phânchiatừngloại 3. Tẩy 4. Giặ ...
Nội dung trích xuất từ tài liệu:
Giáo trình Lập trình Visual Basic căn bản: Chương 9 ChươngChínDebugBugslànhữnglỗilầmcủaprogrammàtapháthiệnkhichạynó.Debuglàcôngviệcloạitấtcảnhữnglỗilầmtrongchươngtrìnhđểnóchạyêmxuôitrongmọihoàncảnh.Thôngthườngmuốnfixmộtcáibugnàotrướchếttaphảitìmhiểulýdokhiếnnóxuấthiện.Mộtkhiđãbiếtđượcduyêncớrồitasẽnghĩracáchgiảiquyết.Nóichung,cóhailoạibugs: 1. Hoặclàprogramkhônglàmđúngchuyệncầnphảilàmvìprogrammerhiểulầm Specificationshayđượcchotintứcsailạc,hoặclàprogrambỏsótchitiếtcần phảicó.Trườnghợpnầytagiảiquyếtbằngcáchgiảmthiểusựhiểulầmquasự nângcấpkhảnăngtruyềnthông. 2. Programkhôngthựchiệnđúngnhưýprogrammermuốn.Tứclàprogrammermuốn mộtđàngmàbảochươngtrìnhlàmmộtngãvìvôtìnhkhôngviếtlậptrìnhđúng cách.TrườnghợpnầytagiảiquyếtbằngcáchdùngnhữngSoftwareTools(kểcả ngônngữlậptrình)thíchhợp,vàcónhữngquátrìnhlàmviệccóhệthống.TronghãngxehơingườitadùngtừQualityControlđểnóiđếnviệcchếrachiếcxekhôngcólỗilầmgìcả.Đểđạtmụctiêuấy,chẳngnhữngcầncóngườikiểmphẩmmàchínhcácnhânviênlấprápthậntrọngđểcôngviệcchínhcủangườikiểmphẩmlàxácnhậnkếtquảtốtchớkhôngphảitìmlỗilầm.Cónhiềuyếutốảnhhưởngđếnchấtlượngcủamộtprogramnhưchứcnăngcủaprogram,cấutrúccủacácbộphận,kỹthuậtlậptrìnhvàphươngphápdebug.Debugkhônghẳnnằmởgiaiđoạncuốicủadựánmàtùythuộcrấtnhiềuvàocácyếutốkểtrướctrongmọigiaiđoạntriểnkhai.Chứcnăngcủachươngtrình(ProgramSpecifications)Dầuprogramlớnhaynhỏ,trướchếttaphảixácnhậnrõràngvàtỉmỉnócầnphảilàmgì,baonhiêungườidùng,mạngnhưthếnào,databaselớnbaonhiêu,phảichạynhanhđếnmứcnào.v.v..Cónhiềuchươngtrìnhphảibịthayđổinữachừngvìprogrammershiểulầmđiềukháchhàngmuốn.Khổnhấtlàlúcgầngiaohàngmớikhámpháracónhiềuđiểmtrongchươngtrìnhkháchmuốnmộtđàngmàtalàmmộtngã.Dođótrongsựliênhệvớikháchhàngtacầnphảihỏiđi,hỏilại,phảnhồivớikháchhàngnhiềulầnđiềutahiểubằngthưtừ,tàiliệu,đểkháchxácnhậnlàtabiếtđúngýhọtrướckhixúctiếnviệcthiếtkếchươngtrình.Nếusaunầykháchđổiý,đólàquyềncủahọ,nhưnghọphảitrảtiềnthayđổi(variation).CấutrúccácbộphậnProgramnàocũngcómộtkiếntrúctươngtựnhưmộtcănnhà.Mỗibộphậncàngđơngiảncàngtốtvàcáchrápcácbộphậnphảinhưthếnàođểtadễthử.Trongkhithiếtkếtaphảibiếttrướcnhữngyếuđiểmcủamỗibộphậnnằmởđâuđểtachuẩnbịcáchthử 1chúng.Tasẽkhônghềtinbộphậnnàohoànhảochođếnkhiđãthửnó,dùnóđơnsơđếnđâu.Nếutamuốndùngmộtkỹthuậtgìtrongmộthoàncảnhnàomàtakhôngbiếtchắcnóchạykhôngthìnênthửriêngrẽnótrước.PhươngphápấyđượcgọilàPrototype.Ngoàira,tacũngnênkếhoạchchonhữngtrườnghợpbấtngờ,điểnhìnhlàbaddatakhiuserbấmlungtunghaydatabasechứarácrến.Nếuchươngtrìnhchạytrongrealtime(tứclàdatathunhậpquaSerialCommPort,DataAcquisitionCardhaymạng),bạncầnphảilưuýnhữngtrườnghợpkhácnhautùytheoviệcgìxẩyratrước,việcgìxẩyrasau.LúcbấygiờLogiccủachươngtrìnhsẽtùythuộcvàotrạngthái(State)củadata.TốtnhấtlànghĩđếnnhữngScenarios(diễntiếncủanhữnghoàncảnh)đểcóthểthửtừnggiaiđoạnvàtìnhhuống.NgàynayvớikỹthuậtĐốiTượng,ởgiaiđoạnthiếtkếnầylàlúcquyếtđịnhcácDataStructures(tables,records..v.v.)vàconsốFormsvớiClasses.NhớrằngmỗiClassgồmcómộtDataStructurevànhữngSubs/Functions/Propertieslàmviệc(operate)trêndataấy.Datastructurephảichứađầyđủnhữngchitiết(datafields,variables)tacần.Kếđólànhữngcáchchươngtrìnhprocessdata.Subs/FunctionsnàocóthểchobênngoàigọithìtachonóPublic,cònnhữngSubs/FunctionskháchiệnhữuđểphụcvụbêntrongclassthìtachonóPrivate.KỹthuậtlậptrìnhCănbảncủaprogrammersvàcácthóiquencủahọrấtquantrọng.Nóichung,nhữngngườihấptấp,nhảyvàoviếtchươngtrìnhtrướckhisuynghĩhaycânnhắcchínhchắnthìsaunầybugslòirakhắpnơilàchuyệntựnhiên.DùngSubsvàFunctionsNếuởgiaiđoạnthiếtkếkiếntrúccủachươngtrìnhtachiaratừngClass,thìkhilậptrìnhtalạithiếtkếchitiếtvềSubs,Functions.v.v..,mỗithứsẽcầnphảith ửnh ưth ếnào.NếutacóthểchiacôngviệcratừnggiaiđoạnthìmỗigiaiđoạncóthểmàmộtcallđếnmộtSub.ThứgìcầnphảitínhrahaylấytừnơikhácthìcóthểđượcthựchiệnbằngmộtFunction.Thídụnhưcôngviệctrongmộttiệmgiặtủicóthểgồmcócácbướcsau: 1. Nhậnhàng 2. Phânchiatừngloại 3. Tẩy 4. Giặ ...
Tìm kiếm theo từ khóa liên quan:
Giáo trình Lập trình Visual Basic căn bản Lập trình Visual Basic căn bản Chức năng của chương trình Cấu trúc các bộ phận Kỹ thuật lập trìnhGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 262 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 203 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 193 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 163 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 152 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 118 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 114 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 107 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 105 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 89 0 0