Technical Requirements



CENG 491

SENIOR PROJECT

Requirement Analysis Report

Macro-Hard

PROJECT TITLE: Fizan

COMPANY STAFF: Uğur Altun 1448356

Kürşat Aksakallı 1448315

Kemal Beşkardeşler 1448455

Ömer Faruk Çelik 1448547

Index

1 Introduction ………………………………………………. 4

2 Project Description ……………………………………… 5

3 User Interface ……………………………………………. 6

3.1 Main Menu ………………………………………... 6

3.1.1 Switching to the Map View ……………. 6

3.1.2 Managing Facebook Album …………… 6

3.1.3 Organizing Events ………………………. 7

3.1.4 Publishing Advertisement …………….. 7

3.1.5 Changing Settings of the Application . 8

3.1.6 Viewing Log Information ………………. 8

3.2 Map View Menu ………………………………….. 9

3.2.1 Interactions between People ………….. 9

3.2.2 Interactions between Events ………… 10

3.2.3 Interactions between Advertisements 10

4. Use Case Diagram …………………………………….. 11

5. Technical Requirements …………………………….. 11

5.1 Software Requirements ………………………. 11

5.1.1 Web Server ……………………………… 11

5.1.2 DBMS …………………………………….. 12

5.1.3 Development …………………………… 12

5.1.4 Gtalk (Google Talk) ……………………. 13

5.1.5 XMPP …………………………………….. 13

5.1.6 Android OS ……………………………... 14

5.1.7 Eclipse IDE ……………………………… 14

5.2 Hardware Requirements ……………………… 15

5.2.1 Web Server ……………………………… 15

5.2.2 Database Server ……………………….. 15

5.2.3 Client Side ………………………………. 16

5.2.4 Developer Requirements …………….. 16

5.2.5 Modern 3G Phone ……………………... 16

6. Schedule ………………………………………………... 17

7. Appendix ……………………………………………….. 17

7.1 References 17

Introduction

Nowadays, cell-phones are the most important communication tool in our daily life. But using cell-phone for just communication is a kind of narrow usage. With developing technology cell-phones started to be used with other technological devices like computer and network services

Cell-phones give service for several purposes. We communicate using them, and we use them for entertainment, we use some office programs and Java applets. Using communication skills and Java in the phones, our phones will have some big skills. Certainly, computers have big capacity. Using computer, there are so many things those will make our life easier. Computers can connect to internet, control embedded systems etc. If we connect our phones with computers we can gain power of the PCs in everywhere.

However, Today’s people almost live with cell-phones. They take cell-phones with them where they go. So the application has to take advantage of this situation. With current technology in cell-phone industry, location data can be taken from the cell-phones or GSM services that being used in cell-phone.

Getting location data can be very useful. With this data we can keep the records of the answers to the question “Where I was?” This is simple and basic usage of location data in cell-phones but, if you will be able to get the information of other cell-phone user’s location it would be more useful. Furthermore, if the idea widen by applying to all of the connections of the cell-phone user, it would be attractive.

Nowadays, almost all of the internet users use the services like Facebook or msn. Common property of these applications is user reach some his/her friends via this tools. They can add or delete contacts or they can appear offline etc. And these kinds of services will be social life of the some of the internet user. Usage of this idea in the cell-phones would be attractive.

2. Project Description

As been discussed earlier project is based on Location Service (supplied from cell-phones own GPS (Global Positioning System) feature or GSM company e.g. Turkcell). But the project will not be only Location Service application. There will be parts of the project which is just Location Service related, but other parts of the project depend on Location Service and variety of applications.

Other base of the project is connecting cell-phones with the social networks such as Facebook. User can directly communicate with these kinds of services via his/her cell-phone. He/She will able to get information from these kinds of social networks and he/she also will be able to send information to social network services.

Application will also have web part. In the project’s web part, almost all of the features that cell-phones side has in the project will be added to web-part. In other words, the features convenient for just web-part will be implemented in only web-part (e.g. finding lost cell-phone will be implemented in only web-part) and features convenient for just cell-phone side will be implemented in only cell-phone side. All the features except similar to preceding ones, will be done for both of the environments. So, even if user doesn’t have cell-phone near him/her, he/she will be able to use the application via internet.

Furthermore, application can be use for commercial purposes; companies will be able to make advertisement by consulting the supplier GSM Company then, advertisement will be reachable for users.

Moreover, in the project there will be lots of modes which provide usability. To clarify, user will be able to choose the parts of the application to use; he/she will be able to select the modes of the application. For example, if user does not enjoy too much capability he/she can turn off some of the parts of the application or if user has problems with battery, he/she will be able to restrict the running of the application.

This project will combine different popular areas. Main goal is bringing together lots of technology, combine them, and make them work together. Although project will have lots of different technology, it will be handy.

3. User Interface

3.1 Main Menu

This screen is the start-up of the application from which the user will be directed to several capabilities of the application.

The main functionalities of this menu are as follows:

• Switching to the map view

• Managing facebook album

• Organizing events

• Publishing advertisement

• Changing settings of the application

• Viewing log information

3.1.1 Switching to the Map View

The user will be directed to the map screen where viewing other friends, restaurants, etc. in range or viewing other people’s position, whose permission has been got to be able to do that and who may not be in range, especially child’s position in child care mode, can be done. What the user can do in Map View is described in section 3.2, “Map View Menu”.

3.1.2 Managing Facebook Album

Since many people use his/her facebook account for storing and publishing albums, of course beside the other properties of it, we add a feature of adding and deleting photos to a specified album in facebook account. Here, user will be able to upload a new photo, view those photos uploaded to that album and delete them.

3.1.3 Organizing Events

The user will be able to organize an event and give some properties to that event, which contains place, time start/finish, description and friend filtering. To be precise, a described event works like this:

• First, set time to activate and deactivate/destroy event and description of it.

• Then choose friends to notify. This notification will be place-based, that is, chosen friends will be notified when they come near to that event’s place. Also, even if they are far from that position, it will be possible for them to see events when they manually call displaying events in given range.

• In order to set place, user will be directed to the Map View Menu and place will be given from the map.

Described events will also be updateable. If this is the case, notifications will be repeated accordingly.

3.1.4 Publishing Advertisement

Advertisements will be able to be published in “Map View”. Anyone who wants to publish advertisement has to get account from the application’s owners. There will be a link to have an account to publish advertisement. Entering required information in that website, user will be able to publish advertisements according to the constraints they have chosen in registration. In registration user has to give the type of the advertisement like café/restaurant, cinema, etc. So that, other users who want to see that kind of advertisement will be able to filter advertisements in his map. For example, when a user searches for a restaurant around, he/she will be able to choose just “restaurants” checkbox from advertisement types list in his/her map view screen instead of viewing all advertisements.

3.1.5 Changing Settings of the Application

Various settings can be made in the application. These settings can be listed as:

• Online Status

• Reload Interval

• Default Advertisement Types

• Load Manually/Load Automatically

• Date Expiration for Deleting Log

• Mode, which is for giving information that who uses application for what purpose? Parent mode, simple mode and full feature mode are modes. Using simple mode, you can learn simple acknowledgements, using full feature mode you can use every feature of application. Parent mode has a password and to use it you know this password. If you know it, you can adjust as where user have been, or send message to a specific phone number when some area has left.

3.1.6 Viewing Log Information

Log information keeps everything you did. Using this opportunity, you can know where you were, when, whom you met. You can search for giving your date, and you can learn where you were. It was be helpful to remember where you were or using parent mode you can know your child’s location.

3.2 Map View Menu

When a user enters the map view feature from main menu, he/she will be able to see a map of the area around that place. Basically, GPS content will appear in this map. On this map, the followings will be seen:

• Online friends

• People, besides friends, whom the user have permission to see whatever the condition of them is (child care mode)

• Events

• Advertisements

The interactions between these and the user will be provided by a pop-up menu. This pop-up menu will act different for different interactions. These are summarized in subsections.

3.2.1 Interactions between People

When the user wants to communicate between his/her friends or other people having permission of or see some information of these people, clicking on that person’s icon will return a pop-up menu with following properties:

• See personal information such as

o Avatars

o Status of that person

o What he/she is doing at that moment

• Start instant messaging with this person

• See Facebook photo album

• Fast call that person

• Share files

3.2.2 Interactions between Events

Clicking on an event will show event properties in the pop-up menu. Event properties will contain friends’ names planning to join that event, beside the place, time, and etc. information. User will be able to set himself/herself as planning to join that event.

If the user is the owner of the event, he/she will also be able to update it.

3.2.3 Interactions between Advertisements

Users will be able to filter advertisements by checking checkboxes from a list of advertisement types. After doing so, corresponding advertisements will show up in the map. Clicking one of them will show advertisement properties and distance information between the user and to that advertisement point.

Publishing advertisements are returned feedback from users whether they are appropriate or not, contain correct information or not, etc. If a user has such a negative thought, he/she will be able to report that advertiser using “report” link. After investigations of the situation, registration of the advertiser may be dropped by the administrations.

4. Use Case Diagram

[pic]

5. Technical Requirements

5.1 Software Requirements

5.1.1 Web Server: For our project, we need web server. This web server, serves to users as saving records, interpreting user datas, remote managing using web site (such as parent, finding lost phones or persons, using account without any phone). Apache serves all. It can work in Windows and Linux machines and can work with PHP. So it is our choice.

5.1.2 DBMS: We will use MySQL in our project as database management system. It is very powerful and useful. It can work with PHP.

5.1.3 Development: In the development phase, we will use Eclipse as development platform. Because we generally write Java codes. To write Android application, we must use Java. Therefore Android support Eclipse and advise it. Turkcell API’s are also can be used in Eclipse. To write PHP codes we will use Notepad++ with PHP plug-in. For web servises we will use Visual Studio. When developing project, we will also use Windows XP operating system. Microsoft Office for documentation. For client side user should have an Linux based or Windows based computer. Any web browser can be used (Mozilla Firefox, Internet Explorer, Opera etc.). This will be sufficient for remote using. For phone use, You must have a good phone such as iPhone or another good working 3G phone. This phone must have an operating system Android. For location services phone must have GPS system.

5.1.4 Gtalk (Google Talk): We will use Gtalk in our project. There are some reasons to use it. It is an Google application and Android is an Google construction. You can use Gtalk on the web. So it is very useful because you can use embedded web pages in Android, if it is unsuccessful to run directly an Android program. The first beta version of this application was released at August 24 ,2005. Messaging using google Talk, uses a protocol named as XMPP. VoIP in Google Talk is based around the Jingle protocol. The technology used within Google server network is not known.

[pic]

A view from Google talk.

The Google Talk client is currently only available for Windows (2000, XP, 2003, Vista). Mobile clients are also available, this is very important for us; these mobiles are iPhone, Blackberry, T-Mobile G1. With the release of Google Talk gadget it can be moved to some environments. Google has announced that a major goal of the Google Talk service is interoperability. Google Talk uses XMPP to provide real-time extensible messaging and presence events, including offline messaging and voice mailing. On January 17, 2006, Google enabled server-to-server communications, federating itself with any Jabber server that supports the dial back protocol.

Conservation logs are automatically saved to Google account. This allows users to see their past conservations. Google Talk also use encryption when communicating. It allows offline messaging. Google Talk provides XMPP protocols which are supported most of the modern phones. [R1]

5.1.5 XMPP:

[pic]

Extensible Messaging and Presence Protocol (XMPP) is an open XML-inspired protocol, which is for near- real-time communicating. It remains the core of the Jabber protocol technology. It is constructed to be developed in the future. Unlike other protocols, it has open standards. Like email, everyone, having a domain and suitable internet connection, can communicate with this protocol. These implementations are open and free. XMPP can use other protocols to work, such as email and SMS. Google Talk uses these protocols and also in Android there are libraries to use it.

[R2]

5.1.6 Android OS: It is a mobile operating system based on Linux Kernel. Android application can be written using Java language. Android has its own libraries to develop. It has some features.

- You can use OpenGL ES 1.0 libraries.

- It supports SQLite for databases.

- It supports wide variety of connectivity technologies. (Bluetooth, WI-Fi etc.)

- SMS and MMS properties.

- Embedded web browser which can be run in all Android programs.

- Most of Java libraries are supported.

- It will support advanced media support such as MPEG-4, H.264, MP3, AAC, OGG, AMR, JPEG, PNG, GIF.

- Android is fully capable of utilizing video/still cameras,

touch screens, GPS, accelerometers, and accelerated 3D graphics.

- It has a development environment for Eclipse IDE.

- Using contents, other applications data’s and core Android units can be used. For example, all phone lists can be got using contents.

[R3] [R4]

5.1.7 Eclipse IDE: Using Eclipse we can develop some languages. Java is one of these languages. Eclipse has an IDE to develop Android application. With these IDE it possible to run application as in the real phone. Connection speed, and other features can be adjusted as real phone. Using Eclipse it is possible to use Turkcell’s API.

[pic]

A view from Eclipse IDE.

5.2 Hardware Requirements

5.2.1 Web Server: We need a fast and reliable server. This machine will show high performence. For web server we will use a dual-core 2.6 Ghz, 2 Gb DDR-2 ram with at least 800 Mhz frequency. Its capacity is not very important. Standart capacity will be sufficient. Because we think as much as user for our program. This server must have a very high bandwith or maybe more servers. Any IBM based computer will be useful, its trade is not important. For these reasons, any dedicated web server is seeming as mandatory. It must have also very high-speed connection. This requirement is for project not for user.

5.2.2 Database Server: Since our project data usage, our data base must have at least 250 Gb capacity. This capacity is not so big, but database queries will waste CPU. If we have much users, our queries will also hard to process.

5.2.3 Client Side: At the client side for users any working computer with an internet is sufficient.

5.2.4 Developer Requirements: To develop our program, project developers must have at least 1.6 Ghz Intel CPU, 512 Mb DDR2 Ram, Windows based PC. 20 Gb hard-drive will be sufficient. iPhone or another 3G phone will be useful. But there are simulators which copy of the any phone with Android OS. So it is not an mandatory.

5.2.5 Modern 3G Phone:

[pic]

A phone iPhone 3G

A phone is the mandatory equipment for the user side. All the users having phones can not use our program. iPhone with Android will be a good choice. Other 3G phones with high features could run our program.

6. Schedule

- Understanding Project 1.10.2008

- Milestone: Project Proposal Report : 16.10.2008

- Survey about 3G : 23.10.2008

- Survey about Android : 23.10.2008

- Requirement Analysis : 2.11.2008

- Use case diagrams : 8.11.2008

- Milestone: Requirement Analysis Report : 14.11.2008

- Trying Android and Eclipse: 20.11.2008

- Design : 23.11.2008

- Milestone: Examining Turkcell APIs 25.11.2008

- Milestone: Surveying for Maps : 27.11.2008

- Web embedding into Android Application : 30.11.2008

- Review and Interface Design: 30.11.2008

- Milestone: Initial Design Report: 1.12.2008

- Redesigning and Progress Analysis : 5.1.2009

- Milestone: Final Design Report : 10.1.2009

7. Appendix

7.1 References

[R1] (controlled in 2008-11-13)

[R2] (controlled in 2008-11-13)

[R3] (controlled in 2008-11-13)

[R4] (controlled in 2008-11-13)

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download