【软件工程】常见问答题总结

Q1: 什么是软件工程
A:
软件 和 工程
软件存在的意义是在硬件和其他软件的支持下去完成和拓展其他应用而存在的。软件的产生,是为了满足日常生活或者是研究学习的需要,应用计算机科学、数学以及软件具体应用场景相关学科的知识,去针对每个需要去细化问题,然后step by step的解决,最终达到,输入、处理、输出这样标准化的一套软件。
而工程,就是将开发软件、运行软件以及软件的后期维护的一整套流程的管理和执行。

Q2:软件工程的生命周期有哪些?
A:
问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收和运行、维护升级

Q3:软件开发的步骤有哪些?
A:

需求分析阶段:明确问题、资料收集整理
概要设计阶段:宏观设计,将整个软件开发的过程细分为几个主要部分,系统的整体结构、模块划分、功能分配、数据结构设计,甚至是出错预案。
详细设计阶段:由被划分的模块内部,再进行具体实现的分配,作出详细可行的安排。
编码:根据之前的种种安排,进行编码,并且及时和开发过程中所有参与的同事积极交流
测试阶段:内部测试、外部测试、模块测试、整体测试。直到软件满足最初的问题需求
交付、验收、维护

Q4:软件开发模型有哪些?
A:

边做边改模型、瀑布模型、迭代模型、快速原型模型、螺旋模型、喷泉模型

Q5:UML的含义?
A
:Unified Modeling Language 统一建模语言
是用来对软件系统进行可视化建模的一种语言
目标是以面向对象图的方式来描述系统的工作流程,或者是系统内各对象之间的关系以及系统本身的功能
常见的UML图有用例图、类图、活动图等

Q5:解释黑盒测试和白盒测试?

黑盒测试:不考虑程序的内部结构,仅检查程序功能是否按照设计实现,内部结构对用户来说是透明的,用户只能看到输入和对应的输出结果。
白盒测试:测试者需要完全知道程序的数据结构和算法实现,按照设计步骤一步一步的检测内部逻辑的正确与否。

Q6: 什么是面向对象

面向过程就是分析出解决一个问题的步骤,step by step ,一步一步实现
而面向对象则是把构成问题事物分解成各个对象,每个对象中封装了一部分的数据、处理,而解决问题时,直接使用已封装好的工具解决问题

你可能感兴趣的:(【软件工程】常见问答题总结)