软件工程 作业8(含答案)

合集下载

软件工程第八章作业PHTRS精编版

软件工程第八章作业PHTRS精编版

某学院学科办公室决定开发基于Web 的毕业设计管理系统。

说明如下:毕业设计从选题开始。

首先是指导教师提供多个毕业设计选题,通常一个毕业设计选题包括题目、指导教师姓名、选题意义、设计内容、技术指标等;学生可以从网上选题,确定自己的毕业设计题目,如果多个同学同时选同一个题目则先提交的同学选中该题目,而其他同学需要继续选题;学生可以查看自己所选的题目;教师可以查看是哪些学生选了自己的题目。

毕业设计以评价为结束。

首先是指导教师评价自己所指导的学生,给出百分制分数,占最终成绩的40%;然后是评阅教师评价学生(不能是自己所指导的学生),给出百分制分数,占最终成绩的30%;接下来是答辩评价,多个教师(2-6人)对学生答辩情况打分,各自给出百分制分数,得平均值,占最终成绩的30%;学生可以查看自己的最终成绩;教师可以查看自己指导的学生的各项成绩;学院学科办公室可以查看所有的学生的各项成绩,并可以查看各项统计结果。

①确定参与者;确定用例(包括用例名,用例简述);绘制用例图;对“网上选题”这个用例绘制活动图,并撰写用例详述(包括用例标识、用例名称、用例类型、用例描述、参与者、涉众利益、前置条件、基本事件流、扩展事件流、异常事件流、后置条件等项)。

参与者:指导教师、评阅教师、答辩教师、学生、学科办公室。

用例:指导教师的用例:出题、评价所指导的学生、查看学生选题情况、查看学生成绩; 评阅教师的用例:评价所评阅的学生;答辩教师的用例:评价答辩的学生;学生:网上选题、查看选题情况、查看成绩;学科办公室:查看统计结果、查看学生成绩;用例图:网上选题查看成绩毕业设计管理系统登录注册学生查看选题情况<<include>>学科办公室查看学生成绩查看统计结果用例详述:毕业设计管理系统登录出题评价答辩的学生指导教师评阅教师评价所指导的学生<<include>>教师注册答辩教师查看学生选题情况查看学生成绩评价所评阅的学生活动图:2.类关系模型:③为系统建立对象-行为模型(只需针对“网上选题”这个用例绘制顺序图),根据建模结果确定用例“网上选题”相关的实体类、边界类、控制类的接口(或为public 方法)。

软件工程(第五版)--习题及答案---第八章

软件工程(第五版)--习题及答案---第八章

软件工程(第五版)--习题及答案---第八章一、判断题1、(√)使用括号改善表达式的清晰性。

2、(×)对递归定义的数据结构不要使用递归定义的过程。

3、(×)尽可能对程序代码进行优化。

4、(√)不要修改不好的程序,要重新编写。

5、(√)不要进行浮点数的相等比较。

6、(×)应尽可能多地使用临时变量。

7、(√)利用数据类型对数据值进行防范。

8、(×)用计数方法而不是用文件结束符判别批量数据输入的结束。

9、(×)程序中的注释是可有可无的。

10、(√)使用有意义的标识符。

11、(×)应尽量把程序编写的短一些。

12、(×)应尽量使用goto语句。

二、选择题1、在编码中首先要考虑的是(B)。

A、程序的执行效率B、程序的可读性C、程序的一致性D、程序的安全性2、(D)。

不属于序言性注释内容的是A、模块设计者B、修改日期C、程序的整体说明D、语句功能3、序言性注释应置于文件或模块的(A)位置。

A、起始B、结束C、中间D、起始和中间4、如果编写系统软件,可选用的语言是(C)。

A、FoxProB、COBOLC、CD、FORTRAN5、选择程序设计语言不应该考虑的是(B)。

A、应用领域B、语言的功能C、用户的要求D、用户的使用水平6、与编程风格有关的因素不包括(D)。

A、源程序文档化B、语句构造C、输入输出D、程序的编译效率7、最早用于科学计算的程序设计语言是(C)。

A、PROLOGB、SmalltalkC、FORTRAND、COBOL8、功能性注释的主要内容不包括(B)。

A、程序段的功能B、模块的功能C、数据的状态D、语句的功能9、对建立良好的编程风格,下面描述正确的是(A)。

A、程序应简单、清晰、可读性好B、符号名的命名只要符合语法即可C、充分考虑程序的执行效率D、程序的注释可有可无10、源程序中应包含一些内部文档,以帮助阅读和理解程序,源程序的内部文档通常包括合适的标识符、注释和(A)。

软件工程作业8(含答案)

软件工程作业8(含答案)

软件工程作业8(含答案)1. 为了把握软件开发各个环节的正确性和协调性,人们需要进行( A 2)和( B 3 )工作。

( A )的目的是想证实在一给定的外部环境中软件的逻辑正确性。

它包括( C 2 )和( D 3 ),( B )则试图证明在软件生存期各个阶段,以及阶段间的逻辑( E 3 )、( F 4 )和正确性。

供选择的答案:A, B. ①操作②确认③验证④测试⑤调试C, D.①用户的确认②需求规格说明的确认③程序的确认④测试的确认E, F. ①可靠性②独立性③协调性④完备性⑤扩充性2. 软件测试是软件质量保证的主要手段之一,测试的费用已超过(A 1)的30%以上。

因此,提高测试的有效性十分重要。

“高产”的测试是指(B 3 )。

根据国家标准GB 8566–88《计算机软件开发规范》的规定,软件的开发和维护划分为8个阶段,其中,单元测试是在( C 5)阶段完成的,集成测试的计划是在( D 3)阶段制定的,确认测试的计划是在( E 2 )阶段制定的。

供选择的答案:A. ①软件开发费用②软件维护费用③软件开发和维护费用④软件研制费用⑤软件生存期全部B. ①用适量的测试用例运行程序,证明被测程序正确无误②用适量的测试用例运行程序,证明被测程序符合相应的要求③用少量的测试用例运行程序,发现被测程序尽可能多的错误④用少量的测试用例运行程序,纠正被测程序尽可能多的错误C ~ E. ①可行性研究和计划②需求分析③概要设计④详细设计⑤实现⑥集成测试⑦确认测试⑧使用和维护3. 集成测试也叫做( A 3)或( B 6)。

通常,在( C 1)的基础上,将所有模块按照设计要求组装成为系统。

子系统的集成测试特别称为(D 2 ),它所做的工作是要找出子系统和系统需求规格说明之间的( E 6)。

需要考虑的问题是:在把各个模块连接起来的时候,穿越模块接口的数据是否会( F 2);一个模块的功能是否会对另一个模块的功能产生不利的影响;各个(G 1 )组合起来,能否达到预期要求的(H 3);(I 5 )是否有问题;单个模块的误差累积起来是否会放大。

软件工程作业第八章

软件工程作业第八章

软件工程作业第八章在软件工程的学习过程中,第八章往往涵盖了一些关键且具有挑战性的内容。

这一章可能涉及到软件测试、维护与优化,或者是关于特定开发模型的深入探讨。

软件测试是确保软件质量的重要环节。

它不仅仅是在软件完成后进行的简单检查,而是贯穿于整个软件开发周期的系统性工作。

测试的目的是发现软件中的缺陷和错误,以保证软件能够满足用户的需求和期望。

在软件测试中,测试用例的设计至关重要。

一个好的测试用例应该能够覆盖各种可能的情况,包括正常的操作流程以及异常和边界情况。

例如,对于一个登录功能,不仅要测试正确的用户名和密码组合,还要测试错误的用户名、错误的密码、空用户名、空密码等情况。

通过精心设计的测试用例,可以更有效地发现潜在的问题。

除了功能测试,性能测试也是不可忽视的一部分。

性能测试主要关注软件在不同负载条件下的响应时间、资源利用率等指标。

比如,一个在线购物网站在高并发访问时是否能够保持稳定的响应速度,数据库是否能够承受大量的数据读写操作。

如果性能方面存在问题,可能会导致用户体验下降,甚至影响业务的正常开展。

软件维护是软件生命周期中的另一个重要阶段。

随着时间的推移,用户需求可能会发生变化,软件运行环境也可能会有所更新,这就需要对软件进行维护。

维护工作包括纠错性维护、适应性维护、完善性维护和预防性维护。

纠错性维护是针对软件中已经发现的错误进行修复。

适应性维护则是使软件能够适应新的运行环境,比如操作系统的升级、硬件的更换等。

完善性维护旨在增加新的功能或者改进现有功能,以满足用户不断变化的需求。

预防性维护则是为了提高软件的可维护性和可靠性,提前采取一些措施,如优化代码结构、添加注释等。

软件优化是提升软件性能和质量的重要手段。

通过对代码的分析和改进,可以减少资源消耗、提高运行效率。

例如,优化算法可以大大缩短程序的执行时间;合理使用数据结构可以节省存储空间。

在进行软件优化时,需要综合考虑多个因素。

不能仅仅为了追求性能的提升而牺牲代码的可读性和可维护性。

软件工程课后习题(含答案)

软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。

2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。

二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。

可靠性是衡量软件质量的一个重要目标。

2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。

可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。

三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。

(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。

2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。

(2)软件开发简单,易学、易上手。

(3)专业或非专业人员都能参与软件开发活动。

第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。

2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。

3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。

4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。

二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。

2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

《软件工程》试题及参考答案(第8套)

《软件工程》试题及参考答案(第8套)

电计系软件工程专业20 –20 学年度期《软件工程》试题(第8套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1、软件可行性研究一般不考虑 ( )A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题2、软件详细设计的主要任务是确定每个模块的 ( )A、算法和使用的数据结构B、外部接口C、功能D、编程3、为了提高软件的可维护性,在编码阶段应注意( )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格4、快速原型模型的主要特点之一是( )A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件5、软件需求分析的主要任务是准确地定义出要开发的软件系统是( )A.如何做B.怎么做C.做什么D.对谁做6、软件维护产生的副作用,是指( )A、开发时的错误B、隐含的错误C、因修改软件而造成的错误D、运行时误操作7、软件生命周期中所花费用最多的阶段是(D)A、详细设计B、软件编码C、软件测试D、软件维护8、因计算机硬件和软件环境的变化而作出的修改软件的过程称为 ( )A.校正性维护B.适应性维护C.完善性维护D.预防性维护9、一个模块内部各程序都在同一数据结构上操作,这个模块的内聚性称为( ) 。

A、时间内聚B、功能内聚C、信息内聚D、过程内聚10、结构化设计又称为( )A、概要设计B、面向数据流设计C、面向对象设计C、详细设计11. 协作图反映收发消息的对象的结构组织,它与()是同构的。

A 用例图B 类图C 活动图D 时序图12.黑盒测试在设计测试用例时,主要需要研究( )A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明13.CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。

《软件工程》作业及答案

《软件工程》作业及答案

《软件工程》作业及答案《软件工程》作业第一章1.什么就是软件危机,它有哪些典型表现?答: 软件危机就是指在计算机软件得开发与维护过程中所遇到得一系列严重问题。

概括地说,软件危机包含下述两方面得问题:如何开发软件,以满足对软件日益增长得需求;如何维护数量不断膨胀得已有软件。

软件危机典型表现:对软件开发成本与进度得估计常常很不准确。

用户对“已完成得”软件系统不满意得现象经常发生。

软件产品得质量往往靠不住。

软件常常就是不可维护得。

软件通常没有适当得文档资料。

软件成本在计算机系统总成本中所占得比例逐年上升。

软件开发生产率提高得速度,远远跟不上计算机应用迅速普及深入得趋势。

产生软件危机得原因:一方面与软件本身得特点有关,另一方面也与软件开发与维护得方法不正确有关。

软件不同于硬件,它就是计算机系统中得逻辑部件而不就是物理部件。

管理与控制软件开发过程相当困难。

软件就是规模庞大,而且程序复杂性将随着程序规模得增加而呈指数上升。

目前相当多得软件专业人员对软件开发与维护还有不省糊涂观念,在实践过程中或多或少地采用了错误得方法与技术,这就是使软件问题发展成软件危机得主要原因。

2.简述产生软件危机得原因与解决得思路。

答:软件危机产生得原因一方面与软件本身得特点有关,另一方面,就是与已有软件开发、维护得方法不正确有密切关系。

解决软件危机,既要有技术措施(方法与工具),又要有必要得组织管理措施。

即采用工程化得原则与方法组织软件开发就是摆脱软件危机得一个主要出路。

3.什么就是软件工程?它有哪些本质特性?答: 软件工程就是指导计算机软件开发与维护得一门工程学科。

采用工程得概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确得管理技术与当前能够得到得最好得技术方法结合起来,以经济地开发出高质量得软件并有效地维护它。

软件工程本质特性:1、软件工程关注于大型程序得构造;2、软件工程得中心课题就是控制复杂性;3、软件经常变化;4、开发软件得效率非常重要;5、与谐地合作就是开发软件得关键;6、软件必须有效地支持它得用户;7、在软件工程领域中就是由具有一种文化背景得人替具有另一种文化背景得人创造产品。

软件工程作业及参考答案(版)

软件工程作业及参考答案(版)

软件工程作业及参考答案(最新版)-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII软件工程一、软件危机与软件工程1.软件危机是指在开发和()过程中所遇到的一系列严重问题。

A.运行B.设计 C.维护 D.编码2.造成软件危机的原因是:A.用户使用不当 B.对软件的错误认识C.硬件不可靠D.缺乏好的开发方法和手段3.软件工程方法学的研究内容包含软件开发技术和软件工程管理两部分,其期望达到的最终目标是()。

A.消除软件危机B.软件开发工程化C.程序设计自动化 D.实现软件重用4.软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的()。

A.工程管理 B.成本核算 C.人员培训 D.工具开发5.软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是()。

A.设计人员和用户B.分析人员和用户C.分析人员和设计人员 D.编码人员和用户6.软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于()。

A.开发阶段B.计划阶段 C.分析阶段 D.设计阶段7.在软件工程中,软件生存期可分为计划、开发以及维护三个阶段,每个时期又分为若干更小的阶段。

通常,计划时期包括问题定义、可行性研究和①,开发时期包括②、详细设计、编码以及③。

① A.需求分析 B.可行性研究 C.经费预算 D.质量保证② A.需求分析 B.可行性研究C总体设计 D模块化设计③ A.文档编制 B.运行维护C.测试 D.验收8.软件开发中常采用的生命周期方法,由于其特征而一般称其为()。

A.层次模型B.瀑布模型 C.螺旋模型 D.对象模型9.描述软件生存周期的瀑布模型包括计划、(A)、设计、编码、测试、维护等阶段。

其中,设计阶段又可以分成(B)和(C)两个步骤。

A:①需求分析②可行性研究③需求调查④问题定义B,C:①方案设计②代码设计③概要(总体)设计④数据设计⑤详细设计10.什么是软件危机软件危机产生的原因11.生命周期阶段的划分每个阶段的任务二、可行性研究1.可行性研究的任务步骤对于各种可能的方案,从哪几个方面进行可行性研究参考答案:任务:在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。

软件工程课后习题答案(第八版)

软件工程课后习题答案(第八版)

软件工程课后习题:⏹What are the differences between generic software product development and custom software development?⏹Solution:The essential difference is that in generic software product development, the specification is owned by the product developer. For custom product development, the specification is owned by the customer. Of course, there may be differences in development processes but this is not necessarily the case.重要区别为:在通用软件的开发过程中,详细说明(规格说明书)由产品开发者来制定,在定制软件产品开发过程中,详细说明(规格说明书)由客户来制定。

⏹What are the four important attributes which all software products should have? Suggest four other attributes that may sometimes be significant.⏹Solution:For important attributes are maintainability可维护性,dependability 可靠性, performance(efficiency)有效性andusability可用性.Other attributes that may be significant could be reusability可复用性 (can it be reused in other applications),distributability 可分发性(can it be distributed over a networkof processors), portability可移植性 (can it operate onmultiple platforms) and inter-operability互用性 (can it workwith a wide range of other software systems).⏹What is the difference between a software process model and a software process? Suggest two ways in which a software process model might be helpful in identifying possible process improvements.⏹Solution:A software process is what actually goes on when software isdeveloped. A software process model is an abstraction andsimplification of a process. Process models can be used to helpunderstand real processes and to identify which aspects of theseprocesses could be supported by CASE tools. 软件过程就是指在软件开发过程中所做的一些事情。

软件工程 第八章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学

软件工程 第八章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学

第八章测验一、单项选择题(共40.00分)1.()为我们提供了可以进行质量评估的软件表示。

A.需求分析B.设计C.工程计划D.以上均不正确正确答案:B2.用()可以方便地实现单向关联。

A.对象B.容器C.指针D.哈希表正确答案:C3.对于一对多关联来说,保存关联信息的关联对象可以与()合并。

A.''一"端对象B.''多〃端对象C.参与关联的任一个对象D,以上均不正确正确答案:B4.如果一个处理影响或修改了一个对象,那么最好把该处理与处理的O联系在一起。

A. 目标B.触发者C.输入数据D.输出数据正确答案:A二、多项选择题(共33.00分)1.下面哪些是在面向对象设计过程中,可能对OOA产出的问题域模型作的补充或修改?()A.调整需求B,重用已有的类C.把问题域类组合在一起D.采用更高效的实现算法正确答案:ABC2.数据管理子系统中常见的数据存储管理模式包括()oA.光盘库8.文件系统C.关系型数据库D.面向对象数据库正确答案:BCD3.以下哪些属于设计人一机交互界面的准那么?()A.及时提供反应信息B.提供撤销命令C.配色鲜艳醒目D.减少操作步骤正确答案:A B D三、判断题(共27,00分)L从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。

()A.正确B.错误正确答案:A2.持久性机制应该在设计阶段进行考虑。

()A.正确B.错误正确答案:A3.设计任务管理局部的首要前提是对并发性的分析。

()A.正确B.错误正确答案:A。

《软件工程》作业及答案.

《软件工程》作业及答案.

《软件工程》作业及答案1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

软件危机典型表现:对软件开发成本和进度的估计常常很不准确。

用户对“已完成的”软件系统不满意的现象经常发生。

软件产品的质量往往靠不住。

软件常常是不可维护的。

软件通常没有适当的文档资料。

软件成本在计算机系统总成本中所占的比例逐年上升。

软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

管理和控制软件开发过程相当困难。

软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。

目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。

1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。

软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。

《软件工程》作业与参考答案

《软件工程》作业与参考答案

一、填空(15分)1、需求分析的任务:1)。

确定目标系统的综合要求A。

目标系统的功能要求B。

目标系统的性能要求C。

目标系统运行的环境要求D。

目标系统的扩展要求2)。

分析目标系统的数据要求A。

需要哪些数据?B。

数据之间有什么联系?C。

数据有什么属性及数据结构?D。

对数据的处理逻辑?3)。

导出目标系统的逻辑模型4)。

修正系统流程图5)。

修正系统开发计划6)。

开发原型系统2、模块设计准则1)、改进软件结构提高模块独立性(低耦合高内聚)2)、模块规模要适中3)、深度、宽度、扇入及扇出要适当4)、设计单入口单出口的模块5)、模块功能应该可以预测6)、降低接口的复杂性7)、模块的作用域应该在控制域之内3、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体表现在哪些方面?1)、无法开发复杂程度高的软件2)、成本和进度估计不准3)、无统一科学的规范,软件不可维护4)、无质量保证,可靠性差5)、软件常不能满足用户的需求6)、无适当的文档资料7)、软件生产率太低4 、总体设计的任务1)、设计系统的物理实现方案2)、设计软件的整体结构,划分程序功能模块,决定模块间的接口关系和传递信息; 3)、设计系统全局的存贮数据结构4)、设计系统I/O的方式和格式;5)、设计系统安全性、出错处理及代码等6)、设计组装测试计划。

5、从下列关于结构化程序设计的叙述中选出5条正确的叙述。

①程序设计比较方便,但比较难以维护。

②便于由多个人分工编制大型程序。

③软件的功能便于扩充。

④程序易于理解,也便于排错。

⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。

⑥模块之间的接口叫做数据文件。

⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。

⑧模块间的单向调用关系叫做模块的层次结构。

⑨模块越小,模块化的优点越明显。

一般来说,模块的大小都在10行以下。

答:正确的叙述有②、③、④、⑦、⑧。

软件工程习题含答案

软件工程习题含答案

软件工程习题含答案一、单选题(共56题,每题1分,共56分)1.会话侦听与劫持技术属于()技术A、密码分析还原B、协议漏洞渗透C、应用漏洞分析与渗透D、DOS攻击正确答案:B2.若一棵二叉树具有8个度为2的结点,5个度为1的结点,则度为0的结点个数是?A、不确定B、6C、11D、9正确答案:D3.A、B、C、D、E、F依次入栈,其出栈顺序为B、D、C、F、E、A,则该栈最小容量为A、6B、5C、4D、3正确答案:D4.进程由执行状态到阻塞状态的原因可能是()。

A、请求某种资源B、处于执行状态的进程的时间片结束C、释放某种资源正确答案:A5.下列哪一项不是激活函数A、batch normalizationB、reluC、tanhD、sigmoid正确答案:A6.网络安全法规定,网络运营者应当制定(),及时处置系统漏洞、计算机病毒、网络攻击、网络侵入等安全风险。

A、网络安全事件应急演练方案B、网络安全事件应急预案C、网络安全事件补救措施D、网络安全规章制度正确答案:B7.下列哪种算法更适合做时间序列建模A、CNNB、决策树C、LSTMD、贝叶斯算法正确答案:C8.下面()不是数据字典的内容。

A、外部实体B、程序C、数据结构D、处理逻辑正确答案:B9.通过网页上的钓鱼攻击来获取密码的方式,实质上是一种()。

A、旁路攻击B、社会工程学攻击C、暴力破解攻击D、密码分析学正确答案:B10.已知 10*12的二维数组 A ,以行序为主序进行存储,每个元素占1个存储单元,已知A[1][1]的存储地址为 420 ,则 A[5][5] 的存储地址为A、470B、471C、472D、473正确答案:C11.不属于进程关键要素的是________。

A、进程控制块B、数据和栈C、原语D、程序正确答案:C12.下列哪一项不是卷积神经网络的典型代表A、ALEXNETB、LSTMC、VGGD、RCNN正确答案:B13.关闭系统多余的服务有什么安全方面的好处?A、使黑客选择攻击的余地更小B、没有任何好处C、使系统进程信息简单,易于管理D、关闭多余的服务以节省系统资源正确答案:A14.为了简化管理,通常对访问者(),以避免访问控制表过于庞大。

软件工程习题部分答案华工软件工程习题答案参考试卷

软件工程习题部分答案华工软件工程习题答案参考试卷
如果计算机字长为16位,则存储器价格下降的趋势为: P2=0.048×0.72Y-1974(美元/字)
在上列公式中Y代表年份,M是存储容量(字数),P1和P2代 表价格。
基于上述假设可以比较计算机硬件和软件成本的变化趋势。 要求计算:
13:07:42
软件工程习题部分答案华工软件工程 习题答案参考试卷
从问题陈述容易看出,本系统的数据终点是接收警告信息 和病情报告的护士。
系统对病人生理信号的处理功能主要是“接收信号”、“ 分析信号”和“产生警告信息”。
此外,系统还应该具有“定时取样生理信号”、“更新日 志”和“产生病情报告”的功能。
为了分析病人生理信号是否超出了医生规定的安全范围, 应该存储“患者安全范围”信息。此外,定时记录病人生 理信号所形成的“患者日志”,显然也是一个数据存储。
请用状态转换图描绘复印机的行为。
13:07:42
软件工程习题部分答案华工软件工程 习题答案参考试卷
•作业及解答(第3章)
从问题陈述可知,复印机的状态主要有“闲置”、“复印 ”、“缺纸”和“卡纸”。引起状态转换的事件主要是“ 复印命令”、“完成复印命令”、“发现缺纸”、“装满 纸”、“发生卡纸故障”和“排除了卡纸故障”。
13:07:42
软件工程习题部分答案华工软件工程 习题答案参考试卷
•作业及解答(第1-2章)
1-5 根据历史数据可以做出如下的假设 :
对计算机存储容量的需求大致按下面公式描述的趋势逐年增 加:M=4080e0.28(Y-1960)
存储器的价格按下面公式描述的趋势逐年下降: P1=0.3×0.72Y-1974(美分/位)
13:07:42
软件工程习题部分答案华工软件工程 习题答案参考试卷

软件工程第八章课后题

软件工程第八章课后题

一、选择题1.下列耦合度表示中,最弱的耦合形式是( )。

A.特征耦合 B.公共耦合 C.数据耦合 D.数据结构2.一个模块传送给另一模块的参数是由单个数据项组成的数组,它属于( )耦合。

A.数据型B、复合型C、内容型D、公共型3.PAD(Problem Analysis Diagram)图是一种( )工具。

A.系统描述 B.详细设计 C.测试 D.编程辅助4.下列系统设计工具中,( )不属于详细设计工具。

A.N—S图 B.数据流图 C.程序流程图 D.PAD 5.程序流程图、N-S图和PAD图是( )使用的表达工具。

A.设计阶段的概要设计B.设计阶段的详细设计C.编码阶段D.测试阶段二、填空题1.详细设计的任务是确定每个模块的内部特性,即模块的算法、。

2.是对软件结构中模快间关联程度的一种度量。

3.独立路径是指包括一组以前没有处理的语句或条件的一条路径。

从程序图来看,一条独立路径是至少包含有一条的边的路径。

4.成本效益分析的目的是从角度评价开发一个项目是否可行。

三、应用题1.系统设计的内容是什么?答案:一、1.C 2.A 3.B 4.B 5.B二、1.使用的数据2.耦合度3.在其他独立路径中未有过4.经济三、1.系统设计阶段先从高层入手,然后细化。

系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。

(1)系统分解。

系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。

每次分解的各子系统数目不能太多,最底层子系统称为模块。

(2)确定并发性。

分析模型、现实世界及硬件中不少对象均是并发的。

系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。

后者可以放在一起,而综合成单个控制线或任务。

(3)处理器及任务分配。

各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。

软件工程作业第八章

软件工程作业第八章

软件工程作业第八章在软件工程的领域中,每一章的知识都像是一座宝库,而第八章往往聚焦于一些关键且深入的主题。

这一章或许涵盖了软件测试的高级策略,或者是软件维护与演化的复杂过程,又或者是软件开发中的风险管理等重要内容。

假如第八章的重点是软件测试的高级策略。

软件测试,这可不是一项简单的工作,它就像是为软件进行一场严格的“体检”,确保软件在各种可能的情况下都能正常运行。

高级策略意味着我们要超越常规的测试方法,去挖掘那些隐藏得更深的问题。

比如,边界值分析就是一种非常有效的测试策略。

想象一下,一个输入框要求用户输入年龄,范围是 18 到 60 岁。

那么 18 岁和 60 岁这两个边界值就特别关键,因为在这两个点上,软件很可能会出现一些意想不到的错误。

再来说说等价类划分。

我们把所有可能的输入值划分为几个等价类,然后从每个等价类中选取一个代表性的测试用例进行测试。

这样可以大大减少测试的工作量,同时又能保证覆盖到各种可能的情况。

还有错误推测法,这需要测试人员凭借经验和直觉去猜测可能出现错误的地方。

比如说,在一个网络连接模块中,如果网络突然中断,软件是否能够正确处理这种异常情况。

软件维护与演化也是软件工程中不可忽视的重要部分。

当软件被开发出来并投入使用后,它并不会一直保持原样。

用户的需求可能会改变,技术也在不断进步,这就需要对软件进行维护和演化。

维护工作可不仅仅是修复一些小 bug,还可能涉及到对软件功能的增强和优化。

比如说,用户反馈某个操作流程太繁琐,我们就需要对软件的界面和逻辑进行重新设计,让操作更加便捷。

演化则是一个更为复杂的过程。

可能需要对软件的架构进行调整,以适应新的业务需求或者技术环境。

这就像是给房子进行重新装修和扩建,既要保证原有的结构稳固,又要让新的部分与旧的部分完美融合。

在软件开发的过程中,风险管理也是至关重要的。

任何一个项目都可能面临各种各样的风险,比如技术难题、人员变动、需求变更等等。

对于技术难题,可能在开发过程中遇到某些技术瓶颈,导致项目进度延迟。

软件工程(第四版)习题及解答9-8

软件工程(第四版)习题及解答9-8
(3)系统流程图
第3章
一、判断题
1√ 2 × 3√ 4 × 5√ 6× 7× 8√
二、选择题
1-5 BACDB 6-10 ABDAA 11-15 BABDB 16-20 ADCDB
三、简答题
1、需求分析的基本任务是要准确地理解旧系统、定义新系统的目标,为了满足用户需要,回答“系统必须做什么”的问题,即确定系统必须完成哪些工作,对新系统提出完整、准确、清晰、具体的要求。
数据流图的主要成分有四种:数据流、数据存储、加工、数据流的源点和终点。
4、
数据词典是数据的集合,它对数据流图中的各个元素作完整的定义和说明,是数据流图的补充工具。数据流图和数据词典共同构成系统的逻辑模型,两者缺一不可。
其内容包括:数据流、数据项、数据结构、数据存储、加工逻辑、外部实体6类元素。
四、应用题
2、软件危机的产生有两方面因素,一方面与软件本身的抽象性和复杂性有关;另一方面则与软件开发和维护过程中使用的技术和方法有关,这是主观原因。
为了解决软件危机,既要有技术措施(好的方法和工具),也要有组织管理措施。(1)使用好的软件开发技术和方法。(2)使用好的软件开发工具,提高软件生产率。(3)有良好的组织、严密的管理,各方面人员相互配合共同完成任务。
专业=”01”...”99”注:专业代号2位数字
班级=”01”...”99”注:班级代号2位数字
学分=0..99
2、数据流图如下:
3、
顶层图:
顶层图
0层图:
0层图
4、
判定表如下:
设:性别:男:M女:F
学历:初中:A高中B大专:C
年龄:小于25: C25至40:Y40以上:L
1
2
3
4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 为了把握软件开发各个环节的正确性和协调性,人们需要进行( A 2)和( B 3 )工作。

( A )的目的是想证实在一给定的外部环境中软件的逻辑正确性。

它包括( C 2 )和( D 3 ),( B )则试图证明在软件生存期各个阶段,以及阶段间的逻辑( E 3 )、( F 4 )和正确性。

供选择的答案:
A, B. ①操作②确认③验证④测试⑤调试
C, D.①用户的确认②需求规格说明的确认
③程序的确认④测试的确认
E, F. ①可靠性②独立性③协调性④完备性⑤扩充性
2. 软件测试是软件质量保证的主要手段之一,测试的费用已超过( A 1)的30%以上。

因此,提高测试的有效性十分重要。

“高产”的测试是指( B 3 )。

根据国家标准GB 8566–88《计算机软件开发规范》的规定,软件的开发和维护划分为8个阶段,其中,单元测试是在( C 5)阶段完成的,集成测试的计划是在( D 3)阶段制定的,确认测试的计划是在( E 2 )阶段制定的。

供选择的答案:
A. ①软件开发费用②软件维护费用③软件开发和维护费用
④软件研制费用⑤软件生存期全部
B. ①用适量的测试用例运行程序,证明被测程序正确无误
②用适量的测试用例运行程序,证明被测程序符合相应的要求
③用少量的测试用例运行程序,发现被测程序尽可能多的错误
④用少量的测试用例运行程序,纠正被测程序尽可能多的错误
C ~ E. ①可行性研究和计划②需求分析③概要设计
④详细设计⑤实现⑥集成测试
⑦确认测试⑧使用和维护
3. 集成测试也叫做( A 3)或( B 6)。

通常,在( C 1)的基础上,将所有模块按照设计要求组装成为系统。

子系统的集成测试特别称为( D 2 ),它所做的工作是要找出子系统和系统需求规格说明之间的( E 6)。

需要考虑的问题是:在把各个模块连接起来的时候,穿越模块接口的数据是否会( F 2);一个模块的功能是否会对另一个模块的功能产生不利的影响;各个(G 1 )组合起来,能否达到预期要求的(H 3);(I 5 )是否有问题;单个模块的误差累积起来是否会放大。

供选择的答案:
A ~ D. ①单元测试②部件测试③组装测试
④系统测试⑤确认测试⑥联合测试
E ~ I.①子功能②丢失③父功能④局部数据结构
⑤全局数据结构⑥不一致⑦一致
4. 软件测试可能发现软件中的(B),但不能证明软件()。

A. 所有错误、没有错误
B. 错误、没有错误
C. 逻辑错误、没有错误
D. 设计错误、没有错误
5. 调用算法是解决问题的关键步骤之一。

算法的计算工作量大小和实现算法所需的存储单元多少,分别称为计算的(A2)和(B3)。

编写程序时,(C1)和(D1)是应采纳的原则之一。

(E4)是调试程序的主要工作之一。

供选择的答案:
A、B:
①可实现性②时间复杂度③空间复杂度④困难度
⑤计算有效性
C:①程序的结构化②程序越短越好
③尽可能节省存储单元④尽可能减少注释行
D:①使用有实际意义的名字②使用长度短而无实际意义的名字
③表达式中尽量少用括号④尽量使用简化了的逻辑表达式
E:①调度②证明程序正确③人员安排④排错
6. 软件测试是为了检查出并改正尽可能多的错误,不断提高软件的(A3),一个成功的测试则是发现了至今未被发现的(B2)的测试。

至于软件维护则是指(C1)。

A:①功能和效率②设计和技巧③质量和可靠性④质量和效能
B:①因素②错误③规律④问题
C:①对软件的改进、适应、完善②维护正常运行
③配置新软件④软件开发期的一个阶段
7. 软件测试的目的是(D)。

A. 证明软件的正确性
B. 找出软件系统中存在的所有错误
C. 证明软件系统中存在错误
D. 尽可能多地发现软件系统中的错误
8. 从已经发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为(D)。

A. 错误检测
B. 故障排除
C. 调试
D. 测试
9. 软件测试是软件质量保证的主要手段之一,测试的费用己超过(A )的30%以上,因此提高测试的有效性非常重要。

A. 软件开发费用
B. 软件维护费用
C. 软件开发和维护费用
D. 软件研制费用
10.软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中基础的是(B)。

A. 集成测试
B. 单元测试
C. 系统测试
D. 验收测试
上机题
1.下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。

算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( )::
void SelectSort ( datalist & list ) {
//对表list.V[0]到list.V[n-1]进行排序, n是表当前长度。

for ( int i = 0; i < list.n-1; i++ ) {
int k = i; //在list.V[i].key到list.V[n-1].key中找具有最小关键码的对象
for ( int j = i+1; j < list.n; j++)
if ( list.V[j].getKey ( ) < list.V[k].getKey ( ) ) k = j; //当前具最小关键码的对象if ( k != i ) Swap ( list.V[i], list.V[k] ); //交换
}
}
(1) 试计算此程序段的McCabe复杂性;
(2) 用基本路径覆盖法给出测试路径;
(3) 为各测试路径设计测试用例。

2. 设要对一个自动饮料售货机软件进行黑盒测试。

该软件的规格说明如下:
“有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。

若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。

若投入的是2元硬币,在送出饮料的同时退还5角硬币。


(1) 试利用因果图法,建立该软件的因果图;
(2) 设计测试该软件的全部测试用例。

相关文档
最新文档