软件工程简答题.doc_第1页
软件工程简答题.doc_第2页
软件工程简答题.doc_第3页
软件工程简答题.doc_第4页
软件工程简答题.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

优秀的文档简短的回答:软件工程的内容和方法1.什么是开发文档?找出他们之间的关系。开发文档包括目标程序、源程序、详细设计规范、概要设计规范、需求规范、用户需求报告和软件合同。它们之间的关系如图所示。目标程序源程序详细设计规范概要设计规范需求规格用户需求报告软件合同2.解释软件工程研究的内容。软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。其中,软件开发方法的内容包括市场调研、正式项目启动、需求分析、项目规划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护和版本升级。常见的软件开发模型包括瀑布模型、迭代模型、增量模型和原型模型。软件支持流程由受支持的CASE工具组成,如PowerDesigner和RationalRose。软件管理过程主要包括CMMI、ISO9000、微软企业文化和敏捷文化。请详细解释软件的定义和程序的定义。软件定义:软件=程序数据文件。这里的程序是指程序系统。这里的数据不仅包括初始化数据和测试数据,还包括研发数据、运行数据和维护数据,以及软件企业积累的大量项目工程数据和项目管理数据中的原始决策记录。这里的文档是指软件开发过程中的分析、设计、实现、测试、维护和管理文档。目前,一种新的配方正在引起人们的注意。这个公式是:软件=知识程序数据文件。程序是计算机为完成特定任务而执行的一组有序指令。从应用的角度来看,它可以理解为:面向过程的程序=算法数据结构面向对象的程序=对象信息面向组件的程序=组件架构4.是否有这样一种现象,从事系统软件的公司不需要采用CMMI和ISO9000模式?CMMI模式和国际标准化组织模式是否只适用于从事应用软件的企业?如果是,为什么?如果没有,为什么?不是。因为CMMI和ISO9000模型规定了严格的管理体系、文档和一套评估软件能力和成熟度水平的标准,它们几乎包括了所有的IT企业,只有一些优秀的企业形成了自己独特的企业管理文化,但它们并不排除CMMI和ISO9000模型,甚至充分肯定了CMMI和ISO9000系统。5.根据所学的数据库编程经验,给出一个通过创建视图进行数据处理的例子。创建视图j1_spj如同从学生中选择sno、sname、ssexWHERESNO= S1 (条件语句)视图(j1_spj)是通过查询基本表(student)创建的。当基本表中的记录满足条件语句WHERESNO= S1 中指定的条件时,可以找到基本表中合格记录的学生编号、姓名和性别值。软件生命周期和开发模型6.简要描述瀑布模型、增量模型、迭代模型和原型模型的优缺点。答案如表所示:序列号型号名称优势不足之处1瀑布模型简单好学可逆性差2增量模型可以分阶段提交有时候用户不同意3迭代模型克服瀑布模型的缺点对开发人员的高要求4样机快速开发速度不利于创新7.软件公司的ISO9000或CMMI管理体系与软件开发模式相关吗?为什么?一点也不。因为ISO9000或CMMI管理体系是一个过程和质量管理模型,它适用于任何软件开发模型,或者它与任何开发模型无关。开发模型本身只指定了软件生命周期中的几个步骤或阶段,这便于开发人员开发和维护。它没有规定管理人员的流程管理方法和任务。因此,ISO9000或CMMI管理体系规定采用不符合项的阶段评审和动态跟踪系统。只有在纠正了前一阶段的所有不符合项后,才能允许开发人员进入下一阶段所谓的不符合项是指在评审中发现的问题项,它们既与BUG相关又不同。对于这些不符合项,软件管理部门应列出表格,记录下来,确定责任人,限定纠正时间,并动态跟踪到底。8.你对生命周期模型简化指南有什么看法?“生命周期模型简化指南”是由信息技术企业或软件组织根据软件开发模型的一般原则,结合本单位的开发经验和行业特点的具体实际而定制的。它适当地缩短了选定软件开发模型中定义的生命周期。所谓缩减是指添加、修改和删除团队成员模型中定义的内容,删除单元或项目中不合适的部分,添加单元或项目中适用的内容,并进一步细化。这可以缩短开发时间,降低开发成本,具有非常现实的意义。软件项目建立和合同9.什么是风险分析?技能风险和技术风险有什么区别?这里的风险分析是指对产品开发、销售等可能存在的风险的分析。在软件项目启动过程中。分析方法是将一个大风险分解成几个小风险,然后逐一克服小风险。技术风险是指采用新技术的风险程度。技能风险是指项目团队成员掌握新技术的风险程度。两者的区别在于,一个是说新技术(如新开发工具和新设计思想)的风险,另一个是说人员应该掌握这种新技术的风险。10.行业中的业务专家和产品经理之间有什么相同点和不同点?行业领域的业务专家是指精通某一行业领域的业务,能够在投标过程中准确、形象地表达招标文件内容,从而说服客户的人。产品经理是产品需求分析和概要设计的经理或专家,主要负责产品的项目建立、需求、设计和销售。两者有相同的观点:他们必须精通产品的功能、性能和界面。区别在于前者侧重于熟悉产品的应用业务领域,而后者侧重于熟悉产品的需求和设计。软件需求11.需求分析的目的是什么?需求分析有什么困难?软件需求分析的目的是解释软件产品或软件项目需要满足的条件和限制。在软件工程项目中,必须首先获得用户的需求。通过对软件需求的提取、分析、记录和验证,为进一步的设计和实现提供了基础。需求分析的难点在于开发人员和客户在系统功能、性能和界面上达到完全相同的需求,允许客户签字确认,并确保在项目验收前需求相对稳定。如果需求发生变化,双方必须履行“需求变更管理程序”,该程序在签订合同时已有规定。你知道,合同有法律效力。12.为什么需求分析是面向过程的?系统的功能、性能、接口和界面都在这个过程中得到动态、实时的反映。在所有流程中(物流、人员流动、资金流、信息流、文档流、报告流、数据流),数据流是最重要和最具代表性的。因为在计算机网络系统中,所有过程都被表示为数据流,或数据流在不同方向上的投影。该过程是动态和实时的。因此,需求分析是面向过程的。13.需求分析的基本思想是什么?需求分析的思想是从客户的功能需求(系统需要做什么)出发,从系统的业务流程和数据流程中导出系统的业务模型和功能模型,识别系统的元数据和中间数据,为将来设计数据模型做好充分准备。同时,对系统的软硬件环境配置、开发工具、开发周期、成本、开发进度、培训和系统风险进行了评估。14.世界卫生大会上述三种方法适用于不同的目标系统。目前流行的方法是面向对象分析,包括面向主题和面向方法。一般来说,对于系统软件和应用软件,功能需求分析方法简单明了,而面向对象的需求分析方法复杂抽象。对于基于关系数据库的信息系统软件,数据需求分析方法的特点是抓住本质。然而,这三种分析方法离不开面向过程的分析总线:函数、对象和数据都是在过程中生成的,都为过程服务。15.需求管理过程的目标和内容是什么?需求管理的目标是确保软件项目或产品在软件功能、性能和界面上满足客户的需求。需求管理过程主要包括需求确认、需求评审、需求跟踪和需求变更活动管理。16.为什么需求文档需要同行评审?同行评审是软件工作产品验证的一种活动。其目的是尽早有效地识别和消除软件工作产品中的缺陷。关键在于发现软件工作产品中的缺陷。此外,由于同行评审,大量人员对软件系统中不熟悉的部分有了更好的了解,因此同行评审也提高了项目的连续性并培训了后备人员。17.你如何理解不符合项?为什么要跟踪和管理它?不符合项是指不符合要求且不一定是错误的项,它不同于bug。跟踪是指获取需求的当前实现状态,并确保满足所有用户的需求。可靠的跟踪信息可以为需求变更、系统维护、关键成员离开、系统重新设计以及类似的系统设计等诸多方面提供参考和指导,降低风险,提高项目成功率。18.什么样的工具可用于需求描述?你更喜欢哪个?为什么?需求描述工具包括数据流图、业务流程图、用例图、时序图、用户交互图、数据模型图和功能需求列表、性能需求列表、接口需求列表、接口需求列表等。描述工具的选择主要取决于问题领域的基本特征。不同的软件对分析有不同的严格要求。我喜欢业务流程图,它包括物流、资金流和信息流,即业务运营模式,重点是业务运营的流程步骤。业务模型表示人员、设备和与系统相关的其他子系统之间的业务关系和费用关系。这是一个由企业领导重新组织、重新创建、优化和确认的业务流程图。绘制这张地图的工具可以是办公软件。软件规划19.简要描述软件规划的步骤。软件规划分为4个步骤,如下表所示:步骤步骤名称步骤内容1评估软件工作产品的规模、工作量、成本和所需资源软件工作产品,包括需求规范、概要设计规范、详细设计规范、源代码、测试计划和测试报告、质量保证计划、软件配置管理计划、里程碑和评审计划。应量化每个工作产品所需的工作量(人-年)、费用和其他资源。2设定时间表包括开发进度和日历进度:软件开发计划、质量保证计划、软件配置管理计划、测试计划和评审计划3识别和评估风险政策风险、资源风险、市场突变风险、技术风险和技能风险4与相关团体或个人协商相关规划协议。规划的结果应该切实可行,应该得到所有有关各方的同意和承认。20.软件规划的具体目标是什么?软件规划是项目跟踪和监控的基础,也是项目经理和高级经理管理项目的基础。软件规划有三个特定的目标。1.估计已经为用于项目测试和跟踪的三个软件建立了文档。这三项评估是:工作产品规模的估计工作量和成本估算计算机资源估计2.计划并记录软件项目活动和协议。这里的活动包括开发活动和管理活动。这里的协议是指对项目的各种标准、规范和程序的约束。3.受影响的团体和个人同意他们在软件项目上的协议。受影响的群体和个人是:软件工程团队(项目团队)软件评估组系统测试组质量保证小组配置管理组合同管理小组文件支持小组其中一些群体可能只有一个人21.定义软件过程的意义是什么?所谓软件过程的定义是根据所选择的生命周期模型来指定软件开发阶段、工作步骤和每个阶段的文档标准。22.项目跟踪和监控的基础是什么?在项目规划阶段,应该为开发计划建立严格的审查流程。开发计划经组织批准并生效后,将成为项目跟踪和监督的基础。23.软件开发计划应该包括什么?软件开发计划书是软件规划的输出文档,包括以下10个方面:1.软件项目团队的目的、范围、目标和对象。2.软件生命周期的选择和缩短。3.确定软件开发和维护的规范、方法和标准。4.软件工作产品的确定。5.工作产品规模的估计。6.工作量和成本的估计。7.关键计算机资源的评估和利用。8.项目的进度、里程碑和审查计划。9.风险识别和评估。10.项目工程设计和工具规划。24.你如何理解软件中的度量,它扮演了什么角色?软件测量是指对大量测量数据的统计分析。度量是在项目进展过程中需要根据法规收集的度量数据,以便定量地反映项目的进展,并为经理提供项目进展的适当可见性。同时,度量数据是项目过程改进的基础数据,存储在度量数据库中。软件设计软件设计的输入/输出是什么?对于承包项目,软件设计输入为用户需求报告/需求规格说明书,输出为概要设计说明书和详细设计说明书。本项目软件设计输入为需求规格说明书,输出为概要设计说明书和详细设计说明书。26.总体设计规范和详细设计规范之间有什么区别吗?概要设计说明书,一个是涵盖需求规格说明书的所有内容,另一个是作为指导详细设计的基础。它注重框架上的设计。它是软件系统的总体结构设计、全局数据库(包括数据结构)设计、外部接口设计、功能组件分配设计和组件间的内部接口设计。它包括需求规范中的功能点列表、性能点列表和接口列表。详细设计说明书,一个是涵盖概要设计规范的全部内容,另一个是作为指导程序设计的基础。它侧重于微观层面和帧内设计。它是通用组件实现设计、专用组件实现设计、存储过程实现设计、触发器实现设计、外部接口实现设计、部门角色授权设计以及其他各子系统的详细设计。两者的设计者是不同的。一般来说,概要设计说明书是系统设计者的责任,详细设计说明书是高级程序员的责任。软件建模27.请简要描述一下UML的宏观建模和微观思维。UML的宏观建模思想是以“9个模型”和“5个视图”为大纲,以“9种图”为目标,建立一个系统的UML模型。“九个模型”包括:业务模型、领域模型、用例模型、分析模型、设计模型、过程模型、部署模型、实现模型和测试模型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论