bug终结者 团队作业第一周

小组组员及人员分工

小组成员

  • 组长:
  • 20162323 周楠
  • 组员:
  • 20162302 杨京典
  • 20162322 朱娅霖
  • 20162327 王旌含
  • 20162328 蔡文琛
  • 20162329 张旭升

人员初步分工(今后可能会根据具体工作进行调整)

Program Manager

周楠

是团队的行政领导,带领大家在项目中工作,学习

负责开发/测试之外的一些事务和项目进度的管理

利用人脉,对小组成果进行后期宣传,推广

小组博客的撰写者

Project Manager

朱娅霖

负责绝对客观公正地对各组员的工作进行考核

负责开发/测试之外的一些事务和项目进度的管理

小组博客的主要撰写者

张旭升

负责具体代码实现

推动全组同学学习,教会大家写代码

杨京典

负责具体代码实现

推动全组同学学习,教会大家写代码

王旌含

前期负责提供思路及大致方向

中期协助写代码

在后期进行测试,寻找bug,提出不足及改进方案

蔡文琛

前期负责提供思路及大致方向

中期协助写代码

在后期进行测试,寻找bug,提出不足及改进方案

《构建之法》阅读

1. 概论

  • 1.1 软件 = 程序 + 软件工程

    • 一个复杂的软件不但要有合理的软件架构、软件设计与实现,还要有各种文件和数据来你、描述各个程序文件之间的依赖关系、编译参数、链接参数等等。这些都是软件构建的过程。
    • 源代码管理,配置管理,质量保障,软件测试,需求分析,软件维护,用户体验
  • 1.2 软件工程是什么
    • 软件的特殊性。复杂性,不可见性,易变性,服从性,非连续性
    • 软件工程与计算机科学联系紧密,但软件工程更注重实践、应用,计算机科学更注重理论研究。
    • 软件工程的目标——用户满意的,可靠的,流程质量高的,可维护的

2. 个人技术和流程

  • 2.1 单元测试

    • VSTS
    • 单元测试应该在最基本的功能、参数上验证程序的正确性
    • 单元测试必须由最熟悉代码的人来写
    • 单元测试应该覆盖所有代码路径 那么我们该如何确认单元测试是否覆盖所有路径了呢?
    • 回归测试
  • 2.2 效能分析工具
    • 抽样
    • 代码注入
  • 2.3 个人开发流程
    • PSP(Personal Software Process)
    • 多花时间在需求分析和测试上面
  • 2.4 实践
    • 单一职责原则
    • WC项目

3. 软件工程师的成长

  • 3.1 个人能力的衡量与发展
  • 3.2 软件工程师的思维误区
    • 分析麻痹
    • 不分主次,想解决所有依赖问题
    • 过早优化
    • 过早扩大化、泛化
    • 画扇面
  • 3.3 软件工程师的职业发展
  • 3.4 技能的反面

4. 两人合作

  • 4.1 代码规范
  • 4.2 代码风格规范
    • 缩进、行宽、括号、{ }、分行、命名、下划线、大小写、注释
  • 4.3 代码实际规范
    • 函数
    • goto 什么是goto?
    • 错误处理:参数处理,断言
  • 4.4 代码复审
    • 自我复审
    • 同伴复审
    • 团队复审
  • 4.5 结对编程
    • 极限编程
  • 4.6 两人合作的不同阶段和技巧
    • 正确给予反馈

5 团队和流程

  • 5.1 非团队和团队
  • 5.2 软件团队的模式
  • 5.3 开发流程

6 敏捷流程

  • 6.1 敏捷的流程简介
  • 6.2 敏捷流程的问题和解法
  • 6.3 敏捷的团队
  • 6.4 敏捷总结
  • 6.5 敏捷的问答

7. 实战中的软件工程

  • 7.1 MSF简史
  • 7.2 MSF基本原则
  • 7.3 MSF团队模型
  • 7.4 MSF过程模型
  • 7.5 实战中的软件工程

8. 需求分析

  • 8.1 软件需求
  • 8.2 软件产品的利益相关者
  • 8.3 获取用户需求——用户调研
  • 8.4 竞争性需求分析
  • 8.5 功能的定位和优先级
  • 8.6 计划和估计
  • 8.7 分而治之

9. 项目经理

  • 9.1 PM是啥
  • 9.2 微软PM的来历
  • 9.3 PM做开发和测试之外的所有事情
  • 9.4 领导力——高效的团队讨论
  • 9.5 PM和风险管理

10. 典型用户和场景

  • 10.1 典型用户和典型场景
  • 10.2 用例
  • 10.3 规格说明书
  • 10.4 功能驱动的设计

11. 软件设计与实现

  • 11.1 分析和设计方法
  • 11.2 图形建模和分析方法
  • 11.3 其它设计方法
  • 11.4 从Spec到实现
  • 11.5 开发中的源代码管理
  • 11.6 实战中的源代码管理
  • 11.7 代码完成

12. 用户体验

  • 12.1 用户体验的要素
  • 12.2 用户体验设计的步骤和目标
  • 12.3 评价标准
  • 12.4 贯穿多种设备的用户体验

13. 软件测试

  • 13.1 基本名词解释及分类
  • 13.2 各种测试方法
  • 13.3 实战中的测试
  • 13.4 运用测试工具

14. 质量保障

  • 14.1 软件的质量
  • 14.2 软件的质量保障工作

15. 稳定的发布阶段

  • 15.1 从代码完成到发布
  • 15.2 不同频率和不同覆盖范围的渐近分布
  • 15.3 发布之后——事后诸葛亮会议

16. IT行业的创新

  • 16.1 创新的迷思
  • 16.2 创新的时机
  • 16.3 创新的招数
  • 16.4 魔方的创新
  • 16.5 创新和作坊

17. 人,绩效和职业道德

  • 17.1 领导力
  • 17.2 领导力——知人善任
  • 17.3 领导力——带领团队成长
  • 17.4 猪、鸡和鹦鹉的故事
  • 17.5 其实还是人的问题
  • 17.6 绩效管理
  • 17.7 萝卜与白菜
  • 17.8 软件工程师的职业道德

提出问题

  • 问题1: 成为一个好的程序员需具备哪些条件与素养?

  • 问题2:没有多少项目经验,基础又不是很好的话,该怎样提高自己的能力,该如何调整自己呢?

  • 问题3:在结对编程中,如何才能更好地分配两个人的工作?如果由于某些原因,你的同伴未能完成相应的任务,可是这个任务必须马上要提交,这时候该怎么做?

  • 问题4:做软件测试必须有哪些的知识储备?

  • 问题5:100%的代码覆盖率并不等同100%的正确性,那么要怎么样才能保证100%的正确性?

  • 问题6:软件质量的保证涉及太多方面,哪一方面是最重要的?哪一方面是最容易出纰漏的?

王旌含:对于我们团队的模式来说,我认为我们现在处于业余团队模式,或者更像是明星模式,而最优的模式当然是功能团队模式,这个模式将沟通、协作的作用发挥到了极致。在我们团队的萌芽期,我们应该如何摆脱懒散、打酱油的情况?如何能向功能团队的模式进发。是团队当前所面对的最大的难题。

秘密团队模式和一窝蜂团队模式都具有很大的自由度,为什么秘密团队模式却有效的多?

书中提到了过早优化的问题,那么如果编写的程序过大,等到编写完的时候再优化是不是会很繁琐?

如何能有效的确定优化和泛化的时机,是软件的优化达到最佳效果?

蔡文琛:JAVA开发流程设计和前期框架构建的重要性。程序开发团队应该如何组织?在使用程序时,用户是否需要详细的使用方法,为什么?对于用户的短期刺激和长期影响,哪个更有参考性?程序开发是否需要设计者的感情设计?

bug终结者 团队作业第一周的更多相关文章

  1. bug终结者 团队作业第二周

    bug终结者 团队作业第二周 我们小组选取游戏"开心消消乐",回答问题: 1. 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的? 他们的目标都是盈利 ...

  2. bug终结者 团队作业第四、五周

    bug终结者 团队作业第四.五周 博客编辑者:20162322朱娅霖 本周学习任务: 团队协作完成<需求规格说明书> 工作流程 第四周 团队成员各自完成蓝墨云班课中<需求规格说明书& ...

  3. bug终结者 团队作业第六、七周

    bug终结者 团队作业第六.七周 作业要求:团队作业第六.七周 博客编辑:20162322 朱娅霖 一.修改<需求规格说明书> <需求规格说明书>2.0版(即初稿) <需 ...

  4. bug终结者 团队作业第三周

    bug终结者 团队作业第三周 团队展示 队名 bug终结者 队员风采: 杨京典 20162302 风格:先构建框架,在一 一实现,在实现的过程中不断测试和修改. 擅长的技术:拆分问题,使用相对简单的思 ...

  5. bug终结者 团队作业第八周

    bug终结者 团队作业第八周 本次任务 素材提供及编辑:20162328 蔡文琛 博客修改完善:20162322 朱娅霖 "bug终结者" 宏伟蓝图 UML 手绘底稿 用例图 选项 ...

  6. 《团队作业第一周》五小福团队作业——UNO

    <团队作业第一周>团队作业--UNO 一.团队展示 队员学号 队名:五小福 (真是个红红火火恍恍惚惚的队名)> 拟作的团队项目描述 基于安卓开发的有趣味性的UNO纸牌小游戏 队员风采 ...

  7. 团队作业-第一周-NABCD竞争性需求分析

      1.  Need 需求 随着科技信息的发展,传统的课堂点名亟待步入信息处理的轨道,移动校园课堂点名软件恰好的切入了这个需求点,市场中词类软件也为数不多,因此需求也是比较强烈. 2. Approac ...

  8. 《团队作业第二周》五小福团队作业——UNO

    <团队作业第二周>五小福团队作业--UNO 一.修改完善上周提交的需求规格说明书 THE FIRST改变 首先:我们组的博客无小组分工及占比,这是第一个问题,当时我们在写博客的时候由于很多 ...

  9. C语言I—2019秋作业第一周作业

    1.你对软件工程专业或者计算机科学与技术专业了解是怎样? 软件工程专业是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设 ...

随机推荐

  1. 复制粘贴之不带插件的jquery

    一.实现点击按钮,复制文本框中的的内容 <script type="text/javascript"> function copyUrl2() { var Url2=d ...

  2. css设置居中的方案总结

    回想一下,自己平时项目里遇到的比较多的就是css如何让元素居中显示,其实差不多每种情况都遇到过,所采用的方法也都各有利弊,下面对这些方法来做个概括,对其中的坑点,也会一一指出来,希望能给遇到问题的同学 ...

  3. 配置maven环境出现ARP tomcat native library 版本安装跟需求版本不一致时的解决方法An incompatible version xxxx of the APR based Apache Tomcat Native library is installed, while Tomcat requires version xxxx

    此地址下载你所需要的library版本http://archive.apache.org/dist/tomcat/tomcat-connectors/native/ 点击binaries 点win32 ...

  4. thinkphp在mac下报错

    简要:众所周知,开发软件最好的环境是在MAC下;为此在黑苹果上,用Thinkphp开发;在过程中出现,找不到model以及数据库类型错误;为此向大家分享解决办法,希望能够帮助困惑的伙伴们,如果有不对或 ...

  5. Python机器学习中文版

    Python机器学习简介 第一章 让计算机从数据中学习 将数据转化为知识 三类机器学习算法 第二章 训练机器学习分类算法 透过人工神经元一窥早期机器学习历史 使用Python实现感知机算法 基于Iri ...

  6. Luogu Dynamic Ranking (带修改的主席树)

    题目大意: 网址:https://www.luogu.org/problemnew/show/2617 给定一个序列a[1].a[2].....a[N],完成M个操作,操作有两种: [1]Q i j ...

  7. emacs配置

    原配置 (global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd "C ...

  8. linux里所有命令都不存在

    打开/etc/profile ,看这个配置文件里的PATH变量,遍历这个变量里配置的多个路径,查看命令是否存在. 主要是这四个:/bin ,/usr/bin,/sbin,/usr/sbin. PATH ...

  9. Java 对IP请求进行限流.

    高并发系统下, 有三把利器 缓存 降级 限流. 缓存: 将常用数据缓存起来, 减少数据库或者磁盘IO 降级: 保护核心系统, 降低非核心业务请求响应 限流: 在某一个时间窗口内对请求进行限速, 保护系 ...

  10. 文件导出也可以这么写【js+blob】

    文件导出在软件开发中是个比较常用的功能,基本原理也很简单: 浏览器向后台发送一个Get请求 后台处理程序接收到请求后,经过处理,返回二进制文件流 浏览器接收到二进制文件流后提示下载文件 调用的js方法 ...