The behavior and semantics of the system is best understood from the point of view provided by who needs the system, how they intend to use it, and who the system interacts with to satisfy the needs of its users. Each entity surrounding and interacting with the system constitutes the system's context, whether it be a consumer or a provider; this is illustrated in Figures 1-2 and Figures 1-3 by the directed lines representing paths of communication.
Figure 1-2: Portal-domain context diagram
Figure 1-3: GreaterCause System Context Diagram
Modeling the context of the system is useful in understanding how it interacts with other systems in an ecosystem of interconnected systems. An external entity communicating with the system is an instance of an actor; actors are not part of the system. An actor could be an individual, another software system, an asynchronous message, or a piece of external hardware. More specifically, an actor defines a particular role played by an entity within the context of the system; this implies that an entity may be represented by one or more actors because the entity takes different roles with regard to the system and, similarly, an actor represents one or more entities that represent the same role within the context of the system.
It is apparent from the project description that we are dealing with two interacting systems, the core GreaterCause service and the GreaterCause components residing on the servers of the portal-domains. For brevity, we will not evolve the documentation for both systems separately but show separate models where appropriate. You will see in the context diagrams for the two systems that they appear as actors within the other's context.
Stereotyping is a UML extension mechanism, with which one can provide additional semantics to a model element in the context of a specific problem domain. We have extended the actors, packages, and use cases with two stereotypes, <<GreaterCause.com>> and <<Portal Domain>>, to identify entities or elements on the GreaterCause.com domain and on the portal-domain, respectively.
The following is a list of all actors interacting with the GreaterCause application:
Donor A donor is a user of the GreaterCause services. A donor has an affiliation with a portal, with which the donor can access the GreaterCause application.
Credit card processor A credit card processor is an external system that processes the credit cards.
GreaterCause.com site administrator The primary responsibility of a site administrator is to create configuration information for registering portal-alliances and NPOs. Only portals configured in the GreaterCause.com site can provide the GreaterCause services to its user base. The site administrator can impersonate an NPO administrator or a portal-alliance administrator; this allows a site administrator to function as a stand-in for an NPO administrator or portal-alliance administrator.
Portal-Alliance administrator Portal-alliance administrators are responsible for creating global and regional campaigns for featuring non-profit organizations on their respective portals, and for maintaining the profile information for their portal-domain. Portal administrators are also responsible for providing the configuration information required to customize the UI experience of GreaterCause.com site users. Login credentials for portal-alliance administrators are created by the GreaterCause.com site administrator.
NPO administrator The NPO administrator is responsible for maintaining the profile information for NPO. Login credentials for the NPO (non-profit organization) administrators are created by the GreaterCause.com site administrator.
Portal domain Portal domains rely on the GreaterCause.com site to provide the list of featured-NPOs associated with active campaigns. The portal domains provide donors with an option to donate to one of the featured-NPOs before redirecting donors to the GreaterCause.com site.
The following is a list of all actors interacting with the portal-domain:
Donor Explained in context with GreaterCause actors.
GreaterCause.com GreaterCause.com provides charitable giving–related services to the users of the portal-domains. Additionally, it provides a list of featured-NPOs to the portal-domains.