软件工程-概论

软件

什么是软件?

软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整的集合。

  • 程序是按事先设计的功能和性能要求执行的指令序列
  • 数据是使程序能正常操纵信息的数据结构
  • 文档是与程序开发,维护和使用有关的图文材料

软件的特点

  • 软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
  • 软件的开发至今尚未完全摆脱手工艺的开发方式。
  • 软件本身是复杂的
    实际问题的复杂性
    程序逻辑的复杂性
  • 软件成本相当昂贵
  • 相当多的软件工作涉及到社会因素

软件分类

  • 功能:系统软件,支撑软件,应用软件
  • 规模:微型,小型,中型,大型,甚大型,极大型。
  • 工作方式:实时处理软件,分时软件,交互式软件,批处理软件
  • 服务对象:项目软件,产品软件
  • 使用频度:一次使用,频繁使用
  • 失效的影响:高可靠性软件,一般可靠性软件

软件发展阶段

  • 程序设计阶段(硬件限制)——50至60年代
  • 程序系统阶段——60至70年代
  • 软件工程阶段——70年代以后

软件工程

软件工程的定义

运用现代科学技术知识来设计并构造计算机程序及开发、运行和维护这些程序所必需的相关文件资料。
这里写图片描述

软件工程三要素

  1. 软件工程方法为软件开发提供了“如何做”的技术
  2. 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境
  3. 软件工程过程定义了:
    方法使用的顺序
    要求交付的文档资料
    为保证质量和适应变化所需要的管理
    软件开发各个阶段完成的里程碑

软件工程的项目的基本目标

  • 付出较低的开发成本
  • 达到要求的软件功能
  • 取得较好的软件性能
  • 开发的软件易于移植
  • 需要较低的维护费用
  • 能按时完成开发工作,及时交付使用

软件危机

定义

软件危机指的是软件开发和维护过程中遇到的一系列严重的问题

产生原因

  1. 软件本身:逻辑部件,难检验,难评价
  2. 开发管理人员:轻视维护
  3. 管理技术:没有统一的软件质量管理规范

表现

  1. 产品不符合用户的实际需要
  2. 软件开发速度不满足需要
  3. 软件产品的质量差
  4. 对软件开发成本和进度的估计常常不准确
  5. 软件的可维护性差
  6. 软件文档资料通常既不完整也不合格
  7. 软件的价格昂贵

解决方法(软件工程的7条原理)

  1. 用分阶段的生存周期计划严格管理
  2. 坚持进行阶段评审
  3. 实行严格的产品控制
  4. 采用现代程序设计技术
  5. 结果应能清楚的审查
  6. 合理安排软件开发小组的人
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值