ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:224.72KB ,
资源ID:17798875      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17798875.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程简答题集锦Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程简答题集锦Word文件下载.docx

1、5、瀑布开发模式有哪些特点?存在的主要问题?如何改进?瀑布开发模型是一种基于软件生存周期的线性开发模型主要特点:阶段间的顺序和依赖性; 推迟实现的观点; 保证质量的观点每个阶段都必须完成规定的文档,每个阶段都要对完成的文档进行复审,以便尽快发现问题,消除隐患。存在的问题:按照瀑布模型来开发软件,只有当分析员能够做出准确的需求分析时,才能得到预期的结果,不幸的是,由于多数用户不熟悉计算机,系统分析员对用户的专业也往往了解不深,因此很难在开发的初始阶段彻底弄清楚软件的需求。为了解决这个问题,人们提出了“快速原型模型”阶段:用户需求、需求分析、概要设计、详细设计、编码、测试、运行维护不足:缺乏灵活性

2、,无法解决需求不明确或不准确的问题。由于用户不可能一次性提出所有的需求,而瀑布模型是一种线性开发模型,因此瀑布模型不能适应用户在开发后期提出的需求变更。6、什么是软件危机?软件危机有什么表现?软件危机产生的原因?如何解决软件危机?软件危机是计算机软件开发、使用和维护过程所遇到的一系列严重问题和难题,它包含两个部分:如何开发软件,以解决软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机的表现:对软件的开发成本和进度的估算很不准确,常常出现实际成本比估算成本高出一个数量级,实际进度比计划进度拖延几个月甚至几年的时间,这些都降低了开发商的信誉,引起用户的不满。用户对已完成的软件不满意的情况

3、时有发生;软件产品的质量往往是不可靠的;软件常常是不可维护的;软件通常没有适当的文档资料,文档资料不全或不准确,使得软件开发和维护产生难以想象的问题和难以解决的难题;软件开发和维护产生的费用占计算机系统总成本的比例逐年上升;开发软件的生产率往往跟不上计算机应用的普及速度。软件危机的原因:软件自身的原因:是逻辑部件,缺乏可见性。规模庞大、复杂,修改、维护苦难;软件开发和维护的方法不当,忽视需求分析,认为软件开发就是程序编写,轻视软件维护;供求矛盾将是永恒的主题,面对日益增长的软件需求,人们显得力不从心。7、什么是软件工程?软件工程是运用工程、科学和数学的原理和方法研制的、维护计算机软件和有关技术

4、及管理方法。把系统的、规范的、可度量的途径应用到软件开发、运行和维护的过程,也就是把工程应用于软件。软件工程包括技术和管理两方面的内容,是技术和管理紧密结合形成的工程学科。中心思想:是把软件当作一种工程化的方法和原理对软件进行计划、开发和维护个性化方法 结构化方法 面向对象方法 软件复用过程式编程范型、面向对象编程范型、基于构件技术的编程范型8、什么是软件生存周期?软件生存周期是指一个软件从立项起,到废弃不用止,统称为软件的生存周期。软件生存周期分为计划、开发和运行三个阶段由于软件生存周期被划分为多个较小的阶段,使得因为软件规模增长而大大增加的复杂性变得较易控制和管理。典型的软件生存周期:计划

5、、需求分析、软件分析、软件设计、编码、软件测试、运行维护9、软件测试方法:软件测试方法分为静态测试和动态测试,静态测试是被测试程序不在机器上执行而采用人工检测和计算机辅助静态分析手段对程序进行检测。动态测试是通过运行程序发现错误,对软件产品进行动态测试时可以采用黑盒测试和白盒测试法。黑盒测试法在完全不考虑软件的内部结构和特性的情况下,测试软件的外部特性。白盒测试法在不考虑软件的功能特性情况下进行测试。软件测试目的:为了寻找软件错误而运行程序的过程,目的是为了发现程序中的错误。任务是在计算机上运行程序,暴露出程序中潜在的错误。10、衡量模块独立性的两个定性指标是什么?这两个标准的定义分别是什么?

6、在我们的软件设计中,关于模块独立性我们追求的目标是什么?内聚和耦合。耦合是指不同模块之间相互依赖的紧密程度,内聚标志同一模块不同元素之间互相依存的紧密程度。高内聚低耦合。11、软件设计各层次功能?系统架构层:描述整个系统的整体架构。使所设计的软件满足客户定义的需求,并实现支持用户需求的技术基础设施。类和对象层:使系统能从通用的方式创建并不断逼近特殊需求,同时包含了各对象的设计表示消息层:表示对象间的消息模型。建立了系统的内部和外部接口,使得每个对象可以与其协作者通信。责任层:包含针对每个对象的属性和操作的数据结构和算法的设计。12.传统的瀑布模型把生存周期分为哪些阶段?瀑布模型软件开发有哪些特

7、点?又有哪些不足瀑布模型分为以下几个阶段:用户要求,需求分析,概要设计,详细设计,编码,测试和维护。特点:阶段间具有顺序性和依赖性。不足;由于用户不可能一次提出所有需求,瀑布模型属于线性开发模型,因此瀑布模型不能适应用户在开发后期提出的需求变更,不适合大型项目开发。13.简述软件测试的目的,任务和动态测试类型?软件测试是一个为了寻找软件错误而运行程序的过程,目的是为了发现软件中的错误。软件测试的任务是通过在计算机上执行程序,暴露程序中潜在的错误,动态测试主要包括黑盒测试和白盒测试。14.请指出UML类图中类之间除了聚合与组合之外的关系?组合和聚合又有什么区别和联系?类之间的关系:关联,依赖,继

8、承,实现,组合,聚合聚合和组合的区别是:聚合:表示两个对象之间的整体和部分的弱关系,部分的生命周期可以超过整体组合:表示两个对象之间的整体和部分的强关系,部分的生命周期不能超越整体,或者说不能够脱离整体而存在。聚合是一种特殊的关联,组合又是特殊的聚合15.什么是软件危机?为什么会产生软件危机?软件危机是指落后的软件生产方式无法满足迅速增长的软件需求,从而导致软件开发与维护过程中出现一系列问题现象。原因主要有一,软件维护费用急剧上升,直接威胁计算机应用的扩大。 二。,软件生产技术进步缓慢,16什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?结构化程序设计的出现,使许多产业

9、界认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到最好的技术方法结合起来,以经济的开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。17.什么是软件生存周期?把生存周期划分为阶段的目的是什么?软件生存周期划分为计划、开发和运行三个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够花间每一步工作内容,使因软件规模而增长而大大增加了软件复杂性得交易控制和管理。18传统的瀑布模型把生存周期划分为哪些阶段?以及不足?瀑布模型在编码以前安排了分析阶段和设计阶段

10、;特点是阶段间具有顺序性和依赖性。瀑布模型有以下不足之处:1)各个阶段划分完全固定,阶段之间产生大量的文档,极大的增加了工作量。 2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。4)瀑布模型的突出缺点是不适应用户需求的变化。19 RUP是什么? 试比较RUP和XP的差异。答:RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。RUP统一软件过程是描述软件开发中各个环节应该做什么,怎么做,什么时候做以及为什么要做,描述了以

11、某种顺序完成的活动。其在一个二维空间中描述软件开发活动,可以分为初始阶段,细化阶段,构造阶段和迁移阶段。XP 极限过程是一个轻量级的,敏捷的软件开发方法,同时也是一个非常严谨和周密的方法。它有四个价值观:交流,简单,反馈和勇气。20需求分析的任务是什么?怎样理解分析阶段的任务是决定“做什么”,而不是“怎么做”?需求分析主要有两个任务:1)通过对问题及其环境的理解、分析和综合建立分析模型;2)是在完全弄清用户对软件系统的确切要求的基础上,用软件需求规格说明书把用户的需求表达出来。需求分析的任务就是为了明确要开发的是一个刷马的系统,而不是怎么去实现这个系统。21:UML类图中的六种关系,以及组合和

12、聚合的区别与联系?泛化、实现、组合、聚合、关联、依赖;聚合关系表示整体与结构部分关系较弱,而组合比较强;聚合关系中代表部分事物的对象与代表聚合事物的生存期无关,一旦删除了聚合对象不一定删除了代表部分事物的对象。组合中一旦删除了组合对象。同时也就删除了代表部分事物的对象22.基于用例的面向对象的需求建模包括哪些步骤?1 画用例图 2 写用例规约 3 描述补充规约 4编写术语表 23.建立用例模型时,如何确定参与者和用例?什么是用例图?作用是什么?参与者泛指所有存在于系统外部并与系统交互的人、硬件或其他系统。通俗的讲参与者主要是待开发系统的使用者。确定参与者之后,可以根据参与者来确定系统的用例。主

13、要是考察各参与者需要系统提供什么样的服务,或者说参与者是如何使用系统的。用例图是指由参与者、用例以及它们之间的关系构成的用于描述系统功能的静态视图。用例图是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及他们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。主要作用有三个:1 获取需求 2指导测试 3 还可在整个过程中的其他工作流起到指导作用。24 用哪种UML图可以表示对象间的交互?时序图和协作图时序图按时间顺序描述系统元素之间的交互。协作图按照时间和空间的顺序描述系统元素间的交互和相互关系。25:分析一个用例行为时,通常需要画几个交互图?为什么?

14、2个,时序图和协作图,因为用例是用来描述潜在的用户所看到的系统的UML组件,他是一个被称为参与者的实体所发起的场景的集合。UML建模有UML静态建模机制和UML动态建模机制。所以需要多个交互图来表达不同的侧面。26.增量模型特点增量模型特点:将软件看作一系列相关联系的增量,每一次迭代完成一个增量增量:小而可用的软件,第一个增量常常是软件的核心前一个增量的基础上开发后面的增量 每一个增量可采用瀑布模型或快速原型模型来实现 增量的顺序性和总体的迭代性相结合 有利于控制技术风险27.统一过程,敏捷过程,极限过程统一过程:描述了软件开发中各个环节应该做什么、怎么做、什么时候做以及为什么要做,描述了一组

15、以某种顺序完成的活动RUP将软件开发分为四个阶段:初始阶段:定义整个项目的范围细化阶段:制定项目计划、描述功能、建立体系架构框架构造阶段:构造软件产品迁移阶段:将软件产品移交到最终用户手中敏捷过程:以人为核心,迭代,循序渐进的开发方法价值观:个人和交互胜过过程和工具可以运行的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划极限过程:轻量级、敏捷的开发方法四个价值观:交流、简单、反馈和勇气28.需求分析步骤和各个过程做了什么需求获取、需求建模、需求描述(编写SRS)、需求验证需求获取的目的是让开发人员通过各种方式充分和用户交流,全面、准确地了解系统需求;建立需求模型是需求分析的核心

16、,它通过各种图形及符合,可视化地从各个侧面描述系统需求;(结构化方法(包括数据流、数据字典、加工规格说明)和面向对象方法(面向对象方法包括用例模型、补充规约和术语表)需求描述即编写需求规格说明书,它以各方共同认可的文档形式表述,是软件设计和系统验收的可靠依据;需求验证用来检验以上各步的工作成果。29.软件设计的任务软件设计一般包括数据设计、体系结构设计、过程设计、接口设计数据设计将分析阶段创建的信息模型转变成实现软件所需的数据结构;体系结构设计定义软件主要组成部件之间的关系;接口设计描述软件内部、软件和接口系统直接以及软件与人直接是如何通信的(包括数据流和控制流);过程设计将软件体系结构的组成

17、部件转变为对软件组件的过程性描述23.什么是黑盒测试?黑盒测试主要采用的技术有哪些?黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试主要采用的技术有:等价分类法、边界值分析法、错误推测法和因果图等技术。 24.什么是白盒测试?白盒测试主要采用的技术有哪些?白盒测试是测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试

18、,在不同点检查程序状态,确定实际状态与预期状态是否一致。白盒测试主要采用的技术有:路径测试技术和事务处理流程技术,对包含有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术。 25.路径测试技术中几种主要覆盖的含义?举例说明?语句覆盖:至少执行程序中所有语句一次。判定覆盖:使被测程序中的每一个分支至少执行一次。故也称为分支覆盖。条件覆盖:执行所有可能的穿过程序的控制路流程。条件组合测试:设计足够的测试用例,使每个判定中的所有可能条件取值组合至少执行一次。35.软件测试包括哪些步骤?同时说明这些步骤的测试目的是什么?(1)单元测试,目的是代码达到模块说明书的要求(2)集成测试,目的是将经过单元测

19、试的模块逐步组装成具有良好一致性的完整的程序(3)确认测试,目的是确认程序系统是否满足软件需求规格说明书的要求(4)系统测试,目的是检查能否与系统的其余部分协调运行,并且完成SRS对他的要求。36.需求分析与软件设计二个阶段任务的主要区别是什么?需求分析定义软件的用户需求,即定义待开发软件能做什么(2.5分) 软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。(2.5分) 绪论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。(2).软件生产技术进步缓慢2. 什么是软件生产工程化?结构化程序设

20、计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能

21、更快促进新方法的推广。 (2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。用C+开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接

22、程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。5.什么是软件工程环境?谈谈你对环境重要性的认识。方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。以面向对象程序设计为基础。7. 软件按规模大小可分成

23、哪几类?简述软件工程中各型软件开发中的作用。按规模分为极小、小、中、大、甚大、极大。(1)中小型软件:软件工程对改进软件质量,提高程序员生产率和满足用户的需求,有很大的作用。(2)大型软件:这类软件必须从头至尾坚持软件工程的方法,严格遵守标准文档格式和正规的复审制度,才能避免或减少混乱,真正开发出大型的软件。8. 什么是形式化软件开发方法?实现这类开发的困难和出路在哪里?它是一种基于数学的开发技术,主要采用数学的方法来描述系统的性质(例如程序变换和程序验证等)。形式化的方法加上自动化的开发环境,可能是解决这一难题的出路。软件开发模型1什么是软件生存周期?软件生存周期划分为计划、开发和运行3个时

24、期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得交易控制和管理。2传统的瀑布模型把生存周期分为哪些阶段?3说明文档和复审对于软件质量的控制的作用。每一阶段都要完成规定的文档,没有完成文档,就认为没有完成该阶段的任务。软件开发是许多人共同参加的计划,完整与合格的文档,不仅是开发时期软件人员之间互相通信的媒介,也是运行时期对软件进行维护的中要依据。每一阶段都要对已完成的文档进行复审,以便尽早发现问题,消除隐患。愈是早期潜伏下来的故障,暴露出来的时间愈晚,排除故障需付出的代价也就愈高。及时复审是保证软件质量

25、,降低开发成本的重要措施。4什么是快速原型法?其快速表现在哪里?首先建立一个能够反映用户主要需求的原型,让用户实际看一看未来系统的概貌,以便判断哪些功能是符合需要的,哪些方面还需要改进。然后将原型改进,最终建立完全符合用户要求的新系统。它的快速表现在能够缩短开发周期的语言和工具,能在短时间内提供出成品,但不包括成品中的细节,然后让客户进行对比。5实现快速原型法的最终系统可以有几种方法?请说明并加以比较。原型系统仅包括未来系统的主要功能,以及系统的重要接口。为了尽快向用户提供原型,开发原型系统时应尽量使用能缩短开发周期的语言和工具。最终系统的形成可以采用原型废弃不用,另一方法是补充修改模型获得最

26、终系统。方法一不包括系统的细节。后一种方法在实际工作中,由于原型系统使用的语言往往存在效率不高等原因,除了少数简单的事务系统外,大多数原型都废弃不用,仅把建立原型的过程当作帮助定义软件需求的一种手段。6比较增量模型和螺旋模型的特点,有什么不同和相似的地方?增量模型是瀑布模型的顺序特征与快速原型法的迭代特征相结合的产物。螺旋模型是一种迭代模型,每迭代一次,螺旋线就前进一周。增量模型每个增量具有高内聚低耦合,高度的独立性。而螺旋模型它在结合瀑布模型与快速原型的基础上还增加了风险分析。7为什么利用转换模型开发软件有一定难度?什么是净室软件工程?从理论上说,一个正确的,满足客户需要的形式化规格说明,经

27、过一系列正确的程序变化后,可以确保得到这样一个形式化规格说明,目前还有较高的难度,同时,软件开发者很少具有实用形式化方法所需的背景知识,况且,转换模型开发软件现在还很费时和昂贵!净室基本思想是力求在分析和设计阶段就消除错误,确保正确,然后在无缺陷或“洁净”的状态下实现软件的制作。8哪些开发模型适用于面向对象的软件开发?构件集成模型9比较螺旋模型和构件集成模型的异同。构件集成模型利用预先对封装好的软件构件来构造应用软件系统,它融合了螺旋模型的很多特征,支持软件开发的迭代方法。软件需求分析1需求分析的任务是什么?第一是通过对问题及其环境的理解、分析和综合建立分析模型;第二是在完全弄清用户对软件系统

28、的确切要求的基础上,用“软件需求规格说明书”把用户的需求表达出来。需求分析的任务就是为了明确要开发的是一个什么样的系统,而不是去怎么去实现这个系统。2需求分析要经过哪些步骤?需求获取、需求提炼、需求描述、需求验证。3有哪两种主要的分析模型,它们有什么联系?面向对象分析模型、结构化分析模型。前者是采用面向对象的思想进行软件需求分析的建模过程,而后者模型的核心是DD,它是设计各种数据对象的总和。他们的模型分别起到了描述数据模型,功能模型与行为模型的作用。4什么是结构化分析?它的“结构化”体现在哪里?是使用DFD、DD、结构化语言、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档。5什么是面向对象分析?其主要思想是什么? OOA面向对象的分析是采用面向对象的思想进行软件需求分析建模的过程.主要思想是采用面向对象的思想。6. 需求说明(或需求规格说明书)由哪些部分组成?各部分的主要内容是什么?引言、信息描述、功能描述、行为描述、质量

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1