- 1
- 0
- 约6.88千字
- 约 35页
- 2018-03-09 发布于浙江
- 举报
[计算机软件及应用]面向对象的设计与UML建模语言ppt
99-5-5 Software Engineering 第一章 软件和软件工程 软 件 工 程 面向对象设计(Object-Oriented Design) §1. OOD准则:优秀软件设计的一个重要特点是容易维护 §2. 启发式规则 1、设计结果清晰易懂,应做到: ① 用词一致 —— 按习惯用法命名。不同classes中相似的methods最好取同一名字。 ② 使用已有的protocol。 ③ 尽量减少message模式的数目。 ④ 避免模糊定义。 §5. 设计类中的服务 —— 细化object model中的 methods §6. 设计关联 一个简单的面向对象设计的例子 简化的账户类图 设计类图 面向对象的数据库设计 从一个类图建立一个对象数据库模式,可以依照以下的步骤: (1)确定哪些类需要持久存储 (2)定义持久类 (3)表示持久类之间的关联 (4)为每个字段选择合适的数据库类型和值域(如果有必要) 面向对象的数据库设计 (一)类的表示 暂存对象:一个在实例化或方法调用中不需要存储任何属性值的对象。 持久对象:一个在实例化或方法调用中必须存储一个或多个属性值的对象。 对象数据库模式包括每个需要持久存储的类的定义,用ODL(object definition language)来定义。可以从相应的UML类图中得到。 类的表示 Class Account{ Attribute Integer AccountNumber Attribute Currency Balance Attribute Date DateOpened Attribute String CustomerID Attribute String AccountState relationship customer AssigenedTo inverse customer:Uses } 这个ODL类对应前面的账号类的ODL定义。Attribute关键字用于申明对象的属性,relationship用于申明一个来与另一个类之间的关系。 类的表示 Class customer{ Attribute String name Attribute String Address Attribute String phoneNumber relationship setAccount Makes inverse Account:Makes } 客户类的ODL定义.客户可以同时拥有多个账号。 类的关系的表示 对于多对多的关系,如果关系本身还有属性,则生成一个新的相关类。否则表示法同“一对多”。 带属性相关类的ODL定义 Class CatalogProduct{ Attribute real price relationship Catalog AppearsIn1 inverse Catalog::Contains1 relationship ProductItem AppearsIn2 inverse ProductItem::Contains2 } 一般化关系 体现类之间的继承和泛化的关系 一般化关系 Class Order{ Attribute String OrderID Attribute String Date Attribute String PriorityCode Attribute real TotalSH Attribute real TotalTax Attribute real GrandTotal } Class webOrder extends Order{ Attribute EmailAddress Attribute ReplyMethod } 一般化关系 Class phoneOrder{ Attribute String phoneClerk Attribute String CallStartTime Attribute Integer LengthOfCall } Class MailOrder extends Order{ Attribute String DateReceived Attribute ProcessClerk } 关键字extends说明类之间的继承关系。当存储在面向对象数据库中时,这三个派生类的对象将继承order类中所定义的所有属性、方法和关系。 参照完整性时有对象标识实现的,因此在面向对象数据库中不需要关键属性。 Order Order ID OrderDate P
原创力文档

文档评论(0)