Unified Modeling Language (UML) is the most powerful modeling language to demonstrate and represent software development problems. Through UML, one can design software in an efficient and effective manner (Booch et al., 1999; and Saxena and Ansari, 2009). The Object Management Group (OMG) introduced the UML approach for software designers and researchers to produce efficient and useful software (OMG, 2001). UML is widely used to model software systems for both industry and academia (Flower, 2003). There are a number of benefits in adopting the UML. First, UML provides the facility of high-level information that differentiates the internal behavior of components, which can be processed efficiently and used successfully when testing the software. Second, it has emerged as the industry standard for software modeling notations and diagrams. Third, UML includes a set of models that can provide different levels of capacity and accuracy for component modeling, and thus, can be used to satisfy various needs in the real world. Recently, Saxena and Ansari (2008a and 2008b) proposed different UML models which are domain-specific and are implemented with data cube in a very efficient and effective way.
Component-Based Software Development (CBSD) process refers to the development of software by making considerable use of previously developed software components, and not constructing the software system from the scratch. This move towards new software would help know the resources and limits and also gain efficiency and superiority (Szyperski, 1999; and Kuljit and Singh, 2009). Component-based software process has proved to be successful for the reuse and maintainability of software (Breivold and Larsson, 2009). CBSD process provides a prospect for improved quality and enhanced productivity in software development by using reusable software components (Wang, 2008). The reuse approach of object-oriented approach to develop software development process has been used for long. The new technology has extensively increased the potential of building systems and applications from reusable components. The CBSD process needs a systematic approach and focus on the component aspects of software development (Wu and Woodside, 2004). A CBSD process should be able to develop, acquire and incorporate into the system and compose with other components separately in time (Crnkovic and Larsson, 2000). From the CBSD process point of view, the structure of applications becomes a process of combining independent software modules called components (Szyperski, 1998). CBSD process models are being planned and compared to look for answers to the challenges faced by software developers (Fahni and Choi, 2008).
|