第一页学生选课系统概要设计说明书目录1引言……………………………………………………………21.1编写目的………………………………………………………………21.2背景……………………………………………………………………21.3定义……………………………………………………………………31.4参考资料………………………………………………………………32总体设计………………………………………………………32.1需求规定…………………………………………………………………32.2运行环境…………………………………………………………………42.3基本设计概念和处理流程…………………………………………………52.4结构………………………………………………………………………92.5功能需求与程序的关系……………………………………………………92.6人工处理过程……………………………………………………………102.7尚未解决的问题………………………………………………………103接口设计………………………………………………………103.1用户接口………………………………………………………………103.2外部接口………………………………………………………………103.3内部接口…………………………………………………………………114运行设计…………………………………………………………114.1运行模块组合……………………………………………………………114.2运行控制…………………………………………………………………114.3运行时间…………………………………………………………………135系统论据结构设计……………………………………………135.1逻辑结构设计要点……………………………………………………135.2物理结构设计要点……………………………………………………136系统出错处理设计……………………………………………136.1出错信息………………………………………………………………136.2补救措施………………………………………………………………15第二页1引言概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处。流程、程序系统的组织结构、模块划分、功能分配、接口设计。运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。编制概要设计说明书的内容。1.1编写目的为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作展开的各个过程合理有序,因此以文件化的形式,把开发过程中的各项工作记录下来,作为项目团队成员以及项目干系人之间的共识与约定,项目团队开展和检查项目工作的依据,以便计划开展和确保项目开发成功。本文档的预期读者是:设计人员开发人员测试人员用户1.2背景开发软件名称:学生选课系统项目任务提出者:姚敦红第三页项目开发者:11级1班第2项目组用户:怀化学院项目于其他软件、系统的关系:本项目采用用户/服务器原理,客户端的程序是建立在Windows系统上的应用网站,是采用MySQL的为数据管理软件的数据服务程序。1.3定义?MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。1.4参考资料?【1】《软件工程导论》(第四版)张海藩,清华大学出版社,2003年版。【2】《软件工程实用教程》陈明,电子工业出版社,2004年版。【3】《软件工程与项目管理》刘竹林、白振林、卢润彩编著,北京师范大学出版社,2008年版。2总体设计2.1需求规定2.1.2对功能的规定同时使用数据库技术,能够打开一个数据库的数据,并将其修改后能够再保存回去。且一个用户的信息只能每次只能登陆一次,不能多人同时第四页登陆一个用户。但是可以保证一定量的用户可以同时访问服务器。要求系统简洁,便于操作,而且快速、实用,功能健全。2.1.2对性能的规定a.精度本系统所需要的数据比较简单,基本不存在精度的问题。b.时间特性要求要求本系统对于事务的处理有较高的响应,如数据库的更新操作等响应时间应限定在一定范围。2.1.3输入输出的要求该系统为教学管理系统的一个模块,因此它的输入数据由总系统的其它模块提供,其输出数据一部分可显示给用户,另一部分作为其它子模块的输入。2.2运行环境本系统的硬件环境如下:客户端:普通PCCPU:P41.8G以上内存:256MB以上分辨率:推荐使用1024*768像素数据库服务器:CPU:P42.0GHz内存:1GB以上第五页硬盘:80GB以上数据库环境:MySQL2.3基本设计概念和处理流程2.3.1设计概念2.3.1基本处理流程图(1)业务流程图第六页(2)系统用户登录流程图第七页(3)用户密码修改流程图第八页(4)系统数据流程第九页2.4结构下图为本子系统的结构图,反映程序中模块之间的层次调用关系和联系.2.5功能需求与程序的关系本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:第十页选课模块打印课程表模块课表查询模块查询可选课程模块选课√打印课程表√课表查询√查询可选课程√2.6人工处理过程本系统在具体排课过程中,有时可能需要人工来调整,如在为教师安排上课时间、地点时需考虑到一些特殊因素。2.7尚未解决的问题由于同时运行的人数过多的时候,会导致该系统反应过慢或者无法正常工作,所以在运行本系统之前应该规定同时运行的人数。3接口设计3.1用户接口用户可以根据学号和姓名进行查询这学期的课程信息、选课以及查询自己的选课信息。3.2外部接口3.2.1软件接口:客户端采用Windows2003/XP以上操作系统,InternetExplorer6.0以上浏览器。第十一页3.2.2硬件接口:由于采用B/S架构,系统的客户端可以在所有的PC机上使用,只要有浏览器即可。服务器也可以运行在所有的PC机上,鉴于效率问题,建议使用专业的服务器。3.3内部接口模块间采取数据耦合方式,通过参数表传递数据,交换信息。4运行设计4.1运行模块组合查询功能:学生选课信息模块,课程信息模块,教师信息模块。数据录入功能:学生信息模块,教师信息模块,管理员信息模块。修改功能:学生信息模块,教师信息模块,管理员信息模块。删除功能:学生信息模块,教师信息模块,管理员信息模块。打印功能:学生信息模块,教师信息模块,课表信息模块,成绩表单模块。4.2运行控制(1)学生:学生是选课系统的服务对象,是系统最主要的用户群体。考虑到学生信息比较固定,采用从学生科导入学生信息的办法,将学第十二页生信息预置于系统之中,避免用户注册引起的与真实身份对应混乱的问题出现,并预设学生密码,强制学生在第一次登陆后修改默认密码和用于找回密码的提示问题,否则不能选课。学生在修改了默认密码之后就可以浏览课程详细信息并点击选课,这是系统的关键部分,在此部分应该包含限制条件检测功能,保证选课有效、合乎规定。还可以查看选修过的课程历史以及获得的学分。另外还要有一个信息反馈的功能,反馈给管理员或授课教师。(2)教师:教师用户采用院系管理员添加的办法。教师登陆后申报新的选修课,查看以往课程的学生选课情况,登记学生成绩,修改自己申报的选修课程,回复学生的反馈信息,向教务处反馈信息。新申报课程可用复制已有课程的办法减少输入量。(3)系统维护员:管理数据库信息,维护系统,数据维护,学生库、教师库、课程库、权限库、选课结果库、系统设定库、公告库、信息反馈库,以及修改界面等。(4)教务处管理员:教务处审核系部上报的选修课程。向管理员反馈信息,向系部发送通知信息,课程管理,包括添加、修改、审核等。系统设定,初选、正选、补选时间的设定,公告的发布,开放选课的课程和可以选课的学生类别限定等。可以限定每学期最多选课门数、最多选修学分,检测校区信息并根据规定限定学生是否能跨校区选课,如果能与必修课数据库交互可以避免学生选课过程中出现自身选课有时间冲突的问题,设定各课程最高选课人数上限等第十三页(5)系部管理员:教师、学生等各类用户的添改删、密码查看、权限设定。4.3运行时间视具体情况而定5系统数据结构设计5.1逻辑结构设计要点给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。5.2物理结构设计要点给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。6系统出错处理设计6.1出错信息(1)统计在线人数在选课系统中,为了方便学生看到当前系统在线人数,避开选课高峰期,需要统计在线人数。在此为了避免连接数据库,第十四页减慢系统运行速度,采用了继承HttpSessionListener方法。当用户进入系统,触发SessionCreated事件,计数器加1;当用户离开,触发SessionDestroyed事件,关闭页面,计数器减1实现了简单的不需要操作数据库的在线人数统计。(2)课程冲突的应对策略由课程、教室的繁多及学生选课的自由性所决定,在管理员安排课程和学生选课过程中不可避免出现课程冲突问题,即教师在同一时间上两门课程、同一教室、在同一时间有两个教师来上课和同一学生在同一时间选择了两门课程等问题。这就需要在系统中用一些策过许多步骤,当需要选择多门课程时不得不经过许冗杂而重复的步骤。学生对要选的课程的开课一些基本信息和对自己所得成绩和学分的查询比较模糊、复杂,课表的表现不够直观等等。教师同样需要复杂的操作才能对所授课程和选课学生进行查询和管理。系统的操作界面不友好、不够人性化。这样的设计显然是不能令人满意的。(3)系统不稳定网站时常不能访问,用户无法登陆,这显然是网站服务器系统的不稳定造成的。作为系统的设计者,应在发布网站前进行充分的效能测试,从而最大程度上避免这种情况的出现。(4)系统性能不好由于采取的技术和数据库速度及性能较慢的原因,从而导致在选课高峰期,同时有大量的同学选课的时候出现登陆和选课速度很慢或是根本就无法成功登及结构体系。在这种结构下,用户仅需通过浏览器就可实现客户端的功能,而大部分的事物逻辑是在服务器端实现。这样就大大降低了客户端的负载,减轻了系统维护与升级的成本。用第十五页一览表的方式说明每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。6.2补救措施(1)后备技术。说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术。(2)降效技术。说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录。(3)恢复及再启动技术。说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。