高校学生信息管理系统

2022-12-05

第一篇:高校学生信息管理系统

普通高校学生信息管理系统规划与设计

摘 要

二十一世纪是信息时代,计算机技术蓬勃发展,信息技术已成为本世纪的支柱产业。特别是Internet技术的高速发展,使得当今社会信息量剧增,这样一来我们就可以方便的获得世界各地的有用信息。但与此同时,有效的组织和存储这大量的信息以提供方便的查询,却是一件需要解决的事情。数据库的概念和技术正是我们对大量信息进行合理组织、存储和管理事物的解决之道。

随着各种不同应用领域对数据库管理的进一步需求,数据库技术的重要性越来越为人们所熟知。目前,不仅在大、中、小、微等各种机型上都配有数据库管理系统,各行业的信息系统,以及Internet上的信息系统也大都离不开数据库的支持,因此数据库已成为信息社会的重要基础设施。

本设计开发了一个用于学校内部管理学生信息的管理系统,它的出现使得学校可以对学生信息进行规范的管理、科学的统计和快速的查询和修改,从而减少学生信息管理方面的工作量。设计在安全保密方面,通过用户登录权限和密码的设置来初步实现,但安全性还是不高,有待于以后加强。在界面部分为使系统有很高的可操作性,界面设计时充分考虑管理人员的习惯,使得操作简单便易,数据录入迅速、规范、可靠;统计准确,制表灵活,适应力强,容易扩充,具有易用性、灵活性、开放性与可视性等。设计以Visual Basic 6.0为主要开发平台进行系统的开发,结合Microsoft SQL 2000的数据库管理系统完成数据库设计以及管理。

关键词:数据库, Visual Basic 6.0, Microsoft SQL sever 2000

目 录

第1章 绪论 ·················································································································· 1

1.1 发展现状与趋势 ···································································································· 1 1.2 现有系统分析 ········································································································ 2 1.3 可行性分析 ············································································································ 2 1.4开发工具简介 ········································································································· 3 1.4.1 Visual Basic 6.0 简介 ·············································································· 3 1.4.2 Microsoft SQL 2000 简介 ·········································································· 3 第2章 系统分析 ········································································································· 5

2.1系统主要任务与要求 ························································································· 5 2.1系统数据分析 ····································································································· 7 第3章 数据库设计 ···································································································· 8 3.1 数据库设置 ····································································································· 9 3.2 概念结构E-R图设计 ··················································································· 10 3.3 逻辑结构设计 ································································································ 11 第4章 系统详细设计与实现 ················································································ 11 4.1 方法概要 ··········································································································· 12 4.1.1 模块化设计 ······························································································· 12 4.1.2 对话设计 ··································································································· 12 4.2 安全保密设计 ··································································································· 14 4.3 模块简介 ··········································································································· 14 4.4 窗体设计 ··········································································································· 15 4.4.1 系统用户管理模块的创建 ······································································· 16 4.4.2 学籍管理模块的创建 ··············································································· 18 4.4.3 成绩管理模块的创建 ··············································································· 21 4.4.4 档案管理模块的创建 ··············································································· 26 4.4.5 就业管理模块的创建 ··············································································· 28 4.5 子系统整合 ······································································································· 30 4.6 帮助模块设计 ··································································································· 30 4.7 系统的编译 ······································································································· 34 4.8 程序运行的环境 ······························································································· 36 结 论 ··········································································································· 37 参考文献 ····································································································· 40 致 谢 ··········································································································· 41 附 录 ··········································································································· 42

图3.5系统主界面

图3.6系统登录界面

图3.7添加学籍模块

图3.8添加班级信息窗体

图3.9添加成绩信息

图3.10查询成绩模块

3.11修改班级信息窗体

图3.12学生信息添加窗体

图3.13学生信息修改

图3.14学生信息添加

图3.15毕业生信息

图3.17毕业生信息修改

图3.18毕业生信息查询

图3.19毕业生信息删除

图3.21导入备份模块

图3.24系统登录

图3.27查询学籍信息 Powered by 计算机毕业论文网http:// 提供 如果需要详细内容请与QQ:4991024联系

第二篇:高校学生公寓信息管理系统业务系统流程图

《信息系统分析与设计》期末考试 2010级信管专业1A班

2012/2013学年第一学期

系统分析与系统设计报告

系统名称:高校学生公寓信息管理系统

序号: 学号: 姓名:

完成时间:2012年1月1日

成绩:

一、系统概述

系统名称:高校学生公寓管理系统

基本用途:面向宿舍管理员与学生,管理员可以对宿舍信息添加删除修改查询等,学生可以对信息进行查询。

主要功能:

有三大功能:如下 1. 公寓管理

1) 职工管理 2) 报修管理 3) 出入管理 4) 卫生管理 5) 资源管理 6) 水电费管理 2. 学生管理

1) 学生违规管理 2) 录入学生信息 3) 更新学生信息 4) 删除学生信息 3. 信息查询

1) 住宿信息查询 2) 出入信息查询 3) 水电交费信息查询 4. 系统管理

1) 管理员管理 2) 用户权限管理 说明:

a.系统应该提供学生住宿情况的基本登记 b.宿舍楼的详细情况登记

c.系统应提供查询功能(水电信息,楼房信息)

d.系统还应具有添加、修改、删除学生及员工基本信息的动态管理功能。 系统应提供人员来访的详细登记。 e.系统具有宿舍及公共设施报修流程管理。 f.系统同时具有学生违规管理和查询。

二、业务分析

1.公物管理流程图

宿管会宿舍设施登记设施登记表学生学生确认签字设施损坏损坏登记表宿管会明确责任人赔偿表

2. 职工管理流程图

职工信息录入学工部职工信息表职工到职签到职工签到表职工职工工作安排职工工作表职工信息管理

3. 报修管理流程图

故障登记故障表学生故障受理待修表材料领取材料领取表修理师傅上门修理修理记录表结果反馈 4. 水电费管理流程图

水电用量登记宿管会水电费详细表应缴额发布管理处缴费学生已缴信息表信息确认

5. 违规学生信息管理

学生违规确定学工部学生违规程度审定学生违规处理文件学生违规处理学生处理结果反馈学生违规反馈文件

三、系统逻辑模型

数据流图索引

图1学生管理图2职工管理图0顶层数据流图图3报修管理图1.1学生信息管理图1.2违规学生管理图4水电费管理图5公物管理

图0顶层数据流图

1学生管理A学生信息表学工部2职工管理B职工信息表3学生6C园区维修记录表查询报修管理4水电费管理D园区水电费登记表宿管会5公物管理E园区公物登记表

图1学生管理

1.1录入学生住宿信息1.2更改学生信息学工部AA学生住宿名单1.3删除学生信息1.4违规学生管理AB违规学生名单

图2 职工管理

2.1宿宿宿宿宿宿宿宿宿2.2宿宿宿宿宿宿B宿宿宿宿宿2.3宿宿宿宿宿宿宿宿宿2.4宿宿宿宿宿宿2.4宿宿宿宿BBBA宿宿宿宿宿宿宿宿宿宿 图3 报修管理

3.1CA故障登记表故障登记 学生3.2故障受理CB待修表3.3后勤部CC领取材料材料领取登记表3.4上门修理CD维修记录表3.5结果反馈

图4 水电费管理

4.1水电用量登记宿管会4.2应缴水电额公布DA水电费详表4.3学生缴费学生DB已缴信息表4.4信息确认

图5公物管理

5.1公物登记EA公物详单5.2学生学生签字确认5.3公物损坏EB公物损坏登记表5.4宿管会明确责任人EC公物赔偿登记表5.5赔偿

图6 查询

A学生信息表6.1按学号工号查询B职工信息表6.2C园区维修记录表园区水电费登记表宿舍号查询D6.3日管理查询园区公物登E记表

图1.4违规学生管理

1.4.1学生违规确定名称1.4.2学生违规程度审定ABA学生违规处理文件1.4.3学生违规处理编号功能1.4.4处理结果反馈ABB违规学生反馈表

四、系统结构设计

职工信息管理职工管理职工签到管理故障登记材料领取登记公寓管理出入管理外人来访登记外人离去登记卫生管理公物登记公物管理公物损坏管理水电费用量登记学生缴费登记报修管理水电费管理高校学生信息管理系统学生违规管理录入学生信息修改学生信息删除学生信息住宿信息查询违规程度认定违规处罚公示学生管理关键字查询信息查询出入信息查询水电缴费信息查询学号/工号/栋号/宿舍号查询日期查询系统管理超级管理员设置新增修改删除管理员管理用户权限管理用户分级查询内容分级

五、数据库设计

1. E-R图

姓名职位性别公寓职工M登记NN员工号栋号管理水电外来人员栋号1房间数NN公寓1包含N宿舍号缴费探望应住人数地址11学号宿舍1入住N学生年龄居住性别实住人数姓名专业性别水电费应住人数

2. 数据库表

公寓职工表(员工号*,姓名,性别,职位,栋号) 公寓表(栋号*,房间数,应住人数,地址)

宿舍表(宿舍号*,居住性别,应缴水电费,应住人数,实住人数) 学生表(学号*,姓名,性别,专业,年龄)

六、处理流程设计

1. 用户登录流程图

宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿

2. 水电缴费流程图

开始学生登录成功查看所在宿舍信息是否有待缴水电费是是否在缴费日期是刷卡缴费否否否是否成功是退出登陆路结束

3. 学生违规处理流程图

开始查看违规记录是否违规违规程度<40是认定记过处分否40<违规程度<80是认定记大过处分否80<违规程度<100是认定留校察看处分学生是否有异议否记录档案是提交重审申请书结束

4. 出入管理流程图

宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿宿

第三篇:高校人员信息管理系统

开发一个简易的高校人员信息管理系统,主要针对高校人员的基本信息进行管理。采用对象链表或对象数组存放各个对象,实现新增、修改、删除、查询以及统计等功能。

下面源代码用c++三段式格式实现

1 ** peo.h**

#ifndef _P #define _P class person {

protected:

char number[30];//学号

char name[30];//姓名

char sex[30];//性别

int age;//年龄

char department[30];//部门

char tel[30];//联系方式

person *next;

// 基类的指针作为next指针 public: friend class manage; person(char a[],char b[],char c[],int d,char e[],char f[]); ~person(); virtual void change(const char*)=0; virtual void display()=0; virtual void save()=0; };

class student:public person //学生类 { protected: char grade[30];//班级

char major[30];//专业

double result;//成绩 public: student(char a[],char b[],char c[],int d,char e[],char f[],char g[],char h[],double i); ~student(); void save(); void change(const char*); void display(); //在派生类实现具体方法,即所谓的"多种方法" };

class teacher:public person {

protected: char title[30];//职称

char major[30];//专业 public: teacher(char a[],char b[],char c[],int d,char e[],char f[],char j[],char k[]); ~teacher(); void save(); void change(const char*); void display(); //在派生类实现具体方法,即所谓的"多种方法" };

class worker:public person {

protected: char job[30];//职务

char rank[30];//级别 public: worker(char a[],char b[],char c[],int d,char e[],char f[],char l[],char m[]); ~worker(); void save();

void change(const char*); void display(); //在派生类实现具体方法,即所谓的"多种方法" }; //template class manage {

protected: static int count;//人员数量

person *head;

//链表头指针 public:

manage(); ~manage(); void insert(person*); //添加人员信息

插入结点

void add(); void search(const char*);//按学号查询信息

void del(const char*);//删除人员信息

void change(const char* s);//修改人员信息

void display();//显示

显示结点信息

void save();//保存

将所有人员信息写入到文件 }; #endif //****************************

2**peo.cpp*************************// #include"peo.h" #include #include #include person::person(char a[],char b[],char c[],int d,char e[],char f[]) { strcpy(number,a); strcpy(name,b); strcpy(sex,c); age=d; strcpy(tel,f); strcpy(department,e); cout<<"人员开始"<

student::student(char a[],char b[],char c[],int d,char e[],char f[],char g[],char h[],double i):person(a,b,c,d,e,f) { strcpy(grade,g); strcpy(major,h); result=i; } student::~student() {} void student::display(void) { cout<<"学号"

姓名

性别

年龄

部门

联系方式

班级

专业

成绩"<>number>>name>>sex>>age>>department>>tel>>grade>>major>>result; }

teacher::teacher(char a[],char b[],char c[],int d,char e[],char f[],char j[],char k[]):person(a,b,c,d,e,f) { strcpy(title,j); strcpy(major,k); } teacher::~teacher() {} void teacher::display(void) { cout<<"学号"

姓名

性别

年龄

部门

联系方式

职称

专业"<>number>>name>>sex>>age>>department>>tel>>title>>major; }

worker::worker(char a[],char b[],char c[],int d,char e[],char f[],char l[],char m[]):person(a,b,c,d,e,f) { strcpy(job,l); strcpy(rank,m); } void worker::display(void) { cout<<"学号"

cout<<"打开文件失败"; } file1

姓名

性别

年龄

部门

联系方式

职务

级别"<>number>>name>>sex>>age>>department>>tel>>job>>rank; }

/*******************************************************************************/ manage::manage() { head=0; cout<<"链表开始"<

void manage::insert(person *i) { person *node; if(head==0) {

head=i;

head->next=0; } else {

node=head;

while(node->next)

node=node->next;

node->next=i;

i->next=0; } }

void manage::search(const char* s)//按学号查询人员信息 { person* node=head; int flog=0; while(node) {

if(strcmp(node->number,s)==0)

{

flog=1;

node->display();//显示查询结果

break;

}

else

node=node->next; } if(flog){

// node->display();

cout<<"查找成功"<

cout<<"未找到该结点"<

void manage::del(const char* s)//按学号删除人员信息 { person *node1,*node2; int flog=0; node1=head; if(strcmp(head->number,s)==0) {

head=head->next;

node1->~person();

flog=1; } else {

while(node1)

if(strcmp(node1->number,s)==0)

{

node2->next=node1->next;

node1->~person();

flog=1;

break;

}

else

{

node2=node1;

node1=node1->next;

}

} if(!flog)

cout<<"未找到要删除的结点"<

cout<<"结点被删除"<

cout<<"空链表"<

node=head;

while(node)

{

node->display();

node=node->next;

} }

} void manage::save() { person *node; if(head==0)

cout<<"空链表"<

node=head;

while(node)

{

node->save();

node=node->next;

} } }

void manage::change(const char* s)//按学号修改人员信息 { person* node=head; int flog=0; while(node) {

if(strcmp(node->number,s)==0)

{

flog=1;

node->change(s);//显示修改结果

break;

}

else

node=node->next; } if(flog){

// node->display();

cout<<"修改成功"<

cout<<"未找到该结点"<

void manage::add()

//添加人员信息 { cout<<"****************************添加*****************************"<

人员人员管信息

理系统

cout<<"

请选择需要操作的对象:(选择其他则退出)"<

1.学生"<

2.老师"<

3.职工"<

cin>>i;

cout<<"请输入个人信息"<>number; cout<<"请输入姓名"<>name; cout<<"请输入性别"<>sex; cout<<"请输入年龄"<>age; cout<<"请输入院系/部门"<>department; cout<<"请输入联系方式"<>tel;

if(i==1) { cout<<"请输入班级、专业、成绩"<>grade>>major>>result;

a=new student(number,name,sex,age,department,tel,grade,major,result);

//table.insert(a); } if(i==2) { cout<<"请输入职称及专业"<>title>>major;

a=new teacher(number,name,sex,age,tel,department,title,major); //table.insert(a); } if(i==3) { cout<<"请输入教职工的职务及级别"<>job>>rank;

a=new worker(number,name,sex,age,tel,department,job,rank); //table.insert(a); } insert(a); save();

} display(); cout<<"***添加成功***"< #include #include #include int main()

{

int j=0,k=1;

char number[30]={0};

manage table;//定义一个对象

while(k)

{

system("cls");

cout<<"**********************************高校人员管理系统***************************"<

cout<<"

请选择需要操作:(选择其他则退出)"<

cout<<"

1.添加人员信息"<

cout<<"

2.查询人员信息"<

cout<<"

3.删除人员信息"<

cout<<"

4.保存人员信息"<

cout<<"

5.显示人员信息"<

cout<<"

6.修改人员信息"<

cin>>j;

switch(j)

{

//read(i);

case 1://添加

{

table.add();

//table.display();

}break;

case 2://查询

{

cout<<"请输入需要查询的号码"<

cin>>number;

table.search(number);

}break;

case 3: //删除

{

cout<<"请输入需要删除的号码"<

cin>>number;

table.del(number);

}break;

case 4://保存

{

cout<<"文件已保存"<

}break;

case 5://显示

{

table.display();

}break;

case 6://修改

{

cout<<"请输入需要修改的号码"<

cin>>number;

table.change(number);

}break;

default:

system("cls"); //清屏

break;

// return 0;

}

cout<<"

0.退出操作

cin>>k;

}

}

继续操作"<

1.

第四篇:高校班务管理信息系统

一、意义和目标

随着信息化的来临和计算机在日常管理中的广泛应用,在学校的校内网站上又教师个人信息系统,学生个人信息系统,但是没有办及时事务管理信息系统。为了实现班务管理的信息化,在此不妨开发一个班务管理系统。

二、系统的用户需求

对某一个班级,调查该班级的基本事务有每学期都要制定班级工作计划,定期对班委会进行改组和调整,两班级的各项管理任务在班干部中进行合理分配。对班级每学期每位学生的考试成绩都要进行记录,统计和分析,每学期都要进行学生的德育考评,班级经费的收支情况要进行合理的规划和管理:

1 对班级事务的整体规划和协调运行进行控制 2 对班级具体事务得计化和控制

3 对班级的教学管理进行控制和协调运行 4 对班级学生的德育进行考评和管理 5 对班级班费的收支进行管理

三、高级班务管理系统的性能要求

1.遵循管理规范、技术先进、安全可靠、系统开放、经济实用的原则 2.本系统以独立运行为主 3.界面简洁,统一,友好

4.操作简便,向导式操作,可以提供非计算机操作人员使用 5.相关数据显示功能 6.数据导入功能

7.根据日常工作流程设计系统设计 8.提供程序的稳定与安全功能 9.完善的数据打印和报表功能

四、系统的经费概算

初步估计约需人民币20万元,包括硬件资源、技术资料、开发费用、培训费用等。其中开发期间费用约需人民币8万元,调试与运行期间约需人民币6万元。

五、系统开发计划

本系统计划由开发小组(开发人员4人)用12个月完成,具体时间安排计

划如下:

1.系统调研、系统分析:3个月。 2.系统设计:2个月。 3.系统程序设计:3个月。 4.系统调试:2个月。 5.系统运行:2个月。

第五篇:某高校教学管理信息系统的

摘 要 本文从OOAD的角度论述了某高校教学MIS的需求分析、系统设计和实现过程。首先阐述本系统的网络体系结构、操作系统和数据库系统开发工具选择。接着对本系统的三个子系统:联网选课、日常查询和教务管理子系统进行详细设计。其中重点阐述核心子系统—教务管理的主要模块、辅修/双学位主动测评算法、特色技术细节。最后总结本系统创新点。

关键字 MIS 教学管理 UML 辅修/双学位主动测评算法

1 需求分析与系统设计

在信息技术飞速发展的今天,高校的教学管理工作也应该适应时代的发展,实现教学管理信息化,上海中医药大学教学管理信息系统的设计与实现正式在这种背景下产生的。在该教学MIS开发之前,学校的教学管理基本上已手工处理为主,以Word、Excel、IE浏览器等Office软件作为辅助手段,使用这些软件的目的主要是界面美观、避免重复抄录信息,各计算机的信息传递主要通过电子邮件实现。对教学数据的管理基本处在文件系统阶段,数据共享程度低,录入、编辑、保存的工作量非常大。

本教学MIS采用B/S网络结构。原因是:B/S结构是真正的三层结构,各客户端接受用户的请求,客户端再向应用服务器提出请求,应用服务器从数据库服务器中检索数据,并将检索计算结果提交给客户端,客户端通过界面应用程序显示用户。因此降低采购成本,学校终端仅需配置瘦客户机即可。系统采用星型拓扑结构建立校内局域网。校园网通过防火墙接入Internet,整个网络均采用TCP/IP协议。

网络操作系统选用Windows NT 4.0系统。理由是:Windows NT是一个通用的、具有主从结构的高性能、可靠的开放式网络操作系统。支持以工作线为单位的抢占式多任务系统、需求式分页虚拟内存、均衡的并行处理与网络功能。Windows NT可以在多种平台上运行,它拥有可伸缩的解决方案,完全排除操作系统的人为限制。使用者可以通过Windows NT执行功能强大的应用软件,并且能与决大多数的Windows 系列软件集成,这一点是Unix系统无法比拟的。

数据库开发工具采用Visual FoxPro6.0。理由是:VF6是微软公司的可视化编程集成包Visual Stadio的一部分。它的兼容性好,安装容易,对运行环境要求不高。另外VF6在很多方面具备了大型数据库的特征。如:视图、关键字索引、关系、触发器、存储过程等。在数据库设计方面VF6提供了各种数据库组件的设计向导和图形化、智能化的设计过程界面。由于VF6已经自带应用程序开发功能,因此程序设计可以在VF6的表单控件事件代码或代码编辑器中进行,而用户界面的设计可以使用VF6中的各种表单来实现。

上海中医药大学教学MIS采用Top-Down开发方法对系统功能目标分解和细化,分解为3个子系统:联网选课子系统、日常查询子系统和教务管理子系统,其中教务管理子系统是核心,管理和监控着另外两个子系统的的运行和数据维护。

联网选课子系统主要用于学生在线自主选课,主要的功能模块有:编排选课批次、多人同时在线选课、实时限制、信息实时更新、课表冲突检查(时间冲突)与建议、选课数据存储更新、课表打印等。实时限制又可细分为先修后继课限制、教室容量限制、突发事件处理。 日常查询子系统主要用于学生和教师日常的选课信息、成绩信息、教学管理相关信息、教师工作量等信息的随时查询自主查询工作。学生和教师分别使用自己的账号和密码登录,只能查询自己的信息及公共信息。未经授权,不能查看他人信息。 教务管理子系统是整个教学管理MIS的心脏。在教务管理子系统中,除了可以对联网选课子系统和日常查询子系统系统进行访问控制、信息更新、功能维护等操作外,还有自己独特的功能。图1是采用以“模型”驱动的OOAD方法下的教务管理子系统的顶层用例图。 2 算法描述—辅修/双学位主动测评算法

上海中医药大学的本科生学位设置分两种:中医学学士和中药学学士。属于中医学学士的专业:中医学、中医基础理论、针灸、推拿等。属于中药学的专业目前只有中药学专业,由此也产生了辅修和双学位的区别:在完全学分制下,辅修是指中医学学士下某一专业学生同时完成了另一个中医学学士专业学分要求;双学位是指某个学生的主修专业和辅修专业分别属于不同的学位类别,在本校就是中医学学士和中药学学士。学生获得双学位的难度要比辅修成功的难度大。按照学校以前学年制的规定,毕业班学生时只有本人提出申请,学校才给该生测评是否达到辅修、双学位的要求。采用本教学MIS后,系统可以选择空闲时段自动地为每个毕业班的学生主动测评,为每个达到辅修/双学位的学生给出信息提示,提醒他们办手续。虽然该算法的技术含量不高,属于傻瓜算法,但是该算法体现了系统以用户为中心,主动替学生考虑的设计理念,实用价值很高。该算法分为两步,第一步:检查记录所有辅修/双学位成功的学生、专业和课程成绩信息,第二步:根据专业区分辅修和双学位,在第一专业(学籍所在的专业)和第二专业(辅修/双学位专业)中,只要有一个是中药学专业,即为双学位,否则为辅修。算法具体描述如下:

图1 教学管理子系统用例图 算法开始: 第一步:

从基本档案中筛选出毕业班全体学生的学号,姓名和专业,产生FX1表;

建立一个临时表;

DO WHILE NOT EOF(FX1表)

从FX1表中取出一个毕业班学生;

第一专业=该生学籍所在专业;

第二专业=全部专业–第一专业;

FOR 第二专业

FOR 第一专业学生辅修/双学位第二专业所需另修的每一门课程

在毕业成绩表中检查有无该门课程成绩,成绩是否合格;

IF 该课程没有选修 OR 该课程成绩不及格 THEN 给出提示信息:学号,姓名,第一专业,“辅修/双学位”,第二专业,“失败!”;

清空临时表;

EXIT TO 下一个第二专业;

ELSE 在临时表中记录该课程成绩信息;

ENDIF;

NEXT 另修课程

ENDFOR 该专业辅修/双学位成功,在辅修/双学位数据表中记录详细信息;

清空临时表;

NEXT 第二专业

ENDFOR LOOP FX1表中的每条记录;

ENDDO 第二步:区分辅修和双学位

FOR 每一张辅修/双学位数据表;

提取辅修/双学位成功毕业生的主修学位、第一专业、第二专业信息;

根据学位专业设置数据表,确定第二学位;

IF 第二学位=主修学位 THEN

该学生为辅修,在辅修/双学位数据表中记录相应信息;

ELSE

该学生为双学位成功,在辅修/双学位数据表中记录相应信息;

ENDIF NEXT 辅修/双学位数据表;

ENDFOR 产生**届毕业生辅修/双学位汇总统计表; 算法结束。

3 特色技术细节介绍:

3.1 OLE对象与ActiveX控件的使用

可插入的OLE对象来自于支持OLE的应用程序,如Word、Excel、画图、Photoshop等软件。用户可以在各表单中使用OLE容器控件来链接或嵌入这些多媒体对象信息。链接与嵌入的区别是:当源对象更新后,嵌入的对象不会更新,而链接的对象则同步更新。本教学MIS中就广泛地使用了OLE对象链接技术。如学生基本档案编辑表单中的学生照片,就是将数码照片信息链接到VF6表单中的。

ActiveX控件是封装了属性、事件和方法程序的对象。用户可以通过各种ActiveX控件把他们作为子类来创建其他控件,也可以通过使用与ActiveX控件相关联的事件、方法程序代码来控制他们。VF6中的ActiveX控件必须包含在一个OLE容器控件中。OLE容器控件的基类是OLEControl,在向表单中添加一个OLE容器时,可以选择想要添加到表单中的ActiveX控件。其操作步骤如下:

(1)从表单控件工具栏中选择某一ActiveX控件,并在表单中调整好位置和大小。

(2)在“插入对象”对话框中选择“Insert Control (插入控件)”。

(3)在“Control Type (对象类型)”列表中,选择想要的ActiveX控件。

(4)单击“确定”按钮。

3.2 将日期型数据设置为字符型存储更简便

本系统中多个地方用到了日期。如“入学时间”、“出生日期”等。按照数据库设计的惯例,日期应当设置为日期型字段变量或内存变量。但是,在实际使用中,尤其是在系统运行状态下要求用户输入日期数据的时候,将日期数据结构设置成字符型更为简便。原因是:日期的输入界面是用文本框来实现的。在设置输入文本框时,如果是日期型数据,用户仍然可以输入类型不匹配的数据。因此,为了严格格式,减少输入错误,增加系统纠错、排错能力,对文本的输入类型实施了数据类型限制。设定其InputMask及Format属性均为“9999/99/99”,表示时间为“年/月/日”。这样的结果是该Text输入的数据类型为字符型。同时,无论是升序还是降序,Character类型数据的ASCII码排序结果都和Date类型数据排序结果一样。 4 系统创新点

(1)从软件开发理念角度看,本文针对中小型机构,尤其是高等教育机构的教学管理信息系统的开发,提供了一个比较合理的数据库应用系统的解决方案。

(2)从软件系统设计和开发方法上看,本系统比较深入地采用了面向对象的方法和技术进行需求分析、系统设计和编码实现。

(3)从数据库和编程语言工具软件的选择角度看,本系统充分应用了VF6系统的相对独立性,通过VF6中的查询、视图、表单、报表等设计器,大大简化了系统的开发工作量。

(4)从数据结构角度看,在对教学数据的处理上,在不降低信息处理精度的前提下,广泛应用了字符型数据类型在识别、比较、统计、存储上的优势,节约了系统资源,提高了系统运行效率。

(5)从编译系统角度看,本系统提供了两种灵活又实用的编译类型。一种是基于用户已经安装了VF6环境的编译方式。采用这种方式生成的可执行文件所占空间小。另一种不依赖VF6就可以单独运行的编译方式。虽然这种方式生成的可执行文件比前一种方式大,但省去了安装VF6环境的大量磁盘空间,还是比较实用的。 参考文献: 1 董传良,蒋磊宏,张增泰.上海交通大学教学管理信息系统的设计[J/OL].管理信息系统,2000,8,增刊

2 周庆,甘仞初,李洪磊.基于C/S和B/S模式的应用系统安全机制的设计[J/OL].计算机系统应用,2002,5 3 邵洋,谷宇,何旭洪.《Visual FoxPro 6.0数据库开发实例导航》[M].人民邮电出版社,2002,5 4高林.《管理信息系统与案例分析》[M].人民邮电出版社,2004,10 5周梅.上海中医药大学教学管理信息系统的设计与实现[D].北京理工大学,2005,2 收稿日期:2月16日 修改日期:2月26日 作者简介:周梅(1973-),女,江苏省如皋市人,计算机应用技术硕士,2005年毕业于北京理工大学,助理研究员,主要研究方向:管理信息系统、会计电算化、ERP。

上一篇:关于传统节日的广播稿下一篇:关于爱情英文爱情句子