1、1 引言 .21.1 编写目的 21.2 背景 21.3 定义 21.4 参考资料 22 总体设计 .22.1 需求规定 22.2 运行环境 22.3 基本设计概念和处理流程 32.4 结构 32.5 功能需求与程序的关系 32.6 人工处理过程 32.7 尚未问决的问题 33 接口设计 .33.1 用户接口 33.2 外部接口 33.3 内部接口 44 运行设计 .44.1 运行模块组合 44.2 运行控制 44.3 运行时间 45 系统数据结构设计 .45.1 逻辑结构设计要点 45.2 物理结构设计要点 45.3 数据结构与程序的关系 46 系统出错处理设计 .56.1 出错信息 56.
2、2 补救措施 56.3 系统维护设计 5概要设计说明书1 引言1.1 编写目的(1)开发学生网上选课系统,提高管理工作的效率、提高信息的开放性、改善学生和教师对其最新信息查询的准确性。(2)本报告由共同修改完成。1.2 背景随着学校规模的不断扩大,专业、班级学生的数量急剧增加,有关学生选课的各种信息量也成倍增长,而且目前许多高校的学生选课管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低。因此,迫切需要开发学生网上选课系统来提高管理工作的效率。学生网上选课系统,在学生选课的规范管理、科学统计和快速查询方面具有较大的实用意义。它提高了信息的开放性,大大地改善了学生、教师对其最新信息查询
3、的准确性。1.3 定义(1)Active Server Pages (ASP) 是服务器端脚本编写环境,是由 Server 端脚本、对象以及组件拓展过的标准主页使用它可以创建和运行动态、交互的 Web 页和基于 Web 的功能强大的应用程序。ASP 程序是以 。 asp 为扩展的文本文件,其控制部分是用 VBScript 和 Jscript 等脚本语言来编写的。ASP 的工作流程大致是:当浏览器从 Web 服务器上请求 。 asp 文件时,服务器用 ASP;ASP 全部读取请求的文件,执行所以的服务器端脚本,并将脚本输出与静态HTML 代码进行合并;最终的 HTML 页面将在 HTTP 响应中
4、传送给浏览器。ASP 程序是由文本、HTML 标记和脚本组合而成的。在 ASP 程序中,脚本通过分隔符与文本和 HTML 标记区分开来。ASP 用分隔符%和%包括脚本命令。由分隔符括起的命令称为主脚本命令,这些命令由主脚本语言进行处理。在 ASP 分隔符%和%内,可以包括主脚本语言允许的任何语句、表达式和操作符等。ASP 实际上是将标准的 HTML 文件扩展了一些附加特征,也像标准的 HTML 文件一样,包含 HTML 对象并且有一个浏览器解释并显示,任何可以放在 HTML 中的东西Java applets,闪烁字符串,客户端脚本,客户端 ActiveX 控制等。都可以放在 ASP 中。因此,
5、ASP 有如下四个重要特征,使之具备很强的通用性。 (2)SQL Server 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力,提供了以 Web 标准为基础的扩展数据库编程功能。丰富的 XML 和 Internet 标准支持允许使用内置的存储过程以 XML 格式轻松存储和检索数据。SQL Server 提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。例如,XML 数据库与 Web Service 的支持将使您的应用实现 Internet 数据互联,
6、 .Net 集成极大的扩展了开发空间,异构数据集成、 Service Broker 使您的数据和其它应用无缝集成,各种新数据类型和 T-SQL 扩展带来了诸多灵活性。C#、VB.Net、XQuery、XMLA、ADO.Net 、SMO 、AMO 等都将成为 SQL Server 数据平台上开发数据相关应用的有力工具。1.4 参考资料1 张海藩.软件工程导论(第四版)M. 北京:清华大学出版社,20032 Roger S.Pressman 著 软件工程 实践者的研究方法 .机械工业出版社,19973 李振坤.梁海健 .孙延海著 .基于知识库的学生选课系统的设计与实现.计算机应用研究.2005.0
7、94 苗雪兰.刘瑞新 .宋会群著 .数据库技术与应用.机械工业出版社,2007。2 总体设计2.1 需求规定2.1.1 系统功能(1)可实现学生网上选课。(2)方便实现学生选课信息查询。(3)可对学生成绩档案进行管理,成绩表单生成简便。(4)安全有效的用户分区、管理。(5)档案数据的高安全性、保密性。(6)有帮助文档表2-1 选课系统功能要求表功能要求 输入 处理 输出学生选课信息查询 点击查询按钮 启动查询 学生选课信息学生选课 课程号、学号经户确认,系统接受信息并保存于数据库中成功选课确认信息学生、教师、课程、公共信息修改要修改的信息修改相应数据库中的数据并保存修改更新后的信息课程表单生成
8、点击学生课程表显示系统查询学生课程信息,启动课程表生成程序生成学生课程表成绩表单生成点击学生成绩表显示系统查询学生课程信息,启动课程表生成程序生成学生成绩表单2.1.2 系统性能使用稳定,操作性能好,操作方法易于掌握,系统的安全性强。2.1.2.1 精度系统保证结果的正确性,在精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,本系统可以满足各种精度的需求。2.1.2.2 时间特性要求在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。2.1.2.4 可靠性系统具有较高的可靠性,可恢复性2.1.2.5 灵活性系统有良好的可扩展性,允许管理员随时对其进行更新和维护。当用
9、户需求,如操作方式,运行环境,结果精度等发生变化时,设计的软件要做适当调整,灵活性较好。2.1.3 输入输出要求1输入:系统在功能区提示输入位置,支持以下两种输入方式:(1)鼠标点选:用户点选功能,如该位置是系统允许的有效目标则记录为用户输入;(2)文字输入:用户在指定文本框中输入文字,被系统确认为有效后记录为用户输入。2输出:(1)基本信息学生信息包括学号、姓名、所在学院、所在专业、班级、密码。教师信息包括身份证号、姓名、性别、所属学院、学历、职称、个人简介、密码。管理员信息包括登录号、姓名、密码。(2)查询信息:学生选课信息包括学号、姓名、所在学院、所在专业、班级、学期、所选课程、课程编码
10、。课表信息包括序号、课程编码、课程名称、供选学院、供选专业、老师、身份证号、学期、上课时间、学分、总人数、已选人数、地点、先行课、课程介绍。2.1.4 数据管理能力要求高校学生网上选课系统的数据需求包括如下几点:1.数据录入和处理的准确性和实时性2.数据的一致性与完整性3.数据的共享与独立性4.数据存储量较大,需要较大的存储空间2.1.5 故障处理要求a. 内部故障处理在开发阶段可以随即修改数据库里的相应内容。b. 外部故障处理对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运行,在需求调用时出错,有错误提示,重试。2.1.6 其他专门要求本系统有较好的可维护性、可靠性、可理解性、效率
11、。易于用户理解和操作。可维护性包括了可读性、可修改性、可测试性、等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等) ,使上述各方面最大限度的得到满足。2.2 运行环境2.2.1设备计算机:CPU : Intel(R) Celeron(R) 2.13GHz 或更好内存 : 512MB 或更大硬盘:80G 或更大外围设备:打印机通讯设备:局域网操作系统: Windows 2000/XP 操作系统2.2.2支持软件Microsoft Sql Server 2000 或更高版本Microsoft IIS 5.0 或更
12、高版本Microsoft Office 2003SDK2.2.3 接口软件接口为 Windows 2000/XP 操作系统。本系统的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面)。用户对程序的维护,最好要有备份。2.3 基本设计概念和处理流程图 2.1 学生选课系统处理流程图图 2.2 学生选课处理流程2.4 结构图 2.3 系统结构总体框图2.5 功能需求与程序的关系各项功能需求的实现同各模块的分配关系如表 2-2。表 2-2 功能需求与系统模块的关系表学生选课模块 教务处管理员模块 教师模块查询功能 数据录入功能 修改功能 删除功能
13、 打印功能 2.6 人工处理过程信息的输入输出和报表的打印。2.7 尚未问决的问题暂无。3 接口设计3.1 用户接口1)说明将向用户提供的命令和它们的语法结构,以及相应的回答信息。2)说明提供给用户操作的硬件控制面板的定义。1) 本系统的客户端为浏览器,方便操作。2) 所有界面采用 Web 风格。功能键一律采用 Windows 操作系统通用的功能键。3.2 外部接口说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持系统之间的接口关系。1) 硬件接口由于采用 B/S 架构,系统的客户端可以在所有的 PC 机上使用,只要有浏览器即可。服务器也可以运行在所有的 PC 机上,鉴于
14、效率问题,建议使用专业的服务器。2) 软件接口客户端采用Windows 2000/XP 以上操作系统, Internet Explorer 6.0 以上浏览器。3.3 内部接口说明本系统之内的各个系统元素之间的接口的安排。4 运行设计4.1 运行模块组合查询功能:学生选课信息模块,课程信息模块,教师信息模块。数据录入功能:学生信息模块,教师信息模块,管理员信息模块。修改功能:学生信息模块,教师信息模块,管理员信息模块。删除功能:学生信息模块,教师信息模块,管理员信息模块。打印功能:学生信息模块,教师信息模块,课表信息模块,成绩表单模块。4.2 运行控制(1)学生: 学生是选课系统的服务对象,
15、是系统最主要的用户群体。考虑到学生信息比较固定, 采用从学生科导入学生信息的办法, 将学生信息预置于系统之中, 避免用户注册引起的与真实身份对应混乱的问题出现, 并预设学生密码, 强制学生在第一次登陆后修改默认密码和用于找回密码的提示问题, 否则不能选课。学生在修改了默认密码之后就可以浏览课程详细信息并点击选课, 这是系统的关键部分, 在此部分应该包含限制条件检测功能, 保证选课有效、合乎规定。还可以查看选修过的课程历史以及获得的学分。另外还要有一个信息反馈的功能, 反馈给管理员或授课教师。(2)教师: 教师用户采用院系管理员添加的办法。教师登陆后申报新的选修课, 查看以往课程的学生选课情况,
16、 登记学生成绩, 修改自己申报的选修课程, 回复学生的反馈信息, 向管理员反馈信息。新申报课程可用复制已有课程的办法减少输入量。(3)管理员: 添加管理教师用户, 审核教师上报的选修课程。向管理员反馈信息, 向教师发送通知信息。用户管理, 包括其它管理员、教师、学生等各类用户的添改删、密码查看、权限设定。课程管理, 包括添加、修改、审核等。系统设定, 初选、正选、补选时间的设定, 公告的发布, 开放选课的课程和可以选课的学生类别限定等。可以限定每学期最多选课门数、最多选修学分, 检测校区信息并根据规定限定学生是否能跨校区选课, 如果能与必修课数据库交互可以避免学生选课过程中出现自身选课有时间冲
17、突的问题, 设定各课程最高选课人数上限等。数据维护, 学生库、教师库、课程库、权限库、选课结果库、系统设定库、公告库、信息反馈库等。系统选课为了检测学生选课是否冲突, 所以往往需要进行编码, 系统就需要一个自动编码的功能, 并在系统开放选课后锁定自动编码功能。应急处理, 包括教师调课功能, 学生改选功能, 调课需要检测出已选该课程的学生在改选后是否与其它课程产生冲突。数据统计打印功能。反馈信息的回复管理功能, 数据库的备份功能, 这点很重要, 以防出现意外情况。4.3 运行时间未能确定,由具体情况而定。5 系统数据结构设计5.1 逻辑结构设计要点学生选课系统 E-R 图如 5.1 所示:图 5
18、.1 学生选课系统 E-R 图5.1.1 管理员信息表管理员信息表(Admin)。如表 5-1 所示,本表用于存储管理员的基本情况。表 5-1 管理员信息表序号 字段名 中文描述 数据类型 空值 主键 外键 备注1 AdminID 管理员编号 Char(6) NOT NULL 2 Name 姓名 Char(8) NOT NULL3 Sex 性别 Char(2)4 Password 密码 Char(12) NOT NULL5 Email 邮箱地址 Char(20)关键字段设计说明:AdminID:管理员编号,用于唯一标识每一位管理员。5.1.2 教师信息表教师信息表(Teachers) 。如表
19、5-2 所示,本表用于存储教师基本情况。表 5-2 教师信息表序号 字段名 中文描述 数据类型 空值 主键 外键 备注1 TeacherID 教师编号 Char(6) NOT NULL 2 Name 姓名 Char(8) NOT NULL3 Sex 性别 Char(2)4 Depart 所在院系 Char(20)5 Password 密码 Char(12) NOT NULL NULL NULL6 Degree 学位 Char(8)7 Occupation 职称 Char(12)8 Tel 电话 Char(11)9 Email 邮箱 Bit(1)关键字段设计说明:TeacherID:教师编号;N
20、ame:姓名;Sex:性别;Depart:所在系;Password:登录口令;Degree:学位;Tel:电话;Email:邮箱。5.1.3 学生信息表学生信息表(Students) 。如表 5-3 所示,本表用于存储学生基本情况。表 5-3 学生信息表序号 字段名 中文描述 数据类型 空值 主键 外键 备注1 StudentID 学号 Char(12) NOT NULL2 Name 姓名 Char(8) NOT NULL3 Sex 性别 Char(2) NOT NULL4 Password 密码 Char(12) NOT NULL5 Depart 所在院系 Char(20) NOT NULL
21、6 Major 所在专业 Char(20) NOT NULL7 Classname 所在班级 Char(12) NOT NULL8 Email 邮箱 Char(20)关键字段设计说明:StudentID:学号;Name:姓名;Sex:性别;Password:登录口令;ClassName:所在班级。5.1.4 课程信息表课程信息表(Courses) ,如表 5-4 所示,用于存储每一课程的基本情况。表 5-4 课程信息表序号 字段名 中文描述 数据类型 空值 主键 外键 备注1 CourseID 课程编号 int(4) NOT NULL 2 CourseName 课程名称 Char(20) NO
22、T NULL3 Target 教学对象 Char(40) NOT NULL4 TeacherID 教师编号 Char(6) NOT NULL 5 ClassHour 课时 Int(4) NOT NULL6 Credit 学分 Int(4) NOT NULL7 Time 开课时间 Datetime(8) NOT NULL8 Total 总人数 Int(4) NOT NULL9 SelectedN 已选人数 Int(4) NOT NULL10 Place 地点 Char(20) NOT NULL11 PrivioueC 先行课 int(4)关键字段设计说明:CourseID:课程编号,用于唯一标识
23、每一课程;CourseName:课程名称;Target:教学对象;TeacherID:教师编号;ClassHour:课时;Credit:学分;StartTime:开始时间;EndTime:结束时间。5.2 物理结构设计要点用户在本系统中进行管理、操作时,用户可以直接通过用户图形界面来存取数据,不需要考虑到底层的存储物理关系。5.3 数据结构与程序的关系采用多种数据结构处理,结合适当的算法,提高程序的简洁性、可读性、高效性和可维护性。6 系统出错处理设计6.1 出错信息(1) 统计在线人数在选课系统中, 为了方便学生看到当前系统在线人数, 避开选课高峰期, 需要统计在线人数。在此为了避免连接数据
24、库, 减慢系统运行速度, 采用了继承HttpSessionListener 方法。当用户进入系统, 触发 SessionCreated 事件, 计数器加 1; 当用户离开, 触发 SessionDestroyed 事件, 关闭页面, 计数器减 1 实现了简单的不需要操作数据库的在线人数统计。(2) 课程冲突的应对策略由课程、教室的繁多及学生选课的自由性所决定,在管理员安排课程和学生选课过程中不可避免出现课程冲突问题, 即教师在同一时间上两门课程、同一教室、在同一时间有两个教师来上课和同一学生在同一时间选择了两门课程等问题。这就需要在系统中用一些策过许多步骤, 当需要选择多门课程时不得不经过许冗
25、杂而重复的步骤。学生对要选的课程的开课一些基本信息和对自己所得成绩和学分的查询比较模糊、复杂, 课表的表现不够直观等等。教师同样需要复杂的操作才能对所授课程和选课学生进行查询和管理。系统的操作界面不友好、不够人性化。这样的设计显然是不能令人满意的。(3) 系统不稳定网站时常不能访问, 用户无法登陆, 这显然是网站服务器系统的不稳定造成的。作为系统的设计者, 应在发布网站前进行充分的效能测试, 从而最大程度上避免这种情况的出现。(4)系统性能不好由于采取的技术和数据库速度及性能较慢的原因, 从而导致在选课高峰期, 同时有大量的同学选课的时候出现登陆和选课速度很慢或是根本就无法成功登及结构体系。在
26、这种结构下, 用户仅需通过浏览器就可实现客户端的功能, 而大部分的事物逻辑是在服务器端实现。这样就大大降低了客户端的负载, 减轻了系统维护与升级的成本。用一览表的方式说明每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。6.2 补救措施说明故障出现后可能采取的变通措施。包括:(1)后备技术。说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术。(2)降效技术。说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录。(3)恢复及再启动技术。说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。6.3 系统维护设计主要是指系统编码的可维护性, 因为大多系统不可能完全满足所有需求, 所以在以后需要进行修改。所以编码要遵循一个良好的习惯, 包括格式的注释, 对于代码的功能要有明确的解释。采用面向对象的编程方法是一个不错的主意。说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。