家庭图书管理系统方案设计书(1)

更新时间:2024-06-06 23:36:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本科毕业论文(设计)

题 目家庭图书管理系统设计

学 院 计算机与信息科学学院 专 业 计算机应用 年 级 2010级 学 号 222006321062028 姓 名 文 波 指 导 教 师 曹严元 成 绩

2012年2月22日

目 录

一、系统分析与设计…………………………………………………………………………1 (一)系统需求分析……………………………………………………………………1 (二)数据库需求分析……………………………………………………………………5 (三)学生成绩管理系统的要求…………………………………………………………5 二、学生成绩管理系统功能描述………………………………………………………6 (一)用户管理功能……………………………………………………………………6 (二)教师对成绩的管理功能……………………………………………………………6 (三)按照课程角度进行管理……………………………………………………………6 (四)按照学生角度进行管理……………………………………………………………6 (五)学生对成绩的查看功能……………………………………………………………6 三、数据库设计………………………………………………………………………………7 (一)概念结构设计………………………………………………………………………7 (二)逻辑结构设计………………………………………………………………………8 四、学生成绩管理系统的功能实现…………………………………………………………1

4

(一)“登陆界面”设计………………………………………………………………14 (二)教师管理界面设计………………………………………………………………14 五、数据库的管理……………………………………………………………………………1

5

六、系统的完善与改进意见…………………………………………………………………1

5

参考文献……………………………………………………………………………………16 致谢…………………………………………………………………………………………16 附录…………………………………………………………………………………………17

家庭图书管理系统设计

文波

西南大学计算机与信息科学学院,重庆400715

做的是家庭图书管理,怎么摘要写的是学生成绩管理?文章中全部是学生成绩管理,你到底做的什么系统?弄清楚以后再提交!

摘要:传统手工的学生成绩管理,管理过程繁琐而复杂,执行效率低,并且易于出错。通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了学生成绩管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。

因此,本课题本课题基于Oracle92运用PowerDesigner软件辅助,Visual Basic 6.0为开发工具,对学生成绩管理系统进行开发。

该学生管理系统主要功能为:

1、掌握每个学生每一门课的成绩信息,并记录在数据库中以便其他管理信息系统的使用; 2、分权限的管理。在成绩管理中,教师可以对任何一个学生的成绩进行查询和管理;但是对学生类用户,它只能对自己的成绩进行查看,而且不能对其进行更改。

3、教师类用户可以对成绩按照课程进行管理,可以对每一门课所修的学生进行添加、删除和修改;

4、教师类用户可以对成绩按照学生进行管理,可以对每一门课所修的学生进行添加、删除和修改;

5、可以针对某一门课的学生列表及其成绩生成报表,并打印; 6、可以针对某一个学生所选课程及其对应的成绩生成报表,并打印。

第一章简要介绍了本系统的设计总体线路。第二章概述了本系统的功能,设计原理,介绍了功能模块图设计、数据库设计及编码。第三章总结了本系统开发过程中结论及使用过程中的体会。

关键字:PowerDesigner;Oracle92;Visual Basic 6.0;学生成绩管理系统

以上内容作为第二页,后面还要加上英文摘要作为第三页,然后才是目录! 一、系统分析与设计写成第一章 系统分析与设计 并另起一页 (一)系统需求分析

学生成绩管理系统对学校加强学生成绩管理有着极其重要的作用。由于各个大学

都在持续扩招,学生的数量日益庞大,传统的手工成绩管理不仅工作量大,而且容易出现问题。另外,学生的成绩要用到学校教务管理的各个方面,所以一旦学生成绩管理出现了错误,后果往往是非常严重的。就一所学生数量较大的学校来说,它的设计内容非常复杂而且繁多,比如拥有成绩录入管理、教师权限管理、学生成绩的查询和修改等等,而且设计的模块也很多,比如信息统计模块,报表设计模块,打印输出模块,模糊查询模块等等。

由于本软件主要是为我系定制开发的,因此针对我系学生成绩管理的实际工作而言,我们经过了反复地论证,最终确定了学生成绩管理系统的设计方案。该学生成绩管理系统的主要功能为:

1、掌握每个学生每一门课的成绩信息,并记录在数据库中以便其他管理信息系统的使用;

2、分权限的管理。在成绩管理中,教师可以对任何一个学生的成绩进行查询和管理;但是对学生类用户,它只能对自己的成绩进行查看,而且不能对其进行更改。

3、教师类用户可以对成绩按照课程进行管理,可以对每一门课所修的学生进行添加、删除和修改;

4、教师类用户可以对成绩按照学生进行管理,可以对每一门课所修的学生进行添加、删除和修改;

5、可以针对某一门课的学生列表及其成绩生成报表,并打印; 6、可以针对某一个学生所选课程及其对应的成绩生成报表,并打印。 数据流图

学生 学生信息 本次考试成绩 教师 课程信息 学生名单 学生管理系统 成绩単 系统管理统计表 学生

图1.1 顶层DFD图

图1.2 第一层DFD图

图1.3 第二层DFD图

图1.4 数据流程图

图1.5 系统功能模块图

按课程角度进行增删改 按学生角度进行增删改 打 印 报 表 查询自己的考试成绩 打 印 报 表 教师用户 学生用户 学生成绩管理系统

(二)数据库需求分析

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完善和一致。同时,合理的数据库结构也将有利于程序的实现。

用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,可以为后面的具体设计和开发打下坚实的基础。

仔细分析调查有关学生成绩管理信息需求的基础上,将得到本系统所处理的数据流程。

针对一般学生成绩管理信息系统的需求,通过对成绩管理过程的内容和数据流程分析,可以设计出该系统的数据项和数据结构:

1、“学生信息”的数据项有:学号、姓名、班级、生日、性别、地址、电话和简历等;

2、“课程信息”的数据项有:课程编号、课程名称、学时和课程类型等 3、“学生成绩信息”的数据项有:学号、姓名、班级、选修课程、考试成绩等。

表1.1学生成绩管理系统功能需求分析

功能模块 用户管理 功能 教师对成绩管理功能 学生信息 查询功能

学生信息查询 学生成绩查询 打印

普通用户

功能列表

教师用户的增加、删除和修改成绩

系统管理员

学生用户的查询成绩 课程角度进行管理 学生角度进行管理

系统管理员 访问权限

(三)学生成绩管理系统的要求

目标系统应该达到以下要求:

1、时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。 2、可靠性。能连续准确的处理业务,有较强的容错能力。

3、可理解性。用户容易理解和使用该系统。

4、可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。

5、可用性。目标系统功能齐全,能够完全满足业务需求。

6、安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。 二、学生成绩管理系统功能描述 (一)用户管理功能

用户分为教师用户和学生用户两类。不论是教师用户,还是学生用户都需要通过用户名和口令进行登录。教师用户可以对所有的学生成绩进行增加、删除和修改。学生用户只能看到自己的学习成绩,并且不能修改。由于教师用户和学生用户较为固定,所以对教师自身信息和学生自身信息的管理可以由系统管理人员直接操作数据库完成。

(二)教师对成绩的管理功能

教师对成绩的管理可以从两个角度管理:按照课程角度进行管理和按照学生角度进行管理。教师登陆该系统以后,可以对这两种方式进行选择。 (三)按照课程角度进行管理

按课程角度管理教师可以看到课程信息和成绩信息。课程信息包括课程编号、课程名称、学时和课程类型。当教师用鼠标双击某一课程时,可以自动显示出该课程的所有学生的成绩信息,成绩信息包括选修这门课的学生的学号、姓名、班级和考试成绩。并同时自动计算出所有学生的人数,以及所有学生的平均成绩。在成绩信息中,教师可以对学习成绩进行增加、修改和删除。并能够打印报表。 (四)按照学生角度进行管理

按学生角度管理教师可以看到学生信息和成绩信息。学生信息包括学号、姓名、班级、生日、性别、地址、电话和简历。当教师用鼠标双击某一学生信息时,可以自动显示出该课程的这个学生所有课程的学习成绩,并同时自动计算出这个学生的总分和平均分。在成绩信息中,教师可以对学习成绩进行增加、修改和删除。并能够打印报表。

(五)学生对成绩的查看功能

学生用户登录后,学生可以看到自己的学生信息和成绩信息。学生信息包括:学

号、姓名、班级、生日、性别、地址、电话和简历。成绩信息包括这个学生的所有课程的成绩信息、总分及平均分。学生可以打印成绩报表。 三、数据库设计 (一)概念结构设计

(1)整体E-R图:

编号 学号 拥有 名称 1n姓名 课程实体 学时 1选修类型 n学生成绩信息实体 课程 1成绩 拥有 1学生实体 学号 简历 姓名 …… 班级 图3.1 系统E-R图

(2)学生实体E-R图:

学生实体 学号 姓名 性别 班级 生日 地址 简历 电话 图3.2 学生实体E-R图

(3)课程实体E-R图

课程实体 编号 名称 … … … 类型 学时

图3.3 课程实体E-R图

(4)学生成绩信息实体E-R图

学生成绩信息实体 学号 姓名 课程 成绩

图3.4 学生成绩信息实体E-R图

(二)逻辑结构设计

(1)成绩管理系统数据库表设计 1)student:学生信息表

字段名称 Sno Sname Class Birthday Sex Address Tel Resume

内容 学号 姓名 所属班级 生日 性别 家庭住址 电话 简历

类型 文本 文本 文本 日期时间 文本 文本 文本 备注

长度 7 10 5 2 30 15 500

约束 主码 NOT NULL NOT NULL NOT NULL NOT NULL

备注 主关键字

2)course:课程信息表

字段名称 Cno Cname Period typeid

内容 课程编号 课程名称 学时数 课程类型

类型 文本 文本 数字 文本

长度 50 50 长整型 50

约束 主码 NOT NULL NOT NULL

备注 主关键字

3)score:学习成绩信息表

字段名称

id Sno

内容 ID 号 学号

类型 自动编号 文本

长度 长整型

主码 约束

备注

为主键之一,对应于student表的Sno字段

Cno

课程编号

文本

主码

为主键之一,对应于Course表的Cno字段

Score

分数

数字

整型

NOT NULL

(2)下面是由PowerDesigner根据E-R图设计出的表:

(3)转换为物理模型

建立数据源如下图:

然后在PowerDesigner中连接到数据源,如下图:

自动生成数据库中的表:

在数据库中形成的表如下:

四、学生成绩管理系统的功能实现

下面给出系统开发出来的详细界面以阐述学生成绩管理系统的具体功能。下面是部分截图。首先是进入登陆界面,如图4.1所示 (一)“登陆界面”设计

图4.1 登陆界面

(二)教师管理界面设计

本节以按学生角度进行管理为例,介绍教师管理的编码设计。教师用户进入“成绩管

理”中的“按学生进行管理”功能,出现如图4.2所示界面。

图4.2“按学生进行管理”学生信息功能界面

教师用户用鼠标双击学生信息后,系统会显示出该学生的成绩信息。如图4.3所示。

图4.3“按学生进行管理”成绩信息功能界面

五、数据库的管理

数据库的安全性

a) 身份认证功能(Authentication):识别访问个体的身份 b) 数据完整性(Integrity):保证数据不被篡改。

c) 授权能力(Authorization):保证被授权用户对数据的查询和修改能力。

通过用户权限控制(Privilage)

Oracle通过角色(Role),权限(Privilage)等的一系列授予(Grant)和回收(Revoke)操作可以有效的进行用户的权限控制。 通过权限控制我们可以实现:

某个特定用户只能读取而不能修改另一个用户的表数据。

某个特定用户只能运行Oracle数据库系统的几个存储过程或者函数。

某个特定用户自己能够拥有修改某些数据的权力,但是却无法给其它不拥有这个权限的用户授予修改该数据的权力。

某个特定用户可以读取数据但是无法创建新的表空间。 六、系统的完善与改进意见

在反反复复的学习及虚心请教之下,我们的辛勤努力有了回报,终于做出了一个简单的软件,由于我们的知识浅薄,经验不足及阅历颇浅,因此,在这个系统的设计方面还有很多不足,比如功能过少,界面不够醒目等问题,我们会在以后的学习生活中,根据工作的具体要求不断修改,完善,争取使该系统慢慢趋向完美

参考文献

[1]孙凤栋等著. Oracle数据库基础教程. 电子工业出版社. 2010-5.

[2]汤涌涛著. Visual Basic 2008 从入门到精通. 清华大学出版社. 2008-11-26

致谢

本论文是在曹严元老师的悉心指导和热情关怀下完成的。曹严元老师渊博的学识、严峻的治学态度及随和的为人之道给我们留下了难以磨灭的印象,这将使我终身受益。在本系统的设计过程、软件的编写过程和论文编写过程中我终于认清自己的不足及劣势,不要贪图大而全,只要尽我所能,编制一个实用简单的软件也不是件很难的事情。

为此,我要对她致以最衷心的感谢。

附录

部分源代0码 建立信息表的源代码;

/*==============================================================*/ /* DBMS name: Sybase SQL Anywhere 11 */ /* Created on: 2011-6-22 13:49:36 */

/*==============================================================*/

if exists(select 1 from sys.sysforeignkey where role='FK_SCORE_RELATIONS_STUDENT') then

alter table Score

delete foreign key FK_SCORE_RELATIONS_STUDENT end if。

if exists(select 1 from sys.sysforeignkey where role='FK_SCORE_RELATIONS_COURSE') then

alter table Score

delete foreign key FK_SCORE_RELATIONS_COURSE end if。 if

exists(select

1

from

sys.sysforeignkey

where

role='FK_STUDENT_RELATIONS_COURSE') then alter table Student

delete foreign key FK_STUDENT_RELATIONS_COURSE end if。 if exists(

select 1 from sys.systable where table_name='Course'

and table_type in ('BASE', 'GBL TEMP')

) then

drop table Course end if。 if exists(

select 1 from sys.systable where table_name='Score'

and table_type in ('BASE', 'GBL TEMP') ) then

drop table Score end if。 if exists(

select 1 from sys.systable where table_name='Student'

and table_type in ('BASE', 'GBL TEMP') ) then

drop table Student end if。

/*==============================================================*/ /*Table: Course */

/*==============================================================*/ create table Course (

Cno char(15) not null, Cname char(15) not null, Period integer null, Typeid char(15) not null, constraint PK_COURSE primary key (Cno)

)。

/*==============================================================*/ /* Table: Score */

/*==============================================================*/ create table Score (

Sno char(15) not null, Cno char(15) not null, ID integer null, Score integer not null )。

/*==============================================================*/ /* Table: Student */

/*==============================================================*/ create table Student (

Sno char(15) not null, Cno char(15) not null, Sname char(20) not null, Class char(10) not null, Birthday date not null, Sex char(2) not null, Address char(30) null, Tel char(15) null, Resume char(256) null, constraint PK_STUDENT primary key (Sno) )。

alter table Score

add constraint FK_SCORE_RELATIONS_STUDENT foreign key (Sno) references Student (Sno) on update restrict on delete restrict。

alter table Score

add constraint FK_SCORE_RELATIONS_COURSE foreign key (Cno) references Course (Cno) on update restrict on delete restrict。

alter table Student

add constraint FK_STUDENT_RELATIONS_COURSE foreign key (Cno) references Course (Cno) on update restrict on delete restrict。

登陆界面代码

Option Explicit

Private Sub cboUserType_Change() gnUserType = cboUserType.ListIndex End Sub

Private Sub cboUserType_Click() gnUserType = cboUserType.ListIndex End Sub

Private Sub cmdCancel_Click() Unload Me End Sub

Private Sub cmdOK_Click() ''取得用户输入的用户名和密码 Dim user As String, pwd As String user = txtUser pwd = txtPwd

''根据不同的身份,选择不同的表用以查询 Dim r As New ADODB.Recordset Dim strORA As String Select Case gnUserType Case 0: '选择身份为教师

strORA = \ Case 1: '选择身份为课程

strORA = \ End Select

'打开记录集 r

r.Open strORA, DataEnv.Con.ConnectionString, adOpenStatic

''用户密码错误的次数,如果错误次数超过3次,则退出系统 Static nTryCount As Integer

If r.EOF Then ''登录失败

MsgBox \对不起,无此用户或者密码不正确!请重新输入!!\错误\ txtUser.SetFocus txtUser.SelStart = 0

txtUser.SelLength = Len(txtUser) nTryCount = nTryCount + 1 If nTryCount >= 3 Then

MsgBox \您无权操作本系统!再见!\无权限\ Unload Me End If

Else ''登陆成功

''显示MDI窗体, 并将用户类型和用户名传到MDI窗体中

gnUserType = cboUserType.ListIndex gsUserName = txtPwd

''注意调用顺序 Unload Me MDIMain.Show End If End Sub

Private Sub Form_Load() cboUserType.ListIndex = 0 End Sub

本文来源:https://www.bwwdw.com/article/buf6.html

Top