Page 113 -
P. 113

98     GIORGINI,  KOLP,  AND  MYLOPOULOS
                    are open, thanks to Web service and agent technologies, so that their components are no longer
                    determined at design-time, and can instead be discovered and composed at run-time to fulfill a
                    system’s mandate. IS are also multiply interconnected to many other information systems running
                    within and outside an organization, so that they can share data and support business processes
                    that are geographically and organizationally distributed. Most important, these interconnections
                    continuously evolve along with the organization in which they were conceived and its strategic
                    alliances. “Service orientation,” “peer-to-peer,” and “virtual organizations” are the buzzwords of
                    the day. Welcome to the Age of the Internet!
                      Within such a context, the components of IS need to support mechanisms for discovering ex-
                    ternal components that can help them fulfill their mission, for negotiating with these components,
                    and for composing selected ones dynamically. In addition, they need monitoring and diagnostic
                    mechanisms that supervise the operation of relevant software pieces and ensure that everything
                    is in order. Moreover, they need ways of self-repairing and self-tuning to ensure that the overall
                    system will be robust, reliable, and effective—despite the fact that it operates in open, dynamic
                    environments. None of these mechanisms is intrinsic to the object-oriented software paradigm.
                    But they all are intrinsic to the agent-oriented software paradigm (Jennings, 2000).
                      Not surprisingly, there has been growing interest in agent-oriented software development during
                    the past few years, including several projects aimed at the development of a comprehensive meth-
                    odology for building agent-oriented software. Many of these projects approached the problem by
                    proposing extensions to object-oriented software development techniques (e.g., Odell, Van Dyke
                    Parunak, and Bauer, 2000). Others adopted agent-oriented programming platforms as a baseline
                    and sought to extend these by introducing agent-oriented analysis and design techniques (e.g.,
                    Wooldridge, Jennings, and Kinny, 2000). An excellent overview of the whole field can be found
                    in Bergenti, Gleizes, and Zambonelli (2004). A brief summary is also included in this chapter.
                      This chapter introduces the Tropos methodology for agent-oriented software development
                    and compares it with other proposals in the same family. The following sections present the
                    Tropos methodology and its development phases, a brief introduction of the Media Shop case
                    study used in later sections to show the Tropos phases, a discussion of related work, and a
                    concluding section.

                    TROPOS

                    Tropos rests on the idea of using requirements modeling concepts to build a model of the system-
                    to-be within its operational environment. This model is incrementally refined and extended, pro-
                    viding a common interface to the various software development activities. The model also serves
                    as a basis for documentation and evolution of the software system.
                      In the following, we describe and illustrate the four development phases of the Tropos meth-
                    odology: requirements analysis (early and late), architectural design, and detailed design.

                    Requirements Analysis

                    Requirements analysis represents the initial phase in most software engineering methodologies.
                    Requirements analysis in Tropos consists of two phases: early requirements and late require-
                    ments analysis. The early requirements phase is concerned with understanding the organizational
                    context within which the system-to-be will eventually function. Late requirements analysis, on
                    the other hand, is concerned with a definition of the functional and nonfunctional requirements
                    of the system-to-be.
   108   109   110   111   112   113   114   115   116   117   118