西南大学软件工程第三次作业答案
- 格式:doc
- 大小:41.00 KB
- 文档页数:3
1、软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是()。
1.引入新技术提高空间利用率2.硬软件结合使系统面向应用3.用较少的投资获得高质量的软件4.缩短研制周期扩大软件功能2、要减少两个模块之间的耦合,则必须()。
1.模块间传递的参数要少且分布传递开关型参数2.两个模块间的调用次数要少3.模块间传递的参数要少4.模块间传递的参数要少且不传递开关型参数以及两模块不引用同样的全局变量3、下列叙述中,()不属于数据字典的作用。
1.用户中系统的直接使用者2.用户和软件人员的中间人3.软件的编程人员4.用户和软件人员的领导4、提高程序可读性的有力手段是()。
1.给程序加注释2.选好一种程序设计语言3.显示说明一切变量4.使用三种标准控制语句5、软件的()一般由两次故障平均间隔时间和故障平均恢复时间来度量。
1.可维护性2.效率3.可靠性4.可理解性6、PDL是()语言。
1.高级程序设计语言2.中级程序设计语言3.伪码式4.低级程序设计语言7、面向数据流的设计方法把()映射成软件结构。
1.系统结构2.信息流3.数据流4.控制结构8、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()1.软件开发工具和软件开发的环境2.软件开发环境3.硬件环境4.开发人员的素质9、设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。
对于两个问题P E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:()。
1.信息隐藏和局部化的根据2.抽象的根据3.模块化的根据4.逐步求精的根据10、模块()定义为受该模块内一个判断影响的所有模块集合。
1.控制域2.作用域3.宽度4.接口11、下面几种白箱测试技术,哪种是最强的覆盖准则()。
1.条件组合覆盖2.判定覆盖3.语句覆盖4.条件覆盖12、在软件结构图的有关术语中,用于表示软件结构中控制的层数的是()。
第三次作业第一题选择题1.软件危机的表现不包括(C)A,软件质量不可靠 B软件几乎是不可维护的 C,测试过程中发现的错误较多 D,缺少文档2.瀑布模型的主要特点之一是(A)A,推迟实现 B,成功率极高 C,容易失败 D,过程迭代3.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了(A)A,软件危机 B,软件工程 C,软件设计革命 D,结构化程序设计 4.软件工程是(C)A,是结构化程序设计的指导方法 B,是软件开发技术和软件工程管理学为内容的学科 C,是指导计算机软件开发和维护的工程学科 D,是指导软件开发的工程方法5.在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务可以在用例模型或方案脚本中予以说明,(C)是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
A,业务需求 B,系统要求 C,非功能需求 D,用户需求6.软件可行性研究一般不考录(A)A,是否有足够的人员和相关的技术来支持系统开发B,是否有足够的工具和相关的技术来支持系统开发C,待开发软件是否有市场,经济上是否合算D,待开发的软件是否会有质量问题7.经济可行性研究的范围包括(C)A,资源的有效性B,管理制度C,效益分析D,开发风险8.研究开发所需要的成本和资源是属于可行性研究中的(B)A,技术可行性B,经济可行性C,社会可行性D,法律可行性9.研究开发的软件是否符合相关法律规定是属于可行性研究中的(D)A,技术可行性B,经济可行性C,社会可行性D,法律可行性10.需求分析的任务不包括(A)A,确定对系统的综合要求B,分析系统的数据要求C,从技术角度分析系统是否可行D,导出逻辑模型并修正开发计划第二题判断题1.难以控制开发进度和工作量估计困难是软件危机的主要表现之一。
(正确)2.系统响应时间是指当用户执行了某个控制动作后(例如,按回车键,点鼠标键等),系统作出的反应时间。
(正确)3.原型是目标软件系统的一个可操作模型,它实现了目标软件系统的某些重要方面。
软件工程第1次作业一、填空题(每空2分,共20分)二、单项选取题(将一种对的答案代码填入括号中,每小题3分,共15分) 1.( )是顾客和设计互换最频繁办法。
A. 原型化办法B.瀑布模型办法C. 螺旋模型办法D. 构件组装模型办法2.下列哪个阶段不是软件生存期三个阶段中内容( )。
A. 筹划阶段B.开发阶段C. 编码阶段D. 维护阶段3.下列( )操作产生副作用属于数据副作用。
A. 修改子程序B.局部变量再定义C. 删除标记符D.修改对编辑条件测试4.软件测试目( )。
A. 避免软件开发中浮现错误B.发现软件开发中浮现错误C.尽量发现并排除软件中潜藏错误,提高软件可靠性D.修改软件中浮现错误5.完毕详细设计工具不涉及( )。
A.PAD图B.数据流图C.HlP()图D.程序流程图三、多项选取题(将一种以上对的答案代码填入括号中,每小题3 分,共15分) 1.应从( )等方面研究可行性。
A. 经济可行性B.技术可行性C. 运营可行性D.法律可行性2.对于下列数据流图局部,关于描述中对的是( )。
A. 该图为第一层数据流图3.需求分析阶段结束后,交出文档中应当涉及( )。
A. 数据流图B.数据字典C. 简要算法描述D.项目经费预算4.软件管理工作涉及到直接对象涉及( )。
A. 软件开发人员B.硬件设备C. 项目经费D.软件项目5.在软件设计中,( )耦合应尽量避免。
A. 控制B.数据C.内容 D. 标记四、判断题(对的在括号内打上“√”,错误打上“X”。
每小题2分,共10分)1。
软件危机是指在软件开发和维护过程中遇到一系列严重问题。
( )2,构造化分析办法就是用抽象模型概念,按照软件内部数据传递、变换关系,自顶向下逐级分解,直到找到满足功能规定所有可实现软件为止。
( )3.UML只能应用于软件系统模型建立。
( )4.程序设计语言中应绝对禁止使用GOTO语句。
( ) 5.模块越小,模块长处越大。
( )五、问答题(每小题10分,共20分)1.什么是软件?什么是软件工程?2.什么是编码风格?为什么要强调编码风格?六、分析题(共20分)依照下列N—S图,写出其相应伪码。
第三章习题及参考答案1.用逐步求精方法解决下述的更新顺序主文件的问题。
美国某杂志社需要一个软件,以更新存有该杂志订户姓名、地址等数据的顺序主文件。
共有插入、修改和删除等3种类型的事务,分别对应于事务代码1、2和3。
也就是说,事务类型如下:类型1:INSERT(插入一个新订户到主文件中)类型2:MODIFY(修改一个已有的订户记录)类型3:DELETE(删除一个已有的订户记录)事务是按订户名字的字母顺序排序的。
如果对一个订户既有修改事务又有删除事务,则已对那个订户的事务排好次序了,以便使修改发生在删除之前。
2.分析图3.1所示的层次图,确定每个模块的内聚类型。
3.分析图3.2,确定模块之间的耦合类型。
在图3.2中已经给模块之间的接口编了号码,表3.1描述了模块间的接口。
4. 假设你在一所职业高中工作,负责该校信息系统的建设与维护。
财务科长请你研究用学校拥有的微型计算机生成工资明细表和各种财务报表的可能性。
请详细描述你用结构化分析方法分析上述问题的过程。
用面向数据流方法设计工资支付系统的软件结构。
5.用3种方法计算图3.3所示流图的环形复杂度。
6. 图3.4是用程序流程图描绘的程序算法,请把它改画为等价的盒图。
7. 某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费加上与交易中的每股价格和股数有关的附加手续费。
如果交易总金额少于1000元,则基本手续费为交易金额的8.4%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额的5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额的4%加上134元。
当每股售价低于14元时,附加手续费为基本手续费的5%,除非买进、卖出的股数不是100的倍数,在这种情况下附加手续费为基本手续费的9%。
当每股售价在14元到25元之间时,附加手续费为基本手续费的2%,除非交易的股数不是100的倍数,在这种情况下附加手续费为基本手续费的6%。
《软件工程作业》考试复习题库(含答案)一、选择题1. 软件工程的三要素不包括以下哪项?A. 软件开发B. 软件维护C. 软件管理D. 软件设计答案:B2. 下列哪种编程范式主要用于软件工程中的面向对象编程?A. 命令式编程B. 函数式编程C. 面向对象编程D. 逻辑编程答案:C3. 在软件开发过程中,以下哪个阶段产生的文档最多?A. 需求分析B. 设计C. 编码D. 测试答案:A4. 以下哪个软件工程方法学强调在软件开发过程中使用迭代和增量开发?A. 敏捷开发B. 水晶方法C. 瀑布模型D. 敏捷开发与水晶方法的结合答案:A5. 以下哪个工具常用于软件需求分析阶段的模型建立?A. UML图B. 数据流程图C. 状态转换图D. 时序图答案:B二、填空题1. 软件工程的目的是提高软件的______、______和______。
答案:可用性、可靠性、可维护性2. 软件开发生命周期包括______、______、______、______和______。
答案:需求分析、设计、编码、测试、维护3. 在软件需求分析阶段,常用的方法有______、______和______。
答案:数据流程图、实体关系图、状态转换图4. 软件设计分为______设计和______设计。
答案:架构设计、详细设计5. 软件测试的目的不包括以下哪项______。
答案:找出软件的错误三、判断题1. 软件工程是计算机科学的一个分支。
()答案:正确2. 软件工程适用于所有类型的软件开发项目。
()答案:错误3. 敏捷开发方法适用于所有类型的软件开发项目。
()答案:错误4. 软件测试是软件开发过程中的最后一个阶段。
()答案:错误5. 软件维护是软件开发过程中的重要环节。
()答案:正确四、简答题1. 简述软件工程的定义及目标。
答案:软件工程是应用计算机科学、数学原理和方法来设计、开发、测试和维护软件的一门学科。
其目标包括提高软件的可用性、可靠性和可维护性,降低软件开发成本,提高软件开发效率。
第六章详细设计习题一、名词解释详细设计:确定每个模块的具体执行过程,也称过程设计。
详细设计的结果基本决定了最终的程序代码的质量。
结构化程序设计:是按照一组能提高程序的可读性和易维护性的规则而进行的程序设计方法,目的是为了使程序具有一种合理的结构,以使程序易理解和维护,便于保证和验证程序的正确性。
PDA:问题分析图,是一种算法描述工具。
它是一种从左向右展开的二维树形结构,其控制流程为自上而下,从左到右地执行。
二、填空1、详细设计阶段的主要任务是确定每个模块的具体执行过程。
2、软件的详细设计可以用图形、表格、过程设计语言三种形式的描述工具表示模块的处理过程。
3、处理过程设计中最典型的方法是结构化程序设计方法,其基本要点是自顶向下、逐步求精。
4、任何程序都可由顺序、选择和循环3种基本控制结构构造,这3中基本结构的基本点是单入口、单出口。
5、PAD图是一种从左到右展开的二维树形结构,PAD图的控制流程是自上而下、从左到右地执行。
6、详细设计是软件设计的第二个阶段,主要确定每个模块的具体执行过程,故也成为过程设计。
7、详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程清晰易懂。
结构化程序设计是实现该目标的关键技术之一,它指导人们用良好的思想方法开发易于阅读、易于理解的程序。
三、单项选择1、在详细设计阶段,经常采用的工具包括( C )A.SAB.SDC.PADD.DFD2、详细设计阶段的任务是( A )。
A.算法设计B.功能设计C.调用达观系设计D.输入/输出设计3、结构化程序设计的一种基本方法是( D )。
A.筛选法B.递归法C.迭代法D.逐步求精法4、下面说法不正确的是( C )。
A.流程图不易表示数据结构B.流程图容易造成非结构化的程序结构C.流程图支持逐步求精D.流程图描述的是程序的逻辑结构5、下面说法不正确的是( B )。
A. PAD图支持逐步求精B.PAD图容易造成非结构化的程序结构C. PAD图描述的是算法D.PAD图容易表达程序的层次结构四、简答题1、什么是详细设计,?该阶段的基本任务是什么?详细设计是软件设计的第二个阶段,确定每个模块的具体执行过程,也称过程设计。
《软件工程》试题(第3套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)1.需求分析中,开发人员要从用户那里解决的最重要的问题是( )。
A、要让软件做什么B、要给该软件提供哪些信息C、要求软件工作效率怎样D、要让该软件具有何种结构2.DFD中的每个加工至少有( )。
A、一个输入流或一个输出流B、一个输入流和一个输出流C、一个输入流D、一个输出流3.详细设计与概要设计衔接的图形工具是( )。
A、DFD图B、SC图C、PAD图D、程序流程图4.确认测试中,作为测试依据的文档是( )。
A、需求规格说明书B、设计说明书C、源程序D、开发计划5.为了适应软硬件环境变化而修改软件的过程是( )。
A、校正性维护B、完善性维护C、适应性维护D、预防性维护6.用于描述对象模型的工具是( )。
A、数据流图B、结构图C、状态图D、对象图7.软件质量保证应在( )阶段开始。
A.需求分析B.设计C.编码D.投入使用8.程序的三种基本控制结构的共同特点是( )A.不能嵌套使用 B.只能用来写简单程序C.已经用硬件实现D.只有一个入口和一个出口9. 在软件开发的各种资源中,()是最重要的资源。
A 开发工具B 方法C 硬件环境D 人员10. 协作图反映收发消息的对象的结构组织,它与()是同构的。
A 用例图B 类图C 活动图D 时序图11.黑盒测试在设计测试用例时,主要需要研究( )A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明12、 CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每个等级都包含了实现该成熟度等级目标的若干()。
A 关键实践B 关键过程域C 软件过程能力D 软件过程13. 详细设计与概要设计衔接的图形工具是( )A. DFD图B. 程序图C. PAD图D. SC图14. 测试的关键问题是 ( )A. 如何组织对软件的评审B. 如何验证程序的正确性C. 如何采用综合策略D. 如何选择测试用例15.研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。
引言:
软件工程是现代社会中非常重要的一项技术和学科,它研究软件的设计、开发、测试和维护等方面的技术和方法。
本文将探讨软件工程的第三次作业,从五个大点来详细阐述相关内容。
概述:
正文内容:
一、测试的基本概念
1.1测试的概念和定义
1.2测试的基本原则和目标
1.3测试的基本流程和生命周期
二、测试的方法和技术
2.1黑盒测试和白盒测试
2.2静态测试和动态测试
2.3自动化测试和手工测试
2.4单元测试和集成测试
2.5系统测试和验收测试
三、测试用例的设计
3.1功能测试用例设计
3.2边界值测试用例设计
3.3异常情况测试用例设计
3.4性能测试用例设计
3.5安全性测试用例设计
四、测试的工具和环境
4.1常用的测试工具介绍
4.2测试环境的构建和管理
4.3测试数据的准备和维护
4.4测试团队的组织和协作
五、测试的评估和优化
5.1测试评估的指标和方法
5.2缺陷管理和跟踪
5.3测试效率和成本的优化
5.4测试过程的改进和持续集成
5.5测试质量和可靠性的提升
总结:
软件工程的第三次作业涉及到软件测试的基本概念和方法,本文从测试的基本概念、方法和技术、测试用例的设计、测试的工具和环境、以及测试的评估和优化等五个大点进行了详细阐述。
通过充分理解和掌握这些内容,我们可以更好地进行软件测试,提高软
件的质量和可靠性。
同时,在实际的软件开发过程中,我们还需不断积累经验,不断改进和优化测试方法和工具,以提高测试的效率和成本控制。
[0010]《软件工程》第一次作业[论述题](1) 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
参考答案:目前使用得最广泛的软件工程方法学(2种):1.传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用[论述题]2软件生命周期划分成哪些阶段。
参考答案:软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。
1. 软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析2. 开发时期:总体设计、详细设计、编码和单元测试、综合测试。
3. 维护时期:主要任务是使软件持久地满足用户的需要。
[论述题](3) 什么是需求分析,需求分析阶段的基本任务是什么?参考答案:需求分析就是理解用户需求,分析软件用户的需求是什么。
需求分析的任务就是解决"做什么"的问题,在问题定义和可行性研究的基础上,全面地理解用户的各项要求,并准确地表达所接受的用户需求。
具体说来,就是把可行性研究阶段确定的系统功能进一步具体化,交出包括详细的数据流图、数据字典以及简要的算法描述在内的需求说明书。
[论述题](4) 可行性研究的任务参考答案:1.进一步分析和澄清问题;2.导出系统的逻辑模型;3.从逻辑模型出发,提出若干种系统实现方案4.研究每种实现方案的可行性;5.为每个可行的解决方案制定一个粗略的实现进度6.对以后的行动方针提出建议[论述题](5)什么叫软件测试,软件测试的方法有哪些?参考答案:软件测试:为了发现程序中的错误而执行程序的过程。
软件工程答案(共五则范文)第一篇:软件工程答案软件工程课后习题答案殷锋主编·天津科学技术出版社注:有些可能错误,读者自己注意第一章一、填空题:1、软件是计算机系统中与硬件相互依存的另一部分,是包括、、及相关文档的的完整集合2、软件工程包括三要素:方法、工具和过程。
3、软件开发的基本方法包括和二、选择题:1、C2、B3、C第二章一、填空题:1、软件生存周期的各个过程可以分成三类,及主要生存周期过程、支持生存周期过程和组织的生存周期过程。
2、软件生存周期包括计划、需求分析、设计、程序编码、软件测试和运行维护6个阶段。
3、软件过程改进(SPI)帮助软件企业对其软件过程的改变进行计划,制定以及实施。
二、填空题1、A2、B三、判断题1、√2、X第三章三、填空题:1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定够解决2、可行性研究在进行简要需求分析和设计时,要在高层次上以进行3、需求分析阶段产生的最重要的文档是。
4、为解决一个复杂的问题,往往采取的策略是5、SA方法中使用半形式化的描述方式表达需求,采用的主要描述工具是流图和E-R图。
6、数据流图中有四种负号元素,它们是点7、数据字典中有四类条目,分别是8、在IDEF0图中,表示系统功能的图形成为图。
9、在画分层的DFD时,父图与子图的输入/输出的数据流要10、用于描述基本加工的小说明的三种描述工具是定表。
二、选择题1、A2、C3、B4、B5、D6、D7、D8、A9、D10、A11、C12、B第四章一、填空题1、变换型系统由3部分组成:。
2、模块的分解的基本原则是。
3、在软件开发的过程中必须遵循的软件工程原则有:和模块独立性。
二、选择题1、D2、A3、A4、A5、B三、判断题1、√2、X3、X4、√5、X第五章二、填空题1、软件测试是为了而执行程序的过程。
2、运行被测程序的方法称为测试。
3、动态测试中,主要测试软件功能的方法称为法4、选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准为判定/覆盖法。
软件工程第1次作业本次作业是本门课程本学期的第1次作业,注释如下:一、单项选择题(只有一个选项正确,共36道小题)1. 软件文档是(A) 程序(B) 工具(C) 文书和资料(D) 数据正确答案:C解答参考:2. 软件是一种()性工业产品(A) 理论(B) 知识(或逻辑)(C) 消耗(D) 体力正确答案:B解答参考:3. 与计算机科学的理论研究不同,软件工程是一门()的学科(A) 理论性(B) 工程性(C) 原理性(D) 心理性正确答案:B解答参考:4. 软件工程与计算机科学的性质不同,软件工程着重于()(A) 理论研究(B) 建造软件系统(C) 原理探讨(D) 原理的理论正确答案:B解答参考:5. 软件工程学科出现的直接原因是()(A) 计算机的发展(B) 其它工程学科的影响(C) 软件危机的出现(D) 程序设计方法学的影响正确答案:C解答参考:6.软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,以期达到的最终目标是()(A) 软件开发工程化(B) 消除软件危机(C) 实现软件可重用(D) 程序设计自动化正确答案:A解答参考:7.由于软件生产的复杂性和高成本,使大型软件的生成出现危机,软件危机的主要表现包括了下述()方面。
①生产成本过高②需求增长难以满足③进度难以控制④质量难以保证(A)①②(B) ②③(C) ④(D) 全部正确答案:D解答参考:8. 软件的主要结构和功能是在()阶段决定的(A) 分析设计(B) 编程(C) 测试(D) 维护正确答案:A解答参考:9. 有关计算机程序功能、设计、编制、使用的文字或图形资料称为【】(A) 软件(B) 文档(C) 程序(D) 数据正确答案:B解答参考:10. 软件生成周期模型有多种,下列选项中,【】不是软件生存周期模型(A) 螺旋模型(B) 增量模型(C) 功能模型(D) 瀑布模型正确答案:C解答参考:11.在软件的可行性研究主要从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于()的研究。
软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些软件工程的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生命周期中所花费用最多的阶段是()A 详细设计B 软件编码C 软件测试D 软件维护答案:D解析:软件维护阶段需要对软件进行修改、优化和修复,由于软件在使用过程中可能会遇到各种问题和需求变更,所以维护阶段通常会花费大量的时间和资源。
2、下面不属于软件工程的 3 个要素的是()A 工具B 过程C 方法D 环境答案:D解析:软件工程的三要素是方法、工具和过程。
方法为软件开发提供了“如何做”的技术;工具为方法的运用提供了自动的或半自动的软件支撑环境;过程是将方法和工具结合起来,以达到合理、及时地进行软件开发的目的。
3、软件可行性研究实质上是要进行一次()需求分析和设计过程。
A 简化、压缩的B 详细的C 彻底的D 深入的答案:A解析:可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决,其实质是进行一次简化、压缩的需求分析和设计过程。
4、软件测试的目的是()A 证明软件的正确性B 找出软件中的所有错误C 尽可能多地发现软件中的错误D 调试程序答案:C解析:软件测试的目的是尽可能多地发现软件中的错误,而不是证明软件的正确性,也不可能找出软件中的所有错误。
5、下面描述中,不符合结构化程序设计风格的是()A 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B 自顶向下C 注重提高程序的执行效率D 限制使用 goto 语句答案:C解析:结构化程序设计强调清晰的结构和良好的可读性,注重程序的可理解性和可维护性,而不是过于追求执行效率。
二、填空题1、软件生存周期一般可分为问题定义、可行性研究、()、设计、()、测试、运行与维护阶段。
(1)简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
答:结构化范型要点:结构化范型也称生命周期方法学,属于传统方法学。
传统的软件开发方法大部分采用瀑布模型。
这种模型要求每一阶段都以前一阶段形成的文档为基础完成工作。
每一阶段将要完成时,都要求开发人员进行验证或确认。
瀑布模型要求在软件产品生成之前对用户需求进行尽可能精确的、完全的刻画。
但要完成这种任务相当困难。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度.缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化时,开发出的软件往往不成功;而且维护起来仍然很困难。
(2)软件生命周期划分成哪些阶段。
答:分8个阶段问题定义可行性研究需求分析总体设计详细设计编码和单元测试综合测试软件维护(3)什么是需求分析,需求分析阶段的基本任务是什么?答:需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。
基本任务: ⑴问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。
⑵分析与综合,导出软件的逻辑模型⑶编写文档:包括编写"需求规格说明书","初步用户使用手册","确认测试计划","修改完善软件开发计划"(4)可行性研究的任务答:可行性研究的任务是以市场为前提,以技术为手段,以经济效果为最终目标,对拟建的投资项目,在投资前期全面,系统地论证该项目的必要性,可能性,有效性和合理性,对项目作出可行或不可行的评价(5)什么叫软件测试,软件测试的方法有哪些?答:就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,测试方法有有白盒测试,黑盒测试,灰盒测试,β测试,α测试,可移植性测试,冒烟测试等(6)什么叫逻辑覆盖,常用的逻辑覆盖方法有哪些(写出方法名称即可)答:逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。
软件工程习题含答案一、单选题(共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.为了简化管理,通常对访问者(),以避免访问控制表过于庞大。
软件工程课后习题参考答案1.简述软件开发的本质。
答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。
P192.简述实施软件开发的基本途径。
答:实施软件开发的基本途径是系统建模。
所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。
P193.简述何谓模型以及软件开发中所涉及的模型。
答:模型是一个抽象。
该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。
软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。
4.简述软件开发所涉及的两大类技术。
答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。
5、简述需求与需求规约的基本性质。
答:需求的基本性质:1) 必要的,该需求是用户所要求的。
2)无歧义的,该需求只能用一种方式解释。
3)可测的,该需求是可进行测试的。
4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。
5)可测量的,该需求是可测量的。
需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。
2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。
3)完整的:没有被遗漏的需求。
4)一致的:不存在互斥的需求。
6、简述软件需求的分类。
答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、设计约束和质量属性需求。
P23 Array 7、举例说明功能需求和非功能需求之间的基本关系。
答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求38、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。
软件工程考试试题和答案一、单项选择题1. 软件工程的三要素是()。
A. 工具、方法、过程B. 方法、工具、环境C. 方法、过程、工具D. 过程、工具、环境答案:C2. 软件需求分析阶段的工作不包括()。
A. 需求获取B. 需求分析C. 需求规格说明D. 软件设计答案:D3. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件存在错误答案:B4. 在软件维护中,最频繁的活动是()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A5. 软件项目管理的主要任务不包括()。
A. 进度管理B. 质量管理C. 配置管理D. 软件设计答案:D二、多项选择题1. 软件工程的基本原理包括()。
A. 抽象B. 模块化C. 信息隐蔽D. 逐步求精答案:ABCD2. 软件需求分析的任务包括()。
A. 需求获取B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD3. 软件测试的方法包括()。
A. 黑盒测试B. 白盒测试C. 灰盒测试D. 静态测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件项目管理的内容主要包括()。
A. 进度管理B. 质量管理C. 成本管理D. 人员管理答案:ABCD三、判断题1. 软件工程的目标是提高软件的生产率和质量。
()答案:正确2. 软件需求分析阶段不需要进行需求验证。
()答案:错误3. 软件测试可以证明软件是无错误的。
()答案:错误4. 软件维护只包括校正性维护。
()答案:错误5. 软件项目管理不需要进行质量管理。
()答案:错误四、简答题1. 简述软件工程的特点。
答:软件工程的特点包括:(1)软件工程强调系统的、规范的、可度量的方法学;(2)软件工程是面向过程的;(3)软件工程是面向质量的;(4)软件工程是面向经济的;(5)软件工程是面向人的。
西工大2021年4月机考《软件工程》作业参考答案试卷总分:100 得分:100本科目3次作答机会,每次试题内容相同,只是题目和选项顺序是随机调整的,大家可放心下载使用一、单选题(共30 道试题,共60 分)1.25.测试的关键问题是()。
A.如何组织软件评审B.如何选择测试用例C.如何验证程序的正确性D.如何采用综合策略正确答案:C2.在数据字典中,下列哪个成分不加定义()。
A.数据流B.加工C.数据存储D.源/终结点正确答案:D3.()数据处理问题的工作过程大致分为三步,即取得数据、变换数据和给出数据。
A.变换型B..事务型C.结构化D.非结构化正确答案:B4.15.软件详细设计的主要任务是确定每个模块的()。
A.算法和使用的数据结构B.外部接口C.功能D.编程正确答案:A5.21.表示输入/输出的系统流程图的符号是()。
A.<img sB.<img sC.<img sD.<img正确答案:A6.PUTNAM成本估算经验模型是()。
A.静态单变量模型B.静态多变量模型C.动态单变量模型D.动态多变量模型正确答案:B7.16.软件结构图的形态特征能反映程序重用率的是()。
A.深度B.宽度C.扇入D.扇出正确答案:C8.在面向对象分析过程中,从问题陈述中找到的( )可能是关联。
A.动词B.形容词C.名词D.副词正确答案:A9.软件质量保证即为了确定、达到和()需要的软件质量而进行的所有有计划、有系统的管理活动。
A.测试B.维护C.质量D.效率正确答案:B10.技术可行性要解决()。
A.存在侵权否B.成本效益问题C.运行方式可行D.技术风险问题正确答案:B11.20.数据流图(DFD)中的每个数据处理至少需要()。
A.一个输入数据流B.一个输出数据流C.一个输入或者输出数据流D.一个输入数据流和一个输出流正确答案:D12.17.为了提高模块的独立性,模块内部最好是()。
A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚正确答案:C13.下列属于维护阶段的文档是( )A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告正确答案:C14.10.结构化程序设计的一种基本方法是()。
第一题选择题
1.软件危机的表现不包括(C)
A,软件质量不可靠B 软件几乎是不可维护的C,测试过程中发现的错误较多D,缺少文档
2.瀑布模型的主要特点之一是(A)A,推迟实现B,成功率极高C,容易失败D,过程迭代
3.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了(A)
A,软件危机B,软件工程C,软件设计革命D,结构化程序设计
4.软件工程是(C)
A,是结构化程序设计的指导方法B,是软件开发技术和软件工程管理学为内容的学科C,是指导计算机软件开发和维护的工程学科D,是指导软件开发的工程方法
5.在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务可以在用例模型或方案脚本中予以说明,(C)是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
A,业务需求B,系统要求C,非功能需求D,用户需求
6.软件可行性研究一般不考录(A)
A,是否有足够的人员和相关的技术来支持系统开发B,是否有足够的工具和相关的技术来支持系统开发C,待开发软件是否有市场,经济上是否合算D,待开发的软件是否会有质量问题
7.经济可行性研究的范围包括(C)
A,资源的有效性B,管理制度C,效益分析D,开发风险
8.研究开发所需要的成本和资源是属于可行性研究中的(B)
A,技术可行性B,经济可行性C,社会可行性D,法律可行性
9.研究开发的软件是否符合相关法律规定是属于可行性研究中的(D)A,技术可行性B,经济可行性C,社会可行性D,法律可行性
10.需求分析的任务不包括(A)A,确定对系统的综合要求B,分析系统的数据要求C,从技术角度分析系统是否可行D,导出逻辑模型并修正开发计划
第二题判断题
1.难以控制开发进度和工作量估计困难是软件危机的主要表现之一。
(正确)
2.系统响应时间是指当用户执行了某个控制动作后(例如,按回车键,点鼠标键等),系统作出的反应时间。
(正确)
3.原型是目标软件系统的一个可操作模型,它实现了目标软件系统的某些重要方面。
(正确)
4.即使测试过程没有发现任何错误,也不能说明软件没有错误。
(正确)
5.采用信息隐藏原理指导模块设计可以支持模块的并行开发,减少软件测试和软件维护的工作量。
(正确)
6.模块的接口设计要简单,以便降低复杂程度。
(正确)
7.软件="完成特定功能的程序+数据结构+文档”。
(正确)
8.制定软件项目进度表的途径之一是软件开发小组根据提供软件产品的最后期限从后往钱安排时间。
(正确)
9.在模块原理中,模块的作用域应该在控制域内。
(正确)
10.瀑布模型在实际的项目中严格顺序执行就基本可以成功。
(错误)
第三题简答题
1 简述软件测试要经过哪几个步骤,每个步骤与什么文档有关?
答:(1)单元测试,测试对象对单元模块(2)集成测试,测试对象为组装后的程序模块(3)确认测试,测试对象为可运行的目标软件系统。
2 软件重用的效益是什么?
答:(1)软件重用可以显著地改善软件的质量和可靠性。
(2)软件重用可以极大地提高软件开发的效率。
(3)节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。
第四题应用题
1 假设系统中有一个模块的代码如下,请将该代码转换画出程序流程图。
PROCEDUREEX(A,B:REAL;VAR X:REAL);
BEGIN
IF(A=3)OR(B>1)THEN X:=A×B
IF(A>2)AND(B=0)THEN X:=A-3
END
答:
2请用语句覆盖和判定覆盖两种测试方法设计出两套测试数据,用于测试问题14中的程序
答:答:语句覆盖:A=3,B=0
判定覆盖:1)A=1,B=0;2)A=2,B任意
1、语句覆盖是指设计足够的测试用例,使被测程序中每个语句至少执行一
次。
2、判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少
获得一次“真”和“假”值,从而使程序的每一个分支至少都通过一次。