1. Trang chủ
  2. » Công Nghệ Thông Tin

Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên

68 362 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 68
Dung lượng 1,74 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ỉ cần có một điện thoại di động hỗtrợ GPRS các bạn sinh viên có thể tra cứu thông tin về lịch hoc,điểm thi ..… Vìmột số điều kiện đặc biệt của điện thoại, hiện nay ứng dụng này chỉ chạ

Trang 1

LỜI CẢM ƠN

Sau thời gian tìm hiểu và thực hiện, đề tài :”Xây dựng ứng dụng tra cứuthông tin đào tào cho sinh viên” đã cơ bản hoàn thành Để đạt được kết quảnày,em đã nỗ lực hết sức đồng thời cũng nhận được rất nhiều sự quan tâm,giúp đỡ, ủng hộ của các thầy cô, bạn bè và gia đình

Trước hết, em xin gởi lời cảm ơn chân thành đến Bộ môn Mạng máy tính

và truyền thông - Đại học công nghệ thông tin và truyền thông và các thầy côđặc biệt là Thầy Trần Hồng Anh đã tận tình giúp đỡ, hướng dẫn em hoàn thành

đề tài này

Đề tài đã hoàn thành với một số kết quả nhất định, tuy nhiên vẫn khôngtránh khỏi sai sót Kính mong sự cảm thông và đóng góp ý kiến từ các thầy cô

và các bạn

Em xin chân thành cám ơn

Thái Nguyên ,ngày tháng 6 năm 2012 Sinh viên

Bùi Thị Luyến

Trang 2

LỜI CAM ĐOAN

Để hoàn thành đồ án tốt nghiệp đúng thời gian quy định và đáp ứng đượcnhu cầu đề ra, bản thân em đã cố gắng nghiên cứu, học tập và làm việc trong thờigian dài cùng với sự hướng dẫn nhiệt tình của thầy Trần Hồng Anh và các bạnsinh viên cùng bộ môn Em đã tham khảo một số tài liệu nêu trong phần “tài liệutham khảo” và không sao chép nội dung từ bất kỳ đồ án nào khác

Em xin cam đoan những lời nói trên là hoàn toàn đúng sự thật mọi thôngtin sai lệch em xin hoàn toàn chịu trách nhiện trước hội đồng

Sinh viên

Bùi Thị Luyến

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

LỜI NÓI ĐẦU 5

CÁC CHỮ VIẾT TẮT VÀ CÁC THUẬT NGỮ ĐƯỢC SỬ DỤNG 7

DANH MỤC CÁC BẢNG 8

DANH MỤC CÁC HÌNH 9

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

1.1 Tổng quan về đề tài 11

1.1.1 Lí do chọn đề tài 11

1.1.2 Mục tiêu đề tài 11

1.2 Tổng quan về J2ME 12

1.2.1 Giới thiệu về J2ME 12

1.2.2 Các lớp trong J2ME 13

1.2.3 Sơ lược về MIDLET 15

1.2.4 Giao diện đồ họa trong J2ME 20

1.3 Giới thiệu về UML 27

1.3.1 Thành phần trong UML 27

1.3.2 Biểu đồ ( Diagram) 29

1.4 Giới thiệu về Servlet 31

1.4.1 Sơ lược về Servlet 31

1.4.2 Cơ chế hoạt động của Servlet 33

1.4.3 Kiến trúc của Servlet 34

1.4.4 Chu trình sống của các Servlet 37

1.4.5 Xử lý các yêu cầu và truy tìm thông tin 38

1.4.6 Các phiên làm việc Session 39

1.4.7 Sự truyền thông giữa các Servlet 39

1.4.8 Servlet kết nối các cơ sở dữ liệu 39

Trang 4

PHÂN TÍCH THIẾT KẾ BÀI TOÁN TRA CỨU THÔNG TIN ĐÀO TẠO CHO

SINH VIÊN 42

2.1 Khảo sát hiện trạng của Trường Cao Đẳng Sư Phạm Hải Dương 42

2.1.1 Mô hình kế hoạch giảng dạy và thời khóa biểu cho sinh viên 42

2.1.2 Mô hình quản lý điểm 43

2.2 Đặc tả chương trình 45

2.2.1 Tổng quan về chương trình 45

2.2.2 Các chức năng chính 45

2.3 Phân tích - thiết kế 46

2.3.1 Mô hình ngữ cảnh của hệ thống 46

2.3.2 Mô hình người dùng 46

2.3.3 Mô hình use case 47

2.3.4 Đặc tả một số use case chính 47

2.3.5 Thiết kế bảng CSDL 61

3.4 Mô hình CSDL 63

CHƯƠNG 3 64

GIAO DIỆN CHƯƠNG TRÌNH VÀ MỘT SỐ CHỨC NĂNG 64

3.1 Giao diện Sever 64

3.2 Giao diện cho Client 66

KẾT LUẬN 68

Hướng phát triển 68

TÀI LIỆU THAM KHẢO 69

Trang 5

LỜI NÓI ĐẦU

Mạng điện thoại di động xuất hiện tại Việt Nam từ đầu những năm 1990

và theo thời gian, số lượng các thuê bao cũng như các nhà cung cấp dịch vụ diđộng tại Việt Nam ngày càng tăng Ngày nay điện thoại di động không chỉ cònmang chức năng gọi điện hay nhắn tin thông thường mà còn là một thiết bị giảitrí, tra cứu thông tin rất tiện lợi Do đó, xây dựng các ứng dụng cho điện thoại diđộng đang là một yêu cầu tất yếu trong xu thế hiện nay

J2ME là một ngôn ngữ nhỏ, gọn nhưng rất chặt chẽ và dễ nắm bắt, vớinhững lập trình viên đã có kinh nghiệm với Java việc lập trình với J2ME trở nênrất dễ dàng J2ME còn là một ngôn ngữ được các tổ chức mã nguồn mở ủng hộmạnh mẽ và phát triển rất nhanh chóng

Ứng dụng mà em chọn thực hiện là ứng dụng tra cứu thông tin đào tạocho sinh viên qua mạng di động Đối với sinh viên khoa công nghệ thông tin,

hệ thống tra cứu thông tin SMS qua môi trường web là một ứng dụng rất quenthuộc Ứng dụng tra cứu thông tin đào tạo cho sinh viên trên điện thoại di độngnhằm hỗ trợ các bạn sinh viên có thể sử dụng các tiện ích của hệ thống màkhông cần phải có máy tính kết nối mạng Chỉ cần có một điện thoại di động hỗtrợ GPRS các bạn sinh viên có thể tra cứu thông tin về lịch hoc,điểm thi … Vìmột số điều kiện đặc biệt của điện thoại, hiện nay ứng dụng này chỉ chạy trênchương trình giả lập

Trên cơ sở đó, nội dung của đồ án gồm 3 chương sau:

Chương 1: Cơ sở lý thuyết

Chương 2: Phân tích và thiết kế bài toán tra cứu thông tin đào tạo chosinh viên

Chương 3: Xây dựng giao diện và một số chức năng

Qua đồ án em đã cố gắng nắm bắt và ứng dụng được các kỹ thuật lập trìnhtrên thiết bị di động bằng ngôn ngữ J2ME Tuy nhiên chắc chắn không tránh khỏi

Trang 6

những thiếu sót, rất mong được sự đóng góp ý kiến của các thầy cô và các bạn để

đề tài này được hoàn thiện hơn nữa

Trang 7

CÁC CHỮ VIẾT TẮT VÀ CÁC THUẬT NGỮ ĐƯỢC SỬ DỤNG

API Application Program Interface

CDC Connected Device Configuration

CLDC Connected Limited Device Configuration

GCF General Connection Framework

IIS Internet Information Services-Web server chuẩn trên Windows

J2EE Java 2 Enterpise Edition, phiên bản Java cho những dự án lớn

J2ME Java 2 Micro Edition, phiên bản Java cho những thiết bị nhỏ

JCP Tổ chức Java Community Process

JDK Java Development Kits

JSR Java Specification Requests, những yêu cầu cần bổ sung cho các phiên

bản Java

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

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

MIDP Mobile Information Device Profile

PDA Personal Digital Assistant

Profile Các tập thư viện cấp cao định nghĩa trên nền Configuration

Trang 8

DANH MỤC CÁC BẢNG

DANH MỤC CÁC HÌNH

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

Trang 9

1.1 Tổng quan về đề tài

1.1.1 Lí do chọn đề tài

Ngày nay điện thoại di động không chỉ là thiết bị đàm thoại thông thường

mà đang dần trở thành thiết bị thông minh để đáp ứng nhu cầu ngày càng cao củacon người Các bước tiến vượt bậc về công nghệ giúp bộ nhớ của điện thoại diđộng ngày càng lớn, tốc độ xử lý nhanh hơn và nhờ đó chúng ta có thể tích hợpnhiều chức năng khác nhau như chụp ảnh, quay video, nghe radio, xemtivi Trong tương lai, điện thoại di động thông minh (smartphone) có chức năngnhư một máy tính sẽ tích hợp tất cả chức năng để đáp ứng các nhu cầu cần thiếtcủa con người Mặt khác, cùng với sự phát triển của công nghệ, giá cả điện thoạicũng càng ngày càng rẻ hơn và các đối tượng là học sinh, sinh viên có thể sửdụng điện thoại di động để hỗ trợ cho việc học tập ngày càng phổ biến hơn

Một trong những ứng dụng cần thiết đối với người dùng nhất là sinh viên,học sinh và phù hợp với điện thoại di động là tra cứu thông tin đào tạo cho sinhviên Ứng dụng này cần thiết cho nhu cầu học tập, tích lũy kiến thức,các bạn sinhviên có thể tra cứu điểm thi,lịch học, Để giải quyết vấn đề trên em xin chọn vàthực hiện để tài: Xây dựng ứng dụng tra cứu thông tin đào tạo cho sinh viên

1.1.2 Mục tiêu đề tài

Điện thoại di động là thiết bị nhỏ gọn, được thiết kế phục vụ chủ yếucho nhu cầu liên lạc và giải trí của người dùng khi di chuyển Bộ xử lý cũngnhư khả năng lưu trữ của điện thoại di động kém xa so với máy tính để bàn.Ngoài ra việc lập trình ứng dụng trên điện thoại cũng có những khác biệt vàkhó khăn so với lập trình trên máy tính

Như vậy, đề tài cần giải quyết các công việc chính như sau:

 Tìm hiểu về ngôn ngữ J2ME: các thành phần trong kiến trúc củaJ2ME, các kỹ thuật xử lý

 Tìm hiểu về Servlet

Trang 10

 Xây dựng hoàn chỉnh ứng dụng tra cứu thông tin đào tạo trên điệnthoại di động

1.2 Tổng quan về J2ME

1.2.1 Giới thiệu về J2ME

J2ME là một nhánh của ngôn ngữ lập trình JAVA được phát triển nhằmhướng tới việc lập trình cho các thiết bị “nhỏ” (micro) có bộ nhớ, khả năng hiểnthị và xử lý hạn chế

Ban đầu Java được xây dựng chỉ gồm một phiên bản duy nhất, ngày nayđược biết đến với tên J2SE (Java 2 Standard Edition), với phương châm là “viếtmột lần, chạy trên mọi môi trường” (“Write once, run anywhere”) Java đượchình thành trên ý tưởng xây dựng một ngôn ngữ mà lập trình viên chỉ cần viếtmột lần duy nhất nhưng ứng dụng có thể chạy trên bất cứ môi trường nào có hỗtrợ máy ảo Java (Java Virtual Machine) Để làm được việc này, Java sử dụngmột phương thức biên dịch mã nguồn tương đối khác so với các ngôn ngữ lậptrình truyền thống Bộ biên dịch Java không biên dịch mã nguồn trực tiếp sang

mã máy mà biên dịch sang một dạng mã trung gian mà máy ảo Java hiểu được(mã bytecode)

Hình 1.1 Các thiết bị hỗ trợ J2ME

Trang 11

Được giới thiệu lần đầu vào năm 1995, ngày nay mục tiêu Java nhắmđến cũng đã thay đổi khá nhiều Java hiện nay không chỉ nhắm đến họ máy tính

để bàn đơn thuần; hai năm sau ngày đầu được ra mắt, một phiên bản Java mới

là J2EE (Java 2 Enterprise Edition) đã được giới thiệu nhắm tới việc phát triểncác ứng dụng có qui mô lớn hơn

1.2.2 Các lớp trong 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 độc lậpvới thiết bị di động, không cần quan tâm đến phần cứng thật sự Để đạt được mụctiêu này, J2ME được xây dựng bằng các tầng(layer ) khác nhau để giấu đi việcthực hiện phần cứng khỏi nhà phát triển Sau đây là các tầng của J2ME được xâydựng trên CLDC:

Hình 1.2: 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

a, Tầng thiết bị phần cứng (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 J2ME nhưng

nó là nơi xuất phát Các thiết bị di động khác nhau có thể có các ộ xử lí khác nhau

Trang 12

với các tập mã lệnh khác nhau Mục tiêu của J2ME là cung cấp một chuẩn cho tất

cả các loại thiết bị di động khác nhau

b, 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ủa thiế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ình Java thành ngônngư máy để chạy trên thiết bị di động Tầng này cung cấp một sự chuẩn hóa chocác thiết bị di động để ứng dụng J2ME sau khi đã biên dịch có thể hoạt động trênbất kì thiết bị di động nào có J2ME KVM

c, Tầng cấu hình (Configuaration Layer)

Tầng cấu hình của CLDC định nghĩa giao diện ngôn ngữ Java (JavaLauguage interface) cơ bản để cho phép chương trình Java chạy trên thiết bị diđộng Đây là một tập các API định nghiac lõi của ngôn ngữ J2ME Lập trình viê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 các API hữudụng hơn được chứa trong tầng hiện trạng (profile layer)

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

Tầng hiện trạng hay MIDP cung cấp tập các API hữu dụng hơn cho lậptrì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à cung cấpnhiều thư viện ứng dụng hơn.MIDP định nghĩa các API riêng biệt cho thiế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 và phương thức hữudụng cho việc tạo các ứng dụng PDA (lịch, sổ hẹn, sổ địa chỉ ) 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 được xây dựng Chuẩn hiện trạngPDA là đặc tả JSR-75 và chuẩn bluetooth API là đặc tả JSR-82 với JSR là viết tắtcủa Java Specification Request

Trang 13

1.2.3 Sơ lược về MIDLET

a, Các thành phần của Midlet

Các ứng dụng J2ME được gọi là các MIDlet (Mobile Imformation Deviceapplet).Một MIDLET là một lớp Java mở rộng của lớp trừu tượng và thực thi cácphương thức startApp() , pauseApp() và destroyApp()

Hình sau thể hiện bộ khung yêu cầu tối thiểu cho một ứng dụng MIDlet

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ạm dừng Nói chung, các biếntoàn cục sẽ được khởi tạo lại trừ hàm tạo bởi vì các biế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.

 PauseApp()

Trang 14

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 tin nhắn đến hoặc có cuộc gọi )

Cách thích hợp để sử dụng pauseApp() là giải phóng tài nguyên và các biến để

dành cho các chức năng khác trong điện thoại trong khi MIDlet được tạm dừng.Cần lưu ý rằng khi nhận cuộc gọi đến hệ điều hành trên điện thoại di động có thểdừng KVM thay vì dừng MIDlet Việc này không được đề cập trong MIDP mà đó

là do nhà sản xuất quyết định sẽ chọn cách nào

 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át MIDlet Nó không thật sự xóa

ứng dụng khỏi điện thoại di động Phương thức destroyApp() 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ối thoát bằng cách ném ra một ngoại lệ

Chúng ta sẽ xem xét một số hàm quan trọng nhất của lớp Display

Hình 1.4 Lớp Display

Trang 15

Một MIDlet sẽ có một và chỉ một đối tượng Display để điều khiển việcthể hiện dữ liệu Đối tượng Display không có phương thức khởi tạo mà đượckhởi tạo trực tiếp từ phương thức static của lớp.

Ví dụ:

Display display=Display.getDisplay(this);

Tham số đầu vào là một MIDlet, ở đây chúng ta gọi hàm từ lớp kếthừa từ MIDlet nên có thể truyền vào con trỏ this Thực ra công dụng chính củaDisplay là cho phép hiển thị đối tượng nào lên màn hình hiện thời Các đốitượng có thể hiển thị lên màn hình là các đối tượng thuộc lớp Displayable (sẽđược giới thiệu sau), ví dụ như form, TextBox, Canvas,Screen…

 Lớp Displayable

Như đã đề cập, một ứng dụng MIDlet chỉ có một đối tượng Display duynhất và đối tượng Display này dùng để thể hiện các đối tượng Displayable lênmàn hình Như tên của lớp Displayable cho chúng ta thấy, đây là các đối tượng

có khả năng hiển thị thông tin lên màn hình thiết bị Lớp Displayable bao gồm

2 lớp con là lớp Screen và lớp Canvas

Các hàm chính của lớp Displayable:

Hình 1.5 Lớp Displayable

Trang 16

 Quản lý các sự kiện (event)

+ Command & CommandListener

Ta định nghĩa Command là một đối tượng giữ thông tin về một sự kiện(Event) Nói một cách đơn giản nhất thì command như một nút ấn (button) trênứng dụng di động, khi ta chọn nút này thì sẽ phát sinh một sự kiện tương ứng.Khichúng ta tạo một Command có ba thông số cần cung cấp

Label: Đoạn văn bản được xem như nhãn của command

Type: Thật thuận tiện nếu ta có thể ánh xạ một command với một núttrên thiết bị (ta gọi là “soft-button”) Giả sử ta có một command tên help vàánh xạ được với HELP Button trên thiết bị thì thật trực quan và dễ dàng chongười dùng

Priority: Độ ưu tiên, dùng để sắp xếp các command từ trên xuống dưới haytrái sang phải khi được thể hiện chung dạng menu Hình 3.2 thể hiện commandUpload có độ ưu tiên cao hơn command Download Giá trị này càng cao thì độ ưutiên càng thấp Sau đây là các hàm chính của lớp Command và CommandListener(hai lớp này nằm

Các type được hỗ trợ:

Bảng 1.6 Các Command Type

Trang 17

Hiện tại MIDP hỗ trợ các loại Items sau: ChoiceGroup, DateField,Gauge, ImageItem, StringItem và TextField Ở đây có một ngoại lệ là hai loạiStringItem và ImageItem không hỗ trợ phát sinh sự kiện mặc dù chúng là lớpcon của lớp Item Chúng ta cài đặt một listener trong lớp Form, khi một Itemphát sinh sẽ kích hoạt hàm itemStateChanged(), tuy nhiên không phải khichúng ta thay đổi giá trị nhiều items cùng lúc thì itemStateChanged() sẽ đượcgọi đủ bấy nhiêu lần Ở đây có một luật được đề ra.Sau đây là các hàm quantrọng khi sử dụng Item:

Hình 1.7 Item và ItemStateListener

c, Vòng đời của Midlet

Khi người dùng yêu cầu khởi động ứng dụng MIDlet, bộ quản lí ứng dụng

sẽ thực thi MIDlet (thông qua lớp MIDlet) Khi ứng dụng thưc thi, nó sẽ đượcxem là đang ở trạng thái tạm dừng Bộ quản kí ứng dụng gọi hàm tạo và hàmstartApp() 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 động hay tạm dừng

Trang 18

resumerRequest(): Yêu cầu vào chế độ hoạt động Ví dụ khi MIDlet tạm

dừng, và một sự kiện timer xuất hiện

dừng Ví dụ khi đợi một sự kiện timer

Hình 1.8 Chu kì sống của Midlet

1.2.4 Giao diện đồ họa trong J2ME

Các lớp MIDlet cung cấp 2 mức đồ họa : đồ họa mức thấp và đò họa mứccao Đồ họa mức cao dùng cho văn bản hay form Đồ họa mức thấp dùng cho cácứng dụng trò chơi yêu cầu phải vẽ lên màn hình

Hình 1.9 : Đồ họa mức cao và đồ họa mức cấp

Trang 19

Cả hai lớp đồ họa mức thấp và mức cao đều là lớp con của lớpDisplayable Trong MIDP, chỉ có thể có một lớp displayable trên màn hình tạimột thời điểm Có thể định nghĩa nhiều màn hình nhưng một lần chỉ một mànhình được hiển thị.

 Đồ họa mức cao (Hight Level Graphics): là lớp con của lớp Screen Nócung cấp các thành phần như text box, form, list, và alert Ta ít điều khiển sắp xếpcác thành phần trên màn hình Việc sắp xếp thật sự phụ thuộc vào nhà sản xuất

 Đồ họa mức thấp là lớp con của lớp Canvas Lớp này cung cấp cácphương thức đồ họa cho phép vẽ len màn hình hay vào một bộ đệm hình cùng vớicác phương thức xử lí sự kiện bàn phím Lớp này dùng cho các ứng dụng trò chơicần điều khiển về màn hình

Trang 20

+ Implicit: chỉ hiển thị danh sách các khả năng lựa chọn dạng menu.

Bắt sự kiện cho các đối tượng List:Để bắt sự kiện cho đối tượngList,phải gán đối tượng ở trạng thái lắng nghe, nghĩa là sử dụng phương thứcsetCommandListener() cho đối tượng List này Sau đó bắt sự kiện và xử lý sựkiện trong phương thức commandAction().Exclusive và multiple List không tựđộng gửi sự kiện Implicit List gửi sự kiện mỗi khi người dùng lựa chọn mộtphần tử trong List

Alert

AlertType là lớp định nghĩa sẵn các loại Alert cho thiết bị, hỗ trợ âm

Trang 21

thanh tương ứng khi Alert hiển thị Gồm năm loại:Báo giờ (alarm),Nhắc lại(confirmation),Báo lỗi (error),Thông báo (info),Cảnh báo (warning)

Âm thanh của Alert có thể được chơi bằng một trong hai cách:

+ Nếu đối tượng Alert được gán loại Alert trước thì âm thanh tươngứng của loại Alert này sẽ được phát khi đối tượng hiển thị lên màn hình

+ Phát âm thanh Alert trực tiếp mà không cần tạo một đối tượngAlert nghĩa là chỉ phát âm thanh thông báo mà không hiển thị lên màn hình,bằng cách dùng phương thức: AlertType.<Type>.playSound (Display); cáchnày có thể dùng khi chỉ cần báo cho ngưòi dùng biết về sự kiện mà không cầnhiển thị thông tin trực tiếp lên màn hình

Form và các Form Item

Form là lớp trừu tượng hữu dụng nhất của lớp Screen bởi vì nó cho phépchứa nhiều item trên cùng 1 màn hình Các Item này có thể là DateField,TextField, Mỗi item là 1 lớp con của lớp Item

StringItem: là một chuỗi hiển thị mà người dung không thể hiệu chỉnh,

tuy nhiên cả nhãn và nội dung của item này có thể điều chỉnh bởi ứng dụng

ImageItem: item này chứa tham chiếu đến một đối tươngj Image phải

được tạo trước đó

Chứa dữ liệu ảnh đồ hoạ, gồm hai dạng :

+ Cố định (Immutable): thường đựơc nạp từ resource của ứng dụng, từfile hay chuyển từ dạng Image có thể thay đổi (Mutable) sang Dạng hình ảnhnày chủ yếu được dùng làm biểu tượng cho các thành phần đồ hoạ khác nhưChoiceGroup, Form, List, Alert Một khi đã tạo đối tượng kiểu ImmutableImage thì không thể thay đổi hình ảnh đựơc nữa

+ Có thể thay đổi (Mutable): có thể thay đổi một cách dẽ dàng Khi tạođối tượng kiểu Mutable Image, một vùng nhớ trống sẽ được cấp phát dựa trênkích thước khi khai báo Khi muốn hiển thị Image dạng này lên màn hình phải gọiphương thức paint() của lớp Canvas sẽ được đề cập trong phần đồ hoạ cấp thấp

Trang 22

TextField: item này cho phép người dùng nhập vào văn bản Nó có thể

có giá trị khởi tạo, kích thước tối đa và ràng buộc kiểu nhập liệu Kích thước thật

sự có thể nhỏ hơn yêu cầu do giới hạn của thiết bị di động

Lớp TextField được sử dụng khi ứng dụng cần người dùng nhập liệu.Không chỉ nhập dữ liệu text mà còn có thể nhập số, password, địa chỉ Để hỗ trợcho người lập trình, MIDP đã định nghĩa sẵn một số các ràng buộc (constraints)

để đối tượng tự động kiểm tra tính hợp lệ của dữ liệu nhập vào Các ràng buộcnày là các hằng lớp của lớp TextField gồm:

+ EMAILADDR: người dùng chỉ được phép nhập dữ liệu đúng chuẩn củamột địa chỉ email

+ NUMERIC: chỉ được phép nhập số (có thể là âm hay dương), nếu muốngiới hạn các giá trị được phép nhập thì ứng dụng phải tự xử lý

+ PASSWORD: dữ liệu nhập vào sẽ đựơc hiển thị lên màn hình với dạngcác dấu *

+ PHONENUMBER: dữ liệu nhập phải đúng chuẩn của số điện thoại

Hình 1.12 Bảng TextField

Trang 23

DateField: item này cho phép người dùng nhập thông tin ngày tháng và

thời gian Có thể xác định giá trị khởi tạo và chế độ nhập ngày tháng (DATE),thời gian (TIME), hoặc cả hai

Hình 1.13 Phương thức DateField

ChoiceGroup: cung cấp 1 nhóm các Radio button hay checkbox cho

phép lựa chọn đơn hay lựa chọn nhiều

Lớp ChoiceGroup được sử dụng để biểu diễn một danh sách các khảnăng cho người dùng lựa chọn ChoiceGroup kế thừa từ interface Choice, gồmhai dạng:

+ Cho phép chọn nhiều khả năng (Multiple ): Thể hiện danh sáchcác khả năng lên màn hình dạng checkbox và cho phép người đánh dấu check lêncác lựa chọn

+ Chỉ được phép chọn một khả năng (Exclusive ): Thể hiện danhsách các khả năng lên màn hình cùng các radio button và chỉ cho phép ngườidùng chọn duy nhất một khả năng.Bắt sự kiện cho đối tượng ChoiceGroup

Gauge: cung cấp một hiển thị âm thanh của một giá trị số học Gauge

có thể có tính tương tác hoăc không Nếu một gauge là tương tác thì người dùng

có thể thay đổi giá trị của tham số gauge và ngược lại

Gauge dùng để biểu diễn tiến độ hoàn thành một việc nào đó (download,upload ) hoặc cấp độ từ thấp đến cao (của âm lượng, độ khó ) Gauge đặctrưng bởi hai giá trị: giá trị hiện hành và giá trị cực đại cho phép Giá trị hiệnhành này luôn được duy trì giữa 0 và giá trị cực đại Gauge gồm hai dạng:

Trang 24

+ Chế độ tương tác (Interactive mode): Trong chế độ này, đối tượngGauge sẽ được vẽ dạng các thanh song song có chiều cao tăng dần biểu thị cáccấp độ từ thấp đến cao Người sử dụng có thể điều chỉnh giá trị hiện thời củaGauge bằng các phím bấm

+ Chế độ không tương tác (Non-interactive mode): Đối tượng đượcbiểu diễn dạng các thanh song song có chiều cao bằng nhau, người dùngkhông được phép thay đổi giá trị của nó Người lập trình sẽ lập trình cho đốitượng này tự động cập nhật giá trị theo thời gian Các phương thức và chức năngtương ứng của lớp Gauge:

Hình 1.14 Phương thức trong Gauge

Ticker: một màn hình có thể có một Ticker là một chuỗi văn bản chạy

liên tục trên màn hình Hướng và gốc tọa độ là do thực tế quy định Nhiều mànhình có thể chia sẻ cùng 1 ticker

Ticker là lớp hỗ trợ hiển thị chuỗi ký tự cuộn liên tục trên màn hình.Đối tượng Ticker có thể được gắn vào bất kỳ đối tượng Screen nào, kể cả Alert

Vị trí chuỗi ký tự ở trên hay dưới màn hình, cũng như tốc độ cuộn phụ thuộc vàođặc tả MIDP Các phương thức và chức năng tương ứng của lớp Ticker:

Trang 25

Hình 1.15 Lớp Ticker

1.3 Giới thiệu về UML

Giới thiệu về ngôn ngữ UMLNgôn ngữ UML bao gồm một loạt các phần tử

đồ họa (graphic element) có thể được kết hợp với nhau để tạo ra các biểu đồ Bởiđây là một ngôn ngữ, nên UML cũng có các nguyên tắc để kết hợp với các phần

tử đó

Một trong những thành phần chủ yếu của ngôn ngữ UML là hướng nhìn chỉ ranhững khía cạnh khác nhau của hệ thống cần phải được mô hình hóa Một hướngnhìn không phải là một bản vẽ, mà là một sự trừu tượng hóa bao gồm một loạt cácbiểu đồ khác nhau Chỉ qua việc định nghĩa của một loạt các hướng nhìn khácnhau, mỗi hướng nhìn chỉ ra một khía cạnh riêng biệt của hệ thống, người ta mới

có thể tạo dựng nên một bức tranh hoàn thiện về hệ thống Biểu đồ diagram làbiểu đồ thể hiện các hình vẽ miêu tả nội dung trong một hướng nhìn UML có tất

cả 9 loại biểu đồ khác nhau được sử dụng trong những sự kết nối kết hợp khácnhau để cung cấp tất cả các hướng nhìn của một hệ thống

1.3.1 Thành phần trong UML

a) Lớp và các đối tương trong UML

UML thể hiện lớp bằng hình chữ nhật có 3 phần Phần thứ nhất chứa tênlớp Trong phần thứ hai là thuộc tính và các dữ liệu thành phần của lớp và trongphần thứ ba là các phương thức hay hàm thành phần của lớp

b) Tên lớp ( lass name)

Trang 26

d) Phương thức (Methods)

Phương thức định nghĩa các hoạt động mà lớp có thể thực hiện Tất cả cácđối tượng được tạo từ một lớp sẽ có chung thuộc tính và phương thức Phươngthức được xử lý thay đổi các thuộc tính cũng như thực hiện các công việc khác.Phương thức thường được gọi là các hàm (function), nhưng chúng nằm trong mộtlớp và chỉ có thể được áp dụng cho các đối tượng của lớp này Một phương thứcđược mô tả qua tên, giá trị trả về và danh sách của 0 cho tới khi nhiều tham số.Lúc thi hành phương thức được gọi kèm theo đối tượng của lớp

e) Kí hiệu đối tượng

Đối tượng là thực thể của các lớp nên kí hiệu dùng cho đối tượng cũng là kýhiệu dùng cho lớp Các thuộc tính được gán giá trị, đây là các giá trị khi lớp đượcthực thể hóa

Trang 27

dụng Yếu tố mang tính riêng biệt hơn có thể chỉ các chứa thông tin bổ sung Mộtthực thể ( một đối tượng là một thực thể của một lớp) của yếu tố mang tínhchuyên biệt hơn có thể được sử dụng ở bất kỳ nơi nào mà đối tượng mang tínhkhái quát hơn được phép.

Phụ thuộc ( Dependency): Là mối quan hệ giữa các yếu tố, gồm một yếu tốmang tính chuyên biệt hơn có thể sử dụng ở bất cứ nơi nào mà đối tượng mangtính khái quát hóa hơn

Nâng cấp ( Refinement): Là mối quan hệ giữa hai lời miêu tả của cùng một

sự vật, nhưng ở những mức độ trừu tượng hóa khác nhau

1.3.2 Biểu đồ ( Diagram)

Biểu đồ là các hình vẽ bao gồm các ký hiệu phần tử mô hình hóa được sắpxếp để minh họa một thành phần cụ thể hay một khía cạnh cụ thể của hệ thống.Một mô hình hệ thống thường có nhiều loại biểu đồ, mỗi loại có nhiều biểu đồkhác nhau Một biểu đồ là một thành phần của một hướng nhìn cụ thể và khi được

vẽ ra, nó thường được sắp xếp vào một hướng nhìn Mặt khác một số loại biểu đồ

có thể là thành phần của nhiều hướng nhìn khác nhau, tùy thuộc vào nội dung củabiểu đồ

a) Biểu đồ Use case ( Use case Diagram)

Biểu đồ này chỉ ra tương tác giữa các UC và tác nhân UC biểu diễn cácchức năng hệ thống Tác nhân là con người hay hệ thống khác cung cấp hay thu

Trang 28

sát trạng thái tĩnh của các UC trong hệ thống Vì UC biểu diễn yêu cầu hệ thống

từ góc độ người dùng, cho nên UC là chức năng mà hệ thống phải có Biểu đồloại này chỉ ra tác nhân nào khởi động UC và khi nào tác nhân nhạn thông tin từ

hệ thống

b) Biểu đồ trình tự ( sequence diagram )

Biểu đồ trình tự chỉ ra luồng chức năng xuyên qua các UC, nó là biểu đồ

mô tả tương tác giữa các đối tượng và tập trung vào mô tả trật tự các thôngđiệp theo thời gian

c) Biểu đồ cộng tác ( collaboration diagram)

Biểu đồ cộng tác chỉ ra các thông tin như biểu đồ trình tự nhưng theo cáchkhác, nó tập trung vào tổ chức cấu trúc của các đối tượng gửi và nhận thôngđiệp Biểu đồ cộng tác và biểu đồ trình tự thuộc loại biểu đồ tương tác và chúng

có thể biến đổi qua lại Trong biểu đồ cộng tác, đối tượng đặt trong hình chữnhật, tác nhân là người hình cây Trong khi biểu đồ trình tự biểu diễn tương tácđối tượng và tác nhân theo thời gian thì biểu đồ cộng tác lại không quan tâm đếnthời gian Các đối tượng giao tiếp trực tiếp với nhau thể hiện bằng đường nối

d) Biểu đồ lớp ( class diagram)

Biểu đồ lớp chỉ ra tương tác giữa các lớp trong hệ thống Các lớp được xemnhư kế hoạch chi tiết của các đối tượng

e) Biểu đồ trạng thái ( state diagram)

Biểu đồ trạng thái mô tả vòng đời của đối tượng từ khi nó được sinh ra chotới khi nó được phá hủy Biểu đồ trạng thái cung cấp cách thức mô hình hóa cáctrạng thái khác nhau của đối tượng Trong khi biểu đồ lớp cung cấp bức tranh tĩnh

về các lớp và quan hệ của chúng thì biểu đồ chuyển trạng thái được sử dụng để

mô hình hóa các hành vi động của hệ thống Biểu đồ chuyển trạng thái chỉ rahành vi của đối tượng

f) Biểu đồ thành phần (component diagram)

Biểu đồ thành phần đưa ra cái nhìn vật lý của mô hình Biểu đồ thành phầncho thấy các thành phần phần mềm trong hệ thống và quan trọng hệ giữa chúng

Trang 29

Bất kì ai có trách nhiệm dịch chương trình đều quan tâm đến loại biểu đồ này, nócho thấy trình tự các modul trong hệ thống Đồng thời nó cũng cho biết rõ thànhphần nào được ánh xạ của lớp vào các thành phần cài đặt.

g) Biểu đồ triển khai ( deployment diagram)

Biểu đồ triển khai chỉ ra sự bố trí vật lý của mạng và các thành phần hệthống sẽ đặt ở đâu, thông qua đó người quản lý dự án, người sử dụng, kiến trúc

sư và đội ngũ triển khai kiểu phân bổ vật lý của hệ thống và các hệ thống con sẽđược đặt ở đâu

1.4 Giới thiệu về Servlet

1.4.1 Sơ lược về Servlet

Servlet là thành phần chính được sử dụng để phát triển các chương trìnhdịch vụ Java ở phía máy chủ Các Servlet là các chương trình Java thực hiện ở cácứng dụng Server (tên gọi “Servlet” cũng gần giống như “Applet” ở phía máyClient) để trả lời cho các yêu cầu của Client Các Servlet không bị ràng buộc chặtvới một giao thức Client-Server cụ thể nào cả, nhưng giao thức thường được sửdụng là HTTP, do vậy, khi nói tới Servlet nghĩa là nói tới HTTP Servlet Servlet

là sự phát triển mở rộng của CGI để đảm bảo Server thực hiện được các chứcnăng của mình.Sử dụng Servlet của Java để tuỳ chỉnh lại một dịch vụ bất kỳ, nhưWeb Server, Mail Server

Web Server hiển thị các tư liệu được viết trong HTML và hồi đáp cho yêucầu của người sử dụng qua HTTP Các tư liệu HTML chứa các văn bản đượcđánh dấu (định dạng) để các trình duyệt như IE, Netscape đọc được Một trìnhduyệt chấp nhận đầu vào ở dạng HTML, khi người sử dụng nhấn một nút để yêucầu một số thông tin nào đó, một Servlet đơn giản được gọi để xử lý các yêu cầu

đó Các công việc chính của Servlet được mô tả khái quát trong hình 1, bao gồm:

+ Đọc các dữ liệu tường minh được Client gửi đến từ các yêu cầu (dữ liệutheo các khuôn dạng – form data)

Trang 30

+ Đọc các dữ liệu không tường minh được Client gửi đến từ các yêu cầu(dữ liệu trong phần đầu của yêu cầu – request headers).Xử lý và lưu trữ các dữliệu được cung cấp dưới dạng HTML

+ Gửi trả lời dữ liệu tường minh cho Client (dạng HTML), cung cấp cácnội dung động, ví dụ trả lời yêu cầu Client về các câu truy vấn vào các CSDL.Quản lý các thông tin trạng thái và trả lời dữ liệu không tường minh cho Client(các mã trạng thái và các phần đầu của trả lời)

Hình 1.16 Vai trò của Servlet

Servlet được sử dụng để thay thế cho những công nghệ Web động Việc sửdụng Servlet mang lại những lợi thế:

+ Dễ di chuyển : Servlet được viết bằng Java nên có tính di động cao, thựchiện được trên nhiều hệ điều hành, trên các Web Server khác nhau Khái niệm

“Viết một lần, chạy ở mọi nơi” cũng rất đúng với Servlet

+ Mạnh mẽ: Servlet hỗ trợ rất hiệu quả cho việc sử dụng các giao diện lõiAPI như lập trình mạng, xử lý đa luồng, xử lý ảnh, nén dữ liệu, kết nối cácCSDL, bảo mật, xử lý phân tán và triệu gọi từ xa RMI, CORBA, Và thích hợp

để trao đổi tin, truyền thông giữa Client và Server một cách bình thường

+ Hiệu quả: Servlet có tính hiệu quả cao Một khi được tải về sẽ được lưulại trong bộ nhớ của máy chủ Servlet duy trì các trạng thái do vậy những tàinguyên ngoại như việc kết nối với CSDL cũng sẽ được lưu giữ lại

+ An toàn: Bởi vì Servlet được viết bằng Java nên kế thừa được tính antoàn của Java Cơ chế tự động dọn rác và việc không sử dụng con trỏ của Java

Trang 31

giúp cho Servlet thoát khỏi nhiều công việc quản lý bộ nhớ Đồng thời xử lý cáclỗi rất an toàn theo cơ chế xử lý ngoại lệ của Java.

+ Tính tích hợp: Các Servlet được tích hợp với các Server và cộng tác vớicác Server tốt hơn các chương trình CGI

+ Tính linh hoạt : Các Servlet hoàn toàn mềm dẻo Một HTTP Servletđược sử dụng để tạo ra một trang Web, sau đó có thể sử dụng thẻ <Servlet> đểđưa vào trang Web tĩnh, hoặc sử dụng với các Servlet khác để lọc ra các nội dungcần thiết

1.4.2 Cơ chế hoạt động của Servlet

a, Môi trường thực thi Servlet

Các Servlet thường là sự mở rộng (kế thừa) các lớp chuẩn Java trong góijavax.servlet (chứa các khuôn mẫu cơ bản của Servlet) và javax.servlet.http (mởrộng các khuôn mẫu cơ bản của Servlet và các yêu cầu theo HTTP)

Servlet là một lớp Java và vì thế cần được thực thi trên một máy ảo Java(JVM) và bằng một dịch vụ được gọi là mô tơ Servlet (Servlet Engine) ServletEngine tải lớp Servlet lần đầu tiên nó được yêu cầu, hoặc ngay khi Servlet Engineđược bắt đầu Servlet ngừng tải để xử lý nhiều yêu cầu khi Servlet Engine bị tắthoặc nó bị dừng lại

Như vậy, để dịch và thực hiện các Servlet, việc có các Servlet là chưa đủ,

mà cần phải có một mô tơ Servlet để kiểm tra và triển khai chúng Hiện nay một

số mô tơ tương thích với nhiều loại Web Server khác nhau, nhưng nguyên lý hànhđộng tương đối giống nhau Người ta chia chúng thành ba loại

b, Cơ chế hoạt động của Servlet

Servlet là đoạn chương trình java thực thi trên Web Server hỗ trợ người lập trình Java xây dựng trang web động Servlets nhận request – yêu cầu từ client, sao đó thực hiện các yêu cầu xử lý để gửi response – phản hồi đến người dùng sử dụng HTTP

Servlet được load sẵn ở Web Server duy nhất lần đầu tiên khi ứng dụng được

Trang 32

Servlet được server hỗ trợ cơ chế multithread giúp giảm tài nguyên và quá tải trong việc xử lý của server hay container

Hình 1.17 Mô hình hoạt động của Servlet

Bước 1: Khi có request từ client gửi đến Server hay Web Container

Bước 2 : Container sẽ lựa chọn một instance Servlet tương ứng để đáp ứng request đó (người dùng sẽ không bao giờ biết instance nào được lựa chọn, nó lựa chọn khi nào, servlet xử lý khi nào)

Bước 3: Servlet lựa chọn sẽ thực hiện xử lý và kết nối DB nếu cần

Bước 4 : Servlet sẽ truy xuất trong CSDL để tìm kiếm thông tin

Bước 5 : Sau khi servlet thực hiện xong, sẽ gửi kết quả ra container để gửi response về cho người dùng

Bước 6 : Browser đón nhận kết quả và trình bày ra màn hình dữ liệu

1.4.3 Kiến trúc của Servlet

Gói javax.servlet cung cấp các giao diện và các lớp để xây dựng cácServlet Kiến trúc của Servlet được mô tả như sau

Trang 33

Hình 1.18 Kiến trúc của Servlet

a, Giao diện Servlet

Giao diện Servlet là một khái niệm trừu tượng trung tâm trong ServletAPI Tất cả các Servlet đều cài đặt trực tiếp hoặc gián tiếp giao diện này hoặc mởrộng (kế thừa) những lớp đã cài đặt Giao diện được khai báo qua phương thứcđịnh nghĩa vòng đời của Servlet: Public void init (ServletConfig config) throwsServletException

Phương thức này được gọi một lần khi Servlet được tải vào trong ServletEngine, trước khi Servlet được yêu cầu để xử lý một yêu cầu nào đó Phươngthức init() có một thuộc tính là đối tượng của ServletConfig, và Servlet có thể đọccác đối số khởi tạo thông qua đối tượng ServletConfig Và thường được địnhnghĩa trong một tệp cấu hình Một ví dụ thông thường của một đối số khởi tạo làđịnh danh database cho một CSDL

Phương thức này được gọi để xử lý các yêu cầu.có thể không được gọi, gọimột lần hay nhiều lần cho đến khi Servlet được ngưng tải Nhiều Thread (mỗiThread cho một yêu cầu) có thể thực thi phương thức này song song, vì thế mà trởnên an toàn và hiệu quả hơn

+ public void destroy(): Phương thức này chỉ được gọi một lần trước khiServlet được ngưng tải và sau khi đã kết thúc các dịch vụ

b, Lớp cơ cở HttpServlet

Giao thức HTTP, dữ liệu được trao đổi giữa máy chủ Server và các máyClient theo một trong hai phương thức GET hay POST Java định nghĩa một lớp

Trang 34

có tên là HttpServlet ở trong goi javax.servlet để truyền và nhận dữ liệu theo cảhai phương thức trên.

Lớp trừu tượng HttpServlet cung cấp một khung làm việc để xử lý các yêucầu GET, POST của giao thức HTTP HTTPServlet kế thừa giao diện Servletcộng với một số các phương thức hữu dụng khác

Một tập các phương thức trong HTTPServlet là những phương thức xácđịnh dịch vụ trong giao diện Servlet Việc bổ sung dịch vụ trong HTTPServletgiống như một kiểu của các yêu cầu được xử lý (GET, POST, HEAD, …) và gọimột phương thức cụ thể cho mỗi kiểu Bằng việc làm này, các nhà phát triểnServlet sẽ an tâm khi xử lý chi tiết những yêu cầu như HEAD, TRACE,OPTIONS, … và có thể tập trung vào những yêu cầu thông dụng hơn như GET

và POST.HTTP sinh ra các trang HTML và có thể nhúng các Servlet vào mộttrang HTML

Khi có một yêu cầu được gửi tới, đầu tiên phải chỉ ra lệnh cho HTTP bằngcách gọi một phương thức tương ứng Phương thức này chỉ cho Server biết kiểuhành động muốn thực hiện

Khi có một Client gửi tới một yêu cầu, Server sẽ xử lý yêu cầu nhận được

và gửi trả lại kết quả cho Client Hai phương thức doGet() và doPost() được sửdụng chung để nhận và gửi tin trong các Servlet

Một Servlet bất kỳ, ví dụ MyServlet phải kế thừa HttpServlet và viết đè ítnhất một trong các phương thức doGet() để thực thi thao tác GET của HTTP, haydoPost() để thực thi thao tác POST của HTTP

Với CGI, các biến môi trường được sử dụng để nhận thông tin về yêucầu, tuy nhiên việc đặt tên các biến môi trường có thể khác nhau giữa cácchương trình CGI, và một vài biến có thể không được cung cấp bởi tất cả cácWeb Server

Đối tượng HttpServletRequest cũng cung cấp thông tin giống như biếnmôi trường của CGI nhưng theo một hướng chuẩn Cung cấp những phương thức

để mở ra các tham số HTTP từ dãy các câu truy vấn hoặc từ nội dung của yêu cầu

Ngày đăng: 20/04/2017, 22:24

HÌNH ẢNH LIÊN QUAN

Hình sau thể hiện bộ khung yêu cầu tối thiểu cho một ứng dụng MIDlet. - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Hình sau thể hiện bộ khung yêu cầu tối thiểu cho một ứng dụng MIDlet (Trang 10)
Hình 1.4. Lớp Display - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Hình 1.4. Lớp Display (Trang 11)
Hình 1.14 . Phương thức trong Gauge - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Hình 1.14 Phương thức trong Gauge (Trang 19)
Hình 2.2. Mẫu phiếu điểm - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Hình 2.2. Mẫu phiếu điểm (Trang 32)
Hình 2.14. Cập nhật thông báo - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Hình 2.14. Cập nhật thông báo (Trang 43)
Hình 2. 19. Biểu đồ cộng tác xem thông tin sinh viên - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Hình 2. 19. Biểu đồ cộng tác xem thông tin sinh viên (Trang 45)
Hình 2.20. Biểu đồ cộng tác cập nhật sinh viên - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Hình 2.20. Biểu đồ cộng tác cập nhật sinh viên (Trang 46)
Hình 2.22. Biểu đồ cộng tác cập nhật lịch học - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Hình 2.22. Biểu đồ cộng tác cập nhật lịch học (Trang 47)
Bảng 3.2. Bảng sinh viên - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Bảng 3.2. Bảng sinh viên (Trang 48)
Bảng 3.5. Bảng Lịch học - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Bảng 3.5. Bảng Lịch học (Trang 49)
Hình 2.11.Mô hình bảng CSDl - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Hình 2.11. Mô hình bảng CSDl (Trang 50)
Hình 3.1. Giao diện quản trị cho sinh viên - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Hình 3.1. Giao diện quản trị cho sinh viên (Trang 51)
Hình 3.2. Giao diện quản lý môn học - Xây dựng ứng dụng tra cứu thông tin đào tào cho sinh viên
Hình 3.2. Giao diện quản lý môn học (Trang 52)

TỪ KHÓA LIÊN QUAN

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