2017-2018-1 团队名称 第一周 作业
小组成员
组长
- 20162318张泰毓
成员
- 20162303石亚鑫
- 20162304张浩林
- 20162307张韵琪
- 20162321王彪
- 20162326齐力锋
小组分工
宣传人员(20162307张韵琪)
- 写博客
- 后期市场推广,营销
- 同时兼打杂
图像设计师(20162326齐力锋)
- 提供宣传用图
- 提供游戏某些窗口(登陆,提示,购物等等)的背景图,按钮,单多选之类的控件外观等等), 动画效果,声音
架构设计师 (20162304张浩林)
- 游戏开发方向,
- 构造游戏主体,
- 策划各种细节。
- 设置游戏剧情,关卡。
- 参与部分程序员工作(负责协调程序员间的工作, 例如程序员各有各做法, 造成冲突,或未知隐患)
程序员(两名)(20162318张泰毓、20162321王彪)
- 编写程序
测试员(20162303石亚鑫)
- 测试游戏的可玩性
- 寻找BUG并修复
- 负责检查各部分功能实施, 各职能的配合
构建之法
第一章 概论
- 软件 = 程序 + 软件工程
- 软件构建的过程:一个复杂的软件不但要有合理的软件架构、软件设计与实现,还要有各种文件和数据来描述各个程序文件之间的依赖关系、编译参数、链接参数,等等。
- 软件企业 = 软件 + 商业模式
- 软件开发的不同阶段 :1.玩具阶段 2.业余爱好阶段 3.探索阶段 4.成熟的产业阶段
- 软件的特殊性: 1. 复杂性 2. 不可见性 3.易变性 4.服从性 5.非连续性
第二章 个人技术和流程
-
好的单元测试的标准
- 应该在最基本的功能/参数上验证程序的准确性
- 必须由最熟悉代码的人来写
- 单元测试过后,机器状态保持不变
- 单元测试要快
- 应该产生可重复、一致的结果
- 独立性——单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性
- 应该覆盖所有代码路径
- 应该集成到自动测试的框架中
- 必须和产品代码一起保存和维护 -
个人开发流程
- 计划
- 开发(分析需求、生成设计文档、设计复审、代码规范、具体设计、具体编码、代码复审、测试)
- 记录用时
- 测试报告
- 计算工作量
- 事后总结
- 提出过程改进计划 -
扩展需求
- 从数据方面扩展
- 从需求方面扩展
- 从用户方面扩展
- 从软件构件方面扩展
第三章 软件工程师的成长
- 几种成长
- 积累软件开发相关的知识,体改技术技能
- 积累问题领域的知识和经验
- 对通用的软件设计思想和软件工程思想的理解
- 提高职业技能
- 实际成果
第四章 两人合作
- 代码规范分为代码风格规范、代码设计规范
- 代码风格规范
- 缩进
- 行宽
- 括号
- 断行与空白的{}行
- 分行
- 命名
- 下划线
- 注释 - 代码设计规范
- 函数
- goto - 结对编程中有两个角色:驾驶员和领航员
- 两人合作的不同阶段和技巧
- 萌芽阶段
- 磨合阶段
- 规范阶段
- 创造阶段
- 解体阶段
第五章 团队和流程
- 软件团队的模式:主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队、特工团队、交响乐队模式、爵士乐模式、功能团队模式、官僚模式
第六章 敏捷流程
- 敏捷的步骤
- 第一步:找出完成产品需要做的事情
- 第二步:决定当前的冲刺需要解决的事情
- 第三步:冲刺
第七章 实战中的软件工程
- MSF基本原则
- 推动信息共享与沟通
- 为共同的远景而工作
- 充分授权和信任
- 各司其职,对项目共同负责
- 交付增量的价值
- 保持敏捷, 预期和适应变化
- 投资质量
- 学习所有的质量
- 与顾客合作
第八章 需求分析
- 软件需求
- 获取和引导需求
- 分析和定义需求
- 验证需求
- 在软件产品的生命周期中管理需求 - 用户调研方法
- 焦点小组
- 深入面谈
- 卡片分类
- 用户调查问卷
- 用户日志研究
- 人类学调查
- 眼动跟踪研究
- A/B测试
第九章 项目经理
- PM:项目经理
- 成为一个合格的PM,需要哪些能力
- 观察、理解和快速学习能力
- 分析管理能力
- 一定的专业能力
- 自省的能力
第十章 典型用户和场景
- FDD:功能驱动的设计
- FDD由下面几个步骤构成
- 构造总体模型
- 构造功能列表
- 制定开发计划
- 功能设计阶段
- 实现具体功能
第十一章 软件设计实现
- 表达实体与实体之间的关系:思维导图、实体关系图
第十二章 用户体验
- 软件的用户界面评价标准
- 尽快提供可感触的反馈
- 系统界面符合用户的现实惯例
- 用户有控制权
- 一致性和标准化
- 适合各种类型的用户
- 帮助用户识别、诊断并修复错误
- 有必要的提示和帮助文档
第十三章 软件测试
- 测试方法
- 单元测试
- 构建验证测试
- 验收测试
- “探索式”的测试
- 回归测试
- 场景/集成/系统测试
- 伙伴测试
- 效能测试
- 压力测试
- 内部/外部公开测试
- 易用性测试
- “小强”大扫荡 - 如何测试效能
- 效能测试
- 负载测试
- 压力测试
第十四章 质量保障
- 软件工程的质量体现在以下方面
- 软件开发过程的可见性
- 软件开发过程的风险控制
- 软件内部模块,项目中间阶段的交付质量,项目管理工具的因素
- 软件开发成本的控制
- 内部质量指标的完成情况
第十五章 稳定和发布阶段
- 项目回顾模版
- 设想和目标
- 用户量、用户对重要功能的接受程度和我们事先的预想一致吗?我们离目标更近了吗?
- 有什么经验教训?如果历史重来一遍,我们会做什么改进?
- 计划
- 资源
- 变更管理
- 设计/实现
- 测试/发布
- 总结
第十六章 IT行业的创新
- 影响产品竞争力的主要因素
- 产品行业的因素
- 公司和市场因素
- 团队执行因素
- 产品的价值因素
第十七章 人,绩效和职业道德
- 五个奠定团队基础的问题
- 目的
- 原则
- 优先级
- 计划
- 人员