1浙江树人大学信息科技学院.Net程序设计(Windows)实验指导书适用:计算机科学与技术专业编写人:邱宁二O一一年八月2第一章实验指导第一节上机实验总的目的和要求一、上机实验目的面向对象程序设计(OOP)的理念已经成为目前程序设计的主流思想,它改变了传统的程序设计模式,并日益显示出其强大的生命力。而C#.NET就是一个面向对象的应用程序开发工具,它具有新一代可视化开发环境、大量可重用的控件以及先进的编译技术,它具有功能强大、易学易用的好处。VisualC#.NET集成开发环境不仅有大量可视化控件和面向对象的程序设计语言,还有完整的设计、编写、调试和发布的工具软件。C#.NET的精华体现在快速建立Windows应用程序、图形图像及多媒体制作、快速报表的制作、文本及图形的打印、WindowsAPI函数的灵活运用、简化Web服务器与浏览器及后台数据库数据系统的集成等,它是Windows时代一个必不可少的开发工具。上机并不是将书本上的东西在机上按部就班地运行一下就行了,其目的为:1、加深对讲授内容的理解。通过多次上机,就能自然地、熟练地掌握有关菜单、工具及命令的使用。2、学会上机调试程序。也就是善于发现程序中的错误,对于编译错误,要求能很快地进行排除,使程序能正确运行,顺利生成可执行文件。经验丰富的人,当编译时出现出错信息时,能很快地判断出错误所在,并改正之。而缺乏经验的人即使在明确的出错提示下也往往找不出错误,因此,在实验时应独立完成实践任务,发现问题要多动脑筋,必要时请求老师的指导。而对于逻辑错误,也要努力学会运用一些基本的调试手段,尽可能快地定位错误位置,并进行改正,使程序能正确运行。3、掌握面向对象的设计思想,弄清其组织形式。通过本课程的学习与实践,要求能熟练掌握C#.NET设计应用程序的基本方法,掌握C#.NET中常用控件的使用,能制作出简单的应用程序。二、上机实验前的准备工作在上机实验前应事先做好准备工作,以提高上机实验的效率,准备工作至少应包括如下五个方面:1、了解所用的计算机系统的性能和使用方法。2、复习和掌握与本实验有关的教学内容。3、做好预习工作,主要注意以下几个方面:3在实验之前,应提前熟悉实验内容,并尽量读懂实验指导书中的有关代码,分析代码功能及运行结果;对于设计部分,应提前写出所需代码(至少设计出流程),在动手写之前,应该先进行分析,确定这个应用程序应该具备的功能、系统将达到的目标以及如何调试应用程序。4、对运行中可能出现的问题应事先作出估计;对程序中自己有疑问的地方,应作上记号,以便上机时给予注意。5、准备好调试和运行时所需的数据。三、上机实验的步骤上机过程出现的问题,除了系统的问题外,应尽量自己独立处理,尤其对“出错信息“,应努力看懂,逐步积累,并逐渐学会分析判断。这是学习调试程序的良好机会,只有通过这样的训练,才能逐步提高调试能力,使自己的动手能力得到提高。上机实验一般应包括以下几个步骤:1、上机调试(验证部分)根据要求,设计界面并验证指导书中有关代码段,记录结果,与预习过程中的结果进行对比并进行分析,记录调试过程中所遇到的问题及解决方法,另外,还需记录调试过程中的心得体会。2、设计部分这个阶段需设计界面并输入自行设计的有关代码,进行调试,反复修改,直到完成所要求的有关功能,另外还需记录2中所要求的有关内容。3、系统评价试运行应用程序特别是交互活动,有时不能准确预测用户的行为,会出现逻辑错误,甚至造成意外中断,因此要多次运行,多次修改,直到达到设计要求。在此过程中,应记录有关心得体会,以便提高动手设计及调试程序的能力。四、实验后应完成实验报告的填写上机结束后,应整理出实验报告,实验报告应包括以下内容:1、题目;2、程序清单(计算机中经调试、运行验证正确的程序清单);3、运行结果(必须是上面程序清单的输出结果);4、对运行情况作出分析,以及在本次调试程序过程中所取得的经验及心得体会。如果程序未能通过,应分析其原因。5、完成思考题。第二节程序的调试和测试(一)、程序的调试无论多么有经验的开发人员,也不论在编程过程中多么小心谨慎,也难以避免程序代码4中出现错误。下面对快速查找、定位、排除故障给出一些建议。对于编译错误,更改起来比较容易,在编译过程中都有明确的定位,只需要努力去尽快熟悉C#.NET的编译错误信息就可以了;而对于逻辑错误,要困难一些,不过,使用C#.NET的调试器能够迅速地查找错误,并提供更正建议。程序错误的类型:1、必须去修改的错误2、愿意去修改的错误3、感到有些疑点的错误C#.NET调试器简介C#.NET的调试器能够一次一行地单步执行代码,并且根据需要查看和更改变量、常量及对象的值,帮助用户快速地找到错误并予以更正。1、设置调试环境一般情况下,直接使用默认设置就能够满足大部分的需要,但有一点需要注意,一定启用项目属性页“生成调试信息”复选框设置为true。方法是在解决方案资源管理器中右击项目,在弹出的快捷菜单中执行“属性”菜单项,如图1-1所示。出现如图1-2所示的对话框。图1-1进入项目属性页5图1-2项目属性页2、调试选项调试选项在调试菜单中,常用选项有以下几个:([]中为快捷键),如图1-3所示。启动:开始运行程序,到断点时暂停[F5];开始执行(不调试):开始运行程序,但中间不能暂停[Ctrl+F5];逐语句:一次运行一条语句,[F11];逐过程(单步执行):根据程序设计步骤,一步步进行调试,[F10];图1-3调试菜单63、使用断点断点的设置很简单,只需在代码页需要设置的地方单击左边空白条即可(如图1-3中的紫红色圆点)。只要空白处出现一紫红色圆点,就表示断点设置成功,再单击一次就可以解除断点设置。4、使用监视窗口如果需要在运行程序时监视变量或常量的值,就可以使用监视窗口。在调试过程中(不处于调试状态该菜单是不同的),选择“调试”→“窗口”→“监视”→“监视x”(x为某一个监视窗口号),就可打开监视x窗口,如图1-5所示。图1-4调试菜单中的窗口子菜单7图1-5监视窗口在监视窗口中,每行可以监视一个对象(变量或对象)。要监视某一变量,应先在名称栏中直接输入您要监视的变量,然后按回车即可。调试程序时,常可采用跟踪变量与函数,观察其值随时间流的变化。另外,在调试程序时,对程序每次只做小修改,即,每次只改变一点,便于确定问题准确位置。有的时候,需要重建某一段程序,比较它和原有程序的运行结果,如果后者好就替换掉前者。有时大刀阔斧比小修小补更有效。(二)、软件测试1、概述软件系统的最终表示是几百条或成千上万条程序语句。在这些语句中,一个不引人注意的语句就有可能导致整个系统的失败。在软件测试过程,应当选择多种类、少数量的测试数据并保证每条指令、每个分支以及每种错误条件至少执行一次。多种类意味着选用各种不同类型的数据;少数量意味着在相同种类的数据量上要尽可能的少。不使用大量测试数据的理由是不至于花费太多的时间去检测很多的相同测试用例是否能正确工作。此外,对任何软件不可能去测试全部可能的情况。2、测试步骤1)模块测试:模块测试是实现阶段最为重要的一个软件工程步骤,是软件质量保证的关键环节,即使8经过了代码评审,模块中必然要留存许多未被发现的逻辑错误,必须通过测试来暴露。这其实也就是在程序组装成一个整体之前,分别测试各个模块的操作。2)组装测试:组装测试是软件生存周期中的一个独立阶段。其主要任务是按照选定的策略,采用系统化的方法,将经过模块测试的模块按预先制定的计划逐步进行组装和测试。这种测试的目的在于发现与模块接口有关的问题,并将各个模块构成一个设计所要求的软件系统。3)确认测试:测试的最后一个步骤也是软件开发的最后一个阶段,是验证所组合的软件系统是否确实满足用户的需要,这是软件开发部门把软件产品交付使用之前的最后一种测试。在这个测试步骤中所发现的错误往往是“软件需求规范书”中的错误。(三)、测试用例设计技术测试中广为采用的测试方法有三种:白盒测试法、黑盒测试法、灰盒测试法。不同的测试在选择测试用例方面有着很大的差别。白盒测试法:是根据详细设计中的逻辑流程来设计测试用例,以暴露编码中的逻辑错误。如逻辑覆盖法。黑盒测试法:是用“软件需求说明书“来设计测试用例,如等价划分法、边值分析法、错误猜测法等。灰盒测试法:是白盒测试法和黑盒测试法的混合。(四)、程序维护一个程序一旦被编写、调试、测试及最后判断为可以使用时,程序的研制阶段宣告结束,而程序的维护阶段就开始了。大部分的编程者都喜欢研制新程序而不愿去维护程序,其原因之一就是因为程序的维护是一件没完没了的事,被认为不值得去做的工作。在程序维护时,应该特别注意修改错误和保护源程序两个问题。9第二章实验内容实验一.NET系统环境与窗体一、实验目的1.熟悉VisualStudioC#.NET主界面的分布及各个部分的作用;2.了解名字空间、类的概念;3.掌握工具栏和属性窗口的使用;4.初步掌握应用程序创建及保存的方法。二、实验内容1.VisualStudioC#.NET主界面的使用。2.创建一个解决方案,添加一个项目,并进行保存、关闭、打开、编译及运行等操作。3.设置解决方案资源管理器、工具箱、属性、帮助窗口为自动隐藏。4.工具箱的使用、解决方案资源管理器的使用。5.使用帮助(动态帮助),查询搜索的使用。三、实验过程1.VisualStudioC#.NET主界面的使用启动VisualStudio.NET,创建一个解决方案,添加一个项目,仔细观察其集成环境,并分别将工具箱上的TextBox、Button控件拖动到窗体上,选中一个对象(窗体、TextBox或Button),在属性窗口(察看其属性,修改其属性值,观察其变化)、切换到代码窗口,观察程序代码的格式,了解名字空间的定义、类的定义格式,编辑器的使用实践。若有时间,还可在代码编辑器中进行CodeInsight功能的使用。主菜单中的常用菜单项的使用:(1)文件菜单新建新建解决方案、项目和一般文件打开打开项目文件和一般文件关闭关闭当前窗口,若该窗口已作改变,则系统存盘添加新项在当前项目中添加一个新项(窗体、类等)添加现有项将一个现有项(即已设计好的)添加到当前项目中10添加项目在当前解决方案中添加一个新的项目打开解决方案打开一个已存在的解决方案关闭解决方案关闭并存盘一个已存在的解决方案保存保存当前文档(不换名)另存为换名保存当前文档(2)项目菜单添加Windows窗体在当前项目中添加一个Windows窗体添加继承的窗体以原有窗体为基础创建一个新窗体添加类在解决方案中添加一个新类添加新项与文件菜单相同添加现有项与文件菜单相同在项目中排除在解决方案中删除当前项属性进入当前项目属性窗口(3)生成菜单生成解决方案编译当前解决方案重新生成解决方案重新编译整个解决方案(4)调试菜单详细请参见程序的调试和测试一节图3-1是Windows中记事本的界面。2.建立一个解决方案1)单击“开始”→“程序”→“MicrosoftVisualStudio.NET2003”→“MicrosoftVisualStudio.NET2003”项,进入MicrosoftVisualStudio.NET集成环境。2)执行“文件”→“新建”→“空白解决方案”菜单命令,创建一个空白解决方案,出现图1-6所示的“新建项目”对话框。11图1-6“新建项目”对话框3)在“模板”列表框中选择“空白解决方案”;在“位置”列表框中选择一个应用程序的存放路径;在“名称”输入框中输入该空白解决方案的名称,这里输入SolTest。4)单击“确定”按钮,就创建一个名为SolTest的解决方案。单击“视图”→“解决方案资源管理器”菜单命令,打开解决方案资源管理器窗口,可以发现只是一个空白的解决方案,没有项目,如图1-7所示。图1-7“解决方案资源管理器”窗口5)右击“解决方案资源管理器”窗口的标题栏,在弹出的快捷菜单中选择“自动隐藏”菜单项,将由系统根据需要自动隐藏该窗口,需要时,只要将光标移到缩小的“解决方