【软件工程】第一章概论

文章介绍了软件的定义、特点,包括其开发成本的不确定性及无物理磨损的特性。软件分类包括系统软件和应用软件,以及不同类型的编程语言。软件工程涉及应用科学和工程管理原则来设计满足用户需求的软件。文中提到了几种软件开发模型,如瀑布模型强调线性顺序但缺乏灵活性,而演化模型适合需求不明确的情况。增量模型和原型模型分别适用于特定场景,螺旋模型结合了风险分析。最后,文章提及了基于构件的开发模型和领域工程的概念。
摘要由CSDN通过智能技术生成

概论

计算机软件

软件的定义: 软件=程序+数据+文档

软件的特点:

  • 软件的开发成本和进度难以估算
  • 软件是被开发的,不是制造
  • 软件没有硬件的老化和磨损问题

软件的分类:

  1. 系统软件;eg.操作系统
  2. 支撑软件; eg.数据库管理软件
  3. 应用软件;eg,人力管理系统

软件的语言:

  • 需求定义语言
  • 功能性语言
  • 设计性语言
  • 程序设计语言
  • 文档语言

软件工程

定义:应用计算机科学技术和工程管理原则,设计出满足用户需要的软件工程

软则:

  • 选取适宜的开发风范
  • 采用合适的设计方法
  • 提供高质量的工程支持
  • 有效的软件工程管理

生存周期:
计算机系统工程、需求分析、设计、编码、测试、运行、维护

软件过程

软件过程是生产一个最终满足需求且达到工程目标的软件产品所需的步骤
过程是活动的集合,活动是任务的集合

能力成熟度模型:

CMM(capability maturity nodel)

软件过程成熟度等级

  1. 初始级
  2. 可重复级
  3. 已定义级
  4. 优化级

软件过程模型

瀑布模型

在这里插入图片描述

特征

  • 接受上一阶段的结果作为本阶段的输入。
  • 利用这一输入实施本阶段应完成的活动。
  • 对本阶段的工作进行评审。
  • 将本阶段的结果作为输出,传递给下一阶段

缺点

  • 缺乏灵活性,难以适应需求不明确或需求经常变化的软件开发。
  • 开发早期存在的问题往往要到交付使用时才发现,维护代价大

演化模型

适用于对于软件需求缺乏准确认识的情况

增量模型

在这里插入图片描述

每个线性序列产生软件的一个可发布的增量版本,后一个版本是对前一版本的修改和补充

增量模型融合了瀑布模型的基本成分和演化模型的迭代特征。

增量模型特别适用于:

需求经常变化的软件开发。
市场急需而开发人员和资金不能在设定的市场期限之前实现一个完善的产品的软件开发。
增量模型能有计划地管理技术风险,如早期增量版本中避免采用尚未成熟的技术。

原型模型

在这里插入图片描述

螺旋模型

是瀑布模型和演化模型的结合,并增加了风险分析

喷泉模型

支持面向对象

基于构件的开发模型

分为领域工程和应用系统工程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值