软件工程原理方法与应用第三版重点共16页

上传人:pu****.1 文档编号:510577820 上传时间:2022-12-19 格式:DOC 页数:16 大小:1.04MB
返回 下载 相关 举报
软件工程原理方法与应用第三版重点共16页_第1页
第1页 / 共16页
软件工程原理方法与应用第三版重点共16页_第2页
第2页 / 共16页
软件工程原理方法与应用第三版重点共16页_第3页
第3页 / 共16页
软件工程原理方法与应用第三版重点共16页_第4页
第4页 / 共16页
软件工程原理方法与应用第三版重点共16页_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《软件工程原理方法与应用第三版重点共16页》由会员分享,可在线阅读,更多相关《软件工程原理方法与应用第三版重点共16页(16页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上第一章 绪论1. 软件:是能够完成预定功能和性能的可执行的计算机诚信度。包括使程序正常执行所需的数据,以及有关描述程序操作和使用的文档。即:软件 = 程序 + 文档2. 软件的特征:软件的开发不同于硬件设计、不同于硬件制造、不同于硬件维修。3. 软件工程方法学:把在软件生命周期全过程中使用的一整套技术方法的集合。三要素:方法、工具、过程4. 软件工程学的范畴:软件开发技术(软件开发方法学、软件工具、软件工程环境)、软件工程管理(软件管理学、软件经济学、度量学)。5. 软件工程:是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,目

2、的是为了实现按照预期的进度和经费完成软件生产计划,同时提高软件的生产率和可靠性。6. 软件的发展:大体经历了 程序、软件、软件产品 3个阶段。7. 工具和方法是软件开发技术的2大支柱。8. 3种编程泛型:过程式编程泛型、面向对象编程泛型、基于构件技术的编程泛型9. 面向对象程序设计中,数据和操作被封装在一个对象中,对象之间则是通过消息相互联系。10. 构件:标准化/规格化的对象类。11. 3种编程泛型的差异: 粒度由小到大依次是:过程式编程范式、面向对象编程范式、基于构件的编程泛型。12. 软件工程的分化:1、传统软件工程2、面向对象软件工程3、基于构件的软件工程13. 消除软件危机的途径:正

3、确认识计算机软件;充分认识到软件开发是一种组织良好、管理严密、各类人员协同工作的工程项目;推广使用在实践中总结出来的开发软件的成功的技术和方法;开发和使用更好的软件工具。第二章 软件生存周期与软件过程1. 软件生存周期:计划、开发、运行3个时期。需求分析-软件分析-软件设计-编码测试-软件测试-运行维护2. 需求分析(用户视角):功能需求、性能需求、环境约束、外部接口描述。3. 软件分析(开发人员视角):建立与需求模型一致的,与实现无关的软件分析模型。4. 软件设计:总体设计/概要设计、详细设计(确定软件的数据结构和操作)。5. 软件测试:单元测试、集成测试、系统测试。6. 软件开发方法可区分

4、:形式化方法、非形式化方法。开发模型特点场合瀑布模型(历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发的软件产品可能并不是客户真正需要的)线性模型,每个阶段必须完成固定文档需求明确的中小型软件开发快速原型模型(正是为了克服瀑布模型的缺点提出来的,他通过快速构建起一个可以在计算机上运行的原型系统,让用户 使用原型并收集用户反馈意见的方法,获取用户的真实需求)用户介入早,通过迭代完善用户需求,应用快速开发工具需求模糊的小型软件开发增量模型(具有可在软件开发的早期阶使投资获得明显回报和交易维护的优点,但是,要求软件具有开放的结构是使用这种模型固有的困难。)每次迭

5、代完成一个增量,可用于OO开发容易分块的大型软件开发螺旋模型(适用于内开发的大型软件项目,但是只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会成功。)典型迭代模型,重视风险分析,可用于OO开发具有不确定性的大型软件开发构件集成模型(面向对象基于构件库,融合螺旋模型的特征,支持软件开发,迭代方法,软件复用思想)软件开发与构件开发平行进行,主要用于OO开发领域工程,行业的中型软件开发,主要用于oo开发转换模型(是将形式化软件开发和程序自动生成技术相结合的一种软件开发模型。)形式化的需求规格说明书,自动的程序变换系统理想化的模型,尚无成熟工具支持净室模型(是一种形式化的增量开

6、发模型,其基本思想是力求在分析和设计阶段就消除错误,确保正确,然后在无缺陷或洁净的状态下实现软件的制作。)形式化的增量开发模型,在洁净状态下实现软件的制作开发团队熟悉形式化方法,中小型软件开发7. 形式化开发模型:转换模型、净室模型8. 软件可行性研究:经济可行性、技术可行性、运行可行性、法律可行性。9. 可行性研究的步骤:对当前系统进行调查研究、导出新系统的解决方案、提出推荐方案、编写可行性论证报告。10. 可行性论证报告的内容:系统概述、可行性分析、结论意见。11. 软件风险分析包括:风险识别(项目风险、技术风险、商业风险)、风险预测、风险的驾驭和监控。12. 软件计划的7种类型:项目实施

7、计划、质量保证计划、软件测试计划、文档编制计划、用户培训计划、综合支持计划、软件分发计划。第三章 结构化分析与设计1. 瀑布模型的生命周期:需求定义与分析-总体设计-详细设计-编码-测试-维护2. 系统的开发流程(SA和SD流程):结构化分析(工具:DFD,PSPEC)-分析模型(分层DFD图)+SRS结构化设计(工具:SC图 (映射)-初始设计模型(初始SC图)初始设计模型(初始SC图)(优化)-最终设计模型(最终SC图)3. SA需求分析的两项基本任务:建立系统分析模型、编写SRS。4. 分析模型组成:功能模型、数据模型、行为模型 3种。5. 抽象 和 分解 是结构化分析的主要指导思想,细

8、化的实质是分解。分解 和 细化 是软件设计的策略。6. SD阶段把分析模型中的DFD图转换为 最终SC图。7. 传统软件的开发技术:结构化设计、模块设计。8. 软件设计:总体设计/概要设计(初始SC图、最终SC图)、详细设计(用逐步细化的方法,完成模块的说明)。9. 需求分析的步骤:需求获取、需求提炼、需求描述、需求验证。10. DFD图不能表示程序的控制结构(如选择、循环结构)。11. 加工规格说明通常用结构化语言、判定表、判定树作为描述工具。12. 软件中的数据分为3类:数据项(数据元素)、数据流(多个相关数据项)、数据文件和数据库。13. 数据字典的组成:数据项、数据流、数据存储(文件或

9、数据库)、加工(处理逻辑)、外部项(人、物或其它软件系统)。14. SD模型是由SA模型映射而来的。SA模型的数据字典可转换为待开发系统的数据设计数据流图可转换为体系结构设计(SC图)与接口设计加工规格说明可转换为模块内部的详细过程设计15. SD模型的组成:从上到下依次是:过程设计、接口设计、体系结构设计、数据设计。16. 结构化分析的基本步骤:自顶向下对系统进行功能分解,画出DFD图;由后向前定义系统的数据和加工;编制DD和PEPES;写出SRS。17. 把不需要分解的加工成为基本加工。把逐步分解成为“自顶向下,逐步细化”。18. DFD的优点:便于实现,便于使用。19. 传统的软件设计可

10、细分为:面向数据流设计(SD方法)、面向数据结构设计(Jackson方法)。20. 用数据流图表示逻辑模型,在设计阶段,按照数据流图的不同类型(变换型、事务型)转换为相应的软件结构。21. 结构化设计通常从DFD图到SC图的映射开始。22. 面向数据流的设计方法:从DFD图到SC图的映射的4个步骤 :1、复审DFD图,必要时可再次进行修改或细化;2、鉴别DFD图的结构特征:事务?变换?; 3、按照规则,把DFD图为初始的SC图 ;4、改进初始的SC图 。23. 变换型结构:由输入、变换中心和输出三部分组成。事务型结构:具有在多种事务中选择执行某类事物的能力。24. 变换映射的步骤:划分DFD图

11、的边界、建立初始SC图的框架、分解SC图的各个分支。事务映射的步骤:在DFD图上确定边界、画出SC图框架、分解和细化接受分支和发送分支。25. 优化结构设计的指导规则:对模块分割、合并和变动调用关系的指导规则、保持高扇入/低扇出的原则、作用域/控制域规则。26. 模块设计(详细设计)的主要任务是编写软件的模块设计说明书。目的是确定模块采用的算法和块内数据结构。27. 模块设计的原则:清晰第一的设计风格、结构化的控制结构、逐步细化的实现方法。28. 结构化程序设计原理和逐步细化的实现方法是完成模块设计的基础。第四章 面向对象和UML1. 面向对象的基本特征:抽象、封装、集成、多态。2. 面向对象

12、开发的优点:提高软件系统的可复用性、可扩展性、可维护性、面向对象符合人类习惯的思维方式。3. 元素之间的联系有:关联、泛化、依赖、实现、聚集、组合。4. UML的4个抽象层次:用户模型、模型、元模型、元元模型。5. UML的2类图:静态图(用例图、类图、对象图、构件图、部署图);动态图(状态图、时序图、协作图、活动图)UML的5种视图:用例视图、逻辑视图、进程视图、构件视图、部署视图。6. UML的特点:统一标准、面向对象、表达能力强,可视化。7. UML模型作为测试阶段的依据:单元测试使用类图和类规格说明;集成测试使用构件图和协作图;系统测试使用用例图来验证系统行为。8. UML中用例图由系

13、统边界、用例、参与者、关联组成。用例之间存在的关系:扩展关系、包含关系。包与包之间的关系有:依赖、泛化。9. 根据类/对象之间的具体情况,可分为普通关联,递归关联、多重关联、有序关联、限制关联、或关联、关联类10. 消息(类里面的方法加参数):简单消息、同步消息、异步消息。状态图有:初态、终态、中间态。11. 时序图中的消息可以是信号或操作调用。12. 时序图着重体现交互的时间顺序;协作图着重体现交互对象间的静态链接。13. 时序图和协作图适合描述单个用例中几个对象的行为;活动图适合表现跨越多用例或多线程的复杂行为。14. 构件图可以用来表现、编译、链接、执行时构件间的依赖关系。15. UML

14、用图表示语法,用元模型表示语义,采用模型来描述系统的结构(静态特征)以及行为(动态特征)。第五章 需求工程和需求分析1. 软件需求的3个层次:业务需求、用户需求、功能需求。软件项目中40%60%的问题源自软件需求阶段。2. 软件需求的6个特性:功能性、可用性、可靠性、性能、可支持性、设计约束。3. 需求分析的步骤:需求获取、需求建模、需求描述(编写SRS)、需求验证。4. 需求分析的主要任务:建立需求模型。需求分析是迭代过程。常见模型有:用例图、数据流图、实体联系图、控制流图、状态转换图。5. 需求获取的方法:1、建立联合分析小组 2、用户访谈。6. 获得用例的方法通过问问题:1、系统用户是谁

15、?系统维护时谁?从哪获得信息?给谁?7. 需求建模方法:结构化分析建模方法、面向对象分析建模。8. 结构化需求模型由3部分组成:功能模型(数据流图、加工规格说明书)、数据模型(数据字典、ER图)、行为模型(状态转换图、控制流图、控制规格说明书)。9. 面向对象需求模型:用例模型(用例图、用例规约)、补充规约、术语表。10. 面向对象需求建模的步骤:画用例图、写用例规约、描述补充规约、编写术语表、调整优化。11. 用例规约文档的内容:简要说明、事件流、特殊需求、前置条件和后置条件。12. 用例规约的检查:功能需求的完备性、模型是否易于理解、是否存在不一致性、避免二义性。13. 软件需求规格说明书SRS的内容:引言、信息描述、功能描述、行为描述、质量保证、接口描述、其他描述。14. 需求管理的流程:需求确认、需求跟踪、需求变更。需求跟踪有两种方式,正向跟踪与逆向跟踪。需求变更的流程:变更申请、审批、更改、更新确认。第六章 面向对象分析1. 建立面向对象分析模型步骤:1、建立类/对象层(抽象出类和对象)、2、建立属性层(设计静态属性和关系)、3、建立服务层(定义动态属

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

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

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