赞
踩
本文为软件工程课程设计的完整实现,可以当毕业设计使用,可以给大伙参一下,共五部分,设置了跳转,方便大家跳转到对应的地方,内容比较多,不足之处希望大伙提出来
|
第一部分——项目小组规约
1.项目名称:党员发展与管理系统
2.项目成员:
3.分工
3.1 按照规约分工
3.2 按照角色分工
第二部分——需求规约
1.项目简介
1.1 目的
1.2 范围
1.3概述
2. 需求分析
2.1 需求概述
2.2 功能需求分析
2.3用例文档
第三部分——理概要设计规约
1.项目简介
1.1目的
1.2范围
1.3参考资料
1.4概述
2.体系结构设计
2.1总体结构设计
2.2技术体系
2.3开发环境
2.4测试环境
3.接口设计
3.1 支部书记
3.2 学生
3.3 党校老师
4.界面设计
4.1 学生界面
4.2 党校老师
4.3 支部书记
4.4 管理员
5. 数据结构设计
5.1数据库表
5.2数据字典文档及范式分析
6. 流程设计
6.1 学生
6.2 党校老师
6.3 支部书记
6.4 管理员
第四部分——详细设计规约
1.简介
1.1 目的
1.2 范围
1.3 定义、首字母缩写词和缩略词
1.4 参考资料
2、总体结构设计
2.1 程序结构设计
3.详细设计
3.1 数据流图
3.2 静态模型设计
3.3 流程图
姓名 | 学号 | 电话 | 编号 |
---|---|---|---|
爽哈佛 | 1805020208 | 18774170212 | 1 |
阮剑桥 | 1805020201 | 12345678901 | 2 |
胡清华 | 1805020225 | 12345678901 | 3 |
吉耶鲁 | 1805020210 | 12345678901 | 4 |
本报告全组成员一起协作完成,图、表、报告等全组成员都走了一遍。主要按照两个层次分工;按照规约分工、按照角色分工。规约分工是为制作报告;角色分工则是报告里面的各种图、表等每个人都参与进来
编号 | 姓名 | 参与部分 |
---|---|---|
1 | 爽哈弗 | 详细设计规约 |
2 | 阮剑桥 | 概要设计规约 |
3 | 胡清华 | 需求规约 |
4 | 吉豪耶鲁 | 小组规约 |
编号 | 姓名 | 参与角色 |
---|---|---|
1 | 爽哈佛 | 支部书记 |
2 | 阮剑桥 | 党校老师 |
3 | 胡清华 | 学生 |
4 | 吉耶鲁 | 管理员 |
本文将确定党支部资料管理以及党员发展信息系统的需求。
本文将影响党支部资料管理以及党员发展信息系统的功能规划、概要设计、详细设计等活动。
该文档详细描述了产品的软件需求,编写该文档的目的是为整个系统实现的管理工作和技术工作提供指南;同时确定该系统的内容和范围,为评价和测试该系统提供依据。
在信息化,科技化的现代社会,如何在兼顾办事质量的前提下有效提高办事效率,是我们应该重视解决的问题。在互联网技术如此发达的情况下,我们应该与时俱进。因此,我们开发出了这个党支部资料管理以及党员发展信息系统,用来解决以前党支部资料管理繁琐,容易出错以及党员不方便查看或修改信息等问题。
此系统的核心内容是通过互联网等技术,使老师能线上进行管理资料、党员培训、发布考试等工作;使入党学生能线上进行查看及修改个人资料或培训资料、报名参加党员培训、参加线上考试或练习、进行个人总结等操作,从而大大提高老师及学生工作效率,提高参与积极性等。
用例图
主参与者:学生
情景目标:学生在校园网内登录网站查看及修改基本资料
前提条件:联入校园网;正确的账号与密码。
触发器:学生决定查看或修改基本资料
场景:
1.学生联入校园网
2.学生进入网站
3.学生输入正确账号密码
4.系统显示所有功能按钮
5.学生选择个人设置按钮
6.学生查看或修改基本资料
主参与者:学生
情景目标:学生在校园网内登录网站缴纳党费
前提条件:联入校园网;正确的账号与密码。
触发器:学生需要缴纳党费
场景:
1.学生联入校园网
2.学生进入网站
3.学生输入正确账号密码
4.系统显示所有功能按钮
5.学生选择党费缴纳按钮
6.学生扫码缴纳党费
7.系统显示缴费成功或失败
主参与者:学生
情景目标:学生在校园网内登录网站查看或修改培训资料
前提条件:联入校园网;正确的账号与密码;报名参加学员培训。
触发器:学生决定查看或修改培训资料
场景:
1.学生联入校园网
2.学生进入网站
3.学生输入正确账号密码
4.系统显示所有功能按钮
5.学生选择查看/修改培训资料按钮
6.学生查看或修改培训资料
主参与者:学生
情景目标:学生在校园网内登录网站参加培训考试
前提条件:联入校园网;正确的账号与密码;报名参加学员培训。
触发器:学生决定进行线上考试
场景:
1.学生联入校园网
2.学生进入网站
3.学生输入正确账号密码
4.系统显示所有功能按钮
5.学生选择在线考试按钮
6.学生选择考试题库
7.学生进行线上考试
8.学生提交试卷
主参与者:学生
情景目标:学生在校园网内登录网站参加培训考试练习
前提条件:联入校园网;正确的账号与密码;报名参加学员培训。
触发器:学生决定进行线上考试练习
场景:
1.学生联入校园网
2.学生进入网站
3.学生输入正确账号密码
4.系统显示所有功能按钮
5.学生选择在线练习按钮
6.学生选择练习题库
7.学生进行线上考试练习
8.学生提交练习
9.系统评分
主参与者:学生
情景目标:学生在校园网内登录网站进行个人小结
前提条件:联入校园网;正确的账号与密码;报名参加学员培训。
触发器:学生决定进行个人小结
场景:
1.学生联入校园网
2.学生进入网站
3.学生输入正确账号密码
4.系统显示所有功能按钮
5.学生选择个人小结按钮
6.学生编写个人小结
7.学生提交个人小结
主参与者:党校老师。
情景目标:党校老师在任何有网络的条件下通过互联网查看及修改个人信息。
前提条件:必须获得正确的账号和密码。
触发器:党校老师想查看或修改个人信息。
场景:
1.党校老师登陆党员发展管理系统。
2.党校老师输入他的账号密码。
3.系统显示所有主要功能按钮。
4.点击查看/修改资料,显示个人信息。
5.可以进行修改。
主参与者:党校老师。
情景目标:党校老师在任何有网络的条件下通过互联网对学生进行评价。
前提条件:必须获得正确的账号和密码。
触发器:党校老师决定对学生评价。
场景:
1.党校老师登陆党员发展管理系统。
2.党校老师输入他的账号密码。
3.系统显示所有主要功能按钮。
4.党校老师在主要功能中选择评价学生。
5.党校老师选择本批次学生。
6.党校老师选择学生全勤或缺勤并保存上传。
主参与者:党校老师。
情景目标:党校老师在任何有网络的条件下通过互联网上传入党考试题目。
前提条件:必须获得正确的账号和密码。
触发器:党校老师想要上传题目。
场景:
1.党校老师登陆党员发展管理系统。
2.党校老师输入他的账号密码。
3.系统显示所有主要功能按钮。
4.党校老师在主要功能中选择上传题库。
5.党校老师点击导入题库。
6.党校老师点击上传题库。
主参与者:党校老师。
情景目标:党校老师在任何有网络的条件下通过互联网发布及修改可报名学期。
前提条件:必须获得正确的账号和密码。
触发器:党校老师想要发布或修改可报名学期。
场景:
1.党校老师登陆党员发展管理系统。
2.党校老师输入他的账号密码。
3.系统显示所有主要功能按钮。
4.党校老师在主要功能中选择发布及修改可报名学期。
5.党校老师填写需要发布的可报名学期的信息。
6.点击发布。
7.可以进行修改。
主参与者:党校老师。
情景目标:党校老师在任何有网络的条件下通过互联网发布及修改帮助信息。
前提条件:必须获得正确的账号和密码。
触发器:党校老师想要发布或修改帮助信息。
场景:
1.党校老师登陆党员发展管理系统。
2.党校老师输入他的账号密码。
3.系统显示所有主要功能按钮。
4.党校老师在主要功能中选择发布及修改帮助信息。
5.党校老师填写需要发布的帮助信息。
6.点击发布。
7.可以进行修改。
主参与者:党校老师。
情景目标:党校老师在任何有网络的条件下通过互联网发布及修改考试时间。
前提条件:必须获得正确的账号和密码。
触发器:党校老师想要发布或修改考试时间。
场景:
1.党校老师登陆党员发展管理系统。
2.党校老师输入他的账号密码。
3.系统显示所有主要功能按钮。
4.党校老师在主要功能中选择发布及修改考试时间。
5.党校老师填写需要发布的考试时间。
6.点击发布。
7.可以进行修改。
主参与者:党校老师。
情景目标:党校老师在任何有网络的条件下通过互联网发布及修改培训须知。
前提条件:必须获得正确的账号和密码。
触发器:党校老师想要发布或修改培训须知。
场景:
1.党校老师登陆党员发展管理系统。
2.党校老师输入他的账号密码。
3.系统显示所有主要功能按钮。
4.党校老师在主要功能中选择发布及修改培训须知。
5.党校老师填写需要发布的培训须知。
6.点击发布。
7.可以进行修改。
主参与者:支部书记
参与者:党校老师、学生
情景目标:支部书记在校园网上进行党员发展及管理
前提条件:已登入校园网
触发器:支部书记新增本支部的:入党积极分子、发展对象、预备党员、正式党员
场景:
主参与者:支部书记
参与者:学生
情景目标:支部书记在校园网上进行党员评议
前提条件:已登入校园网
触发器:支部书记对预备党员和正式党员进行党员评议
场景:
主参与者:支部书记
参与者:学生
情景目标:支部书记在校园网上进行支部会议发布
前提条件:已登入校园网
触发器:支部书记发布支部会议内容
场景:
主参与者:支部书记
参与者:学生
情景目标:支部书记在校园网上进行主题党日发布
前提条件:已登入校园网
触发器:支部书记发布主题党日内容
场景:
主参与者:支部书记
参与者:学生
情景目标:支部书记在校园网上进行民主生活会发布
前提条件:已登入校园网
触发器:支部书记发布民主生活会内容
场景:
主参与者:支部书记
参与者:学生
情景目标:支部书记在校园网上进行支委会发布
前提条件:已登入校园网
触发器:支部书记发布支委会内容
场景:
主参与者:支部书记
参与者:学生
情景目标:支部书记在校园网上进行个人基本资料修改
前提条件:已登入校园网
触发器:支部书记进行个人基本资料修改
场景:
参与者:管理员
情景目标:管理员在校园网上进行党员管理
前提条件:已登入校园网
触发器:管理员增删改查本支部的:入党积极分子、发展对象、预备党员、正式党员
场景:
参与者:管理员
情景目标:管理员在校园网上进行通知管理
前提条件:已登入校园网
触发器:管理员发布及管理信息
场景:
本文将确定党支部资料管理以及党员发展信息系统的概要设计。
本文将影响党支部资料管理以及党员发展信息系统项目的详细设计、编码等活动。
《党支部资料管理以及党员发展信息系统需求规约》。
该文档描述了 党支部资料管理以及党员发展信息系统 的软件设计,编写该文档的目的是为整个系统的实 现提供指南。该文档由 3 部分组成:体系结构设计、接口设计和数据结构 设计(独立成数据库设计文档)。
党支部资料管理以及党员发展信息系统 采用 B/S 模式开发,支持 PC 机和手机的客户端调用。采用前后端完全分离的三层结构。
整个系统由如下部分组成:
表示层:表示层是用户对系统的访问门户,它主要用于向用户提供界面 和访问接口。
服务接口层:在设计时,I3CRM 系统就考虑到了系统对外集成的需要, 向外界提供一个服务接口层。该层提供了供 webservice 访问的 wsdl 接口、 供 java 程序远程调用的 rmi 接口以及供 json-RPC 调用的 json-RPC 接口等。 在对于不同接口之间的服务集成应用中来保证适应各种不同的服务调用方式。
业务逻辑层:业务逻辑层主要用来实现智能 CRM 的各个功能,它和程 序的访问协议无关。
数据访问实体层:采用 mybatis 将数据库中数据进行定制化 SQL、存储 过程以及高级映射。
整个开发技术栈采用 Spring+SpringMVC+Mybatis-plus(springboot脚手架快速搭建)+Mysql+Vue(vue-cli脚手架快速搭建)。
目前 web 开发前后端分离已成为互联网项目开发的业界标准使用方式,前 后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务 (多种客户端,例如:浏览器,车载终端,安卓,IOS 等等)打下坚实的基础。
前端拟采用 1)Google 所提倡的 Ajax(Asynchronous JavaScript and XML)框 架技术;2)前端流行的Vue技术。
ORM(对象关系映射 Object Relational Mapping)技术是构建数据访问实体层 的关键技术。它解决了面向对象与关系数据库存在的互不匹配现象。在我们的系 统实现中它主要通过使用描述对象和数据库之间映射的元数据,将 java 程序中 的对象自动持久化到关系数据库中。由于我们的系统采用的 java 技术,所以存 在下面的一些 ORM 框架可选。
EJB: EJB 中的 Entity Bean 是域模型对象,可用于实现 O/R 映射,负责将 数据库中的表记录映射为内存中的 Entity 对象,事实上,创建一个 Entity Bean 对象相当于新建一条记录,删除一个 Entity Bean 会同时从数据库中删 除对应记录,修改一个 Entity Bean 时,容器会自动将 Entity Bean 的状态和 数据库同步。但使用 EJB 意味着对 web 服务器提出了更高的要求,它是一 个重量级的解决方案。
Hibernate:Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象 编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既 可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用, 最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP, 完成数据持久化的重任。 Hibernate 对象/关系映射能力强,数据库无关性好,对于关系模型要求高的 软件(例如需求固定的定制化软件)如果用 hibernate 开发可以节省很多代码, 提高效率。但是 Hibernate 的学习门槛高,要精通门槛更高,而且怎么设计 O/R 映射,在性能和对象模型之间如何权衡,以及怎样用好 Hibernate 需要具有很强 的经验和能力才行。
Mybatis:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存 储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置 参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映 射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。 Mybatis 学习门槛低,简单易学,程序员直接编写原生态 sql,可严格控制 sql 执行性能,灵活度高,非常适合对关系数据模型要求不高的软件开发,例如互联 网软件、企业运营类软件等,因为这类软件需求变化频繁,一但需求变化要求成 果输出迅速。但是灵活的前提是 mybatis 无法做到数据库无关性,如果需要实现 支持多种数据库的软件则需要自定义多套 sql 映射文件,工作量大。
MyBatis-plus:MyBatis-plus是一款MyBatis的增强工具,在MyBatis 的基础上只做增强不做改变。其是国内团队苞米豆在MyBatis基础上开发的增强框架,扩展了一些功能,以提高效率。引入 Mybatis-Plus 不会对现有的 Mybatis 构架产生任何影响,而且 MyBatis-plus 支持所有 Mybatis 原生的特性,依赖少:仅仅依赖 Mybatis 以及 Mybatis-Spring 。损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 。预防Sql注入:内置 Sql 注入剥离器,有效预防Sql注入攻击 。通用CRUD操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 。多种主键策略:支持多达4种主键策略(内含分布式唯一ID生成器),可自由配置,完美解决主键问题 。支持热加载:Mapper 对应的 XML 支持热加载,对于简单的 CRUD 操作,甚至可以无 XML 启动。支持ActiveRecord:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可实现基本 CRUD 操作。支持代码生成:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码(生成自定义文件,避免开发重复代码),支持模板引擎、有超多自定义配置等。支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )。支持关键词自动转义:支持数据库关键词(order、key…)自动转义,还可自定义关键词 。内置分页插件:基于 Mybatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通List查询。内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能有效解决慢查询 。内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,预防误操作。默认将实体类的类名查找数据库中的表,使用@TableName(value=“table1”)注解指定表名,@TableId指定表主键,若字段与表中字段名保持一致可不加注解。
综上所述在 ORM 框架上,我们选择 Mybatis-plus。
此外,系统还需要用到的一些技术与组件有:
1、Spring: Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
2、 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
3、Element UI 是一套采用 Vue 2.0 作为基础框架实现的组件库,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的组件库,提供了配套设计资源,帮助网站快速成型
综合上面的分析,我们将 的开发环境归纳如下:
Java 应用程序开发,以及支持 java 的 Web 应用服务器,我们选用 java1.8版本以及 Tomcat8.0。
支持 SCA 规范的总线,我们选用 Tuscany1.6。
选用 IDEA2018 作为服务端开发平台。
选用 WebStrom 作为前端开发平台。
使用 Mysql 作为后台数据库。
党支部资料管理以及党员发展信息系统开发完毕后可在如下测试环境下进行测试:
PUT /branchTeacher/basic/updatePD
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
id | cookie | string | false | 老师id |
Npwd | cookie | string | false | 新密码 |
Opwd | cookie | string | false | 旧密码 |
返回示例
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
PUT /branchTeacher/basic/updateMail
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
id | query | string | false | 老师id |
query | string | false | 邮箱号 |
返回示例
成功
{
"code": 200
}
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
GET /branchTeacher/basic/findMail
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
id | query | string | false | 老师id |
返回示例
成功
{
"mail": "666666@qq.com"
}
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
状态码 200
名称 | 类型 | 必选 | 约束 | 说明 |
---|---|---|---|---|
string | true | none | 邮箱 |
GET /branchTeacher/basic/findme
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
id | query | string | true | 老师的id |
返回示例
成功
{
"name": "雷锋",
"sex": "男",
"phone": "18187947484",
"place": "中共湖南科技大学计算机科学与工程学院网络工程支部",
"unit": "逸夫楼888"
}
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
状态码 200
名称 | 类型 | 必选 | 约束 | 说明 |
---|---|---|---|---|
» name | string | true | none | 姓名 |
» sex | string | true | none | 性别 |
» phone | string | true | none | 电话号码 |
» unit | string | true | none | 归属单位 |
» place | string | true | none | 办公地址 |
GET /student/notice
返回示例
成功
{
"notice1": "关于举办2020年下半年预备党员培训班的通知",
"notice2": "关于做好2020年下半年预备党员培训报名工作的通知",
"notice3": "关于做好2020年下半年入党积极分子培训网上报名工作的通知",
"notice4": "关于做好2019年下半年入党积极分子培训网上报名工作的通知",
"notice5": "关于做好2019年上半年入党积极分子培训网上报名工作的通知",
"notice6": "关于党校培训报名的说明"
}
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
状态码 200
名称 | 类型 | 必选 | 约束 | 说明 |
---|---|---|---|---|
» notice1 | string | true | none | 通知一 |
» notice2 | string | true | none | 通知二 |
» notice3 | string | true | none | 通知三 |
» notice4 | string | true | none | 通知四 |
» notice5 | string | true | none | 通知五 |
» notice6 | string | true | none | 通知六 |
GET /student/train/show
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
id | query | string | true | 学生id |
返回示例
成功
{
"name": "张三",
"used name": "李四",
"marriage": "无",
"id card": "431281200004049877",
"address": "云南省大同市东乡县",
"postal code": "418101",
"stay time": 1,
"phone number": "18779874562",
"home phone": "18171824294"
}
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
状态码 200
名称 | 类型 | 必选 | 约束 | 说明 |
---|---|---|---|---|
» name | string | true | none | 姓名 |
» used name | string | true | none | 曾用名 |
» marriage | string | true | none | 婚姻状况 |
» id card | string | true | none | 身份证号码 |
» address | string | true | none | 现居住地址 |
» postal code | string | true | none | 邮政编码 |
» stay time | integer | true | none | 现地址居住时长 |
» phone number | string | true | none | 手机号码 |
» home phone | string | true | none | 家庭电话 |
GET /text/require
返回示例
成功
{
"require1": "1.出示本人有效身份证件 ,以便监考教师核验身份。",
"require2": "2.开考 前30分钟登录考试平台 ,开考后 迟到30分钟以上不能参加本次考试 。",
"require3": "3.保证可以正常使用 开启监考设备的摄像头、麦克风及扬声器等 ,保证在考试期间可以正常使用。",
"require4": "4.在安静的房间中独立作答 ,不要让周围有打扰声音。",
"require5": "5.严格按要求做答题目,在无任何痕迹的白纸或在考试平台上作答。",
"require6": "6.一台设备看试题,中途不能换设备。"
}
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
状态码 200
名称 | 类型 | 必选 | 约束 | 说明 |
---|---|---|---|---|
» require1 | string | true | none | 考试要求1 |
» require2 | string | true | none | 考试要求2 |
» require3 | string | true | none | 考试要求3 |
» require4 | string | true | none | 考试要求4 |
» require5 | string | true | none | 考试要求5 |
» require6 | string | true | none | 考试要求6 |
GET /student/price/show
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
id | query | string | true | 学生id |
返回示例
成功
{
"payment": "0.2元",
"situation": "已缴费"
}
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
状态码 200
名称 | 类型 | 必选 | 约束 | 说明 |
---|---|---|---|---|
» payment | string | true | none | 应缴费 |
» situation | string | true | none | 缴费情况 |
PUT /student/train/updata
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
id | query | string | true | 学生id |
name | query | string | false | 姓名 |
usedname | query | string | false | 曾用名 |
marriage | query | string | false | 婚姻状况 |
id card | query | string | false | 身份证号码 |
address | query | string | false | 现居住地址 |
postal code | query | string | false | 邮政编码 |
stay time | query | string | false | 居住时长 |
phone number | query | string | false | 手机号码 |
home phone | query | string | false | 家庭电话 |
返回示例
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
GET /text/showSelect
返回示例
成功
{
"test1": "选择题",
"test2": "填空题",
"test3": "问答题"
}
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
状态码 200
名称 | 类型 | 必选 | 约束 | 说明 |
---|---|---|---|---|
» test1 | string | true | none | 题库一 |
» test2 | string | true | none | 题库二 |
» test3 | string | true | none | 题库三 |
POST /ST/schoolTeacher/basic/ReleaseTime
Body 请求参数
type: object
properties:
Name:
type: string
description: 考试名称
example: 入党积极分子考核
Time:
type: string
description: 考试时间
example: 2020-5-4 9:00
required:
- Name
- Time
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
body | body | object | false | none |
» Name | body | string | true | 考试名称 |
» Time | body | string | true | 考试时间 |
返回示例
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
PUT /schoolTeacher/basic/evaluateSTU
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
id | cookie | string | true | 党校老师的id |
attendance | cookie | string | true | 评价学生出勤率 |
返回示例
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
GET /schoolTeacher/basic/findme
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
id | query | string | true | 党校老师的id |
返回示例
成功
{
"name": "张山",
"sex": "男",
"phone": "18145544246",
"unit": "中共湖南科技大学计算机科学与工程学院网络工程支部",
"place": "逸夫楼401"
}
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
状态码 200
名称 | 类型 | 必选 | 约束 | 说明 |
---|---|---|---|---|
» name | string | true | none | 姓名 |
» sex | string | true | none | 性别 |
» phone | string | true | none | 电话号码 |
» unit | string | true | none | 归属单位 |
» place | string | true | none | 办公地址 |
POST /schoolTeacher/basic/ReleaseTip
Body 请求参数
type: object
properties:
text:
type: string
description: 培训须知
example: 参加培训的学员要态度端正,以饱满的热情积极参加学习。
required:
- text
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
body | body | object | false | none |
» text | body | string | true | 培训须知 |
返回示例
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
POST /schoolTeacher/basic/ReleaseSemester
Body 请求参数
type: object
properties:
SeName:
type: string
description: 学期名称
example: 2020年下半年发展对象培训
Applicants:
type: string
description: 可报名对象
example: 入党积极分子
End:
type: string
description: 结束时间
example: 2020-12-31
required:
- SeName
- Applicants
- End
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
body | body | object | false | none |
» SeName | body | string | true | 学期名称 |
» Applicants | body | string | true | 可报名对象 |
» End | body | string | true | 结束时间 |
返回示例
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
POST /schoolTeacher/basic/ReleaseHelp
Body 请求参数
type: object
properties:
text:
type: string
description: 帮助信息
example: 若没有可报名学期,请联系所在分党校相关负责人确认是否已开启了报名功能。
required:
- text
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
body | body | object | false | none |
» text | body | string | true | 帮助信息 |
返回示例
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
主界面
查看培训资料
修改培训资料
线上考试
考试练习
党费缴纳
上传题库
发布及修改可报名学期
发布及修改帮助信息
发布及修改考试时间
发布及修改培训须知
会议安排
党员发展
党员发展
邮件设置
基本资料
管理员页面
查找
增加
删除
修改
通知管理
新增通知
修改通知
数据库: dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id | bigint(20) | N | 内部 | ||
2 | branchId | bigint(20) | Y | 内部 | ||
3 | newsType | varchar(200) | Y | 内部 | ||
4 | content | varchar(200) | Y | 内部 | ||
5 | url | varchar(200) | Y | 内部 | ||
6 | submitTime | varchar(200) | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id |
2 | FK_Reference_17 | Normal | branchId |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id1 | bigint(20) | N | 内部 | ||
2 | studentId1 | bigint(20) | Y | 内部 | ||
3 | branchId1 | bigint(20) | Y | 内部 | ||
4 | developSpeed1 | bigint(20) | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id1 |
2 | FK_Reference_15 | Normal | branchId1 |
3 | FK_Reference_16 | Normal | studentId1 |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id | bigint(20) | N | 内部 | ||
2 | branchName | varchar(200) | Y | 内部 | ||
3 | branchTeacherId | bigint(20) | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id |
2 | FK_Reference_14 | Normal | branchTeacherId |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id | bigint(20) | N | 内部 | ||
2 | studentId | bigint(20) | Y | 内部 | ||
3 | branchId | bigint(20) | Y | 内部 | ||
4 | nowState | varchar(200) | Y | 内部 | ||
5 | content | varchar(200) | Y | 内部 | ||
6 | state | varchar(200) | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id |
2 | FK_Reference_19 | Normal | branchId |
3 | FK_Reference_20 | Normal | studentId |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id | bigint(20) | N | 内部 | ||
2 | time | date | N | 内部 | ||
3 | whether | int(11) | Y | 内部 | ||
4 | statement | varchar(200) | Y | 内部 |
主键为id、time,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id,time |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | 用户id | bigint(20) | N | 内部 | ||
2 | 密码 | varchar(50) | Y | 内部 | ||
3 | 最后一次修改时间 | datetime | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | 用户id |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id | bigint(20) | N | 内部 | ||
2 | role_id | bigint(20) | N | 内部 | ||
3 | role | varchar(50) | Y | 内部 |
主键为id、role_id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id,role_id |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id | bigint(20) | N | 内部 | ||
2 | teacherId | bigint(20) | Y | 内部 | ||
3 | applyId | bigint(20) | Y | 内部 | ||
4 | whetherCheck | varchar(20) | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id |
2 | FK_Reference_21 | Normal | teacherId |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id1 | bigint(20) | N | 内部 | ||
2 | teacherId1 | bigint(20) | Y | 内部 | ||
3 | newsType1 | varchar(200) | Y | 内部 | ||
4 | content1 | varchar(200) | Y | 内部 | ||
5 | submitTime1 | varchar(200) | Y | 内部 | ||
6 | url1 | varchar(200) | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id1 |
2 | FK_Reference_18 | Normal | teacherId1 |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id | bigint(20) | N | 内部 | ||
2 | examDate | time | Y | 内部 | ||
3 | score | double | Y | 内部 | ||
4 | studentId | bigint(20) | Y | 内部 | ||
5 | testId | bigint(20) | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id |
2 | FK_Reference_12 | Normal | testId |
3 | FK_Reference_3 | Normal | studentId |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id | bigint(20) | N | 内部 | ||
2 | student_id | bigint(20) | Y | 内部 | ||
3 | test_id | bigint(20) | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id |
2 | FK_Reference_10 | Normal | student_id |
3 | FK_Reference_11 | Normal | test_id |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | 用户id | bigint(20) | N | 内部 | ||
2 | 用户状态 | bigint(20) | Y | 内部 | ||
3 | 用户状态说明 | varchar(200) | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | 用户id |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id | bigint(20) | N | 内部 | ||
2 | teacherId | bigint(20) | Y | 内部 | ||
3 | testQuestion_id | bigint(20) | Y | 内部 | ||
4 | submitTime | time | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id |
2 | FK_Reference_8 | Normal | teacherId |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id | bigint(20) | N | 内部 | ||
2 | testName | varchar(200) | Y | 内部 | ||
3 | testType | varchar(200) | Y | 内部 | ||
4 | startTime | time | Y | 内部 | ||
5 | endTime | time | Y | 内部 | ||
6 | teacher_id | bigint(20) | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id |
2 | FK_Reference_7 | Normal | teacher_id |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | id | bigint(20) | N | 内部 | ||
2 | title | varchar(200) | Y | 内部 | ||
3 | option1 | varchar(200) | Y | 内部 | ||
4 | option2 | varchar(200) | Y | 内部 | ||
5 | option3 | varchar(200) | Y | 内部 | ||
6 | option4 | varchar(200) | Y | 内部 | ||
7 | answer | varchar(200) | Y | 内部 | ||
8 | joinTime | time | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | id |
**基本信息: **null,utf8,dangyuan@rm-6xa764everz.mysql.rds.aliyuncs.com:3306【rm-f8z1zc6xa764everz】
序列 | 列名 | 类型 | 是否为空 | 缺省值 | 描述 | 安全级别 |
---|---|---|---|---|---|---|
1 | 用户id | bigint(20) | N | 内部 | ||
2 | 用户姓名 | varchar(50) | Y | 内部 | ||
3 | 性别 | varchar(50) | Y | 内部 | ||
4 | 地址 | varchar(50) | Y | 内部 | ||
5 | 身份证号 | varchar(50) | Y | 内部 | ||
6 | 电话号 | varchar(50) | Y | 内部 | ||
7 | 角色id | bigint(20) | Y | 内部 |
主键为id,所有的非主键都依赖主键,不存在传递依赖,符合第三范式。
序列 | 索引名 | 类型 | 包含字段 |
---|---|---|---|
1 | PRIMARY | Primary | 用户id |
查看培训资料
修改培训资料
线上考试
考试练习
党费缴纳
发布及修改帮助信息
发布及修改考试时间
发布及修改可报名学期
发布及修改培训须知
上传题库
发展党员
![image.png](https://img-blog.csdnimg.cn/img_convert/2880af3ceed60682001c7a07fe0b5d5a.png#align=left&display=inline&height=612&margin=[object Object]&name=image.png&originHeight=612&originWidth=1250&size=80043&status=done&style=none&width=1250)
查找
删除
修改
增加
新增通知
修改通知
删除通知
本文描述了党支部资料管理以及党员发展信息系统 的详细设计,按照 党支部资料管理以及党员发展信息系统 项目规划书和党支部资料管理以及党员发展信息系统的需求规约的目标和要求,将整个系统分为了学员培训管理、基本资料管理、党员发展管理、会议管理、评价学生管理、发布信息管理,人员管理,通知管理八个大的开发模块。党支部资料管理以及党员发展信息系统 的详细设计给出了系统向外提供的接口,并对接口的功能进行描述。
本文将直接影响到党支部资料管理以及党员发展信息系统 的设计与开发、模块划分、详细设计、编码,工作量评估、人力资源配置等活动。
略
《 党支部资料管理以及党员发展信息系统 需求规约》
《 党支部资料管理以及党员发展信息系统 概要设计》
党支部资料管理以及党员发展信息系统 主要由学员培训管理、基本资料管理、党员发展管理、会议管理、评价学生管理、发布信息管理,人员管理,通知管理,其用户角色分为管理员、学生、党校老师和支部书记。
类图
第一周 | |
---|---|
星期二 | 小组讨论,将工程分类为学生部分、支部书记部分、党校老师部分、管理员部分,本人完成支部书记部分的一切项目,确定项目工具,将每日工程上传到语雀。 |
星期三 | 小组讨论,用process on画用例图的支部书记部分,并编写用例文档的支部书记部分。 |
星期四 | 小组完成界面,讨论决定下载并安装Axure,在Axure上完成支部书记部分的界面功能,会议安排功能、党员发展功能、邮件设置功能和基本资料等。 |
星期五 | 小组共同完成接口设计部分,本人完成支部书记部分的接口设计以及借口文档的支部书记部分。 |
第二周 | |
星期一 | 下载并安装PowerDesigner,使用PowerDesigner创建数据库表支部书记部分。 |
星期二 | 使用PowerDesigner完成类图设计的支部书记部分。 |
星期三 | 使用process on完成流程图设计的支部书记部分以及数据流图设计的支部书记部分。 |
星期四 | |
星期五 |
第一周 | |
---|---|
星期二 | 小组讨论,将工程分类为学生部分、支部书记部分、党校老师部分、管理员部分,本人完成党校老师部分的一切项目,确定项目工具,将每日工程上传到语雀。 |
星期三 | 小组讨论,用process on画用例图的党校老师部分,并编写用例文档的党校老师部分。 |
星期四 | 小组完成界面,讨论决定下载并安装Axure,在Axure上完成党校老师部分的界面功能,上传题库功能、发布及修改可报名学期功能、发布及修改帮助信息功能和发布及修改考试时间功能,发布及修改培训须知功能等。 |
星期五 | 小组共同完成接口设计部分,本人完成党校老师部分的接口设计以及借口文档的党校老师部分。 |
第二周 | |
星期一 | 下载并安装PowerDesigner,使用PowerDesigner创建数据库表党校老师部分。 |
星期二 | 使用PowerDesigner完成类图设计的党校老师部分。 |
星期三 | 使用process on完成流程图设计的党校老师部分以及数据流图设计的党校老师部分。 |
星期四 | |
星期五 |
第一周 | |
---|---|
星期二 | 小组讨论,将工程分类为学生部分、支部书记部分、党校老师部分、管理员部分,本人完成学生部分的一切项目,确定项目工具,将每日工程上传到语雀。 |
星期三 | 小组讨论,用process on画用例图的学生部分,并编写用例文档的学生部分。 |
星期四 | 小组完成界面,讨论决定下载并安装Axure,在Axure上完成学生部分的界面功能,会议安排功能、党员发展功能、邮件设置功能和基本资料等。 |
星期五 | 小组共同完成接口设计部分,本人完成学生部分的接口设计以及借口文档的学生部分。 |
第二周 | |
星期一 | 下载并安装PowerDesigner,使用PowerDesigner创建数据库表学生部分。 |
星期二 | 使用PowerDesigner完成类图设计的学生部分。 |
星期三 | 使用process on完成流程图设计的学生部分以及数据流图设计的学生部分。 |
星期四 | |
星期五 |
第一周 | |
---|---|
星期二 | 小组讨论,将工程分类为学生部分、支部书记部分、党校老师部分、管理员部分,本人完成管理员部分的一切项目,确定项目工具,将每日工程上传到语雀。 |
星期三 | 小组讨论,用process on画用例图的管理员部分,并编写用例文档的管理员部分。 |
星期四 | 小组完成界面,讨论决定下载并安装Axure,在Axure上完成管理员部分的界面功能,修改通知功能、查找功能、增加功能和删除功能、修改功能、通知管理功能等。 |
星期五 | 小组共同完成接口设计部分,本人完成管理员部分的接口设计以及借口文档的管理员部分。 |
第二周 | |
星期一 | 下载并安装PowerDesigner,使用PowerDesigner创建数据库表管理员部分。 |
星期二 | 使用PowerDesigner完成类图设计的管理员部分。 |
星期三 | 使用process on完成流程图设计的管理员部分以及数据流图设计的管理员部分。 |
星期四 | |
星期五 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。