| Table of Contents |
|---|
After many years of bitter feuding the Association for Polarity and the Collaborative for Neutrality have decided to settle their differences. The result of their agreement is a new organization, the Terminal Institute. The two groups have decided to recognize any existing memberships in the two organizations in the formation of this new organization.
The Terminal Institute seeks automation of the new organization's membership department. The board of directors realize that successful marketing requires improved information access regarding current subscribers and the ability to target specific market segments. Hence, the board has agreed to fund the development of a system that can provide income potential through targeting specific segments of the intitute's membership population. The income potential is realized through selling mailing lists of members targeted by particular attributes defined by the requesting organization.
External storage requirements are based calculations for a member record of 176 bytes (see Data Defintion) and an estimate of 20000 members yielding the need for 3520000 bytes for the membership list. Additional storage is needed for lists generated and saved to disk. Any mailing list required 143 bytes per entry. With the maximum of 20000 entries any mailing list could occupy 2860000 bytes of space. Multiple lists therefore could consume considerable space. It becomes a matter for the users to manage their external storage to contend with the generation and saving of multiple mailing lists.
See appendix for guidance on notation.
MembershipList={Member}Member=FirstName+(Initial)+LastName+PersonalInformation+MemberInfo+MailAuthorization+[HomeAddress|BusinessAddress]
MailingList={MailingInfo}
MailingInfo=FirstName+(Initial+".")+LastName+[HomeAddress|BusinessAddress]
HomeAddress=StreetAddress+City+State+Zipcode
BusinessAddress=BusinessName+Location+StreetAddress+City+State+Zipcode
PersonalInformation=SSN+Gender+DateOfBirth+MaritalStatus
MemberInfo=MemberNumber+MembershipDate+MemberType
LastName=NameString
FirstName=NameString
Initial=Character
MailAuthorization=[TRUE|FALSE]
BusinessName=NameString
Location=NameString
StreetAddress=AddressString
City=NameString
State=2{"A".."Z"}2
Zipcode=5{digit}5+("-"+4{digit}4)
SSN=9{digit}9
MemberNumber=5{digit}5
MembershipDate=DateString
DateOfBirth=DateString
MemberType=["Gold"|"Silver"|"Bronze"]
MaritalStatus=["Single"|"Married"|"Divorced"|"Widowed"]
Gender=["Male"|"Female"]
DateString=Year+Month+Day
NameString=1{character}20
AddressString=1{character}30
Year=["19"|"20"]+2{digit}2
Month="01".."12"
Day="01".."31"
character=["A".."Z"|"a".."z"|"'"|"."|" "]
digit="0".."9"