一、引言
1.编写目的
此说明书主要作用是根据需求规格说明书将软件需求转化为数据结构和软件的系统结构,并且对结构表示进行细化,得到软件的详细的数据结构和算法。读者对象为开发人员。
2.项目背景
本项目是广州大学信息与机电工程学院计算机科学系为顺德市北滘镇教育办公室开发的“镇教办办公系统”。该系统主要是为了帮助镇教办领导快速、准确的了解全镇有关教育方面的情况和问题。
二、任务概述
1.目标一个基于B/S模式的教育信息管理系统。它包括有教师、学校、经费以及教育文档信息的录入、管理、查询等功能。该系统应实现只需用户进行最简单的设置系统即可运行。
2.运行环境
后台数据库:ACCESS2000
服 务 器:Windows2000 IIS5 + Microsoft .NET Framework
客 户 端:IE5.0以上版本
3.条件与限制
(1)系统为镇教办内部使用,但部分资料需要通过网络从其他学校获得;
(2)镇教办内部采用私有网络地址,通过服务器与外部网络相联。
三、总体设计
1.需求概述系统分为六大部分功能:各学校基本情况的管理与查询;教师档案的管理、查询与统计;教育经费的管理与查询;计划、总结的管理与查询;上级文件及需保留文件的管理与查询;系统维护。
2.系统结构
四、数据库设计
1.数据库的选择一般来说:一个B/S模式的系统,其后台数据库可以选择Oracle、SQL Server以及ACCESS。Oracle一般用于比较大型的系统,如果本系统采用Oracle则大材小用。同时由于该系统要求实现简单化的安装,避免过多的配置,如果采用SQL Server,则需要在服务器上对SQL Server作一定的配置工作,所以ACCESS是最佳的选择。由于我们将使用ASP.net进行系统的开发并通过ADO.net与后台数据库相连,所以安装时,我们只需在装有IIS的服务器上安装Microsoft .NET Framework以及MDAC2.6,然后把所有的程序以及一个空的ACCESS文件拷贝到IIS中指定的主页目录中,整个系统即可运行。其安装是极其简单和方便的,一般用户通过安装说明即可自行安装该系统。此外由于ACCESS数据库只需一个文件,所以可以极其简单的对数据库进行备份和恢复。
2.数据库结构该系统包括有22张表(具体见《需求规格说明书》)以及7张视图,系统的查询主要是对视图进行查询。
五、安全保密设计
在数据库中建立一张表用于存储用户帐号、密码、角色、权限。
1.角色设计初步将系统中的用户角色分成三级:权限 描述 标记(Roles) 一般用户 查询资料 1 数据管理员 查询;数据的录入、修改和删除 2 系统管理员 查询;数据的录入、修改和删除;用户帐号、权限的维护 3
2.权限设置不同用户对不同模块有不同的权限。模块 标记 说明 学校情况 SchoolWrite “1”:在该模块中有数据录入、修改的权限“0”:在该模块中只能查看 教师档案 TeacherWrite “1”:在该模块中有数据录入、修改的权限“0”:在该模块中只能查看 教育经费 OutlayWrite “1”:在该模块中有数据录入、修改的权限“0”:在该模块中只能查看 计划、总结、保留文件 FileWrite “1”:在该模块中有数据录入、修改的权限“0”:在该模块中只能查看
3.用户密码的保护为了保护用户密码的安全性,所以所有用户的密码都不能明文的存储在数据库中,而必须通过MD5算法加密后再存储在数据库中。
4.用户身份验证设计用户进入该系统,首先需要进行身份验证。如果通过了身份验证,则为合法用户,同时其帐号和权限等资料将会保存在Session对象,Session对象储存的信息是局部的,随用户不同而不同的。当用户访问系统的各个子系统时,系统自动从Session对象中获取用户的资料,而无须将用户的资料作为请求方法、参数名、参数值追加到URL中。这样可以避免用户恶意修改URL中的值来非法访问。
Session对象中的变量设置:
Session[“UserID”] 用户帐号
Session[“Roles”] 用户权限
5.网页安全设计
(1)用户登录过程,为了确保安全,不让别人知道验证操作流程,所以采用asp.net组件的方法,将验证部分的代码编译成组件。
(2)为了避免用户绕过身份验证,直接输入URL来进行非法访问,所以考虑在每一页的“Page_Load”事件中加入自动检测Session中的值,以判断用户是否已通过身份验证。
6、注销用户在退出系统时,应同时清除其session.
六、程序描述
(一)学校基本情况的管理与查询模块
1.功能
(1) 原始数据录入(录入学生情况,教师情况,校舍情况);
(2) 查询:根据年份、学期及学校名进行查询;
(3) 统计:统计全镇各中小学情况;
(4) 浏览:浏览所有相关的资料;
2.输入项目
(1) 录入输入学生情况(幼儿园、中小学的各班级数,各班人数,女学生数),输入学校的教师情况(人数,政治面貌人数统计,学历情况),输入学校的校舍情况(占地面积,总建筑面积)
(2) 查询输入学校校名,学校类型,年份,学期
(3) 统计输入年份,学期
(4) 浏览输入学校校名,年份期
3.输出项目
(1) 查询把查询结果显示输出
(2) 统计输出统计结果
(3) 浏览输出查询结果
4.程序逻辑
(1)录入
(2)查询
(二)教师档案的管理与查询模块
1.功能
(1)管理功能对全镇教师的档案资料进行修改、添加、删除等。
(2)查询功能根据给出的学校名关键字进行查询,并且可以对查询结果进行打印。根据教师参加工作时间查询每位教师情况;
(3)统计功能(统计结果将通过图表方式显示。)
①统计教师专业技术级各级人数;
②统计教师文化程度人数;
③统计政治面貌情况;
④统计男女教师人数。
2.输入项目在职学校名称,行政职务,党团职务,专业技术,性别,出生年月,民族,籍贯,文化程度,教龄,其它年限,参加工作年月,政治情况,入党年月,工资级别,固定工资,任教年级,现任科目
3.输出项目
(1)查询:在职学校名称,行政职务,党团职务,专业技术,性别,出生年月,民族,籍贯,文化程度,教龄,其它年限,参加工作年月,政治情况,入党年月,工资级别,固定工资,任教年级,现任科目
(2)统计:专业技术级人数文化程度人数政治面貌情况男女教师人数
4.算法
(1)查询:输入要查询的关键字,通过执行SQL语言的SELECT语句对指定关键字进行查询,然后将结果通过DataGrid组件显示。
(2)添加通过访问Session对象,确认当前用户拥有数据管理的权限;然后显示资料录入表单,并且通过Asp.net的验证控件对录入的数据进行有效性验证(如:通过QequiredFieldValidator确认用户对姓名、学校这些不能为空的字段已输入数据;通过RegularExpressionValidator设置正则表达式验证用户输入的年份和工资数据的有效性),这样就不需要像ASP和其它的一些动态Web技术中,必须动手写一段代码运用大量的IF语句来进行判断。最后通过ADO.net中添加记录的方法或SQL语言的INSERT语句将数据添加到数据库中。
(3)修改通过访问Session对象,确认当前用户拥有数据管理的权限;然后显示资料修改表单,并且通过查询将指定的记录的数据项作为表单的默认项,同时通过Asp.net的验证控件对录入的数据进行有效性验证。最后通过ADO.net中修改记录的方法或SQL语言的UPDATE语句将修改数据。
(4)删除通过访问Session对象,确认当前用户拥有数据管理的权限;然后为了避免用户误删数据,提供一个提示删除操作的确认信息。最后通过ADO.net中删除记录的方法或SQL语言的DELETE语句删除选定的记录。
(5)统计:选择要统计的字段,通过执行SQL语言的SELECT语句,然后将统计结果显示,并用图表的形式反映出来。
5.程序逻辑
(1)查询
(2)统计
(三)教育经费的管理与查询模块
1.功能
①管理功能每年输入当年的经济报告,各类经费预算,对以往的数据不能进行修改。
②查询功能
查询分为经济报告,上级拔款,各类经费;按年度,经费类别查询;
a.经济报告的查询根据给出的年份关键字进行查询,并且可以对查询结果进行打印。
b.年度上级拨款数的查询根据给出的年份关键字进行查询上级拨款数。
c.统计表的查询对各类经费统计表,可根据统计表类别及年份进行查询。
③统计功能自动完成经费统计表中部分数据的统计。
2.输入项目各种经费。
3.输出项目各种经费报表。
4.报表的动态列名为了满足用户提出关于可以由用户自行设置、修改某些经费报表中的列名,现做以下考虑何处理:由于不同报表有不同的列名,数量也不同,难以将报表的列名存放在数据库中,现将这些报表的列名资料存放在一个XML文件中,在需要时再从XML文件中读取,并可通过“系统管理”中设置列名的功能队列名进行设置。
(四)计划、总结的管理与查询模块
1.功能
(1)管理功能
可以将本地的文件(可以是WORD、JPG、BMP、GIF或HTML等文件)上传到服务器上。
(2)查询功能
按年度、学期、部门查询相应的计划,总结。(查看计划、总结文挡的内容)
2.设计在网站的主目录下创建一个目录PROJECTS ,用于保存计划和总结文件。同时用数据库中的project表记录文件的主题、年度、学期、部门、文件名。
3.输入项目主题、年度、学期、部门、文件名
4.输出项目主题及其超级链接。
5.算法
(1)查询首先输入查询的关键字,然后通过SQL语言的SELECT语句按关键字进行查询,然后将查询得到的文件主题及信息、文件名及其超级链接返回给用户,用户再选择自己需要的文件,系统自动连接到服务器,在客户端应用IE打开相应的文档。
(2)上传文件通过访问Session对象,确认当前用户拥有数据管理的权限;用户通过表单输入文件主题及其他一些信息,并选择本地的文件,然后通过Asp.net中的HtmlInput控件和.net平台中的BinaryReader类将二进制文件(如图片、可执行文件)上传到服务器中;同时在数据库中的project表中加入相应的记录。
6.程序逻辑
(1)查询
(五)上级文件及需保留文件的管理与查询模块
1.功能
(1)管理功能可以将本地的文件(可以是WORD文挡、JPG、BMP、GIF或HTML等文件)上传到服务器上。
(2)查询功能根据部门名称,年度,级别查询上级文件。(查看文件文挡的内容)
2.设计在网站的主目录下创建一个目录FILES,用于保存上级和保留文件。同时用数据库中的file表记录文件的主题、年度、学期、部门、文件名。
3.输入项目主题、年度、学期、部门
4.输出项目主题及其超级链接。
5.算法
(1)查询首先输入查询的关键字,然后通过SQL语言的SELECT语句按关键字进行查询,然后将查询得到的文件主题及信息、文件名及其超级链接返回给用户,用户再选择自己需要的文件,系统自动连接到服务器,在客户端应用IE打开相应的文档。
(2)上传文件通过访问Session对象,确认当前用户拥有数据管理的权限;用户通过表单输入文件主题及其他一些信息,并选择本地的文件,然后通过Asp.net中的HtmlInput控件和.net平台中的BinaryReader类将二进制文件(如图片、可执行文件)上传到服务器中;同时在数据库中的file表中加入相应的记录。
6.程序逻辑
(1)查询
(六)系统维护模块
1.功能
(1)学校名称录入用于录入学校的名称、类型,并自动生成唯一的ID号。
(2)帐号和权限管理;创建、管理用户帐号和设置权限,以及修改密码。
(3)报表列名设置用于设置报表中的列名。
2.学校ID号设计在系统中,学校ID号是唯一的,其标识着唯一的学校。ID号为长整型数字类型。 ID将根据学校录入的顺序,自动从1递加上去。
3.输入项目
(1)学校名称录入学校名称、学校类型。
(2)帐号和权限管理;帐号名、密码、确认密码、权限
……