最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

2020四川大学软件工程期末复习

来源:动视网 责编:小OO 时间:2025-09-24 08:56:11
文档

2020四川大学软件工程期末复习

Multiplechoices1.TherapidapplicationdevelopmentmodelisAnswer:ca.Anothernameforcomponent-baseddevelopment.b.Ausefulapproachwhenacustomercannotdefinerequirementsclearly.c.Ahighspeedadaptationofthelinearsequentialmodel.d.Alloftheabove.1.Whichofthefollo
推荐度:
导读Multiplechoices1.TherapidapplicationdevelopmentmodelisAnswer:ca.Anothernameforcomponent-baseddevelopment.b.Ausefulapproachwhenacustomercannotdefinerequirementsclearly.c.Ahighspeedadaptationofthelinearsequentialmodel.d.Alloftheabove.1.Whichofthefollo
Multiple choices 

1.The rapid application development model is                                                   Answer:c

a.Another name for component-based development.

b.A useful approach when a customer cannot define requirements clearly.

c.A high speed adaptation of the linear sequential model.

d.All of the above.

1.Which of the following is not necessary to apply agility to a software process? 

a.Eliminate the use of project planning and testing

b.Only essential work products are produced

c.Process allows team to streamline tasks 

d.Uses incremental product delivery strategy     Answer:a

2.How do you create agile processes to manage unpredictability? 

a.Requirements gathering must be conducted very carefully 

b.Risk analysis must be conducted before planning takes place 

c.Software increments must be delivered in short time periods 

d.Software processes must adapt to changes incrementally 

e.Both c and d

Answer: e

1.To construct a system model the engineer should consider which of the following restraining factors? Answer: e

a.assumptions

b.budget

c.constraints 

d. schedule

e.both a and c

2.During business process engineering, three different architectures are examined. Answer: a

a.applications, data, technology infrastructure 

b.communications, organization, financial infrastructure 

c.network, database, reporting structure 

d.systems, requirements, data structure 

3.Which of the following is not one of the context-free questions that would be used during project inception? 

a.What will be the economic benefit from a good solution? 

b.Who is against this project? 

c.Who will pay for the work? 

d.Who will use the solution? 

Answer: b

1.During the process of modeling the system in context, systems that interact with the target system are not represented as           Answer: d                                                       

a.Peer-level systems

b.Subordinate systems

c.Super-ordinate systems

d.Working systems

6. In transaction mapping the first level factoring results in the      Answer: b                                   

a.creation of CFD.

b.derivation of control hierarchy

c.distribution of work modules

d.refinement of the module view

a.entity relationship diagram

b.module interface descriptions

c.processing narratives for each module

d.test case for each module

e.Both b and c 

a.groups of classes that collaborate or communicate in some way

b.single operations as they are added to the evolving class implementation

c.operator programs derived from use-case scenarios

d.none of the above

Filllment  填空题

5 Framework activity

沟通 策划 建模 构建 部署

Process models

惯用过程模型: 

线性:瀑布过程模型&经典生命周期 V模型 

并行:增量过程模型

演化过程模型:原型开发模型 螺旋模型 (迭代)

协同开发模型(concurrent development model)

专用过程模型: 

基于构建的开发模型(conponent-based)

形式化方法模型(formal method)应用数学分析

Process flow type

线性过程流 迭代过程流 演化过程流evolutionary 并行过程流Parallel

Software process is a layered 

过程  方法 工具

XP process model 极限编程过程

策划 设计敏捷建模 重构 编码结对编程 测试

UP (5 phases)

初始inception 细化elaboration 构建 转换transition 生产production 

UI design golden rules

用户操纵控制place the user to control

减少用户记忆负担reduce the user‘s memory load

保持界面一致consisitenty

Design model  

数据/类设计 体系结构设计 接口设计 构建级设计

Requirement engineering 

起始 导出elicitation 精化elaboration 协商negotiation 

规格说明specifiction 确认validation 需求管理managment

Requirement modeling focuses on 

基于场景的元素 基于类的元素 行为元素 面向数据流的元素 

Manifesto for agile software development statement 敏捷宣言

个体交互胜过开发过程和工具

可运行的软件胜过宽泛的文档

客户合作胜过了合同谈判

对变更的良好响应胜过了按部就班地遵循计划

Testing strategy 

单元测试 集成测试 确认测试 系统测试

CMMI  Level names

不完全级incomplete 已执行级performed 已管理级managed 

已定义级defined  已定量管理级quantiatively managed 优化级optimized

Term Explanation 名词解释

Software engineering

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

Software Architecture

软件体系结构:指系统的一个或者多个结构,包括软件的构件,构件的外部可见属性以及它们之间的相互关系。

Couple and Cohesion 

内聚性:显示了某个模块相关功能的强度

耦合性:显示了模块间相互依赖关系

UML 

统一建模语言:是一种支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格到构造和配置

Regression testing

回归测试:在集成测试策略环境下,重新执行已测试的某个子集,以确保変更没有传播不期望的副作用。 

Waterfall model

瀑布模型 经典生命周期模型:当需求很清楚时候。他提出一个系统的,顺序的软件开发方法,从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供一个完整的软件和持续的技术支持。

Information hiding 

信息隐藏:指在设计和确定模块时,使得一个模块内包含的特定信息,对于不需要这些信息的其他模块来说是不可访问的。

Software testing

软件测试:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。   

Requirement Engineering

需求工程:指致力于不断理解需求的大量任务和技术,从软件工程的角度看,需求工程就是一个软件工程活动,开始于沟通活动并持续到建模活动

Usecase

用例:识别系统使用线索的场景,提供了系统将如何被使用的描述。用户如何在一个特定的环境下与系统交互。

Class

类:具有相似属性和共同行为的事务集合。                              

CRC model

类-职责-协作者模型:可以识别和组织与系统或产品需求相关的类。

实际上是表示类的标准索引卡片的集合,写有类名,类的职责,类的协作关系。

Incemental Model 

增量模型:增量模型综合了线性过程流和并行过程流的特征,随着时间的推移,增量模型在每个阶段运用线性序列,每个线性序列生产出一个软件的可交付增量。          

Polymorphism

多态性:一种机制,允许一个类层次结构中的几个对象有不同的方法内容但具有相同的名称。   

CMMI

能力成熟度模型集成:一个全面的过程元模型,当软件开发组织达到不同的过程能力和成熟度水平时,该模型可以用来评估其所开发系统和软件工程能力。

0:incomplete不完全级;1:performed 已执行;2 managed 已管理;3 defined 已定义;4 quantitatively managed 已定量管理级;5 optimized 优化级

Prototype model

原型开发:演化过程模型的一种。即当需求很模糊的时候,帮助理解需要做什么。开始于沟通,迅速策划一个原型开发迭代并进行建模,快速设计出原型并进行部署,根据反馈进一步细化软件的需求。

Open-Closed Principle

开关原则:模块应该对外延具有开放性,对修改具有封闭性。

Software Myths

软件神话:即关于软件及其开发过程的一些说法被人盲目相信,这可以追溯到信息处理技术发展初期。看起来是事实的合理描述(管理神话,用户神话,从业者神话)

Q&A 问答题

How do software characteristics differ from hardware characteristics?

(1)软件是设计开发的,而不是传统意义上生产制造的;

(2)软件不会磨损,但会因为变更而退化;

(3)虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据顾客实际需求定制的。 

Describe the differences between software construction and software deployment.

软件的构建包括了编码和测试任务,从而为向客户和最终用户交付可运行软件做好准备。

部署则包括了三个动作:交付,支持和反馈。用于现代软件工程本质上是演变的,因此部署并不是只发生一次。

两者都是软件工程的通用框架活动,但是构建肯定是发生在部署之前,部署是构建的下一个活动。

Describe the five framework activities involved in the software process.

       沟通:包含了与客户之间大量的交流和协作,理解利益相关者的项目目标,并收集需求以定义软件的特性和功能。

       策划:指为后续的软件工程工作制定计划,它描述了需求执行的技术任务,可能的风险,资源需求,工作产品和工作进度

       建模:包括创建模型和设计两个方面,创建模型有助于客户和开发人员更好地理解软件需求,设计可以实现需求

       构建:包括编码和测试

       部署:将软件交付到用户手中,用户对其进行评测并给出反馈意见。

Which UML (unified modeling language) diagrams are useful in object-oriented analysis modeling?

基于场景的模型:用例图 活动图 UML泳道图

基于类的模型:类图 协作图

行为元素:状态图 顺序图

List the types of models that might be used in requirements modeling and explain the role of each type of model.

(1)基于场景的元素:表述用户如何与系统和使用软件时出现的特定活动序列进行交互。(2)基于类的元素:表示了系统操作的对象、应用于对象间能有效控制的操作、对象间的关系以及已定义类之间的协作。

(3)行为元素:描述了外部事件如何改变系统或驻留在系统里的类的状态。

(4)面向流的元素:表示信息转换的系统,描述了数据对象在流过各种系统功能时是如何转换的。

What are the six steps for requirements engineering?

起始:对问题、方案需求方、期望方案的本质、客户和开发人员之间初步的交流和合作的效果建立基本了解;

导出:开展需求收集活动;

精化:将信息进行扩展和提炼,开发一个精确的技术模型用以说明软件功能特征和约束;

协商:不同客户提出了冲突的需求,通过协商解决冲突,使各方达到一定满意度;

规格说明,描述了一个基于计算机系统的功能和性能,以及那些将影响系统开发的约束;

确认:对需求工程的工作产品进行质量评估;

Briefly describe the primary differences between structured analysis and object-oriented analysis.

结构化的分析:一种考虑数据和处理的需求建模方法,其中处理将数据作为实体加以转换。数据对象建模定义了对象的属性和关系,操作数据对象的处理建模应表明当数据对象在系统内流动时处理如何转换数据

面向对象的分析:关注于定义类和影响客户需求的类之间的协作方式

Describe the differences between the software engineering terms coupling and cohesion?  

内聚性:显示了某个模块相关功能的强度

耦合性:显示了模块间相互依赖关系

构件应该保持高内聚性,低耦合性。

Describe each role of the following design models of data, architecture, interface and component-level design required for a complete specification of a software design. 

●数据/类设计:

创建在高抽象级上(用户观点)表示的数据模型和信息模型 / 将分析类模型转化为设计类的实现以及软件实现所要求的数据结构

●体系结构设计:

等效于房屋的平面图,提供了软件的整体视图,定义了软件主要结构元素之间的联系

●接口设计:

相当于一组房屋的门、窗和外部设施的详细绘图,描述了信息如何流入和流出系统以及被定义为体系结构一部分的构件之间如何通信

●构件级设计:

相当于房屋中每个房间的一组详图及规格说明,软件的构件级完整地描述了每个软件构件的内部细节

1.为所有局部数据对象定义数据结构data structure

2.为所有在构件内发生的处理定义算法细节algorithmic detail

3.定义访问所有构件操作的接口interface

How does the object-oriented view of component-level design differ from the traditional view?

面向对象观点:注重细化来自问题域和基础域的设计类。构件包括一组协作的类。构件中的每个类都得到详细阐述,包括所有的属性和与其相关的操作。所有设计类相互通信协作的接口必须定义,设计师从需求模型开始,详细描述分析类和基础类

传统观点:构件就是程序的一个功能要素,程序由处理逻辑及实现处理逻辑所需的内部数据结构以及能够保证构件被调用和实现数据传送的接口构成。传统构件也称为模块,作为软件体系结构的一部分,可细化为控制构件 基础设施构件 问题域构件

What are the key differences between validation testing goals and verification (or acceptance) testing goals?

确认:确保开发的软件可追溯到客户需求的一系列活动(是否构造正确的产品)

验证:确保软件正确地实现某一特定功能的一系列活动 (是否正确地构造产品)

Why is regression testing an important part of any integration testing procedure?

每加入一个新模块作为集成测试的一部分时,软件发生变更,这些变更可能会使原来可以正常工作的功能产生问题。在集成测试的环境下,回归测试是重新执行已测试过的某些子集,已确保变更没有传播不期望的副作用。

Describe the differences between black-box testing and white-box testing.

黑盒测试是指在软件接口处执行测试,只检查系统的功能方面,不考虑软件的内部结构。是一种采用外部观察的方法的测试。

白盒测试是基于过程细节的封闭检查,通过提交检查特定条件集合或循环的测试用例,测试贯穿软件的逻辑路径和构件间的协作,是一种采用内部观察方法的测试。

What is equivalence partitioning as it applies to software testing? What is scenario-based testing? 

等价划分测试:一种黑盒测试方法,将所有可能的数据划分成若干个等价类,每类中找出一个典型值代表这一类,对每个典型值进行测试,来发现程序错误。理想测试用例可以单独发现一类错误。

基于场景的测试:关心用户做什么,捕获用户必须完成的任务,然后在测试时使用他们及其变体,倾向于用单一测试检查多个子系统,用于发现交互错误。

Problem Analysis  设计分析题

Basic path testing

起始点 (起点不算结点数) 箭头 Y/N 美观 判断菱形 执行矩形

环复杂度 判断结点数+1 边-结点+2

路径 每个分支都要走过

测试数据每个变量都要有

Process model application

我们采用了瀑布模型的变体V模型

由于我们的需求具有准确定义和相对稳定的特点,因此从沟通到部署我们都采用线性流的工作方式,并且我们将验证确认动作也应用于我们的软件开发,在经过需求建模、体系结构设计、构件设计和代码生成后,进行了单元测试、集成测试、确认测试和系统测试等一系列测试活动,因此我们采用的过程模型为V模型

DFD mapping to software chart

文档

2020四川大学软件工程期末复习

Multiplechoices1.TherapidapplicationdevelopmentmodelisAnswer:ca.Anothernameforcomponent-baseddevelopment.b.Ausefulapproachwhenacustomercannotdefinerequirementsclearly.c.Ahighspeedadaptationofthelinearsequentialmodel.d.Alloftheabove.1.Whichofthefollo
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top