Methodology for Development with Frameworks

Application development using frameworks consists of four steps. These steps address Business Architecture, Framework/Componentry, Application Architecture and End User/Solution Environment. Following this approach will maximize the value of frameworks in developing applications.

  • Business Architecture
  • To start, domain experts must define the business problem to be solved. This involves gathering requirements from experts, users and existing systems. The business problem is broken down into business processes. These are viewed as functional requirements, sometimes referred to as use cases. At this point a search is conducted of the framework repository for available processes that match, or can be extended to match, the functional requirements. The required processes are assembled in an OMD (object model diagram - static model) to analyze the design. The use cases are used to define scenarios that are then used in conjunction with the OMD to define OID (object interaction diagrams) to dynamically analyze the design.

  • Framework/Componentry
  • The focus now moves to using and defining reusable parts. The repository is browsed to find parts that meet or can be extended to meet the functional requirements incorporated into the Model. In some cases the function needed may already exist in the repository. In other cases developers may need to use combinations of existing frameworks, and/or modify existing frameworks to meet specific needs. This may include adding/deleting activities/nodes, or modifying the sequences of activities. If the function does not exist in their repository one may consider buying a framework to incorporate into the design.

  • In still other cases you will need to develop new code. In this case, developers will want to design using OO techniques to maximize potential for reuse of the code.
  • Application Architecture
  • Developers are now ready to build the application. This will include incorporating the UI with the functions needed to meet all design requirements. The application is assembled by pulling together the selected frameworks and developing any additional code that is not included in the frameworks. The application is prototyped and tested. The frameworks are changed and extended as needed to meet application needs. There should be two to three design cycles, all the way from analysis through prototyping. This is critical to ensure the base design is right. It will become the foundation for defining and testing incremental improvements to the application. Following this step, the application is ready to deploy.

  • End User/Solution Environment
  • In this step, the application is deployed and integrated into the business environment. For simple applications, this can be as simple as the customer installing and configuring the application (shrink wrap case). For complex applications, this can involve validating the application via process modeling and analysis, testing with end users, integrating the application with other applications, incorporating new requirements and ultimately putting the application in production.

slide: Methodology for Development with Frameworks