Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

THIS IS UML PROGRAMMING. USE VISIO PLEASE.......... In the attached document, yo

ID: 3818721 • Letter: T

Question

THIS IS UML PROGRAMMING. USE VISIO PLEASE..........

In the attached document, you will find a set of requirements for a software product which you will design and ultimately implement. For the first phase of this assignment, you will work individually. You will each develop a detailed class diagram which shows all of your proposed classes (for which you will instantiate objects). For each class, specify the attributes and operations that will be required to meet all of the functional requirements. For now, you will not develop any software, as we are focusing on design. You may find it helpful to do your initial work on paper so that you can iterate easily. For your final submission, use a tool, such as Visio, to generate a version to turn in.

Requirements for a Simple Address Book Requirements Statement The software to be designed is a program that can be used to maintain an address book. An address book holds a collection of entries, each recording a person's first and last names, address, city, state, zip, and phone number It must be possible to add a new person to an address book, to edit existing information about a person (except the person's name and to delete a person. It must be possible to sort the entries in the address book alphabetically by last name (with ties broken by first name if necessary, or by ZIP code (with ties broken by name if necessary. It must be possible to print out all the entries in the address book in "mailing label" format. It must be possible to create a new address book, to open a disk file containing an existing address book to close an address book, and to save an address book to a disk file, using standard New, Open, Close, Save and Save As... File menu options The program's File menu will also have a Quit option to allow closing all open address books and terminating the program The initial requirements call for the program to only be able to work with a single address book at a time, therefore, if the user chooses the New or Open menu option, any current address book will be closed before creating/opening a new one. The program will keep track of whether any changes have been made to an address book since it was last saved, and will offer the user the opportunity to save changes when an address book is closed either explicitly or as a result of choosing to create/open another or to quit the program The program will keep track of the file that the current address book was read from or most recently saved to and will use that file when executing the Save option. When a New address book is initially created, its name will be titled "Untitled", and a Save operation will be converted to Save As i.e. the user will be required to specify a file

Explanation / Answer

Person

Attributes

First Name

Last Name

Address

City

State

Zip

Phone Number

Functions

Getters

Setters

AddressBook

Attributes

List of Persons

AddressBookUI

Attributes

Reference to Address Book

Functions

AddPerson

EditPerson

DeletePerson

SortByName

SortByZip

PrintEntries

CreateNewAddressBook

OpenExistingAddressBook

SaveAddressBook

SaveAddressBookAs

Quit

Currently we will have three classes as shown above. The controller object functionality has been defined as methods in AddressBookUI class.

The relation between Person class to AddressBook class is “Composition”.

The relation between AddressBook to AddressBookUI is “Aggregation”

Person

Attributes

First Name

Last Name

Address

City

State

Zip

Phone Number

Functions

Getters

Setters