A USER wants
An overview of all contact,
So he gets an idea how much contacts he has.
A USER wants
a Filtered Overview of the Contacts,
So it becomes easier to find the right Contact.
A USER wants
To Select a Name in the list containing a certain string,
So decide on which Contact the next operation will work.
Feature B: The User should be able to Maintain the Contacts (update, delete or change Contacts--CRUD)
A USER wants
To add a New Contact,
So he can use that data later when he needs it.
A USER wants
To change or extend the Data about a Contact,
So it stays updated.
A User wants
To delete an contact that is not used anymore,
So it does not find it again in the overview.
- UserStory A1: Complete Overview
- UserStory A2: Filtered Overview
User asks for an overview of the address Book Contacts with possible filtering.
- SYSTEM asks the filter
- USER gives in the Filter
- SYSTEM gets all Contacts from the DB passing the filter.
- END: The System shows the collected Contacts.
PostCondition: Add A code like APE meaning Has adress, Email and Phone AP* means has Adress and Phone.
- USER gives an empty string as Filter
- SYSTEM gets all Contacts from the DB.
- END: The System shows the collected Contacts.
- USER gives an non empty string as Filter
- SYSTEM gets all Contacts from the DB starting with the given string.
- END: The System shows the collected Contacts.
PRECONDITION: The filter is not empty and contains char '' at the start and end.
The filter is just a string and the Contacts with a Name
containing the filter will be shown.
2) USER gives an non empty string as Filter which contains char '' at the start and end.
3) SYSTEM gets all Contacts from the DB passing the Contains filter string without the '*' chars.
4) END: SYSTEM shows all Contacts passing the filter.
- UserStory B1: Create a New Contact
USER asks for Creation of a new Contact.
- SYSTEM asks for a Name Input
- USER supplies a Not Null Name
- SYSTEM checks if the Name is new and valid.
- UseCase2.4: USER Gives in the New Address
- SYSTEM will ask for the Phone Number.
- USER Supplies a Valid Phone Number.
- SYSTEM asks for a Valid Email adress.
- USER Supplies a Valid Email Adress.
- END: SYSTEM will add the new Contact to the AdressBook and Xml.
PRECONDITION: The Name given by the User for New Contact exists already
- SYSTEM: gives a message that a Contact with this name exists already.
- SYSTEM gives a message that you can change this Contact.
- END: SYSTEM ends the creation process of a New Contact
PRECONDITION: The User gave an Empty Name.
- START: SYSTEM gives a message that the given New Name can not be Empty.
- END: SYSTEM ends the creation process of a New Contact.
PRECONDITIONS:
- We are in the Process of creating a new Contact.
- The Unique valid Name is already given.
- START: SYSTEM asks for the Street.
- USER gives a valid Street.
- SYSTEM asks for the Postal Code.
- USER gives in a valid Postal Code.
- SYSTEM asks for The Town
- USER gives in a valid Town.
- END: SYSTEM Creates A Valid Address with the Input.
PRECONDITION:
- We are in the Process of creating a new Address UseCase 2.4.
- The Street was not Empty.
- START: USER gives in an Empty Postal Code.
- End: SYSTEM creates an Empty Address.
Comment: An Address with Empty Postal Code and Non-Empty Street , can never be a valid Address.
POSTCONDITION: Empty Address.
PRECONDITION:
- We are in the Process of creating a new Address.
- The Street or PostalCode was not Empty.
- START: USER gives in an Empty Town.
- End: SYSTEM creates an Empty Address.
Comment: An Address with Empty Town but Valid Street, can never be a valid Address.
POSTCONDITION: Empty Address.
- UserStory B2: To change or extend the Data about a Contact.
USER asks for Update of a new Contact.
- START: USER requests a Contact Update
- SYSTEM asks for a filter to show possible Contacts.
- USER gives the filter pattern.
- SYSTEM shows all possible Contacts.
- USER selects the Contact he wants to Update.
- SYSTEM Retrieves the Contact with that Name.
- USECASE 3.7: Update the Address.
- USECASE 3.8: to Update The PhoneNumber
- USECASE 3.9 to update the EmailAddress
- END: Make the changes persistent and update the AddressBook.
PRECONDITION:
- We are in the process of updating a Contact.
- START: SYSTEM shows the old Street value.
- SYSTEM asks for the New Value.
- USE gives in the new valid Street.
- SYSTEM shows the old Postal Code.
- SYSTEM asks for the new value of the Postal Code.
- USE gives in the new valid value for the Postal Code.
- SYSTEM shows the old Town.
- SYSTEM asks for the new value of the Town.
- USE gives in the new value for the Town.
- END: SYSTEM creates a valid Address and assigns it to the Current Contact.
POSTCONDITION: We have a Valid new Address.
PRECONDITION:
- We are in the process of updating a Contact.
- We have a valid Contact Name and Address.
- START: SYSTEM show the old PhoneNumber.
- SYSTEM asks for the new value of the PhoneNumber.
- USER gives in the new valid value for the PhoneNumber.
- END: SYSTEM sets the PhoneNumber for the Current Contact.
POSTCONDITION:
- We have a valid PhoneNumber in the Contact.
PRECONDITION:
- We are in the process of updating a Contact.
- We have a valid Contact Name and Address.
- START: SYSTEM show s the old EmailAddress.
- SYSTEM asks for a new value of the Email.
- USER gives in the New valid value for the Email.
- END: SYSTEM sets the Email for the Current Contact.
POSTCONDITION:
- We have a valid Email Address in the Contact.
PRECONDITION:
- Updating a Contact, Updating the Address.
- START: USE gives in an Empty Street or nothing
- SYSTEM creates an Empty Address
PRECONDITION: - Updating a Contact, Updating the Address.
- START: USER gives in an Empty Postal Code or nothing
- END: SYSTEM creates an Empty Address
PRECONDITION:
- Updating a Contact, Updating the Address.
- START: USER gives in an Empty Town or nothing
- END: SYSTEM creates an Empty Address