办公自动化管理系统详细设计说明书.docx

上传人:b****2 文档编号:1710673 上传时间:2023-05-01 格式:DOCX 页数:32 大小:177.02KB
下载 相关 举报
办公自动化管理系统详细设计说明书.docx_第1页
第1页 / 共32页
办公自动化管理系统详细设计说明书.docx_第2页
第2页 / 共32页
办公自动化管理系统详细设计说明书.docx_第3页
第3页 / 共32页
办公自动化管理系统详细设计说明书.docx_第4页
第4页 / 共32页
办公自动化管理系统详细设计说明书.docx_第5页
第5页 / 共32页
办公自动化管理系统详细设计说明书.docx_第6页
第6页 / 共32页
办公自动化管理系统详细设计说明书.docx_第7页
第7页 / 共32页
办公自动化管理系统详细设计说明书.docx_第8页
第8页 / 共32页
办公自动化管理系统详细设计说明书.docx_第9页
第9页 / 共32页
办公自动化管理系统详细设计说明书.docx_第10页
第10页 / 共32页
办公自动化管理系统详细设计说明书.docx_第11页
第11页 / 共32页
办公自动化管理系统详细设计说明书.docx_第12页
第12页 / 共32页
办公自动化管理系统详细设计说明书.docx_第13页
第13页 / 共32页
办公自动化管理系统详细设计说明书.docx_第14页
第14页 / 共32页
办公自动化管理系统详细设计说明书.docx_第15页
第15页 / 共32页
办公自动化管理系统详细设计说明书.docx_第16页
第16页 / 共32页
办公自动化管理系统详细设计说明书.docx_第17页
第17页 / 共32页
办公自动化管理系统详细设计说明书.docx_第18页
第18页 / 共32页
办公自动化管理系统详细设计说明书.docx_第19页
第19页 / 共32页
办公自动化管理系统详细设计说明书.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

办公自动化管理系统详细设计说明书.docx

《办公自动化管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《办公自动化管理系统详细设计说明书.docx(32页珍藏版)》请在冰点文库上搜索。

办公自动化管理系统详细设计说明书.docx

办公自动化管理系统详细设计说明书

详细设计说明书

1引言

1.1编写目的

OA办公自动化系统详细设计是设计的第三个阶段,这个阶段的主要任务是在OA办公自动化系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。

概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。

详细设计则要解决如何实现各个模块的内部功能,即模块设计。

具体的说,模块设计就是要为已经产生的OA办公自动化各子系统设计详细的算法。

但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。

1.2背景

为了能跟上现代社会社会生活中高效率的工作节奏,根据企业需求编写了OA办公自动化系统,以达到提高企业工作效率的目的。

1.3定义

SQLServer2005:

数据库管理软件

VsualStudio2005:

开发工具

OA是OFFICEAUTOMATION的缩写,本意为利用技术的手段提高办公的效率,进而实现办公的自动化处理。

采用Internet/Intranet技术,基于工作流的概念,使企业内部人员方便快捷地共享信息,高效地协同工作;改变过去复杂、低效的手工办公方式,实现迅速、全方位的信息采集、信息处理,为企业的管理和决策提供科学的依据。

一个企业实现办公自动化的程度也是衡量其实现现代化管理的标准。

OA从最初的以大规模采用复印机等办公设备为标志的初级阶段,发展到今天的以运用网络和计算机为标志的现阶段,对企业办公方式的改变和效率的提高起到了积极的促进作用。

1.4参考资料

《MyOffice概要设计说明书》

《MyOffice项目需求分析》

《MyOffice数据库设计说明书》

2程序系统的结构

 

图1程序系统结构

3程序1登录功能设计说明

3.1程序描述

改程序时OA办公自动化的入口,体现了程序的安全性

(1)功能类型:

查询数据

(2)功能描述:

提高系统的安全性

(3)前提业务:

(4)后继业务:

04(日程管理)

(5)功能约束:

权限约束

(6)操作权限:

系统管理员,登录用户。

3.2功能

(1)录入项检测使用javascript和后台代码实现(各项必须非空)

(2)在Login.aspx.cs中只提交用户名和密码;

数据处理:

1.登录验证,2.记录登录用户信息

3.3性能

确保系统能正确运行和进行高效访问。

3.4输入项

表1输入项

字段名称

长度

录入方式

是否非空项

数据检验

默认显示

管理员ID

小于12

文本框

Y

N

管理员密码

小于12

Password

Y

N

3.5输出项

页面能正确的跳转到日程管理模块下的个人便签页面下。

3.6算法

1.登录验证

UserInfouser;

LoginLoglog=newLoginLog();

log.UserId=txtUserId.Value;

log.LoginTime=DateTime.Now;

log.LoginUserIp=Request.UserHostAddress.ToString();

if(this.txtUserId.Value.Trim().Length==0)

{

this.Page.ClientScript.RegisterStartupScript(this.GetType(),"","");

txtUserId.Focus();

return;

}

if(this.txtPassword.Value.Trim().Length==0)

{

this.Page.ClientScript.RegisterStartupScript(this.GetType(),"","");

txtPassword.Focus();

return;

}

stringlogin=this.txtUserId.Value.ToString();

boolyes=UserInfoManager.IsUserIdExist(login);

if(yes)

{

log.LoginDesc="用户登录失败,用户名或密码不正确。

";

log.IfSuccess=0;

LoginLogManager.AddLoginLog(log);

this.Page.ClientScript.RegisterStartupScript(this.GetType(),"","");

}

else

{

this.Page.ClientScript.RegisterStartupScript(this.GetType(),"","");

this.txtUserId.Value="";

this.txtUserId.Focus();

}

2.记录登录用户信息

UserInfouser;

LoginLoglog=newLoginLog();

//获取用户登录名

log.UserId=txtUserId.Value;

//获取登录时间

log.LoginTime=DateTime.Now;

log.LoginUserIp=Request.UserHostAddress.ToString();

log.LoginDesc="用户登录成功";

log.IfSuccess=1;

//数据验证成功着将数据传入查询方法进行数据操作

LoginLogManager.AddLoginLog(log);

//获取当前登录用户

Session["CurrentUser"]=user;

//判断用户角色进行页面转换

if(user.RoleInfo.RoleId==1)

{

Response.Redirect("~/ManualSign/ManualSign.aspx");

}

else

{

Response.Redirect("~/ScheduleManage/PersonNote/PersonNote.aspx");

}

3.7流程逻辑

图2流程逻辑

3.8接口

本模块式系统的启动模块,他需要用户交互输入用户ID、密码;它调用系统的主控制模块。

3.9存储分配

表2用户信息数据表

序号

字段名

类型

长度

精度

小数位数

默认值

允许空

主键

说明

1

(UserId)管理员ID

varchar

50

2

(password)管理员密码

varchar

50

4

UserName(登录用户姓名)

varchar

50

4

DepartId(部门ID)

int

10

5

Gender(性别)

int

10

6

RoleId(角色ID)

int

10

7

UserStateId(状态ID)

int

10

3.10注释设计

模块首部的注释:

用户验证程序。

对调用函数的注释:

调用加密函数MD5.

3.11限制条件

当系统第一次使用时,具有统一的用户ID和密码;管理员账号和*******。

在三次验证错误后,系统将自动关闭。

3.12测试计划

初次安装该系统后,测试初始用户ID和密码能否正确登录到系统;正确登陆后,对用户名和密码进行更改;采用刚修改过的用户ID和密码登陆,应该能够正确登录。

3.13尚未解决的问题

暂时还没有发现。

4.程序2主页设计说明

4.1程序描述

(1)功能类型:

查询、添加、修改数据

(2)功能描述:

按照要求对数据进行查找、添加、修改

(3)前提业务:

登录用户为系统管理员

(4)后继业务:

密码修改、重新登录、

(5)功能约束:

权限约束

(6)操作权限:

登录用户

4.2功能

1.重新登录,回转到登录页面进行重新输入数据进行登录;

2.修改密码,通过Session获取当前登录用户信息,根据用户信息进行密码修改;

3个人便签盒添加便签在日程管理有讲解;

4.3性能

能进行数据的高效访问

4.4输入项

表3重新登录和修改密码输入项

字段名称

长度

录入方式

是否非空项

数据检验

默认显示

管理员ID

小于12

文本框

Y

N

管理员密码

小于12

password

Y

N

注:

添加便签和修改便签输入项在日程管理中有说明

4.5输出项

个人日程信息

4.6流程逻辑

1.重新登录

图3重新登录

2.修改密码

图4修改密码

注:

添加和修改便签在日程管理中有说明;

4.7接口

图5接口

4.8存储分配

表4用户信息数据表

序号

字段名

类型

长度

精度

小数位数

默认值

允许空

主键

说明

1

(UserId)管理员ID

varchar

50

2

(password)管理员密码

varchar

50

3

UserName(登录用户姓名)

varchar

50

4

DepartId(部门ID)

int

10

5

Gender(性别)

int

10

6

RoleId(角色ID)

int

10

7

UserStateId(状态ID)

int

10

4.9注释设计

1.加在模块首部的注释;

2.加在各分枝点处的注释;

3.对各变量的功能、范围、缺省条件等所加的注释;

4.对使用的逻辑所加的注释

4.10限制条件

修改密码时,需先输入原始的密码,验证正确后方可进行重新设置密码的操作。

4.11测试计划

主要对主页设计的几个模块进行测试,用户界面测试:

测试对象控件或访问入口正确,符合用户需求;界面风格统一,界面美观,直观。

操作有好,人性化,易操作。

4.12尚未解决的问题

在文件中存储文档文件中,不能储存文件名相同,但类型不同的文档可以通过在文件名忠加入文件类型来解决。

但因时间关系,尚未解决。

5程序3日程管理设计说明

5.1程序描述

(1)功能类型:

查看、添加、修改、删除数据

(2)功能描述:

按照要求对数据进行查查看、添加、修改并删除

(3)前提业务:

登录用户为系统管理员

(4)后继业务:

031(我的日程)032(部门日程)033(我的便签)

(5)功能约束:

权限约束

(6)操作权限:

系统管理员、一般登录用户,

1.利用树形控件加载出功能页面的链接

2.在我的日程子模块中添加日程是在时间列表控件中点击链接进行跳转

5.3性能

确保系统能高效的进行数据访问

5.4输入项

表5添加我的日程安排

字段名称

长度

录入方式

是否非空项

数据检验

默认显示

我的日程主题

文本框

Y

N

预约地点

文本框

Y

N

开始时间

文本框

Y

N

结束时间

文本框

Y

N

日程内容

文本框

Y

N

预约对象

树形控件

N

是否公开

复选框

N

表6添加便签

字段名称

长度

录入方式

是否非空项

数据检验

默认显示

便签标题

文本框

Y

N

便签内容

文本框

Y

N

表7查询部门日程

字段名称

长度

录入方式

是否非空项

数据检验

默认显示

机构名称

下拉列表

Y

N

部门名称

下拉列表

Y

N

姓名

文本框

Y

N

时间

文本框

Y

N

5.5输出项

查看:

显示数据库中存在的数据

删除:

显示删除后数据库中存在的数据

添加:

将数据天津啊进入数据库在显示添加后的数据信息

修改:

对数据库中原本存在的某条数据进行修改后在进行展示

5.6算法

HyperLinklink=newHyperLink();

link.ImageUrl="~/images/add_Schedule.gif";

link.ToolTip="新增个人日程";

link.NavigateUrl="SaveMySchedule.aspx?

userid="+user.UserId+"&today="+day.Date.ToShortDateString();

tc.Controls.Add(link);

5.7流程逻辑

1.部门日程

图6部门日程

2.我的日程

图7我的日程

3.我的便签

图8我的便签

5.8接口

图9接口

5.9存储分配

表8日程信息表

序号

字段名

类型

长度

精度

小数位数

默认值

允许空

主键

说明

1

ScheduleId(日程ID)

Int

10

Y

2

Title(标题)

varchar

50

Y

3

Address(预约地点)

varchar

50

Y

4

MeetingId(会议ID)

Int

Y

5

BeginTime(开始时间)

datetime

N

6

EndTime(结束时间)

datetime

N

7

SchContent(日程内容)

varchar

500

Y

8

CreateUser(创建用户)

varchar

50

Y

9

CreateTime(创建时间)

datetime

N

10

IfPrivate(是否公开)

int

Y

5.10注释设计

1.加在模块首部的注释;

2.加在各分枝点处的注释;

3.对各变量的功能、范围、缺省条件等所加的注释;

4.对使用的逻辑所加的注释

5.11限制条件

在界面上控制输入输出,服务器端如果出错也会也会返回出错信息

5.12测试计划

对日程设计进行项目跟踪测试,对输入信息和输出信息进行对比,找出其中可能出现的异常,对此进行改善。

5.13尚未解决的问题

暂时还没有发现

6程序4系统管理设计说明

6.1程序描述

(1)功能类型:

查看、添加、修改、删除数据

(2)功能描述:

按照要求对数据进行查查看、添加、修改并删除

(3)前提业务:

登录用户为系统管理员

(4)后继业务:

051角色管理052登陆日志053操作日志054菜单排序

(5)功能约束:

权限约束

(6)操作权限:

系统管理员

6.2功能

图10功能图

组织机构部门设置、用户管理、流程管理、表单管理、公文模版管理、角色管理、系统设置、系统日志、数据备份和恢复管理

6.3性能

系统能高效的进行数据访问和各项操作的更改

6.4输入项

表9输入功能图

字段名称

长度

录入方式

是否非空项

数据检验

默认显示

角色名称

文本框

N

N

角色描述

文本框

Y

N

人事管理

复选框

Y

N

机构信息

复选框

Y

N

部门信息

复选框

Y

N

员工管理

复选框

Y

N

日程管理

复选框

Y

N

部门日程

复选框

Y

N

我的日程

复选框

Y

N

个人便签

复选框

Y

N

消息传递

复选框

Y

N

消息管理

复选框

Y

N

信箱

复选框

Y

N

系统管理

复选框

Y

N

角色管理

复选框

N

N

登录日志

复选框

Y

N

操作日志

复选框

Y

N

菜单排序

复选框

Y

N

6.5输出项

角色管理:

输出角色信息;

登录日志:

输出相应时间内的登录日志

操作日志:

输出相应时间内的操作日志

菜单排序:

输出通过上下移动后的树形菜单排序情况

6.6算法

1.分配角色权限中关于复选框选择的问题,怎样处理好选择一个模块时选择其下的子模块而不选中其他模块的子模块,需要使用用户自定义控件来完成,在后台代码显示方法中这样写

//得到所有父级点信息

IListsysFuns=SysFunManager.GetAllParentNodeInfo();

//根据父节点得到对应子节点生成用户控件,然后循环插入到PlaceHolder容器中

foreach(SysFunsysFuninsysFuns)

{

//得到父节点Id

stringnodeId=sysFun.NodeId.ToString();

//得到父节点名称

stringdisplayName=sysFun.DisplayName;

//实例化用户控件

SysManage_RoleManage_WebUserControlroleCotrol=(SysManage_RoleManage_WebUserControl)LoadControl(@"RoleUserControl.ascx");

//实例化隐藏区域,用以存父节点Id

HtmlInputHiddenhidParentMeu=(HtmlInputHidden)roleCotrol.FindControl("hidParentMenu");

hidParentMeu.Value=nodeId;

//实例化隐藏区域,用以存储角色Id

HtmlInputHiddenhidRoleId=(HtmlInputHidden)roleCotrol.FindControl("hidRoleId");

hidRoleId.Value=roleId.ToString();

//实例化用户控件中的CheckBox

CheckBoxchkParentMenu=(CheckBox)roleCotrol.FindControl("chkParentMenu");

//显示父菜单名称

chkParentMenu.Text=displayName;

if(arrRoleParentNodes.Contains(nodeId))

{

chkParentMenu.Checked=true;

}

//把父节点生成的用户控件追加打破PlaceHolder容器中

phRoleDistribute.Controls.Add(roleCotrol);

}

2.查看登录日志和操作日志时,开始时间和结束时间的获取使用javascript代码来实现

functionfillstring(str)

{

if(str.length==1)

{

str="0"+str;

}

return(str);

}

functionquickseldate(type)

{

varbegintime,endtime;

varoneminute=60*1000;

varonehour=60*oneminute;

varoneday=24*onehour;

varoneweek=7*oneday;

vartodayDate=newDate();

vardate=todayDate.getDate();

varmonth=todayDate.getMonth()+1;

varyear=todayDate.getYear();

varday=todayDate.getDay();

if(navigator.appName=="Netscape")

{

year=1900+year;

}

//-->

if(type=="day")

{

begintime=year.toString()+"-"+fillstring(month.toString())+"-"+

fillstring(date.toString());

endtime=begintime;

}

elseif(type=="week")

{

vardaytoMon=day-1;

if(day==0)

daytoMon=6;

todayDate.setTime(todayDate.getTime()-daytoMon*oneday);

date=todayDate.getDate();

month=todayDate.getMonth()+1;

year=todayDate.getYear();

day=todayDate.getDay();

begintime=year.toString()+"-"+fillstring(month.toString())+"-"+

fillstring(date.toString());

todayDate.setTime(todayDate.getTime()+6*oneday);

date=todayDate.getDate();

month=todayDate.getMonth()+1;

year=todayDate.getYear();

endtime=year.toString()+"-"+fillstring(month.toString()

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2