parrot instant messenger. system overview uml diagram

11
Parrot Instant Messenger

Upload: savannah-ware

Post on 10-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Parrot Instant Messenger. System overview UML diagram

Parrot Instant Messenger

Page 2: Parrot Instant Messenger. System overview UML diagram

System overview

•UML diagram

Page 3: Parrot Instant Messenger. System overview UML diagram

Alpha Version•Features implemented

▫GUI▫Tabbed window▫XMPP protocol▫Chatbot▫Profile System▫Chat Log▫Adding, deleting, and blocking buddies▫Changing user status▫Sorted buddy list

Page 4: Parrot Instant Messenger. System overview UML diagram

Difference from previous documents•Functional Requirements

▫Move Chat log to alpha version▫Avatar display is now in beta version

•Non-functional requirements▫Takes 30 MB to 50 MB of RAM▫Takes up to 5 MB on the hard drive, was

expected to be up to 20MB•Has 8000 lines of code, 2000 lines less

than previous prediction

Page 5: Parrot Instant Messenger. System overview UML diagram

Quality Assurance: testing•Junit•Integration Testing•User Acceptance Testing

Page 6: Parrot Instant Messenger. System overview UML diagram

Unit Test casepublic void testRemoveFriend() { GoogleTalkUserData e1 = new GoogleTalkUserData("Horton", "tim", "away"); GoogleTalkUserData e2 = new GoogleTalkUserData("Star", "Bucks", "Busy"); ad2.addFriend(e1); ad2.addFriend(e2); assertTrue(ad2.removeFriend(e2)); assertTrue(ad2.removeFriend(new GoogleTalkUserData( "Horton", "tim", "away")));

}

• There was a failure with this unit test, because the actual method was not dealing very well with objects.

Page 7: Parrot Instant Messenger. System overview UML diagram

Integration test• public void checkFriendAddition() throws Exception {

• // Ensure that adding a friend makes changes to both the

• // model and the database.

• FriendTempData foundFriend = null;

• controller.removeFriend(friendUserID);

• assertNull(model.findUserByAccountName(friendUserID));

• db = new DatabaseFunctions();

• for (FriendTempData f : db.getFriendListByAccountName(userID)) {

• assertTrue(!f.getUserID().equalsIgnoreCase(friendUserID));

• }

• controller.addFriend(friendUserID);

• assertNotNull(model.findUserByAccountName(friendUserID));

• db = new DatabaseFunctions();

• for (FriendTempData f : db.getFriendListByAccountName(userID)) {

• if (f.getUserID().equalsIgnoreCase(friendUserID)) {

• foundFriend = f;

• break;

• }

• }

• assertTrue(foundFriend.getUserID().equalsIgnoreCase(friendUserID));

• return;

• }

Page 8: Parrot Instant Messenger. System overview UML diagram

error in the integration test

• java.lang.NullPointerException: Name is null• at java.lang.Enum.valueOf(Unknown Source)• at

org.jivesoftware.smack.packet.RosterPacket$ItemType.valueOf(RosterPacket.java:268)

• at org.jivesoftware.smack.PacketReader.parseRoster(PacketReader.java:697)• at org.jivesoftware.smack.PacketReader.parseIQ(PacketReader.java:582)• at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:275)• at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)• at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:76)

Page 9: Parrot Instant Messenger. System overview UML diagram

User Acceptance Testing• 1. We asked 10 users to try and run our software. • 2. We asked them to do the following tasks while one of the team

is loggin with [email protected] • a) Register with your GoogleTalk account • b) Add [email protected] • c) Send cmpt275testing a message • d) Wait for a message coming for cmpt275testing • e) (cmpt275 will sign out) send a message to chatbot and ask him

"What is your name?" and "What is up!" and wait for his respond • f) block cmpt275testing (cmpt275testing will sign again and he

should not find user) • g) delete cmpt275 testing • h) log out

Page 10: Parrot Instant Messenger. System overview UML diagram

Demo

Page 11: Parrot Instant Messenger. System overview UML diagram

Questions