会议管理系统的分析与设计_第1页
会议管理系统的分析与设计_第2页
会议管理系统的分析与设计_第3页
会议管理系统的分析与设计_第4页
会议管理系统的分析与设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程实验报告会议管理系统的分析与设计课程设计任务书.doc学生姓名学号班级成绩指导教师计算机科学与技术系2011年 6月 一三日摘 要会议是人们为了解决某个共同的问题或出于不同的目的聚集在一起进行讨论、交流的活动,它往往伴随着一定规模的人员流动和消费。目前大部分会议的主办方均有意尝试信息化更强的会议活动管理系统进行会议管理的建设,不仅节约开发周期、并且费用低廉、同样也可以自定义网站样式及风格,并且在线注册环节比自主开发的要更为稳定和可靠。本次实验利用Visual C# 作为开发的语言工具,SQL server作为数据库开发工具,开发出了一个小型的会议室管理系统。关键词:会议;数据库;管理系

2、统目 录1课题描述12 可行性研究报告22.1问题描述22.2可行性研究的前提22.2.1要求22.2.2可行性研究方法23 需求分析33.1任务概述33.3数据流图33.4数据字典44 概要设计64.1定义64.2任务概述64.3总体设计65 详细设计75.1编写目的75.2数据库设计75.1.1会议管理系统E-R图75.2.1关系模型75.3前台主要界面85.3.1登陆界面85.3.2用户注册界面95.3.3用户申请会议室115.4系统后台主要界面一三5.4.1 后台登陆一三5.4.2 查询会议室145.4.3 处理用户申请175.4.4删除用户信息195.4.5处理用户结账216 软件测

3、试246.1编写目的246.2测试内容24总 结27参考文献281课题描述 当今社会竞争日益激烈,公司会议也不断增多,会议信息量也不断增大,公司经常需要会议进行沟通,解决问题以及制定决策,而现在公司会议管理效率很低,容易出错,所以利用信息化管理会议已经成为公司的急切需要。本实验利用ASP.NET技术进行会议管理系统的设计与实现,处理会议信息以及相关项目管理功能,更方便了用户和管理者的使用。信息化处理是当今社会不可避免的趋势,单一的手工操作已经不能满足规模日益增大的企业。随着计算机技术的发展,以及计算机在企业单位中的应用普及,计算机强大的功能已为人们深刻认识。292 可行性研究报告2.1问题描述

4、本会议室管理系统包括各种会议室的信息,用户可以根据需要申请、修改、删除会议室:1)用户需先注册一个账号,通过注册的账号登陆会议室管理系统进行操作。2)申请相应的会议室后,如果需要继续使用,可以申请会议室。3)也可以删除申请的会议室。管理员可以查询会议室、处理用户申请、删除用户以及查看编辑用户结账信息:1)管理员登陆会议管理系统,查询会议室的情况(空闲或占用)。2)管理员可以处理用户申请,为用户分配会议室。3)管理员可以删除用户基本信息。4)管理员处理用户结账信息。2.2可行性研究的前提2.2.1要求功能:对用户管理、对会议室管理、对会议室申请管理。性能:方便快捷的实现申请、修改、删除各功能。输

5、出:客户信息、会议室信息、申请信息输入:客户信息、会议室信息、申请信息2.2.2可行性研究方法 目的是用最小的代价在尽可能的时间内确定问题是否能解决。1)技术可行性研究本软件利用Visual C# 作为开发的语言工具,SQL server作为数据库开发工具。技术评价:在现有的软件和硬件条件可以满足我们的需求,并且通过学习可以使用C#语言实现本系统,本系统管理对象单一,数据变化性频繁,计算并不难,因此采用数据库管理。2)经济可行性研究本系统开发工具Visual C# 2005软件和SQL server数据库软件本开发小组已经拥有,不再需要购买,本系统的开发成本较低,从经济方面来说,可以开发。3

6、需求分析3.1任务概述需求分析是软件定义时期的最后一个阶段,它的基本任务是准确的回答:系统必须做什么?需求分析通常提出对系统的功能需求、性能需求、可靠性和可用性需求等多种需求。会议室的合理分配,不仅利于公司资源最大程度的利用,而且有利于提高会议质量,解决了因资源竞争产生的一系列问题,避免冲突。会议管理是一项需要重视的工作,本软件可以让会议室的利用率进一步提高,管理员方便管理,避免管理中容易出现的一些错误。使用本软件要求用户熟悉Windows 操作,并且有一定的软件操作基础。预计本软件将会在一些小的会议室租赁公司中得到广泛使用。3.2性能要求1)系统安全、可靠2)功能齐全3)界面清晰大方,操作简

7、单4)易于维护和扩充3.3数据流图顶层数据流图如图3.1所示:图3.1顶层数据流图0层数据流图如图3.2所示:图3.2层数据流图3.4数据字典数据字典是开发者与用户相互沟通的有效途径之一。它能形象的向用户描述开发者的意图,使用户明白数据库可能具有的项目。数据字典是各类数据描述的集合,它是进行详细的数据收集和数据分析后所获得的主要成果。数据字典卡片:名字:客户信息别名:描述:客户的个人信息,用于对客户的确认定义:客户信息=客户+工作单位+电话+密码 位置:输入到会议系统管理员端名字:申请会议室客户清单别名:描述:已申请会议室的客户的记录定义:申请会议室客户清单=客户信息的合集位置:输入到会议系统

8、管理员端名字:会议室申请信息别名:描述:客户申请的会议室时间和类型,用于确定客户使用的会议室定义:会议室申请信息=申请会议室时间+会议室类型位置:传输到会议系统管理员端名字:会议室申请通知信息别名:描述:客户的会议室信息,根据客户的使用时间和类型确定的定义:会议室申请通知信息=客户的申请时间+会议室类型位置:传输到会议系统管理员端名字:已租出会议室信息别名:描述:会议室出租情况的信息定义:已租出会议室信息=已处理的会议室申请位置:输出到打印机名字:客户使用会议室记录别名:描述:已申请的客户在会议室出租公司的记录定义:客户使用会议室记录=客户ID+会议室信息位置:输出到会议系统管理员端名称:管理

9、员表别名:描述:对管理员的描述定义:管理员用户名密码位置:输出到会议系统管理员端4 概要设计4.1定义可行性:用最小的代价在尽可能段的时间内确定问题是否能解决,是否值得解决,但并不直接解决问题。即在较高层次上以抽象方式进行需求分析和设计。技术可行性:对要开发的项目的功能、性能和限制条件进行分析,确定在现有资源条件下,技术风险有多大,项目是否能实现。社会可行性:开发项目是否会在社会上、政治上引起侵权、破坏或其他责任问题。系统流程图:用图形符号描述组成系统的各个元素以及信息在这些部件之间的流动情况。数据流图(DFD):用来描绘软件系统的逻辑模型的工具,它描绘数据在软件系统中流动和被处理的逻辑过程。

10、数据源点/终点:正方形表示 用于反映数据流图与外部实体之间的联系。数据字典:用来定义数据流图中各个元素具体含义,它的一种准确的,无二异性的说明方式,为系统的分析、设计和维护提供了有关元素的详细描述。4.2任务概述本系统旨在开发一个实用的会议室管理系统,利用信息化手段辅助管理,达到提升管理效率的目的。4.3总体设计通过详细调查社区管理信息,充分了解了系统的概况,明确管理员和用户的各种需求,确定本次设计的会议管理系统包括如图4.1所示的几大功能:图4.1 会议管理系统功能模块图5 详细设计5.1编写目的软件详细设计就是在软件总体设计的基础上,考虑如何实现定义的软件系统。直到对系统中的每个模块给出了

11、足够详细的过程描述。在详细设计以后,程序员仍将根据详细设计的过程编写出实际的程序代码。详细设计的目标是确定应该怎样具体实现所需求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。5.2数据库设计5.1.1会议管理系统E-R图E-R图如图5.1所示:图5.1 E-R图5.2.1关系模型关系模型的逻辑结构是一组关系模式的集合。将E-R图转换为关系模式就是要将实体型、实体的属性和实体性之间的联系转换为关系模式。据以上E-R图以及实体集间1:1联系,1:n联系,m:n联系的转换规则,可以将E-R转换为关系模型。关

12、系模型为(其中加下划线的为主码):会议室(会议编号,类型,价格,状态)预订(编号,会议室类型,时间,电话,公司名称)管理员(用户名,密码)用户(编号,姓名,电话,密码,公司名称)5.3前台主要界面5.3.1登陆界面首先连接数据库进入登录窗口,登录窗口如图5.2所示:5.2登录窗口using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using S

13、ystem.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void BtnOk_Click(Object sender, EventArgs e) string StrYhm = TxtYhm.Text.Trim(); string Str

14、Mm = TxtMm.Text.Trim(); if (StrYhm = "" | StrMm = "") Response.Write("<script>alert('请输入用户名或密码!');</script>"); else SqlConnection mycon = new SqlConnection(Class1.con); mycon.Open(); SqlCommand mycom = mycon.CreateCommand(); mycomxmandText = "se

15、lect 用户ID,密码 from 用户表 where 用户ID='"+StrYhm+"'and 密码='"+StrMm+"'" SqlDataReader myread = mycom.ExecuteReader(); bool flag = myread.Read(); if (flag) Response.Redirect("main.aspx"); else Response.Write("<script>alert('登录失败!');</s

16、cript>"); mycon.Close(); mycom.Dispose(); protected void BtnCancel_Click(Object sender, EventArgs e) TxtYhm.Text = "" TxtMm.Text = "" 5.3.2用户注册界面用户注册如图5.3所示:5.3用户注册界面using System;using System.Collections;using System.Configuration;using System.Data;using System.Data.SqlCl

17、ient;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;public partial class zhuce : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void BtnOk_Clic

18、k(object sender, EventArgs e) SqlConnection mycon = new SqlConnection(Class1.con); mycon.Open(); SqlCommand mycom = mycon.CreateCommand(); mycomxmandText = "insert into 用户表 values('" + TxtYhid.Text.Trim() + "','" + TxtDh.Text.Trim() + "','" + TxtGsm.

19、Text.Trim() + "','" + TxtMm.Text.Trim() + "')" Int32 flag1 = mycom.ExecuteNonQuery();/执行sql语句,并返回获得值 if (flag1 > 0)/如果数据中没有记录或有多条记录则抱错 Response.Redirect("Default.aspx"); else Label1.Text = "添加失败" mycon.Close(); mycom.Dispose(); protected void Bt

20、nCancel_Click(object sender, EventArgs e) TxtYhid.Text = "" TxtDh.Text = "" TxtGsm.Text = "" TxtMm.Text = "" 5.3.3用户申请会议室用户申请会议室如图5.4所示:5.4用户申请会议室using System;using System.Collections;using System.Configuration;using System.Data;using System.Data.SqlClient;usi

21、ng System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;public partial class Addsq : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) public void BtnOk_Click(object se

22、nder, EventArgs e) if (Txtyh.Text = "") | (Txtgs.Text = "") | (Txtsj.Text = "") | (Txtlxdh.Text = "") | (Txthyslx.Text = "") Response.Write("<script>alert('不能为空!')</script>"); else SqlConnection mycon = new SqlConnection

23、(Class1.con); mycon.Open(); SqlDataAdapter myadapter = new SqlDataAdapter("select max(编号)as 编号 from 预定表 ", mycon); DataSet myds = new DataSet(); myadapter.Fill(myds, "ydb"); Int32 li1 = Convert.ToInt32(myds.Tables"ydb".Rows00); Int32 li2 = li1 + 2; mycon.Close(); SqlCon

24、nection mycon1 = new SqlConnection(Class1.con); mycon1.Open(); SqlCommand mycom1 = mycon1.CreateCommand(); mycom1xmandText = "insert into 预定表 (编号,用户ID,公司名,时间,电话,会议室类型,申请状态) values('" + li2 + "','" + Txtyh.Text.Trim() + "','" + Txtgs.Text.Trim() + &qu

25、ot;','" + Txtsj.Text.Trim() + "','" + Txtlxdh.Text.Trim() + "','" + Txthyslx.Text.Trim() + "','未处理')" Int32 flag1 = mycom1.ExecuteNonQuery(); mycon1.Close(); SqlConnection mycon2 = new SqlConnection(Class1.con); mycon2.Open(); Sq

26、lCommand mycom2 = mycon2.CreateCommand(); mycom2xmandText = "insert into 结账表 (编号,用户ID,公司名,时间,会议室类型,价格,结账状态) values('" + li2 + "','" + Txtyh.Text.Trim() + "','" + Txtgs.Text.Trim() + "','" + Txtsj.Text.Trim() + "','"

27、; + Txthyslx.Text.Trim() + "','2000','未结账')" Int32 flag2 = mycom2.ExecuteNonQuery(); mycon2.Close(); if (flag1 > 0) && (flag2 > 0) Response.Write("<script>alert('添加申请成功!')</script>"); else Response.Write("<script>al

28、ert('添加申请成功!')</script>"); public void BtnCancel_Click(object sender, EventArgs e) Txtyh.Text = "" Txtgs.Text = "" Txtsj.Text = "" Txthyslx.Text = "" Txtlxdh.Text = "" Label1.Text = Class1.bh; 5.4系统后台主要界面5.4.1 后台登陆后台登陆如图5.5所示:图5.5后

29、台登陆using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class _Default : System.Web

30、.UI.Page protected void Page_Load(object sender, EventArgs e) protected void BtnOk_Click(Object sender, EventArgs e) string StrYhm = TxtYhm.Text.Trim(); string StrMm = TxtMm.Text.Trim(); if (StrYhm = "" | StrMm = "") Response.Write("<script>alert('请输入用户名或密码!');

31、</script>"); else SqlConnection mycon = new SqlConnection(Class1.con); mycon.Open(); SqlCommand mycom = mycon.CreateCommand(); mycomxmandText = "select 管理员ID,密码 from 管理员表 where 管理员ID='" + StrYhm + "'and 密码='" + StrMm + "'" SqlDataReader myread

32、 = mycom.ExecuteReader(); bool flag = myread.Read(); if (flag) Response.Redirect("main.aspx"); else Response.Write("<script>alert('登录失败!');</script>"); mycon.Close(); mycom.Dispose(); protected void BtnCancel_Click(Object sender, EventArgs e) TxtYhm.Text = &qu

33、ot;" TxtMm.Text = "" 5.4.2 查询会议室查询会议室如图5.6所示:图5.6查询会议室using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System

34、.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class Chaxun : System.Web.UI.Page public String str,str1,str2; protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) bind1(); protected void BtnOk_Click(object sender, EventArgs e) str1 = TxtHysid.Text.Trim(); str2 = Txt

35、Hyslx.Text.Trim(); if (str1="") && (str2="") Response.Write("<script>alert('请输入数据!')</script>"); if (str1!="") && (str2="") str = "select 会议室ID,类型,价格,状态 from 会议室表 where 会议室ID='" + str1 + "'&q

36、uot; bind(str); if(str1="") && (str2!="") str="select 会议室ID,类型,价格,状态 from 会议室表 where 类型='"+str2+"'" bind(str); if (str1!="") && (str2!="") str = "select 会议室ID,类型,价格,状态 from 会议室表 where 会议室ID='" + str1 +

37、"' and 类型='" + str2 + "'" bind(str); protected void BtnCancel_Click(object sender, EventArgs e) TxtHysid.Text = "" TxtHyslx.Text = "" /无输入时绑定 public void bind1() SqlConnection mycon = new SqlConnection(Class1.con); mycon.Open();/where 状态 ='闲置&#

38、39; SqlDataAdapter myadapter = new SqlDataAdapter("select 会议室ID,类型,价格,状态 from 会议室表 ", mycon); DataSet myds = new DataSet(); myadapter.Fill(myds, "ydb"); this.GridView1.DataSource = myds; this.GridView1.DataBind(); mycon.Close(); /有输入时板顶 public void bind(String st) SqlConnection m

39、ycon1 = new SqlConnection(Class1.con); mycon1.Open(); SqlDataAdapter myadapter1 = new SqlDataAdapter(st, mycon1); DataSet myds1 = new DataSet(); myadapter1.Fill(myds1, "ydb1"); this.GridView1.DataSource = myds1; this.GridView1.DataBind(); mycon1.Close(); public void GridView1_PageIndexChan

40、ging(object sender, GridViewPageEventArgs e) this.GridView1.PageIndex = e.NewPageIndex; if (TxtHysid.Text.Trim() ="") && (TxtHyslx.Text.Trim() = "") bind1(); else bind(str); 5.4.3 处理用户申请用户申请如图5.7所示:图5.7 用户申请处理申请如图5.8所示:图5.8处理申请 using System;using System.Collections;using

41、System.Configuration;using System.Data;using System.Data.SqlClient;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;public partial class Modifysq : System.Web.UI.Page protected voi

42、d Page_Load(object sender, EventArgs e) if (!IsPostBack) bind(); public void GridView1_RowEditing(object sender, GridViewEditEventArgs e) GridView1.EditIndex = e.NewEditIndex; bind(); public void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) GridView1.PageIndex = e.NewPageIndex

43、; bind(); public void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) GridView1.EditIndex = -1; bind(); public void bind() SqlConnection mycon = new SqlConnection(Class1.con); mycon.Open(); SqlDataAdapter myadapter = new SqlDataAdapter("select 编号,用户ID,公司名,时间,会议室ID,会议室类型

44、,申请状态 from 预定表", mycon); DataSet myds = new DataSet(); myadapter.Fill(myds, "ydb"); this.GridView1.DataSource = myds; this.GridView1.DataBind(); mycon.Close(); protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) SqlConnection sqlcon = new SqlConnection(Class

45、1.con); string sqlstr = "update 预定表 set 会议室ID='" + (TextBox)(GridView1.Rowse.RowIndex.Cells4.Controls0).Text.ToString().Trim() + "',申请状态='" + (TextBox)(GridView1.Rowse.RowIndex.Cells6.Controls0).Text.ToString().Trim() + "' where 编号='" + Convert.ToInt

46、16(GridView1.DataKeyse.RowIndex.Value.ToString() + "'" SqlCommand sqlcom = new SqlCommand(sqlstr, sqlcon); sqlcon.Open(); Int32 flag1 = sqlcom.ExecuteNonQuery();/执行sql语句,并返回获得值 sqlcon.Close(); SqlConnection sqlcon1 = new SqlConnection(Class1.con); string sqlstr1 = "update 结账表 set

47、会议室ID='" + (TextBox)(GridView1.Rowse.RowIndex.Cells4.Controls0).Text.ToString().Trim() + "',结账状态='" + (TextBox)(GridView1.Rowse.RowIndex.Cells6.Controls0).Text.ToString().Trim() + "' where 编号='" + Convert.ToInt16(GridView1.DataKeyse.RowIndex.Value.ToStrin

48、g() + "'" SqlCommand sqlcom1 = new SqlCommand(sqlstr1, sqlcon1); sqlcon1.Open(); Int32 flag2 = sqlcom1.ExecuteNonQuery();/执行sql语句,并返回获得值 sqlcon1.Close(); SqlConnection sqlcon2 = new SqlConnection(Class1.con); string sqlstr2 = "update 会议室表 set 状态='占用 ' where 会议室ID='&quo

49、t;+ (TextBox)(GridView1.Rowse.RowIndex.Cells4.Controls0).Text.ToString().Trim()+ "'" SqlCommand sqlcom2 = new SqlCommand(sqlstr2, sqlcon2); sqlcon2.Open(); Int32 flag3 = sqlcom2.ExecuteNonQuery();/执行sql语句,并返回获得值 sqlcon2.Close(); if (flag1 > 0) && (flag2 > 0) && (f

50、lag3 > 0) Response.Write("<script>alert('处理成功!')</script>"); GridView1.EditIndex = -1; bind(); 5.4.4删除用户信息删除用户信息如图5.9所示:图5.9 删除用户信息using System;using System.Collections;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Web;using Sy

51、stem.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;public partial class Deleteyh : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) bind(); public void bind() SqlConnection mycon = new SqlConnection(Class1.con); mycon.Open(); SqlDataAdapter myadapter = new SqlDataAdapter("select 用户ID,公司名,电话 from 用户表", mycon); DataSet myds = new DataSet(); myadapter.Fill(myds, "ydb"); this.GridView1.DataSource = myds

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论