|
|
|
|
|
|
|
Product Development, is your new boss. He wants you to design and build PostMaster, a utility to read electronic mail from various unrelated email providers. The potential customer is a business person who uses more than one email product, for example, CompuServe, America Online, Internet Mail, Lotus Notes, and so forth. |
|
|
|
|
|
|
|
|
The customer will be able to teach PostMaster how connect to each of the email providers. PostMaster will get the mail and then present it in a uniform manner, allowing the customer to organize the mail, reply, forward letters among services, and so forth. |
|
|
|
|
|
|
|
|
PostMaster Professional, to be developed as version 2 of PostMaster, is already anticipated. It will add an administrative assistant mode that will allow the user to designate another person to read some or all of the mail, to handle routine correspondence, and so forth. There is also speculation in the marketing department that an artificial-intelligence component might add the capability for PostMaster to pre-sort and prioritize the mail based on subject and content keywords and associations. |
|
|
|
|
|
|
|
|
Other enhancements have been talked about, including the capability to handle not only mail but discussion groups such as Interchange discussions, CompuServe forums, Internet newsgroups, and so forth. It is obvious that Acme has great hopes for PostMaster, and you are under severe time constraints to bring it to market, although you seem to have a nearly unlimited budget. |
|
|
|
|
|
|
|
|
You set up your office and order your equipment; your first order of business is then to get a good specification for the product. After examining the market, you decide to recommend that development be focused on a single platform, and you set out to decide among UNIX, the Macintosh, and Windows NT. |
|
|
|
|
|
|
|
|
You have many painful meetings with Jim Grandiose. It becomes clear that there is no right choice, so you decide to separate the front endthat is, the user interface (or UI)from the back end, the communications and database part. To get things going quickly, you decide to write for NT, followed later by UNIX and perhaps the Mac. |
|
|
|
|
|
|
|
|
This simple decision has enormous ramifications for your project. It quickly becomes obvious that you will need a class library or a series of libraries to handle memory management, the various user interfaces, and perhaps also the communications and database components. |
|
|
|
|
|
|
|
|
Mr. Grandiose believes strongly that projects live or die by having one person with a clear vision, so he asks that you do the initial architectural analysis and design before hiring any programmers. You set out to analyze the problem. |
|
|
|
|
|