软件设计与体系结构(第2版_董威_文艳军_陈振邦)第一章课后习题

目录

1.叙述软件工程中可修改性、有效性、可靠性、可理解性、可维护性、可复用性、可适应性、可移植性和可追踪性等概念的含义,并指明这些概念的重要性。(P6-7)

2.试列举两个大型应用系统的实例,说明软件在该系统中所起的关键作用以及软件质量对系统成败的影响。

3.在软件生存周期中,软件设计与位于其前后的活动之间有何关系?

4.查阅有关参考文献,给出两种在本章中未列举出来的软件开发过程模型并进行描述。

5.软件设计与"程序设计""编写代码"有何不同?

6.软件设计应该包含哪些要素? (P20-21)

7.软件体系结构与软件设计有何关系?软件体系结构的出现有何必然性和重要意义? 

8.在软件设计过程中,人们需要重点考虑软件体系结构的哪些方面? (P26)

9、10略 


1.叙述软件工程中可修改性、有效性、可靠性、可理解性、可维护性、可复用性、可适应性、可移植性和可追踪性等概念的含义,并指明这些概念的重要性。(P6-7)

  • 可修改性:允许对系统进行修改而不增加原系统的复杂性。重要性:支持软件的调试与维护。
  • 有效性:软件系统最有效地利用计算机的时间资源和空间资源。重要性:满足用户需求并实现预期功能。
  • 可靠性:软件在给定环境和时间下不发生故障的概率。重要性:保证系统的稳定性和用户信任。
  • 可理解性:系统具有清晰的结构,能直接反映问题的需求。重要性:有助于控制软件系统的复杂性,并支持软件的维护、移植或复用。
  • 可维护性:软件产品交付用户使用后能够方便对它进行修改。重要性:有助于延长软件的生命周期,降低维护成本。
  • 可复用性:软部件可以在多种场合应用的程度。重要性:有助于提高软件产品的质量和开发效率,有助于降低软件的开发和维护费用。
  • 可适应性:软件在不同的系统约束条件下,使用用户需求得到满足的难易程度。重要性:有助于软件推广和使用。
  • 可移植性:软件从一个计算机系统或环境移植到另一个计算机系统或环境的难易程度。重要性:有助于软件在不同平台间无缝迁移,减少重新开发的工作量。
  • 可追踪性:软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计需求进行逆向追踪的能力。重要性:有助于确保需求的完整性、一致性、可理解性。

2.试列举两个大型应用系统的实例,说明软件在该系统中所起的关键作用以及软件质量对系统成败的影响。

网上一大堆例子。下面是我在网上找的:

  • 火车票余票查询系统,软件在该系统中所起的关键作用是能够在电脑上运行的电脑程序,软件质量好,人们可以在网上查到最新的消息,尽快顶到火车票,若软件质量差那可能会不能更新最新消息,使人们不能正确订票,查票,影响人们该系统的使用率。
  • 腾讯QQ,软件在该系统中所起的关键作用是不仅能在不同电脑上登录,还能在不同手机上登录。软件质量的好坏会影响用户的使用率和评价度。

3.在软件生存周期中,软件设计与位于其前后的活动之间有何关系?

  • 需求分析阶段:确定和文档化软件需求,设计基于这些需求创建模型和架构,细化需求,为编码提供蓝图。
  • 设计阶段:包括体系结构设计、模块设计和接口设计,决定软件的组织形式和组件交互方式,影响代码的可维护性、可扩展性和复用性。
  • 编码阶段:设计文档被转化为实际代码,开发人员依据设计规范编写程序,确保遵循设计原则。
  • 测试阶段:测试人员依据设计文档创建测试用例,设计得当则测试更容易且能有效发现缺陷。
  • 维护和更新阶段:更轻松地进行修改而不影响整体架构。

4.查阅有关参考文献,给出两种在本章中未列举出来的软件开发过程模型并进行描述。

  • 增量模型--软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是
    由多种相互作用的模块所形成的提供特定功能的代码片段构成。
  • 喷泉模型--与传统的结构化生存期比较,具有更多的增量和迭代性质,生存期的各个阶段
    可以相互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期。就像水喷上去
    又可以落下来,可以落在中间,也可以落在最底部。

5.软件设计与"程序设计""编写代码"有何不同?

  • 软件设计:定义系统的整体架构和组件关系,包括体系结构设计、模块设计和接口设计,输出设计文档和图示,提供编码蓝图。
  • 程序设计:细化软件设计,具体描述模块内部的实现细节,包括算法设计和流程设计,输出详细设计文档和伪代码。
  • 编写代码:将设计转化为实际代码,编写、调试和测试源代码,实现功能并确保系统运行。

软件设计关注宏观结构,程序设计细化模块实现,编写代码具体实现功能。

6.软件设计应该包含哪些要素? (P20-21)

  • 目标描述
  • 设计约束
  • 产品描述
  • 设计原理
  • 开发规划
  • 使用描述

7.软件体系结构与软件设计有何关系?软件体系结构的出现有何必然性和重要意义? 

  • 关系:软件体系结构设计作为软件设计过程中的活动之一,能在较为抽象的级别上描述整个软件系统的结构,成为大规模、复杂软件系统设计中必不可少的步骤。
  • 意义:软件体系结构将构件以及构件之间的连接作为软件体系结构的基本组成部分。软件体系结构使软件复用从代码复用发展到设计复用和过程复用,为不同的人提供了共同的语言,体现了系统早期的设计决策,并作为系统设计的抽象,为实现框架和构件的共享与复用,基于体系结构的软件开发提供了有力的支持。

8.在软件设计过程中,人们需要重点考虑软件体系结构的哪些方面? (P26)

  1. 软件体系结构的描述
  2. 软件体系结构的设计方法
  3. 软件体系结构的分析方法
  4. 软件体系结构的复用

9、10略 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值