吉林大学UML学习思维笔记第二章对象技术简介

吉林大学UML学习思维笔记

第二章对象技术简介

  1. objectives
    定义对象技术并展示其优势。
    解释对象技术的历史。
    讨论当今如何使用对象技术。
  2. What Is Object Technology?
    指导软件构建的一组原则(抽象、封装、多态性),以及支持这些原则的语言、数据库和其他工具。(《对象技术——管理者指南》,泰勒,1997年。)
  3. The Strengths of Object Technology
    反映单一范例
    促进架构和代码重用
    更紧密地反映真实世界模型
    鼓励稳定性
    适应变化
  4. Where Is Object Technology Used?
    客户机/服务器系统和Web开发
    对象技术允许公司将业务信息封装在对象中,并帮助在Internet或网络上分发处理
    实时系统
    对象技术使实时系统的开发具有更高的质量和灵活性
  5. Differences Between OO and Structured Design
    面向对象(OO)
    在生命周期早期将数据和数据流过程融合在一起
    具有高级别的封装
    促进代码的不同重用
    允许更多的软件扩展性
    实例:BOM单成本计算
package BOM;
class BOMAPI {
  static final int PIECE = 0; // 零件
  static final int ASSEMBLY = 1; // 组合件
  static final int getType(String id); // 判断是零件还是组合件
  // 返回零件的价格,如果不是零件,抛出NotPieceException异常
  static final double getcost(String id) throws NotPieceException;
  // 返回一个列表,其中包含组成组合件的部件
  static final List getPartsOfAssembly(String id) 
    throws NotAssemlyException;
}
abstract class Part {
 public double cost();
}
class PiecePart extends Part {
  public double cost();}
class Assembly extends Part {
  private LinkedList itsParts;  // 以链表结构存放组合件的组成部件
  public double cost();
}
public double cost() 
{
  double c = 0.0;
  try {
    c = BOMAPI.getCost(this.myID);
    return c;
  }
  catch (NotPieceException e) {
    assert false : “Piece identify assertion error”;
  }
}
public double cost() 
{
  try {
    double c = 0.0;
    List parts = BOMAPI. getPartsOfAssembly(this.myID) 
    Iterator iter = parts.iterator();
    while (iter.hasNext()) {
      Part p = (Part)iter.next();
      c += p.cost();
    }
    return c;
  }
  catch (NotAssemblyException e) {
    assert false : “Assembly identify assertion error”;
  }
}
double totalCost = 0.0;
Iterator iter = partsList.iterator(); // 把整个BOM当成一个大的Assembly
while (iter.hasNext()) {
  Part part = (Part) iter.next();
  totalCost += part.cost();
}
return totalCost;
BOM bom = new BOM(“BOM.xls”);
totalCost = bom.calculateCost();

你可能感兴趣的:(uml,ppt翻译笔记,uml,学习)