软件工程复习1405

上传人:m**** 文档编号:498326220 上传时间:2022-08-16 格式:DOC 页数:5 大小:408KB
返回 下载 相关 举报
软件工程复习1405_第1页
第1页 / 共5页
软件工程复习1405_第2页
第2页 / 共5页
软件工程复习1405_第3页
第3页 / 共5页
软件工程复习1405_第4页
第4页 / 共5页
软件工程复习1405_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《软件工程复习1405》由会员分享,可在线阅读,更多相关《软件工程复习1405(5页珍藏版)》请在金锄头文库上搜索。

1、复习大纲:题型: 1、单向选择题(共30分,每题2分)2、填空题(共20分,每小题1分)3、简答题(共30分,每小题6分)4、应用题(包括2小题,共20分)DFD:数据流图(Data Flow Diagram) DD:数据字典 PSPEC:加工说明(Process SPECification) SRS:软件需求规格说明书( Software Requirement Specification) SC:结构图( Structure Chart )第一章 绪论1. 软件的概念,程序和文档,软件的特征。软件的概念:软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常运行所需的数据,以及有

2、关描述程序操作和使用的文档。软件=程序+文档程序和文档:程序是为了解决某个特定问题而用程序语言描述的适合计算机处理的语句序列。程序 = 数据结构 + 算法;文档是为了理解程序而需要的文字或图形资料。软件的特征:1、软件是逻辑的不是物理的;2、软件开发不同于硬件设计;3、软件生产不同于硬件制造;4、软件维护不同与硬件维修(软件是逻辑的不是物理的,虽然不会磨损和老化,但在使用过程中的维护却比硬件复杂得多)2. 软件危机的定义:在软件的开发和维护过程中遇到的一系列严重问题表现:1、大型软件的开发费用经常超出预算;2、质量保证越来越困难;3、软件的花费越来越大,所占百分比也越来越高。产生时间:软件危机

3、开始于20世纪60年代中后期(1968年前后)原因:(1) 软件维护困难,维护费用上升;(2) 软件生产技术进步缓慢3. 软件工程的概念。软件工程:采用工程化的原理和方法对软件进行计划、开发和维护,软件工程 = 软件开发技术 + 软件工程管理4. 软件工程环境的概念。软件工程环境:方法和工具相结合,再加上配套的软、硬件支持就形成软件工程环境。5. 3种编程泛型:过程式编程泛型、面向对象编程泛型、基于构件技术的编程泛型6. 三种编程范型的比较:1、过程式编程泛型:着眼于程序的过程和基本控制的结构,粒度小; 2、面向对象编程范型:着眼于程序中的对象,粒度比较大; 3、基于构件技术的编程范型:着眼于

4、适合整个领域的类对象,粒度更大。7. 面向对象程序设计中,数据和操作被封装在一个对象中,对象之间则是通过消息相互联系。第二章 软件生存周期与软件过程1. 软件生存周期的概念。一个软件从开始计划起,到废弃不用的整个时期,称为软件生存周期2. 软件生存周期的主要活动:1、需求分析;2软件分析;3、软件设计;4、编码(测试);5、软件测试;6、运行维护3. 软件开发方法可区分:形式化方法、非形式化方法。开发模型特点场合瀑布模型(基于软件生存周期的线性开发模型,历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发的软件产品可能并不是客户真正需要的)线性模型,每个阶段必

5、须完成固定文档需求明确的中小型软件开发快速原型模型(正是为了克服瀑布模型的缺点提出来的,他通过快速构建起一个可以在计算机上运行的原型系统,让用户 使用原型并收集用户反馈意见的方法,获取用户的真实需求)用户介入早,通过迭代完善用户需求,应用快速开发工具需求模糊的小型软件开发增量模型(具有可在软件开发的早期阶使投资获得明显回报和交易维护的优点,但是,要求软件具有开放的结构是使用这种模型固有的困难。)每次迭代完成一个增量,可用于OO开发容易分块的大型软件开发螺旋模型(结合瀑布模型与快速原型模型基础上演变而成,适用于大型软件项目,但是只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型

6、才会成功。)典型迭代模型,重视风险分析,可用于OO开发具有不确定性的大型软件开发构件集成模型(面向对象基于构件库,融合螺旋模型的特征,支持软件开发,迭代方法,软件复用思想)软件开发与构件开发平行进行,主要用于OO开发领域工程,行业的中型软件开发,主要用于oo开发转换模型(是将形式化软件开发和程序自动生成技术相结合的一种软件开发模型。)形式化的需求规格说明书,自动的程序变换系统理想化的模型,尚无成熟工具支持净室模型(是一种形式化的增量开发模型,其基本思想是力求在分析和设计阶段就消除错误,确保正确,然后在无缺陷或洁净的状态下实现软件的制作。)形式化的增量开发模型,在洁净状态下实现软件的制作开发团队

7、熟悉形式化方法,中小型软件开发4. 形式化开发模型:转换模型、净室模型5. 统一过程模型RUP Rational Unified Process6. 软件可行性研究:经济可行性、技术可行性、运行可行性、法律可行性。7. 可行性研究的步骤:1、对当前系统进行调查研究;2、导出新系统的解决方案;3、提出推荐方案;4、编写可行性论证报告;5、可行性报告的结论。第三章 结构化分析与设计 SA:结构化分析 SD:结构化设计 DFD:数据流图 DD:数据字典1. SA需求分析的两项基本任务:1、建立系统分析模型;2、编写软件需求规格说明书2. 抽象 和 分解 是结构化分析的主要指导思想。3. 软件设计=总

8、体设计+详细设计4. SD阶段把分析模型中的DFD图转换为 最终SC图,产生SC图的两个步骤。5. 分解和细化是软件设计的主要策略。6. 结构化分析的基本步骤:自顶向下对系统进行功能分解,画出DFD图;由后向前定义系统的数据和加工;编制DD和PEPES;写出SRS。7. 数据流图DFD(Data Flow Diagram):指明数据在系统中如何流动和变换;描述对数据流进行变换的功能;DFD中每个功能的描述包含在加工说明(PSPEC)中。加工说明是对DFD中每个加工处理的说明,所使用的工具主要有: 结构化语言、判定表、判定树8. 数据流图的组成符号:9. 面向数据流的设计方法:从DFD图到SC图

9、的映射的4个步骤 :1、复审DFD图,必要时可再次进行修改或细化;2、鉴别DFD图的结构特征:事务?变换?; 3、按照规则,把DFD图为初始的SC图 ;4、改进初始的SC图 。10. 变换型结构:由输入、变换中心和输出三部分组成。事务型结构:具有在多种事务中选择执行某类事物的能力。11. 模块设计(详细设计)的主要任务是编写软件的模块设计说明书。第四章 面向对象和UML(Unified Modeling Language)1. 面象对象的基本特征:1、抽象;2、封装;3、继承;4、多态2. UML的2类图:静态图(用例图、类图、对象图、构件图、部署图);动态图(状态图、时序图、协作图、活动图)

10、UML的5种视图:用例视图、逻辑视图、进程视图、构件视图、部署视图。3. UML中用例图由系统边界、用例、参与者、关联组成。它定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。4. 用例之间的关系:1、扩展关系;2、包含关系(使用关系)5. 普通关联:两个类之间用一条直线连接,直线上写上关联名关联的重数:表示该类有多少个对象可以与对方的一个对象连接6. 聚集关系:聚集是一种特殊形式的关联,它表示类之间的关系是“整体与部分” 的关系。泛化关系(继承):泛化描述类之间的“一般与特殊” 关系7. 顺序图和协作图的概念。时序图描述对象之间消息传递的时间顺序协作图描述相

11、互协作的对象间的链接关系8. 一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机包括一个机箱,一个主板,多个存储器和一个电源。存储器分为固定存储器和活动存储器。固定存储器分为内存和硬盘,活动存储器分为软盘和光盘。请建立微机的类图。9. 一本书的组成有一个封面、一个目录、一个前言、若干章。每章有若干节,每节有若干段,每段有若干句子。每节还有0个或多个插图、 0个或多个表格。最后有一个附录。请建立该书的类图。10. 交通工具分为空中、陆上、水上交通工具。空中交通工具分为客机,货机,专用轻型机;陆上交通工具分为火车、汽车,火车汽车又分为客车、货车,水上交通工具有轮船,轮船分为客

12、轮、货轮、客货混合轮。建立交通工具的类图。第五章 需求工程和需求分析1. 软件需求的3个层次,具体说明。(1) 业务需求是客户或市场对软件的高层次目标要求(2) 用户需求是从用户使用角度来描述产品必须完成的任务(3) 功能需求定义了软件开发人员必须实现的软件功能2. 可靠性的概念。可靠性包括与系统可靠性相关的各种指标:正常运行率;平均无故障时间;平均修复时间;精确度;最高错误或缺陷率。3. 需求分析的步骤:需求获取、需求建模、需求描述(编写SRS)、需求验证。4. 需求获取的常用方法:常规的需求获取方法;用快速原型法获取需求5. 需求模型:结构化需求模型的组成、面向对象需求模型的组成。需求模型

13、:结构化需求模型:组成:(1)包括数据流图和加工规格说明的功能模型;(2)主要由数据字典和E-R图等组成的数据模型;(3)由状态转换图、控制流图和控制规格说明等组成的行为模型面向对象需求模型:组成:(1)用例模型;(2)补充约束和术语表;【其中用例模型又包括用例图和用例规约】6. 面向对象需求建模的步骤:画用例图、写用例规约、描述补充规约、编写术语表、调整优化。7. 需求管理的定义:需求管理是随着软件需求的发展而成长起来的管理技术。8. 需求管理的5个特定实践:9. 需求变更的流程:变更申请、审批、更改、更新确认。第六章 面向对象分析1. 建立面向对象分析模型的步骤:分析类的类型;建立对象-行

14、为模型;建立对象-关系模型2. 分析类的类型:边界类、控制类、实体类。3. 为学生选课确定边界类、控制类、实体类。4. *画出顾客注册的参与类图、维护个人信息的参与类图、维护购物车的参与类图。第七章 面向对象设计1. 软件设计的任务:把分析阶段产生的分析模型转换为软件设计模型。2. 软件设计包括:数据设计、体系结构设计、接口设计、过程设计。3. 面向对象设计准则:模块化;抽象;信息隐藏;弱耦合;强内聚;可重用4. 模块的独立性从2个方面度量:(1)模块本身的强内聚;(2)模块之间的弱耦合。5. 内聚分类:低内聚(偶然性内聚、逻辑性内聚、时间性内聚)、中内聚(过程性内聚、通讯性内聚)、高内聚(顺序性内聚、功能性内聚)。6. 耦合分类:弱耦合(非直接耦合、数据耦合、特征耦合)、中耦合(控制耦合)、较强耦合(外部耦合、公共耦合)、强耦合(内容耦合)。7. 一个模块,一个功能 是模块化设计的一条准则。8. OO设计模型由系统架构层、类和对象层、消息层、责任层4个层次组成。 5 / 5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号