软件工程基本知识点.doc_第1页
软件工程基本知识点.doc_第2页
软件工程基本知识点.doc_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

第一章 1. “软件危机” 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 3. “软件工程”的概念 在软件生产中采用工程化的方法,采用一系列科学的、现代化的方法技术来开发软件。这种工程化的思想贯穿到软件开发和维护的全过程。 4. 软件开发方法可分为两大类: 面向过程的开发方法 面向对象的开发方法 5. 结构化开发方法(传统软件工程方法)特点:快速,自然,方便。这种方法学把软件生命 周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。 6. 结构化开发方法的组成: 结构化程序设计方法 SP法 结构化设计方法 SD法 结构化分析方法 SA法 结构化分析(SA) 结构化设计(SD) 结构化程序设计(SP) 确定用户需求;获得需求规格说明书需求说明转换为计算机中可实现的系统,完成系统的结构设计,包括数据结构和程序结构,最后得到软件设计说明书。根据软件设计,选择程序设计语言,编码实现具有良好风格的软件系统。 7. 面向对象的开发方法以对象作为最基本的元素,是分析和解决问题的核心。OOA面向对象的分析:强调的是对一个系统中的对象特征和行为的定义。建立系统的三类模型。OOD面向对象的设计:与OOA密切配合顺序实现对现实世界的进一步建模OOP面向对象的程序设计:是面向对象的技术中发展最快的,使用面向对象的程序设计语言,进行编码。 9.软件开发模型是描述软件开发过程中各种活动如何执行的模型。因此又称为软件过程模型。第二章2.可行性研究分为:技术可行性/经济可行性/操作可行性。3. 从以下方面改进DFD图: 数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 1、检查数据流的正确性 数据守恒 子图、父图的平衡 文件使用是否合理。特别注意输入/出文件的数据流。2、改进DFD图的易理解性 简化加工之间的联系(联系越少,独立性越强,易理解性越好)。 改进分解的均匀性。 适当命名(各成分名称无二义性,准确、具体)第三章1. 需求规格说明书的作用项目开发合同/设计编程基础/系统测试指南/竣工验收依据2.功能分解法存在的问题 1. 需要人工完成 2. 无法对描述的准确度进行验证。3. 难以适应需求的变化。3. SA方法的特点:由顶层向下逐层分解 图形方式描述SA法的局限性:与数据库的衔接性差/人机交互方式不易表达/不适用于实时系统/书面模型(不能上机验证,不容易发现问题)第五章1.设计阶段主要任务是: 系统结构的设计/数据结构的设计/用户界面的设计/算法的设计2. 总体设计的两个重要任务:划分出组成系统的物理元素;设计软件的结构,也就是确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系4. 设计阶段的基本任务:决定软件系统的模块结构.5. 模块化:就是将系统划分成若干模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,以满足所要求的整个系统的功能。6. 采用模块化原理带来的好处:?模块化使软件结构清晰,易于设计,也易于阅读和理解;?模块化使软件容易测试和调试,有助于提高软件的可靠性;?模块化能够提高软件的可修改性;?模块化也有助于软件开发工程的组织管理。7. 设计过程:由外向里 先确定模块的外部特征(概要设计) 再确定模块的内部特征(详细设计)8.概念: 深度:表示软件结构中从顶层模块到最底层模块的层数; 宽度:表示控制的总分布; 扇出数:指一个模块直接控制下属的模块个数; 扇入数:指一个模块的直接上属模块个数。反映了模块的重用率.9. 一个好的软件结构的形态准则是:顶部宽度小,中部宽度最大,底部宽度次之;在结构顶部有较高的扇出数,在底部有较高的扇入数。 经验表明,一个设计得好的典型系统的平均扇出通常是3或4(扇出的上限通常是59)。10.结构图中,直线反映模块间的调用关系。11. 模块独立性准则:模块独立性的含义是指开发具有功能专一,模块之间无过多相互作用的模块。又称为模块独立性准则。这种类型的模块可以并行开发,开发容易,能减少错误的影响,使模块容易组合、修改及测试。12.尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。13.结构图描述了程序的模块结构,表示了一个系统的层次分解关系,反映了块间联系和块内联系等特征及控制信息的传递关系。14. SD方法的设计步骤 ?1)从DFD图导出初始的模块结构图?2)按照SD方法的设计总则,改进模块结构图15. SD方法设计软件系统的特点:?由问题的结构(数据流图)导出软件系统的模块结构图;?将系统先分解再组合,有效地控制系统复杂性;提出了软件系统质量评价标(块间联系和块内联系);?提出了一组设计技巧;图形描述直观明了;SD方法设计软件系统的缺点:?对数据结构的设计未做考虑;?块间联系和块内联系无严格定义; ?从需求阶段到设计阶段的图转换复杂第六章1. 详细设计的任务确定每个模块所采用的算法;确定每个模块所使用的数据结构;确定每个模块的接口细节;为每个模块设计出一组测试用例;2. PDL的主要优点:(1) 可以作为注释直接插在源程序中间。这样做能促使维护人员在修改程序代码的同时也相应地修改PDL注释,因此有助于保持文档和程序的一致性,提高了文档的质量。(2) 可以使用普通的正文编辑程序或文字处理系统,很方便地完成PDL的书写和编辑工作。(3) 已经有自动处理程序存在,而且可以自动由PDL生成程序代码。?PDL的缺点: 不如图形工具形象直观,描述复杂的条件组合与动作间的对应关系时,不如判定表清晰简单。3.狭义的结构设计,给出一个图形,判定是不是狭义的4.绘制流图,从伪码导出,计算复杂度第七章1. (1) 测试是为了发现程序中的错误而执行程序的过程;(2) 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3) 成功的测试是发现了至今为止尚未发现的错误的测试。2. 测试用例:由测试数据和预期结果构成的。3.预测试:概要设计审查-详细设计审查-代码审查测试:模块测试-整体测试-功能测试-系统测试-验收测试-安装测试4. 逻辑覆盖,是以程序内在逻辑结构为基础的测试 ,是对一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。 5. 根据覆盖目标的不同,逻辑覆盖又可分为:语句覆盖/判定覆盖/条件覆盖/判定/条件覆盖/组合覆盖/路径覆盖6.驱动模块更容易实现一些。第八章1. 软件维护通常包括4类活动:改正性维护、适应性维护、完善性维护、预防性维护。2. 改正性维护:为了纠正在使用过程中暴露出来的程序错误而进行的维护活动。改正性维护的工作量大约占软件维护总工作量的17%-21%。适应性维护:为了适应外部环境的变化而进行的维护活动

温馨提示

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

评论

0/150

提交评论