软件工程英文答案_第1页
软件工程英文答案_第2页
软件工程英文答案_第3页
软件工程英文答案_第4页
软件工程英文答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

Chapter1AnIntroductiontoSoftwareEngineeringWhysoftwareengineeringisimportant?软件工程由应对软件危机也产生,软件工程的发展极大地完善了我们的软件。软件工程的研究使得我们对软件开发活动有个更深入的了解,并且已经找到了进行软件描述、设计和实现的有效方法。软件工程中新的标记发和工具大大降低了制作大型、复杂系统的工作量Whatissoftware?Whatissoftwareengineering?软件工程是一门工程学科,包括了软件开发的各个方面,从最初的系统描述一直到使用后的系统维护,都属于其学科范畴。Whatisthedifferencebetweensoftwareengineeringandcomputerscience?计算机科学研究的是构成计算机和软件系统基础的有关理论和方法,耳软件工程则研究软件制作中的实际问题。计算机科学侧重理论和基础;软件工程侧重软件开发和交付的实际活动。Whataretheattributesofgoodsoftware?软件除了提供基本的功能,对用户来说是还应该是可维护的、可依赖的和可接受的。可维护性,软件必须能够不断变化以满足变化;可依赖性,软件必须可以被信赖;有效性,软件不能浪费系统资源;可用性,使用起来比较容易WhatisCASE?CASE工具是一些软件系统,被设计成支持软件过程中的常规活动,如编辑设计图表、检查图表的连贯性、跟踪已经运行的程序测试等。Whatisthedifferencebetweensoftwareengineeringandsystemengineering?系统工程侧重于计算机系统开发的所有方面,包括硬件、软件和处理工程。软件工程是整个系统的一部分,它关心系统中基础软件、控制软件、应用软件和数据库的开发。Whataresoftwareengineeringmethods?软件工程方法是一种软件开发的结构化方法,目的在于提高软件质量的同时,使其性价比较高。它包括系统模型、符号、规则、设计建议和过程指导。Whatarethekeychallengesfacingsoftwareengineering?多样性的挑战,发展新技术以建立起能够使不同平台、不同执行环境的软件一起工作的软件;交付的挑战,发展新技术以带来软件的更快的交付;信任的挑战,发展新技术以展示软件是能够被使用者信任的。Issuesofprofessionalresponsibility保密,工程人员必须严格保守客户或雇主的机密,而不管是否签署了保密协议。工作能力,工程人员应如实的表述自己的工作能力,不应有意接受超过自己能力的工作知识产权,工程人员应当知晓控制专利权、著作权等知识产权使用的地方法律,必须谨慎行事,确保雇主和客户的知识产权受到保护.计算机滥用,软件工程人员不应运用自己的技能滥用他人的计算机。滥用计算机有时对他人影响不大(如在雇主的计算机上玩游戏),但有时后果非常严重(传播病毒)。Codeofethics-principles公众感,软件工程人员应当始终保持与公众利益一直。客户和雇主,软件工程人员应当始终保持与公众利益一直的前提下,满足客户和雇主的最大利益产品,软件工程人员应当保证他们的产品及其相关附件达到尽可能高的行业标准。判断力,软件工程人员应当具有公正而独立的职业判断力.管理,软件工程管理者和领导者应当拥护并倡导合乎道德的有关软件开发和维护的管理方法。职业感,软件工程人员应当弘扬职业正义感和荣誉感,尊重社会公众利益。同事,软件工程人员应当公平的对待和协助每一位同事。自己,软件工程人员应当毕生学习专业知识,提倡合乎职业道德的职业活动方式Ifyouareasoftwareengineer,whatcodeofethics-principlesshouldyouobey?Anddescribewhy?10题中的全部或部分Chapter2Socio-technicalSystemsWhatmodaldoesthesystemengineeringprocessusuallyfollow?Andwhy?.系统工程中,通常采用瀑布模型。因为系统的不同部分需要并行的开发,而系统工程中的硬件一般十分昂贵,

所以开发中返工的余地非常小。Whatarethefivestepsofthesystemdesignprocess?分割需求;识别子系统;为子系统分配需求;描述子系统功能;定义子系统接口Whysystemevolutionisinherentlycostly?像软件进化一样,系统进化是昂贵的,其原因如下:必须从业务和技术的角度对提议的变更做仔细的分析。在变更生效之前必须经过有关人员的认同。因为子系统都不是鼓励存在的,对一个子系统的变更可能会对其他子系统的性能或行为造成负面影响。原始设计决策的理由时常未被记录。把一个特别的设计决策产生的原因找出来,对于系统进化是有意义的。当系统运行相当长时间后,其结构被修改得复杂凌乱,系统进化的成本进一步增加。Systemmodellingisusuallypresentedasa方块图.Aftercompletion,thesystemhastobeinstalledin用户环境.Thesystemsengineeringprocessincludes描述 ,设计,开发and集成.System集成isparticularlycritical.Listthreeexamplesofemergentproperties. ,可靠性,信息安全性 .Thesystemdesignprocessincludes:分割需求,identifysub-systems,为子系统分配需求,specifysub-systemfunctionality .Whatisemergentsystemproperties?Pleaselistthreeexamplesofemergentproperties?系统特性不能归于任何一个专门的组件,只有从系统整体上看是这些特性才会浮现出来。体积、可靠性、信息安全特性、可维修性、可用性Thesystemsengineeringprocess9.ThefigurebelowshowsintruderalarmsystemFilltheblankswiththecomponenttypesinalarmsystemfromthefigure.Communication:Sensor:Interface:Actuator:9.ThefigurebelowshowsintruderalarmsystemFilltheblankswiththecomponenttypesinalarmsystemfromthefigure.Communication:Sensor:Interface:Actuator:Co-ordination:10.Thesystemdesignprocess语音合成器门传感器,运动传感器电话呼叫器 警笛警报控制器Chapter3SoftwareProcessesGenericactivitiesinallsoftwareprocessesare: 软件描述,软件设计和实现,软件有效性验证and软件进化.ListthreekindsofCASEsystems(nottools).工具、工作平台、环境Listthreekindsofgenericsoftwareprocessmodels,瀑布模型、进化式开发、基于组件的软件工程WhataretheRUP(RationalUnifiedProcess)phases?RUP中的阶段是紧密关联于业务的,而不是关联于技术层面。他们是:(1)开端(2)细化(3)构造(4)转换Whataretheproblemsofevolutionarydevelopment?(1)过程不可见;(2)系统结果通常较差;Whataretheadvantagesoftheincrementaldevelopment(1) 客户无需等到整个系统实现,第一个增量会满足他们大多数关键的需求。(2) 客户可以将早期的增量作为原型,从中获得对后面系统增量的需求经验。(3) 项目总体失败的风险比较低。(4)最高优先权的增量会得到更充分的测试。ExtremeprogrammingPleaselistthreetypesofgenericsoftwareprocessmodels:瀑布模型,金华市开发and基于组件的软件工程.Listatleastgenericsoftwareprocessmodels.WhatisthesoftwareprocessandWhatisthemainactivitiesofthesoftwareprocess?一个软件过程是一组引发软件产品生产的活动。软件描述;软件设计和实现;软件有效性验证;软件进化Whatkindofmodeldoesthefollowingdiagramshow?Whenthemodelisappropriatefor?Rcquircnents瀑布模型这种模型只在需求定义的非常清晰完整同时需求的变化十分有限的情况下适用。Thediagramshowswhatkindofmodelofthesoftwareprocess?Andwhatdoeseachloopinthemodalrepresent?螺旋模型每个回路表示软件过程的一个阶段Inspiraldevelopment,eachloopinthespiralissplitintofoursectors.Thefoursectorsare目标设詈,风险评估和规避,开发和有效性验证,规虬WhySoftwareevolutionisneeded?软件天生是灵活可变的。2) 业务环境改变是用于支持业务环境的软件也要跟着改变。3) 虽然开发和进化(维护)之间有划分,但是现在从头开发的系统越来越少了。Whatisrequirementsengineeringprocess?Whatisthemainfourperiodofrequirementsengineeringprocess?需求工程主要是理解并定义系统需求哪些服务以及找出开发和运行期间受到哪些约束。需求工程过程产生用以描述系统的需求文档。需求工程过程的四个主要阶段:1) 可行性研究2) 需求导出和分析3) 需求描述4) 需求有效性验证Extremeprogrammingisbasedaroundthedevelopmentanddeliveryofverysmall版本offunctionality.Therearefourfundamentalprocessactivitiesthatarecommontoallsoftwareprocesses.Theseare:软件描述,软件设计和实现,软件有效性验证,软件进化Inspiraldevelopment,eachloopinthespiralissplitintofoursectors.Whatarethey?目标设置,风险评估和规避辛,开发和有效性验证,规划.Chapter4ProjectmanagementSoftwareprojectmanagementactivitiesinclude:提出书面建议,项目规划和调度, 项目成本估算1/u1 K/V , 项目监督与评审,人员选择与评价 , n /玄、乍、11_|美二 ,写作并陈述工作报告.Softwareprojectplanstructureincludes:引言 ,项目的组织,风险分析 硬件和软件资源需求,工作分解,项目进度 监控和报告机制What’sMilestone?一个里程碑是一项软件工程活动的终结。Whatisamilestoneinprojectmanagement?在项目规划时,应建立一系列的项目里程碑。在项目管理中每个里程碑都是一个正式的可以提交给管理层的输出结果。RiskfactorsRbsktype PoteiitiHlinditatoisTechnologyLatedeliveiyofhardwareorsupportsoftware,maiyreportedtechnokgyproblemsPeoplePoorstaffmoralpoorrelationshipsamongstteammember,jobavailabililyOrganisationalorganisationalgossip,lackofactionbyseniormanagemeatToolsreluctancebyteammemberstousetools,complaintsaboutCASEtools,demaridsforhigher-poweredworkstationsReqturementsmanyrequirementschang已requests,customercomplaintsEstimationfailureto agreed独edi住failuretoclearreporteddefectsPleasedescribetheprocessofriskmanagement.1)风险识别,识别可能的项目、产品和业务风险。

风险分析,评估这些风险出现的可能性和后果。风险规划,制定计划避免或降低风险的影响。风险监控,在整个项目过程中监控风险。Barchartsandactivitynetworksaregraphicalnotationswhichareusedtoillustratetheprojectschedule.Barchartsshowwhoisresponsibleforeachactivityandwhentheactivityisscheduledtobeginandend.Activitynetworksshowthedependenciesbetweenthedifferentactivitiesmakingupaproject.ConsiderthesetofactivitiesshowninTable3.1.Thistableshowsactivities,theirduration,andactivityinterdependencies.Table3.1TaskdurationsandFigure3.1AnactivitynetworkFigure3.2istheactivitybarchartoftheproject.Theprojectbarchartshowstheextentofthepossibledelayasashadedbar.Givendependencyandestimateddurationofactivities,anactivitynetworkwhichshowsactivitysequencesmaybegeneratedasthefollowingFigure3.1.Table3.1TaskdurationsandFigure3.1AnactivitynetworkFigure3.2istheactivitybarchartoftheproject.Theprojectbarchartshowstheextentofthepossibledelayasashadedbar.TaskDiiriiitiuH(days)n8T215T315TIL(Ml)T410T?10T2.T1(M2)T65TLT2(NI3)T720Tl(Ml)1'S25T4(M5)T915T1015T5,T-?(KI7)710T9")Til(M®)TildependencieJ^-

Figure3.2ActivitybarchartTable3.2suggestsanallocationofstafftotheactivitiesillustratedinFigure3.2.Table3.2Allocationofpeopletoactivities Task Engineer T1JaneT2AnneT3JaneT4FredT5MaryT6AnneT7JimT8FredT9JaneT10AnneT11FredT12FredFigure3.3suggestsstaffallocationvstimechart.Figure3.3StaffallocationvstimechartAnswerthefollowingquestions:WhichtaskistaskT3dependenton?ItisrightthatT1mustbecompletedbeforeT3starts?T3依赖任务T1。对,T3开始前,T1必须结束。Beforeprogresscanbemadefromonemilestonetoanother,allpathsleadingtoitmustbecomplete.Accordingtothis,whattask(s)mustbefinishedbeforetaskT9started?T9开始之前,T3和T6必须完成Theminimumtimerequiredtofinishtheprojectcanbyestimatedbyconsideringthelongestpathintheactivitygraph(thecriticalpath).Inthiscase,howmanyworkingdaysdoestheprojectneedatleast?Pleasenotifythecriticalpath.至少需要55个工作日。关键路径T1、T3、T9、T11、T12,(注:图中加粗黑线)IfT8isdelayed,doesitaffectthefinalcompletiondateoftheproject?Why?T8没有在关键路径上,可以延迟,只要最迟在19/9前完成不会对项目有影响HowmanyworkingdaysistheextentofthepossibledelayofT4?WhataboutT7?Why?T4最长可以延误20天(图3.2中T4阴影为4周,共20个工作日)T7最长可以延误12天:55天一15天(T10)—20天(T7)—8天(T1)=12天Doesstaffhastobeassignedtoaprojectatalltimes?InFigure3.3,T6andT10areassignedtoAnne,butthereisainterveningperiodsbetweenT6andT10,why?项目人员不必分配到项目的每一个阶段。T6和T10中间有间断是因为T6结束时,T10还没有开始。Chapter5SoftwareRequirementsandRequirementsEngineering1.Milestonesintherequirementprocess, 可行性报告 isthecorrespondingmilestoneofFeasibilityStudy.PiopeilyMeasiueSpeedProcessedtransactionUser/EventresponsetimeScreenrefreshtimeSizeKBytesNumberofRAMchipsEaseofuseTraiitirigtimeNumberofhelpEamesReliabilityMeantimetofailureProbabilityofunavailability已offailureoccurr已hueAvailabilityRobustnessTimetorestartafterfailurePercentageofeventscausingfailureProbabilityofdatacorruptiononfailurePortabilityPercentageoftargetdependentstatementsNumberoftargetsystemsRequirementsmeasuiesWhafsProblemswithNLspecification?用自然语言描述需求存在的问题:1) 描述不够清楚2) 需求混乱3) 需求混合4.Pleasedescriberequirementsdocumentstructure?1) 绪言2.引言3.术语4.用户需求定义5.用户体系结构6.系统体系结构2) 系统需求描述3) 系统模型4) 系统进化5) 附录6) 索引Chapter6Object-OrientedDesignWhat’sUML?UML是一种统一描述九十年代出现的几种面向对象设计方法的符号系统。Object-orientedanalysis,designandprogrammingarerelatedbutdistinct.面向对象分析 _isconcernedwithdevelopinganobjectmodeloftheapplicationdomain.面向对象设计isconcernedwithdevelopinganobject-orientedsystemmodeltoimplementrequirements.面向对象程序设计_isconcernedwithrealisinganOODusinganOOprogramminglanguagesuchasJavaorC++.InOOD,objectsaremembersofclasseswhichdefineattributetypesandoperations.Classesmaybearrangedinaclasshierarchywhereoneclass(asuper-class)isa泛化 ofoneormoreotherclasses(sub-classes).IntheUML,ageneralisedrelationshipisindicatedbyan 指向父类的空心箭头.Object接口havetobespecifiedsothattheobjectsandothercomponentscanbedesignedinparallel.统一建模语言UML providesdifferentnotationsfordefiningdifferentobjectmodels.IntheUML,generalisationisindicatedby 指向父类的空心箭头 .Object接口havetobespecifiedsothattheobjectsandothercomponentscanbedesignedinparallel.Conceptually,objectscommunicateby消息inOOD.InOOD,messagesmean,Thenameoftheservicerequestedbythe 调用对象.,Copiesoftheinformationrequiredtoexecutethe 月艮务andthenameofaholderfortheresultoftheservice.Inpractice,messagesareoftenimplementedby禾早序调用inOOD.Object-orienteddesignsimplifiessystem进化 .AdvantagesofOOD容易维护,对象可以作为单独的实体被认识。2) 对象是潜在地可重用组件。3) 对很多系统存在一个较为明显的从现实实体到系统对象的映射。ObjectcommunicationConceptually,objectscommunicatebymessagepassing.Messages,Thenameoftheservicerequestedbythecallingobject.,Copiesoftheinformationrequiredtoexecutetheserviceandthenameofaholderfortheresultoftheservice.Inpractice,messagesareoftenimplementedbyprocedurecalls,Name=procedurename.,Information=parameterlist.Object-orienteddesignsimplifiessystemevolution.16.Anobject-orienteddesignprocess了解并定义上下文和系统的使用模式;2) 设计系统体系结构;3) 识别出系统中的主要对象;4]开发设计模型;5.]描述对象接口。ApproachestoidentificationinO-Odesign.1) 对系统的自然语言描述做文法分析。2) 使用应用领域中的真实实体、职务、事件、交互、位置、机构单元。在存在的系统中寻找对象,可以通过识别存储结构来识别对象。3) 使用行为方法,设计者首先要了解系统的全部行为。参与一个行为并在其中产生重要作用者可视为一个对象。4) 使用基于脚本的分析识别出系统使用的各个脚本,并以此对其进行分析。WeatherstationinterfaceinterfaceWeatherStatior{publicvoidWeatkerStatonQ;publicvoidstartupQ;publicvoidstartup(Instrumenti);publicvoidshutdown0publicvoidshutdown(Instrumerit0publicvoidreportWeather();publicvoidtestQ;publicvoidtest(listrurrenti);publicvoidcalibrate(Instrumenti)publicintgetIDQ;}/WeatherstationAnimportantadvantageofobject-orienteddesignisthatitsimplifiestheevolutionofthesystem.Pleaseexplainitindetailusingexamples.课本P203页14.3节实例Whatimportantadvantagedoesobject-orienteddesignbringtotheevolutionofthesystem.Pleaseexplainitindetailusingexamples.21Figure3.4illustratesthenotationforanobjectclassintheUML.Itmodelsanemployeeinanorganisation.IntheUML,theterm‘operation7isthespecificationofanaction;theterm‘method’isusedtorefertotheimplementationoftheoperation.Figure3.4Anemployeeobject Figure3.5AgeneralisationhierarchyFigure3.5showsanexampleofageneralisationhierarchywheredifferentclassesofemployeeareshown.AnswerthefollowingQuestions:HowmanyattributesandoperationsareincludedinclassEmployeeinFigure3.4?CanweaddmoreattributestoclassEmployee?图3.4中的类包括10个属性4个操作。可以加入属性。IntheUML,whatisgeneralizationindicatedby?用一个指向父类的箭头ListallthechildclassesofclassManager?ProjectManager,DeptManager,StrategicManagerHowmanyattributescanbeaccessedthroughclassProjectManagerdirectlyorindirectlyaccordingtotheinformation可以直接或间接访问Employee类、Manager类和ProjectManager类中的共13个属性Ifanattribute(jobDuty)isaddedtoclassManagerandanoperation(doJob)isaddedtoclassProjectManager,pleaseredrawtheURLdigram.把新属性和方法加到上面右图中,同时把图3.4和图3.5合并Chapter7ManagingpeoplePeoplemanagementfactorsinclude一致性,尊重,Inclusion,诚实.Pleaselistthreekindsofpersonalitytypes.面向任务型,面向自我型,面向交互型.PCMMandPCMMlevels?人员能力成熟度模型,共分为5级1) 初始级2) 可重复级3) 已定义级4) 已管理级5) 优化级Motivationisacomplexissuebutitappearsthattheiraredifferenttypesofmotivationbasedon:Basicneeds(e.g.food,sleep,etc.);Personalneeds(e.g.respect,self-esteem);Socialneeds(e.g.tobeacceptedaspartofagroup).Factorsinfluencinggroupworking1) 小组的组成2) 小组的凝聚力3) 小组的沟通4) 小组的结构Staffselectioncasestudyintextbook.Chapter8EmergingTechnologiesSecuritythreatscanbethreatsto 机密性, 完整性 , 可用性 ofasystemoritsdata.Pleaselistthreekindsofsurvivabilitystrategies?抵抗力,识别,恢复.Securitythreatscanbethreatsto 机密性, 完整性 , 可用性 ofasystemoritsdata.WhatarebenefitsofSOA?1) 服务可以由本地提供商提供,或从外部提供商那里获得2) 服务可以用任何语言实现3) 通过将遗留系统包装成服务,公司能够保护这些有价值的投资,同时应用于更广的范围。4) 整合的内部平台通过简单的信息交互就可以使用Thekeystandardsofwebservice-orientedarchitecturesincludeSOAP,WSDL(WebServiceDefinitionLanguage),UDDI,WS.BPELWhat’sServiceEngineering?服务工程是开发服务的过程,关注可靠、可复用的服务的开发。What’stheserviceengineeringprocess?a)可选服务识别b)服务设计c)服务实现和部署Crosscuttingconcernsleadtotwoundesirablephenomena:混舌1,and分散.Theseparationofconcerns关注点分离是软件设计和实现中的一个重要原则。本质上讲,它意味这在组织软件时,使得程序中的每个元素(类、方法、过程等)做且只作一件事。Aspects,joinpointsandpointcuts方面:定义横切关注点的程序抽象。它包括切入点和与关注点关联的建议的定义。连接点:在执行的程序中的事件。此程序中会有对与方面相关联的建议的执行切入点:在方面中包含的一个语句,定义了相关的方面建议应该得以执行的连接点。Softwareengineeringwithaspects采用方面的的软件工程是在系统开发的所有阶段采用面向方面的方法。Aspectweaving

处理源代码并将方面合并在指定的连接点处。AspectproblemsCaseanalysis1.Anintegratedinformationnetworkmanagementsystemwillbedevelopedforanenterprise(ADesignandResearchInstitute).Theenterpriseownsseveraldepartments(300employees)andthesystemincludes17functionalitymodulesshowninthetablebelow.Eachd

温馨提示

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

评论

0/150

提交评论