软件工程基础知识点总结计划_第1页
软件工程基础知识点总结计划_第2页
软件工程基础知识点总结计划_第3页
软件工程基础知识点总结计划_第4页
软件工程基础知识点总结计划_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

软件工程基础学习知识点总结计划软件工程基础学习知识点总结计划14/14软件工程基础学习知识点总结计划软件工程基础部分知识点总结知识点一软件工程的基本看法1、软件定义:是计算机系统中与硬件互相依存的另一部分,是包括程序、数据以及相关文档的完满会集。1)程序是软件开发人员依照用户需求开发的、用程序设计语言描绘的、合适计算机执行的指令(语句)序列。2)数据是使程序能够正常操作信息的数据结构。3)文档是与程序开发、保护和使用相关的图文资料。国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。2、软件特点:1)软件是一种逻辑实体,而不是物理实体,拥有抽象性,是计算机的无形部分;2)软件的生产与硬件不同样,它没有明显的制作过程;3)软件在运行、使用时期不存在磨损、老化问题;4)软件的开发、运行对计算机系统拥有依赖性,受计算机系统的限制,这以致了软件移植的问题;5)软件复杂性高,成本昂贵;6)软件开发涉及诸多的社会要素3、软件的分类:依照功能能够分为:应用软件、系统软件、支撑软件(或工具软件)1)应用软件是为解决特定领域的应用而开发的软件。2)系统软件是计算机管理自己资源,提高计算机使用效率并为计算机用户供应各种服务的软件。3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。4、软件危机:是指在软件的开发和保护过程中所遇到的一系列严重问题。软件危机主要表现在以下几个方面:①软件开发的实质成本和进度估计不正确②开发出来的软件经常不能够使用户满意③软件产品的质量不高,存在漏洞,需要经常打补丁④大量已有的软件难以保护⑤软件缺少相关的文档资料⑥开发和保护成本不断提高,直接威胁计算机应用的扩大⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增加5、软件工程:此看法的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与保护软件的学科。1)研究软件工程的主要目的就是在规定的时间、规定的开发开销内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易保护等)。2)软件工程的三个要素:方法、工具和过程。①方法:完成软件工程项目的技术手段;②工具:支持软件的开发、管理、文档生成;③过程:支持软件开发的各个环节的控制、管理。3)软件工程的核心思想:把软件产品看作是一个工程产品来办理。知识点二软件的生命周期1、软件生命周期看法:将软件产品从提出、实现、使用保护到停止使用退伍的过程称为软件生命周期。2、软件生命周期一般划分为定义、开发和保护3个阶段:1)定义阶段:可行性研究、需求解析2个阶段;软件定义阶段:包括拟定计划和需求解析。①拟定计划:确定总目标;可行性研究;商议解决方案;拟定开发计划。②需求解析:对待开发软件提出的需求进行解析并给出详细的定义。方法:1)结构化需求解析方法;2)面向对象的解析方法。任务:导出目标系统的逻辑模型,解决“做什么”的问题。步骤:需求解析一般分为需求获取、需求解析、编写需求规格说明书和需求评审四个步骤进行。2)开发阶段:大纲设计、详细设计、编码实现和测试4个阶段;①软件设计:分为大纲设计和详细设计两个部分。②软件实现:把软件设计变换成计算机能够接受的程序代码。③软件测试:在设计测试用例的基础上检验软件的各个组成部分。3)保护阶段:使用、保护、退伍阶段。软件运行保护阶段:软件投入运行,并在使用中不断地保护,进行必要的扩大和改正。软件生命周期中所开销最多的阶段是软件运保护阶段。4)软件工程原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、齐全性和可考据性。5)软件工具就是帮助开发软件的软件。它们对提高软件生产率,促进软件生产的自动化都有重要的作用。6)软件开发环境(或称软件工程环境)是全面支持软件开发全过程的软件工具的会集,这些软件工具依照必然的方法和模式组合起来,共同支持软件生命周期内的各个阶段和各项任务的完成。知识点三软件设计基本看法1、软件工程过程:问题定义——可行性研究——需求解析——软件设计——软件编码——软件测试——软件保护2、软件设计分为整体设计和详细设计1)整体设计目的:要解决的问题是“怎样实现目标系统”任务:确定软件的整体结构,进行模块划分,确定每个模块的功能、接口及模块之间的调用关系,并对全局数据结构进行设计,同时产生大纲设计说明书2)详细设计目的:要解决的问题是“应该怎样详细实现目标系统”任务:在大纲设计的基础上,设计每个模块实现的细节及对局部数据进行设计(包括模块的数据结构和所需的算法),同时产生详细设计说明书3、软件编码目的:产生能在计算机上执行的程序任务:依照系统的要求和开发环境,采用合适的程序设计语言,把详细设计的结果翻译成用该程序设计语言编写的程序代码(源程序)4、软件测试是为了发现程序中的错误而执行程序的过程目的和任务:经过在计算机上执行程序来尽可能多地发现软件产品中的错误和弊端,并改正程序中的错误,以保证程序的可靠运行5、软件保护阶段是长远的过程,由于,经过测试的软件还可能有错,用户的要求还会发生变化,软件运行的环境也可能变化等等。因此,交付使用的软件依旧需要连续排错、改正和扩大,这就是软件保护。软件保护的目的是满足用户对已开发产品的性能与运行环境不断提高的需要,进而达到延长软件的寿命软件保护就是在软件交付使用此后,为了改正错误或满足新的需要而改正软件的过程。软件保护的种类有以下几种:1)改正性保护:诊断和改进错误的过程。2)适应性保护:为与变化的环境合适配合而进行的改正软件的活动。3)完满性保护:为了满足用户提出的增加新功能或改正已有功能的建议而进行保护。4)预防性保护:为了改进未来的可保护性和可靠性。软件开发时期要完成设计和实现两大任务,其中设计任务用需求解析和软件设计两个阶段完成,实现任务用编码和测试两个阶段完成。开发任务完成的好与坏,关系到软件产品的质量,完成开发任务的关键是选择好的软件开发方法。目前,软件开发方法主要有结构化开发方法和面向对象开发方法知识点4软件设计的基根源理软件设计的基根源理包括:抽象、模块化、信息隐蔽和模块独立性。1、模块化:指解决问题时自顶向下的方法逐层把软件系统划分成若干个模块的过程2、抽象:认识复杂过程中使用的思想工具,即抽出事务的实质的共同的特点而暂不考虑它的细节和其他要素。3、信息隐蔽:旨在设计和确定模块式的时候,是的一个模块内包括的信息,对于不需要这些信息的其他模块来说不能接见4、模块独立性:指每个模块只完成系统要求的独立的功能,并且与其他模块联系最少且接口简单模块的耦合性和内聚性是衡量软件的模块独立性的两个定性指标。1)内聚性:是对模块功能强度的胸襟,即对一个模块内部各个元素(语句之间、程序段)间互相结合的亲密程度的胸襟。2)耦合性:是模块间互相连接的亲密程度的胸襟。模块之间联系越亲密,其耦合性就越强,模块的独立性则越差。一个设计优异的软件系统应拥有高内聚、低耦合的特点。在结构化程序设计中,模块划分的原则是:模块内拥有高内聚度,模块间拥有低耦合度。软件设计有两个步骤:1)大纲设计(又称结构设计)是将软件需求转变成软件系统结构、确定系统级接口、全局数据结构或数据库模式;2)详细设计是确定每个模块的实现算法和局部数据结构,经过对结构表示进行细化,获取软件的详细数据结构和算法。知识点5结构化解析方法结构化方法的软件开发过程软件计划后

编码并测试结构化解析结构化设计结构化程序设计面向对象方法的软件开发过程软件计划后软件测试面向对象分面向对象设计面向对象编程析1、结构化解析(简称SA)方法是面向数据流进行需求解析的方法。2、结构化解析方法的常用工具:数据流图、数据字典、结构化语言、判断树、判断表3、SA的基本步骤以下:①自顶向下对系统进行功能分解,画出分层的数据流图②由后向前定义系统的数据和加工,编制数据字典和加工说明③写出需求规格说明书(SRS)4、数据流图是以图形的方式描绘数据在软件系统中流动和办理的过程,由于它只反响系统必定完成的逻辑功能,因此它是一种功能模型。数据流图由数据流、加工(又称数据办理)、数据储藏(又称文件)、数据源点或终点四种基本成分组成。数据流图(简称DFD)图形元素:①数据流:是数据在系统内流传的路径。使用箭头代表数据的流向,数据名称标在箭头的边上②加工:输入数据经过加工变换产生输出。使用圆框代表加工③数据储藏:指办理过程中存放各种数据。使用双杠(或单杠)表示数据文件或数据库。文件与加工之间用箭头线连接,单向表示只读或只写,双向表示可读可写④数据源点或终点:指软件系统外面环境中的实体(包括人员、组织或其他软件系统,统称为外面实体)。使用方框表示数据的源点和终点5、建立数据流图的步骤:第一步:由外向里:先画系统的输入输出,尔后画系统的内部。第二步:自顶向下:序次完成顶层、中间层、基层数据流图。第三步:逐层分解。6、DFD图的数据流可分为两各种类:变换流和事务流变换流:信息沿着输入通路进入系统,同时将信息的外面形式变换成内部形式,经过变换中心办理此后,再沿着输出通路变换成外面形式输出事务流:信息沿着输入通路到达一个事务中心,事务中心依照输入信息的种类在若干个动作序列中选择一个来执行,这种信息流称为事务流7、数据字典就是用来定义数据流图中的各个成分的详细含义和详细的描绘。它和数据流图共同组成了系统的逻辑模型,是需求规格说明书的主要组成部分。是结构化解析方法的核心。数据字典是为解析人员查找数据流图中相关名字的详细定义而服务的。数据字典有四类条目:数据流、数据项、数据储藏和基本加工。8、SD方法的中心任务就是把用DFD图表示的系统解析模型方便地变换为软件结构的设计模型。识点6软件测试的目的和准则1、软件测试是保证软件质量的重要手段,其主要过程涵盖了整个软件生命周期的过程,包括需求定义阶段的需求测试、编码阶段的单元测试、集成测试以及后期的确认测试、系统测试、考据软件可否合格、可否交付给用户使用。软件测试就是使用人工或自着手段来运行或测定某个系统的过程,其目的在于检验它可否满足规定的需求或是弄清预期结果与实质结果之间的差别。2、软件测试的原则:所有测试都应追想到需求严格执行测试计划,消除测试的随意性防备由软件开发人员测试自己的程序充分注意测试中的群集性现象除了很小的程序外,“完整”的穷举测试是不能能的稳当保存测试计划、测试用例、出错统计和最后的解析报告,为保护供应方便软件测试的每一次测试都需要准备好一些测试数据,与被测程序一起输入到计算机中执行;知识点7软件测试的方法和推行1、测试是对软件规格说明、设计和编码的最后的复审,因此软件测试贯穿在整个软件开发期的全过程。对于软件测试方法和技术,能够从不同样的角度加以分类。①从可否需要执行被测软件的角度,软件测试分为静态解析和动向测试②依照功能划分,动向测试又分为白盒测试和黑盒测试2、静态测试一般是指人工评审软件文档或程序,借以发现其中的错误,由于被评审的文档或程序不用运行,因此称为静态的。静态测试包括代码检查、静态结构解析、代码质量胸襟等。3、动向测试是指经过运行软件来检查软件中的动向行为和运行结果的正确性,也就是常说的上机测试。动向测试一般包括两个基本要素:被测程序和测试数据4、测试可否发现错误取决于测试用例的设计。动向测试的设计测试用例的方法一般分为黑盒测试和白盒测试。①白盒测试也称结构测试,它与程序内部结构相关,要利用程序结构的实现细节设计测试用例,它涉及程序风格、控制方法、源程序、数据库设计和编码细节。②黑盒测试是测试者已经知道被测程序的功能,而对程序内部的逻辑结构和办理过程完满不用考虑,可是对它的每一个功能进行测试,将测试后的结果与希望的结果进行解析比较,检查程序的功能可否吻合规格说明书的要求。黑盒测试是在程序接口进行的测试5、测试用例是由测试数据和希望结果组成。设计测试用例的目的就是用尽可能少的测试数据,达到尽可能大的程序覆盖面,发现尽可能多的软件错误和问题6、用白盒法设计测试用例常用以下几种技术:①语句覆盖②判断覆盖③条件覆盖④判断/条件覆盖⑤条件组合覆盖⑥路径覆盖7、用黑盒法设计测试用例常用以下几种技术:①等价类划分法②界线值解析法③错误推测法④因果图法8、软件测试的推行①单元测试:是对每一个编制好的模块进行测试,其目的在于发现和消除各模块内部可能存在的差错及详细设计中产生的错误。进行单元测试时,依照程序的内部结构设计测试用例,主要采用白盒测试法②集成测试。是在单元测试的基础上,将所有模块依照设计要求组装成为系统而进行的测试,它的任务是检查模块间的接口和通信、各子功能的组合可否达到预期要求的功能、全程数据结构是否有问题等。集成测试主要发现设计阶段产生的错误,平时采用黑盒测试法。集成测试时,将各个模块组装成系统的方法有:非增量组装方式是先分别对每个模块进行单元测试,再把所有模块按设计要求组装在一起进行测试,最后获取所要求的软件增量组装方式是把下一个要测试的模块同已经测试好的那些模块结合起来进行测试,测试完今后再把下一个应该测试的模块结合进来测试③确认测试。确认测试是在集成测试通过后,在用户的参加下进行确认测试。这时平时使用实质数据进行测试,以考据系统可否能满足用户的实质需要。它的任务就是以需求规格说明书作为依据来考据软件的性能、功能及其他特点可否与用户的要求一致,平时采用黑盒测试④系统测试。系统测试是在更大范围内进行的测试。系统测试是把经

温馨提示

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

评论

0/150

提交评论