FaceValue
From MWCSWiki
Contents |
Milestone Assignments
Milestone 3
Hey guys, i just wanted to put this section in because I'm seeing little thingies that need changing. This is just to notify other people what we've changed.
Presentation:
Domain:
- user.login
i changed login so that it returns a boolean. i think the jsp is whats going to set the session variable, so it now reads: public boolean login(String pw). I dont think we need to pass it the email, because we use the email to go to the userRepository and get the specified user, we know the email is correct. we just need to check the password.
- group vectors
we need to decide if this is a vector of strings or a vector of groups. the methods go back and forth. my game plan was any time a user looks at a group, the session variable group is set to that group name. that would make it easier to add groups, i think, since when you click the add group link, the group you want to add is the last group you saw.
so user.getGroups now returns a vector of groups, not strings
user.addGroup passes a group g not a string
and same for removeGroup().
- user.addUser
now is passed a String email, I also changed it to public User(string email) so its like an official constructor.
- Profile
i think maybe setHobby and getHobby might be better. we can display it with get and then set it when they are done editing, like in facebook.
Persistance:
Use Case Diagram
Actor Descriptions
Milestone 2
- FaceValue: Presentation Kim
- FaceValue: Domain Lauren
- FaceValue: Persistance Elizabeth
- FaceValue: Sequence Diagrams
Candidate Classes
- User
- Represents the user, updates profile page. Has an associated wall.
- Group
- Has a wall and knows what members belong to it.
- Wall
- Holds wall posts. Creates and removes wall posts.
- Wall Post
- Posts a message to a wall.
- Photo
- Handles photo privacy options.
- Search Engine (?)
- Searches the database.
- News Feed
- Holds news items. Filters based on friends?
- News Item
- friend
- 3 levels of friends inherit from it, hold information about relationships.
- request
- is sent to a user to request friendship or an invitation to join a group
- Photo Albums
- Hold photos that were uploaded together.
- Group
- holds a photo and a wall and a list of members, can add or remove members
- Profile
- holds a photo and a wall and a list of friends
Milestone 1
Use Cases
Lauren
- FaceValue: Creating a Group
- FaceValue: Joining a Group
- FaceValue: Leaving a Group
- FaceValue: Simple Search
- FaceValue: Advanced Search
- FaceValue: Viewing Wall Posts
- FaceValue: Deleting a Wall Post
- FaceValue: Posting to a Wall
- FaceValue: Viewing the News Feed
Kim
- FaceValue: Editing Profile Picture
- FaceValue: Logging Off
- FaceValue: Logging On
- FaceValue: Creating an Account
- FaceValue: Setting Privacy for Photos
- FaceValue: Deleting a Photo
- FaceValue: Inviting People to a Group
- FaceValue: Uploading Images
- FaceValue: Changing Password
Elizabeth
- FaceValue: Adding Friend *
- FaceValue: Viewing Friend Request *
- FaceValue: Viewing Friends
- FaceValue: De-Friending
- FaceValue: Changing Friend Level
- FaceValue: Editing Profile
- FaceValue: Editing Group Information
- FaceValue: Accepting/Rejecting Group invitations
- FaceValue: Viewing Friends' Friends
Stephen's design comments:
- PhotoAlbum class -- yes!
- Search class is probably better than SearchEngine
- Probably a hierarchy of Search subclasses for each particular kind of search
- ResultsList class to hold an array of hits
- NewsItem class -- yes!
- Probably a hierarchy of NewsItem subclasses (for status updates, new friendships, new photo uploads, etc.)
- Possibility of Friend hierarchy where GoodFriend, Acquaintance, and FamilyMember inherit from it and each override a "getPhotos()" method to do the proper filtering, and the Friend superclass holds on to a User object.
- FriendRequest class -- yes!
- Probably homepage and profile are dups (but you should have one)
- Message and Inbox -- yes!

