2015四川大学软件工程期末复习题
《软件工程》期末总复习题.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.数据字典是用来定义()中的各个成份的具体含义的。
软件工程导论期末试题A(带答案)
评阅教师得分四川大学期末考试试题(闭卷)(2014~2015学年第1学期)课程号: 311078040 课程名称:软件工程导论(A卷)任课教师:洪玫,刘东权,李旭伟等适用专业年级:软件工程 2013级学号:姓名:2. 请将答案全部填写在本试题纸上;3. 考试结束,请将试题纸、添卷纸和草稿纸一并交给监考老师。
✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍一、单项选择题(本大题共20小题,每小题1分,共20分)提示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在下表中。
错选、多选或未选均无分。
1. Software is the collection of ( ).(A) Programs(B) Data(C) Documents(D) All of above2.Which of the items listed below is not one of the software engineering layers? ( )(A) Process(B) Methods(C) Tools(D) Manufacturing3.The prototyping model of software development is ( ).(A) A reasonable approach when requirements are well defined.(B) The best approach to use for projects with large development teams.(C) A useful approach when a customer cannot define requirements clearly.注:试题字迹务必清晰,书写工整。
本题共11页,本页为第1页(D) A risky model that rarely produces a meaningful product.4. The linear sequential model of software development is also known as the ( ).(A) Prototyping model(B) Waterfall model(C) Fountain model(D) Spiral model5.Which one of the following phases is not one of the phase names defined by the Unified Process model for software development? ( )(A) Inception phase(B) V alidation phase(C) Elaboration phase(D) Construction phase6. The spiral model of software development ( )(A) Ends with the delivery of the software product(B) Includes project risks evaluation during each iteration(C) Is more chaotic than the incremental model(D) All of the above7. The Capability Maturity Model Integration (CMMI) is used to measure ( )(A) the quality of the product(B) quality in the context of the business environment(C) the quality of the process(D) none of the above8. Analysis models depict software in which three representations? ( )(A) information, function, behavior(B) architecture, interface, component(C) cost, risk, schedule(D) None of the above9. Software engineers collaborate with customers to define which of the following? ( )(A) Customer visible usage scenarios(B) Important software features(C) System inputs and outputs(D) All of the above10. Views are “slices”of architecture. Which view focuses on structural issues? ( )(A) Logical(B) Use-case(C) Process(D) Implementation11. The Data Flow Diagram(DFD) ( ).(A) depicts relationships between data objects(B) depicts functions that transform the data flow(C) indicates how data are transformed by the system(D) both b and c12. The entity relationship diagram ( )(A) depicts functions that transform the data flow(B) depicts relationships between data objects(C) indicates how data are transformed by the system(D) indicates system reactions to external events13. Which one of the following items is not an element of a class definition? ( )(A) Class responsibilities(B) Class attribution(C) Class name(D) Class operations14. The importance of software design can be summarized in a single word: ( )(A) accuracy(B) quality(C) complexity(D) efficiency15. Polymorphism can be described as? ( )(A) Inheritance(B) Information(C) Placing Generalization(D) one interface encapsulates different implementations16. Which one of the following is not an area of concern in the design model? ( )(A) architecture(B) project scope(C) data(D) interfaces17. In component design, elaboration does not require which of the following elements to bedescribed in detail? ( )(A) Attributes(B) Source code(C) Interfaces(D) Operations18. What is the normal order of activities in which traditional software testing is organized? ( )(A) unit testing, integration testing, validation testing, system testing(B) integration testing, unit testing, system testing, validation testing(C) validation testing, unit testing, integration testing, system testing(D) system testing, validation testing, integration testing, unit testing评阅教师得分19. Which of the following tests is a system test that forces the software to fail in a variety of ways and verifies that software is able to continue execution without interruption? ( )(A) security testing (B) performance testing (C) recovery testing (D) stress testing20. The testing technique that requires devising test cases to demonstrate that each program function is operational is called? ( )(A) glass-box testing (B) black-box testing (C) grey-box testing (D) white-box testing二、名词解释题(本大题共5小题,每小题2分,共10分)。
软件工程期末试卷(十套含答案)
软件工程期末试题(一)单项选择题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. 时序图13. 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
2015年软件工程期末试卷(自己整理的_很完整的)
1、2、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C)。
A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C )。
A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A )。
A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于(C )。
A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为( B)A、相互排斥B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B )A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成(A )A、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A )A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( C)A、分析阶段B、设计阶段C、编码阶段D、测试阶段三.判断1.软件的开发与运行经常受到硬件的限制和制约。
软件工程期末考试参考题及答案
一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。
5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。
6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。
7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。
9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。
A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。
A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。
A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。
A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。
软件工程期末试题(含答案)
软件工程期末试题(含答案)软件工程期末试题(含答案)1. 选择题(1) 在软件开发过程中,以下哪个活动是与需求分析相关的?A. 代码编写B. 测试C. 需求验证D. 项目规划答案:C(2) 在敏捷开发方法中,以下哪个原则强调“面对面交流”?A. 个体和交互高于工具和过程B. 客户合作高于合同谈判C. 可以交付的软件高于详尽的文档D. 响应变化高于遵循计划答案:A2. 简答题(1) 简述软件开发生命周期的阶段及每个阶段的主要任务。
答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护阶段。
需求分析阶段的主要任务是收集用户需求、进行需求分析和规格说明;设计阶段的主要任务是根据需求进行软件的整体架构设计、模块设计等;编码阶段的主要任务是根据设计文档进行程序代码的编写;测试阶段的主要任务是对软件进行功能、性能、兼容性等各方面的测试;维护阶段的主要任务是修复软件中的缺陷、升级功能等。
(2) 什么是软件需求?简述软件需求分析的过程。
答案:软件需求是对软件系统的功能、性能、接口、约束和设计约束条件的描述。
软件需求分析是指对软件需求进行识别、获取、明确和规格说明的过程。
其过程包括以下几个步骤:a. 需求获取:通过与用户交流、收集现有文档等方式,获取软件需求相关的信息;b. 需求分析:对获取的软件需求进行整理和分类,识别出需求之间的关联和依赖关系;c. 需求明确:明确每个需求的具体含义,确保需求描述准确清晰;d. 需求规格说明:将明确的需求进行形式化的规格说明,以便后续的设计和开发工作。
3. 论述题软件开发中的版本控制是一项重要的技术,它可以有效地管理和追踪软件代码的变化,并协同开发者之间的合作。
请简要讨论软件版本控制的几种常见方式及其优缺点。
答案:常见的软件版本控制方式包括本地版本控制、集中式版本控制和分布式版本控制。
每种方式都有其优缺点:a. 本地版本控制:通过在本地维护一份完整的代码仓库,实现对代码的版本控制。
四川大学软件工程期末
A.Multiple choice (Only one is correct): ( 20*2%=40%)1 Approximately which activity listed below will consume the least amount of time ina project?A analysisB designC codingD testing2 The first step in project planning is toA determine software scopeB select project team leaderC determine the budgetD determine the process model3 Which factors are important when choosing a project team leader?A managerial identityB outstanding programming abilityC problem solving abilityD ability of communicating to other people4 The importance of software design can be summarized in a single word:A accuracyB complexityC efficiencyD quality5 Cohesion is a qualitative indication of the degree to which a moduleA can be written more compactlyB is connected to other modules and the outside worldC is able to complete its function in a timely mannerD focuses on just one thing6 Notations for depicting procedural detail includeA box diagramB ER diagramC flow chartD decision table7 The best reason for using independent software test teams is thatA software developers do not need to do any testingB testers do not get involved with the project until testing beginsC strangers will test the software mercilesslyD the conflicts of interest between developers and testers is reduced8Which of the following items is not the software engineeringlayers?A. ProgrammingB. qualityC. MethodsD. Tools9What are the three generic phases of softwareengineering?A. definition, development, supportB. what, how, whereC. programming, debugging, maintenanceD. analysis, design, testing10The Water-Fall process model of software development isA. 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.11If customers cannot define requirements clearly, the developer should use1The Water-Fall model2The prototyping model3The spiral model4Any model12There are three important risks which we must focus on them carefully. They areA business risks, personnel risks, budget risksB project risks, technical risks, business risksC planning risks, technical risks, personnel risksD management risks, technical risks, design risks13 key concept of quality control is that all workproducts1are delivered on time and under budget2have complete documentation3have measurable specifications for process outputs4are thoroughly tested before delivery to the customer14 What task is not performed as part of software requirementsanalysis?1evaluation and synthesis2modeling and problem recognition3planning and scheduling4specification and review15The entity relationshipdiagram1depicts relationships between data objects2depicts functions that transform the data flow3indicates how data are transformed by the system4indicates system reactions to external events16Which of the following is not an area of concern in the design model?1architecture2data3interfaces4project scope17 Which of following is a characteristic of a gooddesign?1exhibits strong coupling between its modules2implements all requirements in the analysis model3includes test cases for all components4incorporates source code for descriptive purposes18 Software reliability problems can almost always be tracedto1errors in requirements gathering2errors in design and implementation3human error4errors in operation19Which of the following need to be assessed during unittesting?A.algorithmic performanceB.code stabilityC.execution and error handlingD.all of the above20Which of the following is an approach todebugging?A.backtrackingB.brute forceC.cause eliminationD.all of the aboveB.True or false. (10*2%=20%)1Software is a product and can be manufactured using the same technologies used for other engineering artifacts.2Customers, end-users, practitioners, project managers and sales people are all considered as players in the software process.3 A good software is flexible, so it can easily accommodate changes brought up with therequirement change.4We should consider the implementation view first during software requirements analysis.5Every computer-based system can be modeled as an information transform using an input-processing-output template.6Test cases should be designed long before testing begins.7Recovery testing is a system test that forces the software to fail in a variety of ways and verifies that software is able to continue execution without interruption.8Adding more people to a project that is already behind schedule is a good way to catch up.9Change cannot be easily accommodated in most software systems, unless a system was designed with change in mind.10 A consideration of software scope must include an evaluation of all external interfaces.C.Short answer: (4*5%=20%)1What are main contents in a project plan?2Please describe the differences between the verification and validation?3What are the characteristics of testable software?4What is the SQA? Describe its role in software development.5Please give explanations on why requirements elicitation is so difficult.D.Answer the following questions in detail: (2*10%=20%)1As a modern software project manager, what must you do to begin a project? Please briefly describe the major activities of project management.2Given a procedure for computing the average of positive numbers:i=0;sum=0;input a;do while a!=0 {if (a>0){i++;sum+=a;}input a;}if(i>0)average=sum/i;elseaverage=-999;Please:(1) draw the corresponding flow graph;(2) tell the cyclomatic complexity of the procedure; and(3) list all the independent paths for basis path testing.。
2015四川大学软件工程期末复习题
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 applyagility to a software process?a.Eliminate the use of project planning andtestingb.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 inshort time 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并行过程流ParallelSoftware 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将系统化,规范化,可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。
软件工程期末试卷(十套含答案)
软件工程期末试卷(十套含答案)一、选择题(每题1分,共5分)A. 方法论B. 工具C. 过程D. 人员2. 下列哪一项不是软件生命周期的阶段?A. 需求分析B. 设计C. 编码D. 销售与市场A. 瀑布模型B. 喷泉模型C. 增量模型D. 敏捷模型4. 下列哪种方法不是软件需求获取的方法?A. 问卷调查B. 访谈C. 观察D. 编码A. 单一职责原则B. 开放封闭原则C. 里氏替换原则D. 依赖倒置原则二、判断题(每题1分,共5分)1. 软件工程的目标是生产出高质量的软件产品。
(√/×)2. 在软件开发过程中,需求分析阶段是最重要的阶段。
(√/×)3. 软件开发模型只有瀑布模型和喷泉模型两种。
(√/×)4. 在面向对象方法中,类是现实世界中实体的抽象。
(√/×)5. 软件测试的目的是证明软件的正确性。
(√/×)三、填空题(每题1分,共5分)1. 软件工程的三要素包括方法论、工具和______。
2. 软件生命周期包括需求分析、设计、编码、测试和______。
3. 在面向对象方法中,对象是现实世界中实体的______。
4. 软件开发模型包括瀑布模型、喷泉模型、增量模型和______。
5. 软件测试的目的是发现软件中的______。
四、简答题(每题2分,共10分)1. 简述软件工程的目标。
2. 简述软件生命周期的阶段。
3. 简述面向对象方法的基本概念。
4. 简述软件开发模型的作用。
5. 简述软件测试的目的。
五、应用题(每题2分,共10分)1. 假设你是一个软件开发人员,你需要为一个图书馆开发一个图书管理系统。
请列出该系统的需求。
2. 请解释瀑布模型和喷泉模型的区别。
3. 请解释面向对象方法中的继承和多态的概念。
4. 请解释软件测试中的黑盒测试和白盒测试的区别。
5. 请解释软件维护的类型。
六、分析题(每题5分,共10分)1. 假设你是一个软件开发人员,你需要为一个在线购物网站开发一个支付系统。
软件工程-期末考试题(含答案)
软件工程-期末考试题(含答案)软件工程-期末考试题(含答案)1. 题目一:软件需求工程软件需求工程是软件开发的重要环节之一,主要包括需求获取、需求分析、需求规格、需求验证等阶段。
在软件开发的整个过程中,需求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软件的质量和可靠性。
1.1 需求获取需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调研和收集。
需求获取的方法可以包括面谈、问卷调查、观察等。
通过与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。
1.2 需求分析需求分析是对收集到的需求进行认真分析和理解的过程。
在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。
通过对需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化为可执行的任务。
1.3 需求规格需求规格是将需求分析的结果进行详细描述和规范化的过程。
在这个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便于开发人员进行后续的开发工作。
需求规格书通常包括用例图、类图、时序图等各种工具和技术。
1.4 需求验证需求验证是对需求的正确性和完整性进行验证的过程。
在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期望和需求。
需求验证也可通过模拟测试、原型验证等方式进行。
2. 题目二:软件设计原则软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。
下面介绍几个常用的软件设计原则。
2.1 单一职责原则单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。
这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护和扩展。
2.2 开放封闭原则开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。
这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。
2.3 里氏替换原则里氏替换原则(LSP)要求子类必须能够替换父类,并且不影响程序的正确性。
软件工程期末考试试卷附答案
软件工程期末考试试卷附答案一. 选择题(每题4分,共30题,总分120分)1. 软件工程的目标是什么?A. 提高软件开发效率和质量B. 实现软件系统的功能需求C. 加快软件产品的上市时间D. 增加软件系统的用户体验答案:A2. 软件生命周期模型有哪些?A. 瀑布模型B. 原型模型C. 敏捷开发模型D. 螺旋模型答案:A、B、C、D3. 在软件工程中,需求工程的任务是什么?A. 收集用户需求B. 分析用户需求C. 规划需求开发过程D. 验证和确认需求答案:A、B、C、D4. 软件配置管理是指什么?A. 管理软件的需求变更B. 管理软件的源代码C. 管理软件的版本迭代D. 管理软件的错误修复答案:B、C、D5. 软件测试的目的是什么?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 提高软件的可靠性和质量D. 减少软件开发时间和成本答案:A、B、C6. 软件维护是指什么?A. 修复发现的软件错误B. 优化软件的性能和效率C. 更新软件的功能和特性D. 软件系统的日常管理和支持答案:A、B、C、D7. 软件风险管理包括哪些活动?A. 风险识别和评估B. 风险规避和转移C. 风险监控和控制D. 风险应对和应急处理答案:A、B、C、D8. 软件工程的核心原则是什么?A. 解释性和可行性原则B. 详细性和可测性原则C. 可维护性和可扩展性原则D. 可重复性和可验证性原则答案:B、C、D9. UML(统一建模语言)是用来做什么的?A. 描绘软件系统的静态结构B. 描述软件系统的行为和交互C. 绘制软件系统的数据流程D. 显示软件系统的部署结构答案:A、B、C、D10. 软件工程中的项目管理包括哪些主要过程?A. 项目计划和进度管理B. 项目风险和质量管理C. 项目需求和配置管理D. 项目团队和沟通管理答案:A、B、C、D11. 软件度量是用来做什么的?A. 评估软件产品的质量B. 监控软件开发的进展C. 改进和优化软件工艺D. 比较不同软件的性能答案:A、B、C、D12. 软件工程的伦理问题包括什么?A. 知识产权和版权问题B. 用户隐私和数据保护C. 软件安全和漏洞利用D. 职业道德和责任意识答案:A、B、C、D13. 什么是软件工程的标准?A. 是评估软件工程管理的指标B. 是规定软件开发流程的指南C. 是实现软件质量保证的方法D. 是确保软件安全性的基准答案:B、C14. 软件工程中的团队协作有哪些挑战?A. 沟通和协调不畅B. 人员技能和素质不匹配C. 资源和时间的约束D. 对项目目标和需求理解不一致答案:A、B、C、D15. 关于软件工程的学科范畴,下列说法正确的是:A. 软件工程包括软件开发过程的实施和管理B. 软件工程仅关注软件开发阶段C. 软件工程只涉及编程和代码实现D. 软件工程不包括对用户需求的研究答案:A二. 简答题(每题10分,共5题,总分50分)1. 什么是软件工程?软件工程的基本原理和方法有哪些?答案:软件工程是将工程学原理和方法应用于软件开发的学科,旨在提高软件开发的效率和质量。
软件工程期末考试复习题及答案
31.
下列关于程序效率的描述错误的是(C) 。 a) b) c) d) 提高程序的执行速度可以提高程序的效率 降低程序占用的存储空间可以提高程序的效率 源程序的效率与详细设计阶段确定的算法的效率无关 好的程序设计可以提高效率
32. 33.
下列伪码片段的程序流图是() ,其环路复杂度是() 下列伪码片段的环路复杂度是() a) b) c) d) 2 3 4 5 度量 估算 评估 管理 B )问题。 B.使软件生产工程化 D.加强软件的质量保证.
为了高质量地开发软件项目,在软件结构设计时必遵循(C)的原则
在建立软件系统的模块结构。应根据(C)评价系统模块划分的质量。
结构化程序设计方法要求每个(A)结构应是单入口和单出口。
开发软件时,对于提高软件开发人员工作效率至关重要的是(A) 。
软件工程中描述软件生存周期的瀑布模型一般包括计划、 (D ) 、设计、编码、测试、维护等几个阶段。其中,设 计阶段在管理上又可以依次分为(概要设计)和(详细设计)两个步骤。 a) b) c) d) 问题定义 需求调查 可行性分析 需求分析 说明方法 描述方式 准则 基本原则 总结 阶段性报告 需求分析评审 以上答案都不正确
16.
软件需求分析的任务不应包括(C)。 a) b) c) d)
17.
进行需求分析可使用多种工具;但(C)是不适用的。 a) b) c) d)
18.
ห้องสมุดไป่ตู้
1960 年底 Dijkstra 提倡的(D)是一种有效的提高程序设计效率的方法。 a) b) c) d)
19.
汇编程序是指(C) 。 a) b) c)
20.
为了实现递归子程序的正确调用,人们必须用(A)来保存(返回地址)及有关信息。 a) b) c) d)
软件工程期末试题(含答案)
一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。
2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。
3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。
4.系统流程图是描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。
6.结构化分析方法是面向_数据流_进行需求分析的方法。
结构化分析方法使用_数据流图DFD_与_数据字典_来描述。
7.继承性是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。
10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。
二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是(C )。
A、低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。
A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。
软件工程期末试卷(十套含问题详解)
软件工程期末试题(一)单项选择题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. 时序图13. 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
软件工程期末考试题(含答案)
软件工程期末考试题(含答案)一、选择题1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。
(C),A.详细计划测试与排错2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标(A)A.需求分析阶段行性研究阶段,3.软件工程的出现主要是由于(C),A.程序设计方法学的影响C.软件危机的出现B.其它工程科学的影响D.计算机的发展,B.详细设计阶段C.概要设计阶段D.可B.可行性分析C.运行阶段D.4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C)A.硬件环境B.软件开发的环境D.开发人员的素质C.软件开发工具和软件开发的环境它们之间的关系表现为(B)A.相互排斥B相互补充C独立使用D.交替使用6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A.基于瀑布模型的结构化方法C.基于对象的面向对象的方法(B)A.结构化方法析对象的(B)A.控制流B.数据流C.程序流D.指令流9.软件开发的结构化生命周期方法将软件生命周期划分成(A)A.计划阶段.开发阶段.运行阶段B.计划阶段.编程阶段.测试阶段D.需求分析.功能定义.系统设计C.总体设计.详细设计.编程调试B原型化方法C面向对象的方法D.控制流方法8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分B.基于需求动态定义的原型化方法D.基于数据的数据流开发方法5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A.分析阶段A.瀑布模型B.设计阶段B.喷泉模型C.编码阶段C.螺旋模型D.测试阶段D.增量模型11.适合于面向对象方法学的软件生存周期模型是(B)12.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大的是(C)A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段13.从实用角度看,数据规范化在大多数场合选用第____范式。
《软件工程》期末考试及答案
第 1 页 共 4 页 (软件工程)《软件工程》 期末考试试卷考生注意:1.本试卷共有五道大题,满分100分.2.考试时间90分钟。
3.卷面整洁,字迹工整。
4.填写内容不得超出密封线.一、名词解释题(每小题3分,共15分) 1。
软件生存周期模型2.数据字典DD3。
内聚性4.JSP 方法5。
多态性二、填空题(每空2分,共20分)1.在软件开发过程中要产生大量的信息,要进行大量的修改, 能协调软件开发,并使混乱减到最低程度。
2.规定功能的软件,在一定程度上对自身错误的作用具有屏蔽能力,则称此软件具有 的软件。
3.McCall 提出的软件质量模型包括 个软件质量特性。
4.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、 、可使用性和效率。
5. 为了便于对照检查,测试用例应由输入数据和预期的 两部分组成.6. 程序设计语言的心理特性主要表现在 、简洁性、传统性、局部性和顺序性。
7。
软件结构是以 为基础而组成的一种控制层次结构。
8。
使用类创建对象的过程实际上是类的 过程。
9. 结构化语言是介于自然语言和 之间的一种半形式语言。
10. 若年利率为i,不计复利,n 年后可得钱数为F,则现在的价值P= 。
三、简答题(每小题5分,共20分)2。
以G 。
J.Myers 的观点,简述对软件测试的目的。
3。
就程序设计语言的工程特性而言,对程序编码有哪些要求?4.模块的内聚性包括哪些类型?四、理论应用题(每小题15分,共30分)PDL语言描述在数组A(1)~A(10)中找最大数的算法。
2.根据下列条件使用等价类划分法设计测试用例。
某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是—177~177,如05,0127,-065。
五、实践应用题(每小题15分,共15分)1.某电器集团公司下属的厂包括技术科、生产科等基层单位.现在想建立一个计算机辅助企业管理系统,其中:生产科的任务是:(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 applyagility to a software process?a.Eliminate the use of project planning andtestingb.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 inshort time 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并行过程流ParallelSoftware 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多态性:一种机制,允许一个类层次结构中的几个对象有不同的方法容但具有相同的名称。