The Documents on Software Analysis & Design Team Work
版本 | 日期 | 作者 | 学号 |
---|---|---|---|
v1.1 | 2019-06-23 | Siri | 16340247 |
在这门系统分析与设计课程中,我主要在系统分析、设计、开发以及团队项目管理中都有所收获。
分析阶段主要集中在项目开始的第一周。为了根据短短的一段描述确定需求,我仔细调查了两个竞品 webApp/mobileApp 的功能,并且通过课上学习的需求分析技巧对其进行分析,并且“为我所用”,一定程度上从分析别人的过程中,“偷取了”我们的项目的灵感。除此之外,我还分析了这个应用最合适的开发工具栈。
在本项目中,我主要负责部分后端架构设计,全部 API 设计,以及前后端的 github 管理。
在架构设计中,我主要关注了后端的架构。通过与后端程序员的讨论,我建立了一套 python flask 作为 router,flaskJWT 作为权限管理,独立于前面两部分的数据校验模块,以及使用 SQLalchemy 进行 SQLite 增删改查操作的分层结构的后端架构。事实证明,这样的后端架构可以在保证效率的情况下拥有最大的扩展性。这部分设计也得到了后端同学门的大力支持。
说起 API 设计,由于 API 设计的课程内容靠后,我自学了 GitHub/Google API 的设计规范,并且熟练的掌握了 RESTful API 的设计理念与 HTTP method/error code 的含义。借由我设计的 API 及其文档,前后端的沟通障碍显著减少。
在 Github 管理上,我建立了 master/fend/bend 分支,保证前后端开发进度不会相互打扰,同时又能方便的整合进入 master。降低了虚假的重复代码量。
在本项目中,我辅助另一位 PM yuki 同学进行进度管理。主要工作是在组会的时候催成员写周报,如果他们忘了的话再会后还得补齐。除此之外,我主要监督后端的工作进度。在后端同学们的大力支持下,后端进度在整个项目中一直保持领先。这极大的减轻了我在期末的工作量。
由于PM的身份,我较少参与具体开发过程。主要的开发工作集中在技术选型时候的可行性验证和一些新技术的测试上。此外,我也协助后端进行 API 的健壮性测试。
PSP 2.1 统计表
PSP 2.1 | Personal Software Process Stages | Time (%) |
---|---|---|
Planning | 计划 | 20 |
estimate | 预估任务时间 | 20 |
Development | 开发 | 60 |
analysis | 需求分析 | 10 |
design spec | 生成设计文档 | 25 |
estimate | 设计复审(与后端团队成员审核设计文档) | 3 |
coding standard | 代码规范 | 2 |
design | 具体设计,包括设计架构等 | 10 |
coding | 具体编码 | 5 |
code review | 代码复审 | 5 |
test | 测试(修改代码) | 0 |
Report | 报告 | 20 |
test report | 测试报告 | 5 |
size measurement | 计算工作量 | 5 |
postmortem & process improvement plan | 每次迭代结束后写总结文档,并提出改进计划 | 1 |
仅截图
无