Sie sind auf Seite 1von 42

Pick-Up Line Generator

Joes Ojos- Group 5


Rung Huynh Joe Ojo Jacob Robbins John Hughes Andre West

Table of Contents

Section 3.1. Cover Page Section 3.3.. Introduction to the Pick-up Line Generator Section 3.4.. Phase I, II, and III Deliverables Section 3.5.. Report of Testing and Deployment Section 3.6.. Database Design Section 3.7.. Application Code Section 3.8.. User Guide Section 3.9.. Team Leader Assessment Section 3.11 Team Member Evaluation

Section 3.3- Introduction


Welcome to group 5s semester project turn in! I hope you enjoy reading about this as much as we enjoyed putting it all together. This collection of documents represents 14 weeks of intense team work. This project has been a rollercoaster ride. At the beginning of the semester, we had few expectations because of the collective lack of coding experience: this was a first for all of us. From the get-go, we assumed an air of flexibility; roles and workload would change on a weekly basis. Leadership would change around based on experience and workload but we managed to keep the roles we set out with. Throughout the next few months, we developed everything quite well conceptually. The actual building and coding didnt truly start getting churned out until the last month or so. As the final deadline approached, we morphed and molded the design of our app until it was an appropriate balance of ease of deployment and personality. When we finally presented our finished app, we were set on by a sense of accomplishment and satisfaction. Despite the handful of sleepless nights and frustrating obstacles, this is a project we are each immensely proud of. Happy reading! Why did we choose to develop a Pick-Up Line Generator? Because of the novelty of the idea! It was an idea that two of us came up with on a whim and it was an app we could all look forward to seeing completed. From the beginning, we joked that UTDallas students could use an app like this to aid them in their romantic endeavors. It became quite a redemptive app, actually. We loved coming up with the pick-up lines; not to mention testing them out on each other. The content kept the whole project from getting too dry and the lines themselves kept our meetings light and playful. I imagine this project would have been much less gratifying had we not had fun with it. We had fun developing this app so we expect users to have even more fun! We all need a good laugh, especially when school gets tough. We hope this app will provide a quick and easy laugh to everyone who uses it. And who knows! Maybe some lucky guy will get the girl of his dreams because of a perfectly timed pick-up line. Theres no wrong way to use this app. So get creative and have fun!

Joes Ojos Pickup Line Generator


Detailed Design Document Date: October 15, 2013

Contact Information: Rung HunyhProject Manager John HughesDesign Lead Joe Ojo.Implementation Consultant Andre West..Resource and Analysis Lead Jacob Robbins..Database Manager

Index: 1) User Interface a. Start-up Screen b. Home Screen (Type Selector) c. Classy Pick-up Lines Screen d. Edgy Pick-up Lines Screen e. Unconventional Pick-up Lines Screen f. Favorites Screen 2) Software Programs a. Html files used 3) Database

User Interface:

Start-up Screen:

Welcome

Pre-conditioning Screens -None (Opening Screen) Post-conditioning Screens

PRESS TO ENTER

-Home Screen(Type Selection)

Home Screen (Type Selection): Pre-conditioning Screens Favorite s

Home

-Start-up Screen Post-Conditioning Screens

Choose a type
Classy Edgy Cheesy

-Favorites Screen -Classy Pick-up Lines Screen -Edgy Pick-up Lines Screen
-Cheesy Pick-up Lines Screen

Classy Pick-up Lines Screen: Pre-conditioning Screens

Back

Classy

Favorite s

-Home Screen (Type Selector) Post-Conditioning Screens

PRESS TO GENERATE

-Favorites Screen -Home Screen (Type Selector)

Home

Edgy Pick-up Lines Screen:

Back

Pre-conditioning Screens

Edgy

Favorite s

-Home Screen (Type Selector) Post-Conditioning Screens

PRESS TO GENERATE

-Favorites Screen -Home Screen (Type Selector)

Home

Cheesy Pick-up Lines Screen: Pre-conditioning Screens

Back

Cheesy

Favorite s

-Home Screen (Type Selector) Post-Conditioning Screens

PRESS TO GENERATE

-Favorites Screen -Home Screen (Type Selector)

Home

10

Favorites Screen: Pre-conditioning Screens

Favorites

-Home Screen (Type Selector) -Classy Pick-up Lines Screen -Edgy Pick-up Lines Screen
-Unconventional Pick-up Lines Screen

Post-conditioning Screens -Home Screen (Type Selector)

Home

11

2: Software Programs
a) Start.html (Start-up Screen) Allows user to open the program HTML5, CSS3, Javascript, php JQuery JQuery Mobile Click on start button b) Home.html (Home Screen) Allows user to select type of pick-up line HTML5, CSS3, Javascript, php JQuery JQuery Mobile Click on either of the three types, click on favorites button c) ClassyLines.html Allows user to generate a Classy pick-up line HTML5, CSS3, Javascript, php JQuery JQuery Mobile Click on the generate button, home button, or favorites button d) EdgyLines.html Allows user to generate an Edgy pick-up line HTML5, CSS3, Javascript, php JQuery JQuery Mobile Click on the generate button, home button, or favorites button e) UnconventionalLines.html Allows user to generate a Unconventional pick-up line HTML5, CSS3, Javascript, php JQuery JQuery Mobile Click on the generate button, home button, or favorites button f) Favorites.html Allows user to recall favorite pick-up lines HTML5, CSS3, Javascript, php
12

JQuery JQuery Mobile Click on home button

3: Database
-MySQLList of Databases A) Pick-Up Lines B) User # FAV
13

List of Tables AI) Classy Associated Database: Pick-Up lines Purpose: Stores string data specific to Classy: Classic lines from film, television, music, and radio. Fields: Label (KEY Column), INT (random number for unique classification),the actual line of text (string data). Primary Key: Label AII) Edgy Associated Database: Pick-Up lines Purpose: Stores string data specific to Edgy: Funny, straightforward, and smart; lightly sprinkled with innuendo. Fields: Label (KEY Column), INT (random number for unique classification),the actual line of text (string data) Primary Key: Label AIII) Unconventional Associated Database: Pick-Up lines Purpose: Stores string data specific to Unconventional: Stereotypically bad pick-up lines and anti-pick-up-lines; from film, television, and meme pop. Fields: Label (KEY Column), INT (random number for unique classification),the actual line of text (string data) Primary Key: Label

AIV) Mystery Box Associated Database: Pick-Up lines Purpose: Stores string data specific to Mystery Box: generate enough unique data to unlock this special mystery category. Fields: Label (KEY Column), INT (random number for unique classification),the actual line of text (string data) Primary Key: Label

BI) Favorites Associated Database: User # FAV (Client Side Database)


14

Purpose: Stores string data from all other tables in an OUTER JOIN table called Favorites: Data generated by the user. This database allows quick reference to the users favorite lines. Fields: Label (KEY Column), INT (random number for unique classification),the actual line of text (string data) (from FOREIGN KEY) Primary Key: Label E. Table diagrams

Classy

Edgy

Mystery Box

Favorites

Unconventional

Group 5 System Proposal


15

Rung Huynh Joe Ojo Jacob Robbins John Hughes Andre West

Table of content
1. Short project description 2. List of important requirements 3. Possible risks 4. System Architecture 5. Technologies 6. Documentation 7. Quality Control and Testing 8. Project Breakdown with time efforts estimation 9. Project delivery plan by stages 10. Budget details 11. Payment terms 12. Warranty 13. Maintenance and support terms 4 4 4 5 5 5 5 6 7 9 8 9 9
16

14. Information 15. Contact Details

10 10

17

Technical Part
1. Short project description

The project will be to create a mobile web application for a pick-up line generator. It will generate one of three types of pick-up lines using data routed through a SQL server. This will allow for smooth pick-up lines on the go. Our target audience is the student population (although primarily, this application is targeted for our class and instructor). Our primary focus will be on user interface and design.

2. List of important requirements Requirements for completion of project: Understanding the proper implementation of HTML5 and CSS3 Ability to use Javascript and JQuery Proper outline of design All members being able to identify and fix problems Knowledge of how to use SQL servers

3. Possible Risks

Problems that may be encountered during development include, but are not limited to: Absence of team members Work not being completed on time Outside class work conflicts Code malfunctions Design malfunctions Adjustment of current outline Necessity of additional dates

18

4. System Architecture

File Storage INTERNE T


Local SQL Database

The system will consist of the following major sections: 1) HTML5 web application 2) Server-side application

Client Side Database

5. Technologies This project will be created using: 1) MS SQL Server 2) HTML 5 3) CSS3 4) Javascript 5) jQuery 6. Documentation Documentation Provided: 1) Commented source code 2) Design Outline 3) Work Log 7. Quality Control and Testing Tests implemented: 1) Functional testing 2) Performance testing 3) Usability testing 4) Accuracy Testing

19

8. Project Breakdown with time efforts estimation # Stage 1 1.1 1.2 Stage 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Stage 3 3.1 3.2 3.3 3.3.1 3.3.1.1 3.3.1.2 3.3.1.3 3.4 3.4.1 3.4.2 3.4.3 3.5 3.6 3.6.1 3.6.2 3.7 Stage 4 4.1 4.2 4.3 Stages/Tasks Planning Work plan creation General architecture design Analysis Market Analysis Work-Labor constraints Design constraints Budget constraints Technology Analysis Initial database compilation Other Design Database creation Database Sync Design Category Design Category 1 Page Category 2 Page Category 3 Page Collection Category 1 Collection Category 2 Collection Category 3 Collection Main Menu view Sound Music Effects Other Implementation Application construction and deployment Debug and audience testing Application Presentation Efforts, man-hours

4 4 2 4 2 1 4 2 4 10 5 30 (30) 10 10 10 15 5 5 5 12 12 6 6 4 40 10 3

Total estimated efforts: 133 man-hours

20

9. Project delivery plan by stages The project will be implemented in the following stages:

Stage 1. Planning Tasks Deliverables Estimate (work days) Total man-hours by stage Work plan creation, brainstorming design Project Plan 1 8

Labor category Design Lead Database Manager

Man-hours per category 2 6

Staff quantity 1 1

Man-hours per person 2 6

Stage 2. Analysis Tasks Deliverables Estimate (work days) Total man-hours by stage Market analysis, work-labor constraints, design constraints, budget constraints, technology analysis, initial database compilation System Proposal 3 19

Labor category Project Manager Design Lead Database Manager Implementation Consultant

Man-hours per category 1 4 4 5

Staff quantity 1 1 1 1 1

Man-hours per person 1 4 4 6 4

Resource and analysis Lead 5

21

Stage 3. Design Tasks Deliverables Estimate (work days) Total man-hours by stage Database creation, database synchronization, category design, menu design, sound design Detailed Design Document 3 88

Labor category Project manager Design Lead Database Manager Implementation Consultant

Man-hours per category 16 22 18 16

Staff quantity 1 1 1 1 1

Man-hours per person 16 22 18 16 16

Resource and analysis Lead 16

Stage 4. Implementation Tasks Deliverables Estimate (work days) Total man-hours by stage Application construction and deployment, debug and audience testing, application presentation Completed and Deployed Application 3 53

Labor category Project manager Design Lead Database Manager Implementation Consultant

Man-hours per category 10 10 11 12

Staff quantity 1 1 1 1 1

Man-hours per person 10 10 11 12 10

Resource and analysis Lead 10

Total project timeframe: 12 weeks. Total estimated efforts: 133 man-hours Time efforts by labor category Labor category Project manager Design Lead Database Manager Implementation Consultant Man-hours per category 27 38 39 43 Staff quantity 1 1 1 1 1 Man-hours per person 27 38 39 43 32
22

Resource and analysis Lead 32

Financial Part
10. Budget details Project Manager Design Lead Database Manager Implementation Consultant Resource and Analysis Lead 0 USD per hour 0 USD per hour 0 USD per hour 0 USD per hour 0 USD per hour

Final Projected budget

0 USD

23

General Information
11. Information Location: T h e U n i v e r s i t y o f T e x a s a t D a l l a s

12. Contact Details Contact: jxr104220@utdallas.edu

24

Project Name
High Level Design Document Date: October 15, 2013

Contact Information: Rung HunyhProject Manager John HughesDesign Lead Joe Ojo.Implementation Consultant Andre West..Resource and Analysis Lead Jacob Robbins..Database Manager

25

Index: 1) Introduction 1.1) 1.2) Background Design Goals

2) Architecture 2.1) 2.2) 2.3) Introduction Data User Interface 2.3.1) Screens 2.3.2) Interface Map

26

1: Introduction
1.1: Background
Many students that attend the University of Texas at Dallas are focused mainly on succeeding in all academic areas that they pursue. While this is very important for graduating and becoming a successful person, it does leave little time for romance. Between going to class and studying, there is a severe lack of time where students can think of what to say to someone they would like to get to know. For others, things like this are difficult, and they could use some help in knowing what to say, as well as when to say it. Pick-up lines are effective, but some are very hard to remember, and remembering more than a handful at a time becomes very confusing and difficult. Getting these lines tangled up can make a person look very bad in front of the person they are trying to impress, which immediately defeats the purpose of the pick-up line. Saying the right thing at the right time could become the difference between a good night and a lonely one. This is why it is important to keep these pick-up lines straight in your head. What better way to do this than to have hundreds of them in your phone, ready for when you need them most.

1.2: Design Goals


Joes Ojos is an application development company that proposes to develop and design a mobile web application that will generate pick-up lines using a cloud-based database in order to improve the chances of the students of The University of Texas at Dallas. This application, dubbed INSERT NAME HERE, will provide students with access to a random pick-up line chosen depending on the type of line chosen. It will allow users to:

27

Choose the type of pick-up line they would like to generate Save their favorite pick-up lines for later use A seamless user interface

2: Architecture
2.1: Introduction
Distributed, client-server:
o Clients with android devices can download the app and access the database. o There is no ceiling number of clients. o The database will be a deployed on a single server and can be accessed by each

client.
o Proximity is irrelevant. o Stronger internet connectivity and o Clients

faster data speed will result in optimal

performance. interface will consist of a handful of screens; each manipulated by as few buttons as possible. The client-side design is stream-lined intentionally for easiest accessibility and use.
Client A

Database Server
Client B

Client C

28

Top Level Architecture:

Data Server

Client

Client

Data Server Tier

Client Tier

We will implement the 2-tier architecture. The functionality of each of the tiers is as follows: 1. Client tier: Responsible for data presentation, initiating RAND GENs, and hosting a small user generated database. 2. Data Server tier: This tier is responsible for data storage. A single database with four tables. This is directly accessible by the client tier.

This architecture enables us to achieve the following: 1) Random Generating: The client can access the data base through a RAN GEN function per each table in the database. There will be a strict separation of generating between tables. 2) Database Updates: The group can update tables by simply adding new rows or deleting unfavorable rows. 3) Client Side Database: generated by the user by favoriting pick-up lines. The data is duplicated from the server side and placed in a distinct table that has no random generating function. From the user stand-point, the table exists as a list.

29

2.2: Data
Classy Table Random Generate Prompt

Pick-up Line

Edgy Table

Random Generate Prompt

Pick-up Line

Unconventional Table

Random Generate Prompt

Pick-up Line

Condition 1 Trigger Favorite Prompt Mystery Box Table Random Generate Prompt

Pick-up Line

Favorite Table In the following we list attributes of tables, primary keys (underlined), and foreign keys (if any) Pick-up Line - String Data - Pick-up line (foreign key) Random Generate Prompt - Action type - Temporary Client Side String Data Favorite Prompt - Action type

30

- Temporary Client Side String Data Condition 1 Trigger - Reaction type - Temporary Client Side String Data Classy Table unique number allocation - Random Generate Number allocation - Pick-up line Edgy Table unique number allocation - Random Generate Number allocation - Pick-up line Unconventional Table unique number allocation - Random Generate Number allocation - Pick-up line Mystery Box Table unique number allocation - Random Generate Number allocation - Pick-up line Favorites Table unique number allocation - Pick-up line (Foreign Key)

31

2.3: User Interface


2.3.1: Screens
Start-up screen Button to enter

Home Screen (Type Selection) Classy pick-up lines Edgy pick-up lines Unconventional pick-up lines Button to go to favorites

Classy pick-up lines screen Press button to generate Display in top half of screen Button to go to Home Button to go to favorites Button to add line to favorites

Edgy pick-up lines screen Press button to generate Display in top half of screen Button to go to Home Button to go to favorites Button to add line to favorites

Unconventional pick-up lines screen Press button to generate Display in top half of screen Button to go to Home Button to go to favorites

32

Button to add line to favorites

Favorites screen Displays favorites in list form Button to go to Home

2.3.2: Interface Map

Classy pick-up line Screen

Start-up Screen

Home Screen (Type Selection)

Edgy pick-up line Screen

Favorites Screen

Unconventional pick-up line Screen

33

Group 5
Rung Huynh Joe Ojo Jacob Robbins John Hughes Andre West

34

Table of Contents. INTRODUCTION.......................... Page 3 -Background information -Project Approach (Phase 1, Phase 2, Phase 3, Phase 4 condensed) GOALS . Page 4 -Business goals -Project goals SCOPE. . Page 5 -Target Audience -Risks -Milestones CONSTRAINTS.. Page 6 -Project constraints (Budget, time, human resources) PROJECT APPROACH.. Page 7 -Timeline -Roles and responsibilities -Communication APPENDIX A.. Page 9 SIGN-OFF SHEET.. Page 10

Background Information ..

35

Product: A mobile web application to be developed and released on the android platform. It is a pick-up line generator: A simple user interface that accessed a large database full of appropriate dating pick-up line at the push of a button. This is meant to for entertainment only and will be categorized as a mobile web game. This project was initiated because of a mutual interest to have fun while working through this particular group assignment. The project end-product is a simple mobile web app centered on the iconic cultural phenomenon of dating and the humor associated with it. Development will focus mainly on user-interface and ease of use. As of the drafting of this document, Group 5 has reached a consensus on means of communication, assignment of roles, and rough draft end-product.

Project Approach
Phase 1: Planning This phase included group founding, individual introduction, general assessment of the task at hand, and initial brain storming of the product. Practically, this means face-to-face interactions between members. We have spent most of this phase narrowing down our ideas until we reached a product that we are all satisfied with. Technical and organizational feasibility have also been discussed. Phase 2: analysis During this phase, we will determine who will use our product, how we will publish our product, and most importantly, how we will actually construct the product. During this phase, we expect to gather more ideas for the product and begin to move freely within the boundaries we have been given. We will scour the market for similar products and find ways to work around the products already in the market pool. Finally, we will produce a system proposal, which will guide our actions into the next phase. Phase 3: Design This phase is concerned with designing the actual construction of the product. We will formulate a strategy for the design of the model and determine how we will write the program. We will sketch out our designs and determine how much time and focus must be spent on each aspect of design. We will compile information for the main database and work out the guiding code.

36

Phase 4: implementation During this phase, we will finally build our product. We expect to spend more hours working through this phase than any of the other phases. We will construct the skeleton of the application, running tests through our database and thereby fleshing out the final code. We will use coding tools to build the interface and incorporate all aesthetic designs. Finally, we will try our product in a test market, work out final kinks, and publish our product.

Goals and Objectives.


Business Goals - Provide users with a comical mobile app -Ensure user satisfaction and enjoyment - Work out flaws and bugs for a seamless product - Build a unique product with a memorable design Project goals -Ensure effective communication between group members - Work towards seamless transition between each phase. - Ensure no group members time is wasted by striving for efficiency - End the semester with a satisfactory product and a collective sense of accomplishment

Scope .
Target Audience -Classmates in MIS 4312.512 and associated staff -Close friends and family -Word of mouth audience

37

Risks Time: 3 hour class time estimated man hours per member outside class: 30 Schedule: Semester Long: Over 3 months Team size: 5 (with little chance of membership change) Deliverables: risks associated with clarity and follow through Costs: 0 dollars with little to no chance of change Team commitment: Ensured and backed by grade incentives and general camaraderie Learning curve: Associated with knowledge of code. Entry level throughout; high propensity to learn

Milestones Project Plan deliverable.. 09.17.2013 Project Analysis deliverable. 10.01.2013 Project Design deliverable.. 10.05.2013 Project Implementation deliverable.. 12.10.2013

Constraints ..
Project constraints

38

Budget: We have no budget (with the exception of sunk cost associated with text books). All our work must be done ourselves and all tools used must be available either online or in textbooks. Time: Each team member is enrolled full-time as a UTDallas undergrad and works either full or part time. We are constrained to work around each others schedules, also giving time for holidays and important obligations Human resources: None of our work can be outsourced. However, we have access to the oncampus computer lab and the TAs employed there, as well as the course instructor and TA. Outside consultation is probable but minimal judging by the scope of the project.

39

Project Approach

Timeline provided by course instructor in course syllabus (for directions to this document see Appendix A) Roles and responsibilities -Project Manager: Rung HunyhResponsible for decision-making and tie-breaking. Gives oversight and general guidance Head supervisor -Design Lead: John HughesInitial sketches and outlines Draws out user interface Visualizes and solidifies ideas of other teammates -Database Manager: Jacob RobbinsLead compiler database upkeep and updates -Implementation Consultant: Joe OjoProvides advice and resources Helps direct other members Delegates coding tasks -Resource and analysis Lead: Andre WestClarifies tasks Provides members with key resources Responsible for all outsourcing activities -Steering Committee: Andre West, Joe Ojo, Jacob Robbins, John Hughes, Rung HunyhResponsible for all major decisions Provides each specialist with assistance

40

Actively engages each group member Gives overall direction Problem resolution

Project Approach contd Communication -PrimarySteering Committee meetings: face-to-face interactions purposed with brainstorming and delegation -SecondaryEmail + Texting: For planning meetings, clarification, general information and less important group decisions.

Testing and Deployment Report


Testing Method

41

Initial testing and presentation of the Pick-up Line Generator was local. We worked out bugs and hiccups in the code from one of our group members computers and presented from the same computer. Cloud deployment needed little testing aside from format evaluation on mobile devices. Mobile testing was the last step in the process. Specific Tested Functionalities

We tested the apps ability to call from the cloud-based database and from the locally-based database. We tested transitions from page to page locally and on the cloud. We tested the generate function and the associated random function. We tested each category of pick-up lines and its associated generate function. We tested speed and durability on various connections and internet speeds. We tested user satisfaction by testing with friends and strangers. Tested Devices

We tested our app on three devices. 1) A group members windows platform desktop. 2) A group members Iphon 3) A group members android All three devices ran the application without a hitch. Third party software

We used no third party software. Deployment Method

The Pick-Up Line generator is deployed on the cloud.

Database Design

42

The pick-up line generator has a stream-lined design. We found it necessary to only use one database. The app pulls from the aptly named pickuplines database compiled through mMySQL.

There are only three tables in the database called pickuplines. 1) Classy: the classy pick up lines page produces a random generate from this table 2) Nerdy: The nerdy pick up lines page produces a random generate from this table. 3) Cheesy: The cheesy pick up lines page produces a random generate from this table.

The three tables have identical design. There are two fields in each column and ten columns in each table. Field one: Line ID. The ID was originally intended for numeric capabilities that would be necessary if all the lines were crammed into one table. The IDs remained for ease of calling and reference. This field is simply numeric data. Field two: the line. This is the text that appears on the screen of the users device when they generate a pick up line. This is the only field from the database that the user can see. This field is string data.

43

Das könnte Ihnen auch gefallen