The Architecture of an Effective Software Application for Managing Enterprise Projects
This paper presents the architecture of an effective software application for managing enterprise projects. Viewing the execution of an enterprise project as a highly complex system in which many delicate trade-offs among completion time, cost, safety, and quality are required, the architecture has been designed based on the fact that any action in one part of such a project can highly impact its other parts. Highlighting the complexity of the system, and the way computational intelligence should be employed in making these trade-offs are the base of the presented architecture. The architecture is also based on the fact that developing a software application for appropriate managing of such trade-offs is not a trivial task, and a robust application for this purpose should be involved with an array of sophisticated optimization techniques. A multi-agent system (MAS), as a software application composed of multiple interacting modules, has been used as the main component of architecture. In this multi-agent system, modules interact with environment on-line, and resolve various resource conflicts which are complex and hard-to-resolve on daily basis. Based on the proposed architecture, the paper also provides a template software application in which an array of optimization techniques show how the necessary trade-offs can be made. The template is the result of the integration of several highly sophisticated recent procedures for single and multimode resource-constrained projects scheduling problems.