奥博杰天

面对对象的分析与设计

我们的名字 - Objectiva - 源于我们注重对对象建模以及面向对象的程序设计与分析。我们追求一个宽度优先的方法,该方法强调开发一个稳固的架构和面向对象的设计,允许我们根据它在一个项目的早期阶段实现一个可以运行的软件系统,然后逐渐完善构成该系统的各个对象以获得全部所要求的功能。我们把软件的架构和设计看作是一个软件产品的核心;软件架构可通过以下 4 个互为补充的模型查看:

  • 行为模型: 把功能需求转化为在使用用例和活动图表可直观显示出来的行为。
  • 逻辑模型: 定义实现所期待的行为模式的类别以及他们的状态图。
  • 组件模型: 显示组成软件组件类别的集合,以及这些组件之间的依赖/交互关系。
  • 部署模型: 把软件组件映射到该软件产品将要运行的硬件上。

我们使用统一建模语言 (Universal Modeling Language) 和 UML 建模工具为这 4 个架构视图建模。开发这些模型成为我们搜集和分析需求、改进设计以及把各个设计与代码连接起来的手段。有了架构的 UML 模型,我们就能够批准需求和设计,并在编写代码时对它们进行改进,而且还可以追溯这些改进对代码的影响。

我们主要通过 UML 模型以文档形式记录面向对象的设计,并就软件将如何提供所需功能与软件开发人员、测试人员、技术文档撰写人员以及业务人员进行沟通。

在 UML 模型中,我们的设计方法主要是先定义对象之间和组件之间的接口,然后再设计对象的内部。我们还应用一条叫做 80/20 的规则,即用 20% 时间获得 80% 的功能,不去纠缠某个单一的对象而冒不能交付软件产品的风险。确保不做没有必要的重复工作。比如,针对一个项目,我们使用符合其需求的设计模式来建立软件设计的基础,而不是从零开始就完成每一个设计。

对于企业软件系统,我们使用诸如 J2EE、Microsoft .NET 这样的行业标准和平台以及应用程序服务器作为企业软件的基础,然后通过它们建立定制对象。