第一周:通过一周的快速浏览整本书,整理了一下几点

1.软件=程序+软件工程

2.程序=数据结构+算法

3.软件工程:是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。

4.软件工程包括:软件需求分析、软件设计、软件构建、软件测试和软件维护。

5.软件的特殊性:复杂性,不可见性(抽象),易变性,服从性,非连续性。

6.软件工程的目标:用户满意度,可靠性,软件流程的质量,可维护性。

7.代码风格规范:原则是:简明,易读,无二义性。

  错误处理:断言    参数处理

8.代码复审:自我复审,团队复审,同伴复审。

9.团队模式:一窝蜂模式   主治医师模式   明星模式  社区模式  业余剧团模式   秘密团队   特工团队   交响乐模式  爵士乐模式   功能团队模式   官僚模式

10.开发流程:写了再改模式    瀑布模式   :(生鱼片模式,大瀑布带着小瀑布)   统一流程    老板驱动模式   渐进交付的流程   

11.敏捷流程步骤:找出产品需要做的事情       决定当前的冲刺与要做的事情   冲刺    得到软件的一个增量版本,发布给用户

12.需求分析步骤:  获取和引导需求    分析和定义需求    验证需求   在软件产品的生命周期中管理需求 

13.用户调研方法:焦点小组    深入面谈   卡片分类   用户调查问卷    用户日志研究   人类学调查   眼动跟踪研究   快速原型研究    A/B测试   

14.项目经理:PM

15.PM的能力要求:   观察、理解和快速学习能力    分析管理能力   一定的专业能力    自省的能力    

16.功能驱动的设计步骤: 构建总体模型   构造功能列表     制定开发计划    功能设计阶段    实现具体功能   

17.用户体验要素:  用户的第一印象     从用户角度考虑问题    软件服务始终都要记住用户的选择     短期刺激和长期影响   不让用户饭简单的错误   情感设计    用户体验和质量   

18.软件测试的各种测试方法:单元测试   构建验证测试   验证测试    探索式的测试      回归测试     场景/集成/系统测试  伙伴测试    效能测试    压力测试    内部/外部公开测试   易用性测试   “小强”大扫荡