IT项目之旅(一)《宿舍管理系统》设计与实现

《宿舍管理系统》

数据库工具:SQL SERVER 2005 

编程环境:Microsoft Visual Studio 2005

编程语言:C#   

作者:05计算机A  呆呆 0515111039

一、  系统需求分析

(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 Server2005、界面换肤、需求分析与设计

posted @ 2009-10-26 21:19  wakerobin  阅读(2243)  评论(14编辑  收藏  举报