教学课件·软件工程与Rose建模案例教程.ppt

上传人(卖家):三亚风情 文档编号:3523658 上传时间:2022-09-11 格式:PPT 页数:245 大小:5.48MB
下载 相关 举报
教学课件·软件工程与Rose建模案例教程.ppt_第1页
第1页 / 共245页
教学课件·软件工程与Rose建模案例教程.ppt_第2页
第2页 / 共245页
教学课件·软件工程与Rose建模案例教程.ppt_第3页
第3页 / 共245页
教学课件·软件工程与Rose建模案例教程.ppt_第4页
第4页 / 共245页
教学课件·软件工程与Rose建模案例教程.ppt_第5页
第5页 / 共245页
点击查看更多>>
资源描述

1、第1章 软件工程概述 本章学习导航本章学习导航本章学习要点本章学习要点l 软件的定义与分类软件的定义与分类l 软件工程的定义与基本思想软件工程的定义与基本思想l 软件危机的出现软件危机的出现l 软件生存周期思想软件生存周期思想l 软件生存周期各阶段任务软件生存周期各阶段任务 教学课时:教学课时:4课时课时任务1 了解软件、软件工程和软件危机的基本概了解软件、软件工程和软件危机的基本概念,理解软件开发的工程化思想念,理解软件开发的工程化思想任务目标任务目标l 小组讨论法小组讨论法l 资料查询法资料查询法学习方法学习方法任务1(1)易用性易用性:指软件产品对用户来说有效、易学、高效、好记、少错和令

2、人满意的程度。(2)可靠性可靠性:指在给定的时间内,计算机软件系统能实施应有功能的能力。(3)可维护性可维护性:指软件维护人员对该软件进行维护的难易程度。(4)安全性安全性:确保软件系统不会被内部或外部因素危及的能力。软件的评价因素软件的评价因素软件是人们写给计算机的一系列指令指令以及相关文档相关文档的集合。软件由以下三部分组成:(1)在运行中能提供所希望的功能和性能的指令集指令集(即程序)。(2)使程序能够正确运行的数据结构数据结构。(3)描述程序研制过程、方法所用的文挡文挡。软件的定义软件的定义任务1软件发展的四个阶段出现的典型技术和主要特点软件发展的四个阶段出现的典型技术和主要特点 1程

3、序设计阶段(程序设计阶段(20世纪50至60年代)2程序系统阶段(程序系统阶段(20世纪60至70年代)3软件工程阶段(软件工程阶段(20世纪70年代中后期)4第四阶段(第四阶段(约20世纪90年代以来)软件的发展软件的发展任务11抽象性抽象性 指软件生产无明显制造过程,软件是一种逻辑实体,而不是具体的物理实体。2可复制性可复制性 指软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的,它可以很简单的制作副本。3不会磨损不会磨损 在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题,而只有版本更新和升级的问题。4依赖性依赖性 软件的开发和运行经常受到计算

4、机系统的限制,对计算机系统和用户需求有着不同程度的依赖性。5开发效率低开发效率低 软件的开发至今尚未完全摆脱手工的开发方式,软件也很难象其它工业产品一样实现标准化、自动化生产。6开发费用高开发费用高 随着社会的发展和信息化进程的推进,在计算机系统中,软件费用占有的比例越来越大。软件的特点软件的特点任务1软软件件的的分分类类任务1(1)软件开发费用和进度失控软件开发费用和进度失控 丹佛新国际机场。(2)软件的可靠性差软件的可靠性差 “阿丽阿娜”运载火箭(3)生产出来的软件难以维护生产出来的软件难以维护 典型例子-IBM360的操作系统 软件危机的特征软件危机的特征 指落后的软件生产方式无法满足迅

5、速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象(始于20 世纪60年代)。什么是软件危机什么是软件危机(1)与软件本身的特点有关(2)与软件开发人员本身的弱点有关 用户需求不明确 缺乏正确的理论指导 软件开发规模越来越大 软件开发复杂度越来越高 软件危机的原因软件危机的原因任务1(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采用现代程序设计技术软件工程的软件工程的7 7条基本原理条基本原理 1968年的NATO、IEEE【IEEE83】、IEEE【IEEE93】软件工程的理解:l 软件工程学科是一门指导计算机软件开发和维护

6、的工程工程学科;l 软件工程不是科学,其目的是创造创造而不是发现;l 软件工程不是传统意义的工程:没有成熟的系统化方法。软件工程的定义软件工程的定义(5)结果应能清楚地审查(6)开发小组的人员应该少而精(7)承认不断改进软件工程实践的必要性 任务1(1)确定性确定性(2)一致性一致性(3)完备性完备性(4)可验证性可验证性新的设计原则新的设计原则(1)抽象(2)信息隐蔽(3)模块化(4)局部化 新的思想方法新的思想方法课堂实践 1(1)通过学习小组讨论和上网查询资料形式完成。(2)找到一些常用的软件工程相关的网站,方便自己的学习。操作提示操作提示(1)根据您的理解,您认为怎样才能解决软件危机。

7、(2)你所了解的目前我国的软件开发是一种什么样的状态,您认为哪些地方可以改进。(3)了解了软件工程的概念以后,你是怎样理解软件开发和编程的?操作要求操作要求任务2 了解软件生存周期模型及软件生存周期的了解软件生存周期模型及软件生存周期的阶段划分及各阶段的主要任务阶段划分及各阶段的主要任务任务目标任务目标l 小组讨论法小组讨论法l 资料查询法资料查询法l 类比学习法类比学习法学习方法学习方法任务2软软件件生生存存周周期期定定义义时时期期开开发发时时期期维维护护时时期期任务2“对于上一个阶段所确定的问题有行得通的解决办法吗?”系统分析员需要在较抽象的高层次上进行的分析和设计的过程,可以通过系统流程

8、图系统流程图、数据流图和数据字典进行描述。(1)技术可行性技术可行性:使用现有的技术能实现这个系统吗?(2)经济可行性经济可行性:这个系统的经济效益能超过它的开发成本吗?(3)操作可行性操作可行性:系统的操作方式在这个用户组织内部行得通吗?2-2-可行性研究可行性研究“要解决的问题是什么要解决的问题是什么?”系统分析员应该提出关于问题性质、工程目标和规模的书面报告。并组织认真讨论这份 书面报告。问题定义阶段是软件生存周期中最简短的阶段,一般只需要一天甚至更少的时间。1-1-问题定义问题定义任务22-2-可行性研究可行性研究(系统流程图系统流程图)任务21什么是软件需求什么是软件需求 IEEE软

9、件工程标准中关于需求的定义l 用户解决问题或达到目标所需的条件或权能。l 系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。l 一种反映上面两条所描述的条件或权能的文档说明。3-3-需求分析需求分析2需求的特点需求的特点(1)需求是根本的(2)需求是变化的(3)需求是多层次的 任务23需求的层次需求的层次 3-3-需求分析需求分析4需求的标准需求的标准(1)明确性明确性(2)完整性完整性(3)一致性一致性(4)可测试性可测试性(5)可跟踪性和可修可跟踪性和可修改性改性 任务2 需求分析阶段通常借助于数据流图数据流图描述对现有系统的认识或对目标系统的设想。3-3-需求分

10、析需求分析任务2 “概括地说,应该如何解决这个问题?”通常用层次图层次图或结构图描绘软件的结构。(1)低成本的解决方案。(2)中等成本的解决方案。(3)高成本的完美的解决方案。4-4-总体设计总体设计任务2 “应该怎样具体地实现这个系统呢?”通常用HIPO图或PDL语言或程序流程图程序流程图描述详细设计的结果。5-5-详细设计详细设计任务2 通过各种类型的测试及相应的调试,保证软件达到预定的的要求。最基本的测试是集成测试集成测试和验收测试验收测试。8-8-综合测试综合测试也称为软件的实现,也是程序员的主要工作。(1)选择程序设计语言(2)养成程序设计风格(3)遵循编码规范(4)进行单元测试7-

11、7-编码和单元测试编码和单元测试(1)改正性维护(2)适应性维护(3)完善性维护(4)预防性维护 9-9-软件维护软件维护课堂实践 2(1)通过学习小组讨论和上网查询资料形式完成。(2)结合自己的软件开发实践,进一步理解软件生命周期及各阶段的任务。操作提示操作提示(1)怎样理解软件生存周期模型?(2)软件生存周期模型中各阶段的主要描述工具有哪些?(3)需求分析在软件生存周期过程中处于怎样的地位?(4)查找一份需求规格说明书,通过阅读该说明书准确的获取系统的需求。(5)查找一份总体设计说明书,参照模板编写“B-C电子商务系统”的总体设计说明书。(6)查找一份详细设计说明书,参照模板编写“B-C电

12、子商务系统”的详细设计说明书。操作要求操作要求课外拓展(1)通过一次完整的借还书过程体验应用图书管理系统借书和还书的基本流程。(2)参考已有图书管理系统说明书进行图形的绘制。(3)本次实践的目的在于培养使用辅助工具绘制图形的能力,而不在于设计。操作提示操作提示(1)在网上搜索人月神话的电子书,并进行阅读。(2)使用Word或Visio工具,绘制如图1-3所示的图书管理系统系统流程图。(3)使用Word或Visio工具,绘制如图1-5所示的图书管理系统系统中借还书操作的数据流图。(4)使用Word或Visio工具,绘制如图1-6所示的图书管理系统的功能模块图。操作要求操作要求第2章 软件过程模型

13、与面向对象方法 本章学习导航本章学习导航本章学习要点本章学习要点l 瀑布模型的特点及应用瀑布模型的特点及应用l 螺旋模型的特点及应用螺旋模型的特点及应用l 原型模型的特点及应用原型模型的特点及应用l XP/敏捷方法的特点及应用敏捷方法的特点及应用l RUP的特点及应用的特点及应用l 面向对象方法面向对象方法 教学课时:教学课时:4课时课时任务1 比较常用软件过程模型的特点,能根据实比较常用软件过程模型的特点,能根据实际软件开发需要选择过程模型际软件开发需要选择过程模型任务目标任务目标l 小组讨论法小组讨论法l 资料查询法资料查询法l 对比学习法对比学习法学习方法学习方法任务1 核心思想是采用“

14、工工序序”的思想将复杂的软件开发问题简化。将软件设计与软件功能的实现分开由不同的阶段完成,便于分工协作。采用结构化的分析与设计方法,将逻辑实现与物理实现分开。瀑布模型瀑布模型任务1主要特点主要特点:(1)上一阶段活动的成果作为本阶段活动的输入;(2)利用这一输入实施本阶段活动应完成的内容;(3)得到本阶段活动的工作成果,再传递传给下一阶段活动;(4)在每一阶段活动结束时,对阶段活动的工作成果进行评审,如果工作成果得到确认,则继续下一项活动,否则返回前一阶段,甚至更前阶段的活动进行返工。瀑布模型瀑布模型主要缺点:主要缺点:(1)由于开发模型呈线性,所以当开发成果尚未经过测试时,用户无法看到软件的

15、效果。这样,软件与用户见面的时间间隔较长,增加了一定的风险。(2)在软件开发前期末发现的错误传到后面的开发活动中时,可能会扩散,进而可能会造成整个软件项目开发失败。(3)在软件需求分析阶段,要完全确定用户的所有需求是比较困难的,甚至可以说是不太可能的。任务1 将瀑布模型和演化模型结合起来,融合了两个模型的优点,而且还强调了其他模型均忽略了的风险分析和评价风险分析和评价。螺旋模型螺旋模型任务1主要特点主要特点:在“瀑布模型”的每一个开发阶段前,引入一个非常严格的风险识别、风险分析和风险控制。它把软件项目分解成一个个小项目,每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定。螺旋模

16、型支持用户需求的动态变化,为用户参与软件开发的所有关键决策提供了方便,有助于提高目标软件的适应能力,为项目管理人员及时调整管理决策提供了便利,从而降低了软件开发风险。螺旋模型螺旋模型主要缺点:主要缺点:(1)过多的迭代次数会增加开发成本,延迟提交时间。(2)采用螺旋模型,需要具有相当丰富的风险评估经验和专门知识。在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。任务1 以用户需求用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。喷泉模型认为软件开发过程自下而上自下而上周期的各阶段是相互重叠和多次反复的 喷泉模型喷泉模型任务1主要特点主要特点:(1)软件的某

17、个部分(如:组件)通常被重复工作多次;(2)可以实现并行开发,提高软件项目开发效率,节省开发时间;(3)适应于面向对象的软件开发过程;喷泉模型喷泉模型主要缺点:主要缺点:(1)由于喷泉模型在各个开发阶段是重叠的,因此,在开发过程中,需要大量的开发人员,不利于项目的管理;(2)喷泉模型要求对文档的管理较为严格,审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料。任务1 融合了瀑布模型的基本成分和原型实现的迭代迭代特征。采用随着时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量增量”。增量模型增量模型任务1主要特点主要特点:(1)人员分配灵活,刚开始不用投入大量人力资源

18、,如果核心产品很受欢迎,则可增加人力实现下一个增量。(2)当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能给客户,以满足客户的局部需求。(3)能够有计划地管理技术风险 增量模型增量模型主要缺点:主要缺点:如果增量包之间存在相交的情况且不能很好地处理,就必须做全盘的系统分析。课堂实践 1(1)以学习小组为单位分组讨论一个模型,讨论活动结束后,由小组代表进行演讲。(2)可以通过上网查阅相关资料获取软件过程模型更为详细的信息。(3)绘制的模型图以文件名Chap02-1.doc上交。操作提示操作提示 (1)讨论瀑布模型的主要特点,并举例说明在哪些类型

19、的软件系统开发中可以采用瀑布模型。(2)讨论螺旋模型的主要特点,并举例说明在哪些类型的软件系统开发中可以采用螺旋模型。(3)讨论喷泉模型的主要特点,并举例说明在哪些类型的软件系统开发中可以采用喷泉模型。(4)讨论增量模型的主要特点,并举例说明在哪些类型的软件系统开发中可以采用增量模型。(5)使用Word工具,分别绘制瀑布模型、螺旋模型、喷泉模型和增量模型的基本模型图。操作要求操作要求任务1 是从需求收集需求收集开始,在获得一定的需求后,进行“快速设计快速设计”,在此基础上创建软件系统的原型,并由用户对原型进行评估并进一步精精化化待开发软件的需求。原型模型原型模型任务1主要特点主要特点:(1)开

20、发效率高,原型使总的开发费用降低,时间缩短;(2)开发者与用户交流直观,可以澄清模糊需求,调动用户的积极参与,能及早的暴露系统潜在的一些问题;(3)原型系统可作为培训环境,有利于用户培训和开发同步,开发过程也是学习过程。喷泉模型喷泉模型主要缺点:主要缺点:(1)产品原型在一定程度上限制了开发人员的创新,没有考虑软件的整体质量和长期的可维护性,由于达不到质量要求产品可能被抛弃,而采用新的模型重新设计。因此,原型实现模型不适合嵌入式、实时控制、科学数值计算等大型软件系统的开发。(2)原型的开发需要耗费一定的人力和物力,增加了软件开发的成本。任务1 是一个增量型增量型的软件开发过程模型,强调极短的开

21、发周期。RAD模型是瀑布模型的一个“高速”变种,通过大量使用可复用构件,采用基于构件基于构件的建造方法实现快速开发。RADRAD模型模型任务1主要特点主要特点:(1)采用基于构件的开发方法,复用已有的程序结构或使用可复用构件和或是创建可复用的构件。(2)通过大量使用可复用构件加快了开发速度,对信息系统的开发特别有效。RADRAD模型模型主要缺点:主要缺点:(1)RAD模型对模块化要求比较高,如果软件系统中有哪一项功能不能被模块化,那么创建RAD所需要的构件就会有问题。因此,并非所有应用都适合RAD。(2)开发者和客户必须在很短的时间完成一系列的需求分析,任何一方配合不当都会导致RAD项目失败。

22、(3)RAD只适用于信息系统开发,不适合技术风险很高系统的开发。任务1 一种轻量级轻量级的开发方法,敏捷方法强调适应性适应性而非预测性,强调以人为中心人为中心而非以流程为中心,强调对变化的适应和对人性的关注。XP/XP/敏捷模型敏捷模型任务1主要特点主要特点:(1)轻载(2)基于时间(3)Just Enough(4)并行(5)基于构件。XP/XP/敏捷模型敏捷模型主要思想:主要思想:XP开发模型与传统模型相比具有很大的不同,它的核心思想是交流、简交流、简单、反馈和进取单、反馈和进取。XP开发模型强调小组内成员之间要经常进行交流;在尽量保证质量可以运行的前提下,力求过程和代码的简单化;在XP开发

23、小组中不仅包括开发人员,还包括管理人员和客户,来自客户、开发人员和最终用户的具体反馈意见可以提供更多的机会来调整设计,保证把握正确的开发方向;进取则包含在交流、简单和反馈三个原则中。任务1 一种重量级重量级的开发方法,又是文档化的软件工程产品。统一软件开发过程统一软件开发过程任务1 RUP有6个核心工作流和3个核心支持工作流,采用迭代式迭代式开发 。统一软件开发过程统一软件开发过程任务1主要特点主要特点:(1)用例驱动(2)以体系结构为中心(3)迭代式开发统一软件开发过程统一软件开发过程 通过以上各种软件过程模型的分析,我们可以看到:软件过程模型随着软件设计思想的改变而发展,经历了由最初的以结

24、构化程序设计结构化程序设计思想为指导的瀑布模型等,到以面向对象思想面向对象思想为指导的喷泉模型等,到以构件开发构件开发思想思想为指导的基于体系结构的开发模型等,到基于UML的RUP,到现在的4GT技术。每次新的软件设计思想的突破都会出现新的软件开发过程模型,以达到提高软件的生产效率和质量为目标,提出新的解决“软件危机”问题的方案。软件开发过程小结软件开发过程小结课堂实践 2(1)以学习小组为单位分组讨论一个模型,讨论活动结束后,由小组代表进行演讲。(2)可以通过上网查阅相关资料获取软件过程模型更为详细的信息。(3)绘制的模型图以文件名Chap02-2.doc上交。操作提示操作提示 (1)讨论原

25、型模型的主要特点,并举例说明在哪些类型的软件系统开发中可以采用原型模型。(2)讨论RAD模型的主要特点,并举例说明在哪些类型的软件系统开发中可以采用RAD模型。(3)讨论XP/敏捷方法的主要特点,并举例说明在哪些类型的软件系统开发中可以采用XP/敏捷方法。(4)讨论统一软件开发过程的主要特点,并举例说明在哪些类型的软件系统开发中可以采用统一软件开发过程。(5)使用Word工具,分别绘制原型模型、RAD模型、XP/敏捷方法和统一软件开发过程的基本模型图。操作要求操作要求任务2 了解面向对象软件工程的基本思想和了解面向对象软件工程的基本思想和OOA、OOD、OOP和和OOT的基本内容的基本内容任务

26、目标任务目标l 小组讨论法小组讨论法l 资料查询法资料查询法学习方法学习方法任务2 “对象对象”,指的是解决信息领域内所遇到问题的方法,特别是应用软件技术来解决问题的方法。如:面向对象的分析(Object-Oriented Analysis)、面向对象的设计(Object-Oriented Design)和面向对象的编程(Object-Oriented Programming)等。面向对象方法面向对象方法(Object-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented)方法,是建立在“对象”概念基础上的

27、方法学。面向对象方法的发展面向对象方法的发展 60年代中后期,Simula语言;80年代以来,人们将面向对象的基本概念和运行机制运用到其它领域,获得了一系列相应领域的面向对象的技术;1986年在美国举行了首届“面向对象编程、系统、语言和应用(OOPSLA86)”国际会议。面向对象思想面向对象思想任务2(1)对象)对象 对象是要研究的任何事物。从一本书、一个人、一家图书馆、一家极其复杂的自动化工厂、架航天飞机都可看作对象,它不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或事件。对象由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一独立整体。从程序设计者来看,对象是一个程

28、序模块,从用户来看,对象为他们提供所希望的行为。(2)类)类 类是对象的模板。即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同属性和行为。类是在对象之上的抽象,对象则是类的具体化,是类的实例。类可有其子类,也可有其它类,形成类层次结构。(3)消息)消息 消息是对象之间进行通信的一种规格说明。一般它由三部分组成:接收消息的对象、消息名及实际变元。面向对象基本概念面向对象基本概念任务2(1)封装性)封装性封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。(2)继承性)继承性 继承性是子类自动共享父类数据和方法的机制。它由类的派生功能体现。一个类直接

29、继承其它类的全部描述,同时可修改和扩充。(3)多态性)多态性 对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。面向对象主要特征面向对象主要特征任务2了解问题域所涉及的对象、对象间的关系和作用(即操作),然后构造问题的对象模型,力争该模型能真实地反映出所要解决的“实质问题”。OOA基本步骤基本步骤:(1)确定对象和类 (2)确定结构 (3)确定主题(subject)(4)确定属性(attribute)(5)确定方法(method)面向对象分析面向对象分析任务2对面向对象分析的结果作进一步的规范化整理,以便能够被面向对象编程直接接受并设计软件的对

30、象模型。OOD主要工作主要工作:(1)对象定义规格的求精过程 (2)数据模型和数据库设计 (3)优化 面向对象设计面向对象设计任务2即指软件功能的编码实现,主要工作为面向对象的编程(OOP,Object Oriented Programming)。面向对象编程的基本步骤面向对象编程的基本步骤:(1)分析确定在问题空间和解空间出现的全部对象及其属性。(2)确定应施加于每个对象的操作,即对象固有的处理能力。(3)分析对象间的联系,确定对象彼此间传递的消息。(4)设计对象的消息模式,消息模式和处理能力共同构成对象的外部特性。(5)分析各个对象的外部特性,将具有相同外部特性的对象归为一类,从而确定所需

31、要的类。(6)确定类间的继承关系,将各对象的公共性质放在较上层的类中描述,通过继承来共享对公共性质的描述。(7)设计每个类关于对象外部特性的描述。(8)设计每个类的内部实现(数据结构和方法)。(9)创建所需的对象(类的实例),实现对象间应有的联系(发消息)。面向对象实现面向对象实现课堂实践3(1)以学习小组为单位分组讨论进行讨论,每小组推荐一名成员进行演讲。(2)通过上网查阅面向对象方法相关资料进行更为详细的信息。操作提示操作提示(1)使用面向对象方法对DVD和播放DVD的情景进行描述。(2)举例说明OOA、OOD和OOP的具体任务及相关之间的联系。(3)根据您的编程经验,比较面向对象编程和结

32、构化编程的优缺点。操作要求操作要求课外拓展(1)通过软件过程模型图的绘制,加深对软件过程模型的理解。(2)查阅百度百科(http:/)的相关词条的内容,并对相关词条进行适当的补充。操作提示操作提示(1)使用Word或Visio工具,绘制瀑布模型的基本模型图,并理解瀑布模型各阶段的主要任务。(2)使用Word或Visio工具,绘制XP方法的基本模型图,并解释XP方法的核心思想。操作要求操作要求第3章 UML简介 本章学习导航本章学习导航本章学习要点本章学习要点l UML的发展的发展l UML的特点的特点l UML的结构的结构l UML的视图的视图l UML基本图形符号基本图形符号 教学课时:教学

33、课时:4课时课时任务1 了解了解UML的发展历程,并理解为什么要使的发展历程,并理解为什么要使用用UML进行建模进行建模任务目标任务目标l 小组讨论法小组讨论法l 资料查询法资料查询法学习方法学习方法任务1UML(统一建模语言,Unified Modeling Language)是一种建模语言,是第三代用来为面向对象开发系统的产品进行说明、可视化和编制文档的方法。UMLUML的发展历程的发展历程任务1UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。UML不是一种可视化的程序设计语言,而是一种可视化的建模语言建模语言;UML不是工具或知识库的规格说明,而是一种建模语言规格

34、说明,是一种表示的标准表示的标准;UML不是过程,也不是方法,但允许任何一种过程和方法使用它。理解理解UMLUMLl易于使用、表达能力强,进行可视化建模;l与具体的实现无关,可应用于任何语言平台和工具平台;l与具体的过程无关,可应用于任何软件开发的过程;l简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改;l为面向对象的设计与开发中涌现出的高级概念(例如协作、框架、模式和组件)提供支持,强调在软件开发中对架构、框架、模式和组件的重用;l与最好的软件工程实践经验集成;l可升级,具有广阔的适用性和可用性;l有利于面对对象工具的市场成长。UMLUML的目标的目标任务11标准的表示

35、方法标准的表示方法 UML是一种建模语言,是一种标准的表示,而不是一种方法(或方法学)。2与软件开发的成功经验集成与软件开发的成功经验集成 UML的价值在于它体现了世界上面向对象方法实践的最好经验,并以建模语言的形式把它们打包,以适应开发大型复杂系统的要求。3UML的应用贯穿在系统开发的五个阶段的应用贯穿在系统开发的五个阶段 (1)需求分析。(2)系统分析。(3)系统设计。(4)构造。(5)测试。UMLUML的特点的特点任务1(1)结构事物结构事物 类、接口、协作、用例、活动类、组件、结点 (2)行为事物)行为事物 交互、状态机 (3)分组事物)分组事物(4)注释事物)注释事物 UMLUML的

36、事物的事物 UML由图和元模型组成,图是语法,元模型是语义。UML主要包括三个基本构造块:事物(Things)、关系(Relationships)和图(Diagrams)。UMLUML的结构的结构(1)依赖关系(2)关联关系(3)泛化关系(4)实现关系 UMLUML的关系的关系任务2 了解了解UML的的5种视图和种视图和9种图形及功能,了种图形及功能,了解解UML建模的基本流程建模的基本流程任务目标任务目标l 小组讨论法小组讨论法l 资料查询法资料查询法学习方法学习方法任务2 UML中的视图包括:用例视图(Use-case view)、逻辑视图(Logical view)、并发视图(Concu

37、rrency View)、组件视图(Component view)、部署视图(Deployment View)等五种。UMLUML的视图的视图任务2 用于描述系统应该具有的功能集。它是从系统的外部用户角度出发,对系统的抽象表示。用例视图所描述的系统功能依靠于外部用户或另一个系统触发激活,为用户或另一个系统提供服务,实现用户或另一个系统与系统的交互。用例视图用例视图 用来显示系统内部的功能是怎样设计的,它利用系统的静态结构和动态行为来刻画系统功能。静态结构描述类、对象和它们之间的关系等。逻辑视图逻辑视图任务2 用来显示系统的并发工作状况。并发视图将系统划分为进程和处理机方式,通过划分引入并发机制

38、,利用并发高效地使用资源、并行执行和处理异步事件。并发视图并发视图 用来显示代码组件的组织方式。它描述了系统的实现模块和它们之间的依赖关系。组件视图由组件图构成。组件是代码模块,不同类型的代码模块形成不同的组件,组件按照一定的结构和依赖关系呈现。组件视图组件视图课堂实践 1(1)通过学习小组讨论和上网查询资料形式完成。(2)UML的作用与工程设计和机械设计的绘图标准进行比较。操作提示操作提示(1)UML的发展历程是怎样的,目前的UML的版本是多少?(2)UML与面向对象分析和设计是什么样的关系?(3)类比说明建模在软件开发过程中的重要作用?操作要求操作要求任务2 用例图用于显示若干角色(act

39、or)以及这些角色与系统提供的用例之间的连接关系。用例图用例图任务2 类图用来表示系统中的类和类与类之间的关系,它是对系统静态结构的描述。类图类图(对象图对象图)任务2 状态图是对类所描述事物的补充说明,它显示了类的所有对象可能具有的状态,以及引起状态变化的事件。状态图状态图任务2 反映一个连续的活动流,相对于描述活动流(比如,用例或交互)来说,活动图更常用于描述某个操作执行时的活动状况。活动图活动图任务2 用来反映若干个对象之间的动态协作关系,也就是随着时间的流逝,对象之间是如何交互的。顺序图顺序图任务2 除了显示消息变化(称为交互)外,协作图还显示了对象和它们之间的关系(称为上下文有关)。

40、协作图协作图任务2 用来反映代码的物理结构。代码的物理结构用代码组件表示。组件可以是源代码、二进制文件或可执行文件组件。组件图组件图任务2 显示系统中软件和硬件的物理架构。通常部署图中显示实际的计算机和设备(用结点表示),以及各个结点之间的关系(还可以显示关系的类型)。部署图部署图任务2 在系统开发的每个阶段都要建造不同的模型,建造这些模型的目的也是不同的。UMLUML建模的多个侧面建模的多个侧面任务2UMLUML建建模模的的基基本本流流程程课堂实践 3(1)通过学习小组讨论和上网查询资料形式完成。(2)比较UML1.4和UML2.0图形元素的不同。操作提示操作提示(1)UML有哪几种图形,各

41、有什么样的功能?(2)UML建模的过程是怎样的?操作要求操作要求课外拓展(1)学习过程中收集UML学习的相关网站,以便于课外拓展学习。(2)课外拓展学习过程中要加强学习小组内的讨论。操作提示操作提示 (1)登录http:/,进入该网站UML专题模块进一步学习UML的基本知识。(2)通过搜索引擎,查找UML2.0的相关说明文档,了解UML2.0的新特性。操作要求操作要求第4章 Rational Rose简介 本章学习导航本章学习导航本章学习要点本章学习要点l Rational Rose的安装的安装l Rational Rose的配置的配置l Rational Rose的简单使用的简单使用l Ra

42、tional Rose建模的基本步骤建模的基本步骤l 图书管理系统的设计图书管理系统的设计 教学课时:教学课时:4课时课时任务1 确定确定Rational Rose 2003的运行环境并安装的运行环境并安装Rational Rose 2003任务目标任务目标l 小组讨论法小组讨论法l 资料查询法资料查询法学习方法学习方法任务1l强有力的浏览器,用于查看模型和查找可重用的组件;l可定制的目标库或编码指南的代码生成机制;l既支持目标语言中的标准类型,又支持用户自定义的数据类型;l保证模型与代码之间转化的一致性;l通过OLE连接,Rational Rose图表可动态链接到Microsoft Word

43、中;l能够与Rational Visual Test和SQA Suite文档工具无缝集成;l强有力的正/反向建模工作;l缩短软件系统开发周期,提高软件开发效率;l降低软件维护成本。RoseRose的特点的特点任务1l详细步骤参阅教材RoseRose的安装的安装任务1l常规设置RoseRose的配置的配置任务1l其他设置RoseRose的配置的配置课堂实践 1(1)通过学习小组讨论和上网查询资料形式完成。(2)如果是正式使用,建议购买正版产品。操作提示操作提示(1)小组讨论Rational Rose与UML是什么样的关系?(2)登录IBM公司网站,了解Rational Rose的最新版本信息,下

44、载其最新版本的试用版。(3)安装所选择的Rational Rose产品。(4)设置默认的字体和颜色。操作要求操作要求任务2 了解了解Rational Rose 2003的界面组成,使用的界面组成,使用Rose创建简单的创建简单的UML模型模型任务目标任务目标l 小组讨论法小组讨论法l 资料查询法资料查询法l 模仿实践模仿实践学习方法学习方法任务2l主界面Rose 2003Rose 2003主要菜单主要菜单任务2l主菜单和工具栏Rose 2003Rose 2003主要菜单主要菜单任务2lRose 2003 视图Rose 2003Rose 2003主要菜单主要菜单任务21创建模型 2保存模型 3发

45、布模型4导入/导出模型 Rose Rose 建模的基本过程建模的基本过程课堂实践 2(1)注意模型文件对应的文件扩展名为.mdl。(2)可以打开已有的实例查看模型文件的组成情况。(3)主菜单的功能通过查阅附录C进行了解。(4)注意模型文件对应的文件扩展名为.mdl。(5)选择发布的图形文件类型为JPG。操作提示操作提示(1)启动所安装的Rational Rose。(2)在Rational Rose中创建一个名为first.mdl的空白模型。(3)了解Rational Rose主界面中主菜单的作用。(4)使用【Tools】【Options】中的【Toolbars】选项卡对标准工具栏和图形工具栏进

46、行配置。(5)了解Rational Rose主界面各个组成部分的功能。(6)查看Rational Rose中的视图。(7)在first.mdl模型中添加一个简单的用例图。(8)保存first.mdl后,将其发布到c:tempfirst.htm文件。(9)查看发布的模型。操作要求操作要求任务3 了解图书管理系统和了解图书管理系统和B-C电子商务系统的基电子商务系统的基本需求、架构设计和功能模块设计本需求、架构设计和功能模块设计任务目标任务目标l 小组讨论法小组讨论法l 资料查询法资料查询法l 模仿实践模仿实践学习方法学习方法任务3图图书书管管理理系系统统需需求求分分析析任务3图图书书管管理理系系

47、统统功功能能设设计计读者类别管理读者类别管理 读者管理读者管理 图书类别管理图书类别管理 图书信息管理图书信息管理 罚款管理罚款管理 用户管理用户管理 借还图书借还图书 统计分析统计分析 后台信息发布后台信息发布 任务3电电子子商商城城需需求求分分析析任务3电电子子商商城城网网站站结结构构课堂实践 3(1)可以从http:/网站下载“瑞天图书管理系统2008标准版”的试用版。(2)使用图书管理系统时可以以两人为一个小组模拟借书、还书等操作。(3)在进行读者、图书、借还书处理时,请注意处理的详细数据。操作提示操作提示(1)从网上下载并安装瑞天图书管理系统。(2)使用下载的图书管理系统,体验图书登

48、记、办理借阅证、借书和还书等业务流程,进一步明确图书管理系统的基本功能。操作要求操作要求课外拓展(1)到IBM公司网站下载Rational Rose的试用版。(2)安装完成后,可以通过建立一个简单的模型进行验证。操作提示操作提示(1)了解目前有哪些比较流行的UML建模工具,并对这些建模工具进行比较。(2)下载并安装一款其它的UML建模工具(如EA),与Rational Rose的操作进行比较。(3)在自己的机器上下载并安装Rational Rose的合适版本。(4)根据需要对Rational Rose进行简单的配置。(5)选择一个合适的电子商务网站,完成一次购物的过程,体验电子商务系统的基本功

49、能。操作要求操作要求第5章 图书管理系统需求建模 本章学习导航本章学习导航本章学习要点本章学习要点l Rational Rose的安装的安装l 用例图的组成(参与者和用例)用例图的组成(参与者和用例)l 识别软件系统中的用例识别软件系统中的用例l 描述软件系统中的用例描述软件系统中的用例l 识别用例间的关系(泛化、使用、包含和扩展)识别用例间的关系(泛化、使用、包含和扩展)l 绘制用例图的一些考虑绘制用例图的一些考虑 教学课时:教学课时:8课时课时任务1 了解用例模型的基本功能和基本组成,理了解用例模型的基本功能和基本组成,理解用例模型在软件系统开发中的重要地位解用例模型在软件系统开发中的重要

50、地位任务目标任务目标l 小组讨论法小组讨论法l 资料查询法资料查询法l 模仿实践模仿实践学习方法学习方法任务1 用例模型是把应满足用户需求的基本功能聚合起来表示的强大工具。对于正在构造的新系统,用例描述该系统应该做什么系统应该做什么;对于已构造完毕的系统,用例则反映了系统能够完成什么样的功能系统能够完成什么样的功能。可定制的目标库或编码指南的代码生成机制;从用例模型中受益的人员包括:l客户(或最终用户);l开发者;l系统集成和测试的人员;l其他人员;用例模型的功能用例模型的功能任务 1(1)确定系统应具备哪些功能。(2)为系统的功能提供清晰一致的描述。(3)为系统验证工作打下基础。引入用例的目

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(教学课件·软件工程与Rose建模案例教程.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|