System analysis and apply Spring MVC 2.5, Ext Js, Salto-db ...

nutritionistcornInternet and Web Development

Dec 14, 2013 (3 years and 10 months ago)

98 views



MASTER OF INFORMATION TECHNOLOGY

SOFTWARE ENGINEERING

S
ystem
analysis
and

a
pply
Spring MVC 2.5,

Ext Js
,

Salto
-
db
-
generator in
developing

Ton Duc Than
g
Political School

of An Giang p
rovince
management system







Supervisor:

Truong Ngoc Toan

Student:

Le Duy Phong








HO CHI MINH CITY 12/2011




Software engineering



Industrial internship



Page
2




Abstract

System analysis and apply Spring MVC 2.5, Ext Js, Salto
-
db generator in developing
Ton Duc Thang
Political School

of An Giang province management system.

This project
developed

Ton

Duc Thang

Political School

of
An

Giang

province
management
system

that

used

Spring

MVC

2.5
,
Ext

Js

and Salto
-
db
-
generator.
The
purpose of

this project is to

develop

some
modules in order
to help

Ton

Duc

Thang

Political School

to

computerize the entire process
of
work and manage

all

the records
,
the
necessary
information
.

It
make

easier and more efficient in management.

This project

is
exciting

because
it

was
developed
based

on
open

source

technolog
ies
.
These technologies
a
re

widely

used

today
. We
must not

care
to

purchase

them
as well
,

as their

aspects
have
many
advantages
.

My main task
s

in this project were to
:

study technology, analyz
e the entire project,
examine the

process of practical work

in Ton Duc Thang
Political School
,
make

user
interface

prototype
and evaluate
it with
customers, write
a
software

requirement
specification

document

and
present

it to the

involved

partner

at Cinotec
Company

and
develop a few features in the system.

After implementing of the project according to the job
s

that I agree
d

with the
company,

I have spent some experience
s

in system
analysis. I applied

technologies that I
learned to development a few fea
tures of the
project. Technologies

experiences and
customer‟s communication experiences in my internship will be very helpful for
my
future career. At the same time, this project will help the
Political School

w
ith
their
management.


After studying and developing

web
application with some technologies

and
tools,
talk
ed

above.
I believe that it will be the
new
choice for
many companies

in the
development of web applications. Because it helps to develop
web
applications fast, less
time
-
consuming and much more outstanding

compared to its other technologies.






Software engineering



Industrial internship



Page
3




TABLE OF CONTENTS

CHAPTER 1: INTRODUCTION

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

7

1.1

About CINOTEC

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

7

1.1.1

Introducti
on

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

7

1.1.2

Location

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

7

1.1.3

Management

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

7

1.1.4

Service

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

7

1.2

About project

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

8

CHAPTER 2: SPRIN
G MVC

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

11

2.1

Spring framework

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

11

2.2.2

Spring framework introduction

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

11

2.2.3

Spring overview

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

11

2.2.4

Spring IoC

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

13

2.2

Spring MVC

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

14

2.2.1

Spring MVC introduction

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

14

2.2.2

Spring model

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

14

2.2.3

Spring
view

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

14

2.2.4

Spring Controller

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

14

2.2.5

Download and install Spring MVC 2.5

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

15

2.2.4.2

Download

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

15

2.2.4.3

Install

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

15

2.2.2

Spring MVC

features

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

16

2.2.3

How Spring MVC works

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

16

2.2.4

Comparison Spring MVC with some other java web framework

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

26

2.2.4.1

Pros and Cons

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

26

2.2.4.2

Job trends

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

27

2.2.5

Why did we choose Spring MVC

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

28

CHAPTER 3: EXT JS

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

29

3.1

Ext Js introduction

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

29

3.2

Download and install Ext JS

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

29

3.2.1

Download

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

29

Software engineering



Industrial internship



Page
4




3.2.2

Install

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

29

3.3

Ext Js features

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

29

3.3.1

Gui
controls

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

29

3.3.2

Application support

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

30

3.4

Compare Ext JS with some other java script framework

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

30

CHAPTER 4: SALTO
-
DB
-
GENERATOR

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

32

4.1

Introduction

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

32

4.2

Download and

install

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

32

4.2.1

Download

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

32

4.2.2

Install

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

32

4.2.2.1

Install Salto
-
db
-
generator plugin to eclipse

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

32

4.2.2.2

Run Salto
-
db
-
gennerator with Ant

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

32

4.3

Ant usage
[18]

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

32

4.4

Overview plugins of Salto
-
db
-
generator
[19]

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

34

4.5

How to write a custom plug
-
in

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

35

4.6

When should we choose Salto
-
db
-
generator for generate code
................................
...........

35

CHAPTER 5: TON DUC THANG POLITICAL SCHOOL OF AN GIANG PROVINCE
MANAGEMENT SYSTEM ANALYSIS

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

36

5.1

Soft
ware development model

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

36

5.1.1

Waterfall model

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

36

5.1.2

Rapi
d prototyping

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

37

5.1.3

Comparison Rapid prototyping with Waterfall model
................................
................

37

5.2

System architecture

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

38

5.3

Tech
nology for developing Ton Duc Thang Political School management system

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

42

5.4

Architecture of deployment system diagram

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

43

5.5

Training management analysis

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

43

5.5.1

Introduction

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

43

5.5.2

Function
s group make plan for new course

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

44

5.5.2.1

Business process

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

44

5.5.2.2

Use case of plan for new course

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

45

5.5.2.3

Actor

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

47

5.5.2.4

Attributes of table

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

47

Software engineering



Industrial internship



Page
5




5.5.2.5

Class diagram of functions group “plan for new course”

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

49

5.5.2.6

User interface prototype of functions group plan for new course

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

49

5.5.2.6.1

Draft version

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

49

5.5.2.6.2

Wait for contributing opinion
................................
................................
.............

52

5.1.2.6.3

Wait the boards of president for signing version

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

57

5.1.3

Other functions

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

57

5.2

Evaluate in Ton Duc Thang Political School of An Giang province management system
analysis

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

58

5.3

Some my experience in system analysis

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

58

CHAPTER 6: CONCLUSION
AND IMPROVEMENT

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

60

6.1

Working team

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

60

6.2

Conclusion

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

61

6.3

Improvement

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

62

APPENDIX

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

64

APPENDIX A: Hardware req
uirement

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

64

APPENDIX B: Software requirement

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

64

APPENDIX C: How do we create web application project with Ext Js

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

65

APPENDIX D: How can we generate code with Salto
-
db
-
generator

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

69

REFERENCES

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

78










Software engineering



Industrial internship



Page
6





TABLE OF FIGURES

Figure 1: Overview of the Spring Framework
[4]

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

12

Figure 2: The Spring IoC container

[6]

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

13

Figure 3: The Special beans in the WebApplicationContext
[11]

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

17

Figure 4: The requesting pro
cessing workflow in Spring Web MVC (high level)
[11]

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

18

Figure 5: The job trends
[14]

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

28

Fi
gure 6: Waterfall model

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

36

Figure 7: Rapid prototyping model

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

37

Figure 8: System architecture

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

38

Figure 9: Architecture deployment system

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

43

Figure 10: Planning process for new course

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

44

Figure 11: Plan for new course (Draft version)

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

45

Figure 12: Plan for new course (Wait for

contributing opinion version)

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

45

Figure 13: Plan for new course (Wait the boards of president actor for signing version)

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

46

Figure 14: Plan for new course (Wait to modify version)

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

46

Figure 15: Plan for new course (Was modified version)

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

46

Figure 16
:
Plan fo
r new course (Was signed by boards of president)

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

47

Figure 17
:
Plan for new course (Was signed by Party Standing Committee member)

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

47

Figure 18
:
Class diagram of functions group “plan for new course”

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

49

Figure 19: List of plan for new course (Draft version)

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

50

Figure 20: Add new plan for new course (
Draft version)
................................
................................
.........

51

Figure 21: View plan for new course (Draft version)
................................
................................
...............

52

Figure 22: View plan for new course (Wait for contributing opinion version)

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

53

Figure 23: List of plan for new course (Wait for contributing opinion version)
................................
........

54

Figure 24: View list opinion (Wait for contributing opinion version)

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

55

Figure 25:
Contribute opinion (wait for contributing opinion version)

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

56

Figure 26: View plan for new course (Wait the boards of president for
signing)

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

57









Software engineering



Industrial internship



Page
7




CHAPTER 1: INTRODUCTION

1.1

About CINOTEC


1.1.1

Introduction

Cinotec
Company

was established
on
7

th
September
, 1988.
The 1
st

purpose of
establishment is solution
provider for

office government.

After 23

years
establishment and development
,
Cinotec Company was not only proved itself
as a good Company with lot of experience in developing software, providing
solutions application
for office government

but also

it

was

good solution
provider

for
many companies
.


I
t
has 60

employees. The president of
Company is
going to

employ
more

employee
s
to build a
nother

team which
is
both

ability about
technology

and

English
language

to approach new market
through the
world, provide

more service as: out source, developing
application for many companies...etc.

1.1.2

Location

The
head

office holds at
282

Le Quang Dinh St
reet
, w
ard 11, Binh Thanh
District,

Ho Chi Minh City and many
branches

in

different provinces in Viet
Nam.

1.1.3

Management

Now, Company's Managing director is Msc. Nguyen Thanh Trung and
Deputy Directors are Tran Quoc Vuong,
Truong Ngoc Toan
and Tran Van
Hieu who is responsibil
ity for executive,
technology
,

business
.


1.1.4

Service

+Consulting Service


E
-
Government Solutions.


Small and Medium Business (S
MB
)

Software
Applications.


System Embedded Solutions
.


Networking and hardware solutions.

+Software Solution Provider


E
-
Government.


Enterprise Resource Planning.


ISO Process Management.


E
-
Commerce.

Software engineering



Industrial internship



Page
8





Web Design


Embedded Software.

+Technical Service


Planning, Designing and Maintaining
LAN/WAN/VPN.


Supplying

Computer Hardware and Office Equipment.


Security, maintain and support network system.


Training and transferring new technology to
customer.

1.2

About project

Over

a

long time,
the
Cinotec Company
has applied

the
Waterfall model in
developing software application
s
. However, nearly it met some trouble
s
.
Developers
take

time to implement code and test.
However,

when it was deployed to customer
s
,
the customer
s

didn‟t agree about
the
user

interface

prototype of
system,

so

they add
ed

new

features

and

attribute
s
.
D
eveloper must change
the
database, change code
s
.

It
took a lot of time, increasing the

cost for
the
company.

Therefore,

the leader of Cinotec

Company wanted

to change from Waterfall model
to Rapid prototyping model

for development of software applications
.
My main tasks
that I will apply Rapid prototyping model in
development of software applications
.

B
ase
d

on the general requirement from the customer, I analyzed system,
made the
user interface

prototype

of the

system
, confirmed

and evaluated it

with customer,
change
d

my

user interface

prototype of
the system

and wrote document for software
development.

To be good in system analysis, having knowledge about
technology

is also very
helpful. It helps us recognize the advantages and disadvantages of ou
r technologies
and try to evaluate the system in meeting the requirements of customer and our
technologies
.

T
herefore,

beside the time for system analysis, I kept my time for
learning
technologies

such as Spring MVC, Ext
Js
and Salto
-
db
-
generator
and some
business process of customer.

This project scope includes f
our

parts: system analysis, learning Spring MVC, Ext
Js

and

Salto
-
db
-
generator.
Each of part has its own interest.

Ext Js is

used to develop screen view, support java script and process some
businesses on the view. Spring MVC is a framework for developing
web application

based on java language. Finally,

Salto
-
db
-
generator enables generating code
Software engineering



Industrial internship



Page
9




automatically
. It

helps

developers
to
create code and develop application within
minimum time.

I

hope after reading this project, You may become interested in this field and
continue to find documents to research in detail because all the
technolog
ies

and
my experiences which I shared in this project help so much for us.

Order N
0

Content

Time st
art

Time end

Learning
technology

1

Made

plan for project
.

01/06/2011

05/06/2011

2

Learn
t

Spring MVC
.

06/06/2011

21
/06/2011

3

Learnt
Ext

J
s
.

22
/06/2011

3
0/06/2011

4

Learnt Salto
-
db
-
generat
or
.

01/07
/2011

08/07
/2011

System analysis

6

-
Made

user interface

prototype of
software application
.

-
Wrote

document
.

-
Create
d

slide presentations


to
evaluate
user interface prototype,
system features
with customer

16
/07/2011

04/09
/2011

7

-
Present
ed

user interface
prototype
,
system
features and

confirmed
business process with customer
.

-
Get

more

requirement
s

for some

modules.

05/09/2011

15/09/2011

8

-
Redesign
ed user interface

prototype

of system
.

-
Modified

document

for software
development
.

16/09/2011

25
/10/2011

9

-
Present
ed

project to developer and
tester
.

26/10
/2011

14/11/2011

10

-
Wrote d
raft report
.

-
Complete
d

system requirement
specification for developer and
tester.

01/11/20
1
1

30/11/2011

Software engineering



Industrial internship



Page
10




Development stage

11

-
Develop
ed

some features in project.

01/12/
2011

10/12/2011

12

-
Wrote f
inal report

11/12/2011

31/12/2011
























Software engineering



Industrial internship



Page
11




CHAPTER 2: SPRING MVC

2.1

Spring framework

2.2.2

Spring framework introduction

The
Spring Framework

is an open source,
lightweight,
application framework
for development of java

enterprise

application.

The main ideas of Spring
Framework were suggested by Rod Johnson, an experienced enterprise Java
architect
.

H
e had showed the disadvantage of EJB and the traditional approach for
development of J2EE application, introduced the concept of Light
-
weight
container

through his books
Expert One
-
on
-
One J2EE Design and Development

in October 2002,
Expert One
-
on
-
One J2EE™ Development without EJB™

in
2004(with Juergen Hoeller)
.


Spring Framework replaced the complexity of traditional approach for
development of J2EE application by adding newer technologies such as Inversion
of Control and
AOP
.
This approach helps our development
of application
to be
simpler, easier for test, more

effective performance and
less cost to
develop

and
maintain.
[1][2]

The framework was first released under the
Apache 2.0 license

in June 2003.
The first milestone release, 1.0
, was released in March 2004, with further
milestone releases in September 2004 and March 2005. The Spring 1.2.6
framework won a
Jolt productivity award

and a
JAX Innovation Award

in
2006.Spring 2.0 was released in October 2006, and Spring 2.5 in November 2007.
In Decem
ber 2009 version 3.0 GA was released. The current version is 3.0.6

in
2011
.

[3
]


2.2.3

Spring overview

The Spring Framework contains almost
the
features for development of J2EE
applications, which was organized in six modules
to
follow the figure below.

Software engineering



Industrial internship



Page
12





Figure

1: Overview of the Spring Framework
[4]


The
Core

package is the centre of the spring framework, which provides the
IoC feature. The main part in this module is BeanFactory was implemented follow
the concept of factory pattern, which act as the IoC Container and manage all the
necessary beans in our progr
am.


The Context package was built on the solid base of the core package. The
ApplicationContext interface is the basic of this package, which inherits all
functionality
of

BeanFactory
, allows working in a more framework
-
oriented such
Struts, JSF…etc.


The DAO package support JDBC and
transaction management

completely.
Besides supporting all traditional features of JDBC, It adds exception handling and
connection management. Therefore, we don‟t need to spend much time for writing
tedious JDBC code.
That helps us to save time for development of our application.

Software engineering



Industrial internship



Page
13





The ORM package provides
integration layers with some popular object
-
relational mapping such
as

JPA, JDO, Hibernate and iBatis. This package support
in combination all those object
-
relatio
nal

mappers with all the features of spring.


The AOP module integrates the capacity to develop our application follow
aspect
-
oriented programming
. It allows us to define method interceptors and
pointcuts for decoupling code implementing functionality which should be
separated. Spring AOP is also to support
declarative transaction management in
our application.


The Web package provides many fea
tures for development of web application.
This package also supports the way spring MVC work together with other
framework such as: Strut, JSF,
WebWork…etc.


The JEE package provides a number of J2EE technologies such as: JMX, JMS,
JCA, Remoting, EJBs,

Email.


All the above paragraphs are just to introduce generally about all module of
spring framework. To be clean in understanding you
should

reference more
documents. And in my internship, I just learnt all spring features support for my
project su
ch as: spring MVC.
[5]

2.2.4

Spring
IoC


Figure 2:
The Spring IoC
container

[6]

Spring Inversion of Control is a famous principle in spring framework, was
implemented based on the
Dependency Injection (DI)

design pattern
.
In t
his
Software engineering



Industrial internship



Page
14




principle
,

instantiating or sourcing application objects, configuring such objects,
and assembling the dependencies between these objects are delegated to
spring

container

[7]
. The org.springframework.beans.factory.BeanFactory interface is the
central of Spring
Container. However, the


org.springframework.context.ApplicationContext interface

was built on top of the

BeanFactory and adds other functionality such as easier integration with Spring's
AOP features, message resource handling (for use in internationaliza
tion), event
propagation, and application
-
layer specific contexts such as the
WebApplicationContext for use in web applications.

In spring,
Spring Container
manages all objects in our application
.
[7]

2.2

Spring MVC

2.2.1

Spring MVC introduction

Like other framework

support to develop web application

with java language

such

as Struts,
JSF, JSP&Servlet …etc. Spring MVC

is one of
modules of

spring
framework and
have all spring features for development of enterprise application
.

Spring MVC

also based on concept of
MVC (
model
-
view
-
controller) design
pattern

in
object
-
oriented

programming
.

[7
]

2.2.2

Spring mod
el

Spring model process all business of our application.
I
n
the
model
we

declare
all class
es
, all service
s, all functionalities

serve for our program. This
model is

also
to
use some features

which were

supported by spring framework such as
DAO, ORM, JEE
, AOP

to
build complete program.

2.2.3

Spring view

Spring
view enables us to use
many view technologies such
as

JSP
, Velocity
templates, XSLT views,

FreeMarker
,

Ext Js,
e
tc
to develop user interface of
our

application.
All data to response to the view are c
ontained in ModelAndView
object
.
Spring view provides two important interfaces
are ViewResolver

and
View
.
The

ViewResolver provides a mapping between view names and actual
views. The View interface addresses the

preparation of the request and hands the
request over to one of the view technologies
.

[
8]

2.2.4

Spring Controller

Spring
controller receives all

the request of client. Base on the
request, spring
controller will
call the
suitable method t
o handle request. In this method
, we

can
Software engineering



Industrial internship



Page
15




combine

it with some

methods or some object in another
class

in model

to process
the request
and return ModelAndView object
to client
.

Base this ModelAndView
objects, view technologies will use it
to get data and display to client.

The org.springframework.web.servlet.mvc.Controller interface is the
basic
spring controller. It
defines the single method
, called handleRequest to process the
request and return a modelAndView object
.

public interface Con
troller {

/**

* Process the request and return a ModelAndView object which the
DispatcherServlet

* will render.

*/

ModelAndView handleRequest(

HttpServletRequest request,

HttpServletResponse response) throws Exception;

}

Beside the Controller is quite abstract. There are many
the
other controllers
which contain a lot of functionality we might need, are offered by
spring.
However,

in this project scope, I only use th
e Controller interface.
Therefore,

to
understand clearly,
you should
find
reference book

follow in the reference
s

at the
end of the report
.
[9]

2.2.5

Download and install Spring MVC 2.5

2.2.4.2

Download

We visit and download spring
2.5.x from its official website

http://www.springframework.org/download
.

2.2.4.3

Install

As known in spring over view, Spring MVC is one of the modules of spring

framework
.
Therefore,

after we download spring, depending

on the

purpose of
our
application, we will copy some necessary file „.jar‟
to lib folder of WEB
-
INFO/lib directory and build path it into our application.

To consider
which

the
file „.jar‟ should be copied and built path in our application. We should view
the attach file „readme.txt‟ in the folder „spring
-
framework
-
2.5‟

which you

Software engineering



Industrial internship



Page
16




download

a
s well as base on the technologies

which we combine
them
together
with spring for development of our application.

2.2.2

Spring
MVC
features

As know
n above
, Spring MVC is one of the modules of spring framework.
Therefore,

it inherits
all the features
of spring
, a

lightweight framework.

We can
use Spring MVC with other modules in spring framework to develop an enterprise
application, which

satisfy our requirements.

Spring MVC
provides
many

features for development of web application,
including:


Provide many object with clear different role
for development of web
application such

as controller, validator, command object, form object, model
object,
DispatcherServlet
, handler mapping, view resolver, etc.


Be e
asy
to configure and

reference

across con
text

between all object in our
application.


Be easy to test for our application.


Provide a lot of controller subclass, used in many different
scenarios. It is up to
our scenario we can choose the best suitable controller for our feature.

Normally, we can u
se interface Controller for most scenario.


Provide the ability to reuse
code.

We

can use the existing business object as
command or form to
extend a particular framework base class
.


Provide the ability to customize
binding

and
validation
.


Provide the ability to customize
handler mapping
and

view
resolution

from
simple
or
sophisticated
URL
-
based configuration
.


Provide the ability flexible model transfer

via name/value

Map
.
It helps to be
easy to integrate with any view technology.


Provide th
e ability to customize
locale
and

theme resolution
, support

for JSP,
JSTL,
etc.


Provide a powerful spring tag library
to
support for data binding and themes.


Provide
WebApplicationContext

container

to manage lifecycle of beans

for
development of web application
.
[10]

2.2.3

How Spring MVC works

Like many other MVC frameworks for development of web application, spring
MVC was designed around a central servlet, called DispatcherServlet or known
Software engineering



Industrial internship



Page
17




with the other name “Front controller”, was

declared in web.xml of our web
application. It is integrated with spring IoC and allow us to use all the features of
spring framework for development of our web application. DispatcherServlet
combine with some special
beans
, which are provided by
spring

container

to
process the request and render the appropriate view.

These beans are included in
the spring framework and configured in the WebApplicationContext, are describe
in details follow the table below.


Figure
3: The Special beans in the WebApplica
tionContext

[11]

The follow figure will illustrate the request processing workflow in Spring
Web MVC.

Software engineering



Industrial internship



Page
18






Figure 4: The requesting processing workflow in Spring Web MVC (high level)
[11]

Request handling steps in Spring MVC

1.

Client sends

the request

to the server through some URL
.

2.

The DispatcherServlet (
it
is configured in file „web.xml‟),
may be
called Front
Controller
. It

receives

the request and
finds

the appropriate Handler Mappings.

3.

With some information
configuration information from the config
uration file
or from the annotated controller list, the Handle Mappings maps the client
request to appropriate Controller.

4.

The Controller executes some business method to
handle

the Client request and
return the ModelAndView object back to the Front Controller.

5.

The Front Controller
calls

the

View template

(
View Resolver)

to render actual
view
. Base on the view name in ModelAndView object, the selected view will
be rendered by Vi
ew Resolver object

and output is generated in the form of
HttpServletResponse.

Finally,
the
Controller
return

the response to

the user
.
[12]

Example
: Now, to understand clearly how spring MVC works, I suggest an the
follow example, called
“Spring2.5_HelloWord”.

Software engineering



Industrial internship



Page
19




Step 1
: We must repair some prerequisite software for web application
development:


My eclipse 6.5 ( we can use other softwares is like: netbean, elipse… etc).


JDK 1.5 or higher version.


Apache
-
tomcat
-
6.0.20

Step 2
: We create Web
Project „Sping2.5_HelloWord‟ in MyEclipse 6.5.



Software engineering



Industrial internship



Page
20




Step 3
:
We modify code of index.jsp follow below

<%@
page
language
=
"java"
import
=
"java.util.*"
pageEncoding
=
"ISO
-
8859
-
1"
%>

<!
DOCTYPE
HTML
PUBLIC
"
-
//W3C//DTD HTML 4.01 Transitional//EN"
>

<
html
>

<
head
>


<
title
>
My JSP 'index.jsp' starting page
</
title
>

</
head
>


<
body
>


This is my main page.
<
br
>


<
a
href
=
"helloWord.xyz"
>
Welcome Spring MVC 2.5‟s word
</
a
>


</
body
>

</
html
>

Step 4
:
We run and check application



Software engineering



Industrial internship



Page
21




In above figure, that is our main page.
When

click mouse to the link
Welcome
Spring MVC 2.5‟s word

we want to open
helloWord.jsp,

which use spring MVC
2.5 technology.

Step5
:

We visit website
http://www.springsource.org/download

to
download
spring framework. First, we create folder with name “lib” in WebRoot/WEB
-
INF
directory. We copy spring.jar (from spring
-
framework
-
2.5/dist), spring
-
webmvc.jar (from spring
-
framework
-
2.5/dist
/modules),commons
-
logging.jar
(from spring
-
framework
-
2.5/lib/jakarta
-
commons), jstl.jar (download at website
http://www.java2s.com/Code/Jar/JKL/Downloadjstljar.htm

)

to the „lib' folder. In
this
example,

we just use three basic file jars from spring framework. Depend on
our usage purpose we can use some other file jar.

Step 6
: We build path and configure file jar.



Software engineering



Industrial internship



Page
22





Step 7
: Modify file web.xml in WEB
-
INF directory.
We define DispatcherServlet
(also known as a „Front controller‟) to let URL with a „.xyz‟ extension be routed to
the „springapplication‟ servlet.

<?
xml
version
=
"1.0"
encoding
=
"UTF
-
8"
?>

<
web
-
app
version
=
"2.4"
xmlns
=
"http://java.sun.com/xml/ns/j2ee"


xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema
-
instance"


xsi:schemaLocation
=
"http://java.sun.com/xml/ns/j2ee


http://java.sun.com/xml/ns/j2ee/web
-
app_2_4.xsd"
>

<servlet>



<servlet
-
name>

springapplication </servlet
-
name>



<servlet
-
class>




org.springframework.web.servlet.DispatcherServlet



</servlet
-
class>



<load
-
on
-
startup>1</load
-
on
-
startup>


</servlet>


<servlet
-
mapping>



<servlet
-
name> springapplication </servlet
-
name>



<url
-
pattern>*.xyz</url
-
pattern>


</servlet
-
mapping>

Software engineering



Industrial internship



Page
23




<
welcome
-
fi
le
-
list
>



<
welcome
-
file
>
index.jsp
</
welcome
-
file
>


</
welcome
-
file
-
list
>

</
web
-
app
>

Step 8
: We create a file with name „springapplication
-
servlet‟ in the
WebRoot/WEB
-
INF directory. This file contains all the beans (plain old java
objects) which used by the DispatcherServlet. This file„s name is determined by
value of the <servlet
-
name/> element

from the 'web.xml'. We add a bean with
name „/helloWord.xyz‟ and specify the class „controller.HelloWordController‟
which our application will use to service a request with the corresponding URL
mapping of „helloWord.xyz‟. The DispatcherServlet uses the
B
eanNameUrlHandlerMapping, an implementation class of the interface called
HandlerMapping to define the mapping between a request URL and the object that
is going to handle request.
Therefore,

the DispatcherServlet knows which
controller must be invoked for handling different URLs. To decouple the view
from the controller we add another bean with name „viewResolver‟ and specify the
class org.springframework.web.servlet.view.InternalResourceView
Resolver which
define the prefix and suffix for pages. The controller
returns ModelAndView after
that InternalResourceViewResolver resolver that and add prefix and suffix and
provide the view for the particular request.


Software engineering



Industrial internship



Page
24




Step 9
: we create a class with nam
e HelloWordController in package controller.
This HelloWordController implement form class Controller and implement
method handleRequest(HttpServletRequest request,HttpServletResponse response)
.In this method, other class, other methods will be called for

business process to
service the request and return ModelAndView object. This object contains the
logic name of view, pojo object which return to the request.


Step10
: We create call with name „HelloWordControllerTest „to test
HelloWordController. The fo
llow the code and the result after running test in
figure below, we recognized our code is ok.


Software engineering



Industrial internship



Page
25




Step 11
: We create JSP page with name „helloWord.jsp‟ in WebRoot/WEB
-
INFO/jsp directory.This page is used to display some necessary information based
on the ha
ndleRequest method form the HelloWordController. We see that after
calling the handleRequest method, ModelAndview object will be returned which
contains the logic view name and the pojo object. In the logic view page, we can
use spring form tag, JSTL, PDF,

Jasper report … etc to display information. Here I
used JSTL to display information.



Step 12
: We run application and click mouse to
Welcome Spring MVC 2.5‟s word

in the main page. We
will see the helloWord.xyz page follow the figure below.


Software engineering



Industrial internship



Page
26




2.2.4

Comparison Spring MVC with some other java web framework

2.2.4.1

Pros and Cons

Name of java web
framework

Pros

Cons

Spring MVC

(used since 2004)


Lifecyle for overriding
binding, validation, etc.


Integrates with many
view options seamlessly:
JSP/JSTL, Tiles,
Velocity,
FreeMarker
,
Excel, XSL, PDF


Inversion of Control
makes it easy to test


Easy testing with mocks
(e.g. EasyMock, jMock,
Spring Mocks)


Simple POJO based
framework not tied to
any specific style of
programming or
interfaces.


Large community
[13]


Configuration
intensive
-

lots of
XML


Almost too flexible
-

no common
parent Controller
-

hard to follow
workflow


Requires writing
lots of code in JSPs


No built
-
in Ajax
support


Requires a lot of
work in the
presentation layer:
JSP, javascript,
etc.
[13]


Strut 1

(used since 2001)


The “Standard”
-

very
well
-
known among
developers, most
popular


Lots of information and
examples


HTML tag library is one
of the best


Supported by many
tools
[13]


ActionForms
-

they’re a pain


Difficult to test


Project has been
rumored as “dead”
[13]


Strut2

(used since 2007)


Simple architecture
-

easy to extend


Tag Library is easy to
customize with
FreeMarker

or Velocity


Spring,
SiteMesh

and
Tiles integration


Ajax support: Dojo
built
-
in, plugins for

Documentation is
poorly organized


Too much
concentration on
new features


Googling results in
Struts 1.x
documentation
[13]

Software engineering



Industrial internship



Page
27




GWT


Controller
-
based or
page
-
based navigation


Easy to follow workflow


Clear action to java
class mapping


Easy

to get up and
going


Easy testing with mocks
(e.g.
EasyMock
, jMock)
[13]


JSF

(used since 2004)


J2EE Standard ;
-
( but
not the best choice )


Fast and easy to
develop with


Rich Navigation
framework


Lots of component
libraries


Wealth of built
-
in tools
from vendors and third
-
party programs for
creating robust JSF
pages
[13]


Tag soup for JSPs


Sucks w
hen used
with JSP


Doesn't play well
with REST or
Security


No single source
for implementation


Many complaints
and issues on how
things work
[13]

2.2.4.2

Job trends

The
following figure will show the job trends from January 2006 to January
2011.
It is so easy to recognize that
the percentage of spring MVC job is
increasing with high
degree in recent year
.

We can believe

in the

right future of
Spring
MVC with

many
jobs

for
programmers who have

knowledge about it.

Software engineering



Industrial internship



Page
28





Figure 5: The job trends
[14]

2.2.5

Why

did we choose Spring MVC

Base on the comparison about Pros and Cons, job trends of spring MVC with
some other java web framework

such as Strut, Strut2, JSF, Spring MVC, etc for

development of web application.

In my opinion, it is a bit difficult to say wh
ich
framework is the best choice. Each framework has it
s

private

advantages and
disadvantages.

Depending on the complexity, the business process, the features
, our
purpose,
we will select the suitable framework for development

of

our
application.
We
choose Spring MVC because it inherited all the features of spring framework. We
want to apply all the features of spring framework, Spring IoC
principle
to develop
the back
-
end of our
application.








Software engineering



Industrial internship



Page
29




CHAPTER 3: EXT JS

3.1

Ext

J
s introduction

Ext

Js

is a
client
-
side scripting
library
which
we

can use for
develop
ment of

interactive

web application, us
e

technologies

such as
Ajax
,
DHTML

and
DOM

scripting.

Originally, Ext Js was built
as an add
-
on library extension of Yaho
o User Interface
by Jack Slocum.

It

includes

interoperability with
jQuery

and
Prototype
. It
allows

us to
combine Ext Js with jQuery and Prototype for development of our
web
application.

Ext Js is

also

an easy API (Application Programming Interface), and real world
widgets. It provides rich user interface which the web developers
can

use
it as view
technology for develop view of our application.

[1
5
][1
6
]

3.2

Download and install Ext JS

3.2.1

Download

We visit at website
http://www.extjs.com/download


and download the version of
Ext Js we
need.

In my
project,

I use Ext Js 3.4.0

3.2.2

Install

Ext Js, it just an API.
Therefore,

to use this API, we
just copy all necessary file or
folder into one
or some
distinct folder in
the

web root directory and build it
together
with our application.

In
details,

you can reference at website
http://www.sencha.com/learn/legacy/Tutorials

or
reference
APPENDIX C
.

3.3

Ext Js features

Ext Js provides
many

features which we can separate to become two group main
features: Gui controls and Application support.

3.3.1

Gui controls

Ext Js provide a lot of

GUI
-
based form controls (or "widgets") for development of
web application:


text field and text area input control
s


date fields with a pop
-
up date
-
picker


numeric fields


list box

and
combo boxes


radio and checkbox controls


html editor
control


grid control (with both read
-
only and edit modes, sortable data, lockable and
draggable columns, and a variety of other features)

Software engineering



Industrial internship



Page
30





tree control


tab panels


toolbars


desktop application
-
style menus


region panels to allow a form to be divided into mult
iple sub
-
sections


sliders


flash charts

Many of these controls are able to communicate with a web server using Ajax.

[13]

3.3.2

Application support

Ext JS includes web application support with features such as:


modal dialog boxes


interactive user
-
input validation

prompts


state management

Other features include a DOM selector class allowing operations to be performed
on elements within the page, data stores that can be used to manage data, and
classes to create and manage data in JSON and XML formats.

[13]

3.4

Compare
Ext JS with some other java script framework

The following table will compare Ext Js with some other java script framework for
development view of application.

Features

ExtJS

Prototype

jQuery

YUI

IE Support

6.0+

6.0+

6.0+

6.0+

Firefox Support

1.5+

1.5+

2.0+

3.0+

Ajax Support

Yes

Yes

Yes

Yes

Event Handling

Yes

Yes

Yes

Yes

JSON

Yes

Yes

Yes

Yes

Calendar

Yes

No

jQuery UI

Yes

Charting

Yes

No

No
s

Yes

Grids

Yes

No

No

Yes

Progress Bar

Yes

No

jQuery UI

Yes

Rich Text Editor

Yes

No

No

Yes

Tree Views

Yes

No

No

Yes

Tabs

Yes

No

jQuery UI

Yes

Resizing

Yes

No

jQuery UI

Yes

Accordion

Yes

No

jQuery UI

No

Software engineering



Industrial internship



Page
31




Base on the below table, we see that Ext Js is a powerful java script framework for
developing client
-
side application with many features, especially It support many
widgets
.

[
1
7
]






























Software engineering



Industrial internship



Page
32




CHAPTER 4: SALTO
-
DB
-
GENERATOR

4.1

Introduction

In
the
industry
of software development
beside we must develop
software

with
high quality, satisfy the requirement of customer. We always want to develop
software at least time as it can be.

To help developer save time to type code, in this chapter, I would
like to introduce
one
tool, which

can help us
automatically
generate code from database structures. Its
name is Salto
-
db
-
generator, an open source, the copy right belong to Salto Consulting
organization.

4.2

Download and install

4.2.1

Download

-
We can visit and down
load Salto
-
db
-
generator, which

use
s

Ant to

build and
generate code
at website
http://sourceforge.net/projects/salto
-
db/files/salto
-
db
-
generator/
.

-
We can install Salto
-
db
-
generator as the Eclipse plugin by update site

http://salto
-
db.sourceforge.net/plugin/

-
If we want the source
-
code of Salto
-
db
-
generator
, we

download
at the
address

http://salto
-
db.svn.sourceforge.net/viewvc/salto
-
db/salto
-
db
-
generator/tags
.

4.2.2

Install

4.2.2.1

Install Salto
-
db
-
generator plugin to eclipse

We can install Salto
-
db
-
generator as eclipse plug
-
in by install plug
-
in to
eclipse or my eclipse. How we install and generate code by this way. You
reference website
http://salto
-
db.sourceforge.net/demo/


for more detail.

4.2.2.2

Run

Salto
-
db
-
gennerator with Ant

Salto
-
db
-
generator is a project. To run this project and generate code
, we must
configure

something in file „build.xml‟ and use Ant

to build it
. We must set up
environment variables to build Salto
-
db
-
generator with Ant by command line.
Be
clearer,

reference at

APPENDIX D
.

4.3


Ant

usage
[18]

Salto
-
db
-
generator provides an Ant Task.
Therefore,

we
use

Ant to build
Salto
-
db
-
generator

for generating

code

from data structure
.
In order to generate code, we must
declare the value for some
parameters
in the following table.

Software engineering



Industrial internship



Page
33




driverClassName

required

This parameter define class name of the
JDBC

driver
.
Example:

com.mysql.jdbc.Driver for MySQL,
etc.

followForeignKeys

optional
(default is
false)

This parameter provides

two
options
: true or
false. If

set
to true, Salto
-
db Generator will follow foreign keys

on
table to retrieve dependant

tables to execute plugin on
them as well.

jdbcUrl

required

This parameter defines
JDBC url to access to the
database.


login

required

This parameter defines the
user name of account to

access to the database

for generating code.

maxDepth

optional
(default is
0)

This parameter to define the max depth to retrieve the
dependant tables w
hen
we
set

to true the value of
followForeignKeys.

nameOffset

optional
(default is
0)

This parameter define
the number

of first characters
of
table names will be
ignored when generate code
.
Example if we

run the Hibernate plugin on a table named
"TB_
USER
", a pojo mapping this table will be generated.
By default its name would be "Tb
User
" but if
we

set
nameOffset to 3, the generated name will be "
User
".

plugin

optional
(default is
Salto
-
db)

This parameter defines the name of
the plugin
we

want to
use in Salto
-
db Generator

for generating code.

prefix

optional
(default is
empty
string)

This parameter defines the

prefix that will be added to
every
class
.

outputDir

required

This parameter defines the o
utput directory where
generated files will be saved.

packageName

required

This parameter defines

the n
ame of the java package in
which
the
generated files will be saved.

Software engineering



Industrial internship



Page
34




password

required

This parameter
defines the password of account to access
to the database for generating code.

schema

required

This parameter defines the n
ame of the schema in which
target tables can be found
.

tablesNames

required

This parameter defines the

list
of tables

which we need to
generate code.

Each table
has

to separate by comma
.

4.4

Overview plugins of Salto
-
db
-
generator
[19]

The
following below

table will describe all
the
plugins which
are

provided

by Salto
-
db
-
generator.

Name of plugin

Description

Salto
-
db

This plugin
is used to

generate a Salto
-
db data

object for each table.

EJB3

This plugin

is used to
generate

EJB3 entit
y for
each table.

Hibernate

This plugin
is used to generates pojos object and

mapping files for hibernate.

EJB3 And Hibernate DAOs

-
This plugin generates EJB3 entities,
an

abstract
persistence layer and
a Hibernate

annotation
implementation of this layer.

-
For each table the plugin generates the entity
class, an abstract DAO class and a concrete
hibernate dao.

-
In each dao there is a
getById() method, a save()
method, an update() method, a delete() method
and a finder for each different column.

EJB3, Hibernate DAOs and JUnit
tests


This plugin generates the same files as the
"EJB3
And Hibernate Daos" plugin

, plus JUnit
testcases for every generated daos.

Pojos and Hibernate DAOs


-
This plugin generates pojos (
be
like the
Hibernate plugin), a abstract persistence layer
and an hibernate
implementation of this layer.

-
For each table the plugin generates the pojo, an
abstract DAO class and a concrete hibernate dao.

-
In each dao there is a getById() method, a save()
Software engineering



Industrial internship



Page
35




method, an update() method, a delete() method
and a finder for each differen
t column.

-
It generates hibernate mappping files as well
(hbm files).

4.5

How to write a custom plug
-
in

We can write our own plugins

and use them from the Ant task
. To write a plugin,
we need to write our own class implement IGeneratorPlugin interface. Howeve
r,
some general functions has already implemented in the
„DefaultAbstractGeneratorPlugin‟ abstract class. So our own

Plugin class should
extend that

class for more convenient. If we are familiar with the Velocity template
engine,
we should extend
VelocityAbstractPlugin

to

write
the new plug
-
in
.
Because
Velocity template helps us so much for creating any template of
file, which
we want
for generating

code.
[20
]

4.6

Wh
en

should we choose Salto
-
db
-
generator

for generate code

The tools for
automated generation of object
-
oriented code
, it can be separated
into two groups with two different approaches.
The first approach is generating cod
e
from data structure such as Salto
-
db
-
generator, etc. Other
approach is

generating code
from UML such as
Acceleo, Ration rose, etc.

Depending on some case, we will decide which tools we should choose. If the
system which we will develop, have many complex

business process, many complex
features
. In my opinion, we should
us
e UML to analyze all the interaction of the
entire system. There for,
the
tool

for automated
generation of object
-
oriented code

from UML is

the best
choice. Otherwise, with the simple sys
tem, which we just need
to manage the database only, simple feature. We can analyze the system without
UML, design good database.
In this case, the tool for automated
generation of object
-
oriented code

from data structure is the best choice.

I try to searc
h some tools for automated
generation of object
-
oriented code

from
data structure but I just see the Salto
-
db
-
generator. However, with a lot of plug
-
ins
as
I wrote above, it is so helpful for development of our simple application. Moreover,
t
he Salto
-
db
-
generator has already provided the
JdoInfo
object with many
attributes
that

contained all the information of table.
It also
provides

the way to program with
velocity language to write the template
. We just need to learn the way to write the
tem
plate with the Velocity language. We can write our own
plug
in and generate all
thing follow our own template.

Salto
-
db
-
generator
provides

not only many plugins,
but also the ability for us to write our own
plug
in. It helps us to generate all
object
-
oriente
d code we need.

Software engineering



Industrial internship



Page
36




CHAPTER 5
:

TON DUC THANG
POLITICAL SCHOOL

OF AN GIANG
PROVINCE MANAGEMENT
SYSTEM ANALYSIS


5.1

Software development model

There are
some

models for software developm
ent.
However,

here
we

introduce two

of
them. Those are waterfall model and rapid prototyping

model
.

5.1.1

Waterfall model


Figure
6
: Waterfall model

In this model, the software development is organized into distinct phases. Each
phase ends with a document that has to be approved in order for the

next phase to
start.

Software engineering



Industrial internship



Page
37




5.1.2

Rapid prototyping


Figure
7
: Rapid prototyping model

This model is similar
to

waterfall model but
first, we must
create

user interface

prototype, evaluate
it

together with customer

a
nd we use the result to design and
build the real
system.

5.1.3

Comparison Rapid prototyping with
Waterfall model

After develop software follow the Rapid prototyping model.
We

recognized that it
was so useful. All customer„s requirements are clear in both of the features and
user interface prototype. It help we create software to meet the customer
„requirement. It saves time to repair software. However, it take more time to
ana
lyze the system because we must spent time to make user interface prototype.


Software engineering



Industrial internship



Page
38




5.2

System architecture


Figure
8
: System architecture

Ton Duc Thang
Political School

includes 17
modules

and follows

the F
igure
8

above
and
descriptions in table below.

Name of
module

Description



MODULE 1: SYSTEM MANAGEMENT

Help administrator manage all the users, all
the
function

group
s
, function
s
, some
general catalogue
s were

use
d

in the system.
Software engineering



Industrial internship



Page
39




With many

features as: add, delete, view
,
search, assign role for each
user…..etc.


MODULE 2:
TRAINING
MANAGEMENT


Help the
t
raining room

manager manage all
thing which concern with training.
Example:
add

plan for new
course
, manage
all student
s

in school, manage schedule for
teaching and learning of teacher and
student, m
ange grade of student, manage
absence of student, manage schedule for
test and exam
ination
...etc.


MODULE 3:
SCIENTIFIC

RESEARCH
PROJECT MANAGEMENT


Help the
scientific

research

room manager
manage all thing which concern with
scientific

research project. Example it help
him to make new plan
for

scientific

research project, send to the principal of
school give some ideas, and notify to all
teacher to registry the
scientific

research
project. Create jury to consider the result of
the
sci
entific

project of teacher…etc


MODULE 4: PRACTICAL RESEARCH
FOR TEACHER MANAGEMENT


Help
scientific

research room manager
manage all thing which concern with
practical research for teacher. Example it
help him to make new plan of practical
research for teacher, send to the principal
of school

for
giv
ing

some
idea
s
, and notify
to all teacher to registry

the essay, the
place for practical research. Create jury to
consider the result of practical research for
teacher …etc




MODULE 5: CONFERENCE
Help
scientific

research room manager
manage all thing which concern with
conference. Example it h
elp him to make
new plan of conference, send to the
Software engineering



Industrial internship



Page
40




MANAGEMENT


principal of school give idea, and notify to
all teacher to registry the conference essay,
manage all document of conference . ..etc


MODULE 6: OFFICIAL MANAGMENT


Help the
Human Resources Department

manager manage all information of official
in Ton Duc Thang
Political School
. With
many features: add new official, modify,
export report of list official in year….etc.


MODULE 7: DORMITORY „S
STUDENT MANAGEMENT


Help the dormitory manager to manage all

information concern in dormitory.
Example: manage information of all
student, all room, equipment in dormitory.
Help manager find the empty room for new
student…etc.


MODULE 8: LIBRARY
MANAGEMENT


Help the librarian manage book, manage
borrow book of
student, export list book
which is not return from reader, export list
of lost book in year…etc.


MODULE 9: JOURNAL OF TEACHER
MANAGEMENT

Help the
scientific

research room manager
manage all information about journal of
teacher in year. Add new journal wi
th
author, link reference for journal, export
list journal in the year. Export list lecturer
have journal in the year…etc.


MODULE 10: HISTORICAL OBJECT
MANAGEMENT


Help the
scientific

research room manager
manage all
information about historical

objects.

Example it help him to add new,
modify information of historical object
,
etc.


MODULE 11: FACILITIES
MANAGEMENT


Help
the
Finance

&
Accountant Depar
t
ment
manager

manage all information of the
facilities of the school. Example the
software can help him to add new, modify,
and search
facility
. Export list new facility
Software engineering



Industrial internship



Page
41




in the year,
etc.



MODULE 12: STUDENT „S IDEA
MANAGEMENT


After finished one subject of training
p
rogram in Ton Duc Thang school. The
scientific

research room manager will print
form follow the pattern, and send to student
who will fill and check some idea about the
quality of lecture of lecturer. Software help
him to manage input student„s idea. And a
t
the end of year, software will compute the
percent for each result which the student
checked. And follow this result everyone
will know the quality of teaching of
teacher. That is the rule which the principle
base on to decide increase salary for
officia
l or not, or consider promotion for
lecturer.



MODULE 13: TEACHER „S
WORKSHOP MANAGEMENT


Help
scientific

research room manager
manage all thing which concern with
teacher‟s workshop. Example it help him to
make new plan of teacher‟s workshop, send
to th
e principal of school
for giving

idea,
and notify to all teacher to registry the
lecture for workshop. Create jury to
consider the result of teacher „s workshop
,
etc
.


MODULE 14: MEETING
-
TEACHING
ROOM MANAGEMENT


Help the
Finance

&
Accountant Depar
t
ment
manager manage all information concern
with all meeting room, learning room.
Example: manage information of all
meeting room, teaching room, all
equipment inside the room, manage state of
room (available or busy, who is using it and
use it for what pu
rpose). Help manager find
Software engineering



Industrial internship



Page
42




the available learning room, meeting room
for some purpose

etc

MODULE 15: ELECTIC OFFICICE
SOFTWARE

This module was developed base on Lotus
(one of
technology

of IBM company). This
module is used to manage schedule of
works, manage mails…etc.

MODULE 16:
WEBSITE TONDUC
THANG
POLITICAL SCHOOL

PORTAL

This module is a website of Ton Duc
Thang
Political School
.

It will display all
useful information about this sch
ool.

MODULE 17:

INFORMATION FOR
STUDENT MANAMENT LINK


This module manage all information which
concern to student. To use this module,
student must have account to login.


5.3

Technology

for developing Ton Duc Thang
Political School

management
system

Technology

for developing this system base on open source:


Language: Java (jdk1.6.x)


Framework: Spring MVC for developing web application.


Ext Js: for developing

view

of application.


Jasper report: design and create report for application.


Salto
-
db
-
genera
tor: automatically generates code from table.


Database management system: MySQL 5.1


Apache
-
ant
-
1.8.1: use run Salto
-
db
-
generator with command line


Apache
-
tomcat
-
6.0.x:

this server for running application.


My eclipse 6.5: tools for developing application.

Software engineering



Industrial internship



Page
43




5.4

Architecture of deployment system diagram


Figure
9
:
Architecture deployment system