OA协同办公系统详细设计说明书.docx
- 文档编号:24392734
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:66
- 大小:472.56KB
OA协同办公系统详细设计说明书.docx
《OA协同办公系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《OA协同办公系统详细设计说明书.docx(66页珍藏版)》请在冰豆网上搜索。
OA协同办公系统详细设计说明书
协同办公系统详细设计说明书
书
变更记录
日期
版本
变更说明
作者
签字确认
系统模块
对应章节
对应部门
负责人签字
1引言
1.1编写目的
本说明书目的在于详细说明系统各功能的功能及其实现方式,指导程序员进行编码。
本说明书的预期读者为:
项目经理,系统分析员,系统设计人员,开发工程师,测试经理以及测试设计人员等。
1.2背景
待开发软件系统的名称:
协同办公系统
此软件系统任务提出者:
此软件系统任务开发者:
此软件系统任务用户:
1.3基线
协同办公系统需求分析说明书v1.0
1.4范围
系统包括的范围:
个人办公、会议管理,系统管理。
1.5定义
系统管理员:
是指在系统中具有最高权限的员工。
他能够改变系统中任意员工的相关信息,如个人信息,通讯录,名片夹,会议室使用记录,在线信息状况等。
员工:
是指在系统中拥有普通权限的人员。
该人员所能处理的事物有:
个人信息的完善,名片夹、文件夹的管理,通讯录的更新,在线信息的提醒,会议室的使用情况的查看等。
经理:
是指在系统中拥有较高权限的员工。
该人员不仅能处理普通员工所能处理的事物,还能处理如会议室的申请,会议室的管理等事物。
权限管理:
是指在系统中用户为了保护自己的隐私,对某些信息项的公开程度加以限制的行为。
具体的有:
日程安排中读者设置和代办设置,共享名片夹中共享名片夹的设置,个人文件夹中共享文件夹的设置等
1.6参考资料
需求分析说明书、概要设计说明书_v1.0.doc、Oracle数据库使用教程、Ora9iSQLRef.chm、Oracle数据库使用帮助文档、CSS中文教程、HTML开发手册、JAVA高级编程指南、JSP应用开发详解、功能结构图。
2总体设计
2.1概述
2.1.1功能描述
系统分为三个主要流程:
1、个人办公2、会议管理3、系统管理
个人办公:
普通职员登陆到系统后,通过点击个人办公连接,进入个人办公页面。
之后可以选择个人信息、日程安排、名片夹、公司通讯录、待办事项、在线信息、个人文件夹进行办公。
会议管理:
部门领导登陆到系统后选择会议管理,进入会议管理页面。
在会议管理页
面中可以增、删、改、查会议。
其中发起会议需首先预约会议室,然后将输入与会人名单,开会议信息通过邮件发送到每个与会人的信箱里。
系统管理:
系统管理员登陆到系统后,点击系统管理,进入系统管理页面。
可以选择
部门管理、角色管理、职员管理、文件夹管理进行系统维护。
2.2运行环境
2.2.1软件环境
分类
名称
版本
语种
操作系统
Microsoftwindows2003
中文
操作系统的附加功能
无
数据库平台
Oracle
10g
中文
数据库平台补丁
无
应用平台
tomcat
6.5
英语
应用平台补丁
无
客户端软件
无
2.2.2硬件环境
服务器
最低配置
推荐配置
应用和数据库服务器
Tomcat4.0
IBMWebSphere
2.3开发环境
2.3.1服务器软件环境
分类
名称
版本
语种
操作系统
Microsoftwindows2003
中文
操作系统的附加功能
无
数据库平台
Oracle
9.2i
中文
数据库平台补丁
无
应用平台
应用平台补丁
无
版本控制系统
CVS
2.6
英文
客户端软件
无
2.3.2服务器硬件环境
服务器
最低配置
推荐配置
应用服务器、数据库服务器、邮件服务器、目录服务器
Tomcat4.0
IBMWebSphere
SQLServer2000
Oracle10g
2.3.3开发机器软件环境
分类
名称
版本
语种
操作系统
Microsoftwindows2003
中文
操作系统的附加功能
无
数据库平台
Oracle
10g
中文
应用平台
开发平台
客户端软件
2.3.4开发机器硬件环境
分类
最低配置
推荐配置
开发机器
2.4系统功能模块划分
根据对客户需求的理解,系统功能划分为如图1所示:
图1系统功能模块划分
3子系统模块设计
3.1日程安排模块
模块名称
权限管理
功能描述
为员工提供工作安排维护和查询功能,系统根据设定时间将提示内容发布到该员工的工作安排中。
员工可以设置自己的工作安排的读者,以便别人知道自己的安排;也可以将自己的工作安排权限开放给指定的人,以便别人替自己安排工作。
此模块包含的功能有:
读者设置、代办设置、日历查看。
接口与属性
用户与接口ManageWork交互进行相关的操作。
ManageWork接口中包含的操作有:
代办管理功能:
ProxyAdd():
添加代办功能。
该函数通过与Proxy对象类关联得到操作所需要的数据。
其中Proxy类中的属性有:
privateStringsender_id;//将要设置代办的系统用户id
privateStringuse_id;//将要被设置为代办的系统用户id
Proxy类中包含的主要方法有:
上述各属性的get()、set()方法
ManageWork类中的ProxyAdd()方法将通过Proxy类的实例调用相应的get()、set()方法得到或传入数据
ProxyAdd()方法中将实例化数据库的对象,完成添加代办的工作。
在添加代办之前方法将优先进行加入人员id的检测,若用户已在代办列表中则将提示用户并拒绝重复加入代办。
如果欲加入的代办不在该用户的代办列表中则加入该代办,并进行相应的页面跳转,显示该用户所有的代办列表。
ProxyDelete():
删除代办功能。
该函数通过与Proxy对象类关联得到操作所需要的数据。
其中Proxy类中的属性有:
privateStringsender_id;//将要设置代办的系统用户id
privateStringuse_id;//将要被设置为代办的系统用户id
ProxyDelete()方法中将实例化数据库的对象,完成删除代办的工作。
在删除代办之前系统将给出相应删除提示,在用户确认删除后对数据库进行删除操作,并进行相应的页面跳转,显示该用户删除该代办后的所有的代办列表。
②.读者管理功能:
ReaderAdd():
添加读者功能。
该函数通过与Reader对象类关联得到操作所需要的数据。
其中Reader类中的属性有:
privateStringicus_user_id;//将要设置读者的系统用户id
privateStringiaro_role_id;//将要被设置为读者的系统用户id
Reader类中包含的主要方法有:
上述各属性的get()、set()方法
ReaderManage类中的ReaderAdd()方法将通过Reader类的实例调用相应的get()、set()方法得到或传入数据
ReaderAdd()方法中将实例化数据库的对象,完成添加读者的工作。
在添加读者之前方法将优先进行加入人员id的检测,若用户已在读者列表中则将提示用户并拒绝重复加入读者。
由于根据系统规格说明的相关说明,代办的权限大于读者的权限,即代办自动拥有读者的全部权利,因此如果欲加入读者是当前用户的代办则系统同样拒绝加入该读者。
如果欲加入的代办不在该用户的读者列表中则加入该读者,并进行相应的页面跳转,显示该用户所有的读者列表。
ReaderDelete():
删除读者功能。
该函数通过与Reader对象类关联得到操作所需要的数据。
其中Reader类中的属性有:
privateStringicus_user_id;//将要设置读者的系统用户id
privateStringiaro_role_id;//将要被设置为读者的系统用户id
privateStringicus_user_name;//将要被设置为读者的系统用户的姓名
privateStringicde_department_name;//将要被设置为读者的系统用户所在的部门
privateStringuser_position_name;//将要被设置为读者的系统用户的职位
Reader类中包含的主要方法有:
上述各属性的get()、set()方法
ReaderManage类中的ReaderDelete()方法将通过Reader类的实例调用相应的get()、set()方法得到或传入数据
ReaderDelete()方法中将实例化数据库的对象,完成删除读者的工作。
在删除读者之前系统将给出相应删除提示,在用户确认删除后对数据库进行删除操作,并进行相应的页面跳转,显示该用户删除该读者后的所有的读者列表。
③.采用日历控件输入时间功能:
根据需求规格说明书的要求,系统将提供给用户日历查询功能,以方便其对于工作的管理。
在此通过javascript语言实现日历的显示与查询功能。
用户可以通过在textbox中输入所需的年份,在下拉列表中选择相应的月份,提交察看所需日期的具体情况。
数据结构
与算法
1.判断欲加入代办的存在性:
判断欲加入代办是否已在用户的代办列表中主要通过session中存储的登陆用户信息及数据库中表间外键联系,构造sql语句得到相应的结果集。
若该查询的结果集为空则说明欲加入代办不在用户的代办列表中,进行加入操作。
否则系统给出提示信息。
2.通过页面加入代办的主要数据结构:
根据需求规格说明书的相应要求,用户提出相应的代办操作申请后,系统将给出组织结构图,只有通过组织结构图用户才能进行相应的操作。
组织结构图的每个系统用户名的前部都将设有复选框。
用户通过勾取所需的用户进行相关的增加或删除操作。
系统采用struts架构,页面的复选框属性将作为String型的数组传入系统后台的功能模块层。
通过相应的函数确定是否选重的属性。
根据该属性关联的icus_user_id系统用户id对相关的数据库表格进行操作。
3.利用javascript实现日历功能的设计因素:
在工作管理的多个模块的需求描述中都明确提到了需要日历的查询和使用功能。
但从系统的整体出发,日历的使用范围基本局限于工作管理部分,因此考虑使用javascript减轻系统负担,方便用户使用。
模块名称
日程维护
功能描述
为员工提供工作安排维护和查询功能,系统根据设定时间将提示内容发布到该员工的工作安排中。
此模块包含的功能有:
工作安排、综合查询。
接口与属性
所有的的操作基于Schedule实体类完成。
Schedule类中的属性包括:
PrivateIntegerSchedul,//系统为工作自动分配的ID号
PrivateuserID;//工作执行人的ID号
PrivateFromID;//工作安排人的ID号
privateStringSchedul_bdate;//工作开始日期
privateStringSchedul_edate;//工作结束日期
privateStringSchedul_content;//工作内容
privateStringSchedul_name;//工作名称
Schedule类中包含的主要方法有:
上述各属性的get()、set()方法
工作维护功能:
Add_schedule:
添加工作功能。
该函数通过与对象类关联得到操作所需要的数据。
Schedule类中包含的主要方法有:
上述各属性的get()、set()方法
ScheduleManage类中的ScheduleAdd()方法将通过Schedule类的实例调用相应的get()、set()方法得到或传入数据
ScheduleAdd():
方法中将实例化数据库的对象,完成添加工作的工作。
在添加工作之前进行申请加入操作人员id的检测,若工作执行人为登陆用户本身,或者登陆用户的被执行代办人,则在该用户提交申请后系统自动进行工作冲突的检测。
若工作检测后系统返回值为非冲突,则加入该工作,否则系统提示用户相关的信息并拒绝加入工作。
Schedule_delete():
删除工作功能。
该函数通过与Work对象类关联得到操作所需要的数据。
ScheduleManage类中的ScheduleDelete()方法将通过Schedule类的实例调用相应的get()、set()方法得到或传入数据
Scheduledelete()方法中将实例化数据库的对象,完成删除工作。
在删除工作之前方法将优先进行申请删除操作人员id的检测,若工作执行人为登陆用户本身,或者工作的安排人,则系统将给出相应删除提示,在用户确认删除后对数据库进行删除操作,并进行相应的页面跳转,显示该用户删除该工作后的所有的工作列表。
ScheduleSearch():
包括综合查询的日历查询
查询工作功能。
该函数通过与Schedule对象类关联得到操作所需要的数据。
ScheduleManage类中的ScheduleSearch()方法将通过
Schedule类的实例调用相应的get()、set()方法得到或传入数据
ScheduleSearch()方法中将实例化数据库的对象,完成查询工作的工作。
根据需求规格说明书的要求:
可以通过:
1,时间查询,根据时间进行查询
2,字查询,根据内容或者标题的关键字查询
字段查找相应的工作。
从在系统进行工作查询后将通过页面显示工作列表。
在用户输入查询条件的情况下进行查询
ScheduleEdit():
修改工作功能。
该函数通过与Schedule对象类关联得到操作所需要的数据。
ScheduleManage类中ScheduleEdit()方法将通过Schedule类的实例调用相应的get()、set()方法得到或传入数据
ScheduleEdit()方法中将实例化数据库的对象,完成修改工作的工作。
在修改工作之前方法将优先进行申请加入操作人员id的检测,若工作执行人为登陆用户本身,或者原工作的安排人且依然则在该用户提交申请后系统自动进行工作冲突的检测。
若工作检测后系统返回值为非冲突,则修改该工作,否则系统提示用户相关的信息并拒绝加入工作。
数据结构
与算法
①.检测工作冲突功能:
根据需求规格说明书的要求,系统将提供给用户工作冲突检测功能,以方便其对于工作的管理。
检测工作冲突主要侧略为:
优先检测工作执行人欲安排的工作与其已有的工作安排的冲突。
检测过程中需要三步判断:
1.1)欲安排工作起始日期之间是否有其它的工作安排
1.2)欲安排工作起始日期是否在其它已安排工作之间
1.3)欲安排工作结束日期是否在其他已安排工作之间
若有没有冲突则安排工作否则系统给出错误信息。
②.检测人员权限功能:
根据系统规格说明书的相关说明,不同权限的用户对于工作安排的操作的权限是不同的,检测的策略为:
1.根据session中的信息判断登陆用户是否工作管理相关操作的责任人
2.根据读者&代办表中的相关记录判断工作管理相关操作责任人是否具有代办的权限。
补充说明
bb
模块名称
待办事项模块
功能描述
此模块实现了对待办事项的增加、删除、显示以及所有日程安排清单的按日期排序显示功能。
接口与属性
类jobOperate:
抽象方法
sortAccordToTime()/按时间排序
输入参数:
要排序的代办列表
输出参数:
无
返回值:
排序好的代办列表
Addjob()
输入参数:
要插入的待办事项对象的引用工作流
输出参数:
无
返回值:
bool类型,插入成功与否
deletejob:
输入参数:
要删除的待办事项的ID
输出参数:
无
返回值:
bool类型,删除成功与否
display():
//显示待办事项
输入参数:
无
输出参数:
要显示的对象列表
返回值:
bool类型,显示成功与否
displayAll():
输入参数:
无
输出参数:
要显示的对象列表
返回值:
bool类型,显示成功与否
数据结构
与算法
对象类job:
与数据库中的job表的各个字段相对应
序列号job_idInteger
名称job_nameString
负责人personString
起始时间job_btimetime
结束时间job_etimetime
事项内容jobcontentString
事项标题jobtitleString
是否完成donebool
补充说明
工作安排类图:
权限设置类图
序列图:
工作安排维护序列图:
3.2在线信息子系统
模块名称
在线信息模块
功能描述
本子系统主要为用户提供留言交流的平台,用户可以发送留言,接收留言,查看留言以及对留言进行查询,回复,删除等操作
接口与属性
主要由MessageManage类通过操纵Message类实现对留言的管理、接收、发送等。
1.其中Message类主要属性包括:
IntfromID//留言发送者员工号
StringfromName//留言发送者姓名
InttoID//留言接收者员工号
StringtoName//留言接收者姓名
Stringtitle//留言主题
Stringcontent//留言内容
Datedate//留言日期
IntmessageNumber//留言编号
intissent//判断留言是否已经发送
intisReaded//判断留言是否已经被阅读
intfrom_delete//判断发送者是否将留言删除
intto_delete//判断接收者是否将留言删除
主要接口与方法有:
对类中每个属性的get()与set()方法
2.MessageManage属性包括:
BoolenisOK//判断对留言的操作是否成功
接口与方法包括:
saveMessage()//保存留言
editMessage()//编辑留言
seeMessage()//查看留言
sendMessage()//发送留言
searchMessage()//查询留言
addMessage()//添加留言
deleteMessage()//删除留言
replayMessage()//回复留言
数据结构
与算法
数据库SQL语句实现功能。
补充说明
3.2.1模块1
模块名称
发送留言
功能描述
指利用系统发送短消息。
用户点击“发送”后,系统将留言写进数据库,并将intissent改为1。
接口与属性
MessageManage类通过Message类的get()与set()方法实现对留言的管理。
sendMessage()函数实现发送留言功能。
输入参数有inttoID,StringtoName,StringtitleStringcontent,Datedata。
返回值为BooleanisOK.
sendMessage()方法将实例化Message对象,通过调用该对象的方法,来获取留言的基本信息,然后实习留言的发送功能。
数据结构
与算法
数据库SQL语句实现功能。
补充说明
3.2.2模块2
模块名称
保存留言
功能描述
指利用系统保存短消息。
用户点击“保存”后,系统将留言写进数据库,并将intissent改为0。
接口与属性
MessageManage类通过Message类的get()与set()方法实现对留言的管理。
saveMessage()函数实现保存留言功能。
输入参数有inttoID,StringtoName,inttoID,inttoName,Datedate,Stringtitle,Stringcontent。
返回值为Booleanok.
saveMessage()方法将实例化数据库对象,然后对留言信息进行验证,验证通过后将其保存在数据库中,返回保存成功的信息。
数据结构
与算法
数据库SQL语句实现功能。
补充说明
3.2.3模块3
模块名称
查找留言
功能描述
指利用系统查找短消息。
用户输入查询条件,点击“查找”后,系统将从数据库中查找,并将结果返回。
接口与属性
MessageManage类通过Message类的get()与set()方法实现对留言的管理。
searchMessage()函数实现查询留言功能。
输入参数有Stringname,intfromID,inttoID
searchMessage()将实例化数据库对象,通过查询条件对数据库进行查询操作,然后将查询结果以列表的实行返回给用户。
数据结构
与算法
数据库SQL语句实现功能。
补充说明
3.2.4模块4
模块名称
查看留言
功能描述
指利用系统查看短消息。
用户点击某条留言后,系统将具体内容返回,并将booleanisreaded改为true。
接口与属性
MessageManage类通过Message类的get()与set()方法实现对留言的管理。
seeMessage()函数实现查看留言。
输入的参数有intmessageNumber
seeMessage()将实例华数据库对象,通过intmessageNumber在数据库中查找信息,将结果返回给用户,进行查看
数据结构
与算法
数据库SQL语句实现功能。
补充说明
3.2.5模块5
模块名称
删除留言
功能描述
指利用系统删除短消息。
用户选定留言后,系统将booleanfrom_delete或to_delete改为true。
接口与属性
MessageManage类通过Message类的get()与set()方法实现对留言的管理。
deleteMessag()函数实现删除留言功能。
输入参数有intmessageNumber。
返回值为BooleanisOK.
deleteMessag()将实例化数据库对象,在验证完用户要删除的留言之后回返回一个确认信息,如果用户确定删除,将删除留言在数据库中的记录。
数据结构
与算法
数据库SQL语句实现功能。
补充说明
3.2.6模块6
模块名称
更改留言
功能描述
指利用系统更改未发送的短消息。
用户选择某条未发送留言,点击详“细信息”后,系统将从数据库取出。
再点击“编辑”,对该留言进行编辑
接口与属性
MessageManage类通过Message类的get()与set()方法实现对留言的管理。
editMessage()函数实现编辑留言功能。
输入的参数有inttoID,StringtoName,Stringtitle,Stringcontent
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OA 协同 办公 系统 详细 设计 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)