办公自动化管理系统详细设计说明书.docx
- 文档编号:9644060
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:32
- 大小:180.92KB
办公自动化管理系统详细设计说明书.docx
《办公自动化管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《办公自动化管理系统详细设计说明书.docx(32页珍藏版)》请在冰豆网上搜索。
办公自动化管理系统详细设计说明书
详细设计说明书
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.分配角色权限中关于复选框选择的问题,怎样处理好选择一个模块时选择其下的子模块而不选中其他模块的子模块,需要使用用户自定义控件来完成,在后台代码显示方法中这样写
//得到所有父级点信息
IList
//根据父节点得到对应子节点生成用户控件,然后循环插入到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())+"-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 办公自动化 管理 系统 详细 设计 说明书