Goal-oriented design of business models and software architectures

Deryck Velasquez

Abstract

The promise of web-based e-commerce presents an opportunity to traditional businesses and pure-play e-commerce start-ups. However, the recent dot-com bust demonstrates that a disciplined approach to e-commerce is needed in order to avoid failure. Firms wishing to succeed in e-commerce must realize that technology alone is no silver bullet. Success starts with well-defined business goals, suited to the marketplace in which the firm competes. The goals should be matched to an appropriate business model. The business model should be implemented by a appropriate software architecture.

In order to choose the right business model and the right software architecture for the firm's business goals, the firm must be able to effectively evaluate candidates. Since the world of e-commerce is fast-paced, the evaluation method must be light-weight enough to use quickly. Yet it must reflect real-world trade-offs and feature interactions. The evaluation method could be used to select the initial business model and software architecture. It could also be used to compare alternatives that could be adopted to improve satisfaction of the business goals.

This seminar will sketch some work being done to develop an end-to-end solution for designing and evolving business and software architectures. In order to model the required work-products for each stage of the process, we will use the Goal-oriented Requirement Language (GRL) and Use Case Maps (UCM). These two notations compose the User Requirements Notation (URN).

We will use GRL in order to model the business goals and other requirements. Next, we will define a high-level business model to achieve those goals using the Weill notation. The Weill notation expresses business models as a series of "flows" of goods and information between actors. The business model needs to be further specified into a business architecture. We will refine the business model into candidate business architectures using business patterns. We will specify these candidate business architectures using UCMs. By testing UCM scenarios on the candidate business architectures, we will be able to analyze how each business architecture satisfies the business goals. We will use GRL again to compare the candidates and to help us choose the best candidate.

Once we have chosen the best business architecture, we can try to match it with a suitable software architecture. We start with a high-level top-down software architecture and refine it using different architectural patterns, in order to generate different candidate software architectures. We will specify the candidate software architectures using UCMs. By testing UCM scenarios on the candidate software architectures, we can analyze their technical merits. We can then compare the candidates to see how they satisfy the business goals using GRL. The comparison in GRL will enable us to select the most promising software architecture. The end-to-end process can also be used to intelligently evolve existing business models to increase satisfaction of the business goals.

This seminar will be of use to persons who are interested in any of the following topics; web applications, business process modeling, software patterns and software architecture.