首页 > 代码库 > 《构建之法》

《构建之法》

 

1)软件构建:除了代码和静态数据,还有各种文件和数据来描述各个程序文件之间的依赖关系等;

2)源代码管理/配置管理:保证代码的平台兼容性、配置兼容性等;

3)质量保障(软件测试):保证软件的质量在修改过程中可以不断提高,或者至少可以保持;

4)项目管理:软件维护和服务运营

5)生命周期:以上称为软件的生命周期SLC

 

软件工程按照经典的瀑布模型 :

      1. 需求分析 2. 设计阶段 3. 实现阶段 4. 稳定阶段 5. 发布阶段 6. 维护阶段。

      事实上在现实世界中,软件工程师的职业发展与瀑布流程刚好相反。

 

初级的软件工程师所需的基本条件:

     1.要积累软件开发的相关知识,提高技术技能;

     2.要积累问题领悟的知识和经验;

     3.要对通用的软件设计思想和软件工程思想的理解;

     4.提高职业技能

     5.实际成果。

 

代码风格规范:

  1. 缩进:4个空格;

  2. 关于断行与空白的{}行

  3. 下划线:用来分割变量名字中的作用域标注和变量的语义

  4. 大小写:通用的做法是,所有的类/函数名都采用所有单词首字母大写(Pascal)的形式;所有的变量首字母小写,随后的单词首字母大写(Camel);

  5. 注释:注释只用ASCII码字符,不要用中文或者其他特殊字符,否则会影响可移植性

 

RUP四个阶段:

初始阶段——此阶段的目标是分析软件系统大概的构成,系统与外部系统的边界在哪里(我们的系统究竟和什么别的外部实体打交道),大致的成本和预算是多少,系统的风险主要来自哪里。成功度过初始阶段的项目会达到生命周期目标(LifecycleObjective)里程碑

细化阶段——它的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,按优先级处理项目中的风险。团队要确定项目的具体范围、主要功能、性能、安全性、可扩展性等非功能需求。同时为项目建立支持环境,包括创建开发案例、创建模板并准备工具。细化阶段结束时,项目到达了第二个重要的里程碑:生命周期结构(Lifecycle Archi-tecture)里程碑

构造阶段——在这一阶段,团队开发出所有的功能集,并有秩序地把功能集成为经过各种测试验证过的产品。构造阶段结束时是第三个重要的里程碑:初始功能(Initial Operational)里程碑。此时的产品版本也常被称为“beta”版

交付阶段——这时候,团队工作的重点是确保软件能满足最终用户的实际需求。交付阶段可以有迭代(beta1,beta2等),基于用户的反馈,团队利用这些迭代对系统进行修改、调整。除了对功能的调整,团队还要注意处理用户设置、安装和可用性等问题。在交付阶段的终点是第四个里程碑:产品发布(Product Release)里程碑

 

软件的需求主要可以通过以下步骤来获取:

     (1)获取和引导需求;

     (2)分析和定义需求;

     (3)验证需求;

     (4)在软件产品的生命周期中管理需求。

 

对软件的需求,可以从不同角度来划分:

     (1)对产品功能性的需求;

     (2)对产品开发过程的需求;

     (3)非功能性需求;

      (4)综合需求。

 

PM:

  1. product manager:产品经理。正确地做产品

  2. project manager:项目经理。正确地做流程;保证一个项目顺利按照计划结项。

  3. program manager:微软独有的PM,与项目经理类似但又有不同

 

PM必备素质:

  1. 观察、快速理解和学习能力 
  2. 分析管理能力 
  3. 一定的专业能力

 

基本名词:

  1. test suite:测试用例集,就是一组相关的测试用例
  2. bug:
    1. 症状(symptom):从用户角度看,程序出现了什么问题
    2. 程序错误(fault):从代码角度看,设么错误导致的上述问题
    3. 根本原因(root cause)
  3. 测试方法分类
    1. 黑箱:也就是注重软件的行为而不是内部结构
    2. 白箱:根据内部结构和知识来选择测试数据及具体的测试方法
  4. 测试目的分类
    1. 功能测试
    2. 非功能测试

 

《构建之法》