1. Trang chủ
  2. » Luận Văn - Báo Cáo

xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động

56 574 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Ứng Dụng Chia Sẻ Thông Tin Theo Nhóm Trên Thiết Bị Di Động
Tác giả Trần Trung Hiếu
Người hướng dẫn Ths. Đặng Hoàng Anh
Trường học Trường Đại học ABC
Chuyên ngành Khoa học Máy tính
Thể loại Thực tập tốt nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 56
Dung lượng 3,77 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chính vì vậy, em đã chọn đề tài “Xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động” với mục đích phân tích và tìm giải pháp xây dựng một chương trình trên thiết bị di đ

Trang 1

MỤC LỤC

MỞ ĐẦU 3

CHƯƠNG 1: GIỚI THIỆU BÀI TOÁN 4

1.1 Sự bùng nổ của các thiết bị di động và lợi ích của nó mang lại 4

1.2 Nhu cầu sử dụng hệ thống di động ngày nay 5

1.3 Khái quát về hệ thống chia sẻ thông tin 7

1.3.1 Chức năng chia sẻ thông tin theo nhóm 7

1.3.2 Các thông tin có thể chia sẻ 7

1.4 Phạm vi áp dụng và sơ đồ hoạt động của hệ thống chia sẻ thông tin 8

1.4.1 Phạm vi áp dụng 8

1.4.2 Sơ đồ hoạt động của hệ thống 9

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 9

2.1 PHP & MySQL 9

2.1.1 Tổng quan về ngôn ngữ lập trình PHP 9

2.1.2 Giới thiệu hệ CSDL MySQL 13

2.2 J2ME & Lập trình trên điện thoại di động 14

2.2.1 Khái quát các tầng J2ME 14

2.2.2 Tầng phần cứng thiết bị (Device Hardware Layer) 15

2.2.3 Tầng máy ảo Java (Java Virtual Machine Layer) 15

2.2.4 Tầng cấu hình (Configuration Layer) 15

2.2.5 Tầng hiện trạng (Profile Layer) 15

2.3 MIDP (Mobile Information Device Profile) 16

2.3.1 MIDlet 16

2.3.1 Bộ khung MIDlet (MIDlet Skeleton) 17

2.3.2 Chu kỳ sống của MIDlet (MIDlet lifecycle) 18

2.3.3 Tập tin JAR 19

2.3.4 Tập tin kê khai (manifest) và tập tin JAD 19

2.4 Lưu trữ bản ghi trong J2ME (Record Store) 20

2.4.1 Định dạng, thêm và xóa các bản ghi 21

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 1

Trang 2

2.4.2 Định dạng dữ liệu bản ghi 22

2.4.3 Thêm dữ liệu bản ghi đã định dạng vào lưu trữ bản ghi 23

2.4.4 Xóa bản ghi 23

2.4.5 Lọc các bản ghi (Filtering Records) 23

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 24

3.1 Mô tả hệ thống trên thực tế 24

3.1.1 Quản lý thành viên trong cộng đồng 24

3.1.2 Quản lý nhóm thành viên 24

3.1.6 Gửi bình luận cho ảnh và bài viết 26

3.2 Sơ đồ phân rã chức năng 27

3.3 Sơ đồ luồng dữ liệu 28

3.3.1 Sơ đồ luồng dữ liệu mức ngữ cảnh 28

3.3.2 Sơ đồ luồng dữ liệu mức đỉnh 28

3.3.3 Sơ đồ luồng dữ liệu mức dưới đỉnh 29

3.4 Sơ đồ quan hệ và các tập thực thể 36

3.4.1 Thực thể và các thuộc tính 36

3.4.2 Mỗi quan hệ giữa các tập thực thể 37

3.4.3 Thiết kế cơ sở dữ liệu 42

CHƯƠNG 4: MỘT SỐ KẾT QUẢ ĐẠT ĐƯỢC 50

4.1 Chức năng đăng nhập hệ thống 50

4.2 Chức năng đăng ký tài khoản 51

4.3 Chức năng nhận tin mới 52

4.4 Chức năng xem tin 53

4.5 Chức năng chia sẻ tin 54

KẾT LUẬN 56

TÀI LIỆU THAM KHẢO 57

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 2

Trang 3

MỞ ĐẦU

Hiện nay, mạng xã hội đang ngày càng đi sâu vào cuộc sống của conngười Đây là mô hình mới nhất trong quá trình phát triển của xã hội Nó đơngiản hóa các phương thức tương tác và kết nối giữa con người với nhau Đểchia sẻ những thông tin cá nhân, người dùng chỉ việc có cho mình tài khoảncủa một mạng xã hội như MySpace, Facebook, Zing Me và thường xuyêncập nhật những thông tin lên trang cá nhân của họ

Tuy nhiên với sự phát triển của xã hội, thường xuyên ngồi bên cạnhchiếc máy tính và cập nhật thông tin là việc làm khá mất thời gian Thay vào

đó, việc cập nhật thông tin qua thiết bị di động sẽ thuận tiện và tiết kiệm thờigian hơn rất nhiều Hiện nay có rất nhiều công nghệ mới phát triển song songvới việc phát triển công nghệ thông tin như Bluetooth, Wireless, WAP,SOAP… nhằm giúp công nghệ thông tin ngày càng thân thiết với người dùnghơn Có thể nói, ngày nay công nghệ di động thật sự góp phần không nhỏtrong việc kết nối con người với thông tin cũng như con người với con người

Chính vì vậy, em đã chọn đề tài “Xây dựng ứng dụng chia sẻ thông

tin theo nhóm trên thiết bị di động” với mục đích phân tích và tìm giải pháp

xây dựng một chương trình trên thiết bị di động giúp người dùng chia sẻ vàcập nhật thông tin trên mạng xã hội Đồng thời tích hợp công nghệ GPS nhằmxác định và chia sẻ vị trí hiện tại

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 3

Trang 4

CHƯƠNG 1: GIỚI THIỆU BÀI TOÁN

1.1 Sự bùng nổ của các thiết bị di động và lợi ích của nó mang lại

Hiện nay, thế giới đang tập trung vào điện thoại di động Trong năm

2010, sự bùng nổ của hệ điều hành Android, sự ra đời của iPad và sự tăng tỷ

lệ truy cập internet qua Smartphone đã cho thấy những bước nhảy vọt trongviệc phát triển điện thoại di động Thêm vào đó, công nghệ mạng 3G (Third -Generation Technology) ra đời đã thúc đẩy nền công nghiệp nội dung số pháttriển mạnh mẽ, mang lại các dịch vụ cao cấp hơn

Góp thêm phần quan trọng vào sự bùng nổ của các thiết bị di động làviệc cạnh tranh mạnh mẽ của các nhà phát triển ứng dụng và thiết bị di động.Dưới đây là một số lĩnh vực quan trọng và nhiều hứa hẹn được các nhà pháttriển quan tâm:

- Lĩnh vực quảng cáo trên di động được dự đoán sẽ tăng gần 9 lần trong

3 năm tới và đạt 17 triệu USD (theo Báo Công thương) Số lượng thuê bao diđộng trên toàn thế giới hiện tại đạt hơn 4 tỷ cho thấy thị trường vô cùng to lớncho các nhà khai thác

- Khái niệm tìm kiếm trên điện thoại di động (mobile search) là khá mới

mẻ tại Việt Nam nhưng nhờ sự tăng trưởng chóng mặt về số lượng cácwebsite có thể truy cập bằng điện thoại di động mà nó ngày trở nên vô cùngquan trọng Tìm kiếm trên di động cho phép người sử dụng tiếp cận thông tinmột cách hoàn toàn mới và chi phí cũng giảm đáng kể

- Các ứng dụng xác định vị trí trợ giúp người sử dụng tìm đường và đi du

lịch trên thiết bị di động đang tăng trưởng chóng mặt Các ứng dụng này mở

ra cơ hội cho nhiều lĩnh vực kinh doanh và truyền thông

- Mạng xã hội định vị dựa trên nền tảng định vị giúp người sử dụng

khám phá ra người thân, bạn bè đang ở quanh họ hay ở bất cứ nơi nào vớiđiện thoại di động mang theo Người sử dụng có thể nhận và gửi các tin nhắnthông qua mạng xã hội định vị hoặc qua Yahoo, Skype… cho bạn bè Ngoài

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 4

Trang 5

ra người sử dụng còn có thể đăng ảnh (upload) và tải ảnh (download) chụp bất

cứ hoạt động nào tại nơi họ đến để chia sẻ cho bạn bè Do có những điểmmạnh và nổi bật đó mà mạng xã hội định vị đang liên tục phát triển

- Công nghệ kết nối các điện thoại di động: iPhone 4 vừa giới thiệu chức

năng gọi điện mà người gọi có thể mặt đối mặt qua video trên màn hình điệnthoại Phần mềm Skype hiện cho phép cuộc gọi video trong tất cả smartphone

sử dụng hệ điều hành Android, vì thế thị trường này đang được mong đợi sẽ

có tăng trường đột biến nhờ vào các công nghệ mới sẽ ra đời

Từ những thông tin trên có thể thấy sự bùng nổ của thiết bị di động nhưngày nay đã khiến người sử dụng năng động hơn trong công việc, tiết kiệmnhiều thời gian, chi phí hơn và dịch vụ giải trí mới ra đời cũng đa dạng hơn

1.2 Nhu cầu sử dụng hệ thống di động ngày nay

Ngày nay, đi cùng với việc tự động hóa và tin học hóa các công việchàng ngày, nhu cầu sử dụng Internet để xử lý công việc và kết nối với ngườithân, bạn bè phát sinh mọi lúc, mọi nơi với cường độ ngày càng cao Truy cậpInternet đã trở nên phổ biến và dần được coi như một nhu cầu thiết yếu trênmọi khía cạnh

- Mục đích sử dụng đa dạng: Tiến bộ vượt bậc của công nghệ đã làm

thay đổi hoàn toàn thói quen cũng như hành vi của người sử dụng Họ khôngchỉ sử dụng hệ thống di động để giải quyết các nhu cầu đơn thuần như tròchuyện, gửi tin nhắn, chơi game, nghe nhạc, lướt web, thanh toán… mà cònmuốn được giải quyết các nhu cầu đó ở mọi lúc mọi nơi, nhanh nhất, thuậntiện nhất, tiết kiệm nhất có thể Vài năm trước, để có thể ký kết thành côngmột hợp đồng làm ăn người phải bỏ ra rất nhiều chi phí cho việc gặp mặtnhằm trao đổi các thỏa thuận Ngày nay, nhờ có điện thoại di động mà nhữngcông việc ấy có thể thực hiện một cách đơn giản và dễ dàng

- Thành phần sử dụng đa dạng: Khác với trước kia, điện thoại di động

không chi dành cho những thương nhân, chuyên gia công nghệ… mà còn lànhu cầu sử dụng của mỗi cá nhân trong cuộc sống thường ngày Với giới trẻ

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 5

Trang 6

ngày nay, truy cập website để cập nhật thông tin thường xuyên đã trở thànhthói quen thường ngày Chỉ với một chiếc máy điện thoại kết nối đượcInternet, người sử dụng có thể truy cập website rất thuận lợi Cùng với đó là

sự bùng nổ của hàng loạt website thích ứng được với thiết bị di động, sựchuẩn bị để cho ra đời tên miền mobi càng thuận lợi hơn trong việc truy cậpwebsite trên điện thoại

- Nhu cầu sử dụng hệ thống di động để chia sẻ thông tin:

+ Việc chia sẻ thông tin đã diễn ra từ xa xưa cho tới bây giờ Từ việc traođổi thông tin bằng những hình thức thô sơ nhất như trao đổi trực tiếp bằngmiệng, trao đổi thông tin qua giấy tờ rồi cao cấp hơn là trao đổi thông tin quađiện thoại để bàn, điện thoại di động Và tới ngày nay, việc trao đổi thông tincàng phát triển hơn khi con người không chỉ muốn trao đổi một - một màmuốn trao đổi với một nhóm người hay với cả cộng đồng Bằng nhiều hìnhthức như việc trò chuyện trên Yahoo, Skype qua nhóm; thảo luận trên cácdiễn đàn hay tham gia vào một mạng xã hội như Facebook, Zing me…, người

sử dụng đã dần thỏa mãn được mong muốn đó

+ Tuy nhiên, việc ngồi bên chiếc máy tính để bàn hoặc máy tính xách taykhiến người sử dụng mất rất nhiều thời gian Họ cần cập nhật và chia sẻ thôngtin một cách liên tục, thường xuyên hơn, thuận tiện hơn Đáp ứng nhu cầu đó,ngày nay những ứng dụng chia sẻ thông tin theo nhóm, theo cộng đồng trênđiện thoại di động ngày càng nhiều và đa dạng Chỉ việc cài đặt và đăng kýthành viên là người sử dụng có thể tham gia vào một cộng đồng những thànhviên khác cùng chia sẻ những thông tin như ảnh, bình luận, cuộc sống đời tưhay cả vị trí hiện tại của họ…

1.3 Khái quát về hệ thống chia sẻ thông tin

1.3.1 Chức năng chia sẻ thông tin theo nhóm

- Hệ thống chia sẻ thông tin cho phép người sử dụng (thành viên) chia sẻ,chat và email với một nhóm bạn Thành viên còn có thể giới hạn việc chia sẻảnh, lời bình với các thành viên trong nhóm mình tham gia

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 6

Trang 7

- Trong mỗi nhóm có một bộ máy quản trị được phân chia theo quyềnhạn của thành viên trong nhóm Mỗi nhóm mặc định sẽ có ba quyền hạn là:quản trị viên, điều hành viên và thành viên.

- Thành viên có quyền tạo nhóm mới Sau khi tạo nhóm, tài khoản tạonhóm sẽ mặc định có quyền quản trị viên của nhóm đó Các tài khoản cóquyền hạn là quản trị viên hoặc điều hành viên sẽ quản trị và điều hành nhómcủa mình

1.3.2 Các thông tin có thể chia sẻ

Người dùng sau khi tham gia nhóm có thể chia sẻ ảnh, bài viết, lời bình

và vị trí của mình với các thành viên khác trong nhóm

- Chia sẻ ảnh: Người dùng có thể chia sẻ ảnh bằng cách tải ảnh lên hệthống rồi chọn các nhóm muốn chia sẻ thông tin Ngoài ra, người dùng có thểtổng hợp, phân loại bằng việc tạo album ảnh Với các thiết bị có hỗ trợ máychụp ảnh, thành viên có thể chụp ảnh và chia sẻ ngay với nhóm bạn của mình

- Chia sẻ bài viết: Người dùng có thể tạo ra những bài viết rồi chọn nhóm

để chia sẻ với các thành viên khác Cũng giống như ảnh, người dùng có thểtổng hợp, phân loại các bài viết thành các chủ đề

- Gửi bình luận: Với một bức ảnh hay bài viết sẽ có nhiều suy nghĩ, bìnhluận xoay quanh bức ảnh đó Do đó, người dùng có thể gửi những lời bình,những suy nghĩ của mình về các thông tin của những thành viên khác chia sẻ

- Chia sẻ vị trí: Bên cạnh việc chia sẻ ảnh, bài viết và gửi bình luận,thành viên đồng thời cũng có thể chia sẻ vị trí hiện tại của mình thông quaviệc xác định thiết bị di động bằng GPS

1.4 Phạm vi áp dụng và sơ đồ hoạt động của hệ thống chia sẻ thông tin

1.4.1 Phạm vi áp dụng

Hệ thống chia sẻ thông tin theo nhóm có thể sử dụng tại mọi nơi cóInternet Thành viên chỉ cần có trong tay một thiết bị di động có kết nốiInternet là có thể truy cập vào hệ thống Có hai cách để truy cập vào hệ thống

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 7

Trang 8

là truy cập vào website hoặc truy cập vào ứng dụng chia sẻ thông tin theonhóm được cài đặt trên thiết bị di động đó.

Với việc truy cập vào website, thành viên sẽ thao tác với hệ thống nhưtrên máy tính Hệ thống website sẽ kết nối với server và cung cấp những dữliệu tương ứng với thao tác của thành viên

Tiện lợi hơn, thành viên có thể sử dụng ứng dụng chia sẻ thông tinđược cài đặt trực tiếp trên thiết bị di động Ứng dụng cũng sẽ kết nối vớiserver cung cấp cho thành viên những dữ liệu được yêu cầu Bên cạnh đó,việc sử dụng ứng dụng được cài đặt trực tiếp trên thiết bị di động còn hỗ trợthành viên những chức năng hữu ích tương ứng với thiết bị di động đó nhưchụp ảnh, xác định vị trí…

1.4.2 Sơ đồ hoạt động của hệ thống

Tin

3 Yêu cầu tham gia nhóm

4 Duyệt yêu cầu tham gia nhóm

5 Quản trị thành viên

Trang 9

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

PHP có đặc điểm nổi bật là dễ sử dụng, chi phí thấp bởi bản thân nó là

mã nguồn mở Đồng thời PHP có thể chạy trên các cơ sở dữ liệu không yêucầu bản quyền như MySQL, PostgreSQL… Bên cạnh đó PHP vẫn có thể làmviệc tốt trên hầu hết các cơ sở dữ liệu thông dụng hiện nay như SQL Server,Access, Oracle… Chính vì lý do trên, cộng đồng PHP hiện nay là một trong

số những cộng đồng lớn nhất trên mạng Internet

2.1.1.2 Lịch sử phát triển của PHP

PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI doRasmus Lerdorf tạo ra năm 199 Ban đầu PHP được xem như là một tập conđơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơyếu lý lịch của ông trên mạng Ông đặt tên cho bộ mã kịch bản này là'Personal Home Page Tools' Khi có nhu cầu sử dụng các chức năng đa dạnghơn, Rasmus viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các

cơ sở dữ liệu (CSDL) và giúp cho người sử dụng phát triển các ứng dụng webđơn giản Ông đã quyết định công bố mã nguồn của PHP/FI cho mọi ngườixem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn

PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồmmột số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay Nó

có các biến kiểu như Perl, thông dịch tự động các biến của form và cú phápHTML nhúng Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều,đơn giản và có phần thiếu nhất quán PHP/FI 2.0 được chính thức công bố

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 9

Trang 10

vào tháng 11 năm 1997 Nhưng không lâu sau đó, nó đã được thay thế bởi cácbản alpha đầu tiên của PHP 3.0.

PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũivới các phiên bản PHP ngày nay Nó đã được Andi Gutmans và Zeev Suraskitạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó Lý do chínhphiên bản này được tạo ra là do họ nhận thấy PHP/FI 2.0 hết sức yếu kémtrong việc phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiếntrong dự án của một trường đại học Dựa trên cơ sở đã có của PHP/FI, Andi,Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bảnthế hệ kế tiếp của PHP/FI 2.0 và chấm dứt phát triển PHP/FI 2.0

Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mởrộng mạnh mẽ của nó Ngoài khả năng cung cấp cho thành viên cuối một cơ

sở hạ tầng chặt chẽ dùng cho nhiều CSDL, giao thức và API khác nhau, cáctính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và

đề xuất các module mở rộng mới Hoàn toàn có thể kết luận được rằng đâychính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0 Các tínhnăng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đốitượng và nhiều cú pháp ngôn ngữ nhất quán khác

Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công

bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phầnlõi của PHP Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụngphức tạp, và cải tiến tính module của cơ sở mã PHP Những ứng dụng nhưvậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khánhiều các CSDL và API của bên thứ ba, nhưng vẫn chưa thật sự có hiệu quả

Một động cơ mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong têncủa Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thànhcông, và lần đầu tiên được giới thiệu vào giữa năm 1999 PHP 4.0 dựa trênđộng cơ này và đi kèm với hàng loạt các tính năng mới bổ sung đã chính thứcđược công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 10

Trang 11

Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năngchủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làmviệc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sửdụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới

Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn vàhàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trênmạng Internet

Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiềunghìn người khác tham gia vào các dự án có liên quan đến PHP như PEAR,PECL và tài liệu kĩ thuật cho PHP

Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm pháttriển PHP tự mãn Cộng đồng PHP đã nhanh chóng giúp họ nhận ra nhữngyếu kém của PHP 4.0 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng(OOP), xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1

và 5.0, hỗ trợ dịch vụ web yếu Những điểm này chính là mục đích để Zeev

và Andi viết Zend Engine 2.0, lõi của PHP 5.0 Một thảo luận trên Slashdot

đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12năm 2002 nhưng những bài phỏng vấn Zeev liên quan đến phiên bản này thì

đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002 Ngày 29 tháng 6năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểmnghiệm Đó cũng là phiên bản đầu tiên của Zend Engine 2.0 Phiên bản Beta 2sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rấtđược chờ đợi Iterators và Reflection nhưng tính năng gây tranh cãinamespaces đã bị loại khỏi mã nguồn Ngày 21 tháng 12 năm 2003, PHP 5Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗtrợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiềulỗi và thêm khá nhiều hàm mới PHP 5 bản chính thức đã ra mắt ngày 13tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta

4, RC 1, RC2, RC3 Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 11

Trang 12

PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP Ngày 14tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chínmuồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một

hệ thống API nhất quán trong việc truy cập CSDL và thực hiện các câu truyvấn Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cảitiến trong nhân Zend Engine 2, nâng cấp module PCRE lên bản PCRE 5.0cùng những tính năng và cải tiến mới trong SOAP, streams và SPL

Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản

sử dụng thử đã có thể được download tại địa chỉ http://snaps.php.net Phiênbản PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiênbản hiện tại, ví dụ: hỗ trợ namespace (hiện tại các nhà phát triển vẫn chưacông bố rõ ràng về vấn đề này); hỗ trợ Unicode; sử dụng PDO làm API chuẩncho việc truy cập CSDL, các API cũ sẽ bị đưa ra thành thư viện PECL

2.1.2 Giới thiệu hệ CSDL MySQL

2.1.2.1 Giới thiệu về MySQL

MySQL là hệ quản trị CSDL mã nguồn mở phổ biến nhất thế giới vàđược các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng VìMySQL là CSDL tốc độ cao, ổn định, dễ sử dụng, có tính khả chuyển, hoạtđộng trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rấtmạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng

có truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn cóthể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hànhkhác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux,Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris,SunOS

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị CSDLquan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL) MySQL được sử dụngcho việc bổ trợ PHP, Perl và nhiều ngôn ngữ khác Nó làm nơi lưu trữ nhữngthông tin trên các trang web viết bằng PHP, Perl

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 12

Trang 13

2.1.2.2 Một số đặc điểm của MySQL

MySQL là một phần mềm quản trị CSDL dạng server - based (gầntương đương với SQL Server của Microsoft) MySQL quản lý dữ liệu thôngqua các CSDL, mỗi CSDL có thể có nhiều bảng quan hệ chứa dữ liệu

MySQL có cơ chế phân quyền người sử dụng riêng Mỗi thành viên cóthể được quản lý một hoặc nhiều CSDL khác nhau, có riêng tên truy cập (username) và mật khẩu (password) tương ứng để truy xuất đến CSDL Khi ta truyvấn tới CSDL MySQL, thành viên phải cung cấp đúng tên truy cập và mậtkhẩu của tài khoản có quyền sử dụng CSDL đó

CSDL MySQL đã trở thành CSDL mã nguồn mở phổ biến nhất trên thếgiới vì cơ chế xử lý nhanh và ổn định của nó, sự đáng tin cậy cao và dễ sửdụng Nó được sử dụng mọi nơi - ngay cả châu Nam Cực - bởi các nhà pháttriển Web riêng lẻ cũng như rất nhiều các tổ chức lớn nhất trên thế giới để tiếtkiệm thời gian và tiền bạc cho những Websites có dung lượng lớn, phần mềmđóng gói - bao gồm cả những nhà đi đầu trong lĩnh vực công nghiệp nhưYahoo!, Alcatel-Lucent, Google, Nokia, YouTube và Zappos.com

MySQL không chỉ là CSDL mã nguồn mở phổ biến nhất trên thế giới,

nó còn trở thành CSDL được chọn cho thế hệ mới của các ứng dụng xây dựngtrên nền Linux, Apache, MySQL, PHP/Perl/Python MySQL chạy trên hơn 20flatform bao gồm: Linux, Windows, OS/X, HP-UX, AIX, Netware, mang đếncho bạn tính linh hoạt trong việc sử dụng

2.2 J2ME & Lập trình trên điện thoại di động

2.2.1 Khái quát các tầng J2ME

Mục tiêu của J2ME là cho phép người lập trình viết các ứng dụng độclập với thiết bị di động, không cần quan tâm đến phần cứng thật sự Để đạtđược mục tiêu này, J2ME được xây dựng bằng các tầng (layer) khác nhau đểgiấu đi việc thực hiện phần cứng khỏi nhà phát triển Sau đây là các tầng củaJ2ME được xây dựng trên CLDC:

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 13

Trang 14

Hình 1 Các tầng của CLDC J2ME

Mỗi tầng ở trên tầng hardware là tầng trừu tượng hơn cung cấp cho lậptrình viên nhiều giao diện lập trình ứng dụng (API-Application ProgramInterface) thân thiện hơn

2.2.2 Tầng phần cứng thiết bị (Device Hardware Layer)

Đây chính là thiết bị di động thật sự với cấu hình phần cứng của nó về

bộ nhớ và tốc độ xử lý Dĩ nhiên thật ra nó không phải là một phần của J2MEnhưng nó là nơi xuất phát Các thiết bị di động khác nhau có thể có các bộ vi

xử lý khác nhau với các tập mã lệnh khác nhau Mục tiêu của J2ME là cungcấp một chuẩn cho tất cả các loại thiết bị di động khác nhau

2.2.3 Tầng máy ảo Java (Java Virtual Machine Layer)

Khi mã nguồn Java được biên dịch nó được chuyển đổi thành mãbytecode Mã bytecode này sau đó được chuyển thành mã ngôn ngữ máy củathiết bị di động Tầng máy ảo Java bao gồm KVM (K Virtual Machine) là bộbiên dịch mã bytecode có nhiệm vụ chuyển mã bytecode của chương trìnhJava thành ngôn ngữ máy để chạy trên thiết bị di động Tầng này cung cấpmột sự chuẩn hóa cho các thiết bị di động để ứng dụng J2ME sau khi đã biêndịch có thể hoạt động trên bất kỳ thiết bị di động nào có J2ME KVM

2.2.4 Tầng cấu hình (Configuration Layer)

Tầng cấu hình của CLDC định nghĩa giao diện ngôn ngữ Java (Javalanguage interface) cơ bản để cho phép chương trình Java chạy trên thiết bị di

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 14

Trang 15

động Đây là một tập các API định nghĩa lõi của ngôn ngữ J2ME Lập trìnhviên có thể sử dụng các lớp và phương thức của các API này tuy nhiên tập cácAPI hữu dụng hơn được chứa trong tầng hiện trạng (profile layer).

2.2.5 Tầng hiện trạng (Profile Layer)

Tầng hiện trạng hay MIDP (Hiện trạng thiết bị thông tin di Mobile Information Device Profile) cung cấp tập các API hữu dụng hơn cholập trình viên Mục đích của hiện trạng là xây dựng trên lớp cấu hình và cungcấp nhiều thư viện ứng dụng hơn MIDP định nghĩa các API riêng biệt chothiết bị di động Cũng có thể có các hiện trạng và các API khác ngoài MIDPđược dùng cho ứng dụng Ví dụ, có thể có hiện trạng PDA định nghĩa các lớp

động-và phương thức hữu dụng cho việc tạo các ứng dụng PDA (lịch, sổ hẹn, sổ địachỉ…) Cũng có thể có một hiện trạng định nghĩa các API cho việc tạo cácứng dụng Bluetooth Thực tế, các hiện trạng kể trên và tập các API đang đượcxây dựng Chuẩn hiện trạng PDA là đặc tả JSR - 75 và chuẩn bluetooth API làđặc tả JSR - 82 với JSR là viết tắt của Java Specification Request

2.3 MIDP (Mobile Information Device Profile)

Tầng J2ME cao nhất là tầng hiện trạng và mục đích của nó là địnhnghĩa các API cho các thiết bị di động Một thiết bị di động có thể hỗ trợnhiều hiện trạng Một hiện trạng có thể áp đặt thêm các giới hạn trên các loạithiết bị di động (như nhiều bộ nhớ hơn hay độ phân giải màn hình cao hơn).Hiện trạng là tập các API hữu dụng hơn cho các ứng dụng cụ thể Lập trìnhviên có thể viết một ứng dụng cho một hiện trạng cụ thể và không cần quantâm đến nó chạy trên thiết bị nào Nó không định nghĩa cách mà ứng dụngđược nạp trong thiết bị di động Đó là trách nhiệm của nhà sản xuất Nó cũngkhông định nghĩa bất kỳ loại mô hình bảo mật end-to-end nào, vốn cần thiếtcho ứng dụng kinh doanh nhận số thẻ tín dụng của thành viên Nó cũng khôngbắt buộc nhà sản xuất cách mà lớp MIDP được thực hiện

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 15

Trang 16

2.3.1 MIDlet

Các ứng dụng J2ME được gọi là MIDlet (Mobile Information Deviceapplet)

Hình 2 MIDlet

Thông báo import dùng để truy xuất các lớp của CLDC và MIDP

Lớp chính của ứng dụng được định nghĩa là lớp kế thừa lớp MIDlet củaMIDP Có thể chỉ có một lớp trong ứng dụng kế thừa lớp này Lớp MIDletđược trình quản lý ứng dụng trên điện thoại di động dùng để khởi động, dừng,

và tạm dừng MIDlet (ví dụ trong trường hợp có cuộc gọi đến)

2.3.1 Bộ khung MIDlet (MIDlet Skeleton)

Một MIDlet là một lớp Java kế thừa (extend) của lớp trừu tượngjava.microedition.midlet.MIDlet và thực thi (implement) các phương thứcstartApp(), pauseApp(), và destroyApp()

Hình 3: Bộ khung yêu cầu tối thiểu cho một ứng dụng MIDlet

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 16

Trang 17

1) Phát biểu import: Các phát biểu import được dùng để include các

lớp cần thiết từ các thư viện CLDC và MIDP

2) Phần chính của MIDlet: MIDlet được định nghĩa như một lớp kế

thừa lớp MIDlet Trong ví dụ này MIDletExample là bắt đầu của ứng dụng

3) Hàm tạo (Constructor): Hàm tạo chỉ được thực thi một lần khi

MIDlet được khởi tạo lần đầu tiên Hàm tạo sẽ không được gọi lại trừ phiMIDlet thoát và sau đó khởi động lại

4) startApp(): Phương thức startApp() được gọi bởi bộ quản lý ứng

dụng khi MIDlet được khởi tạo, và mỗi khi MIDlet trở về từ trạng thái tạmdừng Nói chung, các biến toàn cục sẽ được khởi tạo lại trừ hàm tạo bởi vì cácbiến đã được giải phóng trong hàm pauseApp() Nếu không thì chúng sẽkhông được khởi tạo lại bởi ứng dụng

5) pauseApp(): Phương thức pauseApp() được gọi bởi bộ quản lý ứng

dụng mỗi khi ứng dụng cần được tạm dừng (ví dụ, trong trường hợp có cuộcgọi hoặc tin nhắn đến) Cách thích hợp để sử dụng pauseApp() là giải phóngtài nguyên và các biến để dành cho các chức năng khác trong điện thoại trongkhi MIDlet được tạm dừng Cần chú ý rằng khi nhận cuộc gọi đến hệ điềuhành trên điện thoại di động có thể dừng KVM thay vì dừng MIDlet Việc nàykhông được đề cập trong MIDP mà đó là do nhà sản xuất quyết định sẽ chọncách nào

6) destroyApp(): Phương thức destroyApp() được gọi khi thoát

MIDlet (ví dụ khi nhấn nút exit trong ứng dụng) Nó chỉ đơn thuần là thoátMIDlet Nó không thật sự xóa ứng dụng khỏi điện thoại di động Phương thứcdestroyApp() chỉ nhận một tham số Boolean Nếu tham số này là true, MIDletđược tắt vô điều kiện Nếu tham số là false, MIDlet có thêm tùy chọn từ chốithoát bằng cách ném ra một ngoại lệ MIDletStateChangeException

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 17

Trang 18

2.3.2 Chu kỳ sống của MIDlet (MIDlet lifecycle)

Hình 4 : Chu kỳ sống của MIDlet

Khi thành viên yêu cầu khởi động ứng dụng MIDlet, bộ quản lý ứngdụng sẽ thực thi MIDlet (thông qua lớp MIDlet) Khi ứng dụng thực thi, nó sẽđược xem là đang ở trạng thái tạm dừng Bộ quản lý ứng dụng gọi hàm tạo vàhàm startApp() Hàm startApp() có thể được gọi nhiều lần trong suốt chu kỳsống của ứng dụng Hàm destroyApp() chỉ có thể gọi từ trạng thái hoạt độnghay tạm dừng

Lập trình viên cũng có thể điều khiển trạng thái của MIDlet

Các phương thức dùng để điều khiển các trạng thái của MIDlet:

- resumeRequest(): Yêu cầu vào chế độ hoạt động Ví dụ: Khi MIDlettạm dừng, và một sự kiện timer xuất hiện

- notifyPaused(): Cho biết MIDlet tự nguyện chuyển sang trạng thái tạmdừng Ví dụ: Khi đợi một sự kiện timer

- notifyDestroyed(): Sẵn sàng để hủy Ví dụ: Xử lý nút nhấn Exit

Lập trình viên có thể yêu cầu tạm dừng MIDlet trong khi đợi một sựkiện timer hết hạn Trong trường hợp này, phương thức notifyPaused() sẽđược dùng để yêu cầu bộ quản lý ứng dụng chuyển ứng dụng sang trạng tháitạm dừng

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 18

Trang 19

2.3.3 Tập tin JAR

Các lớp đã biên dịch của ứng dụng MIDlet được đóng gói trong một tậptin JAR (Java Archive File) Đây chính là tập tin JAR được download xuốngđiện thoại di động

Tập tin JAR chứa tất cả các tập tin class từ một hay nhiều MIDlet, cũngnhư các tài nguyên cần thiết Hiện tại, MIDP chỉ hỗ trợ định dạng hình png(Portable Network Graphics) Tập tin JAR cũng chứa tập tin kê khai (manifestfile) mô tả nội dung của MIDlet cho bộ quản lý ứng dụng Nó cũng phải chứacác tập tin dữ liệu mà MIDlet cần Tập tin JAR là toàn bộ ứng dụng MIDlet.MIDlet có thể load và triệu gọi các phương thức từ bất kỳ lớp nào trong tậptin JAR, trong MIDP, hay CLDC Nó không thể truy xuất các lớp không phải

là bộ phận của tập tin JAR hay vùng dùng chung của thiết bị di động

2.3.4 Tập tin kê khai (manifest) và tập tin JAD

Tập tin kê khai (manifest.mf) và tập tin JAD (Java ApplicationDescriptor) mô tả các đặc điểm của MIDlet Tập tin kê khai là một phần củatập tin JAR còn tập tin JAD không thuộc tập tin JAR Ưu điểm của tập tinJAD là các đặc điểm của MIDlet có thể được xác định trước khi download tậptin JAR Nói chung, cần ít thời gian để download một tập tin văn bản nhỏ hơn

là download một tập tin JAR Như vậy, nếu thành viên muốn download mộtứng dụng không được thiết bị di động hỗ trợ (ví dụ MIDP 2.0), thì quá trìnhdownload sẽ bị hủy bỏ thay vì phải đợi download hết toàn bộ tập tin JAR

Bộ MIDlet (MIDlet Suite): Một tập các MIDlet trong cùng một tập tinJAR được gọi là một bộ MIDlet (MIDlet suite) Các MIDlet trong một bộMIDlet chia sẻ các lớp, các hình ảnh và dữ liệu lưu trữ bền vững Để cập nhậtmột MIDlet, toàn bộ tập tin JAR phải được cập nhật

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 19

Trang 20

Hình 5 : Biểu diễn hai bộ MIDlet

Trong hình trên, một bộ MIDlet chứa MIDlet1, MIDlet2, và MIDlet3

Bộ kia chỉ chứa MIDlet4 Ba MIDlet trong bộ đầu tiên truy xuất các lớp và dữliệu của nhau nhưng không truy xuất đến các lớp hay dữ liệu của MIDlet4.Ngược lại, MIDlet4 cũng không truy xuất được các lớp, hình ảnh và dữ liệucủa ba MIDlet kia

2.4 Lưu trữ bản ghi trong J2ME (Record Store)

Lưu trữ bản ghi cho phép lưu dữ liệu khi ứng dụng thoát, khởi động lại

và khi thiết bị di động tắt hay thay pin Dữ liệu lưu trữ bản ghi sẽ tồn tại trênthiết bị di động cho đến khi ứng dụng thật sự được xóa khỏi thiết bị di động.Khi một MIDlet bị xóa, tất cả các lưu trữ bản ghi của nó cũng bị xóa

Hình 6: Minh họa dữ liệu lưu trữ bản ghi với MIDlet

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 20

Trang 21

Như trong hình, các MIDlet có thể có nhiều hơn một tập lưu trữ bảnghi, chúng chỉ có thể truy xuất dữ liệu lưu trữ bản ghi chứa trong bộ MIDletcủa chúng Do đó, MIDlet 1 và MIDlet 2 có thể truy xuất dữ liệu trongRecord Store 1 và Record Store 2 nhưng chúng không thể truy xuất dữ liệutrong Record Store3 Ngược lại, MIDlet 3 chỉ có thể truy xuất dữ liệu trongRecord Store 3 và không thể truy xuất dữ liệu dữ liệu trong Record Store 1 vàRecord Store 2 Tên của các lưu trữ bản ghi phải là duy nhất trong một bộMIDlet nhưng các bộ khác nhau có thể dùng trùng tên.

Các bản ghi trong một lưu trữ bản ghi được sắp xếp thành các mảngbyte Các mảng byte không có cùng chiều dài và mỗi mảng byte được gánmột số ID bản ghi

Các bản ghi được định danh bằng một số ID bản ghi (record ID) duynhất Các số ID bản ghi được gán theo thứ tự bắt đầu từ 1 Các số sẽ khôngđược dùng lại khi một bản ghi bị xóa do đó sẽ tồn tại các khoảng trống trongcác ID bản ghi Đặc tả MIDP không định nghĩa chuyện gì xảy ra khi đạt đến

số ID bản ghi tối đa, điều này phụ thuộc vào ứng dụng

2.4.1 Định dạng, thêm và xóa các bản ghi

Thêm bản ghi gồm hai bước Bước đầu tiên là định dạng bản ghi theođịnh dạng yêu cầu và bước tiếp theo là thêm bản ghi đã định dạng vào lưu trữbản ghi Sự tuần tự hóa (serialization) dữ liệu lưu trữ bản ghi không được hỗtrợ, do đó lập trình viên phải định định dạng các mảng byte để xây dựng dữliệu lưu trữ bản ghi

Sau đây là ví dụ của việc định dạng dữ liệu bản ghi, mở một lưu trữ bảnghi và sau đó thêm dữ liệu bản ghi vào lưu trữ bản ghi:

ByteArrayOutputStream baos = new ByteArrayOutputStream();

DataOutputStream outputStream = new DataOutputStream(baos);

outputStream.writeByte(‘T’); // byte [0] Thẻ chỉ loại bản ghi

outputStream.writeInt(score); // byte [1] đến [4]

outputStream.writeUTF(name); // byte [5] đến 2 + name.length

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 21

Trang 22

byte[] theRecord = boas.toByteArray();

recordStore rs = null;

rs = RecordStore.openRecordStore(“RecordStoreName”, CreateIfNoExist);int RecordID = rs.addRecord(theRecord, 0, theRecord.length);

Hình 7 : Thêm bản ghi 2.4.2 Định dạng dữ liệu bản ghi

Trong ví dụ trên, hai dòng đầu tạo một luồng xuất để giữ dữ liệu bảnghi Sử dụng đối tượng DataOutputStream (bọc mảng byte) cho phép các bảnghi dễ dàng được định dạng theo các kiểu chuẩn của Java (long, int, string,…)

mà không phải quan tâm đến tách nó thành dữ liệu byte Phương thứcwriteByte(), writeInt(), và writeUTF() định dạng dữ liệu như trong hình (tag,score, name) Sử dụng thẻ (tag) làm byte đầu tiên có ích để xác định loại bảnghi sau này Phương thức toByteArray() chép dữ liệu trong luồng xuất thànhmột mảng byte chứa bản ghi để lưu trữ Biến theRecord là tham chiếu đến dữliệu đã định dạng

2.4.3 Thêm dữ liệu bản ghi đã định dạng vào lưu trữ bản ghi

Khi dữ liệu đã được định dạng, nó có thể được thêm vào lưu trữ bảnghi Phát biểu openRecordStore() tạo và mở một lưu trữ bản ghi với tên làRecordStoreName Phát biểu addRecord() thêm bản khi (bắt đầu bằng byte 0của theRecord) và trả về ID bản ghi gắn với record này

Trang 23

Ví dụ, bản ghi 7 bị xóa bằng phương thức deleteRecord(), nếu một bảnghi khác được thêm vào thì số ID bản ghi sẽ là 8 và ID bản ghi 7 sẽ khôngđược dùng lại.

2.4.5 Lọc các bản ghi (Filtering Records)

Giao diện RecordFilter cung cấp một cách thuận tiện để lọc các bản ghitheo tiêu chuẩn của lập trình viên RecordEnumeration có thể được dùng đểduyệt qua các bản ghi và chỉ trả về các record phù hợp với tiêu chuẩn xácđịnh Giao diện RecordFilter có phương thức matches() dùng để xác định tiêuchuẩn phù hợp Phương thức matches() có một tham số đầu vào là mảng bytebiểu diễn một bản ghi Phương thức phải trả về true nếu bản ghi này phù hợpvới tiêu chuẩn đã định nghĩa Hình 3 minh họa ví dụ cách sử dụng giao diệnRecordFilter

Hình 8 Lọc bản ghi

class IntegerFilter implements RecordFilter {

public boolean matches(byte[] candidate) throws IlleegalArgumentException{ return(candidate[0] == ‘T’);

}}

Trong ví dụ trên, lớp IntegerFilter được dùng để lọc ra tất cả các bảnghi có ‘T’ ở byte đầu tiên Nhớ rằng các bản ghi không phải có cùng địnhdạng Do đó có byte đầu tiên làm thẻ (tag) rất có ích Phương thức matches()chỉ trả về true nếu byte đầu tiên là ‘T’

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 23

Trang 24

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.1 Mô tả hệ thống trên thực tế

3.1.1 Quản lý thành viên trong cộng đồng

Khi một người muốn tham gia vào cộng đồng, người đó phải đăng kývới người quản lý cộng đồng những thông tin cơ bản của họ Những thông tin

- Thông tin liên hệ: Email, địa chỉ, điện thoại liên hệ

Người quản lý sẽ tạo cho người vừa đăng ký một mã đăng ký.Mã đăng

ký này là duy nhất và tương ứng với mỗi người trong cộng đồng

3.1.2 Quản lý nhóm thành viên

Mỗi thành viên sau khi tham gia vào cộng đồng đều có quyền tạo nhómriêng cho mình Một nhóm khi được tạo phải được đăng ký với người quản lý

và cung cấp đầy đủ thông tin cần thiết về nhóm đó

Sau khi thành viên đăng ký thành lập nhóm với người quản lý cộngđồng, người quản lý sẽ tạo ra một mã nhóm cho nhóm đó Mã nhóm này làduy nhất và tương ứng với mỗi nhóm trong cộng đồng

Trang 25

- Thành viên: Thành viên có quyền hạn thấp nhất trong nhóm, không cóquyền quản trị nhóm Thành viên này chỉ tham gia nhóm với các quyền hạnnhư chia sẻ ảnh, bài viết; gửi bình luận; chia sẻ vị trí.

Quản trị viên sẽ quản lý những thông tin cơ bản của nhóm như:

- Thông tin giới thiệu của nhóm

- Ảnh đại diện của nhóm

- Quy tắc hoạt động của nhóm

Ngoài ra quản trị viên phải quản trị các thành viên các trong nhóm:

- Liệt kê thành viên theo các cấp để quản lý được số lượng các điều hànhviên và các thành viên trong nhóm

- Thay đổi quyền hạn của thành viên để tạo ra được bộ máy quản lý tốtgiúp nhóm hoạt động hiệu quả hơn

- Duyệt yêu cầu tham gia nhóm của các người dùng khác để cho phépngười dùng đó tham gia hoặc không cho tham gia vào nhóm

- Loại thành viên khỏi nhóm: Những thành viên vi phạm quy tắc hoạtđộng của nhóm, đã được nhắc nhở nhưng vẫn tái phạm sẽ bị loại khỏi nhóm.Thành viên đó sẽ không được tham gia vào nhóm đó nữa

3.1.4 Chia sẻ ảnh và tạo album ảnh

Mỗi thành viên sau khi tham gia vào cộng đồng có quyền đưa nhữngbức ảnh của mình vào cộng đồng để chia sẻ với những thành viên khác

Khi muốn đưa một bức ảnh vào cộng đồng, thành viên đó phải cungcấp những thông tin liên quan đến bức ảnh đó với người quản lý cộng đồng.Khi đăng ký xong, người quản lý sẽ cung cấp một mã ảnh cho bức ảnh đó Mãảnh là duy nhất và tương ứng với mỗi bức ảnh trong cộng đồng

Với những bức ảnh có nội dung bạo lực, vi phạm bản quyền, nội dungkích động gây thù địch… người quản lý cộng đồng có quyền loại khỏi cộngđồng và đưa ra nhắc nhở với thành viên đưa bức ảnh đó vào cộng đồng

Thành viên có thể tổng hợp các bức ảnh của mình bằng việc tạo ranhững album ảnh để dễ quản lý hơn Để tạo được album ảnh mới, thành viên

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 25

Trang 26

phải đăng ký với người quản lý những thông tin về album ảnh này Sau khiđăng ký xong, người quản lý sẽ cung cấp cho album đó một mã album Mãalbum là duy nhất và tương ứng với mỗi album trong cộng đồng.

3.1.5 Chia sẻ bài viết và tạo chủ đề

Thành viên tham gia cộng đồng ngoài khả năng chia sẻ ảnh còn có thểviết ra những bài viết để chia sẻ Các thành viên khác có quyền tham gia bànluận về bài viết đó Mỗi bài viết cũng phải được đăng ký và gắn mã bài viết

để quản lý bài viết đó và người đã viết bài viết đó Mã bài viết là duy nhất vàtương ứng với mỗi bài viết trong cộng đồng

Cũng giống như ảnh, thành viên có thể tổng hợp các bài viết bằng cáchtạo ra các chủ đề Thành viên phải đăng ký với người quản lý hệ thống nhữngthông tin về chủ đề Sau khi đăng ký xong, người quản lý sẽ cung cấp cho chủ

đề đó một mã chủ đề Mã chủ đề là duy nhất và tương ứng với mỗi chủ đềtrong cộng đồng

3.1.6 Gửi bình luận cho ảnh và bài viết

Thành viên đã đăng ký tham gia vào nhóm có thể xem và bình luận vềcác bức ảnh và bài viết của các thành viên khác trong nhóm Thành viên trướckhi bình luận phải đăng ký với nhà quản lý để có được mã bình luận Mã bìnhluận là duy nhất và tương ứng với mỗi lời bình luận

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 26

Trang 27

3.2 Sơ đồ phân rã chức năng

Từ những mô tả về hệ thống, chúng ta có được sơ đồ phần cấp chứcnăng như sau:

Hệ thống chia sẻ thông tin theo nhóm

Chức năng quản lý nhóm

Chức năng quản lý tài

Quản lý tin đã tạo

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 27

Trang 28

3.3 Sơ đồ luồng dữ liệu

3.3.1 Sơ đồ luồng dữ liệu mức ngữ cảnh

Hệ thống chia sẻ thông tin theo nhóm

3.3.2 Sơ đồ luồng dữ liệu mức đỉnh

Quản lý tài khoản

Sinh viên: Trần Trung Hiếu– CNT48ĐH Trang 28

Ngày đăng: 10/05/2014, 07:34

HÌNH ẢNH LIÊN QUAN

1.4.2. Sơ đồ hoạt động của hệ thống - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
1.4.2. Sơ đồ hoạt động của hệ thống (Trang 8)
Hình 1. Các tầng của CLDC J2ME - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
Hình 1. Các tầng của CLDC J2ME (Trang 14)
Hình 3: Bộ khung yêu cầu tối thiểu cho một ứng dụng MIDlet - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
Hình 3 Bộ khung yêu cầu tối thiểu cho một ứng dụng MIDlet (Trang 16)
Hình 2. MIDlet - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
Hình 2. MIDlet (Trang 16)
Hình 4 : Chu kỳ sống của MIDlet - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
Hình 4 Chu kỳ sống của MIDlet (Trang 18)
Hình 5 : Biểu diễn hai bộ MIDlet - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
Hình 5 Biểu diễn hai bộ MIDlet (Trang 20)
Hình 6: Minh họa dữ liệu lưu trữ bản ghi với MIDlet - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
Hình 6 Minh họa dữ liệu lưu trữ bản ghi với MIDlet (Trang 20)
Hình 7 : Thêm bản ghi 2.4.2. Định dạng dữ liệu bản ghi - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
Hình 7 Thêm bản ghi 2.4.2. Định dạng dữ liệu bản ghi (Trang 22)
Hình 8. Lọc bản ghi - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
Hình 8. Lọc bản ghi (Trang 23)
3.2. Sơ đồ phân rã chức năng - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
3.2. Sơ đồ phân rã chức năng (Trang 27)
3.3. Sơ đồ luồng dữ liệu - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
3.3. Sơ đồ luồng dữ liệu (Trang 28)
3.3.3. Sơ đồ luồng dữ liệu mức dưới đỉnh - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
3.3.3. Sơ đồ luồng dữ liệu mức dưới đỉnh (Trang 29)
3.4. Sơ đồ quan hệ và các tập thực thể - xây dựng ứng dụng chia sẻ thông tin theo nhóm trên thiết bị di động
3.4. Sơ đồ quan hệ và các tập thực thể (Trang 36)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w