Professional Documents
Culture Documents
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
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
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
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
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
Page |1
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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
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
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.
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
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)
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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.
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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)
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 )
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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)
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
Page |9
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.
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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
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
P a g e | 13
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
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 )
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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.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
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.
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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 )
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
P a g e | 19
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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
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
P a g e | 22
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
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
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
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
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 ____________
Blackberry 8%
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
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%
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
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
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
P a g e | 30
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
P a g e | 31
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
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | 33
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
P a g e | 34
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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.
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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
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 )
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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
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
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
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
P a g e | 43
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | 44
<<extends>>
User <<uses>> View Li ve Stock Update <<uses>> View History Charts Look up for Stock Information
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
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
<<uses>> <<uses>> <<uses>> Delete Specific Stock View Live Stock <<uses>> Look up Stock Information Confirm Stock Validity
<<extends>>
<<extends>>
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | 46
These figures below show the activity diagrams for Stock Exchange Monitoring system.
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | 47
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | 48
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | 49
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | 50
Figure 9.1.3b: View stock sequence diagram Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | 51
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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
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
Chart History
Delete Selected
1 week Chart
1 month Chart
3 Months Chart
6 months Chart
1 Year Chart
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
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | 55
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
Chart History
Delete Selected
1 week Chart
1 month Chart
3 Months Chart
6 months Chart
1 Year Chart
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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.
Figure 10.2.2 Add New Stock interface Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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.
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
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
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.
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.
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.
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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
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
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 );
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
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); } }
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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
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
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.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
P a g e | 73
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*
Passed* Failed*
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*
Fixed*
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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.
Fixed*
Fixed*
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
P a g e | 76
Fixed
Fixed To be Fixed
No stock available
Fixed
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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.
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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
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.
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?
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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.
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
P a g e | 82
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.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
P a g e | 84
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
Page |I
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
Page |I
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | II
___________________________________________________________________________ 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
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
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
Page |I
Appendix Reports
Project
Monitoring
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | II
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
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
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.
__________________ ______________ _____________________
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
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
P a g e | VI
MAJOR: BSECU
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
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
P a g e | VIII
PHASE 4/4: Project Monitoring Report in B.Sc. (Hons) in Software Engineering, Coventry University
MAJOR: BSECU
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
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
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
Page |X
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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
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
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.
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
Page |I
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | II
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
P a g e | III
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
Page |I
REFERENCES
Prepared by: Muazu Muazu BSECUN Double Module Project January, 2010 Session
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
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