软件工程B

张秋余 研究员、顾群 副教授

目录

  • 第1章 软件工程学概论
    • ● 第1讲 软件工程学概论(1)
    • ● 第2讲 软件工程学概论(2)
    • ● 第3讲 软件工程学概论(3)-项目分析与软件需求分析(1)
    • ● 课前与课后测评
    • ● 第1章作业
  • 第2章 项目分析与软件需求分析
    • ● 第4讲 项目分析与软件需求分析(2)
    • ● 第5讲 项目分析与软件需求分析(3)
    • ● 第6讲 项目分析与软件需求分析(4)
    • ● 第7讲 项目分析与软件需求分析(5)
    • ● 第8讲 项目分析与软件需求分(6)-软件总体设计(1)
    • ● 课前与课后测评
    • ● 第2章作业
  • 第3章 软件总体设计
    • ● 第9讲 软件总体设计(2)
    • ● 第10讲 软件总体设计(3)
    • ● 第11讲 软件总体设计(4)
    • ● 课前与课后测评
    • ● 第3章作业
  • 第4章 软件详细设计
    • ● 第12讲 软件详细设计(1)
    • ● 第13讲 软件详细设计(2)
    • ● 第14讲 软件详细设计(3)
    • ● 第15讲 软件详细设计(4)-软件实现(1-1)
    • ● 课前与课后测评
    • ● 第4章作业
  • 第5章 软件实现
    • ● 第16讲 软件实现(1-2)
    • ● 第17讲 软件实现(2)
    • ● 第18讲 软件实现(3)
    • ● 第19讲 软件实现(4)
    • ● 第20讲 软件实现(5)
    • ● 第21讲 软件实现(6)
    • ● 课前与课后测评
    • ● 第5章作业
  • 第6章 软件维护
    • ● 第22讲 软件维护(1)
    • ● 第23讲 软件维护(2)
    • ● 第24讲 软件维护(3)
    • ● 课前与课后测评
    • ● 第6章作业
  • 第7章 面向对象软件工程方法学
    • ● 第25讲 面向对象软件工程方法学(1)
    • ● 第26讲 面向对象软件工程方法学(2)
    • ● 第27讲 面向对象软件工程方法学(3)
    • ● 第28讲 面向对象软件工程方法学(4)-用例驱动(1)
    • ● 课前与课后测评
    • ● 第7章作业
  • 第8章 用例驱动
    • ● 第29讲 用例驱动(2)
    • ● 第30讲 用例驱动(3)
    • ● 第31讲 用例驱动(4)
    • ● 第32讲 用例驱动(5)
    • ● 第33讲 用例驱动(6)
    • ● 第34讲 用例驱动(7)-面向对象分析(1)
    • ● 课前与课后测评
    • ● 第8章作业
  • 第9章 面向对象分析
    • ● 第35讲 面向对象分析(2)
    • ● 第36讲 面向对象分析(3)
    • ● 第37讲 面向对象分析(4)
    • ● 第38讲 面向对象分析(5)
    • ● 第39讲 面向对象分析(6)
    • ● 课前与课后测评
    • ● 第9章作业
  • 第10章 构架为中心
    • ● 第40讲 构架为中心(1)
    • ● 第41讲 构架为中心(2)
    • ● 第42讲 构架为中心(3)-设计模式(1)
    • ● 课前与课后测评
    • ● 第10章作业
  • 第11章 设计模式
    • ● 第43讲 设计模式(2)
    • ● 第44讲 设计模式(3)
    • ● 第11章作业
  • 第12章 面向对象软件实现
    • ● 第45讲 面向对象实现(1)
    • ● 第46讲 面向对象实现(2)
    • ● 第12章作业(标准答案)
  • 课后复习资料(可下载)
    • ● 考试题型讲解(已更新)
    • ● 课后复习范围与复习题(已更新)
第12章作业(标准答案)
第12章作业——标准答案

 

一、简答题(共7题,87.5分)

1、什么是软件实现?

正确答案:

在编码实现阶段,开发者根据设计模型中对数据结构、算法分析和模块实现等方面的设计要求,编写具体的程序,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。

 

2、如何实现构架?

正确答案:

构架实现的目的是通过如下途径勾画实现模型及其构架:

l 识别对构架有重要意义的构件,例如可执行构件。

l 在相关的网络配置中将构件映射到节点上。

在构架设计过程中,要勾画设计子系统及其内容和接口。在实现过程中,使用与设计子系统一一对应的实现子系统,并提供相同的接口。因此,对实现子系统及其接口的识别就显得价值不大,在此就不作讨论。相反,在实现阶段,主要的任务是在实现子系统范围内创建实现相应的设计子系统的构件。

在该活动中,构架设计师维护、精化并更新构架描述以及实现模型和实施模型的构架视图。

 

3、如何实现子系统?

正确答案:

实现子系统的目的是确保一个子系统履行它在每个构造中的角色,这意味着要保证在构造中要实现的需求(如场景或用例)以及那些影响子系统的需求能通过子系统内部的构件和其他子系统正确地加以实现。

当子系统内部的构件和其他子系统正确地实现了当前构造中要实现的需求以及那些影响子系统的需求时,一个子系统就实现了其目标。

即使子系统的内容(例如构件)是由构架设计师勾画的,随着实现模型的进一步完善,仍然需要由构件工程师来精化。

 

4、如何实现类?

正确答案:

实现类的目的是为了在文件构件中实现设计类,包含下列任务。

l 勾画出包含源代码的文件构件。

l 从设计类及其所参与的关系中生成源代码。

l 按照方法实现设计类的操作。

l 确保构件提供与设计类相同的接口。

 

5、有哪几种集成方式,各有什么特点?

正确答案:


 

6、何时重写而不是调试代码制品?

正确答案:

管理者预先确定一个给定代码制品在开发期间所允许的最大错误数,一旦达到该值,就必须丢弃,然后由有经验的软件设计人员重新设计和编写。最大值会随着应用领域的不同而不同,还会随着代码制品的不同而不同。确定允许的最大错误数可以参考某个类似的已得到纠错性维护的代码制品的错误情况。但是,不管采用什么估计技术,一旦超出预定的错误数,管理者必须保证放弃该代码制品。

 

7、如何养成良好的编程实践?

正确答案:

使用一致和有意义的变量名

自文档化代码的问题

使用参数

代码编排以增加可读性

嵌套if语句

编码标准

 

 

二、论述题(共1题,12.5分)

1、当你的程序遇到BUG的时候,你选择怎样处理。(开放性问题)

正确答案:

根据个人的理解来回答,没有标准答案