软件工程 ch1软件工程学概述

第一章 软件工程学概述

1.1.1 软件危机的典型表现
1)对软件开发成本和进度的估计常常很不准确;
2)用户对完成的软件系统不满意现象经常发生;
3)软件产品的质量往往靠不住;
4)软件常常是不可维护的;
5)软件通常没有适当的文档资料;
6)软件成本在计算机系统总成本中所占的比例逐年上升;
7)软件开发生产率提高的速度跟不上计算机应用的发展趋势。
1.1.2 产生软件危机的原因
1)软件本身特点造成;
2)软件开发与维护的方法不正确。
引入同一修改的代价随时间变化的趋势
1.1.3 软件危机的解决途径
方法、工具、管理

1.2.1 软件工程的本质特性
1)软件工程关注于大型程序的构造;
2)软件工程的中心课题是控制复杂性;
3)软件经常变化;
4)开发软件的效率非常重要;
5)和谐地合作是软件开发的关键;
6)软件必须有效地支持它的用户;
7)在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
1.2.2 软件工程的基本原理
1)用分阶段的生命周期计划严格管理;
2)坚持进行阶段评审;
3)实行严格的产品控制;
4)采用现代程序设计技术;
5)结果能清楚地审查;
6)开发小组的人员应该少而精;
7)承认不断改进软件工程实践的必要性。
1.2.3 软件工程方法学3要素
方法、工具和过程

1.3软件生命周期
指软件从提出到最终被淘汰的这个存在期。
1)软件定义:
A.问题定义 B.可行性研究 C.需求分析
2)软件开发
D.总体设计 E.详细设计
F.编码和单元测试 G.综合测试
3)运行维护。

1.4 软件过程
为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
1.4.1 瀑布模型
特点:①阶段间具有顺序性和依赖性;②推迟实现的观点;③质量保证的观点。
优点:①提供了软件过程模型的基本框架(模板)。②强调了每一阶段活动的严格顺序。③采用规范的方法;严格规定每个阶段提交的文档;要求每个阶段交出的产品必须经过验证。
缺点:①程序的物理实现集中在开发阶段的后期,用户在最后才能看到自己的产品。②过于理想,没有回路。
瀑布模型适合于用户需求明确、完整、无重大变化的软件项目开发。
1.4.2 快速原型模型
优点:基本上是线性顺序进行。
缺点:①为了使原型尽快的工作,没有考虑软件的总体质量和长期的可维护性。②为了演示,可能采用不合适的操作系统、编程语言、效率低的算法,这些不理想的选择成了系统的组成部分。
建造原型仅是为了定义需求,之后就被抛
弃(或被部分抛弃),实际的软件在充分考虑了质量和可维护性之后才被开发。
1.4.3 增量模型
是一种渐进地开发逐步完善的软件版本的模型。
优点:①在较短时间内向用户提交可完成部分工作的产品,并分批、逐步地向用户提交产品。从第一个构件交付之日起,用户就能做一些有用的工作。
②整个软件产品被分解成许多个增量构件,开发人员可以一个构件一个构件地逐步开发。
③逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
④采用增量模型比采用瀑布模型和快速原型模型需要更精心的设计,但在设计阶段多付出的劳动将在维护阶段获得回报。
缺点:
①在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。此外,必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必须简单、方便,也就是说,软件体系结构必须是开放的。
②开发人员既要把软件系统看作整体。又要看成可独立的构件,相互矛盾。
③多个构件并行开发,具有无法集成的风险。
1.4.4 螺旋模型
螺旋模型的基本思想是降低风险。
优点:①对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标。
②减少了过多测试或测试不足的风险。
③维护和开发没有本质区别。
缺点:
随着迭代次数的增加,工作量加大,软件开发成本增加。
1.4.5 喷泉模型
1.4.6 Rational 统一过程
1.4.7 敏捷过程与极限编程
1.4.8 微软过程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值