《中小型企业办公自动化管理系统详细设计说明书.doc》由会员分享,可在线阅读,更多相关《中小型企业办公自动化管理系统详细设计说明书.doc(35页珍藏版)》请在三一办公上搜索。
1、中小型企业办公自动化管理系统需求说明书目 录1引言21.1编写目的21.2参考资料22公有模块和公有类设计22.1公有数据表设计22.2公有模块和公有方法32.3公有类43信息发布子系统详细设计63.1功能73.2数据库设计83.3业务实体类的划分与算法描述94公文流转子系统详细设计94.1定义94.2功能94.3数据库设计124.4业务实体类的划分与算法描述(不直接与界面交互)144.5业务边界类的划分与算法描述(直接与界面交互)175考勤管理子系统详细设计225.1功能225.2数据库设计245.3业务实体类的划分与算法描述266办公室管理子系统详细设计296.1功能296.2数据库设计3
2、06.3业务实体类的划分与算法描述337系统管理子系统详细设计337.1功能337.2算法描述348限制条件349测试要点341 引言1.1 编写目的为明确中小型企业办公自动化管理系统,提高开发效率,作此详细设计说明书,提交开发部作开发用。本文档供项目经理、设计人员、开发人员参考。1.2 参考资料a. 项目的计划任务书、合同或批文;b. 内部网站项目开发计划;c. 需求说明书;d. 文档中所引用的其他资料、软件开发标准或规范。2 公有模块和公有类设计2.1 公有数据表设计2.1.1 用户基本信息集字段名称字段描述主 键 类型长度 说 明IdIdInteger8Yhbh用户编号Char12Bmh
3、dwid部门或单位idInteger8Xm姓名Char12Dlm登录名Char12Dlmm登录密码Char12Fbqxbz发布权限标志Boolean区分用户是否具有发布信息的权限Dqxid读权限idInteger8Xb性别BooleanCsny出生年月DateYhsm用户说明Char60Jybz禁用标志Boolean该用户是否已被禁用2.1.2 部门代码表字段名称字段描述主 键 类型长度 说 明IdIdInteger8Bmbh部门编号Char12Bmhdwmc部门或单位名称Char202.2 公有模块和公有方法公有模块和方法:AppmodPub模块功能提供访问数据库的接口方法1ConnectD
4、B描述连接数据库。传入参数SqlConnection传出参数True,false方法2DisConnect描述断开连接传入参数SqlConnection传出参数无公有模块和方法:AppmodSet模块功能获取本地路径,用户名等信息方法1AppPath描述获取应用程序本地路径传入参数无传出参数应用程序的本地路径方法2UserName描述获取当前用户名传入参数无传出参数当前用户名方法3ComputerName描述获取当前计算机的名称传入参数无传出参数当前计算机的名称方法4GetUserPath描述获取当前用户的路径传入参数String,String传出参数当前用户的路径方法5GetWkDay描述将
5、当前日期转换成星期传入参数Date传出参数String(星期)方法6WriteErrorLog描述写错误日志传入参数String,String,Integer传出参数无2.3 公有类公有类:clsAncestor实体属性对记录进行增加,删除,修改和查看等操作方法1GetRow描述获取一行数据传入参数无传出参数True, false方法2AddRow描述添加一行数据传入参数无方法3DelRow描述删除一行数据传入参数无方法4ModRow描述修改一行数据传入参数无传出参数True, false待添加的隐藏文字内容3公有类:clsSeDataSet实体属性对两个不相关联的表数据进行操作方法1Crea
6、teDataSet描述创建一个带有两个表的数据集传入参数String, String, String, String传出参数DataSet(创建的数据集)方法2UpdateDataSet描述对数据集进行更新操作传入参数DataSet传出参数True, false公有类:clsReDataSet实体属性对两个相关联的表数据进行操作方法1CreateDataSet描述创建一个带有两个关联表的数据集传入参数String, String, String, String传出参数DataSet(创建的数据集)方法2UpdateDataSet描述对数据集进行更新操作传入参数DataSet传出参数True,
7、false公有类:clsDataSet实体属性对只有一个表的数据集进行操作方法1CreateDataSet描述创建带有一个表的数据集传入参数String, String传出参数DataSet(创建的数据集)方法2UpdateDataSet描述对数据集进行更新操作传入参数DataSet传出参数True, false公有类:clsDataStore实体属性使用存储过程对数据库进行操作方法1UpdateDataStore描述利用存储过程更新数据库传入参数String, String,String, String,String传出参数True, false方法2GetDataRow描述取一行数据传入参
8、数String,String传出参数True, false方法3GetDataItem描述取一个数据项传入参数String,String传出参数数据项的值公有类:clsSingleRow实体属性单行数据的简单操纵,包括增、删、改、查单行数据方法1GetRow描述获取单行数据传入参数String,String,String,String传出参数True,false方法2AddRow描述添加一行数据传入参数String,String,String传出参数True,false方法3DeleteRow描述删除一行数据传入参数String,String,String,String传出参数True,fal
9、se方法4UpdateRow描述更新一行数据传入参数String,String,String,String传出参数True,false3 信息发布子系统详细设计本节重点分析信息发布子系统的各个模块以及功能;3.1 功能3.1.1 发布信息本功能供具有发布权限的用户发布信息,部门信息管理员或以上级别的用户有发布信息的权限,部门用户和访客没有发布信息的权限。可以使用的信息格式有“附图片信息”和“文档信息”两种。两种信息都具有信息标题,所不同的是,发布者可以在“附图片信息”的信息正文后加入图片,而“文档信息”没有信息正文,发布者须指定“文档信息”中的文档(可以是任何格式的文件,但推荐使用Word文档
10、、excel文档和文本文件)。用户发布信息时须指定:n 信息类型(如果该类型的信息全部用户可读,则不用指定下面三项)n 可以阅读该信息的最低权限n 读限制标志(所有部门皆可阅读,还是将阅读范围限制为某些部门)n (若读限制为某些部门)可以阅读该信息的部门(一个或多个)3.1.2 阅读信息用户登录系统后,都可以查看信息,但他(她)所能阅读的信息根据其读权限的级别而有所差别。访客只能阅读所有用户均可阅读的信息,如公告、合理化建议等;其他用户除了可以阅读所有用户均可阅读的信息外,还可以阅读以下信息:n 所有部门皆可阅读的,而且最低读权限小于或等于当前用户的读权限的信息;n 当前用户所属部门可读的,而
11、且最低读权限小于或等于当前用户的读权限的信息。3.1.3 按条件搜索信息本功能可以让用户按“发布部门”或“信息类型”检索其可以阅读的所有信息。3.1.4 删除/修改信息本功能供信息发布人删除/修改信息,并供系统管理员删除信息。3.1.5 修改登录密码本功能供网站用户修改登录密码。3.2 数据库设计1、读权限代码表字段名称字段描述主 键 类型长度 说 明IdIdInteger8Dqxbh读权限编号Integer8值越小权限越高,初始有1070共7个权限,权限之间的间隔为10,以便插入新的级别Dqxmc读权限名称Char202、信息类型代码表字段名称字段描述主 键 类型长度 说 明IdIdInte
12、ger8Xxlxbh信息类型编号Char12Xxlxmc信息类型名称Char20Djbbz读级别标志Boolean该类型信息是否全部人可读3、信息登记表字段名称字段描述主 键 类型长度 说 明IdIdInteger8Xxbh信息编号Char12Fbyhid发布用户idInteger8Bmhdwid部门或单位idInteger8Fbsj发布时间DatetimeXxlxid信息类型idInteger8Dxzbz读限制标志Boolean该条信息是否所有部门可读Dqxid读权限idInteger8Xxbt信息标题Char80Xxnrlxbz信息内容类型标志Boolean区分文档+图片的信息和文档信息W
13、bnr文本内容NtextTpnr图片内容ImageTpwjlx图片文件类型Char50Xgsj修改时间Datetime4、信息与部门关系表字段名称字段描述主 键 类型长度 说 明IdIdInteger8Xxid信息idInteger8Bmhdwid部门或单位idInteger83.3 业务实体类的划分与算法描述按照一个表对应一个DataSet实体的原则处理。包括基本的增加、删除、修改和查看。所有的基本的增删改查都在业务实体作,包括List和Detail两种方式。4 公文流转子系统详细设计4.1 定义历史公文:最终审批完后的公文.包括最终审批后已执行和未来得及执行得公文.历史公文不包括作废的公文
14、.在库中的记录,最终审批完成标志为“完成”,作废标志为“未作废”。在审公文:现在还在审批的公文,没有最终审批完成。最终审批完成标志为“未完成”,作废标志为“未作废”。作废公文:作废标志为“作废”,但没有从库中彻底删除。固定流程:由本人专门制作的一条流程,供使用权限范围内的人使用。每一步的审批人已确定.固定流程不具体对应某条公文.定制流程:每一步的审批人没事先确定好,发起人只选择第一个审批人,以后每一步的审批人审批完都要选择他下一步的审批人.4.2 功能4.2.1 登录公文流转子系统用户进入公文流转子系统后的操作如下:1、能够看到系统给的公文审批通知信息。形式以滚动条或其他消息框方式给出。初始登
15、录用户为集团所有人员并拥有自己的登录名和登录密码。2、登录公文子系统就要同时打开本登录用户的待审文件列表。促使用户进入系统就进行审批文件。4.2.2 发布公文文件 集团所有人员都可以发布公文。用户按照公文的要求发布自己的公文(公文号、标题、内容、发布时间、发布人、附带文档及文档类型)。每人发布的公文除了管理员有所有管理权限之外只能由自己或已审批过的人查看。4.2.3 选择审批流程 用户自己填写的公文成功提交后,进入到选择审批流程。流程分为两种:固定流程和定制流程。固定流程由发起人在固定流程表中选择一个审批流程。分为:1、发起人选择固定流程表中一个审批流程。2、若需要对固定流程进行维护(增加、修
16、改),提供选择固定流程前到固定流程维护界面的入口,并能够返回。也就是说用户在选择固定流程时,可以先进入到固定流程维护界面进行维护,然后返回选择界面选择一条固定流程。定制流程发起人发起公文后或上一个审批人审批完后,按照先部门后人员选择下一步的审批人,完成后提交。 4.2.4 通知审批通知审批是给下一步的审批人发送即时通知。通知显示从用户登录内部网站开始一直到退出内部网站。若此次登录没审批则下次登录还应继续发送待审的所有信息。注:此处为所有通知信息,即包括了以前发送过通知但还没审批,则要继续发送即时通知。4.2.5 查看审批文件状态前置:本功能提供查看的公文是正在审批过程中的文件。发起人可以对自己
17、发起的公文进行维护,维护类型如下:(1)查看:查看本人发起的公文的审批情况。(2)删除。在还没最终审批完成之前,对本人发起的公文,进行作废处理。审批人可以对自己审批的文件进行查看。4.2.6 审批文件并选择下一个审批人用户进入到公文子系统就直接审批文件,若本公文审批流程为固定流程,则审批后提交完成,若审批流程为定制流程,则如同上面选择审批流程功能模块中的“(2)定制流程”。4.2.7 查询历史文件 历史文件为已经完成最后审批的文件。所有人都只能查看自己发起或者审批过的历史公文信息,但不能进行修改。其他人发布的文件自己又没进行审批则没有权限查看。历史文件的删除操作由管理员进行。作废处理的文件只能
18、由管理员才能够查看。4.2.8 维护固定流程 维护固定流程可以在用户登录公文系统后直接进入,也可以在选择固定流程的时候进入。所有人都对自己创建的流程有增、删、改和使用的权限,非制定人但在使用权限范围内由只有使用的权限。流程制定人的操作: a,增加。添加新的固定流程。 b,删除。对已经没有实际应用价值的固定流程删除掉。 c,修改。对需要修改的流程进行修改,例如人员的添加,删除,改动。固定审批流程的“使用范围”类型如下:1本人,则这条固定流程只能供本人维护和使用。2某部门,则本部门所有人有使用和查看此项固定流程的权限,但无修改权限。3集团所有人,则所有人有查看和使用的权限,无修改权限。查看分为流程
19、的查看和流程相关人员的查看。4.2.9 管理员查询浏览文件 查找文件描述1、按照一定关键字进行文件查找,提供按公文名称,发起人,发起时间,审批人以及人员编号等查询。2、 查看分列表和详细两种方式。3、 管理员可以查看历史文件,也可以查看在审的文件。管理员可以查看作废处理的文件。4.2.10 管理员管理文件 管理员对所有公文有删除、查看的权限。1、查看:文件及其审批情况或历史公文。可以对所有公文起到监查的作用。2、删除:文件及其审批情况或历史公文。管理员对正在审批或已经审批完成的公文认为该作废的可以作废处理,作废处理的文件并没从数据库中彻底删除。例如内容不是健康的,则要即时作相关处理,并且作废处
20、理的文件只能由管理员查看处理。4.2.11 用户管理主要是对用户的权限管理:目前暂设所有人都有发布公文的权限。其他用户权限例如用户对固定流程的维护权限等在程序中控制,对管理员不作管理要求之外,用户管理暂没有特殊要求。4.3 数据库设计A、公文文件信息表 (n_gwwjxxb_ent)数据名称字段名数据类型长度主键非空初始值备注对象标识idInteger6公文号gwhString8公文标题gwbtString20概要内容gynrText500文档wdimage发起人标识fqridInteger6取姓名。由登录名自动取。发起日期fqrqDate10当日紧要级别jyjbInteger1高、中、低审批
21、完成标志spwcbzInteger1未完成最终审批完成标志作废标志zfbzinteger1不作废作废、不作废备用标志1Bybz1integer1备用标志2Bybz2Integer1备用属性1By1string20备用属性2By2string20B、流转文件执行表 (n_gwlzwjzxb_ent)数据名称标识数据类型长度主键非空初始值备注对象标识idInteger6公文标识gwidInteger6公文号,公文标题审批人标识spridInteger6取姓名审批内容spnrText50审批时间spsjDate10当日审批完成标志spwcbzInteger1未完成固定流程标识gdlcidIntege
22、r6取标识号备用标志1Bybz1integer1备用标志2Bybz2Integer1备用属性1By1string20备用属性2By2string20说明:固定流程标识不提供查询功能和页面显示。C、固定流程主表 (n_gwgdlczb_ent)数据名称标识数据类型长度主键非空初始值备注对象标识idInteger6固定流程名称gdlcmcString20流程制定时间lczdsjDate10当日流程制定人标识zdridInteger6取姓名适用范围syfwInteger11,本人使用2,本部门使用3,集团所有人员备用标志1Bybz1integer1备用标志2Bybz2Integer1备用属性1By1
23、string20备用属性2By2string20D、固定流程人员子表 (n_gwgdlcryb_ent)数据名称标识数据类型长度主键非空初始值备注固定流程标识gdlcidInteger6取标识号人员标识ryidInteger6取姓名顺序号sxhinteger4在流程审批中的顺序号E、审批公文临时表 (n_gwsplsb_ent)数据名称标识数据类型长度主键非空初始值备注公文标识gwidinteger6取公文号,标题,发起日期,发起人,紧要级别人员标识ryidinteger6取姓名(显示)登录名(查询用)4.4 业务实体类的划分与算法描述(不直接与界面交互)按照一个表对应一个DataSet实体的
24、原则处理。包括基本的增加、删除、修改和查看。所有的基本的增删改查都在业务实体作,包括List和Detail两种方式。公有事件事件SendMessage传入参数无(从Session得到用户名)传出参数本用户的待审文件数。算法描述按登录用户名统计临时表中的记录,从登录内部网站开始发送通知给登录用户。Class 1:用户登录(Ctrl_yhdl class)实体属性用户基本表实体方法Authoritycheck描述检查用户登录权限,赋session值。传入参数(string)用户登录名传出参数SuccessClass 2:固定流程选择操作 (Ctrl_gdlc class)实体属性固定流程主表实体,
25、固定流程子表实体,执行表实体,临时表实体方法1FillExecutiveTable描述将选择的固定流程对应的人员全部填入执行表。传入参数(Dataset)执行表实体,(string)选择的固定流程对应的人员集合,(int)公文标识。传出参数Success方法2FillTempTable描述将第一个审批人填入临时表。传入参数(Dataset)临时表实体,(int)选择的固定流程第一个人员标识,(int)公文标识传出参数SuccessClass 3:定制流程操作(包括下一步选择)(Ctrl_dzlc class)实体属性临时表实体,公文表实体,部门表实体,人员表实体,执行表实体方法1CheckIf
26、AllCompleted描述得到是否审批最后完成的传入参数(每一个审批页面上的RadioButton)。若是,执行DeleteTempFile和SetAllCompleted.若否,执行DepartmentList, ListPerson, CheckSelectedPersonValidity,FillTempTable和FillExecutiveTable.传入参数(int)是否最后审批完成的标志,(int)公文标识传出参数(int)公文标识方法2DeleteTempFile描述删除临时表中本公文记录。传入参数(int)公文标识传出参数Success方法3SetExcutiveComple
27、ted描述将本次审批对应执行表中的记录置完成标志。传入参数(Dataset)执行表实体,(int)公文标识.(int)人员标识传出参数Success方法4SetAllCompleted描述将公文表中的最终完成标志置为“完成”。传入参数(int)公文标识,(DataRow)公文表一行数据传出参数Success方法5CheckSelectedPersonValidity描述检查选择的人员的合法性,如:必须为部门主任以上级别。传入参数(string)选择的人员传出参数Success.方法6FillTempTable描述判断临时表中是否有本公文记录(发起还是审批),有则更改,无则添加。传入参数(Dat
28、aset)临时表实体,(int)公文标识,(int)人员标识传出参数SuccessClass 4:审批文件 (Ctrl_spwj class)实体属性执行表实体方法1SetCompleted描述置本次审批完成标志为“完成”。传入参数(Datarow)执行表中本次审批的一行数据.传出参数Success方法2CheckSequence描述判断本次审批为何流程。若为固定流程,进入下一步审批选择操作(Class 5)。若为定制流程,进入定制流程操作(Class 3)。传入参数(DataRow)执行表中本次审批的一行数据.传出参数(int)公文标识Class 5:下一步审批选择(固定流程)(Ctrl_g
29、dlcxyb class)实体属性执行表实体,临时表实体,公文表方法1CheckIfAllCompleted描述判断是否审批全部完成,从执行表中查询是否还有下一个审批人。若是则执行DeleteTempFile和SetAllCompleted.若否则执行SelectNext和UpdateTemp.传入参数(Dataset)执行表实体,(int)公文标识传出参数(int)公文标识方法2DeleteTempFile描述删除临时表中的记录(已全部审批完成)。传入参数(Dataset)临时表实体,(int)公文标识传出参数Success方法3SetAllCompleted描述将公文表中记录最后完成标志置
30、完成。传入参数(Dataset)公文表实体,(int)公文标识传出参数Success方法4SelectNext描述按顺序号选择下一个审批人,修改临时表。传入参数(Dataset)执行表实体,(int)公文标识,(int)上一个审批人顺序号传出参数(int)公文标识,(int)人员标识方法5UpdateTemp描述修改临时表中本公文对应的记录为下一个审批人。传入参数(int)公文标识,(int)人员标识,(Dataset)临时表实体传出参数SuccessClass 6:作废在审文件(Ctrl_zfzswj class)实体属性公文表实体,临时表实体方法DeleteByMader描述根据发起查询的
31、结果的选择,执行作废操作(Class 7:DeleteTempFile和SetDeleted).传入参数(Datarow)公文表的一行数据,(Dataset)临时表实体传出参数(int)公文标识,(Dataset)临时表实体(注:按照审批查询的结果除查看外不作任何其他操作,故在与用户交互的业务逻辑作。)Class 7:作废处理 (Ctrl_zfcl class)实体属性临时表实体,公文表实体方法1DeleteTempFile描述删除临时表中本公文。传入参数(Dataset)临时表实体,(int)公文标识传出参数Success方法2SetDeleted描述将公文表中的作废标志改为“作废”。传入参
32、数(Dataset)公文表实体,(int)公文标识传出参数Success4.5 业务边界类的划分与算法描述(直接与界面交互)Class 1:发布公文 (fbgw boundary class)对象属性公文表实体方法CheckInputValidity描述检查录入信息的合法性,合法则填入公文表中。传入参数无(用户录入信息)传出参数(int)公文标识Class 2:选择流程种类(xzlc boundary class)对象属性无方法SequenceSelect描述根据传入的选择标志,执行选择的流程操作。为入口函数若为固定流程标志,则执行选择固定流程操作。若为定制流程标志,则执行定制流程操作。传入参
33、数(int)选择的流程标志传出参数(int)公文标识Class 3:选择固定流程 (xzgdlc boundary class)对象属性固定流程主表实体,固定流程子表实体,固定流程操作控制类方法1SelectSequence描述按登录用户名从固定流程表中选出本人适用范围的固定流程,即本人,本部门,集团范围的记录列表显示。传入参数(Dataset)固定流程实体(从session得到用户名)传出参数Success方法2SelectPerson描述检查用户是否选择了一条固定流程,若是则显示相应的审批人员。传入参数(int)选择的固定流程标识,(Dataset)固定流程子表实体传出参数Success方
34、法3ExecuteControl描述执行固定流程控制功能(control class 2),并传递选择的固定流程主表和子表的信息。传入参数(int)固定流程标识,(string)人员集合传出参数SuccessClass 4:选择定制流程 (xzdzlc boundary class)对象属性部门表实体,人员基本表实体,定制流程操作控制类方法1DepartmentList描述显示公司所有部门,从部门表中取。传入参数无传出参数Success方法2ListPerson描述判断是否选择了结果中的部门,若是则显示部门所有人员。传入参数(int)部门标识传出参数Success方法3ExecuteContr
35、ol描述不管是发起,还是审批,都在完成后执行定制流程操作控制类的方法。传入参数(int)页面选择的是否审批最终完成标志,(int)人员标识传出参数SuccessClass 5:审批文件 (spwj boundary class)对象属性执行表实体,临时表实体,审批文件控制类方法1ListCheckFile描述根据用户名从临时表得到本用户的所有待审文件,列表显示。传入参数从Session得到用户名传出参数Success方法2DetailCheckFile描述判断待审文件列表中是否选择了记录,从执行表中Detail显示本次待审信息。传入参数(int)公文标识,(int)人员标识传出参数Succes
36、s方法3SelectCheckedItem描述从执行表中选出本次审批以前每次审批的信息,只取人员和审批意见两项。(提供本次审批作参考用)传入参数(int)公文标识,(int)人员标识(取顺序号)传出参数Success方法4ExecuteControl描述执行审批文件的控制类:Ctrl_spwj。(确定下一步审批流程)传入参数(Datarow)执行表中本次审批的一行数据。传出参数SuccessClass 6:查询在审文件 (cxzswj boundary class)对象属性公文表实体,执行表实体,作废在审文件控制类方法1CheckFileType描述判断是查询发起还是审批的在审文件(页面控件选
37、择)。若为发起,则执行SelectByMader若为审批,则执行SelectByChecker传入参数无传出参数Success方法2SelectByMader描述按发起人查询在审文件。(程序中控制标志为“未完成”)传入参数(Dataset)公文表实体,从Session得到用户名传出参数Success方法3SelectByChecker描述按审批人查询文件。(程序中控制标志为“未完成”)查询审批文件时,先从公文表中找发起人不是本人的在审文件,再找执行表中自己已经审批过了的。传入参数(Dataset)公文表实体,(Dataset)执行表实体,从Session得到用户名传出参数Success方法4V
38、iewCheckDetail描述判断是否选择了公文查询结果,若是则从执行表中取出审批记录。以List和Detail两种方式查看。传入参数(int)公文标识,(Dataset)执行表实体传出参数(int)公文标识(提供按发起查看的作废操作)方法5ExecuteDeletion描述判断是否按发起查询,若是执行作废在审文件控制类的方法(class:ctrl_zfzswj).传入参数(Dataset)公文表中的一行数据。传出参数SuccessClass 7:查询历史文件 (cxlswj boundary class)对象属性公文表实体,执行表实体方法1CheckFileType描述判断是查询发起的还是
39、审批的历史公文。(用户选择)若为发起,则执行SelectedByMader.若为审批,则执行SelectedByChecker.传入参数无传出参数Success方法2SelectedByMader描述按发起查询历史文件。传入参数(Dataset)公文表实体,从Session得到用户名传出参数Success方法3SelectedByChecker描述按审批查询历史文件。查询历史文件时,先从公文表中找发起人不是本人的文件,再找执行表中自己是审批人的。传入参数(Dataset)公文表实体,(Dataset)执行表实体,从Session得到用户名传出参数Success方法4ViewCheckingDetail描述判断是否选择了查询结果