宿舍管理資料庫設計
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、界面換膚、需求分析與設計