一、填空题(每空 1 分,共 10 分)1.1 结构化语言具有 、 和 三种基本结构。,模块的独立性就越 。1.2 各模块之间关系越紧密,其耦合性就越1.3 给出面向对象技术的四个相关概念 , , , 。1.4 为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础的修改软件的过程,叫做 维护。二、选择题(每小题 2 分,共 20 分)2.1 软件的特性不包括 。A.不会磨损 B.高成本 C.包括程序和文档 D.可独立构成计算机系统2.2 软件工程的三要素不包括 。A.过程 B.方法 C.环境 D.工具2.3 软件开发的螺旋模型是 。A.适用于需求被清晰定义的情况 B.一种需要快速构造核心产品的好方法C.可以很好的和客户沟通需求 D.可以很好的处理风险2.4 在各种不同的软件需求中, 根据要求的活动描述需要的行为。A.业务需求 B.功能需求 C.非功能需求 D.用户需求2.5 数据流图 。 A.描述了数据对象之间的关系 B.描述了转换数据流的功能C.描述了现实世界实体之间交换的事件序列 D.在单个模型中描述一组事件踪迹2.6 开发人员使用 对功能需求建模。A.用例图 B.顺序图 C.类图 D.状态图2.7 确定系统划分的模块以及模块之间的接口。A.概要设计 B.数据库设计 C.详细设计设计 D.用户界面设计2.8 软件能力成熟度模型 CMM 用来度量 。A.产品的质量 B.过程的质量 C.商业环境下的质量 D.以上均不对2.9 以下四种耦合中,程度最高的是 。设计模式动A.数据 B.标记 C.控制 D.公共2.10 当不适合采用生成子类的方法对已有的类进行扩充时,可以采用态地给一个对象添加一些额外的职责。A.命令 B.适配器 C.装饰 D.享元 三、判断题(每题 2 分,共 20 分)3.1 满足用户需求的软件就是好的软件。3.2 结构化方法的工作模型是使用瀑布模型进行开发。3.3 螺旋模型是一种风险驱动的软件过程模型。3.4 当发现软件开发进步不能按预期进行时,可以增加新的开发人员。3.5 在 XP(极限编程)方法中,对每一个功能均需要精心的设计。3.6 系统能快速地响应用户的请求属于好的性能需求。3.7 在需求分析阶段,可以用数据流图来进行功能建模。3.8 在进行模块设计时,尽可能提高模块之间的耦合度。3.9 在软件实现阶段,也需要写相关的文档。3.10 测试的目的是发现并修改错误。 四、简答题(每小题 5 分,共 20 分)4.1 简述瀑布模型的优点和缺点。 4.2 什么是数据流图?其主要要素有哪些? 4.3 简要说明 MVC 模式及其优点。 4.4 简要叙述软件测试的目标及内容。五、问题求解题(5.1 下图是一个项目的活动图,顶点表示里程碑,边表示活动,边上的数字表示活动持续时间(天),请计算:(1)活动图的关键路径及其长度。(2)由于某种原因,活动 0-2 推迟了 3 天才开始,则该活动图的最短完成时间是多少天?若活动 3-6 推迟了 5 天才开始,则该活动图的最短完成时间是多少天? 5.2 下图是一个程序的逻辑流,为了实现路径覆盖,则至少需要多少个测试用例,并列出所执行的路径。