RUP extension for development of distributed systems. - Carlos Eduardo de Barros Paes (2008)
The increasing number of distributed systems results from the progress of computing and communication technology. This progress contributed to the expansion of Internet, increasing both availability and decentralization of the storage and processing. Nowadays the development of mature software for those systems is accomplished through the use of good practices of software engineering. The software engineering discipline provides processes, methods, techniques and tools that allow a suitable organization of the development process, as well as a quality result. Security, performance and fault tolerance are considered essential requirements for distributed systems. In this way, it is important that during the system development that these quality requirements be considered from the initial to end phases of software development lifecycle. Most of the software development processes were proposed before this understanding and they do not provide appropriate support for the development of distributed systems yet. RUP (Rational Unified Process) is a well-known software engineering process that provides a disciplined approach to assigning tasks and responsibilities; however, it has little support for development of distributed systems. The proposal of this work is to propose an extension to RUP for the development of distributed systems. In this proposal we considered security, fault tolerance and performance as important aspects of distributed systems design. All these aspects are embodied in RUP as a knowledge area (discipline), named distributed systems, with activities and roles defined according to the architecture of process engineering UMA (Unified Method Architecture). Examples were elaborated to clarify and show the feasibility of the proposal for both each knowledge areas and all the knowledge areas.