软件工程复习资料英文_第1页
软件工程复习资料英文_第2页
软件工程复习资料英文_第3页
软件工程复习资料英文_第4页
软件工程复习资料英文_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Lecture1AnIntroductiontoSoftwareEngineering1whatdoessoftwareengineeringconcern?Softwareengineeringisconcernedwiththeories,methodsandtoolsforprofessionalsoftwaredevelopment.2)Softwareengineeringisconcernedwithcost-effectivesoftwaredevelopment.2Whatissoftware?Softwareincludes:computerprogramsdatastruc

2、turesdocuments3WhatisthetwotypesofsoftwareproductsGenericsoftware(通用软件)andcustomsoftware(定制软件)4Thethreekeyelementsofasuccessfulsoftwareprojectare:ontime,withinbudget,satisfiestheusersneeds5Genericactivitiesinallsoftwareprocessesare:Specification(描绘),Development(开发),Validation(有效性考证),Evolution(进化)6Th

3、eattributesofgoodsoftwareinclude:Maintainability(可保护性),Dependability(可依靠性),Efficiency(有效性),Acceptability(可接受性)Lecture2SoftwareProcesses1WhatisasoftwareprocessmodelAsoftwareprocessmodelisanabstractrepresentationofasoftwareprocess.Itpresentsadescriptionofaprocessfromsomeparticularperspective.2Drawtheg

4、raphicpresentationofWaterfallmodelanddescribeitscharacter.1)这类模型把软件过程区分红几个次序的阶段。阶段间拥有依靠性,前一个阶段结束,后一个阶段才能开始;2)这类模型很难对用户更改做出调整,只合用于需求特别清楚和需求更改被严格限制的状况下。3Describethebasicprincipleofevolutionarydevelopmentanditstwotypes进化式开发的基本思想是先开发一个原型给用户使用,经过用户反应建议来不停改正系统直到最后成熟,所以又被称作迅速原型开发方法。它不主张将描绘、开发和有效性考证等活动分开进行,

5、而是让这些活动迭代履行,同时让这些活动能获得迅速的反应信息。进化式开发有两种基本种类:探究式开发和扔掉式原型法。4Drawthegraphicpresentationofincrementaldeliveryanddescribeitscharacter在这类开发方式中,系统不是作为一个整体交托,而是被分解成若干个增量,每个增量交托系统的部分功能。用户的需求按优先级排队,优先级最高的需求被放入最早交托的增量中。这样,优先级最高的系统功能就获得最多的测试,系统的靠谱性较高。5DescribethecharactersofSpiraldevelopment.(比较模型去理解)1)Processis

6、representedasaspiralratherthanasasequenceofactivitieswithbacktracking.2)Eachloopinthespiralrepresentsaphaseintheprocess.3)Nofixedphasessuchasspecificationordesign-loopsinthespiralarechosendependingonwhatisrequired.4)Risksareexplicitlyassessedandresolvedthroughouttheprocess.Lecture3RequirementsEngine

7、ering1Drawthegraphicpresentationofrequirementengineeringprocess.2Describethedifferenceoffunctionalrequirements,non-functionalrequirements,Domainrequirements.Functionalrequirementsdescribetheservicesthatthesystemshouldprovideandhowthesystemshouldreacttoparticularinputsandhowthesystemshouldbehaveinpar

8、ticularsituations.Non-functionalrequirementsdescribetheconstraintsontheservicesorfunctionsofferedbythesystemsuchastimingconstraints,constraintsonthedevelopmentprocess,standards,etc.Domainrequirementscomefromtheapplicationdomainofthesystemandthatreflectcharacteristicsofthatdomain.3Describethedifferen

9、cebetweenuserrequirementsandsystemrequirements.1)Userrequirementsshoulddescribefunctionalandnon-functionalrequirementsinsuchawaythattheyareunderstandablebysystemuserswhodonthavedetailedtechnicalknowledge.Userrequirementsaredefinedusingnaturallanguage,tablesanddiagramsasthesecanbeunderstoodbyallusers

10、.2)Systemrequirementsaremoredetailedspecificationsofsystemfunctions,servicesandconstraintsthanuserrequirements.Theyareintendedtobeabasisfordesigningthesystem.Theymaybeincorporatedintothesystemcontract.Systemrequirementsmaybedefinedorillustratedusingsystemmodels.4Describetheprocessactivitiesofrequire

11、mentselicitation.Requirementselicitationprocessisaniteratedprocess.1)Requirementsdiscovery(需求发现)Interactingwithstakeholderstodiscovertheirrequirements.Domainrequirementsarealsodiscoveredatthisstage.2)Requirementsclassificationandorganization(需求的分类与组织)Groupsrelatedrequirementsandorganisesthemintocohe

12、rentclusters.3)Prioritisationandnegotiation(优先排序和矛盾解决)Prioritisingrequirementsandresolvingrequirementsconflicts.4)Requirementsdocumentation(需求文档化)Requirementsaredocumentedandinputintothenextroundofthespiral.5whatareviewpointsandwhatarethetypesofviewpointsViewpointsareawayofstructuringtherequirements

13、torepresenttheperspectivesofdifferentstakeholders.Stakeholdersmaybeclassifiedunderdifferentviewpoints.Therearethreetypes:1)InteractorviewpointsPeopleorothersystemsthatinteractdirectlywiththesystem.InanATM,thecustomersandaccountdatabaseareinteractorVPs.2)IndirectviewpointsStakeholderswhodonotusethesy

14、stemthemselvesbutwhoinfluencetherequirements.InanATM,managementandsecuritystaffareindirectviewpoints.3)DomainviewpointsDomaincharacteristicsandconstraintsthatinfluencetherequirements.InanATM,anexamplewouldbestandardsforinter-bankcommunications.5WritedownatleastfourprinciplesofdelaminatedDFD.顶层数据流图上的

15、数据流一定关闭在外面实体之间。数据应经过加工流动,防止从一个数据储存直接流向另一个数据储存。每个加工起码有一个输入数据流和一个输出数据流,且输入与输出数据流要均衡。有输入,无使用及输出为“黑洞”,无输入和产生而有输出为“奇观”。在数据流图中,需按层给加工框编号。编号表示该加工处在哪一层,以及上基层的父图与子图的对应关系。规定任何一个数据流子图一定与它上一层的一个加工对应,二者的输入数据流和输出数据流一定一致。此即父图与子图的均衡。图上每个元素都一定出名字。数据流和数据文件的名字应当是“名词”或“名词性短语”,表示流动的数据是什么。加工的名字应当是“动词宾语”,表示做什么事情。6Accordin

16、gtothedecisiontable,drawthedecisiontree.7WhataretheattributesofagoodSRS(SystemRequirementsSpecification)?1)完好性:需求描绘包含了全部的用户要求,不该当遗漏要乞降必要的信息;2)一致性:需求描绘不可以存在矛盾;3)可查验性:功能与性能指标应当能够量化权衡;4)可理解性:需求描绘方式要简单理解,没有歧义;5)可追踪性:要明确表记需求与其原始资料的关系,能够回溯道源泉;6)可更改性:需求要易于改正,有优秀的组织,如目录、索引。Lecture4SoftwareDesign1Describethe

17、twoscaleparameterofIndependencyandexplainwhyweneedfineindependency.模块独立性可用两个定量准则来胸怀:耦合(coupling)和内聚(cohesion)。耦合性是对软件程序结构中各个模块之间互相关系程度的一种胸怀。内聚性是信息隐蔽和局部化观点的自然扩展,它标记一个模块内部各成分相互联合的密切程度。模块的内聚性越强,耦合性越弱,独立性越强。独立性好的模块对其余的模块依靠性小,改正时对其余模块的影响小,易于改正和扩大,所以有优秀的可保护性。2Whatisthetaskofarchitecturaldesign?Itistoident

18、ifythesub-systemsmakingupasystemandtobuildtheframeworkforsub-systemcontrolandcommunication.3Describethebasiccharacterofrepositorymodel.Shareddataisheldinacentraldatabaseorrepositoryandmaybeaccessedbyallsub-systems4DescribethebasiccomposingofClient-servermodel.Setofstand-aloneserverswhichprovidespeci

19、ficservicessuchasprinting,datamanagement,etc.Setofclientswhichcallontheseservices.Networkwhichallowsclientstoaccessservers.5DescribethecharactersofAbstractmachine(layered)model1)Thismodelorganisesthesystemintoasetoflayers(orabstractmachines)eachofwhichprovideasetofservices.2)Itsupportstheincremental

20、developmentofsub-systemsindifferentlayers.Whenalayerinterfacechanges,onlytheadjacentlayerisaffected.6Describetwotypesofcontrolmodel.Centralisedcontrol:Onesub-systemhasoverallresponsibilityforcontrolandstartsandstopsothersub-systems.Event-basedcontrol:Eachsub-systemcanrespondtoexternallygeneratedeven

21、tsfromothersub-systemsorthesystemsenvironment.7Describethreetypesofsoftwarereuse.ApplicationsystemreuseThewholeofanapplicationsystemmaybereusedeitherbyincorporatingitwithoutchangeintoothersystems(COTSreuse)orbydevelopingapplicationfamilies.ComponentreuseComponentsofanapplicationfromsub-systemstosing

22、leobjectsmaybereused.ObjectandfunctionreuseSoftwarecomponentsthatimplementasinglewell-definedobjectorfunctionmaybereused.8Whatisframework?框架是一种高于对象层次的大粒度抽象的复用成分Frameworkisasub-systemdesignmadeupofacollectionofabstractandconcreteclassesandtheinterfacesbetweenthem9Drawanddescribethegraphicpresentation

23、ofMVCframework.这个框架有三个基本组件:控制器、模型和视图1)控制器:代表应用程序的逻辑部分,它定义了一个用户怎样和程序进行交互并且定义了用户行为是怎样映照到模型;2)模型:负责对数据模型和所实用来确立应用程序状态的信息进行管理;3)视图:从不一样的角度对储存在模型中的数据进行展现。10Drawthegraphicpresentationofuserinterfacedesignprocess.11Theprinciplesofuserinterfacedesignare:用户熟习、一致性、不测最小化。12Errormessagesshouldbepolite,concise,c

24、onsistentandconstructive.13ExerciseLecture5Object-orientedAnalysisandDesign1Comparedwithtraditionalstructuraldevelopingmethods,whatareadvantagesofobject-orientedmethods?切合人类自然思想方式,易于理解、描绘和实现。对需求变化有较好的适应性:封装体制和信息传达体制将需求变化影响限制在对象内部。支持软件复用:封装性有助于实现复用;继承、实例化实现了对象复用;类库供给了大批公共代码。可保护性好:封装性和信息传达造成低耦合,错误定位和改

25、正简单;继承与多态使得功能的扩展更为简单。开发过程连接密切:在软件生命周期各阶段能够使用相同的模型描绘。2DescribetheultimatelypurposeofUMLUML是一种标准的图形化建模语言,为不一样领域的人们供给一种一致的沟通标准,这类标准使得系统结构者能够用标准的、易于理解的方式成立能表达出他们想象力的系统宏图,并使客户、剖析员、设计人员、程序员和系统其余波及者能够互相理解和完成一致,进而能够有效地共享和沟通设计结果。3Exercise(要求熟习UML各样模型)Lecture6SoftwareImplementationandValidation1Eachprogramcom

26、ponentinvolvesatleastthreemajoraspects:controlstructures,algorithms,anddatastructures.2Describethedifferencebetweenverificationandvalidation.Verification:Arewebuildingtheproductright”.Thesoftwareshouldconformtoitsspecification.Validation:Arewebuildingtherightproduct”.Thesoftwareshoulddowhattheuserre

27、allyrequires3ThetwomethodsinV&Vprocessare:Softwareinspectionisconcernedwithanalysisofthestaticsystemrepresentationtodiscoverproblems(staticverification)Softwaretestingisconcernedwithexercisingandobservingproductbehaviour.Thesystemisexecutedwithtestdataanditsoperationalbehaviourisobserved.(dynamicver

28、ification)4Drawthegraphicpresentationofsoftwaretestingprocess.5Thetwophasesofsystemtestingareintegrationtestingandreleasetesting6Inintegrationtesting,tosimplifyerrorlocalisation,systemsshouldbe增量集成.7Describethebasecomposingoftestcaseandthebaseprincipleofequivalencepartitiontesting.测试用例的基本组成能够包含:设计的输

29、入、希望的输出、测试环境和测试对象的描绘。等价区分测试是测试用例设计的一种方法。设计测试用例时,能够按特点把数据输入域化分红若干等价类,等价类中的每个数据应当以相同的方式获得办理,所以关于揭穿程序中的错误是等效的。这样,就能够选用少许有代表性的输入数据作为测试数据,以期用较小的代价裸露许多的程序错误。8Describethedifferencebetweenblack-boxtestingandwhite-boxtesting.黑盒测试又叫做功能测试,测试者只关怀系统的功能而不关怀软件的实现。也就是说测试者不必认识相关系统的任何细节,只把系统当作是一个能够办理输入,产生输出的“黑盒子”,仅从功

30、能的角度设计测试用例。白盒测试又叫做结构测试,是一种依据软件的结构知识导出测试用例的设计方法。测试者把被测试组件当作是一个翻开的“白盒子”,组件的内部结构对测试者是透明的,经过对所用算法结构的剖析设计测试用例。9Describethebasicprincipleofbasispathtestingandcalculatethenumberofbasispathsinthefigure.在程序控制流图的基础上,剖析控制结构的环路复杂度,并用这个复杂度为指南定义履行路径的基本会合,进而导出基本可履行路径会合,设计出测试用例并保证每个可履行语句起码履行一次,并且每个条件在履行时都将分别取真、假两种值。计算环路复杂度V(G)V(G)=简单判断的数量+1或关闭地区的数量+1=42)导出独立路径的数量因为V(G)=4,所以共有4条路径Lecture7SoftwareProjectManagement1DescribetheprocessofprojectplanningEstablishtheprojectconstraintsMakeinitialassessmentsoftheprojectparametersDefineprojectmilestonesanddeliverableswhileprojecthasnotbeencompleted

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论