I want to draw a Class Diagram for Subscription Automation System. The description of the problem is as follows:
A company produces a monthly magazine HOST. It wants to create a web-enabled subscription automation system as described below -
HOST is sold on a subscription basis. Subscription to HOST is either paid or free. There are three categories of free subscription. The first category is authors of articles. The second category is the members of the editorial board, who review and edit the articles. The third category is the complementary subscriptions which are sent to gurus of the field, and this complimentary subscription is determined by the editor. Authors of an article receive a one year free subscription from the month their article appears. If they already have a subscription, then the expiration date on the existing subscription is extended for a year. The publisher also has a large list of “prospects”, as a trial basis. Many of these prospects have asked for a sample copy, but then decided not to convert to a paid subscription. All of this information is kept in the system.
For paid subscription to HOST, most subscriptions are for a one-year period. If individuals subscribe for multiple years, they receive a 10% discount each year for upto three years. Subscriptions can come by mail, phone or web. The web subscription requires the use of a credit card for payment, while other subscriptions could be paid by check or credit card. When subscribing through the web, one can also check the subscription status or renew. The termination of a subscription, however, cannot be done via web. The termination must be initiated by the customer via a phone, fax or a written request that must be processed by a staff member. For each subscription and cancellation, a confirmation notice is sent via email to the subscriber. Paid subscribers are of two types-corporate or individual subscribers. In the case of a corporate, the primary contact person is clearly designated. Copies can be sent either to office address or home address of a subscriber. Some subscribers live in foreign countries and issues need to be emailed to the foreign countries with proper mailing charge.
A renewal notice is sent to a subscriber several months before the expiration date. On the final month of a subscription, the publisher includes a large note with the magazine that says “this is your last issue”. For several months after the subscription has expired, the publisher occasionally sends renewal notices. Thus it is vital to maintain the various subscription information on the database indefinitely.
To simplify the problem, assume -
- Each subscription is only for one copy.
- The subscriber is the one who actually gets the issue.
- The billing address is same as the mailing address.
- No purchase order or invoice will be sent out.
- No ordering of back issues will be handled.