60多道题总复习题(含参考答案),希望对大家的软件工程期末复习有帮助,你值得收藏!(#^.^#)

☞原文:【软件工程—精选习题集(含参考答案)】总复习-60道简答题


第一题:名词解释

1、极限编程 (Extreme programming)

答:极限编程,把好的开发实践运用到极致,是一种典型的开发方式。

2、状态转换图

答:状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。

3、软件生命周期(Software Life Cycle,SLC)

答:由软件定义、软件开发和运行维护这3个时期组成,每个时期又进一步划分成若干个阶段。

4、问题域(Problem Domain)

答:问题域:描述问题的问题空间。

面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也即让描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。

5、PAD图

答:PAD图:Problem Analysis Diagram,即问题分析图,PAD用二维树形结构的图来表示程序的控制流。

6、实体-关联图(Entity Relationship Diagram)。

答:为了把用户的数据要求清楚并准确地描述出来,系统分析员通常建立一个概念性的数据模型即实体关联图(ER图)。

7、软件危机(Software Crisis)

答:软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:

  • 如何开发软件,以满足对软件日益增长的需求;
  • 如何维护数量不断增长的已有软件。

8、软件质量保证(Software Quality)

答:软件质量保证的措施主要有:基于非执行的测试(也称为复审或评审),基于执行的测试(即以前讲过的软件测试)和程序正确性证明。

9、IPO图

答:IPO图是输入、处理、输出图的简称,它是由美国IBM公司发展完善起来的一种图形工具,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。

10、面向对象的高内聚低耦合

答:

•      耦合:一个软件结构内不同模块之间互连的紧密程度

•      低耦合:系统中某一部分的变化对其他部分的影响降到最低程度

•      对象之间的耦合:交互耦合&继承耦合

•      内聚衡量一个模块内各个元素彼此结合的紧密程度

•      在设计时应该力求做到高内聚低耦合

•      面向对象设计的3种内聚:服务内聚、类内聚、一般\特殊内聚

11、数据流图 (DFD) 

答:DFD是一种图形化技术, 它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

12、功能点技术(Function Point) 

答:依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。这种方法用功能点(FP)为单位度量软件规模。

13、功能模型

答:功能模型表示变化的系统的“功能”性质,它指明系统应该“做什么”,因此更直接地反映了用户对目标系统的需求。

功能模型由一组数据流图组成。建立功能模型有助于软件开发人员更深入地理解问题域,改进和完善自己的设计。

14、数据规范化

答:软件系统经常使用各种长期保存的信息,这些信息通常以一定的方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化数据修改的过程,通常需要把数据结构规范化

15、软件工程方法学

软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。

软件过程是软件工程方法学的3个重要组成部分之一。

16、软件质量

概括地说,软件质量就是“软件与明确地和隐含地定义的需求相一致的程度”。

更具体地说,软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。

17、敏捷过程

答:敏捷过程:为了使软件开发团队具有高效工作和快速响应变化的能力

18、工程网络图

答:工程网络是制定进度计划时另一种常用的图形工具,它同样能描绘任务分解情况以及每项作业的开始时间和结束时间。此外,它还显式地描绘各个作业彼此间的依赖关系。因此,工程网络图是系统分析和系统设计的强有力的工具。

19、动态联编

答:动态联编指应用系统在运行过程中,当需要执行一个特定服务的时候,选择(或联编)实现该服务的适当算法的能力。

20、系统流程图

答:一个概括地描绘物理系统的传统工具,表达了数据在系统各部件之间流动的情况。

21、HIPO图

答:HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”,即Hierarchical diagram plus input / processing / output,简称HIPO。

22、软件重用

软件重用也叫软件再用或复用,是指同一个软件部分不作修改或稍加改动就多次重复使用。

广义地说,软件重用可分为以下3个层次:

(1)   知识重用

(2)   方法和标准的重用

(3)   软件成分的重用

23、数字字典(Digital Dictionary)

答:是关于数据的信息的集合, 也就是对数据流图中包含的所有元素的定义的集合。

24、判定树

答:判定树是判定表的变种,它也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。

25过程设计语言(PDL)

答:过程设计语言(PDL)也称为伪码。是用正文形式表示数据和处理过程的设计工具。

26、代码的健壮性(Robust)

答:健壮性就是在硬件故障、输入的数据无效或操作错误等意外环境下,系统能做出适当响应的程度。

第二题: 说明典型的可重用软件成分,主要有哪十种?

答:典型的可重用软件成分:

  1. 项目计划
  2. 成本估计
  3. 体系结构
  4. 需求模型和规格说明
  5. 设计
  6. 源代码
  7. 用户文档和技术文档
  8. 用户界面
  9. 数据
  10. 测试用例

第三题: 说明软件维护的定义?以及通过描述软件交付使用后可能进行的4项活动?

(1)软件维护:在软件已经交付使用之后,为改正错误或满足新的需要而修改软件的过程。

(2)软件交付使用后可能进行的4项活动:

1.改正性维护

2.适应性维护

3.完善性维护

4.预防性维护

第四题:功能需求是对软件系统的一项基本需求,试问通常对软件系统有哪几方面的综合要求?

答:对软件系统8个方面的综合要求:

  1. 功能需求
  2. 性能需求
  3. 可靠性和可用性需求
  4. 出错处理需求
  5. 接口需求
  6. 约束
  7. 逆向需求
  8. 将来可能提出的要求

第五题:试述面向对象的封装(encapsulation)、继承(inheritance)、多态性(polymorphism)和重载(overloading)?

答:

  1. 封装:把数据和实现操作的代码集中起来放在对象内部隐藏起来,只保留有限的接口与外界联系。
  2. 继承:子类自动地共享基类中定义的数据和方法的机制。
  3. 多态性:子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。
  4. 重载,有两种:①函数重载,在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;②运算符重载,同一个运算符可以施加于不同类型的操作数上面。

第六题: 试绘出自动售货机系统的用例图并说明。

自动售货机系统的用例图

在上面自动售货机系统的用例图中:

  • 方框代表系统;;
  • 椭圆代表用例(售货、供货和取货款是自动售货机系统的典型用例);
  • 线条人代表行为者,它们之间的连线表示关系。

第七题: 说明在面向对象分析中的3个模型与5个层次?

答:

3个模型:对象模型、动态模型和功能模型。

模型包含系统的3个要素:静态结构(对象模型)、交互次序(动态模型)和数据变换(功能模型)

5个层次:

  • 主题层
  • 类与对象层
  • 结构层
  • 属性层
  • 服务层

第八题: 使用Z语言描述的、最简单的形式化规格说明含有哪4个部分?

  1. 给定的集合、数据类型及常数。
  2. 状态定义。
  3. 初始状态。
  4. 操作。

第九题: 请说明模块独立性的重要性?

答:模块独立性的重要性:

  • 具有独立性的模块软件较容易开发出来。通过分割功能且接口简化,有助于多人分工合作开发同一个软件;
  • 独立的模块较容易测试和维护。修改设计和程序需要的工作量较小,错误传播范围缩小,扩充功能时能够插入模块。

第十题: 验证软件需求的方法,至少必须哪4个不同角度验证软件需求的正确性?

  1. 一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。
  2. 完整性:需求必须是完整的,规格说明书应该包括田户需要的每一个功能或性能
  3. 现实性:指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。
  4. 有效性:必须证明需求是正确有效的,确实能解决用户面对的问题。

第十一题: 请试描绘一家计算机公司全部产品的数据结构,用层次方框图和Warnier图表示。

层次方框图

Warnier图

第十二题: 请说明设计人机界面设计必须重视哪些方面?

  • 系统的响应时间;
  • 用户求助机制;
  • 错误信息处理;
  • 命令方式。

第十三题: 请说明面向对象语言的优点有哪些?

答:

  1. 一致的表达方法
  2. 可重用性
  3. 可维护性

第十四题: 预防性维护实质上是软件再工程。请簡述典型的软件再工程过程模型定义了哪六类活动?

  1. 库存目录分析
  2. 文档重构
  3. 逆向工程
  4. 代码重构
  5. 数据重构
  6. 正向工程

第十五题: 请简述面向对象方法具有哪4个要点? 以及面向对象的方法学可以用概括的方程式?

(1)面向对象方法的四个要点

  1. 面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。
  2. 把所有对象都划分成各种对象类(简称为类,class),每个对象类都定义了一组数据和一组方法。数据用于表示对象的静态属性,是对象的状态信息。
  3. 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。
  4. 对象彼此之间仅能通过传递消息互相联系。

(2)面向对象的方法学可以用下列方程来概括:

OO  =  objects + classes + Inheritance + communication with messages

既使用对象,又使用类和继承等机制,且对象之间仅能通过传递消息实现彼此通信。

第十六题: 源程序代码的逻辑简明清晰、易读易懂是好程序的一个重要标准,为了做到这一点,请简述应该遵循哪些编码风格规则?

  1. 程序内部的文档,包括恰当的标识符、适当的注解和程序的视觉组织等。
  2. 数据说明
  3. 语句构造
  4. 输入输出
  5. 效率,主要指处理机时间和存储器容量两个方面。

第十七题: 请简易说明何谓单元测试、集成测试、确认测试、白盒测试技术和黑盒测试技术?

  • 黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明,着重测试软件功能。用于测试过程的后期阶段。
  • 白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。用于测试过程的早期阶段
  • 单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。
  • 集成测试:在单元测试的基础上,对单元模块之间的连接和组装进行测试。
  • 确认测试:也称为验收测试,验证软件的有效性。

第十八题: 请问类与类之间通常有哪四种关系?分别简述之。

类与类之间的四种关系:关联、泛化(继承)、依赖和细化。

  1. 关联关系: 表示两个类的对象之间存在某种语义上的联系。
  2. 泛化(继承)关系: 通用元素和具体元素之间的一种分类关系。
  3. 依赖关系: 描述两个模型元素(类、用例等)之间的语义连接关系
  4. 细化关系: 对同一个事物在不同抽象层次上描述

第十九题: 请说明设计黑盒测试方案的技术主要有等价划分、边界值分析和错误推测是什么?

  • 等价划分:将程序的输入域划分成若干个数据类,据此导出测试用例。
  • 边界值分析:设计使程序运行在边界情况附近的测试方案,更大可能地暴露出程序错误。
  • 错误推测:在很大程度上靠直觉和经验进行。基本思想:列举出程序中可能有的错误和容易发生错误的特殊情况,并且根据它们选择测试方案。

第二十题: 请简述怎样满足用户对老程序的维护要求?

(1)反复多次地做修改程序的尝试,与不可见的设计及源代码“顽强战斗”,以实现所要求的修改。

(2)通过仔细分析程序尽可能多地掌握程序的内部工作细节,以便更有效地修改它。

(3)在深入理解原有设计的基础上,用软件工程方法重新设计、重新编码和测试那些需要变更的软件部分。

(4)以软件工程方法学为指导,对程序全部重新设计、重新编码和测试,为此可以使用CASE工具(逆向工程和再工程工具)来帮助理解原有的设计

第二十一题: 说明软件可靠性和软件可用性之间的主要差别?

答:可靠性和可用性之间的主要差别是:可靠性意味着在0到τ这段时间间隔内系统没有失效,而可用性只意味着在这段时间内系统是正常运行的

第二十二题: 请简述说明面向对象分析的基本过程中,在概念上可以认为面向对象分析大体上按照的顺序进行是哪些?

寻找类与对象,识别结构,识别主题,定义属性,建立动态模型,建立功能模型,定义服务。

第二十三题: 试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的使用范围。

优点

缺点

瀑布模型

使用范围:

  • 对用户需求、软件的应用领域非常清楚全面,且稳定;
  • 用户的使用环境非常稳定;
  • 开发工作对用户参与的要求很低

它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。

(1)实际的项目大部分情况难以按照该模型给出的顺序进行,而且这种模型的迭代是间接的,这很容易由微小的变化而造成大的混乱。

(2)客户通常难以表达真正的需求,而该模型却要求如此,是不欢迎具有二义性问题存在的。

(3) 客户要等到开发周期的晚期才能看到程序运行的测试版本,而在这时发现大的错误时,可能引起客户的惊慌,而后果也可能是灾难性的。

快速原型模型

使用范围:

  • 有快速原型开发工具
  • 适合原型模型开发
  • 适合产品移植或升级

使用户能够感受到实际的系统,使开发者能够快速地构造出系统的框架。

产品的先天性不足。因为开发者常常需要做实现上的折中,可能要采用不合适的操作系统或程序设计语言,以使原型能够尽快工作。

增量模型

(具有一定的市场)

使用范围:

  • 进行已有产品升级或新版本开发
  • 对所开发的领域比较熟悉而且已有原型系统

(1) 人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。

(1) 至始至终开发者和客户纠缠在一起,直到完全版本出来。

(2) 当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能给客户,对客户起到镇静剂的作用。

(2) 适合于软件需求不明确、设计方案有一定风险的软件项目。

螺旋模型

(使用范围:适合于大型软件的开发)

对于大型系统及软件的开发,这种模型是一个很好的方法。开发者和客户能够较好地对待和理解每一个演化级别上的风险。

(1) 需要相当的风险分析评估的专门技术,且成功依赖于这种技术。

(2)将导致风险问题的发生,可能导致演化的方法失去控制。

(3) 这种模型相对比较新,应用不广泛,其功效需要进一步的验证。

第二十四题: 说明什么是软件质量?试叙述它与软件可靠性的关系。

概括地说,软件质量,即“软件与明确地和隐含地定义的需求相一致的程度”。

更具体地说,软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。

第二十五题: 请问何谓Petri网和有穷状态机的概念?并个别举例和评价。

(1)Petri网:用于确定系统中隐含的定时问题的一种有效技术。

Petri网结构是一个四元组C=(P,T,I,O)

P:{P1,,..,Pn}是一个有穷位置集

T:{t1,..,tm}是一个有穷转换集(T和P不相交)

I:输入函数,由转换到位置无序单位组的映射。

O:输出函数,由转换到位置无序单位组的映射。

Petri网例子:

图1 Petri网

位置集P:  {P1,  P2,  P3,  P4}

转换集T:  { t1, t2}

输入函数集I:  I(t1) ={P2, P4}

I (t2)= {P2}

输出函数集O:  O(t1) ={P1}

O(t2)={P3}

(2)有穷状态机包括状态集J、输入集K、由当前状态和当前输入确定次态的转换函数T、初始态S和终态集F这5个部分。

有穷状态机例子:

图2 有穷状态机的状态图

根据转换图,可以写出该有穷状态机:

  1. 状态集J:(保险箱锁定,A,B,保险箱解锁,报警}
  2. 輸入K:{1L,1R,2L,2R,3L,3R}
  3. 转换函数T:如上图2所示
  4. 初始态S:保险箱锁定
  5. 终态集F:{保险集解锁,报警}

两种技术的评价:

1)Petri网适于说明并发系统中的定时问题(如同步问题、竞争条件以及死锁问题等)。

2)有穷状态机采用了一种简单的格式来描述规格说明:

当前状态+事件+谓词=>下个状态

这种形式的规格说明易于书写、易于验证,且能较容易地把它转变成设计或程序代码(可开发一个CASE工具将有穷状态机规格说明直接转变为源代码)

第二十六题: 请问典型的总体设计步骤有哪些?

1. 设想供选择的方案

2. 选取合理的方案

3. 推荐最佳方案

4. 功能分解

5. 设计软件结构

6. 设计数据库

7. 制定测试计划

8. 书写文档

9. 审查和复审

第二十七题: 用面向对象方法开发软件,通常需要建立3种形式的模型,分别是描述系统数据结构的对象模型,描述系统控制结构的动态模型和描述系统功能的功能模型。试问以上模型需要产生出哪些图?

答:以上模型需要产生出的图有四种:UML类图、UML状态图、UML用例图和数据流图。

  • 建立对象模型,产生UML类图;
  • 建立动态模型,产生UML状态图;
  • 建立功能模型,产生数据流图与UML用例图;

第二十八题: 请说明在什么情况下应该使用形式化说明技术?说明使用形式化说明技术应遵守哪些规则?

(1)用非形式化的方式描述时,存在矛盾、二义性、含糊性或不完整性级抽象层次混乱等问题时应该使用形式化说明技术。

(2)使用形式化方法应遵循的准则:

  • 应该选用适当的表示方法;
  • 应该形式化,但不要过分形式化;
  • 应该估算成本;
  • 应该有形式化的方法顾问随时提供咨询;
  • 不应该放弃传统的开发方式;
  • 应该建立详尽的文档;
  • 不应该放弃质量标准;
  • 不应该盲目依赖形式化方法;
  • 应该测试,测试再测试;
  • 应该重用。

第二十九题: 请简述决定软件可维护性的因素主要有哪五个?

答:决定软件可维护性的因素主要有下述5个。

  1. 可理解性
  2. 可测试性
  3. 可修改性
  4. 可移植性
  5. 可重用性

第三十题: 请简述说明面向对象设计(OOD)的启发原则有哪些?

1,设计结果应该清晰易懂;

2,一般-特殊结构的深度应适当;

3,设计简单的类;

4,使用简单的协议;

5,使用简单的服务;

6,把设计变动减至最小。

第三十一题: 根据历史数据可以做出如下的假设 :

对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960)

存储器的价格按下面公式描述的趋势逐年下降:P1=0.3×0.72Y-1974(美分/位)

如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.048×0.72Y-1974(美元/字)

在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。

基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:

(1) 在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少?

(2) 假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。

(3) 假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。

(1)

1、1985年对计算机存储容量的需求估计:M=4080e0.28(1985-1960)=4474263(字)

2、当字长为16位,存储器价格:P=0.048*0.72(1985-1974)*4474263=5789美元

(2)

需要工作量=4474263/200=22371(人/月)

指令成本=22371*4000=89484000美元

(3)

1、需求估计M=4080e0.28(1995-1960)=73577679字

2、存储器价格P=0.003*32*0.72(1995-1974)*73577679=7127美元

3、工作量=73577679/600=122629(人/月)

成本=122629*6000=735776790美元

第三十二题: 请简述说明软件的可维护性与哪些因素有关?在软件开发过程中应该采取哪些措施来提高软件产品的可维护?

(1)软件的可维护性与以下因素有关:

  • 可理解性
  • 可预测性
  • 可修改性
  • 可移植性
  • 可重用性

(2)提高软件产品的可维护的措施:

在每个阶段结束前的技术审查和管理复查中,对可维护性进行复审过程中,应该着重对将来要改进的部分和可能要改的部分加以注意指明,应该讨论软件的可移植性问题,考虑可能影响软件维护的系统界面。

在设计和编码过程中应该尽量使用可重用的软件构件,每个测试步骤都可以暗示在软件正式交付使用之前,程序中可能需要做预防性维护的部分。

在完成每项维护工作之后,都应该对软件维护本身仔细认真地复审。

第三十三题: 请说明在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?

(1)开发一个软件时,需要判断原定的系统模型和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度,否则花费在这些工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费。

可行性研究实质是在较高层次上以较抽象的方式进行系统分析和设计的过程。因此需要在软件开发的早期阶段进行可行性研究用最小的代价确定问题是否能够解决,从而以避免无谓的浪费。

(2)一般说来,至少应该从以下三个方面研究每种解法的可行性:

a. 技术可行性。对要开发项目的功能、 性能和限制条件进行分析, 确定在现有的资源条件下,技术风险有多大,项目是否能实现。这里的“资源”包括已有的或可以搞到的硬件、软件资源,现有技术人员的技术水平和已有的工作基础。

b. 经济可行性。进行开发成本的估算以及了解取得效益的评估, 确定要开发的项目是否值得投资开发,对于大多数系统,一般衡量经济上是否合算,包括成本—效益分析、长期公司经营策略、开发所需的成本和资源和潜在的市场前景。

c. 操作可行性。有时还要研究社会可行性问题,研究要开发的项目是否存在任何侵犯、妨碍等责任问题。社会可行性所涉及的范围也比较广,它包括合同、责任、 侵权和其他一些技术人员常常不了解的陷阱等。

必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。

第三十四题: 请简述说明模块耦合和模块内聚的类型和关系。

(1)耦合式对一个软件结构内不同模块之间互联程度的度量。耦合强弱取决于接口的复杂度,进入或访问某一模块的点,以及通过接口的数据。一般模块之间的可能的连接方式有七种,构成耦合的七种类型,它们的关系为:

七种耦合及其关系

非直接耦合

数据耦合

特征耦合

控制耦合

外部耦合

公共耦合

内容耦合

(2)内聚标志着一个模块内各个元素之间彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。

①低内聚:

  1. 偶然内聚:如果一个模块完成一组任务,这些任务彼此间即使有关系,关系也是很松散的。这就叫做偶然内聚
  2. 逻辑内聚:如果一个模块完成的任务在逻辑上属于相同或相似的一类(例如一个模块产生各种类型的全部输出),称为逻辑内聚
  3. 时间内聚:一个模块包含的任务必须在同一段时间内执行(例如,模块完成各种初始化工作),称为时间内聚

②中内聚:

  1. 过程内聚:如果一个模块内的处理元素是相关的,而且必须以特定次序执行,称为过程内聚
  2. 通讯内聚:如果模块中所有的元素都使用同一个输入数据和(或)产生同一个输出数据,则称为通讯内聚

③ 高内聚:

  1. 顺序内聚:如果一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行(通常一个处理元素的输出数据作为下一个处理元素的输入数据),则称为顺序内聚。
  2. 功能内聚:如果模块内所有的元素属于一个整体完成一个单一的功能,则成为功能内聚。

第三十五题: 请说明未来毕业设计论文的内容若依照面向对象(OO)范式开发软件需要呈现哪些具体内容以及对应的图有哪些种类?

(1)若根据面向对象范式开发软件,需要呈现的具体内容:

  1. 问题定义
  2. 可行性研究
  3. OOA
  4. OOD
  5. OOP
  6. 编码和单元测试
  7. 人机界面
  8. 数据库设计

(2)对应的图,种类有:类图、事件追踪图、人机界面图、状态图、基本系统模型图、数据流图。

第三十六题: 请说明未来毕业设计论文的内容若依照结构化范式开发软件需要呈现哪些具体内容以及对应的图有哪些种类?

答:若依照结构化范式开发软件,需要呈现的具体内容:

  1. 问题定义
  2. 可行性研究
  3. 需求分析
  4. 总体设计
  5. 详细设计
  6. 编码和单元测试
  7. 人机界面
  8. 数据库设计

对应的图有5种: E-R图、数据流图、盒图、用例图、系统架构图


☞原文:【软件工程—精选习题集(含参考答案)】总复习-60道简答题

【软件工程习题(含参考答案)】总复习相关推荐

  1. 【软件工程习题(含参考答案)】软件系统分析-五道题

    软件系统分析章节精选课后习题(含参考答案),如有错误,望不吝指出(#^.^#) [第一题]住院患者监护系统 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化, ...

  2. 【软件工程习题(含参考答案)】面向对象章节

    第一题: 面向对象设计应该遵循哪些准则? 简述每条准则的内容,并说明遵循这条准则的必要性. 答: 面向对象设计准则: 1.模块化:把程序整体划分成一个个独立命名且可独立访问的完成单个子功能的模块.采用 ...

  3. reg类型变量综合电路_2014年PLD习题集(含参考答案)数字系统设计

    下载word有问题请添加微信号:xuecool-com或QQ:370150219处理(尽可能给您提供完整文档),感谢您的支持与谅解. 第1章习题 1.1 名词解释 PROM CPLD FPGA ASI ...

  4. 大学计算机基础教程模拟选择题,【浙江大学】大学计算机基础教程——习题与参考答案...

    习题与参考答案 第1章 概述 简答题: 1.计算机是一种能按照事先存储的程序,自动.高速地进行大量数值计算和各种信息处理的现代化智能电子装置. 2.计算机的5个组成部分是:输入.存储.处理(运算).控 ...

  5. 2019年计算机学业水平测试填空题,2019年计算机学业水平模拟测试选择题80题Word(含参考答案)...

    2019年计算机学业水平模拟测试选择题80题Word(含参考答案) 2019年计算机学业水平测试选择题(10大题80小题) 第一题: 1.1."妈妈把鹏鹏的照片放在快盘里,远方的爷爷奶奶也能 ...

  6. 《汇编语言程序设计教程》人民邮电出版社第二版习题及参考答案

    网上的答案是第一版的,重新整理了一下 <汇编语言程序设计教程>人民邮电出版社第二版 刘慧婷,王庆生 主编 习题及参考答案 更多汇编内容请访问:omegaxyz.com 第一章至第五章 核对 ...

  7. 关于母亲节的c语言程序设计教程课后答案,《我的母亲》习题及参考答案

    <我的母亲>习题及参考答案 [基础练习] 1.下列词语中注音有两处错误的一项是(): A.穈先生(mí) 广漠(mò) 捞着(lāo) 嬉戏(xī) B.掷铜钱(zhì) 厌恶(wù) 摹 ...

  8. 计算机学业水平测试模拟题,2019年计算机学业水平模拟测试选择题80题Word(含参考答案)...

    2019年计算机学业水平模拟测试选择题80题Word(含参考答案) 2019年计算机学业水平测试选择题(10大题80小题) 第一题: 1.1."妈妈把鹏鹏的照片放在快盘里,远方的爷爷奶奶也能 ...

  9. python内置函数用来打开或创建文件_2020年《python程序设计》基础知识及程序设计598题XS[含参考答案]...

    2020年<python程序设计>基础知识及程序设计 598题[含参考答案] 一.填空题 1.表达式 len('中国'.encode('utf-8')) 的值为___________.(6 ...

最新文章

  1. 视学AI,这群大学生做了个牛逼的项目!
  2. JSON是什么?它能带来什么?
  3. 如何评估AI在医学影像识别中的应用效果?
  4. 玩转智能路由器-WRTnode开发板[接上网线]
  5. 区块链BaaS云服务(28)TOP Network 之数据结构
  6. Python进度条,可用在for循环中查看循环个数的执行情况(很实用)
  7. diy实现spring依赖注入
  8. 【Python3 爬虫】09_正则表达式(re.math()、re.search()、re.sub()、全局匹配函数)
  9. python爬取天气数据的header_[python爬虫]爬取天气网全国所有县市的天气数据
  10. zabbix自定义监控nginx
  11. UnionID与OpenID的区别【转自微信官方文档】
  12. Java 字符串处理
  13. 0PP0升级android版本,oppo哪些手机可以升级安卓11 oppo手机升级安卓11方法
  14. 我的hihocoder存代码
  15. Docker容器总结
  16. 洛谷 P5197 [USACO19JAN]Grass Planting 题解
  17. html添加背景音乐自动循环播放,html在谷歌浏览器的背景音乐怎么做才能自动循环播放...
  18. Tivoli 安装参考
  19. 【Google谷歌翻译】Zotero翻译插件中的引擎不可用,解决
  20. 关于写代码所用的编辑器

热门文章

  1. Git: The directory already exists and it is not empty
  2. ResNet论文笔记及Pytorch代码解析
  3. 博客导航——一站式搜索(所有博客的汇总帖)【微信开发】
  4. 转: RGB565、RGB888互相转换原理和代码
  5. Android混淆——混淆语法及问题
  6. Excel-VBA:“银行家舍入” 与“国际标准的四舍五入”
  7. 最难毕业季,会Python简直可以开挂!!
  8. 对标测评YD云电脑和天翼云电脑公众版
  9. 全军尽墨的Android应用:社会化授权登录及分享安全漏洞
  10. pyecharts图表库学习:Pie(饼图)