2020四川大学软件工程期末复习

合集下载

软件工程期末考试简答题归纳

软件工程期末考试简答题归纳

1什么是软件工程?基本原理有哪些?32成本_效益分析可用哪些指标进行度量?(写出公式)33什么是数据流图?其中的基本符号各表示什么含义?画出定货系统基本数据流图。

34非渐增式测试与渐增式测试有什么区别?35试从基本符号和设计方法分析HC图与JACKSON图异同点36软件测试的目的是什么?37结构化程序设计的思想是什么?48请解释极限编程和自适应软件开发,并说明其异同?49需求工程的起始阶段,需求工程师的主要工作是?410请画出“在餐厅使用信用卡付费”这一活动的完整用例图?411分析说明结构化分析和面向对象分析的区别?412 请简要给出评价软件设计质量的标准?513 一个良好的设计类需要满足四个特点,请详细描述这四个特点?514软件项目估算容与步骤515面向对象设计的准则是什么?有哪5个层次和4个部分?516简述软件工程目标和面临的主要问题。

517简述软件工程过程。

618简述模块独立性的原则。

619简述结构化程序设计方法的基本要点620简述软件生命周期开发方法的基本过程及每个阶段的任务。

621复印机的工作流程大致如下:722简述文档在软件工程中的作用。

723简述软件项目管理过程。

824简述系统分析员应该具备的主要知识结构和基本素质。

825简述何谓软件开发方法?请列举四种主要方法。

826简述单元测试的基本容。

827什么是软件生存周期模型?请至少列举四种主要模型?928衡量模块独立的两个标准是什么?它们各表示什么含义?(网上)929简述白盒测试的思想,并列举两种典型的测试技术。

930简述CMM(软件能力成熟度模型)5个等级的含义931简述软件维护的定义1032简述软件测试的定义1033 UML建模中主要包括哪九种图?并说明类图的定义及其中常见的关系有哪些?1034什么是字据字典?其作用是什么?它有哪些条目?1035软件工程的两大型分别是什么?它们有什么不同?1036如何画分层数据流图?1137面向对象程序设计有哪些优点?1138在软件测试中,应注意哪些原则?1139程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。

《软件工程》期末总复习题.docx

《软件工程》期末总复习题.docx

《软件工程》期末总复习题(软件工程作业1第1〜4章)一、选择题:1•开发软件所需高成木和产品的低质量Z间有着尖锐的矛盾,这种现象称做()。

A.软件工程B.软件周期C.软件危机D.软件产生2.瀑布模型本质上是--种()模型。

A.线性顺序B.顺序迭代C.线性迭代D•早期产品3.瀑布模型存在的问题是()oA.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求4.螺旋模型是一种将瀑布模型和()结合起来的软件开发模型。

A.增量模型B.专家系统C.喷泉模型D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,适用于()系统。

A.需求不确定性高的B.需求确定的C.管理信息D.实时6.下列有关软件工程的标准,属于国际标准的是()A.GBB.DINC.ISOD.IEEE7.结构化方法是一种基于()的方法。

A.数据结构B.程序结构C.算法D.数据流8.软件可行性研允实质上是要进行一次()需求分析、设计过程。

A、简化、压缩的B、详细的C、彻底的D、深入的9.可行性研究的目的是()A、分析开发系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开发系统10.设年利率为i,现存入p元,不计复利,n年后可得钱数为()。

A、PX(l+i*n)B、PX (i+1)*nC、pX(l+i)nD、pX(i+n)11.可行性研究是在()之前A、系统开发B、测试C、试运行D、集成测试12.可行性研究需要的时间长短収决于系统的规模,一般來说,可行性研究的成本只是预期总成本的()。

A、1%B、20%C、8%D、50%13.我国正式颁布实施的()对讣算机病毒的定义具有法律性、权威性。

A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》14.效率是一个性能要求,因此应当在以下哪个阶段规定?()A、可行性分析B、需求分析C、概要设计D、详细设计15.需求规格说明书的作用不包括()A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义()中的各个成份的具体含义的。

《软件工程》期末试卷及答案

《软件工程》期末试卷及答案

《软件工程》期末试卷及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的质量C. 减少软件的开发成本D. 提高软件的可维护性答案:D2. 软件工程的三要素不包括以下哪项?A. 方法B. 工具C. 管理模式D. 知识库答案:D3. 下列哪种软件过程模型适用于需求不明确的项目?A. 水平模型B. 增量模型C. 迭代模型D. 瀑布模型答案:C4. 在软件项目管理中,项目经理负责以下哪项工作?A. 软件需求分析B. 软件设计C. 软件编码D. 项目计划与组织答案:D5. 以下哪种编程语言不属于面向对象编程语言?A. JavaB. C++C. PythonD. C答案:D6. 下列哪种软件测试方法属于静态测试?A. 单元测试B. 集成测试C. 系统测试D. 代码审查答案:D7. 以下哪种软件维护类型占总维护工作量的比例最大?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:C8. 下列哪种软件文档是软件开发过程中必须编写的?A. 项目计划书B. 需求规格说明书C. 设计文档D. 测试报告答案:B9. 下列哪种软件工程方法学强调开发过程的结构化和规范化?A. 结构化分析方法B. 面向对象分析方法C. 原型法D. 敏捷开发方法答案:A10. 以下哪个软件工具不属于CASE(计算机辅助软件工程)工具?A. 代码生成器B. 代码审查工具C. 项目管理工具D. 数据库管理系统答案:D二、填空题(每题2分,共20分)11. 软件工程的基本原则包括抽象、封装、模块化、层次化和信息隐藏等,其中______是一种将信息、数据和操作封装在一起的方法。

答案:封装12. 软件开发过程分为需求分析、设计、编码、测试和维护五个阶段,其中______阶段是软件开发过程中的核心阶段。

答案:设计13. 代码行(LOC)和功能点(FP)是衡量软件规模的两个指标,其中______是一种基于软件功能需求的规模度量方法。

2020软件工程期末填空题 +答案

2020软件工程期末填空题 +答案

习题11.软件工程是开发、运行、维护和修复软件的系统化方法,它包含的三个要素指的是:(方法)(工具)和(过程)2.软件是计算机系统中与硬件相互依存的另一部分,它是包括(程序)(数据)及(文档)的完整集合。

3.开发软件时对提高软件开发人员工作效率至关重要的是(程序运行环境 ),软件工程中描述生存周期的瀑布模型一般包括计划、(需求分析)、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(概要设计)和(详细设计)两步。

4.软件发展过程的第一阶段称为“程序设计的原始时期”,这时既没有(汇编语言),也没有(高级语言),程序员只能用机器指令编写程序。

5.软件发展过程的第二阶段称为“基本软件期”,出现了(汇编语言),并逐渐普及,随着(高级语言)的发展,编译技术也有较大的发展。

6.软件发展过程的第三阶段称为“程序设计方法时代”,这一时期,与硬件费用下降相反,软件开发费急剧上升。

人们提出了(结构化)和(模块化)等程序设计方法,设法降低软件的开发费用。

7.软件发展过程的第四阶段称为“软件工程时期”,软件开发技术不再仅仅是程序设计技术,而是包括与软件开发的各个阶段,如(需求分析)、(设计)、编码、单元测试、综合测试、(使用与维护)及其整体有关的各种管理技术。

8.原型化方法从用户界面的开发入手,首先形成(系统界面原型)、用户(运行用户界面原型),并就(同意什么不同意什么)提出意见,它是一种(自外向内)型的设计过程。

9.软件工程中描述生存周期的瀑布模型一般包括计划(需求分析)、软件设计、代码设计、软件测试、软件维护等几个阶段,其中软件设计阶段在管理上又可以依次分成(概要设计)和(详细设计)两步。

习题21.在实体关系图中,表达对象的实例之间的关联有三种类型:一对一联系、(一对多、多对一)联系、多对多联系。

2.需求分析的重点是:(业务模型 )、(功能模型)、(性能模型)、(接口模型)。

3.获取需求的常用方法有:(访谈)、(问卷调查)、(情景分析)、(构造原型)。

软件工程期末试题(含答案)

软件工程期末试题(含答案)

软件工程期末试题(含答案)软件工程期末试题(含答案)1. 选择题(1) 在软件开发过程中,以下哪个活动是与需求分析相关的?A. 代码编写B. 测试C. 需求验证D. 项目规划答案:C(2) 在敏捷开发方法中,以下哪个原则强调“面对面交流”?A. 个体和交互高于工具和过程B. 客户合作高于合同谈判C. 可以交付的软件高于详尽的文档D. 响应变化高于遵循计划答案:A2. 简答题(1) 简述软件开发生命周期的阶段及每个阶段的主要任务。

答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护阶段。

需求分析阶段的主要任务是收集用户需求、进行需求分析和规格说明;设计阶段的主要任务是根据需求进行软件的整体架构设计、模块设计等;编码阶段的主要任务是根据设计文档进行程序代码的编写;测试阶段的主要任务是对软件进行功能、性能、兼容性等各方面的测试;维护阶段的主要任务是修复软件中的缺陷、升级功能等。

(2) 什么是软件需求?简述软件需求分析的过程。

答案:软件需求是对软件系统的功能、性能、接口、约束和设计约束条件的描述。

软件需求分析是指对软件需求进行识别、获取、明确和规格说明的过程。

其过程包括以下几个步骤:a. 需求获取:通过与用户交流、收集现有文档等方式,获取软件需求相关的信息;b. 需求分析:对获取的软件需求进行整理和分类,识别出需求之间的关联和依赖关系;c. 需求明确:明确每个需求的具体含义,确保需求描述准确清晰;d. 需求规格说明:将明确的需求进行形式化的规格说明,以便后续的设计和开发工作。

3. 论述题软件开发中的版本控制是一项重要的技术,它可以有效地管理和追踪软件代码的变化,并协同开发者之间的合作。

请简要讨论软件版本控制的几种常见方式及其优缺点。

答案:常见的软件版本控制方式包括本地版本控制、集中式版本控制和分布式版本控制。

每种方式都有其优缺点:a. 本地版本控制:通过在本地维护一份完整的代码仓库,实现对代码的版本控制。

(完整word版)软件工程期末试卷(十套含答案)

(完整word版)软件工程期末试卷(十套含答案)

软件工程期末试题(一)单项选择题1。

瀑布模型的存在问题是(B )A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A。

软件工程 B.软件周期C.软件危机D.软件产生3。

数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制B。

数据、标记、控制、公共C.控制、数据、标记、公共D。

控制、数据、公共、标记4。

在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D。

模块独立性5.软件测试的目的是( B )。

A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法.A.等价类划分B。

边界值分析C。

因果图D。

判定表7。

需求分析最终结果是产生( B )。

A。

项目开发计划 B. 需求规格说明书C。

设计说明书D。

可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。

A. 调用关系B. 组成关系C. 链接关系D。

顺序执行关系9。

软件详细设计的主要任务是确定每个模块的( C )。

A. 功能B。

外部接口 C。

算法和使用的数据结构 D. 编程10.为了提高软件的可维护性,在编码阶段应注意( D )A。

保存测试用例和数据 B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。

动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( A ).A .状态图B。

数据流图C。

系统结构图D。

软件工程复习提纲(附答案)

软件工程复习提纲(附答案)

软件工程复习提纲(附答案)软件工程第一章软件工程介绍1、软件的特性:P3软件是设计开发的,而不是传统意义上的生产制造;软件不会磨损;大多数软件仍是根据实际的客户需求制定的。

2、计算机软件的七大分类:P5系统软件、应用软件、工程/科学软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

3、遗留系统发生系统演化的原因:P6软件需要修改其适应性,从而可以满足新的计算环境或技术的需求软件必须根据新的业务需求进行升级软件必须扩展以具有与更多现代系统和数据库的协作能力软件架构必须进行改建以适应多样化的网络环境4、软件神话:管理者,用户,从业者P135、软件的定义:P3软件是:指令的集合,通过执行这些指令可以满足预期的特征,功能和性能需求;数据结构,它使得程序可以充分利用信息;描述程序操作和使用的文档。

第二章过程综述1、软件工程的三个要素:工具,过程,方法P8过程:软件过程将各个技术层次结合在一起,并实施合理地,及时地开发计算机软件方法:为建造软件提供技术上的解决方法。

工具:为过程和方法提供自动化或半自动化的支持。

2、通用软件过程框架:沟通,策划,建模,构建,部署P9沟通:这个框架活动包含了与客户之间大量的交流和协作,还包括需求获取以及其他相关活动策划:指为后续的软件工程工作制定计划。

建模:它包括创建模型和设计两方面。

创建模型有助于客户和开发人员更好得理解软件需求;设计可以实现它。

构建:它包括编码和测试。

部署:软件交付到用户,用户对其进行评测并给出意见3、能力成熟度模型:P22第0级:不完全级;第1级:已执行级;第2级:已管理级;第3级:已定义级;第4级:已定量管理级;第5级:优化级;第三章过程模型1、简述惯例框架包含的主要活动:P19沟通、策划、建模、构建、部署2、简述瀑布模型所包含的主要框架活动:P24沟通、策划、建模、构建、部署3、简述瀑布模型在实际运用中所面临的问题(缺点):P24实际的项目很少遵守瀑布模型提出的顺序客户通常难以清楚地描述所有的需求客户必须有耐心,因为只有在项目的后期,他们才能看到可执行的程序。

软件工程导论四川大学期末考试

软件工程导论四川大学期末考试

A.Multiple choice (Only one is correct): ( 20*2%=40%)1.Which of the items listed below is not one of the software engineeringlayers?A. ProcessB. ManufacturingC. MethodsD. Tools2.What are the three generic phases of softwareengineering?A. definition, development, supportB. what, how, whereC. programming, debugging, maintenanceD. analysis, design, testing3.Which of these terms is a level name in the Capability MaturityModel?A. Ad hocB. RepeatableC. ReusableD. Organized4.Which of these items should be used to select a software processframework?A. PeopleB. ProductC. ProjectD. All of the above5.The linear sequential model of software developmentisA. A reasonable approach when requirements are well defined.B. A good approach when a working program is required quickly.C.The best approach to use for projects with large development teams.D.An old fashioned model that is rarely used any more.6.The prototyping model of software developmentisA. A reasonable approach when requirements are well defined.B. A useful approach when a customer cannot define requirements clearly.C.The best approach to use for projects with large development teams.D. A risky model that rarely produces a meaningful product.7.The spiral model of softwaredevelopmentA.Ends with the delivery of the software productB.Is more chaotic than the incremental modelC.Includes project risks evaluation during each iterationD.All of the above8.Software risk always involves twocharacteristicsA.fire fighting and crisis managementB.known and unknown risksC.uncertainty and lossD.staffing and budget9.Three categories of risksareA.business risks, personnel risks, budget risksB.project risks, technical risks, business risksC.planning risks, technical risks, personnel risksD.management risks, technical risks, design risks10.Variation control in the context of software engineering involves controlling variationin theA.process appliedB.resources expendedC.product quality attributesD.all of the above11. A key concept of quality control is that all workproductsA.are delivered on time and under budgetB.have complete documentationC.have measurable specifications for process outputsD.are thoroughly tested before delivery to the customer12.What task is not performed as part of software requirementsanalysis?A.evaluation and synthesisB.modeling and problem recognitionC.planning and schedulingD.specification and reviewe-cases are scenarios thatdescribeA.how software is to be used in a given situation.B.how CASE tools will be used to construct the system.C.the build plan for a software product.D.the test cases for a software product.14.Which view should be considered first during software requirements analysis?A.actor viewB.data viewC.essential viewD.implementation view15.What types of models are created during software requirementsanalysis?A.functional and behavioralB.algorithmic and data structureC.architectural and structuralability and reliability16.Which of the following is not a principle that should be followed when creating aspecification?A.create a cognitive model rather than a design modelB.make sure the specification dots every "i" and crosses every "t"C.recognize that the specification must be augmentableD.separate functionality from implementation17.Which of the following is not a guideline for representingrequirements?A.diagrams should be restricted in number and consistent in useB.representation format and content should be relevant to the contentC.representations should be revisablee no more than 7 plus or minus 2 colors in any diagrams18.Which of the following is not an objective for building an analysismodel?A.define set of software requirementsB.describe customer requirementsC.develop an abbreviated solution for the problemD.establish basis for software design19.The data flowdiagramA.depicts relationships between data objectsB.depicts functions that transform the data flowC.specified major logical decisions as they occurD.indicates system reactions to external events20.The entity relationshipdiagramA.depicts relationships between data objectsB.depicts functions that transform the data flowC.indicates how data are transformed by the systemD.indicates system reactions to external events21.The state transitiondiagramA.depicts functions that transform the data flowB.indicates how data are transformed by the systemC.indicates system reactions to external eventsD.depicts relationships between data objects22.Performing a grammatical parse of the processing narrative is the good first step totake in producing a(n)A.data dictionaryB.data flow diagramC.entity relationship diagramD.state transition diagram23. Which of the following is not an area of concern in the designmodel?A.architectureB.dataC.interfacesD.project scope24.Which of these is a characteristic of a gooddesign?A.exhibits strong coupling between its modulesB.implements all requirements in the analysis modelC.includes test cases for all componentsD.incorporates source code for descriptive purposes25. The importance of software design can be summarized in a singlewordA.accuracyplexityC.efficiencyD.quality26.Software reliability problems can almost always be tracedtoA.errors in requirements gatheringB.errors in design and implementationC.human errorD.errors in operation27.Software safety is a quality assurance activity that focuses on hazardsthatA.affect the reliability of a software componentB.may cause an entire system to failC.may result from user input errorsD.prevent profitable marketing of the final product28.Which of the following is not a section in the standard for SQA plans recommended byIEEE?A.budgetB.documentationC.reviews and auditsD.test29.Which of the following are characteristics of testablesoftware?A.ObservabilityB.SimplicityC.StabilityD.all of the above30.The testing technique that requires devising test cases to demonstrate that each programfunction is operational iscalledA.black-box testingB.glass-box testingC.grey-box testingD.white-box testing31.Black-box testing attempts to find errors in which of the followingcategoriesA.incorrect or missing functionsB.interface errorsC.performance errorsD.all of the above32. Which of these are objectives for softwaretesting?A.determine the productivity of programmersB.eliminate the need for future program maintenanceC.eliminate every error prior to releaseD.uncover software errors33.What is the normal order of activities in which software testing isorganized?A.unit, integration, system, validationB.system, integration, unit, validationC.unit, integration, validation, systemD.none of the above34.Which of the following need to be assessed during unittesting?A.algorithmic performanceB.code stabilityC.execution and error handlingD.all of the above35.Which of the following is an approach todebugging?A.backtrackingB.brute forceC.cause eliminationD.all of the above36.The objective of software project planning istoA.convince the customer that a project is feasible.B.make use of historical project data.C.enable a manager to make reasonable estimates of cost and schedule.D.determine the probable profit margin prior to bidding on a project.B. True or false. (10*2%=20%)1.Structured analysis is only useful for modeling information systems work, not real-timeengineering problems.2.The primary purpose of an entity relationship diagram in the data model is to allownormalization of relationship tables.3.Software quality might be defined as conformance to explicitly stated requirements andstandards, nothing more and nothing less.4.In general the earlier a software defect is discovered and corrected the less costlyto the overall project budget.5.The goal of quality assurance is to provide management with the data needed to determinewhich software engineers are producing the most defects.6.Test cases should be designed long before testing begins.7.In software quality assurance work there is no difference between software verificationand software validation.8.Security testing attempts to verify that protection mechanisms built into a systemprotect it from improper penetration.9.Software is a product and can be manufactured using the same technologies used for otherengineering artifacts.10.Adding more people to a project that is already behind schedule is a good way to catchup.11.Change cannot be easily accommodated in most software systems, unless a system wasdesigned with change in mind.12. A consideration of software scope must include an evaluation of all external interfaces.C.Short answer: (4*5%=20%)1.How many phases are there in Software Requirements Analysis?2.Analysis Model has four elements: Data dictionary (DD), Entity relationship diagram(ERD), Data flow diagram (DFD), State transition diagram (STD). Describe each onebriefly.3.What is the risk? List at least four risks in software product development.4.Why do we use project planning?5.What is the verification and validation?6.What are the characteristics of testable software?7.What is the CMM? Describe its five levels in short.D.Answer the following questions in detail: (2*10%=20%)1.What is software engineering in your opinion?2.List the software process model as many as you can, and give a precise description.。

四川大学软件工程课程复习总结

四川大学软件工程课程复习总结

Chapter 1: The Nature of Software1. SoftwareDefinition of software计算机软件= 程序+ 数据结构+ 文档程序:指令的集合,通过执行这些指令可以满足预期的特征、功能和性能需求;数据结构:使得程序可以合理利用信息;文档:软件描述信息,用来描述程序操作和使用Characteristics of Software1、软件是设计开发的,而不是传统意义上生产制造的。

2、软件不会“磨损”。

3、虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的。

The difference of software and hardware一、软件是一种逻辑的产品,与硬件产品有本质的区别二、软件产品质量的体现方式与硬件产品不同三、软件产品的成本构成与硬件产品不同四、软件产品的失败曲线与硬件产品不同五、大多数软件任然是定制产生的2. The changing nature of softwareChapter 2: Software Engineering1. Software engineering – a layered technology:The definition of Software engineering运用系统的、规范的、可量化的方法开发、运行和维护软件,即将工程化的方法运用到软件开发中。

The goal of Software engineering软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。

Layer: tools, methods, process and a quality focus软件工程是一种层次化的技术。

软件工程的根基在于质量关注点;软件过程构成了软件项目管理控制的基础;软件工程方法为构建软件提供技术上的解决方法;软件工程工具为过程和方法提供自动化或半自动化支持。

四川大学软件工程考点

四川大学软件工程考点

1.一个包含过程(process)、一系列方法(methods)和工具(tools)的框架,我们称之为软件工程(software engineering)。

2.软件开辟人员面临的问题:①软件开辟时间长②软件开辟成本居高不下③在软件交付给用户之前,我们无法找到所有的错误。

④维护已有的程序花费高昂的时间和人力代价⑤软件开辟和维护的过程难以度量。

3.软件的定义:①程序(program):通过执行包含在程序中的指令可以满足预期的特征、功能和性能需求②数据结构(data structure):使得程序充分利用信息。

③文档(ducoment):描述程序操作和使用。

4.What is the difference between software and hardware?①软件是开辟设计的,而不是生产创造的。

②软件不会磨损(wear out),但是会退化(deteriorate)。

不断的变更是软件退化的根本原因。

硬件会磨损,磨损的部份可以用备用的构件替换,而软件缺不存在备用构件。

③虽然整个工业向着基于构件的构造模型发展,然而大多数的软件还是主要采用用户定制(custom buildt)的方式(Because off-the-shell software components are unavailable in many application domains)。

在硬件设计中,构件复用是工程进程中通用的方法。

而在软件设计中,大规模的复用还刚刚开始尝试。

5.软件的确定性(determinate)是指系统的输入、处理和输出的顺序及时间是可以预测的;软件的不确定性是指系统的输入、处理和输出的顺序及时间是无法提前预测的。

6.遗留软件(legacy software)——旧的软件①生命周期长(longevity) ②业务关键性(business criticality) ③质量差(poor quality)遗留软件发生系统演化的原因:①软件需要修改其适应性,从而可以满足新的计算环境或者技术的需求。

20秋电科《软件工程》期末考试

20秋电科《软件工程》期末考试

1.面向对象设计OOD模型的主要部件中,通常不包括()。

A.通信部件B.人机交互部件C.任务管理D.数据管理参考答案:A2.需求分析阶段最重要的技术文档是()。

A.设计说明书B.需求规格说明书C.可行性分析报告D.用户手册参考答案:B3.某教学设备销售部门制定一项销售优惠政策,一次购买100台或100台以上者按八五折优惠,购买者是教师、学生按九折优惠。

设C1表示购买的台数,C2为1、2、0分别表示教师、学生和其他人员,则符合九折优惠判定条件为()。

A.(C1<100)AND NOT(C2=0)B.(C10)C.NOT(C1>100)AND(C2=0)D.NOT(C10)参考答案:A4.数据流图所描述的是实际系统的()。

A.逻辑模型B.物理模型C.程序流程D.数据结核参考答案:A5.下列不属于概要设计所解决的问题范围的是()。

A.确定模块的层次结构B.全程数据结构的设计C.描述系统的功能与性能D.修改用户手册参考答案:C6.面向对象程序设计中,基于父类创建的子类具有父类的所有特性(属性和方法),这地特点称为类的()。

A.多态性B.封装性C.继承性D.重用性参考答案:C7.软件危机具有下列表现()。

Ⅰ.对软件开发成本估计不准确Ⅱ.软件产品的质量往往靠不住Ⅲ.软件常常不可维护Ⅳ.软件成本逐年上升A.Ⅰ、Ⅱ和ⅢB.Ⅰ、Ⅲ和ⅣC.Ⅱ、Ⅲ和ⅣD.以上都正确参考答案:D8.决定软件工程方法论所有步骤的关键目标是提高软件的()。

A.可移植性B.可靠性C.可维护性D.效率参考答案:C9.软件工程的出现是由于()。

A.软件危机的出现B.计算机硬件技术的发展C.软件社会化的需要D.计算机软件技术的发展参考答案:D10.下列属于应用软件的是()。

①计算机辅助教学软件②软件测试工具③办公自动化软件④工程与科学计算软件A.①、②和③B.①、③和④C.②、③和④D.以上都正确11.为了提高模块(),当修改或维护模块时减少把一个模块的错误扩散到其他模块中去的机会。

西电软件工程期末复习

西电软件工程期末复习

第一章软件与软件工程1.软件的定义:计算机软件是与计算机操作系统有关的程序、规程、规则及任何与之有关的文档和数据。

它由两部分组成:一是机器可执行的程序及有关数据;二是机器不可执行的、与软件开发、运行、维护、使用和培训有关的文档。

2.软件危机定义:它是指在计算机软件开发和维护过程中所遇到的一系列严重问题。

3.软件工程的定义:软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。

软件工程由方法、工具和过程三部分组成。

4.软件工程的目标:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的产品。

5.软件工程的原则:抽象、信息隐藏、模块化、局部化、一致性、完整性和可验证性。

抽象:抽取事物最基本的特性和行为,忽略非基本的细节。

信息隐藏:将模块中的软件设计决策封装起来的技术。

模块接口应尽量简洁,不要罗列可有可无的内部操作和对象。

模块化:模块是程序中逻辑上相对独立的成分,它是一个独立的编程单位,应有良好的接口定义。

局部化:要求一个物理模块内集中逻辑上相互关联的计算资源。

一致性:整个软件系统(包括文档和程序)的各个模块均应使用一致的概念、符号和术语;程序内部接口应保持一致;软件与硬件接口应保持一致;系统规格说明与系统行为应保持一致;用于形式化规格说明的公里系统应保持一致;等等完整性可验证性6.软件生存周期:软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生存周期。

(每个软件生存周期都包括软件定义,软件开发,软件使用与维护三个阶段)软件生存周期每个阶段的作用:a.软件定义:基本任务是确定软件系统的工程需求。

可分为软件可行性研究和需求分析两个阶段。

b.软件开发:按照需求规格说明的要求,由抽象到具体,逐步生成软件的过程。

包括概要设计、详细设计、实现、组装测试和确认测试五个阶段。

软件工程期末试题(部分答案)

软件工程期末试题(部分答案)

软件工程期末试题(部分答案)软件工程期末试题(部分答案)1. 正文在软件工程学科的学习过程中,期末试题是对学生掌握知识的一次考核。

本文将介绍一份软件工程期末试题的部分答案,以供参考和学习之用。

1.1 题目一题目描述:请简要解释软件工程的定义和目标。

解答:软件工程是一门关于软件开发与维护的学科,旨在通过系统化、规范化的方法,提高软件产品的开发效率与质量。

其目标主要包括:- 提高软件开发过程的可管理性和可预测性,确保软件项目按时、按质完成;- 提高软件产品的可靠性、可维护性和可扩展性,降低软件使用、维护成本;- 提高软件工程师的专业素养和职业道德,促进软件行业的健康发展。

1.2 题目二题目描述:请简述软件需求分析的主要任务和方法。

解答:软件需求分析是软件工程过程中的一项重要任务,其主要任务包括:- 确定用户需求:通过与用户的沟通与交流,了解用户的实际需求,明确软件系统的功能、性能和接口等方面的要求。

- 分析需求:对用户提供的需求进行分析与整理,识别需求之间的关系与约束,形成准确、一致的需求规格说明书。

- 验证需求:通过与用户进行需求确认与验证,确保需求规格说明书准确地反映了用户要求。

软件需求分析的方法主要包括:- 需求收集:通过面谈、问卷调查、观察等方法,获取用户需求的信息。

- 需求建模:采用UML等建模技术,将需求表示为用例图、活动图、类图等形式,便于理解与分析。

- 需求验证:通过原型设计、面向领域的建模方法等手段,与用户进行反复的沟通和确认,确保需求的正确性和完整性。

1.3 题目三题目描述:简要描述软件测试的概念和分类。

解答:软件测试是指对软件系统进行操作和评估,以发现其中的问题和缺陷的过程。

测试的目的是为了提高软件质量,保证软件能够满足用户的需求和预期。

软件测试可以根据不同的标准进行分类,包括:- 功能测试:验证软件系统的功能是否符合需求规格说明书,包括界面测试、逻辑测试、性能测试等。

- 安全测试:测试软件系统的安全性和可靠性,发现和修复潜在的安全漏洞和风险。

四川大学软件工程期末

四川大学软件工程期末

B ER diagram
D ability of communicating to other people
D decision table
7 The best reason for using independent software test teams is that
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,通系电1,力过根保管据护线生高0不产中仅工资2艺料22高试2可中卷以资配解料置决试技吊卷术顶要是层求指配,机置对组不电在规气进范设行高备继中进电资行保料空护试载高卷与中问带资题负料2荷试2,下卷而高总且中体可资配保料置障试时2卷,32调需3各控要类试在管验最路;大习对限题设度到备内位进来。行确在调保管整机路使组敷其高设在中过正资程常料1工试中况卷,下安要与全加过,强度并看工且25作尽52下可22都能护可地1关以缩于正小管常故路工障高作高中;中资对资料于料试继试卷电卷连保破接护坏管进范口行围处整,理核或高对者中定对资值某料,些试审异卷核常弯与高扁校中度对资固图料定纸试盒,卷位编工置写况.复进保杂行护设自层备动防与处腐装理跨置,接高尤地中其线资要弯料避曲试免半卷错径调误标试高方中等案资,,料要编试求5写、卷技重电保术要气护交设设装底备备置。4高调、动管中试电作线资高气,敷料中课并设3试资件且、技卷料中拒管术试试调绝路中验卷试动敷包方技作设含案术,技线以来术槽及避、系免管统不架启必等动要多方高项案中方;资式对料,整试为套卷解启突决动然高过停中程机语中。文高因电中此气资,课料电件试力中卷高管电中壁气资薄设料、备试接进卷口行保不调护严试装等工置问作调题并试,且技合进术理行,利过要用关求管运电线行力敷高保设中护技资装术料置。试做线卷到缆技准敷术确设指灵原导活则。。:对对在于于分调差线试动盒过保处程护,中装当高置不中高同资中电料资压试料回卷试路技卷交术调叉问试时题技,,术应作是采为指用调发金试电属人机隔员一板,变进需压行要器隔在组开事在处前发理掌生;握内同图部一纸故线资障槽料时内、,设需强备要电制进回造行路厂外须家部同出电时具源切高高断中中习资资题料料电试试源卷卷,试切线验除缆报从敷告而设与采完相用毕关高,技中要术资进资料行料试检,卷查并主和且要检了保测解护处现装理场置。设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

软件工程期末复习要点归纳总结

软件工程期末复习要点归纳总结

软件工程期末复习要点归纳总结软件工程是指在软件开发的全过程中,应用工程的原理、方法和经验对软件进行开发、运行和维护的过程。

在软件工程这个学科中,包括了软件需求、软件设计、软件构建、软件测试、软件维护等多个阶段和技术。

下面是软件工程期末复习的要点归纳总结:1.软件开发过程模型-瀑布模型:各个阶段按顺序进行,每个阶段完成后不可回溯。

-增量模型:将软件划分为多个增量,每个增量独立进行开发。

-螺旋模型:将软件开发过程分为多个循环,每个循环都包括需求分析、设计、开发和测试。

-迭代模型:将软件开发过程分为多个迭代,每个迭代包括需求分析、设计、开发和测试。

2.软件需求工程-需求获取:通过需求采集、用户访谈、问卷调查等方式获取需求。

-需求分析:对需求进行整理、分类、抽象和规范化,得出系统需求。

-需求规格说明:将需求规格化为需求文档,包括用例、用例图、领域模型等。

-需求验证:通过评审、原型验证等方式验证需求的正确性和完整性。

3.软件设计-结构化设计:通过模块化、自顶向下、逐步求精的方式进行软件设计。

-面向对象设计:通过类、继承、多态等面向对象的概念进行软件设计。

-架构设计:设计软件的整体框架和组件之间的关系。

-接口设计:设计软件的各个组件之间的接口。

4.软件构建-编码:根据设计文档进行编码,可以使用编程语言、集成开发环境等工具。

-调试:通过调试工具,对程序进行调试,找出存在的问题并进行修复。

-集成:将各个模块集成到一起,进行整体测试,确保功能的正确性。

-部署:将软件部署到目标环境中,确保软件能够正常运行。

5.软件测试-单元测试:对软件的最小单元进行测试,如函数、方法等。

-集成测试:对软件的各个模块进行整合测试,确保模块之间的协调性。

-系统测试:对整个系统进行测试,确保系统满足用户需求。

-验收测试:由用户对软件进行测试,验证软件是否满足用户需求。

6.软件维护-改正性维护:修复软件中的错误。

-适应性维护:根据用户需求,对软件进行功能扩展。

软件工程复习资料完整版

软件工程复习资料完整版

一、选择题:、用例图中,用来表示用例的符号为()。

、协作图中包含的元素包括()。

. 对象. 链. 激活. 消息、在类图中,哪种关系表达整体与部分的关系()。

.泛化. 实现. 依赖. 聚合、下列各种图形符号中,用来表示组成关系的符号为()。

. . . .、()工具在软件的详细设计中不能使用。

.. 图. 流程图.、“软件危机”是指()。

. 计算机病毒的出现 . 利用计算机进行经济犯罪活动. 软件开发和维护中出现的一系列问题 . 人们过分迷恋计算机系统、快速原型是利用原型辅助软件开发的一种新思想,它是在研究()的方法和技术中产生的。

. 需求阶段. 设计阶段. 测试阶段. 软件开发的各个阶段、从严格意义上讲,下列个选项中属于顺序图的元素是()。

. 对象. 参与者. 消息. 激活、下列图形中,()属于的动态视图。

. 协作图. 状态图. 活动图. 顺序图、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是()。

. 数据库设计. 数据通信. 数据关系描述. 数据定义、详细设计与概要设计衔接的图形工具是()。

. 图. 程序图. 图. 图、中,大多数建模者把节点分为()A. 设备. 构件. 处理器. 显示器、()是一种特殊形式的状态机,用于对计算流程和工作流程建模。

.时间图. 流程图. 活动图. 状态图、()描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。

. 状态图. 序列图. 协作图. 活动图、下列特点属于描述用例的特点的是()。

. 相对独立:不需要与其他用例交互,即功能是完备的. 用例的执行结果是可观测有意义的. 用例由参与者发起(不能自启动,或者由其他用例启动). 一个用例是一个单元(需求单元、分析单元、设计单元、开发单元、测试单元、部署单元) 、在图书管理系统中,读者与书籍之间的“借阅”关系的多重性是(). :. :. :…. …:…、我希望能够支持跨行业务;我插入卡片输入密码后可以让我选择是取钱还是存钱;为了方便,可以设置一些默认的存取金额按钮;我可以修改密码,可以挂失;我希望可以缴纳电话费、水费、电费等;为安全起见,应该有警示小心骗子的提示条,有摄像头;如果输入三次密码错误,卡片应当可以自动吞没;下列那些是有效的用例(). 支持跨行业务. 取钱. 存钱. 选择服务、快速原型法适用于()系统的开发。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Multiple choices1.The rapid application development model isAnswer:ca.Another name for component-based development.b. A useful approach when a customer cannot define requirementsclearly.c. A high speed adaptation of the linear sequential model.d.All of the above.1.Which of the following is not necessary to apply agilityto a software process?a.Eliminate the use of project planning and testingb.Only essential work products are producedc.Process allows team to streamline taskses incremental product delivery strategyAnswer:a2.How do you create agile processes to manageunpredictability?a.Requirements gathering must be conducted verycarefullyb.Risk analysis must be conducted beforeplanning takes placec.Software increments must be delivered in shorttime periodsd.Software processes must adapt to changesincrementallye.Both c and dAnswer: e1.To construct a system model the engineer should considerwhich of the following restraining factors? Answer: ea.assumptionsb.budgetc.constraintsd. schedulee.both a and c2.During business process engineering, three differentarchitectures are examined. Answer: aa.applications, data, technology infrastructuremunications, organization, financialinfrastructurework, database, reporting structured.systems, requirements, data structure3.Which of the following is not one of the context-freequestions that would be used during project inception?a.What will be the economic benefit from a goodsolution?b.Who is against this project?c.Who will pay for the work?d.Who will use the solution?Answer: b1.During the process of modeling the system in context,systems that interact with the target system are not representedas Answer: da.Peer-level systemsb.Subordinate systemsc.Super-ordinate systemsd.Working systems6. In transaction mapping the first level factoring results in the Answer: ba.creation of CFD.b.derivation of control hierarchyc.distribution of work modulesd.refinement of the module view7. A successful application of transform or transaction mapping tocreate an architectural design is supplemented by Answer: ea.entity relationship diagramb.module interface descriptionsc.processing narratives for each moduled.test case for each modulee.Both b and c7. The OO testing integration strategy involves testing Answer: aa.groups of classes that collaborate or communicatein some wayb.single operations as they are added to the evolvingclass implementationc.operator programs derived from use-case scenariosd.none of the aboveFilllment 填空题5 Framework activity沟通策划建模构建部署Process models惯用过程模型:线性:瀑布过程模型&经典生命周期V模型并行:增量过程模型演化过程模型:原型开发模型螺旋模型(迭代)协同开发模型(concurrent development model)专用过程模型:基于构建的开发模型(conponent-based)形式化方法模型(formal method)应用数学分析Process flow type线性过程流迭代过程流演化过程流evolutionary并行过程流Parallel Software process is a layered过程方法工具XP process model 极限编程过程策划设计敏捷建模重构编码结对编程测试UP (5 phases)初始inception细化elaboration构建转换transition生产productionUI design golden rules用户操纵控制place the user to control减少用户记忆负担reduce the user‘s memory load保持界面一致consisitentyDesign model数据/类设计体系结构设计接口设计构建级设计Requirement engineering起始导出elicitation精化elaboration 协商negotiation规格说明specifiction 确认validation 需求管理managmentRequirement modeling focuses on基于场景的元素基于类的元素行为元素面向数据流的元素Manifesto for agile software development statement 敏捷宣言个体交互胜过开发过程和工具可运行的软件胜过宽泛的文档客户合作胜过了合同谈判对变更的良好响应胜过了按部就班地遵循计划Testing strategy单元测试集成测试确认测试系统测试CMMI Level names不完全级incomplete已执行级performed 已管理级managed已定义级defined 已定量管理级quantiatively managed优化级optimizedTerm Explanation 名词解释Software engineering软件工程是:1将系统化,规范化,可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。

2,在1中所述方法的研究。

Software Architecture软件体系结构:指系统的一个或者多个结构,包括软件的构件,构件的外部可见属性以及它们之间的相互关系。

Couple and Cohesion内聚性:显示了某个模块相关功能的强度耦合性:显示了模块间相互依赖关系UML统一建模语言:是一种支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格到构造和配置Regression testing回归测试:在集成测试策略环境下,重新执行已测试的某个子集,以确保変更没有传播不期望的副作用。

Waterfall model瀑布模型经典生命周期模型:当需求很清楚时候。

他提出一个系统的,顺序的软件开发方法,从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供一个完整的软件和持续的技术支持。

Information hiding信息隐藏:指在设计和确定模块时,使得一个模块内包含的特定信息,对于不需要这些信息的其他模块来说是不可访问的。

Software testing软件测试:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

Requirement Engineering需求工程:指致力于不断理解需求的大量任务和技术,从软件工程的角度看,需求工程就是一个软件工程活动,开始于沟通活动并持续到建模活动Usecase用例:识别系统使用线索的场景,提供了系统将如何被使用的描述。

用户如何在一个特定的环境下与系统交互。

Class类:具有相似属性和共同行为的事务集合。

CRC model类-职责-协作者模型:可以识别和组织与系统或产品需求相关的类。

实际上是表示类的标准索引卡片的集合,写有类名,类的职责,类的协作关系。

Incemental Model增量模型:增量模型综合了线性过程流和并行过程流的特征,随着时间的推移,增量模型在每个阶段运用线性序列,每个线性序列生产出一个软件的可交付增量。

Polymorphism多态性:一种机制,允许一个类层次结构中的几个对象有不同的方法内容但具有相同的名称。

相关文档
最新文档