OA协同办公系统详细设计说明书.docx

上传人:b****6 文档编号:8114409 上传时间:2023-01-28 格式:DOCX 页数:83 大小:1.74MB
下载 相关 举报
OA协同办公系统详细设计说明书.docx_第1页
第1页 / 共83页
OA协同办公系统详细设计说明书.docx_第2页
第2页 / 共83页
OA协同办公系统详细设计说明书.docx_第3页
第3页 / 共83页
OA协同办公系统详细设计说明书.docx_第4页
第4页 / 共83页
OA协同办公系统详细设计说明书.docx_第5页
第5页 / 共83页
点击查看更多>>
下载资源
资源描述

OA协同办公系统详细设计说明书.docx

《OA协同办公系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《OA协同办公系统详细设计说明书.docx(83页珍藏版)》请在冰豆网上搜索。

OA协同办公系统详细设计说明书.docx

OA协同办公系统详细设计说明书

OA协同办公系统详细设计说明书

 

变更记录

日期

版本

变更说明

作者

签字确认

系统模块

对应章节

对应部门

负责人签字

 

1引言

1.1编写目的

本说明书目的在于明确说明协同办公系统各功能的实现方式,指导开发员进行编码。

本说明书的预期读者为:

项目组内成员、其他开发项目组成员、指导老师

1.2背景

待开发软件系统的名称:

协同办公系统

此软件系统任务提出者:

冯杰

此软件系统任务开发者:

程之兴、姬广钊、钟晨、俞斐、施会华、许吉安、莫瑞宏、

缪陆明

此软件系统任务用户:

OA协同工作系统的用户

1.3基线

OA协同办公系统需求说明

1.4范围

系统包括的范围:

个人办公、会议管理,系统管理。

1.5定义

读者设置:

指将读者权限授予别人,拥有读者权限的用户可以看到自己工作安排。

代办工作:

指将代办权限授予别人,拥有代办权限的用户除可以看到自己的工作

外还可以给自己安排工作。

待办工作:

指等待员工自己去完成的工作。

1.6参考资料

需求分析说明书、概要设计说明书_v1.4.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

9.2i

中文

数据库平台补丁

应用平台

tomcat

5.0

英语

应用平台补丁

客户端软件

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

Oracle9.2i

2.3.3开发机器软件环境

分类

名称

版本

语种

操作系统

Microsoftwindows2003

中文

操作系统的附加功能

数据库平台

Oracle

9.2i

中文

应用平台

开发平台

客户端软件

2.3.4开发机器硬件环境

分类

最低配置

推荐配置

开发机器

2.4设计思想

2.4.1系统构思

系统功能结构图

见系统功能结构图.doc

 

系统实现结构图

2.4.2关键技术与算法

2.4.2.1预约会议室冲突检查

会议室预约中需要对新]预约的会议室与原有预约安排比对,在时间上进行冲突检测,如果有冲突提示日程安排冲突,预约失败。

日程管理类冲突检测算法:

算法首先查找设定的预约时间内由那些会议室可以被预约。

算法步骤:

判断用户输入的预约愉悦表中结束时间的会议室ID号选出,放入一个ArrayList中,然后在会议室表中选择会议室ID在ArrayList中的会议室,显示给用户。

2.4.2.2个人文件夹

个人文件夹存储在服务器端,并可在某一文件夹下无限添加文件夹,通过树状图来查看文件夹的等级。

在树状图中点击某一文件夹后显示该文件夹下的所有文件。

文件夹与文件夹下文件关联算法:

文件夹表中标出文件夹ID和父文件夹ID,通过这两个字段实现动态树。

在文件表中存储文件夹ID,在点击每一个文件夹的同时判断文件夹ID,在数据库中查询出其下的所有文件。

个人文件夹网络空间大小算法:

定义一个全局的静态常量,作为个人网络空间的大小。

用户每次上传时记录上传文件的大小,用规定的空间大小减去上传文件的大小,则为剩余空间。

2.4.3关键数据结构

树形结构呈现

网络文件夹和企业组织结构需要树型展示内容信息

需要递归算法展示。

伪代码:

PublicelementgetChild()

{

for(eachelementinchildList)

{

getChild();

添加到已有列表中

}

}

2.4.4人工处理过程

人工处理过程

原因

输入

输出

处理过程

数据库数据备份

保障数据安全

数据库操作命令

关键数据、当日数据库的运行日志

数据库使用率最低时备份可恢复数据,存档

数据库数据维护

维护数据库性能

数据库操作命令

数据库相关参数状态日志

在规定的日期内完成对数据库的状态检测

3子系统模块设计

3.1工作管理模块

模块名称

权限管理

功能描述

为员工提供工作安排维护和查询功能,系统根据设定时间将提示内容发布到该员工的工作安排中。

员工可以设置自己的工作安排的读者,以便别人知道自己的安排;也可以将自己的工作安排权限开放给指定的人,以便别人替自己安排工作。

此模块包含的功能有:

读者设置、代办设置、日历查看。

接口与属性

用户与接口ManageWork交互进行相关的操作。

ManageWork接口中包含的操作有:

①.代办管理功能:

CommissionAdd():

添加代办功能。

该函数通过与Commission对象类关联得到操作所需要的数据。

其中Commission类中的属性有:

privateStringsender_id;//将要设置代办的系统用户id

privateStringuse_id;//将要被设置为代办的系统用户id

privateStringdepartment;//将要被设置为代办的系统用户的部门

privateStringposition;//将要被设置为代办的系统用户的职位

Commission类中包含的主要方法有:

上述各属性的get()、set()方法

ManageWork类中的CommissionAdd()方法将通过Commission类的实例调用相应的get()、set()方法得到或传入数据

CommissionAdd()方法中将实例化数据库的对象,完成添加代办的工作。

在添加代办之前方法将优先进行加入人员id的检测,若用户已在代办列表中则将提示用户并拒绝重复加入代办。

如果欲加入的代办不在该用户的代办列表中则加入该代办,并进行相应的页面跳转,显示该用户所有的代办列表。

CommissionDelete():

删除代办功能。

该函数通过与Commission对象类关联得到操作所需要的数据。

其中Commission类中的属性有:

privateStringsender_id;//将要设置代办的系统用户id

privateStringuser_id;//将要被设置为代办的系统用户id

Commission类中包含的主要方法有:

上述各属性的get()、set()方法

ManageWork类中的CommissionDelete()方法将通过Commission类的实例调用相应的get()、set()方法得到或传入数据

ManageWork类中的CommissionDelete()方法将通过Commission类的实例调用相应的get()、set()方法得到或传入数据

CommissionDelete()方法中将实例化数据库的对象,完成删除代办的工作。

在删除代办之前系统将给出相应删除提示,在用户确认删除后对数据库进行删除操作,并进行相应的页面跳转,显示该用户删除该代办后的所有的代办列表。

②.读者管理功能:

ReaderAdd():

添加读者功能。

该函数通过与Reader对象类关联得到操作所需要的数据。

其中Reader类中的属性有:

privateStringicus_user_id;//将要设置读者的系统用户id

privateStringiaro_role_id;//将要被设置为读者的系统用户id

privateStringicus_user_name;//将要被设置为读者的系统用户的姓名

privateStringdepartment_name;//将要被设置为读者的系统用户所在的部门

privateStringposition_name;//将要被设置为读者的系统用户的职位

Reader类中包含的主要方法有:

上述各属性的get()、set()方法

CommissionManage类中的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()方法

CommissionManage类中的ReaderDelete()方法将通过Reader类的实例调用相应的get()、set()方法得到或传入数据

ReaderDelete()方法中将实例化数据库的对象,完成删除读者的工作。

在删除读者之前系统将给出相应删除提示,在用户确认删除后对数据库进行删除操作,并进行相应的页面跳转,显示该用户删除该读者后的所有的读者列表。

③.采用日历控件输入时间功能:

根据需求规格说明书的要求,系统将提供给用户日历查询功能,以方便其对于工作的管理。

在此通过javascript语言实现日历的显示与查询功能。

用户可以通过在textbox中输入所需的年份,在下拉列表中选择相应的月份,提交察看所需日期的具体情况。

数据结构

与算法

1.判断欲加入代办的存在性:

判断欲加入代办是否已在用户的代办列表中主要通过session中存储的登陆用户信息及数据库中表间外键联系,构造sql语句得到相应的结果集。

若该查询的结果集为空则说明欲加入代办不在用户的代办列表中,进行加入操作。

否则系统给出提示信息。

2.通过页面加入代办的主要数据结构:

根据需求规格说明书的相应要求,用户提出相应的代办操作申请后,系统将给出组织结构图,只有通过组织结构图用户才能进行相应的操作。

组织结构图的每个系统用户名的前部都将设有复选框。

用户通过勾取所需的用户进行相关的增加或删除操作。

系统采用struts架构,页面的复选框属性将作为String型的数组传入系统后台的功能模块层。

通过相应的函数确定是否选重的属性。

根据该属性关联的icus_user_id系统用户id对相关的数据库表格进行操作。

3.利用javascript实现日历功能的设计因素:

在工作管理的多个模块的需求描述中都明确提到了需要日历的查询和使用功能。

但从系统的整体出发,日历的使用范围基本局限于工作管理部分,因此考虑使用javascript减轻系统负担,方便用户使用。

模块名称

工作维护

功能描述

为员工提供工作安排维护和查询功能,系统根据设定时间将提示内容发布到该员工的工作安排中。

此模块包含的功能有:

工作安排、综合查询。

接口与属性

所有的的操作基于Work实体类完成。

Work类中的属性包括:

PrivateIntegerworked,//系统为工作自动分配的ID号

PrivateuserID;//工作执行人的ID号

PrivateFromID;//工作安排人的ID号

privateStringstart_date;//工作开始日期

privateStringend_date;//工作结束日期

privateStringwork_content;//工作内容

privateStringwork_title;//工作标题

Work类中包含的主要方法有:

上述各属性的get()、set()方法

工作维护功能:

Add_Work():

添加工作功能。

该函数通过与对象类关联得到操作所需要的数据。

Work类中包含的主要方法有:

上述各属性的get()、set()方法

WorkManage类中的WorkAdd()方法将通过work类的实例调用相应的get()、set()方法得到或传入数据

WorkAdd()方法中将实例化数据库的对象,完成添加工作的工作。

在添加工作之前进行申请加入操作人员id的检测,若工作执行人为登陆用户本身,或者登陆用户的被执行代办人,则在该用户提交申请后系统自动进行工作冲突的检测。

若工作检测后系统返回值为非冲突,则加入该工作,否则系统提示用户相关的信息并拒绝加入工作。

WorkDelete():

删除工作功能。

该函数通过与Work对象类关联得到操作所需要的数据。

WorkManage类中的WorkDelete()方法将通过Work类的实例调用相应的get()、set()方法得到或传入数据

Workdelete()方法中将实例化数据库的对象,完成删除工作的工作。

在删除工作之前方法将优先进行申请删除操作人员id的检测,若工作执行人为登陆用户本身,或者工作的安排人,则系统将给出相应删除提示,在用户确认删除后对数据库进行删除操作,并进行相应的页面跳转,显示该用户删除该工作后的所有的工作列表。

WorkSearch():

包括综合查询的日历查询查询工作功能。

该函数通过与Work对象类关联得到操作所需要的数据。

WorkManage类中的WorkSearch()方法将通过

Work类的实例调用相应的get()、set()方法得到或传入数据

WorkSearch()方法中将实例化数据库的对象,完成查询工作的工作。

根据需求规格说明书的要求:

可以通过:

1,工作执行人,执行人所在部门,执行人职位或者2,工作安排的时间

字段查找相应的工作。

从在系统进行工作查询后将通过页面显示工作列表。

在用户输入多条查询条件的情况下,采用部分匹配策略,即数据库中有部分符合输入条件的数据而非全部符合条件的记录。

WorkEdit():

修改工作功能。

该函数通过与Work对象类关联得到操作所需要的数据。

WorkManage类中WorkEdit()方法将通过Work类的实例调用相应的get()、set()方法得到或传入数据

WorkEdit()方法中将实例化数据库的对象,完成修改工作的工作。

在修改工作之前方法将优先进行申请加入操作人员id的检测,若工作执行人为登陆用户本身,或者原工作的安排人且依然则在该用户提交申请后系统自动进行工作冲突的检测。

若工作检测后系统返回值为非冲突,则修改该工作,否则系统提示用户相关的信息并拒绝加入工作。

数据结构

与算法

①.检测工作冲突功能:

根据需求规格说明书的要求,系统将提供给用户工作冲突检测功能,以方便其对于工作的管理。

检测工作冲突主要侧略为:

优先检测工作执行人欲安排的工作与其已有的工作安排的冲突。

检测过程中需要三步判断:

1.1)欲安排工作起始日期之间是否有其它的工作安排

1.2)欲安排工作起始日期是否在其它已安排工作之间

1.3)欲安排工作结束日期是否在其他已安排工作之间

若有没有冲突则安排工作否则系统给出错误信息。

②.检测人员权限功能:

根据系统规格说明书的相关说明,不同权限的用户对于工作安排的操作的权限是不同的,检测的策略为:

1.根据session中的信息判断登陆用户是否工作管理相关操作的责任人

2.根据读者&代办表中的相关记录判断工作管理相关操作责任人是否具有代办的权限。

补充说明

bb

模块名称

待办事项模块

功能描述

此模块实现了对待办事项的增加、删除、显示以及所有日程安排清单的按日期排序显示功能。

接口与属性

抽象类BaseOperate:

抽象方法

sortAccordToTime:

输入参数:

要排序的对象列表Listobj

输出参数:

返回值:

排序好的对象列表:

Listobj

addWork:

输入参数:

要插入的待办事项对象的引用Workbus

输出参数:

返回值:

bool类型,插入成功与否

deleteWork:

输入参数:

要删除的待办事项的IDintworkID

输出参数:

返回值:

bool类型,删除成功与否

display():

输入参数:

输出参数:

要显示的对象列表

返回值:

bool类型,显示成功与否

displayAll():

输入参数:

输出参数:

要显示的对象列表

返回值:

bool类型,显示成功与否

PendingWorkOperate:

sortAccordToTime:

输入参数:

要排序的Work(PendingWork)对象列表Listpbu

输出参数:

返回值:

排序好的对象列表:

Listpbu

addWork:

输入参数:

要插入的待办事项对象的引用Workbus

输出参数:

返回值:

bool类型,插入成功与否

deleteWork:

输入参数:

要删除的待办事项的IDintid

输出参数:

返回值:

bool类型,删除成功与否

display():

输入参数:

输出参数:

要显示的对象列表

返回值:

bool类型,显示成功与否

displayAll():

输入参数:

输出参数:

要显示的对象列表

返回值:

bool类型,显示成功与否

数据结构

与算法

对象类Work:

与数据库中的Work表的各个字段相对应

序列号IDInteger

名称nameString

负责人personString

起始时间start_Datetime

结束时间end_Datetime

事项内容workContentString

事项标题workTitleString

是否完成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对象,通过调用该对象的方法,来获取留言的基本信息,然后实习留言的发

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

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1