You are on page 1of 112

Develop a mobile application for stock exchange monitoring using J2ME.

Page |i

Contents CHAPTER 1: Stock Exchange ........................................................................................ 1 1.0 INTRODUCTION ....................................................................................................... 1 1.1 Stock Quotes ............................................................................................................. 2 CHAPTER 2: GPRS ........................................................................................................ 4 2.0 INTRODUCTION ....................................................................................................... 4 2.1 GPRS Network .......................................................................................................... 4 2.2 GPRS Technology..................................................................................................... 5 2.2.1 GPRS Working Method .......................................................................................... 5 2.2.2 Technology used in GPRS ..................................................................................... 6 2.2.3 Implementation of GPRS . ...................................................................................... 6 2.3 GPRS terminals......................................................................................................... 7 2.4 GPRS benefits........................................................................................................... 7 2.5 GPRS Limitations ...................................................................................................... 8 CHAPTER 3: Mobile application Development Methodology .......................................... 9 3.1 The Challenges of Mobile Application Development ................................................. 9 3.2 Mobile Design and Development Best Practices ..................................................... 10 3.2.1 Design for Usability .............................................................................................. 10 3.2.2 Get the Architecture and Design Right ................................................................. 11 CHAPTER 4: J2ME ....................................................................................................... 12 4.1 Introduction ............................................................................................................. 12 4.2 J2ME Technology.................................................................................................... 13 4.3 J2ME Configurations ............................................................................................... 14 4.3.1 CLDC ................................................................................................................... 14 4.3.2 CDC ..................................................................................................................... 15 4.4 J2ME Profiles .......................................................................................................... 15 4.4.1 Mobile Information Device Profile (MIDP) ............................................................ 16 4.4.2 Foundation Profile ................................................................................................ 16 4.5 Virtual Machines (VM) ............................................................................................. 16

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | ii

4.6 Conclusion .............................................................................................................. 16 CHAPTER 4: Servlet ..................................................................................................... 17 5.1 Introduction ............................................................................................................. 17 5.2 JAVA Servlet Technology ........................................................................................ 17 5.3 JAVA Servlet working method ................................................................................. 18 5.4 Stock Data Sources................................................................................................. 19 5.5 Downloading Yahoo Finance Stock Data ................................................................ 19 CHAPTER 6: Fact finding methods for requirement gathering ...................................... 22 6.1 Introduction ............................................................................................................. 22 6.2 Various Fact Finding Methods ................................................................................. 22 6.2.2 Questionnaire ....................................................................................................... 22 6.3 Proposed System Questionnaire and Its analysis ................................................... 23 6.4 Questionnaire Result Analysis ................................................................................ 30 6.5 Conclusion .............................................................................................................. 30 Chapter 7: Functional and non functional requirements of the system .......................... 31 7.1 Introduction ............................................................................................................. 31 7.2 Hardware Requirements ......................................................................................... 31 7.3 Software Requirements ........................................................................................... 31 7.4 User Requirements ................................................................................................. 32 7.4.1 Functional Requirements ..................................................................................... 32 7.4.2 Non-Functional Requirements .............................................................................. 33 7.4 Conclusions ............................................................................................................. 33 Chapter 8: Selection of Suitable Tools and Technique for System Development ......... 34 8.1 Introduction ............................................................................................................. 34 8.2 Software Development Life Cycle ........................................................................... 34 8.3 Prototyping .............................................................................................................. 36 8.4 Development Tools ................................................................................................. 36 8.4.1 Programming Language ....................................................................................... 36 8.4.1.1 VB .NET ............................................................................................................ 37 8.4.1.2 C++ ................................................................................................................... 37

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | iii

8.4.1.3 JAVA ................................................................................................................. 37 8.4.1.3.1 Java Properties .............................................................................................. 38 8.4.1.3.2 Java Technology in Small and Mobile Devices .............................................. 38 8.4.1.3.3 J2ME .............................................................................................................. 39 8.4.1.4 Comparison of Programming Tools ................................................................... 40 8.4.2 Database .............................................................................................................. 41 8.4.3 Support Tools ....................................................................................................... 42 8.5 Conclusion .............................................................................................................. 42 CHAPTER 9: System Design ........................................................................................ 43 9.0 Introduction ............................................................................................................. 43 9.1 Unified Modeling Language (UML) .......................................................................... 43 9.1.1 Use Case Diagram ............................................................................................... 43 9.1.1.1 Use Case Description ........................................................................................ 44 9.1.2 UML Activity Diagram ........................................................................................... 46 9.1.3 UML Sequence Diagram ...................................................................................... 48 9.1.4 UML Class Diagram ............................................................................................. 51 9.2 Functional Decomposition Diagram......................................................................... 53 9.3 Context Diagram ..................................................................................................... 54 CHAPTER 10: SYSTEM DESIGN AND INTERFACE ................................................... 55 10.1 System Design ...................................................................................................... 55 10.1.1 Server Side Design ............................................................................................ 55 10.1.2 Stock information collection ................................................................................ 55 10.1.3 Client Side Design .............................................................................................. 55 10.2 Interface Design .................................................................................................... 56 10.2.1 Main Menu Interface ........................................................................................... 57 10.2.2 Add New Stock Interface .................................................................................... 57 10.2.3 View Stock Information Interface ........................................................................ 58 10.2.4 Delete Stock Interface ........................................................................................ 59 10.3 Conclusion ............................................................................................................ 59

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | iv

CHAPTER 11: IMPLEMENTING THE SYSTEM BASED ON THE SYSTEM ANALYSIS & DESIGN ..................................................................................................................... 60 11.1 Introduction ........................................................................................................... 60 11.2 Client Side Code ................................................................................................... 60 11.2.1 Main Menu Code ................................................................................................ 60 11.2.2 Add New Stock Code ......................................................................................... 61 11.2.3 View Live Stock Code ........................................................................................ 62 11.2.4 Delete Stock Code ............................................................................................. 64 11.2.5 Stock Chart Drawing Code ................................................................................. 65 11.2.6 Download Data Code ......................................................................................... 67 11.2.7 Stock Chart Event Processing ............................................................................ 69 11.3 Server Side Code .................................................................................................. 71 11.4 Problem and Solution ............................................................................................ 72 11.4.1 Programming Skills ............................................................................................ 72 11.4.2 Connection Problem ........................................................................................... 72 11.4.3 Problem of database .......................................................................................... 72 11.5 Conclusion ............................................................................................................ 72 CHAPTER 12: SYSTEM TESTING ............................................................................... 73 12.1 Introduction ........................................................................................................... 73 12.2 Various types of testing method ............................................................................ 73 12.2.1 Black box testing ................................................................................................ 73 12.2.2 White box testing ................................................................................................ 73 12.2.3 Unit testing ......................................................................................................... 73 12.2.4 Integration testing ............................................................................................... 73 12.3 Selected Testing Method ....................................................................................... 73 12.3.1 Unit Testing ........................................................................................................ 74 12.3.2 Integration Testing.............................................................................................. 75 12.4 User Evaluation ..................................................................................................... 76 12.4.1 User Evaluation Form ......................................................................................... 77 12.4.2 Analysis of user evaluation ................................................................................. 78

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |v

12.5.3 Conclusion ......................................................................................................... 81 CHAPTER 13: Limitation and Future Enhancement ..................................................... 82 13.1 Introduction ........................................................................................................... 82 13.2 Limitation of the System ........................................................................................ 82 13.2.1 Dependability on connection speed ................................................................... 82 13.2.2 Dependability on Yahoo Finance ....................................................................... 82 13.2.3 Works on mobile simulator ................................................................................. 82 13.3 Future Enhancement ............................................................................................. 83 13.3.1 Real Time Stock Data ........................................................................................ 83 13.3.2 Stock Recommendation ..................................................................................... 83 13.3.3 GUI Improvement ............................................................................................... 83 13.3.4 Search Stock capability ...................................................................................... 83 13.3.6 Live Graph ......................................................................................................... 83 13.4 Conclusion ............................................................................................................ 83 CHAPTER 14: CONCLUSION ...................................................................................... 84 Appendix A: Gantt chart Appendix B: Project Specification Appendix C: Project Monitoring Report Appendix D: Questionnaire Appendix E: Screen Shots Reference

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |1

CHAPTER 1: Stock Exchange


1.0 INTRODUCTION
The organized and regulated financial markets where securities transactions of bonds, notes and shares are bought and sold at certain prices that are set and governed by the demand and supply forces. Stock exchange serves as (1) the primary markets where different organizations, corporations, government bodies and other incorporated organization can raise capital by channeling savings of the investors into productive ventures; and (2) the secondary markets where investors can sell their securities to other investors for cash, thus reducing the risk of investment and maintaining liquidity in the system. Stock exchanges impose stringent rules, listing requirements, and statutory requirements that are binding on all listed and trading parties. Almost all exchanges are 'auction exchanges' where buyers enter competitive bids and sellers enter competitive orders through a trading day. A stock exchange is an organization where brokers and investment bankers come together with the purpose of providing the facilities for trade of company stocks and other financial instruments usually recordkeeping. Trade on an exchange is done only by the members of the exchange. Stock exchanges in Europe are often called bourses. The trading of stock on stock exchanges is called the stock market. (Stock Exchange, 2009) There are basic things that need to be considered before buying and selling shares: 1. You have to open an account and a trading account with a stock broking company. 2. A remisier is an agent or authorized personnel licensed to conduct share dealings and will execute the buy and sell orders. 3. The main contact person at the stock broking company is the remisier. 4. For a person to buy shares, the person must provide sufficient funds to cover the cost of shares as well as transaction costs. 5. For a person to sell share must have shares in their account. 6. Orders are match electronically through any Stock exchange trading system there is no manual intervention in process 7. The remisier confirms order after if they are matched. 8. A contract note would be sent to the customer by stock broking company. Confirming details such as Name of Organization, cost of shares bought or sold and transaction totals are correct 9. The document must been kept carefully.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


1.1 Stock Quotes

Page |2

In the stock exchange financial markets, a quote is the price of security that is recently traded, trading, or the both. For example, the stock quote may list the recent transaction price, lowest bid and the highest bid. The stock quotation is either the real-time quote which is the current quote for a stock or the delayed quote. In the United States, a delayed quote is available for free, but it reflects on the market in the past less or 20 minutes ago, depending upon the exchange. The quote is often known as the quotation. A quote is the price at hand of a stock at the exchange market. The quote shows the most recent trade price of stock and the time of trade for the specific stock A quote is the current price of a stock. A quote shows you the previous trade price and time for a selected stock symbol, the change of quotes is done in currency and percentage from the previous days market close, and the volume of shares traded. Due to the continuously changing nature of the stock market quotes are not been saved. A person can set up a portfolio so as to track selected stocks of their interest by normally used on online finance website such as Yahoo Finance. Quotes can be retrieved on any Finance page, for example Yahoo Finance, by just keying in the stock symbol in the Symbol search bar the click on the button. It will show the stock quotes data. If the symbol is not known, just type the company name and it will show you the listing of available symbol for that particular company. And this depends on the stock quote view a person selects. The lists of the data shown in each view are as follows: Short Quote View: This includes the companys name, stock symbol, price of last trade and time, change in price in currency and percentage and the traded volume of shares.

Long Quote View: This includes the companys name, stock symbol, the exchange on which the stock was traded, price of last trade and time, change in price in currency and percentage and the traded volume of shares, the average and total volume of shares traded, number of outstanding, bid and ask prices of shares, open and close prices of previous market, dates dividend and ex-dividend, Earnings Per Share (EPS), the day's price range (low to high), the 52-week range, the amount and percentage of dividend, and the Price-Earnings (P/E) ratio.

At A Glance View: This includes the price of last trade and time, change in price in currency and percentage, opening price, the traded volume of shares, day high, day low and previous close price.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |3

Research View: This includes the statistics on the EPS history and stocks revenue, and other financial indicator of growth and efficiency. Also broker recommendations and earnings estimates, insider trading activity, financial reports, historical data quote and companys information. Fundamental View: This includes the companys name, stock symbol, market capitalization, Price/Sales ratio, P/E ratio, EPS, and the 52-week range (low price and high price over 52 weeks).

News View: This is the news related to a selected stock symbol and been updated every hour.

Charts View: This includes the stock symbol, price of last trade and time, change in price in currency and percentage, shares volume traded, day high, day low and the opening price. Also, comparison to major market indices and selected stocks of your choice. (Excite Stock Quotes, 2010)

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |4

CHAPTER 2: GPRS
2.0 INTRODUCTION
GPRS is a packet based wireless communication service. It is a service that provides packet radio access for mobile GSM and TDMA users. The benefits of GPRS are that it keeps back radio resources until there is data to send and it reduces the dependence on normal circuit-switched network elements. GPRS enables the transportation of voice calls and data traffic over a shared set of channels over. The rates of 114kbps were possible, well rates of 177.2kbps are theoretically possible, but in reality rates of between 10-40 kbps are more likely. The capacity of 10kbps to send/upload maximum and roughly 40kbps receive/download.

Figure 2.0: Overview of the GPRS network.

2.1 GPRS Network


GPRS Support Nodes are the two components that handle the packet traffic for the core network. Which are the:

Serving GPRS Support Node (SGSN) Gateway GPRS Support Node (GGSN)

The SGSN is the element of the network that converts the protocols between the IP core and the radio network (it assigns IP addresses). It also performs mobility

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |5

management functions and location management (it tracks the users movement to know where specific to send packets). It also ensures a secure connection. The GGSN connects the GPRS network service to the Internet, ISPs and corporate Intranets, it acts like a gateway to the other networks. It also performs address mapping.

Figure 2.1: A lower level view of the GPRS network (GPRS, 2007)

2.2 GPRS Technology


2.2.1 GPRS Working Method
The most common methods used for data transfer are the packet switching and circuit switching. In circuit switched transmission a sequence of links is first established across by the dedicated circuit and then a single user is allocate a whole channel for the whole duration of call. In the packet switched transmission, the data is cut in to small parts called packages first which are then sent to the receiver in sequence, which then after that builds the packages back together again. This is just to ensure that the same link of resources can be shared by many different users at the same time. The link is used when the user wants to send something only. The link is free to be used when there is no data to be sent. Packet switching is suitable for bursty traffic such as voice.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


2.2.2 Technology used in GPRS
The main objectives to be reached by implementing GPRS are the following: give support for bursty traffic use efficiently network and radio resources provide flexible services at relatively low costs possibility for connectivity to the Internet provide fast access time to have and support flexible co-existence with GSM voice

Page |6

In order to meet these objectives the following technologies are applied. For GPRS to transfer data and signaling in a cost efficient manner over GSM networks and to also optimize the usage of the radio and network resources it uses a packet mode technique. The strict separation between the network and radio subsystems is maintained in order for other radio access technologies to reuse the network subsystem. GPRS will provide a seamless connection would be provided to the existing standard data services by GPRS using interfaces to TCP/IP and X.25. Fast reservation to begin transmission of packets would also be provided by the GPRS, typically from 0.5 to 1 second. This implies that the data users do not have to wait for the phone to be dialed, but instead they will get through immediately. For example the messages will be delivered direct to the user's phone, without the need for a full end-to-end connection. Whenever the user switches on their mobile phone, the message will be downloaded automatically.

2.2.3 Implementation of GPRS


Two phased approach for the GPRS was adopted so as to manage the great amount of work required to produce new standards. The first phase, phase 1 provides functional services. Phase 1 supports: The TCP/IP and X.25 bearer services. The GPRS identities The GPRS security, using a new encryption algorithm especially tailored for packet data The operator Call Barring and Termination, Operator Call Screening The support of SMS over GPRS

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


The support for packet charging

Page |7

Phase 2 GPRS: This phase of the GPRS completes the capabilities to meet the requirements of the GPRS. Additional support is added by the phase specific point-to-point and point-tomultipoint services, for various applications like the traffic telematics and train control. Supports also for alternative user and network interfaces, example the ISDN and other packet networks, as well as additional support for supplementary services, would be added. (GPRS, 2008)

2.3 GPRS terminals


Usual devices will include mobile phones, which will have keypads, and laptops which will use PC cards. Personal digital assistants like Palm Pilots will also be used. Terminals will also be split into three classes, listed below:

Class A handsets, are the handsets that can do both voice and data at the same time (simultaneously). If you were to receive a voice call will using the Internet, say, the connection would be placed on busy while you answer the call, rather than have it disconnected. Class B handsets, are those handsets that are not capable of voice and packet data at the same time. It supports only one at a time either voice or data service. But like in Class A above, a voice call would put the data call on hold, and vice versa. Class C handsets can handle only non-simultaneous data and voice calls. The user of Class C handsets must select the service they wish to connect to manually. (SMS is also optional for Class C terminals). Most of these devices have a higher receiving speed than a transmission speed Class B mobiles are more common, because they are cost and time efficient in making. (GPRS, 2008 )

2.4 GPRS benefits


GPRS give mobile users numerous benefits and also the network providers. The main aim of the GPRS is to provide realistic data to the users through the telecommunications technologies. Here are some significant benefits offered by the GPRS:

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |8

Speed: the GPRS provide a higher rate of data than the GSM. The maximum rate of data realistically is in the range of 15 40 kbps but 172kbps are also possible. Packet Switched Operation: the GPRS uses the packet switching in connecting to the internet, unlike the GSM that uses the Circuit switching. The packet switching allows greater commonality with the internet techniques and efficiency in the use of available capacity. Always on Connectivity: the is always on, available to the user and by the use of the packet switching charges are charged per data amount uses, whereas the GSM circuit switching charges is charged based on time duration by the service providers. More Applications: with the always on connectivity, the packet switching and high rate of data brings up possibilities for more application. It enables the remote email application where user can send and receive mails as instance along with the web browsing and many more. Capex and Opex: The GPRS is an upgrade to the GSM, the Capital Expenditure (Capex) for the introduction of the GPRS wasnt high to deploy a completely new network and the Operation Expenditure (Opex) the basic base station infrastructure remaind the same cause it wasnt affected. The Capex and Opex are the major two concern of the operator. (GPRS Technology Tutorial, 2006)

2.5 GPRS Limitations


Though the benefits of better rate of data provide by the GPRS than the GSM there also some limitations:

User would be required to use the eight timeslots without any error protection to use the 177.2kbps speed, which basically is not going to happen because initially only 1 3 timeslots are likely to be used by initial terminals limiting the GPRS bandwidth available to the user. The GPRS packets are sent in different directions when they are sent to a destination allowing some of the packets to be lost or corrupted during the transmission of data though over the radio link. Data services are slowed down for the users when there is an increase in their number even though the radio service can be share concurrently between many users. (GPRS, 2008 )

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |9

CHAPTER 3: Mobile application Development Methodology


3.1 The Challenges of Mobile Application Development
The development of mobile application is entirely different from other applications is driven by the user experience. Usually the users of mobile phones have an urgent need to complete a task or access information. That made the user to be impatient as they face a slight problem with the usability or performance of the application it results in high level user frustration. In comparing the development of software and mobile applications there are challenges and constraints that are peculiar to the applications of mobile phones which include the following: Different mobile phones run with different operating systems such as the iPhone OS, Symbian OS, Blackberry OS, Android and many other mobile operating systems, the challenge is with developing application to run on the different variety of phones so as to exploit the unique abilities of each of them while increasing reusability and development efficiency of the software application; The challenge of the screen size which is small ranging from 2.0inch to 4.3inch in size for that it is difficult to maintain the navigation scheme and user sense of location in an application; The variety of phone forms with different orientations, screen size and resolution to design for is also a challenge faced; Different phones have different interaction methods such as the use of keypad, capacitive touch which is finger only and resistive touch where you can use stylus, the input devices are limited as well; Application which activities that consume power should be managed carefully cause of the limited battery life of the mobile phone; The power of the processor is limited; Memories and storage are limited with phones; The cost of bandwidth should be considered where there are charges per data volume in network connectivity; Mobile application developers and designers are challenged with the above constraints while they are trying to create applications that will fulfill the usability of a wide range of demand users. The solution architecture of the overall is the detailed design and the specific software implementation of each component must be specified to develop a highly usable application that is as efficient as possible in consuming constrained device resources. (BitHeads, 2009)

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME. 3.2 Mobile Design and Development Best Practices

P a g e | 10

With the listed challenges of mobile application development, developers and designer must take full advantages of lessons learnt from the challenges in order to develop an efficient and reusable application. The following would help in starting a mobile application project right and keep the present ones on track.

3.2.1 Design for Usability


For mobile applications the context is the main aim of the design. It is very important to understand the user's context and objectives. A robust product management process and iterative approach to design, development and testing is critical. Do not just copy designs with the intentions on running them on desktop devices; Simplify the application straight forward to functionality demanded and remove all the confusion, ambiguity and clutter; Limit the number of options on screen for the phone; Limit number of screens by not split content so as for users not to get lost; Usage of a consistent user interface helps the users to have mental caption of the application; User Interface should be designed similarly as the existing applications on the device which is familiar to the user; Know the unique compatibility of the various devices such as the screen size, accelerometer and the input method so as to create a possible user experience engagement; Perform a usability test all through the design and development of the application include the test of mobile phone not just the desktop emulators; Make navigation to be easy and predictable by the user and make ease use of forms; Limit the number of text input, the lesser input the better the design; Make it easy for the users to recover from errors by providing clear recovery methods; Avoid complexity in the interaction pattern so as the users attention is not require for long; Workflows should be highly structured for the infrequent tasks; Feedbacks should clear on progress and upon task status completion; Make the user interface for maximum readability by using high contrast text color; Colors should be managed carefully throughout the design and make them consistent; and Use simple navigation structures that focus on one specific task at a time. (BitHeads, 2009)

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


3.2.2 Get the Architecture and Design Right

P a g e | 11

Application usability and performance must be achieved at a high level while working with many constraints related to devices. The following below are some of the important application architecture and design considerations: Use a development methodology that includes prototyping, development and continuous testing, rapid iteration just as in the agile-based development; Consider the various range of mobile phones that will be supported, their input interaction and different displays, and the capabilities that would be used; Store data in the memory of the device to reduce frequency of data access on the server; Carefully manage the applications activities that consume loads of power; On the server, processing should be much as possible; Use multithreading effectively to improve performance where possible; Conserve memory carefully by defining proper data structures, reducing the number of objects and careful management of object handles; Images, tables, CSS and Client side script should use where they add value; Do not send data that are irrelevant and that would be used, send possibly little to anticipate the needs of users; (BitHeads, 2009)

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 12

CHAPTER 4: J2ME
4.1 Introduction
Java has come out with numerous kinds of java platform editions. Some of the most commonly used are J2EE (Java 2, Enterprise Edition), J2SE (Java 2, Standard Edition), and J2ME (Java 2, Micro Edition). Those editions are designed for unique purpose. J2EE is used to develop multi-user application, or web applications or for enterprise purpose such as serving suppliers, customers with Internet business server. J2SE is for desktop computers, and run on Linux, Solaris, Microsoft Windows etc. J2ME is a latest edition of java, designed to develop applications for small devices with limited memory, and limited display screen, like pager, Handled device (PDA or mobile phone), smart card etc. Each of those Java editions has their own virtual machine in order to support their target applications.

Figure 4.1 Java 2 Fragmentation (J2ME: Introduction, Configurations and Profiles, 2004 )

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 13

4.2 J2ME Technology


There are various types of platforms with different environment they run on. J2ME devices are those that run java and they could be: With or without keyboard With grayscale display or with colored display With or without Network Connection Memory greater than 10 Mb Device profile is the chosen resolution method specifying the minimum java classes for each class if devices. Maintaining the basic features of java technology is the aim of J2ME which are as follows: Consistency is to be built in across products so as they run anytime, anywhere and on any mobile device. Object oriented programming with a large developer base. Code portability Network delivery safety Scalability with J2EE and J2SE upward. J2ME at a higher level it targets at two (2) distinct groups of products which are: The personal mobile connected devices that provide an individual with information. E.g. Cellular phones, digital organizers, pagers The fixed, shared connected devices. E.g. screen phones, navigation system, high end communicator, internet TV. To address the diversity of inheritance of the J2ME, requirement is essential customizability, modularity not just only the small size. Due to this, the J2ME architecture is made scalable and modular to support flexible deployment to the target markets as demanded, which are the embedded markets and rapid growing consumers. J2ME supports minimal configurations of the java virtual machine for the lower end resource limited products and essential capabilities of each type of device as captured and provided by the Java APIs. Configurations are expanded with additional APIs or with the complement of java virtual machine features as the manufactures of mobile devices as new features to the device or service providers develop new applications. To support all this extensibility and customizability the essential two concepts of profiles and configurations is defined. (J2ME: Introduction, Configurations and Profiles, 2004 )

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME. 4.3 J2ME Configurations

P a g e | 14

The Java 2 Micro Edition platform covers a large number range of different kind devices such as the mobile phones, internet TV and many. The Sun has split the Java 2 Micro Edition in configurations due to the wide range of different kind of devices in the J2ME market. Configuration defines the Java API classes, virtual machines features and the java language features for each configuration environment. Java 2 Micro Edition configuration defines the minimum platform for a class of devices, each of them with the same requirement of processing power and the total memory budget. The virtual machine features, java language and the minimum libraries that a content provider or manufacture of a J2ME supported device should expect to be available on the various devices of same class is defined by the configuration. Confusion led by fragmentation is to be avoided. The two configurations introduced by The Sun are as follows: CLDC (Connected Limited Device Configuration) CDC (Connected Device Configuration)

The main functionalities in CLDC and CDC are inherited from the Java 2 Platform, Standard Edition (J2SE). The inherited classed for the J2SE are subsets of the corresponding classes in the Java 2 Platform, Standard Edition (J2SE) or precisely the same and the java.* class names is not use for the outside classes of the J2SE environment . Therefore, between different editions of Java 2 platform upward compatibility is achieved. To achieve upward compatibility between the Java 2 Micro Edition, all the implemented features in CLDC are also implemented in the CDC. Thus every application developed for the CLDC platform can run with the CDC platform. (J2ME: Introduction, Configurations and Profiles, 2004 )

4.3.1 CLDC
The first configuration to be defined is the CLDC as its main target group is the gadgets, PDAs or Mobile phones. These various devices are served by the CLDC. Some new classes not drawn from the Java 2 Standard Edition APIs designed specifically to fit the needs of small-footprint devices are included in this configuration. Characteristics of the Connected Limited Device Configuration (CLDC) The UI is very simple may include no UI at all The memory budget is very low ranging from 160kb 512kb Low bandwidth of wireless communication Processors 16 or 32 bits Limited Battery power Examples: PDAs, Pagers and Mobile phones Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


4.3.2 CDC

P a g e | 15

Connected Device Configuration (CDC) is a superset of the Connected Limited Device Configuration (CLDC) to ensure upward compatibility between configurations. Fixed, shared connected information devices market is served by the CDC. Characteristics of Connected Device Configuration (CDC) Wide range of UI capabilities 2 16 Mb of memory budget Processor 16 bit or 32 bit Network connectivity Examples: high end communicators, Internet TV and TV set boxes (J2ME: Introduction, Configurations and Profiles, 2004 )

4.4 J2ME Profiles


Distinguishing different types of devices is already helped by the configurations. But there other devices to be refined more because the configuration might cover some devices that have entirely different usage such as fridge and cell phone. Therefore, a concept of a profile to achieve application environment portability is provided by the J2ME framework. A J2ME profile addresses the device category or certain vertical market segment demands like the payment and banking application. Due to this profiles are implemented on top of the configuration because the profile might consist of libraries that are specific of device category more than the libraries provided in the configuration. Profiles are arranged for a specific configuration as applications are written to specific profile. The Java API classes used by applications are defined by both the profiles and the configurations. A device agrees to implement all features and Java API classes which are specified by the profile when designed to support a profile and corresponding configuration. From an implementation point of view, profile is the collection of Java APIs and class libraries residing on top of a configuration and providing domain specific capabilities for devices in a specific market segment. (J2ME: Introduction, Configurations and Profiles, 2004 )

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


4.4.1 Mobile Information Device Profile (MIDP)

P a g e | 16

The Mobile Information Device Profile (MIDP) is built on top of the Connected Limited Device Configuration (CLDC). MIDP provides a standard platform for resource limited, small, wireless connected devices such as the mobile phones and the pager by building it upon CLDC. In addition to having limited storage, small screen display, wireless connectivity capabilities, limited input methods and devices, processor power and battery life. The accommodated two types of devices are the voice communication devices and the mobile information appliances. (J2ME: Introduction, Configurations and Profiles, 2004 )

4.4.2 Foundation Profile


This is built upon the Connected Device Configuration (CDC). There are two purposes served by the Foundation Profile which are: The foundation profile does not require GUI, it provide profile of the Java 2 platform that is suitable for devices that need support for the rich network java environment. Base profile is provided for inclusion by other profiles that need to build on the functionality it provides by adding GUI. (J2ME: Introduction, Configurations and Profiles, 2004 )

4.5 Virtual Machines (VM)


K virtual machine is also a Java virtual machine that is developed for resource limited and small devices like the pagers, mobile phone and the digital organizers. The CDLC is implemented by the KVM. Due to the KVM been implemented in C this made it to be easily portable to the various platforms. The KVM is the standard reference implementation of J2ME, it came for The Sun and the performance of the KVM is not excellent. (J2ME: Introduction, Configurations and Profiles, 2004 )

4.6 Conclusion
This chapter focuses on the JAVA Servlet technology act as a gateway server for the client to retrieve stock data through Yahoo Finance. It starts from the introduction to Servlet as web server technology and how it is applied to the proposed application. It also includes the format of URL for retrieving stock quotes from Yahoo and the available tags that are needed. The chapter also focused on the stock exchange and J2ME to be used during the project.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 17

CHAPTER 4: Servlet
5.1 Introduction
JAVA Servlet is the server side programming language for the web based system. It is introduced and consists of some similarity with Java Server Pages (JSP) but also consist numbers of differences. JAVA Servlet technology can be used to respond to any client request either from web application, mobile phone or any other web application media that invoke its class file of its web page. Based on this JAVA Servlet technology, it can be used to download the data from Yahoo Finance, and process the information before it was sent to the client mobile phone. Although other server side programming language such as PHP can be used but Servlet is used due to the interoperability and the familiarity of the author to JAVA Programming language.

5.2 JAVA Servlet Technology


Servlet collects or receives information from the user or do both and response to clicking on certain button on a form as input from user, depending upon what kinds of actions are initiated by the form the user fills out. The servlet can track down information needed in several ways by retrieving it from the database when the servlet is designed to provide information to the user. Example, the servlet can create HTML page containing information retrieved/received/collected which can be displayed to user on the browser. The servlet is usually compared to the Common Gateway Interface (CGI) script in the web scripting. Servlet resembles java applet in a programmatic point of view; the servlet is written in java programming as an executable and as the CGI script does, servlet is usually executed based on respond to an HTML page invocation. The servlet is not the only mechanism that interacts with users as in the above way. Before servlet came along, the CGI (Common Gateway Interface) script does similar operations as well. The CGI scripts were the standard mechanism for creating and displaying HTML before the servlet. The servlet has advantages over the Common Gateway Interface script and is replacing them quickly in the enterprise computing world. The CGI (Common Gateway Interface) script spawns a new process each time it is been executed, consuming more server resource and more processing time each time it is invoked; this is the one way which the servlet is superior to the CGI script. Also the CGI script takes fewer advantages of the servers capabilities because they are running in processes separate from the servers process and they are platform dependent. E.g. servers log file cannot be written from CGI program.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 18

The liabilities above do not exist with the servlet. They are scalable and efficient because each time they are been executed no new processes are created; instead, separate threads within the web server process are handled by the Servlet. They take advantages of other server capabilities because they run in the servers own p rocess and can write log files of a server. The servlet is designed to fulfill the "Write Once, Run Anywhere" promise inherent in java programming, without modification on platform servlet can be executed. (Servlet Instant Tutorial, 2002 )

5.3 JAVA Servlet working method


This figure below shows one of the most common ways of using a servlet.

Figure 5.3: JAVA Servlet methods The steps shown in the above figure consist of: A user requests some information by filling out a form containing a link to a servlet and clicking the submit button The server locates the requested servlet The servlet then gathers the information needed to satisfy the users request and constructs a Web page containing the information That Web page is then displayed on the users browser (Servlet Instant Tutorial, 2002 )

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 19

5.4 Stock Data Sources


Based on the research on the JAVA Servlet technology, the mechanism to download stock data from any resources must be achieved in order to provide the information to the client. JAVA Servlet will be the one who will download the data and process it for the client but the differences is client is not invoking the servlet through input button on the web page, but through mobile phone GPRS network. One of the most possible solutions is downloading the stock quotes information from Yahoo Finance. This is due to several reasons which are: Yahoo Finance provide free checking of stock quotes Fast responds of stock quotes There are lots of information that can be seen on this web site US Stock information is available Although there are others Stock Quotes provider on the world in web based technology, the familiarity and the method of downloading Yahoo Finance data is much easier then any other sources.

5.5 Downloading Yahoo Finance Stock Data


As mentioned earlier, Yahoo Finance provides mechanism of stock quotes in web based form. These data can be downloaded onto the system in the form of CSV (Comma Separated Value). Based on this CSV file only, the data can be viewed and manipulated using the Microsoft Excel software. In order to download the data, the URL of the page must point to certain purpose of downloading data. For Yahoo Finance, there are some characteristics to download live stock quotes data from them. The format of URL is: http://finance.yahoo.com/d/quotes.csv?s=Stock Symbols&f=Special tags The stock Symbols can either one or multiple stock symbols. If multiple stock symbols is going to be downloaded, each of the stock symbol must be separated by + sign. The special tags indicate the data that is going to be downloaded from Yahoo finance. There are lots of tags maps to certain data that can be downloaded which is shown in below table.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 20

Figure 5.5: Special tags table (Yahoo Data Download, 2001 ) Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 21

For example, if the URL of the address is: http://finance.yahoo.com/d/quotes.csv?s=BBDB.TO+NT.TO+GE+MSFT&f=snl1d1t1ohg dr The result of the data will be shown as the figure below

Data Result (Yahoo Data Download, 2001 ) Based on these data, it can be used to provide the information to the client. Note that, not all the tags is important for the business people, most of the parameter that is commonly shown in stock quotes is explained earlier in chapter 1 regarding Stock Quotes.

Using this URL, JAVA Servlet will be used to download the data and parse & process the information before sending it to the client. Therefore the possible steps of invocation are: Client request for viewing stock Client specify stock symbol The servlet receive the request and connect to Yahoo Finance The servlet download the stock symbols data The servlet parse and process the information The servlet send the result to the client to view

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 22

CHAPTER 6: Fact finding methods for requirement gathering


6.1 Introduction
There are some techniques used in the fact finding method to get user requirements such as interview, questionnaire, observation, etc. This is done by collecting the source from the people regarding requirements of the system. It should be clear enough to make the one who answering or being interviewed can give their opinion on what to be done. Based on this method, the problems or requirements can be identified and make it as part of the proposed system requirements and specifications.

6.2 Various Fact Finding Methods


There are different types of fact finding methods ranging from background reading, questionnaire, interview, and observation. The author decided to use the questionnaire as its fact finding techniques.

6.2.2 Questionnaire
Questionnaires are a research instrument that can be applied to fact finding in system development. They consist of a series of written questions. It is very potential way to get the information from any parties. The design of the questionnaire should be careful due to there are various types of method in designing the questions. A well design question is used effectively to gather overall information regarding the proposed system and performance. Advantages of questionnaire It is the best way of gathering data/information a large number of individuals. If it is well designed, results analysis is easily done. Allows anonymity of respondents. Easy to gather information. Disadvantages of questionnaire Difficult to construct the question No automatic mechanism for follow up more deeply. Time consuming of calculation. (Survey Method, 2005)

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME. 6.3 Proposed System Questionnaire and Its analysis

P a g e | 23

Based on the analysis of various fact finding method, the used fact finding method that will be used is the questionnaire, this is because of the time constraints and also the number of respondents is a lot in the college. Based on the objective, the author has defined numbers of questions for the respondents to answer. It is distributed through various people. Based on the responds from respondents the result is being calculated in pie chart percentage. SECTION A: Stock Exchange 1. Do you know about stock exchange? a. Yes b. No

No 5%

Yes 95%

Figure 6.3.1: Question 1 The result of the questionnaire shows that the 95% of the people that answered the questionnaire as familiar with the stock exchange and only few 5% ticked not to know about it.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 24

2. Would you like to add stock symbols you want to monitor or select from list of stock symbols? a. Add b. Select

Select 25% Add 75%

Figure 6.3.2: Question 2 The result of the questionnaire shows that 75% of the people prefer to add the stock symbol they want to monitor while just 25% of the people would prefer selecting from the whole list of the stock exchange for the stock they want to monitor. 3. a. Would you like the application to save stock history? Yes b. No

No 11%

Yes 89%

Figure 6.3.3: Question 3 The result shows that 89% almost 90% of the people want to save the stock exchange history of the stock they entered while few dont mind saving.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


4. a. What duration of the Stock exchange history to be? 1 week b. 1 Month c. 3 Months d.1 year

P a g e | 25

1 Year 25%

1 Week 25%

3 Months 25%

1 month 25%

Figure 6.3.4: Question 4 The result shows that the people want to keep the history of the stock exchange 25% for 1 week, 25% for a Month, 25% for 3 months and also 25% for a year. 5. a. How would you like your stock quotes to be displayed with? Percentage b. Price c. Market Capital
Market Capital 8%

Percentage 13%

Price 79%

Figure 6.3.5: Question 5 The result shows most of the people 79% of them like to view their stock quotes in prices, 13% like to view it in percentage while 8% in market capital.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


6. a. Would you like the application to provide you a Stock gainers list? Yes b. No

P a g e | 26

No 10%

Yes 90%

Figure 6.3.6: Question 6 The result shows that almost all the people answered yes they would like the stock gainer list which is the 90% of the people that answered and the 10% dont mind. SECTION B: Mobile Phone Usage 7. What phones are you using now? a. Nokia b. Sony Ericsson c. Blackberry

D. HTC

e. Others ____________

Others 20% Nokia 40% HTC 12%

Blackberry 8%

Sony Ericsson 20%

Figure 6.3.7: Question 7 The result shows that most of people nowadays go for Nokia phone due to the features they offered and the price that is more acceptable than the other brands. Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 27

8. What are the features did you mostly used in the phone except for phone call? a. WAP/ GPRS browsing b. SMS and MMS messaging c. Others ________

Others 25%

WAP/GPRS 25%

SMS and MMS 50%

Figure 6.3.8: Question 8 The result shows that most used features of the phone is messaging because of cheap, flexible, and supported by any brand of phone except MMS 9. Have you ever used any services related to business services such as online banking through mobile? a. Yes b. No

No 22%

Yes 78%

Figure 6.3.9: Question 9 The result shows that the people has ever used mobile to perform business related activity, and based on question 10 results, it shows that most of the services used is the online banking.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 28

SECTION C: User Opinion 10. a. Where do you usually get the information about stock market? Newspaper b. Television c. Online through Internet d. Others ____________

Other 11%

Newspaper 16%

Television 10%

Online 63%

Figure 6.3.10: Question 10 The result shows that the most used media for retrieving information through the internet is from online through Internet web. This shows how Internet has growth up to today. This is due to the convenience which means when using computer, they can directly check for the stock market. 11. a. What type of representation did you prefer in checking the market stock? Graph/Chart b. Text only c. Others ____________ (please specify)
Text Only 20% Others 2%

Graph/Chart 78%

Figure 6.3.11: Question 11 The result shows that most of the users want the information of stock market is viewed using graph. It is because they can check for the status of the shares of each month or year, whereas for the text, they can only retrieve the information of current share status.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 29

12. What are the business related services you have ever used? (If no, then leave this blank) The result of this question based on those who answered most of them used the banking system via mobile phone and the rest havent used any of such related services. 13. a. Will you use this feature in future? Yes b. No

No 10%

Yes 90%

Figure 6.3.13: Question 13 The result show that 90% of the user is expecting to use the stock exchange mobile system and based on the result on question 13 they are mostly expecting for ease of use of the system. 14. What are your expectations through the mobile stock exchange system? ________________________________________________________ ________________________________________________________ ________________________________________________________

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 30

6.4 Questionnaire Result Analysis


Based on the respond of the respondents, the following result analysis has been produced. Stock exchange is familiar to most of the people. All people have mobile nowadays, after through observation 50% of the users mobile are capable for such application. Mobile phone is frequently used by people. 80% of usage is SMS messaging whereas the rest is for the phone call or other features. Nowadays most people also using business services through mobile such as online banking therefore the proposed system seems to be promising. Chart on the stock information is more popular due to they can keep track on the price status before buying the shares from the broker. The respondents are looking forward to see the proposed system and used it in the future. Mobile used is an alternative way of retrieving stock information rather from the newspaper and magazine, as it is more portable and being used every day. In overall, reliable system should be produced on the mobile real time stock exchange and it is a very promising feature in business especially for the business man and share holders.

6.5 Conclusion
In conclusion, the author has managed to gather some requirement feedback from the user through questionnaire as it was distributed up to 30 copies. Some of them can cooperate to really fill in what the question is asking but some of them also simply fill in without really notice what the question is asking. But most of the copies are being well filled in. Based on this result, the functional and non functional requirement will be identified in the later chapter.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 31

Chapter 7: Functional and non functional requirements of the system


7.1 Introduction
Software system requirements are usually classified as the functional and the non functional requirements. For example, requirement in security can be said a non functional requirement but if developed in much more details, it may lead to some other requirement that leads to the functional requirements such as authorization facilities in a system. The other types of requirements are the software, hardware and user requirements. Hardware requirements are the various components/hardware needed in running the system where as software requirement are the applications/softwares that required in developing the system. User requirements are the expectations of user of the system based on the fact finding methodologies.

7.2 Hardware Requirements


To develop this system, the following requirements hardwares are needed. Intel Core 2 Duo Processor 1GB RAM or Above 250 GB hard disk 4GB Pen Drive SVGA Monitor Mouse Keyboard Mobile Phone supporting GPRS

7.3 Software Requirements


These are the software requirements that is needed to develop the system Microsoft Windows XP or higher Java Development Kit (JDK 1.6.0) Microsoft Office J2ME Wireless toolkit

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME. 7.4 User Requirements
The requirements collected from the questionnaire that has been done.

P a g e | 32

7.4.1 Functional Requirements


Functional requirements can be defined as statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. These depend on the type of system that is being developed, the expected users of the system and the type of system which is being developed. In principle, the functional requirements specification of a system should be complete and consistent. Completeness means that all services required by the user should be defined. Consistency means that requirements should not have contradictory definitions. (Software Requirement, 2004) Functional requirements of the proposed systems are: Stock symbol addition User should be able to add Stock Symbol and the system should be able to verify and add the symbol entered by the user. Share price information retrieving This means the system should provide the information of the stock that is being requested by the user on certain symbol of stock. Detailed stock description User should be able to view stock they added and the system can provide a detailed description on certain stock symbol such as current price, last price, increment, etc. History View User should be able to view stock exchange history of certain duration Shows a graphical chart for tracking This means that the system can provide a chart to shows the status of the stock on certain months or year. Sorting of own database stock gainers and losers User should be able to access the top gainers of the stock symbols added. This means the system provides sorting of stock gainers and losers of the user own stock list in the mobile phones.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 33

7.4.2 Non-Functional Requirements


Non functional requirements are constraints on the services or functions offered by the system. They include timing constraints, constraints on development process, standards, etc. Many non functional requirements relate to the system as a whole rather than to individual system feature. This means that they are often more critical than individual functional requirements. Failure to meet non functional requirements can lead to make the whole system unusable. Mostly these requirements arise through user needs, time constraints or needs of interoperability with other external factors. (Software Requirement, 2004) Non-functional requirements of the proposed systems are: Performance It is measured by the response time and efficiency of the system. This is a very important issue for the success of the system. When retrieving the information of stock users do not want to wait for long time as it is important for them to make decision whether to buy the shares or not. Therefore good and effective algorithm should be use. Reliable System should be accurate in the information and no failure on it. There is no error in the information displayed as it is very important and recovery from any failure is also extremely important. Maintainability System should be easily maintained. This is due to an error occurred in the code; it can be identified easily and solved the problem easily. Maintenance is very important after the system is finally developed. Usability This means that the system should be ease of use, easy to learn and have a good interface design for interaction with the users. Bad design will leads to the user dissatisfaction and refuse to use the system. This can be achieved through the use of GUI and chart in representing the information.

7.4 Conclusions
Based on these requirements, the proposed system is being developed. This acts as a baseline that is needed to perform the analysis and design of the system. The requirements above are main priorities to be fulfilled on the proposed system whereas other unambiguous requirements will be considered after completing the main requirements.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 34

Chapter 8: Selection of Suitable Tools and Technique for System Development


8.1 Introduction
The tools and technique or methodologies is important in developing the proposed system. Tools are including the software that will be used and techniques are the methodologies such as Software Development Life Cycle, Prototyping, Rapid Application Development (RAD), etc for development process. Based on some reviews on various techniques the author decided to use Software Development Life Cycle (SDLC) and part of prototyping method in developing the proposed system.

8.2 Software Development Life Cycle


SDLC technique will be used as the main technique in the development of the proposed system. SDLC or usually called waterfall model is a technique that consists of number of steps to be completed in sequence from up to down therefore called waterfall.

Figure 8.2 SDLC Diagram (SDLC, 2005)

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


SDLC Phases

P a g e | 35

Planning In this stage, the planning is being established for the project. It includes the time, cost and what is the scope of the project. Good planning will leads to the good analysis and design in later stage. Therefore later stage is dependable to the previous stage before it. Planning on this proposed system has been completed through the project specification submitted in the earlier phase of the project. (SDLC, 2005) Analysis In this stage, the feasibility study is being done to identify the requirement for the system. It is done through various fact-finding methods to identify the complete requirements for the system before going to the design stage. The entire requirements are documented for later used in the design part. The analysis has been completed for this proposed system through this report, as this phase is more focus on the requirement specification for the system. (SDLC, 2005) Design Software design consists of multiple step process. It is more focus on attributes of the program. In this phase, the requirement that has been analyzed in previous stage is converted to a representation of the system before go deeper to the coding. All the process will be documented and act as a software configurations. (SDLC, 2005) Implementation In this phase, what has been analyzed and design is implemented, the code generation is started here. The programming language used is depending on the type of system going to be developed. (SDLC, 2005) Testing Once the code is generated, the program testing begins. Different testing methodologies are available to remove the bugs that were committed during the previous phases. Different testing tools and methodologies are already available. This phase will process will be done on the last phase of the development of this proposed system before finalizing the entire report. (SDLC, 2005)

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME. 8.3 Prototyping

P a g e | 36

This technique is being used but only a partial of it. It is used as the combination with the SDLC model. Once the requirement analysis is done and the design of prototype is made, the development process gets started. Once the prototype is created, it is given to the user for evaluation. Once tested, the feedback from the users is collected and the refinement of the prototype is done to fix it with user expectation. This is done for a number of finite times, until the final system is given to the user. Advantages of prototyping: Fulfill user expectations. Additional important requirements can be found out. Development process is rapidly done. Disadvantages of prototyping: Time consuming. Unambiguous feedback from the user. Combination of the two methodologies for the proposed system is enough to perform a development of the system. The limitation of SDLC can be covered by the used of prototyping. The author decided to perform all the development process following the SDLC and by the end of each phase, a prototype of the system is produced and refines all the stages that are being done before. By using this method, the author can refine if any problem occurs in previous stage and fulfill the requirement of the users.

8.4 Development Tools


For the development of the system, the author needs to select what tools that is suitable. Feasibility study has been done on various tools and supporting tools on other system project so that the tools used is really useful in the development process. On this part, the author is going to select the programming language used in the system and what are the supporting tools that are used in assisting the development of the system and reports.

8.4.1 Programming Language


This is very crucial in the development of the project, as the correct choice of programming language can ensure that the coding can be done smoothly with minor problem and completed on time. The author has selected several programming language and will be compared in detailed before choosing it for coding the system.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


8.4.1.1 VB .NET

P a g e | 37

This is a programming language developed by the Microsoft Corporation. This is the version upgraded from previous Visual Basic 6 from Visual studio complication. On this new version, there are lots of changes in the syntax of the code but the concept is still remaining the same as previous VB. It supports OO method and also can be used to build various type of system such as wireless application, stand alone application and also any enterprise application. (Visual Basic 6.0 Technical Articles, 2008 )

8.4.1.2 C++
C++ was released in 1985 created by Bjarne Stroustrup. It is an object oriented programming language like the recent java programming. The concept of classes is used to implement data abstraction along with some other features so as to allow the object oriented programming. The C++ program parts are easily extensible and reusable; a C++ program existing code can be modified easily without changing the actual code. Operator overloading concept was added by the C++, because it did not exist in the earlier object oriented programming languages and it enables the creation of libraries much more cleanly. C programming languages main aspect is the C++, yet the simplified memory management features it has. In addition, low level access to the memory is allowed by some of the features of the C++ and also contains high level features. (C++, 2005)

8.4.1.3 JAVA
The Java technology is an object oriented programming, having a multithread programming environment and it is platform independent. Java is the foundation for applications, robotics, network service and the web, other embedded device and the independent platform desktops. Javas three (3) main technologies values are: Richer User Experience: The platform of Java provides a foundation for mobility, whether a user is using a mobile phone powered by Java to access a companys network or just to play games. Alas, the deployment vehicle for mobile and ideal development is made by the Java technology of its unique blend of security and mobility. Web Services Ideal Execution Environment: The two (2) most widely accepted and extensible languages of computing are the XML and Java languages, they provide maximum reach to every platform, devices, anytime, anywhere and everyone. Business is enabled from End to End: All the elements of a business infrastructure can be connected by a unifying, single programming model offered by the Java Technology.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


8.4.1.3.1 Java Properties

P a g e | 38

Various applications are suited by the different programming languages, some suit applications more than even the Java. Though, the java provides these properties below in one language all together. It is an object oriented programming It provides portability It is multithreaded It provides ease of use and simplicity to the user It is secured Auto collection of garbage Internet and network aware. (About Java Technology, 2000 )

8.4.1.3.2 Java Technology in Small and Mobile Devices


The Java technology has the Micro Edition of its platform that meets the needs of the developers creating applications for embedded markets and users. Such robust is not provided by any other programming technology apart from this for applications across various size constrained devices like from cell phones and PDA to STB (set-top boxes) and telematics of vehicles. Furthermore, Java ME (Java Platform Micro Edition) provides a flexible, robust environment for those applications that runs on other embedded and mobile devices. And also, the Java Platform Micro Edition includes strong security, flexible user interface and a network protocols built in. Applications based on the Java platform Micro Edition exhibits portability across different devices and contro l each devices original capabilities. (About Java Technology, 2000 )

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


8.4.1.3.3 J2ME

P a g e | 39

Java 2 Micro Edition (J2ME) was created to deal with the problems faced while building applications to run on small devices like the mobile phones and PDAs. Because of this The Sun defined some basics for the J2ME so as to fit into a such limited environment to provide possibilities in creating java applications that would run on the small devices with small screen display, limited processor, memory and power. The Java 2 Micro Edition (J2ME) is said to be specifications and set of technologies that are integrated to develop a Java Runtime Environment completely for the purpose to match the requirements of the devices or markets particularly. Through configuration a wide range of devices with virtual machine capabilities and most basic set of libraries are provided. It is made up by set of APIs as for that a small range of devices are supported by the profile. The set of technology specified APIs is an optional package. The Java 2 Micro Edition (J2ME) is mainly divided into two (2) basic configurations which are the CDLC (Connected Limited Devices Configuration) for configuration of small devices and the CDC (Connected Devices Configuration) for more capable configuration like the set top boxes. (Java ME Technology, 2010)

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


8.4.1.4 Comparison of Programming Tools

P a g e | 40

Figure 8.4.1.4: Comparison of the Characteristics in Java, C++, and VB.NET (Source: Jason Voegele, 2004) Based on the comparison above, the author decided to select the Java language for the development of the system. The reasons are: The author is more familiar with JAVA programming. The scope of the system is on the mobile world therefore can use the J2ME concept in applying the code of the proposed system. J2ME is platform independent which means write once run anywhere. Nowadays phone is J2ME enabled devices; therefore it is easy to test the proposed system and used everywhere.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


8.4.2 Database

P a g e | 41

The J2ME record management system Java 2 Micro Edition Record Management System (RMS) is a provided mechanism by which data can be stored and retrieved later by the MIDlets persistently. The RMS is comprised with multiple stores of record in a record oriented approach. Overview of the Record Management System and MIDlets

Figure 8.4.2: Record Management System Record stores are visualized as record collection that persistently remains across multiple MIDlet invocations. It is the responsibility of the device platform to make effort in maintaining the integrity of record stores of the MIDlet throughout the usage of the platform which may include off and on of a device, changing device battery, etc. As in the non-volatile device memory, record store which is not exposing directly to the MIDlet is created in a platform dependent location. The database operations are actually performed by the specific native code from the RMS classes called into the platform which uses the functions of the standard OS data manager. All individual record store operations are serialized, synchronous and atomic; and are ensured by implementation of the record store, so with multiple accesses no data corruption would occur. All the record store are been time stamped so as to show when last it was modified. It also maintains a version number in integer form and increments when content of the record store is been modified. The time stamps and version are useful for the purpose of synchronization. When multithreads are used to access record store by the MIDlet, the MIDlet is responsible for access coordination; when failed to do so, it may result some consequences. Similarly, synchronization of record store with multithread perform by platform in order to simultaneously access record store, it is the responsibility of the platform to exclusively enforce access to the record store between its synchronization engine and the MIDlet. The record store has a unique identifier and each record is an array bytes. (J2ME record management store, 2002)

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


8.4.3 Support Tools

P a g e | 42

This tools is used in assisting the development of the project including word processing tools for the report, database for the system, diagramming tools for the analysis and design and many others types of supporting tools used in the system. The author has defined what support tools are needed in the project development, which are: Microsoft Office 2007 This includes: Microsoft Word is used for writing the report of the proposed system. Microsoft Excel is used for calculating the result of questionnaire that is being conducted and produced a diagram based on it. Microsoft Access is used for the database of the proposed system. Microsoft Power Point is used for the needs to develop a presentation slide in the final project VIVA. Microsoft Project is used for the development of Gantt chart. System Architect 2001 This is an extremely important tool for the development of any UML diagram in the analysis and design part. By using this tool, it simplifies all the work on drawing the UML. J2ME Wireless Toolkit This is the wireless toolkit that is used for J2ME which enables easier control over the project. It also makes the compilation process easier without needs to remember the syntax for compiling mobile system code. J2SDK 1.4 or above This is the standard java system development kit. This is the most basic fundamental tools for compiling any java source code. In the proposed system, this tool is needed to test all the server application. J2ME with MIDP & CLDC support This support tools is used in combination with the J2SDK for compilation of the mobile code. MIDP (Mobile Information Device Profile) & CLDC (Connected Limited Device Configuration) enables the use of the interface of the phone. This is very important to test the mobile application code of the proposed system.

8.5 Conclusion
In conclusion, all of the available tools and techniques have their own advantages and their own disadvantages. The author has chosen them based on the needs of the proposed system development. The tools and technique specified above will be used in the development of the system. The author has gathered the information and now is being applied thoroughly on the system.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 43

CHAPTER 9: System Design


9.0 Introduction
The author in this chapter studied on the tools that are proper for the design of the system so the author gathered knowledge on the different tools to be used for the design. The design of the system gives the basis for the coding part for the development. In designing the system the author is using (UML) Unified modeling language diagrams.

9.1 Unified Modeling Language (UML)


Unified Modeling Language (UML) is an object oriented standard language for documenting, specifying and visualizing the various components of a software system. The UML is a graphical representation and visualization language which consist of various series of connectors and symbols that are been used to show or create processes diagrams and sometimes used to model system works and programs. (UML, 2004)

9.1.1 Use Case Diagram


Use Case Diagram is that diagram that gives the clear view on what and how the system intended would be developed in order to meet the requirements of the user to the system analyst. The Use Case Diagram identifies the various processes and primary elements that form a system. Processes in the use case diagram are called use cases and the primary elements are the actors. The relationships among the use cases and the actor within system is been showed by the Use Case Diagram. (Agile Modeling, 2009)

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 44

Stock Exchange Monitori ng

Add Stock Symbol

<<extends>>

Check Stock Symbol

User <<uses>> View Li ve Stock Update <<uses>> View History Charts Look up for Stock Information

Confirm Stock Symbol Vali dity

<<extends>> Delete Stock Process and Provide Stock Information

Figure 9.1.1: Use Case Diagram

9.1.1.1 Use Case Description


No 1 Actor User Use case Add Symbol Use case Description Stock User adds the stock symbol company which he/she wants monitor of to

User

View Live Stock User views the live update of the stock Update exchange for the added stock symbols View Charts History The user can view the history of the stock exchange for the added stock symbols which can be the history for the previous week, month or 3 months. The user can delete stock symbol(s) that they dont want to monitor.

User

User

Delete Stock

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


5 System Check Symbol

P a g e | 45

Stock The system checks the stock symbols entered by the user.

System

Confirms Stock The System confirms the stock Symbol Validity symbol the user entered and validates it. Look Up for Stock Here the system refreshes and update Information for the latest stock information Process and The system processes the information Provide Stock generated and then provide the stock Information information to the user.

System

System

Use Case Description


Add Stock Check Stock Symbol <<extends>>

<<uses>> <<uses>> <<uses>> Delete Specific Stock View Live Stock <<uses>> Look up Stock Information Confirm Stock Validity

<<extends>>

<<extends>>

View History Stock

Process and Provide Stock Information

Figure 9.1.1a: Use Case Dependency Diagram

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 46

9.1.2 UML Activity Diagram


The Activity diagram is a Unified Model Language normally used modeling business process, business rule in the detailed logic or captured logic by a usage scenario or single use case. The UML Activity diagrams is an object oriented which is equivalent to the DFD (data flow diagram) and flow charts for structured development. (Agile Modeling, 2009)

These figures below show the activity diagrams for Stock Exchange Monitoring system.

Figure 9.1.2a: Add Stock activity diagram

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 47

Figure 9.1.2b: View Stock activity diagram

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 48

Figure 9.1.2c: Delete stock activity diagram

9.1.3 UML Sequence Diagram


The Sequence Diagram is also a UML that provides a visual manner by modeling the flow of logic in a system, validate logic and enable the both to document which are mostly used for purpose of both design and analysis. Sequence Diagram is the popular artifact of UML for the dynamic modeling by focusing on the behavior identification in a system. Along with physical data models, class diagrams and sequence diagram are important design level models for development of applications. (Agile Modeling, 2009) These figures below show the sequence diagram of Stock Exchange Monitoring system.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 49

Figure 9.1.3a: Add Stock sequence diagram

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 50

Figure 9.1.3b: View stock sequence diagram Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 51

Figure 9.1.3c: Delete stock sequence diagram

9.1.4 UML Class Diagram


The Class Diagram is a UML that is the pillar of Object Oriented design and analysis. Class Diagram shows all the classes available in a system, the attributes and operations of the classes and their inter-relationships which include the aggregation, association and inheritance. The Class Diagrams are been used for different purposes which includes the detailed design modeling and domain/conceptual modeling. (Agile Modeling, 2009)

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


initates 1..* Add Stock Symbol initiates 1 + Stock Symbol : char + Stock Exchange : char + Status : int Stock Exchange Monitoring System 1..* Download + URL : char + length : int + data : int + status : boolean "Open URL" "Close URL" Download persistent 1..* Delete Stock Symbol + Stock Symbol : char + Status : boolean "delete All" "delete One" persistent Historical Chart 1 "Check Stock" "Set Status" persistent + Main : char + Stock List : char + Output Stream : int + Input Stream : int View Stock

P a g e | 52

+ Stock Symbol : char + Stock Exchange : char "view live" "view 1 week chart" "view 1 month chart" "view 3 months" "view 1 year chart" 1 persistent

consist 1 "Add Stock Symbol" Consist 1 "View Stock" "Delete Stock Symbol" Consist 1 persistent

Live Stock + Open Price : int + Change Price : int + Last Trade : int + Volume : int + Changes : int

+ Open Price : int + Change Price : int + Volume : int + Last Trade : int + Changes : int + Date : int "DrawChart()" "processInfo()"

"processInfo()" persistent

persistent

Figure 9.1.4: Class Diagram

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME. 9.2 Functional Decomposition Diagram

P a g e | 53

Functional Decomposition Diagram is the representation of a process or function from top to down. The Functional Decomposition Diagram (FDD) are used to model functions of business showing how they been organized into the lower level processes. In the Application Development, program modules are translated from those processes. Advantages of Functional Decomposition The representation of the structure and simplicity helps in better understanding of the breakdown of processes and functions. It is easier to specify the features and requirements for each function because the processes and functions are broken down into small units. It allows customers to view and discuss the whole processes and function in a form that can be dealt with not as continuous process but as collection of functions. Disadvantages of the Functional Decomposition It delays an organizations business understanding when processes and functions overlap. Creating complex and unnecessarily numerous interfaces.

Main Menu

Add Stock Symbol

View Stock Symbol

Delete Stock Symbol

Live Stock Information

Chart History

Delete Selected

Delete All Symbols

1 week Chart

1 month Chart

3 Months Chart

6 months Chart

1 Year Chart

(Craig Borysowich, 2007) Figure 9.2: Functional Decomposition Diagram

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME. 9.3 Context Diagram

P a g e | 54

Context Diagram is the graphic representation of the system. It shows how the system communicates, data sources and their destination within the system. Below is figure of context diagram of the stock exchange monitoring system.

Add stock Symbol View Stock Delete Stock Symbol Stream Quotes

Sends Information

Requests Information

Figure 9.3: Context Diagram

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 55

CHAPTER 10: SYSTEM DESIGN AND INTERFACE


10.1 System Design
The STEX (Stock Exchange) is an application that is based on the client server architecture. The client which is mobile phone, retrieve the stock information from the server, which is a web server. The design of the system will be broken down to two parts which are server and client side.

10.1.1 Server Side Design


This section focuses on the server side design. This design must be carefully planned on which task should be done on the server side and which task should be done on the client side. Due to the limitation of the mobile phone as the client side, most of the task will be done on the server side as it can improve the overall system performance. The programming language for the server side is the JAVA Servlet. The use of JAVA Servlet is not a must; it can be changed to PHP/ASP or other server side language. The author chooses this language due to the compatibility of both programming language which come from the same source Sun Microsystems.

10.1.2 Stock information collection


The server side will provide the stock information to the client to view. All the stock information will be taken from Yahoo! Finance web pages. This page will provide stock information from major exchanges which will be parsed and formatted to send it to the client side. By this way, it is easy to add any other regional local exchanges. The reason why parsing is done on the server side is that if any changes on the web pages, it can be change from the server side only, else if we parse and format on the client side, any changes on the web server will required a new installation of the MIDlet on the phone.

10.1.3 Client Side Design


The client side design is using the Object Oriented methodology which is suitable with Java programming languages used. The client side program is developed in numerous number of class which is used to make it reusable and easier to modify if any error and any additional on the program need to be performed. Database is located on the mobile phone due to safe time. If database is located on the server every time when it is needed to add or view stock, it needs to contact the server to obtain the entire stock symbol. By performing database operation on the client side, mobile memory can be used to perform other more important functions.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME. 10.2 Interface Design

P a g e | 56

Here in this part the author shows the interfaces of the Stock Exchange Monitoring Application (STEX). In the STEX the author used both high-level user interface APIs such as Form, Alert and some exclusive components like Command, as well as lowlevel one such as the Canvas for the stock chart. The figure below shows the entire high-level interface APIs, the screen is the super class of all of them; and some of the low-level APIs,

Main Menu

Add Stock Symbol

View Stock Symbol

Delete Stock Symbol

Live Stock Information

Chart History

Delete Selected

Delete All Symbols

1 week Chart

1 month Chart

3 Months Chart

6 months Chart

1 Year Chart

Figure 10.2 STEX Interface Screen

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


10.2.1 Main Menu Interface

P a g e | 57

Based on the screen map, Figure 10.2.1 shows the real interface of the STEX main menu.

Note that in the front of each list, an icon is inserted to provide better interface design rather than using only plain text on it.

10.2.2 Add New Stock Interface


Figure 10.2.2 shows add new Stock interface and process of adding new stock in the database.

Figure 10.2.2 Add New Stock interface Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 58

This shows that the source of the main stock information is from Yahoo. Until this stage of development, only stock info from Yahoo Finance can be added into the mobile devices. In the second screen of above figure, it ask the user whether to use airtime for the GPRS connection and the third screen shows that stock is been added in to the RMS.

10.2.3 View Stock Information Interface


After adding new stock in the database of the mobile using RMS (Record Management System), the added stock can be view through this interface. Once finish added, stock can be view by selecting it from the view stock interface as shown below.

Figure 10.2.3 When any of the menu lists is pressed, the screen will change to the download progress interface. This is used to prevent static screen on which the screen didnt do anything only temporary stop working. Using the download gauge, it can show the user on the process of downloading the stock information before showing it to them, the third screen is the stock information retrieved.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


10.2.4 Delete Stock Interface

P a g e | 59

Any stock added on the mobile can be removed. It is shown on the Figure 10.2.4.

Figure 10.2.4 Delete Stock Interface By selecting delete one by one, it allow user to choose which stock name to be deleted in the database. By selecting delete all, it will remove all stock names in the database and require user to add new stock again to view any other stock. Any deletion of stock will be asked to confirm to delete as shown in the third Figure.

10.3 Conclusion
Based on the above system analysis and design, the author has completed partial system which shows the entire interface shown on above parts. Based on this partial system also, the author will present it to the potential user and supervisor to validate whether it is accepted or not. This chapter is focuses on implementing all the analysis and design of the previous phase into a real coding concept of the system.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 60

CHAPTER 11: IMPLEMENTING THE SYSTEM BASED ON THE SYSTEM ANALYSIS & DESIGN
11.1 Introduction
In this section, the system development is started. The code that will be presented here is only main function and partial fragment of the program to provide some information on the client side and server side code. The complete code can be found on the appendix part on later stages.

11.2 Client Side Code


The client side development is using J2ME language for mobile. All the applications on J2ME are built on the top of MIDP (Mobile Information Device Profile), and the complete application is called MIDlets. The MIDlet must have its own hierarchy of code.

11.2.1 Main Menu Code


This program fragment below shows the constructor of the main class STEX. In this constructor, all the variable has been created and initialized for displaying the main menu which are in a form of list on the screen when application start. public STEX() { display = Display.getDisplay(this); rsStockList = openRecStore(REC_STOCKLIST); startInput(); //Open input stream startOutput(); //Open output stream readRS(); //start reading from RS exchanges = new Vector(); exchanges.addElement(new Exchange( "Yahoo! Finance", 'Y', 0 )); try { images[0] = Image.createImage("/add.png"); images[1] = Image.createImage("/view.png"); images[2] = Image.createImage("/delete.png"); } catch (Exception e) { if(true) printErr("Error in loading Images! -> " + e.toString()); } lstMain = new List("STEX", List.IMPLICIT, lstItems, images); cmdLstExit = new Command("Exit", Command.EXIT, 1); cmdSelect = new Command("Select", Command.SCREEN, 1); lstMain.addCommand(cmdLstExit); lstMain.addCommand(cmdSelect); lstMain.setCommandListener(this); } Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 61

Explanation: When STEX () Constructor is called on the program it will execute the code inside its method. First, it initiates the display screen, then open Record Stock for read. After that Input Stream and Output Stream variable is initialized to be used later in I/O reading/writing from/to RMS. Then later it will create the Exchange Vector to store what the available exchanges are in the system. Command is also added and set the Listener to listen to command selection.

11.2.2 Add New Stock Code


Based on the main menu screen, the program fragments below shows add new stock code. Note that for add new Stock interface there is not much interface only dealing with the text field for entering the code symbol before being processed to be added on the mobile database. public AddNewStock(String title, STEX midlet, Displayable parent) { super(title, midlet, parent); addCommand = new Command("Add", Command.SCREEN, 1); addCommand(addCommand); choiceExchanges = new ChoiceGroup("Select an EX:", Choice.EXCLUSIVE); int total = midlet.exchanges.size(); for(int i=0; i<total; i++) choiceExchanges.append( ((Exchange)midlet.exchanges.elementAt(i)).fullName, null); append(choiceExchanges); //Search available exchange and show it textCode = new TextField("Stock Symbol:", "", 20, TextField.ANY); append(textCode); alert = new Alert("Add Stock:"); alert.setTimeout(Alert.FOREVER); } private int writeStock(Stock s) { try{ byteArrayOutput.reset(); if(DEBUG) debug("Add Stock: " + s.code + " [" + s.ex + "]"); dataOutput.writeUTF(s.code); dataOutput.writeByte(s.ex); byte[] record = byteArrayOutput.toByteArray(); return rsStockList.addRecord(record, 0, record.length); }catch(Exception e) { reportError("Failed to add stock to RMS: " + e.toString()); if(DEBUG) e.printStackTrace(); return -1; } Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session }

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 62

Explanation: This execute the code inside its methods, The code inside its constructor is only showing the available exchange, create the TextField for the stock symbol and add command for continuing to add the stock symbol. When Add is being pressed, it will go to new Screen waiting for the stock to be added and writeStock () method is called to write the Stock into RMS.

11.2.3 View Live Stock Code


This program fragment below show only how the interface has been created, for other process such as drawing chart and live stock will be shown in later part. In this code, basically only creating all the needed command and retrieve the stock from the mobile database and show it to the screen for the user to choose on which stock to show in detail. public ViewStock(String title, STEX midlet, Displayable parent) { super(title, midlet, parent); commandLive = new Command("Live Info", Command.SCREEN, 1); commandOneMonth = new Command("One Month chart", Command.SCREEN, 1); commandThreeMonth = new Command("Three Months Chart", Command.SCREEN, 1); commandSixMonth = new Command("Six Months Chart", Command.SCREEN, 1); commandOneYear = new Command("One Year Chart", Command.SCREEN, 1); addCommand(commandLive); addCommand(commandOneMonth); addCommand(commandThreeMonth); addCommand(commandSixMonth); addCommand(commandOneYear); choiceStocks = new ChoiceGroup("Select a stock: ", Choice.EXCLUSIVE); for(int i=0; i<midlet.stocks.size(); i++) { if(STEX.DEBUG) STEX.debug("Loading #" + i); Stock s = (Stock)midlet.stocks.elementAt(i); Exchange e = (Exchange)midlet.exchanges.elementAt((int)s.ex); choiceStocks.append( s.code + " [" + e.code + "]", null); } append(choiceStocks); }

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 63

public class LiveForm extends List implements CommandListener { STEX midlet; Displayable parent; Command commandBack; public LiveForm(String title, STEX midlet, Displayable parent) { super(title, Choice.IMPLICIT); this.midlet = midlet; this.parent = parent; if(sl == null) { append("Failed to retrieve data. Please try again later.", null); midlet.reportError("Stock information does not available!"); }else{ append("Open: \t$" + STEX.getString(sl.openPrice), null); append("LastSale: \t$" + STEX.getString(sl.lastPrice), null); append("High: \t$" + STEX.getString(sl.highPrice), null); append("Low: \t$" + STEX.getString(sl.lowPrice), null); append("Change: \t$" + STEX.getString(sl.changePrice), null); append("Volume: \t" + sl.volume, null); } commandBack = new Command("Back", Command.BACK, 1); addCommand(commandBack); setCommandListener(this); } public void commandAction(Command c, Displayable s) { if(c == commandBack) { midlet.display.setCurrent(parent); } } }

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


11.2.4 Delete Stock Code

P a g e | 64

In this part if any stock has been added to the mobile database, it can be deleted one by one or all together directly. This program fragments below shows the delete stock code interface and the command action when the delete button is being pressed. public DeleteStock(String title, STEX midlet, Displayable parent) { super(title, midlet, parent); append(menu); commandSelect = new Command("Select", Command.SCREEN, 1); addCommand(commandSelect); setCommandListener(this); } public void commandAction(Command c, Displayable s) { super.commandAction(c, s); if(c == commandSelect) { if(menu.getSelectedIndex() == 0) { DeleteOne deleteOne = new DeleteOne("Delete stock:", midlet, this); midlet.display.setCurrent(deleteOne); }else if(menu.getSelectedIndex() == 1) { Dialog dl = new Dialog("Confirmation:", "Are sure to delete ALL STOCKS Permanently?", Dialog.CANCEL | Dialog.CONFIRM, this.midlet, new DialogListener () { public void onCONFIRM(){ midlet.deleteAllStocks(); } }, this); midlet.display.setCurrent(dl); } } // End commanSelect IF. }

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


11.2.5 Stock Chart Drawing Code

P a g e | 65

The drawing of historical chart in the STEX is using low level interface design which is Canvas. Small devices have a limited screen or display area. Therefore, it should be planned carefully before start coding. Otherwise, a slight drawing inaccuracy will ruin the user interface. This program fragment below shows the drawing of line of the stock chart. protected void paint(Graphics g) { Graphics ig = null; if(isDoubleBuffered()) { ig = g; }else{ if(offScreen == null) offScreen = Image.createImage(screenH, screenV); ig = offScreen.getGraphics(); } ig.setColor(255, 255, 255); // Clear with white bg. ig.fillRect(0, 0, screenH, screenV); if(sh != null && sh.size() > 1) { ig.setColor(0, 0, 0); ig.setFont(font); ig.drawString("H: $"+STEX.getString(sr.priceHigh) + ", L: $" + STEX.getString(sr.priceLow), 1, 1, Graphics.TOP | Graphics.LEFT); ig.drawString("Volume: " + sr.volumn, 1, fontH + 2, Graphics.TOP | Graphics.LEFT); ig.setStrokeStyle(Graphics.SOLID); ig.setColor(51, 153, 0); // Deep green ig.drawRect(startX, startY, X, Y); if(showAxes) { ig.drawString(STEX.getString(priceHighest), startX, startY, Graphics.TOP | Graphics.LEFT); ig.drawString(STEX.getString(priceLowest), startX, startY + Y, Graphics.BASELINE | Graphics.LEFT); ig.drawString(""+volumnHighest, startX+X, startY, Graphics.TOP | Graphics.RIGHT); ig.drawString(""+volumnLowest, startX+X, startY+Y, Graphics.BASELINE | Graphics.RIGHT); } StockRecord last = (StockRecord)sh.vec.elementAt(left); int month = last.month; if(showAxes) { ig.setColor(0, 0, 0); ig.drawString("p", startX+1, startY + Y - (last.priceHigh-priceLowest)*Y/priceBase, Graphics.LEFT | Graphics.BASELINE ); ig.drawString("v", startX+1, Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session startY + Y - (last.volumn-volumnLowest)*Y/volumnBase, Graphics.LEFT | Graphics.BASELINE );

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 66

int month = last.month; if(showAxes) { ig.setColor(0, 0, 0); ig.drawString("p", startX+1, startY + Y - (last.priceHigh-priceLowest)*Y/priceBase, Graphics.LEFT | Graphics.BASELINE ); ig.drawString("v", startX+1, startY + Y - (last.volumn-volumnLowest)*Y/volumnBase, Graphics.LEFT | Graphics.BASELINE ); } for(int i=left+1; i<=right; i++) { StockRecord current = (StockRecord)sh.vec.elementAt(i); ig.setColor(255, 51, 0); // Red. ig.setStrokeStyle(Graphics.SOLID); ig.drawLine( startX + (i-1-left)*step, startY + Y - (last.priceHigh-priceLowest)*Y/priceBase, startX + (i-left)*step, startY + Y - (current.priceHigh - priceLowest)*Y/priceBase ); ig.setColor(51,192, 204); // Blue. ig.setStrokeStyle(Graphics.DOTTED); int height_0 = largeVolumn ? (last.volumn/1000volumnLowest/1000)*Y/ (volumnBase/1000) : ((last.volumnvolumnLowest)*Y/volumnBase); int height_1 = largeVolumn ? (current.volumn/1000volumnLowest/1000)*Y/ (volumnBase/1000) : ((current.volumnvolumnLowest)*Y/volumnBase); ig.drawLine( startX + (i-1-left)*step, startY + Y - height_0, startX + (i-left)*step, startY + Y - height_1 ); if(current.month != month) { ig.setColor(200, 200, 200); ig.drawLine( startX + (i-left)*step, startY, startX + (i-left)*step, startY + Y ); month = current.month; } last = current; } // End for. Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 67

ig.setStrokeStyle(Graphics.SOLID); ig.setColor(0, 102, 204); ig.drawLine( (cursor-left)*step + startX, startY , (cursor-left)*step + startX, startY + Y + 3); ig.setColor(0, 0, 0); ig.drawString(s.code, 1, screenV-1, Graphics.BASELINE | Graphics.LEFT); ig.drawString(sr.day + "/" + sr.month + "/" + sr.year, // sr.getDate(); screenH - 1, screenV - 1, Graphics.BASELINE | Graphics.RIGHT); if(! isDoubleBuffered()) g.drawImage(offScreen, 0, 0, Graphics.TOP|Graphics.LEFT); }else{ Dialog dl = new Dialog("Warning:", s.code + " history data is not available now. Please try again later.", Dialog.OK, midlet, null, parent ); midlet.display.setCurrent(dl); } }

11.2.6 Download Data Code


This program fragments below show the code when the program is getting the stock information from the server in which it connects to Yahoo to get detailed information. private void getInfo() throws Exception { HttpConnection http = null; InputStream is = null; boolean ret = false; if(AddStock != null) { URL = baseURL + "?E=" + AddStock.choiceExchanges.getSelectedIndex() + "&S=" + AddStock.textCode.getString() + "&T=0"; }else if(ViewStock != null && ViewStock.s != null) { // create view baseURL.... switch(ViewStock.mode) {

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 68

case 1: URL = baseURL + "?E=" + ViewStock.s.ex + "&S=" + ViewStock.s.code + "&T=1"; break; case 2: case 3: URL = baseURL + "?T=" + ViewStock.mode + "&E=" + ViewStock.s.ex + "&S=" + ViewStock.s.code; break; default: // Do nothing. return; } // End switch } if(STEX.DEBUG) STEX.debug("Connecting to: " + URL); try{ http = (HttpConnection) Connector.open(URL); http.setRequestMethod(HttpConnection.GET); if(hasListener) dl.setProgress(1, 10); if(interrupted) throw new InterruptedException(); is = http.openInputStream(); if(hasListener) dl.setProgress(2, 10); if(STEX.DEBUG) STEX.debug("Connecting to: " + URL); String str; // Temp buffer. int length = (int) http.getLength(); if(hasListener) dl.setProgress(3, 10); if(interrupted) throw new InterruptedException(); if(length != -1) { // Length valid. byte data[] = new byte[length]; is.read(data); str = new String(data); }else{ // length not available. ByteArrayOutputStream bs = new ByteArrayOutputStream(); int ch; while((ch = is.read()) != -1) bs.write(ch); str = new String(bs.toByteArray()); bs.close(); } Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


11.2.7 Stock Chart Event Processing

P a g e | 69

Once the chart has been displayed, it is capable to be rolled left and right to view the stock status in any dates. It is also can be zoomed in and out to provide more visible view on the stock chart. This all is done using the low level event processing which is the key pressed on the mobile. Usually the key used is left, right, up and down. By processing this key, the chart processing can be done. The program fragment below shows the process of key pressed event. Note that on every event, the stock chart will be repainted. This is due to the change of view on the stock which made the repaint method to clear the screen and redraw the next stock chart. protected void keyPressed(int keyCode) { switch(getGameAction(keyCode)) { case RIGHT: cursor ++; if(cursor > sh.size() - 1) cursor = 0; if(cursor > right) { right = cursor; left = right - max; }else if(cursor < left) { left = cursor; right = left + max; } sr = (StockRecord)sh.vec.elementAt(cursor); repaint(); break; case LEFT: cursor --; if(cursor < 0) cursor = sh.size()-1; if(cursor > right) { right = cursor; left = right - max; }else if(cursor < left) { left = cursor;

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 70

right = left + max; } sr = (StockRecord)sh.vec.elementAt(cursor); repaint(); break; case UP: zoom(true); repaint(); break; case DOWN: zoom(false); repaint(); break; }// End of switch. } }

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME. 11.3 Server Side Code

P a g e | 71

The server side is developed using Java servlet language. This program fragments below show how the server gets the live stock information from the Yahoo Finance. Note that the URL refers to the Yahoo Finance website to fetch the data from it and process it before send it to the client program. This part only shows the important part of the server side code, for the complete code has to refer to the complete program of the author. public void getLive() { int lastPrice = 0; int changePrice = 0; int openPrice = 0; int highPrice = 0; int lowPrice = 0; int volume = 0; try { URL url = new URL(URL_LIVE_HEADER + symbol + URL_LIVE_FOOTER); InputStream is = url.openStream(); BufferedReader in = new BufferedReader(new InputStreamReader(is)); String data = in.readLine(); data = data.replace('"', ','); StringTokenizer st = new StringTokenizer(data, ","); st.nextToken(); // Symbol lastPrice = (int) (Float.parseFloat(st.nextToken()) * 1000); st.nextToken(); // Date st.nextToken(); // Time changePrice = (int) (Float.parseFloat(st.nextToken()) * 1000); openPrice = (int) (Float.parseFloat(st.nextToken()) * 1000); highPrice = (int) (Float.parseFloat(st.nextToken()) * 1000); lowPrice = (int) (Float.parseFloat(st.nextToken()) * 1000); volume = Integer.parseInt(st.nextToken()); }catch(Exception e) { if(VERBOSE) out.println(e.toString()); } out.print("*" + lastPrice); out.print("*" + changePrice); out.print("*" + openPrice); out.print("*" + highPrice); out.print("*" + lowPrice); out.print("*" + volume + "*"); }

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME. 11.4 Problem and Solution

P a g e | 72

During the development of the entire system, the author has encountered so many problems most especially due the lack of J2ME programming skills. The author documented some of these two (2) major problems faced during the implementation and development of the system apart from the lack of skills, which are the internet connection problem and the Servlet class; and the database for the application.

11.4.1 Programming Skills


The basic problem faced during the whole duration of this project is the less knowledge of the author pertaining the J2ME programming, the solution to this is that the author spent a whole a lot of time on the internet and J2ME books for references.

11.4.2 Connection Problem


The author faced a whole lot of problem in the coding part of the system due to lack of knowledge of the Servlet connection in the J2ME for mobile devices and also connecting with the Yahoo server for verifying stock symbols and retrieving the stock information of stock symbol. To overcome such problems the author hard to study more on the connection of the J2ME to the internet and came out with the Servlet class which is been placed in the apache tomcat server folder to serve as a gateway between the application and yahoo finance server.

11.4.3 Problem of database


Database is main core of the system because all information is stores inside it. Therefore, it is important to make sure the database is functioned and connected properly. The author found a lot of problems with the selection of database that suits the application, he tried some databases such as the Microsoft Access and My Sql for the application but they gave a lot of bugs in connecting them and implementing. The solution to this problem the author found out that the midlet has a persistence database of its own which is the Record Management Store (RMS) and implemented it into the application successfully.

11.5 Conclusion
Based on the above code fragments from each part of the complete program, the author has completed some of the major function of the system. Some of the sub functions are yet to be completed. As the conclusion, the author learned the J2ME programming which is used to implement the system and how to use the Servlet class, and also how to use the RMS to store data.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 73

CHAPTER 12: SYSTEM TESTING


12.1 Introduction
System testing is very important when developing one system. It is a crucial phase that is needed due to test the functionality of the system whether reliable or not. Without system testing it is sure that some bugs or error will come out when the complete system is being completed. There is nothing perfect in this world. By conducting the system test, bugs and error can be limited and fixed but it is sure that some minor bugs will always exist on the system. Some of the testing has already been done when completing the partial system functionality and the result will be shown here.

12.2 Various types of testing method


There are numbers types of testing method that is available on the system development. It depends on the type and the size of the system to indicate which testing method is most suitable for it. Most of testing methods used in the system development are:

12.2.1 Black box testing


This means testing software without any knowledge of the inner workings, structure or language of the module being tested. Black box tests, as most other kinds of tests, must be written from a definitive source document, such as a specification or requirements document. (Unit and functional tests in the development process, 2006)

12.2.2 White box testing


This means testing in which the software tester has knowledge of the inner workings, structure and language of the software, or at least its purpose. (Unit and functional tests in the development process, 2006)

12.2.3 Unit testing


This means it will test each unit or module of the system independently before integrating it together. (Unit and functional tests in the development process, 2006)

12.2.4 Integration testing


This means testing two or more modules or functions together with the intent of finding interface defects between the modules or functions. Testing completed at as a part of unit or functional testing, and sometimes, becomes its own standalone test phase. On a larger level, integration testing can involve a putting together of groups of modules and functions with the goal of completing and verifying that the system meets the system requirements (Unit and functional tests in the development process, 2006)

12.3 Selected Testing Method


Based on the above various types of testing method the author decided to choose unit testing and integration testing for the test plan. This is due to unit testing can tested each individual module and integration testing can test when the whole module running together. Therefore it can show complete flow on what error or bugs is coming from. Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


12.3.1 Unit Testing

P a g e | 74

Unit testing is done through the test on each module independently. The author test each part of the module to make sure that it is error free and will not give an error when trying to integrate with other module. This table below shows the GUI unit testing which means it tested each unit of the GUI interface whether working correctly. *Remarks references Passed passed from test, no further explanation. Fixed failed from test but fixed, with solution. Failed failed from test and cannot be fixed. Interface Add new Stock Expected Result Show the text field for inserting stock symbol. Show all the information on new screen. Actual Result All is being shown correctly. Successfully loaded the new screen to show the data. Screen blank. Not successful Screen is shown to let the user choose Remarks Passed*

View Live Stock

Passed* Failed*

View Stock Graph

Show the graph of the stock with price and volume line. Delete Stock It let the users select to delete all or delete stock one by one. *See Remark References Table 12.3.1(a) GUI Unit Testing

Passed*

Based on the above result, the GUI has no problem on it as it was only dealing whether screen is successfully loaded or not. Unit Function Add Stock Expected Result No error or presented for this function No error or presented for function. No error or presented for function. No error or bugs presented for this function bugs Actual Result Minor error rose up due to RMS problem. Data cannot be retrieved. Fixed* Blank screen Failed* To be fixed Remarks

Fixed*

View Live Stock

bugs this bugs this

View Stock Graph Delete stock

Data cannot be deleted and still in the RMS

Fixed*

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 75

*See Remark References Table 12.3.1(b) Functional unit testing The above table shows the result of testing each of the functional system when the author just finished the code and the result is that error is presented and it indicates the success of unit testing because it is impossible to deliver an error free system when just finish coding the system. But based on the error introduced in the above table, the author has succeeded to fix all the error before proceeding to integration testing of each module.

12.3.2 Integration Testing


Integration testing is method of gathering the whole module into one system and tested it as integration. The author performs some testing after integration and these are the result for the function of the system. *Remarks references Passed passed from test, no further explanation. Fixed failed from test but fixed, with solution. Failed failed from test and cannot be fixed. Function Add New Stock Expected Result It will add only valid stock symbol after check from the Yahoo Finance. It will show all the information of stock and change (-) means down, (+) means up. It will draw out the graph and show the Information. It will delete one by one or all the data together depends on the user selection. Actual Result It adds all stock symbols inserted without any checking on it. It shows the stock data but in the change data if (-) changes it will show as N/A. No stock to draw graph The delete all did not delete entire data, after click, data is still there. Remarks

Fixed*

View Live Stock

Fixed*

View Stock Graph Delete Stock

Failed* To be fixed

Fixed*

*See Remark References Table 12.3.2(a) Integration test result Based on the above result of integration testing there are numbers of fixes done on it. Fixes is shown on below table.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


Function Add New Stock View Live Stock Problem No validation on the stock symbol Any negative value on the stock data will shown as N/A Solution Add validation when adding it will check with Yahoo Finance. A check will be done on any negative value. Either or + will be shown in the stock data Once add new stock is fixed. Changes in the system coding in which it will clear the RMS directly. Remarks

P a g e | 76

Fixed

Fixed To be Fixed

View Stock Graph Delete Stock

No stock available

Not all stock deleted when delete all button is selected

Fixed

Table 12.3.2(b) Fixes on the testing error

12.4 User Evaluation


Here, the author will set few simple questions for potential users to evaluate the system in the emulator. These answers are then reviewed by the author and find out the good comments and the bad comments so that the author will come with a report stating out all the possible improvement in the system. The evaluation is done with the authors friends and relatives total of 10 people. These 10 people are asked to use the system in the emulator and answer the simple questions asked by the author.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


12.4.1 User Evaluation Form
***USER EVALUATION FORM***

P a g e | 77

My name is Muazu Muazu, I am developing a mobile stock exchange monitoring application. This user feedback form is to help me gather any feedback regarding this system and hope to enhance the system in future. SECTION A: In this section, you will have to try out the system then try to rate the system in term of your view. 1 Very Poor 4 Good 2 Poor 3 Medium 5 Excellent

Name: NO Question 1 1 Please rate the user interface of the system. 2 Please rate the performance of the system. How do you rate the functions of the system? (share, 4 unshared, view, properties) 5 How do you rate the stability of the system? 6 Please provide your overall satisfaction on the system. 2 3 4 5

SECTION B: Please write down your suggestion and opinions regarding the system for future enhancement.

***THANK YOU*** ***END OF USER EVALUATOIN FORM***

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


12.4.2 Analysis of user evaluation
Section A: 1. Please rate the user interface of the system. Please rate the user interface of the system
Very Poor 0% Poor 10% Medium 10%

P a g e | 78

Excellent 20%

Good 60%

Figure 12.4.2.1: User Evaluation Review 1 In rating for the user interface, there are sixty percents rate good. They mentioned good is because the system is user friendly and easy to function. In rating for medium and poor; each has a ten percent and twenty percents rate excellent. Base on the basic interface, there are people who rate excellent and also most of them rated good which means that users always tend to forget how a system functions; users will like interface that are easy, basic and user friendly. In the authors system, basic and user friendly is the main concern of designing the user interface. Improvement can still be done in the interface to add more image pictures to provide text that are too dull and not interesting.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 79

2. Please rate the performance of the system. Please rate the performance of the system Please rate the performance of the system
Excellent 5% Good 10% Very Poor 5%

Poor 20%

Medium 60%

Figure 12.4.2.2: User Evaluation Review 2 The rating of the performance shows in the figure 9.2. There are a large percentage of users think that the system is in the medium and good rating. Its actually rea lly hard to judge the performance of the system in the emulator because normally real time will act differently than the emulator and that is why the users mostly put it as a medium rating. In the future, to have a better performance, the author can add some compression technique so that the file can send faster.

4. How do you rate the functions of the system?

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME. How do you rate the functions of the system
Excellent 6% Very Poor Poor 1% 0%

P a g e | 80

Good 26%

Medium 67%

Figure 12.4.2.4: User Evaluation Review 4 Base on the rating, the functions of the system is medium. There are few percents of the users rate the system functions poor. These poor results maybe not because of the system failed to function but because there are not much functions added in the system. There are only a few functions in the system and maybe in the future there will be more functions. 5. How do you rate the stability of the system?

How do you rate the stability of the system


Very Poor 0% Poor 0% Medium 10%

Good 30% Excellent 60%

Figure 12.4.2.5: User Evaluation Review 5

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 81

The stability of the system shows good rating. All the users rate them in excellent and good. This good result is because during running the system in the emulator, there are no fail times.

6. Please provide your overall satisfaction of the system.

Please provide your overall satisfaction of the system


Excellent 9% Very Poor 8% Poor 0%

Good 28% Medium 55%

Figure 12.4.2.6: User Evaluation Review 6 The overall satisfaction for the system also gives good feedback. Mostly all of the users are satisfied with the application.

12.5.3 Conclusion
The author has done most of the unit and integration testing on the system and most of the error or small bugs that come out during the process has been fixed. Until this stage the author is still performing additional testing to make sure that the system can error free and reliable when any unexpected error is found on it. This part and the coding part can be said as the most difficult stages in the system development. In the user feedback, overall the system can be said to be satisfied and working. However, there are still places that the author can improve; this improvement will be amending in the future enhancement for future reference so that in the future, the system performs even better.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 82

CHAPTER 13: Limitation and Future Enhancement


13.1 Introduction
It is kind of impossible for the author to develop a perfect system on this time constraint, knowledge and resources. Therefore, limitation will always rise up on any system that is being developed. This limitation can be resolved by the enhancement of the system whenever any technique is known to be useful to cover the limitation of the system. The author highly recommended for any other party that developing similar area of study to improve the functionality as it can be very useful in the future.

13.2 Limitation of the System


In this part, the author will list down any limitation that is encountered when completing and testing this system.

13.2.1 Dependability on connection speed


This system is very dependable on the Internet connection speed. The speed cannot be too slow or else some of the data is not retrieved correctly and crash each other with other process. Therefore a medium or high speed connection is needed for the maximum capability of the system. But normally as using GPRS, sometime medium speed can be gained through it.

13.2.2 Dependability on Yahoo Finance


This system is also very dependable on Yahoo Finance website performance. If anything down on the server, then this system is also down as it cannot request or retrieved any data from them. But until this stage the author havent come across to this type of problem. It is a prediction whenever there is maintenance on the web site.

13.2.3 Works on mobile simulator


This system is working currently on mobile simulator on J2ME Wireless Toolkit only. The implementation on the real mobile phone has not yet been conducted due to time constraints and different mobile phone has different type of implementation. As directly implement it on Nokia 3610 phone, it doesnt want to open the GPRS connection to the gateway server. It directly shows and error indication no connection can be established as in emulator it works smoothly and nicely.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME. 13.3 Future Enhancement

P a g e | 83

In this part, the author will list down any future enhancement that can be done to the system.

13.3.1 Real Time Stock Data


The author recommends using the real time stock data for the information of the stock quotes. As in this system, the data gained is delayed data from Yahoo Finance approximately 15 minutes. If the real time stock data can be retrieved then this application can be commercialized due to its reliability of data. The author has attempted to get real data but it is not possible due to the cost.

13.3.2 Stock Recommendation


The author recommends creating more functionality for the system which is stock recommendations. This means that the system retrieved the stock data then compute it with some algorithm of expert system and can know whether the stock is recommended to buy or not. This all can be done base on the consistency of the changes of price and volume.

13.3.3 GUI Improvement


The author also recommends some GUI improvement of the system as from what the author see through the system, it is still more text based user interface rather than graphical. The author has no time to deal with the interface due to the time constraints to complete other functionality of the system.

13.3.4 Search Stock capability


Based on the lecturer suggestions the author also suggests for adding the search stock capability, although most of business people know the stock symbol but

13.3.6 Live Graph


The author recommends another good function which is live graph that will be refreshed every certain time and re-draw the graph to the current state. This can only be done through Real time stock data as they can retrieve it on timely manner where as in Yahoo Finance this feature is not available as it only shows the status for 1 day full only.

13.4 Conclusion
The author has already done his best for the project, but there are still some limitations in which the author cannot deal with. Note that the development of one system will never end. Although the author has specified some of the future enhancement on the system, it is his idea, and other parties have their own idea also. Therefore the development of enhancement of one system will never end. It is a must to perform a thorough research on any new technique or technology that can make the system works better in the future.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | 84

CHAPTER 14: CONCLUSION


In conclusion, the author gained knowledge on several technologies such as the J2ME which is been use throughout the project for the development of the application. Though there were lots of troubles faced with the J2ME due this the first time for the author to study and work with the programming language. In the end of the project the author want to self estimating the quality of the project. Its important that in the end to know what has been get from this project. This conclusion shows different view and perspective towards overall project including the development part. First of all, the development process has become a key success of a project. Failed to deliver a system is the worst can happen in the Double Module. During the development, its the hardest part on any project. We must learn and learn how to code in limited time constraint. Even until the end of the project, there are still some bugs on it. For example in the system, sometimes the download stock quotes and Yahoo server down and the system become not usable. Therefore, there are lots of things that cannot be avoidable in the system development. More bugs will occur when you try to enhance the system. Secondly, the system still can be enhanced. All possible enhancements are listed out by the author. This system is useful for normal business people not like big company business people, as it is easy to use and not too big. What the author suggest for any other project in the same area of study is try to make use of the real time data as it will make your system more reliable in delivering the data. Thirdly, about the documentation, it is not really a big problem. It can be finished earlier if you really follow the schedule you have specified in the Gantt chart. The only difficulty that can be found in documentation only is grammatical error. For any other information, it can be easily found both from internet and books. In the end, the author is very satisfied that this project can be finished on time. What has been spent in these semesters is really useful. Many things have been learnt.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |I

Appendix A Gantt Chart

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |I

Appendix B Project Specification

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | II

Project Specification Proposal


___________________________________________________________________________ Student: MUAZU MUAZU I07007607 Major: BSECU Supervisor(1): Yap Soo Har

Supervisor (1): Ms. PO JIANG LING

___________________________________________________________________________ Title: Develop a mobile application for stock exchange monitoring using J2ME. __________________________________________________________________________ Abstract:

The purpose of this project is to develop an application that gives the user information on the real time status of market stock exchange and quotes of certain company or organization selected by the user. By using the application, user can add stock into the database, and then view the stock information either in live form or even in historical chart form. And at last they can manage their stock symbol database on their phone. By using this system, it will be easier for the users to obtain the status of the stock exchange in the market especially for business people who are mostly interested in buying shares.
Objectives Date of Completion

1. To perform a research on stock exchange. To produce a study report on the findings. 2. To perform a research and study on GPRS. To produce a study report on the findings. 3. To perform a research on Mobile application Development Methodology. To produce a study report on the findings. 4. To perform a research and study on Java 2 Micro Edition (J2ME). To produce a study report on the findings.

5. To perform a research, study and evaluate on Java Servlet technology. To determine how it is to be used in the proposed system. 6. To conduct a requirement analysis to find out the user needs by using the appropriate fact finding techniques. To analyze and document the user requirement gathered
7. To analyze and identify the functional and nonfunctional requirements of the user and the system. To produce a functional, non functional and user requirement reports.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


8. To consider the relevant features of the various tools and techniques available to be used to implement the proposed system. To specify the most suitable tools and techniques for system development 9. To design the system at the users best interest using the appropriate tools and techniques. To provide a system design report using the appropriate diagrams. 10.
To design the system and screen interface of the proposed application. To produce the system and interface design.

P a g e | III

11. To construct the programming code for the proposed system. To produce a compiled program code for the proposed system that performs all the functionality. 12. To implement the final design system and present it to the user for assessments. To produce a report that documents the different implementation procedures, testing and results of the tests, final user evaluation. 13. To evaluate the system while exercising all its functionalities. To produce a report on all evaluations carried out and note all the needs for enhancements. 14. To produce a final Project Report. To submit the completed and edited final project report.

Hardware requirements: Personal Computer (Intel Core Duo2) 15 Monitor Hard disk (150GB) 4GB SD RAM 2GB USB Drive

Software requirements: Java JDK 1.6.0 / Java.Net for System Development Net Beans Microsoft Office 2007 or 2010 Microsoft Windows Vista or 7

Muazu Muazu _________________________ Students Name and Signature ________________________ Date

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |I

Appendix Reports

Project

Monitoring

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


PHASE 1/4: Project Monitoring Report in B.Sc. (Hons) in Software Engineering, Coventry University NAME: Muazu Muazu MAJOR: BSECU SESSION: January 2010 2nd SUPERVISOR:

P a g e | II

1st SUPERVISOR: Ms Po Jiang ling

PROJECT TITLE: Develop a mobile application for stock exchange monitoring using J2ME. __________________ ______________ ___________________ SET PROJECT OBJECTIVES for PHASE 1/4: 15. To perform a research and study on stock exchange and GPRS. To produce a study report on the findings. 16. To perform a research and study on Java 2 Micro Edition (J2ME). To produce a study report on the findings. 17. To perform a research on Mobile application Development Methodology. To produce a study report on the findings. 18. To perform a research, study and evaluate on Java Servlet technology. To determine how it is to be used in the proposed system. LIST OF PROJECT ACHIEVEMENTS/STATUS (Milestones should be indicated with dates): Date ACTIVITY DETAILED REPORT OF ACTIVITY Wednesd To perform a research and The author viewed through ay study on stock exchange the internet to get a clearer 17/5/2010 and GPRS. To produce a idea of Stock exchange study report on the market and the GPRS. The findings. author produced a study report on the findings. Friday To perform a research and The author surfed through 19/5/2010 study on Java 2 Micro the internet and articles on Edition (J2ME). To produce J2ME to do the background a study report on the study of it and produce findings. report. Tuesday To perform a research on The author did a research 23/5/2010 Mobile application for the mobile application Development Methodology. technology and came up To produce a study report with the challenges and on the findings. best practice in developing mobile application.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


Friday 26/5/2010 *2

P a g e | III

To perform a research, study and evaluate on Java Servlet technology. To determine how it is to be used in the proposed system.

The author did a research and study for the Java Servlet technology by surfing the internet and reading so tutorials on the Servlet.

COMMENTS ON PROGRESS: 1. The author due to change of title had so problems with timing as in the phase is already past due date. 2. The author spent a lot of time reading online to get ideas on stock exchange market and the Java Servlet technology. 3. The author gathered the information he obtained and reviewed it, to ensure the accuracy of the work. 4. All objectives of phase 1 were completed. In summary, the author followed the guidelines given to him by his supervisor and made sure he met his entire project specifications. Although time is really a factor so the author was able to complete the phase within a short duration of time.

SUPERVISOR GENERAL COMMENTS: (Hand written) . . Level of attention shown to professional development aspects (please tick): CHARACTERICTICS A (70100) B+ (60 69) B(50 59) C (40 49) D (0 3 9)

Self-management & organization Information seeking & analysis Identifying & tracking problems Presentation & quality of work ***END OF REPORT*** Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


PHASE 2/4: Project Monitoring Report in B.Sc. (Hons) in Software Engineering, Coventry University

P a g e | IV

__ NAME: Muazu Muazu MAJOR: BSECU SESSION: January 2010 2nd SUPERVISOR: ___ PROJECT TITLE: Develop a mobile application for stock exchange monitoring using J2ME.
__________________ ______________ _____________________

1st SUPERVISOR: Ms Po Jiang ling

SET PROJECT OBJECTIVES for PHASE 2/4: 19. To conduct a requirement analysis to find out the user needs by using the appropriate fact finding techniques. To analyze and document the user requirement gathered 20. To analyze and identify the functional and nonfunctional requirements of the user and the system. To produce a functional, non functional and user requirement reports. 21. To consider the relevant features of the various tools and techniques available to be used to implement the proposed system. To specify the most suitable tools and techniques for system development LIST OF PROJECT ACHIEVEMENTS/STATUS (Milestones should be indicated with dates): Date
28/5/2010

ACTIVITY To conduct a requirement analysis to find out the user needs by using the appropriate fact finding techniques. To analyze and document the user requirement gathered To analyze and identify the functional and nonfunctional requirements of the user and the system. To produce a functional, non functional and user requirement reports. To consider the relevant features of the various tools and techniques available to be used to implement the

30/5/2010

DETAILED REPORT OF ACTIVITY The author conducted the requirement analysis through the use of questionnaire and after that the author analyses the outcome of the questionnaire. The author identified the functional, non functional and user requirements and produce report.

31/5/2010

The author considered some of the relevant features of the various tools and techniques

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


proposed system. To specify the most suitable tools and techniques for system development available to be used to implement them during the project. And specify the most suitable tools and techniques for system development

Page |V

COMMENTS ON PROGRESS: 5. The author due to change of title had so problems with timing as in the phase is already past due date. 6. The author performs a thorough investigation on the questionnaire design technique and designs the entire question to make the requirement gathering easier. 7. The most time spent is in completing the objective 1 of the report as it is the fundamental concept for gathering requirements of the user for the proposed system. 8. The author gathered the information he obtained and reviewed it, to ensure the accuracy of the work. 9. All objectives of phase 2 were completed. In summary, the author followed the guidelines given to him by his supervisor and made sure he met his entire project specifications. Although time is really a factor so the author was able to complete the phase within a short duration of time. SUPERVISOR GENERAL COMMENTS: (Hand written) . . Level of attention shown to professional development aspects (please tick): CHARACTERICTICS A B+ BC D (70(60 (50 (40 (0 100 ) 69) 59) 49) 3 9) Self-management & organization Information seeking & analysis Identifying & tracking problems Presentation & quality of work ***END OF REPORT***

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


PHASE 3/4: Project Monitoring Report in B.Sc. (Hons) in Software Engineering, Coventry University

P a g e | VI

NAME: Muazu Muazu

MAJOR: BSECU

SESSION: January 2010 2nd SUPERVISOR: Yap Soo Har

1st SUPERVISOR: Ms Po Jiang ling

PROJECT TITLE: Develop a mobile application for stock exchange monitoring using J2ME.
__________________

SET PROJECT OBJECTIVES for PHASE 3/4: 1. To design the system at the users best interest using the appropriate tools and techniques. To provide a system design report using the appropriate diagrams. LIST OF PROJECT ACHIEVEMENTS/STATUS (Milestones should be indicated with dates):

Date
9/6/2010

ACTIVITY To design the system at the users best interest using the appropriate tools and techniques. To provide a system design report using the appropriate diagrams. Review of information and analyzing of phase 2

DETAILED REPORT OF ACTIVITY The author viewed through lots of textbook, journals and surfed the internet to get a more vivid idea of UML design

8/6/ 2010

The author took time to analyze his diagrams and interface design to ensure a proper correlation.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


COMMENTS ON PROGRESS:

P a g e | VII

10. The author took time reading textbooks, to aid in producing an accurate UML diagrams. 11. The author carefully reviewed his work, to ensure the accuracy of the work. 12. The most time spent is in drawing the class and sequence diagrams 13. The author had to include the client and server into the activity and sequence diagram because the Stock exchange monitoring system would be designed to connect to the internet which is the Yahoo finance URL as the server to retrieve updates on stocks. In summary, the author followed the guidelines given to him by his supervisor and made sure he met his entire project specifications. Though, little difficulties were faced during developing the interface. Hence, the author is confident in providing the project report. SUPERVISOR GENERAL COMMENTS: (Hand written) . . Level of attention shown to professional development aspects (please tick):

CHARACTERICTICS

A (70100 )

B+ (60 69)

B(50 59)

C (40 49)

D (0 3 9)

Self-management & organization Information seeking & analysis Identifying & tracking problems Presentation & quality of work

***END OF REPORT*** Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | VIII

PHASE 4/4: Project Monitoring Report in B.Sc. (Hons) in Software Engineering, Coventry University

NAME: Muazu Muazu

MAJOR: BSECU

SESSION: January 2010 2nd SUPERVISOR: Yap Soo Har

1st SUPERVISOR: Ms Po Jiang ling

PROJECT TITLE: Develop a mobile application for stock exchange monitoring using J2ME.
__________________

SET PROJECT OBJECTIVES for PHASE 4/4: 1. To design the system and screen interface of the proposed application. To produce the system and interface design. 2. To construct the programming code for the proposed system. To produce a compiled program code for the proposed system that performs all the functionality. 3. To implement the final design system and present it to the user for assessments. To produce a report that documents the different implementation procedures, testing and results of the tests, final user evaluation. LIST OF PROJECT ACHIEVEMENTS/STATUS (Milestones should be indicated with dates): Date
19/6/2 010 29/6/2 010

ACTIVITY To produce the system and interface design.

7/7/ 2010

To produce a compiled program code for the proposed system that performs all the functionality. To produce a report that documents the different implementation procedures, testing and results of the tests, final user evaluation.

DETAILED REPORT OF ACTIVITY The author took time to analyze his system and interface design to ensure a proper correlation. The author spent more time and studied through on the J2ME and constructed the programming codes for the application The author viewed through lots of textbook, journals and surfed the internet for the type of testing to be done on the system.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


COMMENTS ON PROGRESS:

P a g e | IX

1. The author took time reading textbooks, to aid in developing the system. 2. Its a client server application so the author studied on how the client server works and the RMS as the database for the application. 3. The author carefully reviewed his work, to ensure the accuracy of the work. 4. The most time spent is in completing the objective 10 of the report as it deals with the programming parts and it needs lots of time to perform full functional coding for the system. Until this stage, the author still encounters some problem on the coding part. 5. The crucial problem is the application is not connecting with the server to add stock in to the mobile phone. 6. The author tried to test the application but there are lots of functions which cannot be tested because of the inability to verify and add stock into the mobile. In summary, the author followed the guidelines given to him by his supervisor and made sure he met his entire project specifications. Though, little difficulties were faced during developing the interface. Hence, the author is confident in providing the project report.

SUPERVISOR GENERAL COMMENTS: (Hand written) . . Level of attention shown to professional development aspects (please tick): CHARACTERICTICS A B+ BC D (70(60 (50 (40 (0 100 ) 69) 59) 49) 3 9) Self-management & organization Information seeking & analysis Identifying & tracking problems Presentation & quality of work ***END OF REPORT*** Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |X

Appendix D - Questionnaire Sample

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | XI

QUESTIONNAIRE I am Muazu Muazu a student of BSc. Software Engineering, Coventry University (BSECU). Currently, I am doing my final year project on the development of a mobile application for stock exchange monitoring using J2ME and I will really appreciate it if you can please spear me a little of your time to fill in this survey. It is designed to help me understand the user needs and make conclusions on the system requirements. Thank you for your kind gesture. SECTION A: Stock Exchange 1. Do you know about stock exchange? a. Yes b. No 2. Would you like to add stock symbols you want to monitor or select from list of stock symbols? a. Add b. Select 3. b. 4. b. 5. b. 6. b. Would you like the application to save stock history? Yes b. No How long do you want the duration of the Stock exchange history to be? 1 week b. 1 Month c. 3 Months d.1 year How would you like your stock quotes to be displayed with? Percentage b. Price c. Market Capital Would you like the application to provide you a Stock gainers list? Yes b. No

SECTION B: Mobile Phone Usage 7. What phones are you using now? a. Nokia b. Sony Ericsson c. Blackberry

D. HTC

e. Others ____________

8. What are the features did you mostly used in the phone except for phone call? a. WAP/ GPRS browsing b. SMS and MMS messaging c. Others ________ 9. Have you ever used any services related to business services such as online banking through mobile? b. Yes b. No.

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.


SECTION C: User Opinion 10. b. 11. b.

P a g e | XII

Where do you usually get the information about stock market? Newspaper b. Television c. Online through Internet d. Others ____________ What type of representation did you prefer in checking the market stock? Graph/Chart b. Text only c. Others ____________ (please specify)

12. What are the business related services you have ever used? (If no, then leave this blank) 13. b. Will you use this feature in future? Yes b. No

14. What are your expectations through the mobile stock exchange system? ________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | XIII

***USER EVALUATION FORM*** My name is Muazu Muazu, I am developing a mobile stock exchange monitoring application. This user feedback form is to help me gather any feedback regarding this system and hope to enhance the system in future. SECTION A: In this section, you will have to try out the system then try to rate the system in term of your view. 1 Very Poor 4 Good 2 Poor 3 Medium Name: N O 1 2 4 5 6 Question Please rate the user interface of the system. Please rate the performance of the system. How do you rate the functions of the system? (share, unshared, view, properties) How do you rate the stability of the system? Please provide your overall satisfaction on the system. 1 2 3 4 5 5 Excellent

SECTION B: Please write down your suggestion and opinions regarding the system for future enhancement.

***THANK YOU*** ***END OF USER EVALUATOIN FORM***

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |I

Appendix E System Screen Shot

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | II

Main Menu Interface

Add New Stock Interface

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

P a g e | III

View Stock Information Interface

Delete Stock Interface

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page |I

REFERENCES

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page | II

REFERENCE: Websites Stock Exchange (Online) (cited on 9th May, 2010). URL: <http://www.businessdictionary.com/definition/stock-exchange.html> Stock Quotes (Online) (cited on 19th May, 2010). URL: <http://help.excite.com/money/stockquotes.html> GPRS (Online) (cited on 10th May, 2010). URL: <http://ntrg.cs.tcd.ie/undergrad/4ba2.01/group1/gprs2.htm> GPRS (Online) (cited on 10th May, 2010). URL: <http://www.netlab.tkk.fi/opetus/s38118/s98/htyo/54/tech.shtml> GPRS Technology Tutorial (Online) (cited on 11th May, 2010). URL:<http://www.radioelectronics.com/info/cellulartelecomms/gprs/gprs_tutorial.php> J2ME: Introduction, Configurations and Profiles (Online) (cited on 19th May, 2010). URL: <http://www.ifi.uzh.ch/~riedl/lectures/Java2001-j2me.pdf> Servlet: An Instant Tutorial (Online) (cited on 10th May, 2010). URL: <http://java.sun.com/products/servlet/articles/tutorial/> Yahoo Data Download (Online) (cited on 20th May, 2010). URL: <http://gummy-stuff.org/Yahoo-data.htm> Visual Basic 6.0 Technical Articles (Online) (cited on 29th May, 2010). URL: <http://msdn.microsoft.com/en-us/library/aa260644%28VS.60%29.aspx> What is C++ (Online) (cited on 30th May, 2010). URL: <http://www.hitmill.com/programming/cpp/whatiscpp.html> About Java Technology. (Online) (cited on 30th May, 2010). URL: <http://www.sun.com/java/about/> Java ME Technology (Online) (cited on 30th May, 2010). URL: <http://java.sun.com/javame/technology/index.jsp > Programming Language Comparison (Online) (cited on 31st May, 2010). URL: < http://www.jvoegele.com/software/langcomp.html >

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

Develop a mobile application for stock exchange monitoring using J2ME.

Page | III

J2ME record management store(Online) (cited on 31st May, 2010). URL: <http://www.ibm.com/developerworks/library/wi-rms/> UML Definition from PC Magazine Encyclopedia (Online) (cited on 9th June, 2010). URL: <http://www.pcmag.com/encyclopedia_term/0,2542,t=UML&i=53392,00.asp> Unified Modeling Language (UML) | Motive Glossary (Online) (cited on 9th June, 2010). URL: <http://www.motive.co.nz/glossary/uml.php> UML 2 Use Case Diagramming Guidelines (Online) (cited on 10th June, 2010). URL: <http://www.agilemodeling.com/style/useCaseDiagram.htm> Introduction to UML 2 Sequence Diagrams (Online) (cited on 10th June, 2010). URL: <http://www.agilemodeling.com/artifacts/sequenceDiagram.htm> UML 2 Sequence Diagramming Guidelines (Online) (cited on 10th June, 2010). URL: <http://www.agilemodeling.com/style/sequenceDiagram.htm> Overview of Functional Decomposition (Online) (cited on 10th June, 2010). URL: <http://it.toolbox.com/blogs/enterprise-solutions/overview-of-functionaldecomposition-14609 > Types of Testing (Online) (cited on 9th July, 2010). URL: < http://www.softsett.com/TestingTypes.jsp> Using unit and functional tests in the development process (Online) (cited on 9th July, 2010). URL: < http://www106.ibm.com/developerworks/library/j-test.html>

Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session

You might also like