第一章

  1. 什么是软件?软件包含哪些内容?

    1. 软件是计算机程序、程序所用的数据以及有关文档资料的集合。计算机软件主要包括系统软件与应用软件两大类。

      第二章

  2. 类和对象之间有什么类似之处

  3. 在类图中,多重性表示什么
    1. 在类图中,多重性通常在关联、聚合、组合中使用。代表有多少个关联对象存在。使用数字..星号(数字)表示。
    2. 1……多重性(用数字和表示)一个或多个;指一个类图有一个或多个类;1个类属于一个或多个类图
  4. 顺序图和协作图的差别是什么

    1. 顺序图有生命线和控制焦点,而协作图没有
    2. 协作图的消息需要有消息顺序号,而顺序图的消息不一定有
    3. 协作图有路径,而顺序图没有

      第三章

  5. 需求分析阶段的主要任务是什么

    1. 需求分析阶段的主要任务是将客户对待开发的软件的“需求”和“要求”进行分析和整理,形成完整、清晰的文档,确认软件所需实现的功能和所需完成的工作。

      第四章

  6. 什么是类?类与传统的数据类型有什么关系

    1. 类是一组相同的数据和一组相同的对象的集合,即类是对有相同数据结构和相同操作的一类对象的描述。
    2. 类定义了属性、方法和消息的传递机制,类具有封装、继承、多态的特性,而传统的数据类型只是对属性进行描述,没有方法等类的其他特性
  7. 类和对象之间的关系是什么?

    1. 类和对象之间是抽象与具体的关系。类是一个模板,是对一类事物的抽象描述,而对象用于表示现实中该事物的个体。
    2. 类是在对象之上的抽象,对象则是类的具体化,是类的实例。
    3. 类必须通过对象才可以使用,而对象中的属性和行为必须在类中定义。

      第五章

  8. 面向对象设计的主要任务是什么?

    1. 在软件设计阶段,主要任务是体系结构设计、数据设计、过程设计和接口设计。

      第六章

  9. 详细设计时应遵守哪些原则?

    1. 信息隐藏、强内聚、弱耦合、可复用。
  10. 设计用户界面时应注意哪些问题?(了解)
    1. 用户界面设计的三大原则是:置界面于用户的控制之下,减少用户的记忆负担,保持界面的一致性。
  11. 设计关系型数据库时应该把握哪些原则?

    1. 用表格的形式列举每个类的属性
    2. 将所有表格规范为第三范式
    3. 为每个第三范式表格定义一个数据库表
    4. 从存储和其他性能要求等方面评估,修改完善原设计的第三范式。例如将多个数据组合以减少空间浪费,将父、子文件夹合并以减少文件数量等。
    5. 被存储的对象需要知道自己能访问那些、如何访问以及如何更新数据库表。

      第八章

  12. 什么是软件测试?软件测试的目标有哪些?

    1. 软件测试定义:为了发现程序中的错误而执行程序的过程。
    2. 软件测试的目标有:
      1. 发现程序员在开发软件时可能产生的缺陷,发现程序中的错误;
      2. 获得对质量水平的信心并提供有关质量水平的信息,以防止缺陷。
      3. 确保最终结果满足业务和用户需求,确保其满足业务需求规范BRS和系统需求规范SRS。
      4. 为客户提供优质的产品,赢得客户的信任。
  13. 黑盒测试与白盒测试有何区别?
    1. 黑盒测试是已知产品的功能设计规格,通过测试以验证每个实现的功能是否符合要求;
    2. 白盒测试是已知产品的内部工作过程,通过测试验证每种内部操作是否符合设计规格要求。
  14. 常用的黑盒测试用例设计方法有哪些?各有什么优缺点?
    1. 等价类划分法。等价类划分法是典型的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具备完整性和代表性。
    2. 边界值分析法。边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是对等价类划分法的一种补充。
    3. 错误推测法。错误推测法是列举出程序中所有可能有的错误和容易发生错误的特殊情 况,根据他们选择测试用例。
    4. 因果图法。等价类划分法和边界值分析法都着重孤立地考虑输入条件的测试功能,而未考虑输入条件之间的组合引起的错误。因果图法充分考虑了输入情况的各种组合级输入条件之间的相互制约关系,该方法能够按一定步骤高效率的选择测试用例,同时还能支出程序规格说明书的描述中存在上面问题。
    5. 综合策略。综合使用各种测试方法,行程综合策略。通常你先用黑盒法设计基本的测试用例,再用白盒法补充一些必要的测试用例。
  15. 白盒测试的方法有哪些?
    1. 白盒测试主要有两种方法,即逻辑覆盖法和路径覆盖法。此外,对于循环结构,可采用循环测试法。
  16. 软件的测试步骤是什么?

    1. 软件测试的步骤为单元测试、集成测试、确认测试、系统测试和验收测试。

      补充

  17. UML的定义是及组成。

    1. UML的定义包括UML语义和UML表示法两个部分。UML模型图由事物、关系和图组成。
  18. 面向对象技术的概念及特点。
    1. 面向对象技术强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物。
    2. 面向对象技术 有抽象性、封装性、继承性和多态性的特点
  19. 用例的定义开发的主要任务。
    1. 定义参与者完成的主要任务或功能
    2. 定义参与者获取、生产或改变的信息
    3. 定义参与者从系统获取的相关信息
  20. 面向对象方法有哪些特点。
    1. 使用面向对象分析方法进行应用系统需求分析时,不是从考虑对象开始,而是从理解系统的使用方式开始。
  21. 结构化分析方法的概念及描述工具。
    1. 结构化分析方法(SA法)是面向数据流的分析方法,主要是根据软件内部的数据传递、变换关系、自顶向下分解,描绘出满足功能要求的软件模型,使用数据流图来描述。
  22. 软件生命周期各个阶段是如何划分的?试述各阶段的基本任务。
    1. 软件设计:问题定义、可行性研究、需求分析
    2. 软件开发:总体设计、详细设计、编码和测试。
    3. 软件维护:改进性维护、适应性维护、完善性维护、预防性维护