You are on page 1of 41

iStockFolio

by

Prashant Kr. Mittal Afsar Husain Raj Kumar Saroj Pulkit Agarwal

(0809110049) (0809110007) (0809110057) (0809110052)

Department of Computer Science & Engineering

J.S.S. Academy Of Technical Education Noida (U.P.)

November, 2011-2012

iStockFolio
by

Prashant Mittal Pulkit Agarwal Raj Kumar Saroj Afsar Husain

(0809110049) (0809110052) (0809110057) (0809110007)

Submitted to the Department of Computer Science & Engineering in partial fulfillment of the requirements for the degree of Bachelor of Technology in Computer Science & Engineering

J.S.S. Academy of Technical Education U.P. Technical University November, 2011-2012


2

DECLARATION

We hereby declare that this submission is our own work and that, to the best of our knowledge and belief, it contains no material previously published or written by another person nor material which to a substantial extent has been accepted for the award of any other degree or diploma of the university or other institute of higher learning, except where due acknowledgment has been made in the text.

Signature: Name :

Roll No.: Date :

Signature: Name :

Roll No.: Date

Signature: Name :

Roll No.: Date :

Signature: Name : 3

Roll No.: Date :

CERTIFICATE
4

This is to certify that Project Report entitled iStockFolio which is submitted by Prashant Mittal, Pulkit Agarwal, Raj Kumar Saroj, Afsar Husain in partial fulfillment of the requirement for the award of degree B. Tech. in Department of Computer Science & Engineering of U. P. Technical University, is a record of the candidate own work carried out by him under my/our supervision. The matter embodied in this thesis is original and has not been submitted for the award of any other degree.

Supervisor Date

Ms. Ankita Thakur 11/11/2011

ACKNOWLEDGEMENT
5

It gives us a great sense of pleasure to present the report of the B. Tech Project undertaken during B. Tech. Final Year. We owe special debt of gratitude to Ms. Ankita Thakur, Department of Computer Science & Engineering, J.S.S. Academy of Technical Education, Noida for his constant support and guidance throughout the course of our work. His sincerity, thoroughness and perseverance have been a constant source of inspiration for us. It is only his cognizant efforts that our endeavors have seen light of the day. We also take the opportunity to acknowledge the contribution of Professor Seema Shukla, Department of Computer Science & Engineering, J.S.S. Academy of Technical Education, Noida for his full support and assistance during the development of the project. We also do not like to miss the opportunity to acknowledge the contribution of all faculty members of the department for their kind assistance and cooperation during the development of our project. Last but not the least, we acknowledge our friends for their contribution in the completion of the project.

Signature: Name :

Roll No.: Date :

Signature: Name :

Roll No.: Date :

Signature: Name :

Roll No.: 6

Date

Signature: Name :

Roll No.: Date :

ABSTRACT
7

People who invest their money in stocks, wants to get them updated with current prices but due to their busy schedule they cant visit different sites. Surfing these sites through browser is time consuming & costly. The application iStockFolio help the users of android phone to get the daily changes of the stock rates without visiting different sites and it also saves the time and money. Using this application people can get the same updates of the stocks which they may get by visiting different sites but in less time. iStockFolio application needs less data and takes less time to display the updates of the stocks which are added by the user in the application. Through this application user easily can get the updates of the stock thus increasing the performance in stock market. The application is developed in java using android framework. It uses XML for UI and string definition. Thus using istockFolio will lead to faster and less costly stock updates even when the user is not accessing the applicati

TABLE OF CONTENTS
DECLARATION ................................................................................................... CERTIFICATE ..................................................................................................... ACKNOWLEDGEMENTS .................................................................................. ABSTRACT ........................................................................................................... LIST OF TABLES.................................................................................................. LIST OF FIGURES................................................................................................ LIST OF SYMBOLS .............................................................................................. LIST OF ABBREVIATIONS ................................................................................ CHAPTER 1 1.1. ................................................................................................................. 1.2. ................................................................................................................. CHAPTER 2 . ......................................................... 2.1. .................................................................................................................. 2.2. .................................................................................................................. 2.2.1. ......................................................................................................... 2.2.2. ......................................................................................................... 2.2.2.1. ................................................................................................ 2.2.2.2. .......................................................................................... 2.3. ................................................................................................................. CHAPTER 3 .......................................................... 3.1. ................................................................................................................ 3.2. ................................................................................................................ 9

Page

ii iii iv v vii viii ix x 1 5 8 13 15 17 19 20 21 22 23 30 36 39

CHAPTER 4 (CONCLUSIONS) ......................................................................... APPENDIX A ......................................................................................................... APPENDIX B ......................................................................................................... REFERENCES... ....................................................................................................

40 45 47 49

10

LIST OF TABLES

11

LIST OF FIGURES

12

LIST OF SYMBOLS

[x] _ _o

Integer value of x. Not Equal Belongs to Euro- A Currency Optical distance Optical thickness or optical half thickness

13

LIST OF ABBREVIATIONS

XML UI

Extensible Markup Language User Interface

14

CHAPTER 1 INTRODUCTION

During the early 1990s, stock exchange transactions were done using the phone through brokers. Using phones introduced many inconveniences due to long waiting times and busy lines. Moreover, the availability of the customer monitoring the stocks on the spot was a necessity to perform the transactions. Later on, and as internet use grew widely, stock markets users shifted to performing their transactions live online. Despite the fact that this shift has reduced the inconveniences of using the phone, the customer still had to be locked to his/her desk monitoring the stock market online to perform the transaction. iStockFolio has a friendly and easy to use graphical user interface that allows the users to create portfolios for the preferred stocks. The user can then retrieve the selected portfolio; hence, downloading only the few bytes constituting the required information. iStockFolio is based on client-server architecture. The server will provide all required stock information, such as live data and graphs.

1.1.

Problem Introduction

The problem statement can be defined as, what is the need of regularly visiting different website for stock details when one can see all the latest updates and change in the prices in ones phone (Android enabled) which is more systematic, user friendly, convenient and portable.

1.1.1. Motivation
15

Nowadays, and with the expansion of mobile technologies, customers can get a better alternative. Customers can have access to the internet anywhere anytime on the run using a GPRS connection. Since the customer is charged per Kbytes, the GPRS connection becomes very costly with every access to a website like Dubais Financial Market containing a plenty of data to download. Additionally, with a normal GRPS connection, if the customer is interested in stock information from different stock markets, he/she has no other choice but browsing through each website. This solution is costly, time consuming, inconvenient; in addition to this, the customers stocks of interest might be only few out of all the stocks available at the website. We are developing a mobile application to efficiently monitor and track stocks. The application consists of a client, placed on the mobile phone that connects to a server via GPRS or Wi-Fi. The server connects to the financial markets via the web, collects the latest stock information, filters out unnecessary information, and stores it in a local database.

1.1.2 Project Objective

To build up a user friendly android based application which provides the facility of selecting desired stocks and can display current updates of selected stocks. To achieve automatic synchronization of the application with the internet to fetch updated data. To notify user when a share price has crossed its bid value. To do updates with downloading small amount of data in lesser time without the need to download data from various sites in large amount. To display the current status of the share in a graph by using its current prices and earlier performance.

16

Thus the objectives of this application are to provide necessary information of desired stocks about their current prizes in less time, less cost and in a convenient way.

1.1.3 Scope of the Project

iStockFolio provides a friendly and easy to use graphical user interface that allows the users to create portfolios for the preferred stocks. The user can retrieve the selected portfolio hence, downloading only the few bytes constituting the required information. In turn, this process Reduces the connection costs significantly and Provides a faster screen refresh rate, as the number of bytes downloaded will be reduced.

Stocks Portfolio is a stock application that enables the user to access and manage information of any stock anywhere, anytime. Like any stock application on PC or on the Web, Stocks Portfolio lets the user: Add stocks (store stock symbols on a phone) Delete stock(s) (remove stock symbols) View live information of selected stocks, such as current high price, low price, volume, etc. User can also view the charts related to the stock symbols for which you want to see.

The application also provides currency convertor which can convert all the major currencies into one another thus providing the user can value stocks in their own currencies.

User can add bids for shares for which he/she wants to receive information.

17

The application will synchronize with the internet and fetch current values of the shares and will notify user accordingly.

1.1.4. Functional Requirements

This application is targeted towards Android platform. Application must synchronize with internet. Memory needed is 128MB RAM (min.); 256MB Flash External.
16-bit color or better, QVGA TFT LCD or larger of display required.

1.1.4. Non-functional Requirements

1.1.5. Optional Features

Currency Converter. Notification of updates occurring in the stocks rate. Application will be synchronized with the internet. 1.1.6. User interface priorities

1.1.7. Final Deliverables


18

Stock selection criteria is a strategy in which stock investor uses a systematic form of analysis to determine if a particular stock constitutes a good investment and should be added to their portfolio. So adding the stock and making portfolio is important for the investor but user can set alerts and receive a notification in the phone when a stock price hits a specified target defined by the user. This will maximize the total return and minimize the risk.

1.2.

Related Previous Work

Most of the available applications are meant for other operating systems. Some available for the ANDROID OS are for the US-only. Most famous application is Google Finance for android phones but it is for the US people. Applications available for Android OS are useful but they are for the earlier versions of OS.

None of the application notifies the user for the update of the stocks. There are so many options are available for the desktop users to use such applications but again investor has take their device with them which is not possible.

1.3. Organization of Report

The report is organized in the following manner:-

19

Chapter 1 describes brief description about the problem statement, the technologies that will be used for developing the application like JAVA, XML, Android OS and prototype.

Chapter 2 is the Software Requirement Specification. It includes all the requirements of the project like hardware requirements, software requirements and constraints. It also includes a set of use cases and sequence diagram which shows all the interactions user will have with the software.

Chapter 3 includes the process of defining the architecture, components, modules, interfaces and data for the system to satisfy specified requirements. Chapter 4 includes the conclusion and description of what is achieved till now. It contains the screenshots of developed modules and the agenda of next semester.

CHAPTER 2
20

Software Requirement Specification

General factors that affect the requirement of the project are the availability of internet, compatible version of android OS, mobile hardware requirements as enough RAM to support the application, resolution, ARM based chipset etc.

2.1 Product Perspective

The application iStockFolio is meant for the users who want to invest more and more in the stocks and dont have much time to keep eye on the changes occurring in the stock market. Functionality which make this product more useful as compared to other related products are such as there is an option of biding means that user can also bid on the selected products so that user can get the idea of changes on the stock market and user can get the notification of the changes occurring in the stocks and user can set the upper and lower limit of the stock on which they want the notification. So these extra features makes this application more valuable for the users and by these extra features users are going to have much interaction with the stock market and can increase their profit and percent of investment money. This application not only saves the time but also help the investors to get more knowledge of the different stocks in limited time.

2.1.2 Interfaces

21

This application is based on the GUI by which it interacts with the users. It runs on the Android OS. Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

2.1.3 Hardware Interfaces

The following requirements are necessary for the android based mobile.

Feature

Minimum Requirement ARM-based

Notes

Chipset

For the first release, Android is primarily targeted towards mobile handsets and portions of the platform, such as Dalvik VM graphics processing, currently assume an ARM architecture.

Memory

128 MB RAM; 256 MB Android can boot and run in configurations with Flash External less memory, but it isn't recommended. Mini or Micro SD Not necessary recommended. for basic bring up, but

Storage

Primary Display

QVGA TFT LCD or The current Android interface targets larger, 16-bit color or based HVGA resolution display with better interface no smaller than 2.8 inches However, smaller displays will suffice porting.

a toucha touchin size. for initial

2.1.4 Software Interfaces:

22

The sections below describe the system and software requirements for developing Android applications using the Android SDK. Supported Operating Systems
o o o

Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit) Mac OS X 10.5.8 or later (x86 only) Linux (tested on Ubuntu Linux, Lucid Lynx) GNU C Library (glibc) 2.7 or later is required. On Ubuntu Linux, version 8.04 or later is required. 64-bit distributions must be capable of running 32-bit applications. For information about how to add support for 32-bit applications, see the Ubuntu Linux installation notes

Supported Development Environments


Eclipse IDE

Eclipse 3.6 (helios) or greater Eclipse JDT plugin (included in most Eclipse IDE packages)
o o

Eclipse Classic (versions 3.5.1 and higher) Eclipse IDE for Java EE Developers

JDK 5 or JDK 6 (JRE alone is not sufficient) Android Development Tools plugin (recommended) Not compatible with Gnu Compiler for Java (gcj)

2.1.5 Communications Interfaces:

This is an online application which fetches data from internet. To run this application, an Android enabled phone is required. This application sends a HTTP request to predefined sites fetches data and show these data in a familiar way to the user.

23

2.1.6 Memory Constraints:

There is a need of 128 MB RAM; 256 MB Flash External. Android can boot and run in configurations with less memory, but it isn't recommended.

2.1.7 Operations

Specify the normal and special operations required by the user such as: (1) The various modes of operations in the user organization (2) Periods of interactive operations and periods of unattended operations (3) Data processing support functions (4) Backup and recovery operations

(Note: This is sometimes specified as part of the User Interfaces section.) If you separate this from the UI stuff earlier, then cover business process type stuff that would impact the design. For instance, if the company brings all their systems down at midnight for data backup that might impact the design. These are all the work tasks that impact the design of an application, but which might not be located in software.

2.1.8 Site Adaptation Requirements

In this section: (1) Define the requirements for any data or initialization sequences that are specific to a given site, mission, or operational mode (2) Specify the site or mission-related features that should be modified to adapt the software to a particular installation

24

If any modifications to the customers work area would be required by your system, then document that here. For instance, A 100Kw backup generator and 10000 BTU air conditioning system must be installed at the user site prior to software installation. This could also be software-specific like, New data tables created for this system must be installed on the companys existing DB server and populated prior to system activation. Any equipment the customer would need to buy or any software setup that needs to be done so that your system will install and operate correctly should be documented here.

2.2 Product Functions

Provide a summary of the major functions that the software will perform. Sometimes the function summary that is necessary for this part can be taken directly from the section of the higher-level specification (if one exists) that allocates particular functions to the software product.

For clarity: (1) (2) The functions should be organized in a way that makes the list of functions Textual or graphic methods can be used to show the different functions and their

understandable to the customer or to anyone else reading the document for the first time. relationships. Such a diagram is not intended to show a design of a product but simply shows the logical relationships among variables.

AH, Finally the real meat of section 2. This describes the functionality of the system in the language of the customer. What specifically does the system that will be designed have to do? Drawings are good, but remember this is a description of what the system needs to do, not how you are going to build it. (That comes in the design document).

2.3 User Characteristics


25

Describe those general characteristics of the intended users of the product including educational level, experience, and technical expertise. Do not state specific requirements but rather provide the reasons why certain specific requirements are later specified in section 3.

What is it about your potential user base that will impact the design? Their experience and comfort with technology will drive UI design. Other characteristics might actually influence internal design of the system.

2.4 Constraints

Provide a general description of any other items that will limit the developer's options. These can include:

(1) Regulatory policies (2) Hardware limitations (for example, signal timing requirements) (3) Interface to other applications (4) Parallel operation (5) Audit functions (6) Control functions (7) Higher-order language requirements (8) Signal handshake protocols (for example, XON-XOFF, ACK-NACK) (9) Reliability requirements (10) Criticality of the application (11) Safety and security considerations

26

This section captures non-functional requirements in the customers language. presentation of these will occur in section 3.

A more formal

2.5 Assumptions and Dependencies

List each of the factors that affect the requirements stated in the SRS. These factors are not design constraints on the software but are, rather, any changes to them that can affect the requirements in the SRS. For example, an assumption might be that a specific operating system would be available on the hardware designated for the software product. If, in fact, the operating system were not available, the SRS would then have to change accordingly.

This section is catch-all for everything else that might influence the design of the system and that did not fit in any of the categories above.

2.6 Apportioning of Requirements.

Identify requirements that may be delayed until future versions of the system. After you look at the project plan and hours available, you may realize that you just cannot get everything done. This section divides the requirements into different sections for development and delivery. Remember to check with the customer they should prioritize the requirements and decide what does and does not get done. This can also be useful if you are using an iterative life cycle model to specify which requirements will map to which interation.

27

2.7.

Use case

Use case Model

Figure 2.1 Use case model

28

2.7.3 Use Case Scenario (Following details can be provided for a use case scenario)

Use Case Element Use Case Number Application Use Case Description Primary Actor Precondition Trigger Basic Flow

Description ID to represent your use case What system or application does this pertain to

Use Case Name The name of your use case, keep it short and sweet Elaborate more on the name, in paragraph form. Who is the main actor that this use case represents What preconditions must be met before this use case can start What event triggers this use case The basic flow should be the events of the use case when everything is perfect; there are no errors, no exceptions. This is the "happy day scenario". The exceptions will be handled in the "Alternate Flows" section. Alternate Flows The most significant alternatives and exceptions

29

Sequence diagrams:

Figure 2.2 Sequence Diagram

Figure 2.3 Sequence Diagram

30

31

Chapter 3 System Design

System Design should include the following sections (Refer each figure or table in some text). Figure number should be provided below the figure and the table numbering should be provided above the table.

Architecture diagrams

STOCK DETAILS

APPLICATION
Notifications And Stock Details

HTTP REQUEST

WEB

SQLITE DATABASE

USER

Figure 3.1 3-Tier Architecture Diagram of iStockFolio

32

Class diagrams

Figure 3.2 Class Diagram example

3.1.Data Flow Diagram


Selected Option Select Option

USER
Details

iStockfolio Application

INTERNET
Details

Figure 3.3 Data Flow Diagram Level 0


33

Add/ Delete Stocks

Stock Name DB

WEB

View Stock Details

Stock Name DB

User
Add Stock Bid

WEB

Stock Ticker DB

WEB

Convert Currency

Exchange Rate

DB

Figure 3.4 Data Flow Diagram Level 1

3.2.Activity Diagram

34

Figure 3.4 Activity Diagram example

ER Diagrams Database schema diagrams

35

CHAPTER 4 Conclusion

Mention in a paragraph what you have achieved in last six months.

Should clearly state the agenda for the next semester (by means of PERT chart).

36

37

38

39

Appendix
If there is material that should be in the project report but which would break up the flow or bore the reader unbearably, include it as an appendix. Some things which are typically included in appendices are: important and original computer programs, data files that are too large to be represented simply in the results chapters, pictures or diagrams of results which are not important enough to keep in the main text. Thus in the appendix, one may include 1. All data used in the report 2. Reference data/materials not easily available 3. Tables (where more than 1-2 pages) 4. Calculations (where more than 1-2 pages) 5. All key articles 6. List of all additional resource materials 7. List of equipment used for an experiment or details of complicated procedures.
8. In case of more than one appendix , they should be numbered as Appendix A, Appendix B etc

40

REFERENCES

1. 2. 3.

Merier Reto, Wrox Professional Android 2 Application Development, New York, 2005. Wallace Jackson, Android Apps for Absolute Beginners, Appress, March 2011 Android Developer Official Forum, Development Guide, December 2005,

http://developer.android.com/guide/index.html
4.

Android

Google

Group,

Android

Developers:,

December

2005,

http://groups.google.com/group/android-developers

41