+ All Categories
Home > Documents > EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Date post: 13-Jan-2016
Category:
Upload: lesley-alexander
View: 219 times
Download: 2 times
Share this document with a friend
23
eMatchBay eMatchBay Hendi Chandi Hendi Chandi Aleksandr Lyamtsev Aleksandr Lyamtsev Arifin Tahir Arifin Tahir Ie Ling Tjam Ie Ling Tjam Itasari Wiryanto Itasari Wiryanto
Transcript
Page 1: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

eMatchBayeMatchBayHendi ChandiHendi Chandi

Aleksandr LyamtsevAleksandr LyamtsevArifin TahirArifin Tahir

Ie Ling TjamIe Ling TjamItasari WiryantoItasari Wiryanto

Page 2: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Operational ConceptsOperational Concepts

User CommunityUser Community• People from all lifestyles and People from all lifestyles and

demographicsdemographics• People with desires to meet new friends People with desires to meet new friends

anywhere and anytime anywhere and anytime safelysafely..• Good for people who are always on the Good for people who are always on the

moves.moves.

Page 3: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Operational ConceptsOperational Concepts(continued)(continued)

EnvironmentEnvironment• Works in any mobile devices running on Works in any mobile devices running on

Windows platform, eg: IPAQWindows platform, eg: IPAQ• Information gathered from clients and Information gathered from clients and

transferred to server through web services transferred to server through web services using the Internet. using the Internet.

• Server filters and processes data according to Server filters and processes data according to user’s requests.user’s requests.

• Assume: Assume: More cell phones’ users switch to PDAs in future.More cell phones’ users switch to PDAs in future. Transmissions of high bandwidth data become more Transmissions of high bandwidth data become more

affordable.affordable.

Page 4: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Operational ConceptsOperational Concepts(continued)(continued)

Major BenefitsMajor Benefits• Meet new friends Meet new friends safelysafely - rating system - rating system• Link people with same interests and Link people with same interests and

lifestylelifestyle• Provides feedback to users from peers Provides feedback to users from peers

for self-reflectionfor self-reflection• Provides an avenue for users to express Provides an avenue for users to express

their opinion about their friends freely.their opinion about their friends freely.• Help shy-natured users to meet new Help shy-natured users to meet new

people.people.

Page 5: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Operational ConceptsOperational Concepts(continued)(continued)

eMatchBay does not support:eMatchBay does not support:• Verbal communicationsVerbal communications• Concurrent written communications (eg: Concurrent written communications (eg:

MSN)MSN)• Displaying matches on mapDisplaying matches on map• Landscape detectionsLandscape detections

Page 6: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

System RequirementSystem RequirementNew Sign UpNew Sign Up

UserUser• Prompt with a welcome Prompt with a welcome

pagepage• Click on SIGNUP buttonClick on SIGNUP button• Fill in his information, Fill in his information,

ranging from hobbies to ranging from hobbies to recreation. Everything else recreation. Everything else is optional - set by default as is optional - set by default as all null, except biodata.all null, except biodata.

• Once data entry is Once data entry is completed, prompt a completed, prompt a disclosure page.disclosure page.

• Prompt a page disclosing all Prompt a page disclosing all risks involved, and risks involved, and eMatchBay will not be eMatchBay will not be responsible for any harm responsible for any harm done to user.done to user.

• After user accepts After user accepts agreement, user will be agreement, user will be able to use eMatchBay to able to use eMatchBay to user’s heart content.user’s heart content.

ServerServer• User will supply, either from a User will supply, either from a

mobile device or a remote mobile device or a remote computer, their personal data computer, their personal data (name, age, username, password, (name, age, username, password, gender, sexual orientation, e-mail, gender, sexual orientation, e-mail, marital status). marital status).

• Some constraints will be imposed Some constraints will be imposed on these inputs (for example, on these inputs (for example, password must be 8 characters password must be 8 characters long).long).

• These information must be stored These information must be stored successfully in our database for successfully in our database for future retrieval. future retrieval.

• Database generates an ID number Database generates an ID number for this user. for this user.

• If information storage fails, user If information storage fails, user must be prompted to re-input must be prompted to re-input data.data.

Page 7: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

System RequirementSystem RequirementReturning User LoginReturning User Login

UserUser• Starts program.Starts program.• Login window will be Login window will be

prompted to login.prompted to login.• One scenario out of three is One scenario out of three is

possible thereafter:possible thereafter: Profile found and Profile found and

password matches. password matches. Profile found but Profile found but

password incorrect. password incorrect. Profile not found.Profile not found.

• User will be fed a home User will be fed a home page with all relevant links page with all relevant links or actions.or actions.

ServerServer• receives login informationreceives login information• looks for user profile in database looks for user profile in database

(using username) and clarifies (using username) and clarifies password.password.

• If username and password If username and password matches, grant permission for this matches, grant permission for this current user. If not, send error current user. If not, send error message.message.

Page 8: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

System RequirementSystem RequirementEdit ProfileEdit Profile

UserUser• User presses edit profile User presses edit profile

buttonbutton• To edit anything, user will To edit anything, user will

just need to change user’s just need to change user’s information, either using information, either using textbox, dropdown menu, textbox, dropdown menu, radio button, etc.radio button, etc.

• User will have option to User will have option to disclose or hide certain disclose or hide certain information.information.

• After user completed all After user completed all changes, user will need to changes, user will need to click “SUBMIT CHANGES”.click “SUBMIT CHANGES”.

• From this time on, any From this time on, any retrieval of user’s retrieval of user’s information will be the information will be the updated informationupdated information

ServerServer• User must be able to update User must be able to update

profile at any time profile at any time • client side calls web service client side calls web service

that retrieves user profile, so that retrieves user profile, so server retrieves those server retrieves those attributes and returns them.attributes and returns them.

• Client side calls the web Client side calls the web service that updates user’s service that updates user’s profile, passing as profile, passing as parameters all fields in parameters all fields in profile and their display profile and their display status.status.

Page 9: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

System RequirementSystem RequirementUser sets search criteriaUser sets search criteria

UserUser• User can choose from drop User can choose from drop

down menu of several options down menu of several options ranging from hobbies, bio-data ranging from hobbies, bio-data to recreation. All entries will to recreation. All entries will initially be by default set to initially be by default set to null.                              null.                              

• User will most certainly be User will most certainly be prompted to enter biodata prompted to enter biodata range of person user expects to range of person user expects to meet. Everything else is meet. Everything else is optional.optional.

• After user make all necessary After user make all necessary changes, user has to click changes, user has to click “SUBMIT CHANGES” to update “SUBMIT CHANGES” to update all changes on server.all changes on server.

• From now, if user looks for a From now, if user looks for a match, it will be based on match, it will be based on criteria set up by user unless criteria set up by user unless user changes it again.user changes it again.

ServerServer• Client side calls web service that Client side calls web service that

retrieves user’s search criteria, retrieves user’s search criteria, server retrieves those attributes server retrieves those attributes and returns themand returns them

• If user has never set a search If user has never set a search criteria before, null strings are criteria before, null strings are returned. Otherwise current returned. Otherwise current search criteria are returned to be search criteria are returned to be displayed. displayed.

• If user decides to change search If user decides to change search criteria, client calls web service criteria, client calls web service that updates search criteria. that updates search criteria. Search criteria includes age, Search criteria includes age, hobby, occupation, etc, and limit hobby, occupation, etc, and limit to the number of matches. to the number of matches.

Page 10: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

System RequirementSystem RequirementUser Searches For MatchesUser Searches For Matches

UserUser                                                                                            

• User will be checked whether User will be checked whether user has set the search criteria. If user has set the search criteria. If not, user will go to part (c), else not, user will go to part (c), else user proceeds.user proceeds.

• This will send a request to user’s This will send a request to user’s GPS-like* system to locate his GPS-like* system to locate his universal location. universal location.

• User’s location will be stored at User’s location will be stored at user’s programuser’s program

• Program sends his location to Program sends his location to server to find best 10 matches server to find best 10 matches within user’s radius.within user’s radius.

• Matches will be placed inside Matches will be placed inside contact links. User can click next contact links. User can click next or previous to browse through or previous to browse through pictures.pictures.

• If user is interested to contact If user is interested to contact person, user can use any person, user can use any communication means specified communication means specified by other user. From here on, by other user. From here on, user will be on user’ own risk.user will be on user’ own risk.

ServerServer• User must have submitted a User must have submitted a

search criteria.search criteria.• User must specify his/her location User must specify his/her location

to server using webservice. to server using webservice. • Server then queries database to Server then queries database to

find all users within a certain find all users within a certain radius of current user which radius of current user which doesn’t ban current user, doesn’t doesn’t ban current user, doesn’t opt to only give access to his/her opt to only give access to his/her profile to people in his/her friend profile to people in his/her friend list. list.

• After server retrieves profiles of After server retrieves profiles of these other users, it calculates these other users, it calculates best matches with user’s search best matches with user’s search criteria.criteria.

• If another user is ON, current user If another user is ON, current user will be able to add user to friend will be able to add user to friend list, or send static messages.. list, or send static messages..

* Since GPS is not available, we will be uploading map-coordinates to find user’s location.

Page 11: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

System RequirementSystem RequirementUser Adds Another UserUser Adds Another User

UserUser• User will be checked whether User will be checked whether

user has set search criteria. user has set search criteria. • This will send a request to This will send a request to

user’s GPS-like* system to user’s GPS-like* system to locate his universal location.locate his universal location.

• User’s location will be stored at User’s location will be stored at user’s program. Program will user’s program. Program will send his location to server to send his location to server to find best 10 matches within find best 10 matches within user’s radius.user’s radius.

• Matches will be placed inside Matches will be placed inside contact links.contact links.

• User can click next or previous User can click next or previous to browse through pictures.to browse through pictures.

• If user is interested to contact If user is interested to contact person, user can use any person, user can use any communication means specified communication means specified by other userby other user

ServerServer• User must have found other user User must have found other user

through the matching through the matching • User must know either the User must know either the

username or e-mail address of username or e-mail address of other user. other user.

• Other user must have his/her Other user must have his/her status set to “on”, and must not status set to “on”, and must not be in the friend list of the current be in the friend list of the current user. Other user is found through user. Other user is found through match finding function, and when match finding function, and when prompted, accepts the request to prompted, accepts the request to add him/her to friend list. add him/her to friend list.

• Other user receives a request, Other user receives a request, and has the chance to either and has the chance to either accept or reject the request sent accept or reject the request sent by the current user. by the current user.

Page 12: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

System RequirementSystem RequirementUser Rates Other UsersUser Rates Other Users

UserUser• The user will choose the The user will choose the

person the user wants to person the user wants to rate by selecting the rate by selecting the username or identifier username or identifier 

• The user will then answer The user will then answer question about user’s question about user’s match match 

• The user will then click The user will then click submit to prompt the server submit to prompt the server to update the match’s to update the match’s rating  rating  

• From now on, every time the From now on, every time the user’s match rating is user’s match rating is requested, the new updated requested, the new updated rating will appear.rating will appear.

ServerServer• The other user must be The other user must be

contained in the current user’s contained in the current user’s friend list. The scoring is open, friend list. The scoring is open, so the other user will not be able so the other user will not be able to reject any score. to reject any score.

• The current user will be asked to The current user will be asked to provide a score that will be provide a score that will be entered into the database. entered into the database.

• There will also be an option to There will also be an option to enter a textual “testimonial” of enter a textual “testimonial” of the other user which will not the other user which will not count toward the scoring. count toward the scoring.

• This new score should be This new score should be displayed along with the other displayed along with the other user’s profile the next time some user’s profile the next time some other user asks requests it. other user asks requests it.

Page 13: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

System RequirementSystem RequirementUser Sends Static MessageUser Sends Static Message

UserUser• To communicate with your new To communicate with your new

match, the user will double click match, the user will double click at the match username or at the match username or identifier            identifier            

• A new window will open.            A new window will open.            • The user can just communicate The user can just communicate

just like any instant messaging just like any instant messaging system (more like SMS, not system (more like SMS, not MSN).MSN).

ServerServer• User can send a static message to User can send a static message to

any other users in his/her friend any other users in his/her friend list, and non-friend users who are list, and non-friend users who are ON. ON.

• After user types in the messages After user types in the messages and submits it through a web and submits it through a web service, the server receives it and service, the server receives it and first queries if the target user if first queries if the target user if ON or OFF. ON or OFF.

• If target user is ON then it sends If target user is ON then it sends message directly to client app. If message directly to client app. If target user is OFF the message is target user is OFF the message is stored in the user’s inbox table in stored in the user’s inbox table in the database. The next time user the database. The next time user is online and checks his/her inbox, is online and checks his/her inbox, this message should be displayedthis message should be displayed..

Page 14: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

System RequirementSystem RequirementUser Bans Another UserUser Bans Another User

UserUser• The user will choose the The user will choose the

person’s username or person’s username or identifieridentifier

• The user will be prompted to The user will be prompted to make sure the user has met make sure the user has met the correct selection.the correct selection.

• The user will have to click The user will have to click “YES” to be processed, or “YES” to be processed, or the ban is dropped.the ban is dropped.

• After clicking “YES”, that After clicking “YES”, that match’s username will be match’s username will be entered at user’s ban’s list.entered at user’s ban’s list.

ServerServer• Either the other user was in Either the other user was in

the current user’s friend list, the current user’s friend list, or he/she was included in a or he/she was included in a match, or he/she sent a match, or he/she sent a message to the current user. message to the current user.

• Client side calls a web service Client side calls a web service that takes the ID of the that takes the ID of the person to be banned. The person to be banned. The other user’s ID is entered into other user’s ID is entered into a list of banned users by this a list of banned users by this user in the databaseuser in the database

Page 15: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Software ArchitectureSoftware Architecture

Software specifications:• Operating System: Windows Mobile Computing• Software:

Microsoft .Net, using C# and SQLMicrosoft SQL Server GPS software (ex: MapPoint) to identify users’ location.

Database specifications:• Database will contain multiple tables with schema defined using 3d normal form.• Database should represent following properties:

- Personal information of a user- Public information of a user- Location descriptors- Contact list and ratings stored by a

user.

Page 16: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

SystemSystem architecturearchitecture• Fast and reliable client-server communication using on--fly/session Fast and reliable client-server communication using on--fly/session

interactions with web servicesinteractions with web services• Web services are called by application via a well defined APIWeb services are called by application via a well defined API• API layer, sessions, and data buffers interface our web services API layer, sessions, and data buffers interface our web services

with database and clientswith database and clients• modular nature of our architecture will provide a convenient way modular nature of our architecture will provide a convenient way

of producing updates for our application and issuing new features of producing updates for our application and issuing new features for future releases.for future releases.

• API specification support administrative tools and updatesAPI specification support administrative tools and updates• System behavior:System behavior:

• Client application uses brief connection to internet from mobile device Client application uses brief connection to internet from mobile device to perform a specified task.to perform a specified task.

• Once connection is established, mobile application will access Once connection is established, mobile application will access appropriate web service, using client id as a session ID.appropriate web service, using client id as a session ID.

• server will perform task specified by a webservice, and return server will perform task specified by a webservice, and return information back to client using an XML stream.information back to client using an XML stream.

Page 17: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Target

Profiles Rating Matches

Requester

ID Profile Rating Request Location

Administrator

• Database Maintenance• Critical updates, releases

DBMS Profiles Rating Location

API, sessions, data buffer

Server

Execution oriented view and data flow

Matching Comparato

r

Rating Calculator

Location Identifier

Information Gateway ->

Retrieval/Storage

Rating Feedback

GPS services Map Point GPS data

Profile1 Profiles Location

Match Profile + rating

SQL requests GPS data

DB modifiers GPS requests

Page 18: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Sample UISample UI

Main page interface User profileUser defined matching specs

Page 19: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Lifecycle PlanLifecycle PlanWhy is the system being developed?Why is the system being developed?

Create a program that satisfy the Create a program that satisfy the customers’ need of close customers’ need of close connectivityconnectivity

Create sense of communityCreate sense of community NetworkingNetworking

Page 20: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Lifecycle PlanLifecycle Plan MilestonesMilestones

Wk 1 – 2 (April 7th - May 3rd): Research & Wk 1 – 2 (April 7th - May 3rd): Research & design ( writing LCO and LCA)design ( writing LCO and LCA)

Wk 3 (May 3rd – May 8th): Research on Wk 3 (May 3rd – May 8th): Research on rating questions, Database constructionsrating questions, Database constructions

Wk 4 – 5 (May 9th – May 22nd): Build Wk 4 – 5 (May 9th – May 22nd): Build server & client app (concurrently)/ server & client app (concurrently)/ Database IntegratingDatabase Integrating

Wk 6 (May 23rd – 26th): Product Wk 6 (May 23rd – 26th): Product Integration (include: testing & debug), Integration (include: testing & debug), Usage Doc. (README, etc)Usage Doc. (README, etc)

Wk 7 (May 26th – June 2nd): Testing & Wk 7 (May 26th – June 2nd): Testing & Debug, Prepare for final releaseDebug, Prepare for final release

Page 21: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Lifecycle PlanLifecycle PlanWho will do it?Who will do it?

Database constructions: Database constructions: • Design & build databaseDesign & build database• Team members: Hendi, Arifin, Ie Ling, AleksandrTeam members: Hendi, Arifin, Ie Ling, Aleksandr

Research on rating questions:Research on rating questions:• Search online for cosmopolitan style questions for rating users.Search online for cosmopolitan style questions for rating users.• Set rating criteria for usersSet rating criteria for users• Team member: ItasariTeam member: Itasari

Client (user) AppClient (user) App• Build UI for user interaction with programBuild UI for user interaction with program• Connect to server through server’s web services to carry out the functions in the Connect to server through server’s web services to carry out the functions in the

program.program.• Team members: Aleksandr, ArifinTeam members: Aleksandr, Arifin

Server AppServer App• Build web services that connect with client app and perform operations on Build web services that connect with client app and perform operations on

databases & user data according to request from client app.databases & user data according to request from client app.• Four parts:Four parts:

Matching Comparator -> Team member: HendiMatching Comparator -> Team member: Hendi Rating Calculator -> Team member: ItaRating Calculator -> Team member: Ita Location Identifier -> Team member: Hendi, Ie Ming, ItaLocation Identifier -> Team member: Hendi, Ie Ming, Ita Information Gateway: Retrieval and Storage -> Team member: Ie MingInformation Gateway: Retrieval and Storage -> Team member: Ie Ming

Page 22: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Feasibility RationaleFeasibility Rationale

Resources & FacilitiesResources & Facilities• All required resources are available & fulfilled:All required resources are available & fulfilled:

2 PDAs 2 PDAs DatabaseDatabase Software: C# & SQL ServerSoftware: C# & SQL Server

Program RisksProgram Risks• Seems small/manageable:Seems small/manageable:

4 members experienced in databases and dealt with 4 members experienced in databases and dealt with web services beforeweb services before

Architectures (both client/server) are clearly laid out. Architectures (both client/server) are clearly laid out. Seems reasonable for completion in four weeks time.Seems reasonable for completion in four weeks time.

.Net provides easy implementation of UI..Net provides easy implementation of UI.

Page 23: EMatchBay Hendi Chandi Aleksandr Lyamtsev Arifin Tahir Ie Ling Tjam Itasari Wiryanto.

Feasibility RationaleFeasibility Rationale(continued)(continued)

Other Risks:Other Risks:• Unforeseen circumstances – may not be Unforeseen circumstances – may not be

able to finish program in 4 weeks.able to finish program in 4 weeks.• Not enough time to optimize the Not enough time to optimize the

program – efficiency problemprogram – efficiency problem• Cost of mobile devices still high, but Cost of mobile devices still high, but

expected to go down in futureexpected to go down in future• Users may not like the programUsers may not like the program


Recommended