Fast Abstracts Archives . .

FastAbstracts


WHAT IS a
FastAbstract

The History

Archives of
FastAbstracts

ISSRE 2003
ISSRE 2002
ISSRE 2001
ISSRE 2000
ISSRE 1999
ISSRE 1998
FTCS 1999
FTCS 1998



 

 

 

Business Object Approach for Rapid Application Development
(BOARD PIE - 24050)

Manolis Tsagias
Technical Director
Sunsoft Ltd.


Abstract

The purpose of project BOARD is to evaluate the efficiency of the Business Objects approach in the development of software for business applications. This evaluation consists of experiences and answers gathered during the development of two projects using this approach. The driving factor of this experiment is strategic decisions of Sunsoft's management, that require fast and cost effective penetration into vertical software markets for small to medium sized enterprises. The prime requirements for the development of this kind of software are minimal initial development time without sacrificing product quality, low maintenance and extensibility costs, product robustness and the ability to keep up with the technology innovations in the user interface and database areas. The idea of Business Objects is, that one can build a repository of "business objects" that will be enriched with the experience and effort spent on each project and will feed future projects with all the common parts they may have.


Business motivation

Sunsoft is a software production and consulting company. Its main line of business is software development of business applications covering all aspects of a company' s activities. Most applications use database systems and have a graphical user interface.
The goals that motivated Sunsoft to commence this experiment are:

  • To increase its cross-project reusability, thus enabling the company to be more productive and more effective in addressing new vertical markets, without sacrificing product quality and reliability. This will also result in reducing the maintenance costs of the new products.
  • To achieve the production of modular software, thus increasing the flexibility to incorporate new technologies in user interface and database management systems, which will keep Sunsoft in the edge of technology.
  • To improve it's testing procedures by introducing test plans for the whole product and automating the test phase, thus increasing software reliability and robustness and reducing maintenance costs.

Approaching business objects

In order to have sufficient information to measure the effectiveness of this development approach, this experiment uses two projects that are developed consecutively. The selection of the projects was on the grounds that they should target similar areas, but for different customer areas, which is a typical need for reuse.
The project team with the help of consultants decided that they should use UML as the analysis and design documentation notation. The same team received extensive training in OO approaches in general and in UML, as well as in component architecture, distributed objects and interface design concepts.

The first task of the project team was to define the term "Business Component" as it would be used in the Sunsoft environment. The definition includes clarification of terms like what is a business object, a business component, the documentation that is included in each and the rules that components must comply with, in a system wide manner. This definition paper is revised whenever issues arise that require additions or modifications.
The business component idea is based on the fact that our customer needs are quite similar among them and are relatively stable over time. This led the project team to build an analysis repository comprised of low level use cases and business models, which is reused in each new project by the analysis team.

This also led to a design that clearly separates the business layer from the user interface and the database layers. This design allowed us to introduce the concept of multiple tiers in the implementation of the applications. At the same time, it allows replacement of the user interface or the database system, or additions to them. We can for example attach Internet aware modules to a system, or create legacy system wrappers, without affecting the business layer.

Building test plans and test cases for each use case, that evolve throughout the analysis, design and implementation phases, down to automated test scripts, reduces significantly the effort required for test and the expected errors of the first beta releases.

The results and the experience gained

The metrical evaluation of the experiment results is done in two ways. First by comparing the first with the second application and second by comparing both applications against a baseline project built using no particular method.

Comparing the first with the second application we found that there was a 48% of reuse. The first application showed a 75% improvement in quality compared to the baseline project. The second application had a 17% improvement in productivity compared to the baseline project.

One very important issue is that there is extensive analysis and design documentation for both the first and second application whereas the volume of documentation of the baseline project is quite limited. This is expected to have a significant improvement in the maintenance effort of the two applications. It also captures the experience gained in past projects so that it can be reused effectively even by less experienced staff.
The multi-tiered architecture that is now possible with the new design approach, allows the construction of scalable applications and can address clients with needs for distributed systems or a high expansion rate. It is also possible to use multiple user interfaces with low cost and low risk, since all the business logic is encapsulated and isolated in an application server.

Future plans and actions taken

The whole project received a high degree of acceptance throughout the company, as the problems that it addresses affect most of the company's departments. A new concept emerged for the company that incorporates the new development technologies, tools, methods and experience. This concept was named ALEXANDROS and is currently being adopted by the company and marketed in the wider public.