软件工程期末复习
1. 概述
什么是软件?
软件是与计算机系统操作有关的程序、规程、规则及与之有关的文档及数据。
简化表示: 软件=程序+数据+文档
- 程序:按事先设计的功能和性能要求执行的指令序列
- 数据:为使程序能够适当地处理的信息及信息结构;
- 文档:与程序开发、维护和使用有关的图文材料
为什么学习软件工程?
:就是用工程化方法去规范软件开发,让项目可以按时完成、成本可控、质量有保证。
软件危机:产生、表现
1.什么是软件危机?软件危机包含哪几方面的问题?
指,计算机在开发和维护方面遇到的一系列严峻问题。
- 对软件开发成本和进度的估计常常很不准确
- 用户对已完成的软件系统不满意
- 软件产品质量靠不住
- 软件常常不可维护的
- 软件通常没有合适的文档资料
- 软件成本在计算机系统总成本中比例不断上升
- 软件开发速度跟不上计算机应用速度
软件工程三要素
过程、方法、工具
什么是软件工程
指导计算机软件开发和维护的一门工程学科
软件工程基本原理(7
- 用分阶段的生命周期计划严格管理
- 坚持进行阶段评审
- 实行严格的产品控制——基准(基线)配置管理(Baseline configuration management)
- 开发小组的成员应该少而精
- 采用现代程序设计技术
- 结果应能清楚地审查
- 承认不断改进软件工程实践的必要性
软件工程方法学(传统、面向对象
软件生命周期
软件维护阶段花费最多
过程模型
规定了为软件生存周期的各项活动规定的顺序
瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。
快速原型模型 特点:及早提供工作软件,根据用户意见改进
螺旋模型:每个阶段有风险分析
软件开发主要任务
需求分析阶段:在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,也是在整个软件开发过程中不断变化和深入的阶段,能够为整个软件开发项目的成功打下良好的基础。
软件设计阶段(概要设计和详细设计):主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件编码阶段:是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。
软件测试阶段:在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。
软件运行和维护阶段:是软件生命周期中持续时间最长的阶段,包括纠错性维护和改进性维护两个方面。