学生成绩管理系统程序分析
一 系统分析与设计 1)系统功能分析
系统功能分析阶段的任务就是确定该系统所要解决的问题及其具体要求。学生成绩管理系统需要完成的主要功能如下:
(1) 班级信息的输入和存储,包括班级编号、班级
名称、所属专业、入学时间和学制等。 (2) 对已经输入的班级信息的修改、查询。 (3) 学生基本信息的输入和存储、包括学号、姓名、
性别、出生日期、班级等。 (4) 学生基本信息的修改和查询。
(5) 每学期初各班所开设课程的输入,包括课程名、学期、学时等。
(6) 各班所开设课程信息的修改和查询。 (7) 学期末输入每个学生的考试成绩。 (8) 学生成绩的修改。 (9) 查询某个学生。
(10) 查询并打印某班某学期所有学生的各科成
绩。
(11) 查询并打印某班某学期某课成绩。 (12) 系统具有用户和密码的管理。 2)系统功能模块分析
通过上面各项功能的分析、分类、综合,按照模块化程序设计的要求,得到它的模块结构:
(1)系统管理 它包括密码修改,用户管理,登录控制。
(2)班级信息管理 它包括班级信息修改,班级信息查询,班级信息输入。
(2)学生基本信息管理 包括学生基本信息查询,学生基本信息修改,学生基本信息输入。
(3)课程信息管理 包括课程信息查询修改,课程信息输入。
(4)成绩信息管理 包括成绩查询,成绩修改,成绩输入。
二、数据库设计和实现
1)创建数据库
在PowerBuilder开发环境中打开数据库画板,使用[ODB ODBC]接口建立Adaptive Server Anywhere 8.0(ASA 8.0)的数据库,然后建立5个表和1个视图。分别为“班级”表、“学生基本信息”表、“课程”表、“成绩”表、“用户”表。各表之间的关系如下图1所示:
图1 各表的关联关系
2) 创建应用对象
(1) 创建新的工作空间。
(2) 创建应用对象,应用对象名设为“app_xscj”。 (3) 打开新的对象画板.为应用对象app_xscj的
Open事件编写代码如下: // Profile liudi SQLCA.DBMS = \
SQLCA.AutoCommit = False SQLCA.DBParm
\CONNECT;
if SQLCA.sqlcode<>0 then
messagebox(\提示\数据库连接失败!\else
open(w_login) end if
执行此应用时,首先链接数据库“xscj”,成功后打开登录窗口。
三、设计系统管理模块 1)
设计登录窗口 登录窗口如图2所示:
=
图2 登录窗口
为登录窗口编写脚本。 (1)定义全局变量
string gs_username,gs_password,gs_admin 分别存储登录用户的姓名、密码和权限。 (2)定义实例变量 int li_n
存储登录时用户输入密码错误的尝试次数,控制在最多3次机会。
(3)登录窗口w_login的open事件脚本如下 li_n=3
初始化变量li_n,限制出错次数为3次。