版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程章节复习第一章1、软件概念:由计算机程序,数据,软件文档组成Software=Program+Data+Document(1)能够完成预定功能和性能的可执彳丁指令;(2)使得程序能够适当地操作信息的数据结构;(3)描述程序的操作和使用的文档。软件的特点:无法直接观察它的物理形态,只能通过观察他的是实际运行情况来了解他的功能特性和质量等;人们在分析设计开发测试过程以及软件开发项目的管理过程中渗透了大量的人类的脑力劳动;不存在磨损和老化但存在缺陷维护和技术更新的问题;开发运行依赖一定的计算机系统环境;具有可复用性〉〉软件的特征(与硬件相比)1)软件是逻辑的,而不是物理的产品。2)软件是由开发或工程化而形成的,没有明显的制造过程。3)软件在运行和使用期间,不存在硬件那样的磨损和老化问题,但它存在退化问题,开发人员必须维护软件软件的分类:1)按功能分:系统、支撑、应用软件;2)按服务对象:通用、定制软件;3)按规模:大、中、小型软件;4)按工作方式:实时、分时、交互式、批处理软件2、软件危机:是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件的开发与维护过程中出现一系列严重问题的现象。主要表现:•开发人员开发的软件产品不能完全满足用户的需求•软件产品的质量难以得到保障;•开发周期开发经费和维护费用很难被准确估计从而给项目的管理带来很多麻烦;•随着技术的更新,用户的扩大,已有的软件产品不能灵活地适应环境的改变;•软件文档不完备并且存在文档内容与软件产品不符的情况。原因:软件开发是一项复杂的工程,需要用科学的工程化思想来组织和指导软件开发的各个阶段没有完善的质量保证体系软件文档的重要性没有得到软件开发人员和用户的足够重视从事软件开发的专业人员对这个产业认识不够充分缺乏经验软件独有的特点也给软件的开发和维护带来困难>>软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。根源:一方面是与软件本身的特点有关;另一方面是由软件开发和维护的方法不正确有关。3、软件工程是指应用计算机科学与技术,数学和管理学的原理,运用工程学理论方法和技术,研究和指导软件开发和演化的一门交叉学科。软件工程的目标:•使软件开发的成本控制在预计的合理范围内:•使软件产品的各项功能和性能能够满足用户需求;•提高软件产品的可靠性:•使生产岀来的软件产品易于移植、维护、升级和使用;•使软件产品的开发周期能够控制在预计的合理时间范围内。软件工程学科内容:•软件工程原理、过程、方法、模型、管理、度量、环境、应用。软件工程的基本原则:•将软件的生命周期划分为多个阶段,对各个阶段实施严格的项目管理;•坚持阶段评审制度已确保软件产品的质量;•实施严格的产品控制以适应软件规格的变更;•采用现代程序设计技术;开发出来的产品应该能够清楚地被审查;•合理地安排软件开发小组人员并且开发小组的人员要少而精;•不断改进软件工程的实践。IEEE计算机学会建立软件工程知识体系指南的目的•促进世界范围内对软件工程的一致观点;•阐明软件工程相对于其他学科的位置;•刻画软件工程学科的内容;•提供使用知识体系的主题。4、软件的生命周期:是指从设计该产品的构想开始,到软件的需求的确定、软件设计、软件实现、产品的测试与验收、投入使用及版本的不断升级,到最终被市场淘汰的全过程。各个阶段可行性研究需求分析软件设计编码软件测试软件维护。5、软件开发模型:⑴瀑布模型。是一种线性的软件开发模型回溯性很差,是一种基于里程碑的阶段过程模型,强调软件开发的阶段性,每个阶段完成特定的任务。瀑布模型适应:•需求可以一次性全部获得,开发人员经验丰富,软件项目风险低。优点:阶段性强易于管理缺点开发过程不灵活不能适应环境的变化。⑵原型模型:是开发人员为了快速而准确的获取需求常采用的方法。特点:主要用于挖掘需求,原型系统通常针对软件开发系统的指功能模块,功能相对不完善,通常结合其他模块共同使用。适应:对现有的软件系统产品进行升级或完善,开发人员与用户需求受限、需求获取困难,开发人员对将要采用的技术手段不熟悉,具备快速开发工具。优点:是简单快速缺点是需要花费一些额外的成本。⑶增量模型:是把带开发软件系统模块化和组件化。优点:可以分批次的提交软件产品,是非整体的模型,减低了软件开发的风险,开发顺序灵活缺点:要求待开发的项目可模块化。⑷螺旋模型:用于风险较大的大型软件开发模型,分为制定计划风险分析实施工程客户评估。6、敏捷模型:是一种轻量级的软件方法。避免了传统重量级软件开发过程复杂文档繁琐的弊端,强调软件开发过程中团员的交流,过程的简洁,用户反馈的特性.本章K1论的各种生命周期模型的比较生命周期模犁优点響、缺点曝布模型简草妊学,文档驱动缺乏灵活性+平能适应用户需求的取变,逆转性差原舉模梨开发速度快.确保交村的产品符金客户的要求不利于创新噌量模型可以分阶段提交分折设计人员对蹙匡领裁乖熟悉,难以一砌■迭代模梨与现实世界软件开发最接近的模型,金含统••过程方袪凤险大风险驱动以能用于炖的内部肌伸产品.开发若必须稱通風瞇◎析和凤险排除敏捷方法客户的需求摸糊吋能很好的工柞只适會小规模项目■1第二章1、可行性研究的目的不在于提出解决问题的方案,而在于研究解决问题的必要性和可能性。意义是尽早的停止项目的开发就能够避免时间、资金、人力和物力的浪费。2、可行性研究包括:技术、社会、经济、操作可行性研究3、技术型可行性研究是对技术解决方案的实用性、技术资源的可用性和设备条件作出评估。经济可研究要对项目的开发总成本与开发系统将带来的经济效益之间的差值讲行度量。社会可行性研究从政策、法律和制度等社会因素方面考虑项目开发的合理性和意义。4、可行性研究的步骤:确定系统的目标;分析研究正在运行的系统:设计新系统的高戻逻辑模型:提出可行的解决方案并对其讲行评估和比较;选择合适的解决方案:撰写可行性研究报告5、可行性研究的结论一般有三种:•可以按计划进行软件项目的开发:•需要解决某些存在的问题或者需要对现有的解决方案进行一些调整或改善后才能进行软件项目的开发;•待开发的软件项目不具有可行性、立即停止该软件项目6、成本-效益分析软件成本一效益分析的目的是从经济的角度评价软件项目的开发是否可行.第三章1、面向对象的基本概念包括对象、类、封装、继承、多态。对象是客观世界中存在的事物,已可以是概念化的实体,他由一组属性和操作组成。类是对对象的抽象,是对具有相同属性和相同操作的一组相似对象的定义。封装是指把对象的属性和操作结合在一起组成一个独立的单元,强调独立与封闭。继承表示类之间的戻次关系,它使得某类对象可以自动拥有另外一个或多个对象的全部属性和操作。多态是一种使父类中定义的属性或操作被子类继承后可以有不同的实现的机制。2、面向对象软件工程方法的优点:符合人们的思维习惯,稳定性好,可复用性好。3、目标系统的类可以划分为边界类、控制类和实体类。4、UML统一建模语言,是一种标准的图形化建模语言,主要用于软件的分析和设计,用定义完善的符号来图形化的展现一个软件系统。>>UML特点1)统一的标准:已成为面向对象的标准化的统一的建模语言。2)面向对象:支持面向对象方法3)可视化、表示能力强大4)独立于过程5)概念明确,简洁,结构清晰,容易掌握。第四章1、需求分析是在可行性研究的基础上,将用户对系统的描述,诵过开发人员的分析概括,抽象为完整的需求定义,再形成一系列文档的过程。2、需求分析的步骤:获取需求识别问题,分析需求建立目标系统的逻辑框架,将需求文档化,需求验证3、数据流图DFD(dataflowdiagram)是描述系统中数据流的图形工具,是一种用来表示信息流和信息变换过程的图解方法,可以标识一个系统的逻辑输入和输岀,以及把逻辑输入转化为逻辑输出所需的加工处理。4、结构化需求分析采用的是:自顶向下,由外到内,逐层分解的思想。5、数据字典用数据流图来表示系统的逻辑模型直观且形象,但是缺乏细节描述,也就是说他没有准确和完整的定义各个图元。包含四类条目:数据流、数据存储、数据项、数据加丁6、E-R图包括实体、联系、属性。第五章1、软件设计的分类•前期讲行概要设计,得到软件系统的基本框架:•后期进行详细设计,明确系统内部的实现细节。2、软件设计的原则模块化抽象逐步求精信息隐藏3、模块化就是把系统或程序划分为独立命名且可以独立访问的模块,每个模块完成一个特定的子功能。在模块化的过程中需要注意:模块的规模要适中,提高模块的独立性,降低模块间的耦合程度,提高模块的内聚程度,加强模块的保护性。4、事务型数据流的设计步骤确定以事务为中心的结构,找出事务中心、接收数据、处理路三个部分。(注意:调度的选择/循环关系)将数据流图转换为事务的系统结构图。分解和细化接收分支和处理分支。5、面向数据结构的设计方法比较流行的有Jackson方法和Warnier方法。6、Jackson方法把数据结构分为三种基本类型:顺序结构、选择结构(。)、和循环结构(*)。7、流程图是对讨稈、算法、流程的一种图形表示,它对某个问题的定义、分析或解法进行描述,用定义完善的符号表示操作、数据、流向等概念。8、流程图分类:数据、程序、系统、程序网络图和系统资源图。9、流程图五种基本结构:顺序型、选择型、先判定型循环、后判定型循环和多路分支选择型。10、面向对象的设计原则模块化抽象化信息隐藏低耦合:模块之间相互连接的紧密程度高内聚:模块内部各元素彼此结合的紧密程度复用性。11、软件系统的设计模式解决某一类相似问题的方法论。描述了该问题的解决方案的核心。12、23种模式分3类:①创建型模式②结构型模式③行为型模式。13、所谓模式,就是只解决某一类相似问题的方法论。每种设计模式都包含四个要素:模式名称,问题,解决方案,效果描述。第七章编码的过程就是把软件设计阶段得到的解决方案转化为可以在计算机上运行的软件产品的过程。编程语言机器语言汇编-面向机器的低级语言(简捷、快速)高级语言——面向过程、对象超高级语言。选择编程语言时,考虑的因素:应用领域用户要求开发人员、喜好、能力可移植要求算法和数据结构的复杂性。4、源程序文档化按实际意义命名遵循一定命名规则变量不要过于相似定义时作出解释、数据说明、语句构造、输入输出、效率。第八章、第九章1软件测试是发现软件中错误和缺陷的主要手段。2软件测试的原则:完全测试是不可能的测试中存在风险软件测试只能表明缺陷的存在软件产品中潜在的错误数与已发现的错误数成正比让不同的测试人员参与到测试工作中让开发小组和测试小组分离尽早并不断的进行测试要重点测试容易出错或错误较多的模块应该长期保留所有的测试用例3、常用的软件测试模型有:V模型,W模型和H模型4、软件测试的分类:按照时间阶段:单元测试,集成测试,系统测试(确认测试),验收测试。按照是否运行程序:动态测试,静态测试。按照是否看源码:黑盒测试,白盒测试。按照质量因素:功能测试,可靠性测试,可用性测试,性能测试,安全性测试5、审查和走杳是静态测试的常用形式,且静态测试的效率比较高6、动态测试中有两种非常流行的测试技术,即黑盒测试和白盒测试7、单元测试是指对软件中最小的可测试单元进行检杳和验证,基本单元一般来说是一个函数、一个过程或者一个类。通常情况下,测试人员采用的白盒测试的方法。8、集成测试是指在单元测试的基础上,对通过测试的单元模块组装成系统或子系统进行测试,由于测试的对象是经过单元限额是的代码,所以集成测试并不关注各个模块的内部细节,而是关注模块之间的接口是否运行正常。9、软件测试的一般步骤:单元测试、集成测试,系统测试,验收测试10、面向对象的软件测试可分为:面向对象的分析、设计、实现、单元、集成、系统测试和验收测试。11、软件结构优化设计准则:⑴使每个模块执行一个功能⑵每个模块用过程语句调用其他模块⑶模块间传送的参数作数据用⑷模块间共用的信息尽量少⑸设计优化应该力求做到在有效模块化的前提下使用最少量的模块,并且在能够满足信息要求的前提下使用最简单的数据结构。12、耦合:是对一个软件结构内不同模块间彼此联系程度的一种定性耦合度量。13、对象:是系统中用来描述客观事物的一个实体,是具有明确语义、对象、边界的实体。14、测试方法⑴静态测试:通常不要求在计算机上实际执行所测程序,静态测试主要以一些人工的模拟技术对软件讲行分析和测试。主要包括桌面检杳、代码审杳、走杳和静态结构分析(接口分析、引用分析)。⑵动态测试:是通过输入一组预先按照一定的测试准则构造的动态测试实例数据来动态运行程序,从而达到发现程序错误的过程。它包括黑盒测试和白盒测试。16.测试技术⑴黑盒测试:在测试时,把程序看作一个不能打开的黑盒,测试程序在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口处进行测试。⑵白盒测试:是一种广泛使用的逻辑测试技术。它的对象基本上是源程序,白盒测试是以程序的内部逻辑结构为基础的一种测试技术。18、软件测试要经过哪几个阶段?每个阶段与什么文档有关?(1)软件测试阶段:软件测试要经过测H试计划过程、测试设计过程、测试执行过程、测试结束过4个阶段。(2)软件测试每个阶段文档测试计划过程输出文档:测试计划与测试需求测试设计过程输出文档:测试说明与测试方案测试执行过程输出文档:测试用例与测试规程测试结束过程输出文档:测试结论与测试报告第十章1、软件的维护是软件产品生命周期的最后一个阶段。2、软件维护的过程:建立维护机构用户提供维护
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年部编版新教材道德与法治八年级上册教学计划(含进度表)
- 肺部听诊与肺部物理治疗
- 消化性溃疡的护理和观察
- 作业治疗病例汇报
- 员工思想报告范例2026(3篇)
- 电子政务自查报告(3篇)
- 安全会议APP指南讲解
- 安全责任罚则讲解
- 2026及未来5年中国啤酒机数据监测研究报告
- 2026及未来5年中国吊带手挽袋数据监测研究报告
- 2026年贵州省中考英语试题(含答案)
- 2026年福建从村党组织书记、村委会主任中考试录用乡镇机关公务员练习试题及答案
- 2026年网格员矛盾纠纷排查化解理论知识试题及答案
- 文化墙改造施工组织设计方案
- 2026年湖北省武汉市中考数学试题卷(答案解析版)
- 【中考真题】云南省2026年初中学业水平考试语文真题试卷(含答案)
- 三升四英语暑假衔接作业完整版 人教PEP版小学三年级升四年级每日一练(可打印)
- 2026年南昌大学第二附属医院医护人员招聘考试参考试题及答案详解
- 2026年国网中高级职称评定考试(国家电网)复习题及答案
- GB/T 223.11-2008钢铁及合金铬含量的测定可视滴定或电位滴定法
- GB/T 12755-2008建筑用压型钢板
评论
0/150
提交评论