软件工程课后习题答案第八版.docx
《软件工程课后习题答案第八版.docx》由会员分享,可在线阅读,更多相关《软件工程课后习题答案第八版.docx(32页珍藏版)》请在冰豆网上搜索。
软件工程课后习题答案第八版
软件工程课后习题:
⏹ Whatarethedifferencesbetweengenericsoftwareproductdevelopmentandcustomsoftwaredevelopment?
⏹ Solution:
Theessentialdifferenceisthatingenericsoftwareproductdevelopment,thespecificationisownedbytheproductdeveloper.Forcustomproductdevelopment,thespecificationisownedbythecustomer.Ofcourse,theremaybedifferencesindevelopmentprocessesbutthisisnotnecessarilythecase.
重要区别为:
在通用软件的开发过程中,详细说明(规格说明书)由产品开发者来制定,在定制软件产品开发过程中,详细说明(规格说明书)由客户来制定。
⏹ Whatarethefourimportantattributeswhichallsoftwareproductsshouldhave?
Suggestfourotherattributesthatmaysometimesbesignificant.
⏹ Solution:
Forimportantattributesaremaintainability可维护性,dependability可靠性,performance(efficiency)有效性andusability可用性.
Otherattributesthatmaybesignificantcouldbereusability可复用性(canitbereusedinotherapplications),distributability可分发性(canitbedistributedoveranetworkofprocessors),portability可移植性(canitoperateonmultipleplatforms)andinter-operability互用性(canitworkwithawiderangeofothersoftwaresystems).
⏹ Whatisthedifferencebetweenasoftwareprocessmodelandasoftwareprocess?
Suggesttwowaysinwhichasoftwareprocessmodelmightbehelpfulinidentifyingpossibleprocessimprovements.
⏹ Solution:
Asoftwareprocessiswhatactuallygoesonwhensoftwareisdeveloped.Asoftwareprocessmodelisanabstractionandsimplificationofaprocess.ProcessmodelscanbeusedtohelpunderstandrealprocessesandtoidentifywhichaspectsoftheseprocessescouldbesupportedbyCASEtools.软件过程就是指在软件开发过程中所做的一些事情。
软件过程模型是过程的抽象和简化。
过程模型可用于帮助理解真正的过程,并可用于识别过程中的哪些方面可用CASE工具支持。
⏹ Givingreasonsforyouranswerbasedonthetypeofsystembeingdeveloped,suggestthemostappropriategenericsoftwareprocessmodelthatmightbeusedasabasisformanagingthedevelopmentofthefollowsystems:
1)Anti-lockbrakingsystem
2)Virtualrealitysystem
3)Universityaccountingsystem
4)Interactivetimetable
Solution:
(a)Anti-lockbrakingsystem:
Safety-critical安全鉴定systemsomethodbasedonformaltransformationswithproofsofequivalence等价betweeneachstage.
(b)Virtualrealitysystem:
Systemwhoserequirementscannotbepredicted预知inadvance预先地soexploratoryprogrammingmodelisappropriate.
(c)Universityaccountingsystem:
Systemwhoserequirementsshouldbestablebecauseofexistingsystemthereforewaterfallmodelisappropriate.
(d)Interactivetimetable交互式时间表:
Systemwithacomplexuserinterfacebutwhichmustbestableandreliable.Shouldbebasedonthrow-awayprototypingtofindrequirementstheneitherincrementaldevelopmentorwaterfallmodel.
⏹ Whyasoftwaresystemthatisusedinarealworldenvironmentmustchangeorbecomeprogressively(日益增多地)lessuseful?
⏹ Solution:
Systemsmustchangebecauseastheyareinstalledinanenvironmenttheenvironmentadaptstothemandthisadaptationnaturallygeneratesnew/differentsystemrequirements.这种适应自然生成新的系统需求
Furthermore,thesystem'senvironmentisdynamicandconstantlygeneratesnewrequirementsasaconsequenceofchangestothebusiness,businessgoalsandbusinesspolicies.商务的目标以及政治相关Unlessthesystemisadaptedtoreflecttheserequirements,itsfacilitieswillbecomeout-of-stepwiththefacilitiesneededtosupportthebusinessand,hence,itwillbecomelessuseful.
⏹ Whyagoodprogrammersisnotalwaysbeagoodsoftwaremanagers?
⏹ Solution:
Managementactivitiessuchasproposalwriting,projectplanningandpersonalselectionrequireasetofskillincludingpresentation表述能力andcommunicationskills交流的能力.Organizationalskills组织能力andtheabilitytocommunicatewithotherprojectteammembers.
Programmingskillsaredistinctfromthese,itiscommonthattheylackhumancommunicationskills他们缺乏交流技巧是一个普遍的事实.Soitdoesnotfollowthatgoodprogrammerscanre-orienttheirabilitiestobegoodmanagers.
管理活动包括提出书面建议,项目规划和进度,人员选择和评价,项目监督和评审,和其他队友的交流能力等。
程序设计者的任务就不是这些,他们不需要和人交流的能力,如果按照做好一个程序设计者的要求去做管理者的话,他肯定不是一个号的管理者。
⏹ Whytheprocessofprojectplanningisiterativeandwhyaplanmustbecontinually不断地reviewedduringasoftwareproject.
⏹ Solution:
Projectplanningcanonlybebasedonavailableinformation.Atthebeginningofaproject,therearemanyuncertaintiesintheavailableinformationandsomeinformationabouttheprojectandtheproductmaynotbeavailable.Astheprojectdevelops,moreandmoreinformationbecomesavailableanduncertaintiesareresolved.Theprojectplanthereforemustbereviewedandupdatedregularlytoreflectthischanginginformationenvironment.
软件项目地规划取决于有用地信息。
在项目进行期间不断产生新的信息,所以必须经常性的修改原有的计划。
原本有用的信息可能会不再有用,而原本一些不确定的信息反而会变得有用。
最初对象目本身的估算是实验性的,所以计划需要不断的修改。
⏹ Suggestwhomightbestakeholdersinauniversitystudentrecordssystem.
Thestakeholdersinastudentrecordssysteminclude:
Universitycentraladministrationincludingthoseresponsibleforregistration,paymentoffees,examsandassessmentandgraduation.大学管理中心,包括报到,交纳学费,考试,作业和毕业等
Thestudentswhosedetailsarerecordedinthesystem.记录在这个系统中的学生
Universitydepartmentaladministratorswhosupplyinformationtothesystemanduseinformationfromit.大学部门管理者,需要提供和使用这些信息
Academicstaffthatuseinformationfromthesystem.使用系统信息的学院成员
Dataprotectionofficers(localandnational).数据保护工作者
Potentialemployersofstudents(whomayrequireinformationfromthesystem).潜在的学生中的雇佣者
在学生记录系统中的参与者包括:
。
学校管理中心包括负责学生注册,缴费,考试,评估,毕业事宜的相关人员
。
那些被记录具体信息的学生
。
把学生信息录入到系统并使用系统信息的学校部门人员
。
使用这些信息的学术人员
。
数据安全人员(本地和国家的)
。
潜在的雇用学生的人(或许需要用到这个系统里面的信息)
7.3Forthreeoftheviewpointsidentifiedinthelibrarysystem.LIBYSY,suggestthreerequirementthatcouldbesuggestedbystakeholdersassociatedwiththatviewpoint.
Solution:
Youcantacklethisproblemusingabrainstormingapproach.Obviously,therearemanyalternativestothesolutionssuggestedhere.Notetheprintingconflictisdeliberate.
Viewpoint:
Librarymanager
Requirement:
AccesstotheLIBSYSsystemshallberestrictedtoaccreditedusersofthelibrary.
Requirement:
TheLIBSYSsystemshallprovideareportingfacilitythatallowsusagereports(whousedthesystem,howoften,whatlibrarieswereaccessed)tobecreatedandprinted.
Requirement:
TheLIBSYSsystemshallbeconfiguredsothatonlydocumentprintingonspecificlibraryserversispermitted.
Viewpoint:
Users
Requirement:
TheLIBSYSsystemshallbeaccessiblefromanylocation,includinglocationsawayfromtheuniversitycampus.
Requirement:
ItshallbepossibletosaveLIBSYSqueries,recallthemandmodifythemforsubsequentuse.
Requirement:
TheLIBSYSsystemshallallowdocumentstobeprintedonuserprinters.
Viewpoint:
Systemmanagers
Requirement:
TherestarttimeoftheLIBSYSsystemafterfailureshallnotexceed5minutes.
Requirement:
TheLIBSYSsystemshallprovideabackupfacilityforuser’spersonalworkspaces.
Requirement:
TheLIBSYSsystemshallbeavailableforarangeofplatformsincludingWindows2000,WindowsXPandMacOSX.
7.4TheLIBSYSsystemhastoincludesupportforcataloguingnewdocumentswherethesystemcatalogmaybedistributedacrossseveralmachines.Whatarelikelytobethemostimportanttypesofnon-functionrequirementassociatedwiththecataloguingfacilities?
⏹ Solution:
Importantnon-functionalattributesforthecatalogingservicesmightbe:
•Availability(becausethesystemmayberequiredatanytime)
•Security(becausethebooksdatabasemusn’tbecorrupted)
•Efficiency(becausethesystemmustrespondquicklytoeachtransaction)
Forthebrowsingservices,usabilityisalsoveryimportantastheseservicesshouldbeeasytousewithoutextensivetraining.
⏹ Discussanexampleofatypeofsystemwheresocialandpoliticalfactorsmightstronglyinfluencethesystemrequirement.Explainwhythesefactorsareimportantinyourexample.
⏹ Solution:
Anexampleofasystemwheresocialandpoliticalfactorsinfluencesystemrequirementsisasystemtomanagethecostsofpublichealthcare.Politiciansareanxiousbothtocontrolcostsandtoensurethatthebestpublicimageofthehealthcaresystemisprovided.Thereisapotentialconflictinsuchasystembetweenadministratorswhoaredrivenbytreatmentcostsanddoctorswhoare(orshouldbe)drivenbytreatmenteffectiveness.Therequirementsforthesystemmightthereforeembedparticularpolicieswhichareincludedasaresultoforganizationsfactors(e.g.ensurethatadministratorscanvettreatmentcosts)ratherthantechnicalrequirements.
社会和政治因素影响系统需求的一个例子是管理成本和公共卫生保健的系统。
政治家们对控制成本和确保提供最好的卫生保健系统都很关心。
在这样一个系统中这本来就是一对潜在的矛盾,系统管理人员关心的治疗成本而医生们关心的治疗效果。
此时系统需求可能要建立在特殊的包括一系列组织因素的政策上而不是技术需求。
⏹ 11.1Whyitmaybenecessarytodesignthesystemarchitecturebeforethespecificationarewritten?
Solution:
Thearchitecturemayhavetobedesignedbeforespecificationsarewrittentoprovideameansofstructuringthespecificationanddevelopingdifferentsub-systemspecificationsconcurrently,toallowmanufactureofhardwarebysub-contractorsandtoprovideamodelforsystemcosting.
体系结构设计过程输出了一个体系结构的设计文档,这样的设计文档包含了一系列图形化的系统模型描述和一些相关的描述文本。
该文当描述了系统如何有子系统构成以及每个子系统如何有模块构成。
11.4Givingreasonsforyouranswer,suggestanappropriatestructuralmodelforthefollowingsystems:
1. anautomatedticket-issuingsystemusedbypassengersatarailwaystation
2. acomputer-controlledvideoconferencingsystemthatallowsvideo,audioandcomputerdatatobevisibletoseveralparticipantsatthesametime.
3. arobotfloor-cleanerthatisintendedtocleanrelativelyclearspacessuchascorridors,thecleanermustbeabletosensewallsandothersbstructions.
Solution:
Ticketissuingsystem.Themostappropri