Article Preview
Top1. Introduction
In the context of the consistency and quality of software, software engineering aims to the use of evolution and persistence methods, which has recently been devoted to the development orientation of component based software.
This interest is motivated by the reduction of development time of applications, the requirement of excellent quality, to constantly adapt to changes and be easily used in other applications. Therefore, strategy development software modules must be defined in advance in terms of clarity, performance, and ease of integration.
The idea of the component was firstly proposed in 1968 by Douglas McIlroy (McIlro, 1968). This new era of component-oriented started to grow 30 years later: Sun EJB (Sun), OMG (OMG), CCM (CORBA), Microsoft “.NET / COM” (Microsoft. NET), etc.
The software industry is moving towards a component-based development, and research is still needed for reliable and efficient software components. The component-based software development approach is currently one of the most promising solutions, which differs from the traditional approach in which software systems can only be implemented from scratch. The idea of the component-based software development approach is that software systems can be developed by appropriate components and then assembling them with a well-defined software architecture (Cai, 2000).
Managing the communication between the system components requires taking into consideration the users of this system. Indeed, a system actor expresses one or more common users depending on the vision of using system. A viewpoint expresses that “vision” of the actors in the system. Hence the viewpoint concept will be an appropriate way to implement this approach.
From the principle the same world observed by several actors can produce different viewpoints. Therefore, it is necessary to integrate the actor in action, and then build a combination actor / information in the viewpoint approach. The main objectives in integrating viewpoints into systems are (Benchikha, 2007):
- •
The viewpoint concept is an effective means to improve the consistency of modeling and control system complexity, the main purpose of taking into account all the views and viewpoint modeling designers
- •
The behavior and state of an object have been reviewed by the perspectives (Bobrow, 1977), contexts (Debrauwer, 1998) and viewpoints, and therefore the viewpoint is like an advanced mechanism for object-oriented technology.
- •
The method based on viewpoint increases the participation of multiple stakeholders from different areas in the collaborative modeling process (Krumeich, 2014).
The objective of our work is to identify software components representing the different types of system users, and to propose a pattern that ensures the combination and communication between software components. This paper is organized as follows:
After introducing the applied research on component development and the objective of this work Section 2 discusses the related works of the component and viewpoint concepts. Section 3 is devoted to define the different elements of the proposed approach. Section 4 is dedicated to present the proposed approach with a case study. And it ends with a conclusion in section 5.