Negotiation for buying a car
In buying a car, a negotiation concerning the car’s price and warranty usually takes place. This example models the simple negotiation that might be involved in buying a car. Figure 4 gives the Use Case diagram for this example, and a sample sequence diagram for the Prepare Contract use case is shown in Figure 5. Due to space limitations, we omit the details of the use case model. More details can be found in . Figure 6 shows the stability model of the negotiation used in buying a car. Classes that are not in the original Negotiation pattern are colored in gray.
The Negotiation pattern has the following benefits:
1- Adaptable for Required Goals. The Negotiation pattern maintains a high level of adaptability to best achieve the goals of modeling the negotiation notion. For instance, negotiation in buying a car will enforce specific properties that the negotiation process should follow. The determination of the application type will adapt the negotiation pattern to best meet the goals of this negotiation.
2- Consider Different Media Nature. The Negotiation pattern considers the negotiation over different media natures. This is achieved by the AnyMedia pattern, which specifies the media type and its possible kinds.
3-Easy to Extend. The Negotiation pattern allows a high level of extensibility to handle more complex applications, or to handle new feature within the same application.
The Negotiation pattern has the following limitations:
1- Hidden Patterns Description. At first glance, it would be hard to capture all of the underlying issues that are related to the different patterns that composite the main Negotiation pattern. For instance, detailed agreement issues are not seen in the main pattern; however, these issues should be considered within the AnyAgreement pattern details, which therefore, present a second level of details for the original pattern.
2- No Industrial Objects to Clarify Pattern...