软件工程问答填空简答

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件特点:1.逻辑实体2.与硬件生产方式不同3.与硬件的维护不同4.复杂的5成本相当昂贵.

软件危机的产生及表现软件系统的规模越来越大,复杂度越来越高软件可靠性问题也越来越突出,原来的个人设计个人使用方式不再能满足需求迫切需要改变软件生产方式提高生产率于是出现软件危机.表现1.开发进度难以预测2.成本难以控3.功能不能能满足用户的需求4.质量难以保证5.难以维护6.缺少适当的文本资料.原因用户需求不明确缺乏正确的理论指导软件开发规模越来越大复杂度越来越高

比较结构化方法和面向对象方法:结构化方法:自顶向下,逐步分解模块易于控制和处理模块相对独立、接口简单、使用维护非常方便.面向对象方法:提高软件系统的稳定性可修改和可重用性产生的具有特点:客观世界任何事物对象都是对象每各类定义一种方法若干对象组成参次结构系统对象通过传递消息相互联系

第二章什么是软件过程?软件生存周期过程或软件过程组,是指软件生存周期中的一系类相关过程。

比较瀑布模型、原型模型、增量模型和螺旋模型1.瀑布模型广为人知和历史悠久,其优势是规范及文档驱动的方法。但问题是,往往不能够真正满足用户的需求。适用于传统软件工程领域的结构化开发 2.原型模型是为了克服瀑布模型的缺点而提出来的。通过快速构建一个在机器上可运行的原型系统,让用户试用原型,并收集反馈意见的办法,来获取用户真实的需求3.螺旋模型适用于大型软件项目,比起之前的其它模型而言,有其一定的优越性,但这些优越性并不是绝对的4.增量模型具有在软件开发早期阶段使投资获得明显回报和交易维护的优点,但是要求软件具有开放的结构

第三章可行性研究的任务是什么?进行一次大大压缩简化的系统分析和设计的过程,在高参差上以抽象的方式进行系统分析和设计。任务:以最小的代缴在最短的时间内确定问题能否解决,也就是判定原定的目标和规模能否实现

什么是需求分析?该阶段的基本任务是什么?需求分析过程就是通过分析员与用户之间的广泛交流,最终形成一个完整清晰一致的软件需求规格说明书的过程。任务:认清问题、分析资料、建立分析模型、编写软件需求规格说明书

结构化分析方法的步骤:系统要解决的问题为解决该问题系统该做的事情系统该怎么去做

数据流图与数据字典的作用?数据流图指明系统中数据是如何流动和变换的及描述数据流是如何进行变换。数据字典是在软件分析和设计的过程中给人提供关于数据的描述信息

画数据流图应注意什么?合理编号,注意子图与父图的平衡,局部文件,分解的程度

第四章如何理解模块的独立性?用什么指标来衡量模块的独立性?每个模块只能完成系统要求的子功能,与其他模块的联系较少且接口简单,模块独立的概念是模块化、抽象、信息隐蔽概念的直接结果定性标准度量:内聚和耦合

结构设计有哪些原则?1.提高模块的独立性2.选择合适的模块规模3.适当的选择模块的深度、宽度、扇入和扇出4.模块的作用范围应在控制范围之内5.降低模块接口的复杂程度6.设计单入口和单出口,且功能可预测的模块

软件详细设计的主要任务是什么?1.为每个模块确定所采取的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述2.确定每一模块使用的数

据结构 3.确定模块接口的细节4.详细设计结束时,应把结果写入详细设计说明书,并且通过复审形成正式文档

软件详细设计模块原则1.模块的逻辑描述要清晰易读、准确可靠2.采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性3.选择恰当的工具描述模块算法

详细设计的工具有哪几类?优缺点?工具:程序流程图、NS、PAD、HIPO判定表、伪码、PDL。程序流程图:独立于任何一种程序设计语言,比较直观清晰的描述过程的控制流程,易于学习掌握。但不能引导人们用结构化方法进行详细设计,人么可以实现向任何位置的转移,箭头使用不当,框图难懂,无法维护。

第五章软件测试的目地:为了发现程序中的错误而执行程序的过程

软件调试的目地:在测试发现错误之后诊断并排除错误的过程

白盒法有哪些逻辑覆盖标准?语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖这些标准有什么关系?条件组合覆盖满足其他的覆盖,覆盖标准最强

属于黑盒法的测试用例设计方法有哪几种?等价划分边界值分析错误推测因果图

软件测试要经过几个阶段?单元测试集成测试确认测试系统测试验收测试渐增式测试与非渐增式测试有哪些区别?非渐增式人工更多,可以同时测试所有模块渐增式有利于排错、比较彻底用、需要更多的机器时间

在开发项目时,选择程序设计语言通常考虑哪些因素?项目的应用范围算法和计算的复杂性软件执行的环境性能上的选择和实现的条件数据结构的复杂性软件开发人员的知识水平和心理因素

什么是程序设计风格?包括:源程序文档化数据说明语句结构、输入输出方法六章什么是对象什么是类对象是系统中用来描述客观事物的一个实体,他是构成系统的一个基本单位,主要因素是属性和服务。类是具有相同属性和服务的一组对象的集合,用类作为这些对象的抽象描述

面向对象的开发过程面向对象分析面向对象设计面向对象编程面向对象测试面向对象维护

UML建模机制有哪两种?静态建模机制和动态建模机制

每种通过哪些图来表达?静态有:用例图、类图、对象图、构建图、配置图动态的有:状态图、活动图、顺序图、合作图

UML中类的关系有哪些,举例?关联课程类与学生类的选修关系;聚合学生和班主任组成班级;泛化学生信息管理系统与学生老师的关系;依赖汽车和汽油公路的关系

面向对象分析的步骤?1.分析问题域,建立用力模型2.发现和定义对象和类3.识别对象的内部特征4.识别对象的外部联系5.识别对象之间的交互

需求获取的方法?访谈式诱导式确认式

第八章面向对象设计阶段包括那几项任务?每个任务的主要内容?面向对象设计主要包括系统的体系结构设计、子系统划分、人机交互界面、数据库设计、类对象设计

选择程序设计语言时应考虑哪些因素:语言,类库,开发环境,对用户学习面向对象分析设计和编码技术所能提供的培训服务,在试用期间能提供的技术支持,能提供开发工具开发平台和发行平台,对机器性能和内存的需求,集成已有软件的难易程度

相关文档
最新文档