第一章 习题一

习题一

一、判断题

  1. 软件就是程序,编写软件就是编写程序         (F)
    软件 = 程序 + 数据 + 文档
  2. 软件危机的主要表现是软件需求增加, 软件价格上升.     (F)
  3. 软件工程学科的出现的主要原因是软件危机的出现.     (T)
  4. 与计算机科学的理论研究不同, 软件工程是一门原理性学科  (F)
    软件工程是工程性学科

二、选择题

  1. 在下列选项中,( D ) 不是软件的特征.
    A. 系统性与复制性     B. 可靠性与一致性
    C. 抽象性与智能型     D. 有形性与可控性
  2. 软件危机的主要原因是(D).
    A. 软件工具落后                B. 软件生产能力不足
    C. 对软件的认识不够         D. 软件本身的特点及开发方法
  3. 下列说法正确的是(B)
    A. 20世纪50年代提出软件工程概念    B. 20世纪60年代提出了软件工程概念
    C. 20世纪70年出现了客户机/服务器技术  D. 20世纪80年代软件工程学科达到成熟
  4. (C)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素
    A. 软件生命周期  B. 软件测试  C. 软件工程  D. 软件过程
  5. 在下列选项中,(A)不属于软件工程学科所要学研究的基本内容。
    A. 软件工程材料  B. 软件工程目标  C. 软件工程原理  D. 软件工程过程
  6. 软件工程的三要素是(C)
    A. 技术、方法和工具  B. 方法、对象和类  C. 方法、工具和过程  D. 过程、模型和方法
  7. 用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为(D)工具。
    A. CAD   B. CAI   C. CAM   D. CASE

三、简答题

  1. 与计算机硬件相比,计算机软件有那些特点?
    • 无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了解它的功能、特性和质量等。
    • 人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程中,渗透了大量的脑力劳动。
    • 不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问题。
    • 软件的开发和运行必须依赖于特定的计算机系统环境。
    • 具有可复用性。
  2. 软件就是程序吗?如何定义软件?
     人们经过长期的时间已经逐步认识到,软件≠程序,程序只是软件的关键要素。普遍能被接受的观点是:软件 = 程序 + 数据 + 文档。
  3. 什么是软件危机?什么原因导致了软件危机?
    • 软件危机的现象如下:
    1. 经费超过预算,项目一再拖延。
    2. 不重视需求,开发的软件不能满足用户的要求,项目成功率低。
    3. 没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。
    4. 开发工具落后,手工方式,开发效率低。
    • 所有导致软件危机的原因,都与软件本身的产品特点相关。
    1. 软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件产品的结构、质量、可维护性得不到保障,开发与维护费用就会升高。
    2. 软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。
    3. 软件生产时脑力活动,它看不见、摸不着, 开发成本、开发周期等都无法做到准确估算,生产过程不易控制。
    4. 软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得多。
  4. 为什么说软件工程的发展可以在一定程度上解决软件危机的各种弊端?
     软件工程的提出是为了解决软件危机所带来的各种弊端。具体地讲,软件工程的目标主要包括以下几点。
    1. 使软件开发的成本能够控制在预计的合理的范围内。
    2. 使软件产品的各项功能和性能能够满足用户需求。
    3. 提高软件产品的质量。
    4. 提高软件产品的可靠性。
    5. 使生产出来的软件产品易于移植、维护、升级和使用。
    6. 使软件产品的开发周期能够控制在预计的合理时间范围内。
  5. 请简述软件工程研究的内容。
     软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。
    1. 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。
    2. 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。
    3. 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose等。
  6. 请简述软件工程的三要素。
  7. 请简述软件工程的目标、过程和原则。
  8. 请简述软件工程的基本原则。
  9. 请简述现代软件工程与传统工程显著的区别和改进。

猜你喜欢

转载自www.cnblogs.com/Kmirror/p/12717281.html