《软件工程》复习材料(有答案).doc
《《软件工程》复习材料(有答案).doc》由会员分享,可在线阅读,更多相关《《软件工程》复习材料(有答案).doc(15页珍藏版)》请在冰豆网上搜索。
一、写出下列缩写英文的中文涵义[30T]
CFDDFDOOASASDSPCMMCMMIUMLCASEXP
C/SB/SATAMPDLSQAMVCCRC MBSCBSDGUI
SQLMTTRMTTFMTBFFTRPERTSCMCPMRMMP
【参考答案】
计算流体动力学(CFD)ComputationalFluidDynamics
数据流图(DFD)DataFlowDiagram
面向对象分析方法(OOA)Object-OrientedAnalysis
结构化分析方法(SA)StructuredAnalysis
结构化设计(SD)Structureddevise
结构化编程(SP)StructuredProgramming
成熟度模型(CMM)CapabilityMaturityModel
能力成熟度模型集成(CMMI)CapabilityMaturityModelIntegration
统一建模语言(UML)UnifiedModelingLanguage
计算机辅助软件工程(CASE)ComputerAidedSoftwareEngineering
极限编程(XP)ExtremeProgramming
客户机/服务器网(C/S)Client/Server
浏览器和服务器结构(B/S)Browser/Server
构架权衡分析方法(ATAM)ArchitectureTradeoffAnalysisMethod
页描述语言(PDL)ProgramDesignLanguage
软件质量保证(SQA)SoftwareQualityAssurance
模型-视图-控制器(MVC)ModelViewController
循环冗余码校验(CRC)CyclicalRedundancyCheck
相互广播系统(MBS)MutualBroadcastingSystem
基于构件的软件开发(CBSD)Component-BasedSoftwareDevelopment
图形用户界面(GUI)GraphicalUserInterface
结构化查询语言(SQL)StructuredQueryLanguage
平均恢复前时间(MTTR)MeanTimeToRestoration
平均失效前时间(MTTF)MeanTimeToFailure
平均无故障时间(MTBF)MeanTimeBetweenFailure
正式技术复审(FTR)FormalTechnicalReview
计划评审技术(PERT)ProgramEvaluationAndReviewTechnique
软件配置管理(SCM)SoftwareConfigurationManagement
关键路径方法(CPM)CriticalPathMethod
二、概念[34]
[1]在《计算机科学技术百科全书中》,对计算机软件作出如下定义:
计算机软件指计算机系统中的程序和文档,前者是计算任务的处理对象和处理规则的描述;后者是为了便于了解程序所需的阐述性资料。
[2]软件和硬件具有完成不同的特性,软件是设计开发的,而不是传统意义上生产制造的。
[3]软件工程是一种层次化技术,是建立在以质量焦点为基础的,分过程、方法、工具三个研究层次的综合技术。
[4]软件工程是应用计算机科学、数学及管理学等原理,开发软件的工程,其框架可概括为:
目标、过程和原则。
[5]结构化设计方法中,要把数据流图转换成软件结构,若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为事务型的数据流图。
[6]数据流图仅反映系统必须完成的逻辑功能,所以它是一种功能模型。
[7]耦合性是定性度量模块独立性的标准之一,它根据模块的外部特征提出的,是对软件系统结构中各模块间相互联系紧密程度的一种度量,也称块间关系。
[8]衡量软件的独立性有两个定性的度量标准,即耦合和内聚。
[9]任何程序都可由选择结构、循环结构和顺序结构3种基本控制结构构造,其共同点是单入口、单出口。
[10]统一过程(UP)是一种用例驱动的迭代式增量开发过程,每次迭代过程中主要的工作流包括捕获需求、分析、设计、实现和测试等,这种软件过程的用例图式通过分析得到。
[11]软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个自底向上或相反顺序集成的过程。
[12]软件测试的目的是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。
[13]软件质量定义为:
与所确定的功能和性能需求的一致性;与所成文的开发标准的一致性;与所有专业开发的软件所期望的隐含特性的一致性。
[14]LOC是软件规模的一种量度,它表示源代码行数
[15]参照以前完成的项目所耗费的总成本来推算将要开发的软件的总成本,然后把它们按阶段、步骤和工作单元进行分配,这种方法被称为自顶向下方法。
[16]在统一建模语言(UML)中,描述系统与外部系统及用户之间交互的图是用例图。
[17]如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误,beta测试(β测试)是由软件的最终用户在一个或多个用户实际使用环境下来进行的。
[18]结构化分析方法(SA)的一个重要指导思想是自顶向下,逐步分解.
[19]软件从一个计算机系统转换到另一个计算机系统运行的难易程度是指软件可移植性
[20]在进行面向对象设计时,采用设计模式能够复用相似问题的相同解决方案
[21]面向对象分析需要找出软件需求中客观存在的所有实体对象,然后归纳、抽象出实体类。
名词分析是寻找实体对象的有效方法之一。
[22]需求分析最终结果是产生需求规格说明书
[23]软件结构图中,模块框之间若有直线连接,表示它们之间存在调用关系
[24].在软件开发过程中,软件设计包括4个既独立又相互联系的活动,分别为体系结构设计、接口设计、数据设计和过程设计。
[25]进行软件项目的风险分析时,风险避免、风险监控和风险管理及意外事件计划是风险控制活动中需要考虑的问题。
[26]开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称为软件危机
[27]黑盒测试在设计测试用例时,主要需要研究需求规格说明与概要设计说明
[28]如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误,alpha测试(α测试)是由一个用户在开发者的场所来进行的,测试的目的是寻找错误的原因并改正之。
[29]软件质量必须在设计和实现的过程中加以保证,为了确保每个开发过程的质量,防止把软件差错传递到下一过程,必须进行质量检验
[30]甘特(Gantt)图的作用是什么?
[以课本为主]
通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况。
[31]面向对象具有继承性、多态性、封装性、信息隐蔽等特征
[32]白盒和黑盒测试各有哪些方法。
[以课本为主]
白盒方法:
·代码检查法
·静态结构分析法
·静态质量度量法
·逻辑覆盖法
·基本路径测试法
·域测试
·符号测试
·Z路径覆盖
·程序变异
黑盒方法:
·等价类划分方法
·边界值分析方法
·错误推测方法
·因果图方法
·判定表驱动分析方法
·正交实验设计方法
·功能图分析方法
[33]软件度量有哪些方法[以课本为主]
·功能点分析(FPA:
functionpointsanalysis)
·代码行(LOC:
linesofcode)
·德尔菲法(Delphitechnique)
·COCOMO模型、特征点(featurepoint)
·对象点(objectpoint)
·3-D功能点(3-Dfunctionpoints)
·Bang度量(DeMarco'sbangmetric)
·模糊逻辑(fuzzylogic)
·标准构件法(standardcomponent)等
[34]成本估算有哪些方法[以课本为主]自顶向下和自底向上
三、名词解释[10T]
信息隐蔽可靠性用例正确性可移植性基线再工程重构集成测试场景
[1]信息隐蔽:
是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。
[2]可靠性:
一个程序期望以所需的精确完成它的预期功能的程度。
[3]用例:
一组场景,用以共同描述用户的某个特定的目标。
[4]正确性:
一个程序满足它的需求规约以及实现客户任务目标的程度。
[5]可移植性:
软件从一个计算机系统转换到另一个计算机系统运行的难易程度。
[6]基线:
是指已经经过正式审核和同意,可用作下一步开发的基础,且只有通过正式的修改管理过程方能加以修改的规约说明或产品。
[7]再工程:
逆向工程+重构+正向工程
[8]重构:
就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。
[9]集成测试:
也称组装测试或联合测试,是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。
组装模块的方式有两种:
渐增式测试和非渐增式测试。
[10]场景:
用户与系统之间的一个交互过程,即为实现这次交互所要经历的一系列步骤。
四、案例分析[7T]
[1]阅读以下说明和图,回答问题1至问题4。
某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:
1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,在根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则是无效的。
4)对于有效成绩,系统将其保存在课程成绩文件中。
对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。
在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
5)若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。
教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。
6)在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。
主讲教师必须将核对之后的成绩报告返还系统。
7)根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。
考试委员会在审查之后,上交一份成绩审查结果给系统。
对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。
现采用结构化方法对这个系统进行分析与设计,得到如图
(1)所示的顶层数据流图和图
(2)所示的0层数据流图。
图
(1)顶层数据流图
图
(2)第0层数据流图