软件工程概述

1、概述

  • 软件的开发与管理过程是一个优化问题
  • 软件工程追求软件开发的精益化,本质是规避浪费,确保在合适的时间去做合适的事情,达到效率的最大化,这是精益思想在软件工程中的体现。

2、软件危机

软件危机是指在软件开发及维护的过程中遇到一系列严重问题,这些问题可能导致软件产品的寿命缩短,甚至夭折

具体表现: 超预算、超预期、质量差、用户不满意、开发过程无法有效介入和管理、代码难以维护。

3、软件工程定义

IEEE对软件工程的定义是:系统化规范化可量化的工程原则和方法应用于软件开发、运行和维护及对其中方法的理论研究,其主要目标是高效开发高质量的软件,降低开发成本

4、软件工程知识体系

4.1 开发过程
  • 软件需求: 对业务领域中需要的特征的理解,包括软件需求基础、需求过程、需求获取、需求分析、需求规格说明、需求确认和实践考虑。
  • 软件设计: 定义系统或组件的体系结构、组成、接口和其他特征的过程,包括软件设计基础、软件设计关键问题、软件结构与体系结构、设计质量的分析与评价、软件设计表示、软件设计的策略与方法。
  • 软件构造: 是通过编码、验证、测试和排错的组合,具体创建一个可以工作的、有意义的软件的过程,包括软件构造基础、管理构造和实践考虑。
  • 软件测试: 是在有限测试用例集合上,根据期望的行为对程序的行为进行动态验证的过程,包括软件测试基础、测试级别、测试技术、测试需求、与测试相关的度量、测试过程等。
  • 软件维护: 包括软件维护基础、软件维护的关键问题、维护过程、维护技术。软件一旦投入运行,就可能出现异常,运行环境可能发生改变,用户会提出新的需求,软件生命周期的软件维护阶段从软件交付时开始,但是实际的维护活动出现得比其还要早。
4.2 支持过程
  • 软件配置管理: 是为了系统地控制配置的变更和维护在整个系统生命周期中的完整性和可追踪性,而标志软件在时间上不同点的配置的技术,包括软件配置过程管理、软件配置标志、软件配置控制、软件配置状态统计、软件配置审核、软件发行管理和交付。
  • 软件工程管理: 包括启动和范围定义、软件项目计划、软件项目实施、评审与评价、软件工程度量。
  • 软件工程过程: 涉及软件工程过程本身的定义、实现、评估、度量、管理、变更和改进。包括过程实施与改变、过程定义、过程评估、过程和产品度量。
  • 软件工程工具与方法: 包括软件工程工具、软件工程方法。
  • 软件度量: 包括软件质量基础、软件质量过程和实践考虑,是在处理跨越软件生命周期过程时的软件质量的考虑。软件质量在软件工程中无处不在,其他知识域中也涉及质量问题。
4.3 总结

作为开发与维护的指导,软件工程的基本原理包括:用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应能清楚的审查;开发小组的人员应该少而精;承认不断改进软件工程实践的必要性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值