软件的定义
重新定义软件
新一代信息技术
区块链
创造性思维
软件的特点
软件的种类
支撑软件:VC++,PyCharm等
应用软件:QQ,微信
软件工程的起源
软件开发的三个阶段
软件工程概念的提出
软件工程的定义
软件工程将系统化,可量化,规范化的方法应用在软件工程中,同时需要建立和使用合理的工程原则,以在成本,范围,进度范围内获取高质量的软件;同时软件工程从学科的角度是一门交叉性的学科,需要使用多种学科的方法和技术指导和支持
软件开发的含义
软件开发的本质
实现问题域到不同抽象层次概念和计算逻辑的更好地映射:
系统建模:映射
设计模式MVC等:更好的软件设计,以提高软件设计的质量和效率
应用框架:更好地实现软件系统,以提高软件的质量
软件开发:从问题域中的概念和处理逻辑到运行平台的概念和处理逻辑的有效的映射
这一映射过程,通过分层分而治之,降低映射的复杂性
映射:
问题域==》需求领域==》设计层次==》实现层==》部署层
问题空间与解空间的映射案例
抽象:数据相似的部分
实现映射的基本手段-建模
模型:任何抽象的模型都包括基本的能力,属性和侧面的描,这些描述去除了大量的不必要的细节,是对事物本质的概括
软件系统或项的模型分类
一系列软件项或软件模型
在映射过程中需要借助验证和确认技术和手段,来确认这一映射是否得到了问题域中所想要表达的效果
分层:控制开发的复杂性,在每一个分层上由一组确定的术语来定义
软件工程框架
软件工程的三要素:目标,原则,活动
软件工程的目标
可用性:开发文档及其可读性也很重要
软件工程的活动
需求获取:与用户或领域专家交互去获取需求
软件工程的原则
需求在不断地变化