myBuilder.docx

上传人:b****4 文档编号:4009001 上传时间:2023-05-06 格式:DOCX 页数:24 大小:93.57KB
下载 相关 举报
myBuilder.docx_第1页
第1页 / 共24页
myBuilder.docx_第2页
第2页 / 共24页
myBuilder.docx_第3页
第3页 / 共24页
myBuilder.docx_第4页
第4页 / 共24页
myBuilder.docx_第5页
第5页 / 共24页
myBuilder.docx_第6页
第6页 / 共24页
myBuilder.docx_第7页
第7页 / 共24页
myBuilder.docx_第8页
第8页 / 共24页
myBuilder.docx_第9页
第9页 / 共24页
myBuilder.docx_第10页
第10页 / 共24页
myBuilder.docx_第11页
第11页 / 共24页
myBuilder.docx_第12页
第12页 / 共24页
myBuilder.docx_第13页
第13页 / 共24页
myBuilder.docx_第14页
第14页 / 共24页
myBuilder.docx_第15页
第15页 / 共24页
myBuilder.docx_第16页
第16页 / 共24页
myBuilder.docx_第17页
第17页 / 共24页
myBuilder.docx_第18页
第18页 / 共24页
myBuilder.docx_第19页
第19页 / 共24页
myBuilder.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

myBuilder.docx

《myBuilder.docx》由会员分享,可在线阅读,更多相关《myBuilder.docx(24页珍藏版)》请在冰点文库上搜索。

myBuilder.docx

myBuilder

摘要

随着现代科学的发展,计算机的应用几乎进入了生活中的每一个领域。

计算机技术在信息管理上也得到了越来越深入而广泛的应用,信息管理系统的实施在技术上已逐步成熟。

学生信息管理系统是学校等教育单位不可缺少的部分,利用计算机对学生信息进行管理,具有传统手工管理无法比拟的优点.例如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。

本系统以powerbuilder作为开发工具,实现学生信息的管理。

本系统界面友好,操作方便,支持大量数据,维护方便。

 

–––––––––––––––––前言–––––––––––––––––

随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。

面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。

通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。

本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,针对这些要求设计了学生信息管理系统。

 

目录

一.系统概述………………………………………………………………………

1.1系统需求………………………………………………………………………

1.2可行性分析……………………………………………………………………

1.3系统功能模型…………………………………………………………………

1.4系统分析…………………………………………………………………….

二.系统开发环境……………………………………………………………………

2.1什么是PowerBuilder…………………………………………………………

2.2PowerBuilder的特点…………………………………………………………

2.3PowerBuilder与数据库的连接……………………………………………

三.数据库设计……………………………………………………………………

3.1登陆用户表…………………………………………………………………

3.2学生信息成绩表……………………………………………………………

四.模块详细设计和实现…………………………………………………………

4.1登陆…………………………………………………………………………

4.2用户管理…………………………………………………………………….

4.2班级管理……………………………………………………………………

4.3学生信息管理………………………………………………………………

4.4课程管理……………………………………………………………………

4.5学生成绩管理………………………………………………………………

五.系统测试………………………………………………………………………

5.1系统测试的分类………………………………………………………

5.2系统测试工作的特点………………………………………………

六.致谢………………………………………………………………

七.结束语…………………………………………………………………………….

参考文献…………………………………………………………………

  

 

第一章系统概述

1.1需求分析

(1)只有教师才能使用本系统,教师权限不受限制;

(2)需对系、班级、课程、教师信息维护;

(系统初始化时在教师表中存放一条super记录保证初始时能够进入本系统)

(3)学生信息维护;

(4)学生课程成绩的录入和统计;

(成绩录入以学生为单位,可以录入所有课程成绩)

1.2可行性分析

学生信息,作为一个学校,就有一定的工作量存在,而学生信息,它的工作量可能是其它信息工作量的几倍,班级的增加、班级的查找、班级的修改;学生档案;课程管理;成绩管理;缴费管理;统计等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,那么,一天的工作量,足以让人觉得比较繁琐,吃不消。

针对这样的情况,采用让数据的查询变得简单化,数据变的更让每个人都在任何时刻都可以了解到。

学生信息管理系统是为本校开发的,本系统所采用的是powerbuilder。

该系统总体有四部分组成,包括学生信息查询、教务信息维护、学生选课及用户管理。

通过本系统,把本校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。

通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。

本系统主要信息流程为:

教务信息维护接受学生的信息,学生信息查询根据教务信息维护的学生信息做出对所接收的信息合理性进行判断,并交于信息维护进行相应的修改,再把信息存入数据库中。

学生选课是对学生进行相应选择自己相关的课程。

最后进行打印。

采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。

由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。

1.3系统功能模型

本系统主要可以实现以下的管理功能:

系统管理、班级管理、学生信息管理、课程管理、学生成绩管理等等。

1.3.1系统管理模块

该模块的主要任务是维护系统的正常运行和安全性设置,包括添加用户、修改密码、添加用户等等。

1.3.2班级管理模块

该模块的功能是实现对全校班级的管理工作,包括:

班级游览、班级添加、班级查询等,这三个功能模块各自独立,完成学校的全部班级的管理。

1.3.3学生信息管理模块

该模块的主要功能是实现对学生的个人信息的管理工作,包括档案添加、档案浏览、档案查询等功能,从而方便学校管理部门对学校的基本情况的快速查询和了解。

1.3.4课程管理模块

该模块对各个班级的课程进行设置,并可在其中设置各门课程的教材选用情况,方便了学校教材管理部门和教务处的教学管理人员的工作。

该模块包括基本课程设计和班级课程设置两个模块。

1.3.5学生成绩管理模块

学校的成绩管理工作是检验学生学习情况的一个主要手段,本模块包括考试类型设置,共有期中考试和期末考试两种类型,还设置了成绩添加、成绩游览、成绩查询等功能模块。

1.4系统分析

学生信息管理系统

1.4.1功能层次图

 

成绩管理

退出

系统管理

班级管理

学生信息管理

课程管理

 

基本课程管理工作

考试类型设置

记录添加

班级浏览

添加用户

修改密码

添加班级

记录浏a览

成绩添加

班级课程设置

记录查询

成绩浏览

班级查询

 

1.4.2流程图

班级设置

 

1.4.3业务流程分析

班级管理业务流程图:

输出

 

学生管理业务流程图:

输出

 

课程管理业务流程图:

输出

课程

 

成绩管理业务流程图:

输出

 

输出

 

1.4.4数据流程分析:

以下是数据流程图

由于本系统的数据模块较多,下面仅以学生成绩管理模块为例来进行编制。

统计分析

 

学生成绩管理系统0层数据流程图

 

管理者

学生

课程

 

成绩

 

学生成绩管理系统1层数据流程图

 

1.4.5数据存储分析:

实体联系

生日

第二章系统开发环境

PowerBuilder是一个图形化的应用程序开发环境。

使用PowerBuilder可以很容易地开发和数据库打交道的商业化应用软件。

PowerBuilder开发的应用软件由窗口构成,窗口中不仅可以包含按钮、下拉列表框及单选按钮等标准的Windows控件,还可以有PowerBuilder提供的特殊的控件。

这些特殊控件可以使应用软件更容易使用,使应用软件的开发效率更高。

例如,数据窗口就是PowerBuilder提供的一个集成度很高的控件,使用该控件可以很方便地从数据库中提取数据。

  商业化的软件开发要求有很好的移植性。

PowerBuilder既可以跨平台开发,也可以发行跨平台软件。

例如,在Windows95下开发的程序,可以不修改源程序而形成UNIX下的执行文件或Macintosh下的执行文件。

在开发小组中,不同成员可以使用不同的开发环境,但由于PowerBuilder的支持,在不同的开发环境下看到的共享PowerBuilder对象是相同的,所以仍可以同时开发同一个应用程序。

  随着Internet的普及,开发Internet应用的需求激增。

PowerBuilder8.0及时地强化了Web开发功能,并提供了一些配套的开发工具,使PowerBuilder程序员不用再学习其他的开发工具就能开发基于Web的应用。

现在Sybase公司已经推出了PowerBuilder10.0,其功能更加强大,在这之前Sybase公司还推出了PowerBuilder9.0,二者的区别不是太大,不过我个人认为,PowerBuilder10.0如果能有PowerBuilder9.0的SQLServer数据库的专用接口的话,那么PowerBuilder10.0将全面超越PowerBuilder9.0成为我们数据库专业的得力开发工具。

(我是学软件开发的,主要方向是数据库,PowerBuilder是我们的主要开发工具)

  2.1什么是PowerBuilder

  我们知道,数据库应用是当前计算机应用的一个非常重要的方面,而在目前的数据库应用技术中普遍采用的就是客户机/服务器体系结构,在这种体系结构中,所有的数据和数据库管理系统都在服务器上,客户机通过采用标准的SQL语句等方式来访问服务器上数据库中的数据。

由于这种体系结构把数据和对数据的管理都统一放在了服务器上。

就保证了数据的安全性和完整性,同时也可以充分利用服务器高性能的特点。

正因为客户机/服务器体系结构的这些优点,因而得到了非常广泛的应用。

  PowerBuilder是著名的数据库应用开发工具生产厂商PowerSoft公司推出的产品(PowerSoft现已被数据库厂商Sybase所收购),它完全按照客户机/服务器体系结构研制设计,在客户机/服务器结构中,它使用在客户机中,作为数据库应用程序的开发工具而存在。

由于PowerBuilder采用了面向对象和可视化技术,提供可视化的应用开发环境,使得我们利用PowerBuilder,可以方便快捷地开发出利用后台服务器中的数据和数据库管理系统的数据库应用程序。

在当前,网络技术迅速发展,随之发展的还有OLE,OCX,跨平台等技术,而在PowerBuilder的最新版PowerBuilder6.0中提供了对这些技术的全面支持。

总之在数据库开发工具领域,PowerBuilder是其中非常优秀的一个,利用它我们可以开发出功能强大的数据库应用程序。

 2.2PowerBuilder的特点

  PowerBuilder提供了对目前流行的大多数关系数据库管理系统的支持,由于在PowerBuilder的应用程序中对数据库访问的部分一般采用国际化标准数据库查询语言SQL,使得用PowerBuilder开发的应用程序可以不做修改或者只做少量的修改就可以在不同的后台数据库管理系统上使用。

也就是说用PowerBuilder开发的应用程序是独立于服务器上的数据库管理系统的。

  和大多数的WINDOWS应用程序一样,PowerBuilder也是事件驱动工作方式。

在这种工作方式中,程序的运行没有固定的流程,程序中的代码也是为各种可能发生的事件编写的,当程序开始运行之后,它就可以接受来自系统,用户或者其它应用程序触发的事件,然后执行相应的事件代码。

事件驱动的工作方式与面向对象技术是紧密相关的,在PowerBuilder应用程序中,接受发生的事件的往往就是程序界面中的各种可视化对象。

  PowerBuilder是一种面向对象的开发工具,各种WINDOWS应用程序中常见的窗口、菜单、控件等在PowerBuilder中都是一个个的对象。

在PowerBuilder中我们还可以创建自己的用户对象。

特别要指出的是PowerBuilder提供了对面向对象方法中的各种技术的全面支持,我们可以利用面向对象方法中的对象的封装性、继承性、多态性等特点使得我们开发的应用程序具有极大的可重用性和可扩展性,而这一点正是软件工程中对应用程序所提出的重要目标。

  在当前,由于网络技术的发展,许多种不同的操作系统平台在INTERNET网上同时被使用,这对开发的应用程序的跨平台性提出了更高的要求,而PowerBuilder就提供了良好的跨平台性,比如在PowerBuilder中,利用WINDOWS平台开发的各种对象可以方便地应用到UNIX平台中,因为PowerBuilder支持对象的跨平台性。

这样使得把应用程序从一个平台移到另一个平台变得并不复杂。

  为了给用户提供各个方面的支持,PowerBuilder具有自己的编程语言POWERSCRIPT,这个语言除了提供基本的流程控制语句,还提供了几百个函数来操纵各种对象和提供诸如DDE,OLE等方面的支持。

此外我们还可以定义自己的函数,处理特定的事件。

学习PowerBuilder时相当一部分的时间就是用来了解和熟悉PowerBuilder提供的各种函数。

  PowerBuilder一个很大的特点就是提出了数据窗口对象的概念。

数据窗口对象也是PowerBuilder中的一种对象类型,与其它对象不同的是数据窗口对象是专门为了访问后台的数据库服务的,在数据窗口对象中我们定义了数据的来源和数据的显示风格,这样在应用程序中我们就可以把精力完全放在程序的运行流程控制上,而不用关心具体数据的来源,因为我们在数据窗口对象中已经定义好了数据的来源。

如果需要使用数据库中不同的数据也只要对数据窗口对象进行修改就可以了。

特别要指出的是PowerBuilder在数据窗口对象中提供了丰富的数据显示方式,可以满足各种不同的需要。

  在PowerBuilder较新的版本中提供了基础类库PFC,它为应用程序的开发提供了许多可重用的预定义类和对象,利用基本类库PFC可以快速开发出高质量重用性好的应用程序。

真正发挥面向对象编程的巨大威力。

最后要指出的是PowerBuilder有三个不同的版本,分别为DESKTOP型,PROFESSIONAL型,和ENTERPRISE型,DESKTOP型是为个人使用的桌面型应用程序,在这里可以利用PowerBuilder内置的数据库管理系统SYBASESQLANYWHERE来创建和使用本地数据库,为个人的应用服务;PROFESSIONAL型的PowerBuilder最重要的一点就是提供了对MICROSOFTODBC(数据库标准连接接口)的支持,在PROFESSIONAL版本中我们就可以使用PowerBuilder的继承,多态等绝大多数特性;在ENTERPRISE版本中最重要的一点就是提供了对开发大型的数据库应用程序的全面的支持,提供了开发大型应用程序的许多辅助的工具,比如C++CLASSBUILDER等。

 2.3PowerBuilder与数据库的连接

  数据库前端开发工具与后台数据库管理系统的连接方式是一个很重要的课题。

PowerBuilder提供了两种访问后台数据库的方式,一种是通过ODBC标准接口的方式,第二种是通过专用的接口与后台的数据库相连。

  ODBC的中文名字是开放式数据库连接,它是微软公司提出的数据库连接标准,使用ODBC方式连接数据库的第一步是创建数据源,比如我们可以利用WINDOWS下控制面板中的“32BITODBC”选项来创建驱动某种数据库的数据源,创建好数据源之后,我们就可以在本地计算机中利用定义好的数据源存取后台数据库中的数据了。

我们还可以通过专用接口同后台的数据库相连,由于专用接口是针对特定的后台数据库管理系统而设计,因此这种方式存取数据的速度要比采用ODBC方式存取数据的速度要快一些,如果我们的应用程序只是针对特定类型的后台数据库,当然是采用专用接口访问后台数据更快一些。

 

第三章数据库设计

系统的数据库设计,图如下:

3.1登陆用户表

列名

列标识

数据类型

宽度

空值

主键

教师编码

Tid

Integer

N

Y

姓名

tName

char

8

Y

N

所属系代码

Did

Integer

Y

N

密码

Pass

Char

8

Y

N

表2.1Teacher教师信息表

3.2学生信息成绩表

列名

列标识

数据类型

宽度

空值

主键

系编码

Did

Integer

N

Y

系名称

dName

Varchar

20

Y

N

表2.2Dep系信息表

列名

列标识

数据类型

宽度

空值

主键

班级编码

cid

Integer

N

Y

班级名称

cName

Varchar

20

Y

N

所属系代码

Did

Integer

Y

N

班主任

Tid

Integer

Y

N

表2.3Class班级信息表

列名

列标识

数据类型

宽度

小数位

空值

主键

课程编码

crid

Integer

N

Y

课程名称

crName

Varchar

20

Y

N

课程成绩

Score

Decimal

5

2

Y

N

表2.4Course课程信息表

列名

列标识

数据类型

宽度

空值

主键

教师编码

tid

Integer

N

Y

课程编码

crid

Integer

N

Y

表2.5Teach教师任教信息表

 

列名

列标识

数据类型

宽度

空值

主键

学号

Sid

Integer

N

Y

班级代码

cid

Integer

N

Y

姓名

Sname

Char

8

Y

N

性别

Sex

Char

1

Y

N

生日

Birth

Date

Y

N

表2.6Student学生信息表

列名

列标识

数据类型

宽度

小数位

空值

主键

学号

Sid

Integer

N

Y

班级

Cid

Integer

N

Y

课程号

Crid

Integer

N

Y

成绩

Score

Decimal

5

2

Y

N

表2.7Score学生成绩表

我用powerbuilder软件创建了一个学生成绩管理系统的数据库,在该数据库中创了七个表,分别名为学生信息表,课程信息表,学生成绩表,教师任教信息表,班级信息表,教师信息表,系信息表。

输入各个数据表的字段属性,然后向各个数据表写入一些记录。

 

第四章模块详细设计和实现

4.1登录模块

以下是用户登录界面:

(2)给Sle_1增加一个键盘输入事件:

􀂗选择Sle_1事件中的“NewEvent”,显示如图2.8所示事件输入框;

7.8新增事件输入框􀂗

在“EventID”下拉列表中选择“pbm_keydown”,系统自动填写事件参数;

在“EventName”输入框中输入“ue_key”;

单击工具栏“

”图标按钮,保存新增加的键盘输入事件;

同样,给Sle_2增加一个键盘输入事件

(1)在Sle_1的ue_key事件键入如下代码:

ifkey=KeyEnter!

Then//若键入回车键,则焦点到密码输入框

sle_2.SetFocus()

endif

(2)在Sle_2的ue_key事件键入如下代码:

ifkey=KeyEnter!

Then//若键入回车键,则焦点到确认按钮

cb_1.SetFocus()

endif

(3)在cb_2的Clicked中输入如下代码:

Close(Parent)

(4)在cb_1的Clicked中输入如下代码:

4.2系统主界面

主界面如下:

此界面是系统的功能界面:

(1)在cb_1的Clicked中输入如下代码:

Open(w_user)

Close(parent)

(2)在cb_2的Clicked中输入如下代码:

Open(w_class)

Close(parent)

(3)在cb_3的Clicked中输入如下代码:

Open(w_subject)

Close(parent)

(4)在cb_4的Clicked中输入如下代码:

Open(w_student)

Close(parent)

(5)在cb_5的Clicked中输入如下代码:

Open(w_score)

Close(parent)

(6)在cb_6的Clicked中输入如下代码:

Close(parent)

4.3用户管理模块

4.4班级管理

 

4.3课程管理模块

 

由于以上三个模块和学生信息管理模块,成绩管理模块在功能上没有什么区别,所以只写出学生信息管理模块和成绩管理模块的脚本。

如下:

4.4学生信息管理模块

(1)在此界面的open事件中输入如下代码:

dw_1.settransobject(sqlca)

dw_1.retrieve()

(2)在cb_1的Clicked中输入如下代码:

dw_1.insertrow(0)

dw_1.scrolltorow(dw_1.rowcount())

dw_1.setfocus()

(3)在cb_2的Clicked中输入如下代码:

dw_1.deleterow(0)

(4)在cb_4的Clicked中输入如下代码:

stringquery

query="sid='"+sle_1.text+"'andcid='"+sle_2.text+"'"

dw_1.setfilter(query)

dw_1.filter()

dw_1.retrieve()

(5)在cb_5的Clicked中输入如下代码:

open(w_main)

close(parent)

(6)在cb_ok的Clicked中输入如下代码:

ifdw_1.update()=1then

commit;

else

rollback;

endif

open(w_main)

close(parent)

(7)在cb_save的Clicked中输入如下代码:

ifdw_1.update()=1then

commit;

else

rollback;

endif

4.5学生成绩管理模块

(1)在此界面的open事件中输入如下代码:

dw_1.settransobject(sqlca)

dw_1.retrieve()

(2)在cb_5的Clicked中输入如下代码:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 法语学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2