UML Diagram
Estimated time to read: 2 minutes
%%{init: {'class' : {'curve' : 'linear'}}}%%
classDiagram
MembershipForm <-- Member
MembershipForm <-- MemberRegistrationType
Member o-- MembershipID
Member o-- PersonalDetails
Member o-- ContactDetails
Member o-- MarketingConsent
Member o-- MembershipType
Member o-- StatementAgreement
Member o-- PaymentDetails
PersonalDetails <|-- Name
Name <|-- Title
ContactDetails <|-- Address
ContactDetails <|-- PhoneNumber
ContactDetails <|-- EmailAddress
MembershipType <|-- StudentMember
class MembershipForm {
+ memberRegistrationType: MemberRegistrationType
- member: Member
+ getMemberRegistrationType(): MemberRegistrationType
+ getMember(): Member
+ setMemberRegistrationType(memberRegistrationType: MemberRegistrationType): void
+ setMember(member: Member): void
}
class MemberRegistrationType {
<<Enumeration>>
Renewal
New Member
}
class Member {
- membershipID: MembershipID
- personalDetails: PersonalDetails
- contactDetails: ContactDetails
- paymentDetails: PaymentDetails
- statementAgreement: StatementAgreement
- membershipType: MembershipType
- marketingConsent: MarketingConsent
+ getMembershipID(): MembershipID
+ getPersonalDetails(): PersonalDetails
+ getContactDetails(): ContactDetails
+ getPaymentDetails(): PaymentDetails
+ getStatementAgreement(): StatementAgreement
+ getMembershipType(): MembershipType
+ getMarketingConsent(): MarketingConsent
+ setMembershipID(membershipID: MembershipID): void
+ setPersonalDetails(personalDetails: PersonalDetails): void
+ setContactDetails(contactDetails: ContactDetails): void
+ setPaymentDetails(paymentDetails: PaymentDetails): void
+ setStatementAgreement(statementAgreement: StatementAgreement): void
+ setMembershipType(membershipType: MembershipType): void
+ setMarketingConsent(marketingConsent: MarketingConsent): void
}
class MembershipID {
- membershipID: String
+ getMembershipID(): String
+ setMembershipID(membershipID: String): void
}
class PersonalDetails {
- name: Name
- dateOfBirth: Date
+getName(): Name
+getDateOfBirth(): Date
+setName(name: Name): void
+setDateOfBirth(dateOfBirth: Date): void
}
class Name {
- nameTitle: Title
- nameFirst: String
- nameLast: String
+ getNameTitle(): String
+ getNameFirst(): String
+ getNameLast(): String
+ setNameTitle(Name: Title): void
+ setNameFirst(Name: String): void
+ setNameLast(Name: String): void
}
class Title {
<<Enumeration>>
Mr
Mrs
Miss
Ms
Other
}
class ContactDetails {
- address: Address
- phoneNumber: PhoneNumber
- emailAddress: EmailAddress
+getAddress(): Address
+getPhoneNumber(): PhoneNumber
+getEmailAddress(): EmailAddress
+setAddress(address: Address): void
+setPhoneNumber(phoneNumber: PhoneNumber): void
+setEmailAddress(emailAddress: EmailAddress): void
}
class Address {
- addressFirstLine: String
- addressSecondLine: String
- addressThirdLine: String
- postCode: String
- validatePostCode(postCode: String): boolean
- validateAddressLine(address: String): boolean
- validatePostCode(postCode: String): boolean
+ getAddressFirstLine(): String
+ getAddressSecondLine(): String
+ getAddressThirdLine(): String
+ getPostCode(): String
+ setAddressFirstLine(addressFirstLine: String): void
+ setAddressSecondLine(addressSecondLine: String): void
+ setAddressThirdLine(addressThirdLine: String): void
+ setPostCode(postCode: String): void
}
class PhoneNumber {
- phoneHome: String
- phoneMobile: String
- phoneWork: String
- validateNumber(number: String): boolean
+ getPhoneHome(): String
+ getPhoneMobile(): String
+ getPhoneWork(): String
+ setPhoneHome(PhoneNumber: String): void
+ setPhoneMobile(PhoneNumber: String): void
+ setPhoneWork(PhoneNumber: String): void
}
class EmailAddress {
- emailAddress: String
- validateEmailAddress(emailAddress: String): void
+ getEmailAddress(): String
+ setEmailAddress(emailAddress: String): void
}
class MarketingConsent {
- consent: boolean
- dateUpdated: Date
+ getConsent(): String
+ setDateUpdated(): Date
+ setConsent(consent: boolean): void
+ setDateUpdate(dateUpdated: Date): void
}
class MembershipType {
- membershipType: String
- student: StudentMember
+ getMembershipType(): String
+ getStudentMember(): StudentMember
+ setMembershipType(membershipType: String): void
+ getStudentMember(student: StudentMember): void
}
class StudentMember {
- studentStatus: boolean
- letterReceived: boolean
- letterDate: Date
+ getStudentStatus(): boolean
+ getLetterReceived(): boolean
+ getLetterDate(): Date
+ setStudentStatus(studentStatus: boolean): void
+ setLetterReceived(letterReceived: boolean): void
+ setLetterDate(letterDate: Date): void
}
class StatementAgreement {
- statementSigned: boolean
- statementDated: Date
+ getStatementSigned(): boolean
+ getStatementDated(): Date
+ setStatementSigned(statementSigned: boolean): void
+ setStatementDated(statementDated: Date): void
}
class PaymentDetails {
- annualPayment: BigDecimal
- firstMonthPayment: BigDecimal
- dateJoined: Date
- directDebitAmount: BigDecimal
- firstPaymentDue: DateTime
+ getAnnualPayment(): BigDecimal
+ getFirstMonthPayment(): BigDecimal
+ getDateJoined(): Date
+ getDirectDebitAmount(): BigDecimal
+ getFirstPaymentDue(): DateTime
+ setAnnualPayment(annualPayment: BigDecimal): void
+ setFirstMonthPayment(firstMonthPayment: BigDecimal): void
+ setDateJoined(dateJoined: Date): void
+ setDirectDebitAmount(directDebitAmount: BigDecimal): void
+ setFirstPaymentDue(firstPaymentDue: DateTime): void
}