系统开发规范与文档编写课程辅导

上传人:夏** 文档编号:567698937 上传时间:2024-07-22 格式:PPT 页数:121 大小:465KB
返回 下载 相关 举报
系统开发规范与文档编写课程辅导_第1页
第1页 / 共121页
系统开发规范与文档编写课程辅导_第2页
第2页 / 共121页
系统开发规范与文档编写课程辅导_第3页
第3页 / 共121页
系统开发规范与文档编写课程辅导_第4页
第4页 / 共121页
系统开发规范与文档编写课程辅导_第5页
第5页 / 共121页
点击查看更多>>
资源描述

《系统开发规范与文档编写课程辅导》由会员分享,可在线阅读,更多相关《系统开发规范与文档编写课程辅导(121页珍藏版)》请在金锄头文库上搜索。

1、系统开发规范与文档编写 课程辅导 徐惠民徐惠民第一章在在直直播播课课堂堂中中介介绍绍了了本本课课程程特特点点、教教材材的的特特色色、学学习习方方法法、教教材材的的体体系系结结构构和和主主要要内内容容。这这一一次次则则是是对对各各章章内内容容中中的的重重点点和和难难点点作作一一些些具具体的辅导。体的辅导。第一章第一章的重点:第一章的重点:a. 掌握软件的定义掌握软件的定义b. 掌握软件工程基本概念掌握软件工程基本概念c. 掌握软件生命周期的划分和瀑布掌握软件生命周期的划分和瀑布模型模型第一章软件的定义:软件的定义:软件是为了特定目的而开发的程序、软件是为了特定目的而开发的程序、数据和文档的集合。

2、数据和文档的集合。特别需要强调的是:文档也是软件特别需要强调的是:文档也是软件的重要组成部分。的重要组成部分。第一章还需要了解:什么是软件危机及其产生还需要了解:什么是软件危机及其产生的原因。的原因。软件危机是指在计算机软件的开发和维软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题:护过程中所遇到的一系列严重问题: 软软件件往往往往不不能能按按计计划划、按按预预算算、按按时时完完成成 已开发的软件不能很好的使用,甚至很已开发的软件不能很好的使用,甚至很快就不用快就不用第一章美美 国国 政政 府府 Accounting Office计计 算算 局局1979年的统计:年的统计: 正

3、常使用的:正常使用的:2 修改后使用的:修改后使用的:3 开发完了而不使用的:开发完了而不使用的:47(不完善)(不完善) 放弃开发的:放弃开发的:19 没有递交的:没有递交的:29第一章软件危机产生的原因软件危机产生的原因uu软件需求不充分软件需求不充分uu软件开发无计划性软件开发无计划性uu软件开发过程无规范性软件开发过程无规范性uu软件无评测手段软件无评测手段第一章软件工程的基本概念:软件工程的基本概念:什么是软件工程;什么是软件工程;软件工程的目标和研究对象;软件工程的目标和研究对象;软件工程的基本软件工程的基本原理原理。第一章什么是软件工程:什么是软件工程: Fritz Bauer在

4、在NATO会议会议上给出的上给出的定义:定义:建建立立并并使使用用完完善善的的工工程程化化原原则则,以以能能够够经经济济地地获获得得能能在在实实际际机机器器上上有有效效运运行行的的可可 靠靠 软软 件件( Software Engineering is the establishment & use of sound engineering principles in order to obtain economically software that is reliable & work efficiently on real machines)第一章软件工程的目标:软件工程的目标:软软件件

5、产产品品的的高高质质量量首首先先是是软软件件的的正正确确性性和可用性和可用性高可靠性高可靠性易维护易维护低成本低成本及时投放市场及时投放市场第一章软件工程的研究对象由三个具有层软件工程的研究对象由三个具有层次关系的要素组成:过程、方法和次关系的要素组成:过程、方法和工具。工具。 过程方法工具第一章软件工程的基本原理:软件工程的基本原理:指指软软件件工工程程专专家家B.W.Boehm提提出出的的7条基本原理:条基本原理:1.用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理2.坚持进行阶段评审坚持进行阶段评审3.实行严格的产品控制实行严格的产品控制第一章4.采用现代程序设计技术采用现代

6、程序设计技术5.结果应能清楚地审查结果应能清楚地审查6.开发小组的人员应该少而精开发小组的人员应该少而精7.承认不断改进软件工程实践的必承认不断改进软件工程实践的必要性要性第一章掌握软件生命周期的划分和瀑布模型掌握软件生命周期的划分和瀑布模型生生命命周周期期方方法法学学就就是是从从时时间间角角度度对对软软件件开开发发和和维维护护的的复复杂杂问问题题进进行行分分解解,把把软软件件生生命命的的漫漫长长周周期期依依次次划划分分为为若若干干个个阶阶段段,每每个个阶阶段段都都有有相相对对独独立立的的任任务务,然然后后逐逐步步完完成每个阶段的任务。成每个阶段的任务。 第一章软件生命周期划分为六个阶段:计软

7、件生命周期划分为六个阶段:计划、需求分析、设计、编码、测试、划、需求分析、设计、编码、测试、运行维护。运行维护。有时称为制造软件产品的直接过程。有时称为制造软件产品的直接过程。第一章除除了了直直接接过过程程外外,还还需需要要一一些些贯贯穿穿于于整整个个软软件件开开发发过过程程的的辅辅助助过过程程。辅辅助助过过程程包包括括项项目目管管理理过过程程,配配置置管理过程和质量管理过程。管理过程和质量管理过程。制造软件产品的过程 直接过程间接过程第一章软软件件过过程程可可以以通通过过软软件件过过程程模模型型来来表表示示。最最经经典典的的过过程程模模型型是是瀑瀑布布模模型。型。第一章第一章瀑布模型的特征瀑

8、布模型的特征接接收收上上一一项项活活动动的的输输出出作作为为本本项项活活动动的的输输入;入;实施本项活动应该完成的工作;实施本项活动应该完成的工作;将将本本项项活活动动的的工工作作成成果果输输出出,作作为为下下一一项项活动的输入活动的输入优优点点:支支持持结结构构化化软软件件开开发发、控控制制了了软软件件开发的复杂性、促进了软件开发工程化开发的复杂性、促进了软件开发工程化第一章其他软件工程模型:其他软件工程模型:除除了了瀑瀑布布模模型型外外,还还有有其其他他许许多多软软件件工工程程模模型型(原原型型模模型型、快快速速应应用用开开发发模模型型、演演化化模模型型等等)。对对于于这这些些模模型型重重

9、点点不不在在于于模模型型的的细细节节,而而在于过程模型的发展。在于过程模型的发展。第一章就就是是要要理理解解为为什什么么要要有有新新的的模模型型的的出出现现,了了解解不不同同过过程程模模型型之之间间的的互互相相联联系系又又互互有有区区别别,只只有有理理解解了了他他们们之之间间的的联联系系和和区区别别才才能能在在未未来来实实践践中中为为不不同同的的环环境境选选择合适的过程模型。择合适的过程模型。各各种种新新的的模模型型几几乎乎都都有有一一个个共共同同的的特特点点:迭代开发。迭代开发。第一章第一章还有一些需要关注的内容:第一章还有一些需要关注的内容:1. 了解软件工程知识体系了解软件工程知识体系2

10、. 了解软件能力成熟度模型了解软件能力成熟度模型软件能力成熟度模型,软件能力成熟度模型,CMM,是是衡量一个软件开发组织开发能力的衡量一个软件开发组织开发能力的标准,它包括标准,它包括5个级别初始级、可个级别初始级、可重复级、确定级、可管理级、优化重复级、确定级、可管理级、优化级。级。 第二章第二章第二章a. 掌握需求工程的概念掌握需求工程的概念b. 掌握结构化需求分析掌握结构化需求分析c. 面向对象需求分析面向对象需求分析d. 理解各种需求获取技术理解各种需求获取技术e. 了解需求管理和支持工具了解需求管理和支持工具第二章需求工程确定系统需求工程确定系统“做什么做什么”,但,但并不涉及系统并

11、不涉及系统“怎么做怎么做”,需求工,需求工程的成果是软件需求规格说明书。程的成果是软件需求规格说明书。需求过程的全过程包括:需求获取、需求过程的全过程包括:需求获取、需求建模、形成需求规格、需求验需求建模、形成需求规格、需求验证和需求管理证和需求管理 。第二章需求工程的重要性需求工程的重要性 需求工程处于软件工程过程的开始需求工程处于软件工程过程的开始阶段,是软件工程其余部分得以顺阶段,是软件工程其余部分得以顺利进行的根基。利进行的根基。 第二章需求获取需求获取需需求求获获取取是是需需求求工工程程的的第第一一步步,获获取取的的需需求求是是否否正正确确、全全面面,决决定定所所开开发发出出来来的软

12、件是否能够满足用户的需要的软件是否能够满足用户的需要.需需求求获获取取过过程程涉涉及及到到和和用用户户的的交交流流,目目前前还还缺缺乏乏一一种种规规范范的的方方法法,并并在在很很大大程程度上依赖于需求获取者的专门知识。度上依赖于需求获取者的专门知识。需求获取既重要又困难。需求获取既重要又困难。第二章需求分析(需求建模)需求分析(需求建模)目前已经出现了很多种需求分析的目前已经出现了很多种需求分析的方法,但最常使用的是传统的结构方法,但最常使用的是传统的结构化需求分析方法和面向对象的分析化需求分析方法和面向对象的分析方法。方法。第二章结构化需求分析方法概述结构化需求分析方法概述结结构构化化需需求

13、求分分析析使使用用自自顶顶向向下下、逐逐层层分分解解的的系系统统分分析析方方法法来来定定义义系系统统的的需需求求,适适合合于于开开发发数数据据处处理理类类型型软软件件的的需需求求分分析析,特特别别是是企企业业事事业业单单位位中中有有关数据管理类型应用软件的开发。关数据管理类型应用软件的开发。第二章数数据据流流图图是是结结构构化化需需求求分分析析中中使使用用的主要方法,需要掌握。的主要方法,需要掌握。数数据据流流图图用用一一套套简简单单的的符符号号来来描描绘绘信信息息在在系系统统中中流流动动和和处处理理的的情情况况,是是软软件件设设计计人人员员和和用用户户之之间间极极好好的的通通信信工工具具,是

14、是结结构构化化分分析析方方法法的的核核心。心。 第二章数据流图中有四种主要元素:数据数据流图中有四种主要元素:数据源,加工,存储和数据流。源,加工,存储和数据流。 第二章 数据源:数据的源点和终点数据源:数据的源点和终点分别代表数据的生产者和消分别代表数据的生产者和消费者,可以是系统之外的人、费者,可以是系统之外的人、物、组织或别的系统。物、组织或别的系统。数据的加工或处理将输入的数据的加工或处理将输入的数据的加工或处理将输入的数据的加工或处理将输入的数据变换成输出数据。当然,数据变换成输出数据。当然,数据变换成输出数据。当然,数据变换成输出数据。当然,不可能只通过一个加工完成不可能只通过一个

15、加工完成不可能只通过一个加工完成不可能只通过一个加工完成数据的变换。数据的变换。数据的变换。数据的变换。数据流是一种成分已知的信数据流是一种成分已知的信数据流是一种成分已知的信数据流是一种成分已知的信息包,可以包含若干个已知息包,可以包含若干个已知息包,可以包含若干个已知息包,可以包含若干个已知的信息。是描述数据流图中的信息。是描述数据流图中的信息。是描述数据流图中的信息。是描述数据流图中各个部件的接口。各个部件的接口。各个部件的接口。各个部件的接口。数据存储表示系统所需要保数据存储表示系统所需要保数据存储表示系统所需要保数据存储表示系统所需要保存的信息。存的信息。存的信息。存的信息。第二章分

16、层数据流图分层数据流图稍微复杂的实际问题,如果把所有稍微复杂的实际问题,如果把所有的加工都画在同一张图上,一方面的加工都画在同一张图上,一方面增加了画图的复杂性,另一方面,增加了画图的复杂性,另一方面,这样的数据流图看起来很不清楚,这样的数据流图看起来很不清楚,降低了数据流图的可读性。降低了数据流图的可读性。 第二章中间层数据流图中间层数据流图中中间间层层数数据据流流图图是是对对高高层层数数据据流流图图(即即父父图)中的加工的分解。图)中的加工的分解。在在高高层层数数据据流流图图中中每每一一个个需需要要分分解解的的加加工工各对应一个下一层数据流图。各对应一个下一层数据流图。顶层图分解后的子图就

17、是顶层图分解后的子图就是0层图。层图。一一个个数数据据流流图图中中有有几几个个加加工工要要分分解解,就就有有几张低层数据流图。几张低层数据流图。要求能根据描述,画出顶层图和要求能根据描述,画出顶层图和0层图。层图。第二章数据流图实例:设备管理系统数据流图实例:设备管理系统维护公司所有设备的基本资料维护公司所有设备的基本资料对设备进行定期检修对设备进行定期检修报修管理报修管理设备维修的费用上报公司财务部门设备维修的费用上报公司财务部门第二章第二章从顶层图到从顶层图到0层图:层图: 第二章数据字典数据字典 数数据据字字典典是是对对系系统统用用到到的的所所有有数数据据项项和和结结构构的的精精确确定定

18、义义,以以确确保保开开发人员使用统一的数据定义。发人员使用统一的数据定义。数数据据字字典典与与数数据据流流图图配配合合,能能清清楚楚地表达数据处理的要求。地表达数据处理的要求。第二章为了让用户、系统分析员和程序员为了让用户、系统分析员和程序员都了解各个功能单元(最低层数据都了解各个功能单元(最低层数据流图的加工)的具体逻辑功能,还流图的加工)的具体逻辑功能,还必须对各功能单元做出详细的说明。必须对各功能单元做出详细的说明。 加工小说明的主要工具:结构化语加工小说明的主要工具:结构化语言、判定表和判定树言、判定表和判定树 。第二章基于用例的需求获取技术基于用例的需求获取技术 用用例例方方法法引引

19、起起了了面面向向对对象象领领域域的的极极大大关关注注。自自1994年年Ivar Jacobson的的著著作作出出版版后后,面面向向对对象象领领域域已已广广泛泛接接纳纳了了用用例例这这一一概概念念,并并认认为为它它是是第第二二代面向对象技术的标志代面向对象技术的标志。第二章用用 例例 模模 型型 描描 述述 的的 是是 外外 部部 执执 行行 者者(Actor)所理解的系统功能。所理解的系统功能。用用例例模模型型用用于于需需求求分分析析阶阶段段,它它的的建建立立是是系系统统开开发发者者和和用用户户反反复复讨讨论论的的结结果果,表表明明了了开开发发者者和和用用户户对对需需求规格达成的共识求规格达成

20、的共识。第二章用例模型的特点用例模型的特点 首先,它描述了待开发系统的功能需求;首先,它描述了待开发系统的功能需求;其其次次,它它将将系系统统看看作作黑黑盒盒,从从外外部部执执行行者者的角度来理解系统;的角度来理解系统;第三,它驱动了需求分析之后各阶段的开第三,它驱动了需求分析之后各阶段的开发工作发工作 。不仅在开发过程中保证了系统所不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所有功能的实现,而且被用于验证和检测所开发的系统开发的系统。第二章用用例例模模型型的的最最重重要要的的两两个个概概念念是是:参参与与者者和和用用例例。也也要要表表示示参参与与者者和和用用例例的的通通信信

21、参与者是为了完成某个事件而与系统进行参与者是为了完成某个事件而与系统进行交互的实体,交互的实体, 用例描述系统完成的动作序列,产生对特用例描述系统完成的动作序列,产生对特定参与者有价值的结果。或者说,用例描定参与者有价值的结果。或者说,用例描述了用户和系统之间的交互,并且它侧重述了用户和系统之间的交互,并且它侧重于系统为用户于系统为用户“做什么做什么”。 第二章用例,参与者及其关联关系可以显示在用例用例,参与者及其关联关系可以显示在用例图中。例如,电话的呼叫者可以拨打本地电图中。例如,电话的呼叫者可以拨打本地电话和长途电话,与被呼叫者通话。以下是拨话和长途电话,与被呼叫者通话。以下是拨打电话的

22、用例图。打电话的用例图。 第二章ATM自动柜员机用例图自动柜员机用例图第二章用用例例的的扩扩展展关关系系:表表示示系系统统的的扩扩展展功能;功能;用用例例的的包包含含关关系系:表表示示多多个个基基本本用用例都可以使用的用例例都可以使用的用例用用例例的的泛泛化化关关系系:从从几几个个用用例例中中抽抽象出来的共同行为的父用例象出来的共同行为的父用例第三章第三章第三章a. 掌握结构化软件设计概念。掌握结构化软件设计概念。b掌握结构化软件设计方法。掌握结构化软件设计方法。c理解概要设计和详细设计概念。理解概要设计和详细设计概念。d了解了解Jackson软件开发方法。软件开发方法。第三章软件需求解决软件

23、需求解决“做什么做什么”;软件设计解决软件设计解决“如何做如何做”;第三章结构化软件设计分为两个阶段结构化软件设计分为两个阶段概要设计:概要设计的任务和步骤包括:概要设计:概要设计的任务和步骤包括:设计软件系统结构;数据结构及数据库设设计软件系统结构;数据结构及数据库设计;可靠性设计;编写概要设计文档和概计;可靠性设计;编写概要设计文档和概要设计评审。要设计评审。 详细设计:确定模块内部的算法和数据结详细设计:确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。构,产生描述各模块程序过程的详细文档。 第三章软件设计中用到概念主要包括:软件设计中用到概念主要包括:抽象与逐步求精抽象与

24、逐步求精模块化与信息隐藏模块化与信息隐藏软件体系结构软件体系结构软件结构与软件过程软件结构与软件过程等等第三章模块独立性的概念模块独立性的概念模块完成独立的功能模块完成独立的功能符合信息隐藏和信息局部化原则符合信息隐藏和信息局部化原则模块间关联和依赖程度尽量小模块间关联和依赖程度尽量小 第三章模块独立性的度量模块独立性的度量模模块块之之间间的的耦耦合合性性要要越越弱弱越越好好,即即低低耦合;耦合;模模块块自自身身的的内内聚聚性性要要越越强强越越好好,即即高高内聚。内聚。目目的的是是增增加加模模块块的的独独立立性性,减减少少模模块之间的依赖程度。块之间的依赖程度。 第三章耦合性由低到高的排列是:

25、耦合性由低到高的排列是: 非非直直接接耦耦合合、数数据据耦耦合合、标标记记耦耦合合、控控制制耦耦合合、外外部部耦耦合合、公公共共耦耦合、内容耦合。合、内容耦合。 第三章非直接耦合:模块间没有直接关系;非直接耦合:模块间没有直接关系;数据耦合:通过数据参数发生关系;数据耦合:通过数据参数发生关系;标标记记耦耦合合:通通过过一一个个公公共共的的数数据据结结构构发发生生联联系;系;控制耦合:通过控制信息发生联系;控制耦合:通过控制信息发生联系;外外部部耦耦合合:一一组组模模块块都都访访问问同同一一全全局局简简单单变变量量公共耦合:通过公共的数据区发生联系;公共耦合:通过公共的数据区发生联系;内容耦合

26、:两个模块直接联系内容耦合:两个模块直接联系。第三章内聚星由高到低的排列是:内聚星由高到低的排列是: 功功能能内内聚聚、信信息息内内聚聚、通通信信内内聚聚、过过程程内内聚聚、时时间间内内聚聚、逻逻辑辑内内聚聚、巧合内聚。巧合内聚。第三章概要设计的主要任务是建立软件系概要设计的主要任务是建立软件系统的体系结构。统的体系结构。 解决划分多少模块,模块之间的层次解决划分多少模块,模块之间的层次结构和调用关系是怎样的。同时还要结构和调用关系是怎样的。同时还要设计数据结构和数据库结构、人机接设计数据结构和数据库结构、人机接口等。口等。 第三章结构化设计方法结构化设计方法是是基基于于模模块块化化、自自顶顶

27、向向下下逐逐层层细细化化、结结构构化化程程序序设设计计等等程程序序设设计计技技术术基基础础上上发发展起来的。展起来的。它它以以结结构构化化分分析析产产生生的的数数据据流流图图为为依依据据,将将数数据据流流图图按按一一定定的的步步骤骤映映射射成成软软件件结结构。构。第三章结结构构化化设设计计的的目目的的是是要要把把数数据据流流图图映映射射成成软软件件结结构构,而而不不同同的的数数据据流流图图具具有有不不同同的的映映射射方方法法。一一般般来来说说无无论论数数据据流流图图如如何何庞庞大大复复杂杂,都都可可以以分分为为变变换换型型数数据据流流图图和和事事务务型型数数据流图两类。据流图两类。第三章详细设

28、计详细设计完成概要设计后,已将系统划分为完成概要设计后,已将系统划分为多个模块,确定了每个模块的功能多个模块,确定了每个模块的功能及模块与模块之间的外部接口。详及模块与模块之间的外部接口。详细设计是软件设计的第二阶段。细设计是软件设计的第二阶段。 第三章详细设计的主要任务详细设计的主要任务确定每个具体执行过程,正确实现每确定每个具体执行过程,正确实现每个模块的功能个模块的功能为软件结构图为软件结构图(SC)中的每一个模块确中的每一个模块确定采用的算法和模块内数据结构,用定采用的算法和模块内数据结构,用某种选定的表达工具给出清晰的描述某种选定的表达工具给出清晰的描述。第三章详细设计过程中采用的方

29、法详细设计过程中采用的方法结构化程序设计;结构化程序设计;采用程序流图采用程序流图、PAD图、图、PDL语言等语言等工具来描述。工具来描述。 第三章JSP是一种面向数据结构,以数据是一种面向数据结构,以数据驱动的,主要为中小型数据处理系驱动的,主要为中小型数据处理系统设计程序结构的一种开发方法。统设计程序结构的一种开发方法。它的优点是在建立了问题的数据结它的优点是在建立了问题的数据结构之后,可直接推导出相应的程序构之后,可直接推导出相应的程序结构。结构。 第三章JSD方法方法是是JSP的扩充,主要是为的扩充,主要是为了解决了解决JSP针对设计较大系统时候针对设计较大系统时候会在输入数据结构和输

30、出数据结构会在输入数据结构和输出数据结构之间产生大量复杂的难以应付的结之间产生大量复杂的难以应付的结构冲突的问题。构冲突的问题。 第四章面向对象基础面向对象基础对象对象(Object)类(类(Class)继承继承(Inheritance)消息消息(Message)多多态态性性(Polymorphism)和和动动态态绑绑定定(dynamic binding)第四章面向对象面向对象 = 对象对象 + 类类 + 继承继承 + 消消息通信息通信 什么是面向对象方法什么是面向对象方法:一种运用对象、一种运用对象、类、继承、聚合、消息传送、多态类、继承、聚合、消息传送、多态性等概念来构造系统的软件开发方性

31、等概念来构造系统的软件开发方法法 第四章面向对象分析的目标面向对象分析的目标:定义所有和被求解的问题相关的类,定义所有和被求解的问题相关的类,以及和这些类相关联的关系和行为。以及和这些类相关联的关系和行为。 第四章步骤:步骤:获取用户对获取用户对OO系统的需求,包括表示场系统的需求,包括表示场景或者用例;建造需求模型。景或者用例;建造需求模型。为每个系统对象标识属性和操作。为每个系统对象标识属性和操作。定义组织类的结构和层次。定义组织类的结构和层次。建造对象建造对象-关系模型。关系模型。建造对象建造对象-行为模型。行为模型。使用用例使用用例/场景复审场景复审OO分析模型。分析模型。 第四章面向

32、对象分析过程面向对象分析过程获取用户对系统的需求获取用户对系统的需求标识类和对象标识类和对象定义类的结构和层次定义类的结构和层次第四章面面 向向 对对 象象 设设 计计 ( Object-Oriented Design, OOD)是是将将OOA所所创创建建的的分分析析模模型型转转化化为为设设计计模模型型。与与传传统统的的开开发发方方法法不不同同,OOD和和OOA采采用用相相同同的的符符号号表表示示,OOD和和OOA没没有有明明显显的的分分界界线线,它它们们往往往往反反复复迭迭代代进进行行。在在OOA时时,主主要要考考虑虑系系统统做做什什么么,而而不不关关心心系系统统如如何何实实现现。在在OOD

33、时时,主主要要解解决决系系统统如如何何做做第四章OOD是是在在OOA的的基基础础上上进进行行的的。它它以以OOA模模型型作作为为输输入入,根根据据实实现现的的要要求求对对OOA作作必必要要的的修修改改与与调调整整,或或补补充充某某些些细细节节,其其结结果果便便是是OOD模模型型的的主主要要部部分分,称称问问题题域域部部分分。此此外外,OOD还还要要补补充充几几个个相相对对独独立立,并并且且隔隔离离了了具具体体实实现现条条件件对对问问题题域域部部分分影影响响的的外外围围组组成成部部分分,如如下图所示。下图所示。第四章OOD活动活动问题域部分的设计问题域部分的设计人机交互部分的设计人机交互部分的设

34、计控制驱动部分的设计控制驱动部分的设计数据接口部分的设计数据接口部分的设计 第四章典型面向对象方法简介典型面向对象方法简介Coad/Yourdon面面向向对对象象分分析析与与设计技术设计技术对象建模技术(对象建模技术(OMT) 第四章Coad与与Yourdon面向对象分析的概念面向对象分析的概念模型的五个层次模型的五个层次类与对象层类与对象层属性层属性层服务层服务层结构层结构层主题层主题层 当五个层次的工作全部完成时,当五个层次的工作全部完成时,OOA的任的任务也就完成了。务也就完成了。 第四章J. Rumbaugh和他的四位合伙者和他的四位合伙者于于1991年提出对象建模技术年提出对象建模技

35、术(Object Modeling Technique,OMT)。)。它把分析它把分析时收集的信息构造在三类模型中,时收集的信息构造在三类模型中,即对象模型、功能模型和动态模型。即对象模型、功能模型和动态模型。第四章对象模型是三个模型中最关键的模对象模型是三个模型中最关键的模型。对象模型定义型。对象模型定义“对谁做对谁做”。 通过状态图和事件追踪图来描述动通过状态图和事件追踪图来描述动态模型。动态模型定义态模型。动态模型定义“何时做何时做”。 功能模型定义功能模型定义“做什么做什么”。 第四章统一建模语言统一建模语言90年代以来出现了多种面向对象的方法,客观上年代以来出现了多种面向对象的方法,

36、客观上使面向对象的方法和技术得到了广泛的认可并逐使面向对象的方法和技术得到了广泛的认可并逐渐成为当前软件开发的主流方法。渐成为当前软件开发的主流方法。但是每种方法都有自己的表示方法,过程和工具,但是每种方法都有自己的表示方法,过程和工具,使软件人员之间沟通交流形成了障碍。使软件人员之间沟通交流形成了障碍。统一建模语言(统一建模语言(Unified Modeling Language,UML)正是鉴于这一情况,在吸正是鉴于这一情况,在吸收多种面向对象建模方法的基础上而形成的。收多种面向对象建模方法的基础上而形成的。第四章ULM简介:简介:一一个个现现实实的的软软件件系系统统我我们们可可以以从从不

37、不同同视视角角去去观观察察、剖剖析析它它,每每一一个个角角度度观观察察的的结结果果构构成成系系统统的的一一个个视视图图(view),每每个个视视图图说说明明了了系系统统的的一一个个侧侧面,是整个系统描述的一个投影。面,是整个系统描述的一个投影。在在UML中中视视图图是是由由若若干干个个图图(diagram)组组成成的的一一种种抽抽象象。一一个个图图(diagram)描描述述了了系系统统某个特殊方面的信息某个特殊方面的信息图又是由若干个模型元素构成。图又是由若干个模型元素构成。第四章第四章连接关系:连接关系:关联(关联(association):):连接模型元素及实例连接模型元素及实例泛化(泛化

38、(generalization):):表示一般与特殊关表示一般与特殊关系,即系,即“一般一般”元素是元素是“特殊特殊”元素的泛化,元素的泛化,“特殊特殊”元素是元素是“一般一般”元素的特化元素的特化(specialization)依赖(依赖(dependency):):表示一个元素以某种表示一个元素以某种方式依赖另外一个元素方式依赖另外一个元素聚集聚集(aggregation):):表示整体与部分,即:表示整体与部分,即:“部分部分”元素是元素是“整体整体”元素的一部分元素的一部分第四章UML中有九种图(中有九种图(diagram)和五种和五种视图视图(view)。)。九种图包括:用例图、九种

39、图包括:用例图、类图、对象图、状态图、顺序图、协作类图、对象图、状态图、顺序图、协作图、活动图、构件图和部署图。用来观图、活动图、构件图和部署图。用来观察系统的五种视图有:用例视图、逻辑察系统的五种视图有:用例视图、逻辑视图、构件视图、并发视图和部署视图。视图、构件视图、并发视图和部署视图。 第四章类图:描述系统中所有类的类型,类所类图:描述系统中所有类的类型,类所具有的属性和操作,以及类与类之间的具有的属性和操作,以及类与类之间的静态的相互联系。静态的相互联系。 对象图:是类图的实例对象图:是类图的实例 顺序图:顺序图显示特定用例(也可以顺序图:顺序图显示特定用例(也可以是用例的一部分)的详

40、细流程。是用例的一部分)的详细流程。 第四章用例图用例图: :展示了各个类外部参与者与展示了各个类外部参与者与系统所提供的用例之间的连接。一系统所提供的用例之间的连接。一个用例是系统所提供的一个功能。个用例是系统所提供的一个功能。状态图:是对某个类可能所处的不状态图:是对某个类可能所处的不同状态和该类从一个状态转换到另同状态和该类从一个状态转换到另外一个状态的描述。外一个状态的描述。 第四章协作图:也展示对象间的动态协作协作图:也展示对象间的动态协作关系。强调多个对象间的协作关系。强调多个对象间的协作 活动图:描述完成一个操作所需要活动图:描述完成一个操作所需要的活动。活动图由动作状态组成。的

41、活动。活动图由动作状态组成。 第四章构件图:构件图用于程序设计工作,构件图:构件图用于程序设计工作,显示代码本身的结构。显示代码本身的结构。 部署图:显示系统运行时刻的结构,部署图:显示系统运行时刻的结构,包括硬件结构和软件结构。包括硬件结构和软件结构。 第四章用例视图:用例视图从用户角度描述系用例视图:用例视图从用户角度描述系统功能,并指出各功能的操作者。统功能,并指出各功能的操作者。逻辑视图:展示了系统内部如何提供系逻辑视图:展示了系统内部如何提供系统功能的。该视图通过类图和对象图来统功能的。该视图通过类图和对象图来描述系统的静态结构;用状态图、顺序描述系统的静态结构;用状态图、顺序图、协

42、作图、活动图来描述系统的动态图、协作图、活动图来描述系统的动态行为。行为。 第四章构件视图:展示了代码构件的组织构件视图:展示了代码构件的组织(相互关系)。(相互关系)。并发视图:展示了系统的并发性并发视图:展示了系统的并发性 (线程和它们的通信)。(线程和它们的通信)。部署视图:展示了系统的物理部署。部署视图:展示了系统的物理部署。 第四章UML建模建模用例模型:用于系统需求的获取,描述用例模型:用于系统需求的获取,描述系统的功能需求。系统的功能需求。静态模型:它把问题域与应用域有关的静态模型:它把问题域与应用域有关的各种类、对象以及它们之间的相互关系各种类、对象以及它们之间的相互关系进行适

43、当的抽象和分类,以揭示系统的进行适当的抽象和分类,以揭示系统的结构。使用类图、对象图。结构。使用类图、对象图。 第四章动态模型:描述系统的动态行为,动态模型:描述系统的动态行为,显示对象在系统运行期间不同时刻显示对象在系统运行期间不同时刻的动态交互,从而实现一组对象的的动态交互,从而实现一组对象的相应功能。相应功能。UML中用状态图、顺序中用状态图、顺序图、协作图和活动图来建立动态模图、协作图和活动图来建立动态模型。型。 第四章实现模型:系统的实现模型包括构实现模型:系统的实现模型包括构件图和配置图。它们描述了系统实件图和配置图。它们描述了系统实现时的一些特性。现时的一些特性。第四章使用使用U

44、ML的过程的过程系统需求系统需求系统需求分析;系统需求分析;静态结构模型静态结构模型动态结构模型动态结构模型 第四章UML给给出出了了面面向向对对象象建建模模的的表表示示和和规规则则,但但并并没没有有指指定定应应用用UML的的过过程程和和方方法法,因因为为它它的的设设计计初初衷衷是是为为了了在在尽尽可可能能多多的的领领域域内内得得到到广广泛泛的的应应用用。尽尽管管如如此此,要要想想成成功功的的使使用用UML,科学的过程还是必要的。科学的过程还是必要的。第四章使用使用UML的过程的基本特征是:的过程的基本特征是:以架构为中心(以架构为中心(architecture-centric)用例驱动(用例

45、驱动(use-case driven)迭代(迭代(iterative)增量式开发(增量式开发(incremental)。)。 第四章面向对象一般方法面向对象一般方法 面向对象的软件开发过程是一个迭代增量面向对象的软件开发过程是一个迭代增量式的过程,它并没有一个具体的、固定的式的过程,它并没有一个具体的、固定的格式,只是存在一个大致统一的过程框架。格式,只是存在一个大致统一的过程框架。从大体上来讲,面向对象的软件开发过程从大体上来讲,面向对象的软件开发过程仍可划分为分析、设计、编程、测试等步仍可划分为分析、设计、编程、测试等步骤,但各个步骤之间并没有严格的边界,骤,但各个步骤之间并没有严格的边界

46、,而且允许有一定的相交和回朔。而且允许有一定的相交和回朔。第四章考勤系统的分析与设计考勤系统的分析与设计 在考勤系统中,雇员利用这个系统来在考勤系统中,雇员利用这个系统来记录考勤时间,并能够用它来浏览、记录考勤时间,并能够用它来浏览、更新和增加新的时间记录;系统管理更新和增加新的时间记录;系统管理员能管理系统中的雇员,如添加、修员能管理系统中的雇员,如添加、修改和删除雇员,并且能够导入改和删除雇员,并且能够导入/导出时导出时间数据。间数据。 第四章参与者有:雇员(参与者有:雇员(Employee)和和管理员管理员(Administrator)。)。 “记录时间记录时间”(Record Time

47、)用例,用例,“导入导入/导出系统数据导出系统数据”(In/Export Time Entries)用例,用例,“创建雇员创建雇员”(Create Create EmployeeEmployee) 。 第四章第五章第五章第五章a. 掌握软件配置管理的基本概念掌握软件配置管理的基本概念b. 了解软件配置管理的方法和过程了解软件配置管理的方法和过程第五章软件配置管理软件配置管理(Software Configuration Management, SCM)是一门应用技术、管理和监督相结合的学是一门应用技术、管理和监督相结合的学科,科,通过标识和文档来记录配置项的功能和物通过标识和文档来记录配置项的

48、功能和物理特性,理特性,控制这些特性的变更,记录和报告变更的控制这些特性的变更,记录和报告变更的过程和状态,并验证它们与需求是否一致。过程和状态,并验证它们与需求是否一致。 第五章一个基本的软件配置管理系统应该一个基本的软件配置管理系统应该提供提供版本控制功能版本控制功能变更管理功能变更管理功能状态统计功能状态统计功能配置审核功能。配置审核功能。第五章软件配置项指的是一个硬件,软件软件配置项指的是一个硬件,软件或者软硬件的集合,配置项是为了或者软硬件的集合,配置项是为了配置管理而指定的,并在配置管理配置管理而指定的,并在配置管理过程中被当作单一实体。过程中被当作单一实体。 在软件开发工程中的一

49、切文档都可以在软件开发工程中的一切文档都可以看作是配置项。看作是配置项。第五章基线:是软件生存期各开发阶段末基线:是软件生存期各开发阶段末尾的特定点,也称为里程碑。基线尾的特定点,也称为里程碑。基线是软件配置管理的一个重要概念,是软件配置管理的一个重要概念,它帮助实现对变更的控制。它帮助实现对变更的控制。 软件开发是变更的过程,而基线则软件开发是变更的过程,而基线则为变更提供了一个可以参考的目标,为变更提供了一个可以参考的目标, 第五章软件配置管理方法软件配置管理方法 定制软件配置管理计划定制软件配置管理计划 规定配置管理职责规定配置管理职责确定配置项标识的管理要求确定配置项标识的管理要求确定

50、配置项测试状态的管理要求确定配置项测试状态的管理要求确定配置项变更控制方法确定配置项变更控制方法选择配置管理使用的工具、技术和方法选择配置管理使用的工具、技术和方法 第五章软件配置标识软件配置标识 选择接受软件配置管理的配置项;选择接受软件配置管理的配置项;确定配置项的命名和描述;确定配置项的命名和描述;配置项的存取。配置项的存取。 第五章软件配置控制软件配置控制 软件版本控制软件版本控制 软件变更控制软件变更控制 软件配置审核软件配置审核 配置状态报告配置状态报告 第六章第六章第六章a. 掌握软件质量的基本概念掌握软件质量的基本概念b. 了解影响软件质量的因素了解影响软件质量的因素c. 理解

51、主要的质量保障活动理解主要的质量保障活动d. 了解软件测试的意义和方法了解软件测试的意义和方法第六章软件质量的概念软件质量的概念 依靠特定的或隐含的能力满足特定需依靠特定的或隐含的能力满足特定需要的产品或服务的全部功能和特征。要的产品或服务的全部功能和特征。功能性、可靠性、易用性、功能性、可靠性、易用性、效率、效率、维护性、可移植性。维护性、可移植性。 第六章影响软件质量的因素影响软件质量的因素 人的因素人的因素 软件需求软件需求 开发各个环节的衔接开发各个环节的衔接 测试的局限性测试的局限性 质量管理不够重视质量管理不够重视 软件开发的非工程化和开发人员的传统习惯软件开发的非工程化和开发人员

52、的传统习惯 开发没有规范,标准开发没有规范,标准 技术上解决软件质量问题的局限性技术上解决软件质量问题的局限性 第六章软件质量保证软件质量保证 “软件质量保证软件质量保证”则是指向用户和社会则是指向用户和社会提供满意的高质量的软件产品而进行的提供满意的高质量的软件产品而进行的有计划,有组织的活动。有计划,有组织的活动。 为了在软件开发过程中保证软件的质量,为了在软件开发过程中保证软件的质量,主要采取下述措施:审查;复查和管理主要采取下述措施:审查;复查和管理复审;测试。复审;测试。 第六章软件质量保证活动软件质量保证活动 建立质量保证体系建立质量保证体系 软件质量保证体系的职能软件质量保证体系

53、的职能 软件质量保证的规程及技术准则软件质量保证的规程及技术准则 软件质量保证的实施软件质量保证的实施 第六章软件的测试是对软件计划、软件设软件的测试是对软件计划、软件设计、软件编码进行查错和纠错的活计、软件编码进行查错和纠错的活动动(包括代码执行活动与人工活动包括代码执行活动与人工活动)。 第六章软件测试就是根据软件开发各阶段软件测试就是根据软件开发各阶段的规格说明和程序的内部结构而精的规格说明和程序的内部结构而精心设计一批测试用例,即输入数据心设计一批测试用例,即输入数据及其预期的输出结果,并利用这些及其预期的输出结果,并利用这些测试用例去运行程序,以发现程序测试用例去运行程序,以发现程序

54、错误的过程。错误的过程。 第六章测试方法有分析方法测试方法有分析方法(包括静态分析包括静态分析法与白盒法法与白盒法)与非分析方法与非分析方法(称黑盒称黑盒法法)。 白盒法是通过分析程序内部的逻辑与白盒法是通过分析程序内部的逻辑与执行路线来设计测试用例,进行测试执行路线来设计测试用例,进行测试的方法,白盒法也称逻辑驱动方法。的方法,白盒法也称逻辑驱动方法。 第六章黑盒法是功能驱动方法,仅根据黑盒法是功能驱动方法,仅根据I/O数据条件来设计测试用例,而不管程数据条件来设计测试用例,而不管程序的内部结构与路径如何。序的内部结构与路径如何。 第七章第七章第七章a. 理理解解编编写写软软件件文文档档的的

55、意意义义和和重重要要性性b. 掌握软件文档的分类掌握软件文档的分类c. 掌握文档编写的内容要求掌握文档编写的内容要求第七章软件文档的作用软件文档的作用 提高软件开发过程的能见度提高软件开发过程的能见度提高开发效率提高开发效率作为阶段性的工作成果作为阶段性的工作成果记录开发过程中的信息记录开发过程中的信息提提 供供 软软 件件 的的 运运 行行 维维 护护 等等 信信 息息便于各种人员的交流便于各种人员的交流便便 于于 潜潜 在在 用用 户户 了了 解解 软软 件件 的的 功功能性能等指标能性能等指标第七章软件文档的分类软件文档的分类 第七章第七章第七章国家标准国家标准计算机软件开发规范计算机软件开发规范软件产品开发文件编制指南软件产品开发文件编制指南 第七章程序设计规范,特指软件开发组织程序设计规范,特指软件开发组织针对某种特定的程序设计语言(比针对某种特定的程序设计语言(比如如C语言)所制定的涉及程序风格、语言)所制定的涉及程序风格、书写格式、注释格式等方面的文档。书写格式、注释格式等方面的文档。第七章程序设计规范的内容程序设计规范的内容程序设计规范,一般都包括注释规程序设计规范,一般都包括注释规则、命名规则、代码书写风格、文则、命名规则、代码书写风格、文件结构以及与语言本身语法相关的件结构以及与语言本身语法相关的程序书写规则等部分。程序书写规则等部分。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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