关于课程 SE-308 小组分工与贡献率说明
此页面为课程 SE-308 (Software Design Projects) 的相关说明,非系统分析与设计课程文档内容。
安装包 与《安装部署说明》
此项目的 Readme.md 中已有。
《用户手册》 或 《使用说明》
此项目的原型图 已说明清楚。
注1:因简历投递系统的用户皆为学生,即无注册入口,直接对接学校账户即可。
注2:登录入口同时作为用户和管理员入口,默认管理员的账户密码皆为admin
,可在后台数据库中另行假如新管理员账户或用户账户。
所有源代码
《软件需求规格说明书》(SRS)
即此文档,于索引处查看。
《软件设计文档》(SD)
软件的技术选型理由(技术栈)
- 前端:Vue.js + Element-UI
- 后端:基于 node.js 的 ExpressJS 服务器框架
- 数据库:使用文档型(NoSQL)数据库 lowdb (JSON数据库)
- 身份验证解决方案:JSON Web Tokens
- 包管理:npm
- 唯一ID生成:shortid
架构设计
- 前端:基于 Vue.js 的响应式和组件式设计,这是源于 Vue.js 本身的设计理念。
- 后端:基于 node.js 的异步型服务器,处理并发优秀且自然。基于 ExpressJS 的中间件框架,流水线式的请求处理使得整个服务端设计更为直观,容易维护与扩展。
- 前后端对接:由于前后端信息交互使用的是纯 JSON 文本,故前端消息发出与接收均使用ajax异步请求,具体为 axios ;而后端直接使用express的中间件进行解析并处理,最后返回JSON结果。接口形式为对类似
ip:port/api/xxx
进行get/post请求(只用这两个http的methods),接口设计类似于JSON-RPC但不完全遵循。
软件设计技术
- 由于各种编程技巧均渗入在各种的框架之中,实际代码表现更倾向于框架本身,如 Vue.js 的响应性设计,绑定了model后自行根据对象的更新进行虚拟DOM的更新并重新渲染,而自行编写的代码中并不明显,即使已经包含了此设计理念。
- 同理 ExpressJS 的中间件,还有一些语言本身的设计上,就涉及到了组件模式(Component)。
- Javascript本身就是面向对象的编程语言,几乎一切皆对象,其原型链和闭包使其灵活性极高。
- 设计模式无处不在。
- 面向对象无处不在。
《小组分工与贡献率说明》
因本小组只有一个人(15331120 黄文浩),所以一切贡献率皆为100%。
关于此项目采用其他课程项目涉及
此项目采用了软件工程专业课程《系统分析与设计》中的课程项目。