宿舍管理数据库设计
A. 学生宿舍管理信息系统的设计,要用java或者C语言实现管理,还有建立数据库!!!急!!
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define M 100
int dirty=0; //用来判断是否已保存操作
//定义一个存储学生相关信息的结构体
typedef struct
{
char S_name[31]; //学生姓名
char S_number[16]; //学生学号
int D_number; //学生所在寝室的宿舍号
int Total; //学生总数
}Student[M], St;
//判断学号是否与表中所存学号重复
void S_number_Judge(Student S,int t)
{
int i;
for(i=1;i<=(S->Total)-1;i++)
while(strcmp(S[i].S_number,S[t].S_number)==0)
{
printf("学号输入失败,该学号已存在,请重新输入学号!\n");
printf("请输入学生的学号(15个字符以内):");
scanf("%s",S[t].S_number);
getchar();
i=1;
}
}
//添加学生信息函数
void Add(Student S)
{
printf("请输入学生姓名(30个字符以内):");
scanf("%s",S[++(S->Total)].S_name);
getchar();//获取换行符
printf("请输入学生的学号(15个字符以内):");
scanf("%s",S[S->Total].S_number);
getchar();
S_number_Judge(S,S->Total);//判断输入的学号是否与表中所存在的学号重复
printf("请输入宿舍号码:");
scanf("%d",&S[S->Total].D_number);
getchar();
dirty=1;
printf("添加成功!\n\n");
}
//修改学生信息函数
void Alter(Student S)
{
int i;
int flag=0; //用来判断表中是否存在所要修改的学生的信息
char name[20];
printf("请输入你要修改学生的姓名:");
scanf("%s",name);
getchar();
for(i=1;i<=S->Total;i++)
if(strcmp(S[i].S_name,name)==0)
flag=i;
if(!flag)
printf("你所要修改的学生信息在表中不存在!\n");
else
{
printf("新信息如下:\n");
printf("请输入学生姓名(30个字符以内):");
scanf("%s",S[flag].S_name);
getchar();
printf("请输入学生的学号(15个字符以内):");
scanf("%s",S[flag].S_number);
getchar();
S_number_Judge(S,flag);
printf("请输入宿舍号:");
scanf("%d",&S[flag].D_number);
getchar();
dirty=1;
printf("修改成功!\n");
}
putchar('\n');
}
//删除学生信息
void Delete(Student S)
{
int i,j;
int flag=0; //用来判断表中是否存在所要删除的学生的信息
char name[20];
printf("请输入你要删除学生的姓名:");
scanf("%s",name);
getchar();
for(i=1;i<=S->Total;i++)
if(strcmp(S[i].S_name,name)==0)
flag=i;
if(!flag)
printf("你所要删除的学生在表中不存在!");
else
{
for(i=flag;i<S->Total;i++)
{
j=i+1;
strcpy(S[i].S_name,S[j].S_name);
strcpy(S[i].S_number,S[j].S_number);
S[i].D_number=S[j].D_number;
}
(S->Total)--;
dirty=1;
printf("删除成功!");
}
printf("\n\n");
}
//显示所有学生信息函数
void Display_All(Student S)
{
int i;
printf("全体学生信息如下:\n");
printf("学生姓名 学生学号 宿舍号\n");
for(i=1;i<=S->Total;i++)
printf("%-20s%-15s%-5d\n",S[i].S_name,S[i].S_number,S[i].D_number);
putchar('\n\n');
}
//排序函数按照寝室号从小到大排序(冒泡法)
void Sort_D_number(Student S)
{
int i,j,t;
char name[30];
char number[15];
for(i=1;i<=S->Total;i++)
for(j=i;j<=S->Total;j++)
if(S[i].D_number>S[j].D_number)
{
strcpy(name,S[i].S_name);
strcpy(number,S[i].S_number);
t=S[i].D_number;
strcpy(S[i].S_name,S[j].S_name);
strcpy(S[i].S_number,S[j].S_number);
S[i].D_number=S[j].D_number;
strcpy(S[j].S_name,name);
strcpy(S[j].S_number,number);
S[j].D_number=t;
}
}
//排序函数按照学号从小到大排序(冒泡法)
void Sort_S_number(Student S)
{
int i,j,t;
char name[30];
char number[15];
for(i=1;i<=S->Total;i++)
for(j=i;j<=S->Total;j++)
if(strcmp(S[i].S_number,S[j].S_number)>0)
{
strcpy(name,S[i].S_name);
strcpy(number,S[i].S_number);
t=S[i].D_number;
strcpy(S[i].S_name,S[j].S_name);
strcpy(S[i].S_number,S[j].S_number);
S[i].D_number=S[j].D_number;
strcpy(S[j].S_name,name);
strcpy(S[j].S_number,number);
S[j].D_number=t;
}
}
//查询函数以姓名为关键字进行查询(顺序查找)
void Query_S_name(Student S)
{
int i,j=0;
char name[31];
printf("请输入你要查找的学生的姓名(30个字符以内):");
scanf("%s",name);
getchar();
printf("所查找学生信息如下:\n");
printf("学生姓名 学生学号 宿舍号\n");
for(i=1;i<=S->Total;i++)
if(strcmp(name,S[i].S_name)==0)
{
printf("%-20s%-15s%-5d\n",S[i].S_name,S[i].S_number,S[i].D_number);
j=1;
}
if(!j)
printf("\n查找失败,表中不存在该学生的信息!\n\n");
}
//查询函数以学号为关键字进行查询(折半查找)
void Query_S_number(Student S)
{
int i,j,top,base,mid;
char number[15];
j=0;
base=1;
top=S->Total;
printf("请输入你要查找学生的学号:");
scanf("%s",number);
getchar();
Sort_S_number(S); //将表中原数据按照学号从小到大排序
printf("所查找学生信息如下:\n");
printf("学生姓名 学生学号 宿舍号\n");
if(strcmp(number,S[1].S_number)>=0&&strcmp(number,S[S->Total].S_number)<=0)
{
while(base<=top)
{
mid=(base+top)/2;
if(strcmp(number,S[mid].S_number)==0)
{
printf("%-20s%-15s%-5d\n",S[i].S_name,S[i].S_number,S[i].D_number);
putchar('\n');
j=1;
break;
}
else if(strcmp(number,S[mid].S_number)>0)
base=mid+1;
else
top=mid-1;
}
}
if(!j)
printf("\n查找失败,表中不存在该学生的信息!\n\n");
}
//查询函数以寝室号为关键字进行查询(折半查找)
void Query_D_number(Student S)
{
int i,j,m,n,base,top,mid;
j=0;
base=1;
top=S->Total;
printf("请输入你要查询的寝室号:");
scanf("%d",&i);
getchar();
Sort_D_number(S);//将表中原数据按照寝室号从小到大排序
printf("所查找寝室信息如下:\n");
printf("学生姓名 学生学号 宿舍号\n");
if(i>=S[1].D_number&&i<=S[S->Total].D_number)
{
while(base<=top)
{
mid=(base+top)/2;
if(i==S[mid].D_number)
{
m=mid;
n=mid-1;
while(S[m].D_number==i)
{
printf("%-20s%-15s%-5d\n",S[m].S_name,S[m].S_number,S[m].D_number);
m++;
if(m>S->Total)
break;
}
if(n>0)
{
while(S[n].D_number==i)
{
printf("%-20s%-15s%-5d\n",S[n].S_name,S[n].S_number,S[n].D_number);
n--;
if(n<1)
break;
}
}
j=1;
putchar('\n');
break;
}
else if(i>S[mid].D_number)
base=mid+1;
else
top=mid-1;
}
}
if(!j)
printf("\n查找失败,表中不存在该寝室的信息!\n\n");
}
//存储函数
void Save(Student S)
{
St Std;
int i;
int flag1=0,flag2=0; //判断存储是否成功
FILE *fp;
if((fp=fopen("Dorm_Manage","w"))==NULL)
{
printf("打开文件失败!\n\n");
flag1=1;
exit(0); //结束程序
}
for(i=1;i<=S->Total;i++)
if(fwrite(&S[i],sizeof(Std),1,fp)!=1)
{
printf("数据写入错误\n\n");
flag2=1;
exit(0);
}
if(!flag1&&!flag2)
{
printf("数据存储成功!\n\n");
dirty=0;
}
fclose(fp);
}
//加载记录函数
void Load(Student S)
{
St Std;
FILE *fp;
if((fp=fopen("Dorm_Manage","r"))==NULL)
{
printf("打开文件失败!\n\n");
exit(0);
}
while(!feof(fp))
fread(&S[++(S->Total)],sizeof(Std),1,fp);
fclose(fp);
printf("加载数据成功!\n\n");
(S->Total)--; //由于读取问题,表中个数要减去
}
//退出程序时判断是否保存函数
void Judge_Save(int i,Student S)
{
char ch;
if(i)
{
printf("表中数据已改变,是否保存后再退出(Y/N)?:");
ch=getchar();
getchar();
while(ch!='n'&&ch!='N'&&ch!='y'&&ch!='Y')
{
printf("请输入N(n)或者Y(y):");
ch=getchar();
getchar();
}
if(ch=='y'||ch=='Y')
Save(S);
}
}
//菜单
void Menu()
{
//菜单
printf(" 宿舍管理\n\n");
printf("*************************************菜单*************************************\n");
printf("1.添加学生信息 | 7.按照寝室号从小到大排序\n");
printf("2.修改学生信息 | 8.按照学号从小到大排序\n");
printf("3.删除学生信息 | 9.显示所有学生的相关信息\n");
printf("4.以姓名查询学生信息 | 10.保存操作\n");
printf("5.以学号查询学生信息 | 11.加载记录\n");
printf("6.以寝室号查询该寝室中的全部学生信息 | 12.退出程序\n");
printf("******************************************************************************\n");
}
void main()
{
int i;
Student S;
S->Total=0;
do
{
Menu();
printf("请选择所要实现的功能(请输入~12中的任意一个数字):");
scanf("%d",&i);
getchar(); //获取换行符
putchar('\n');
switch(i)
{
case 1:Add(S);
break;
case 2:Alter(S);
break;
case 3:Delete(S);
break;
case 4:Query_S_name(S);
break;
case 5:Query_S_number(S);
break;
case 6:Query_D_number(S);
break;
case 7:Sort_D_number(S);
printf("排序完成!\n\n");
break;
case 8:Sort_S_number(S);
printf("排序完成!\n\n");
break;
case 9:Display_All(S);
break;
case 10:Save(S);
break;
case 11:Load(S);
break;
case 12:Judge_Save(dirty,S);
exit(0);
break;
default:printf("选择错误:请在选项到之间选择!\n\n");
break;
}
}while(i!=12);
}
B. 用sqlServer 做一个宿舍管理的数据库
create database student
go
use student
go
create table stdInfo
( stdId int primary key ,stdName nvarchar(20) unique,sex nvarchar(2) check(sex='男' or sex='女'),address nvarchar(200),classesid int)
go
create table couse
(
couseid int primary key,cname nvarchar(20)
)
go
create table grade
( stdId int ,couseid int ,score decimal(4,1),primary key(stdId,cid))
go
create table classes
(
classesId int primary key,
cname varchar(20)
)
go
create table teaching
(
teachid int primary key,
tid int ,
classid int,
couseid int,
)
go
create table teacher
(
tid int primary key,
tname varchar(20),
tsex char(2) check(tsex='男' or tsex='女'),
taddress varchar(100)
)
C. 数据库课设学生宿舍管理系统
摘要
随着我国经济的发展和高等教育的普及,我国的高等教育已经处于大众化阶段。我国大学生从入学前的相关程序,到受教中的各种管理,再到毕业后的工作部署,每年相关政府机构和学校都要对几百万大学生进行管理,其中高校中的宿舍管理尤为重要。每年高校的固定宿舍中,都要进行新生入住的基本信息登记、学生使用期间相关费用的结算以及非本宿舍的外来人员的来访等诸多事宜。因此进行宿舍管理系统的设计,高效科学的处理宿舍事物势在必行。本文将通过对宿舍管理系统的实验与开发,利用相关开发技术:Eclipse、JSP、SSM等进行整个系统的需求分析和设计。一方面为学校对学生宿舍的管理做到更具体更高效,真正实现无纸化;另一方面也为在校学生提供便捷的生活方式。
关键词:高等教育;宿舍管理;设计
前言
当今社会的发展是突飞猛进的,各种数据和信息的处理也是高效的,学生宿舍管理系统也在逐步完善。本文通过对宿舍管理系统进行设计和实现,来进行宿舍管理员更方便的管理,学生更方便的学习和生活。使宿舍管理员坐在电脑前就可以进行对学生信息的查询和管理;使学生在手机或者电脑上就可以得知相关宿舍的动态,给双方都提供便捷而有效的日常生活方式。大学生在学校的衣食住行中,宿舍管理也占据着重要的地位,宿舍管理的好坏,关系着学生之间的相处是否和谐,也关系着学校秩序是否有条不紊,宿舍管理的重要就深深的影响着高校正常运营的方方面面。宿舍管理不能单靠人工记录和管理的方式,这种方式不仅要耗时耗力,而且会造成纰漏造假等一系列问题,特别是对相关信息的查询,很难做到全面、快速和准确的查询。因此,随着计算机网络的飞速发展,学校可以采用无纸化的宿舍管理系统进行学生在宿舍日常生活作息的管理,来进行高效和人性化的服务与管理。
针对大学生在宿舍中的日常生活,本文对宿舍管理系统的设计分为寝室管理、服务管理、违规管理、水电费管理和系统管理五大板块,并将五大板块具体划分为学生入住管理、更改入住寝室、学生离校管理、公告管理、报修管理、来访管理、记录违规情况、查找违规记录、修改违规情况、删除违规记录、记录宿舍水电、查询宿舍水电、修改宿舍水电、注册用户、、用户权限分配、用户退出等若干小块,为学校宿舍管理人员提供便利的管理方式,减轻宿舍管理员的工作压力,以及提高宿舍管理员的管理效率。下面将简要介绍一下各主要功能:寝室管理功能就是对所在宿舍的整栋宿舍内学生进行管理,包括对新生的宿舍分配,对老生的宿舍更换,对即将毕业学生的离校处理。寝室服务管理就是对宿舍日常服务记录进行管理,包括要通知到位的公告管理,要及时处理的报修管理,以及外来人员和非本宿舍人员的来访管理。寝室违规管理就是对违反学校规定的学生进行登记管理,宿舍管理员可以依据学校相关宿舍条例和学生违规情况进行违规记录的添加、查询、修改和删除。寝室水电费管理是指对各个宿舍进行水电费用统计管理,系统中将对每次宿舍水电的数据变动进行逐一记录,方便各级人员进行宿舍水电的查询和修改,更好的服务广大师生。寝室系统管理是指用户的注册和登录,以及各种权限的分配和不同功能的开放。
本次宿舍管理系统的设计的理论知识为PHP技术和MySQL。首先,PHP技术是可以被广泛应用在Windows系统以及各类Web服务器中的,并且PHP语音还可以对链接面进行拓展,做到各种数据库的相连,可以缓解大量的数据存储、检索及维护等方面的压力。其次,MySQL对数据的储存方式不是单一的集中储存,而是采用分散储存的储存方式,使其具有灵活性高和访问速度快的优势。最后,PHP技术还可以编译函数支持大部分比较流行的数据库,MySQL自身的灵活性可以结合PHP技术源码开放的特点,形成一个具有相对优势的开发环境,可以大大节约宿舍管理系统的设计成本和时间。本次宿舍管理系统的将在Intel Pentium 160的处理器,内存为4G,硬盘空间在30G以上,ISA 或者 PCI 接口均可的硬件进行操作;其中在Windows操作系统、数据库MySQL、Apache、Chrome或其他浏览器上都可进行。
该选题和设计的寝室管理计划可以实现查询学生的信息,对入住学生进行添加、修改、查询以及删除宿舍。服务管理计划实现对宿舍基本服务进行管理,包括对公告管理、报修管理、来访管理都能进行添加、修改、查询以及删除等功能。违规管理计划实现对违规学生进行登记,管理可以对违规记录进行添加、修改和删除功能。水电费管理计划实现对宿舍水电费登记管理。包括记录、查询、修改宿舍水电。用户管理计划实现对用户进行注册登录,管理员可以分配用户不同权限,开放不同功能,退出登录。本文参考现有的相关高校宿舍管理系统的设计与实现,进行宿舍管理系统的改进和完善,以应对当下科技迅速发展的背景和复杂的宿舍管理情况。
第一章 绪论
1.1 论文研究背景
学校的宿舍是学生日常生活中重要的场所,大部分的学生每天在宿舍的时间都要超过十二小时,学生宿舍的管理在学生日常生活和学习的管理是十分重要的。当下时代,电脑和手机的普及有目共睹,无论是相关宿舍管理的工作人员还是广大学子,大家都希望宿舍管理的科学化、自动化、无纸化、网络化,这样既可以大大提高相关工作者的工作效率,也可以为在校学生提供便捷的生活方式。但是网络技术的发展给人们的生活方式带来了巨大的改变,比如水电的现金支付和网络支付、外卖员快递员的外来来访登记、相关违规记录的登记与撤销等都需要灵活的处理,这就要体现出学校采用宿舍管理系统时的检索功能、信息储存功能、信息保密性和可靠性等功能。人工记录应对这些事件时往往会耗时耗力,甚至有时会出现信息不完整或者缺失等情况,所以在这种背景下要实行对宿舍管理的科学化,进行宿舍管理系统的设计和实现,还要符合当下时代发展情况和日常在校学生的生活作息习惯。
1.2 问题概述
本文主要针对大学生在宿舍中日常生活所涉及到的一些问题进行分析,在设计宿舍管理系统中从宿舍管理人员和入学新生、在读学生、即将毕业或者已经毕业的学生的角度进行设计,宿舍管理系统的设计主要涉及的问题有寝室的日常管理、相关服务管理、相关寝室人员违规处理管理、相关水电费缴纳登记管理和系统双向管理等问题。新老生的更替、个人心理和身体偏好等问题长期存在于宿舍管理范围,并且是寝室管理的重要组成部分。寝室的长期使用导致宿舍相关公告和维修报修等事情要及时传达,公告通知是否到位,宿舍维修是否及时等都要做到科学有效,为学生提供便利的信息传达。大学生的安全以及校规校纪的遵守是学校在进行学生管理的重要组成,学校相关宿舍条例和学生违规情况进行违规记录的添加、查询、修改和删除是维持宿舍秩序和学校秩序的重要内容。大学生的衣食住行很大一部分体现在寝室的水电费使用,关于水电费的管理就要实现数据化和系统化,以免产生不必要的纠纷,宿舍管理系统中可以将对每次宿舍水电的数据变动进行逐一记录,方便各级人员进行宿舍水电的查询和修改,更好的服务广大师生。宿舍管理系统应该是透明的、双向的,管理系统的权限分配也应该加以区别和划分。
1.3 主要的研究内容
本文立足于相关技术的使用与开发,结合大学生日常的作息和学习,设计一套可以既便利学生又益于相关工作者的工作的宿舍管理系统。通过对管理系统的研究和概述,进行相关开发技术的比较和甄选,最后选定Eclipse、JSP、SSM、MySQL等为主要应用到的技术进行设计和实现。然后对系统后台进行可行性分析,主要包括经济可行性分析、技术可行性分析、操作可行性分析,这次宿舍管理系统的设计还会考虑到系统后台功能需求分析和非功能性需求,然后进行系统后台的概要设计,主要包括技术架构的设计、功能模块的设计和划分、数据库的设计。最后会对宿舍管理初级系统进行全面的系统调试,进行查漏补缺,做到宿舍管理系统的设计和实现。-
1.4 论文结构
本文正文主要分为七个章节,若干小节。第一章内容的论述将对宿舍管理系统的重要性和必要性进行分析,进行宿舍管理系统设计的举证。第二章则是系统后台的开发方法及相关技术的选用,包括管理系统、软件工程概述、相关开发技术等。第三章主要针对系统后台的需求进行分析,主要进行系统后台目标、可行性分析、系统后台功能需求分析和非功能性需求分析。第四章就系统后台的概要设计进行简要阐述系统后台技术架构设计、系统后台功能模块设计和划分、系统后台的数据库设计,并进行小章总结。第五章主要阐述对系统后台的详细设计,包括系统后台设计原则、系统后台的业务流程、系统后台功能模块设计、数据库设计。按照文章结构设计完宿舍管理系统后进行第六章的系统后台的设计与测试,在前面理论与设计的基础上进行环境配置、系统后台功能实现、系统后台应用效果、系统后台测试。最后第七章进行总结与展望,对所作的宿舍管理系统进行反思,提出问题进行分析。
第二章 系统后台的需求分析-
2.1 系统后台目标
根据上文相关宿舍管理过程中提出的问题进行分析,对于大部分高校实行的人工记录方法、多变的支付方式和不同的生活生产习惯等问题,需要对其进行科学化、一体化的整改。通过对宿舍管理系统的建立,高效合理的处理宿舍相关事宜。对于宿舍管理的后台目标,可以从以下方面进行处理。
2.1.1 易用和易维护
宿舍管理系统最终是要面对用户的,但是大多数宿舍管理人员和学生都不是计算机专业,而且对一些操作并不是十分熟悉,所以系统的设计要避免专业术语的冗余,要使用户便于使用;系统的操作页面要尽量采用中文界面,这样才便于用户对系统的熟悉掌握。系统的维护也要提供及时的处理,当用户使用时出现相关问题时,要缩短用户对系统的等待。这样才能体现出宿舍管理系统提高工作效率的初衷。
2.1.2 准确和及时
宿舍管理系统的重要要求就是对信息准确和及时的处理。在宿舍管理系统设计时要考虑到系统内包含的各个方面,也要充分考虑宿舍管理系统当前的工作量和未来工作量的预估工作,做到信息处理的准确无误。另一方面也要注意管理系统的相应能力和处理能力,在时间上满足对相关信息的及时处理和解决。宿舍管理系统既要注重的准确性和实时性,也要注重数据的一致性与完整性,保持数据多元性,特别是共享性与独立性。
2.1.3 开放和可扩充
宿舍管理系统不仅要应对当前的管理形式,还要考虑都新老生新陈代谢的未来数据信息处理,因此要系统后台目标要实现开放性和可扩充性。宿舍管理系统应该是开发的,原则上要符合系统规范,内容上要灵活处理系统模块的增减,结合普遍使用的系统硬件进行宿舍管理系统的升级或者换代。另一方面,越来越多的查询需求,不断变化的选择字段方式,用户需要宿舍管理系统的不断更新、维护和完善来满足需求。所以要提供尽可能多的方法方式对相关功能进行可扩充发展。
2.1.4 数据处理
宿舍管理系统在运行的过程中每天都会接到不同的操作指令,这些都要求系统提供各种数据处理。另外在新生入校中,需要对学生宿舍进行新的编排、新的水电费用进行更新、新的违规条例信息修改等问题也要进行大量处理;准毕业生的离校导致相关宿舍工作进行调整,各种信息需要进行删除存档或者更改等,这两种事件每年都会发生,大量数据的涌入和更改大大增加了相关工作人员的工作量,并进一步的影响工作人员的工作效率,宿舍管理系统应该具备良好的数据处理性能,以便应对各种复杂情况的发生。
2.1.5 统计查询
统计查询功能是宿舍管理人员和广大学生在使用宿舍管理系统中最常用的功能,不同的用户身份可以查到不同的信息,统计不同的内容。管理人员对寝室人员的统计,对违规情况的查询等都要支持,学生对水电的使用,对外来人员来访的知情情况等也可以通过对宿舍管理系统的运用加以进一步的了解。用户可以通过对目标数据的统计和查询,进行进一步的研究和总结,从而达到自己的目的,特别是相关工作人员,可以通过对数据的查询和统计完成上级任务,以及利用统计结果进行回执,制定相关问题解决方案。
2.1.6 权限分配
每一个系统都包括开发者和使用者两大用户,对各自担任的角色进行权限分配是系统正常运行的必然要求。对于一般学生而言,权限可以仅限于查看公告、水电缴费、账户查询、报修、调整寝室等相关权限;而相关宿舍管理人员要高于学生权限,一方面可以对学生用户进行全方位的管理,另一方面拥有所有的相关权限,在操作中可以对用户管理进行功能选择。每一个系统的操作用户不同,学生和宿舍相关工作人员的权限分配不同,其实也就是充当着系统管理员和系统操作员的角色。
2.2 可行性分析
信息和数据资料是社会各行各业实时把握各个部门动向的指标,也是相关政策方针部署的重要依据,因此,建立一个可以满足相关部门的信息处理系统是非常必要的,相对于宿舍管理而言,建立宿舍管理系统可以满足学校对宿舍管理的科学进行。宿舍管理系统的设计与实现就要从经济可行性、技术可行性、操作可行性等方面进行分析,不建空中楼阁,从自身情况进行分析其可行性。
2.2.1 经济可行性分析
硬件环境中,本次宿舍管理系统的将在Intel Pentium 160的处理器,内存为4G,硬盘空间在30G以上,ISA 或者 PCI 接口均可的硬件进行操作,每个学校都有自己的微机室,不需要重新采购宿舍管理系统设计和运行的硬件设施装备;软件环境中,宿舍管理系统其中在Windows操作系统、数据库MySQL、Apache、Chrome或其他浏览器上都可进行,不需要重金求购与特殊运营渠道;人力方面,宿舍管理系统从开发到正常使用是简易的,不需要大力的人工去操作,一个宿舍只需要当值人员操作即可;校方环境,学校领导重视本校的科技水平发展,也追求管理的科学和时效,在宿舍管理系统的研发上是完全支持的。
2.2.2 技术可行性分析
二十一世纪的生活方式得到了巨大改变,信息时代的观念已经深入人心,无论是手机还是电脑,或者其他网络设备,已经与我们日常生活密切相关,与我们形影不离。无纸化的宿舍管理已经是宿舍管理的重要趋势。学生宿舍管理软件主要是对宿舍、寝室的配置、住宿人员登记、卫生检查、宿舍资产、学生违纪、值班老师记录以及对学生住宿情况查询,修改,更新等可以更快地了解到每个学生的住宿情况。各种数据库软件和系统不断更新和改善,大大降低了宿舍管理系统开发的难度,也为宿舍管理系统的设计提供了便利。所以,宿舍管理系统在技术可行性的分析上,设计一套所在高校适用的宿舍管理系统是可行的也是必要的。
2.2.3 操作可行性分析
随着时代的变化,一方面,各高校长期采用较为传统的人工记录进行的高校宿舍的管理,随着时间的推移,人工记录的弊端大大凸显,越来越低的工作效率难以跟上现在的快节奏生活;过于教条的管理方式,难以应对突发的大规模数据变化;随着信息和数据的不断累积,加大了相关宿舍工作者的工作量,增加了信息查找、更新、维护的工作压力。随着全球科学技术的不断提高,各个地区的计算机技术也得到不断进步。计算机领域的各个功能也被人们熟知和运用,学生宿舍管理系统作为各高校的实用型管理软件,不仅为高校的宿舍管理提供了便利,也为高校的管理方式进行了技术上的突破。本系统采用常规的中文界面形式,简洁明了的系统模块,让学生和管理人员都可以方面的使用。
2.3 系统后台功能需求分析
每个系统都需要后台的平稳运行才可以进行正常运作,后台功能需求的分析也是对系统后台的改进和完善,宿舍管理系统的后台功能需求分析首先要有基本功能需求,然后要对系统中需要涉及的功能模块进行分析。
2.3.1 基本功能需求
宿舍管理系统的基本功能需求可以从最初的注册开始分析。无论是学生用户还是宿舍管理人员都必须进行账户和密码的正确输入才可以进入宿舍管理系统;宿舍管理系统应该进行住宿情况核实才能提供注册和登记;外来人员的来访也要进行从入舍到离寝的详细记录;学生日常以及寒暑假等其他假期贵重物品的出入移动也要进行详细记录;学生用户可以对本宿舍一些具体情况进行查询和检索,宿舍管理人员可以对一些信息进行修改和统计,保留修改功能;后台人员可以对账户和基本信息进行增加、删除、完善、修改。宿舍管理系统可以支持共享和打印,以方便资料的整理和存档。宿舍管理系统的基本功能需求是后台功能分析的核心和目标。
2.3.2 后台功能模块需求
宿舍管理系统的后台功能需求可以进行模块划分,然后进行系统分析。宿舍管理的后台功能可以划分为系统管理模块、公寓管理模块、报表管理模块、信息修改模块、出入登记模块、信息查询模块、学生管理模块等。系统管理模块要实现管理人员和一般管理人员的注册和登录,也要实现一般用户的注册和登录,以及正常的系统退出和修改密码模块。公寓管理模块中一方面要记录所有学校正在使用的宿舍楼信息,以及各个宿舍楼正在使用的宿舍情况;另一方面要也要包含校工,特别是宿舍管理人员更替的具体情况。相比较公寓管理而言的学生管理模块就要详细划分,必须包括学生基本信息的录入和在校学生每学期的学期注册,以及相关财物登记和寒暑假毕业季的离校登记。信息查询模块需要采用多元化多方式的设定进行查询,主要针对学生信息而言,查询模块可以从按学号进行查询,也可以按照姓名或者班级进行查询,还可以通过按寝室号查询进行情况摸底和信息统计。出入登记模块主要针对人员和物品进行登记和存档,比如外来人员来访时间需要登记,结束时间也需要登记;进楼物品要进行登记,相对应的出楼物品也要进行登记。信息修改模块涉及到学生和相关宿舍管理人员的基本信息修改,同时学生用户还可以对自己所持财物进行登记修改。报表管理模块主要应用于材料共享和上报功能,在学习成绩系统中汲取经验,支持学生对宿舍的信息打印,相关宿舍管理人员的信息打印,以及该生所在宿舍交费情况的打印等具体需要纸质材料的打印需求。
2.4 非功能性需求
系统的非功能性需求也是宿舍管理系统正常运行的重要内容,下面本文将从宿舍管理的性能需求和安全需求进行介绍和分析,为宿舍管理系统的完善和改进提供参考。
2.4.1 性能需求
宿舍管理系统要保证数据储存的时长,最短也要确定数据可以保持四到六年,以便服务整个大学生活。对数据的储存也要方便与相关人员对信息的及时查询和准确查询。对于已经保持的历史数据可以采用电脑终端磁盘备份的方式进行,另外也要注重对数据的保护和保持可以进行备份和恢复。其次,在宿舍管理系统中要采用计算机联网方式运行,学生和相关工作人员都可以通过电脑或者手机上的浏览器对系统进行访问和管理。最后,宿舍管理系统运行速度一定要满足日常工作的一般要求,所有服务功能以及页面响应功能的时间都要尽可能的合理,满足人机交互的需要,操作页面也要符合规范,多从传统软件着手,开发适合用户习惯的宿舍管理系统。
2.4.2 安全需求
宿舍管理系统的安全性需求也是正常运行的重中之重。宿舍管理系统的安全需求主要从物理安全需求、访问控制需求、系统加密需求、加密需求、入侵检测需求、管理体制需求等进行分析。物理安全需求主要是应对人为和自然灾害对信息的破坏,为此要加强机房和主机的防护工作,从物理上预防危险;宿舍管理系统的访问控制需求可以利用常规的安全认证模块,进行口令认证的登录,还可以设置复杂的ECC加密算法。从认证方面防止非法用户的访问;宿舍管理系统将采用加密算法对相关学生信息进行算法加密,从而保证信息存储和传输的安全;宿舍管理系统的网络入侵检测需求是安全需求的重要组成。防火墙只能从一定角度进行系统的防护,对于系统的被入侵,要建立入侵检测系统,对宿舍管理系统进行时时检测;宿舍管理系统虽然大大节省了人力财力,但是还是要通过工作人员进行运行,要避免不确定因素带来的问题,所以要建立相对完善安全机制,加强工作人员的安全意识。
2.5 本章小结
本文对宿舍管理系统后台的需求分析主要从系统后台目标、可行性分析、功能性和非功能性需求进行多角度分析,对宿舍管理系统后台的需求分析进行深入的探究,为后续的宿舍管理系统的设计也实现打下理论基础和目标方向。
第三章 系统后台的概要设计
3.1 系统后台技术架构设计
3.2 系统后台功能模块设计
3.3 系统后台的模块划分
3.4 系统后台的数据库设计
3.5 本章小结
第四章 系统后台的详细设计
4.1 系统后台设计原则
宿舍管理系统的设计与实现的目的是从用户的角度出发的。关于宿舍管理系统的相关功能不仅要满足日常宿舍管理的需求,也要考虑到使用系统时行为准则,本文从实用性原则、易用性原则、先进及成熟性的原则、稳定性的原则、安全性的原则进行设置宿舍管理系统的标准和要求。
4.1.1实用性的原则
该原则的内容分为三步,首先是要对学校日常宿舍管理的工作流程进行深入了解,然后根据相关宿舍管理人员的实际操作流程,最后就要识别并划分管理系统和后台的系统功能。帮助相关工作人员解决现阶段急需解决的问题,要真正从性质上把人工录入转化为无纸化的网络数据库存入的形式。
4.1.2易用性的原则
该原则主要针对与普通用户和一般后台管理人员而言的。因为大多数相关工作人员非计算机专业,并且接触到的操作系统有限,对数据库系统管理等操作不是十分熟悉,所以对其系统内容进行优化设计,并且通过此原则的内容能让工作人员在短期内熟练使用系统,提高相关工作者的工作效率,降低他们的工作压力。
4.1.3 先进及成熟性的原则
该原则主要针对相关开发人员而言,要求就是相关开发人员要实时把握当前先进流行的开发技术,对宿舍管理系统设计的步骤计划都进行周密的规划。采用的设计技术都应该是发展比较成熟的且广为适用的。在先进及成熟性的原则下可以大大减少了系统在后期维护需要升级系统的时间。
4.1.4 稳定性的原则
该原则内容是对系统在不同运行环境中提出的性能要求。宿舍管理系统在设计的时候要充分考虑到当此系统在一台计算机上开发完成后的后续工作,需要对其数据库与客户端的数据信息交互进行测试,要保证宿舍管理系统在不同配置的计算机上都可以进行运行,系统的稳定才可以促进宿舍管理系统的正常运行。
4.1.5 安全性的原则
该原则主要是对系统内数据和信息的保护,宿舍管理系统的安全性需求也是正常运行的重中之重。宿舍管理系统要从源头处进行口令认证的登录,还可以设置复杂的ECC加密算法;宿舍管理系统的日常运行中要建立入侵检测系统,对宿舍管理系统进行时时检测;宿舍管理系统的最后要保证数据的贮存和恢复,要保持长期有效。宿舍管理系统实行期间还要建立相对完善安全机制,加强工作人员的安全意识。
4.2 系统后台的业务流程
4.3 系统后台功能模块设计
4.3.1 库存调度管理模块
4.3.2 物资入库管理模块
4.3.3 物资信息管理模块
4.3.4 物资出库管理模块
4.3.5 系统管理模块
4.4 数据库设计
4.4.1 数据库概念设计
4.4.2 数据库逻辑设计
4.4.3 数据库物理设计
第五章 系统后台的设计与测试
5.1 环境配置
5.2 系统后台功能实现
5.2.1 调度申请功能
5.2.2 调度申请处理
5.2.3 调度完成记录
5.3 系统后台应用效果
5.4 系统后台测试
5.5 本章小结
第六章 总结与展望
参考文献
[1]刘张强,鲍正德,李晨曦.大学宿舍管理信息系统设计分析[J].信息与电脑(理论版),2019,31(22):81-83.
[2]申晓平.在线报修系统的设计与实现[J].电脑知识与技术,2019,15(29):52-53.
[3]宋福英.C语言基于结构体的学生信息管理系统实现[J].计算机时代,2020(03):84-86+89.
[4]赵伟.高校学生公寓网络建设及管理的研究[J].无线互联科技,2019,16(23):30-31.
[5]罗恒,马圣尧,李明杰,沈禹,倪达.基于大数据技术的智能宿舍分配系统[J].信息与电脑(理论版),2020,32(08):51-52.
[6]黄少霞.高校学生宿舍智能化管理模式的可行性分析[J].科技资讯,2020,18(18):224+226.
[7]王志挺.高职院校学生宿舍信息化管理能力提升路径研究[J].湖南邮电职业技术学院学报,2020,19(03):42-44.
[8]冯晓春,陈艳.基于web开发的学生公寓管理系统设计与实现[J].科技创新与应用,2020(31):77-78.
[9]王锋,金晶.高校学生宿舍水电表管理系统设计与实现[J].智能计算机与应用,2020,10(06):191-194.
[10]蒋丹丹,牛晓楠.基于SQL的宿舍学生成绩管理系统设计与开发[J].企业技术开发,2012,31(20):11-12.
[11]许超.学生宿舍管理系统的设计与实现[J].信息与电脑(理论版),2012(14):43-44.
[12]徐礼金. 基于J2EE框架的高校宿舍管理系统分析与设计[D].华南理工大学,2011.
[13]刘光军. 四川建筑职业技术学院宿舍管理系统的开发与设计[D].电子科技大学,2011.
[14]谢之凯,王琳.基于C/S结构的高校宿舍管理系统设计与实现[J].科技信息,2011(16):629+631.
[15]Hong Jian. A Probe into Promoting the Efficiency of the Administration of Freshmen's Dormitory. 2012, 17:1891-1896.
D. java学生宿舍管理系统怎么设计
我给你讲一下大概的思路:
1:第一步:设计数据库,一般像这种小型宿舍管理系统,选用mysql作为数据库,然后就是设计表,包括表中的字段名,字段的大小以及表之间的关系
2:第二布:确认使用的技术,作为java,你可以选用Springmvc作为mvc框架,毕竟它比较灵活和简单,然后Spring是必须的,用来管理事务,Hibernate作为后台数据库管理框架,jsp作为页面表现层。这样的程序比较健壮,扩展起来比较方便
3:在第二步的基础上,接下来就是建立Bean类,比如学生类、宿舍类等等,映射数据库表的字段,然后就是编写Service层、Dao层,等等建立数据处理逻辑
4:实现表现层,写jsp页面,你想在前台展示的内容就可以写在jsp里面,这里可以选用的技术有juqery,js。如果为了考虑用户体验,可以用ajax,实现异步无刷新交互。
5:前后台相互通信,用juint进行集成测试,看看数据是否按照逻辑准确的显示出来。后期测试等等
当然如果嫌麻烦,可以不采用ssh框架,可以直接用jsp+servlet写,这样比较简单,原理大概也差不多。只不过分层没这么清晰和明确了。
E. C语言程序设计:学生宿舍管理系统设计
给你个学生成绩管理的,你改一下变量名就好了
#include
#include
#define LEN sizeof(struct student)
#define N 35
#include
#define NULL 0
int n=0;
char m[8]={'0','1','2','3','4','5','6','7'};
int i;char c[10];char d[10];
char fname[20],fname0[20],fname6[20]={"shanchu"};
struct student
{long num;
char name[10];
int eng;
int math;
int comp;
int ave;
int all;
}p;
void shuru()
{FILE *fp;
printf("\n\n\t请输入存储学生数据的文件名:");
scanf("%s",fname);
fp=fopen(fname,"w");
printf("\t输入的数据之间请用跳格键(Tab)隔开\n\t每输入完一个学生的信按回车键(Enter)\n");
printf("\t结束输入学生数据时,请输入一个学生的学号为0并按回车键\n");
printf("\t学号 姓名 英语 数学 计算机\n");
do{ printf("\t");
scanf("%ld",&p.num);
if(p.num==0) break;
scanf("\t%s\t%d\t%d\t%d",p.name,&p.eng,&p.math,&p.comp);
p.all=(p.eng+p.math+p.comp);
p.ave=(p.all/3);
fwrite(&p,LEN,1,fp);
n++;
}while(1);
fclose(fp);
}
void chazhao()
{char fname1[20];
FILE *fp;
do{printf("\n\n\t请输入查找学生数据的文件名:");
scanf("%s",fname1);
if(strcmp(fname1,fname)==0){fp=fopen(fname,"r");break;}
else printf("\t你输入的文件不存在\n");}while(1);
long number;
do
{ printf("\t请输入要查找的学生的学号按回键(Enter):");
scanf("%ld",&number); rewind(fp);
for(i=0;i { fread(&p,LEN,1,fp);
if(number==p.num) { printf("\t学号 姓名 英语 数学 计算机 平均分 总? \n");
printf("\t%ld\t%s\t%d\t%d\t%d\t%d\t%d\n",p.num,p.name,p.eng,p.math,p.comp,p.ave,p.all);
}
}
printf("\t你还要查找吗?如果继续请输y'加回车键,否'n'加回车键:");
scanf("%s",c);}while(c[0]=='y');
fclose(fp);
}
void paixu()
{FILE *fp;char fname3[20];struct student k[N];
do{printf("\n\n\t请输入你要排序的学生数据的文件名:");
scanf("%s",fname3);
if(strcmp(fname3,fname)==0)
{fp=fopen(fname,"r");break;}
else printf("\t你输入的文件不存在\n");}while(1);
rewind(fp);
for(i=0;i fread(&k[i],LEN,1,fp);
int w,q,j,g,t,t2,t3,t4,t5;char z[10];long t1;
for(q=0;q {g=q;
for(j=q+1;j if(k[j].ave t=k[g].ave;k[g].ave=k[q].ave;k[q].ave=t;
t1=k[g].num;k[g].num=k[q].num;k[q].num=t1;
t2=k[g].eng;k[g].eng=k[q].eng;k[q].eng=t2;
t3=k[g].math;k[g].math=k[q].math;k[q].math=t3;
t4=k[g].comp;k[g].comp=k[q].comp;k[q].comp=t4;
t5=k[g].all;k[g].all=k[q].all;k[q].all=t5;
for(w=0;w<10;w++)
{z[w]=k[g].name[w];k[g].name[w]=k[q].name[w];k[q].name[w]=z[w];};
}
fclose(fp);
printf("\n\n\t请输入存储排完序的数据的文件名\n\t注意此文件名和存储原始数据的文件名不相同\n");
printf("\t");
scanf("%s",fname0);
fp=fopen(fname0,"w");
for(i=0;i fclose(fp);
}
void shuchu()
{FILE *fp;char fname2[20];
do{printf("\n\n\t请输入你要输出学生数据的文件名:");
scanf("%s",fname2);
if(strcmp(fname2,fname)==0){fp=fopen(fname,"r");break;}
else if(strcmp(fname2,fname0)==0){fp=fopen(fname0,"r");break;}
else if(strcmp(fname2,fname6)==0){fp=fopen(fname6,"r");break;}
else printf("\t你输入的文件不存在\n");}while(1);
rewind(fp);
printf("\t学号 姓名 英语 数学 计算机 平均分 总分\n");
printf("\t==============================================================\n");
for(i=0;i {fread(&p,LEN,1,fp);
printf("\t%ld\t%s\t%d\t%d\t%d\t%d\t%d\n",p.num,p.name,p.eng,p.math,p.comp,p.ave,p.all);
}
printf("\t==============================================================\n");
fclose(fp);}
void tongji()
{FILE *fp;char fname4[20];int e1=0,e2=0,e3=0,e4=0,e5=0;
do{printf("\n\n\t请输入你要统计的学生数据的文件名:");
scanf("%s",fname4);
if(strcmp(fname4,fname)==0)
{fp=fopen(fname,"r");break;}
else printf("\t你输入的文件不存在\n");}while(1);
rewind(fp);
for(i=0;i {fread(&p,LEN,1,fp);
if(p.ave<=59&&p.ave>=0)e1=e1+1;
if(p.ave<=69&&p.ave>=60)e2=e2+1;
if(p.ave<=79&&p.ave>=70)e3=e3+1;
if(p.ave<=89&&p.ave>=80)e4=e4+1;
if(p.ave<=100&&p.ave>=90)e5=e5+1;
}
fclose(fp);
printf("\t按平均分统计各分数段的学生人数 \n");
printf("\t==============================================================\n");
printf("\t分数段\t0--59\t60--69\t70--79\t80--89\t90--100 \n");
printf("\t人 数 \t %d\t %d\t %d\t %d\t %d\n",e1,e2,e3,e4,e5);
printf("\t==============================================================\n");
}
void shanchu()
{FILE *fp,*fp1;char fname5[20];long number;struct student M[N];
printf("\n\t");
do{printf("\n\t请输入你要删除学生数据的文件名:");
scanf("%s",fname5);
if(strcmp(fname5,fname)==0)
{fp=fopen(fname,"r");break;}
else printf("\n\t你输入的文件不存在 \n");}while(1);
rewind(fp);
fp1=fopen(fname6,"w");
do{printf("\t请输入要删除数据的学生的学号并按回车键:");
scanf("%ld",&number);
for(i=0;i {fread(&M[i],LEN,1,fp);
if(M[i].num!=number)fwrite(&M[i],LEN,1,fp1);
}
n--;
fcloseall();
fp1=fopen(fname6,"r");fp=fopen(fname,"w");
for(i=0;i {fread(&M[i],LEN,1,fp1);fwrite(&M[i],LEN,1,fp);}
fcloseall();
printf("\t你还要删除吗?如果继续请输入'y'加回车键,否则'n'加回车键:");
scanf("%s",c);
}while(c[0]=='y');
}
void charu()
{FILE *fp;char fname7[20];
do{printf("\t请输入你要插入学生数据的文件名:");
scanf("%s",fname7);
if(strcmp(fname7,fname)==0){fp=fopen(fname,"r+");break;}
else printf("\t你输入的文件不存在 ");}while(1);
printf("\t请输入你要插入的数据\n\t输入的数据之间请用跳格键(Tab)隔开\n\t每输入完一个学生的数据按回车键(Enter) \n");
printf("\t结束插入学生数据时,请输入一个学生的学号为0并按回车键\n");
printf("\t学号\t姓名\t英语\t数学\t计算机 \n");
do{fseek(fp,n*LEN,0);printf("\t");
scanf("\t%ld",&p.num);
if(p.num==0) break;
scanf("\t%s\t%d\t%d\t%d",p.name,&p.eng,&p.math,&p.comp);
p.all=(p.eng+p.math+p.comp);
p.ave=(p.all/3);
fwrite(&p,LEN,1,fp);
n++;}while(1);
fclose(fp);
}
void zhujiemian()
{
printf("\n\t 主菜单 \n");
printf("\n");
printf("\t============================================================== \n");
printf("\n");
printf("\t 1.数据输入 2.数据输出 \n");
printf("\n");
printf("\t 3.数据排序(按平均分) 4.数据查找(按学号) \n");
printf("\n");
printf("\t 5.数据的插入 6.数据的删除(按学号) \n");
printf("\n");
printf("\t 7.数据的统计(按平均分)? 0.退出 \n");
printf("\n");
printf("\t============================================================== \n");
printf("\t请输入你的选择(0---7)并按回车键:");
scanf("%s",d);
}
void main()
{do
{
zhujiemian();
if(d[0]==m[0])break;
else if(d[0]==m[1]){shuru();printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");}
else if(d[0]==m[2]){shuchu();}
else if(d[0]==m[3]){paixu();}
else if(d[0]==m[4]){chazhao();}
else if(d[0]==m[5]){charu();}
else if(d[0]==m[6]){shanchu();}
else if(d[0]==m[7]){tongji();}
else {printf("\t你的选择不正确!请重新选择! \n");
}
}while(1);
printf("\n\t\n\t\n\t\n\t\n\t\n\t\n\t");
printf("\t\t谢谢你的使用!!! ") ;
}
F. 基于vb 的学生宿舍管理系统的设计用什么数据库
可以使用access数据库 也可以使用sql server数据库。都是可以的。
G. 宿舍管理 数据库
你可以写各触发器:
当你的宿舍新增人时,那个栏位+1
因为毕业或者换宿舍的时候,那各栏位-1
这样的话才可以保证数据的正确性
你直接用语句差就好了 不需要那么麻烦的
H. 软件开发中宿舍管理系统的数据库设计说明书该怎么写
1.简介(目的,参考术语、数据库环境要求、数据库命名规则)
2.结构设计(逻辑结构设计、物理结构设计(设计一览表、具体的表信息(画个表格写上表名、列明、说明、类型、书否为空、约束条件)))
3.安全性设计
4.数据的优化 维护说明..
..
我有数据库设计说明书
I. 用VB+Mysql 实现员工宿舍管理系统
员工管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发。
论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。
关键字 Visual Basic 6.0 Access2000 控件 窗体 域
Abstract The system of managing census register file is a typical application of managing information system (know as MIS),which mainly includes building up data-base of back-end and developing the application interface of front-end. The former required consistency and integrality and security of data. The later should make the application powerful and easily used.
By looking up lots of datum, we selected Visual Basic presented by Microsoft because of its objective tools in Win32. VB offered a series of ActiveX operating a data-base. It can give you a short-cut to build up a prototype of system application. The prototype could be modified and developed till users are satisfied with it.
Key Word Visual Basic 6.0、Access2000、ActiveX、Form、Field
目 录
第一章 导论... 2
第二章 系统需求分析... 3
第一节 系统设计背景介绍... 3
第二节 系统功能分析... 4
第三章 员工管理系统总体设计.... 5
第1节 系统设计.... 5
第2节 数据库设计... 9
第四章 详细设计工作.... 11
第1节 各功能模块创建及实现.... 11
第五章 系统功能测试... 25
第六章 结束语... 26
J. 宿舍管理系统C#编写求帮助文档数据库详情表!
一、 系统需求分析
(1) 问题背景:
目前学校的每个楼栋的学生信息、财产、外出违规情况都是随便写在几个本子上,没有比较系统的存储,很容易丢失不便以统一管理,所以就做了这个系统。
(2) 总体目标:
建立一个比较完善的楼栋管理系统以及数据库,使管理员更加有效地组织管理各楼栋的学生信息。
(3) 主要功能:
该系统是面向楼栋管理员的。主要涉及到三个功能学生的基本信息管理、楼栋房间管理以及违规情况的管理。
学生信息管理:入校时,每位同学都有唯一的学号,并被分配到指定的宿舍楼和指定的宿舍,也会有一个宿舍号,其入校时间就是他的入住时间。另外,为了管理上的方便,同一院系的学生的宿舍一般在一起,相应地会有其所在的院系名称。
楼栋房间管理:要涉及每个房间的号码、电话、可容纳的人数、还有水表度数、电表度数。
违规情况的管理:录入违反学校规定的每个同学的信息,违反的原因及处罚的结果。
(4) 实现:
系统结构采用当前流行的C/S结构,也就是客户端/服务器模式。本设计是以楼栋管理系统为例。编程语言采用C#,它可视化的开发环境,可以快速完成系统的开发,内部集成的数据库访问通道,可以轻松方便的对数据库管理。
二、系统功能的设计和实现
主要通过存储过程来实现。
储存过程的设计:
a.显示的存储过程:Show_allstudent(已正确执行):
ALTER PROCEDURE [dbo].[show_allstudents]
AS
BEGIN
select * from Student
END
类似的还有:show_allroom
b.增加的存储过程:insert_student:
ALTER PROCEDURE [dbo].[insert_student]
@Number nvarchar(50),
@Name nvarchar(50),
@Sex nvarchar(50),
@Department nvarchar(50),
@RoomNo nvarchar(50),
@InDay nvarchar(50)
AS
BEGIN
insert into Student values(@Number,@Name,@Sex,@Department,@RoomNo,@InDay )
END
限于篇幅其他省略……
约束的设置:
键约束:student表中,Number是主键,当插入相同的学生号时,会出错。Room表中,插入相同房号会报错。
单值约束:([Number] like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') 当插入学生号时,如果不是10个数字会出错。
引用完整性约束(外键约束):当在违规表中录入的学生号不存在student中的时候,录入表不能显示弹出错误提示。
当录入学生信息表的时候,加入的房间号不存在Room表中就会出错。
代码实现:主要通过ADO.Net,调用存储过程来实现。
(三)实现的页面功能
总结:这个小项目应该是我第一次用C#开发的项目,花了几天时间,主要是数据库的实践作业。基本数据库所设计到的功能(键约束、单值约束、引用完整性,各种储存过程)。主要涉及到的就是Ado.Net 以及SQL Server 2005的一些基本常用方法,存储过程视图的应用。几年前开发的,现在回想起来当时开发的系统有点幼稚,如现在计算加减乘除的。这是上交时的版本,后期又完善了一下,可以用,比这好看,功能强大(未贴出)。
主要涉及技术:ADO.Net 、 SQL Server2008、界面换肤、需求分析与设计