Đ I H C QU C GIA HÀ N I
TRƯ NG Đ Iz C CÔNG NGH
H
Nguy n Thanh Xuân
NGHIÊN C U L P TRÌNH NG D NG CHO CÁC
THI T B DI Đ NG ÁP D NG CHO BÀI TOÁN
CAMPUS GUIDE
KHOÁ LU N T T NGHI P Đ I H C H CHÍNH QUY
Ngành: M ng và truy n thơng máy tính
HÀ N I - 2010
Đ I H C QU C GIA HÀ N I
TRƯ NG Đ I H C CÔNG NGH
Nguy n Thanh Xuân
NGHIÊN C U L P TRÌNH NG D NG CHO CÁC
THI T B DI Đ NG ÁP D NG CHO BÀI TOÁN
CAMPUS GUIDE
KHOÁ LU N T T NGHI P Đ I H C H CHÍNH QUY
Ngành: M ng và truy n thơng máy tính
Cán b hư ng d n: ThS. Nguy n Vi t Anh
HÀ N I - 2010
L I C M ƠN
Em xin chân thành c m ơn các th y cô giáo trong trư ng Đ i h c Công ngh Đ i h c Qu c gia Hà N i đã t n tình giúp ñ và truy n ñ t ki n th c cho em trong su t
4 năm h c qua ñ em có đ ki n th c hồn thành khóa lu n này.
Đ c bi t, em xin g i l i c m ơn sâu s c t i th y Nguy n Vi t Anh – ngư i ñã
nhi t tình giúp ñ , ñ nh hư ng cũng như đ ng viên em trong q trình nghiên c u và
hồn thành khóa lu n.
Em xin c m ơn s nhi t tình chia s kinh nghi m, ñóng góp ý ki n c a nhóm
nghiên c u do th y Nguy n Vi t Anh hư ng d n, c a các anh ch cao h c.
M c dù đã r t c g ng hồn thành khóa lu n này, xong khóa lu n s khó tránh
kh i nh ng thi u sót, kính mong q th y cơ t n tình ch b o giúp em. M t l n n a em
xin c m ơn t t c m i ngư i.
Hà N i, tháng 5 năm 2010
Sinh viên
Nguy n Thanh Xuân
TĨM T T
Khóa lu n t p trung nghiên c u và phân tích m t s v n đ sau:
- Tìm hi u v cơng ngh J2ME, Web service, Servlet, b n ñ .
- Áp d ng x lý d li u theo ng c nh vào các bài tốn th c t .
- Xây d ng thành cơng chương trình “Hư ng d n cung c p thơng tin v Đ i h c
Qu c gia Hà N i - VNU Campus Guide”. ng d ng ñã ñáp ng ñư c nh ng
ch c năng c n thi t nh t trong vi c xem b n ñ , cung c p thông tin theo ng
c nh v Đ i h c Qu c gia Hà N i.
M CL C
CHƯƠNG 1. M
Đ U ................................................................................................... 1
1.1.
Lý do ch n ñ tài ..................................................................................................... 1
1.2.
Nhi m v nghiên c u .............................................................................................. 1
1.3.
B c c c a khóa lu n .............................................................................................. 2
CHƯƠNG 2. BÀI TỐN................................................................................................ 3
2.1.
Bài tốn..................................................................................................................... 3
2.2.
Mơ t ......................................................................................................................... 3
2.3.
Mơ hình đ xu t ....................................................................................................... 4
2.3.1.
Mơ hình ngư i s d ng........................................................................................ 4
2.3.2.
Y u t ng c nh .................................................................................................... 5
2.3.3.
Mô hình n i dung ................................................................................................. 7
2.3.4.
Các cách cài đ t cây thông tin ............................................................................. 9
2.3.5.
Lu t l a ch n thông tin cung c p cho t ng ngư i dùng.................................. 10
CHƯƠNG 3. PHÂN TÍCH THI T K CHƯƠNG TRÌNH VNU CAMPUS
GUIDE
3.1.
................................................................................................................. 11
Phân tích................................................................................................................. 11
3.1.1.
Phân tích các yêu c u ch c năng ...................................................................... 11
3.1.1.a.
Đăng nh p, ñăng ký ......................................................................................... 11
3.1.1.b.
Xem b n đ ...................................................................................................... 11
3.1.1.c.
Tìm ki m đ a ñi m ............................................................................................ 11
3.1.1.d.
Danh sách trư ng, khoa .................................................................................. 11
3.1.1.e.
Tr giúp ........................................................................................................... 11
3.1.1.f.
Xem chi ti t ...................................................................................................... 12
3.1.2.
3.2.
Đ i tư ng s d ng .............................................................................................. 12
Thi t k cơ s d li u ............................................................................................ 12
3.2.1.
Sơ ñ d li u ....................................................................................................... 12
3.2.2.
Chi ti t thi t k cơ s d li u .............................................................................. 13
3.2.3.
Mơ t cây thơng tin ............................................................................................. 14
3.3.
Mơ hình k t n i...................................................................................................... 16
3.4.
Ch c năng c a ng d ng Midlet ......................................................................... 17
3.4.1.
Các ch c năng c a ng d ng ............................................................................ 17
3.4.2.
Lu ng x
lý chương trình ................................................................................. 18
3.4.2.a.
Các ch c năng chính ....................................................................................... 20
3.4.2.b.
Lu ng chương trình ......................................................................................... 24
3.5.
Ch c năng phía Server ......................................................................................... 25
3.5.1.
Web service.......................................................................................................... 25
3.5.2.
Servlet .................................................................................................................. 26
3.6.
Các Module x lý................................................................................................... 26
3.6.1.
Phía client ........................................................................................................... 26
3.6.1.a.
Gói hello .......................................................................................................... 26
3.6.1.b.
Gói campusservice ........................................................................................... 27
3.6.1.c.
Gói data ........................................................................................................... 27
3.6.2.
Phía server .......................................................................................................... 28
3.6.2.a.
GetMysqlConnection.java................................................................................ 28
3.6.2.b.
CampusHttpServer.java ................................................................................... 28
3.6.2.c.
Campus.java .................................................................................................... 28
CHƯƠNG 4. CÔNG NGH S
4.1.
D NG ..................................................................... 29
Lĩnh v c ng d ng không dây v i công ngh Java ............................................ 29
4.1.1.
Các phiên b n Java 2 ......................................................................................... 29
4.1.2.
Java 2 Enterprise Edition ................................................................................... 29
4.1.3.
Java 2 Micro Edition .......................................................................................... 30
4.1.3.a.
Các ki u ng d ng MIDP ................................................................................ 30
4.1.3.b.
H n ch c a các thi t b di ñ ng ..................................................................... 31
4.2.
L p trình Web Service v i MIDP ........................................................................ 31
4.2.1.
D ch v Web (Web service)................................................................................. 31
4.2.1.a.
Đ nh nghĩa ....................................................................................................... 31
4.2.1.b.
Các ñ c ñi m chính c a d ch v We: ............................................................... 32
4.2.1.c.
T i sao dùng d ch v Web ................................................................................ 32
4.2.1.d.
Các thành ph n cơ b n .................................................................................... 32
4.2.2.
WSDL .................................................................................................................. 32
4.2.3.
UDDI ................................................................................................................... 35
4.2.4.
SOAP ................................................................................................................... 35
4.3.
4.3.1.
Cơng ngh b n đ .................................................................................................. 38
nh SVG ............................................................................................................. 38
4.3.1.a.
Các thu c tính c a nh SVG ............................................................................ 38
4.3.1.b.
Các ch c năng và ñ c trưng ............................................................................ 39
4.3.1.c.
Ưu ñi m ............................................................................................................ 39
4.3.1.d.
Như c ñi m ...................................................................................................... 40
4.3.2.
SVG tiny .............................................................................................................. 40
4.3.3.
X lý các ñ i tư ng trong nh SVG................................................................... 40
CHƯƠNG 5. CÀI Đ T VÀ TH
NGHI M.............................................................. 41
5.1.
Yêu c u ................................................................................................................... 41
5.2.
Cài ñ t .................................................................................................................... 41
5.3.
Th nghi m chương trình .................................................................................... 41
CHƯƠNG 6. K T LU N ............................................................................................ 45
6.1.
K t qu ñ t ñư c ................................................................................................... 45
6.2.
Hư ng phát tri n ................................................................................................... 45
TÀI LI U THAM KH O............................................................................................... 46
CHƯƠNG 1.
M
Đ U
1.1. Lý do ch n đ tài
Cơng ngh thông tin là m t ph n quan tr ng c a cu c s ng. Các thi t b k thu t
cao ngày càng g n gũi v i m i ho t ñ ng c a con ngư i. Đ c bi t nh ng năm g n ñây,
các thi t b không giây - v i ưu th nh g n, d mang chuy n, ñã ch ng t đư c l i ích
to l n cho ngư i s d ng. Trong đó đi n tho i di ñ ng, v i ch c năng liên l c n i b t
lên như m t v t b t ly thân. V i s phát tri n nhanh chóng c a cơng ngh s n xu t
thi t b khơng dây, đi n tho i di ñ ng ñã tr thành phương ti n ña ch c năng(nghe
nh c, chơi trò chơi, l ch làm vi c..) ph c v cho nhu c u gi i trí, làm vi c, c p nh t
thơng tin m i lúc, m i nơi.
Trong cu c s ng, nhu c u liên l c, c p nh t thông tin là h t s c c n thi t. Hi n
nay có r t nhi u phương pháp liên l c khác nhau như thư ñi n t , ñi n tho i ñ bàn,
ñi n tho i di ñ ng, k t n i Wi-fi, WiMax… Trong ñó, ñi n tho i di ñ ng n i b t v i
s ti n l i, h u ích. Nh ch c năng ñàm tho i tr c ti p m i lúc m i nơi, mà ñi n tho i
di ñ ng ngày càng ñư c s d ng r ng rãi. Đi n tho i di ñ ng là thi t b phát tri n
nhanh chóng nh t c v cơng ngh l n tính năng, ng d ng. Ngày nay, h u như m i
ngư i ñ u mang theo bên mình m t chi c ñi n tho i di ñ ng.
Nhu c u tìm hi u v Đ i h c Qu c Gia Hà N i cũng như các trư ng ñ i h c
thành viên là c n thi t. Bên c nh đó, do khn viên r ng, có nhi u tịa nhà đ a đi m
nên nhu c u tìm v trí tịa nhà là c n thi t. Vi c phát tri n ng d ng trên ñi d ng cho
hư ng d n trong khuôn viên Đ i h c Qu c Gia Hà N i r t h u ích. Ngư i dùng có th
ngay l p t c tìm đư c đ a đi m b t c lúc nào.
Vì nh ng lý do này, em quy t ñ nh th c hi n ñ tài “VNU Campus Guide –
hư ng d n, thông tin v Đ i h c Qu c Gia Hà N i – trên n n J2ME”.
1.2. Nhi m v nghiên c u
Đ tài c n gi i quy t nh ng nhi m v sau:
Th nh t: Xây d ng ng d ng chính trên n n J2ME. ng d ng c n hi n th đư c
b n đ khn viên Đ i h c Qu c Gia Hà N i, l y thông tin v trư ng t server.
Th hai: C n xây d ng m t ng d ng Web server cung c p, x lý thông tin cho
ng d ng phía Client là thi t b di ñ ng. Server s d ng công ngh J2EE, WSDL. Tìm
hi u các cơng ngh đ k t n i t ng d ng trên thi t b di ñ ng ñ n Web server.
1
Th ba: Tìm hi u thơng tin, t ch c thơng tin phù h p đ cung c p cho ngư i
dùng v i ng c nh khác nhau:
Ngư i dùng khác nhau (sinh viên, khách tham quan, …)
Th i gian xem thơng tin.
1.3. B c c c a khóa lu n
Khóa lu n g m 5 chương
- Chương 1. M ñ u.
Nêu khái quát ñ tài, nhi m v nghiên c u.
- Chương 2. Bài toán
Nêu bài toán, các y u t ng c nh, mơ hình đ xu t.
- Chương 3. Phân tích thi t k chương trình VNU Campus Guide.
Thi t k chi ti t mô t h th ng VNU Campus Guide.
- Chương 4. Công ngh .
Trình bày các cơng ngh dùng trong h th ng VNU Campus Guide: J2ME, J2EE,
cơng ngh b n đ .
- Chương 5. Cài ñ t và th nghi m.
Chi ti t cách cài đ t, tri n khai chương trình, các k t qu th nghi m chương
trình.
2
CHƯƠNG 2.
BÀI TỐN
2.1. Bài tốn
Khn viên Đ i h c Qu c gia Hà N i r ng v i nhi u tòa nhà, m t sinh viên m i
hay khách tham quan chưa bi t đư c v trí các tịa nhà, đ a đi m. Thơng tin chi ti t mô
t v các trư ng, khoa trong Đ i h c Qu c gia cũng c n thi t ñ i v i h . M t b ng ch
d n đơn thu n khơng th th a mãn nhu c u tìm hi u thơng tin.
Ngày nay, h u h t m i ngư i ñ u có bên mình chi c đi n tho i di ñ ng nh g n,
nhi u ch c năng. V i s phát tri n công ngh như ngày nay, các thi t b di ñ ng ngày
càng ña d ng, năng l c x lý càng tăng. Vi c xây d ng các ng d ng cho thi t b di
đ ng ngày càng tr lên d dàng hơn.
Vì v y vi c m t ng d ng cho phép m i ngư i d dàng xác ñ nh tịa nhà, đ a
đi m v trí nào trong khn viên là c n thi t. Ngoài ra ng d ng ph i cung c p thông
tin c n thi t cho ngư i dùng theo ng c nh.
2.2. Mô t
M c tiêu c a chương trình là ngư i dùng tìm ki m đ a đi m, truy xu t thông tin
c n thi t v các trư ng, khoa trong Đ i h c Qu c gia n u h có đi u ki n s h u m t
chi c ñi n tho i di ñ ng h tr ng d ng Java.
C n có giao di n cho phép ngư i dùng xem b n ñ khu v c đ xác đ nh các tịa
nhà, đ a ñi m trong Đ i h c Qu c gia Hà N i.
M i ngư i dùng ñ u có nhu c u tìm hi u thơng tin khác nhau, vì th lư ng thơng
tin cung c p cho t ng ngư i cũng ph i khác nhau.
Các thông tin cung c p ph i tùy thu c vào ngư i dùng và thông tin cũng như
lư ng thông tin đã xem trong q kh .
Tính di đ ng
V i m t thi t b di đ ng có h tr Java, ngư i dùng có th s d ng chương trình
b t kỳ đâu, vào b t kỳ th i gian nào.
Tĩnh ng c nh
V i ng c nh ngư i dùng, ng c nh môi trư ng, lư ng thông tin cung c p s
khác nhau.
3
2.3. Mơ hình đ xu t
M c tiêu c a nghiên c u là phát tri n m t ng d ng giúp m i ngư i có th d
dàng truy c p thơng tin, tìm hi u v Đ i h c Qu c gia b t c ñâu, b t c lúc nào ch
v i m t thi t b di d ng h tr Java và có kh năng k t n i Internet.
H th ng s cung c p thơng tin, hình nh, ch d n phù h p v i ng c nh. Bên
c nh đó trong q trình ho t đ ng h th ng s t ñ ng nh n bi t s thay ñ i ng c nh
ñ thay ñ i n i dung cho phù h p.
H th ng
Thông tin
yêu c u
X lý
thông tin
Thông tin
ng c nh
Ngư i dùng
Lu t l a ch n
thông tin
N i dung theo
ng c nh
Thông tin
Trư ng, khoa
Hình 2.1. Mơ hình đ xu t xây d ng h th ng
M i khi ngư i dùng yêu c u l y thông tin, h th ng s l y thông tin, yêu c u c a
ngư i dùng đ c p nh t thơng tin ng c nh. Thơng tin ng c nh này s đư c m t lu t
l a ch n thông tin s d ng. Sau khi ch n l a ñư c thơng tin, chương trình s thay đ i
ng c nh như l ch s xem thơng tin …
2.3.1. Mơ hình ngư i s d ng
M i ngư i dùng có nhi u thông tin cá nhân cũng như thông tin v môi trư ng
khác nhau, r t nhi u y u t nh hư ng nhưng ta ch ch n nh ng y u t chính, quan
tr ng nh hư ng ñ n ng c nh ngư i dùng.
Các tác nhân th hi n ng c nh c a ngư i s d ng:
4
Th i gian
Ví tr
L ch s
xem thơng
tin
Thơng tin
ngư i dùng
Hình 2.2. Mơ hình ngư i dùng
V trí: là thơng tin th c v v trí hi n t i c a ngư i dùng. Ta có th bi u di n nó
theo kinh đ và vĩ đ . Do v trí c a ngư i dùng thay đ i thư ng xun nên vi c xác
đ nh v trí c a ngư i dùng là đư c ưu tiên. Có nhi u cách ta có th xác đ nh đư c v
trí hi n t i c a ngư i s d ng như s d ng cơng ngh đ nh v A-GPS, E-OTD hay
Cell-ID ho c TOA… Ngoài ra, location cịn bao g m c các thơng tin khơng gian, và
v trí hi n t i c a ngư i s d ng.
Th i gian: Th i gian ñây là th i gian s d ng chương trình, m i ngư i dùng
có đ t p trung cũng như lư ng th i gian có th dùng đ xem thông tin khác nhau.
Thông tin ngư i dùng: M i ngư i dùng có thơng tin khác nhau, lư ng thơng tin
cung c p cho các đ i tư ng ngư i dùng khác nhau cũng ph i khác nhau phù h p v i
đ tu i, s thích…
L ch s xem thông tin: M i khi xem m t thơng tin r i thì ngư i dùng thư ng
khơng mu n xem ti p trong l n ti p theo, do đó c n lưu tr l ch s xem thơng tin đ x
lý trong nh ng l n ti p theo.
2.3.2. Y u t ng c nh
"B i c nh là b t kỳ thơng tin có th ñư c s d ng ñ ñ c trưng cho hoàn c nh
c a m t th c th . Th c th là m t ngư i, ñ a ñi m, ho c ñ i tư ng ñó ñư c coi là có
5
liên quan ñ n s tương tác gi a ngư i s d ng và m t ng d ng, bao g m c ngư i
dùng và ng d ng chính h " - Dey, Abowd & Salber [1].
Paul Dourish đã nói r ng có hai góc nhìn khác nhau v ng c nh [5]:
-
Ng c nh như m t ñ i di n
o Ng c nh là m t hình th c c a thơng tin. Nó có th ñư c bi t ñ n (và do ñó mã
hóa và bi u di n như các thông tin khác trong các h th ng ph n m m).
o Ng c nh là có kh năng khoanh đ nh. Chúng ta có th xác đ nh nh ng gì có
giá tr như là b i c nh c a ho t ñ ng mà h tr ng d ng.
o Ng c nh là n ñ nh. M c dù các y u t chính xác c a m t bi u di n ng c nh
có th khác nhau tùy theo ng d ng, chúng khơng thay đ i trong cách th hi n
c a m t ho t ñ ng hay m t s ki n. Xác ñ nh s liên quan c a b t kỳ y u t
ti m năng theo ng c nh có th đư c th c hi n m t l n và cho t t c .
o Ng c nh và các ho t ñ ng ñư c tách riêng. Ho t ñ ng x y ra “trong” m t ng
c nh. Ng c nh mơ t các đ c trưng c a mơi trư ng trong đó các ho t đ ng
di n ra, nhưng đó là tách bi t v i ho t ñ ng.
-
Ng c nh như m t tương tác
o Thay vì xem xét ng c nh đ ñư c thông tin, ng c nh ñư c xem như m t
thu c tính quan h
gi a các đ i tư ng ho c các ho t ñ ng. Nó khơng đơn
gi n là trư ng h p cái mà cái gì đó là ng c nh ho c khơng, mà nó có th ho c
khơng là theo ng c nh liên quan ñ n m t s ho t đ ng c th .
o Thay vì xem như ng c nh có th đư c khoanh đ nh và đư c xác đ nh trư c,
cách nhìn thay th ch ra r ng ph m vi c a các tính năng đư c đ nh nghĩa đ ng.
o Thay vì xem ng c nh là n đ nh, b i c nh ñư c xem r ng là c th cho t ng
l n ho t ñ ng ho c hành ñ ng. B i c nh là m t thu c tính th i đi m, có liên
quan ñ n các cài ñ t c th , ñ c bi t trư ng h p hành ñ ng và các ph n c th
ñ hành ñ ng.
o Thay vì đ t b i c nh và n i dung thành hai th c th riêng bi t, xem r ng b i
c nh phát sinh t ho t đ ng. B i c nh khơng ch là “ đó”, mà là đang đư c
t o ra, duy trì và đưa ra trong q trình ho t đ ng.
Ng c nh chương trình:
6
-
Thông tin ngư i dùng: m i ngư i dùng s có thơng tin khác nhau như: tên, ki u
ngư i dùng, lư ng thơng tin c n xem…
-
V trí: V trí ngư i dùng đư c xác đ nh d a trên Location-Based Service ho c do
ngư i dùng ch đ ng l a ch n. Khi ví tr xác đ nh, thơng tin cung c p s tương
ng v i đ a đi m đó.
-
Th i gian xem thơng tin: m c đ chi ti t c a thông tin s d a vào th i gian ngư i
dùng mu n xem, ngư i dùng có nhi u th i gian có th xem thơng tin v i m c ñ
chi ti t cao hơn.
-
L ch s xem thơng tin: Khi m t ngư i đã xem m t thơng tin thì khơng c n thi t
ph i xem l i, do đó c n lo i b tùy ch n xem thơng tin đó nh ng l n sau.
2.3.3. Mơ hình n i dung
Thơng tin s đư c phân c p theo m c ñ chi ti t. Đ phân c p theo m c ñ chi
ti t, ta ch n mơ hình thơng tin hình cây. M i nút s có m t lư ng thơng tin nh t ñ nh.
Tùy thu c vào ng c nh thì s l y thơng tin m t nhánh các nút khác nhau.
7
1
2
nút
4
6
nút
nút
nút
nút
…
nút
…
…
…
nút
nút
nút
Chia ra 2 nhánh tương
ng v i ki u ngư i dùng
…
nút
3
5
Đ nh ñư c g n v i m t
trư ng, khoa
Đ nh cây
M c topic: chia ra
nhi u topic khác
…
M c thơng tin 1:
Tóm t t t ng ph n.
M c thơng tin 2:
Tiêu đ các đo n
…
…
M c thơng tin 3:
N i dung các đo n
Hình 2.3. Cây thông tin lưu tr v các trư ng, khoa
-
Đ nh cây là m t nút tương ng v i m t ph n thông tin.
-
M c th 2 tương ng v i t ng ki u ngư i dùng.
-
M c th 3 tương ng v i t ng topic c a cho t ng ki u ngư i dùng.
-
M c th 4, 5, 6 tương ng v i 3 m c thông tin theo tùy ch n c a ngư i dùng.
o M c b n: M c thông tin 1, tóm t t t ng ph n.
o M c năm: M c thơng tin 2, tiêu đ t ng đo n
o M c sáu: M c thơng tin 3, n i dung t ng ño n.
8
2.3.4. Các cách cài đ t cây thơng tin
Thơng tin v Trư ng, khoa c n t ch c phân c p theo m c ñ chi ti t c a thơng
tin. Ngồi ra c n chia thơng tin theo t ng ñ i tư ng ngư i dùng. Do dó nên t ch c
theo mơ hình cây.
Cây có th cài ñ t b i các cách khác nhau. Sau ñây, chúng ta trình bày hai
phương pháp cài ñ t cây thông d ng nh t.
Phương pháp 1: ch ra danh sách các ñ nh con c a m i ñ nh
V i m i ñ nh c a cây, ta s d ng m t con tr tr t i m t đ nh con c a nó. Và
như v y, m i ñ nh c a cây ñư c bi u di n b i m t c u trúc g m hai thành ph n: m t
bi n data lưu d li u ch a trong ñ nh đó và m t m ng child các con tr tr t i các đ nh
con. C n có m t con tr ngoài tr t i g c cây root. Gi s m i đ nh có nhi u nh t 4
đ nh con, ta có mơ hình như sau:
root
A
A
A
A
A
A
A
Hình 2.4. Cài đ t cây b i m ng con tr
Cách cài đ t này thư ng khơng hi u qu , t n b nh do s lư ng nút con c a các
nút là khác nhau, m t nút có th khơng có t i đa các nút con, do đó con tr đ tr ng.
Phương pháp 2: ch ra con c và em li n k c a m i đ nh
Thay vì s d ng m ng con tr , ta ch s d ng hai con tr : con tr firstChild tr
t i ñ nh con c và con tr nextBrother tr t i em li n k .
9
root
A
B
C
D
E
F
G
Hình 2.5. Cài đ t cây s
d ng hai con tr .
V i cách này, cây trong hình 3.1 đư c cài đ t b i CTDL như trong hình 3.2. D
dàng th y r ng, xu t phát t g c ñi theo con tr firstChild ho c con tr nextBrother, ta
có th truy c p t i đ nh b t kỳ trong cây. Ta có nh n xét r ng, các con tr nextBrother
liên k t các ñ nh t o thành m t danh sách liên k t bi u di n danh sách các ñ nh con c a
m i ñ nh.
Cách cài ñ t này hi u qu hơn vì nó ch s d ng 2 con tr , lư ng b nh dư th a
ít hơn. Vì v y chương trình s dùng cách này đ bi u di n thơng tin.
2.3.5. Lu t l a ch n thông tin cung c p cho t ng ngư i dùng
Khi ch n m t trư ng, khoa thì s đi theo cây có đ nh tương ng v i trư ng, khoa
đó.
Đ i v i t ng ki u ngư i dùng s ñi theo nhánh tương ng
topic khác nhau m c 3.
m c 2. Ta s có các
Khi l a ch n m t topic v i th i gian tương ng, thông tin s ñư c l y
c a topic như sau:
-
M c th i gian 1: L y t t c thông tin trong cây
m c b n.
-
M c th i gian 2: L y t t c thông tin trong cây
m c b n và năm.
-
M c th i gian 3: L y t t c thông tin trong cây
m c b n, năm và sáu.
10
nhánh
CHƯƠNG 3.
PHÂN TÍCH THI T K CHƯƠNG TRÌNH VNU
CAMPUS GUIDE
3.1. Phân tích
3.1.1. Phân tích các yêu c u ch c năng
3.1.1.a.
Đăng nh p, đăng ký
Thơng tin c a chương trình cung c p theo ng c nh. Ng c nh bao g m c thơng
tin ngư i dùng, do đó c n xác th c ngư i dùng ñ ñưa ra lư ng thơng tin phù h p. Vì
v y c n yêu c u Đăng nh p.
Khi ñăng nh p c n tài kho n ngư i dùng, do ñó c n yêu c u Đăng ký tài kho n
ñ i v i ngư i dùng m i.
3.1.1.b.
Xem b n đ
Khn viên Đ i h c Qu c gia r ng v i nhi u tòa nhà. C n có b n đ đ ngư i
dùng có cái nhìn t ng quan, xác đ nh, tìm ki m đ a đi m thích h p. Do đó chương
trình có màn hình chính th hi n b n đ v i các tương tác cơ b n như: d ch chuy n b n
đ , phóng to, thu nh …
3.1.1.c.
Tìm ki m đ a đi m
V i nhi u tịa nhà trong khn viên thì khó có th xác đ nh ngay ñư c m t ñ a
ñi m nào đó, vì v y c n có ch c năng tìm ki m đ a đi m sau đó hi n th trên b n ñ .
3.1.1.d.
Danh sách trư ng, khoa
Ngư i dùng có nhu c u tìm hi u thơng tin có th tr c ti p ch n Trư ng, khoa đ
xem thơng tin.
3.1.1.e.
Tr giúp
Ngư i dùng m i c a chương trình có th khơng quen và chưa bi t ch c năng nên
c n có ch c năng Tr giúp cung c p thông tin chương trình và hư ng d n s d ng.
11
3.1.1.f.
Xem chi ti t
Khi ch n m t ñ a ñi m trên b n ñ , ngư i dùng mu n xem thơng tin, chương
trình c n đưa ra thơng tin v đ a đi m, tịa nhà cũng như Trư ng, khoa qu n lý ñ a
ñi m đó.
Lư ng thơng tin cung c p ph i tùy thu c vào ng c nh: ngư i dùng, lư ng thông
tin…
3.1.2. Đ i tư ng s d ng
H th ng ñư c xây d ng ñ h tr cho các nhóm sau:
-
Khách tham quan: Nh ng ngư i mu n tham quan tìm hi u v Đ i h c Qu c gia.
-
Sinh viên: Nh ng sinh viên m i chưa bi t và tìm hi u đư c h t thơng tin v
Trư ng có th s d ng chương trình.
3.2. Thi t k cơ s d li u
3.2.1. Sơ ñ d li u
C s d li u ñư c xây d ng trên h qu n tr cơ s d li u mySql. Các thông tin
v trư ng, khoa đư c lưu tr theo hình cây, tương ng v i m i ngư i dùng, các m c
đ khác nhau thì đưa ra thơng tin khác nhau. D li u c a h th ng là d li u mã
Unicode.
Sơ ñ cơ s d li u:
12
location
locID
locName
image
ownerID
description
user
usrID
varchar(30)
passwd varchar(30)
usrType int
varchar(20)
varchar(50)
blob
<fk >
int
varchar(500)
logID
ownerID
usrID
topicID
level
infoID
content
childID
brotherI
ownerID
ownerName
topInfoID
logo
log
int
<fk>
int
varchar(30)<fk>
varchar(10)
int
info
varchar(10)
varchar(500)
varchar(10) <fk >
varchar(10) <fk >
owner
int
varchar(50)
varchar(10)
blob
: Primary key, Khóa chính
<fk>: Foreign key, Khóa ngồi
Hình 3.1. Sơ đ bi u di n các b ng trong cơ s d
li u
Các b ng cơ s d li u:
user (usrID, passwd, usrType)
owner (ownerID, ownerName, topInfoID, logo)
location (locID, locName, image, ownerID, description)
info (infoID, content, childID, brotherID)
log (logID, ownerID, usrID, topicID, level)
3.2.2. Chi ti t thi t k cơ s d li u
Mô t các b ng cơ s d li u:
1. user: B ng lưu ñ nh danh ngư i dùng và thông tin.
B ng 3.1. H sơ ngư i dùng
Tên field
usrID
passwd
usrType
Ki u d li u
varchar(30)
varchar(30)
int
Mô t
Đ nh danh ngư i dùng
M t kh u
Ki u ngư i dùng, 1: Sinh viên, 2: Khách tham quan
13
2. owner: B ng lưu các trư ng ñ i h c và các khoa
B ng 3.2. Thông tin trư ng, khoa
Tên field
ownerID
ownerName
topInfoID
logo
Ki u d li u
int
varchar(50)
varchar(10)
blob
Mô t
Đ nh danh trư ng, khoa
Tên trư ng, khoa
Nút info ñ nh cây lưu tr thông tin
Logo c a trư ng
3. location: B ng lưu tr thơng tin v các đ a đi m
B ng 3.3. Đ a đi m, tịa nhà
Tên field
locID
locName
image
ownerID
description
Ki u d li u
varchar(20)
varchar(50)
blob
int
varchar(500)
Mơ t
Đ nh danh đ a đi m
Tên ñ a ñi m
nh c a ñ a ñi m
Đ nh danh c a trư ng, khoa qu n lý đ a đi m này
Mơ t đ a đi m, thơng tin các phịng (n u là tịa nhà).
4. info: B ng lưu tr thông tin v các trư ng, khoa
B ng 3.4. Các b n ghi thông tin trư ng, khoa
Tên field
infoID
content
childID
brotherID
Ki u d li u
varchar(10)
varchar(500)
varchar(10)
varchar(10)
Mô t
Đ nh danh nút info.
N i dung c a m t nút
Đ nh danh c a nút con trư ng
Đ nh danh nút em k
5. log: B ng lưu tr l ch s ngư i dùng xem các topic c a các ñ a ñi m nào.
B ng 3.5. L ch s
Tên field
logID
ownerID
usrID
Ki u d li u
int
int
varchar(30)
topicID
varchar(10)
ngư i dùng
Mô t
Đ nh danh l ch s , t ñ ng thêm vào.
Đ nh danh trư ng, khoa
Đ nh danh ngư i dùng
Đ nh danh nút là ñ nh c a 1 cây con ch a thông tin
trong t ng topic (các nút trong b ng info).
3.2.3. Mô t cây thông tin
T t c các thơng tin v Trư ng, khoa đư c lưu trong b ng info. T ch c cơ s d
li u theo hình cây s phân c p thơng tin thành nhi u m c, do đó tùy ngư i dùng ch n
s xem thông tin theo m c nào.
14
Cây thông tin lưu tr theo ki u con trư ng và em k . M i b n ghi trong b ng info
tương ng m t nút trong cây. M i nút trong cây có thơng tin v con trư ng và em k .
Sơ ñ t ch c cây như sau:
info
infoID
content
brotherID
childID
info
infoID
content
brotherID
childID
info
infoID
content
brotherID
childID
info
infoID
content
brotherID
childID
info
infoID
content
brotherID
childID
info
infoID
content
brotherID
childID
…
Hình 3.2. Mơ hình t ch c cây thông tin
15
…
info
infoID
content
brotherID
childID
…
3.3. Mơ hình k t n i
Hình 3.3. Mơ hình k t n i
ng d ng vi t trên ñi n tho i đóng vai trị là client giao ti p v i server qua giao
th c HTTP. D a vào giao th c HTTP các request t phía client chuy n ñ n server,
server s truy v n ñ n cơ s d li u MySQL và tr l i response tương ng. Gói tin
đư c đư c máy di ñ ng g i ñ n webserver là nh ng gói tin HTTP request, và thi t b
di đ ng s nh n ñư c các HTTP response t webserver.
Các gói tin HTTP request và HTTP response này s ch a bên trong các thơng
đi p SOAP request và SOAP response tương ng. Các thơng đi p SOAP s ch a các
operation c a web service dùng ñ x lý k t n i ñ n cơ s d li u t o thành mơ hình
truy c p hàm t xa RPC (Remote Procedure Call).
Đ i v i d li u nh phân như hình nh, âm thanh, thì vi c truy n tr c ti p qua các
gói tin HTTP mà không ph i qua giao th c SOAP s nhanh và thu n ti n hơn. Hình
nh s ñư c tr l i qua m t servlet.
16
3.4. Ch c năng c a ng d ng Midlet
3.4.1. Các ch c năng c a ng d ng
Hình 3.4. Bi u ñ phân rã ch c năng
Khi ngư i dùng m
ng d ng, chương trình s hi n th màn hình ch trong m t
kho ng th i gian, sau đó s vào màn hình đăng nh p. Sau khi đăng nh p, chương trình
s chuy n đ n màn hình chính hi n th b n đ khn viên Đ i h c Qu c Gia Hà N i.
Các ch c năng chính:
-
Đăng ký: Ngư i dùng m i s d ng c n có tài kho n ñ s d ng chương trình s
s d ng ch c năng này ñăng ký m t tài kho n m i.
-
Xem chi ti t: Khi ngư i dùng xem b n ñ và ch n m t ñ a ñi m. Sau ñó ch n
Xem chi ti t, chương trình s đưa ra tùy ch n xem chi ti t mơ t đ a đi m ho c
xem thơng tin v Trư ng, khoa qu n lý ñ a ñi m ñã ch n.
-
Tìm trư ng, khoa: Hi n th danh sách các trư ng, khoa trong cơ s d li u, khi
ngư i dùng ch n m t trư ng, khoa thì hi n th các tùy ch n khác đ hi n th
thơng tin.
17
-
Tìm đ a đi m: Hi n th danh sách các ñ a ñi m trong b n ñ , có m t trư ng nh p
d li u. Khi ngư i dùng nh p d li u thì s l c ra các ñ a ñi m phù h p. Khi ch n
m t đ a đi m thì s hi n th đ a đi m đó trên b n đ .
-
Tr giúp: Hi n th các thơng tin v chương trình và tr giúp.
3.4.2. Lu ng x
lý chương trình
(File nh flow.png)
18