《软件工程(华中科大)OOA举例.ppt》由会员分享,可在线阅读,更多相关《软件工程(华中科大)OOA举例.ppt(9页珍藏版)》请在三一办公上搜索。
1、2023/7/2,1,软件需求描述 在窗口上用鼠标以所见即所得的方式生成一个报刊杂志排版时常用的示意图,并且可以将此示意图输出esp文件或直接用打印机打印。特殊功能(与Illustrator、Coreldraw、Freehand等通用绘图软件相比):1、能方便地绘制各种风格的道路、铁路、河流等通用图形符号;2、能方便地在道路、河流交叉的地方画桥;3、能方便地设定不同道路、铁路之间在交叉点处的相互覆盖关系,甚至能够实现两条道路首尾互相覆盖;4、能方便地将多条道路焊接在一起,构成连通的道路;5、提供用于绘制示意图的基本图例;且图例的参数可由用户调节;6、能方便地将一串文字安排到路中间或旁边,以及与
2、路平行的方向;还能设定文字的指示线,使其固定指向某个位置。,地理示意图排版软件的OOA,2023/7/2,2,2023/7/2,3,建立对象模型1、发现对象,建立对象类领会任务意图、观察示例图,可得知:示意图主要由一些道路、建筑物、各种标志及文字等组成。于是,可提取出作为系统中的对象:示意图对象-整个要被排版的地理示意图。它包含:道路对象-地理示意图中的各种道路。可派生出:带边界路、无边界路、黑白相间路、河流四种子类对象标志物对象-可派生出地理示意图中的各种特殊标志:电话亭、路标、公共汽车站、加油站等子类对象文字对象-示意图上的文字描述,可以包含边框,可以有附加的指示线指向相应的对象。扩充图形
3、对象-描述地理示意图中除去以上对象之外的其它各类有形对象,如:建筑物、草地、池塘等各种简单的或比较复杂的几何图形,如:圆、椭圆、规则(/不规则)多边形、直线段、曲线段。,2023/7/2,4,依赖对象-用于实现道路之间的覆盖、焊接,以及道路和河流之间的桥。可派生出覆盖对象、焊接对象、桥对象。,2023/7/2,5,建立对象模型2、定义属性和服务对象名称 属性 服务 示意图 边框、底色、大小 对象检索、添加、删除、组成元素列表 调整某对象在图中的位置、输出整个示意图到esp文件或到屏幕或到打印机道路 骨架线(的宽度、颜色)取道路的骨架线、轮廓(形状及位置参数)取道路的轮廓、输出道路到屏幕标志物
4、位置 输出标志物到屏幕文字 文字串、位置、排版格式 输出文字到屏幕 提示线颜色、边框形状扩充图形 位置、形状参数 输出扩充图形到屏幕依赖对象 轮廓、位置、设置此对象所依赖的对象、所依赖的对象之标识 获取此对象所依赖的对象、输出依赖对象到屏幕,2023/7/2,6,建立对象模型2、定义属性和服务对象名称 属性 服务 覆盖(继承 覆盖顺序(上下)交换所依赖的两对象上下关系依赖对象)输出覆盖对象到屏幕焊接(继承 依赖对象)输出覆盖对象到屏幕桥(继承 上下顺序 交换所依赖的两对象上下关系依赖对象)桥的参数 修改桥的参数 输出覆盖对象到屏幕,2023/7/2,7,建立对象模型3、定义结构和连接整体-部分
5、结构,示意图,道路,标志物,文字,扩充图形,依赖,1,0,m,无边界路,带边界路,黑白相间路,河流,覆盖,焊接,桥,2023/7/2,8,消息连接(存在与依赖对象和道路对象之间)当某条道路被移动时,原来的交叉区域位置改变,则需要移动响应的依赖对象的位置;当某条道路被删除时,原来的交叉区域将不存在,则需要删除响应的依赖对象。依赖对象画自身时,需要调用道路对象的画函数。实例连接(存在与依赖对象和道路对象之间):,道路对象,道路对象,带边界路,焊接对象,桥对象,覆盖对象,2023/7/2,9,覆盖对象的具体实现机理:1、根据两条道路的骨架线计算出它们的交叉点;2、根据两条道路各自的宽度算出在交叉点处
6、的重叠区(覆盖对象的轮廓);3、在事先分别画两条道路以后,现在画它们的覆盖对象:若欲A覆盖B,则由覆盖对象调用A的画函数在覆盖区中重画A.若两条道路有两个交叉点,通过分别建立两个覆盖对象,还能实现它们在不同交叉点处具有相反的上下关系。如,A的头盖住B的尾,B的头又盖住A的尾。桥对象的具体实现机理:类似于覆盖的做法,但桥的画函数更复杂些:先画桥本身的形状、底纹,再调用A的画函数,从而实现A在桥上,桥又盖住B。计算桥的轮廓时,还需要考虑到桥本身的属性。桥对象的具体实现机理:用户操纵鼠标用不规则多边形把多条带边界路的在交叉点处的重叠区(焊接对象的轮廓)标识出来;焊接对象的画函数轮流调用每一个所依赖的路对象的画路心函数,并设置焊接对象的轮廓为裁减区。,