版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE33毕业设计(论文)说明书题目:学生成绩管理系统的设计与实现作者:系院:专业:计算机班级:指导老师:摘要本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。本系统在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。本论文主要从系统分析、系统设计、系统实施与使用等几个方面进行介绍。
学生信息管理系统是典型的信息管理系统,经过分析,我们使用MICROSOFT公司的VISUALBASIC开发工具,利用其提供的各种面向对象的开发工具,尤其首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。本系统主要用于学生成绩管理,总体任务是实现学生成绩信息的系统化、规范化和自动化。其主要任务是用计算机对学生各科成绩进行管理,如修改、增加、删除,另外还考虑到学生名次的排序等,针对这些要求设计了学生成绩管理系统。
【关键词】成绩管理信息系统信息化数据库A第一章绪论本次论文是以学校学生管理信息系统建设中的成绩管理系统的开发为背景,论述了管理信息系统的概念、结构及系统开发的基本原理和方法,全文共分为绪论、系统分析、概要设计、详细设计、开发总结、致谢、参考文献、附录等。
1.1问题的提出随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。而互联网技术的出现,更是进一步丰富的人类生活,数字化生存已经一步步走进我们的生活与工作。互联网技术与数据库技术的结合为计算的在人类生活中的应用带来了巨大的影响。产业信息化,管理现代化,科学化已经成为行业发展的重要课题,这不仅是企业提高自身竞争力,甚至是国家提高综合国力,走向国民富强的重要手段。在我国,教育是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展根据中国特有的国情发展,教育得到了国家的大力扶持与社会各界的高度重视,从而使教育业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的教育机构还没有全部具备这种功能。因此可见,随着我国教育的迅速发展,信息技术在其上的应用会更加广泛和深地入。
1.2现有系统存在问题的分析在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有信息任何管理系统,所有的工作几乎还是手工操作来完成。计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,学校的种类管理都依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。随着社会的发展,信息化是社会进程的必然趋势,学校管理只有只有快,准,精才能发挥其价值。所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统。人工操作必将被计算机代替。有些学校虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。还有,有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统对管理来说是没有任何保障的。1.3系统开发目标与意义1.3.1系统开发目标本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:1.系统应具有实用性、可靠性和适用性,同时注意到先进性。2.对各个数据库进行动态管理,防止混乱。3.能够按照用户选择的不同的条件进行简单查询和复合查询。4.能够对查询结果进行分类汇总,实现报表打印。5.注意数据的安全性,具有数据备份和恢复的功能。6.方便用户的操作,尽量减少用户的操作。1.3.2意义在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。
1.4可行性分析可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。1.4.1经济上可行性现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;第四,本系统可以使敏感文档更加安全,等等。所以,本系统在经济上是可行的。1.4.2技术上可行性本系统的开发利用MicrosoftSQLServer2000作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。使用VisualS作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。1.4.3运行上可行性本系统为一个小型的学生信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。
第二章需求分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。管理信息系统就是我们常说的MIS(ManagementInformationSystem),是集成了计算机网络技术、信息处理技术,对信息进行收集处理、传输及存储,进行事务管理的一种人机交互的智能化计算机系统。软件工程是一门旨在研究计算机软件开发与维护的普遍原理和技术的工程学科。它的研究范围涉及到技术方法、软件工具、科学管理等诸多方面。实践证明:在软件的设计和开发过程中,运用软件工程的方法,可以大大提高软件开发的成功率,能够显著减少软件开发和维护中的问题。学生成绩管理系统的设计和开发是一个较为庞大的系统工程,应以软件工程的思想和方法为指导,进行设计和开发。软件工程理论对本系统的指导,主要表现在:帮助我们理清思路,建立较为科学的结构和开发制作流程方面。上述的各种理论,对我们设计和开发学生成绩管理系统提供了重要的理论基础,同时也为我们如何进行具体的设计和开发工作,提供了必要的思路和方法。2.1教育系统学生管理现状分析2.1.1学校工作流程分析学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任及对此年级安排一个年级组长。并对各科老师进行安排。每举行一次考试后由任课老师对成绩进行录入。班主任对本班的成绩汇总。并进行排名,然后年级组长再进行汇总,并对本年级各科成绩及总成绩进行排名。教务处、年级组长、班主任及任课老师跟据实际情况对录入的成绩进行维护,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询。2.1.2学校具体需求分析学生:对各科成绩的查询及查看本班成绩排名等情况。任课老师:输入并维护所教科目的学生成绩,计算本科的成绩排名、本科成绩在班上的排名。输出本班科目的成绩及排名情况。班主任:输入并维护本班的基本信息,对本班的各科成绩汇总,计算各科成绩的总分,排名,本班平均分等需求。输出学生的基本信息,各科的成绩及各科成绩的部分,各科成绩的排名,总分的排名情况。教务处:学校全体成员的信息管理,对考试科目,时间及对所考科目的编号等进行具体的管理,并对任课老师,班主任等输入的信息进行存库,对学生的信息进行必要的维护,可打印学生的所有信息。2.1.3系统设计思想1.采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。2.系统就满足学校的需求,例如学生信息的录入、查询、更新等。学生录入与排名。3.系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。2.1.4系统设计分析本系统适用于中小学校,其功能主要分为六大类:用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。课程管理:用于对各学期课程的开设和修改。成绩管理:用于对成绩的输入、修改、汇总及排名。学生信息管理:添加,删除,修改学生信息等。授课信息管理:对授课教师,课程号,学时数,班级等信息的添加,维护等。学生信息查询:对学生成绩等信息的查询,查询方式为模糊,且具有多条件组合查询功能。学生成绩统计:统计本科的总分,平均分等信息。本系统性能力求易于使用,具体有较高的扩展性和可维护性。2.1.5系统功能分析
权限功能:系统具有动态的权限分配功能,可按用户权限对用户进行分组。可分为普通用户,一般用户,超级用户。普通用户只是查询不能修改,一般用户只能对授权范围内进行相应修改及删除,超级用户能修改、删除所有信息。录入功能:为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。维护功能:为一般用户提供查询及相应的修改,删除功能,为超级用户提供对所有信息的修改删除功能。退出功能:结束并关闭系统。2.1.6学生学籍系统的目标节约资源,提高学籍信息的精确度
本系统能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。大节省了学校能源。并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。方便快速操作,精减人员,节约开支方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。为学校增加了财富。数据库分析
用户需求具体有学籍管理系统提供保存、更新、查询、维护和打印,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。2.2
基于B/S结构技术的应用2.2.1
B/S结构技术发展简述随着IT技术的高速发展,互联网几乎已经渗透到人们生活的每一个角落。而网络技术与数据库技术的应用,则大大改变的人们的学习、生活与工作的方式,提高并丰富了人类生活。互联网的发展应用促使网页技术的产生。但在不久后,人们对静态页面并不满足,随后出现了采用CGI(CommonGatewayInterface通用网关接口)和ISAPI(InternetServerApplicationProgramInterface互联网服务器应用程序接口)来编写网页,但它们的编程比较复杂,用Perl或者是VC进行编写,将HTML标识嵌入代码中,维护相当困难。此后,随着技术日新月异的发展,相断出现了ASP,PHP,JSP等网站开发技术,它们给网站开发带来了一阵狂潮。ASP是一个Web服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的Web服务应用程序,ASP支持VBScript,JavaScript等多种脚本语言。PHP是一种跨平台的服务器端嵌入式脚本语言。其大量地借用C,Java和Perl语言的语法,并耦合PHP自身的特性,使Web开发者能够快速地生成动态页面,PHP是完全免费的,而且可以不受限制地获得源代码,甚至可以按用户需要进行个性化设计。JSP是Sun公司推出的新一代网站开发语言,具有很强的多平台支持和极大的伸缩能力,JSP可在Serverlet和JavaBean的支持下,建立功能强大的Web应用程序。在推出ASP之后,微软于1998年又发布了ASP2.0,其与ASP1.0的主要区别是ASP1.0外部的组件需要实例化。在这之后,Microsoft又推出了ASP.Net,它并不是ASP的简单升级,而是全新的一个动态网页实现体系。ASP.Net是微软发展的新的体系结构.NET的一部分,其策略是将互联网本身作为构建新一代操作系统的基础,对互联网和操作系统的设计思想进行合理延伸,这样开发将可创建出摆脱设备硬件束缚的应用程序,轻松实现互联网连接。2.2.2动态网站开发技术比较现在,在互联网中流行着多种动态网页实现技术,例如ASP、JSP、CGI、PHP等。对应于这些动态网页技术,也存在有多种多样的Web服务器系统,例如MicrosoftIIS、Apache、ColdFusion等。而对于这些实现动态网页的技术,ASP.NET技术可以说是现在最为流行和应用最为广泛的一种。ASP.NET向世界展现了一种更为领先的技术,这正是它推出不久就深受开发人员青睐的原因。WEB开发与数据库是密不可分的。目前流行的数据库有Microsoft公司的SQLServer2003,IBM公司的DB2,开源的MySQL,以及Oracle公司的Oracle9i等。在ASP.NETWeb开发最受青睐的是Microsoft公司的SQLServer2003。动态网站语言及技术比较:(1)ASP,JSP,PHP共同点都提供在HTML代码中混合某种程序代码,由语言引擎解释执行程序代码的能力。在这种方式下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器,而ASP,PHP,JSP页面则需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送到浏览器。都是面向WEB服务器的技术,客户端浏览器不需要任何附加的软件支持。(2)ASP,JSP,PHP的平台支撑区别ASP是微软公司开发的动态网页语言,也继承了其产品一贯的传统,只能执行于微软的服务器产品IIS或者PWS上。虽然在UNIX下也有ChiliSoft的组件来支持ASP,但是因为ASP本身的功能有限,所以必须通过ASP+COM的群组合来扩充。PHP3可以在Windows,UNIX,Linux的WEB服务器上正常运行,还支持IIS,Apache等一般的Web服务器,有相当好的跨平台性。JSP与ASP在技术方面有很多相似之处,都是基于WEB应用实现动态交互网站的技术环境,但也有很多不同之处,两者的本质区别在于来源于不同的技术规范组织,其实现的基础――Web服务器平台要求不同。JSP技术基于平台和服务器的相互独立,技术支持由广泛的,专门的各种工具包,服务器的组件和数据库产品开发商提供,相比之下,ASP技术则主要是靠Microsoft的支持。Jsp可支持任何Web服务器,包括Apache,IIS等,并技术绝大多数的流行平台,包括Solaris操作系统,Windows操作系统,MACOS,Linux及其他NUIX系列平台。(3)ASP,JSP,PHP的应用情况PHP存在着缺乏规模支持,缺乏多层结构和提供的数据库接口支持不统一等缺点,因此PHP不适合应用于大型电子商务站点或者大型的基于B/S结构的应用程序,其适合应用在一些小型的商业站点。ASP和JSP则没有以上缺陷,ASP可通过COM/DCOM获得ActiveX规模支持,通过DCOM和TransactionServer获得结构支持;JSP则可通过JavaClass和EJB获得规模支持,通过EJB/CORBA以及众多厂商的ApplicationServer获得结构支持。目前国内ASP与PHP应用最为广泛,尤其是ASP。而JSP则在国外非常流行,国外电子商务类的网站许多都采用JSP。(4)ASP.Net全新的Web开发理念与技术由于ASP的核心编辑语言为VBScript或JavaScript等脚本语言,这决定了ASP先天不足,它无法进行象传统编程语言那样的底层操作,所以如果需要进行一些诸如socket,文件等的操作时不得不借助于其它传统语言。而PHP则存在着缺乏规模支持,缺乏多层结构和提供的数据库接口支持不统一等缺点,只适合应用于一些小型商务网站或者业务处理系统。另外,ASP与PHP等都属于解释型的编辑架构,其运行是边解释边执行的,因此在运行效率上会有很大的损失。所以,在开发本系统的时候,我选择了微软新一代的Web开发技术――ASP.Net。ASP.Net有以下几个重要的优点:(1)强大的动态Web支持:ASP虽有较大的灵活性,但效率不高,且缺乏面向对象的设计,从页导致ASP代码比较凌乱,开发维护都相对困难。ASP.Net为Web页面提供了一种集成式的支持。使用ASP.Net,可以编译页面中的代码,而这些代码可以运用高级语言来编写,因此易于实现并有较高的运行效率。(2)高效的数据访问技术:ASP.Net中可以运用ADO.NET。ADO.NET提供了对关系数据库和各种数据源的高效访问。这些组件甚至可以访问文件系统和目录。另外,.Net内置了XML的支持,可以处理从非Windows平台导入或者导出的数据。(3)代码共享:ASP.Net沿用.Net中引入的程序集概念,替代了传统的DLL,可较好的实现代码在应用程序之间的共享方式。(4)面向对象的编程:ASP.Net处于.NETFramework中,.NETFramework及其推荐采用的语言C#是完全基于面向对象的。(5)语言的无关性:在.NET中,VB.Net,C#,J#和ManagedC++等语言都可以编译为通用的中间语言(IL)。这说明语言可以用从前未有的方式交互操作。(6)增强的安全性:每个程序集可以包含内置的安全信息,这样就可以非常准确的控制程序集的使用方式。(7)可运用C#:C#是.Net的一种面向对象的新语言。这种企业编程语言带有下一代编程语言服务运行时(NGWSRuntime):NGWSRuntime是一个不仅管理执行代码、同时也提供使编程更加容易的动态环境.编译器产生受管代码以指向这种受管理执行环境.你获得跨平台语言集成、跨平台语言异常处理、增强安全性、版本控制、安排支持和查错服务.支持NGWSRuntime的主要语言是C#.支持NGWS框架的很多程序是用C#写的,C#语言借鉴了C++,但是具备现代化和新增的类型安全——使C#成为企业解决方案的首选语言.在企业计算领域,C#将会变成为用于编写"下一代窗口服务"(NextGenerationWindowsServices,简写为NGWS)应用程序的主要语言.基于C#具有如此多的优良特性,而且又是.net开发的首选语言,因此,在开发本系统时我选择了它作为开发语言。2.2.3本系统的开发采用Asp.Net一种全新的设计模式A之三层WEB结构及其优点三层模式是在两层模式的基础上,增加了新的一级。这种模式在逻辑上将应用功能分为三层:客户显示层、业务逻辑层、数据层。客户显示层是为客户提供应用服务的图形界面,有助于用户理解和高效的定位应用服务,负责处理用户的输入和向用户的输出,但并不负责解释其含义(出于效率的考虑,它可能在向上传输用户输入前进行合法性验证),这一层通常用前端工具(VB,VC,ASP等)开发;业务逻辑层位于显示层和数据层之间,专门为实现企业的业务逻辑提供了一个明确的层次,在这个层次封装了与系统关联的应用模型,并把用户表示层和数据库代码分开。其主要功能是执行应用策略和封装应用模式,并将封装的模式呈现给客户应用程序,它是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果返回给客户端,这一层通常以动态链接库的形式存在并注册到服务器的注册簿(Registry)中,它与客户端通讯的接口符合某一特定的组件标准(如COM,CORBA),可以用任何支持这种标准的工具开发;数据层是三层模式中最底层,他用来定义、维护、访问和更新数据并管理和满足应用服务对数据的请求。三层模式的主要优点为:①良好的灵活性和可扩展性。对于环境和应用条件经常变动的情况,只要对应用层实施相应的改变,就能够达到目的。②可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入;③较好的安全性。在这种结构中,客户应用程序不能直接访问数据,应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式。④增强了企业对象的重复可用性。“企业对象”是指封装了企业逻辑程序代码,能够执行特定功能的对象。随着组件技术的发展,这种可重用的组件模式越来越为软件开发所接受。⑤三层模式成为真正意义上的“瘦客户端”,从而具备了很高的稳定性、延展性和执行校率。⑥三层模式可以将服务集中在一起管理,统一服务于客户端,从而具备了良好的容错能力和负载平衡能力。ASP.Net的运用可以轻松地使用近年流行的三层结构模式开发WEB站点或基于B/S结构的应用程序。它可以使程序具有更好的扩展性,灵活性,安全性,平台无关性以及可维护性。ASP.Net的三层结构开发方法思想与Java类似:Java中的三层架构为前端的HTML,JSP,Serverlet,中间层为JavaBean,EJB,后面为数据器库服务器。而在ASP.Net中,前端为HTML,asp,aspx等,中间层为扩展名是.vb,.cs等文件编译而成的.dll控件,后面为数据库服务器。多层结构的应用正是在对C/S结构的总结基础上产生的,并且也已经扩展到了B/S应用开发领域。学生成绩管理信息系统是由Web后台进行统一管理,所有业务逻辑都集中在Web应用程序中管理和制定,具有数据的录入和查询统计等功能,客户端的分布广泛,数据集中处理,因此在设计时充分考虑各种体系结构的优缺点,选择三层WEB模式进行开发实现。2.2.4面向对象的开发过程面向对象的软件开发和相应的面向对象的问题求解是当今计算机技术发展的重要成果和趋势之一,C#是一种面向对象的语言。面向对象编程具备了几个优点,比如:代码维护方便、可扩展性好、支持代码重用技术等等。这些优点是过程编程语言所不具备的。下面我们就来谈谈面向对象技术的这些优点:
(1)可管理性维护简单对于面向过程的开发来说,版本管理主要是管理函数以及全程变量,而函数可以有很大的变动,同样,全程变量也可以有较大的变动,但是,对于面向对象程序设计来讲,一个系统是有对象来组成的,而对象是由类生成的,因此只需管理类就行,一个系统中,类是相对稳定的,因此便于管理.
(2)模块化
是面向对象编程中的一个特征。实体被表示为类和同一名字空间中具有相同功能的类,我们可以在名字空间中添加一个类而不会影响该名字空间的其他成员。
(3)可扩充性
是对现代应用软件提出的又一个重要要求,即要求应用软件能够很方便,容易的进行扩充和修改,这种扩充和修改的范围不但涉及到软件的内容,也涉及到软件的形式和工作机制.面向对象编程从本质上支持扩充性。如果有一个具有某种功能的类,就可以很快地扩充这个类,创建一个具有扩充的功能的类。
面向对象的程序设计可以用很好的可扩充性.这是由于类可以根据人对事物的理解而进行丰富,没有必要进行作大的改动,可以利用继承,对新的类添加属性和方法.用它可以生成系统的简单雏形,在征求用户的意见,在加入新的类,以及类的方法与属性等.(4)代码重用
可重用性是面向对象软件开发的一个核心思路.面向对象程序设计的抽象,封装,继承,多态的四大特点都无一例外,或多或少的围绕着可重用性这个核心并为之服务.由于功能是被封装在类中的,并且类是作为一个独立实体而存在的,提供一个类库就非常简单了。事实上,任何一个.NETFramework编程语言的程序员都可以使用.NETFramework类库,.NETFramework类库提供了很多的功能。更令人高兴的是,我们可以通过提供符合需求的类来扩充这些功能。
可重用性体现在两个方面:(1)开发的类可以被别人以及别的项目使用(2)由于可以继承,因此可以实现代码级的重用.
2.2.5开发工具的选择(1)在开发工具上,我选择VisualStudio.NET。VisualStudio.NET是一套完整的开发工具,用于生成ASPWeb应用程序、XMLWebservices、桌面应用程序和移动应用程序。VisualBasic.NET、VisualC++.NET、VisualC#.NET和VisualJ#.NET全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NETFramework的功能,此框架提供对简化ASPWeb应用程序和XMLWebservices开发的关键技术的访问。VisualStudio.NET是用于快速生成企业级ASP.NETWeb应用程序和高性能桌面应用程序的工具。VisualStudio包含基于组件的开发工具(如VisualC#、VisualJ#、VisualBasic和VisualC++),以及许多用于简化基于小组的解决方案的设计、开发和部署的其他技术。VisualStudio支持Microsoft.NETFramework,该框架提供公共语言运行库和统一编程类;ASP.NET使用这些组件来创建ASP.NETWeb应用程序和XMLWebservices。(2)ASP.net不仅仅是ActiveServerPage(ASP)的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的的优势。执行效率的大幅提高ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。世界级的工具支持ASP.net构架是可以用Microsoft(R)公司最新的产品VisualS开发环境进行开发,WYSIWYG(WhatYouSeeIsWhatYouGet所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。强大性和适应性因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows2000Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。简单性和易学性ASP.net是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。另外,通用语言简化开发使把代码结合成软件简单的就像装配电脑。高效可管理性ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"ZeroLocalAdministration"的哲学观念使A的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。自定义性,和可扩展性ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。安全性基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多.而且是可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。当创建ASP.NET应用程序时,开发人员可以使用Web窗体或XMLWebservices,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义.2.2.6数据库系统选择本系统将采用MicrosoftSQLServer2000作为系统的DBMS支撑,SQLServer2000是能够支持企业级关系型数据库的管理系统,它能与Windows操作系统紧密集成,具有方便易用的图形管理界面,其用户界面风格与Windows一样非常友好。SQLServer2000在存储大容量数据方面,在数据的安全性和完整性方面,在分布式处理等都是适合于企业级应用的。而其相对Oracle,DB/2等大型数据库来说,学习更为容易,应用成本也相对较低。采用SQLServer2000+ASP.Net开发本系统是一个较为理想的组合。SQLServer2000的新特点:动态的自我管理:SQLServer2000运行时动态配置运行环境,优化并简化了许多服务器配置选项,可随用户增多或者减少动态地请求追加或者释放资源,并可随数据的增减自动改变数据库大小。丰富的管理工具:SQLServer2000提供了许多数据库系统管理工具。系统管理员可以在运行SQLServerEnterpriseManager的中央控制台上,管理和监视服务器运行性能和企业数据库。可编程的管理:SQL分布式对象可用于编写应用程序,这就可以使应用程序数据包透明地将SQLServer2000嵌入应用程序中。也可以使用SQL-DMO为不同站点的通用的管理任务建立应用程序。可能收缩性和高可能性:SQLServer2000数据库引擎可以几乎所有Windows平台上运行,是可管理上千万个用户的大型数据库。同时其还具有动态自我调解的特性,能有效地在笔记本或者PC上运行。支持数据仓库:SQLServer2000支持数据仓库。系统访问Internet集成:SQLServer2000与其他产品一起为Internet或Intranet系统形成一个稳定的安全的数据存储;可为运行在IIS下的Web应用程序提供一个高性能的数据存储服务;此外,SQLServer2000数据库引擎还包括了对XML的本地支持,Transact-SQL结果可以作为XML文档返回给使用OLEBD和ADOAPI的应用程序,XML文档还可以添加到SQLServer2000中。综上所述,在开发空警管理信息系统时,采用SQLServer2000作为数据库管理系统。2.2.7开发方法的选择在开发方法的选择上,选择了演绎式原型法与生命周期法相结合的方法。具体来说,就是在系统开发之前对系统有一个总体框架设想,各功能单元的结构和功能也比较清楚,但是还没有具体实现。系统完成什么功能,分成哪几个部分,各个部分又有哪几个模块,都已理解掌握,且以后不需要做更大的变动,只是具体到每个模块,还没有全部实现。具体地设计可能是完全实现一个模块,也可能是用一个效率高地模块代替一个旧模块。信息系统的开发是一项比较复杂的工作,我们必须选用科学的有效的开发方法。近年来,国内外已逐步总结出一些开发信息系统的方法和技术,但是,从目前的情况来看,系统的开发技术仍是一个比较薄弱的环节。那么根据本系统开发的要求,本系统选择了生命周期法和原型法相结合的方法。现具体介绍如下:生命周期这个概念源于系统工程方法。广义地说,任何系统均有其发生、发展、成熟、消亡或更新换代的过程,这个过程称为系统的生命周期。主要包括系统调查阶段、系统分析、系统设计、系统实施及系统维护与评价五个部分。根据系统设计而对整个系统实施,包括物理实施,程序设计,调试等。实施是最后的一步,关系着最后的成功。在建筑学和机械设计学中,“原型”指的是其结构、大小和功能都与某个物体相类似的模拟该物体的原始模型。在管理信息系统开发中,用“原型”来形象地表示系统的一个早期可运行版本,它能反映新系统的部分重要功能和特征。“原型方法”则是利用原型辅助开发系统的一种新方法。原型方法要求在获得一组基本的用户需求后,快速地实现新系统的一个“原型”,用户、开发者及其他有关人员在试用原型的过程中,加强通信和反馈,通过反复评价和反复修改原型系统,逐步确定各种需求的细节,适应需求的变化,从而最终提高新系统的质量。因此可以认为原型方法确定用户需求的策略,它对用户需求的定义采用启发的方式,引导用户在对系统逐渐加深理解的过程中作出响应。原型法主要包括确定系统基本需求阶段、构造初始原型阶段、原型的使用评价阶段、修改原型阶段和确定模型后的处理阶段。原型法的基本思想是:凭借着系统分析人员对用户要求的理解,在强有力的软件环境支持下,快速地给出一个实实在在的模型(或称原型、雏形),然后与用户反复协商修改,最终形成实际系统。在本系统中选择了演化型(EvolutionaryPrototying)原型法,其目的不在于改进规格说明和用户需求,而是将系统改造得易于变化,在改进原型的过程中将原型演化成最终系统。它将原型方法的思想贯穿到系统开发全过程,对满足需求的改动较为适合。2.2.8开发本系统的意义学生成绩管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介与它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。运用学生成绩管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。从大的方向说,就是为了加速我国四化建设的发展,实现全部的自动化,使我国发展成为通讯网络化,决策科学化,办公自动化的国家。在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对国家负责。2.2.9本文档编写目的本文档为定义项目的需求,以软件工程学的思想来组织管理并展开本次毕业设计课题的研究,以指导后期的系统分析与设计,并为系统用户与开发者提供参考标准。本文档力求准确,清晰地表达项目需求与开发过程,以保证开发过程满足项目需求的正确方向进行。Web应用具体项目的确立是建立在各种条件、环境及需求之上的,通常情况下项目的开发与应用,运营的参与者拥有不同的知识结构体系,因此,所有人员对项目的理解程度很大程度上决定的项目的建设成败。因此,需要对系统之间的关系进行详细的设计分析说明。2.2.10定义软件需求:IEEE软件工程标准词汇表(1997年)中定义软件需求为:(1)用户解决问题或达到目标所需的条件或权能(Capability)。(2)系统或部件要满足标准、规范或其它正式规定文档所需具有的条件或权能。(3)一种反映上面(1)或(2)所描述的条件或权能的文档说明同工作,以及相互之间进行有效的交流和沟通。
第三章学生成绩管理系统概要设计3.1系统设计图例说明l.本系统流程图基本图形元素如下所示:开始与结束决策过程数据程序流向
2.程序逻辑结构描述图例(1)
顺序结构:一个命令接一个地执行;(2)选择结构:(或IF-THEN-ELSE)当一个决定有多种不同执行结果时;(3)
循环结构:只要条件成立就一直执行.3.2系统设计业务目标(业务逻辑层)3.2.1系统设计目标概述成绩管理信息系统的业务总体目标是建立一个先进、高效、安全、可靠的能被有效和应用于学生成绩管理的信息化数据库管理系统。该系统基于B/S结构,即采用浏览器/服务器模式,服务器端由运行ASP.Net的Web应用程序及运行MicrosoftSQLServer2000的数据库服务器组成,客户端可以InternetExplorer,FireFox访问系统。本信息系统体现了学生成绩管理的业务逻辑行为、大大简化了相关工作的烦琐流程,同时为管理层提供有力的决策支持。3.2.2用户(角色)本系统用户角色主要有两类:系统管理员与普通用户。其中系统管理员可进行用户管理。普通用户可分为学生,老师,教务处等用户。系统管理员:可进行用户管理,组权限分配,信息查询等工作。教师:可进行学生信息管理,课程信息管理,成绩管理,授课信息管理,信息查询,成绩统计等工作。学生:可进行成绩查询等操作。3.2.3假定假定分为用户假定和系统环境假定。用户假定:系统管理员及普通用户假定,即假定为具有一定的计算机操作基础,能熟练使用各种网络软件以及Windows操作系统、InternetExplorer浏览器等。环境假定:系统运行环境假定为可建行万维网信息平台的搭建,如:互联网网络接入,Web服务器架设。管理功能结构图:
系统管理员功能模块管理组权限管理记录添加,删除,修改
学生信息管理教师功能结构图:
记录添加,删除,修改学生成绩统计
老师课程信息管理学生成绩管理授课信息管理学生信息查询
学生功能结构图:
学生成绩查询
3.3技术总体目标3.3.1系统技术性能要求学生成绩管理信息系统的技术总体目标是应用先进的计算机网络与数据技术为教学工作中的成绩管理提供稳定、安全、可靠信息化服务,具体技术上将达到如下要求:(1)先进性采用先进、成熟的计算机软硬件技术,保障系统能够最大限度的适应今后技术和业务发展的需要。软件结构应实现层次化、模块化、平台化,统一规范,同时采用先进的现代管理技术,以保证系统的科学性。(2)开放性系统将采用具备优良性价比的开放式软硬件平台;网络体系结构支持多种通讯协议、数据库;采用C#等通用开发语言工具;对用户操作平台采用主流的B/S结构。(3)可靠性可靠性包括系统的稳定性和数据的可靠性。系统的稳定性需求包括:满足7*24小时的运行需要,发生局部硬件、网络和软件故障时有相应的旁路技术和容错技术,任意单点故障都不影响整个系统的运行。数据可靠性需求包括:保证本地备份数据和实时交易数据的一致性,发生局部故障时,数据不损失,发生重大事故时,备份数据可以在规定的时限内恢复。(4)高效性系统的设计要具有大规模的业务并发处理能力,数据的处理和传送也可采用批量处理的形式。即使在日终数据备份和批量处理的时候也可以照常办理业务。(5)可用性可用性包括系统正常情况下的可用性和系统发生改变时的可用性。正常情况下应用软件应安装简单、易于操作、界面友好,数据处理工作简单、方便、快捷。业务流程清晰,符合习惯,系统维护方便,备份及数据恢复快捷简单。同时要在对硬件、软件及应用进行调整时不影响原有业务的实现。(6)可扩展性高可扩展性指两方面:一方面通过扩充主机、CPU、磁盘、内存等硬件可以提高性能指标,通过扩充网络可以排除阻塞、拥挤和超时;另一方面通过系统开放式体系架构、模块化、参数化以及组件技术,对业务量、业务种类的扩展、与其他机构连接的扩展、系统功能扩展等都能提供足够的支持,缩短系统实施周期。(7)可管理性高可管理性包括正常情况下的可管理性和系统发生改变时的可管理性。可管理性指系统应具备对主机、网络、数据库、应用等情况进行监控、管理和调度;对系统自身所有的和流经系统的信息、参数、文件进行统一的管理和控制。(8)安全性安全性指系统具有数据传输的加密/解密、用户身份认证、权限确认、日志记录等安全控制功能。具体包括:数据保密性、传输安全性、访问安全性、安全审计、网络安全和系统安全等。系统安全性要求包括基于用户的系统操作权限控制、某些数据的加密保护、身份鉴别。安全性能:(1)访问者用户验证方式采用基于MD5加密的用户Form验证(2)定期备份数据库以预防系统故障时及时恢复(3)系统硬件与网络结构应满足web应用程序安全稳定地运行的需求。以达到信息的及时准确处理,数据安全等。可考虑运用硬件防火墙及支撑软件来预防来自网络的攻击,并采用备份服务器来备份重要数据及程序,以便出现故障时能及时恢复系统。下面是建议采用的网络拓扑结构示意图:系统网络拓扑图个人用户BB主应用服务器主数据库服务器交换机交换机内网防火墙外网防火墙WEB服务器WEB服务器广域网路由器internet个人用户系统管理员
3.3.2精度系统精度主要包括两个方面:系统信息流转的正确性系统信息流转的完整性3.3.3数据管理能力要求系统内数据保存具有持久不丢失性,数据的安全保证要能防止病毒和网络上非法用户如黑客的获取。这些可以通过对Web服务器的维护管理和各种杀毒与网络安全系统来提供保证,不属于本系统数据安全性要求范围内。3.3.4时间特性要求系统的时间性能规定要求系统的大部分操作在用户视觉延迟时间范围之内。对某些检索和其它涉及复杂计算的操作系统响应也应保持在3-5倍用户视觉延迟时间范围内。连接性能:为保证系统可能存在的大量的并发连接数,因此需要保证用户在其网络正常情况下可访问站点数据。数据库检索性能:由于系统需要检索大量用户数据,因此在数据库检索性能上需要采取一定的优化措施以提高检索性能,降低数据库及网络传输消耗。3.3.5故障处理要求本系统在按运行环境所要求的系统平台(包括操作系统、数据库系统和网络环境)正常情况下不会发生严重的系统故障如系统崩溃等。对除此之外的系统故障应是在简单的配置和调整后及时恢复。3.3.6UI要求设计要求UI设计是系统具有良好的易用性的一个重要因素,基于本系统的特殊应用范围考虑,本系统的UI设计主要从两个方面去考虑:一是功能,二是风格。针对页面功能上的要求是:应具有可方便检索,浏览站内信息,具备良好的导航性;针对页面风格上的要求是:体现美观、简约、现代、友好易用等设计元素。因此,本系统UI设计应该遵循以下几个原则:浏览界面友好,美观,大方栏目内风格统一,让访问者能快速熟悉网站的设计结构,信息显示一目了然风格简约,突出功能与重点易用性强,便于操作与查找相关内容良好的伸缩性,易于在将来的运营过程中增减模块或内容站点结构清晰科学,便于管理维护3.3.7开发与运行环境规定该运行环境的规定是保证本需求说明的功能得到实际真正体现的基础。(1)服务器端运行环境支持软件
服务器端软件:Windows2000Server或更高版本的操作系统,推荐Windows2003EnterpriseEdition数据库系统:SQLServer2000或更高版本的数据服务器Web服务器:Microsoft
IIS
6.0NETFrameworkv1.1或更高版本的Web应用支持企业杀毒软件(2)用户端PC软件Windows98或更高版本操作系统(安装有IE5.0以上版本)或其它98年以后发布的带有Internet浏览器软件的图形UI操作系统操作系统:windows,Linux等浏览器:InternetExplorer、Maxthon、MozillaFirefox、MozillaFirefox推荐使用:InternetExplorer、Maxthon、(3)开发环境:操作系统:Windows2003EnterpriseEdition开发工具:MicrosoftVisualStudio.NET2003,AdobePhotoshopCS,DreamweaverMX2004数据库系统:MicrosoftSqlServer2000Web服务器:MicrosoftIIS6.0CPU:IntelPentium(R)42.8CHz内存:512MB第四章设计过程及体会软件工程是计算机科学与技术专业实践性非常强的课程,实践教学环节的组织是教学的重要组成部分,直接关系到学生对知识的掌握与应用能力。课程设计作为实现实践教学的一种重要形式,已经在越来越多的计算机专业课程中得到应用。软件工程课程设计的目的,是让学生在掌握软件工程知识的基础上提高实践动手能力,熟悉软件开发过程,掌握常用软件工程工具的使用,学会撰写软件开发各个阶段的规范文档,提高团队协作能力,为将来从事软件开发工作打下良好基础。1软件工程设计的组织形式不同院校实践教学的组织主要有3种形式:1)将软件工程设计作为一门课程。在软件工程课程后开设,许多有软件工程专业的学校这样做。2)将软件工程设计作为软件工程课程的一个教学环节,但是不占用课堂教学时间,由学生在课余时间完成,教师进行指导,学生以大作业提交成果。3)将软件工程设计作为软件工程课程的一个教学环节,同时安排一定的时间集中进行。我校电子信息专业基本上采用第3种形式,在软件工程课程结束前几周专门安排一周的时间进行集中的设计,教师对学生进行集中的辅导与检查。2软件工程设计的主要环节(1)软件工程设计的准备。1)知识准备:除了软件工程理论知识之外,在软件工程设计时还需要其他知识,较为重要的是CASE工具的使用。在讲授需求分析时,教师可以介绍画图与建模工具Visio、数据库建模工具PowerDesigner;在讲授软件测试时,教师可以介绍单元测试工具JUnit、缺陷管理工具TestDirector。介绍这些CASE工具时,教师只需画龙点睛,着重介绍软件的使用流程,至于软件的具体使用,则引导学生在课余时间自学掌握。2)题目选择:软件工程设计集中进行的时间不长,因此不宜选择难度较大的题目,要让学生能够理解。我们选择的题目有与学校管理相关的,比如学生档案管理、学生成绩管理等;有与中小企业管理相关的,如进销存管理、工资管理等;简单Web应用系统,如在线考试、在线招聘等;还有一些小游戏,如连连看、24点纸牌等。针对题目,教师要花一定的时间给出简要的需求陈述,如果只提供一个题目,学生基本没有项目开发经验,可能无从入手。3)学生分组:成功的软件项目大都是团队开发的成果,应该对学生进行分组,以培养学生的团队协作能力,一个班级可分为几个到十几个小组。4)教师安排:软件工程设计的辅导教师主要是软件工程课程的授课教师,有条件的学校可以聘请IT公司有经验的系统分析师、软件工程师担任辅导工作。(2)软件工程设计的实施。课程设计的实施是课程设计的主要阶段,应该遵循以学生为主体、教师为主导的方针。1)分组确定与题目安排。前几年实施软件工程设计时,我们曾尝试在学期初就把分组及题目安排好,让学生边学习边进行课程设计,但我们忽视了学生没有任何软件工程经验,这样大部分小组到了集中阶段就是不断地修改代码和文档。这一两年,到了集中阶段的前两周,我们才把分组与题目安排好,分组采用学生先自行组合,教师再进行调整的方式,使各个小组均达到较好的优化组合。每个小组设一个组长,负责项目的总体协调,确认各个阶段要提交的文档,以及答辩时作为主讲人。题目安排后,根据每个小组的实际情况,选择采用传统方法或面向对象方法。2)集中阶段。集中阶段的前一周,教师向学生介绍每天需要完成的工作及需要提交的文档。集中阶段的每一天,教师不是被动地等待学生的提问,而是每天上午主动对每个小组进行半个小时的检查与辅导,检查上一天的成果,解决学生遇到的困难,并给出下一阶段的要求。下午,教师的工作相对灵活些,可以随时查看学生的进度,检查学生已经提交的文档,针对个别小组进行辅导或者对一些典型的问题进行统一讲解等,各天安排如下:第1天,确定需求。要求学生在第一天来时提交一份初步的需求规格说明书,教师根据这份说明书与学生沟通,帮助学生确认需求,理清系统涉及的主要业务流程。对采用传统方法学的小组,要求画出各级数据流图及给出相应的数据字典,涉及数据库的要给出E-R图,可以借助Visio和PowerDesigner完成这些工作;对采用面向对象方法学的小组,要求画出用例图以及主要用例相应的活动图或状态图,另外还要给出领域模型,用类图表示,可以借助RationalRose完成这些工作。教师检查学生所做的上述工作,一定要纠正学生错误并且指出原因,要求学生修改与完善说明书,同时提出总体设计需要做的工作。学生可以根据与教师的沟通继续后续的工作,教师则进入下一小组的辅导工作。以后每天都要重复这项工作,每个小组与教师的沟通为半小时左右,虽然存在一定的时间差,但对总体的工作影响不会太大。第2天,总体设计。经过第一天的工作,各个小组都提交了比较规范的需求规格说明书。教师再次进行最后的检查,再根据各小组总体设计的情况进行检查与交流。对采用传统方法学的小组,检查从数据流图映射出的功能模块是否正确,帮助学生进行功能模块的调整,涉及数据库设计的,帮助检查数据库的设计是否合理;对采用面向对象方法学的小组,着重检查细化后的类图,类与类之间的关系及类中服务的设计是否合理,还要检查主要流程的时序图或协作图是否正确。最后教师对详细设计要做的工作提出要求。第3天,详细设计。这一天,教师还是先检查总体设计提交的一些文档,要求学生作最后的修改及调整。接着针对详细设计进行检查与交流,对采用传统方法学的小组,主要检查各个功能模块的程序流程图(或PAD图或伪代码)是否正确,并且对人机界面设计提出建议;对采用面向对象方法学的小组,主要检查构件图以及类中服务的详细设计,同样也要对人机界面设计提出建议。最后教师对程序设计提出要求。第4天,程序设计。经过前几天的工作,系统离实现越来越接近,这一天教师对详细设计提交的文档作最后检查。在程序设计阶段,主要检查代码的规范以及一些关键代码的编写。安排辅导教师时,可以根据教师对某种编程技术的熟悉程度。这一天,教师还要对软件测试提出一些要求。第5天,测试调试。这是集中阶段的最后一天,教师先检查程序设计的进行情况,提出一些要求,建议学生先采用手工测试的方式,手工设计测试用例并且执行这些测试用例,这样可以掌握测试的流程,也有利于今后进一步掌握一些测试工具。教师还可通过运行程序检查最后的实现结果是否与前面的设计相符,如果不相符,要帮助学生找出原因。5天的集中时间相对一个软件的完整开发周期来说偏短,也没有把大部分的CASE工具都用到,但经过这段时间,学生经历了一次强化的软件开发训练,对软件的开发流程有一个整体认识,同时在文档的规范、CASE工具的使用及团队合作等方面都有所收获。3软件工程设计对课程教学的启示1)在课程教学学期初,教师要强调软件开发各个阶段的重要性和连续性。在刚开始进行课程设计时,一些小组因为理论知识掌握得不太好,对自己做的项目没有信心,但随着课程设计的进展,他们最终取得了一定的成果。教师可以通过向学生介绍一些成功与失败的软件开发案例来向学生强调这一点,学生的学习目的性在一开始就可以得到强化。2)教师在讲授一些工具的使用时,应该多采用案例教学,并且让学生多练习。比如数据流图,基本画法并不复杂,但在课程设计时,却几乎没有一组学生能够画得全对,而且有一些是明显的错误,教师在讲授数据流图时,若能多讲解一些案例,同时多布置一些题目让学生练习,学生的掌握情况就会好得多。3)教师本身要加强自身的软件开发能力训练。课程设计的集中阶段辅导教师要对学生进行全方位的指导,这对辅导教师本身的素质提出了很高的要求。教师在平时若能参与实际项目的开发,或到正规软件公司进行学习与交流,在辅导学生时就可应付自如。4结语软件工程设计是软件工程实践教学的重要组成部分,合理的组织,精心的准备,加上有序的实施,可以取得良好的教学效果,使学生的实践能力得到很大的提高,同时培养他们的团队精神,增强他们的学习自信心,并为毕业后从事相关工作打下良好基础参考文献(1)信息技术软件生存期过程》(GB/T8566-1995)(2)《计算机软件产品开发文件编制指南》(GB8567-88)(3)《软件工程术语》(GB/T11457-1995)(4)IEEE软件工程标准词汇表(1997年)(5)王晟编著《VisualBasic.NET数据库开发经典案例解析》清华大学出版社2005(6)DavidSceppa编著梁超张莉等译《ADO.NET技术内幕》清华大学出版社2003(7)赵慧勤等编著《SQLServer2000实例教程》电子工业出版社2001附录项目开发计划人张文摘要绪论.需求分析叶萌萌需求分析孙黎黎需求分析.学生成绩管理系统概要设计刘丹设计过程与体会基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年分期付款旅游套餐协议
- 导演与设计师2025年度合作协议3篇
- 2025年人事代理授权服务协议
- 二零二五版奶茶店财务审计与风险控制服务合同
- 2025年代理权益保护协议书案例展示总结介绍案例
- 2025年在线购物消费者协议
- 2025年银行间市场协议存款居间业务合作合同范本6篇
- 2025年超额保险合同保险合同保险范围协议
- 复习课件苏联的社会主义建设人教版
- 2025年度新能源技术研发个人技术服务合同4篇
- 书籍小兵张嘎课件
- 艺术哲学:美是如何诞生的学习通超星期末考试答案章节答案2024年
- 北京海淀区2025届高三下第一次模拟语文试题含解析
- 量子医学治疗学行业投资机会分析与策略研究报告
- 多重耐药菌病人的管理-(1)课件
- (高清版)TDT 1056-2019 县级国土资源调查生产成本定额
- 环境监测对环境保护的意义
- 2023年数学竞赛AMC8试卷(含答案)
- 神经外科课件:神经外科急重症
- 2023年十天突破公务员面试
- 《疯狂动物城》中英文对照(全本台词)
评论
0/150
提交评论