编辑: star薰衣草 2019-07-02
下载 第7章图本章内容: ? 图、视图和模型 ? 对系统的不同视图建模 ? 对不同的抽象层次建模 ? 对复杂视图建模 ? 组织图和其他制品 当对一些事物建模时,为了更好地理解正在开发的系统,要对现实世界进行简化.

使用 UML,用类、接口、协作、构件、节点、依赖、泛化和关联等基本构造块建造模型. 【在第1章中 讨论建模. 】 图是观察这些构造块的方式.图是一组元素的图形表示,经常把大多数

图表示成顶点(事物)和弧(关系)的连通图.用图从不同的角度对系统进行可视化.因为没有哪个复杂的系统 能仅从一个角度理解其全局,所以 UML定义多种图,使你能分别独立地注重于系统的不同方面. 优秀的图使得正在开发的系统易于理解和处理.选择一组正确的图来对系统进行建模,能 促使你对系统提出正确的问题,并有助于表明决策的含义. 7.1 入门 当你与建筑师一起设计一座房屋时,要从 3个事物开始:需求的列表(如 需要有 3个卧室 的房屋 , 支出要少于 x元 );

一些取自别的房屋,描述了一些关键特征(如 带有环行楼梯 的入口的照片 )的简单草图或照片;

一些关于风格的一般想法(如 我喜欢带有加利福尼亚海 岸情调的法国乡村样式 ) .建筑师的工作是把这些不完整的、不断变化的且可能是矛盾的需求 转换成设计. 为了做到这些,建筑师可能要从一份基本的楼面布置蓝图开始.该制品为你和建筑师提供 了将最终的房屋可视化的交流媒介,它描述了细节并把决策文档化.每一次审查都可能要做一 些改变,如移动墙体、重新安排房间和放置门窗.早期这些蓝图会经常变化.随着设计的成熟, 你越来越满意已做出的设计,这个设计最好地满足了所有的形式、功能、时间和金钱上的约束, 这些蓝图将稳定下来,可用于构造房屋.即使在建造房屋的过程中,可能还要对某些图进行改 变,也可能要创建一些新图. 进一步,你想要看到的将是房屋的一些视图,而不仅仅是楼面的布置图.例如,你可能想 看从不同的侧面展示房屋的立体视图.为了使所付出的工作有意义,当你开始详述细节时, 64计计第二部分 对基本结构建模 下载 建筑师需要制订电器方案、加热和通风方案以及上下水方案.如果你的设计要求某些不寻常 的特征(如地下室无支撑的长跨距)或者你认为有一个特征对你来说很重要(如为了把家庭 影院放在壁炉的附近,要考虑对壁炉的放置) ,则你和建筑师就要勾画一些强调这些细节问题 的草图. 绘制一些图,从不同的角度对系统进行可视化,这种做法并不限于建筑业.在各种要创造 复杂系统的工程学科中―从民用工程到航空工程、造船业、制造业和软件业―都使用这种方 法. 在软件方面,对软件体系结构进行可视化、详述、构造和文档化,有 5种最重要的互补视图: 用况图、设计图、进程图、实现图和实施图.每一种视图都包含结构建模(对静态事物建模) 和行为建模(对动态事物建模) .这些不同的视图一起捕获了系统的最重要的决策.每个视图都 分别使你注重于系统的一个方面,从而使你能清楚地思考设计决策. 【在第2章中讨论体系结构的5种视 图. 】 当用UML从任一角度观察软件系统时,要用图去组织感兴趣的元素. UML定义了9种图, 可以混合和组配它们来汇集成各种视图.例如,系统的实现视图的静态方面可以用构件图可视 化,同一个实现视图的动态方面可以用交互图可视化.类似地,系统数据库的静态方面可以用 类图可视化,动态方面可以用协作图可视化. 【在第31章中讨论对系统的体系结构建模. 】 当然,你可以不限于这9种图.在UML中,定义这9种图是因为它们表示了被观察元素的最 常见的组合.为了适应项目或组织的需要,可以创建你自己所需种类的图,从而以不同的方式 对UML元素进行观察. 你将以两种基本的方式使用 UML的图:详述用于构造可执行系统的模型(正向工程)和从 可执行系统部分地重新构造模型(逆向工程) .正像建筑师一样,无论哪一种方式,你都趋于增 量(一次制作一部分)和迭代(重复地进行设计一点、建造一点的过程)地创建图. 【在附录C中 总结增量和迭代过程. 】 7.2 术语和概念 系统(system)是一个为完成一定的目的而被组织起来的子系统的集合,这些子系统由一组 可能来自不同观点的模型描述.子系统(subsystem)是一组元素的组合,其中的一些元素构成 了其他被包含的元素所提供的行为规格说明.模型(model)是系统的语义闭合的抽象,这意味 着它表示对现实的简化,这种简化既是完整的又是自相容的,这是为更好地理解系统而建立的. 在体系结构的语境中,视图(view)是对系统模型的组织和结构的投影,注重于系统的一个方 面.图(diagram)是一组元素的图形表示,通常表示成由顶点(事物)和弧(关系)组成的连 通图. 【在第31章中讨论系统、模型和视图. 】 另一方面,系统表示了正在开发的事物,通过不同的模型从不同的角度对系统进行观察, 并且以图的形式描述这些视图. 图正是对组成系统的元素的图形投影.例如,在一个社团人力资源系统的设计中,可能有 几百个类.你总不能一开始就用一张包含所有的类和它们之间所有关系的大图,对系统的结构 和行为进行可视化.相反,要创建几张图,每张图注重于一个方面.例如,你可能发现一个类 图,其中包含Person、Department和Office等类,这些类汇集在一起构成数据库模式.你 可能在另一张图中看到这些类中的某些类以及另外的一些类,该图是表示由客户应用系统使用 的API的.你也可能在交互图中看到一些同样的类,描述把一个 Person重新分配给一个新 Department的事务的语义. 如本例所示,系统中的同一个事物(如类 Person)可以在同一个图或不同的图中出现多次. 在每种情况下,它都是同一个事物.每个图对组成系统的元素提供了一个视图. 对实际系统建模,无论问题域如何,你将会发现所建的图的种类都是一样的,这是因为它 们把常见的视

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题