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

Khóa luận tốt nghiệp Chương trình quản lý việc mua bán sách trên thiết bị di động

91 390 0

Đ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

Định dạng
Số trang 91
Dung lượng 4,07 MB

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

Nội dung

Trong luận văn của mình, chúng em chọn nghiên cứu và viết chương trình ứng dụng trên các thiết bị di động có hỗ trợ J2ME sử dụng hệ quản trị cơ sở dữ liệu Firebird, mặt khác chúng em cũn

Trang 1

Lời Cảm Ơn

Trước hết chúng em xin chân thành cảm ơn Quý thầy cô trong khoa Công Nghệ Thông Tin trường Cao Đẳng Nguyễn Tất Thành đã tận tình giúp đỡ, dạy dỗ cho chúng em nhiều kiến thức bổ ích trong suốt thời gian học ở trường cũng như

đã tạo điều kiện cho chúng em được làm khóa luận này

Đặc biệt chúng em xin gởi lời cảm ơn đến thầy Nguyễn Duy Thái đã tận tình giúp đỡ chúng em trong suốt thời gian làm khóa luận Thầy đã trang bị cho chúng

em kỹ năng làm việc và những kinh nghiệm quý báu sau những lần gặp khó khăn Luận văn của chúng em sẽ khó hoàn thành nếu không có sự giúp đỡ của thầy Chúng con cũng cảm ơn cha mẹ và gia đình luôn ủng hộ, tạo điều kiện tốt nhất cho chúng con trong việc làm luận văn này

Xin cảm ơn các bạn sinh viên CNTT khóa 2005 đã giúp đỡ, đóng góp cho chúng tôi nhiều ý kiến quý báu

Luận văn được hoàn thành với một kết quả nhất định Dù đã rất nổ lực, cố gắng nhưng chắc chắn sẽ không tránh khỏi sai sót Chúng em rất mong được sự cảm thông và sự góp ý của Quý thầy cô và các bạn

TP Hồ Chí Minh, tháng 8 năm 2008 Nhóm sinh viên thực hiện

Trang 2

Lời Nói Đầu

Ngày nay, đối với nhiều người sống ở thành thị thì những thiết bị di động như: điện thoại đi động, máy tính xách tay, máy nhắn tin… không còn gì xa lạ Các thiết

bị di động này không chỉ đơn thuần phục những chức năng thuần túy mà nó còn là một phương tiện giải trí, tra cứu thông tin, mua bán thông qua mạng rất tiện lợi Do

đó việc xây dựng các ứng dụng trên các thiết bị này là một yêu cầu tất yếu trong xu thế hiện nay

Hai hướng phát triển trên thiết bị di động phổ biến hiện nay là ngôn ngữ C++ trên nền hệ điều hành Symbian và J2ME Các ứng dụng được viết trên nền Symbian

có các ưu thế truy cập các tài nguyên của điện thoại cũng như hỗ trợ hệ thống tập tin, thư mục… rất tiện lợi Tuy nhiên hệ điều hành Symbian lại có kích thước khá lớn nên chỉ có thể chạy trên những thiết bị di động tương đối cao cấp Hơn nữa việc xây dựng ứng dụng dùng Symbian API cũng khá phức tạp

Đối lập với Symbian API là công nghệ J2ME với kích thước nhỏ gọn, tiện dụng, được hỗ trợ bởi hầu hết các thiết bị di động Chúng ta có thể nói đối tượng của ngôn ngữ J2ME là rộng hơn rất nhiều so với C++ trên nền Symbian

J2ME là một ngôn ngữ nhỏ, gọn nhưng rất chặt chẽ và dể nắm bắt Nó là ngôn ngữ được các tổ chức mã nguồn mở ủng hộ mạnh mẽ và phát triển nhanh chóng Thật khó so sánh giữa các dòng ngôn ngữ lập trình với nhau vì mỗi loại đều có

ưu và khuyết điểm riêng Trong luận văn của mình, chúng em chọn nghiên cứu và viết chương trình ứng dụng trên các thiết bị di động có hỗ trợ J2ME sử dụng hệ quản trị cơ sở dữ liệu Firebird, mặt khác chúng em cũng muốn thử sức ở một lĩnh vực khá mới mẽ là tiếp cận với phần mềm mã nguồn mở

ng dụng mà chúng em chọn thực hiện trong khóa luận này là:“Chương

trình quản lý việc mua bán sách trên thiết bị di động” Đối với những người dân

trí thức đặc biệt là những bạn sinh viên thì việc mua sách là chuyện rất bình thường

Trang 3

và dễ dàng Hiện nay hệ thống nhà sách được phân bố rộng khắp Tuy nhiên khi đã bước vào cuộc sống công nghệ thì một câu hỏi đặt ra tại sao chúng ta không tận dụng tối đa sức mạnh của công nghệ Chẳng hạn việc mua sách thay vì phải mất công ra nhà sách chọn sách chúng ta có thể ở nhà mà vẫn chọn được sách và mua được cuốn sách đúng như mong muốn Chỉ cần ở nhà chúng ta có một thiết bị di động hỗ trợ Internet Việc chuyển các ứng dụng thương mại từ môi trường web sang môi trường các thiết bị di động nhỏ gọn sẽ khiến sự tiện dụng tăng cao, số người sử dụng dịch vụ trực tuyến chắc chắn sẽ tăng nhanh vì đối với nhiều người các thiết bị di động rất tiện lợi và dễ sử dụng hơn rất nhiều so với chiếc máy tính

“phức tạp và khó hiểu”

Khi nói đến lập trình cho các thiết bị di động, chúng ta đều hình dung được hai trở ngại lớn Thứ nhất, đó là năng lực của bộ vi xử lý trên điện thoại rất yếu và thứ hai, đó là dung lượng của bộ nhớ rất nhỏ Điều này gây trở ngại không nhỏ đến việc

tổ chức dữ liệu cho phần mềm, bởi lẽ một cửa hiệu bán sách thì có rất nhiều loại sách và các đầu sách Chúng ta không thể nào tải hết lên thiết bị di động được Ngoài ra, các hạn chế của các thiết bị di động cũng buộc người lập trình phải chọn giải thuật thật hiệu quả và phải luôn tính toán nhằm tối ưu hóa chương trình Mặt khác, đối với người lập trình, sự hạn chế của thư viện hàm trong ngôn ngữ Java được hỗ trợ cho các thiết bị di động là một vấn đề không dễ giải quyết Những hạn chế đã nêu thật sự là một thách thức lớn mà đề tài bắt buộc phải vượt qua

Vì một số điều kiện đặc biệt của các thiết bị di động, nên hiện nay ứng dụng này chỉ chạy trên chương trình giả lập Tuy nhiên, chúng em hy vọng trong tương lai gần ứng dụng này sẽ được ứng dụng trên thiết bị di động cụ thể và có thể ứng dụng vào thực tiễn

Với việc xây dựng thành công ứng dụng này chúng tôi hy vọng trong một tương lai không xa nó sẽ được phát triển thành các ứng dụng cho việc mua bán trong các hệ thống siêu thị, đặt vé máy tàu hỏa, đặt vé máy bay… qua các thiết bị di

Trang 4

động nhỏ gọn những thiết bị này sẽ trở thành một công cụ giao dịch không thể thiếu trong thời đại mới, thời đại của thương mại điện tử toàn cầu

Trang 5

MỤC LỤC

Lời nói đầu 1

Chương 1: Tổng quan về lập trình trên thiết bị di động 4

1.1 Đôi nét về thị trường thiết bị di động ở Việt Nam 4

1.2 Lập trình trên thiết bị động sử dụng j2me .4

1.3 Một số công cụ hổ trợ j2me .6

Chương 2: Khái quát về j2me, j2ee, MVC, JSP, Servlet và hệ quản trị CSDL FireBird 9

2.1 Giới thiệu j2me .9

2.1.1 Khái niệm j2me 9

2.1.2 Kiến trúc j2me .9

2.2 Giới thiệu j2ee 12

2.2.1 Khái niệm j2ee .12

2.2.2 Kiến trúc j2ee 13

2.3 Cơ chế giao tiếp j2me và j2ee 14

2.4 Giới thiệu mô hình MVC 14

2.5 Giới thiệu về JSP .15

2.5.1 Khái niệm 15

2.5.2 Mô hình hoạt động của JSP .15

2.6 Giới thiệu về Servlet .16

2.6.1 Khái niệm 16

2.6.2 Đặc điểm của Servlet .16

2.7 Giới thiệu hệ quản trị CSDL FireBird .16

2.7.1 Khái niệm 16

2.7.2 Lý do dùng hệ quản trị CSDL Firebird 16

Chương 3: Phân tích thiết kế ứng dụng 18

3.1 Khảo sát hiện trạng .18

3.2 Quy trình nghiệp vụ mua bán sách .18

3.2.1 Trên server 18

3.2.2 Trên Client di động .19

3.3 Phân tích và xác định yêu cầu 19

3.3.1 Danh sách các yêu cầu nghiệp vụ .19

3.3.2 Các yêu cầu phi chức năng .21

3.4 Thiết kế ứng dụng 22

3.4.1 Sơ đồ Use Case tổng thể 22

3.4.2 Sơ đồ Use Case cho từng actor 23

3.4.3 Đặc tả một số Use Case tiêu biểu 25

3.4.4 Thiết kế cơ sở dữ liệu 35

Chương 4: Thử nghiệm, cài đặt và hướng dẫn sử dụng 50

4.1 Cài đặt chương trình (webserver) 50

4.2 Hướng dẫn sử dụng webserver .52

4.3 Hướng dẫn sử dụng J2ME .61

Trang 6

Chương 5: Tổng kết, đánh giá, hướng phát triển 71

5.1 Một số kết quả đạt được 71

5.2 Một số hạn chế 71

5.3 Đánh giá kết quả 72

5.3.1 Chương trình chạy trên Server 72

5.3.1 Chương trình chạy trên Client 72

5.4 Hướng phát triển 73

Danh mục tài liệu tham khảo 75

Phụ lục 76

Hướng dẫn cài đặt J2ME Wireless Toolkit 2.5 76

Trang 7

Nhận xét của giáo viên hướng dẫn

TpHCM, ngày……tháng……năm…… Giáo viên hướng dẫn

[Ký và ghi rõ họ tên]

Trang 8

Các chữ cái, thuật ngữ được sử dụng

API Application Program Interface

CDC Connected Device Configuation

CLDC Connected Limited Device Configuation

GCF General Connection Framework

J2EE Java 2 Enterpise Edition

J2ME Java 2 Micro Edition

J2SE Java 2 Standard Edition

JDK Java Development Process

JSR Java Specification Requests

KVM Máy ảo Java cho môi trường CLDC

PDA Personal Digital Assistant

MIDlet Tên gọi chung cho các ứng dụng J2ME

MIDP Mobile Information Device Profile

Profile Các tập thư viện cấp cao định nghĩa nền Configuation RMS RecordStore Management System

Symbian Hệ điều hành cho điện thoại di động của hãng Symbian XML Extensible Markup Language

Trang 9

TÓM TẮT KHÓA LUẬN

Nội dung khóa luận chia làm 5 chương:

- Chương 1: Tổng quan về lập trình trên thiết bị di động Chương này nêu

những tình hình sử dụng các thiết bị di động ở Việt Nam, hoạt động phát triển phần mềm cho các thiết bị này Giới thiệu một số các phần mềm công

cụ hỗ trợ ứng dụng phát triển phần mềm trên thiết bị di động bằng ngôn ngữ Java

- Chương 2: Khái quát về J2ME, J2EE, MVC và hệ quản trị CSDL

Firebird Chương này trình bày các khái niệm, kiến trúc, chức năng của

J2ME, J2EE và hệ quản trị CSDL Firebird

- Chương 3: Phân tích thiết kế ứng dụng Phân tích các yêu cầu nghiệp vụ Đặc tả chi tiết ứng dụng ở mức phân tích, thiết kế

thiệu về trình giả lập được khóa luận chọn thử nghiệm Hướng dẫn cài đặt

và cách sử dụng các chức năng của chương trình

những mặt đã làm được, những mặt chưa làm được Đề ra những giải pháp

và phương hướng để tiếp tục phát triển chương trình ngày càng hoàn thiện hơn và phát triển thành nhiều chương trình ứng dụng khác nữa

- Danh mục các tài liệu tham khảo: Đây là các tài liệu đã được tham khảo

khi làm luận văn này

- Phụ lục: Mục này hướng dẫn cài đặt các phần mềm liên quan để chạy

demo chương trình

Trang 10

Chương 1: Tng 1: Tng 1: Tổng Quan Vng Quan Vng Quan Về L L Lập Trìp Trìp Trình Trên Thinh Trên Thinh Trên Thiết Bt Bt Bị Di ð Di ð Di ðộngngng

Chương 1:

Tổng Quan Về Lập Trình Trên Thiết Bị Di Động

1.1 Tổng quan về thị trường thiết bị di động ở Việt Nam

Số lượng thiết bị di động ngày càng tăng ở Việt Nam, nhiều người đã coi những thiết bị này như một vật không thể thiếu trong cuộc sống hằng ngày Cùng với sự gia tăng số lượng người dùng thì các ứng dụng dành cho thiết bị di động cũng tăng theo tương ứng Hàng loạt các ứng dụng cho thiết bị di động đã trình làng

và rất được chào đón Đây có thể được coi là một cuộc cách mạng trong lĩnh vực di động, nó biến những thiết bị di động nhỏ bé của bạn thành một chiếc máy tính thu nhỏ, với những thiết bị này bạn có thể đọc báo, tiểu thuyết, tra cứu thông tin…

Có thể nói thị trường di động Việt Nam là một thị trường rất hấp dẫn đối với

các nhà sản xuất phần mềm

1.2 Lập trình trên thiết bị di động sử dụng J2ME

1.2.1 Quá trình phát triển ứng dụng J2ME

Thông thường việc phát triển ứng dụng J2ME được tiến hành qua các giai đoạn sau:

- Viết mã nguồn Java

- Biên dịch

- Tùy chọn (Obfuscate) Obfuscate sẽ loại bỏ các thông tin không cần thiết trong class, chẳng hạn như tên của các biến cục bộ Các lớp, phương thức, interface,… cũng được đổi tên để làm cho chúng ngắn gọn hơn Một gói đã được obfuscate sẽ bảo vệ các tập tin class khỏi việc dịch ngược

và reverse engineering Ngoài việc bảo vệ mã nguồn, obfuscate còn giảm kích thước của các tập tin class, làm cho kích thước của tập tin

Trang 11

Chương 1: Tng 1: Tng 1: Tổng Quan Vng Quan Vng Quan Về L L Lập Trìp Trìp Trình Trên Thinh Trên Thinh Trên Thiết Bt Bt Bị Di ð Di ð Di ðộngngng

JAR cũng giảm đi Việc giảm kích thước rất có ý nghĩa bởi vì các thiết bị MIDP thường có bộ nhớ giới hạn

- Tiền kiểm tra (Pre-verify):

Bộ kiểm tra trong J2SE tốn ít nhất là 50KB, không kể việc tiêu tốn vùng nhớ heap và thời gian xử lý Để giảm việc tiêu tốn này cho J2ME, việc kiểm tra tập tin class sẽ được chia thành hai giai đoạn Quá trình tiền kiểm tra trước khi triển khai sẽ thêm các tập tin class các tham số phụ để tăng tốc quá trình kiểm tra lúc thực thi Thiết bị sẽ thực hiện quá trình kiểm tra sơ lược bằng cách sử dụng các tham số phụ được phát sinh trong quá trình kiểm tra

- Tạo tập tin JAR

- Tạo tập tin JAD

- Thực thi trên trình giả lập thích hợp

- Triển khai trên thiết bị di động

1.2.2 Các J2ME IDE

Môi trường phát triển tích hợp (IDE) cải thiện năng suất của lập trình viên bằng cách cung cấp một tập hợp các công cụ lập trình tích hợp thông qua giao diện đồ họa (GUI), hỗ trợ công cụ soạn thảo, quản lý project, biên dịch và gở rối (debugger)

Thành viên mới nhất trong gia đình Java là J2ME Khi nhiều chuyên gia

dự đoán vế sự phát triển lớn mạnh của thị trường phát triển các ứng dụng J2ME, các nhà phát triển IDE đã đưa ra các bản mở rộng cho các sản phẩm IDE của họ để hỗ trợ thêm J2ME Ngoài ra, các nhà cung cấp chuyên nghiệp khác cũng đã phát triển các IDE dành riêng cho J2ME

1.2.2.1 Một IDE cho J2ME cần phái cung cấp các tiện ích sau

- Quản lý project: Quản lý tập tin nguồn và các thông số MIDlet

- Trình soạn thảo: Soạn thảo mã nguồn và các tài nguyên

Trang 12

Chương 1: Tng 1: Tng 1: Tổng Quan Vng Quan Vng Quan Về L L Lập Trìp Trìp Trình Trên Thinh Trên Thinh Trên Thiết Bt Bt Bị Di ð Di ð Di ðộngngng

- Build: Biên dịch, obfcuscate và pre-verify mã nguồn

- Đóng gói (package): Đóng gói các MIDlet thành phần JAR và JAD

- Giả lập (emulation): Thực thi các MIDlet với một trình giả lập

- Gỡ rối (debugger)

1.3 Một số công cụ hỗ trợ J2ME

1.3.1 J2ME Wireless Toolkit (WTK)

J2ME Wireless Toolkit (WTK) là một bộ công cụ phát triển J2ME cho các lập trình viên trên môi trường giả lập, là công cụ cần thiết để phát triển

các tính năng soạn thảo và gỡ rối vốn được xem là bắt buộc phải có trong một IDE Tuy nhiên, Ktoolbar, được cung cấp trong bộ WTK là một môi trường phát triển tối thiểu cung cấp một GUI dành cho việc biên dịch, đóng gói và thực thi các ứng dụng MIDP

Mỗi project có một thư mục dành riêng trong thư mục apps Thư mục apps nằm bên trong thư mục chính của WTK Các thư viện cần thiết cho project có thể được chép thủ công vào thư mục bên trong thư mục project Nếu một thư viện cần cho tất cả project, nó có thể được chép vào thư mục apps/lib

Khi Ktoolbar project được tạo ra, cấu trúc thư mục project sẽ được thiết lập Ngoài ra các tập tin JAD và manifest cũng được phát sinh dựa vào các thông số của MIDlet suite đã được xác định Tuy nhiên, không có tập tin nguồn nào được phát sinh cho MIDlet Lập trình viên phải viết các tập tin nguồn này từ đầu Ktoobar không hỗ trợ nạp nhiều project trong một GUI Trình soạn thảo WTK không cung cấp một trình soạn thảo tích hợp nào Thay vào đó, lập trình viên phải sử dụng một trình soạn thảo của hãng thứ

ba

Trang 13

Chương 1: Tng 1: Tng 1: Tổng Quan Vng Quan Vng Quan Về L L Lập Trìp Trìp Trình Trên Thinh Trên Thinh Trên Thiết Bt Bt Bị Di ð Di ð Di ðộngngng

Ktoolbar cũng cung cấp hỗ trợ cho việc biên dịch và đóng gói dự án Gói được tạo ra sẽ chứa tập tin JAR và JAD của MIDlet suite WTK được tích hợp công cụ obfuscator là RetroGuard Công cụ này không được cung cấp kèm với WTK mà có thể download miễn phí từ website

www.retrologic.com Để cài đặt, chúng ta chỉ cần chép tập tin retroguard.jar vào thư mục bin của thư mục cài đặt WTK

Tóm lại: WTK là một môi trường cơ bản cho việc phát triển các ứng dụng trên thiết bị di động Tuy nhiên, do thiếu một trình soạn thảo và chức năng gỡ rối, rõ ràng công cụ này không thể nào cạnh tranh được với các công cụ thương mại khác Tuy nhiên với những ai mới bắt đầu tìm hiểu J2ME thì đây vẫn là một công cụ có ích Bằng việc tạo lập sẵn một cấu trúc thư mục, nó cho phép lập trình viên có thể xây dựng ngay ứng dụng mà không cần quan tâm về việc tổ chức các tập tin, tài nguyên trong dự án Khi một lập trình viên đã trở nên thành thạo với việc phát triển ứng dụng J2ME thì có thể chuyển sang sử dụng một công cụ khác

1.3.2 Borland Jbuilder 2006:

Môi trường làm việc của Jbuilder cho J2ME hoàn toàn giống như môi trường phát triển các ứng dụng Java bình thường nhưng có thêm các tabs và options trong các hộp thoại để hỗ trợ J2ME và hai winzard mới: MIDP MIDlet wizard và MIDP Displayable wizard Trong phiên bản Jbuilder Professionnal và Enterprise, trình duyệt Archive Builder có thể tạo ra một MIDlet suite với các tập tin manifest và JAD tương ứng Jbuilder 2006 cũng cần cài đặt WTK 2.1 được sử dụng như một môi trường giả lập Ngoài ra Jbuilder còn cung cấp các hướng dẫn cho việc tích hợp thêm các J2ME JDK khác, chẳng hạn như Nokia Developer Suite for J2ME và Siemens Mobility Toolkit (SMTK)

Trang 14

Chương 1: Tng 1: Tng 1: Tổng Quan Vng Quan Vng Quan Về L L Lập Trìp Trìp Trình Trên Thinh Trên Thinh Trên Thiết Bt Bt Bị Di ð Di ð Di ðộngngng

Ngoài các tính năng chính của Jbuilder, khi lập trình cho J2ME chúng ta được thêm các tính năng sau:

- Chuyển đổi JDK

- Các MIDP wizards

- Bộ thiết kế trực quan (visual designer) cho các thành phần giao diện MIDP

- Công cụ gỡ rối MIDlet

- Đóng gói file JAD và JAR

- Nạp dữ liệu thông qua OTA (Over The Air Provisioning) Tóm lại: Chức năng thiết kế giao diện của Jbuilder là một công cụ hữu ích trong việc tạo lập giao diện MIDP Tuy nhiên, chức năng này lại không hỗ trợ đầy đủ các thành phần giao diện hiện có và trong nhiều trường hợp mã nguồn phát sinh cần được chỉnh sửa thêm mới hoạt động đúng theo ý muốn

Trang 15

H 2.01 Kiến trúc tổng quát của J2ME

2.1.2.1 CLDC – Connected Limited Device Configuation

Mục đích của tầng này là cung cấp một tập tối thiểu các thư viện cho phép một ứng dụng Java chạy trên thiết bị di động Nó cung cấp cơ sở cho tầng hiện

trạng, tầng này sẽ chứa nhiều API chuyên biệt hơn

Trang 16

2.1.2.2 CDC – Connected Device Configuation

Được đưa ra nhắm đến các thiết bị có tính năng mạnh hơn dòng thiết bị thuộc CLDC nhưng vẫn còn yếu hơn các hệ thống máy để bàn sử dụng J2SE Các thiết bị thuộc loại này bao gồm các hộp điều khiển TV, điện thoại Internet, các thiết bị giải trí, định hướng… Các thiết bị này có giao diện phong phú, bộ nhớ nhiều hơn (thông thường là trên 2Mb) và có bộ xử lý mạnh hơn, băng

thông lớn và sử dụng giao thức TCP/IP

2.1.2.3 Máy ảo Java (KVM)

Vai trò của máy ảo Java hay KVM là dịch mã bytecode được sinh ra từ chương trình Java đã biên dịch sang ngôn ngữ máy Chính KVM sẽ chuẩn hóa output của các chương trình Java cho các thiết bị di động khác nhau có thể có

bộ vi xử lý và tập lệnh khác nhau Không có KVM, các chương trình Java phải được biên dịch thành tập lệnh cho mỗi thiết bị di động Như vậy lập trình viên phải xây dựng nhiều đích cho mỗi loại thiết bị di động.Do các thiết bị di động dùng CLDC thường có tài nguyên hạn chế nên Sun đã đề ra máy ảo Java KVM phục vụ riêng cho các thiết bị này Máy ảo KVM thực chất là một bộ phận con của các máy ảo trên môi trường J2SE và J2EE nên cũng có nhiều hạn chế

Trang 17

“phá hủy” Tuy nhiên trong J2ME chúng ta không có phương thức finalize

- Erro Handling: Trong J2ME chúng ta vẫn được hỗ trợ các công cụ về bẫy lỗi (chủ yếu thông qua try và catch) Tuy nhiên khả năng vễ xử lý

lỗi của J2ME cũng hạn chế hơn J2SE và J2EE

- Không hổ trợ việc sử dụng code của các ngôn ngữ khác

- Không hỗ trợ Reflection: Trong J2SE và J2EE, chúng ta có thể dùng các lớp Reflection để tìm hiểu thông số môi trường máy ảo Java đang thực

thi

- Không hỗ trợ ThreadGroup: Mỗi thread được quản lý riêng biệt, không còn lớp ThreadGroup Nếu muốn điều khiển một lúc nhiều threads

chúng ta có thể dùng mảng hoặc Vector

2.1.2.4 MIDP – Mobile Information Device Profile

Đây là Profile được định nghĩa dành riêng cho các thiết bị di động và là thành phần chính trong J2ME MIDP cung cấp các chức năng cơ bản cho hầu hết các thiết bị di động phổ biến nhất là các máy điện thoại di động và các máy PDA Tuy nhiên MIDP cũng có nhiều hạn chế lớn cũng chỉ vì được thiết kế cho các máy di động có cấu hình rất thấp

Trang 18

J2EE cung cấp cách tiếp cận dựa trên linh kiện (component: là một thành phần hay một đơn vị phần mềm độc lập) để thiết kế, phát triển, tích hợp và triển khai ứng dụng J2EE đưa ra mô hình ứng dụng phân tán đa tầng với các linh kiện có khả năng tái sử dụng, mô hình bảo mật thống nhất, điều khiển giao dịch (transaction) linh động, hỗ trợ dịch vụ web (web service) thông qua việc sử dụng chuẩn XML để tích hợp và trao đổi dữ liệu Nói chung một phần mềm dựa trên J2EE là một ứng dụng phân tán đa tầng bao gồm những linh kiện tích hợp với nhau theo đặc tả của J2EE, linh kiện là: Web service, EJB hay gói java classes… Nếu là nhà sản xuất phần mềm, với J2EE, bạn có thể nhanh chóng phát triển một phần mềm thương mại bằng cách xây dựng & tích hợp những linh kiện độc lập và đa hệ, bạn có thể phân rã trách nhiệm xây dựng các linh kiện cho các nhóm lập trình viên độc lập Nếu là người tiêu thụ với vai trò lập trình viên, với J2EE, bạn không cần phải mua trọn gói một thư viện phần mềm lớn cho vài nhu cầu nhỏ, thay vào đó, bạn sẽ mua từng linh kiện J2EE vừa đủ nhu cầu, điều này tiết kiệm chi phí và tạo tính chủ động cho người tiêu thụ J2EE phù hợp cho những ứng dụng quy mô lớn với giá thành thấp

Trang 19

Chỉ đảm nhận phần biểu diễn thông tin đến server và thu thập dữ liệu của

người dùng Nó không biết hoặc không quan tâm đến cách mà thông tin được phát sinh, mặc dù nó biết một số điều về “hình dạng (shape)” của thông tin

2.2.2.2 J2EE Machine

Tầng này đảm nhận chức năng biên dịch hay thay đổi dữ liệu, các luật phải được áp dụng cho dữ liệu khi nó thay đổi Tầng này cung cấp cho tầng Client Machine trước nó, và cũng là phương tiện cho việc lưu trữ và nhận dữ liệu của tầng sau nó

2.2.2.3 Database Server Machine

Tầng này đảm nhiệm quản lý lưu trữ và lấy dữ liệu ứng dụng Tầng này có

thể bao gồm mã chương trình cộng với hệ quản trị cơ sở dữ liệu quan hệ

Trang 20

Chương ng ng 2: Khái Quát J2ME, j22: Khái Quát J2ME, j22: Khái Quát J2ME, j2EE, MVCEE, MVCEE, MVC, JSP, S, JSP, S, JSP, Servlet và H và H và Hệ Quản Trị

CSDL Firebird

2.3 Cơ chế giao tiếp giữa J2ME và J2EE

HTTP là một giao thức liên lạc giữa Clien/Server lý tưởng cho các ứng dụng java

di động Đối với mỗi đặc tả, thiết bị tương thích MIDP phải hỗ trợ HTTP Các giao thức khác như TCP hay UDP là tùy chọn Bởi vì không phải tất cả các thiết bị MIDP đều hỗ trợ tuyền thông socket hay datagram, do đó triển khai HTTP trên thiết bị di động cho phép tối ưu hóa khả năng chuyển đổi giữa các thiết bị từ các nhà sản xuất khác nhau

Một lợi điểm khác của giao thức HTTP được hưởng truy xuất không lỗi thông qua tường lửa Bởi vì server và client di động hầu như được tách biệt bằng firewall, HTTP không cần phải cấu hình thêm Mặc dù vậy ta cũng nên quan tâm đến các rủi ro bảo mật có thể có khi mở kết nối HTTP ra thế giới bên ngoài Java cung cấp API lập trình mạng, hỗ trợ giao thức HTTP Ta dễ dàng tạo ra các request GET, POST và HEAD trong ứng dụng Java

2.4 Giới thiệu Mô hình MVC

H 2.03 Mô hình MVC tổng quát

Trang 21

Model-• View: Người dùng tương tác với ứng dụng thông qua components View View có trách nhiệm lấy request và gửi yêu cầu đến controller, nhận kết quả

từ controller hiển thị cho người dùng.HTML, JSPs, các thư viện Tag và các File nguồn là các thành phần của components View

• Controller: Là trung gian giữa Model và View, Controller có trách nhiệm nhận yêu cầu từ View sau khi nhận yêu cầu controller sẽ thực thi Business logic thích hợp từ Model, sau đó điều khiển components View xuất dữ liệu cho User.ActionSevlet, Action, ActionForm và Struts-config.XML là các thành phần của Controller

• Model: Đảm nhận nhiệm vụ cung cấp dữ liệu từ cơ sở dữ liệu và lưu thông tin vào CSDL, tất cả các Business đều được thực thi ở Model.Truy xuất dữ

liệu,sự hợp lệ của dữ liệu và data saving logic là các thành phần của Model

2.5 Giới thiệu về JSP (Java Server Pages)

Trang 22

Chương ng ng 2: Khái Quát J2ME, j22: Khái Quát J2ME, j22: Khái Quát J2ME, j2EE, MVCEE, MVCEE, MVC, JSP, S, JSP, S, JSP, Servlet và H và H và Hệ Quản Trị

CSDL Firebird

2.5.2 Sơ đồ hoạt động của JSP

H 2.04 Mô hình hoạt động của JSP

2.6 Giới thiệu về Servlet

2.6.1 Khái niệm

Servlet dùng để mở rộng các chức năng của Java-enable server Dùng để thay thế cho CGI Script Servlet chạy trong Java Virtural Machine Không bắt buộc Web browser phải hỗ trợ Java

H 2.05 Sơ đồ hoạt động của Servlet

2.6.2 Đặc điểm Servlet

- Có thể làm việc trên nhiều web servers

- Là công nghệ đầu tiên của Java để tạo ra web Application

Trang 23

Chương ng ng 2: Khái Quát J2ME, j22: Khái Quát J2ME, j22: Khái Quát J2ME, j2EE, MVCEE, MVCEE, MVC, JSP, S, JSP, S, JSP, Servlet và H và H và Hệ Quản Trị

CSDL Firebird

- Không nằm trong core Java API mà nằm trong hai package javax.servlet và

java.servlet.http của Java Servlet Development Kit (JSDK)

2.7 Giới thiệu về hệ quản trị CSDL Firebird

2.7.1 Khái niệm

Là một hệ quản trị CSDL do cộng đồng mã nguồn mở phát triển Cung cấp môi trường và công cụ để lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu một cách hiệu quả

Lưu giữ thông tin về người dùng của hệ quản trị cơ sở dữ liệu và những tác vụ

mà người dùng này có thể tương tác với dữ liệu được lưu trữ

Trang 24

Với việc xây dựng thành công ứng dụng này chúng em hy vọng trên thị trường sẽ xuất hiện một loại hình dịch vụ mới cho thiết bị di động Nó sẽ làm cho

cuộc sống của chúng ta ngày càng phong phú hơn

3.2 Qui trình nghiệp vụ của việc mua bán sách

3.2.1 Trên Server

• Cập nhật sách: Khi cần cập nhật sách thì nhân viên có thể đăng nhập vào hệ thống với vai trò là nhân viên cập nhật và cập nhật sách trong database

• Chuyển giao sách đã được đặt mua:

- Nhân viên sẽ đăng nhập vào hệ thống với vai trò là nhân viên lập hóa đơn

và xem các hóa đơn đã được tạo ra, in các hóa đơn cần thiết và chuyển giao cho bộ phận soạn hóa đơn

- Bộ phận soạn hóa đơn sẽ soạn đầy đủ các đầu sách có trong hóa đơn và chuyển ñến cho bộ phận chuyển giao sách

- Bộ phận chuyển giao sách sẽ tiến hành chuyển giao sách cho khách hàng

và thu tiền

- Nếu khách hàng không nhận hoặc chỉ nhận một phần thì sách sẽ được mang về và cập nhật trở lại vào database

Trang 25

• Thống kê: Khi cần thiết nhân viên thống kê sẽ thống kê sách tồn kho, sách đã bán, sách cần bổ sung theo yêu cầu

• Phân quyền: Admin sẽ phân quyền, tạo nhóm người dùng khi cần thiết

3.2.2 Trên Client di động

- Vào trang web xem các đầu sách mà trang web đang có

- Chọn sách cần mua và sách đó sẽ được cho vào giỏ hàng

- Nếu người dùng tiếp tục chọn những sách khác thì những sách đó cũng lần lượt được đưa vào giỏ hàng

- Nếu người dùng đổi ý, muốn thay đổi sách đã chọn thì có thể cập nhật lại giỏ hàng của mình

- Người dùng chọn lệnh Thanh Toán và màn hình tiếp nhận thông tin khách hàng xuất hiện, khách hàng tiến hành nhập các thông tin cần thiết

- Khi không hiểu về cách thức thanh toán và chuyển giao sách khách hàng có thể xem hướng dẫn trên trang web

- Khi cần tìm loại sách hoặc sách khách hàng có thể tra cứu trên trang web

3.3 Phân tích và xác định yêu cầu

Dựa trên các yêu cầu về mua bán sách qua thiết bị di động chúng tôi đưa ra các yêu cầu sau:

3.3.1 Danh sách các yêu cầu nghiệp vụ

Server

Nhân viên cập nhật

Nhân viên lập hóa đơn

đơn bán hàng trên server

Trang 26

kết quả bán hàng ngày đến ngày, theo khách hàng

Nhân viên thống kê

6 Đọc thông tin hướng dẫn

Trang 27

3.3.2 Các yêu cầu phi chức năng

• Chương trình chạy trên Client:

- Chương trình phải chạy được trên tất cả các thiết bị di động có

hỗ trợ Internet

- Tốc độ duyệt, tìm kiếm trên thiết bị ở mức chấp nhận được

- Kích thước không quá lớn

- Giao diện dễ sử dụng

• Chương trình chạy trên Server:

- Tốc độ nhanh, bảo mật tốt

- Giao diện dễ sử dụng

Trang 28

Statistic book

Show new book list

Show hot book list

Show kind of book list

Chose new book Update chosen book

Enter new kind of book

Update existing kind of book

Update existing author

Enter new author

Enter new publisher

Update existing publisher

Enter new book

Update existing book

Update existing order

Enter new order

Enter new usergroup Update user group

Enter new user

Update user

<<extend>>

Update existing employee

Enter new employee Updating Officer

Order Officer

Admin

Statistic income

Statistic bought book

Statistic book relegation System login

H 3.06 Sơ đồ Use Case tổng thể

Trang 29

Update existing order

Enter new publisher

Update existing book Enter new kind of book

System login

Update existing publisher

Enter new author

Enter new book

3.4.2 Sơ đồ Use case cho từng Actor

3.4.2.1 Order Officer (Nhân viên lập hóa đơn)

H 3.07 Sơ đồ Use Case – nhân viên lập hóa đơn

3.4.2.2 Update Officer (Nhân viên cập nhật)

H 3.08 Sơ đồ Use Case – nhân viên cập nhật

Trang 30

Update existing user

Enter new usergroup Update existing usergroup

H 3.09 Sơ đồ Use Case – nhân viên quản trị

3.4.2.4 Statistic Officer (Nhân viên thống kê)

H 3.10 Sơ đồ Use Case – nhân viên thống kê

Trang 31

3.4.2.5 Customer (Khách hàng)

H 3.11 Sơ đồ Use Case – khách hàng

3.4.3 Đặc tả một số Use case tiêu biểu

3.4.3.1 Enter new book

- Hệ thống hiển thị trang Index

- Actor chọn nột dung thực hiện là thêm sách mới

- Hệ thống mở trang thêm sách, các thông tin cần thiết được đưa vào các combobox

- Actor nhập thông tin và chọn lưu

- Hệ thống kiểm tra thông tin đã được nhập

- Hệ thống sẽ tự động phát sinh mã số cho sách mới này

Trang 32

- Hệ thống thực hiện thêm thông tin sách vào CSDL

- Hệ thống thông báo thêm thành công hay không thành công

• Điều kiện ban đầu

Actor phải đăng nhập vào hệ thống với vai trò là nhân viên cập nhật hoặc nhà quản trị

• Điều kiện sau khi hoàn thành

Sau khi thêm loại sách mới hệ thống phải thông báo thành công

hay không thành công

• Điểm mở rộng

Không có 3.4.3.2 Update existing book

3.4.3.2.1 Mô tả:

Use case này mô tả chức năng hệ thống hỗ trợ nhân viên cập nhật

trong việc cập nhật thông tin sách (xóa, sửa)

3.4.3.2.2 Dòng sự kiện

• Dòng sự kiện chính

Use case này bắt đầu khi actor chọn liên kết đến trang cập nhật

(sửa, xóa) sách trên trang index

- Hệ thống hiển thị trang cập nhật

- Actor thực hiện tra cứu đến sách cần cập nhật

- Nếu actor chọn sửa hệ thống hiển thị trang Sửa sách, nếu chọn Xóa hệ thống sẽ xóa sách đã chọn

- Kết thúc Use Case

Trang 33

- Actor sửa lại những chổ chưa đúng

- Nhân viên cập nhật nhấn nút Sửa

- Hệ thống hỏi lại có chắc chắn thay đổi thông tin sách không?

- Actor sách chọn Yes

- Hệ thống thực hiện sửa thông tin sách này trong CSDL

- Hệ thống thông báo sửa thành công hay không thành công

- Hệ thống thực hiện xóa sách này khỏi CSDL

- Hệ thống thông báo xóa thành công hay không thành công

- Kết thúc use case

• Yêu cầu đặc biệt

Không có

• Điều kiện ban đầu

Actor phải đăng nhập vào hệ thống với vai trò là nhân viên cập nhật hoặc nhà quản trị

• Điều kiện sau khi hoàn thành

Không có

• Điểm mở rộng

Trang 34

Không có 3.4.3.3 Statictis book (Thống kê sách)

3.4.3.3.1 Mô tả

Use case này mô tả chức năng của hệ thống hỗ trợ nhân viên thống

kê trong việc thống kê sách trong hệ thống, nhân viên thống kê là acor của use-case này

- Hệ thống tiến hành kiểm tra thông tin đã nhập và thực hiện thống kê

- Hệ thống đọc dữ liệu từ các bảng liên quan

- Hệ thống hiển thị kết quả thống kê ra màn hình

- Nhân viên nhân viên có thể chọn lệnh để in hoặc thoát khỏi màn hình thống kê

• Điều kiện ban đầu

Actor phải đăng nhập vào hệ thống với vai trò là nhân viên thống

kê hoặc nhà quản trị

• Điều kiện sau khi hoàn thành

Không có

• Điểm mở rộng

Không có

Trang 35

3.4.3.4 Assign permission (Phân quyền người dùng)

- Hệ thống đọc dữ liệu từ các bảng liên quạn

- Actor chọn nhân viên cần phân quyền

- Actor phân quyền cho nhân viên đó

- Actor lưu lại thông tin phân quyền

• Điều kiện ban đầu

Actor phải đăng nhập với vai trò là nhà quản trị

• Điều kiện sau khi hoàn thành

Không có

• Điểm mở rộng

Không có

Trang 36

Use case này bắt đầu khi nhân viên đăng nhập vào hệ thống

- Actor nhập tên đăng nhập và mật khẩu hợp lệ

- Hệ thống tiến hành dò tìm các quyền hạn của actor đăng nhập và lưu vào một mảng tạm

- Hệ thống sẽ tiến hành mở các màn hình cũng như menu tương ứng với quyền hạn của actor đăng nhập sau khi đã xét giá trị trong mảng tạm

- Kết thúc Use case

• Dòng sự kiện khác

Khi actor đăng nhập sai tài khoản thì hệ thống thông báo

• Yêu cầu đặc biệt

Không có

• Điều kiện ban đầu

Actor phải có một tài khoản và mật khẩu được lưu trong hệ thống

• Điều kiện sau khi hoàn thành

Không có

• Điểm mở rộng

Không có

Trang 37

Enter new boo

Book : Book

Book group .

Author : Author Publisher

Book import .

Book import detai

1: Open

2: Selec Enter new book

3: Open

15: Save 16: Result

4: Submit info

7: Get info

9: Get info

11: Get info 5: Get info

3.4.4 Sơ đồ tuần tự một số Use case tiêu biểu

3.4.4.1 Enter new book (thêm sách mới)

H 3.12 Sơ đồ tuần tự - Thêm sách mới

Trang 38

3.4.4.2 Statistic book (thống kê sách)

H 3.13 Sơ đồ tuần tự - Thống kê sách

Trang 39

2: Select update book

3: Open 4: Lookup info

27: Update 28: Update

Trang 40

3.4.4.4 Assign permission (phân quyền)

H 3.15 Sơ đồ tuần tự - Phân quyền

3.4.4.5 Login (đăng nhập)

: Actor Login : Login : Index : Role

1: Open 2: Submit info

3: Get info 4: Info 5: Open

H 3.16 Sơ đồ tuần tự - Đăng nhập

Ngày đăng: 05/05/2015, 11:16

HÌNH ẢNH LIÊN QUAN

3.4.1  Sơ đồ Use case tổng thể - Khóa luận tốt nghiệp Chương trình quản lý việc mua bán sách trên thiết bị di động
3.4.1 Sơ đồ Use case tổng thể (Trang 28)
3.4.2  Sơ đồ Use case cho từng Actor - Khóa luận tốt nghiệp Chương trình quản lý việc mua bán sách trên thiết bị di động
3.4.2 Sơ đồ Use case cho từng Actor (Trang 29)
3.4.4  Sơ đồ tuần tự một số Use case tiêu biểu  3.4.4.1  Enter new book (thêm sách mới) - Khóa luận tốt nghiệp Chương trình quản lý việc mua bán sách trên thiết bị di động
3.4.4 Sơ đồ tuần tự một số Use case tiêu biểu 3.4.4.1 Enter new book (thêm sách mới) (Trang 37)
3.4.5.2  Sơ đồ thực thể kết hợp mức vật lý - Khóa luận tốt nghiệp Chương trình quản lý việc mua bán sách trên thiết bị di động
3.4.5.2 Sơ đồ thực thể kết hợp mức vật lý (Trang 42)

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