团队作业第五次—项目系统设计与数据库设计

作业描述

所属课程软件工程1916|W(福州大学)
作业要求团队作业第五次—项目系统设计与数据库设计
团队名称待就业六人组
作业目标宏观的对系统的整体结构设计,并在此基础上,进行数据库设计
系统设计说明书.pdfGithub链接
数据库设计说明书.pdfGithub链接
第五次作业评审表.pdfGithub链接
第五次作业答辩PPT.pdfGithub链接

一、设计类图

在OOA模型中,我们初步建立了类图,描述了系统中行为实体间的静态结构。在OOD阶段,我们详细分析了类与类之间所存在的关联性,从控制类、边界类、实体类的角度出发,进一步总结梳理出系统整体的静态组织结构。

1.1 登录子系统类图

1635020-20190414230308020-1805829646.png

1.2 参与者类图

1635020-20190414230315832-1367918511.png

1.3 智能推送类

1635020-20190414230325482-584066106.png

1.4 信息管理类图

1635020-20190414230335501-973135278.png

1.5 信息查询类图

1635020-20190414230343080-1160148329.png

1.6 投递简历类图

1635020-20190414230350506-1744684944.png

1.7 审核简历类图

1635020-20190414230401367-673770461.png

1.8 私信类图

1635020-20190414230410689-1805279409.png

二、系统体系结构设计

2.1 系统分析

由OOA阶段的分析可知,类图体现了校招平台在微观上的静态结构,但由于整个系统内容繁多,较为庞大,使用类图分析将大大增多工作量,因此我们从宏观上对整个系统进行分析,将之划分为互有联系又相对独立的几部分,如下图所示。
1635020-20190414230636230-1700684007.png

2.1.1 用户包图

1635020-20190414230702732-1487793770.png

2.1.2 登录包图

1635020-20190414230712003-1569876599.png

2.1.3 界面包图

1635020-20190414230720586-692761786.png

2.1.4 接口包图

1635020-20190415022237314-581009598.jpg

2.2 结构设计

进行了以上分析之后,本平台根据小组成员过去的开发经验,决定采用MVC框架模式。MVC采用单一入口模式进行项目部署和访问,准确处理好模块与模块之间的联系。MVC包括三个部分:控制器,定义后使用视图和模型,负责通信、转发请求、响应请求;视图,实现静态的图形界面设计;模型定义相应的控制器编写算法等等实现程序功能、实现具体的数据管理和数据库设计。MVC通用的模型设计如下图所示。

1635020-20190414230735462-1683168314.png

针对MVC架构对类和操作进行分析,得到的分析结果如下图:

1635020-20190414230749977-1654224739.png

2.3 功能模块设计

根据系统需求分析对系统进行整体的模块设计,设计出校招平台的总体功能模块结构图(HIPO图)将系统分为八部分,如下图所示。

1635020-20190414230758920-1734286458.png

三、数据库设计

根据系统的功能需求和系统架构模型,完成了系统的数据库设计。

3.1 数据流图

3.1.1 顶层数据流图

1635020-20190415022436235-851074491.png

3.1.2 求职者数据流图

1635020-20190415022445813-1681851053.png

3.1.3 招聘者数据流图

1635020-20190415022451420-767802352.png

3.2 E-R图设计

根据不同实体类型、属性和联系,完成对数据库E-R图设计,如下图。
1635020-20190415022512668-1123235530.png

3.3 关系模型分析

将E-R图转换为关系模型。

  • 公司(公司id,电话号码,密码,公司名,头像链接,邮箱,企业描述,是否通过审核)
  • 学生(学生id,密码,电话号码,用户名,头像链接,邮箱,性别,学校,专业,职业,当前城市,期望城市)
  • 招聘会(招聘会id,公司id,时间,地点,面向人群,描述)
  • 招聘信息(招聘信息id,公司id,时间戳,岗位描述,联系人及联系方式,任职资格,工作地点,投递要求,工作职责,薪酬福利,招聘或者兼职,有效)
  • 简历(简历id,student_id,电话号码,用户名,简历头像链接,邮箱,性别,最高学历,职业,当前城市,期望城市,教育背景,证书,项目经历,实践经历,自我评价,简历状态)
  • 简历投递(简历投递id,公司发布的职位信息的id,简历id,投递状态)
  • 聊天室(学生id,hr_id,聊天室id,发送方)
  • 聊天记录(记录id,聊天室id,内容,时间戳)

3.4 表结构设计

结合MySQL数据库管理系统特点和E-R图设计,主要表的结构如下:(1)student表

字段名数据类型默认注释
student_idchar(128)随机生成的主键
passwdchar(32)密码
telephonechar(14)电话号码
user_namechar(20)用户名
head_urlvarchar(256)头像链接
emailchar(32)邮箱
sextinyint(4)性别
schoolchar(64)学校
specialtyvarchar(64)专业
occupationvarchar(32)职业
present_cityvarchar(64)当前城市
expected_cityvarchar(64)期望城市

(2)企业信息表

字段名数据类型默认注释
company_idchar(128)随机生成的主键
telephonechar(14)电话号码
passwdchar(32)密码
company_namevarchar(50)公司名
head_urlvarchar(256)头像链接
char(32)邮箱
descriptiontext企业描述
statustinyint(4)是否审核

(3)招聘职位信息表

字段名数据类型默认注释
publish_timetimestamp当前时间时间戳
company_idchar(128)公司id
descriptiontext岗位描述
recruitment_idint(11)主键
contactvarchar(32)联系人及联系方式
qualificationsvarchar(128)任职资格
locationvarchar(64)工作地点
delivery_requestvarchar(64)投递要求
dutyvarchar(64)工作职责
salaryvarchar(64)薪酬福利
typeint(11)招聘或者兼职
validateint(11)有效

(4)简历信息表

字段名数据类型默认注释
resume_idint(11)自增简历id
user_idchar(128)外键
telephonechar(14)电话号码
user_namechar(20)用户名
head_urlvarchar(256)头像链接
emailchar(32)邮箱
sextinyint(4)性别
highest_educationtinyint(4)NULL最高学历
occupationvarchar(32)职业
present_cityvarchar(64)当前城市
expected_cityvarchar(64)期望城市
degreevarchar(1024)教育背景
certificatevarchar(1024)证书
project_experiencevarchar(2048)项目经历
practical_experiencevarchar(2048)实践经历
self_evaluationvarchar(128)自我评价
resume_statusint(11)0代表未投递,1代表已投递,

(5)简历投递表

字段名数据类型默认注释
resume_delivery_idint(11)自增简历投递id
recruitment_idint(11)招聘信息的id
resume_idint(11)简历id
delivery_statusint(11)0投递状态

四、验收验证标准

界面和功能验收验证标准已经在需求规格说明书中已经涉及,这里不再赘述。这次的验收验证标准主要是对系统设计和数据库设计:

4.1 系统体系结构需满足MVC设计模式

MVC设计模式是将整个系统划分为

(1)表现层(Presentation layer):包含表示代码、用户交互GUI、数据验证。 该层用于向客户端用户提供GUI交互,它允许用户在显示系统中输入和编辑数据,同时 系统提供数据验证功能。

(2)业务逻辑层(Business layer):包含业务规则处理代码,即程序中与业务 相关专业算法、业务政策等等。该层用于执行业务流程和制订数据的业务规则。业务逻 辑层主要面向业务应用,为表示层提供业务服务。

(3)数据持久层(Persistence layer):包含数据处理代码和数据存储代码。数 据持久层主要包括数据存取服务,负责与数据库管理系统(如数据库)之间的通信。

三个层次的每一层在处理程序上有各自明确的任务,在功能实现上有清晰的区分, 各层与其余层分离,但各层之间存有通信接口。

4.2 数据库需满足第三范式

  • 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。
  • 第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
  • 第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。

4.3 数据库对不同的用户要有明确的权限划分

  • 游客:只有查看公开数据的权限
  • 求职者:游客的权限+投递简历的权限
  • 招聘者:游客的权限+发布招聘消息+审核求职信息的权限
  • 系统管理员:具有系统提供的一切权限

五、预期规划

点击链接查看预期规划

六、组员贡献占比

队员学号队员昵称用时完成度分工贡献占比
221600306XRK7h+1h95%系统体系结构设计、答辩19.76%
221600307Yellye6h90%系统体系结构设计14.33%
221600315黎焕明8h+1h90%关系模型设计、数据表设计、答辩20.49%
221600319Litm4h85%类图改进、功能模块层次图、算法改进11.3%
221600327oirving2.5h85%类图改进、功能模块层次图、评审表8.24%
221600329supermingjun10h+1h95%任务安排、数据流图、类图改进、文档审核&整合、博文撰写、PPT制作、答辩25.88%

附:第四次团队作业答辩——反思与总结

点击链接查看

转载于:https://www.cnblogs.com/onlineservice666/p/10708099.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
{ 项目名称 } 数据库设计报告 "文件状态: "文件标识:"Company-Project-SD-DATABASE " "[ ] 草稿 " " " "[ ] 正式发布 " " " "[ ] 正在修改 " " " " "当前版本:"X.Y " " "作 者:" " " "完成日期:"Year-Month-Day " 版 本 历 史 "版本/状态 "作者 "参与者 "起止日期 "备注 " " " " " " " " " " " " " " " " " " " 目 录 0. 文档介绍 4 0.1 文档目的 4 0.2 文档范围 4 0.3 读者对象 4 0.4 参考文献 4 0.5 术语与缩写解释 4 1. 数据库环境说明 5 2. 数据库的命名规则 5 3. 逻辑设计 5 4. 物理设计 5 4.0 表汇总 5 4.1 表A 6 4.n 表N 6 5. 安全性设计 6 5.1 防止用户直接操作数据库的方法 6 5.2 用户帐号密码的加密方法 6 5.3 角色与权限 7 6. 优化 7 7. 数据库管理与维护说明 7 0. 文档介绍 0.1 文档目的 0.2 文档范围 0.3 读者对象 0.4 参考文献 提示:列出本文档的所有参考文献(可以是非正式出版物),格式如下: [标识符] 作者,文献名称,出版单位(或归属单位),日期 例如: [AAA] 作者,《立项建议书》,机构名称,日期 [SPP-PROC-SD] SEPG,系统设计规范,机构名称,日期 0.5 术语与缩写解释 "缩写、术语 "解 释 " "SPP "精简并行过程,Simplified Parallel Process " "SD "系统设计,System Design " " " " " " " "… " " 1. 数据库环境说明 提示: (1)说明所采用的数据库系统设计工具,编程工具等 (2)详细配置 2. 数据库的命名规则 提示: (1)完整并且清楚的说明本数据库的命名规则。 (2)如果本数据库的命名规则与机构的标准不完全一致的话,请作出解释。 3. 逻辑设计 提示:数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图(ERD)。 如果采用面向对象方法(OOAD),这里实体相当于类(class)。 4. 物理设计 提示: (1)主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间 的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们 并不一定是一一对应的。 (2)对表结构进行规范化处理(第三范式)。 4.0 表汇总 "表名 "功能说明 " "表A " " "表B " " "表C " " 4.1 表A "表名 " " "列名 "数据类型(精度范围"空/非空 "约束条件 " " ") " " " " " " " " " " " " " " " " " " "补充说明 " " 4.n 表N "表名 " " "列名 "数据类型(精度范围"空/非空 "约束条件 " " ") " " " " " " " " " " " " " " " " " " "补充说明 " " 5. 安全性设计 提示:提高软件系统的安全性应当从"管理"和"设计"两方面着手。这里仅考虑数据库的 安全性设计。 5.1 防止用户直接操作数据库的方法 提示:用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其他途径操 作数据库。 5.2 用户帐号密码的加密方法 提示:对用户帐号的密码进行加密处理,确保在任何地方都不会出现密码的明文。 5.3 角色与权限 提示:确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色 拥有刚好能够完成任务的权限,不多也不少。在应用时再为用户分配角色,则每个用户 的权限等于他所兼角色的权限之和。 "角色 "可以访问的表与列 "操作权限 " " " " " "角色A " " " " " " " " " " " " " " " "角色B " " " " " " " " " " " 6. 优化 提示:分析并优化数据库的"时-空"效率,尽可能地"提高处理速度"并且"降低数据占用 空间"。 (1)分析"时-空"效率的瓶颈,找出优化对象(目标),并确定优先级。 (2)当优化对象(目标)之间存在对抗时,给出折衷方案。 (3)给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。 "优先级 "优化对象(目标) "措施 " " " " " " " " " " " " " 7. 数据库管理与维护说明 提示:在设计数据库的时候,及时给出管理与维护本数据库的方法,有助于将来撰写出 正确完备的用户手册。 ----------------------- 机构图标 软件项目数据库设计报告全文共7页,当前为第1页。 C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值