五子棋项目总结
软件生命周期
- 立项
- 可行性分析+软件开发计划
- 需求分析
- 架构
- 编码
- 测试
- 项目上线
- 维护
立项
做什么东西
可行性分析
- 技术可行性
- 用到哪些技术。如果某个技术是一部分功能会用到的,需要小组内一半人掌握才能使用;如果是所有代码涉及到的,需要全员掌握
- 列举核心功能
- 考虑核心功能能否实现
- 数据的设计
- 逻辑的描述
需求分析
- 需求文档
- 界面划分
- 界面描述
- 功能分类
- 功能概述
- 优先级
- 备注
- 流程图
- 使用process on来制作流程框图
- 原型图
- 使用墨刀。不要求一模一样,但数据、内容不能有遗漏
- 注意设计时形成闭环(有a->b,就得有b->a)。
架构
什么是架构
一个项目文件夹里放着数据的设计、函数的声明。
要求注释详细,函数声明、功能、参数、返回值清晰为什么要有架构
- 明确分工:谁负责哪块代码,出了问题联系谁
- 技术分配:不同人擅长不同的地方
- 代码分层:view层与service层(UI与实现相互分离),即
接受输入->逻辑判断、修改->程序输出
搭建架构的最低前提
- 熟悉用户操作流程、程序运行流程
- 单人写,择优
- 可在一开始只写核心功能,后来再完善
编码
- 整合
- 每天进行整合,以函数为单位在git上提交
- 讲进度、讨论问题、安排拓展架构的分工
- 布置某项任务时的格式
- 内容:
- 负责人:
- 截止时间
- 提交方式
- 接收人
测试
小项目,无需测试工具,便在本地测试
开发过程
- 9-20:产品经历逐个点评原型图;副组长问大家C语言的掌握程度;大家评判的是用Console还是用EasyX来做。
- 9-21:副组长确定每个人的安排,但他刚说完自己就记不清了。得事先写好,不能想到哪,说到哪。
- 9-22:我发布了我写的架构,并让大家提出意见
- 9-23:我做了个简易五子棋,验证架构可行性,因为自己第一次写架构
- 9-24:整合代码,开会讨论
- 9-25:整合代码,开会讨论
- 9-26:实现了落子,增加了“当前黑|白子”与“当前局数”的功能
- 9-27:没归零map数组,导致判断胜负出问题,已改正。我以为“五子紧密相连为胜”,实际上“中间隔着空气”也可以。产品经历提出意见,我一开始没听明白,他也不说了,我也不问了,这是大忌!
- 9-28:美化了UI
- 9-29:答辩,给出以下评价
- 布局清晰,颜色分明,细节到位
- 代码注释太少
- 有的人没看到我封装的button函数->通知不到位
- 路演PPT有待规范
获得了83.5分,7/20的排名。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 陈同学的桃花源!
评论