OAS设计文档新1.docx
- 文档编号:6618353
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:23
- 大小:967.17KB
OAS设计文档新1.docx
《OAS设计文档新1.docx》由会员分享,可在线阅读,更多相关《OAS设计文档新1.docx(23页珍藏版)》请在冰豆网上搜索。
OAS设计文档新1
Web开发与应用技术
设计文档
项目名称:
办公自动化系统
完成日期:
2012-01-05
目录
第一章
系统设计背景············································3
第二章
系统需求分析············································3
第三章
系统功能介绍············································3
第四章
系统流程图··············································8
第五章
系统模块划分···········································8
第六章
数据库的设计············································9
第七章
详细设计及实现··········································9
第八章
主界面预览效果图·······································20
一、系统设计背景
办公自动化(OfficeAutomationSystem,OAS)系统,是利用先进的计算机信息技术和现代办公设备构成的人机信息处理系统,辅助管理人员进行各种办公活动。
办公自动化系统由办公机构、办公人员、办公设备、网络环境、办公信息等几个基本要素构成。
本系统开发的目的是紧密结合目前政府机关和企事业单位的办公业务流程和管理特点,开发一套先进的、综合的、完整的、并且能有效的在局域网和广域网运行的办公自动化系统。
通过该系统的使用,可有效地提高政府机关和企事业单位的工作效率,提升应用单位信息化管理的水平,减少工作人员的工作量,降低政府机关和企事业单位的成本。
二、系统需求分析
1.数据层上,实现对员工部门信息的修改、删除、更新等操作,同时记录考勤状况。
2.业务层上,实现各种与数据层的交互工作。
3.视觉上,尽可能的做到人机交互,简明、易懂。
4.主界面上显示当前日期,展示经理风采。
三、系统功能介绍
•登录功能
【系统管理员】
•查看公告
•考勤管理(设置上下班时间,管理员工的签到、签退等)
•系统设置(设置个人密码,为系统设置新的管理员等)
•部门管理(编辑新增加的部门以及部门信息的维护工作)
【普通用户】
•个人操作(包括查看系统公告,修改个人登录密码)
•考勤签到(完成个人考勤,即签到和签退功能的实现)
•查看系统公告
•上下班签到时间设置
•上下班签到功能
•密码重置功能
•添加新管理员设置
•新建部门功能
•更新部门信息
四、系统流程图
五、系统模块划分
【模块划分】
登录模块
员工管理模块
管理员和普通员工模块
数据维护模块
上班签到的查询
部门增删信息更新模块
六、数据库设计
数据库中存在8个表单分别如下:
七、详细设计及实现
1.连接数据库:
Web.configue:
BaseClass这个实现连接的类:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
usingSystem.Collections;
///
///BaseClass的摘要说明
///
publicclassBaseClass:
System.Web.UI.Page
{
publicBaseClass()
{
//
//TODO:
在此处添加构造函数逻辑
//
}
#region显?
示?
客í户§端?
对?
话°框ò
///
///WebMessageBox用?
来ぁ?
在ú客í户§端?
弹獭?
出?
对?
话°框ò。
£
///
///
话°框ò显?
示?
内ú容╕
///
publicstringMessageBox(stringTxtMessage)
{
stringstr;
str="
returnstr;
}
#endregion
#region执′行DSQL语?
句?
///
///用?
来ぁ?
执′行DSQL语?
句?
///
///
符?
串?
///
是?
否?
成é功|(True\False)
publicBooleanExecSQL(stringsQueryString)
{
SqlConnectioncon=newSqlConnection(ConfigurationManager.AppSettings["conStr"]);
con.Open();
SqlCommanddbCommand=newSqlCommand(sQueryString,con);
if(dbCommand.ExecuteNonQuery()>0)
{
con.Close();
returntrue;
}
else
{
con.Close();
returnfalse;
}
}
///
///公?
告?
信?
息¢添?
加ó
///
///
题琣
///
告?
内ú容╕
///
布?
公?
告?
人?
///
publicBooleanExecProcNotice(stringtitle,stringcontent,stringperson)//执′行D公?
告?
程ì序ò
{
SqlConnectioncon=newSqlConnection(ConfigurationManager.AppSettings["conStr"]);
con.Open();
SqlCommandcmd=newSqlCommand("insert_tb_notice",con);
cmd.CommandType=CommandType.StoredProcedure;
//公?
告?
标括?
题琣
SqlParameterpTitle=newSqlParameter("@noticeTitle",SqlDbType.VarChar,80);//设Θ?
置?
数簓据Y库a参?
数簓
pTitle.Value=title;
cmd.Parameters.Add(pTitle);
//公?
告?
详ê细?
内ú容╕
SqlParameterpContent=newSqlParameter("@noticeContent",SqlDbType.Text,0);//0为aText默?
认?
存?
储洹?
的?
最?
大洙?
值μ
pContent.Value=content;
cmd.Parameters.Add(pContent);
//公?
告?
发ぁ?
布?
人?
SqlParameterpPerson=newSqlParameter("@noticePerson",SqlDbType.VarChar,20);
pPerson.Value=person;
cmd.Parameters.Add(pPerson);
//判D断?
运?
行D结á果?
if(cmd.ExecuteNonQuery()>0)
{
con.Close();
returntrue;
}
else
{
con.Close();
returnfalse;
}
}
#endregion
#region查é询ˉSQL语?
句?
///
/// ?
执′行D查é询ˉS戗?
Q?
L戗?
语?
句?
///
///
符?
串?
///
名?
称?
///
publicSystem.Data.DataSetGetDataSet(stringsQueryString,stringTableName)
{
SqlConnectioncon=newSqlConnection(ConfigurationManager.AppSettings["conStr"]);
//strings1=ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
//SqlConnectioncon=newSqlConnection(s1);
SqlDataAdapterdbAdapter=newSqlDataAdapter(sQueryString,con);
DataSetdataset=newDataSet();
dbAdapter.Fill(dataset,TableName);
returndataset;
}
#endregion
}
以部门信息修改为例写出各项数据绑定操作
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
publicpartialclassBaseInfo_BaseDepartmentAdd:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["loginName"]==null)
{
Response.Write("");
}
}
protectedvoidimgBtnSave_Click(objectsender,ImageClickEventArgse)
{
BaseClassbc=newBaseClass();
Booleanbl;
bl=bc.ExecSQL("insertintodepartmentvalues('"+txtName.Text+"','"+txtContent.Text+"','"+txtid.Text+"')");
if(bl)
{
Response.Write(bc.MessageBox("新建部门成功!
"));
}
else
{
Response.Write(bc.MessageBox("新建部门失败!
"));
}
}
protectedvoidimgBtnClear_Click(objectsender,ImageClickEventArgse)
{
txtName.Text="";
txtContent.Text="";
}
}
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
publicpartialclassBaseInfo_BaseDepartmentManager:
System.Web.UI.Page
{
BaseClassbc=newBaseClass();
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["loginName"]==null)
{
Response.Write("");
return;
}
GridView1.DataSource=bc.GetDataSet("select*fromdepartment","department");
GridView1.DataKeyNames=newString[]{"deptid"};
GridView1.DataBind();
}
protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
GridView1.PageIndex=e.NewPageIndex;
GridView1.DataBind();
}
protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse)
{
try
{
bc.ExecSQL("deletefromdepartmentwheredeptid='"+this.GridView1.DataKeys[e.RowIndex].Value.ToString()+"'");
GridView1.DataSource=bc.GetDataSet("select*fromdepartment","department");
GridView1.DataBind();
}
catch(Exceptionex)
{
Response.Write(bc.MessageBox(ex.Message));
}
}
}
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
publicpartialclassBaseInfo_BaseDepartmentUpdate:
System.Web.UI.Page
{
BaseClassbc=newBaseClass();
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["loginName"]==null)
{
Response.Write("");
return;
}
if(!
IsPostBack)
{
DataSetds=bc.GetDataSet("select*fromdepartmentwheredeptid='"+Request.QueryString["id"].ToString()+"'","department");
txtName.Text=ds.Tables[0].Rows[0][1].ToString();
txtContent.Text=ds.Tables[0].Rows[0][2].ToString();
}
}
protectedvoidimgBtnSave_Click(objectsender,ImageClickEventArgse)
{
Booleanbl=bc.ExecSQL("updatedepartmentsetdeptname='"+txtName.Text+"',deptmaid='"+txtContent.Text+"'wheredeptid='"+Request.QueryString["id"]+"'");
if(bl)
{
Response.Write(bc.MessageBox("部?
门?
基¨´本À?
信?
息¡é修T改?
成¨¦功|!
"));
Response.Write("
}
else
{
Response.Write(bc.MessageBox("部?
门?
基¨´本À?
信?
息¡é修T改?
失º¡ì败㨹!
"));
}
}
protectedvoidimgBtnReturn_Click(objectsender,ImageClickEventArgse)
{
Response.Write("
}
}
其他的数据实现类参见BaseInfo文件夹
关于界面设计,以Default为例
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>
<%@RegisterSrc="UserControl/GoodEmployee.ascx"TagName="GoodEmployee"TagPrefix="uc1"%>
<%@RegisterSrc="UserControl/Notice.ascx"TagName="Notice"TagPrefix="uc2"%>
<%@RegisterSrc="UserControl/Logon.ascx"TagName="Logon"TagPrefix="uc3"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//www.w3.org/1999/xhtml">
自Á?
动¡¥化¡¥管¨¹理¤¨ª系¦Ì统ª3
.style1
{
height:
166px;
}
.style2
{
height:
166px;
text-align:
center;
width:
268435344px;
}
.style4
{
text-align:
center;
}
1000;height: 342px"> center"> style="text-align: center;margin-left: 2px;width: 1276px;float: left;"/>
top;width: 224px;height: 173px"c 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1