1、#*编写: 日期: 审核: 日期:批准: 日期:受控状态: 是 发布版次: 日期: 编号:协同办公系统概要设计说明书#*变更记录日期 版本 变更说明 作者签字确认系统模块 对应章节 对应部门 负责人签字#*1 引言 41.1 编写目的 41.2 背景 41.3 基线 41.4 范围 41.5 定义 41.6 参考资料 42 总体设计 .52.1 概述 52.1.1 功能描述 .52.1.2 运行环境 .52.1.2.1 软件环境 52.1.2.2 硬件环境 52.1.3 开发环境 .52.1.3.1 服务器软件环境 52.1.3.2 服务器硬件环境 62.1.3.3 开发机器软件环境 62.1
2、.3.4 开发机器硬件环境 72.2 设计思想 72.2.1 系统构思 .72.2.2 关键技术与算法 .72.2.2.1 运用 Hibernate 框架访问数据库 72.2.2.2 运用 Ajax 技术实现系统用户的登录 82.2.2.3 分页显示 92.2.2.4 文件上传和下载 92.2.2.5 验证码 92.2.2.6 密码加密 92.2.2.7 数据库连接池技术 102.2.2.8 防止多用户登录 102.2.2.9 报表导入导出 102.2.2.10 多功能编辑框 112.3 人工处理过程 .113 系统功能设计 .113.1 个人办公 113.1.1 个人信息 .113.1.2
3、名片夹 .123.1.3 公司通讯录 .133.1.4 在线信息 .133.1.5 日程安排 .153.1.6 待办事项 .163.1.7 个人文件夹 .173.2 会议管理 183.2.1 会议室管理 .183.2.2 会议管理 .193.3 系统管理 193.3.1 组织管理 .204 系统数据结构设计 .214.1 说明 214.2 数据结构 214.3 数据结构与系统元素的关系 237 系统出错处理设计 .237.1 出错信息 23#*7.2 补救措施 241 引言1.1 编写目的本说明书目的在于详细说明系统各功能的功能及其实现方式,指导程序员进行编码。本说明书的预期读者为:项目经理,
4、系统分析员,系统设计人员,开发工程师,测试经理以及测试设计人员等。1.2 背景待开发系统的名称:OA 协同办公系统此软件系统任务提出者: 此软件系统任务开发者: 此软件系统任务用户: 1.3 基线OA 协同办公系统需求分析说明书 v1.01.4 范围系统包括的范围:个人办公、会议管理和系统管理。1.5 定义系统管理员:是指在系统中具有最高权限的员工。他能够改变系统中任意员工的相关信息,如个人信息,通讯录,名片夹,会议室使用记录,在线信息状况等。员工:是指在系统中拥有普通权限的人员。该人员所能处理的事物有:个人信息的完善,名片夹的管理,通讯录的更新,在线信息的提醒,会议室的使用情况的查看以及相应
5、报表的到处等。经理:是指在系统中拥有较高权限的员工。该人员不仅能处理普通员工所能处理的事物,还能处理如会议室的申请,会议室的管理等事物。权限管理:是指在系统中用户为了保护自己的隐私,对某些信息项的公开程度加以限制的行为。具体的有:日程安排中读者设置和代办设置,共享名片夹中共享名片夹的设置,个人文件夹中共享文件夹的设置等1.6 参考资料在编写此次的概要说明书时,参考了以下一些资料:协同办公平台需求说明书,软件工程需求说明书(样例),软件工程需求说明书的写法等。2 总体设计2.1 概述2.1.1 功能描述“OA 协同办公”系统共有以下三个大的功能模块:个人办公、会议管理,会议管理。#*个人办公模块
6、包括:个人信息,日程安排,名片夹,公司通讯录,待办事项,在线信息,个人文件夹,会议管理。会议管理模块包括:会议室管理,会议管理。系统管理模块包括:组织管理。2.1.2 运行环境2.1.2.1 软件环境名称 版本 语种操作系统 Windows Server 2003 简体中文操作系统的附加功能SP4 简体中文数据库平台 Oracle 9i 9i 简体中文应用平台 Tomcat 5.5 简体中文客户端软件 MS IE 8 简体中文2.1.2.2 硬件环境服务器 最低配置 推荐配置CPU:P4 2.0GCPU:P4 2.8GMem:1G Mem:2GHD :40G HD :120G应用和数据库服务器
7、1CPU:P4 2.0G 1CPU:P4 2.8GMem :512M Mem :1GHD :80G HD :120G邮件服务器2.1.3 开发环境2.1.3.1 服务器软件环境分类 名称 版本 语种操作系统操作系统的附加功能数据库平台 Oracle 10g 简体中文数据库平台补丁应用平台应用平台补丁版本控制系统 Win-cvs V1.4.4. 英语目录服务系统邮件系统客户端软件#*2.1.3.2 服务器硬件环境服务器最低配置 推荐配置CPU:Intel2 酷睿 2 双核E8600 MEM:芝奇 6GB DDR3 1600(F3-12800CHD:西部数据 2TB/7200/32M*5CPU:I
8、ntel 酷睿 2 四核 Q9400 MEM: 海盗船 6GB DDR3 2000 三通道 HD:西部数据 2TB/7200/串口*5CPU:Intel 酷睿 2 双核 E8600 MEM:海盗船 6GB DDR3 2000 三通道HD: 西部数据 2TB/7200/32M*5CPU:Intel 酷睿 2 四核 Q9650 MEM: 威刚 6G DDR3 2133X V2.0HD:西部数据 2TB/7200/串口*5应用服务器 数据库服务器邮件服务目录服务器CPU: Intel 酷睿 2 双核 E8200 MEM:海盗船 6GB DDR3 2000 三通道HD 希捷 1.5TB/7200/32
9、M *6CPU:Intel 酷睿 2 双核 E8200 MEM: 芝奇 6GB DDR3 1600(F3-12800CHD: 希捷 1.5TB/7200/32M *6CPU:Intel 酷睿 2 双核 E8600 MEM: 威刚 6G DDR3 2133X V2.0 HD:西部数据 2TB/7200/32M*5CPU:Intel 酷睿 2 双核E8600 MEM: 海盗船 6GB DDR3 2000 三通道 HD:西部数据 2TB/7200/32M*52.1.3.3 开发机器软件环境分类名称 版本语种操作系统Windows Server 2003 sp2 简体中文数据库平台Oracle 10g
10、 简体中文开发工具Myeclipse+Tomcat 6.5 英语2.1.3.4 开发机器硬件环境分类最低配置 推荐配置#*开发工具CPU:奔腾 4 2.0MEM: DDR2 512MHD : 希捷 80G/5400CPU :奔腾 4 2.8MEML: DDR 1GHD : 希捷 80G/54002.2 系统功能模块划分根据对客户需求的理解,系统功能划分为如图 1 所示:图 1 系统功能模块划分3 系统功能设计3.1 个人办公本模块中的主要功能是实现公司员工的日常办公,其中包括个人信息维护、日程安排、名片夹、通讯录,对个人的待办工作、已办工作、催办工作的查看等。当个人忘记密码时,由其通过电话向系
11、统管理员询问密码。3.1.1 个人信息该模块为员工提供包括密码、自我介绍、兴趣爱好、联系方式等个人信息维护的功能。此模块包含的功能有:个人信息维护、查看他人信息。员工利用该功能可以维护系统允许个人维护的信息。其中自我介绍、联系方式和兴趣爱好会被公开给整个公司。#*Clerk UI PersonalInfoUI PerInfoDBOLogin()ChoseUI() UpdateSelfInfo()QueryElseInfo()ReturnToUI()ReturnToUI()ReturnToClerk()ReturnToClerk()图 9 个人信息时序图3.1.2 名片夹该功能模块主要是用于员工
12、对自己的通讯录进行管理。主要的功能有设置私有或共享,可直接点击发邮件等。该模块包含的下一次的功能模块有:名片夹分类、个人名片夹、查看共享名片夹。名片夹分类模块的主要功能是员工对自己的名片夹进行维护。包含的操作有:名片夹分类清单、添加名片夹分类、修改名片夹分类、删除名片夹分类。ReturnToUI()Clerk UI ClassifyBSCard ClassifyBSDBOLogin() ChoseUI()AddClass()DeleteClass()ReturnToUI()ReturnToClerk()ReturnToUI()ReturnToClerk()AlterClass()ReturnT
13、oClerk() ListClass()ReturnToUI()ReturnToClerk()图 10 名片夹分类时序图个人名片夹模块的主要功能是员工维护自己的联系人。包含的操作有:查询名片、添加名片、修改名片、删除名片、查看名片。查看共享名片夹模块的主要功能是员工在共享名片夹中录入条件查询所有别人共享的名片,并可以选择一个名片查看其细节,但是不能进行修改。此功能包含的操作有:查询名片、查看名片。#*图 11 共享名片时序图3.1.3 公司通讯录该模块的主要功能是让系统管理员维护整个公司的组织机构和联系方式以及公司人员查询通讯录并导出到 Excel 文件。此功能涉及到的模块有:查询通讯录和导出
14、通讯录。图 12 公司通讯录时序图图 13 类图3.1.4 在线信息该模块的主要功能是利用系统短消息功能发送的通知。当用户点击在线信息后,弹出新窗口显示该信息的详细内容;在查看信息的页面可以选择已阅;对于已阅的在线信息不再显示。包含的功能有:草稿箱、已发送、未阅留言、全部留言。#*图 14 在线信息类图草稿箱模块的主要功能是保存自己起草的还没有发送出去的短信息。包含的操作有:新建留言、修改留言、删除留言、查询留言。Clerk UI DraftBoxUI DraftSaved DraftBoxDBOLogin()ChangeUI()ReturnToUI()ReturnToUI()ReturnTo
15、Clerk()ReturnToUI()ReturnToClerk()ReturnToUI()ReturnToClerk()AdMesage() SendDraft()ReturnToClerk() QueryBox()AlterMesage() SendDraft()DeleteMesage() SendDraft()图 15 草稿箱时序图已发送模块的主要功能是保存自己起草的已经发送出去的短信息。包含的操作有:查询留言、删除留言未阅留言模块的主要功能是列出系统或其他用户发送给自己 d 的还没有阅读的短信息。包含的操作有:查询留言、查看留言、回复留言、删除留言。#*Clerk UI DraftB
16、oxUI DraftSaved DraftBoxDBO UnreadUI AnotherClerkLogin()ChoseUI() SendToMessage()SendDraft() SendMessage()SendForm()Login()QueryUnreadMes()SeUnreadMes()RevertMessage()DeleteMessage()ReturnUnreadMes()ReturnUnreadMes()ReturnChangedMs()ReturnChangedMes()图 16 未阅留言时序图全部留言模块的主要功能是列出系统或其他用户发送给自己的全部短信息。包含的操
17、作有:查询留言、查看留言、回复留言、删除留言。Clerk UI DraftBoxUI DraftSaved MessageBoxDBO WholeLeaveMessageUI() AnotherClerk()Login()ChoseUI() SendToMessage()SendDraft()Login()QueryLMes()ReturnMs()SeeLMes()ReturnMs()RevertLMes()ReturnMs()DeleteMes()ReturnMs()图 17 全部留言时序图3.1.5 日程安排日程安排当前用户给自己或授权代办的人安排日程。对于已经安排的日程,可以进行编辑和删
18、除。可以根据日期查询某一天的安排,也可以查询某一个月中有安排的日期。此功能包含的操作有:添加安排、删除安排、修改安排、查询一天安排、按月查看安排。#*Clerk UI JourneyPlanUI ComissionUI JourneyPlayDBOArrangedPlanUILogin() ChangeUI()ChangeToCommisionUI() LicensedTo()ReturnToMes()ReturnToMes()ReturnToMes()ChangeUI() ChangePlan()ReturnToMes()ReturnTomes()ReturnToMes()ReturnToM
19、es()图 18 日程安排时序图3.1.6 待办事项列出所有传送给当前用户但该用户尚未签收处理的工作、收到留言、日程安排.待办事项模块包括的功能有:待办工作清单、收到留言清单、到期日程安排清单。待办工作清单。列示出来源于流程处理中的待办工作。工作流的催办信息发送到待办工作中。按日期从新到旧的顺序排列。首页上只显示 5 条记录,更多的记录需进入待办工作总清单进行处理。对于工作流类的处理事务,用户可以点击待办工作名称进入具体的工作处理页面。此功能包含的操作有:工作台待办工作清单、待办工作总清单、新增待办工作、删除待办工作。NewTask UnFinishTaskUI UnFinishTaskDBO
20、 BigUnFinishTaskUI ClerkFinityUnFiniTaskUISendNewTask()SendMessage() SendBigMessage()SendFinityMes() SendMessage()DeleteMessage()SendMessage()SendMessage() InformTo()AdMessage()SendMessage()InformTo()QueryMessage()SendMessage() InformTo()图 19 待办事项时序图收到留言清单。列示出别人发给自己的留言清单。按日期从新到旧的顺序排列。首页上只显示 5 条记录,更多
21、的记录需进入留言清单中进行处理。#*NewLiveMessage LiveMessageUI LiveMessageDBO BigLiveMessageUI FinityLiveMessageUI ClerkSendNewMessage()SendMessage() SendBigLiveMes()SendFinityLiveMes() SendMessage()SeeMessage()SendMesage()SendMessage()InformTo()图 20 留言时序图到期日程安排清单。 列示出来源于日程安排中的到期日程安排。按日期从新到旧的顺序排列。首页上只显示 5 条记录,更多的记录
22、需进入日程安排模块中进行处理。OverduePlan OverduePlanUI OverduePlanDBO BigOverduePlanUI FinityOverduePlanUI ClerkSendOverduePlan()SendMessage() SendBigOverduePlan()SendFinityOverduePlan() SendMessage()SeeOverduePlan()SendMesage()SendMessage()InformTo()图 21 到期日程时序图3.1.7 个人文件夹在服务器上提供个人文件夹;文件夹大小由系统管理员设定;个人可将文件上传至个人文件
23、夹中;个人文件夹可由使用者设置共享功能。此模块包含的功能有:我的文件夹、共享目录。#*Clerk Controller FolderUI FolderDBOPersonalFolderDBOLogin() DefineSize()SendMessage()SendMessage()SendMessage()Login() UploadFiles()SendMessage()SendMessage()SendMessage()Login() ChangePurview()SendMessage()SendMessage()SendMessage()图 22 个人文件夹时序图3.2 会议管理会议发
24、起人能够查询到别的系统的会议室的安排情况,以便发起网络会议。由管理员对会议室进行管理,员工使用会议室时进行预约,由管理员统一安排。并且提供对会议通知发布和会议记录提交功能3.2.1 会议室管理包括设施分类维护、会议室设施管理、会议室管理、会议室预定审批和会议室使用报表功能。图 23 会议室管理类图#*人人人 :人人人 :人人人 :人人 :DBbokRom( ) agre( )updRomState( )startMet( )update( )图 24 会议室管理时序图3.2.2 会议管理会议组织者对会议和会议记录进行维护。与会者可以查询会议并查看会议记录。人人 : 人人人 : 人 人 : DB
25、startMet( ) adMet( )Notice update( )图 25 会议管理时序图3.3 系统管理系统管理员进行后台管理的模块,包括组织管理、安全控制。图 26 系统管理时序图#*图 27 系统管理类图3.3.1 组织管理本模块维护是对集团或区域公司的组织结构、角色划分、人员信息的功能。包括部门维护、角色维护、员工信息维护。图 30 组织管理类图Operation :admin adStaf :staf adRole :roledistributePriv :privilegsetSid( ) setRoleId( ) setPrivId( )getPrivid()getRole
26、Id( )getSid图 31 组织管理时序图#*4 系统数据结构设计4.1 说明在面向对象的设计方法中,数据也可以作为一个对象来处理,如果数据附属于某一对象,可以将其纳入该对象的属性管理之中。所以在面向对象的设计过程中,对数据的设计是在对对象的设计过程中完成的。4.2 数据结构列名 类型 可否为空 说明员工基本信息表(实体)ID Int No key主题 vchar( 20) No正文 vchar( 20) Yes时间 date no员工表工号 int no key姓名 vchar(20) no所属部门 vchar(20) no部门职位 vchar(20)年龄 vchar(20) no性别
27、vchar(20) no办公电话 int no移动电话 int noEmail vchar(20) yes地址 vchar(20) yes个性简介 vchar(20) yes密码表工号 int no key密码 int no会议室表id int no key名称 vchar(20) no详细信息 vchar(20) no申请会议室表#*id int no key开始时间 date no结束时间 date no申请工号 vchar(20) no状态码 vchar(20) no备注 vchar(20) yes会议室状态表typeid vchar(20) no key状态 vchar(20) no申
28、请会议表id Int no key发起工号 vchar(20) no开始时间 date no结束时间 date no会议室 id vchar(20) no主题 vchar(20) no状态码 vchar(20) no正文 club no会议通知表会议 id int no key工号 vchar(20) no部门表id int no key部门名称 vchar(20) no角色表id int no key所属部门 id int no角色名称 vchar(20) no共享文件夹设置表id int no key共享工号 int no文件存储表工号 int no key文件名 vhcar(20) no
29、#*文件内容 clob yes文件夹信息表工号 int no key已使用大小 vchar( 20) no通讯录表id int no key姓名 vchar(20) no性别 vchar(20) no归属工号 int no移动电话 int no办公电话 int no部门 vchar(20) no地址 vchar(20) yes备注 clob yes公开/私有 vchar(20) no表 1 数据库表设计4.3 数据结构与系统元素的关系系统的数据结构由标准数据库语言 SQL 生成。例如创建系统用户表格 user_info 的程序用SQL 表示就是:CREATE TABLEdbo.user_inf
30、o(user_NAMEchar(20)COLLATE Chinese_PRC_CI_AS NOT NULL,user_ID int COLLATE NOT NULL,user_PWD char (10) COLLATE Chinese_PRC_CI_AS NOT NULL,user_SEX char (10) COLLATE Chinese_PRC_CI_AS NOT NULL,user_Department char (10) COLLATE Chinese_PRC_CI_AS NULL,user_Phonechar(10) COLLATE Chinese_PRC_CI_AS ,)ON PR
31、IMARY7 系统出错处理设计7.1 出错信息客户端:1) 无法连接远程主机,请确认远程主机是否活动,请确认远程主机是否使用默认端口 21.2) 上传过程中出错,请确认网络处于连接状态,并重新上传.3) 下载过程中出错,请确认网络处于连接状态,并重新下载.4) 远程主机关闭,请与远程 FTP 管理员联系.5) 未知命令.6) 命令格式不正确.#*7) 权限不足出错,请确认使用的用户是否具有相应的读写权限.在用户使用错误的数据或访问没有权限的数据后,系统给出提示:“对不起,你非法使用数据,没有权限!”而且用户的密码管理可以允许用户修改自己的密码,不允许用户的匿名登录。7.2 补救措施由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。但有可能占用更多的数据存储空间,权衡措施由用户来决定。上传,下载过程中出错(包括文件传输中断,以及文件校验不符),则重新上传,下载,最多重试 3 次.3 次无效后,自动断开连接,释放系统资源,并向用户作出提示。