软件工程名词解释AND描述题

更新时间:2023-12-20 05:10:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. Capability Maturity Model Integration (CMMI)

能力成熟度模型集成,是一个过程元模型,定义了如何建立完整的软件过程,软件组织所应该具备的过程特征。分为不完全级、已执行级、已管理级、已定义级、已定量管理级、优化级。 2. Use-Cases

指从系统外部可见的系统的一个功能,也就是描述系统应该完成什么功能。

3. Information Hiding

信息隐藏:这是把系统分解为模块时的思想,即模块内部的数据与过程,应该对不需要了解这些数据与过程的模块隐藏起来。只有为了完成软件的总体功能而必须在模块间交换的信息,才允许在模块间进行传递。 4. Waterfall model

是一种基于软件生存周期的线性开发模型。它提出了一个系统的、顺序的软件开发方法,从用户需求规格说明开始,通过策划、建模、构件和部署的过程,最终提供一个完整的软件并提供持续的技术支持。

5. Incemental model

增量模型:以迭代的方式运用瀑布模型。这种模型把软件看作是一系列相互联系的增量,在开发过程的各次迭代中,每次完成其中的一个增量。

6. Software engineering(17)

软件工程是:(1)将系统化的,规范化,可量化的方法应用于软的开发,运行和维护,即将工程化的方法应用于软件。(2)在(1)中所述方法的研究

7. Unified Modeling Language (UML)

统一建模语言,对软件进行可视化、规约、构造、文档化的一种语言。

8. prototyping model

原型模型的思想是:先建立一个能够放映用户主要需求的原型,让用户实际看一下未来系统的面貌,以便判断哪些功能是符合需要的,哪些方面还需要改进,然后将原型反复改进,直至建立完全符合用户要求的新系统。

9. Software Architecture (200)

软件体系结构:一个程序和计算系统软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件,构件外部可见属性以及他们之间

的相互关系

Chapter 1 - Test Questions

1. How does software differ from the artifacts produced by other engineering disciplines? 请问软件与利用其他工程学科所生产的产品有什么不同? 答案:软件既是一种产品又是一种工具为客户提供产品。作为一个产品,软件是信息变压器。作为一种工具为客户提供产品,软件作为一种基础服务于计算机控制,通信和其他程序的建立。

2. How do software characteristics differ from hardware characteristics? 软件的特点与硬体的特征有什么不同?

Answer :软件开发,而不是制造。软件不磨损,但它可以恶化时作出更改。大多数软件是自订内建的,而不是组装出来的组成部分。 3. What is the difference between software that is determinate and software that is indeterminate? 软件的确定性和软件的不定性有什么不同?

Answer :软件是确定的是投入,加工,产出的顺序和时间是可预见的;不确定性,其输入,处理,和产出的时间和顺序是无法预测在前进中。

4. Explain what is wrong with the notion that computer software does not need to evolve over time. 解释这个观点“电脑软件并不需要随着时间的推移而演变更新”的错误之处。

Answer :计算机软件必须修改当错误被发现和纠正时。软件必须更新以适应变化,在计算环境。,客户会要求的变化很多次,旨在增添新功能,以适应现有的产品或以容纳的变化在营商环境。有时旧的系统将需要加以修改提供给用户带来很多益处,在现代。底线是软件,这并不演变,最终将成为无法使用。

Chapter 2 - Test Questions

1. List three areas in which process models may differ from one another. 列出不同过程模型3方面的区别? Answer

Overall flow and level of interdependencies among tasks

Degree to which work tasks are defined within each framework activity

Degree to which work products are identified and required Manner in which quality assurance activities are applied

Manner in which project tracking and control activities are applied Overall degree of detail and rigor of process description Degree to which stakeholders are involved in the project Level of autonomy given to project team

Degree to which team organization and roles are prescribed

2. What are the names of the six levels of the SEI Capability

Maturity Model Integration (CMMI)? In your own words, briefly describe each.SEI的能力成熟度模型集成( CMMI的)的六个级别究竟是什么名称?用自己的话,简要介绍了每一个。 Answer:

第0级-不完全级,过程面积不履行或不达到1级的目标和目的 第1级-已执行级,所有的工作任务,须出示工作的产品正进行 第2级-已管理级,人是做人的工作,获得足够的资源,最大限度地完成任务,利益相关者都积极参与,工作任务和产品的监测,审查,评估

第3级-已定义级,管理和工程进程的记录,规范,并纳入全组织的软件过程

第4级-已定量管理级,存在着严重的重点是测量和也是一个严重的,企图使用此数据管理的过程中

第5级-优化级,最佳做法,存在于几乎所有的水平和存在是一个持续不断的尝试,以改善

3. Why has the Personal Software Process has not been widely adopted by industry? 为什么个体软件过程没有得到广泛采用的行业?

Answer: PSP是智力挑战和要求某种程度的承诺(例如冗长和昂贵的培训所需的)这是不总是能够获得。此外,所需水平的测量是在文化方面是困难的对许多软件从业人员。

Chapter 3 - Test Questions

1. Describe the phases of the prototyping model for software development?描述原型模型软件开发的各个阶段?

Answer:

要求所收集的有客户和开发满足,并确定什么目标和要求,他们可以。快速设计如下,把重点放在代表性的软件,将有形给客户。一个原型是建造由发展商和评估由客户,并用来完善的要求。迭代出现的原型是调整,以满足顾客的需要。

2. Describe the role of risk analysis in evolutionary process models like the spiral model.描述风险分析的角色在进化过程模型中,如螺旋模型。

ANSWER:在每一次迭代的整个过程的步骤,无论是技术和管理风险的评估,看看是否仍然有可能完成这项工程,其所需的功能与可以接受的时间和成本的限制。

3. What are the primary advantages of the component-based process model for software engineering? 什么是基于组件的过程模型的软件工程的优势

Answer:基于组件的过程模型,促进软件重用和可重用性和可导致在:减少70 %的开发周期,减少84 %工程费用,以及提高70 %的生产率。

4. Why are incremental process models considered by many to be the best approach to software development in a

modern context?为什么增量过程模型被许多人认为是最好的软件开发方法在现代开发背景下? Answer:由于现代软件开发时间线越来越短,顾客越来越多样化

(决策的理解,要求更难) ,和不断变化的要求,越来越常见(在交付前) ,我们需要一个提供增量或进化交付的方式。增量的过程中可容纳的不确定性优于大多数过程模型,允许提供部分解决办法是有秩序和有计划地,而且最重要的,反映了当复杂系统被建立时真正发生了什么,

5. Describe the 5 phases of the Unified Process model for

software engineering? 描述统一过程模型软件工程的5阶段? Answer:

初始阶段(客户沟通,规划,建立用例) 细化阶段(用户沟通,建立分析和设计模型) 构建阶段(翻译设计模型到软件组件) 转换(从软件开发到最终用户验收测试)

生产(监控软件的持续使用,提供运行环境支持)

Chapter 4 - Test Questions

1. List the key issues stressed by an agile philosophy of software engineering. 软件工程的敏捷理念强调的关键问题:

Answer:具有控制力的自我组织团队对所开展工作的重要性;团队成员之间,开发参与者与客户之间的交流与合作;对“变更代表机遇”的认识;强调快速软件交付以让客户满意;

2 .What are the tradeoffs (values) proposed by the “Manifesto for Agile Software Development”? “敏捷软件开发宣言”所提及的价值 Answer:个体和交互胜过过程和工具

可工作软件胜过宽泛的文档 客户合作胜过合同谈判 响应变化胜过遵循计划

3. Describe the role of customers and end-users on an agile process team? 描述客户和最终用户在一个敏捷过程团队的角色 Answer:客户和最终用户作为充分合作者参与敏捷过程团队。他们是用来建立使用案例信息源,并提供对业务价值的建议,软件特性和功能所需的资料。他们还提供亟需的反馈意见对业务的原型,在增量交付的软件增值点。

4. Describe the three key assumptions regarding software

projects that every agile software process must address.描述软件工程项目中任何一个敏捷过程都强调的三个关键假设

ANSWER:提前预测哪些需求是稳定的和哪些需求会变化非常困难。同样,预测项目进行中客户优先级的变化也很困难。

对很多软件来说,设计和构建的交错进行的。事实上,两种活动应当顺序开展以保证通过构建实施验证设计模型,而在通过构建验证之前很难估计应该设计到什么程度。

从定制计划的角度来看,分析,设计,构建和测试并不像我们所设想的那么容易预测

Chapter 5 - Test Questions

1. What is the purpose of asking context-free questions as a means of beginning the software engineering communications activity? 把上下文无关问题作为开始软件工程沟通活动一种方法的目的是什么?

Answer:对问题的基本认识,谁想要一个解决方案,期望解决方案的性质,沟通活动本身的有效性

2. What questions make up Boehm’s W5HH principle? Boehm’s W5HH原则的问题

Answer:为什么要开发?要做什么东西?什么时候完成?功能由谁负责?组织位于那里?怎样才能在工作中体现技术和管理?需要多少资源?

3. Describe the key elements of construction practice. 描述构造实践的关键要素

Answer:施工实践,是一系列编码和测试任务,从而向客户或最终用户交付可运行软件。编码关注的是选择的编程语言,工具,标准和环境和需要落实的设计。测试包括验证软件构件组成,验证各构件是否完全整合到系统,并由客户验收完成的系统。

4. Describe the differences between software construction and software deployment. 描述软件构造和软件部署之间的不同。 Answer: 软件构件是关注的编码和测试软件的增量。部署是交付一个可运行的软件产品给最终用户,提供软件在使用期间的技术支持和处理用户对有关产品的效用的反馈意见。

Chapter 6 - Test Questions

1. What are the six elements that are present in most

computer-based systems? 基于计算机的系统的六要素是什么? Answer软件,硬件,人员,数据库,文档,规程。

2. What is the goal of business process engineering? 业务过程工程的目标是什么?

Answer :业务过程目标是定义一个能有效利用信息进行业务活动的体系。是一种系统工程方法,用以确定能够有效使用信息的业务架构。业务过程工程的目的是提供易于理解的数据结构,应用架构,还有满足业务战略和每个业务领域目标的基础设施。

3. In the context of systems engineering what is product engineering? 在系统构件工程中什么是产品工程? Answer:产品工程的目的是将客户期望的已定义的一组能力转变为真实产品。为了达到这个目的,-----类似与业务过程工程----必须给出架构和基础设施。这个架构包括四个不同的系统构件:软件,硬件,数据(数据库)以及人员。

4. Describe the activities for a generic system modeling process. 描述一个通用的系统建模的活动过程 Answer:一个系统模型模板是用来初步分配制度的要素,以每5个加工

区(用户界面,输入,系统功能和控制,输出,维修和自我测试) 。一个制度的背景图(的SCD )是创造了建立边界之间的制度和环境。 一系统的流程图(挤压油膜阻尼器) ,然后从创建的SCD界定的主要子系统和显示线路的信息(数据和控制)流。写的SCD和挤压油膜阻尼器,然后细致,每个子系统,好像它是一个独立的系统。系统规格是由写作的叙事描述为每个子系统和定义的数据流之间的子系统。

Chapter 7 - Test Questions

1. What three deployments are used in Quality Function

Deployment (QFD)? 什么三部署中使用了质量功能配置( QFD ) Answer :功能部署,信息部署,任务部署

2. Describe the weaknesses of use-cases as part of the

requirements engineering process. 作为需求工程的进程的一部分,案例使用有什么弱点?

Answer :缺乏在形式上的使用情况的说明; 并不是所有的系统有明确的行动者; 使用案件没有内在的面向对象; 有功能分解使用的发展趋势;

Chapter 8 - Test Questions

1. What are the data modeling elements represented in the entity relationship diagram (ERD)? 什么是数据建模元素所代表的实体关系图(ERD的)?

Answer:数据对象-的任何实体生产或消费信息,属性-数据特性与数据对象,例如

关系-表明,以何种方式数据对象连接

2. Describe the general process of creating a data flow diagram (DFD). 描述创造数据流图( dfd )的一般过程?

Answer:0级dfd描绘系统作为单个气泡,标记系统主要的的输入和输出。

开始求精过程,把下一层要表示的候选处理过程,数据对象,和数据存储分离。

使用有意义的名称标记所有的箭头和泡泡;从一个层次进入另一个层次,保持信息流的持续性。一次精华一个泡泡,为每个在最后的(最低水平) dfd泡沫写叙述。

3. How is an object-relationship model built from a set of CRC

(class responsibility collaborator) cards? 如何用一个对象-关系模型建成了一套启联资源中心(类,职责,合作者)卡? Answer :

?网络的合作对象是制定使用的CRC卡的名称,对象和标签线,表明合作者。

?标签的连接线被命名的基础上,合作者和关系,上市的启联资源中心的卡。

?一旦命名的关系已经建立,每一个连接线年底评估,以确定其基数 4. Which UML (unified modeling language) diagrams are useful in object-oriented analysis modeling? 哪个UML (统一建模语言)图表是有用的在面向对象的分析建模中? Answer

?基于场景的模型-用例图,活动图表,泳道图 ?基于类的模型-类图

?基于流的模型 -状态图,序列图

5. List the elements of the structured analysis model and explain the role of each element. 列举结构分析模型的元素并解释每个元素的作用。 AnsweR:

?数据字典-包含说明所有数据对象的生产或消费的软件 ?实体关系图( ERD的) -描述数据对象的关系

?数据流图( dfd ) -提供了一个显示的数据是如何转化为他们的动议,通过体制和职能转变的数据流

?状态过渡图(性病) -表明,系统响应外部事件

5. Explain why encapsulation, inheritance, and polymorphism are three important characteristics of object-oriented systems. 解释为什么封装,继承和多态性是面向对象系统三个重要的特点。 Answer:类提供了一个封装(信息隐藏)机制,是封装数据和过程的抽象,适当地执行这一机制,有益于低耦合和高模块化。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果,使许多不同的业务共用同一名称。

6. What are the steps needed to build an object-behavior model? 建立一个对象行为模型的必须步骤是什么

Answer

?评估所有的用例,以保证完全理解系统内的交互序列

?识别驱动交互序列的事件,并理解这些事件如何和具体的类相互关联

?为每个用例生成序列 ?创建系统状态图

?评审行为模式以验证准确性和一致性。

Chapter 9 - Test Questions

1. List three characteristics that can serve as a guide to evaluate design quality. 列出可以指导评价良好设计演化的三个特点 Answer :

?设计必须实现所有包含在分析模型中的明确要求,而且必须满足客户期望的所有隐含需求。

?对于那些生成代码的和那些进行测试以后以及维护人员而言,设计必须是可以读的,理解的指南

?设计必须提供软件的全貌,从现实的角度说明数据域,功能域和行为域 .

2. Describe the principle of information hiding as it applies to software design.描述的信息隐蔽原则当它用于软件的设计时 Answer:信息隐蔽原则意味着模通过定义一系列的独立模块就可以得到有的模块化。独立模块相互之间只交流实现软件功能所必须的那些信息;

同时定义并加强了了模块内的过程细节和模块所使用的任何局部数据结构的访问约束;

3. Explain how effective modular design is achieved through functional independence of the individual modules?有效的模块化设计是怎样通过功能独立的个别单元设计的?

Answer :功能独立的模块的实现由单一的决策模块(高凝聚力)和防止过多的互动(低耦合)与其他模块或系统的要素。独立的模块更容易开发,维护和测试,因为影响的副作用被降低(如传播错误) 。这也使得更容易执行并行执行单元。

4. Describe the differences between a design pattern and a framework. 描述设计模式和框架的差异

Answer :设计模式是较抽象较框架。框架往往是代码为基础的。框架可以包含的设计模式,设计模式,但不能包含框架。设计模式较少专门超过框架。

5. List the four design models required for a complete

specification of a software design and the role of each.列举一个完整的规范的软件设计的4个设计模型和作用。 Answer:

? 数据设计-高层次的模型,展示用户的意见,该数据或资料。 ? 体系结构设计-显示关系和协作之间的具体的分析模型,软件和硬件要素

? 接口设计-描绘了一套行动说明外部观测行为的一类,并提供进入其行动

? 构件级设计-描述了内部的详细资料,每个软件组件

Chapter 10 - Test Questions

1. What is the goal of data design? 数据设计目标是什么?

Answer:为了创建一个数据/信息模型--代表一个高层次的抽象(用户的看法)。这个模型是先后被改良成为更具体的实施意见书,可以处理由计算机为基础的系统。

2. What are the elements that make up a software architectural style? 哪些什么元素组成软件的体系结构风格? Answer :

? 一组构件,执行所需的系统功能。 ? 一组连接器,允许构件之间的通讯 ? 约束,说明构件如何集成成一个系统。

? 语义模型,使设计师能够通过分析已知的性能及其组成部分,了解整个系统的性能

3. How is a transaction center different from a transform center in a data flow diagram? 处理中心与变换中心有什么不同在一个数据流图中

Answer:处理中心把外部流入信息转换成系统内许多行动路径的的一条。变换中心用图把进入的外部信息标识为即将离开的外界信息。 4. Describe the types of dependencies that can exist in an

architectural design. 描述可以存在于一个体系结构设计类型的相

gathering methods, and an iterative development cycle that incorporates customer focus groups and formal technical

reviews as real-time feedback mechanisms. The Dynamic Systems Development Method (DSDM) defines three different iterative cycles—functional model iteration, design and build iteration, and implementation— preceded by two additional life cycle activities—feasibility study and business study.

4.Describe the XP concepts of refactoring and pair programming. XP encourages refactoring—a construction technique that is also a design technique. Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves the internal

structure. A central notion in XP is that design occurs both before and after coding commences. Refactoring means that design occurs continuously as the system is constructed a key concept during the coding activity is pair programming. XP recommends that two people work together at one computer workstation to create code for a story. This provides a

mechanism for real-time problem solving (two heads are often better than one) and real-time quality assurance.

分析题 2*10=20分

V(G)=3

Basic Path: ace, abce, acde Test case:

ace: i=1,j=0,X=1 Expected result: X=1 abce: i=1,j=1,X=1 Expected result: X=1 acde: i=2,j=1,X=1 Expected result: X=2

Y

A>1

路径 1 4 6 7 N 1 2 4 6 7 1 2 3 4 6 7 N 1 4 5 6 7 1 4 5 7 N A=2

Y

三、设计(共2小题,每小题10分,共20分)。

B=0 X=X/A X>1 N X=X+1 1. There is a project of Course Selection, including three entities: Teacher, Student

and Course. Describe the relationships of these entities using ERD; then According to the ERD, design the database of this project.

参考答案:

ER图如下:

姓名 学号 工号 姓名 性别 学生 班级 教师 M 学习 授课 N N 课程 课程号 课程名 M 学分

学生信息表

属性名 Stunum Stuname Stusex Stubirth Stumajor Studep 数据类型 char(10) char(10) char(5) char(10) char(10) Char(15) 可否为空 否 否 否 否 否 否 含义 学号 姓名 性别 出生日期 专业 院系 完整性约束 主码 教师信息表 属性名 Tenum Tename Tesex Tetitle Temajor 数据类型 char(10) char(10) char(5) char(10) char(20) 可否为空 否 否 否 否 否 含义 教师编号 姓名 性别 职称 专业 完整性约束 主码 课程信息表 属性名 Cno 数据类型 char(10) 可否为空 否 含义 课程号码 完整性约束 主码 Cname Ccredit Ctime Cplace char(10) char(10) char(10) char(10) 否 否 否 否 课程名称 学分 学时 上课地点

选课信息表 属性名 Stunum Cno result Tenum 数据类型 char(10) char(10) Char(10) Char(10) 可否为空 否 否 否 否 含义 学号 课程编号 成绩 授课教师编号 完整性约束 主码 外码 授课信息表

属性名 Tenum Cno Ccredit Ctime 数据类型 char(10) char(10) Char(10) Char(10) 可否为空 否 否 否 否 含义 完整性约束 授课教师编号 主码 课程编号 学分 学时

本文来源:https://www.bwwdw.com/article/8zw5.html

Top