软件工程复习整理版.docx
《软件工程复习整理版.docx》由会员分享,可在线阅读,更多相关《软件工程复习整理版.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除复习大纲:题型: 1、单向选择题(共30分,每题2分)2、填空题(共20分,每小题1分)3、简答题(共30分,每小题6分)4、应用题(包括2小题,共20分)第一章 绪论1. 软件的概念,程序和文档,软件的特征。软件的概念:软件是能够完成预定功能和性能的可执行的计算机程序,包括是程序正常执行的所需要的数据,以及有关描述程序操作和使用的文档。简而言之,可以表述为“软件=程序+文档”。软件的特征:软件是逻辑产品而不是物理产品,具有与硬件完全不同的特征。1.软件开发不同于硬件设计: 软件开发主要是脑力劳动;软件开发成本高。2.软件生产不同于硬件制造: 软
2、件生产无明显制造过程;制造只是简单的拷贝。3.软件维护不同于硬件维修: 软件是逻辑产品不是物理产品;软件无磨损性;2. 软件危机的定义、表现、产生时间、原因。软件危机的定义:在软件的开发和维护过程中遇到的一系列严重问题。表现:1、经常延期,无法按时提交产品; 2、无法满足用户的期望;3、很难适应环境的变化; 4、产品提交后出现很多问题。产生的时间:开始于20世纪60年代中后期(1968年前后)。原因:1、软件维护费用急剧上升,直接威胁计算机应用的扩大。 2、软件生产技术进步缓慢,是加剧软件危机的重要原因。3. 软件工程的概念。软件工程的概念:采用工程化的原理和方法对软件进行计划、开发和维护。软
3、件工程=软件开发技术+软件工程管理4. 软件工程环境的概念。软件工程环境的概念:方法和工具相结合,再加上配套的软、硬件支持就形成软件工程环境。5. 3种编程泛型:过程式编程泛型、面向对象编程泛型、基于构件技术的编程泛型过程式编程泛型:程序 = 数据结构 + 算法面向对象编程泛型:程序 = 对象 + 消息基于构件技术的编程泛型:构件是一种通用的(可复用的)、可支持不同应用程序的软件组件。(1)过程式编程范型:着眼于程序的过程和基本控制,粒度最小。(2)面向对象编程范型:着眼于程序中的对象,粒度比较大。(3)基于构件技术的编程范型:着眼于适合整个领域的类对象,粒度更大。6. 3代软件工程:传统软件
4、工程或经典软件工程、面向对象软件工程、基于构件的软件工程(1) 传统软件工程或经典软件工程:结构化分析结构化设计面向过程编码测试(2) 面向对象软件工程:OO分析OO设计OO编码与测试(3) 基于构件的软件工程:领域分析领域设计建立可复用构件库按“构件集成模型”查找与集成构件三代软件工程并非相互排斥,而是“你中有我,我中有你”。第二章 软件生存周期与软件过程1. 软件生存周期的概念。一个软件从开始计划起,到废弃不用的整个时期,称为软件生存周期。2. 软件生存周期包含3个时期。软件生存周期包含3个时期:计划、开发和运行时期。各时期又分为若干阶段,共6个阶段。3. 软件生存周期的主要活动。可行性研
5、究、需求分析、软件设计、编码、测试、运行维护。4. 软件设计分为几个部分?总体设计:又称概要设计,主要确定软件的体系结构。详细设计:又称过程设计,主要设计每个模块的实现细节。5. 软件测试分为几个层次?单元测试、集成测试、确认测试和 系统测试。6. 软件开发模型总结开发模型特点场合瀑布模型(基于软件生存周期的线性开发模型,历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发的软件产品可能并不是客户真正需要的)线性模型,每个阶段必须完成固定文档需求明确的中小型软件开发快速原型模型(正是为了克服瀑布模型的缺点提出来的,他通过快速构建起一个可以在计算机上运行的原型系
6、统,让用户 使用原型并收集用户反馈意见的方法,获取用户的真实需求)用户介入早,通过迭代完善用户需求,应用快速开发工具。逼真、快速。需求模糊的小型软件开发增量模型(具有可在软件开发的早期阶使投资获得明显回报和交易维护的优点,但是,要求软件具有开放的结构是使用这种模型固有的困难。)每次迭代完成一个增量,可用于OO开发容易分块的大型软件开发螺旋模型(结合瀑布模型与快速原型模型基础上演变而成,适用于大型软件项目,但是只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会成功。)计划、风险分析、建立原型、用户评审。典型迭代模型,重视风险分析,可用于OO开发。在项目开发的所有阶段都考虑各
7、类风险。具有不确定性的大型软件开发构件集成模型(面向对象基于构件库,融合螺旋模型的特征,支持软件开发,迭代方法,软件复用思想)软件开发与构件开发平行进行,主要用于OO开发领域工程,行业的中型软件开发,主要用于oo开发7. 统一过程模型RUP(Rational Unified Process)。RUP 是美国 Rational 公司(现被IBM 公司兼并,称 IBM- Rational 公司)开发的一种支持UML建模过程的软件工具。RUP是以用例为驱动、以系统架构为中心的迭代与增量过程。RUP在一个二维空间中描述软件开发活动,水平轴代表时间,显示了过程动态的一面,它将一个软件生存周期分为4个阶段
8、,包括初始、细化、构造和移交阶段,每个阶段又可以分为多个迭代。8. 软件可行性研究:经济可行性、技术可行性、运行可行性、法律可行性。9. 可行性研究的步骤:对当前系统进行调查研究、导出新系统的解决方案、提出推荐方案、编写可行性论证报告。10. 可行性报告的结论。结论可区分为可立即进行、推迟进行以及不能或不值得进行3类。第三章 结构化分析与设计1. 结构化分析的两项基本任务。建立分析模型 编写需求规格说明书(SRS)(SRS应该具有准确性;SRS应该防止二义性;SRS应该直观、易读、易于修改。)2. 结构化分析模型的组成。实体联系图;数据流图;状态变换图3. 数据流图DFD(Data Flow
9、Diagram):指明数据在系统中如何流动和变换;描述对数据流进行变换的功能;DFD中每个功能的描述包含在加工说明(PSPEC)中。4. 数据流图的组成符号:5. 加工说明是对DFD中每个加工处理的说明,所使用的工具主要有: 结构化语言、判定表、判定树6. 书上例3.7和课件上的补充题,掌握使用判定表和判定树进行加工说明。例3.7 某公司对推销员的奖励办法:(1) 每周推销金额10000元,按预收货款是否超过50%,分别奖励推销额的6%或4%; (2) 每周推销金额10000元,按预收货款是否超过50%,分别奖励推销额的8%或5%;(3) 对于月薪1000元的推销员,分别另发鼓励奖300、20
10、0 和 500、300元。 判定表:判定树:可见补充题:下面是货运收费策略:计算铁路运费时,若收件地点在本省以内,快件每公斤1.5元,慢件每公斤1元。若收件地点在外省,快件每公斤2元,慢件每公斤1.5元。请分别用判定表和判定树表示。判定表:判定树:7. 结构化设计模型的组成。8. 概要设计的描述工具。体系结构设计是用来确定软件结构的,其描述工具为结构图(Structure Chart),简称SC图。(1)用矩形框表示模块;(2)用箭头或直线表示模块间的调用关系;(3)在调用线的两旁用短箭头表示传入和传出模块的数据流。9. 数据流图的两种类型变换型结构:由输入、变换中心和输出三部分组成。事务型结
11、构:具有在多种事务中选择执行某类事物的能力。10. 模块设计(详细设计、过程设计)的常用表达工具。程序流程图和N-S(盒)图。第四章 面向对象和UML(Unified Modeling Language)1. 面象对象的基本特征1. 抽象(Abtraction)抽象指忽略主题中与当前目标无关的因素,以便更充分地注意与当前目标相关的因素。2. 封装(Encapsulation)封装可用于把操作和数据包围起来,对数据的访问只通过已定义的接口来完成。3.继承(Inheritance)继承是父类和子类之间共享数据和方法的机制。一个子类可以继承它的父类中的属性和操作,子类还可以定义自己的属性和操作。在一
12、个面向对象系统中,子类和父类之间的继承关系构成了系统的类层次结构。4.多态(Polymorphism)不同类的对象可以对同一消息作出响应,执行不同的处理,称为多态。2. UML的2类图:静态图(用例图、类图、对象图、构件图、部署图);动态图(状态图、时序图、协作图、活动图)UML的5种视图:用例视图、逻辑视图、进程视图、构件视图、部署视图。3. UML中用例图由系统边界、用例、参与者、关联组成。它定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。UML特点:统一标准、面向对象、表达能力强大、可视化。4. 类之间的关系。关联关系、聚集关系、泛化关系、依赖关系。1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习 整理
限制150内