软件工程学习记录

习题记录

习题1

1、(选)软件工程对构建 WebApp是否适用?如果适用,需要如何改进以适应 WebApp的独特特点?

答:​WebApp是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能。其提供的内容和服务也是在随时间地点而不断变更的,这符合软件本质。webapp的开发也是要从最初的构思、沟通,建模设计;具体实施等过程。因此软件工程对webapp的构建也同样适用。

2、 随着软件的普及,由于程序错误所带来的公众风险已经成为一个愈加重要的问题。设想一个真实场景∶由于软件错误而引起"世界末日"般的重大危害(危害社会经济或是人类生命财产安全)。

答:确实有很多现实生活中的情况,例如,软件错误,造成了重大的电话网络失败。再比如现在医疗体系越来越依靠或需要软件系统的辅助,假设在未来的某一天我们的医疗体系高度的依赖软件算法 ,其能在绝大多数情况下给我们快速且正确的诊疗结果。但若那天我们所依赖的软件出了错误,这将导致数以万计的人们付出生命的代价。

3、用自己的话描述过程框架。当我们谈到框架活动适用于所有的项目时,是否意味着对于不同规模和复杂度的项目可应用相同的工作任务?请解释。

答:
过程框架定义了若干小的框架活动,为完整的软件开发过程建立基础,这些框架活动可以广泛应用于所有的软件开发项目,无论这些项目的复杂性和规模如何,此外还包括一些适用于各个软件过程的普适性活动。

虽然过程框架是普适性的,但是对于不同规模和复杂度的项目不能应用相同的工作任务。首先在软件开发的不同阶段,工作任务不同。其次不同的软件项目有不同的需求,有特殊背景,找不到一种通用的工作任务。

4、普适性活动存在于整个软件过程中,你认为它们均匀分布于软件过程中,还是集中在某个或者某些框架活动中?

​答:伞活动在整个软件过程中发生,我认为它们是被均匀地应用在整个过程中,分析还包含一系列的工作任务(例如需求收集,制定,协商规范和验证),一个过程框架有一组伞被应用在整个软件过程活动中。这些活动包括:软件项目跟踪和控制,风险管理,软件质量保证,和正式的技术审查,测量,软件配置管理,可重用性管理和工作产品的制作和生产。


习题2

1、讨论3.1节所描述的不同过程流之间的区别。你是否能够确定适用于所描述的每种通用流的问题类型?

答:(1)线性过程流不能很好地适应变化,但是如果一个团队正在构建一个与他们之前做过的事情相似的例行产品,那么它是好的。b)迭代过程流通过在开发中间工作产品时构建审查机会来更好地处理变化。通常在构建涉及开发团队新技术的系统时使用。
(2)演进过程模型通常用于需要快速开发的项目(如WebApps),但需要以可控的方式避免不必要的返工。
(3)迭代过程流通过在开发中间工作产品时构建审查机会来更好地处理变化。通常在构建涉及开发团队新技术的系统时使用。
(4)并行过程流具有允许对由子系统组成的系统同时开发自包含的工作产品的潜力。


习题3

1、详细描述三种采用原型模型的软件项目。

答:相对容易原型化的软件应用程序几乎总是涉及人机交互和或繁重的计算机图形。其他有时可以进行原型设计的应用程序包括某些数学算法类、命令驱动系统子集和其他无需实时交互就可以轻松检查结果的应用程序。难以原型化的应用包括控制和过程控制功能、许多类实时应用和嵌入式软件。

2、可以合用几种过程模型吗? 如果可以,举例说明。

答:过程模型可以组合在一起,每个模型在某种程度上暗示了不同的流程,但都执行相同的通用框架活动集:通信、规划、建模、构建和交付/反馈。
例如,在需求固定且工作以线性方式进行到完成的情况下,线性顺序模型可以作为有用的过程模型。在某些情况下,开发人员可能不确定算法的效率、操作系统的适应性或人机交互的形式。在这些情况和许多其他情况下,原型模型可能提供最佳方法。在其他情况下,增量方法可能是有意义的,螺旋模型的流程可能是有效的。特殊过程模型具有一个或多个传统的许多特征。

3、开发质量“足够好”的软件,其优点和缺点是什么?也就是说,当我们追求开发速度胜过产品质量的时候,会产生什么后果?

答:开发质量“足够好”的软件的好处是产品或软件将满足最后期限,但它可能导致交付的软件质量较低。当速度比产品质量更重要时,可能会导致许多缺陷,软件可能需要更多的测试、设计和实现工作。需求可能没有很好的定义,并且可能需要不断地改变。半心半意和速度可能导致风险管理无法发现主要的项目风险。太少的质量可能导致质量问题和后期的返工。

4、统一过程和UML是同一概念吗?请解释你的答案。

答:它们不是统一概念。统一过程是一种建模方法,是对UML使用最全面,最复杂的一种。UML定义了基本元素,定义了语法,但是如果要做一个软件项目,还需要有方法指导。统一过程是与UML集成最好,最完整的软件方法。统一过程并非是因为UML才诞生,是归纳和整理了很多在实践中总结出来的软件工程的最佳实践,是一个采用了面向对象思想,使用UML作为软件分析设计语言,并且结合了项目管理,质量管理等许多软件工程知识综合而成的一个非常完整和庞大的软件方法。今天统一的流程和 UML 被广泛应用于各种面向对象的项目。


习题4


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andy-wen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值