高级软件工程复习题.docx

上传人:b****2 文档编号:893929 上传时间:2023-04-30 格式:DOCX 页数:24 大小:548.89KB
下载 相关 举报
高级软件工程复习题.docx_第1页
第1页 / 共24页
高级软件工程复习题.docx_第2页
第2页 / 共24页
高级软件工程复习题.docx_第3页
第3页 / 共24页
高级软件工程复习题.docx_第4页
第4页 / 共24页
高级软件工程复习题.docx_第5页
第5页 / 共24页
高级软件工程复习题.docx_第6页
第6页 / 共24页
高级软件工程复习题.docx_第7页
第7页 / 共24页
高级软件工程复习题.docx_第8页
第8页 / 共24页
高级软件工程复习题.docx_第9页
第9页 / 共24页
高级软件工程复习题.docx_第10页
第10页 / 共24页
高级软件工程复习题.docx_第11页
第11页 / 共24页
高级软件工程复习题.docx_第12页
第12页 / 共24页
高级软件工程复习题.docx_第13页
第13页 / 共24页
高级软件工程复习题.docx_第14页
第14页 / 共24页
高级软件工程复习题.docx_第15页
第15页 / 共24页
高级软件工程复习题.docx_第16页
第16页 / 共24页
高级软件工程复习题.docx_第17页
第17页 / 共24页
高级软件工程复习题.docx_第18页
第18页 / 共24页
高级软件工程复习题.docx_第19页
第19页 / 共24页
高级软件工程复习题.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

高级软件工程复习题.docx

《高级软件工程复习题.docx》由会员分享,可在线阅读,更多相关《高级软件工程复习题.docx(24页珍藏版)》请在冰点文库上搜索。

高级软件工程复习题.docx

高级软件工程复习题

Advancedsoftwareengineering

Chapter1AnIntroductiontoSoftwareEngineering

1.Whysoftwareengineeringisimportant?

非正规的软件开发不奏效,费用高不可靠难以维护,应该使用新的技术和方法来控制大型软件系统固有的复杂性,这就是软件工程。

2.Whatissoftware?

Whatissoftwareengineering?

软件(software)是计算机程序和所有使程序正确运行的相关文档和配置信息。

软件工程(softwareengineering)是关于软件生产的各个方面的工程学科。

3.Whatisthedifferencebetweensoftwareengineeringandcomputerscience?

计算机科学侧重理论和基础,而软件工程侧重于软件开发和交付的实际活动。

4.Whataretheattributesofgoodsoftware?

软件应具有用户所需的功能和性能,而且应该可维护、可靠、可用

5.WhatisCASE?

旨在使软件过程活动自动化的软件系统,常用作方法支持

6.Whatisthedifferencebetweensoftwareengineeringandsystemengineering?

系统工程侧重基于计算机系统开发的所有方面,包括硬件、软件和处理工程。

软件工程只是它的一部分。

7.Whataresoftwareengineeringmethods?

软件开发的结构化研究方法,包括:

系统模型、标记法、规则、设计忠告和过程指南

8.Whatarethekeychallengesfacingsoftwareengineering?

要面临一流系统、不断增长的多样性以及减少递交次数等问题的挑战

9.Issuesofprofessionalresponsibility

严格保守雇主或客户的机密,实事求是的表述自己的工作能力,知晓专利权、著作权等知识产权的法律,不滥用他人的计算机。

10.Codeofethics–principles

公众感—与公众利益一致

客户和雇主—满足客户和雇主的最大利益

产品—达到尽可能高的行业准则

判断力—公正和独立的职业判断力

管理—拥护并倡导合乎道德的有关软件开发和维护管理工作

职业感--弘扬职业正义感和荣誉感,尊重社会公众利益

同事—公平的对待和协助每一位同事

自己—毕生学习专业知识,倡导合乎职业道德的职业活动方式

11.Ifyouareasoftwareengineer,whatcodeofethics–principlesshouldyouobey?

Anddescribewhy?

(如果你是软件工程师,以应该遵守什么样的道德准则?

说明为什么)

参考上题解答

Chapter2Socio-technicalSystems

2.Whatmodaldoesthesystemengineeringprocessusuallyfollow?

Andwhy?

系统工程一般遵循需求定义、系统设计、子系统开发、系统集成、系统安装、系统进化和系统退役的过程。

系统工程过程在系统开发期间返工的余地缩小,并且学科间相互渗透。

3.Whatarethefivestepsofthesystemdesignprocess?

分割需求、识别子系统、为子系统分配需求、描述子系统功能、定义子系统接口

4.Whysystemevolutionisinherentlycostly?

1、必须从业务和技术的角度对提议的变更做仔细的分析,变更生效之前必须经过有关人员的认可

2、子系统不是孤立的,对一个子系统的变更可能导致其他子系统的性能或行为产生影响,往往也需要变更其他子系统。

3、原始设计决策的理由通常未被记录

4、系统长时间运行后,其结构被修改得复杂而凌乱,系统进化成本进一步增高。

2.Systemmodellingisusuallypresentedasablockdiagram.

3.Aftercompletion,thesystemhastobeinstalledinthecustomer’senvironment.

4.Thesystemsengineeringprocessincludesspecification,design,development,integrationandtesting.Systemintegrationisparticularlycritical

5.Listthreeexamplesofemergentproperties.Volume、Reliability、Security、Repairability、Usability

6.Thesystemdesignprocessincludes:

Partitionrequirements,identifysub-systems,Assignrequirementstosub-systems,specifysub-systemfunctionality,Definesub-systeminterfaces.

7.Whatisemergentsystemproperties?

Pleaselistthreeexamplesofemergentproperties?

遗留系统是以计算机为基础的社会-技术系统,他们是在过去开发出来,往往采用在今天看来是旧的和不再使用的技术。

这些系统不仅包括硬件和软件,还包括遗留的过程和手续。

1、系统硬件—为大型机硬件设计,现在已不再使用或是维护成本过高或是与当前的IT购买政策不相容。

2、支持软件—所依赖的操作系统、实用程序开发工具可能被废弃,无法得到支持。

3、应用软件—一般由多个程序组成,在不同时间段开发。

4、应用数据—系统处理的,积累了大量的数据,存在不一致或者重复。

5、业务过程—为达到一定目的而使用的过程,围绕遗留系统设计,受限于遗留系统的功能。

6、业务策略和规则—规定业务应该怎样完成以及对业务的约束。

8.Thesystemsengineeringprocess(系统工程过程)

9.Thefigurebelowshowsintruderalarmsystem

Filltheblankswiththecomponenttypesinalarmsystemfromthefigure.

Communication:

TelephoneCaller

Sensor:

Movementsendor,doorsensor

Interface:

Siren,Voivesynthesizer

Actuator:

AlarmController

Co-ordination:

Voivesynthesizer

10.Thesystemdesignprocess(系统设计过程)

11.What’sEmergentproperty?

参见第7题

 

Chapter3SoftwareProcesses

1.Genericactivitiesinallsoftwareprocessesare:

specification,design,

implementationandvalidationandevolution.

2.ListthreekindsofCASEsystems(nottools).

工具—用以支持单个的过程任务

工作平台—用以支持描述、设计等过程阶段和活动

环境—支持全部软件过程或至少是软件过程的主要部分

3.Listthreekindsofgenericsoftwareprocessmodels.

瀑布模型--采用一些基本的过程活动,即描述、开发、有效性验证和进化,并且使用单独的过程阶断表现这些活动

进化式开发—在描述活动、开发活动和有效性验证活动中不断修改内容。

基于组件的软件工程—基于已经存在的很多可复用组件

4.WhataretheRUP(RationalUnifiedProcess)phases?

开端—建立系统的一个业务案例

细化—增进对问题域的理解,建立系统的体系框架,给出项目计划并识别关键项目风险

构造—系统设计、编程和测试

转换--将系统从开发单位转移到用户单位,使之在真实环境工作。

5.Whataretheproblemsofevolutionarydevelopment?

过程不可见—管理者需要经常的交付来把握进度,如果系统开发比较快,产生每个版本的文档不划算

系统结构通常比较差—连续的变更损坏了系统的结构

6.Whataretheadvantagesoftheincrementaldevelopment

客户无需等到整个系统的实现

客户可以将早期的增量作为系统原型,获得后续增量系统的需求经验。

项目总体性失败的风险比较低

最重要的系统接受了最多的测试

Extremeprogramming(极限编程)

7.Pleaselistthreetypesofgenericsoftwareprocessmodels:

Thewaterfallmodel,EvolutionarydevelopmentandComponent-basedsoftwareengineering.

8.Listatleastgenericsoftwareprocessmodels.

瀑布模型--采用一些基本的过程活动,即描述、开发、有效性验证和进化,并且使用单独的过程阶断表现这些活动

进化式开发—在描述活动、开发活动和有效性验证活动中不断修改内容。

基于组件的软件工程—基于已经存在的很多可复用组件

9.WhatisthesoftwareprocessandWhatisthemainactivitiesofthesoftwareprocess?

软件过程是一组引发软件产品生产的活动。

1、软件描述

2、软件设计和实现

3、软件有效性验证

4、软件进化

10.Whatkindofmodeldoesthefollowingdiagramshow?

Whenthemodelisappropriate

for?

此图描述的是“瀑布”模型

在全面理解需求,而且在系统开发过程中不太可能发生重大改变的时候,应用此模型。

11.Thediagramshowswhatkindofmodelofthesoftwareprocess?

Andwhatdoeseachloopinthemodalrepresent?

此图描述的是“螺旋”模型

每个回路表现的是软件开发的一个阶段

Inspiraldevelopment,eachloopinthespiralissplitintofoursectors.Thefoursectorsare目标设置,风险评估和规避,开发和有效性验证,规划.

12.WhySoftwareevolutionisneeded?

从头开发的系统很少,将软件系统的开发和维护看作一个连续的过程更有意义,也就是将其开做一个进化过程。

13.Whatisrequirementsengineeringprocess?

Whatisthemainfourperiodofrequirementsengineeringprocess?

需求工程的目标是建立和维护系统的需求文档,主要过程包括系统可行性研究、需求导出和分析、需求描述、需求有效性验证。

14.Extremeprogrammingisbasedaroundthedevelopmentanddeliveryofverysmall增量

offunctionality.

15.Therearefourfundamentalprocessactivitiesthatarecommontoallsoftwareprocesses.Theseare:

Specification,Design,Validation,Evolution.

16.Inspiraldevelopment,eachloopinthespiralissplitintofoursectors.Whatarethey?

Objectivesetting,Riskassessmentandreduction,Developmentandvalidation,Planning.

17.Whatisthemaindrawbackofthewaterfallmodel?

瀑布模型将项目生硬的分解成确切的阶段,难以响应用户的需求变更

18.Whenisthewaterfallmodelappropriate?

在全面理解需求,而且在系统开发过程中不太可能发生重大改变的时候,应用此模型。

19.Lowerriskofoverallprojectfailureinincrementaldevelopment,why?

客户无需等到整个系统的实现

客户可以将早期的增量作为系统原型,获得后续增量系统的需求经验。

最重要的系统接受了最多的测试

Chapter4Projectmanagement

1.Softwareprojectmanagementactivitiesinclude:

,,

,.

Proposalwriting.

Projectplanningandscheduling.

Projectcosting.

Projectmonitoringandreviews.

Personnelselectionandevaluation.

Reportwritingandpresentations

2.Softwareprojectplanstructureincludes:

,,

,,

.

Introduction.

Projectorganisation.

Riskanalysis.

Hardwareandsoftwareresourcerequirements.

Workbreakdown.

Projectschedule.

Monitoringandreportingmechanisms

3.What’sMilestone?

里程碑就是一项软件过程活动的终结

4.Whatisamilestoneinprojectmanagement?

参见3题

5.Riskfactors(风险因素)

6.Pleasedescribetheprocessofriskmanagement.

风险识别、风险分析、风险规避、风险监控

7.Barchartsandactivitynetworksaregraphicalnotationswhichareusedtoillustratetheprojectschedule.Barchartsshowwhoisresponsibleforeachactivityandwhentheactivityisscheduledtobeginandend.Activitynetworksshowthedependenciesbetweenthedifferentactivitiesmakingupaproject.

ConsiderthesetofactivitiesshowninTable3.1.Thistableshowsactivities,theirduration,andactivityinterdependencies.

Givendependencyandestimateddurationofactivities,anactivitynetworkwhichshowsactivitysequencesmaybegeneratedasthefollowingFigure3.1.

Table3.1Taskdurationsanddependencies

 

Figure3.1Anactivitynetwork

Figure3.2istheactivitybarchartoftheproject.Theprojectbarchartshowstheextentofthepossibledelayasashadedbar.

Figure3.2Activitybarchart

Table3.2suggestsanallocationofstafftotheactivitiesillustratedinFigure3.2.

Table3.2Allocationofpeopletoactivities

 

Task

Engineer

T1

Jane

T2

Anne

T3

Jane

T4

Fred

T5

Mary

T6

Anne

T7

Jim

T8

Fred

T9

Jane

T10

Anne

T11

Fred

T12

Fred

Figure3.3suggestsstaffallocationvstimechart.

Figure3.3Staffallocationvstimechart

Answerthefollowingquestions:

(1)WhichtaskistaskT3dependenton?

ItisrightthatT1mustbecompletedbeforeT3starts?

T3依赖于T1,T3开始前T1必须完成

(2)Beforeprogresscanbemadefromonemilestonetoanother,allpathsleadingtoitmustbecomplete.Accordingtothis,whattask(s)mustbefinishedbeforetaskT9started?

T3和T6完成后,T9才可以开始

(3)Theminimumtimerequiredtofinishtheprojectcanbyestimatedbyconsideringthelongestpathintheactivitygraph(thecriticalpath).Inthiscase,howmanyworkingdaysdoestheprojectneedatleast?

Pleasenotifythecriticalpath.

11周或者55个工作日。

T1(8)-T3(15)-T9(15)-T11(7)-T12(10)

(4)IfT8isdelayed,doesitaffectthefinalcompletiondateoftheproject?

Why?

T8不再关键路径上,T8延时不会导致最后完成日期

(5)HowmanyworkingdaysistheextentofthepossibledelayofT4?

WhataboutT7?

Why?

T4(10)-T5(10)-T10(15)35天

T4(10)-T8(25)35天总天数为55天,T4最多可延期20天

T1(8)-T7(20)-T10(15)43天总天数为55天,T7最多可延期12天

(6)Doesstaffhastobeassignedtoaprojectatalltimes?

InFigure3.3,T6andT10areassignedtoAnne,butthereisainterveningperiodsbetweenT6andT10,why?

工作人员不必把所有时间都分配到一个项目。

这段时间他们可以休假、做别的项目或者参加培训和其他活动。

Chapter5SoftwareRequirementsandRequirementsEngineeringProcess

1.Milestonesintherequirementprocess,isthecorrespondingmilestoneofFeasibilityStudy.

2.Requirementsmeasures(需求度量)

 

3.What’sProblemswithNLspecification?

1.自然语言的理解依赖于读者和作者对同一个词语的一致的解释

2.自然语言书写的需求描述太过随意性

3。

没有一个简单的方法,将自然语言书写的需求模块化。

4.Pleasedescriberequirementsdocumentstructure

?

1.引言

1.1需求文档的目的

1.2产品范围

1.3定义、首字母缩写与缩略语

1.4参考文献

1.5文档其余部分的概览

2.一般描述

2.1产品透视

2.2产品功能

2.3用户特征

2.4一般约束

2.5假设和依赖型

3.专门需求:

覆盖功能和非功能以及接口的要求

4.附录

5.索引

Chapter6Object-OrientedDesign

1.What’sUML?

UML,统一建模语言,已经成为了一个标准的建模语言,尤其是面向对象的建模。

2.Object-orientedanalysis,designandprogrammingarerelatedbutdistinct.

OOAisconcernedwithdevelopinganobjectmodeloftheapplicat

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2