Framework-Oriented Analysis ( by feng Zhu )

FOA ( framework oriented analysis ) is an extension of OOA, but it explores the reuse of software architecture, design, code and test case of framworks.
Features: comparison-based analysis, feature comparison , hierarchical framework.

框架是一个部分实现的程序,为特定的应用或领域提供完整的软件架构。【garvae 96, Bothrer 97, Ebner 98a】
框架通常提供了一个在特定领域中一系列应用程序(程序族)的软件架构。

典型的框架包括:JavaBean, CORBA, IBM San Francisco.Websphere. OpenStep and WebObjects.

Difference between Developing with Framework and that without Framework:
 

  Without Framework

 With Framework

 Architecture,
Design and
Implementation

 architecture designing
 which library functions to call
what data need to pass to library functions
how to implement parts
 coding for implementing blocks;

architecture deriving
which function will get called
what data the system will pass to application
how to reuse the existing components
coding for connection blocks


FOA , 在分析阶段需要考虑一些约束:框架的架构,编程语言,对象总线,机器平台等。

OOA把系统分解为基本对象。不需要考虑以上约束。FOA需要在早期比较应用程序架构和框架架构,以判断或选择框架,保证框架的可复用性。这种方法鼓励框架中高层对象的复用。

OOA,设计者自己使用设计模式或他们自己的模式等来构造系统。
FOA, 模式已经内嵌到框架中,设计者必须符合这些模式的规则来实现系统。

FOA步骤:

  1. 问题理解和框架选择(问题的领域,场景,约束。可用的框架?)
  2. 根据应用确定框架和可用构件(哪些是可用的?需要哪些辅助的构件?)
  3. 确定需要扩展的、未完成的部分 (框架通常只定义高层对象的协作关系。有哪些扩展点?)
  4. 如果必须,对框架结构改进(框架和问题的需求不是完全符合的。软件的复用能力问题)
  5. 验证和确认
  6. 集成构件,构造程序。

你可能感兴趣的:(framework)