软件工程实践系统设计说明书.docx
《软件工程实践系统设计说明书.docx》由会员分享,可在线阅读,更多相关《软件工程实践系统设计说明书.docx(30页珍藏版)》请在冰豆网上搜索。
软件工程实践系统设计说明书
福州大学校招平台
系
统
设
计
说
明
书
组员:
王铭君、康小榕、李姣、黎焕明、李彦文、欧文才
指导教师:
汪璟玢
待就业六人组编写
2019.4.15
1引言
1.1编写目的
本福州大学校招平台项目(以下简称校招平台项目)的需求分析(OOA)阶段中,已经将用户对本系统的需求做了详细的分析,并在需求规格说明书中进行详尽的叙述和阐明。
本阶段将在系统的需求分析的基础上,对校招平台项目进行系统设计(OOD)。
主要解决实现该系统需求的程序模块设计问题。
包括将系统划分为若干个模块、决定各个模块之间的接口、模块之间传递的信息等。
1.2项目背景
校招平台系统将由三部分组成:
求职者和招聘者使用的客户端、管理员使用的管理端以及数据库服务器。
:
:
1.3文档约定
本文档按以下要求和约定进行书写:
(1)页面的左边距为3.17cm,右边距为3.17cm,装订线靠左。
(2)标题最多分三级:
1)一级标题:
123…(宋体粗体二号)
2)二级标题:
1.11.21.3…(黑体三号)
3)三级标题:
1.1.11.1.21.1.3…(黑体四号)
(3)正文字体为宋体小四号,单倍行距。
无特殊情况下,字体颜色均采用黑色。
(4)出现序号的段落不采用自动编号功能而采用人工编号,各级别的序号依次为
(1)、1)、a)等,部分情况序号1为
(一)。
(5)段落首行缩进2个字符
(6)本文所引用的图片均采用PNG格式进行引用。
(7)页码格式为"当前页/总页数"
a.
1.4阅读建议和预期的读者
本文档的主要分容共分3部分:
设计类图、包图、功能模块结构。
设计类图部分是将需求分析阶段的分析类映射到设计类。
包图部分是采用自顶向下原则、职能集中原则、互不交叉原则对系统模块进行划分。
功能模块结构是根据包图,将系统分解为多个功能较单一的的过程,形成HIPO图。
预期读者为本系统的设计人员和开发人员
1.5参考资料
[1]概要设计说明书(GB8567——88)
[2]详细设计说明书(GB8567——88)
2处理流程
2.1求职者应聘流程
图2.1求职者应聘流程图
2.2招聘者招聘流程
图2.2招聘者招聘流程图
3设计类图
在OOA阶段,我们初步建立了类图。
在OOD阶段,我们详细分析了类与类之间所存在的关联性,从控制类、边界类、实体类的角度出发,进一步总结梳理出系统的组织结构。
3.1登录子系统类图
3.2参与者类图
3.3智能推送类
3.4信息管理类图
3.5信息查询类图
3.6投递简历类图
3.7审核简历类图
3.8私信类图
4系统体系结构设计
4.1系统分析
由OOA阶段的分析可知,类图体现了校招平台在微观上的静态结构,但由于整个系统内容繁多,较为庞大,使用类图分析将大大增多工作量,因此我们从宏观上对整个系统进行分析,将之划分为互有联系又相对独立的几部分,如下图所示。
4.1.1 用户包图
4.1.2 登录包图
4.1.3 界面包图
4.1.4接口包图
4.2结构设计
进行了以上分析之后,本平台根据小组成员过去的开发经验,决定采用MVC框架模式。
MVC采用单一入口模式进行项目部署和访问,准确处理好模块与模块之间的联系。
MVC包括三个部分:
控制器,定义后使用视图和模型,负责通信、转发请求、响应请求;视图,实现静态的图形界面设计;模型定义相应的控制器编写算法等等实现程序功能、实现具体的数据管理和数据库设计。
MVC通用的模型设计如下图所示。
针对MVC架构对类和操作进行分析,得到的分析结果如下图:
4.3功能模块设计
根据系统需求分析对系统进行整体的模块设计,设计出校招平台的总体功能模块结构图(HIPO)。
4接口设计
4.1硬件接口
(1)网络接口
应用通过网络获取服务器上的信息。
(2)位置传感器接口
应用通过位置传感器获取设备位置信息。
(3)自动启动接口
应用通过监听开机广播完成自启动。
(4)获取手机号接口
获取当前手机的手机号
4.2软件接口
接口返回统一规范
{
“resultCode”:
””,
“resultMsg”:
””,
“resultObject”:
””
}
resultCode返回错误码
resultMsg返回错误信息
resultObject返回对象
举例:
1.{
2."resultCode":
"200",
3."resultObject":
{
4."content":
"内容"
5.}
6.}
统一全局错误码(resultCode):
200:
请求成功
1000:
请求参数错误。
1001:
请求报文不是JsobObject。
1002:
请求参数输入无效。
1999:
服务器未知错误。
2001:
用户被冻结。
2002:
sessionId过期。
2003:
无访问权限。
2004:
未注册。
2005:
操作太过频繁。
2006:
密码错误。
2007:
获取验证码失败。
2008:
账号不存在或者密码错误。
2009:
账号已注册。
2010:
手机号码错误。
2011:
验证码错误
待扩展
4.3通信接口
以下所有参数传递都采用JsonObject传递,同时请求必须携带sessionId以及用户id。
(1)用户登录
POST:
HOST/user/login/
[data]
数据别称
数据名
数据类型
数据长度
备注
手机号
telephone
char
14
必填
密码
password
char
128
必填
用户类型
usertype
*用户类型:
0为普通用户,1为企业。
返回数据携带sessionId。
(2)用户注册
发起此接口之前应当先发起获取验证码接口。
POST:
HOST/user/register/
[data]
数据别称
数据名
数据类型
数据长度
备注
手机号
telephone
char
14
必填
密码
password
char
32
必填
姓名
userName
char
20
必填
头像链接
headUrl
varchar
256
选填
邮箱
email
varchar
32
选填
性别
sex
int
选填
学校
school
varchar
64
选填
专业
specialty
varchar
64
选填
开始时间
startTime
datetime
选填
结束时间
endTime
datetime
选填
职业
occupation
varchar
32
选填
当前城市
presentCity
varchar
64
选填
期望城市
expectedCity
varchar
64
选填
验证码
validateCode
char
4-6
必填
*红色学历部分为最高学历,头像链接即调用upload接口返回的头像url。
(3)修改用户信息
发起此接口之前无需发起获取验证码接口,修改信息无需验证码验证。
POST:
HOST/user/modifyinformation/
数据同上,不过必填全部改为选填。
(4)修改手机号。
发起此接口之前应当先发起获取验证码接口。
POST:
HOST/user/modifytelephone/
[data]
数据别称
数据名
数据类型
数据长度
备注
手机号
telephone
char
14
必填
验证码
validateCode
char
4-6
必填
(5)获取验证码
如果用户还未注册,那么就在用户发起获取验证码请求时分配一个临时的sessionId,当用户提交请求时,通过请求的验证码和session中的验证码进行比对。
POST:
HOST/getvalidatecode/
[data]
数据别称
数据名
数据类型
数据长度
备注
手机号
telephone
char
14
必填
(6)修改密码
POST:
HOST/user/changepassword/
[data]
数据别称
数据名
数据类型
数据长度
备注
原密码
password
char
128
必填
新密码
new_password
char
128
必填
验证码
validateCode
char
4-6
必填
(7)创建简历
POST:
HOST/user/createresume/
[data]
数据别称
数据名
数据类型
数据长度
备注
个人信息
information
information
必填
教育背景
degree
degree[]
必填
求职意向
jobIntention
char
64
必填
荣誉证书
certificate
certificate[]
选填
兴趣爱好
hobby
char
128
选填
项目经历
projectExperience
projectExperience[]
选填
实践经历
practicalExperience
practicalExperience[]
选填
自我评价
selfEvaluation
char
256
选填
[information]
数据别称
数据名
数据类型
数据长度
备注
手机号
telephone
char
14
必填
姓名
userName
varchar
64
必填
简历头像链接
headUrl
varchar
256
必填
邮箱
email
varchar
64
必填
性别
sex
varchar
8
必填
最高学历
highestEducation
tinyint
必填
职业
occupation
varchar
64
选填
当前城市
presentCity
varchar
64
选填
期望城市
expectedCity
varchar
64
选填
*最高学历:
1为本科,2为硕士研究生,3为博士研究生。
[degree]
多学历可使用xml字符串代替,字符串长度限制为1024字节。
具体可参考
数据别称
数据名
数据类型
数据长度
备注
学校
school
varchar
64
必填
专业
specialty
varchar
64
必填
开始时间
startTime
datetime
必填
结束时间
endTime
datetime
必填
专业课程
courses
char
128
选填
[certificate]
数据存放同上,字符限制为1024字节。
数据别称
数据名
数据类型
数据长度
备注
证书名
name
varchar
50
必填
获得时间
acceptTime
datetime
必填
级别
level
int
必填
*级别用int常量表示(staticfinal):
0:
default(未填写)
1:
世界级
2:
国家级
3:
省级
4:
校级
5:
院级
[projectExperience]
数据存放同上,字符限制为2048字节。
数据别称
数据名
数据类型
数据长度
备注
项目名
name
varchar
128
必填
开始时间
startTime
datetime
必填
结束时间
endTime
datetime
必填
描述
description
char
128
选填
职责
duty
char
32
选填
[practicalExperience]
数据存放同上,字符限制为2048字节。
数据别称
数据名
数据类型
数据长度
备注
实践项目名
name
varchar
128
必填
开始时间
startTime
datetime
必填
结束时间
endTime
datetime
必填
描述
description
char
128
选填
职责
duty
char
32
选填
(8)修改简历
POST:
HOST/user/modifyresume/#{resume_id}
此项应使用查看简历,然后传参与上面“创建简历”一样。
(9)删除简历
POST:
HOST/user/deleteresume/#{resume_id}
(10)查看简历
POST:
HOST/user/viewresume/#{resume_id}
返回简历的实例。
(11)导入简历
在导入之前应当先调用上传接口。
POST:
HOST/user/importresume/
[data]
数据别称
数据名
数据类型
数据长度
备注
简历url
resumeUrl
String
必填
(12)导出简历
不需要传参数,只需要传入userId和sessionId就可以了
GET:
HOST/user/export_resume/{#userId}
返回数据携带下载的url。
(13)搜索招聘信息
POST:
HOST/user/search/
[data]
数据别称
数据名
数据类型
数据长度
备注
关键词
keyWord
char
64
必填
页码
page
int
必填
返回带数据的对象数组。
(14)文件上传接口
POST:
HOST/upload/
[data]
数据别称
数据名
数据类型
数据长度
备注
文件类型
fileType
int
必填
文件
file
必填
*此项常数项暂定
(15)消息推送
POST:
HOST/notification/
返回数据带链接、图片链接、以及标题。
(16)筛选招聘信息
POST:
HOST/filterjob/
[data]
数据别称
数据名
数据类型
数据长度
备注
发布时间
publishTime
datetime
选填
相关度
relativity
tiny_int
选填
地区
location
varchar
40
选填
发布公司
publicCompany
varchar
40
选填
相关度只需传一个非0值即可,如果相关度为0,即不按相关度排序。
(17)查看招聘信息
POST:
HOST/viewjob/
[data]
数据别称
数据名
数据类型
数据长度
备注
职位id
recruitmentId
int
必填
(18)查看招聘会信息
POST:
HOST/viewjob/#{job_meeting_id}
[data]
数据别称
数据名
数据类型
数据长度
备注
招聘会id
jobMeetingId
int
必填
*此处招聘会id为-1时代表查看所有招聘会信息。
(19)在线投递简历
POST:
HOST/delivery/
数据别称
数据名
数据类型
数据长度
备注
职位id
recruitmentId
int
必填
简历id
resume_id
int
(20)查看已投递简历状态
POST:
HOST/delivery_status/
返回数据携带所有投递状态。
(21)查看求职技巧
GET:
HOST/skill/
(22)修改企业信息
POST:
HOST/modifyInformation/
数据别称
数据名
数据类型
数据长度
备注
密码
passwd
varchar
32
必填
手机号
telephone
varchar
14
必填
公司名
companyName
varchar
50
必填
头像链接
headUrl
varchar
256
选填
邮箱
email
char
32
必填
企业描述
description
char
512
选填
验证码
validateCode
char
4-6
必填
(23)发布招聘或者兼职信息
POST:
HOST/publishjob/
[data]
数据别称
数据名
数据类型
数据长度
备注
职位名
jobName
varchar
40
必填
岗位描述
description
char
512
必填
联系人及联系方式
contact
varchar
32
必填
任职资格
qualifications
varhchar
128
必填
地点
location
varchar
64
必填
投递要求
deliveryRequest
varchar
64
必填
工作职责
duty
varchar
64
必填
薪资福利
salary
varchar
64
必填
招聘或者兼职
type
int
必填
*招聘或者兼职为1时为招聘,为2时为兼职
(24)发布校园招聘会信息
POST:
HOST/publishjobmeeting/
[data]
数据别称
数据名
数据类型
数据长度
备注
公司
companyId
char
128
必填
时间
time
date
必填
地点
location
char
32
必填
面向人群
facingPeople
char
126
必填
(25)审核应聘者申请
应先调用“查看应聘人”的接口。
POST:
HOST/modifydelivery/
[data]
数据别称
数据名
数据类型
数据长度
备注
投递id
resumeDeliveryId
int
必填
更正状态
deliveryStatus
int
必填
*此处服务器应检查当前用户是否有更正状态的权利。
(26)导入招聘信息
Post:
HOST/importjob/
[data]
数据别称
数据名
数据类型
数据长度
备注
文件url
url
必填
(27)导出招聘信息
GET:
HOST/user/export_recruitment/{#recruitment_id}
返回数据携带下载的url。
(28)修改招聘信息
同“发布招聘或者兼职信息”,不过应当先发起查看招聘信息接口请求。
Post:
HOST/modifyjob/
(29)查询招聘会报名人数
Post:
HOST/getnumberofmeeting/#{recruitment_id}
返回数据系带当前参加招聘会人数
(29)查看应聘人
Post:
HOST/getpeople/#{resume_delivery_id}
如果resume_delivery_id为-1返回数据携带当前公司所有的应聘信息,其余返回具体的应聘人的信息。