预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

简述你对软件工程的理解?(包括起源,定义,目标,内容,作用等)起源:为了解决软件危机发展:第一代软件工程,即传统软件工程:结构化分析、结构化设计和结构化编程方法是这个时期的代表;从80年代中到90年代中,研究的重点转移到面向对象分析和设计上来,从而演化成软件工程的第二代,称之为对象工程;组件技术的研究和发展形成了新一代软件工程,即第三代软件工程定义:软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理方法和先进软件开发技术结合起来,运用到软件开发和维护过程中,来解决软件危机;软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。目标:旨在开发满足用户需要、及时交付、不超过预算和无故障的软件。主要目标是:实现预期的软件功能,达到较好的软件性能,满足用户的需求;增强软件过程可见性和可控性,保证软件的质量;提高软件的可维护性,降低维护费用;提高软件开发生产率,及时交付使用;合理预算开发成本,付出较低的开发费用内容:软件开发技术和软件开发管理两个方面。软件开发技术方面主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理方面主要研究软件工程管理学、软件工程经济学、软件工程心理学。作用:在一定程度上解决了软件危机的问题什么是软件危机?定义:计算机软件开发和维护过程中所遇到的一系列严重问题。表现:“已完成”的软件不满足用户的需求;开发进度不能保障;软件开发成本难以准确估算;软件产品的质量没有保证。什么是瀑布模型?瀑布模型规定了软件生命周期的各项活动:问题定义、可行性研究、需求分析、软件设计、编码、测试、运行和维护。各项活动自顶向下、相互衔接如同瀑布一样。这里的修饰词“瀑布”非常贴切,明确了一个活动结束,进入到下一个活动后,很难再回到前一个活动中去,也就是工作不可逆转。什么是需求分析?需求分析阶段的基本任务是什么?答:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程基本任务:确定对系统的综合要求,分析系统的数据要求,导出系统的逻辑模型,修正系统的开发计划1.定义系统边界2.建立软件原型3.分析需求可行性4.确定需求优先级5.建立需求分析模型6.创建数据字典7.制定符合要求的系统开发计划什么是数据流程图?有几种图形元素,分别起什么作用?答:数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。数据流图的基本符号的意思:1.矩形表示数据的外部实体;2.圆角的矩形表示变换数据的处理逻辑;3.少右面的边矩形表示数据的存储;4.箭头表示数据流。什么是数据字典?在数据字典中定义数据时用的几种符号是什么?数据字典:主要用来描述数据流程图中的数据流、数据存储、处理过程和外部实体。数据字典中所有的定义必须是严密的、精确的、无二义性的。数据字典把数据的最小组成单位看成是数据元素或者叫做基本数据项,若干个数据元素可以组成一个数据结构也叫做组合数据项。详细设计的基本任务是什么?结构化设计有那几种描述方法?答:从软件开发的工程化观点来看,在使用程序设计语言编制程序以前,需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。这就是过程设计的任务。在过程设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。表达过程规格说明的工具叫做详细设计工具,它可以分为以下三类:图形工具、表格工具、语言工具结构化程序的特征:程序模块只有一个入口和一个出口;程序中只包含顺序、条件和循环三种控制结构。详细设计主要方法有设计程序流程图、判定树、PDL(是一种用于描述功能模块的算法设计和加工细节的语言)、N-S图(盒图)、问题分析图(PAD)、判定表、模块的内聚有哪几种?模块间的耦合有哪几种?答:内聚分为七种类型:功能内聚:一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割的。则称该模块为功能内聚模块。顺序内聚:模块中处理元素和同一个功能密切相关;一个成分的输出作为另一个成分的输入;处理元素必须是顺序执行的通信内聚:一个模块内各功能部分都针对相同输入/输出数据进行处理。过程内聚:模块内各处理成分相关;必须以特定次序执行时间内聚:模块完成的功能必须在同一时间内执行,这些功能只因时间因素关联在一起。逻辑内聚:把几种相关功能(逻辑上相似的功能)组合在一模块内,每次调用