软件工程复习题-问答题
软件工程问答题答案(仅供参考)(精品)
软件工程问答题答案(仅供参考)(精品)软件工程问答题答案(仅供参考)(精品)软件工程是指通过计算机科学与工程学的原理、方法和工具来开发和维护软件的一门学科。
在软件工程领域,存在着许多关键问题和常见的问答题。
本文将为你提供一些常见软件工程问答题的答案,希望能够帮助你更好地理解和应用软件工程的知识。
1. 什么是软件需求工程?软件需求工程是软件工程中的一个重要领域,它关注的是对用户需求进行分析、规范和管理,以便于软件系统的开发和交付。
软件需求工程包括可行性研究、需求获取、需求分析、需求规格说明和需求验证等过程。
2. 请解释软件配置管理是什么?软件配置管理是指通过管理软件系统中的各种配置项和配置变更,以确保软件系统的正确、完整和可追踪。
它包括配置项识别、变更控制、版本控制、配置库管理等活动,旨在提高软件开发和维护过程的可控性和可靠性。
3. 请介绍软件测试的目的和重要性。
软件测试的目的是发现软件系统中的错误、缺陷和潜在问题,以便在软件交付之前进行修复和改进。
软件测试的重要性在于可以提高软件系统的质量和可靠性,降低软件使用过程中的风险和损失。
4. 什么是软件架构?软件架构是指软件系统的基本结构和组织方式。
它描述了软件系统中各个组件之间的关系和交互,以及软件系统的总体设计原则和理念。
软件架构可以帮助团队成员理解和沟通软件系统的设计和实现。
5. 请解释敏捷开发方法。
敏捷开发方法是一种以迭代、循环和适应性为核心的软件开发方法。
它强调团队合作、快速反馈和不断改进,在不断变化的需求环境下能够更加灵活地开发和交付高质量的软件系统。
6. 请介绍软件项目管理的过程和技术。
软件项目管理包括项目计划、项目组织、项目监控和项目交付等过程。
它涉及到时间管理、成本管理、风险管理、质量管理等技术和工具,以确保软件项目能够按时、按量和按质完成。
7. 请解释软件工程中的代码重构。
代码重构是指在不改变软件系统外部行为的前提下,通过对代码的重新组织和调整来改进软件系统的内部质量和可理解性。
软件工程复习题
软件工程习题课一.名词解释01.软件危机02.需求分析03.软件工程:04.黑盒测试法05.软件维护06.软件生存周期07.瀑布模型08.可行性研究09.数据流图10.数据字典11.软件体系结构12.冗余程序设计13.软件测试14.项目计划二.问答题1.计算机软件定义及特点?2.软件危机的表现?3.软件生存周期一般可分几个阶段,每个阶段的工作内容是什么?4.瀑布模型的特点是什么?5.可行性研究的内容?6.可行性研究应从那些方面进行研究,每一方面包含的内容是什么?7.需求获取的主要内容有哪几个方面?8. 需求获取的方法有哪些?9. 需求分析的目标是什么?10.需求分析做完以后得到的主要文档是什么?11. 需求分析存在的困难?12. 需求分析的原则?13. 需求分析的方法?14. 数据流图的特性?15. 数据流图基本符号及含义?16. 数据流图的用途?17. 数据流图画法(参考课堂实例)?18. 数据字典的作用?19. 数据字典中”= + [ ] {}()”的含义?20.概念性数据模型的含义及特点,最常用的表示概念性数据模型的方法?21. ER模型的基本成分及描述元素是什么22概要设计任务?23. 系统设计的原则?24. 软件体系结构的常见形式及特点?25. 评价模块设计优劣的三个特征因素及其含义?26. 界面的风格的含义?27. 系统结构图是SD(结构化设计)方法在概要设计中使用的主要表达工具,SD方法约定系统结构模块的表示符号是什么,各个模块之间调用的方法有哪些?28. DFD图如何映射到功能模块图?29. 需求分析的目标是什么?30.需求分析做完以后得到的主要文档是什么?31. 详细设计的工具及使用方法?32. 详细设计的原则?33. Jackson程序设计方法的特点?34. Jackson图表达基本结构和改进结构的用法?35. Jackson伪代码的含义与用法?36. 设计,编码和程序语言对程序的质量的影响?37. 程序设计语言分类及特点?38. 编码风格主要包含哪些内容?39. 结构化程序设计的目的是什么?40. 软件测试的基本方法?41. 软件测试的步骤?42. 软件维护的分类及含义?43维护的费用和代价计算方法?44. 项目计划的含义?45软件质量的影响因素?三.分析题分析一家公司的营销系统。
软件工程基础(复习题及答案)
软件⼯程基础(复习题及答案)复习题⼀、判断题(每题2分,共30分)1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
(对)2.数据字典是对数据流图中的数据流,加⼯、数据存储、数据的源和终点进⾏详细定义。
(错)语⾔编译器是⼀个CASE⼯具。
(对)。
4.软件是指⽤程序设计语⾔(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。
(错)5.软件模块之间的耦合性越弱越好。
(对)6.数据库设计说明书是⼀个软件配置项(对)7.在⾯向对象的软件开发⽅法中,每个类都存在其相应的对象,类是对象的实例,对象是⽣成类的模板。
(错)8.过程描述语⾔可以⽤于描述软件的系统结构。
(错)9.如果通过软件测试没有发现错误,则说明软件是正确的。
(错)10.快速原型模型可以有效地适应⽤户需求的动态变化。
(对)11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到⾼内聚,低耦合度的软件产品。
(对)12.集成测试主要由⽤户来完成。
(错)13.确认测试计划应该在可⾏性研究阶段制定(错)14.⽩盒测试⽆需考虑模块内部的执⾏过程和程序结构,只要了解模块的功能即可。
(错)15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
(对)16.在可⾏性研究中最难决断和最关键的问题是经济可⾏性。
(╳)17.耦合是指⼀个模块内各个元素彼此结合的紧密程度。
(╳)18. ⼀笔交易、⼀个动作、甚⾄操作⼈员按⼀个按钮都可以看做是⼀次事物。
(√)19.概要设计阶段完成的主要⽂档是概要设计说明书。
(√)20.过⼤的模块可能是由于分解不充分造成的,即使降低模块独⽴性也必须继续分解。
(╳)21.程序设计语⾔中应绝对禁⽌使⽤GOTO语句。
(╳)22.类是关于对象性质的描述,由⽅法和数据组成。
(√)23.随着软件技术的发展,⼈们逐渐认识到编码不仅要强调效率还要强调清晰。
(√)25.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。
软件工程的100道问答题
软件工程的100道问答题软件工程的100道问答题软件工程的100道问答题1、什么是软件危机?产生软件危机的原因?怎样消除?2、什么是软件工程?包括哪些内容?3、软件生存周期包含哪些内容?4、软件开发模型有几种?各有什么特点?7、在软件开发的早期阶段,为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?8、一个软件开发系统的可行性研究报告应如何编写?9、数据流图有哪几种基本符号?10、画数据流图原则是什么?11、数据流图在软件分析中的作用是什么?12、数据字典的作用?13、什么是数据字典?有几个定义?各自特点是什么?14、有几种效益的分析方法?15、需求分析的任务是什么?16、需求分析通常采用哪些分析技术?17、什么是结构化分析?他的结构化体现在哪里?18、简述面向对象分析技术的主要步骤?19、原型开发技术的目的,特点是什么?20、简述总体设计的一般过程?21、什么叫软件结构?什么叫软件工程?二者之间关系?22、解释深度、宽度、扇出、扇入对软件的影响。
23、什么叫模块化?m代表的含义是什么?24、模块化的三个重要特征是什么?阐明各自的作用。
25、举例说明各种耦合情况和各种内聚情况。
26、简述设计准则的内容。
27、简述层次方框图与软件结构图的异同点。
28、事物型软件结构图有什么特点?原因是什么?29、详细设计的任务是什么?30、什么是结构化程序设计?用n-s图表示三种基本结构。
31、简述jackson程序设计方法的主要内容。
32、简述wariner程序设计方法的主要内容。
35、c语言属于第几代语言?第四代语言特点是什么?36、简述高级语言的应用特点和内在特点。
37、试分析程序设计语言特点及软件可*性、可理解性、可修改性、可测试性及成本的关系。
38、选择一种语言的实用标准是什么?39、简述开发环境、计算机体系结构、软件设计方法、软件开发过程与程序设计语言之间的促进和制约作用。
40、程序的编码风格主要体现在哪几个方面?41、软件测试的基本任务是什么?测试与调试区别是什么?42、软件测试的目标是什么?43、软件测试分几个步骤进行?每个步骤解决什么问题?44、软件测试有几种方法?每种方法的特点是什么?45、软件出错有几种类型?验证其程序正确性有几种方法?46、什么是单元测试和集成测试?他们各有什么特点?47、简述渐增式测试方法与非渐增式测试方法的优劣。
软件工程考试题及答案
软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。
答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。
答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。
答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。
它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。
2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。
通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。
3. 请简述软件开发生命周期中的各个阶段。
答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。
- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。
- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。
- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。
- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。
软件工程常考简答题
绪论1、什么是软件工程?软件工程和计算机科学有何区别?答:软件工程是以计算机科学理论及其他有关学科旳理论为指导,采用工程化旳概念、原理、技术和措施进行软件旳开发和维护,把通过时间证明是对旳旳管理措施和目前可以得到旳最佳旳技术、措施相结合,以期用较少旳代价获取高质量旳软件。
计算机科学侧重于理论研究,其成果可应用于软件工程,而软件工程则强调怎样有效旳建造一种软件系统。
2、什么是软件?答:计算机软件是与计算机系统操作有关旳程序、规程、规则及任何与之有关旳文档及数据;3、什么是软件危机?分析其产生旳原因与挣脱危机旳措施,你认为目前已经挣脱软件危机了吗?请阐明理由。
软件危机是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。
重要是两个问题:(1)怎样开发软件,怎样满足对软件旳日益增长旳需求;(2怎样维护数量不停膨胀旳已经有软件;软件危机旳出现,究其原因,首先是由软件自身旳特点引起旳,如软件越来越复杂,软件故障难于检测,工作量难以估计;另首先则是由于软件开发和维护措施不妥所导致旳,如软件旳个体化特性太强等。
为了挣脱软件危机所导致旳困境,提出软件工程旳概念,其重要思绪是:要把人类长期以来从事多种工程项目所积累起来旳行之有效旳原理,概念,技术和措施,尤其是人类从事计算机硬件研究和开发旳经验教训,应用到软件旳开发和维护中来。
我认为我国目前尚未完全挣脱软件危机,由于伴随经济发展,各行各业对软件人才旳需求不停扩大,由于我国旳软件人才缺口仍旧很大,导致了某些行业内软件开发进度难以预测,软件开发成本难以控制,顾客对产品功能难以满足,软件产品质量无法保证,软件产品难以维护,软件缺乏合适旳文档资料。
4、软件产品旳特性是什么?软件是一种逻辑产品,具有无形性;软件产品旳生产重要是研制;软件不存在磨损和老化问题,但存在退化问题;软件产品旳生产重要是脑力劳动;软件产品生产成本昂贵,目前生产方式尚未挣脱手工生产方式;软件具有“复杂性”,其开发和运行常受到计算机系统旳限制。
软件工程基础考试
软件工程基础考试(答案见尾页)一、选择题1. 软件工程的基础是什么?A. 程序设计B. 数据结构C. 计算机科学D. 需求分析2. 软件开发过程中,需求分析和系统设计的关系是什么?A. 需求分析是系统设计的依据B. 需求分析和系统设计同时进行C. 需求分析在系统设计之后进行D. 需求分析和系统设计没有必然联系3. 软件工程的三个层次及其在软件开发过程中的作用是什么?A. 应用层、系统层、理论层B. 物理层、数据层、逻辑层C. 需求层、设计层、实施层D. 开发层、测试层、维护层4. 软件开发生命周期(SDLC)的概念是什么?它包括哪几个阶段?A. 软件开发生命周期是指软件的开发过程B. SDLC包括需求分析、设计、编码、测试和维护C. SDLC是一个线性的过程D. SDLC各阶段按顺序进行,不具备迭代性5. 什么是敏捷开发方法?它与其他开发方法的区别是什么?A. 敏捷开发是一种快速开发的软件开发方法B. 敏捷开发强调团队合作和客户参与C. 敏捷开发适合大规模软件项目D. 敏捷开发与其他开发方法的区别在于流程管理6. 什么是面向对象编程(OOP)?请列举OOP的三个基本特征。
A. 封装、继承、多态B. 封装、继承、抽象C. 封装、多态、接口D. 继承、多态、接口7. 数据库管理系统(DBMS)在软件开发中的作用是什么?A. 存储和管理数据B. 提供数据查询和修改功能C. 数据库管理员(DBA)负责DBMS的管理和维护D. 所有选项都正确8. 什么是版本控制?请简述版本控制的两种主要策略。
A. 版本控制是一种软件配置管理技术B. 版本控制可以跟踪软件项目的变更C. 版本控制的主要策略有Git和SVND. 版本控制确保软件代码的安全性9. 什么是软件测试?它的目的和基本原则是什么?A. 软件测试是在软件投入运行后进行的活动B. 软件测试是为了发现软件中的错误和缺陷C. 软件测试的原则包括早期测试、缺陷倾向分布等D. 软件测试的目的是提高软件的质量和可靠性10. 什么是配置管理?它在软件开发中的作用是什么?A. 配置管理是指对软件配置项进行管理和控制的过程B. 配置管理可以确保软件配置的一致性和可追溯性C. 配置管理的主要活动包括配置标识、配置控制、配置审核等D. 配置管理有助于解决软件生命周期中的版本冲突问题11. 软件开发过程中,需求分析的主要任务是?A. 确定软件开发的功能B. 编写需求规格说明书C. 进行系统设计D. 进行程序设计12. 在软件开发中,迭代过程是为了更好地适应变化,它主要包括哪几个阶段?A. 需求分析B. 设计C. 编码D. 测试13. 软件工程中的“软件”指的是什么?A. 程序和数据B. 程序、数据和文档C. 程序和数据,可运行D. 程序、数据和用户手册14. 软件工程的发展历程中,第一个正式发布的软件开发标准是?A. ISO 9000B. CMMIC. PMBOKD.软件开发生命周期(SDLC)15. 在软件工程中,测试的目的是什么?A. 证明软件的正确性B. 找出软件中的错误C. 提高软件的质量D. 规范软件的开发过程16. 软件工程中的“软件生命周期”通常包括哪几个阶段?A. 开发B. 运行C. 维护17. 软件工程中,版本控制的主要作用是什么?A. 监控软件的修改历史B. 管理软件的版本C. 确保软件的一致性D. 保证软件的可靠性18. 软件工程中,敏捷开发方法是一种以人为核心、迭代、循序渐进的开发方法,它的核心价值包括:A. 个体和互动跨功能团队B. 可用的软件客户合作C. 响应变化随时间进化D. 面向结果19. 在软件工程中,UML(统一建模语言)是一种用于描述、构造和编写软件系统的图形化语言,它通常用于以下哪个阶段?A. 需求分析B. 设计C. 编码D. 测试20. 软件工程的定义是什么?A. 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。
软件工程复习题(带答案)
软件工程复习题(带答案)软件工程复习题一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机 B质量保证 C开发效率 D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A )A软件系统目标 B软件的性能C软件的功能 D软件的质量4、软件需求分析一般应确定的是用户对软件的( D )A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D )A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从( )语言开始,软件摆脱了对硬件的依赖。
A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系 D属性13、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小14、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )A.黑盒法B.白盒法C.灰盒法D.综合法15、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )A业务流程图,数据字典 B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码16、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。
软件工程 简答题复习题(带答案)
软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)1. 什么是软件工程?软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。
它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。
2. 软件开发生命周期有哪些阶段?常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。
3. 什么是需求分析?需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。
通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。
4. 需求分析的主要目标是什么?需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。
它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。
5. 什么是软件设计?软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。
6. 软件设计的原则有哪些?常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。
7. 什么是软件测试?软件测试是为了评估系统的质量和功能是否满足需求的过程。
它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。
8. 软件测试的分类有哪些?软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。
单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。
9. 什么是软件维护?软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。
维护包括错误修复、性能优化、功能扩展等。
《软件工程作业》考试复习题库(含答案)
《软件工程作业》考试复习题库(含答案)一、选择题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. 简述软件工程的定义及目标。
答案:软件工程是应用计算机科学、数学原理和方法来设计、开发、测试和维护软件的一门学科。
其目标包括提高软件的可用性、可靠性和可维护性,降低软件开发成本,提高软件开发效率。
软件工程的100道问答题
1、什么是软件危机?产生软件危机的原因?怎样消除?2、什么是软件工程?包括哪些内容?3、软件生存周期包含哪些内容?4、软件开发模型有几种?各有什么特点?7、在软件开发的早期阶段,为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?8、一个软件开发系统的可行性研究报告应如何编写?9、数据流图有哪几种基本符号?10、画数据流图原则是什么?11、数据流图在软件分析中的作用是什么?12、数据字典的作用?13、什么是数据字典?有几个定义?各自特点是什么?14、有几种效益的分析方法?15、需求分析的任务是什么?16、需求分析通常采用哪些分析技术?17、什么是结构化分析?他的结构化体现在哪里?18、简述面向对象分析技术的主要步骤?19、原型开发技术的目的,特点是什么?20、简述总体设计的一般过程?21、什么叫软件结构?什么叫软件工程?二者之间关系?22、解释深度、宽度、扇出、扇入对软件的影响。
23、什么叫模块化?M代表的含义是什么?24、模块化的三个重要特征是什么?阐明各自的作用。
25、举例说明各种耦合情况和各种内聚情况。
26、简述设计准则的内容。
27、简述层次方框图与软件结构图的异同点。
28、事物型软件结构图有什么特点?原因是什么?29、详细设计的任务是什么?30、什么是结构化程序设计?用N-S图表示三种基本结构。
31、简述Jackson程序设计方法的主要内容。
32、简述Wariner程序设计方法的主要内容。
35、 C语言属于第几代语言?第四代语言特点是什么?36、简述高级语言的应用特点和内在特点。
37、试分析程序设计语言特点及软件可*性、可理解性、可修改性、可测试性及成本的关系。
38、选择一种语言的实用标准是什么?39、简述开发环境、计算机体系结构、软件设计方法、软件开发过程与程序设计语言之间的促进和制约作用。
40、程序的编码风格主要体现在哪几个方面?41、软件测试的基本任务是什么?测试与调试区别是什么?42、软件测试的目标是什么?43、软件测试分几个步骤进行?每个步骤解决什么问题?44、软件测试有几种方法?每种方法的特点是什么?45、软件出错有几种类型?验证其程序正确性有几种方法?46、什么是单元测试和集成测试?他们各有什么特点?47、简述渐增式测试方法与非渐增式测试方法的优劣。
软件工程 简答题复习题(带答案)
第一章1,与计算机硬件相比,计算机软件有哪些特点?软件得特点如下。
1)无法直接观察计算机软件得物理形态,只能通过观察它得实际运行情况来了解它得功能、特性与质量等。
2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目得管理过程中,渗透了大量得脑力劳动。
3)不存在像硬件一样得磨损与老化现象,但存在着缺陷维护与技术更新得问题。
4)软件得开发与运行必须依赖于特定得计算机系统环境。
5)具有可复用性。
3,什么就是软件危机?什么原因导致了软件危机?软件危机得现象如下。
1)经费超出预算,项目一再拖延。
2)不重视需求,开发得软件不能满足用户得要求,项目成功率低。
3)没有规范得软件工程方法,软件可维护性差、软件质量差、可靠性差。
4)开发工具落后,手工方式,开发效率低。
所有导致软件危机得原因,都与软件本身得产品特点相关。
1)软件就是一个复杂得逻辑产品。
如果没有解决复杂问题得有效方法,以及软件产品得结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。
2)软件产品不能实现大规模复用,这导致了软硬件生产效率得不同。
3)软件生产就是脑力劳动,它瞧不见、摸不着,开发成本、开发周期等都无法做到准确估算,生产过程不易控制。
4)软件成本主要就是由研发成本构成;而硬件得生产成本主要就是材料与制造成本,分摊得研发成本很少,即软件研发过程与硬件制造过程相比要复杂得多。
5,请简述软件工程研究得内容。
软件工程研究得内容包括软件开发方法、软件开发模型、软件支持过程与软件管理过程。
软件开发方法得内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。
常用得软件开发模型有瀑布模型、迭代模型、增量模型与原型模型等。
软件支持过程由所支持得CASE工具组成,常用得CASE工具有PowerDesigner与Rational Rose等。
7,请简述软件工程得目标、过程与原则。
软件工程试题及答案(较详细)
软件工程试题及答案(较详细)软件工程试题及答案 (较详细)一、简答题1. 什么是软件工程?软件工程是一门综合应用计算机科学与工程学、管理学等知识的学科,它致力于开发和维护高质量的软件系统。
它包括需求分析、设计、编码、测试和维护等各个阶段,以确保软件项目能够按时交付、高效运行,并满足用户需求。
2. 请解释什么是软件生命周期?软件生命周期是指软件从构思、开发、使用到废弃的整个过程。
它包括需求分析、设计、编码、测试、部署和维护等多个阶段。
软件生命周期管理的目标是确保软件产品按时、按质量要求交付,并提供后续的支持与维护。
3. 请解释什么是需求工程?需求工程是软件工程中的一个重要阶段,它主要涉及对用户需求的调研、分析、规划和文档化。
通过需求工程,开发人员能够更好地理解用户需求,并将其转化为具体的软件需求规格说明书,为后续的设计和开发提供基础。
4. 什么是软件设计模式?软件设计模式是一套在软件设计过程中重复出现的解决方案。
它们被广泛接受,并被认为是开发高质量、可维护和可扩展软件的有效方法。
常见的软件设计模式包括单例模式、工厂模式、观察者模式等。
二、分析题1. 请说明面向对象和面向过程的编程范式的区别。
面向对象编程(OOP)和面向过程编程(POP)是两种不同的编程范式。
面向过程编程更侧重于任务的步骤和流程,它将问题分解为多个步骤,通过一系列函数或过程的调用来完成任务。
面向过程编程更加注重解决问题的步骤和执行过程。
面向对象编程更注重数据和对象的定义和封装,它将问题看作是一组对象的交互。
面向对象编程通过定义类、创建对象以及对象之间的协作来解决问题。
2. 什么是软件架构?软件架构是指软件系统的基本结构和组织方式。
它定义了软件系统中各个组件的职责、交互方式和部署方式。
常见的软件架构模式包括分层架构、客户端-服务器架构、微服务架构等。
3. 解释软件测试中的黑盒测试和白盒测试。
黑盒测试是一种测试方法,它基于对软件系统的功能需求进行测试,而不考虑内部的实现细节。
(完整word版)软件工程问答题
How do software characteristics differ from hardware characteristics?1软件是设计开发的,而不是传统意义上生产制造的。
2软件不会“磨损”。
3虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的。
What is equivalence partitioning as it applies to software testing? What is scenario-based testing?等价划分是一种黑盒测试方法,它将程序的输入划分为若干的数据类,从中生成测试用例。
理想的测试用例是可以单独的发现一类错误,否者在观察到一般错误之前需要进行许多测试用例,等价划分试图定义一个测试用例以发现一类错误,由此减少所需测试用例的总数。
基于场景的测试:它关心的是用户做什么,而不是产品做什么,捕获用户完成的任务,然后在测试时候使用它们及其变体。
场景用来发现交互错误。
这种测试倾向于用单一测试检查多个子系统。
Describe the differences between software construction and software deployment.软件的构造包括了编码和测试任务,从而为向客户和最终用户交付可运行软件做好准备。
部署则包括了三个动作:交付,支持和反馈。
用于现代软件工程本质上是演变的,因此部署并不是只发生一次。
两者都是软件工程的通用框架活动,但是构件肯定是发生在部署之前,部署是构件的下一个活动。
What are the six steps for requirements engineering?需求工程的六个步骤是:起始,导出,精化,协商,规格说明,确认和管理Which UML (unified modeling language) diagrams are useful in object-oriented analysis modeling?静态图:用例图,类图,对象图,构件图,部署图。
软件工程基础知识考试
软件工程基础知识考试(答案见尾页)一、选择题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. 提高软件的质量8. 在敏捷开发中,迭代周期通常有多长?A. 1周B. 2周C. 3周D. 4周9. 在软件工程中,什么是配置管理?A. 管理软件配置项的过程B. 软件开发过程中的一个活动C. 与软件开发和维护相关的所有活动的集合D. 软件开发完成后进行的活动10. 软件工程的定义是什么?A. 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。
B. 软件工程关注软件的开发、测试、维护和项目管理。
C. 软件工程的目标是实现软件的自动化开发。
D. 软件工程是一种实践性知识,不依赖于特定的工具或技术。
11. 软件开发过程中通常使用的模型有哪些?A. 瀑布模型B. 迭代模型C. 螺旋模型D. 面向服务的模型12. 什么是需求分析?它在软件开发过程中的作用是什么?A. 需求分析是识别和分析软件系统需要满足的条件或功能的过程。
B. 需求分析在软件开发过程中确保最终产品满足用户需求。
软件工程复习题及答案完整
软件⼯程复习题及答案完整⼀、选择1、⽂档是软件产品的⼀部分,没有⽂档的软件就不称其为软件。
对2、在需求分析过程中,分析员要从⽤户那⾥解决的最重要的问题是给该软件提供哪些信息。
错3、需求规格说明书在软件开发中具有重要的作⽤,它也可以作为软件可⾏性分析的依据。
错4、建⽴⽤例模型的步骤包括确定⾓⾊、确定⽤例和绘制⽤例图。
错5、数据流图建⽴系统的功能模型,它由数据流、加⼯和数据存贮组成。
错6、软件配置管理是⼀组标识、组织和控制修改源程序的活动。
错7、UML是⼀种直观化、明确化、构建和⽂档化软件产物的通⽤语⾔。
错8、好的测试是⽤少量的测试⽤例运⾏程序,发现被测程序尽可能多的错误。
对9、边界值分析⽅法是取输⼊/输出等价类的边界值作为测试⽤例。
对10、⾯向对象的分析是⾯向计算机系统建⽴软件系统的对象模型。
错11、(D)是将系统化的、规范的、可定量的⽅法应⽤于软件的开发、运⾏和维护的过程,它包括⽅法、⼯具和过程三个要素。
A 软件过程B 软件测试C 软件⽣存周期D 软件⼯程12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。
A 质量控制B 质量管理C 质量策划D 质量改进13、CMM提供了⼀个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每个等级都包含了实现该成熟度等级⽬标的若⼲(B)。
A 关键实践B 关键过程域C 软件过程能⼒D 软件过程14、在软件开发的各种资源中,(D)是最重要的资源。
A 开发⼯具B ⽅法C 硬件环境D ⼈员15、软件的复杂性是(A),它引起⼈员通信困难、开发费⽤超⽀、开发时间超时等问题。
B ⼈为的C 可消除的D 不可降低的16、在各种不同的软件需求中,(D)描述了⽤户使⽤产品必须要完成的任务,可以在⽤例模型或⽅案脚本中予以说明。
A 业务需求B 功能需求C ⾮功能需求D ⽤户需求17、原型化⽅法是⽤户和软件开发⼈员之间进⾏的⼀种交互过程,适⽤于(A)系统。
软件工程复习题答案
. 选择题1.软件工程研究的主要内容有(ABCD)2. A.软件开发方法、技术B.软件开发工具及环境3. C.软件管理技术 D.软件规范(国际规范)4.目前典型的软件开发模型有(ABCD):5. A.瀑布模型 B.增量模型C.螺旋模型D.喷泉模型6.包含风险分析的软件工程模型是(C):7. A.瀑布模型 B.增量模型C.螺旋模型D.喷泉模型&软件危机的主要表现是(BD)9. A.软件成本太高 B.软件产品的质量低劣10. C.软件开发人员明显不足D.软件生产率低下11.以下属于非功能需求的有(ABC)12. A.机构需求B.产品需求C.外部需求D.领域需求13.需求分析的作用是(ABCD)14. A.定义软件的范围及必须满足的约束15. B.确定软件的功能和性能及与其他系统成分的接I I16. C.建立数据模型、功能模型和行为模型17. D.最终提供需求规格说明,并用于作为评估软件质量的依据18.需求工程的基本活动包括(ABCD)19. A.获取需求B.需求分析与建模 C.确认需求D.进化需求20.需求获取之所以困难,其主要原因有(ABCD)21. A.缺乏领域知识 B.存在默认的知识22. C.存在多个知识源 D.客户可能的偏见23.常用的需求分析方法有(BCD)24. A.功能分析方法 B.结构化分析方法25. C.信息建模法 D.面向对彖的分析方法26.数据词典中可包含的条目有(ABCD)27. A.数据流B.数据项C.文件D.加工28•属于分布式的软件体系结构有(B)29. A.仓库模型B.客户/服务器模型C.分布式对象结构 D.中间件30.对于以下给出的几种类型的耦合,按照耦合性由高到低排列的是(A)31.(1)内容耦合(2)公共耦合(3)控制耦合(4)复合耦合(5)数据耦合32. A. 12 345 B. 1 3 4 2 5 C. 1 2 5 3 4 D. 5 4 3 2 133.对于块内部联系的类型,内聚性由弱到强的是(A)34.(1)偶然型(2)逻辑型(3)瞬时型(4)通信型(5)顺序型(6)功能型35. A. 12 345 6 B. 1 2 4 5 3 6 C. 3 2 4 1 5 6 D. 6 5 4 3 2 136.(C)是指相同的操作(或函数、过程)作用于不同的对彖上并获得不同的结果37. A.继承性 B.封装性 C.多态性 D.动态绑定38.以下UML的几种图中,属于动态模型的有(ACD)39. A.状态图 B.类图 C.合作图 D.顺序图40.以下软件复用中,抽象程度最低的是(A)41. A.代码的复用B.设计结果的复用 C.分析结果的复用 D.测试信息的复用42.以下软件复用中,抽象程度最高的是(D)43. A.代码的复用B.设计结果的复用 C.分析结果的复用 D.测试信息的复用D. 1 6 23 4 5D.因果图法 44. 可复用构件必须具备的条件有(ABD )45. A.功能上的独立性和完整性B.较高的通用性和灵活性 46.C.严格的质量保证D.较高的标准化程度47. 大多数的构件分类模式可以归纳为(ABC )48. A.枚举分类 B.刻面分类C.属性值分类 D.聚集分类49. 软件测试的基本原则有(BD )50. A.尽量由程序设计者自己进行测试 B.注重测试用例的选择51. C.尽早地和不断地进行软件测试 D.充分注意测试中的群集现象52. 以下测试方法中属于静态分析方法的有(ABD )53. A.桌前检查 B.代码会审C.白盒法 D.步行检查54. 步行检查时,常使用的分析方法有(AB )55. A.调用图 B.数据流分析图 C.数据流图 D.状态图56. 卜•面6种常用的逻辑覆盖测试方法,按发现错误能力由弱到强排列的是(A )57. (1)语句覆盖(2)判定覆盖 (3)条件覆盖 58. (4)判定-条件覆盖(5)条件组合覆盖 (6)路径覆盖 59. A. 12 345 6 B. 6 5 4 3 2 1 C. 1 4 3 2 6 5 60. 属于照盒法的测试方法有(ABCD ) 61. A.等价分类法 B.边值分析法C.错误推测法 62. 描述软件开发计划进度的主要工具有(ABCD )63. A. 一般的表格工具B.甘特图C.时标网状图 64. CMM 表示(A )65. A.软件过程成熟度模型B.软件过程工业化控制 66.C.国际软件质量认证D.软件统一性标准 67. 软件过程和产品质量有详细的度量标准,并且得到了定量的认识和控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
QA1. What are the essential attributes of good software?Maintainability, dependability and security, efficiency and acceptability2. What is software engineering?An engineering discipline concerned with all aspects of software production from specification to system maintenance.3. What are the four fundamental activities in software processes?Software specification, software development, software validation and software evolution.4. What software engineering fundamentals apply to all types of software systems?a. Systems should be developed using a managed and understood development process.b. Dependability and performance are key system characteristicsc. Understanding and managing the software specification and requirements are important.d. Effective use should be made of available resources.5. List the 3 generic process models that are used in software engineering? The waterfall modelIncremental developmentReuse-oriented software engineering6.What are the three benefits of incremental development, compared to the waterfall model?(a) The cost of accommodating changes to customer requirements is reduced.(b) It is easier to get customer feedback on development work that has been done.(c) More rapid delivery and deployment of useful software to the customer is possible.7.What are the principal requirements engineering activities?Feasibility studyRequirements elicitation and analysis Requirements specification Requirements validation8.What are three important characteristics of extreme programming? Requirements expressed as scenarios,Pair programming,Test-first development.9. What is the distinction between functional and non-functional requirements? Functional requirements define what the system should do. Non-functional requirements are not directly concerned with specific system functions but specify required system properties or place constraints on the system or its development process.10. What is the software requirements document?The official document that defines the requirements that should be implemented by the system developers.11. What is a use-case?A use-case identifies a typical interaction with a system and the actors (human or computer) involved in that interaction.12. What is requirements management?The process of managing changes to requirements during requirements specification and after the system has gone into use.13. What are the 5 key activities in an object-oriented design process? Understand and define the context and use of the system. Design the system architectureIdentify the principal objects in the systemDevelop design modelsSpecify object interfaces14. What are the principal aims of software configuration management?To support system integration so that all developers can access the project code and documents in a controlled way, find out what components have been changed and compile and link components to create a system.15. What is the distinction between validation and verification?Validation: Are we building the right product?Verification: Are we building the product right?16. What are the advantages of inspections over testing?Inspections can discover many errors. In testing, one error may mask another. Incomplete versions of a system can be inspected.Inspections can consider broader quality attributes as well as program defects.17. What is an equivalence partition?A class of inputs or outputs where it is reasonable to expect that the system will behave the same way for all members of the class.18. What are the three types of user testing?Alpha testing, where users work with the development team to test the software as it is being developed.Beta testing where the software is released to selected users for testing before the formal system releaseAcceptance testing, where customers test a system to check that it is readyfor deployment.19. What are the three different types of software maintenance and how is effort distributed across these maintenance types?Maintenance to repair software faults (17%),Maintenance to adapt the software to a different environment (18%), Maintenance to add to or modify the systemʼs functionality (65%).20. What are the principal systems re-engineering activities?Source code translation,Reverse engineering,Program structure improvement,Program modularizationData re-engineering21. List four important factors used to assess applications for maintenance. Any four from:Understandability, Documentation, Data, Performance, Programming language, Configuration management, Test data, Personnel skills22. What are the four principal dependability properties?Reliability, availability, safety and security23. Explain the difference between a system fault and a system failure.A fault is an internal system condition that can lead to an erroneous system state. A failure is an externally observed deviation from expected system behaviour.24. List the main benefits of software reuse.Increased dependability, reduced process risk, effective use of specialists, Standards compliance, accelerated development.25. What are the main benefits of COTS reuse?More rapid deployment of a reliable system is possibleIt is easier to judge if an application is likely to be suitable because its functionality is visible.Some development risks are avoided by reusing complete products. Business can focus on their core activity without devoting resources to software development.As operating platforms evolve, the COTS supplier is responsible for updating the application.26. What is a workflow?A sequence of activities, ordered in time, that make up a coherent business processes with each activity carrying out some part of the work of that process.27. List 4 fundamental project management activities.Project planning, Reporting, Risk management, People management, Proposal writing28. Briefly describe two types of cost estimation techniques?Experience-based techniques where the estimate is based on a managerʼs experience of past projects and the application domain.Algorithmic cost modeling where a formulaic approach is used to estimate the development effort required, based on attributes of the software and the development team.29. What are the stages in the software inspection process?Planning, Overview, Individual preparation, Inspection meeting, Rework, Follow-up.30. What is a baseline?A controlled system (collection of component versions) where the component versions making up the system cannot be changed.31. What may be included in a system release?The executable code of a system, Configuration files,Data files,An installation programElectronic and paper documentation, packaging and publicity.32. What is the difference between a system version and a system release?A system version is an instance of a system that differs, in some ways, from other instances. A system release is a version that is released to customers.33.What are the main factors that affect software product quality? Development technology, People quality, Cost, time and schedule, Process quality.34. What are the identified levels in the CMMI staged model?Initial, Managed, Defined, Quantitatively managed, Optimizing.。