软件工程名词解释.doc_第1页
软件工程名词解释.doc_第2页
软件工程名词解释.doc_第3页
软件工程名词解释.doc_第4页
软件工程名词解释.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

Adaptive maintenance适应性维护:为使软件产品在新的环境下仍能使用而进行的维护,称为适应性维护。 Data flow diagram数据流图:描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出的加工过程。 baseline基线:它提供一个正式标准,随后的工作基于此标准,并且只有经过授权后才能变更这个标准。建立一个初始基线后,以后每次对其进行的变更都将记录为一个差值,直到建成下一个基线。 Big-bang testing一次性组装测试:也叫集成测试,是单元测试的扩展,最简单的形式是两个已经测试过的单元组成一个整体,并且测试他们的接口。Black box黑盒:是对一个项目组建造的软件的修改标识,组织和控制的技术,其目标是通过最大限度的减少错误,来最大限度提高生产率。白盒测试:也称结构测试或透明盒测试,测试应用程序的内部结构或运作,而不是测试应用程序的功能。 Software configuration item软件配置项:软件生存周期各个阶段活动的产物经审批后即可称之为软件配置项。为了配置管理而作为单独实体处理的一个工作产品或软件。 Configuration management配置管理, 配置管理是对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。 Corrective maintenance 改正性维护:在软件交付运行以后,由于开发阶段测试工作的不彻底,不完全,一些隐藏的软件错误在系统运行的过程中逐步暴露出来,通常把发现和改正这类错误的过程叫做改正性维护。 Coupling 耦合:何亮不同模块之间接口的相对独立性。 Integration testing集成测试:在单元测试的基础上,将所有模块按照概要设计组装成为子系统或系统进行测试cohesion内聚:衡量一个模块内部各个元素彼此结合的紧密程度。Detailed design详细设计:是对概要设计的一个细化,就是详细设计每个模块实现算法所需的局部结构。 Test case测试用例:是一组条件或变量,测试者根据它来确定应用软件系统是否正确工作。 Program design language 过程设计语言:它是用正文现实表示数据和处理过程的设计工具。 模块化:把软件按照规定原则,划分为一个个较小的相对独立的但又相对关联的部件 prototyping原型:目标系统软件的一个可操作的模型,它实现了目标软件系统的某些重要方面的功能。 Information hiding信息隐蔽:模块应该设计设计的使共所信息(过程和数据)对于哪些不需要这些信息的模块来说是隐蔽的,每个模块只完成一个相对独立的特定功能,模块这件仅仅叫唤哪些为完成系统功能而必须交换信息。 requirement软件需求:用户对目标软件系统在功能,性能,介为,设计约束等方面的期望 Requirement analysis需求分析:通过对应用问题及其环境的分析与理解,采用一系列的分析方法和技术,将用户的需求逐步精确化,完全化,一致化,最终形成需求规格说明文档的过程。 software软件:软件=程序+数据+文档 Software life cycle软件生命周期:软件产品从形成概念开始,经过定义,开发,使用和维护知道最后退役的过程Stepwise refinement逐步求精:随着软件开发过程的进展,在软件结构每一层中的模块,表示了对软件抽象层次的一次精化。Structured program结构化编程:一种编程典范,采用子程序、for循环以及while循环等结构,来取代传统的goto。testing软件测试:使用人工或自助手段来运行或测定某个系统的过程 Walk-through代码走查:是一个开发人员与构架师讨论代码的过程 Waterfall model瀑布模型:将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水。 Regression testing回归测试,在发生修改之后重新测试前的测试保证修改的正确性 Unit testing单元测试:是开发者编写的一小段代码,用于检测被测代码的一个很小的很明确的功能是否正确。/指对软件中的最小可测试单元进行检查和验证。1、软件的特点:P3 1软件是一种逻辑实体,具有抽象性 2软件的生产与硬件的生产存在某些相同点,但二者有根本上的不同。 3软件的维护更为复杂,成本更高。 4软件在运行和使用期间,没有硬件的机械磨损,老化问题,但软件存在退化问题 5大多数软件是根据客户实际需求制定的,而不是通过已有构件组装而成的。2、计算机软件的发展阶段,各有何特点?P2 第一阶段:编写程序只有低级语言,不存在什么系统化的方法,程序的质量完全依赖于程序员个人的技巧。 第二阶段:高级程序设计语言出现,开始用工程化的方法解决软件危机问题。 第三阶段:分布式系统出现,硬件的发展使软件危机加剧。开始研究软件工程学的科学理论、方法等一系列问题。 第四阶段:面向对象的技术的出现,多媒体技术快速发展。/3、什么是软件危机?其产生的原因是什么?P5 软件危机是指由于落后的软件生产力方式无法满足迅速增长的计算机软件应用需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。原因:1和软件本身的特点有关2和软件开发与维护的方法不正确有关/4、什么是软件工程,其目标和内容是什么?P6 软件工程,将系统化的,规范的,可度量的方法应用于软件的开发,运行和维护的过程。 目标:在给定的成本和进度前提下,开发出具有可修改性,可理解性,可维护性,有效性,可靠性,可适应性,可移植性,可跟踪性和互化性并且满足用户需求的软件产品内容5、什么是软件生存周期模型?它有哪些主要模型? 软件周期模型:即软件的开发模型,清晰直观的反映了软件开发的全部过程、所涉及的活动和任务结构框架,并指出了开发各阶段的关系、开发活动的衔接情况。模型:瀑布模型,原型模型,螺旋模型,增量模型,喷泉模型,迭代模型。6、什么是软件生命周期?包括哪些阶段?各阶段有哪些活动?P10 我们把软件产品从形成概念开始,经过定义、开发、使用、维护直到退役的全过程称为软件生命周期。软件定义:问题定义、系统的可行性研究、需求分析软件开发:概要设计、详细设计、编码、软件测试软件使用维护:软件发布与实施、软件维护退役:版本更新或退役7、瀑布模型和原型模型的特点:P12瀑布模型特点: 阶段间具有顺序性和依赖性关系、推迟实现、质量保证缺点:逆转性差,错误的传递会采取发散扩大的方式。原型模型的特点:1适合需求不确定的情况2使用软件重用技术3缩短了开发周期,降低成本8、什么是软件开发方法?软件开发有哪些主要方法? 定义:软件开发过程所遵循的办法和步骤。主要方法:1结构化方法2面向对象的方法/9、讲述软件需求,需求分析,需求建模概念,含义与区别:p26,p38 软件需求:指用户对目标软禁系统在功能,性能,行为,设计约束等方面的期望,这种期望可能是原始的,笼统的 ,也可能是抽象的太细节化的 需求分析:通过对应用问题及环境的分析与理解,采用一系列的分析方法和技术,将用户的需求逐步精确换,完全化,一直化,最终形成需求规格说明文档的过程需求建模:为了理解事物所做出的一种抽象,用符号语言对事物屋歧义的书面描述。/10、可行性研究的目标及主要内容是什么? 目标:用最小的代价在尽可能短的时间内确定该软件项目是否能够开发是否值得去开发 内容:1经济可行性2技术可行性3方案可行性4社会环境和人的可行性/11、成本效益分析可用哪些指标进行度量? /12、需求分析各阶段的基本任务是什么?P281明确所开发的软件必须具备什么样的功能,获得当前系统的物理模型2抽象出当前系统的逻辑模型建立目标系统的逻辑模型3为了对目标系统做完整的描述,还需要对得到的逻辑模型做一些补充4编写文档5需求验证13、常见的初步软件需求获取的方法有哪些?为什么用这些方法进行需求获取?P331访谈与会议2观察用户工作流程3建立联合小组4快速原型法5基于本体的需要获取方法。为了准确、全面的获取软件需求的信息。14、简述需求分析阶段的过程P36 问题识别、分析与综合、编制需求分析阶段的文档、需求验证。/15、可行性研究的具体步骤 1确定项目规模和目标2研究正在运行的系统3建立新系统的高层逻辑模型4导出和评价各种方案5推荐可行的方案6编写可行性研究报告/16、在软件需求分析时,应首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型,试问,什么是当前系统的物理模型?当前系统的物理模型与逻辑模型有什么区别?P28 物理模型:确定待开发软件系统的系统元素,并将功能和数据结构分配到这些系统元素中,它是软件的基础。 与物理模型不同,逻辑模型很是实现机制与细节,只描述系统要完成的功能和要处理的数据。/17、什么是软件的概要设计?该阶段的基本任务是什么? 软件的概要设计:设计出软件的总体结构框架基本任务:1设计软件系统结构(软件结构)2数据结构及数据库设计3编写概要设计文档4评审/18、详细设计的基本任务是什么?有哪几种描述方法? 基本任务:1为每个模块进行详细的算法设计2为每个模块内的数据结构进行设计3对数据库进行设计4其他设计5编写详细设计说明书6评审 描述方法:程序流程图2PAD图3过程设计软件/19、软件设计的基本原理包括哪些?P51 1抽象与逐步求精2模块化3信息屏蔽4模块独立20、衡量模块独立性的两个标准是什么?个表示什么含义?P571内聚,衡量一个模块内部各个元素彼此结合的紧密程度2耦合,衡量不同模块之间的相对独立性21、模块的内聚有哪几种?各表示什么含义?P61 1巧合内聚2逻辑内聚3时间内聚,4过程内聚5通信内聚6信息内聚7功能内聚 22、模块的耦合有几种?各表示什么含义?P571非直接耦合2数据耦合3标记耦合4控制耦合5外部耦合6公共耦合7内容耦合23、结构化程序设计的基本要点是什么?P76任何程序逻辑都可以用顺序,选择,循环三种基本控制结构,并且每个代码块只有一个入口和一个出口,逐步求精,则称这个程序是结构化的。结构化设计方法的主要思想是进行逐层分解和模块化。/25、什么是结构分析方法?该方法使用什么描述工具? 机构化分析方法:一种利用自顶向下逐层分解,由粗到细,有复杂到简单技术的求解方法 描述工具1数据流图2实体关系图3数据字典4描述基本加工的小说明/26、 什么是数据流图?作用是什么?其中个符号表示什么含义?P87数据流图是描述熟路流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,一级把逻辑输入转换逻辑输出所需的加工处理。/27什么是数据字典?作用是什么?有哪些条目?P94数据字典是软件分析工程中对数据的描述,是数据流程图的必不可少的辅助资料。条目:数据项条目,数据流条目,数据库文件条目/28、简述如何画分层数据流图?对分层数据流图的审查有哪些审查要点.P89-9229、什么是“变换流”,什么是“事务流”?P104变换流:信息通常外部形式进入系统,经过处理后又以这种形式离开系统。事务流:信息由外部形式变换为内部形式后到达事务中心,事务中心根据不同结果从若干路径中选择一条继续执行。30、试述“变换分析”,“事务分析”设计步骤P106变换映射:把DFD图划分为输入、变换和输出三个部分 建立初始SC图的框架 分解SC图的各个分支事务映射:在DFD图中确定接收部分、事务中心和发送部分 画出SC框架图 分解SC图的各个分支 按照优化规则改进初始SC图,获得最终SC图31、简述哪些启发式设计策略可以帮助软件设计人员改善软件质量、优化软件结构?模块的高独立性和规模适中保持高扇入和低扇出模块的作用域应在控制域之内降低模块接口的复杂度33、什么是UML?为什么使用UML?P118 UML是统一建模语言,用来对面向对象开发系统的产品进行说明,可视化和编制文档的方法。UML是用来描述建模活动的,有利于更好的理解和认识软件。34、在UML中用例图的作用是什么,其包括哪些符号? 作用:捕获系统中用户的需求。 符号:系统,参与者,用例,参与者与用例的联系, 用例与用例之间的关系35、用例建模的步骤:P1251识别参与者2识别用例3识别关系4建模36、什么是用例规约?包括哪些基本内容?什么是基本流和备选流? 37、在UML中的状态图,活动图,时序图在系统分析中各起到什么作用? 状态图:用来描述对象、子系统、系统在生命周期中响应外部事件的状态转换行为,通过状态的变化来描述系统功能模型的事项过程 活动图:主要目的是描述动作以及对象状态改变的结果。有助于理解系统高层活动的执行行为,通过其可以深入描述系统功能的实现流程P148 时序图:是一种强调消息时间顺序的交互图,是一种详细表示对象之间以及对象与系统外部的参与者之间动态联系的图形文档,它详细而直观地表现了一组相互协作的对象在执行一个用例的行为为依赖关系,以及操作和消息的时序关系。/38、简述关联和依赖的区别关联表示两个类的对象之间存在某种意义上的联系依赖表示描述两个模型元素(类、用例等)之间的语义连接关系/ 41、软件维护的副作用有哪些? 1修改编码的副作用2修改数据结构的副作用3修改文档的副作用42、什么是白盒测试?有哪些覆盖标准?对他们的检错能力进行比较?白盒测试法:全面了解程序内部逻辑结构,对

温馨提示

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

评论

0/150

提交评论