四川大学软件的工程期末复习.docx
- 文档编号:7979069
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:10
- 大小:23.52KB
四川大学软件的工程期末复习.docx
《四川大学软件的工程期末复习.docx》由会员分享,可在线阅读,更多相关《四川大学软件的工程期末复习.docx(10页珍藏版)》请在冰豆网上搜索。
四川大学软件的工程期末复习
Multiplechoices
1.TherapidapplicationdevelopmentmodelisAnswer:
c
a.Anothernameforcomponent-baseddevelopment.
b.Ausefulapproachwhenacustomercannotdefinerequirementsclearly.
c.Ahighspeedadaptationofthelinearsequentialmodel.
d.Alloftheabove.
1.Whichofthefollowingisnotnecessarytoapplyagilitytoasoftwareprocess?
a.Eliminatetheuseofprojectplanningandtesting
b.Onlyessentialworkproductsareproduced
c.Processallowsteamtostreamlinetasks
d.UsesincrementalproductdeliverystrategyAnswer:
a
2.Howdoyoucreateagileprocessestomanageunpredictability?
a.Requirementsgatheringmustbeconductedverycarefully
b.Riskanalysismustbeconductedbeforeplanningtakesplace
c.Softwareincrementsmustbedeliveredinshorttimeperiods
d.Softwareprocessesmustadapttochangesincrementally
e.Bothcandd
Answer:
e
1.Toconstructasystemmodeltheengineershouldconsiderwhichofthefollowingrestrainingfactors?
Answer:
e
a.assumptions
b.budget
c.constraints
d.schedule
e.bothaandc
2.Duringbusinessprocessengineering,threedifferentarchitecturesareexamined.Answer:
a
a.applications,data,technologyinfrastructure
b.communications,organization,financialinfrastructure
c.network,database,reportingstructure
d.systems,requirements,datastructure
3.Whichofthefollowingisnotoneofthecontext-freequestionsthatwouldbeusedduringprojectinception?
a.Whatwillbetheeconomicbenefitfromagoodsolution?
b.Whoisagainstthisproject?
c.Whowillpayforthework?
d.Whowillusethesolution?
Answer:
b
1.Duringtheprocessofmodelingthesystemincontext,systemsthatinteractwiththetargetsystemarenotrepresentedasAnswer:
d
a.Peer-levelsystems
b.Subordinatesystems
c.Super-ordinatesystems
d.Workingsystems
6.IntransactionmappingthefirstlevelfactoringresultsintheAnswer:
b
a.creationofCFD.
b.derivationofcontrolhierarchy
c.distributionofworkmodules
d.refinementofthemoduleview
7.AsuccessfulapplicationoftransformortransactionmappingtocreateanarchitecturaldesignissupplementedbyAnswer:
e
a.entityrelationshipdiagram
b.moduleinterfacedescriptions
c.processingnarrativesforeachmodule
d.testcaseforeachmodule
e.Bothbandc
7.TheOOtestingintegrationstrategyinvolvestestingAnswer:
a
a.groupsofclassesthatcollaborateorcommunicateinsomeway
b.singleoperationsastheyareaddedtotheevolvingclassimplementation
c.operatorprogramsderivedfromuse-casescenarios
d.noneoftheabove
Filllment填空题
5Frameworkactivity
沟通策划建模构建部署
Processmodels
惯用过程模型:
线性:
瀑布过程模型&经典生命周期V模型
并行:
增量过程模型
演化过程模型:
原型开发模型螺旋模型(迭代)
协同开发模型(concurrentdevelopmentmodel)
专用过程模型:
基于构建的开发模型(conponent-based)
形式化方法模型(formalmethod)应用数学分析
Processflowtype
线性过程流迭代过程流演化过程流evolutionary并行过程流Parallel
Softwareprocessisalayered
过程方法工具
XPprocessmodel极限编程过程
策划设计敏捷建模重构编码结对编程测试
UP(5phases)
初始inception细化elaboration构建转换transition生产production
UIdesigngoldenrules
用户操纵控制placetheusertocontrol
减少用户记忆负担reducetheuser‘smemoryload
保持界面一致consisitenty
Designmodel
数据/类设计体系结构设计接口设计构建级设计
Requirementengineering
起始导出elicitation精化elaboration协商negotiation
规格说明specifiction确认validation需求管理managment
Requirementmodelingfocuseson
基于场景的元素基于类的元素行为元素面向数据流的元素
Manifestoforagilesoftwaredevelopmentstatement敏捷宣言
个体交互胜过开发过程和工具
可运行的软件胜过宽泛的文档
客户合作胜过了合同谈判
对变更的良好响应胜过了按部就班地遵循计划
Testingstrategy
单元测试集成测试确认测试系统测试
CMMILevelnames
不完全级incomplete已执行级performed已管理级managed
已定义级defined已定量管理级quantiativelymanaged优化级optimized
TermExplanation名词解释
Softwareengineering
软件工程是:
1将系统化,规范化,可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。
2,在1中所述方法的研究。
SoftwareArchitecture
软件体系结构:
指系统的一个或者多个结构,包括软件的构件,构件的外部可见属性以及它们之间的相互关系。
CoupleandCohesion
内聚性:
显示了某个模块相关功能的强度
耦合性:
显示了模块间相互依赖关系
UML
统一建模语言:
是一种支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格到构造和配置
Regressiontesting
回归测试:
在集成测试策略环境下,重新执行已测试的某个子集,以确保変更没有传播不期望的副作用。
Waterfallmodel
瀑布模型经典生命周期模型:
当需求很清楚时候。
他提出一个系统的,顺序的软件开发方法,从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供一个完整的软件和持续的技术支持。
Informationhiding
信息隐藏:
指在设计和确定模块时,使得一个模块内包含的特定信息,对于不需要这些信息的其他模块来说是不可访问的。
Softwaretesting
软件测试:
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
RequirementEngineering
需求工程:
指致力于不断理解需求的大量任务和技术,从软件工程的角度看,需求工程就是一个软件工程活动,开始于沟通活动并持续到建模活动
Usecase
用例:
识别系统使用线索的场景,提供了系统将如何被使用的描述。
用户如何在一个特定的环境下与系统交互。
Class
类:
具有相似属性和共同行为的事务集合。
CRCmodel
类-职责-协作者模型:
可以识别和组织与系统或产品需求相关的类。
实际上是表示类的标准索引卡片的集合,写有类名,类的职责,类的协作关系。
IncementalModel
增量模型:
增量模型综合了线性过程流和并行过程流的特征,随着时间的推移,增量模型在每个阶段运用线性序列,每个线性序列生产出一个软件的可交付增量。
Polymorphism
多态性:
一种机制,允许一个类层次结构中的几个对象有不同的方法内容但具有相同的名称。
CMMI
能力成熟度模型集成:
一个全面的过程元模型,当软件开发组织达到不同的过程能力和成熟度水平时,该模型可以用来评估其所开发系统和软件工程能力。
0:
incomplete不完全级;1:
performed已执行;2managed已管理;3defined已定义;4quantitativelymanaged已定量管理级;5optimized优化级
Prototypemodel
原型开发:
演化过程模型的一种。
即当需求很模糊的时候,帮助理解需要做什么。
开始于沟通,迅速策划一个原型开发迭代并进行建模,快速设计出原型并进行部署,根据反馈进一步细化软件的需求。
Open-ClosedPrinciple
开关原则:
模块应该对外延具有开放性,对修改具有封闭性。
SoftwareMyths
软件神话:
即关于软件及其开发过程的一些说法被人盲目相信,这可以追溯到信息处理技术发展初期。
看起来是事实的合理描述(管理神话,用户神话,从业者神话)
Q&A问答题
Howdosoftwarecharacteristicsdifferfromhardwarecharacteristics?
(1)软件是设计开发的,而不是传统意义上生产制造的;
(2)软件不会磨损,但会因为变更而退化;
(3)虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据顾客实际需求定制的。
Describethedifferencesbetweensoftwareconstructionandsoftwaredeployment.
软件的构建包括了编码和测试任务,从而为向客户和最终用户交付可运行软件做好准备。
部署则包括了三个动作:
交付,支持和反馈。
用于现代软件工程本质上是演变的,因此部署并不是只发生一次。
两者都是软件工程的通用框架活动,但是构建肯定是发生在部署之前,部署是构建的下一个活动。
Describethefiveframeworkactivitiesinvolvedinthesoftwareprocess.
沟通:
包含了与客户之间大量的交流和协作,理解利益相关者的项目目标,并收集需求以定义软件的特性和功能。
策划:
指为后续的软件工程工作制定计划,它描述了需求执行的技术任务,可能的风险,资源需求,工作产品和工作进度
建模:
包括创建模型和设计两个方面,创建模型有助于客户和开发人员更好地理解软件需求,设计可以实现需求
构建:
包括编码和测试
部署:
将软件交付到用户手中,用户对其进行评测并给出反馈意见。
WhichUML(unifiedmodelinglanguage)diagramsareusefulinobject-orientedanalysismodeling?
基于场景的模型:
用例图活动图UML泳道图
基于类的模型:
类图协作图
行为元素:
状态图顺序图
Listthetypesofmodelsthatmightbeusedinrequirementsmodelingandexplaintheroleofeachtypeofmodel.
(1)基于场景的元素:
表述用户如何与系统和使用软件时出现的特定活动序列进行交互。
(2)基于类的元素:
表示了系统操作的对象、应用于对象间能有效控制的操作、对象间的关系以及已定义类之间的协作。
(3)行为元素:
描述了外部事件如何改变系统或驻留在系统里的类的状态。
(4)面向流的元素:
表示信息转换的系统,描述了数据对象在流过各种系统功能时是如何转换的。
Whatarethesixstepsforrequirementsengineering?
起始:
对问题、方案需求方、期望方案的本质、客户和开发人员之间初步的交流和合作的效果建立基本了解;
导出:
开展需求收集活动;
精化:
将信息进行扩展和提炼,开发一个精确的技术模型用以说明软件功能特征和约束;
协商:
不同客户提出了冲突的需求,通过协商解决冲突,使各方达到一定满意度;
规格说明,描述了一个基于计算机系统的功能和性能,以及那些将影响系统开发的约束;
确认:
对需求工程的工作产品进行质量评估;
Brieflydescribetheprimarydifferencesbetweenstructuredanalysisandobject-orientedanalysis.
结构化的分析:
一种考虑数据和处理的需求建模方法,其中处理将数据作为独立实体加以转换。
数据对象建模定义了对象的属性和关系,操作数据对象的处理建模应表明当数据对象在系统内流动时处理如何转换数据
面向对象的分析:
关注于定义类和影响客户需求的类之间的协作方式
Describethedifferencesbetweenthesoftwareengineeringtermscouplingandcohesion?
内聚性:
显示了某个模块相关功能的强度
耦合性:
显示了模块间相互依赖关系
构件应该保持高内聚性,低耦合性。
Describeeachroleofthefollowingdesignmodelsofdata,architecture,interfaceandcomponent-leveldesignrequiredforacompletespecificationofasoftwaredesign.
●数据/类设计:
创建在高抽象级上(用户观点)表示的数据模型和信息模型/将分析类模型转化为设计类的实现以及软件实现所要求的数据结构
●体系结构设计:
等效于房屋的平面图,提供了软件的整体视图,定义了软件主要结构元素之间的联系
●接口设计:
相当于一组房屋的门、窗和外部设施的详细绘图,描述了信息如何流入和流出系统以及被定义为体系结构一部分的构件之间如何通信
●构件级设计:
相当于房屋中每个房间的一组详图及规格说明,软件的构件级完整地描述了每个软件构件的内部细节
1.为所有局部数据对象定义数据结构datastructure
2.为所有在构件内发生的处理定义算法细节algorithmicdetail
3.定义访问所有构件操作的接口interface
Howdoestheobject-orientedviewofcomponent-leveldesigndifferfromthetraditionalview?
面向对象观点:
注重细化来自问题域和基础域的设计类。
构件包括一组协作的类。
构件中的每个类都得到详细阐述,包括所有的属性和与其相关的操作。
所有设计类相互通信协作的接口必须定义,设计师从需求模型开始,详细描述分析类和基础类
传统观点:
构件就是程序的一个功能要素,程序由处理逻辑及实现处理逻辑所需的内部数据结构以及能够保证构件被调用和实现数据传送的接口构成。
传统构件也称为模块,作为软件体系结构的一部分,可细化为控制构件基础设施构件问题域构件
Whatarethekeydifferencesbetweenvalidationtestinggoalsandverification(oracceptance)testinggoals?
确认:
确保开发的软件可追溯到客户需求的一系列活动(是否构造正确的产品)
验证:
确保软件正确地实现某一特定功能的一系列活动(是否正确地构造产品)
Whyisregressiontestinganimportantpartofanyintegrationtestingprocedure?
每加入一个新模块作为集成测试的一部分时,软件发生变更,这些变更可能会使原来可以正常工作的功能产生问题。
在集成测试的环境下,回归测试是重新执行已测试过的某些子集,已确保变更没有传播不期望的副作用。
Describethedifferencesbetweenblack-boxtestingandwhite-boxtesting.
黑盒测试是指在软件接口处执行测试,只检查系统的功能方面,不考虑软件的内部结构。
是一种采用外部观察的方法的测试。
白盒测试是基于过程细节的封闭检查,通过提交检查特定条件集合或循环的测试用例,测试贯穿软件的逻辑路径和构件间的协作,是一种采用内部观察方法的测试。
Whatisequivalencepartitioningasitappliestosoftwaretesting?
Whatisscenario-basedtesting?
等价划分测试:
一种黑盒测试方法,将所有可能的数据划分成若干个等价类,每类中找出一个典型值代表这一类,对每个典型值进行测试,来发现程序错误。
理想测试用例可以单独发现一类错误。
基于场景的测试:
关心用户做什么,捕获用户必须完成的任务,然后在测试时使用他们及其变体,倾向于用单一测试检查多个子系统,用于发现交互错误。
ProblemAnalysis设计分析题
Basicpathtesting
起始点(起点不算结点数)箭头Y/N美观判断菱形执行矩形
环复杂度判断结点数+1边-结点+2
独立路径每个分支都要走过
测试数据每个变量都要有
Processmodelapplication
我们采用了瀑布模型的变体V模型
由于我们的需求具有准确定义和相对稳定的特点,因此从沟通到部署我们都采用线性流的工作方式,并且我们将验证确认动作也应用于我们的软件开发,在经过需求建模、体系结构设计、构件设计和代码生成后,进行了单元测试、集成测试、确认测试和系统测试等一系列测试活动,因此我们采用的过程模型为V模型
DFDmappingtosoftwarechart
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四川大学 软件 工程 期末 复习