2020软件工程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
作业的要求 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10829 |
团队名称 | 能混绝不c |
这个作业的目标 | 项目系统与数据库设计 |
作业正文 | 如下 |
其它参考文献 | baidu |
团队开发预期计划
日期 | 目标 |
---|---|
6.14 | 完成数据库与系统设计说明书 |
6.15 | 完成数据库的建立 |
6.16 | 每个成员配置好环境,明确详细职责 |
6.17-6.24 | 前端设计,各模块功能实现 |
6.25-6.30 | 整合代码,优化代码 |
7.1 | UI界面优化 |
7.2-7.4 | 运行测试,团队总结 |
团队开发的预期开发与分工安排
组员 | 分工 |
---|---|
伍淑琪 | 后端 |
龚慧 | 前端总体UI界面 |
罗辉波 | 后端辅助,数据库 |
唐睿 | 项目经理 |
莫正昌 | 前端——人事 |
姚冬民 | 前端——销售 |
陈龙 | 需求分析 品发布 |
杨文宇 | 前端——库存 |
李浩 | 测试代码 |
石余玉 | 前端——库存 |
体系结构设计和功能模块图
本系统的设计主要是基于MVC设计模式,MVC是一个设计模式,它强制性的使应用程序的输入、处理、输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
View:视图 最顶层, 为用户提供使用界面, 和用户直接进行交互, 是程序的外壳. 对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services. 如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
Model:数据层 最底层, 是核心的数据层, 程序需要操作的数据或信息.在MVC三个部件中,模型拥有最多的处理任务。被模型返回的数据时是中立,就是说模型与数据格式无关,一个模型能为多个视图提供数据。由于应用于模型的代码只需要写一次就可以被多个视图重用,减少了代码的重复性。
Controller: 控制层 负责根据用户从View层输入的指令, 选取"数据层"中的数据, 然后对其进行相应的操作, 产生最终的结果.例如单击web页面中的超链接和发送HTML表单时,它只是接收请求并决定调用哪个模型构件去处理请求,然后在确定用哪个视图来显示返回的数据。
MVC是一种软件设计典范, 用于中业务逻辑, 数据,页面实现分离的方法组织代码, 将业务逻辑整合到一个部件里面, 在改进和个性化定制界面以及用户交互的同时不需要重写编写业务逻辑, 实现业务逻辑和前端界面的分离. MVC被独特的发展起来用于映射传统的输入,处理和输出功能在一个逻辑的图形化用户界面的结构.
MVC最开始是用于桌面程序当中, M指的是业务模型, V指的是用户界面, C指的是控制器. 使用MVC设计模式的目的是 在桌面应用程序软件将MV分离, 之前的设计模式都是, 将数据从数据库中取出之后直接开始渲染界面, 如果中间加上Controller层, 我们可以让Model只负责和数据库进行交互操作, Controller负责处理数据 这样可以实现较多的代码复用, 减少代码冗余和降低耦合性.
1.系统管理
2.仓库管理员
3.财务管理员
4.销售管理员
5.人事管理员
设计类图
ER设计
表结构设计
1.职员(user)表:
字段名称 | 数据类型 | 说明 |
---|---|---|
Id(员工编号) | Int(10) | Primary key |
Username(员工姓名) | Varchar(20) | Not null |
Age(员工年龄) | Int(10) | Not null |
Sex(性别) | Varchar(5) | Not null |
Workyear(工作年份) | Int(10) | Not null |
Hiredate(入职时间) | Varchar(20) | Not null |
Leavedate(离职时间) | Varchar(20) | Not null |
Job(职位) | Varchar(20) | Not null |
2.管理员(ad)表:
字段名称 | 数据类型 | 说明 |
---|---|---|
Id(管理员编号) | Varchar(10) | Primary key |
Username(管理员姓名) | Varchar(10) | Not null |
Password(管理员密码) | Varchar(10) | Not null |
3.商品(goods)表:
字段名称 | 数据类型 | 说明 |
---|---|---|
Id(商品编号) | Int(10) | Primary key |
Name(商品名称) | Varchar(20) | Not null |
Count(商品数量) | Int(10) | Not null |
Price(商品价格) | Varchar(20) | Not null |
Factory(供货商) | Varchar(40) | Not null |
4.供货商(supplier)表:
字段名称 | 数据类型 | 说明 |
---|---|---|
Id(供货商编号) | Int(10) | Primary key |
Name(供货商名称) | Varchar(20) | Not null |
Sex(性别) | Varchar(5) | Not null |
Gid(商品编号) | Int(5) | Not null |
Tel(供货商电话) | Varchar(40) | Not null |
Address(地址) | Varchar(80) | Not null |
Id(供货商编号) | Int(10) | Primary key |
5.财务(money)表:
字段名称 | 数据类型 | 说明 |
---|---|---|
Id(职员编号) | Int(10) | Primary key |
Name(职员姓名) | Varchar(20) | Not null |
Sex(性别) | Varchar(4) | Not null |
Salary(工资) | Varchar(10) | Not null |
Whether(是否奖励) | Varchar(5) | Not null |
Bonus(奖金) | Vachar(45) |
说明:系统管理员(systemManager)能实操作所有数据库:
- 管理管理员(包括仓库管理员(storeManager)、销售管理员(salesManager)、财务管理员(Accountant)、人事管理员(personnelManager))。
- 管理管理员管理的各部分数据库(商品(Goods)、供货商(supplier)、职员(user)、财务(money))。
- 仓库管理员(storeManager):
* 操作商品(goods)数据库:可对商品进行增加、删除、修改、查询。 - 操作供货商(supplier)数据库:可对供货商进行增加、删除、修改、查询
- 销售管理员(salesManager):操作商品(goods)数据库:可对商品进行增加、删除、修改、查询。
- 财务管理员(Accountant):操作奖金(money)数据库:可对工资奖金记录进行增加、删除、修改、查询。
- 人事管理员(personnelManager):操作职员(user)数据库:可对职员进行增加、删除、修改、查询
系统安全和权限设计
-
用户标识与鉴别:当用户在登录界面输入登录信息并确认登录时,系统将核对其信息是否存在且正确,通过鉴定后才提供系统的使用权。
-
存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,未被授权的用户无法存取数据。如:财务管理员无法对商品数据库进行数据存取。
-
视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权的用户隐藏起来,从而自动地数据提供一定程度的安全保护。
工作流程
(1)讨论作业要求和具体分工
(2)解决讨论具体问题
(3)完成体系结构设计和功能模块层次图
(4)设计类图
(5)完成ER分析和表结构设计
(6)完成系统安全和权限设计
(7)《数据库设计说明书》整合
(8)《系统设计说明书》整合
(9)撰写博客并提交
成员贡献
组员 | 分工 | 贡献度 |
---|---|---|
伍淑琪 | 编写系统设计说明文档,功能模块ER图 | 20% |
龚慧 | 编写数据库说明文档,权限设计系统安全 | 20% |
罗辉波 | 设计类图,博客园编写 | 8% |
莫正昌 | 完善数据库说明文档 | 8% |
姚东民 | 完善数据库说明文档 | 8% |
石余玉 | github配置 | 7% |
唐睿 | 文档转换,统一格式 | 8% |
陈龙 | 完善系统设计说明文档 | 7% |
李浩 | 完善系统设计说明文档 | 7% |
杨文宇 | 完善文档 | 7% |
github地址:https://github.com/lululu528/c
数据库说明书:https://kdocs.cn/l/s3bNzCKOo
[金山文档] 数据库设计说明书.pdf
系统说明书:https://kdocs.cn/l/s6v0F5Vam
[金山文档] 系统说明书.pdf