Anda di halaman 1dari 25

1

UT Books

Natanim Yemane Chris Wang Umme-Hani Zaidy Samuel Yu Blake Wong Michelle White

Table of Contents
Executive Summary.....3 System Proposal...4 Project Schedule...5 System Requirements.......6 Structural Models.....7 Behavioral Models...9 Dynamic Models....12 Design Documents.14 Testing....18

Project Management..........................................................................................................21

Executive Summary
In todays society, buying and renting books has become a travesty. Many students are unable to afford the required books for their course load. Students have to visit various bookstores and websites to get the best possible deal. In order to get the best possible price, students have to give up time. UT Books is a system that allows students to save time and put money back into their pockets.
Price comparison systems have proven to add value to businesses by decreasing the search time for products. UT Books combines the seller comparison features of both Amazon and Ebay, while selling exclusively to UT System students.

Students within University of Texas School System can benefit from UT Books, a value-adding system which will increase efficiency in the textbook buying process. Students that attend any University of Texas institutions will have access to the system. Several websites have offered similar products, however, none have aimed at targeting multiple institutions within the same University System. UT Books system will provide an avenue for students to communicate with one another in terms of the buying and selling process. Several UT Books features include: Seller Comparison. Using an Amazon-like interface to provide sellers with many options in their textbook buying process. Customizing Results. Ability to filter results based on desired characteristics Network Building. Students can effectively build a network buy including other students in the process. Network Building feature adds a great value such that students can participate in trade-offs, meetings, etc.

In order for UT Books to become successful, the system must adhere to security requirements. UT Books will offer security suggestions, such as choosing public meeting locations. Students will have the option to view seller profile, ratings, and other items for sale by the seller. This will allow users to have a customizable buying experience such as buying online, meeting on campus, or at a retail outlet. On the bases of the features offered, it is recommended that a system of this kind should be developed which will help students save time and money, giving them ease and flexibility of buying, renting and selling books with convenience and security. The system will be developed using appropriate hardware and system compatibilities. UT Books development will include applicable behavioral and structural diagrams. The system proposal highlights the systems functionality and important features. The project schedule will introduce the timeline for completing the schedule.

Systems Proposal
UT Books Our project is intended to address the need for a reliable and unbiased source for great deals on text books. Currently, there are several outlets in which to buy text books that do not provide the best value for students. Many of the online retailers do not offer price comparison or price matching. Local retailers often charge premium prices to fulfill demand faster. In addition, they do not have rewarding trade in programs. Our projects main goal is to provide maximum value to the student. Only verified retailers that provide value will have access to the system. Our system will be designed to provide more consistent pricing. The main functions of our system will be to provide: user generated content, a rating system for the deals posted, a student to student trading system, and an interactive map to facilitate meetings near UT Dallas. 1. The user generated content will be based on a deal submission system. Each student can create a profile that that allows them to sell their books, as well as list the ones they need. This system allows students to post deals on text books they have found. Other students can comment and rate those deals. 2. Students can gain credibility by the ratings of their posts. This will allow students to make a more informed decision about who to do business with. In order to register, a student must provide an active UT Dallas student ID. If a student abuses the system repeatedly, then they will be banned without the option of making another account. These decisions will be dealt with by the moderators who are UT Dallas employees. 3. In addition to the rating system of deals and users, the user profiles can aid students in more immersive transactions. Each student will be able to list the books they have for sale and the books they need according to course number on their profile. This unique feature will allow students to set up trades with other students as opposed to financial transactions. Other miscellaneous items such as computers, calculators, and software can also be sold. 4. The interactive map will allow students to set meet up locations either on campus or around UT Dallas. This will be a 5 mile radius that will include coffee shops, local restaurants. The system will provide detailed meeting information including: date, time, specific room, and directions. The scope of our system will encompass all UT system institutions. Each specific school will have its own domain. In this manner students can search for items by school specific course numbers. This will aid in the usability of the system. Only UT students may access the system. This will be achieved by an active school email. The focus of this system is to be as local as possible. Only select verified retailers links will be allowed to be posted, and only retailers within 10 miles of the school will be allowed access to the site. Some possible issues of the system will be achieving up to date data needed to verify students and retailers. In order to verify students, the system will need access to UTs databases,

and will require a partnership with UT IS. This process could pose to lengthy and complex. Also, the system will require extensive security in order to protect the sensitive data of students and the UT system. The potential value of this system is promising. The initial startup period will be difficult as the content is user generated. At least one semester must pass until enough users create genuine value for other students. Once the start-up phase is complete, students will save time and money on all the supplies they need for success. The system will provide marketing free choices in books. They ability to trade with other students in a secure environment is valuable in its own right. The system provides the flexibility of Craigslist, the user generated content of Slickdeals.net, and the profile system of EBAY. The culmination of the best features from these systems along with the exclusivity of the UT system will provide a great value to students.

Project Schedule

System Requirements
Functional Requirements 1. The system must be able to support the entire student population of each UT system. Each UT system will have up to 51,000 potential users. The total UT system supports over 174,000 students. 2. Each user profile must be able to contain: user contact information, private message system, forum metrics (to track user posts and ratings), and current courses. 3. Each student must be validated using an active UT email address. 4. Each external link must be validated to be a genuine retailer. This includes validation of financial certification. 5. Each UT branch will have to support its own domain. This includes its own hardware and administrators. 6. The system will have be fully Java and Flash compliant to support the GUI and map functions. 7. The Meet Up map function will be a Google Maps embedded version. 8. The database and forum feature will be cloud based to facilitate mobile use. 9. Internet access is necessary. Non-Functional Requirements Requirement Categories: P for Performance R for Reliability U for Usability 1. P, R, U: Full time software engineer to create the background programs that support each function. Primary skills would include: Java, C++, SQL, PHP, HTML5. Also performs administrative duties. 2. P, U: Full time web developer to create and maintain the GUI and web features. Must be proficient in PHP, HTML5, JAVA. Also performs administrative duties. 3. R, P: Full time data architect to create and maintain the database system. Must be proficient in SQL, JAVA. Also performs administrative duties. 4. R: The system will only be down for routine maintenance. 5. R: The system will have industry standard security features. 6. P, R: Each UT system will have its own dedicated servers and domains. 7. P, U: The search function will be supported by an embedded Google Search function that will return results at similar performance to the original Google Search. 8. U: Users can post deals from external sellers and personal inventory. 9. U: Users will be able to view other users profiles. 10. U: The home page will feature the best rated deals submitted by users. 11. U, R: Users must have access to a secure private messaging system. 12. U: Users can rate deals on a simple five star scale. 13. U, R: Users can flag abuse of the system.

14. P, U: The Meet Up map function will also be an embedded Google function. 15. U: The mobile version will use a simplified GUI. The GUI must operate on mobile phones and tablets. This includes iOS and Android support. 16. U, R: System is able to delete content or users that do not comply with the user agreement.

Structural Models
Context Diagram

Class Diagram

Behavioral Models
Use Case Diagram

10

Use Case Descriptions


Use Case Name: Primary Actor: Brief Description: Stakeholders: Trigger: Normal flow of events: Providing feedback Student In this use case, student provides feedback by rating sellers, rating deals and reporting abuse when needed. When a student is browsing the system or when makes a transaction. 1. Student logs in the system 2. Student searches for the books needed 3. Students rates the deals he likes with positive response 4. Student rates the deal he dislikes with negative response. 5. Student rates the seller he/she had transaction with in the past. 4a. If the deal which student dislikes has anything which is unethical, he/she will report abuse. Contact seller Buyer In this use case buyer will contact the seller. When a buyer finds the book needed. 1. Student logs in to the system 2. Student searches the book needed by name and criteria. 3. System generates the list of deals available 4. Student selects the deal he/she likes 5. Student contacts the seller 3a. If there is no match to the search, system will give no result. 2a. Student can search again using different criteria.

Subflows: Alternate/Exception flow:

Use Case Name: Primary Actor: Brief Description: Stakeholders: Trigger: Normal flow of events:

Subflows: Alternate/Exception flow:

11

Use Case Name: Primary Actor: Brief Description:

Stakeholders: Trigger: Normal flow of events:

Subflows Alternate/Exception flow:

Create Profile Seller/Buyer The student (seller/buyer) creates a profile on the website in order to access all of the information. They fill out basic contact information, create a username, and list inventory. Optional The student either wants to sell a book or needs to buy a book. 1. Access the website through a browser 2. Click on the Register as a new user icon on homepage 3. Fill in required fields for contact information 4. Submit completed form Optional If the student is a seller, they will be prompted to input their inventory available for sale during the registration process. Validate User Input System The system must validate all user inputs to the system which includes verifying eligibility to become a registered user on the site as well as any content posted. Optional The student either registers for a new account on the site or posts content of some sort. 1. Receive notification of user input. 2. If student is registering for a new account, verify the student has a UT email. 3. If student is posting new content, check for accuracy and relevancy. 4. If all steps pass, create account or post new content to the live site. To verify eligibility, lookup student information in the UT database. If the student does not belong to the UT system, reject the new account registration and send an email to the student. If the content is not accurate or relevant, reject the newly posted content and send an email to the student.

Use Case Name: Primary Actor: Brief Description:

Stakeholders: Trigger: Normal flow of events:

Subflows:

Alternate/Exception flow:

12

Dynamic Models
Sequence Diagrams

13

Sd Contact Seller Use Case

:System

:Profile

aBuyer

aSeller

[User Profile Exits] Login()

BuyerInputsTextbook(name,isbn,author) [TextbookFound] BuyerVisitsSellerProfile() BuyerContactsSeller()

14

Designing Documents
User Interface

15

Control Specification
Describe at least three control mechanisms that you will implement to prevent/detect possible errors in the system. These may be in the form of user interface controls, business rules, or flow logic. For each control object 1) explain the type of control object it is, 2) provide a brief description, and 3) explain its role or function in the system and how it will help prevent/detect possible errors. An example of a user interface control: the input field for the order amount will only allow numeric data. A business rule: an order must include a minimum of 1 item. Flow logic: if the user has entered an invalid user name or password, redirect them to an error screen. 1. Email Verification Type: Interface Control Description: Verify the user email address is a UT Dallas email address. Function: By verifying the user has a valid UT Dallas email address, the system only allows UT Dallas students to create accounts. This keeps our system internal to UT students, and it prevents vendors from gaining access to our user generated content. 2. External Link Verification Type: Business Rules Description: This control will verify the vendor is on the trusted vendor list. Function: This will ensure that any deal posted on the site will be genuine and non-fraudulent. 3. Meeting Location Verification Type: Business Rule Description: This control will only allow the met-up function to designate a location within 5 miles of the UT Dallas campus. Function: This will help keep the meet-up locations convenient to all students regardless of transportation means. Also, this will encourage students to meet on campus, which greatly increases the security of each transaction.

16

Software Design Specification Method: createProfile () Description of Responsibilities:


Implement the necessary behavior to create and save profile after validating the studentID.

Class Name: Student_Profile

Argument Received:
userName studentID

Data Type:
string Integer

Return Value:
profileCreated

Data Type:
Boolean

Message and Example:


createProfile (userName,studentID): Boolean profileCreated = createProfile (GeorgeThomas1, 12345)

Algorithm Specification:
If studentID is not null then Validate studentID from database Add profile details into database Return true Else Return false

Method:
createPost ()

Class Name:
Student_Profile

Description of Responsibilities:
Implement necessary behavior to post new deal to an existing student, keeping the post in order by the category and condition.

Argument Received:
aPost userName

Data Type:
String string

Return Value:
dealPosted

Data Type:
Boolean

Message and Example:


createPost (userName, aPost): Boolean dealPosted = createPost (1, System Analysis Textbook for $50)

17

Algorithm Specification:
If createPost is not null then Insert post to the student profile in the database Return true Else Return false

Method:
postFeedback ()

Class Name:
Student_Profile

Description of Responsibilities:
Implement necessary behavior to post feedback to an existing seller or post.

Argument Received:
aFeedback userName

Data Type:
String String

Return Value:
feedbackPosted

Data Type:
Boolean

Message and Example:


postFeedback (userName, aFeedback): Boolean feedbackPosted = postFeedback (1, Seller was on time and professional!)

Algorithm Specification:
If postFeedback is not null then Insert feedback to the seller profile or post in the database Return true Else Return false

18

Testing
Method: createProfile() Purpose: The purpose of this is to test whether the student can create profile using the appropriate information. Prereq: Test Data: It is assumed that the student belongs to the UT System. List of variables include userName:{valid userName, invalid userName, empty} studentID:{valid studentID, invalid studentID, empty) Steps to carry out the test. 1. 2. 3. 4. 5. 6. 7. 8. 9. visit LoginPage click newUser enter userName enter studentID click submit system validate studentID from database see the terms of use page click agree verify that profile has been created Expected Output LoginPage Create userProfile Page userName entered studentID entered studentID is validated Terms of use page is present profile page appears Pass/Fail Pass Remarks The above steps were tested and passed in the order tested.

Steps:

Test Input Visit LoginPage Click newUser Enter userName Enter studentID Click submit See terms of use page Click agree Test Results: Date 11/20/2013

19 Method: createPost() Purpose: The purpose of this test is to make certain that the student can create listing for items. Prereq: Assumptions that must be met before the test: loggedIn, userExists Test Data: List of variables and their possible values used in the test case. aPost : {Valid aPost, invalid aPost, empty} userName: {Valid userName, invalid userName, empty} Steps: Steps to carry out the test. 1. 2. 3. 4. 5. 6. 7. 8. 9. visit LoginPage enter userName enter studentID click login click post listing click post content post content click submit verify that the posting is correct and corresponds with student profile Expected Output LoginPage appears userName entered studentID entered main dashboard appears Post listing appears Content posting screen appears Content is written Content posted appears Pass/Fail Pass Remarks The steps were completed successfully in the above order. User was able to post content without any error.

Test Input Visit LoginPage Enter userName Enter studentID Click login Click post listing Click post content Post content Click submit Test Results: Date 11/20/2013

20

Method: postFeedback() Purpose: The purpose of this test is to make certain that the students feedback is posted to the appropriate seller and/or post. Prereq: Assumptions that must be met before the test case can be run: userExists, loggedIn, postExists. Test Data: List of variables and their possible values used in the test case. aFeedback: {Valid aFeedback, invalid aFeedback, empty} userName: {Valid userName, invalid userName, empty} Steps: Steps to carry out the test. 1. 2. 3. 4. 5. 6. 7. 8. 9. visit LoginPage enter userName enter studentID click login click post and/or profile click aFeedback post feedback content click submit verify that feedback has been posted to appropriate profile and/or posting Expected Output LoginPage appears userName is entered studentID is entered Main dashboard appears Post and/or profile appears Feedback screen is present Content is written Feedback content appears Remarks The postFeedback test was successful in the order mentioned above. The user was able to post to the desired profile and/or listing without any errors.

Test Input Visit LoginPage Enter userName Enter studentID Click login Click particular post and/or profile Click aFeedback Post feedback content Click submit Test Results: Date 11/20/2013 Pass

Pass/Fail

21

Project Management
Initial Group Meeting
8.29.2013 Meeting called by Type of meeting Facilitator Note taker Timekeeper Attendees Entire group Meet and greet / Brainstorm N/A Michelle White N/A Chris Wang, Blake Wong, Michelle White, Nati Yemane, Samuel Yu, Umme -Hani Zaidy 9:00pm Classroom

Proposal Ideas
30 minutes Discussion Introductions and brainstorm ideas for project proposal/memo (Milestone 1)

Conclusions

Exchanged contact information and discussed different project ideas.

Action Items Everyone was to come up with an idea to present to the group in the next meeting Send contact information to everyone

Person Responsible All Umme

Deadline 9/5/13 9/5/13

Initial Group Meeting


9.5.2013 Meeting called by Type of meeting Facilitator Note taker Timekeeper Attendees Entire group Decide on idea for project N/A Nati Yemane N/A Chris Wang, Blake Wong, Nati Yemane, Samuel Yu, Umme-Hani Zaidy 9:00pm Classroom

Proposal Ideas
30 minutes Discussion Everyone discussed their proposed ideas. Pros and cons of the different project ideas.

Conclusions

Decided on project idea Website to compare book prices for the UT system.

Action Items Work on memo

Person Responsible All

Deadline 9/12/13

22

Initial Group Meeting


9.11.2013 Meeting called by Type of meeting Facilitator Note taker Timekeeper Attendees Entire group Write memo Milestone 1 Nati Yemane Michelle White N/A Chris Wang, Blake Wong, Michelle White, Nati Yemane, Umme -Hani Zaidy 12:00pm Library Basement

Proposal Ideas
1 hour Discussion Discussed different portions of the memo and formatting. Brainstormed ideas and topics to be included.

Conclusions

Wrote the memo due for Milestone 1.

Action Items Finish editing memo and submit

Person Responsible Nati Yemane

Deadline 9/12/13

Initial Group Meeting


10.2.2013 Meeting called by Type of meeting Facilitator Note taker Attendees Entire group Work on Milestone 2 N/A Michelle White Chris Wang, Blake Wong, Michelle White, Samuel Yu, Nati Yemane, Umme -Hani Zaidy 7:00pm Library Basement

Milestone 2
1 hour Discussion Split up work into groups to accomplish all the deliverables for Milestone 2.

Conclusions

Worked on deliverables for Milestone 2.

Action Items Complete meeting minutes Write systems proposal Write executive summary Draft of schedule Complete schedule Review and finalize schedule

Person Responsible Michelle White Blake Wong/Samuel Yu Umme-Hani Zaidy Nati Yemane Chris Wang Michelle White/Nati Yemane

Deadline 10/9/13 10/9/13 10/6/13 10/6/13 10/8/13 10/9/13

23

Initial Group Meeting


10.21.2013 Meeting called by Type of meeting Facilitator Note taker Attendees Entire group Work on Milestone 3 N/A Michelle White Chris Wang, Blake Wong, Michelle White, Samuel Yu, Nati Yemane, Umme -Hani Zaidy 7:00pm Library Basement

Milestone 3
30 minutes Discussion Split up work into groups to accomplish all the deliverables for Milestone 3.

Conclusions

Samuel/Blake ompleted the requirements document during our meeting. Nati/Michelle/Umme completed the use case diagrams on paper.

Action Items Complete meeting minutes Write requirements document Finalize use case diagram Write use case descriptions Create class diagram for system

Person Responsible Michelle White Blake Wong/Samuel Yu Michelle White Nati Yemane/Michelle White/Umme-Hani Zaidy Chris Wang

Deadline 10/30/13 10/17/13 10/21/13 10/28/13 10/28/13

Initial Group Meeting


10.28.2013 Meeting called by Type of meeting Facilitator Note taker Attendees Entire group Work on Milestone 3 N/A Michelle White Blake Wong, Michelle White, Samuel Yu, Nati Yemane, Umme-Hani Zaidy 7:00pm Library Basement

Milestone 3
1 hour Discussion Reviewed class diagram and discussed necessary changes. Nati explained the changes we needed to make to the use case diagram. Split up remaining work amongst the group members.

Conclusions

As an entire group, we redid the use case diagram and reassigned the use case descriptions. We identified where the class diagram needed editing.

Action Items Complete meeting minutes Finalize requirements document Re-create use case diagram

Person Responsible Michelle White Blake Wong/Samuel Yu Michelle White

Deadline 10/30/13 10/30/13 10/30/13

24
Nati Yemane/Michelle White/Umme-Hani Zaidy Michelle White Chris Wang Blake Wong/Samuel Yu/Nati Yemane

Write use case descriptions Send Chris notes on class diagram edits Edit class diagram Create sequence diagram

10/30/13 10/28/13 10/29/13 10/30/13

Initial Group Meeting


10.30.2013 Meeting called by Type of meeting Facilitator Note taker Attendees Entire group Work on Milestone 3 N/A Michelle White Blake Wong, Michelle White, Chris Wang, Nati Yemane, Umme-Hani Zaidy 7:00pm Library Basement

Milestone 3
1 hour Discussion Finalize all components of the Milestone 3 to turn in.

Conclusions

Reviewed class diagram together and made necessary updates. Formatted Milestone 3 document to submit.

Action Items Complete meeting minutes Finalize requirements document Re-create use case diagram Write use case descriptions Send Chris notes on class diagram edits Edit class diagram Create sequence diagram

Person Responsible Michelle White Blake Wong/Samuel Yu Michelle White Nati Yemane/Michelle White/Umme-Hani Zaidy Michelle White Chris Wang Blake Wong/Samuel Yu/Nati Yemane

Deadline 10/30/13 10/30/13 10/30/13 10/30/13 10/28/13 10/29/13 10/30/13

Initial Group Meeting


11.18.2013 Meeting called by Type of meeting Facilitator Note taker Attendees Entire group Work on Milestone 4 N/A Michelle White Chris Wang, Nati Yemane, Samuel Yu 7:00pm Library Basement

Milestone 3
1 hour

25

Discussion

Discuss all the components of Milestone 4 needing to be completed and divide up work.

Conclusions

Divided up work for Milestone 4. Nati will send message to rest of the group who couldnt make it about

the divided up work assignments.

Action Items Complete meeting minutes Controls User interface design Software design Testing

Person Responsible Michelle White Blake Wong/Samuel Yu Chris Wang Michelle White/Umme-Hani Zaidy Nati Yemane

Deadline 11/20/13 11/20/13 11/20/13 11/20/13 11/20/13

Initial Group Meeting


11.20.2013 Meeting called by Type of meeting Facilitator Note taker Attendees Entire group Work on Milestone 4 N/A Michelle White Blake Wong, Umme-Hani Zaidy, Chris Wang, Nati Yemane, Samuel Yu, Michelle White 7:00pm Library Basement

Milestone 3
1 hour Discussion Finalize the components of Milestone 4 to be submitted and prepare final document.

Conclusions

Completed document to submit for Milestone 4.

Action Items Submit final product

Person Responsible Group

Deadline 11/21/13