Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.

CS408 COMPUTER SCIENCE CAPSTONE PROJECT

Software Requirement Specification
For Grafriend v1 (GFv1)
Team Golf
20010326 20020273 20076184 Jongil Yoon Hwayong Shin Benjamin Longhi
2008-03-02

Abstract: This document presents a Software Requirement Specification of the GFv1 project which is initiated by the Team Golf, CS408 Computer Science Capstone Project, KAIST

Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.

DOCUMENT HISTORY
Issue 1 2 3 Date 2008.02.29 2008.03.02 2008.03.02 Details 1st draft Contents revision Added appendix A tag feasibility Version 1.0 1.1 1.2 Author Hwayong Shin Benjamin Longhi Jongil Yoon

SRS v1.2

2

March 2, 2008

..........................2............................................................... 5 1..........................3 User use case: UC-03-VG-Visualize Preference Graph ............................com For evaluation only...... 17 3..... 20 APPENDIX C FRIEND MATCHING ALGORITHM (DRAFT) ..................................................1 Crawler use case: UC-01-CR-Crawling ..............................3.................................................................................2.............................................1 User interfaces ..................... 13 3..4 Constraints ...........................3 User characteristics ...........................1....................................................5 Overview of Document ........................... 5 1....... 18 3........ 13 3......1.......2 Functional Requirements .................................. 16 3.....foxitsoftware........................................................ 10 2.............................................. 2008 ......................3....................................3.......3 Non-functional requirements .............................................. 12 3 Requirements Specification .............................. 18 3............................................................ 13 3............................1............................................................................... 5 1............................................1 Performance ..... 16 3..........................................................................................................................2 Security ....................................................2 3 March 2................. 18 3............................................. 15 3.2 Functional Requirements Specification...............................................1 Purpose ...........................................1 System Environment ..........3 Main ......................... 8 2.........................................................................3 UC-03-VG-Visualize Preference Graph .........................1......................... 11 2....................................................2.... 9 2.............3 Extendibility ...............................................................................................Generated by Foxit PDF Creator © Foxit Software http://www.................................... 7 2..............4 User use case: UC-04-MF-Match Friends ..................... 7 2................................ 16 3............................................... 14 3.......................... 18 APPENDIX A BLOG TAG FEASIBILITY ................................................................................................................. 19 APPENDIX B USER PREFERENCE GRAPH GENERATING ALGORITHM (DRAFT) ....................................................1 External interface requirements ...........................2 User use case: UC-02-RB-Register Blog .. 6 1....................1.1.............................................................................................................................2 Sign-up ...............................1 Sign-in ....................................................2..............................2...........................2.................................................3 Glossary .....................................4 My Page ....................................... 18 3........... 17 3.........................................2 Scope of Project .......................... 4 1 Introduction................................................................... 12 2...................................................................... 6 2 Overall Description ................................................1 UC-01-CR-Crawling .....................4 UC-04-MF-Match Friends ................... 8 2.........................................2...............................................................1.......... 21 SRS v1.............................1...............4 References .................................. 3 LIST OF FIGURES AND TABLES .........5 Assumptions and dependencies ................................. TABLE OF CONTENTS DOCUMENT HISTORY ...............2 UC-02-RB-Register Blog .................2........................................................... 13 3... 6 1.....................................1........ 2 TABLE OF CONTENTS ............................... 11 2....................................

............................................................ 8 Figure 3 – Preference Graph Generation Process ..............................................................................foxitsoftware........ 9 Figure 6 – User use case: Visualize Preference Graph................................................................................................................... 10 Figure 7 – User use case: Match Friends .......................................................................................................... 14 Figure 10 – User Interface: Main .. ..... 22 SRS v1.................. 21 Figure 15 .............................. 7 Figure 2 – Use case diagram.........................com Friend Matching Screenshot ... 9 Figure 5 – User use case: Register Blog .............Orkut......................................................Generated by Foxit PDF Creator © Foxit Software http://www.......................... 15 Figure 11 – User Interface: My Page ....com For evaluation only...........An example of one-dimensional keywords matching .......... 2008 ... 8 Table 1 – Use Case List .................An example of multi-dimensional weighted graph matching.......................................................................... 8 Figure 4 – Crawler use case: Crawling ........................................................................................................................... LIST OF FIGURES AND TABLES Figure 1 – System Environment .......................................................................................................... 16 Figure 12 .......................................................................................2 4 March 2..... 13 Figure 9 – User Interface: Sign-up............................. 21 Figure 14 ................... 11 Figure 8 – User Interface: Sign-in .................................................................................................................................................. 20 Figure 13 ................An example of generating graph..........................

2 Scope of Project The main target user of this software system will be a young (17~30yr) social networker who spends lots of time to blogging or social networking.2 5 March 2. 1. Should they spend chatting-time to know each other for becoming a friend? Unfortunately. This software provides a totally new type of friend matching method using user preference graph..foxitsoftware.Generated by Foxit PDF Creator © Foxit Software http://www. this document will be mainly focused on the core features of the software and the following additional features will not be considered: 1) Maintaining friend feature – send message. see Appendix A Blog Tag Feasibility. It claims that blog tags are good enough to represent user’s preferences. yes. Nowadays bloggers can make thousands of online friends easily via their social networking. SRS v1. It will explain the purpose and the different features of the system.1 Purpose The purpose of this document is to present a detailed description of the Grafriend v1 (GFv1) project. what the system will do. This document is intended for both the stakeholders and the developers of the system. 1 Introduction 1. 2) Match users through preference graph matching algorithm as shown in Appendix C Friend Matching Algorithm (draft). However their quality is not guaranteed. 2008 . The information used to create the graph is user’s blog tag. Even though. etc. sure. Indeed after some research. Since this version is the 1st release. there are some rock-band club website or something. This online friend has similarity with me? Not.com For evaluation only. the constraints under which it must operate and how the system will react to external stimuli. The algorithm which generates the Preference graph is shown in Appendix B User Preference Graph Generating Algorithm (draft). This is the process: 1) Generate user’s preference graph automatically. the interfaces of the system. it just can guarantee one or two keywords similarity which is not enough. chatting.

Name of this project. What a user like. think.Generated by Foxit PDF Creator © Foxit Software http://www.msu.com For evaluation only. The third section Requirements Specification of this document is mainly written for the developers and describes in technical terms the details of the functionality of the product. www. taste. 2004 1. A document that completely describes all of the functions of a proposed system and the constraints under which it must operate. this document. Both sections of the document describe the entire software product.2 6 March 2.doc. 1. 2008 . IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements Specifications. Any person who use this software. but each parts are intended for different audiences and thus use different type of language.cse.5 Overview of Document The next section named as Overall Description of this document gives an overview of the functionality of the product. IEEE Computer Society. SRS Sample. 1998. Any person with an interest in the project who is not a developer. It describes the informal requirements and is used to establish a context for the technical requirements specification in the next chapter. For example. Graph + friend. (any person who has created account and logged-in GFv1) 1. SRS v1.3 Glossary Term Blog Tag (=Tag) Grafriend v1 GFv1 Preference Software Requirements Specification Stakeholder User Definition Additional information of the blog posting. is interested in.4 References IEEE.foxitsoftware. In GFv1. this is used as a preference data of one’s user.edu/~chengb/RE-491/Papers/SRSExample-webapp.

com For evaluation only.1 System Environment Blog Crawler GFv1 Preference Graph Visualizer Preference Graph Manager Friend Matching Engine User Figure 1 – System Environment GFv1 has two active actors. Preference Graph Manager generates and stores preference graph from the Blog.Generated by Foxit PDF Creator © Foxit Software http://www. 2 Overall Description 2. Preference Graph Visualizer actually draws graph. SRS v1. The User represents actual customer of this software. one cooperating system. 2008 .foxitsoftware. The User access the GFv1 system through the Internet. And Friend Matching Engine compare different graph to find out potential friend using their similar preferences.2 7 March 2. and one external system. The Crawler is an active module that activate GFv1 on every single certain time.

2. Generating preference graph is one of the most important use cases.2 Functional Requirements Specification Figure 2 – Use case diagram GFv1 consists of 4 use cases. Table 1 – Use Case List 2.foxitsoftware. See preference graph with visual effects. The User SRS v1. Naming convention is shown in below. Registers blog to be crawled.com For evaluation only.1 Crawler use case: UC-01-CR-Crawling Figure 3 – Preference Graph Generation Process The Preference Graph Generation Process state-transition diagram summarizes the use cases listed below.Generated by Foxit PDF Creator © Foxit Software http://www. 2008 .2.2 8 March 2. Match potential friends and list them. Use Case Code UC-01-CR UC-02-RB UC-03-VG UC-04-MF Name Crawling Register Blog Visualize Preference Graph Match Friends Description Crawls blog and generate/update preference graph.

Initial Step-By-Step Description 1. it is updated automatically by a timer polling mechanism done by the Crawler’s Crawling feature. registers blog and then preference graph is generated. 2.2.2 User use case: UC-02-RB-Register Blog Blog GFv1 Crawling Preference Graph Manager User Register Blog Figure 5 – User use case: Register Blog Brief Description The user enters a new or modifies his/her blog address.foxitsoftware. The Preference Graph Manager crawls blogs and generate/update the Preference Graph.com For evaluation only. so that the Preference Graph Manager generates his/her preference graph. the Crawler periodically crawls blog by polling method. Later on. SRS v1. 2008 . 2. When the User requests for Visualize Preference Graph then the graph is updated. and serviced to the User. Blog Crawler GFv1 Crawling Preference Graph Manager Figure 4 – Crawler use case: Crawling Brief Description To update Preference Graph. The Crawler requests Crawling to the Preference Graph Manager.2 9 March 2.Generated by Foxit PDF Creator © Foxit Software http://www.

the User has already signed-up. Do UC-01-CR-Crawling use case. it will not be mentioned in this chapter any more. it is obvious that the User has already signed-in the system.2 10 March 2. The User fills in the blog address and submits the form.3 User use case: UC-03-VG-Visualize Preference Graph Figure 6 – User use case: Visualize Preference Graph Brief Description The user requests anybody visualized preference graph. signed-in the GFv1 service and accessed the main page of the Preference Graph Manager. so that the user can know people’s preferences. 2.Generated by Foxit PDF Creator © Foxit Software http://www. registers 4. 2008 . Initial Step-By-Step Description Before this use case can be initiated. The User selects Register Blog. Before the user can request others visualized preference graph.com For evaluation only. The User selects Visualize Preference Graph with an identifier which is either his/her or SRS v1. Since sign-up and sign-in are general use cases. 3. The system verifies the information. 2. Initial Step-By-Step Description Before the user requests his/her visualized preference graph. 1. the User must know at least an identifier which can be obtained by the use case Match Friends.2. 1.foxitsoftware.

before the user requests his/her friends.2 11 March 2. 3. Do UC-01-Crawling use case.3 User characteristics This software is based on the blog tag. Before the user can request others visualized preference graph. So obviously the User should be both blog owner and tag user. the User must know at least an identifier which can be obtained by the use case Match Friends. 2. SRS v1.Generated by Foxit PDF Creator © Foxit Software http://www. 1. 2.foxitsoftware.4 User use case: UC-04-MF-Match Friends Figure 7 – User use case: Match Friends Brief Description The user requests his/her or other friends which have similar preferences. Friend Matching Engine gets graph information from the Preference Graph Manager and matches similar preference friends. Preference Graph Visualizer gets graph information from the Preference Graph Manager. 2. The User selects Match Friends with an identifier which is either his/her or others. And draw a preference graph. others.com For evaluation only. 2008 . Initial Step-By-Step Description Similar with use case Visualize Preference Graph. 2.2. it is obvious that the User has already signed-in the system.

foxitsoftware. every blog cannot be available in this software. 2.com will be supported. SRS v1. 2008 . So this system assumes that the Preference graph of the public blog is also public.com For evaluation only.5 Assumptions and dependencies In security point of view. 2. blog egloos. every public blogs are opened to public. It means any GFv1 user can see any others preference graph and friends list. In GFv1.Generated by Foxit PDF Creator © Foxit Software http://www.4 Constraints Since every single blog service has different way of tag parsing algorithm.2 12 March 2.

1.2 Sign-up.1.foxitsoftware.Generated by Foxit PDF Creator © Foxit Software http://www. l Sign-in button mouse left click: start sign-in process !’ go to 3.1.1. SRS v1.1 External interface requirements 3.com For evaluation only.1 Sign-in Figure 8 – User Interface: Sign-in User gets the permission through sign-in.1.1.3 main.1 User interfaces 3. Properties l ID textbox: user id l Password textbox: user password Events l Sign-up button mouse left click: go to 3.1. 3 Requirements Specification 3. 2008 .2 13 March 2.

1.3 main l Cancel button mouse left click: go to 3. Properties l ID textbox: user id l Password textbox: user password l Re-type Password textbox: user password l Blog URL: user’s blog URL Events l Create My Account button mouse left click: start sign-up process !’ UC-02-RBRegister Blog !’ go to 3.Generated by Foxit PDF Creator © Foxit Software http://www.1. SRS v1.1.com For evaluation only.2 Sign-up Figure 9 – User Interface: Sign-up Make an account. Related Use Cases: UC-02-RB-Register Blog.1.foxitsoftware. This id and password is used in the sign-in process. 2008 .1.1.2 14 March 2.1 Sign-in. 3.

1.1. UC-04-MF-Match Friend SRS v1.com For evaluation only. Related Use Cases: UC-03-VG-Visualize Preference Graph.Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware. 3.1.1 sign-in l History buttons mouse left click: UC-03-VG-Visualize Preference Graph / UC-04MF-Match Friend (selected user) l Go to this blog button mouse left click: link to the blog. 2008 .4 My Page l Sign-out button mouse left click: sign-out !’ go to 3.1.1.3 Main Figure 10 – User Interface: Main Events l My preference button mouse left click: UC-03-VG-Visualize Preference Graph / UC04-MF-Match Friend (current user’s) l My page button mouse left click: go to 3.1.2 15 March 2. l User’s friend buttons mouse left click: UC-03-VG-Visualize Preference Graph / UC04-MF-Match Friend (selected user) l Zoom slider mouse drag: zoom-in or zoom-out preference graph.

2008 Use Case Name XRef Trigger Precondition Basic Path SRS v1.2.3 User use case: UC-03-VG-Visualize Preference Graph The Crawler: by the timer.1 UC-01-CR-Crawling UC-01-CR-Crawling 2.com For evaluation only. 3. 3.1. The Crawler or the User requests crawling to the Preference Graph Manager. 16 March 2.1.1 Crawler use case: UC-01-CR-Crawling 2.1. 1.foxitsoftware.3 Main Related Use Cases: UC-02-RB-Register Blog.3 main l Cancel button mouse left click: go to 3.2.1. Exact timetick is not decided yet. Properties l Password textbox: user password l Re-type Password textbox: user password l Blog URL: user’s blog URL Events l Modify button mouse left click: start modify process !’ UC-02-RB-Register Blog !’ go to 3.1.2 .2 User use case: UC-02-RB-Register Blog 2.1. The User: by the UC-02-RB-Register Blog and UC-03-VGVisualize Preference Graph The User registered blog.2.2 Functional Requirements 3.2.Generated by Foxit PDF Creator © Foxit Software http://www.4 My Page Figure 11 – User Interface: My Page The User can modify information. periodically.

of course he/she knows his/her user id.com For evaluation only.1 UC-01-CR-Crawling process.1. If it is other’s graph. The User fills up the blog address. The Preference Graph Manager registers the blog.Generated by Foxit PDF Creator © Foxit Software http://www. Then store it to the database. The User has signed-in. The Preference Graph Manager crawls requested registered blog and parse tags from it and generate preference graph. Alternative Paths Postcondition Exception Paths The Preference Graph is generated / updated.2.2 Sign-up 3. user deleted the blog). 1. 2. The blog is registered Use Case Name XRef Trigger Precondition Basic Path Alternative Paths Postcondition Exception Paths Other 3.3 User use case: UC-03-VG-Visualize Preference Graph 3.3 UC-03-VG-Visualize Preference Graph Use Case Name XRef Trigger Precondition Basic Path UC-03-VG-Visualize Preference Graph 2. blog is limited to only egloos.2 UC-02-RB-Register Blog UC-02-RB-Register Blog 2.1 Crawler use case: UC-01-CR-Crawling 2. (default is user’s own graph) 2. The User knows the preference graph owner’s user id (if it is user him/herself. Do 3.1 Crawler use case: UC-01-CR-Crawling 2. 2.com Other 3. The blog may not be available (for example. The User has account. then show error message. (default is crawling every blog which is time consuming) 3.1.3 Main When the user sees the main page. 3. 17 March 2.2. 2008 SRS v1.2 . Preference Graph Visualizer draws the preference graph and it is displayed to the user.1.1.1 UC-01-CR-Crawling process.2.2. The User selects what graph they want to see.2. In this version.1. 3. Do 3.4 My Page When the User puts own blog address in signing-up or my page. The Crawler or the User define which blog is needed to be crawled. then this generating cannot be done.2.2 User use case: UC-02-RB-Register Blog 3. If the initiator is the User.1. then user should get user id from UC-04-MFMatch Friends) 1.2.2.foxitsoftware.

and how many number is displayed in one screen is not decided yet. If it is other’s graph.3 Non-functional requirements 3. SRS v1. l UC-04-MF-Match Friends should be done within up to 3 minutes.2 18 March 2.1. So. 3.4 User use case: UC-04-MF-Match Friends 3. (default is user’s own) 2. 3.1. similarity.2 Security The user can see any others preference graph and friends list.3 Extendibility This version only supports egloos.1 Performance l UC-03-VG-Visualize Preference Graph should be done within up to 3 minutes.com For evaluation only. how many number is returned to the User. The User knows the user id of owner of the friends (if it is user him/herself. then user should get user id from UC-04-MFMatch Friends) 1.4 Preference graph is shown to the user. Friend Matching engine returns friends list (it contains friend id.3 Main When the user sees the main page.3. Number of friend may be a lot. blog address) Preference graph is shown to the user.2. Alternative Paths Postcondition Exception Paths Other 3. The User has signed-in. 2008 . The User selects what friends list they want to see.com blog.Generated by Foxit PDF Creator © Foxit Software http://www. However.3. so that many blogs will be supported later. UC-04-MF-Match Friends Use Case Name XRef Trigger Precondition Basic Path UC-04-MF-Match Friends 2. Alternative Paths Postcondition Exception Paths Other 3. the architecture of software should be designed to be general.foxitsoftware. of course he/she knows his/her user id.2.3.

68 keywords are pretty good enough to express one’s preferences. however about 16% of tags are not unique. l egloos blog (www.03% 100% 30. * Semantic check: many similar tags were founded.03% 0. It will not be considered in this version.42% 1.30% 0.08% Redundant Tag 26~30 31~35 36~40 41~ total frequency 9 12 6 10 35995 Relative Frequency 0. but should be considered later version.com For evaluation only. For example wow.03% 0.464 tags are unique. The result is shown in below.2 19 March 2.Generated by Foxit PDF Creator © Foxit Software http://www.34% 0. SRS v1. * Active blog: attached at least one tag to recent 100 articles.12% 0.821 tags are attached to 744 active blogs.3 tags at average. It means each blog has 68. APPENDIX A BLOG TAG FEASIBILITY Blog Tag is widely used in these days.63% 14. actual blog service is analyzed.egloos. Redundant Tag 1 2-5 6-10 11~15 16~20 21~25 Frequency 30464 4832 482 108 42 30 Relative frequency 84. If those 50. world of warcraft and Æ@Æ° represent same game but it is counted as a different tag. 2008 .foxitsoftware. WOW. So redundancy check is performed. To show this. And it can be used as a friend matching algorithm. tag graph matching algorithm can work well.02% 0.com) is used as a sample.821 tags are all unique. l Number of blog : 744 active blog 50.

Generated by Foxit PDF Creator © Foxit Software http://www. APPENDIX B USER PREFERENCE GRAPH GENERATING ALGORITHM (DRAFT) Generate a weighted-graph based on the tag data. Figure 12 . SRS v1.An example of generating graph. 2008 .2 20 March 2.com For evaluation only.foxitsoftware.

An example of one-dimensional keywords matching * Orkut (SNS) case: user put the keywords under the certain category.com For evaluation only. Figure 14 .2 21 March 2.Generated by Foxit PDF Creator © Foxit Software http://www. 2008 . then match it based on the keywords.foxitsoftware. APPENDIX C FRIEND MATCHING ALGORITHM (DRAFT) • Current approaching: one-dimensional keywords matching Figure 13 .com Friend Matching Screenshot SRS v1.Orkut.

An example of multi-dimensional weighted graph matching SRS v1.com For evaluation only. • Grafriend approaching: two-dimensional weighted graph matching Two-dimensional weighted graph matching method gives more reasonable and n accurate result than one-dimensional keywords matching. We are n working on analyzing ‘graph matching’ algorithms. Algorithm to calculate exact similarity percentage is not yet designed.foxitsoftware.Generated by Foxit PDF Creator © Foxit Software http://www. 2008 . Figure 15 .2 22 March 2.