软件工程4-4

上传人:ji****n 文档编号:57593518 上传时间:2018-10-23 格式:PPT 页数:196 大小:2.40MB
返回 下载 相关 举报
软件工程4-4_第1页
第1页 / 共196页
软件工程4-4_第2页
第2页 / 共196页
软件工程4-4_第3页
第3页 / 共196页
软件工程4-4_第4页
第4页 / 共196页
软件工程4-4_第5页
第5页 / 共196页
点击查看更多>>
资源描述

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

1、第四部分 现代软件工程的需求过程,现代软件工程,传统的需求分析方法-1 面向对象的需求分析方法-2 基于UML的需求分析方法-3 需求工程与需求管理实现-4,第四部分 现代软件工程的需求过程,第三章 基于UML的需求分析方法 UML概述-3.1 需求获取与用例建模-3.2 类与对象建模-3.3 动态建模-3.4 物理体系结构建模-3.5,第四部分 现代软件工程的需求过程,3.1 UML概述,UML统一OO方法大战的努力,1960年 - 70年代 COBOL, FORTRAN, C 结构化分析和设计技术 1980年 - 1990年前 Smalltalk, Ada, C+, Visual Basi

2、c 早期面向对象生成(代码)方法 1990年中晚期 Java Unified Process,什么是UML?,Unified Modeling Language(统一建模语言)是国际对象管理组织OMG制定的一个通用的、可视化建模语言标准 用于描述(specify)、可视化(visualize)、构造(construct)和记载(document)软件密集型系统的各种工件 UML提供了一系列建模元素、概念、关系以及规则,应用于软件开发活动详细内容,请学习统一软件开发过程(The Unified Software Development Process)(美)Ivar Jacobson、Grady

3、 Booch、James Rumbaugh著,周伯生、冯学民、樊东平译(机械工业出版社),UML概要,UML是一种语言: 可视化 详细描述的 构造性的 文档化的 UML的价值 是一个开发的标准 支持完整的软件开发生命周期模型 支持不同的应用领域 是基于经验的和用户群体需要的 被许多工具支持,UML概念,UML Unified Modeling Language. 组合了当前最好的面向对象软件建模方法 UML三位主要贡献者 1. OMT方法(对象、动态、功能模型,James Rumbaugh) 2. The Booch method (5个步骤,Grady Booch) 3. OOSE (Use

4、r Case图,Ivar Jacobson),James Rumbaugh,Grady Booch,Ivar Jacobson,UML概念,1994年,Booch和Rumbaugh在Rational开始了UML的工作,但是的目标是创建一个“统一方法” 他们把Booch93和OMT2统一起来,与95年发布了UM0.8(Unified Method) 1995年OOSE的创始人Jacobson加入到这个联盟中,开始把工作重点放到创建一种标准建模语言,UML Unified Modeling Language。 他们以Booch方法、OMT方法、OOSE方法为基础,吸收了其他流派的长处,于96年6月

5、、10月、97年1月、11月分别推出了UML0.9、0.91、1.0和1.1,创建UML,Booch 方法,OMT,UML概念(1),Method 方法告诉使用者做什么、怎么做、什么时候做、为什么做(特定活动的目的),方法包括模型 Modeling 模型用来描述使用某种方法的结果,例如,通过不同角度的简化视图,描述对象系统的设计与实现结果,模型用建模语言来表达 Language 建模语言由记号(模型使用的符号)和一组规则(语法、语义等)组成,UML概念(2),UML是一种语言 遵循特定的规则 允许创建各种模型 并不告诉设计者需要创建哪些模型 并不提供开发过程 UML是可视化语言 UML是图形化

6、语言 图形便于交流(一幅图抵上千文字) UML是用于构造系统或理解系统的语言 UML既支持正向工程,又支持反向工程 UML是文档化语言 将所建造的系统记录下来 便于新程序员跟进 开发产品新版本时很有用处,UML的概念(3),模型元素 关系 扩展的机制 图表,UML构成: 模型元素 关系 扩展的机制 图表,模型元素,关系,图表,模型元素,结构元素 类,接口,协作 用例,主动类,构件 节点 行为元素 交互, 状态机 组元素 包, 子系统 其它元素 注解,类、对象与接口,一个系统往往可以从不同的角度进行观察,一个角度构成了一个视图 UML有九种图表,构成5种视图: 1、用例图(use case di

7、agram) 2、类图(class diagram) 3、对象图(object diagram) 4、状态图(state diagram) 5、时序图(sequence diagram) 6、协作图(collaboration diagram) 7、活动图(activity diagram) 8、构件图(component diagram) 9、部署图(deployment diagram),UML的图表与视图,静态逻辑视图,动态逻辑视图,3-并发视图,1-用例视图,5-部署视图,2-逻辑视图,4-构件视图,模型,视图,和图表,活动图,模型是对一个系统从详细观察的角度的描述,模型,图表,图表是

8、模型的视图 表现给投资者看得详细的描述; 提供了系统的局部详细描述; 和别的视图保持语义一致; 在UML中,有九种标准图表 静态视图: 用例图, 类图,对象图,组件图 , 分布图 动态视图: 时序图,协作图,状态图,活动图,用例图,捕获用户能够看到的系统 通过对”场景”的描述,定义系统的功能和性能,并获得用户和开发团队的共同认可 提供清楚和无二义的用户与系统的交互描述,用例图,在开发过程的早期创建 目的: 详细说明系统的表达含义; 捕获系统的需求; 验证系统的体系结构; 驱动实现和生成测试用例。 由分析人员和领域专家开发,Use Case图,Use Case图形描述了一个系统应该执行的什么或应

9、该有什么外部系统 它描述了存在的actors(外部系统)、use case(该系统应该执行什么)以及它们的关系 在Use Case视图中可以包含以下的图形 Use Case图:包括:包、actors、use case和关系 相互作用图(序列图或协同图):包括:对象和消息 符号表示:,Use Case图例,类图,捕获系统的词汇表 在开发过程中被创建和精确化 目的 系统中的名字和模型概念 详细描述协作关系 详细描述逻辑数据库表 由分析人员、设计人员和代码实现人员开发,类图Class Diagram 类图描绘系统的静态视图 它描述了系统逻辑设计中存在的包、类以及它们之间的关系 类图可以代表该系统中部

10、分或全部的类结构,1 购买 0* 属于,对象图,捕获实例和连接,对象图,捕获实例和连接 在分析和设计阶段创建 目的 举例说明数据/对象结构 详细描述瞬态图 由分析人员、设计人员和代码实现人员开发,对象图Object Diagram,对象间关系,关联关系 (Association) 聚集关系(Aggregation) 泛化关系(Generalization) 依赖关系(Dependency) 细化关系 (Refinement),构件图,捕获实现的物理结构,构件图,捕获实现的物理结构 作为体系结构规范的一部分实现 目的 组织源代码 构造一个可执行的发布版本 指定物理数据库 由集成人员和程序人员创建

11、,分布图,捕获系统硬件的拓扑结构,分布图,捕获系统硬件的拓扑结构 作为系统结构规范的一部分被创建 目的 描述组件的分布 标识系统性能瓶颈 由集成人员、网络工程师和系统工程师开发,交互图,交互图描述了系统在逻辑设计中存在的对象及其间的关系 它可以代表系统中对象的结构 UML中包含两种交互图,它们对同一交互操作提供了不同的浏览视角 时序图 按时间顺序排列对象交互操作 协作图 围绕对象及其间的链接关系组织对象的交互操作,时序图,捕获系统的动态行为(面向时间的),时序图,捕获系统的动态行为(面向时间的) 目的 模型流程的控制 举例说明典型的脚本,打印机就绪 打印文件,时序图(Sequence Diag

12、ram),打印机忙 保存文件,打印文件,打印文件,计算机,打印服务器,打印队列,计算机,协作图,捕获系统的动态行为 (面向消息的),协作图,捕获系统的动态行为 (面向消息的) 目的 模型流程控制 举例说明对象结构和控制的协调,协作图(Collaboration Diagram),状态图,捕获系统动态行为(面向事件的),状态图,捕获系统动态行为(面向事件的) 目的 对象生命周期模型 为起反作用的对象(用户接口、设备等)建模,状态图State Diagram 状态图描述了: 给定类的状态转换空间 导致状态转换的事件 导致状态改变的动作 为类的重要动态行为建立状态转换图,活动图,捕获动态行为(面向活

13、动的),活动图,捕获动态行为(面向活动的 目的 给商业工作流建模 给操作建模,活动图Activity Diagram,体系结构和UML,组织: 包, 子系统,动态 交互 状态机,设计视图,实现视图,过程视图,组件,类, 接口, 协作,活动类,分布视图,用例,UML静态图,用例图(Use Case Diagram) 类图(Class Diagram) 对象图(Object Diagram) 构件图(Component Diagram) 部署图(Deployment Diagram),UML动态图,状态图(State Diagram) 时序图(Sequence Diagram) 协作图(Colla

14、boration Diagram) 活动图(Activity Diagram),UML建模方法与视图,用例建模 用例图 类和对象(结构)建模: 类图 对象图 行为(动态)建模 用例图 交互图(顺序图、协作图) 活动图 状态图 物理体系结构建模 构件图 实施图,UML过程,UML过程主要包括: 用例驱动(use-case-driven) 以体系结构为中心(architecture-centric) 反复(iterative) 渐增式开发(incremental),UML过程,1、用例驱动: 用用例方法获取系统的功能需求,并以此驱动需求分析之后的所以阶段的开发 在需求阶段,用例所包括的系统功能,需

15、要用户的确认 在设计和实现阶段,用例被实现 在测试阶段,用例用于验证系统功能,需求,用例,用例影响开发的所有阶段用例视图影响其他视图,UML过程,2、以体系结构为中心 项目开发的早期,除了需求以外,另一个最主要的工作就是确定系统的体系结构 体系结构定义了系统的各部分、各部分的关系和交互、通信机制、如何增加和修改体系结构的规则 体系结构决定了系统的功能和非功能部分 非功能部分包括:性能、易理解性、易修改性、复用度 在UML中,通过定义可以层次化的“包”,来实现把一个大系统划分成不同的小系统 确定体系结构的基本方法是:分析、选择、原型化、评估和精细,UML过程,3、反复迭代 用UML方法建模,可以

16、反复多次,不需要一次完成 通过反复,增加新信息、细化新的细节 每次反复,应进行评估,评估的内容还应包括:代价、风险 4、渐增式 多次迭代,每次迭代增加新的用例和功能 每次迭代,都是分析、设计、实现和测试的过程 迭代的最大好处是分解了风险,不至于把失败的风险留到开发的最后才发现,3.2 需求获取与用例分析,需求开发过程的阶段任务,需求开发过程的重要里程碑,基于UML的需求获取,1、需求获取与业务建模,对于一个复杂的业务系统,我们可能涉及:公司组织、业务单位、部门和人员岗位、职责和功能、内部和外边网络、客户、业务信息流、行政和财务流等等 为这个组织建立计算机系统,我们要回答: 为什么要建立这个系统

17、 这个系统的定位在何处 我们如何确定哪些功能是最适宜放在系统的特定节点上 我们何时采用计算机处理而何时采用人工处理 为适应计算机处理,我们需要改变现有工作流程吗 回答这些问题的技术,就是业务建模,业务建模的目的: 建模过程是开发者和用户之间为导出需求规约而进行的交互过程 因此: 理解现有业务组织的静态结构和动态运作方式 确保客户、最终用户以及开发人员对业务组织有共同的理解 系统的边界在那里?功能是什么? 理解如何部署新的系统以提高生产力,以及现有的哪一个系统会受到新系统的影响 系统的功能由用例来表示: 用例用来: 确定和描述系统的功能要求 给出清晰和一致的系统做什么的描述 为验证系统所需的系统测试提供基准 提供从功能需求到系统实际类和操作的跟踪能力,

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

当前位置:首页 > 中学教育 > 初中教育

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