已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
合约公司管理系统设计与实现详细设计说明书1 引言1.1 编写目的 合约公司管理系统详细设计是设计的第二个阶段,这个阶段的主要任务是在合约公司管理系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。 概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体的说,模块设计就是要为已经产生的合约公司管理各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。1.2 项目背景1.3 定义SQL SERVER:系统服务器所使用的数据库管理系统(DBMS)。SQL:一种用于访问查询数据库的语言。事务流:数据进入模块后可能有多种路径进行处理。主键:数据库表中的关键域,值互不相同。外部主键:数据库表中与其他表主键关联的域。UML:Unified Modeling Language , 统一建模语言。类图(class diagram):表述系统中各个对象的类型及其间存在的各种静态关系。交互图(interactive diagram):是表述各组对象如何依某种行为进行协作的模型。SQL(Structured Query Language):结构化查询语言。2 总体设计2.1 需求概述 按照需求分析文档中的规格要求,使用数据库存储了公司的所有合同以及员工的基本信息,并且提供对存储的数据进行查询、修改、增添、删除的界面,方便用户使用。同时,系统最大限度地实现易安装,易维护性,易操作性,运行稳定,安全可靠。2.2 程序结构说明合约公司管理系统由三个大模块,六个小模块组成,系统的组织结构图如下图所示: 图2.1 合约公司管理系统模块功能结构图3 程序描述3.1 用户登录程序模块3.1.1 程序特征描述 本程序模块是合约公司管理系统的一个子模块,操作对象是用户,负责用户登陆控制。3.1.2 程序功能描述 本模块的核心程序是UserLoginManager类,此类根据界面输入的用户名密码来请求服务器验证用户登陆。主要功能:1. 根据用户输入的用户名密码进行登录验证,验证成功进入主界面,显示合约列表; 1)编写登陆界面:界面有用户名,密码两个输入框,有“登录”、“退出”连个功能按钮; a. 若点击“退出”按钮,退出程序。 b. 若点击“登录”按钮,开始用户登陆。先显示查找服务器等待界面,若查找失败,提示失败原因,重新返回登陆界面,若成功,进入登陆等待界面;在登陆等待界面,若登陆成功,进入程序主界面,显示合约列表。若登陆失败,提示用户失败原因,重新返回登陆界面。2)编写查询服务器等待界面:显示查找等待进度条。3)编写登陆等待界面:显示登陆等待进度条。4)编写合约列表界面。2要能处理网络连接出错等异常情况:发生异常后,均给出提示,再重新返回登录界面3. 输入的用户名,密码要进行合法性检查:用户名,密码不能为空3.1.3 程序性能描述 本模块要求各操作能独立完成,并且对于各种意外原因造成的操作中中断模块能够有及时的处理。3.1.4 程序输入/输出项输入界面如下图所示: 图3.1 登陆界面视图输入项:登录界面的输入项如下图所示: 图3.2 登陆界面输入项登录成功的输出界面如下图所示: 图3.3 登录成功输出界面3.1.5 算法本模块不设计复杂算法。3.1.6 程序逻辑 用户登录程序模块是整个合约公司管理系统的首界面,并且,也是系统安全性的正要保障。用户登录程序会将用户输入的用户名和密码与服务器端数据库中存储的管理员和软件使用者信息进行比较,如果信息匹配上,服务器就会返回一个信息,并调取登录成功的合同列表界面显示在用户端浏览器上。并且在用户进行其他操作以及界面跳转时都不需要再进行用户名和密码的输入。用户登录程序的逻辑结构如下图所示: 图3.4 程序逻辑流程图3.1.7 接口暂无3.1.8 存储分配本模块无存储分配计划。3.1.9 限制条件由于应用软件的具体硬件设置和具体操作人员的熟练程度制约了登录的速度。3.1.10 测试要点 本模块的测试计划初步定为按照业务逻辑流程测试。3.2 管理模块程序3.2.1 程序功能描述(1) 功能类型:其他(2) 功能概述:合同的起草添加、删除、修改、删除以及打印(3) 前提业务:用户登陆模块(4) 功能约束:权限约束(5) 约束描述:(6) 操作权限:公司管理人员功能流程图见图2.1所示。3.2.2 程序性能描述 合约公司管理系统权限管理模块的操作只有管理员一级的用户拥有权限,不存在多用户并发访问的压力问题。但是对于用户的权限控制比较占用资源,可能存在的问题集中在多表操作上,在用户登录系统的验证和进入系统后的权限控制时会频繁访问数据库,造成可能的系统压力。用户列表的翻页操作,由于用户信息数据量大,可能随着翻页的增加导致系统速度变慢。3.2.3 程序输入/输出项由于合同对于整个公司的重要性,程序输入的合同的各个信息,以及参与合同制定的相关人员的基本信息,都应保证准确无误,保证合同信息的完整性和正确性,方便一般用户的查询。程序输入界面如下图所示: 图3.5 管理模块程序界面程序输出的是合同列表,如下图所示: 图3.6 合同列表界面3.2.4 算法(1)用户可见窗体节点树的动态生成用户所见的节点树由该用户所扮演的角色决定,事实上是由角色所具有的权限所决定的。数据库的“窗体表”中存储各窗体节点的信息,包括窗体名称、链接、节点编码等。节点编码体现节点的层次。节点编码的位数除以得到的值再减即为该节点位于的层数,每个节点编码(根节点除外)去掉末尾的两位数后得到的编码即为此节点的父节点的编码。这样,只要有了一个节点集合以及这些节点的编码,就可以唯一确定并生成一棵树结构。因此,只要根据用户权限从数据库中读取出该用户所能操作的所有节点的集合,就可以在用户界面上动态的创建出此用户所能够访问的节点(窗体)。(2)页面按钮权限控制对于页面和按钮的控制,是通过角色管理实现的。首先,给已有的角色分配定义好的业务,存入数据库中的“角色窗体业务关系表”中。当用户登录系统时,会根据用户的角色在“角色窗体业务关系表”中查询角色所拥有的业务和窗体,通过窗体可以生成如上的节点数,通过用户拥有的业务查询“业务按钮对应表”则可以控制用户在刚窗体中的按钮是可见的。3.2.5 程序逻辑IDO层:(1).bit.yanwang.privilege.right.ido.ConIDO:对应表privilege_business(合同列表)(2).bit.yanwang.privilege.right.ido.TreeIDO: 对应生成的权限树的节点关系(3).bit.yanwang.privilege.right.ido.UserDetailIDO: 对应用户的个人详细信息(4).bit.yanwang.privilege.right.ido.UserRoleIDO: 对应表privilege_userrole(用户角色表)FS层:(1).bit.yanwang.privilege.right.fs.ConFS负责查询与合同相关的信息(2).bit.yanwang.privilege.right.fs.RightFS负责查询与权限相关的信息(3).bit.yanwang.privilege.right.fs.UserFS负责查询与用户相关的信息BO层:(1).bit.yanwang.privilege.right.bo.RoleUserBO与用户角色相关的操作(2).bit.yanwang.privilege.right.bo.ConBO与合同相关的操作BS层:(1).bit.yanwang.privilege.right.bs.ConBS负责处理合同相关的逻辑1. public FeedBack queryAllBus(HttpServletRequest req,HttpServletResponse rep)查询系统所有合同(2).bit.yanwang.privilege.right.bs.RightBS负责处理权限相关的逻辑1. public FeedBack checkUserPsw(HttpServletRequest req,HttpServletResponse rep)检验登录用户名密码是否合法(3).bit.yanwang.privilege.right.bs.ConBS负责处理合同相关的逻辑1. public FeedBack queryAllCon (HttpServletRequest req,HttpServletResponse rep) 查询所有合同信息 2.public FeedBack querySpecialCon(HttpServletRequestreq,HttpServletResponse rep) 查询特定合同信息 3. public FeedBack deleteCon(HttpServletRequest req, HttpServletResponse rep) 删除合同 4.public FeedBack updateCon(HttpServletRequest req,HttpServletResponse rep) 修改合同信息 5. public FeedBack addCon(HttpServletRequest req,HttpServletResponse rep)添加合同3.2.6 接口1人员管理(1)人员信息管理页面 /systemprivilege/RoleManagement.jspa)查询人员权限信息调用Class:.bit.yanwang.privilege.right.bs.RoleBS调用Function: queryRoleInfo返回JSP:/systemprivilege/sub_RoleManagement.jspb)跳转到增加人员界调用Class:.bit.yanwang.privilege.right.bs.BusinessBS调用Function: queryAllBus返回JSP:/systemprivilege/sub_RoleAdd.jspc)删除人员调用Class:.bit.yanwang.privilege.right.bs.RoleBS调用Function: delRole返回JSP:/systemprivilege/sub_RoleManagement.jspd)跳转到修改人员信息界面调用Class:.bit.yanwang.privilege.right.bs.RoleBS调用Function: queryRoleInfoByRoleDBID返回JSP:/systemprivilege/sub_RoleModify.jsp(2)增加人员页面 /systemprivilege/RoleAdd.jsp调用Class:.bit.yanwang.privilege.right.bs.RoleBS调用Function: addNewRole返回JSP:/systemprivilege/sub_RoleManagement.jsp(3)修改角色页面 /systemprivilege/RoleModify.jsp调用Class:.bit.yanwang.privilege.right.bs.RoleBS调用Function: modifyRole返回JSP:/systemprivilege/sub_RoleManagement.jsp2合同管理合同管理页面 /systemprivilege/ConManagement.jspa)显示合同列表调用Class:.bit.yanwang.privilege.right.bs.ConBS调用Function: queryAllCon返回JSP:/systemprivilege/sub_ConManagement.jspb)按合同名查询合同信息调用Class:.bit.yanwang.privilege.right.bs.ConBS调用Function: querySpecialCon返回JSP:/systemprivilege/sub_ConManagementSpecial.jspc)跳转到添加合同界面调用Class:.bit.yanwang.privilege.right.bs.ConBS调用Function: queryAllConName返回JSP:/systemprivilege/pre_ConAdd.jspd)删除合同调用Class:.bit.yanwang.privilege.right.bs.ConBS调用Function: deleteCon返回JSP:/systemprivilege/sub_ConManagement.jspe)跳转到修改合同界面调用Class:.bit.yanwang.privilege.right.bs.ConBS调用Function: queryCon返回JSP:/systemprivilege/sub_ConModify.jsp3.2.7 存储分配SESSION调用说明:1创建SESSION:user_role_relations 用户角色关系,表示一个登录用户所拥有的所有角色的列表userdbid 用户DBID,是系统对用户的唯一标识username 用户名称userpassword 用户密码businessinfo 所有可以用于分配的权限的列表single_role_info 一个角色拥有的权限的列表con_info 所有合同信息列表canseetreewindownodes 用户可见窗体节点树的节点列表2调用SESSION:userdbid 用户DBIDusername 用户名userpassword 用户密码3.2.8 限制条件此部分的功能应当只限于管理员一级的用户使用。3.2.9 测试要点 由于合约公司系统管理模块的用户不会太多,一般来说,主要是管理员一级的用户才有权限操作,所以测试的要点不应放在压力测试上,而应当放在边界值测试和操作权限控制测试上。因为系统管理的操作关系到整个系统的运作和用户的安全性,所以应当注意是否有可能通过非法路径执行系统相关操作从而破坏系统安全性,在对合同和员工信息进行增加、删除和修改操作后,数据库各表之间的数据一致性。此部分的各项操作都涉及到多表访问,需要增加必要的事务回滚。对于用户登录系统并进行各种操作的权限控制比较复杂,需要进行压力测试,从而确定以牺牲一定的系统资源换取的系统安全性是否值得,找到一个平衡点。3.3 一般用户查询程序3.3.1 程序功能描述(1) 功能类型:查询合同信息和人员信息(2) 功能概述:显示查询结果(3) 前提业务:无(4) 后继业务:(5) 功能约束:没有约束;(6) 约束描述:(7) 操作权限:面向所有用户程序功能流程图如下图所示: 图3.7 功能流程图3.3.2 程序性能描述 合约公司管理系统一般用户查询模块的操作所有用户都拥有权限,存在多用户并发访问的压力
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年上海市静安区街道办人员招聘考试参考试题及答案解析
- 2025年宁波市北仑区幼儿园教师招聘考试试题及答案解析
- 2025年烟台市牟平区幼儿园教师招聘笔试试题及答案解析
- 2025年北京市房山区街道办人员招聘考试试题及答案解析
- 2025年铜川市耀州区幼儿园教师招聘考试试题及答案解析
- 2026二年级下《万以内数的认识》知识点梳理
- 2026道德与法治五年级拓展空间 文化遗产国际保护
- 2026年北京市崇文区街道办人员招聘考试备考试题及答案解析
- 2025年河南省商丘市幼儿园教师招聘笔试试题及答案解析
- 2026 五年级下册《读经典诗词》课件
- 水工监测工(高级)技能鉴定理论考试题库(含答案)
- 2024年上海市中考数学真题试卷及答案解析
- 2024烟花爆竹安全生产在线监测监控数据接入规范
- 民办学校的会计制度
- 信息通信网络机务员、信息通信网络线务员基础技能题(普考)题库及答案
- 医废收集转运培训课件
- 《组织部新来了年轻人》优质课件
- 福建亮晶晶新材料有限公司年产6000吨丙烯酸树脂、年产5弯度丙烯酸乳液及年产10万吨丁苯胶乳项目 环境影响报告
- 液压气动技术-第八章1气动系统分析、设计与仿真
- 生物化学类实验室安全管理PPT完整全套教学课件
- 常用高风险药物一览表
评论
0/150
提交评论