如何评测软件工程知识技能水平?附带个人整理试卷

高软课程总结:

首先简要的谈一下该门课程的收获:

1、对软件有了一个更高层次的认识

在未接触过高级软件工程这门课程之前,我一直对软件存在一些偏见或者是误解,认为软件就是程序,软件的开发就是编写程序,只是编完了程序,一切也就ok了,而且我还片面的认为只要我掌握了时下最新的语言和工具,那么我就能写程序了。然后通过课程的学习逐渐认识到一个软件的诞生不仅仅就是写代码的过程,甚至写代码的完成其中很小的一个部分,需求分析,设计,测试以及软件的维护等都是一个高质量的软件的诞生比不可少的过程。

2、对写代码有了更高层次的认识

之前在写代码时,只注重完成自己所需完成的功能即可。然后通过课程的学习逐渐认识到我们在完成代码时,不仅有各种经验【如课程教授的设计模式与编写代码的风格等】的参考,还需要考虑自己所完成的代码的可重用性,可修改性以及可扩展性等各个方面去综合考虑自己所写的代码,使的自己的代码具有更好的可维护性。

3、对团队开发的协作有了初步的认识

之前从未涉及过此类的知识,其实团队之间的分工,统一,对于我这类从未设计过团队项目的菜鸟而言,这种学习势必能让我们在以后的工作中少走一些弯路。

4、学会了多种图形化的交流的方式

包括如何在用户不具备专业知识的前提下仍然能完成对用户需求的捕捉,例如从用户的角度构建各种模型,来更好地明白客户所需要的东西。例如:用例建模;包括如何避免软件开发过程中概念的歧义性问题,通过领域建模。初步熟悉了各种UML图。

我想对一门课程的学习老师所教授的有些方面知识启发性的传授,关于此门课程的学习仅仅通过该课程的学习还是不够的,对于课上没有详细涉及的部分还需要自己去学习才能完善该学科的知识体系吧!

 

知识点简要汇总【仅部分】

 

编程方面:

快捷键的熟悉与快速的输入是程序员比不可少的基本功,称为一名程序员之后你才能称为软件工程师;

其次是代码风格的养成:是否具有注释的好习惯,所编写的代码并不是自己理解即可,而是需要具有良好的可读性的【你跑了后来来顶替你的人可就苦了】;然后还有命名规范,好的命名绝对是提高代码可阅读性的一个利器。

最后就是需要熟练掌握的工具集:好的开发与开发工具的使用是不可分割的,找准自己所工作领域的最适合的工具绝对能使工作效率大大升高。可以从市面流行的工具下手逐步找到自己最中意的工具,例如VSCode,IDEA、vim等等。

 

软件开发过程方面:

软件生命周期概念:将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

软件过程的各种模型的特征、优缺点、使用范围。

 

优点

缺点

使用范围

瀑布模型

(1)有利于大型软件开发过程中人员的组织、管理,

(2)有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。

 

(1)开发过程一般不能逆转,否则代价太大;

(2)实际的项目开发很难严格按该模型进行;

(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。

(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。

(1)用户的需求非常清楚全面,且在开发过程中没有或很少变化;

(2)开发人员对软件的应用领域很熟悉;

(3)用户的使用环境非常稳定;

(4)开发工作对用户参与的要求很低。

 

快速原型模型

(1)可以得到比较良好的需求定义,容易适应需求的变化;

(2)有利于开发与培训的同步;

(3)开发费用低、开发周期短且对用户更友好。

(1)客户与开发者对原型理解不同;

(2)准确的原型设计比较困难;

(3)不利于开发人员的创新。

(1)对所开发的领域比较熟悉而且有快速的原型开发工具;

(2)项目招投标时,可以以原型模型作为软件的开发模型;

(3)进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。

增量模型

(1)采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;

(2)如果核心产品很受欢迎,则可增加人力实现下一个增量;

(3)可先发布部分功能给客户,对客户起到镇静剂的作用。

(1)并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;

(2)增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。

(1)进行已有产品升级或新版本开发,增量模型是非常适合的;

(2)对完成期限严格要求的产品,可以使用增量模型;

(3)对所开发的领域比较熟悉而且已有原型系统,增量模型也是非常适合的。

 

设计模式:

设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。

仅举例一个比较熟悉的设计模式:

观察者模式:

观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。

形象表述:

 

 

 分析及建模方面:

用例建模:

用例建模的目的:从用户的角度去建立系统功能的模型,

具体步骤为:

确定参与者,即与系统交互的人、其他系统、硬件等。

确定用例:用例应该典型的描绘系统功能中某个从开始到结束的过程。

具体可参考之前作业:用例建模作业

业务领域建模:

领域建模的目的是通过建立映射问题空间的常用词汇来解决项目沟通不畅的问题。

【个人理解:容易出现有歧义的词,当出现有歧义的词时,就会导致有不同的理解,从而可能会导致实现偏差。若提前定义了该词的意义,就可以避免这种情况。】

具体可参考之前的作业:业务领域建模。

 

 

 

 


 

区分软件工程师水平高低的人数【个人观点】:

1.仅仅是停留在编程语言面上还是理解编程语言的思想【OOP 、OOD、OOA】以及各种编程语言的优势在什么领域劣势,在什么领域?

2.数据结构与算法,搬砖还是造轮子?同样一个问题的处理时间不同的DS或者算法处理的时间

2.在给出一个需求的时候之后,是只关注需求的完成,还是在完成需求的完成的同时遵循代码的规范,例如:正确的命名方式以及逻辑模块的划分【1个方法中多个逻辑?】

3.在处理问题的时候是只关注眼前的问题,还是在解决到当前的问题时考虑对其他模块的影响。

4.能精准的锁定自己所设计的软件的用户群体,以及对用户群体心理的把握,是仅仅完成产品还是在完成产品的同时能考虑到大多数用户的偏好。

5.在出现问题时是否能快速逐级的锁定出问题的模块?

6.对各种设计模式的机制理解以及应用场景

7.是否具备足够的网络安全安全方面的知识

8.进度安排,项目管理

9.撰写技术文档

10.仅仅会用框架还是明白各种框架的原理机制与为什么这么设计?指出该框架的优劣

11.对系统质量的要求:一般、严厉、苛刻?

 

 

 

 

 

由于是软件工程的考试,所以相关试题均是软件工程的试题。

试卷部分

一、名词解释

1.功能内聚

参考答案:功能内聚指模块内所有元素共同完成一个功能,缺一不可,因此模块不能再分割。

2.多态

参考答案:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。

3.模块化

参考答案:模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程。

4.设计模式

参考答案:设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。

5.实现视图

 参考答案:从程序员的角度看待系统的视图。

二、填空题

1.瀑布模型是以文档为驱动、适合于______软件项目的开发。

参考答案:软件需求确定的

考察点及解析:区分于软件需求不确定的快速原型模型。

根据瀑布模型与快速原型模型概念即可得。

来源:2006年中南大学考研试题

 

2.模块之间的耦合最好采用______耦合。

参考答案:数据

考察点及解析:耦合紧密程度排序

一般模块之间可能的连接方式有七种,构成耦合性的七种类型。它们之间的关系为(耦合性性由强到弱):

 解析:

内容耦合(Content Coupling) 如果发生下列情形,两个模块之间就发生了内容耦合。

1.一个模块直接访问另一个模块的内部数据;

2.一个模块不通过正常入口转到另一模块内部;

3.两个模块有一部分程序代码重叠(只可能出现在汇编语言中);

4.一个模块有多个入口。

公共耦合(Common Coupling) 若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。

外部耦合(External Coupling) 一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。

控制耦合(Control Coupling) 如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。

印记耦合(Stamp Coupling) 如果一组模块通过参数表传递记录信息,就是标记耦合。它是某一数据结构的子结构,而不是简单变量。

数据耦合(Data Coupling) 如果一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合。

非直接耦合(Nondirect Coupling) 如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。这种耦合的模块独立性最强。

来源:2014年944专业课考研真题

 

3.在常见的软件生存期模型中,______模型是风险驱动的。

参考答案:螺旋

考察点及解析:螺旋模型的特点。

螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。

来源:2008年中南大学考研试题

 

4.UML 关系包括关联、 聚合、 泛化、 实现、 依赖等 5 种类型, 请将合适的关 系填写在下列描述的( ) 中。 ① 用例及其协作之间是_____关系。 ② 在学校中, 一个学生可以选修多门课程, 一门课程可以由多个学生选修, 那 么学生和课程之间是______ 关系。 ③ 类 A 的一个操作调用类 B 的一个操作, 且这两个类之间不存在其他关系, 那 么类 A 和类 B 之间是__ 关系。 ④ 森林和树木之间是_____ 关系。

参考答案:实现,关联,依赖,聚合

考察点及解析:UML几种关系的理解

解析见选择题2.

来源:百度文库,高级软件工程师测试题第一套

 

5.需求分析的基本任务是___________,在需求分析结束前,系统分析员应该写出 _ ________,以书面的形式准确描述软件需求。

参考答案:准确地回答系统必须做什么 ,软件需求规格说明书。

考察点及解析:熟悉对软件开发过程中需求分析阶段。【需求分析为开发过程中的重要阶段】

解析见简答题4。

来源:2008中南大学考研真题

 

三、选择题

1.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法()。

A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法

C. 基于对象的面向对象的方法 D. 基于数据的数据流开发方法

参考答案:C

考察点及解析:对UML的理解

面向对象的技术首先是SmallTalk语言中得到应用,后来随着C++、JAVA等面向对象语言的出现,面向对象技术的广泛开发工具的支持,UML是在面向对象的软件开发在设计阶段常用的一个工具。

来源:郑州大学软件工程考研试题【年份待确定】

 

2.车与车轮之间的关系是()。

A.组合  B.聚合  C.继承  D.关联

参考答案:A

考察点及解析:UML的几种关系的理解

UML中定义的关系主要有6种

泛化:

在程序中通过“继承”来实现,也可以认为就是继承; 通过空心三角形+实线来表示,子类指向父类。

实现:

可以理解为类与接口之间的关系; 通过空心三角形+虚线来表示,从实现类指向接口

依赖:

是一种“使用”关系,即一个类(A)的实现需要用到另一个类(B)。 尽量不要使用双向依赖。 一般表现为类A中的方法需要类B的实例作为其参数或变量,但是类A本身并不需要引用类B的实例作为其成员变量。 使用虚线箭头表示,类A指向类B。

关联:

比依赖的关系更强,类A使用类B的实例作为自己本身的一个成员变量。 使用实线箭头表示,类A指向类B。

聚合:

传说中的 has-a关系,类A和类B是整体和部分的关系。但是两个部分的生存周期可以不同,没那么强的约束关系。 是一种更强的关联关系,关联关系的特例。 使用空心菱形+实线来表示,范围小的指向范围大的。

组合:

contains-a关系,类A和类B也是整体和部分关系,但是之间的关联更强,有共同的生命周期,一旦整体不存在,部分也将不存在。 通过实心菱形+实线来表示,范围小的指向范围大的。

来源: 百度文库 软件工程测试题汇集

 

3.在软件开发中,需求分析阶段可以使用的工具是( )。

A、N-S图 B、DFD图 C、PAD图 D、程序流程图

参考答案:B

考察点以及解析:

需求分析最重要的就是IT人员、业务人员都能够理解的,便于双方沟通、确认,同时又不能够是纯粹自然语言的,否则没有办法转换为计算机的程序实现: 1、N-S图,Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也叫做N-S图。为表示五种基本控制结构,在N-S图中规定了五种图形构件。 2、DFD图,简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 3、PAD图,PAD是Problem Analysis Diagram的缩写,它是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。 4、程序流程图,独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。 DFD图是需求分析阶段业务人员能够理解的工具,而N-S图、PAD图、程序流程图,都是具体到设计阶段的设计工具

来源:http://www.k51.com.cn/QuestDetail/0c78e9fb-6f7f-415b-b5d5-e6d6001500c6.html

 

4.以下哪一项不是面向对象的特征( ).

A.多态性 B.继承性 C.封装性 D.过程调用

参考答案:D

考察点及解析:OOP特征的理解

面向对象的特征有:

(1)对象唯一性。

每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。

(2)抽象性。

抽象性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。

(3)继承性。

继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。

在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。

在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承

多重继承,JAVA、VB、NET、Objective-C均仅支持单继承,注意在C++多重继承时,需小心二义性。

软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重用性。

采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。

(4)多态性(多形性)

多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

多态性允许每个对象以适合自身的方式去响应共同的消息。

多态性增强了软件的灵活性和重用性。

来源:2016年复旦大学期末考试题

 

5.模块内聚度越高,说明模块内各成分彼此结合的程度越( )。

A.松散 B.紧密 C.无法判断 D.相等

参考答案:B

考察点:内聚与耦合的概念理解。

内聚度是前述信息隐藏和局部化概念的自然扩展,它标志一个模块内部各成分彼此结合的紧密程度。内聚度按其高低程度可分为7级,内聚度越高越好。

内聚度是前述信息隐藏和局部化概念的自然扩展,它标志一个模块内部各成分彼此结合的紧密程度。

设计软件时,应该能够识别内聚度的高低,并通过修改设计尽可能提高模块内聚度,从而获得较高的模块独立性

来源:2015北京航空航天大学期末考试题

 

6.下面不属于软件需求分析阶段主要工作的是()

A、需求变更申请

B、需求分析

C、需求评审

D、需求获取

参考答案:A

考察点与解析:

需求分析是软件生命周期的一个重要阶段,它的基本任务是准确地回答“系统必须做什么”这个问题,

它的主要工作分为4个方面,分别是需求获取、需求分析、编写需求规格说明书及需求评审。需求获取是通过和用户的接触初步确定系统的功能;需求分析的任务是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求;在需求分析阶段结束以前,系统分析员应该写出需求规格说明书;需求评审是根据需求规格说明书来严格审查和验证需求分析的结果。

来源:https://www.shangxueba.cn/933321.html

 

7、下列选项中不属于结构化程序设计原则的是( )。

A、可封装

B、自顶向下

C、模块化

D、逐步求精

参考答案:A

考察点与解析:

结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。

来源:

 

8、构成计算机软件的是()

A、源代码

B、程序与数据

C、程序与文档

D、程序、数据、相关文档

参考答案:D

考察点及解析:软件指的是计算机系统中与硬件相互依赖的另 —部分,包括程序、数据和有关的文档,选D。

来源:计算机二级MS Office试题库

 

9、软件开发模型是对软件开发过程的一种规范描述,用于表示软件开发过程的整体框架和软件开发活动各阶段间的关系。下列模型属于软件开发模型的是

Ⅰ.瀑布模型 Ⅱ.快速原型模型 Ⅲ.增量模型 Ⅳ.螺旋模型

A、Ⅰ、II、Ⅲ和Ⅳ

B、II、Ⅲ

C、Ⅰ、II和Ⅳ

D、II、Ⅲ和Ⅳ

参考答案:A

考察点及解析:软件开发模型的了解。

软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。 软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。

软件工程之软件开发模型类型 1.边做边改模型 2.瀑布模型 3.演化模型 4.增量模型 5.螺旋模型 6.喷泉模型 7.敏捷模型-SCRUM

各种模型的优点和缺点 瀑布模型 文档驱动 系统可能不满足客户的需求 快速原型模型 关注满足客户需求 可能导致系统设计差、效率低,难于维护 增量模型 开发早期反馈及时,易于维护 需要开放式体系结构,可能会设计差、效率低 螺旋模型 风险驱动 风险分析人员需要有经验且经过充分训练

来源:https://wenku.baidu.com/view/0813c9d86e1aff00bed5b9f3f90f76c661374c55.html


 

四、简答题【简答题无解析】

1.什么是软件工程?软件工程与计算机科学有什么不同?

参考答案:软件工程是将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。

SE与CS的区别:计算机科学着重于计算机相关原理和理论的研究。而软件工程与计算机科学不同,软件工程着重于如何建造软件系统,即把计算机技术看做工具,用以解决问题。

考察点:区分SE于CS

来源:一个复习提纲上列出的一道题目。

 

2..面向对象方法中,类和对象有何联系与区别?举例说明。

参考答案:联系:类是一组相似对象的一般化描述,同一个类中的对象继承类的属性和方法。

区别:类是一个抽象的概念,它不存在与现实中的时间空间中,类只是为所有的对象定义了抽象的属性和行为;类是一个静态的概念,类本身不携带任何数据,当没有为类创建任何对象时,类本身不存在于内存空间中。对象是类的一个具体。它是一个实实在在存在的东西;对象是一个动态的概念,每一个对象都存在这有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随它自己的行为而发生改变。

举例:各自发挥。

考察点:考察对类与对象的理解

来源:2012年944考研真题

 

3.描述一个你最熟悉的设计模式以及这样设计的优缺点

参考答案:开放性试题

考察点:设计模式的理解考察

来源:来自之前高软作业

 

4.软件生存周期都包括哪些活动(至少写5个)。

参考答案:

image-20200101142243805

来源:2015-2016复旦大学期末考试题

 

5.传统"瀑布模型"的主要缺陷是什么? 试说明造成缺陷的原因。

参考答案:传统"瀑布模型"的主要缺陷及其原因: 在项目的早期, 用户常常很难清楚地 给出所有需求, 瀑布模型却要求如此。 由于瀑布模型的特点, 早期的错误直到开 发晚期才能被发现, 开发的风险较大。

考察点:传统瀑布模型以及缺点

来源:https://wenku.baidu.com/view/606bf1aaccbff121dc36835e.html

 

6.黑盒测试与白盒测试的差异是什么?

参考答案:

一、测试方式不同

1、黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用。

2、白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

二、测试目的不同

1、黑盒测试:把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

2、白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

三、测试原则不同

1、黑盒测试:以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

2、白盒测试:一个模块中的所有独立路径至少被测试一次。所有逻辑值均需测试true和false两种情况。

考察点:黑盒测试与白盒测试的差异。

来源:2019年南京大学考研真题

7.用例建模与领域建模的用处?

用例建模作用:

首先,用例模型是一种标准的语言,很容易成为开发人员之间交流和沟通的媒介,用例模型可以精确地定义软件需求,出现歧义的可能性很小,这可以保证用户和开发人员对需求理解的一致性 其次,用例模型可以成为我们评估压法工作量的一个标准,特别是对于迭代式开发言。迭代式开发模型里,通常依据用例模型来划分软件的开发周期:优先级别高的用例会在早期的迭代周期中实现,而优先级别低的用例则被安排在后续的迭代周期中完成。可以通过限制每个迭代周期中的用例个数来保证迭代周期长度的合理性 再次,用例模型在整个开发过程中都扮演着非常重要的角色,它可以驱动软件的分析和设计逐步细化 最后,测试过程中使用的测试用例-----特别是那些关注软件功能的测试用例---往往也是根据用例模型来确定的。

【个人理解其实就是让用户可以在不具备专业知识的前提下,也可以与分析员无障碍的沟通的中介。】

领域建模的目的是通过建立映射问题空间的常用词汇来解决项目沟通不畅的问题。

【个人理解:容易出现有歧义的词,当出现有歧义的词时,就会导致有不同的理解,从而可能会导致实现偏差。若提前定义了该词的意义,就可以避免这种情况。】

来源:个人出题

posted @ 2020-01-01 14:52  跳梁小丑李某某  阅读(734)  评论(0编辑  收藏  举报