软件工程-第一章(概论)
一、计算机软件
1.1 什么是软件#
- 软件是计算机程序以及运行计算机系统可能需要的相关文档和数据。
软件 = 程序 + 数据 + 文档
1.2 软件的本质#
- 软件是客观世界中问题域与求解域的具体描述,它实质上是客观事物的一种反映,是知识的“提炼”和“固化”。
软件 = 知识 + 程序 + 数据 + 文档
1.3 软件的特点#
- 软件是一种逻辑实体。
- 软件的使用没有硬件那样的机械磨损和老化问题。
- 软件的开发和运行受到计算机硬件的限制,对计算机硬件有着不同程度的依赖性。
- 软件的开发至今尚未完全实现自动化。
1.4 软件的分类#
系统软件:编译程序和操作系统等。
支持软件:中间件
应用软件
1.4.1按工作方式划分#
实时处理软件
分时软件
交互式软件
批处理软件
1.4.2 按软件服务对象的范围划分#
项目软件
产品软件
1.4.3按使用的频度划分#
一次使用
频繁使用
1.4.4 按软件失效的影响进行划分#
高可靠性软件
一般可靠性软件
1.5 软件语言#
需求定义语言
功能性语言
设计性语言
程序设计语言
文档语言
二、软件工程:软件生命周期的六个阶段
软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护。
三、软件过程:CMM(能力成熟度模型)
四、软件过程模型:瀑布模型、演化模型、喷泉模型
软件过程模型也称软件开发模型或软件生存周期模型。
4.1 瀑布模型#
4.2 演化模型#
* 增量模型
增量模型融合了瀑布模型的基本成分(重复地应用)和演化模型的迭代特征。
增量模型强调每一个增量都发布一个可运行的产品。
* 原型模型
原型的类型:探索型、实验型、演化型。
原型的使用策略:废弃策略、追加策略。
* 螺旋模型
4.3 喷泉模型#
喷泉模型是一种支持面向对象开发的模型。
体现迭代和无间隙特征。
4.4 基于构件的开发模型#
利用预先包装好的软件构件(包括组织内部开发的构件和现存商品化构件COTS)来构造应用系统。
领域工程的目的是构建领域模型、领域基准体系结构和可复用构件库。
应用系统工程的目的是使用可复用构件组装应用系统。
4.5 形式方法模型#
形式化方法是建立在严格数学基础上的一种软件开发方法。
形式化方法模型是采用形式化的数学方法将系统描述转换成可执行程序。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了