源码下载  http://www.byamd.xyz/hui-zong-1/

1.引言

1.1编写目的

合同管理系统详细设计是设计的第二个阶段,这个阶段的主要任务是在合同管理系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。

概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体的说,模块设计就是要为已经产生的合同管理各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。

1.2项目背景

系统名称:合同管理系统 开发语言:JAVA 开发工具:MyEclipse

WEB服务器:Tomcat+Apache结合。Tomcat解析JSP/Servlet,Apache解析静态HTML文件;

数据库:SQL Server2005 开发环境:Windows 10

开发人员:

1.3定义

SQL SERVER:系统服务器所使用的数据库管理系统(DBMS)。

SQL:一种用于访问查询数据库的语言。

类图(class diagram):表述系统中各个对象的类型及其间存在的各种静态关系。
交互图(interactive diagram):是表述各组对象如何依某种行为进行协作的模型。

SQL(Structured Query Language):结构化查询语言。

1.4参考资料

  1. 项目开发计划;

  2. 需求规格说明书;

  3. 概要设计说明书;

  4. 测试计划(初稿);

  5. 用户操作手册(初稿);

  6. 文档中所引用的其他资料、软件开发标准或规范

2.总体设计

2.1需求概述

按照需求分析文档中的规格要求,使用数据库存储了公司的所有合同以及员工的基本信息,并且提供对存储的数据进行查询、修改、增添、删除的界面,方便用户使用。同时,系统最大限度地实现易安装,易维护性,易操作性,运行稳定,安全可靠。

2.2软件结构

合同管理系统由三个大模块,六个小模块组成,系统的组织结构图如下图所示:

合同管理系统

3.程序描述

3.1用户登录程序模块

3.11程序特征描述

本程序模块是合同管理系统的一个子模块,操作对象是用户,负责用户登陆控制。

3.12程序功能描述

本模块的核心程序是UserLoginManager类,此类根据界面输入的用户名密码来请求服务器验证用户登陆。

主要功能:

1. 根据用户输入的用户名密码进行登录验证,验证成功进入主界面,显示合约列表;

1)编写登陆界面:界面有用户名,密码两个输入框,有“登录”、“退出”连个功能按钮;

a. 若点击“退出”按钮,退出程序。

b. 若点击“登录”按钮,开始用户登陆。

先显示查找服务器等待界面,若查找失败,提示失败原因,重新返回登陆界面,若成功,进入登陆等待界面;

在登陆等待界面,若登陆成功,进入程序主界面,显示合约列表。若登陆失败,提示用户失败原因,重新返回登陆界面。

2)编写查询服务器等待界面:显示查找等待进度条。

3)编写登陆等待界面:显示登陆等待进度条。

4)编写合约列表界面。

2.要能处理网络连接出错等异常情况:发生异常后,均给出提示,再重新返回

登录界面

3. 输入的用户名,密码要进行合法性检查:用户名,密码不能为空

3.13程序性能描述

本模块要求各操作能独立完成,并且对于各种意外原因造成的操作中中断模块能够有及时的处理。

3.14程序逻辑

用户登录程序模块是整个合约公司管理系统的首界面,并且,也是系统安全性的正要保障。用户登录程序会将用户输入的用户名和密码与服务器端数据库中存储的管理员和软件使用者信息进行比较,如果信息匹配上,服务器就会返回一个信息,并调取登录成功的合同列表界面显示在用户端浏览器上。并且在用户进行其他操作以及界面跳转时都不需要再进行用户名和密码的输入。

3.15限制条件

由于应用软件的具体硬件设置和具体操作人员的熟练程度制约了登录的速度。

3.16测试要点

本模块的测试计划初步定为按照业务逻辑流程测试。

4管理模块程序

4.1程序功能描述

  1. 功能类型:其他

  2. 功能概述:合同的起草添加、删除、修改、删除以及打印

  3. 前提业务:用户登陆模块

  4. 功能约束:权限约束

  5. 约束描述:

  6. 操作权限:公司管理人员

4.2程序性能描述

合约公司管理系统权限管理模块的操作只有管理员一级的用户拥有权限,不存在多用户并发访问的压力问题。但是对于用户的权限控制比较占用资源,可能存在的问题集中在多表操作上,在用户登录系统的验证和进入系统后的权限控制时会频繁访问数据库,造成可能的系统压力。用户列表的翻页操作,由于用户信息数据量大,可能随着翻页的增加导致系统速度变慢。

4.3程序输入/输出项

由于合同对于整个公司的重要性,程序输入的合同的各个信息,以及参与合同制定的相关人员的基本信息,都应保证准确无误,保证合同信息的完整性和正确性,方便一般用户的查询。

页面按钮权限控制

对于页面和按钮的控制,是通过角色管理实现的。首先,给已有的角色分配定义好的业务,存入数据库中的“角色—窗体—业务关系表”中。

当用户登录系统时,会根据用户的角色在“角色—窗体—业务关系表”中查询角色所拥有的业务和窗体,通过窗体的生成,用户拥有的业务查询“业务——按钮对应表”则可以控制用户在窗体的按钮是可见的。

4.4程序逻辑

用户层:

(1)Conuser()

对应的合同列表

(2)Userdetail()

对应用户的个人详细信息

(3)Userrole()

对应用户角色表

查询层:

(1)Confind()

查询与合同相关的信息

(2)Right()

查询与权限相关的信息

(3)User()

查询与用户相关的信息

操作层:

(1)Roleuser()

与用户角色相关的操作

(2)Con1()

与合同相关的操作

逻辑层

(1)Conx()

负责处理合同相关的逻辑

1.Find()

查询系统所有的合同

2.specialfind()

查询特定合同信息

3.DeleteCon()

删除合同

4.UpdateCon()

修改合同

5.addcon()

添加合同

(2)right()

1.checkUserpsw()

检验登录用户名密码是否合法

存储分配

SESSION调用说明:

1.创建SESSION:

user_role_relations 用户角色关系,表示一个登录用户所拥有的所有角色的列表

userdbid 用户DBID,是系统对用户的唯一标识

username 用户名称

userpassword 用户密码

businessinfo 所有可以用于分配的权限的列表

single_role_info 一个角色拥有的权限的列表

con_info 所有合同信息列表

canseetreewindownodes 用户可见窗体节点树的节点列表

2.调用SESSION:

userdbid 用户DBID

username 用户名

userpassword 用户密码

限制条件

此部分的功能应当只限于管理员一级的用户使用。

测试要点

由于合同管理系统管理模块的用户不会太多,一般来说,主要是管理员一级的用户才有权限操作,所以测试的要点不应放在压力测试上,而应当放在边界值测试和操作权限控制测试上。因为系统管理的操作关系到整个系统的运作和用户的安全性,所以应当注意是否有可能通过非法路径执行系统相关操作从而破坏系统安全性,在对合同和员工信息进行增加、删除和修改操作后,数据库各表之间的数据一致性。此部分的各项操作都涉及到多表访问,需要增加必要的事务回滚。

对于用户登录系统并进行各种操作的权限控制比较复杂,需要进行压力测试,从而确定以牺牲一定的系统资源换取的系统安全性是否值得,找到一个平衡点。

一般用户查询程序

程序功能描述

  1. 功能类型:查询合同信息和人员信息

  2. 功能概述:显示查询结果

  3. 前提业务:无

  4. 后继业务:

  5. 功能约束:没有约束;

  6. 约束描述:

  7. 操作权限:面向所有用户

程序功能流程图如下图所示:

图3.7 功能流程图

程序性能描述

合约公司管理系统一般用户查询模块的操作所有用户都拥有权限,存在多用户并发访问的压力问题。可能存在的问题集中在多用户并发查询操作上,在大量用户同时登录查询系统并进入系统后会有大量访问数据库的操作,造成可能的系统和数据库的压力。用户列表的翻页操作,由于合同和人员信息数据量大,可能随着翻页的增加导致系统速度变慢。

算法

此程序用到的算法比较简单,只用到了按广度优先算法遍历数据库所有表的信息。

限制条件

此部分功能面向全部用户,只提供查询功能,不能进行修改、添加、删除,因此没有具体的限制条件。

测试要点

由于合同管理系统管理模块的用户可能会很多,一般来说,全部用户都具有权限操作,所以测试的要点应放在压力测试上。因此应采用大量数据测试系统和数据库的承受能力,找到系统所能承受的极限值,以便更好的进行系统优化和改进。

基于Python的Django和MySQL实现的合同管理系统相关推荐

  1. 基于Python(Django)+MySQL实现(Web)大学生信用评价系统分析与设计【100010400】

    大学生信用评价系统分析与设计 第一章绪论 1.1 系统开发背景 随着中国社会蓬勃发展,社会不断地走向繁荣富强,经济活动也随之日益增长.在人民,毫无疑问在这些经济活动中扮演了重要的角色.很多中国人在乎的 ...

  2. 基于Python(Django)+MySQL 实现(Web)SQL智能检测系统的设计与实现【100010694】

    摘 要 为了满足不同的用户群体的需求,中国移动的套餐业务更新频繁,每个月都会推出很多个性化的套餐服务,当前,中国移动创建套餐的方式是手动编辑上百行 SQL 语句之后插入到数据库中,一旦 SQL 语句中 ...

  3. 在线车辆推荐网 Python语言+Django框架+Mysql数据库 基于用户、物品的协同过滤推荐算法 开发在线汽车推荐系统 二手车网站推荐系统 分布式大数据、机器学习、人工智能开发

    在线车辆推荐网 Python语言+Django框架+Mysql数据库 基于用户.物品的协同过滤推荐算法 开发在线汽车推荐系统 二手车网站推荐系统 分布式大数据.机器学习.人工智能开发 CarRecom ...

  4. python系统-基于Python搭建Django后台管理系统

    一个好的项目数据库管理后台是必须的,今天代码君教大家搭建Django网站后台,当然做网站后台的前提是需要有Python以及Django的开发环境,至于如何搭建这些开发环境,请查看我的上一篇文章 Mac ...

  5. 基于Python的Django框架的二手物品交易平台的设计与实现

    基于Python的Django框架的二手物品交易平台的设计与实现  源码获取:https://www.bilibili.com/video/BV1Ne4y1g7dC/ 由于科学技术的快速进步,社会的每 ...

  6. 基于python下django框架 实现校园失物招领系统详细设计

    前言介绍(开发目的和意义) 本课题主要目标是设计并能够实现一个基于web网页的校园失物招领系统,整个网站项目使用了B/S架构,基于python的Django框架下开发:管理员通过后台录入信息.管理信息 ...

  7. python制作物联网控制软件下载_基于Python和Django框架的物联网智能设备管理系统的设计与实现...

    论文写作指导:请加QQ229366758 基于Python和Django框架的物联网智能设备管理系统的设计与实现 作者:未知 摘 要:针对目前日益增多的智能设备提出了兼容性好,稳定性高,易于管理的管理 ...

  8. 基于python下django框架 实现校园教室图书馆座位预约系统详细设计

    前言介绍(开发目的和意义) 本课题主要目标是设计并能够实现一个基于web网页的教室图书馆座位预约系统,整个网站项目使用了B/S架构,基于python的Django框架下开发:管理员通过后台录入信息.管 ...

  9. 基于python下django框架 实现校园网站系统详细设计

    前言介绍(开发目的和意义) 校园网站是当前信息化的表现.在没有电脑和互联网的时代.要想了解校园信息.专业分院信息.老师信息等只能通过纸质的报纸或者杂志.在PC电脑和互联网的发展下,现在只有在有网络的地 ...

最新文章

  1. Hibernate 获取某个表全部记录时 奇怪现象 (重复出现某个记录)
  2. VMware虚拟化--ESXi安装时考虑因素
  3. flex 布局实现 横穿线效果 自适应文字内容,自适应调整线宽
  4. 组件和模块间Activity路由框架
  5. tensorflow函数方法
  6. fantouch os Android 7,Funtouch OS 3.1 with Android 7.1升级计划
  7. android jni fork()子进程不运行_Android高级面试谈谈Zygote的理解
  8. WebStorm 代码文字发虚模糊 - 解决篇
  9. buuctf刷题记录2 相册
  10. minecraftjava版光追_我的世界:网易版终于更新狐狸生物?Java版光追技术已开始测试?...
  11. 035 浅谈WebGame
  12. 自建电驴服务器,电驴服务器怎么连接 eMule连接服务器教程
  13. 在已有win7系统的基础上重装win10系统
  14. 百度地图开发:Label文本居中
  15. 详细讲解修改allure报告自定义的logo和名称中文
  16. dataworks 生成表血缘依赖
  17. h2数据库文件.mv.db
  18. 有时候你只是看起来很努力
  19. 周爱民给程序员的十点建议
  20. maven 生成脚手架_如何通过脚手架和自动表格生成加速流星开发

热门文章

  1. Camera CMOS Sensor成像原理
  2. Ubuntu虚拟机的安装、配置vm-tools、搜狗输入法的安装、vim配置
  3. 如何在word文档插入笑脸符号,教程来啦,怎样在word插入些特殊符号
  4. C# AutoResetEvent / ManualResetEvent
  5. Creative Cloud macOS Big Sur 更新修复 CPU 使用率百分百的错误
  6. plsql必须安装oracle客户端吗,不安装oracle客户端,用plsql连接oracle
  7. pyecharts常见柱状图、圆饼图、散点图
  8. 超级干货 :一文读懂数据可视化
  9. 数学建模论文写作经验介绍
  10. python正则match对象使用