版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程导论(6) 软件建模,为什么要建模?,本章内容,6.1 一个简单建模的例子 6.2 软件建模 6.3 元建模 6.4 建模语言和UML 6.5 软件过程模型,本章内容,6.1 一个简单建模的例子 6.2 软件建模 6.3 元建模 6.4 建模语言和UML 6.5 软件过程模型,示例- UML,统一建模语言 (UML) 是用于建立面向对象系统模型的标记方法,而序列图是UML中的一个组件,用于形象地描述系统执行时参与者与对象之间的内部交互过程,演示一个软件系统中的某个具体的用例方案。 序列图是直观的,将对象和参与者(横轴)映射到时间(纵轴)。消息连接了对象,当消息发生时,它们沿着纵轴从一个
2、对象移动到另一个对象。这些消息被连接到从对象或参与者底部的中间延伸出的竖直虚线或称生命线,示例表示,本章内容,6.1 一个简单建模的例子 6.2 软件建模 6.3 元建模 6.4 建模语言和UML 6.5 软件过程模型,6.2 软件建模,6.2.1 为什么要建模 6.2.2 软件建模概述 6.2.3 如何建模,如果不事先对软件系统进行抽象而完成蓝图或系统架构的设计,就直接构建一个复杂的软件系统,几乎不可能 建模能事先描述系统的结构和关系,使问题清楚、简单化,有效地解决问题 更好理解手头上的业务情况或工程情况(as-is模型) 设计更好的系统架构和构建更好的系统(to-be模型) 创建可视化代码
3、和其他实施形式适应软件的迭代开发,为什么要建模?,as-is 模型,集中于业务流程,to-be 模型,集中于系统架构,软件建模概述,软件过程建模 业务建模 需求建模 体系结构建模 设计建模 组织建模,面向对象建模,对象模型被用来描述系统的数据结构 动态模型被用来描述系统的控制结构,广泛的模型,模型就是在现实世界和虚拟逻辑世界之间所构造的桥梁 ,如as-is模型 、to-be模型 从更广泛的建模概念看,IDE可以看作是模型驱动开发实践的入口点,在创建和维护代码方面能够提供抽象层次方面的许多机制和工具 代码的可视化显示和编辑可看作是低层次的建模,再看UML,UML不仅是图形化表示法的标准,而且是一
4、种建模语言。同所有语言一样,UML定义了语法和语义,UML的语义组成框架,如何建模?,统一软件、数据和业务建模 贯穿生命周期的建模 模型驱动构架(MDA) 特定领域的建模语言,示例,本章内容,6.1 一个简单建模的例子 6.2 软件建模 6.3 元建模 6.4 建模语言和UML 6.5 软件过程模型,元建模(Meta-modeling)是对“模型的模型”的描述,是自动化工具如何共享数据以及互相操作的基础,可以参考 UML 2.0 对象管理组织 (OMG)把元对象设施(MOF)作为MDA的基础,MOF是所有元模型的定义语言 可根据需要,基于MOF为各个领域的特定建模需求定义相应的领域定义语言 (
5、DSL),元建模概念,元建模的4层结构体系,说明,元-元模型(meta-meta model,MMM)定义描述元模型的语言(MOF),所以比元模型更抽象、更简洁。元-元建模层构成了元建模体系结构的基础结构。 元模型(UML)是元-元模型的实例,以定义描述模型(model)的语言。 用户模型(user model)是元模型的实例,以定义描述问题域或功能域的语言。 用户对象(user object),是模型的实例,以描述一个特定的信息论域。,本章内容,6.1 一个简单建模的例子 6.2 软件建模 6.3 元建模 6.4 建模语言和UML 6.5 软件过程模型,6.4 建模语言和UML,6.4.1
6、建模语言的起源 6.4.2 实体关系建模 6.4.3 UML 6.4.4 UML视图 6.4.5 建模机制 6.4.6 系统建模语言SysML 6.4.7 虚拟现实建模语言,建模语言的历史?,Booch是面向对象方法最早的倡导者之一,基于Ada的工作,于1991年创立了建模语言,Booch OOD,HOOD & OMT,HOOD,OMT,实体关系建模,实体是工件的一个实例,即实体本身标识了单个实例及其附带的数据。 实体类型是具有相同的结构并在企业内部独立存在的一组工件,相当于面向对象方法中“类”的概念 每个实体的属性值的集合是唯一的,这样可以保证实体的识别 实体关系(ER)是描述独立的软件工件
7、之间事务或实体之间的一种关联,依赖关系 特化和泛化 分类 表示方法,ER建模的过程,示例,UML,UML作为通用建模语言,其目标是能适应各种类型的应用系统软件建模的需求,从对面向对象系统建模扩展到了结构化设计系统、业务流程、事物系统、实时和嵌入式系Web应用,三维建筑模型的视图,俯视图,侧视图,正视图,正视,俯视,侧视,UML视图有用例视图、逻辑视图、实现视图、并发视图和部署视图 每类视图,进一步分为各种类型的图,如逻辑视图分为类图、包图和对象图。 每个视图都由一个或者多个图组成,一个图是系统体系结构在某个侧面的表示 所有的图有机地组成系统的完整视图,UML视图,UML 2.0的13种视图,用
8、例图描述系统的功能,展现了一组用例、用户以及它们间的关系,即从用户角度描述系统功能,用于收集用户实际需求,用例图,类图,类图描述系统的静态结构,用来表示系统中的类以及类与类之间的关系,展示了一组类、接口和协作及它们间的关系。,动态视图,顺序图是交互图中语义最丰富、表现力最强的一种图,可以通过组合片断和交互操作符表示诸如选择、循环、并行、有序、引用等复杂的控制结构。 时序图关注沿着线性时间轴、生命线内部和生命线之间的条件改变,描述对象状态随着时间改变的情况,适合实时和嵌入式系统建模。 活动图既支持控制流模型,也支持对象流模型,实现了活动(过程)和动作(执行行为的节点)的集成。,视图之间的关系,类
9、图是构建其它图的基础,没有类图就没有状态机图、协作图等 用协作来表示用例,而协作又被细化为若干个图,建模元素,建模机制,通用机制 注释能够在模型中添加一些模型元素无法表示的额外信息,对某个元素作出解释或说明 在图的模型元素上添加修饰为模型元素附加一定的语义 模型元素具有的一些属性是以数值方式体现的。 扩展机制 模式是指在已有的模型元素基础上建立一种新的模型元素 附加标签值,是模型元素的附加属性。 约束是对元素(语义)的限制,建模步骤,首先是描述需求 根据需求建立系统的静态模型(结构模型),以构造系统的结构; 描述系统的行为,建立动态视图,在系统开发的每个阶段都要建造不同的模型,建造这些模型的目
10、的也不同 注重系统体系结构的开发。 注重过程的迭代和递增性,系统建模语言SysML,用来描述软件系统的架构、行为和功能的建模语言,并吸收了UML建立及其应用中所获得的经验,成为对象建模组织(OMG)联盟软件工程开发的事实上的标准,SysML示例,虚拟现实建模语言,VRML为模拟现实中的三维产品造型而设计的建模语言,通过文本信息描述三维场景,在Internet网上传输,最终由本地机上VRML浏览器解释生成三维场景,VRML Script结构,VRML Script示例,GeoVRML,GeoVRML是让用户通过Web浏览器中标准的VRML插件来浏览地理参考数据、地图和三维地形模型 全面支持多种常
11、用坐标系和参考椭球,并能完成不同坐标系之间的自动转换和映射 扩展所有的数值类型为64位双精度型,提高精度指标到毫米级 三维建模型功能进一步增强 ,如新增加了地理坐标、DTM模型、植入场景)10个节点 实现了基于高程的浏览模式,GeoVRML 示例,X3D具有高度的可扩展性,整合了Java 3D、流媒体、XML等技术,包括3D计算能力、渲染质量和传输速度,X3D,X3D脚本示例,本章内容,6.1 一个简单建模的例子 6.2 软件建模 6.3 元建模 6.4 建模语言和UML 6.5 软件过程模型,软件过程的管理实践,不同的项目需要不同的方法论,一个项目的最佳过程是这个项目所能负担的最小过程。 A
12、listair Cockburn,6.5 软件过程模型,6.5.1 瀑布模型的不足 6.5.2 V模型诠释软件过程 6.5.3 没有统一天下的RUP 6.5.4 MSF的过程模型,后期的变化、迭代、改动困难 不支持重用 没有一个联系各个阶段的统一模型,瀑布模型的不足,V模型诠释软件过程,MSF的过程模型,角色和任务,MSF的特点和原则,目标驱动而非任务驱动 外部可见的里程碑 应提交项的变更管理 递进的版本发布策略 风险驱动的进度管理 项目组集体参与管理产品质量,MSF过程模型的应用,1为共同的愿景而工作 2 推动开放式沟通 3 赋予团队成员权力 4 建立清晰的职责和共同的责任 5关注交付业务价
13、值 6 保持灵巧,预测变化 7 质量投资 8 学习所有的经验,RUP的迭代过程,1,2,3,4,RUP初始阶段,主要成果: 前景文档:对核心项目要求、关键性质、前景说明。 初始的项目术语表。 初始的用例模型和商业用例。 项目规划,其中明确阶段和迭代,一个或多个原型。 初始的风险评估和商业模型。 评估准则: 相关共利益者对项目范围定义和成本/进度估计达成共识。 通过主要的用例将需求无二义地表达出来。 成本/进度估计、优先级、风险和开发过程的可信度。 开发出来的体系结构原型的深度和广度,RUP细化阶段,成果: 用例模型 可执行的体系结构原型及其描述 修订后的风险表和商业用例、开发用例,指定要使用的过程。 整个项目的开发计划。 评估准则: 产品的前景是否稳定?体系结构是否稳定? 可执行的演示是否强调了主要的风险元素并得到解决? 构造阶段规划是否已经足够详细和准确,是否有可信度的评估支持? 如果用当前的计划来开发整个系统,包括使用已定义的体系结构,是否所有相关共利益者对此都达成一致?,RUP构造阶段,版,至少应该包括: 在特定平台上集成的软件产品。 用户手册和对当前版本的描述。 评估准则是: 产品版本是否足够稳定和成熟,可以在用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市2024北京市劳动人民文化宫事业单位招聘9人笔试历年参考题库典型考点附带答案详解
- 佛山市2023广东中共佛山市南海区委党校招聘博士1人笔试历年参考题库典型考点附带答案详解
- 云南省2024国家检察官学院云南分院公开招聘人员(1人)笔试历年参考题库典型考点附带答案详解
- 云南省2024云南华宁产业园区事业单位提前招聘化工类专业人才(2人)笔试历年参考题库典型考点附带答案详解
- 义乌市2024浙江金华义乌市部分事业单位招聘人员148人笔试历年参考题库典型考点附带答案详解
- 东莞市2023广东东莞市清溪镇下属事业单位招聘5人笔试历年参考题库典型考点附带答案详解
- 小学科学探究教学中跨学科融合策略训练教学研究课题报告
- 2026年山西铁道职业技术学院单招职业技能测试题库带答案详解(精练)
- 2026年广东轻工职业技术学院单招职业技能测试题库附参考答案详解(满分必刷)
- 2026年山西铁道职业技术学院单招职业技能考试题库带答案详解(b卷)
- 中老年化妆课件
- 电机与电气控制技术习题汇编
- 腹腔引流管相关感染及预防
- 服装设计基础(第三版)课件:服装设计与面料
- 巡察临时支部管理办法
- 急腹症的鉴别诊断及抢救处理
- 静脉留置针课件
- 患者安全专项行动方案(2023-2025年) 2
- 种植多肉教学课件
- 语文●全国Ⅰ卷丨2024年普通高等学校招生全国统一考试语文试卷及答案
- (高清版)DG∕TJ 08-2405-2022 水运工程装配式护岸结构技术标准
评论
0/150
提交评论