和妹妹一起做她的毕业设计,记录构思过程。
初衷:工作快一年,转正半年余,感觉知识零碎,没有从头到尾走一遭,故做此事。
步骤一览:
- 需求设计:明了想做什么,要做成什么样子,做到哪一程度。
- 功能设计:根据需求,把需求的“口水话”抽象为具体的功能点,列出功能列表。
- 界面设计:功能设计的时候一起设计界面大纲,需要做到大致明了界面的跳转,各界面要实现什么功能,以此完善功能列表。
- DB表设计:应该与功能设计和界面设计处于同一时间段完成,三者互相“牵连”,相互完善。
- 技术栈选择:以上四点都要依赖于技术栈的选择,反之,它们也作为了筛选条件,来控制技术栈最终的选择。技术栈选择包括:前端、后端、中间件、工具以及运维,详情见下图:
【图片来自知乎“纯洁的微笑”的回答,点击进入原文】
- 搭建框架:包括开发环境、工具的准备、数据库准备 与 项目的搭建。
项目搭建好后,进入开发阶段。
开发阶段事项:
1. 任务分解: 根据之前的功能列表,列出功能实现的先后顺序,分解成单个任务的形式存在【每一个任务包含任务内容以及完成时间】;
2. 项目开发: 任务按照实现顺序分配给开发人员,遵循任务完成时间,完成对应的开发;
3. 单体测试: 开发人员要保证代码的质量,需要进行单体测试,测试通过,将代码提交到项目中;
- 测试:开发阶段结束后,进入发布前的连接/集成/系统测试等。
- 打包发布:用打包工具进行打包,发布到服务器。
- 运维:对应bug,更新系统版本,再次发布。
需求:
功能列表:
从需求中提炼功能,做出功能列表。要考虑技术栈的选择,任务时间分配,我们比小白还小白的能力能否实现。
// TODO 功能列表【待妹妹毕业了再贴上来,保证她的查重率??】
界面设计:
// TODO 待贴上来
DB表设计:
// TODO
技术栈选择:
前端:Vue +Element
后端:JFinal + java
数据库: mysql
mq: rabbitmq