资源描述
Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,#,Click to edit Master title style,zhu.kerry,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,#,软件工程导论,(6),软件建模,为什么要建模?,一个简单建模的例子,6.2 软件建模,6.3 元建模,6.4 建模语言和UML,6.5 软件过程模型,一个简单建模的例子,6.2 软件建模,6.3 元建模,6.4 建模语言和UML,6.5 软件过程模型,UML,(,UML,)是用于建立面向对象系统模型的标记方法,而序列图是,UML,中的一个组件,用于形象地描述系统执行时参与者与对象之间的内部交互过程,演示一个软件系统中的某个具体的用例方案。,序列图是直观的,将对象和参与者(横轴)映射到时间(纵轴)。消息连接了对象,当消息发生时,它们沿着纵轴从一个对象移动到另一个对象。这些消息被连接到从对象或参与者底部的中间延伸出的竖直虚线,或称生命线,示例表示,一个简单建模的例子,6.2 软件建模,6.3 元建模,6.4 建模语言和UML,6.5 软件过程模型,软件建模,,如,as-is,模型、,to-be,模型,从更广泛的建模概念看,,IDE,可以看作是模型驱动开发实践的入口点,在创建和维护代码方面能够提供抽象层次方面的许多机制和工具,代码的可视化显示和编辑可看作是低层次的建模,再看,UML,一个简单建模的例子,6.2 软件建模,6.3 元建模,6.4 建模语言和UML,6.5 软件过程模型,2.0,对象管理组织(,OMG,)把元对象设施(,MOF,)作为,MDA,的基础,,MOF,是所有元模型的定义语言,可根据需要,基于,MOF,为各个领域的特定建模需求定义相应的领域定义语言(,DSL,),元建模,概念,元建模的,4,层结构体系,model,,,MMM,)定义描述元模型的语言(,MOF,),所以比元模型更抽象、更简洁。元,-,元建模层构成了元建模体系结构的基础结构。,元模型(,UML,)是元,-,元模型的实例,以定义描述模型,(,model,)的语言。,用户模型,(,user model,)是元模型的实例,以定义描述问题域或功能域的语言。,用户对象,(,user object,),,是模型的实例,,,以描述一个特定的信息论域。,本章内容,6.1 一个简单建模的例子,6.2 软件建模,6.3 元建模,6.4 建模语言和UML,6.5 软件过程模型,建模语言和UML,6.4.1,建模语言的起源,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,2.0,的,13,种视图,Script,结构,VRML Script,示例,GeoVRML,GeoVRML,是让用户通过,Web,浏览器中标准的,VRML,插件来浏览地理参考数据、地图和三维地形模型,全面支持多种常用坐标系和参考椭球,并能完成不同坐标系之间的自动转换和映射,扩展所有的数值类型为,64,位双精度型,提高精度指标到毫米级,三维建模型功能进一步增强,如新增加了地理坐标、,DTM,模型、植入场景),10,个节点,实现了基于高程的浏览模式,GeoVRML,示例,X3D,具有高度的可扩展性,整合了,Java 3D,、流媒体、,XML,等技术,包括,3D,计算能力、渲染质量和传输速度,X3D,X3D,脚本示例,本章内容,6.1 一个简单建模的例子,6.2 软件建模,6.3 元建模,6.4 建模语言和UML,6.5 软件过程模型,Cockburn,6.5 软件过程模型,6.5.1,瀑布模型的不足,6.5.2 V,模型诠释软件过程,6.5.3,没有统一天下的,RUP,6.5.4 MSF,的过程模型,推动开放式沟通,3,赋予团队成员权力,4,建立清晰的职责和共同的责任,5,关注交付业务价值,6,保持灵巧,预测变化,7,质量投资,8,学习所有的经验,RUP,的迭代过程,1,2,3,4,RUP,初始阶段,主要成果:,前景文档:对核心项目要求、关键性质、前景说明。,初始的项目术语表。,初始的用例模型和商业用例。,项目规划,其中明确阶段和迭代,一个或多个原型。,初始的风险评估和商业模型。,评估准则:,相关共利益者对项目范围定义和成本,/,进度估计达成共识。,通过主要的用例将需求无二义地表达出来。,成本,/,进度估计、优先级、风险和开发过程的可信度。,开发出来的体系结构原型的深度和广度,RUP,细化阶段,成果:,用例模型,可执行的体系结构原型及其描述,修订后的风险表和商业用例、开发用例,指定要使用的过程。,整个项目的开发计划。,评估准则:,产品的前景是否稳定?体系结构是否稳定?,可执行的演示是否强调了主要的风险元素并得到解决?,构造阶段规划是否已经足够详细和准确,是否有可信度的评估支持?,如果用当前的计划来开发整个系统,包括使用已定义的体系结构,是否所有相关共利益者对此都达成一致?,RUP,构造阶段,版,至少应该包括:,在特定平台上集成的软件产品。,用户手册和对当前版本的描述。,评估准则是:,产品版本是否足够稳定和成熟,可以在用户群中发布吗?,是否所有相关共利益者都同意产品的发布?,实际的资源支出和计划的支出的比值是否仍然可接受?,RUP,交付阶段,主要工作有:,测试,确认新系统达到用户的预期。,与被取代的旧系统并行操作,以及功能性数据库的转换。,用户和维护人员培训。,向市场、分销商和销售人员进行新产品的展示。,交付阶段侧重向用户提交软件的活动,评估准则可以非常简单,也可能极其复杂。,用户是否满意?,是否能够接受实际的和计划的资源支出的比?,Q&A,
展开阅读全文