Sei sulla pagina 1di 40

Virtual Book Club 1

Virtual Book Club- The Next Big


Integration for Amazon Kindle

MIS-6308

Professor Srinivasan Raghunathan

Group #7

Guanfu Li, Urooj Mohammad, Lang Qin, Rutu Shah and Ila Sharma
Virtual Book Club 2

Table of Contents
PROJECT PRESENTATION YouTube LINK4
EXECUTIVE SUMMARY5
PROBLEM STATEMENT6

PROBLEMS: .6

OBJECTIVES: 7

SCOPE: 7

CONTEXT DIAGRAM..8

USE CASE DIAGRAM..9

CHOREOGRAPHY DIAGRAM10

USE CASE DESCRIPTIONS..11

Use Case: Member Sign In11

Use Case: Join Group Request..12

Use Case: Read Books.13

Use Case: Make comments on Books..14

Use Case: Make a payment.15

DATA DICTIONARY.16

CLASS DIAGRAM.18

SEQUENCE DIAGRAM..19

CONTRACTS.20

INTERFACE25
Virtual Book Club 3

DATABASE DESIGN30

FUNCTIONAL SPECIFICATION.31

PROJECT MANAGEMENT DELIVERABLES..32

Allocation of activities to team members32

Project Minutes33
Virtual Book Club 4

PROJECT PRESENTATION YouTube LINK


https://youtu.be/md3M6cglNT8
Virtual Book Club 5

EXECUTIVE SUMMARY
This project is for proposing a new application of virtual book club from Amazon kindle.
Amazon kindle is a device designed for e-readers. It has features like browse, buy,
download and read e-books, newspaper, magazines and other digital media via internet.
Kindle does not have an application where users can come together and comment on a
specific book together. This device only allows one person to read one specific book at a
time.

In this project we created a virtual book club, which allows a member to join a group as
per their interest of reading a book. Member can join a group by sorting from a
particular location or by book genre. After sorting, they can see a list of group with same
interest and have less than six members. Member can join any group by paying onetime
group joining fee. In amazon kindle, you cannot share your thoughts and cannot modify
book data. In virtual book club, you can share your thoughts by writing comments and
modify book data.

In this Virtual book club for amazon kindle project we applied software programming
and analysis design methodologies and concepts. It is a very good experience for us to
understand object oriented analysis and UML methodologies concepts.
Virtual Book Club 6

PROBLEM STATEMENT

PROBLEMS:
1. Kindle does not have an application that allows members to create a book club

- Whenever a member creates an account to read a book, they are the only people who

have access to that book. No one else but the member can use it.

2. Kindle does not allow members to interact with each other by adding comment to the

book

- A user cannot make any changes to book on the Kindle. There is no source of

formatting or editing.

3. Kindle does not have a software that allows you to join a book club based on location

- Since there is not a function of a book club, there is not a feature that allows members

to be in a group with people who are in their area of geographic interest.

4. Kindle does not have a software that allows you to join a book club based on book

-Since there is not a function of a book club, there is not a feature that allows members

to be in a group with people who are sharing the same interests in reading a book of the

different genres.
Virtual Book Club 7

OBJECTIVES:
1. Create a system that allows members to create a virtual book club amongst other

Amazon Kindle members

2. Within the system, create an editing tool that allows member to make comments and

allow highlighting, etc

3. Have a filter within the system that allows members to join or make a book club based

on location.

4. Have a filter within the system that allows members to join or make a book club based

on book genre .

SCOPE:
1. Estimated cost is approximately $100,000 for the entire system

2. Time needed to complete this is estimated to be 1 year.

3. We will need engineers and database professionals to create this system

4. The information about the members will be stored in a server


Virtual Book Club 8

CONTEXT DIAGRAM
Virtual Book Club 9

USE CASE DIAGRAM


Virtual Book Club 10

CHOREOGRAPHY DIAGRAM
Virtual Book Club 11

USE CASE DESCRIPTIONS


Use Case: 1
Name: Member Sign In
Description: Authenticates members
Trigger: A member wants to sign in
Normal Flow:
1. Display Login Screen
2. Accept E-mail and Password
3. Verify E-mail and Password using the member data file
Exception Flow:
3.a1. If Invalid Verification Then display Failed Authentication message and Login Screen.
Virtual Book Club 12

Use Case: 2
Name: Join Group Request
Description: Member join a group
Trigger: A user clicks join group request button
Normal Flow:
1. Display join group by location or by book info screen

2. Get locations using Google Maps or get book type using book database

3. Retrieve group list using the group data file

4. Retrieve book info from book database

5. Display the group list and book list in alphabetical order

6.Accept Join Group Confirmation

Exception Flow:
2.a1. If no groups appear in some locations Then display No Groups in this area message and Create New
Group Screen.
6.a1.If one group has 6 members already Then display Members Over Limit message.
Virtual Book Club 13

Use Case: 3
Name: Read Books
Description: Member read the books through Amazon Kindle
Trigger: A member wants to read a book in group
Normal Flow:
1. If not already signed in, execute Member Sign In use case
2. Display the book list Screen
3. Accept book data from book database
4. Display the book data through Amazon Kindle
Virtual Book Club 14

Use Case: 4
Name: Make comments on Books
Description: Member share the comments with other people in same group
Trigger: A member clicks the comment button
Normal Flow:
1. Display comment button
2. Accept comment data from members
4. Display the comment data through Amazon Kindle
Exception Flow:
2.a1. If empty comments are sent by members Then display No Empty comment message and Create
New Comment Screen.
Virtual Book Club 15

Use Case: 5
Name: Make a payment
Description: Members make a payment to join a group
Trigger: Members send join group confirmation
Normal Flow:
1.Display Join Group Confirmation Screen
2.Display Payment Methods Screen
3. Retrieve payment methods data using the member data file
4. Verify payment methods data
Exception Flow:
3.a1. If Invalid payment methods received, then display Payment Declined message and Payment
Methods Screen.
Virtual Book Club 16

DATA DICTIONARY
Use case 1: Member Sign In
E-mail: Data Element
Password: Data Element

Member date file = Member ID + E-mail + Password + (payment methods) + {Group detail}

Group Detail = JoinGroupDate + JoinGroupTime + Group ID

Use case 2: Join Group Request


Book Name: Data Element
Book Type: Data Element
Book Author: Data Element
Group Name: Data Element
Book info = {Book ID + Book Type + Book Name + (Book Author)}
Group date file = {Group ID + 1{Member ID}6 + (book info)}
Group list= Group ID + Group Name
Locations = Street + City + State + Zipcode
Book list = {Book ID + Book Name}

Use case 3: Read Books

Book contents: Data Element


Book list = {Book ID + Book Name}
Book data = Book ID + Book contents

Use case 4: Make comments on Books


Comment contents: Data Element
Member Name: Data Element
Comment data = Member ID + (Member Name) + Comment contents

Use case 5: Make a payment


Virtual Book Club 17

Nickname: Data Element


Password: Data Element
Payment Methods data = Card# + Names on the Card + Card Type + Expiration Date + Card Security
Code

Member date file = Member ID + Nickname + Password + (payment methods) + {Group detail}
Virtual Book Club 18

CLASS DIAGRAM
Virtual Book Club 19

SEQUENCE DIAGRAM
Virtual Book Club 20

CONTRACTS
Methods Name: login Class Name: Interface
ID: 1
Clients (Consumers): Main method
Associated Use Cases: Member Sign In
Description of Responsibilities:

1. Send the email and password to the Amazon Kindle system for verification.

2. Receive the authentication response from the Amazon Kindle system.

3. If the response is true, then set the value for member name and return true.

4. Else, return false.

Arguments Received: email, password

Type of Value Returned: boolean value

Pre-Conditions: The email and password should not be null

Post-Conditions: The method shall return the boolean value


Virtual Book Club 21

Method Name: groupavailabilityinfo Class Name: Interface

ID: 2

Clients (Consumers): Main method

Associated Use Cases: Join Group Request

Description of Responsibilities:

1. Call getLocationID() method.

2. Call getGenre() method.

3. Display the available groups with the group information.

4. Call chooseGroup() method.

5. Display group information based on the output of the chooseGroup() method.

Arguments Received: None

Type of Value Returned: An object

Pre-Conditions: None

Post-Conditions: All available groups are displayed.


Virtual Book Club 22

Method Name: computeGroupInfo Class Name: Group

ID: 3

Clients (Consumers): groupavailabilityinfo

Associated Use Cases: Join Group Request

Description of Responsibilities:

1. If the argument passed is true, then decrease #slotsEmptyPerGroup.

Else, increase #slotsEmptyPerGroup.

2. Calculate #membersPerGroup of Group.

3. Save the #slotsEmptyPerGroup and #membersPerGroup in the database.

Arguments Received: Boolean value to indicate whether a slot has been taken or not, Member

Name, Group ID

Type of Value Returned: None

Pre-Conditions: The arguments passed should not be null.

Post-Conditions: Saves the computation in the database.


Virtual Book Club 23

Method Name: createGroup Class Name: Group

ID: 4

Clients (Consumers): Main method

Associated Use Cases: Join Group Request

Description of Responsibilities:

1. For each Group, computegroupinfo(groupID)

2. Check if #slotsEmptyPerGroup is gretaer than 6.

3. Raise an error if step 1 is true.

4. Else, create a Group object with the available slots.

Arguments Received: email,GroupID

Type of Value Returned: Group Object

Pre-Conditions: email, GroupID should be non-Null.

Post-Conditions: The method returns a Group object with number of members in that
particular group.
Virtual Book Club 24

Method Name: showComments Class Name: Interface

ID: 5

Clients (Consumers): Main method

Associated Use Cases: Make comments on Books

Description of Responsibilities:

1. Check if there are any available comments.

2. Raise an error if step 1 is false.

3. Else, save the comments in the database.

Arguments Received: memberComments, GroupID

Type of Value Returned: None

Pre-Conditions: The memberComments,GroupID should not be null

Post-Conditions: The comments are saved in the database.


Virtual Book Club 25

INTERFACE

Member Sign In
Virtual Book Club 26

Choose Filter based on Location or Book Genre


Virtual Book Club 27

Chosen Location Filter


Virtual Book Club 28

Chosen Book Genre Filter


Virtual Book Club 29

Make comment/edits on book


Virtual Book Club 30

DATABASE DESIGN

Member(email, password, firstName, lastName, phone, address, creditCard)


Email should be non-null and unique

Group(groupID, fk: email)


GroupID should be non-null and unique
email should be non-null and should exist in the Member table.

GroupPreference(fk: groupID, fk: locationID, fk: bookGenre)


groupID should be non-null and should exist in the Group table.
locationID can be non-null and should exist in the Location table.
bookGenre can be non-null and should exist in the Book table.

Location(locationID, fk: email)


locationID should be non-null and unique
email should be non-null and should exist in the Member table.

Payment(fk: email, cardNumber, cardType, amount)


email should be non-null and should exist in the Member table.

Comment(memberCommentsID, fk: email, edit, highlight, like, dislike, notate, underline, star)
memberCommentsID should be non-null and unique
email should be non-null and should exist in the Member table.

Book(ISBN, bookGenre, author)


ISBN should be non-null and unique
bookGenre should be non-null and unique
Both these primary keys are composite keys
bookGenre will be displayed as: Fiction- 1.1 , 1.2 and Horror- 2.1 , 2.2 etc
Virtual Book Club 31

FUNCTIONAL SPECIFICATION

The proposed system will allow Amazon Kindle members to organize virtual book clubs.

This functionality will provide the members to join book clubs in a virtual world on

Kindle platform. A single book club will comprise of a group of maximum of six

members. These groups will be the parallel for book clubs in real world. A member can

join an existing book club or create a new book club depending on availability of slot on

the preferred group.

The proposed system will allow a member to join a group based on either of the two

preferences; Location or Book Genre. Depending on the preference chosen, groups with

empty slots will be displayed. Also, if no group is available for the provided preference,

member will be directed to create a new group that is a new book club. Also, members

of a particular group can comment on the respective book that group is reading.

This system will also allow individual groups reading the same book to share their

opinions by holding up a monthly meet. This will enhance the sharing of views of

readers in different groups on the same book and will thus improve the understanding

the essence of book.


Virtual Book Club 32

PROJECT MANAGEMENT DELIVERABLES

Allocation of activities to team members


At first, we met together to brain storm the idea of the virtual book club

Urooj Mohammad took charge of executive summary, problem statement and database

design. Guanfu Li contributed to context diagram, use case diagram and data dictionary.

Lang Qin took over the choreography diagram. Sequence diagram is Rutu Shahs part

and Ila Sharma gave her inputs on class diagram and contracts for the interface.

Even though everyone had their own work, but we worked in a close knit environment

to get our project accomplished.


Virtual Book Club 33

PROJECT MINUTES
Virtual Book Club 34

Meeting One
September 15,2016
Time Spent: 3 hrs

Attendees
Guanfu Li
Urooj Mohammad
Lang Qin
Rutu Shah
Ila Sharma

Agenda
Project Identification and selection
Brainstormed ideas and agreed on one project.

Problem Statement
Ideas for our project
Limitations to execute the ideas
Keep track of our progress

Project Identification and selection


All the group members provided and individual idea on the project we could come up with.
Documented the ideas and analyzed the constraints
Chose three of the best ideas
Decided to schedule a meeting with the professor to finally decide on the project to be
undertaken.
Virtual Book Club 35

Problem Statement
Agreed on one project idea and began the process for deciding on the scope of project and what
all limitations we could encounter during its execution.

Next Meeting
September 30, 2016.

Next Meeting Agenda Items


Project functional specifications
Task Assigned
Virtual Book Club 36

Meeting Two
September 30,2016
Time Spent: 5 hrs

Attendees
Guanfu Li
Urooj Mohammad
Lang Qin
Rutu Shah
Ila Sharma

Agenda
Project Detail

Kept working on the details of our project such as what functionality do we have
Defined the project elements such as what diagrams we needed.
Assigned work to members to distribute the tasks individually.

Next Meeting
October 12, 2015.

Next Meeting Agenda Items


Review everyones work for the first time
Virtual Book Club 37

Meeting Three
October 12,2016
Attendees
Time Spent: 3.5 hrs
Attendees
Guanfu Li
Urooj Mohammad
Lang Qin
Rutu Shah
Ila Sharma

Agenda
Reviewed everyones work together and discussed the issues faced.
Came to an agreement on further improvement on each part of job.

Next Meeting
November 9, 2015.

Next Meeting Agenda Items


Finalize the corrections to be made for project integration.
Virtual Book Club 38

Meeting Four
November 9,2016
Time Spent: 3.5hrs
Attendees
Guanfu Li
Urooj Mohammad
Lang Qin
Rutu Shah
Ila Sharma

Agenda
Further Improvement and Report finalized

Fixed the drawbacks and eliminate the bottlenecks of the project idea and diagrams.
Arrange the diagram and carry out with the integration process.
Submit a drafted version of project report to the professor.

Next Meeting

November 30, 2016.

Next Meeting Agenda Items


Finalize the project report.
Recording audio presentation for submission.
Virtual Book Club 39

Meeting Five
November 30,2016
Time Spent: 4 hrs
Attendees
Guanfu Li
Urooj Mohammad
Lang Qin
Rutu Shah
Ila Sharma

Agenda
Completion of project presentation.
Discussed the contents in our audio presentation.

Next Meeting

December 8, 2016.

Next Meeting Agenda Items


Discussion regarding last minute touch ups for the final presentation.
Virtual Book Club 40

Final Meeting
December 8,2016
Time Spent: 3.5 hrs
Attendees
Guanfu Li
Urooj Mohammad
Lang Qin
Rutu Shah
Ila Sharma

Agenda
Finalize the presentation and review our submission.

Next Meeting
No more meetings.

Next Meeting Agenda Items


None

Potrebbero piacerti anche