本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。
软件工程与计算II-05-需求基础
本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。
软件需求是一个连接现实世界与计算机世界的活动:它既需要从问题出发,分析问题域,研究解决问题所需要的互动效应。
一个产品的开发过程
- 客户想要什么
- 产品经理理解
- 设计师分析
- 程序员进行编写
- 交给测试人员测试
- 商业人员描述这个产品
- 项目的文档
- 如何进行部署
- 价格像过山车一样变化
- 如何进行支持运维
- 进行广告宣传
- 最后使用用户需要什么
需求工程的内容
软件工程与计算II-04-项目启动
本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。
项目和项目管理
项目的核心是计划:计划包括项目需要的资源、活动,以及在项目中需要产生的中间交付产品。
项目
- 项目是具有下列特征的一系列活动和任务[Kerzner2009]
- 具有一个明确的目标;
- 有限定的开始和结束日期;
- 有成本限制;
- 消耗人力和非人力资源;
- 多工种合作。
- 项目管理的目标
- 在限定时间内;
- 在一定的成本内;
- 在要求的质量水平上;
- 高效使用资源;
- 获得客户认可。
- 过程组:项目启动、项目计划、项目执行,项目跟踪与控制和项目收尾
- 活动:计划制定、团队管理、成本控制、质量保障、度量、过程管理、进度跟踪与控制、风险管理、配置管理
软件工程与计算II-03-实例项目描述
软件工程与计算II-21-软件的维护与演化
本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。
维护
- 软件维护的主要工作是“修改”
- 软件维护代价高昂
- 软件维护的过程
软件维护的主要工作是“修改”
维护是什么
软件工程与计算II-02-软件工程的发展
本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。
软件工程的三个环境因素
- 基础:抽象软件实体和虚拟计算机
- 目标:现实的问题
- 三个环境因素:
- 目标
- 正确性基础
- 实现基础
Problems of Reality
软件工程与计算II-01-软件工程基础
C++ 高级程序设计-02-函数
函数
- 一个函数就是一个功能
- 函数包括
- 系统函数(库函数)
- 用户自己定义的函数
- 无参函数
- 有参函数
函数的原则
- 函数不可以被嵌套定义:函数内部不可以再次定义新的函数
- 函数可以通过原型完成有默认参数的函数
- 函数是先定义后使用,具体是指上下文环境
Runtime Environment
在我们 C++中是使用Stack
函数模板
C++11 新特性
- R-value Reference and Move Constructor
- Extern Templates
- Constant Expressions
- Lambda Function
- Delegating Constructor
- Uniform Initialization
- nullptr
R-value Reference - 1
- L-values: 具有可通过编程方式访问正在运行的程序的存储地址。
- a = 1 + 2
1 |
|
-
在 C++中,非 const 引用可以绑定到左值,而 const 引用可以绑定到左值和右值,但是没有什么可以绑定到非 const r 值。
左值 右值 非 const 引用 可绑定 不可绑定 const 引用 可绑定 可绑定 右值引用 不可绑定 可绑定 -
右值不可以绑定非常量引用,避免临时变量的修改造成的问题
C++ 高级程序设计-01-基本语法
条件运算符
1 |
|
- C++ 中唯一的三目运算符
- 只计算一个运算分量
- 如果
<exp2>, <exp3>
的值类型相同并且均为左值表达式,则该条件运算符表达式为左值表达式 - 注意运算优先级:就近原则