《软件工程》课程设计说明书
学生成绩管理系统
系 部: 计算机与信息科学系
学生姓名:
专 业:
班 级:
完成时间: 2011 年 12 月 16 日
第 1 页 共 16 页
目录
第一章 引言..................................................................................................................3
1.1 背景..................................................................................................................3
1.2 目标..................................................................................................................3
1.3 开发环境..........................................................................................................3
第二章 需求分析..........................................................................................................4
2.1 系统需求..........................................................................................................4
2.2 功能需求..........................................................................................................4
2.3 业务流程图......................................................................................................4
第三章 总体设计..........................................................................................................5
3.1 基本概念设计和处理流程..............................................................................5
3.2 系统数据流程图..............................................................................................5
3.3 系统层次模块图..............................................................................................6
3.4 模块设计..........................................................................................................6
第四章 数据库设计......................................................................................................7
4.1 数据库的逻辑设计..........................................................................................7
4.2 数据库的配置..................................................................................................8
第五章 详细设计..........................................................................................................9
5.1 用户登录模块的设计与实现..........................................................................9
5.2 主页面模块的设计与实现............................................................................10
5.3 恢复模块的设计与实现................................................................................12
第六章 系统的维护和改进........................................................................................15
6.1 运行维护........................................................................................................15
6.2 系统的改进与提高........................................................................................15
附录..............................................................................................................................16
第 2 页 共 16 页
1.1 背景
第一章 引言
本系统为“学习成绩管理系统”,本系统采用 apache2.2+php5+oracle10g
的开发环境。PHP,是英文超级文本预处理语言 Hypertext Preprocessor 的缩写。
PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入 HTML 文档的脚
本语言,语言的风格有类似于 C 语言,被广泛的运用。而 oracle 是目前最流行
的关系型数据库管理系统,被越来越多的用户在信息系统管理、企业数据处理、
internet、电子商务网站等领域作为应用数据的后台处理系统,其中 oracle10g
较之前的版本有了较大的飞跃,管理上有了极大的简化。所以本系统集两者之优
点,相辅相成,最终构成具有登陆、查询、插入、删除等功能的成绩查询系统。
1.2 目标
“学习成绩管理系统”旨在为本班同学提供一个在线的基于网页的查询以及
管理成绩的平台。利用 PHP 语言开放网页,利用 oracle 完成后台数据库,并利
用 OCI 端口访问数据库,包含学生信息的查询界面,学生信息的录入、修改、删
除界面,学生成绩课程的录入界面。
1.3 开发环境
操作系统 windows xp sp3
数据库系统 oracle 10g
编译软件 EclipsePHP Studio v1.2.2
第 3 页 共 16 页
2.1 系统需求
第二章 需求分析
随着计算机与网络的不断普及,越来越多的人开始步入了计算机网络时代。
在当代社会中,无时无刻都存在的计算机网络的影子,从学习到工作,从娱乐到
休闲,都或多或少的使用到了计算机网络。计算机网络不仅可以提高工作的效率,
减少出错的可能,也能大大的解放劳动力,来从事更多的事情。学生成绩管理系
统为同学们查询自己的成绩提供了极大的便利。本系统主要由 PHP 语言为实现语
言,其功能在系统内部由源代码直接完成,这也正是 PHP 的优点以及特点所在。
使用人员只需要轻轻的点击鼠标或者输入数据,便可达到自己的目标。
2.2 功能需求
学生成绩管理系统主要提供高效的管理功能以及网上的信息查阅平台,学生
可以通过该系统查阅相关信息,管理员可以管理所有的信息。对于本系统,我们
需要实现以下基本功能:
1 学生查询功能:为了方便学生查找成绩等信息,将所有信息按照需要进行
分类。这样学生就能很方便的找到自己需要的信息。
2 添加功能:管理员可以通过填写表格的形式输入学生成绩等相关信息。系
统可以自动避免重复信息。
3 修改功能:管理员可以对数据库中的信息进行修改。系统能够通过管理员
给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否
是重复信息。
4 删除功能:管理员可以对数据进行删除操作。系统能够通过管理员给出的
条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息
从数据库中删除掉。
5 管理员查询功能:管理员可以通过条件选择查询所有信息,并进行排序。
2.3 业务流程图
输入数据或进行操作
系 统 对 信 息
进 行 处 理
用 户 获 得 信 息
第 4 页 共 16 页
3.1 基本概念设计和处理流程
第三章 总体设计
互联网技术飞速发展,PHP 技术高效、灵活、易用,Dreamweaver、Eclipse
等设计工具的方便实用,以及 oracle10g 数据库的优点给本系统的设计和实现提
供了技术上的支持。本系统有着如下的优点:
(1) 结合 PHP 的灵活性以及 oracle10g 的易操作性。在开发工程中,一边书写
PHP 实现语言,一边完成了系统的界面设计,而且将逻辑和界面很好的统
一了起来,使得用户操作更加得心应手。而数据库操作更加具有安全和稳
定的保证,可以处理大量的数据。
(2) 平台支持。不同于以往的 C/S 开发模式,本系统基于网络,即 B/S 开发模
式,用户只需一台拥有符合 HTML 标准浏览器的计算机,便可以使用本系
统,方便、快捷,有良好的跨平台性。
3.2 系统数据流程图
(1)顶层图
管 理 员
信 息
信 息 处 理
处 理 过 的
信 息
信 息
管 理 员 或 学
生
信
息
学 生 成 绩 信 息
信 息
(2)1 层图
管 理 员
信 息
接 收 信 息
信 息
处 理 信 息
信
息
学 生 成 绩 信 息
信
息
学 生 或 管 理 员
信 息
显 示 输 出
信 息
接 收 处 理 后 的
信 息
第 5 页 共 16 页
3.3 系统层次模块图
学 生 成 绩 管 理
系 统
学 生
后 台
显 示
查 询
添 加
修 改
删 除
恢 复
浏 览
“学生成绩管理系统”系统主模块功能图
3.4 模块设计
1. 用户登录模块:填写已分配的用户名称,填写正确的密码,进入主控制页面。
2. 显示模块:显示要求的内容。
3. 查询模块:提供多种查询条件,可按需要进行查询。
4. 添加模块:向数据库中添加记录。
5. 修改模块:可以找到指定信息并对其进行修改。
6. 删除模块:找到要删除的记录,并将其删除。
7. 恢复模块:对删除的记录进行恢复或者是彻底删除。
8. 浏览模块:管理员浏览所有学生的成绩以及信息。
第 6 页 共 16 页
4.1 数据库的逻辑设计
第四章 数据库设计
如前文所述,本系统采用的是 oracle10g 数据库,并采用 OCI 端口进行数据
库的连接。OCI,即 Oracle Call Interface,为 oracle 调用接口,它提供了一
组可对 oracle 数据库进行存取的接口子例程(函数),通过在第三代程序设计语
言(如 C 语言)中进行调用可达到存取 oracle 数据库的目的。下面用图表来表示
说明
主键
男或女
说明
主键
说明
外键
外键
列名含义
学号
姓名
性别
密码
班级
系别
列名含义
课程号
课程名
列名含义
学号
课程号
成绩
数据字典。
列名
Sno
数据类型 长度 是否允许为空值 默认值
学生表字典
varchar
Sname
nvarchar2
Ssex
nvarchar2
Spw
varchar
Sclass
varchar
Sdept
varchar
20
10
2
10
10
20
×
×
×
×
√
√
null
null
null
null
null
null
数据类型
长度 是否允许为空值 默认值
课程表字典
varchar
Cname
nvarchar2
10
10
×
√
null
null
列名
Cno
列名
Sno
Cno
varchar
varchar
Mark
nvarchar2
数据类型
长度 是否允许为空值 默认值
成绩表字典
20
10
10
×
×
√
null
null
null
第 7 页 共 16 页
4.2 数据库的配置
(1) 安装 oracle 客户端。
在网上搜索并下载 instantclient_11_2,下载成功后,把得到的压缩包文件
解压到某目录下,如“d:\instantclient_11_2”,并在系统环境变量中添加该路
径,将目录下的 oci.dll,ocijdbc10.dll 和 ociw32.dll 三个 dll 文件复制到
oracle10g 安装目录下的 bin 文件夹内。
(2) 打开 php 安装目录下的 php.ini 文件,进行编辑。
找到以下三个 dll 文件:
;extension=php_oci8.dll
;extension=php_pdo_oci.dll;
;extension=php_pdo_oci8.dll
并 去 掉 其 前 面 的 “ ; ”, 重 启 apache, 将 上 述 三 个 dll 文 件 复 制 到
c:\windows\system32 中。
(3) 利用 OCI 端口访问 oracle10g。
OCI,即 Oracle Call Interface,为 oracle 调用接口,它提供了一组可对
oracle 数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如 C
语言)中进行调用可达到存取 oracle 数据库的目的。下面给出在 php 中利用 OCI
端口登录 oracle 的核心代码:
第 8 页 共 16 页