4.5. Component diagram
A component diagram describes the organizations and dependencies among the components of the system and their relationships. A component is a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment. A component defines its behavior in terms of provided and required interfaces. It is applied to support self-containment of components, the exchangeability of components and the distributed development and assembling of components ( Bauer & Odell, 2005 ). It is used to model the static architectural aspects of the implementation view of the system ( Saleh & El- Morr, 2004 ). Therefore it helps to design the architecture of a system explicitly. Fig. 7 illustrates the component diagram of the Expert Cloud based on class diagram.
Based on system analysis, the components and layered architecture of the Expert Cloud are introduced and discussed in the next section.
5. Expert cloud architecture
To virtualize the HR, provide EaaS, and share the expertise and skills of HR, the Expert Cloud utilizes a layered structure that corresponds to the Cloud architecture ( Fig. 1 ). With the results achieved from the previous section, this architecture is depicted as four layers: Application, Management, Infrastructure and Resource Layers (see Fig. 8 ). The Application Layer not only provides the connection between the Expert Cloud, customer and manager by graphical user interface, but also provides some applications to realize EaaS for customers. The Management Layer manages the HR, jobs and quality related issues. The Infrastructure Layer develops the Resource Layer to provide essential tools for Management Layer and handles the organization rules and policies. The Resource Layer not only provides some resources such as computing devices and storages resources, but also transfers information and data by using World Wide Web. Data Assurance and Security consists of the policies adopted by the Expert Cloud administrator to prevent and monitor misuse, modification, or denial of service in all four layers. Some of the duties of Data Assurance and Security are authorization, authentication, encryption, decryption, coding, and deterrent/detective/preventive/corrective