Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 33

ST.

XAVIERS COLLEGE
(Affiliated to Tribhuvan University)
Maitighar, Kathmandu

Case Study Report


on
Artificial Intelligence, Computer Graphics and Java Programming
(ITC 223, ITC 221 and ITC 222)
Under the supervision of
Vishnu Kumar Rana
Head of Department
Submitted by
Niroj Shrestha (T.U. Exam Roll No. 4630/12)
Raju Pangeni (T.U. Exam Roll No. 4638/12)
Sabin Chalise (T.U. Exam Roll No. 4645/12)
Sirash Shrestha (T.U. Exam Roll No. 4659/12)
SmarikaThapa (T.U. Exam Roll No. 4660/12)

Submitted to

ST. XAVIERS COLLEGE


Department of Computer Science
Maitighar, Kathmandu, Nepal
September 24, 2014

Artificial Intelligence, Computer Graphics and Java Programming


Code No.: ITC 223, ITC 221 and ITC 222

A case study report submitted in partial fulfillment of the requirement for the degree of Bachelor
of Science in Computer Science and Information Technology

Submitted by
Niroj Shrestha (T.U. Exam Roll No. 4630/12)
Raju Pangeni (T.U. Exam Roll No. 4638/12)
Sabin Chalise (T.U. Exam Roll No. 4645/12)
Sirash Shrestha (T.U. Exam Roll No. 4659/12)
SmarikaThapa (T.U. Exam Roll No. 4660/12)

Submitted to

ST. XAVIERS COLLEGE


Department of Computer Science
Maitighar, Kathmandu, Nepal

September 24, 2014

CERTIFICATE OF APPROVAL

The undersigned certify that they have read and recommended to the Department of Computer
Science for acceptance, a case study report entitled Case Study on Artificial Intelligence,
Computer Graphics and Java Programming submitted by Niroj Shrestha (T.U. Exam Roll No.
4630/12), Raju Pangeni (T.U. Exam Roll No. 4638/12), Sabin Chalise (T.U. Exam Roll No.
4645/12), Sirash Shrestha (T.U. Exam Roll No. 4659/12) and Smarika Thapa (T.U. Exam Roll
No. 4660/12) in partial fulfillment for the degree of Bachelor of Information Management.

..
Vishnu Kumar Rana
Head of Department
Department of Computer Science
St. Xaviers College

ACKNOWLEDGEMENT
At the beginning, we would like to ensure a hearty thanks to our supervisor and head of
department, Mr. Vishnu Kumar Rana for providing us the opportunity to have real world
knowledge about the courses that we will be studying in 5th Semester. It has allowed us to
understand the required skills and knowledge about the tools to work on those fields. We are also
grateful to Mr. Rajan Karmacharya and Mr. Bal Krishna Subedi. The case study was done at
Tribhuvan International Airport, Nepal Television and Leapfrog Technology.
For understanding the implementation of Artificial Intelligence we went to Meteorological
Forecasting Division at TIA. We wouldnt have access to the airport without the help of Mr.
Rishi Kesh Sharma, General Manager of TIA. We are also grateful to Er. Raju Pradhanang for
providing us the details about implementation of Artificial Intelligence in weather forecasting.
For understanding the implementation of Computer Graphics we went to Nepal Television at
Singh Durbar. We couldnt be there without the help of Mr. Khadga Gardwara. We are grateful to
Er. Barun Kumar Singh, executive engineer at Nepal Television, for giving the brief of use of
Computer Graphics at Nepal Television.
For understanding the implementation of Java Programming we went to Leapfrog Technology at
Hattiban. We wouldnt have access to the company without the help of Mr. Ananta Lamichhane.
We are also grateful to Er. Kiran Kumar Regmi, Java Developer at Leapfrog Technology, for
making us understand who the company works on Java projects.

Niroj Shrestha (T.U. Exam Roll No. 4630/12)


Raju Pangeni (T.U. Exam Roll No. 4638/12)
Sabin Chalise (T.U. Exam Roll No. 4645/12)
Sirash Shrestha (T.U. Exam Roll No. 4659/12)
SmarikaThapa (T.U. Exam Roll No. 4660/12

ABSTRACT
The case study is an innovative approach to the IT market of Nepal for the students. This case
study is based on Aritificial Intelligence, Computer Graphics and Java Programming. The study
is solely based on the purpose of implementation of these topics in the real world scenario.
Weather Forecasting is one of the popular implementation of Artificial Intelligence. The
government instition authorized to forecast weather is Meteorological Forecasting Division
based on Tribhuvan International Airport. We found that AI is not applied for this purpose yet in
Nepal due to lack of resources. We were told that the foreign project named PPCR from
Germany will help apply AI in this field.
Video Editing and Mixing is one of the most useful part of Computer Graphics. It is widely used
in Television Broadcasting. So at Nepal Television we found that various tools combining both
hardware and software was used for this purpose. The use of computer graphics at the
organization is indespensible in day to day work from editing advertisement to news clips to
mixing various shows in the television.
Java is one of the most popular programming language. At Leapfrog Technology we found that
Java was their language of choice for most of the projects. We came to know that Spring
framework was most popular open-source Java Framework and it was used there too. Likewise,
the projects were handled in Agile Development model which was compatible with the
portability of Java Language.

TABLE OF CONTENTS
Contents

Pages

Abbreviations

Chapter 1: Artificial Intelligence


1.1

Introduction

1.2

Case Study Overview

1.3

1.2.1

Decision Criteria

3-4

1.2.2

Market Needs

1.2.3

Goals

1.2.4

Assumptions

1.2.5

Data Analysis

5-6

1.2.6

Preferred Alternative with Rationale

1.2.7

Justification

Result Analysis

1.3.1 Critical Analysis

1.3.2 Conclusion

Chapter 2: Computer Graphics

2.1 Introduction

10-13

2.2 Case Study Overview


2.2.1 Decision Criteria

13

2.2.2 Assumptions

13

2.2.3 Data Analysis

14

2.2.4 Preferred Alternative with rationale

15

2.2.5 Justification

15

2.3 Result Analysis


2.3.1 Critical Analysis

16

2.3.2 Conclusion

16

Chapter 3: Java Programming

3.1 Introduction

17

3.2 Case Study Overview


3.2.1 Target Market Identification

18

3.2.2 Market Needs

18-19

3.2.3 Analysis of Case

19

3.2.4 Goals

20

3.2.5 Decision Criteria

20-21

3.2.6 Assumptions

21

3.2.7 Data Analysis

21-22

3.2.8 Preferred Alternative with rationale

22

3.2.9 Justification

22

3.3 Result Analysis

References

23

24

ABBREVIATIONS
MFD

Meteorological Forecasting Division

TIA

Tribhuvan International Airport

NTV

Nepal Television

IT

Information Technology

DHM

Department of Hydrology and Meteorology

ANN

Artificial Neural Network

NWP

Numeric Weather Prediction

WRF

Weather Research and Forecast

TAF

Terminal Aerodrome Forecast

NCAR

National Center for Atmospheric Research

NCEP

National Centers for Environmental Prediction

FSL

Forecast Systems Laboratory

AFWA

Air Force Weather Agency

NRL

Naval Research Laboratory

FAA

Federal Aviation Authority

Chapter 1: ARTIFICIAL INTELLIGENCE


1.1 Introduction
Weather is one of the most dynamic environmental phenomena in nature. Humans are subject to
adjustment with respect to weather condition from our dressing habits to strategic organizational
planning activities, since the adverse weather conditions may cause a considerable damage on
our lives and properties. We need to be on alert to these adverse weather conditions by taking
some precautions and using prediction mechanisms for early warning of hazardous weather
phenomena.

Background
Government of Nepal started hydrological and meteorological activities in an organized way in
1962. The activities were initiated as a section under the Department of Electricity.
Meteorological Forecasting Division (MFD) was then divised under Department of Hydrology
and Meteorology. The DHM is an organization under the Ministry of Environment, Government
of Nepal. The department operates on three basin offices at Nepaljung Biratnagar and
Narayanghat. Meteorological activities are managed by a regional office in Surkhet, Pokhara and
Dharan.
Weather prediction is an indispensable requirement for all of us. There is a general and
increasing interest on weather information, since every day we habitually give an ear to weather
forecast news for local and large-scale long-term or short term weather predictions. MFD under
the direct supervision of DHM has been developing weather prediction systems capable of
detecting, predicting and forecasting weather phenomena by using the numerical model.
In this case study, we try to give an overview about weather prediction methodologies used by
the MFD. Thus, this case study is mainly focused on weather predictions procedure and the
systems for the weather prediction used by the MFD in Nepal which is very important for future
implementation of AI.

1.2 Case Study Overview

1.2.1 Decision Criteria


As we know that weather is a very complex environmental phenomenon, so there a huge
scope of the use of AI for forecasting the weather. Generally for the weather forecasting
purpose the Artificial Neural Network (ANN) model is used, that is they are
computational models inspired by an animal's central nervous systems (in particular the
brain) which is capable of machine learning as well as pattern recognition. ANNs are
generally presented as systems of interconnected neurons which can compute values from
inputs.
According to Edward Norton Lorenz (an American mathematician and meteorologist),
There are only two methods to predict weather: the empirical approach and the
dynamical approach. Lorenz so separated weather forecasting methodologies into two
main branches in terms of numerical modeling and scientific processing of
meteorological data.
The empirical approach is based upon the happenings of comparable cases (i.e. similar
weather situations). The empirical approach is useful for predicting local-scale weather if
recorded cases are plentiful. The empirical approach mostly depends on past
meteorological data assuming that initially similar conditioned weather conditions shall
go in parallel for some time enough to make a short range weather prediction. This
approach is an analogical method of weather forecasting that bases predictions for the
present case on the outcomes of similar past cases. Utilizing past meteorological data is
not as easy as it seems, since there are many problems to be handled, like deciding
similar cases in continuous weather parameters. The dynamical approach is a NWP
method that takes inputs readings from weather stations, satellite images, atmospheric
probes and other sources and computes solar energy effects and global rotational effects,

latitude effects, ocean currents effects, landmasses effects and produces global weather
predictions. NWP models build these computation results as initial conditions to systems
of equations that describe the atmosphere. Output from these models is useful for large
scale and longer-term forecasts. However, the complete description of the atmosphere in
this form is far beyond current capability that requires more improvements, more
measurement, and more parameters.

1.2.2 Market Needs


Weather Forecasting is crucial in various fields like Aviation and Mountaineering.
Likewise, citizen of any country have right to information so weather forecast is
very important for all of us to prepare for the dynamic weather. The requirement
of weather forecast is very important for following areas:

Aviation

Mountaineering

Corporate Business

Agriculture

Citizen

1.2.3 Goals
MFD is the responsible government intuition for forecasting weather. Its goals are:

Weather Forecast

Weather Notice Board Operation

Provide Weather Records

Provide Weather News

Provide satellite images of the current weather pattern

1.2.4 Assumptions
MDF has to make various assumptions in forecasting weather due to the small
area covered by Nepal in the world. MFD currently uses Numeric model which
has various variables assumed according to the date and time. It has not been able
to use the AI for forecasting which has caused this dilemma among the employees
there about the forecasting variables and their fidelity.

1.2.5 Data Analysis


In this case study, we found MFD uses the several technologies for the weather
forecasting purpose. Some of them being TAF, NWP, WRF, Digital Atmosphere and
Weather Satellites.
NWP which uses mathematical models of the atmosphere and oceans to predict the
weather based on current weather conditions. These include the various variables as
inputs such as Air pressure, temperature, wind direction and speed etc. For the NWP the
MFD is using the WRF program software. It is currently using WRF Version 3.2
software. This software is a next-generation numerical weather prediction system
designed to serve both atmospheric research and operational forecasting needs. It features
two dynamical cores, a data assimilation system, and a software architecture facilitating
parallel computation and system extensibility. The model serves a wide range of
meteorological applications across scales from tens of meters to thousands of kilometers.
For the weather forecasting the datas are received from NCAR because there is no
separate satellite of Nepal. Thus, the real time data are not available for the forecasting
purpose. The WRF system is down scaled for the weather prediction because this model
covers the radius of 50 kilometers. Since, Nepal has greatly diversified terrain and small
area the weather forecast carried out by taking 50 kilometers radius is not accurate. So,
by downsizing the radius to 9 kilometers, forecasting is currently done. Now in coming

years, it is purposed to down scaled to 1 kilometer radius for more accurate weather
forecasting.
For the weather forecasting, MFD is using several computer systems. It is currently using
Dell PowerEdgeT610 as a server. It has got Intel Xenon Processor with Quad Core
Processor with 16 GB of RAM. It operates on Linux Cent Version 5.0 operating system.
It uses Linux operating system as weather forecasting is a sophisticated task. The server
is used to get the real time weather forecasting updates. It is automated to do so.
MFD also uses the weather satellites for the weather forecasting and real time weather
situation analysis. It gets the live images directly from the satellite situated at 36000kms
above the earth surface. By using the satellite images, it can analyze the fog, low clouds,
clouds, dry, moisture, vapors, winds etc.
MFD also uses the Digital Atmosphere software program installed a touch screen board
for the weather prediction. Digital Atmosphere is a powerful weather forecasting program
that allows you to create detailed maps of real-time weather for anywhere in the world. It
makes extensive use of techniques and algorithms that are comparable and in some cases
superior to the National Weather Service's multimillion-dollar computers. This software
program is also an effective model for the weather forecasting.

1.2.6 Preferred Alternative with rationale


There is only single MFD forecasting for all major areas like Aviation and General
Public. Aviation requires a 24-hours model of weather prediction while General
Public requires a 3 day model. Likewise mountaineering benefits from 4 hour
model. But at the current moment, due to lack of human resources and
technological resources all this work is done by MFD. The alternative seems to be
the differentiated division for all major areas so that proper forecasting can be
made by better utilization of resources.

1.2.7 Justification
MFD is the only institution in Nepal performing forecasting services in Nepal.
While doing so there has been lots of investment. Still the forecasting is not
accurate enough and trustable due to lack of technological and skilled human
resources. AI has not been implemented till date.
As per the information given, the project funded from Germany which will come
to Nepal after 3 years will bring the required changes in this system. It will
implement AI forecasting, training to employees and provide fund to run the
system. But for the time being MFD is not able to provide its forecasting services
as much to the potential it has.

1.3 Result Analysis

1.3.1 Critical Analysis


As we visited the MFD situated at TIA, we discovered the various methods and
techniques of weather forecasting used. We also found that the major source of the
weather forecasting is by the application of NWP through software application
called WRF version 3.5. This uses mathematical models of the atmosphere and
oceans to predict the weather based on current weather conditions. Mathematical
models based on the same physical principles can be used to generate either shortterm weather forecasts or longer-term climate predictions.
It also implements the various methods for forecasting such as MICAPS and
Digital Atmosphere which is a powerful weather forecasting program that allows
you to create detailed maps of real-time weather for anywhere in the world,
Weather Satellite which is a type of satellite that is primarily used to monitor the
weather and climate of the Earth. Satellites can be polar orbiting, covering the
entire Earth asynchronously, or geostationary, hovering over the same spot on the
equator.
There also exist many problems related to MFD. There are limited resources
available, and the existing resources are also not advanced for the effective and
accurate prediction. There are also problems related to the manpower. Only limited
numbers of technical employees are employed in the Division. According to the
employees working at the department, there is acute shortage of power supply as
no backup is provided when there is no power. There are also other many
problems related to day to day operations.

1.3.2 Conclusion
Weather prediction is inherently complex process, so it impossible to forecast cent
percent accurate results since we cannot measure all factors. Weather Prediction systems
are more likely decision support system than expert systems because they need guidance
and weather predictions must be evaluated by human interference. On internet, there are
many web weather report and forecast service systems that enable our implementations to
fetch some weather information. Since there are many weather related data needs to be
processed, Weather Forecast Model system can reduce intensive forecast computations.
All reviewed test results are limited to past meteorological data that will represent all
possible weather condition distributions. Data collecting and acquisition are initial and
one of the most critical parts of expert systems computations. Automated data collecting
systems must be available rather than using human manual inputs. Local data collection
is very important if we want to make very precise and accurate forecasting. Thus, the
meteorologist can use the proper Artificial Intelligence benefits for the effective and
specific purposes.

Chapter 2: COMPUTER GRAPHICS

2.1

Introduction

Computer graphic is the transfer of pictorial data into and out of a computer. Using analog-todigital conversion techniques, a variety of devices such as curve tracers, digitizers, and light pen
connected to graphic computer terminals, computer-aided design programs, or optical scanners
can be used to store pictorial data in a digital computer. By reversing the process through digitalto-analog conversion techniques, the stored data can be displayed in graphical form on a
mechanical plotting board, or plotter, or on a television like graphic display terminal. Raster
graphics stores and displays images as a bit map, a series of closely spaced dots (or pixels)
arranged in rows and columns. Vector, or object-oriented, graphics stores the images as
mathematical formulas; images are displayed by calculating the coordinates of the end points and
then drawing lines between them. Computer graphics capabilities range from the simple display
of digital tabulations as line graphs and pie charts to complex animation and elaborate special
effects for television and motion pictures. Computer graphics are used in architecture, art,
computer-aided design, electronic games, flight simulators for pilot training, and molecular
modeling.
Background
Nepal Television was established in January 1985 with the slogan "Communications for
Development." The television broadcasting in Nepal is completing its 29 years with Nepal
Television's growth in fulfilling its social responsibility.
NTV has continuously strengthened its technological capacity. It is now airing programs through
the terrestrial, satellite and digital networking. The signal of Nepal Television covers more than
50 countries which also blankets 50 percent of the total land mass and reaches to 72 percent of
the country's population. NTV and its second channel are not only ensuring people with their

right to information through 19 transmitting stations but providing them effective educational
materials and contributing to overall developmental activities.
NTV's role as a public broadcasting agency is commendable for bringing about social
change and people's awareness. It has been raising the people's voices for peace and
prosperity and enhancing the dignity of Nepal at home and abroad.
In Nepal Television, the tools that are used are Adobe Premiere CS5, CG Inscriber and Cue
word. All three of them were used for video editing video clips, advertisement mixing; create
virtual display and various other aspects related to Computer Graphics.
The field of computer graphics has already got to a stage of maturity so that its applications are
being widely used. Therefore, the underlying education in this field heavily depends on the goals
and skills of the corresponding area of application.
Tools
The popular tools used in Computer Graphics are Adobe Premiere CS5, CG Inscriber, Cue word
and various others.
Adobe Premiere Pro is a timeline-based video editing software application. It is part of the
Adobe Creative Cloud, which includes video editing, graphic design, and web development
programs.
Some of its features are:

Expanded native tapeless workflows

Faster editing with metadata

Script-to-screen workflow through integration with Adobe Story

Native support for DSLR cameras

Tapeless camera support

Efficient tools for creative editing

Comprehensive video format compatibility

High-quality slow motion with time remapping

Output for mobile devices

3D graphics

CG Inscriber is a commercial software and some of the features of CG Inscriber are

Still, Roll and Crawl

Video Safe Title Area

Adding Text

Adjusting Text

Create a Sequence

Cueword offers a family of powerful digital teleprompter systems designed for television, radio,
lectern and teleconferencing environments. Systems are available for use with both desktop and
notebook computers, in the studio or in the field. Cueword offers what one has come to expect
from today's advanced systems. Some of its features are:

Multiple fonts

Any Windows True Type font

High resolution characters

Any Windows supported language

Super smooth scroll

PAL or NTSC

Newsroom system compatibility

Open and closed captions

2.2 Case Study Overview

2.2.1 Decision Criteria


NTV being national television broadcaster has the responsibility of providing information
through visual medium. So computer graphic tools are widely used here through daily
news to TV shows to advertisements.
News is one of the most important aspects for the viewers of NTV. In order to provide the
news around the clock, NTV has used news scroll implemented through CG Inscriber.
Logo of the NTV is also created by Adobe Premiere CS5.
Various video clips are received from various sources for the purpose of broadcasting but
the video clips might be too long and need not necessarily be viewed. Hence, the video
clips are edited and shortened using Adobe Premier CS5 so the clips are able to provide
required information as well it shouldnt be monotonous as well as lengthy.
Advertisement is to be viewed for the commercial purpose of the NTV. Advertisement is
viewed in between the programs and news by using Adobe Premiere CS2.

2.2.2 Assumptions
NTV has large viewer base throughout the world. For proper communication through
visual medium NTV uses a lot of graphical tools and techniques. So for universal
communication some of the assumptions made are:

40s video clips are maintained so that the shows are not monotonous for the
viewer.

Number of advertisements between and during the shows are limited to 6 10 so


that viewer are not bored.

During special news for dumb and deaf, subtitles are also given for maximum
exposure to all viewers.

2.2.3 Data Analysis


NTV has a large number of viewers throughout the world due to satellite broadcasting
system. So the present workflow at NTV constitutes of various employees, both technical
and non-technical. It has a four hour shift for technical employees. So, the editor, mixer
and engineers are stationed as such.
The data collected throughout the country by NTV reporters are put on the ftp server by
them which is picked up by editor at NTV headquarter to download the whole footage
and edit it for actual use. The import and export feature of Adobe Premier seems to be
beloved tool by editors at the station. The final output of the footage is in MPEG-4
(Moving Pictures Experts Group) compression. The very choice to use MPEG-4 was low
bandwidth and digitization effort for easy storage and portability among various
mediums.
The editor then exports the edited footage to the network folder which the mixer can
access. The mixer then using Adobe Premier CS2 imports the footage, called feed, to its
timeline. Then uses Inscriber CG to input various texts and logo above the feed on real
time. Finally, the mixer switches between various feeds to show the overall show.
The use teleprompter with the help of Cueword was interesting since Cueword comprised
of hardware and software. The software allowed the editor to input text to show in
teleprompter. The reader had access to the Cueword step in which if stepped the
teleprompter would take the reader to new line.

All these tools used in NTV gave us the knowledge about not just the tools but also the
graphical requirement of the organization. It seems that most of the tools used at NTV
were the industry-standards in Nepal until 2017. After 2017, they are instructed to fully
digitize themselves meaning more use of digital equipment and graphical tools to suffice.

2.2.4 Preferred Alternative with rationale


NTV is a national broadcaster but still due to political drawbacks and internal problems it
hasnt been able to reach its desired potential. There are various additions that still lack in
NTV. The alternatives to the present scenario are Virtual Studio, Real Time Broadcasting
Graphics with 3D output.
Virtual Studio is a virtual reality set. It is a concept of studio for TV shows where there
is no studio but just the people in that show. Virtual reality sets are increasingly being
used to enhance the audience experience and decrease production costs. The challenge
though is to achieve realism: a virtual reality set needs to be convincing to the audience.
The background and backdrop materials are not required since such things are shown
virtually. Some of the popular tools used for such are ProSet by Orad and tOG-VR by RT
Software.
Real Time Broadcasting Graphics or On Air Graphics is simple concept of graphical
elements being displayed over the camera recorded feed. Inscriber CG is outdated and the
features that are required are 3D output that is popular in current time. They should also
include

authoring

software,

character

generation,

channel

branding,

weather,

stereographic solutions. An example of On Air graphics is animated weather map been


displayed behind the weather news reporter at the studio. NTV currently doesnt have
such feature. The popular tools that can be used to achieve this are Real-Time by Idonix
and Maestro by Orad.

2.2.5 Justification
NTV has a mass audience. The audience are primarily located at Nepal, mostly in rural
part. So the alternative provided are useless for such audience since the given experience
can be confusing and not-supported by the viewer medium either. The technology are not
indispensable for the audience but still certain innovations and enhancement of audience
experience will be applauded.

2.3 Result Analysis

2.3.1 Critical Analysis


As the case study was conducted in Nepal Television, it showed that the various tools of
computer graphics are used for video editing, advertisement mixing and other purposes.
The various tools are Adobe Premiere CS5, CG Inscriber and Cueword.
The current market of broadcaster is growing day by day. NTV is losing viewers due to
lack of immersive audience experience that are given by other broadcasters. The proper
use of graphics can allow NTV to grow its audience and also its audience experience.
Also, the tools used at NTV are not outdated products but still they should be updated to
the latest versions and further new technology such Virtual Reality and Augment Reality
should be explored.

2.3.2 Conclusion
Broadcasting news and various other programs is the main task of NTV. Hence, the job of
NTV is to provide news as much frequently as it is the national news broadcaster.

Thus, Computer Graphics is used in NTV for the purpose of video editing, advertisement
mixing, news scroll and various other purposes. The use Computer Graphic tools such as
Adobe Premiere CS5, Adobe Premiere 2 and CG Inscriber. The tools used should be
updated and further audience experience enhancing products have to be used to bring
Nepalese audience the latest technology can provide.
NTV's role as a public broadcasting agency is commendable for bringing about social
change and people's awareness. It has been raising the people's voices for peace and
prosperity and enhancing the dignity of Nepal at home and abroad.

Chapter 3: JAVA PROGRAMMING

3.1 Introduction
Java is a programming language and computing platform first released by Sun Microsystems in
1995. Oracle bought Java from Sun Microsystems in 2008 and currently manages Java and its
distributions. There are lots of applications and websites that will not work unless you have Java
installed, and more are created every day. Java is fast, secure, and reliable. From laptops to
datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is
everywhere. Java is distributed in two editions: Standard Edition and Enterprise Edition called
Java SE and Java EE respectively.
Some features of Java are:

Object Oriented Language

Platform independent

Secure, Robust and High Performance

Architectural-neutral

Portable, Interpreted and Dynamic

Multithreaded

Distributed

Background
Leapfrog Technology, Inc. is a technology company that provides software development services
for companies and individuals in the US. Our headquarters is located in Marlborough, MA. It

also operating in Nepal at Hattiban, Lalitpur, Nepal. Leapfrog Technology was started in 2010
with the ambition of making software relevant to the masses.
Java is a popular language so Leapfrog Technology has chosen it as its core platform.

3.2 Case Study Overview

3.2.1 Target Market Identification


Leapfrogs first project was to deliver on the promise of mobile phones in developing
countries: use mobile phones to take the banks to the people. Companies are increasingly
relying on outsourcing their software development requirements to stay ahead of
competition. By outsourcing, companies can focus on their core activities, cutting costs
and increasing bottom line growth. The market of Leapfrog Technology are usually on
this paradigm.
Some of the market targeted by Leapfrog Technology are:

Health

Banking

Payment Gateway

Analytics

3.2.2 Market Needs


The current market of Java is very dynamic, since Java is one of the most popular
programming language. Market statistics of Java language is given below:

97% of Enterprise Desktops Run Java

89% of Desktops (or Computers) in the U.S. Run Java

9 Million Java Developers Worldwide

#1 Choice for Developers

#1 Development Platform

Billion Mobile Phones Run Java

100% of Blu-ray Disc Players Ship with Java

Billion Java Cards in Use

125 million TV devices run Java

of the Top 5 Original Equipment Manufacturers Ship Java ME

Development in Java is easier because of its open source nature and portability and many
more features that are integrated in the language itself.

3.2.3 Analysis of Case


Java is the language that can be used to develop platform-independent product and also
Android Applications. At Leapfrog Technology, they develop various Enterprise Level
application in Java and also various Android App. One of the showcased app was Kumari
Banks android application called Kumari Mobile Cash.
The Java Software Development at Leapfrog Technology requires two paradigms being
followed; Scrum Methodology and Spring Framework.
Scrum Methodology emphasizes the idea of empirical process control. The Scrum
methodology emphasizes communication and collaboration, functioning software, and
the flexibility to adapt to emerging business realities all attributes that suffer in the
rigidly ordered waterfall paradigm. In Scrum, projects are divided into succinct work
cadences, known as sprints, which are typically one week, two weeks, or three weeks in

duration. At the end of each sprint, stakeholders and team members meet to assess the
progress of a project and plan its next steps. This allows a projects direction to be
adjusted or reoriented based on completed work, not speculation or predictions.
Spring Framework is a Java platform that provides comprehensive infrastructure
support for developing Java applications. Spring handles the infrastructure so you can
focus on your application. Spring enables you to build applications from "plain old Java
objects" and to apply enterprise services non-invasively to them. This capability applies
to the Java SE programming model and to full and partial Java EE.

3.2.4 Goals
Leapfrog Technology has simple model of goals - Make clients happy by building
beautiful products while using the right technology. With these goals they provide
following services:

Software Development

Product Development

Visual Design

Server Operations

Mobile App Development

UI/UX

Security

3.2.5 Decision Criteria


Leapfrog Technology provide offshore development service are focused at small and
medium-sized businesses (SMBs) offering end-to-end software development services on
competitive terms. For such a market, Java is a perfect fit. Java is designed to enable

development of portable, high-performance applications for the widest range of


computing platforms possible.
By making applications available across heterogeneous environments, businesses can
provide more services and boost end-user productivity, communication, and collaboration
and dramatically reduce the cost of ownership of both enterprise and consumer
applications.
Java has enabled developers at Leapfrog Technology to:

Write software on one platform and run it on virtually any other platform.

Create programs that can run within a web browser and access available web
services.

Combine applications or services using the Java language to create highly


customized applications or services.

Write powerful and efficient applications for mobile phones, remote processors,
microcontrollers, wireless modules, sensors, gateways, consumer products, and
practically any other electronic device.

The current market is filled with Android Applications. Java is the very language that can
be used to write Android Application. Thus, Java can be used to capture large market
from consumer level application to enterprise level application.

3.2.6 Assumptions
The software development of past and present is very different. Java being the most
popular language it is used for most of the projects. Also at Leapfrog Technology, every
Java project is developed using Agile methodology.
Leapfrog Technology developers do not believe the waterfall model is useful in current
dynamic market. They assume that the user requirement will change during the

development. So, they divide every project to sprints according to Scrum methodology,
based on Agile methodology, and develop accordingly.
They also use Spring Framework so that the Java project can be developed quickly but
also that in the future if required the application can be scaled to higher level easily.

3.2.7 Data Analysis


For every Java project, they have a dedicated Technical Project Manager who liaises with
the Client Technical Project Manager. The details of the project and requirements are
discussed in detail. The Technical Project Manager then conveys these to the Team Lead
who is based offshore. They formulate a high level Architecture document and analyze
and design the application. The Client Technical Project Manager is kept updated on
these developments and approves the developments. After this, the Team Lead briefs the
Development team. The project then proceeds methodically, supported at every step by
intensive documentation and strict adherence to specified guidelines. Every step of the
development process is vetted by the Quality Analysis Team. The Quality Analysis Team
and the Development Team interact on a continuous basis at every stage. The Team Lead
however, is the only conduit of contact for the onsite Project Manager and the
Development team. This helps to banish any ambiguity and confusion that may exist.

3.2.8 Preferred Alternative with rationale


Java is one of the most popular object oriented programming language but not the only
one. Some of the alternative languages to Java are like C, C++, C#, Objective C, Python,
Ruby, Scala, Clojure, Haskell, Javascript etc.
One of the most probable contender to Java is C#. Java and C# are similar programming
languages that are statically, strongly, and manifestly typed, both are class-based objectoriented, both are designed with semi-interpretation or runtime compilation in mind, both
use garbage-collection, and both are "curly brace languages" like C and C++.

3.2.9 Justification
Even though there many options versus Java, it is simple, open-source and extendable. It
can be used to write applications for any platform from PC to Android to Web.
Some of the disadvantages of C# compared to Java are:

C# is not platform-independent

C# compiler closed-source

C# is not the supported language for development of Android Application

3.3 Result Analysis


For our case study on Java Programming we went to Leapfrog Technology. There Java was the
prime language used on most of the project. Spring Framework which is a Java based framework
was the preferred framework and Scrum which is an Agile methodology was the methodology
used. IDE for Java was Eclipse for code compatibility.
Java is the one of the most popular language, and since it is open-source and platform
independent the choice to use Java was easy. Likewise, hot word of technology community,
Android, is also coded with Java. So, Java seems to give an extra edge for overall development
from software to server to web to mobile.
The case study can be summarized as:

It helped to understand the importance of Java in the real world market.

The characteristics Java possess along with the extra advantage it gives than other
languages.

The right way to use Java for enterprise level solutions.

Java Project management and version control

Standard Java Application Development Cycle

REFERENCES
[1] http://en.wikipedia.org/wiki/Edward_Norton_Lorenz
[2] http://en.wikipedia.org/wiki/Artificial_neural_network
[3] http://www.ceng.metu.edu.tr/~e132252/KE_Survey.pdf
[4] http://cires.colorado.edu/science/groups/pielke/classes/at7500/Bianco_PresentationWRF.p
df
[5] http://www2.mmm.ucar.edu/wrf/users/workshops/WS2010/presentations/session%201/11_wrf10.pdf
[6] http://en.wikipedia.org/wiki/Numerical_weather_prediction
[7] http://www.wrf-model.org/index.php
[8] http://en.wikipedia.org/wiki/Weather_satellite
[9] http://www.mfd.gov.np/
[10] http://en.wikipedia.org/wiki/Java_(programming_language)
[11] https://www.java.com/en/about/
[12] http://www.javatpoint.com/features-of-java
[13] http://www.lftechnology.com/

[14]

http://www.cs.yale.edu/homes/hudak/CS112F06/java.html

You might also like