“物品复活”软件开发体会总结
“物品复活”软件开发体会总结
任务需求:
对照软件工程的知识,对开发该程序的体会进行总结。
软件工程的知识:
- 软件工程概论
- 本项目完全采用了面向对象方法学和敏捷过程、极限编程的思想
- 个人软件过程
- 本项目遵循PSP,实现了良好的代码风格
- 可行性分析
- 本项目在初期就进行了可行性研究,通过系统流程图、数据流图、数据字典等方法证明了本项目的可行性;
- 需求
- 本项目在一开始就明确了系统核心需求,并随软件迭代不断满足着新的需求
- 形式化方法
- 本项目广泛运用形式化方法,例如符号执行、定理自动证明等
- 总体设计
- 本项目遵循了模块化、抽象、逐步求精、信息隐藏和局部化,模块独立等设计原理,尽量实现了高内聚、低耦合
- 详细设计
- 本项目采用行业先进标准,以现代化前端技术构建图形用户界面
- 软件测试
- 本项目实现了后端API单元测试100%覆盖率
- 软件维护
- 本项目使用了Github Actions实现持续集成
- 面向对象方法
- 本项目所有API在编写时即使用了OpenAPI 2.0标准自动撰写文档,使得后续的各种UML图都可以一键导出
- 面向对象分析
- 本项目全程采用了面向对象分析的方法,以动态模型分析了系统的信息流和控制流
- 面向对象设计
- 本项目采用C-S架构,通过高度软件重用降低了代码的重复率
- 面向对象实现
- 本项目完全使用面向对象语言和强类型语言实现,各种操作都进行了全面的健壮性分析
- 项目管理(S)
- 本项目通过全面的项目管理软件和容器化技术,实现了良好的软件配置管理
体会:
- 容器化能减轻软件部署时的复杂性,但是也会增加软件维护和开发的成本。
- 在没有显著优势和严重性能瓶颈的情况下,不要主动引入复杂性组件。
- 持续集成也是一种容器化,而且还更难在本地调试。
前端很好看,但是写着容易上瘾。- 当需求总是在变的时候,测试过不去很多时候是测试写错了。
- 用户需求不总是合理的,有些通不过可行性分析的需求就应该果断毙掉。
浙公网安备 33010602011771号