软件工程导论第一次作业

  • 格式:docx
  • 大小:19.60 KB
  • 文档页数:3
4、客户能始终掌握项目最新信息
5、能有效进行风险控制,降低不必要的损失
缺点:
1、采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。
2、过多的迭代次数会增加开发成本,延迟提交时间。
适用范围:
螺旋模型只适合于大规模的软件项目。
8.为什么说喷泉模型较好地体现了面向对象软件开发过程无缝和迭代的特性?
6.什么是软件过程?它与软件工程方法学有何关系?
1、软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
2、软件过程是软件工程方法学的上个重要组成部分之一。
7.什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模
型的优缺点,说明每种模型的适用范围。
1.什么是软件危机?它有哪些典型表现?为什么会出现软件危机?
软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
主要表现有:软件开发进度难以预测、软件开发成本难以估计、用户对产品难以满足、软件产品质量无法保证、软件产品难以维护等。
出现的主要原因有:用户需求不明确,软件开发缺乏正确的理论指导,软件开发规模越来越大,软件开发复杂度越来越高。
5、开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具
如何解决软件危机:
1、软件工程将软件生产过程流程化,分步骤去完成一个软件的开发过程。
2、软件工程是一种组织良好、管理严密、各类人员协同配合、共同完成的流程,使得软件开发效率提升,开发时间缩短。
3、软件工程使人们对计算机软件有一个正确的认识。必须充分认识到软件开发不是某种个体劳动的神秘技巧。
软件的实际情况必须到项目开发的后期客户才能看到,等待时间长
适用范围:
1、用户的需求非常清楚全面,且在开发过程中没有或很少变化
2、开发人员对软件的应用领域很熟悉
3、用户的使用环境非常稳定
4、开发工作对用户参与的要求很低
快速原型模型:
优点:
1、允许返工,容易适应需求的变化
2、开发时间快,能立刻出来一个原型系统供用户试用
软件生命周期模型是一个软件或软件系统所经历的阶段概括。是人们为开发更好的软件而归纳总结的。
瀑布模型:
优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
缺点:开发过程一般不能逆转
实际的项目开发很难严格按该模型进行
客户往往很难清楚地给出所有的需求,而该模型却要求如此
缺点:只是一个开发过程,没有覆盖软件过程的所有内容,没有支持多项目的开发结构,在一定程度上降低了在开发组织内大范围实现重用的可能性。
11.说明敏捷过程的适用范围。
敏捷过程开发十分迅速,容易变换方向。适合软件需求经常变化或者需求变化比较大的项目。适合时间非常紧急,需要迅速上线的项目。
增量模型:
优点:
1、人员分配灵活,刚开始不用投入大量人力资源
2、如果核心产品很受欢迎,则可增加人力实现下一个增量
3、可以预先发布部分功能给客户,便于顾客熟悉和初步使用
缺点:
1、并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构
2、增量模型的灵活性可以使其适应变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而对软件过程的控制失去整体性
3.什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
本质特征:
1、软件工程关注于大型程序的构造
2、软件工程的中心课题是控制复杂性
3、软件是经常变化的,开发过程中必须考虑软件将来可能的变化
4、软件必须有效地支持它的用户
因为使用面向对象方法学开发软件时,各个阶段都使用统一的概念和表示符号,因此,整个开发过程都是吻合一致的,或者说是无缝连接的,这自然就很容易实现各个开发步骤的反复多次迭代,达到认识的逐步深化,而喷泉模型的则很好的体现了面向对象软件开发过程迭代和无缝的特性。
9.试讨论Rational统一过程的优缺点。
优点:提高了团队生产力,针对所有关键的开发活动为每个开发成员提供了必要的准则、模版和工具指导。有着简洁和清晰的过程结构,开发过程有着较大的通用性。
适用范围:
1、对已有产品升级或新版本开发
2、对完成期限严格要求的产品,可以使用增量模型
3、对所开发的领域比较熟悉而且已有原型系统,增量模型也是非常适目的各个阶段进行变更
2、以小的分段来构建大型系统,使成本计算变得简单容易
3、客户始终参与开发过程,保证开发方向不偏离
3、开发费用低、用户更友好
缺点:
1、客户与开发者对原型理解不同
2、准确的原型设计比较困难
3、不利于开发人员的创新
适用范围:
1、对所开发的领域比较熟悉而且有快速的原型开发工具
2、项目招投标时,可以以原型模型作为软件的开发模型
3、进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的