EagleBear2002 的博客

这里必须根绝一切犹豫,这里任何怯懦都无济于事

本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。

软件需求是一个连接现实世界与计算机世界的活动:它既需要从问题出发,分析问题域,研究解决问题所需要的互动效应。

一个产品的开发过程

  1. 客户想要什么
  2. 产品经理理解
  3. 设计师分析
  4. 程序员进行编写
  5. 交给测试人员测试
  6. 商业人员描述这个产品
  7. 项目的文档
  8. 如何进行部署
  9. 价格像过山车一样变化
  10. 如何进行支持运维
  11. 进行广告宣传
  12. 最后使用用户需要什么

需求工程的内容

阅读全文 »

本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。

项目和项目管理

项目的核心是计划:计划包括项目需要的资源、活动,以及在项目中需要产生的中间交付产品。

项目

  1. 项目是具有下列特征的一系列活动和任务[Kerzner2009]
    • 具有一个明确的目标;
    • 有限定的开始和结束日期;
    • 有成本限制;
    • 消耗人力和非人力资源;
    • 多工种合作。
  2. 项目管理的目标
    • 在限定时间内;
    • 在一定的成本内;
    • 在要求的质量水平上;
    • 高效使用资源;
    • 获得客户认可。
  3. 过程组:项目启动、项目计划、项目执行,项目跟踪与控制和项目收尾
  4. 活动:计划制定、团队管理、成本控制、质量保障、度量、过程管理、进度跟踪与控制、风险管理、配置管理
阅读全文 »

本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。

维护

  1. 软件维护的主要工作是“修改”
  2. 软件维护代价高昂
  3. 软件维护的过程

软件维护的主要工作是“修改”

维护是什么

阅读全文 »

本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。

软件工程的三个环境因素

  1. 基础:抽象软件实体和虚拟计算机
  2. 目标:现实的问题
  3. 三个环境因素:
    1. 目标
    2. 正确性基础
    3. 实现基础

Problems of Reality

阅读全文 »

函数

  1. 一个函数就是一个功能
  2. 函数包括
    1. 系统函数(库函数)
    2. 用户自己定义的函数
      1. 无参函数
      2. 有参函数

函数的原则

  1. 函数不可以被嵌套定义:函数内部不可以再次定义新的函数
  2. 函数可以通过原型完成有默认参数的函数
  3. 函数是先定义后使用,具体是指上下文环境
  4. Runtime Environment 在我们 C++中是使用 Stack

函数模板

阅读全文 »

  1. R-value Reference and Move Constructor
  2. Extern Templates
  3. Constant Expressions
  4. Lambda Function
  5. Delegating Constructor
  6. Uniform Initialization
  7. nullptr

R-value Reference - 1

  1. L-values: 具有可通过编程方式访问正在运行的程序的存储地址。
  2. a = 1 + 2
1
2
3
4
class A{};
int main() {
A a = A();//r-value
}
  1. 在 C++中,非 const 引用可以绑定到左值,而 const 引用可以绑定到左值和右值,但是没有什么可以绑定到非 const r 值。

    左值 右值
    非 const 引用 可绑定 不可绑定
    const 引用 可绑定 可绑定
    右值引用 不可绑定 可绑定
  2. 右值不可以绑定非常量引用,避免临时变量的修改造成的问题

阅读全文 »

条件运算符

1
<exp1> ? <exp2> : <exp3>
  1. C++ 中唯一的三目运算符
  2. 只计算一个运算分量
  3. 如果 <exp2>, <exp3> 的值类型相同并且均为左值表达式,则该条件运算符表达式为左值表达式
  4. 注意运算优先级:就近原则

switch 的编译优化

case 标签

阅读全文 »