Tải bản đầy đủ (.docx) (65 trang)

Xây dựng hệ thống tra cứu điểm thi và trả lời tự động qua tin nhắn SMS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.26 MB, 65 trang )

LỜI CẢM ƠN
Trải qua thời gian 5 năm học tập và rèn luyện tại Trường Đại học Công
nghệ thông tin và truyền thông - Đại học Thái Nguyên, đến nay em đã kết thúc
khoá học và hoàn thành đồ án tốt nghiệp. Để có được kết quả này em xin chân
thành cảm ơn:
Ban giám hiệu Trường Đại học Công nghệ thông tin và truyền thông
cùng các thầy cô giáo trong khoa Công nghệ thông tin đã giảng dạy, quan tâm
và tạo điều kiện thuận lợi để chúng em học tập và rèn luyện trong suốt thời
gian theo học tại trường.
Đặc biệt em xin gửi lời cảm ơn sâu sắc đến giáo viên hướng dẫn của em
là Thầy giáo Ths. Trịnh Văn Hà đã tận tình giúp đỡ em hoàn thành đồ án này.
Em cũng xin gửi lời cảm ơn tới gia đình, bạn bè giúp đỡ em rất nhiều
trong thời gian học tập và làm đồ án tốt nghiệp.
Đồ án đã hoàn thành với những kết quả nhất định, tuy nhiên không
tránh khỏi những thiếu sót. Kính mong sự cảm thông và đóng góp từ các thầy
cô. Sự phê bình, góp ý của quý thầy cô và các bạn sẽ là những bài học kinh
nghiệm rất quý để đồ án được hoàn thiện hơn, có khả năng ứng dụng trong
thực tế.
Em xin chân thành cảm ơn!
Thái Nguyên, tháng 6 năm 2012
Sinh viên thực hiện
Bùi Thu Trang

1


LỜI CAM ĐOAN
Đồ án tốt nghiệp là sản phẩm tổng hợp toàn bộ các kiến thức mà sinh
viên đã học được trong suốt thời gian học tập tại trường đại học. Ý thức được
điều đó, với tinh thần nghiêm túc, tự giác cùng sự lao động miệt mài của bản
thân và sự hướng dẫn tận tình của Thầy giáo Ths. Trịnh Văn Hà em đã hoàn


thành xong đồ án tốt nghiệp của mình.
Em xin cam đoan nội dung đồ án của em không sao chép nội dung cơ bản
từ các đồ án khác và sản phẩm của đồ án là của chính bản thân em nghiên cứu
xây dựng lên. Mọi thông tin sai lệch em xin hoàn toàn chịu trách nhiệm trước
hội đồng bảo vệ.

2


MỤC LỤC

3


LỜI MỞ ĐẦU
Thông tin di động ngày nay đã trở thành một dịch vụ kinh doanh không
thể thiếu được của tất cả các nhà khai thác viễn thông trên thế giới. Đối với
các khách hàng viễn thông, nhất là đối với các nhà doanh nghiệp thông tin di
động trở thành một phương tiện liên lạc quen thuộc. Các dịch vụ thông tin di
động không còn chỉ hạn chế cho khách hàng giàu có mà đang phát triển để trở
thành dịch vụ cho mọi đối tượng khách hàng viễn thông.
Thông tin di động mang lại cho con người khả năng trao đổi thông tin
ngay cả khi đang di chuyển với chất lượng không thua kém điện thoại cố định,
ngoài ra có nhiều dịch vụ tiện ích khác như: thông tin số liệu tốc độ cao hơn,
hình ảnh tốc độ thấp, hình ảnh tốc độ đủ để phục vụ cho truyền hình,...
SMS là một trong những tính năng được khai thác nhiều nhất của thiết bị
di động (DĐ) cầm tay. SMS đang được ứng dụng ngày càng sâu rộng, mang lại
hiệu quả kinh tế và là phương tiện giải trí cho số đông người dùng, đặc biệt là
giới trẻ. Hiện cách thức mở rộng của SMS khá rộng như: gửi SMS giữa các
thiết bị DĐ với nhau; gửi từ website đến thiết bị DĐ và ngược lại; gửi/nhận từ

điện thoại cố định có hỗ trợ tính năng nhắn tin với các thiết bị DĐ khác. SMS có
thể tham gia các quá trình điều khiển, tự động hóa, kinh doanh, thanh toán.
Hiện tại, ngay cả các cửa hàng kinh doanh viễn thông, các công ty tin học và
nhiều cơ quan truyền thông cũng đã tham gia vào thị trường này. SMS đang
trở thành một loại hạ tầng thông tin không thể thiếu trong cuộc sống thường
ngày từ vui chơi giải trí, thương mại, xã hội. Ứng dụng tra cứu thông tin, giải
trí là loại ứng dụng phổ thông nhất của SMS và đang được sử dụng nhiều nhất
hiện nay. Người sử dụng chỉ việc nhắn tin theo cú pháp định sẵn đến một số
tổng đài nhất định, tổng đài sẽ tra cứu thông tin và phản hồi về (tra cứu thông
tin) hoặc sẽ xác nhận người sử dụng tham gia vào một chương trình giải trí
nào đó (đố vui, trúng thưởng.). Có thể kể đến các ứng dụng cụ thể như tra cứu
điểm thi; tra cứu danh bạ điện thoại; địa chỉ nhà hàng, khách sạn; địa chỉ đặt

4


ATM; giá cổ phiếu; kết quả xổsố, bóng đá . Một số khả năng của SMS đã được
khai thác trên thế giới và chắc chắn cũng sẽ có mặt ở Việt Nam. Từ những yêu
cầu thực tế, những đòi hỏi ngày càng cao của cuộc sống, cộng với sự hợp tác,
phát triển mạnh mẽ của mạng di động nên em đã chọn đề tài "Xây dựng hệ
thống tra cứu điểm trả lời tin nhắn tự động SMS" để đáp ứng được nhu
cầu ngày càng cao của con người và góp phần vào sự tiến bộ, văn minh, hiện
đại của nước nhà.
Đồ án gồm 3 chương:
Chương I: CƠ SỞ LÝ THUYẾT
Chương II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Chương III: XÂY DỰNG HỆ THỐNG
Do kiến thức và thời gian có hạn nên đây chưa phải là chương trình hoàn
chỉnh. Em hy vọng ý tưởng xây dựng hệ thống này có thể được hoàn thiện hơn
trong tương lai để được áp dụng vào thực tế đem lại những hiệu quả thiết

thực. Rất mong sự đóng góp ý kiến của quý thầy cô để em có thêm kinh
nghiệm, ý tưởng hay thực hiện được điều này.
Em xin chân thành cảm ơn!

5


DANH MỤC CÁC HÌNH VẼ

6


DANH MỤC CÁC BẢNG

CHƯƠNG I

7


CƠ SỞ LÝ THUYẾT
1.1.
1.1.1.

Tổng quan về hệ thống thông tin di động GSM
Giới thiệu
Lịch sử hình thành GSM bắt đầu từ một đề xuất vào năm 1982 của

Nordic Telecom và Netherlands tại CEPT (Conference of European Post
and Telecommunication) để phát triển một chuẩn tế bào số mới đáp ứng với nhu
cầu ngày càng tăng của mạng di động Châu Âu.

Ủy ban Châu Âu (EC) đưa ra lời hướng dẫn yêu cầu các quốc gia thành
viên sử dụng GSM cho phép liên lạc di động trong băng tần 900MHz. Viện tiêu
chuẩn viễn thông Châu Âu (ETSI) định nghĩa GSM khi quốc tế chấp nhận tiêu
chuẩn hệ thống điện thoại tế bào số.
Lời đề xuất có kết quả vào tháng 9 năm 1987, khi 13 nhà điều hành và
quản lý của nhóm cố vấn CEPT GSM thỏa thuận ký hiệp định GSM MoU
“Club”, với ngày khởi đầu là 1 tháng 7 năm 1991.
GSM là từ viết tắt của Global System for Mobile Communications (hệ
thống thông tin di động toàn cầu), trước đây có tên là Groupe Spécial Mobile.
Hệ thống thông tin di động toàn cầu GSM là hệ thống thông tin tế bào số
tích hợp và toàn diện, được phát triển đầu tiên ở Châu Âu và đã nhanh chóng phát
triển trên toàn thế giới. Mạng được thiết kế phù hợp với hệ thống ISDN và các dịch
vụ mà GSM cung cấp là một hệ thống con của dịch vụ ISDN chuẩn.
Cho đến nay công nghệ này có gần 2 tỷ thuê bao sử dụng trên phạm vi
212 quốc gia và vùng lãnh thổ. Do nó hầu như có mặt khắp mọi nơi trên thế
giới nên khi các nhà cung cấp dịch vụ thực hiện việc ký kết hòa mạng với nhau
nhờ đó mà thuê bao GSM có thể dễ dàng sử dụng máy điện thoại GSM của
mình bất cứ nơi đâu.

8


Hình 1.1. Mạng tế bào vô tuyến
GSM đầu tiên được thiết kế hoạt động ở dải tần 890-915 MHz và 935960 MHz, hiện nay là 1.8 GHz. Một vài tiêu chuẩn chính được đề nghị cho hệ
thống:
-

Chất lượng âm thoại chính thực sự tốt
Giá dịch vụ và thuê bao giảm
Hỗ trợ liên lạc di động quốc tế

Khả năng hỗ trợ thiết bị đầu cuối trao tay
Hỗ trợ các phương tiện thuận lợi và dịch vụ mới.
Năng suất quang phổ.
Khả năng tương thích ISDN.
Tiêu chuẩn được ban hành vào tháng giêng năm 1990 và những hệ

thống thương mại đầu tiên được khởi đầu vào giữa năm 1992. Tổ chức MoU
(Memorandum of Understanding) thành lập bởi nhà điều hành và quản lý GSM
được cấp phép đầu tiên, lúc đó có 13 hiệp định được ký kết và đến nay đã có
191 thành viên ở khắp thế giới.Tổ chức MoU có quyền lực tối đa, được quyền
định chuẩn GSM.
1.1.2.

Cấu trúc mạng GSM
Mạng GSM gồm có 3 thành phần, đó là trạm di động (Mobile Station)

được người thuê bao mang theo. Hệ thống trạm gốc ( Base Station Subsystem)
điều khiển kết nối vô tuyến với trạm di động. Hệ thống mạng (Network
Subsystem), với bộ phận chính là Trung tâm chuyển mạch dịch vụ di động
(MSC), thực hiện việc chuyển mạch cuộc gọi giữa các thuê bao di động và giữa
các thuê bao di động với thuê bao của mạng cố định. MSC cũng thực hiện các
chức năng quản lý di động. Ở đây không vẽ trung tâm vận hành bảo dưỡng
(OMC) với chức năng đảm bảo vận hành và thiết lập mạng. Trạm di động và hệ

9


thống trạm gốc giao tiếp thông qua giao diện Um, còn được gọi là giao diện
không gian hoặc kết nối vô tuyến. Hệ thống trạm gốc giao tiếp với MSC qua giao
diện A.


Mobile

Base Station Subsystem

Network Subsystem

Station
Hình 1.2. Cấu trúc tổng quan của một mạng GSM

a)

SIM Subscriber Identity Module (Thẻ thông minh xác thực thuê bao)
ME Mobile Equipment (Thiết bị di động)
BTS Base Transceiver Station (Trạm thu phát gốc)
BSC Base Station Controller (Trạm điều khiển gốc)
HLR Home Location Register (Bộ ghi địa chỉ thường trú)
VLR Visitor Location Register (Bộ ghi địa chỉ tạm trú)
MSC Mobile services Switching Center (Tổng đài chuyển mạch di động)
EIR Equipment Identity Register (Bộ ghi nhận dạng thiết bị)
AuC Authentication Center (Trung tâm xác thực)
Trạm di động
Trạm di động (MS) bao gồm điện thoại di động và một thẻ thông minh

xác thực thuê bao (SIM). SIM cung cấp khả năng di động cá nhân, vì thế người
sử dụng có thể lắp SIM vào bất cứ máy điện thoại di động GSM nào truy nhập
vào dịch vụ đã đăng ký. Mỗi điện thoại di động được phân biệt bởi một số nhận
dạng điện thoại di động IMEI (International Mobile Equipment Identity). Card
SIM chứa một số nhận dạng thuê bao di động IMSI (International Subcriber
10



Identity) để hệ thống nhận dạng thuê bao, một mật mã để xác thực và các thông
tin khác. IMEI và IMSI hoàn toàn độc lập với nhau để đảm bảo tính di động cá
nhân. Card SIM có thể chống việc sử dụng trái phép bằng mật khẩu hoặc số nhận
dạng cá nhân (PIN).
b) Hệ thống trạm gốc

Hệ thống trạm gốc gồm có hai phần Trạm thu phát gốc (BTS) và Trạm
điều khiển gốc (BSC). Hai phần này giao tiếp với nhau qua giao diện Abis, cho
phép các thiết bị của các nhà cung cấp khác nhau có thể "bắt tay" nhau được.
Trạm thu phát gốc có bộ thu phát vô tuyến xác định một ô (cell) và thiết
lập giao thức kết nối vô tuyến với trạm di động. Trong một khu đô thị lớn thì số
lượng BTS cần lắp đặt sẽ rất lớn. Vì thế, yêu cầu đối với trạm BTS là chắc chắn,
ổn đinh, có thể di chuyển được và giá thành tối thiểu.
Trạm điều khiển gốc quản lý tài nguyên vô tuyến cho một hoặc vài trạm
BTS. Nó thực hiện thiết lập kênh vô tuyến, phân bổ tần số, và chuyển vùng. BSC
là kết nối giữa trạm di động và tổng đài chuyển mạch di động MSC.
c) Hệ thống mạng

Thành phần trung tâm của hệ thống mạng là tổng đài chuyển mạch di
động MSC. Nó hoạt động giống như một tổng đài chuyển mạch PSTN hoặc
ISDN thông thường, và cung cấp tất cả các chức năng cần thiết cho một thuê bao
di động như: đăng ký, xác thực, cập nhật vị trí, chuyển vùng, định tuyến cuộc gọi
tới một thuê bao roaming (chuyển vùng). MSC cung cấp kết nối đến mạng cố
định ( PSTN hoặc ISDN). Báo hiệu giữa các thành phần chức năng trong hệ
thống mạng sử dụng Hệ thống báo hiệu số 7 (SS7).
Bộ ghi địa chỉ thường trú (HLR) và Bộ ghi địa chỉ tạm trú (VLR) cùng với
tổng đài chuyển mạch di động MSC cung cấp khả năng định tuyến cuộc gọi và
roaming cho GSM. HLR bao gồm tất cả các thông tin quản trị cho các thuê bao

đã được đăng ký của mạng GSM, cùng với vị trí hiện tại của thuê bao. Vị trí của
thuê bao thường dưới dạng địa chỉ báo hiệu của VLR tương ứng với trạm di
động. Chỉ có một HLR logic cho toàn bộ mạng GSM mặc dù nó có thể được triển
khai dưới dạng cơ sở dữ liệu phân bố.

11


Bộ ghi địa chỉ tạm trú (VLR) bao gồm các thông tin quản trị được lựa
chọn từ HLR, cần thiết cho điều khiển cuộc gọi và cung cấp dịch vụ thuê bao,
cho các di động hiện đang ở vị trí mà nó quản lý. Mặc dầu các chức năng này có
thể được triển khai ở các thiết bị độc lập nhưng tất cả các nhà sản xuất tổng đài
đều kết hợp VLR vào MSC, vì thể việc điều khiển vùng địa lý của MSC tương
ứng với của VLR nên đơn giản được báo hiệu. Chú ý rằng MSC không chứa
thông tin về trạm di động cụ thể- thông tin này được chứa ở bộ ghi địa chỉ..
Có hai bộ ghi khác được sử dụng cho mục đính xác thực và an ninh . Bộ
ghi nhận dạng thiết bị (EIR) là một cơ sở dữ liệu chứa một danh sách của tất cả
các máy điện di dộng hợp lệ trên mạng với mỗi máy điện thoại được phân biệt
bởi số IMEI. Một IMEI bị đánh dấu là không hợp lệ nếu nó được báo là bị mất
cắp hoặc có kiểu không tương thích. Trung tâm xác thực (AuC) là một cơ sở dữ
liệu bảo vệ chứa bản sao các khoá bảo mật của mỗi card SIM, được dùng để xác
thực và mã hoá trên kênh vô tuyến.
Mặt thuận lợi to lớn của công nghệ GSM là ngoài việc truyền âm thanh
với chất lượng cao còn cho phép thuê bao sử dụng các cách giao tiếp khác rẻ
tiền hơn đó là tin nhắn SMS. Ngoài ra để tạo thuận lợi cho các nhà cung cấp
dịch vụ thì công nghệ GSM được xây dựng trên cơ sở hệ thống mở nên nó dễ
dàng kết nối các thiết bị khác nhau từ các nhà cung cấp thiết bị khác nhau.
Nó cho phép nhà cung cấp dịch vụ đưa ra tính năng roaming cho thuê
bao của mình với các mạng khác trên toàn thế giới. Và công nghệ GSM cũng
phát triển thêm các tính năng truyền dữ liệu như GPRS và sau này truyền với

tốc độ cao hơn khi họ sử dụng EGDE.
1.2.
1.2.1.

Tổng quát về tin nhắn SMS
Giới thiệu SMS
SMS là sự viết tắt của cụm từ Short Message Service tạm dịch là dịch vụ

tin nhắn ngắn. Là một giao thức viễn thông cho phép gửi các thông điệp dạng
text ngắn (không quá 160 ký tự trên một tin nhắn). Giao thức này có trên hầu
hết các điện thoại di động

12


SMS là công nghệ mà nó cho phép gửi và nhận những thông điệp giữa
những chiếc điện thoại di động. SMS lần đầu tiên xuất hiện năm 1992, nó được
sử dụng trên hệ thống mạng GSM đây là chuẩn duy nhất vào thời điểm khởi
đầu. Sau đó nó được sử dụng cho các công nghệ mạng không dây khác như
CDMA và TDMA. Đúng như ý nghĩa cái tên của nó "dịch vụ tin nhắn ngắn" dữ
liệu mà nó có thể mang trong mỗi tin nhắn SMS vô cùng giới hạn. Một tin nhắn
SMS chỉ có thể bao gồm nhiều nhất là 140 byte (tương đương với 1120 bit) dữ
liệu vì vậy một tin nhắn chỉ có thể bao gồm các dạng sau:
+ 160 ký tự nếu 7 bít ký tự mã hóa được dùng. 7 bít ký tự mã thích hợp
cho việc mã hóa các ký tự Latin như bảng chữ cái alphabe của tiếng Anh.
+ 70 ký tự nếu như 16 bit ký tự Unicode UCS2 mã hóa được dùng. Lúc
này các ký tự trong tin nhắn văn bản SMS là những ký tự không thuộc hệ ký tự
Latin như ký tự chữ Trung Quốc, phải sử dụng 16 bít ký tự để mã hóa.
+ Ngoài định dạng văn bản, hệ thống tin nhắn SMS còn có thể mang
được cả dữ liệu nhị phân. Nó có thế gửi nhạc chuông, hình ảnh, logo mạng,

hình nền, ảnh động, business cards (ví dụ như VCards)
+ Một lợi điểm chính của SMS là được hổ trợ 100% đối với các điện
thoại di động GSM. Không giống như SMS, các công nghệ di động khác như
WAP và Java thì không hỗ trợ hỗ trợ trên nhiều dòng điện thoại đời cũ.
+ Một đặc tính nổi bật của SMS đó chính là sự báo nhận. Tức là nếu một
máy di động gửi tin và có yêu cầu báo cáo tình trạng sau khi gửi tin nhắn.
Trung tâm lưu trữ SMS sau khi gửi SMS đến máy đích và khi máy đích nhận
được trung tâm sẽ phản hồi cho máy di động gửi tin một bản tin nhỏ gọi là bản
tin xác nhận. Việc này giúp cho người gửi có thể biết được là bản tin SMS của
mình đã được nhận hay chưa.
1.2.2. Cấu trúc một tin nhắn SMS

13


Nội dung của một tin nhắn SMS khi được gửi đi sẽ được chia làm 5 phần
như sau :

Hình 1.3. Cấu trúc một tin nhắn SMS
-

Instructions to air interface: Chỉ thị dữ liệu kết nối với air interface (giao

-

diện không khí) .
Instructions to SMSC: Chỉ thị dữ liệu kết nối với trung tâm tin nhắn SMSC

-


(short message service centre).
Instructions to handset: Chỉ thị dữ liệu kết nối bắt tay.
Instructions to SIM
(optional): Chỉ thị dữ liệu kết nối, nhận biết

SIM(Subscriber Identity Modules).
- Message body: Nội dung tin nhắn SMS.
1.2.3. Dịch vụ tin nhắn ngắn (Short Message Services - SMS) Tin nhắn
SMS chuỗi / tin nhắn SMS dài
SMS là một giao thức viễn thông cho phép gửi các thông điệp dạng text
ngắn (không quá 160 chữ cái) giữa những thiết bị di động. Giao thức này có
trên hầu hết các điện thoại di động và một số PDA với khả năng truyền thông
không dây. SMS là dịch vụ tin nhắn ngắn đang được dùng rất phổ biến. Về mặt
thương mại, SMS là một dịch vụ lớn với 80 tỉ đô-la Mỹ thu được vào năm 2006.
SMS được thiết kế như một phần dịch vụ gia tăng của GSM, nhưng nó
hiện có sẵn trên nhiều hệ thống mạng, bao gồm cả các mạng 3G. Tuy nhiên,
không phải tất cả các hệ thống thông điệp dạng text đều sử dụng SMS, và một
số nhà cung cấp dịch vụ truyền thông nổi tiếng như J-Phone's SkyMail và NTT
Docomo's Short Mail (Nhật Bản) sử dụng giao thức thông điệp dạng e-mail.

14


Việc sử dụng e-mail trên thiết bị di động đã được sử dụng rộng rãi trên các
dịch vụ NTT Docomo's i-mode và RIM BlackBerry, nó sử dụng giao thức thư
điện tử tiêu chuẩn như SMTP trên nền TCP/IP.
1.2.4.

SMS Center /SMSC
Một SMS Center (SMSC) là nơi chịu trách nhiệm luân chuyển các hoạt


động liên quan tới SMS của một mạng wireless. Khi một tin nhắn SMS được gửi
đi từ một điện thoại di động thì trước tiên nó sẽ được gửi tới một trung tâm SMS.
Sau đó, trung tâm SMS này sẽ chuyển tin nhắn này tới đích (người nhận). Một tin
nhắn SMS có thể phải đi qua nhiều hơn một thực thể

mạng (netwok) (chẳng

hạn như SMSC và SMS gateway) trước khi đi tới đích thực sự của nó. Nhiệm vụ
duy nhất của một SMSC là luân chuyển các tin nhắn SMS và điều chỉnh quá trình
này cho đúng với chu trình của nó. Nếu như máy điện thoại của người nhận không
ở trạng thái nhận (bật nguồn) trong lúc gửi thì SMSC sẽ lưu trữ tin nhắn này. Và
khi máy điện thoại của người nhận mở nguồn thì nó sẽ gửi tin nhắn này tới người
nhận.
Thường thì một SMSC sẽ hoạt động một cách chuyên dụng để chuyển
lưu thông SMS của một mạng wireless. Hệ thống vận hành mạng luôn luôn quản lí
SMSC của riêng nó và ví trí của chúng bên trong hệ thống mạng wireless. Tuy
nhiên hệ thống vận hành mạng sẽ sử dụng một SMSC thứ ba có vị trí bên ngoài
của hệ thống mạng wireless.
Bạn phải biết địa chỉ SMSC của hệ thống vận hành mạng wireless để sử
dụng, tinh chỉnh chức năng tin nhắn SMS trên điện thoại của bạn. Điển hình một
địa chỉ SMSC là một số điện thoại thông thường ở hình thức, khuôn mẫu quốc tế.
Một điện thoại nên có một thực đơn chọn lựa để cấu hình địa chỉ SMSC. Thông
thường thì địa chỉ được điều chỉnh lại trong thẻ SIM bởi hệ thống mạng wireless.
Điều này có nghĩa là bạn không cần phải làm bất cứ thay đổi nào cả.
1.2.5.

Nhắn tin SMS quốc tế
Các tin nhắn SMS giữa các nhà điều hành được chia ra làm hai hạng mục


gồm tin nhắn SMS giữa các nhà điều hành cục bộ và tin nhắn SMS giữa các nhà
điều hành quốc tế với nhau. Tin nhắn SMS giữa các nhà điều hành cục bộ là tin

15


nhắn mà được gửi giữa các nhà điều hành trong cùng một quốc gia còn tin nhắn
SMS giữa các nhà điều hành quốc tế là tin nhắn SMS được gửi giữa các nhà điều
hành mạng wireless ở những quốc gia khác nhau.
Thường thì chi phí để gửi một tin nhắn SMS quốc tế thì cao hơn so với
gửi trong nước. Và chi phí gửi tin nhắn trong nội mạng thì ít hơn so với gửi cho
mạng khác trong cùng một quốc gia nhỏ hơn hoặc bằng chi phí cho việc gửi tin
nhắn SMS quốc tế.
Khả năng kết hợp của tin nhắn SMS giữa hai mạng wireless cục bộ hay
thậm chí là quốc tế là một nhân tố chính góp phần tới sự phát triển mạnh mẽ của
hệ thống SMS toàn cầu.
1.2.6. Một số cách xây dựng hệ thống gửi/nhận SMS

a) Dùng Simple Network Pager Protocol – trước đây phổ biến ở Mỹ và
một số nước, hiện nay không còn được dùng rộng rãi nữa, vì hầu hết sở hữu
ĐTDĐ chứ không phải máy nhắn tin.
b) Dùng TAP/UCD Protocol – gửi SMS thông qua kết nối dialup, vừa
chậm và vừa không ổn định.
c) Dùng mô-đem GSM – phụ thuộc vào tốc độ xử lý SMS của mô-đem. Đa
số các mô-đem GSM tích hợp sẵn trong ĐTDĐ được cho là không hoàn toàn là
một mô-đem GSM hoàn chỉnh, có tốc độ gửi/nhận SMS chậm, khó có thể đáp
ứng chế độ làm việc liên tục 24/24 vì nhiều lý do, trong đó có lý do liên qua đến
vấn đề của pin. Các mô-đem GSM chuyên dụng có giá không cao, tốc độ
gửi/nhận trung bình 1.000 SMS/giờ và đáp ứng tốt chế độ làm việc liên tục.
d) Thông qua dịch vụ HTTP – SMS được gửi đến/nhận từ một địa chỉ IP

và máy chủ ở đó đảm nhận việc trung chuyển SMS. Có thể sử dụng SMS
gateway trung gian theo cách này và thông thường là miễn phí đối với chủ
dịch vụ và người dùng cuối sẽ phải trả phí SMS theo quy định của dịch vụ SMS
gateway đó.

16


e) Xây dựng SMS gateway bằng cách sử dụng các giao thức khác nhau,
chẳng hạn Short Message Peer to Peer Protocol (SMPP). Giải pháp này cho
phép gửi/nhận SMS với tốc độ cao. Tuy nhiên, nó khá đắt đỏ trong cả đầu tư
ban đầu, cả phí hỗ trợ hàng tháng và phức tạp trong thủ tục đăng ký. Đối với
các tổ chức kinh tế/xã hội có nhu cầu ở mức độ trung bình trong việc
gửi/nhận SMS, giải pháp sử dụng các mô -đem GSM tối ưu nhất.
1.3.
1.3.1.

GSM Modem, tập lệnh AT
GSM Modem

Hình 1.4. GSM Modem
Một GSM modem là một modem wireless, nó làm việc cùng với một
mạng wireless GSM. Một modem wireless thì cũng hoạt động giống như một
modem quay số. Điểm khác nhau chính ở đây là modem quay số thì truyền và
nhận dữ liệu thông qua một đường dây điện thoại cố định trong khi đó một
modem wireless thì gửi và nhận dữ liệu thông qua sóng vô tuyến.
Một modem GSM có thể là một thiết bị mở rộng bên ngoài hay một
PC Card/PCMCIA Card. Điển hình đó là một modem GSM rời bên ngoài được kết
nối với một máy tính thông qua một cáp nối tiếp hay một cáp USB. Một modem
GSM hợp chuẩn với một PC Card/PCMCIA Card được thiết kế cho việc sử dụng

với một máy tính laptop. Nó được gắn vào một trong những khe cắm PC
Card/PCMCIA Card của một máy tính laptop.
Giống như một điện thoại di động GSM, một modem GSM yêu cầu 1 thẻ
SIM với một sóng mang wireless để hoạt động.
Số tin nhắn SMS có thể được thực thi bởi một modem GSM trên một phút thì
17


rất thấp, nó chỉ khoảng từ 6 đến 10 tin nhắn SMS trên 1 phút.
1.3.2.

Lệnh AT
Để gửi/nhận SMS, cần kết nối thiết bị là Mô-đem GSM vào cổng COM của

máy tính. Nếu mô-đem kết nối vào máy tính bằng cổng USB thì cần phải biết
tên của thiết bị trong hệ thống hoặc thiết bị đã được kết nối qua cổng COM
emulated nào. Chương trình máy tính và thiết bị trao đổi dữ liệu thông qua hệ
thống lệnh AT (Attention commands) chuẩn. Tuy nhiên, tuỳ vào thiết bị và nhà
sản xuất, mỗi mô-đem có thể có hệ thống lệnh AT mở rộng nhằm tối ưu và
nâng cao khả năng kết nối của thiết bị với máy tính [2, 4, 6, 7, 11].
LỆNH AT

CHÚ THÍCH

+ CMGF

Chọn chế độ làm việc

+CPMS


Chọn lưu trữ

+CSMP

Thiết đặt thông số trong chế độ văn bản

+CSAS

Lưu giữ các thiết lập SMS

+CSCS

Chọn kiểu mã hoá dữ liệu

+CSDH

Xem thiết lập SMS

+CMGR

Đọc SMS xác định từ thiết bị

+CMGL

Đọc tất cả SMS theo loại từ thiết bị

+CMGS

Gửi SMS


+CMGW

Ghi SMS vào bộ nhớ

+CMSS

Gửi SMS đã lưu trong bộ nhớ

+CMGD

Xoá bộ nhớ

Bảng 1.1. Các lệnh AT
Trong chương trình, đầu tiên cần tạo một kết nối cổng COM cho mỗi
mô-đem, sau đó gửi đến cổng COM những lệnh AT tương ứng với biểu sau và

18


đọc kết quả thực thi lệnh AT từ cổng COM. Cần kiểm tra kết nối và mô-đem
bằng cách sử dụng nhóm lệnh: AT, +CPIN, +CSCA, +CGMI, +CGMM, +CMEE,
+CSMS, +CSQ, +CBC trước mỗi phiên làm việc. Nhóm lệnh AT trong biểu dùng
để làm việc với SMS.
Để đọc thiết lập hiện tại, dùng lệnh AT có thêm ký tự ‘?’. Để xem những
giá trị nào có thể thiết lập, dùng lệnh AT có thêm 2 ký tự ‘=?’. Để thiết lập giá trị
thông số mới, dùng lệnh AT có thêm ký tự ‘=’, và theo sau đó là những giá trị
thông số mới. Để gửi một nội dung đến chỉ một khách hàng, sử dụng lệnh
+CMGS là tối ưu nhất. Tuy nhiên, có những nội dung cần gửi đến nhiều khách
hàng khác nhau. Trong trường hợp này nên dùng lệnh +CMGW ghi SMS lên bộ
nhớ của mô-đem, sau đó dùng lệnh +SMSS để gửi SMS đó đến các khách hàng

khác nhau. Cách này cho phép nâng cao tốc độ làm việc của mô-đem nhờ giảm
thiểu trao đổi thông tin giữa mô-đem và chương trình.
Có thể gửi SMS theo hai chế độ văn bản (text mode, +CMGF = 1) và chế
độ mặc định PDU (Protocol Data Unit, +CMGF = 0). Giá trị các thiết lập thông
số cho chế độ văn bản và PDU có khác nhau cho một số lệnh AT. Chẳng hạn, với
lệnh đọc tất cả các tin nhắn +CMGL tiếp nhận các thông số "REC
UNREAD","REC READ","STO UNSENT", "STO SENT" và "ALL" trong chế độ văn
bản; trong khi đó, trong chế độ PDU sẽ là các giá trị 0 – 4. Ngoài ra, không phải
tất cả các Mô-đem GSM đều hỗ trợ chế độ văn bản. Thử nghiệm cho thấy không
chỉ những điện thoại lạc hậu, mà một số điện thoại hiện đại thuộc loại bậc
nhất hiện nay, chẳng hạn W580, cũng không hỗ trợ chế độ văn bản khi làm
việc với các chương trình trên PC. Trong khi đó, chế độ PDU thì tất cả các môđem hỗ trợ và chế độ này cho phép gửi hình ảnh và nhạc chuông. Suy ra, khi
xây dựng một chương trình làm việc với các Mô-đem GSM , cần phải nghiên
cứu tài liệu kỹ thuật của từng loại mô-đem để có thể thiết lập đúng những
thông số mà mô-đem đó hỗ trợ, và trong mô-đun làm việc với các mô-đem, cần
xác định loại và mô-đen mô-đem, sau đó sử dụng những thông số mà mô-đem
đó hỗ trợ; hoặc dùng lệnh AT có thêm ‘=?’ để kiểm tra, những giá trị nào các
thông số tương ứng của một lệnh AT cho một mô-đen cụ thể có thể tiếp nhận.
19


Tất cả các mô-đem đều phải hỗ trợ tập hợp các lệnh AT chuẩn. Nếu mô-đun sử
dụng tập hợp AT chuẩn để làm việc với các mô-đem, thì hệ thống sẽ không bị
phụ thuộc vào thiết bị được sử dụng.
Giới thiệu về phương pháp phân tích thiết kế hệ thống hướng đối

1.4.

tượng UML
1.4.1. UML là gì?

Ngôn ngữ mô hình hợp nhất UML (Unified Modeling Language) là một
ngôn ngữ trực quan cung cấp cho các nhà phân tích thiết kế các hệ thống
hướng đối tượng một cách hình dung ra các hệ thống phần mềm, mô hình hóa
các tổ chức nghiệp vụ và sử dụng hệ thống phần mềm này, cũng như xây dựng
và làm tài liệu về chúng. UML đang tiến triển như là chuẩn và trở thành một
chuẩn quốc tế được tổ chức tiêu chuẩn ISO (International Standard
Organization) chấp nhận.
UML là một ngôn ngữ dùng để


Trực quan hóa



Cụ thể hóa



Sinh mã ở dạng nguyên mẫu



Lập và cung cấp tài liệu

a) UML là ngôn ngữ dùng để trực quan hóa
Đối với nhiều lập trình viên, không có khoảng cách nào giữa ý tưởng để
giải quyết một vấn đề và việc thể hiện điều đó thông qua các đoạn mã. Họ nghĩ
ra và họ viết mã. Trên thực tế, điều này gặp một số vấn đề. Thứ nhất, việc trao
đổi về các ý tưởng giữa những người lập trình sẽ gặp khó khăn, trừ khi tất cả
đều nói cùng một ngôn ngữ. Thậm chí ngay cả khi không gặp trở ngại về ngôn

ngữ thì đối với từng công ty, từng nhóm cũng có những “ngôn ngữ” riêng của
họ. Điều này gây trở ngại cho một người mới vào để có thể hiểu được những
việc đang được tiến hành. Hơn nữa, trong lĩnh vực phần mềm, nhiều khi khó có
thể hiểu được nếu chỉ xem xét các đoạn mã lệnh. Ví dụ như sự phân cấp của
các lớp, ta có thể phải duyệt rất nhiều đoạn lệnh để hiểu được sự phân cấp của
các lớp. Và nếu như người lập trình không mô tả các ý tưởng mà anh ta đã xây

20


dựng thành mã lệnh thì nhiều khi cách tốt nhất là xây dựng lại trong trường
hợp một người khác đảm nhận tiếp nhiệm vụ khi anh ta rời khỏi nhóm.
Xây dựng mô hình sử dụng ngôn ngữ UML đã giải quyết được các khó
khăn trên.
Khi trở thành một chuẩn trong việc lập mô hình, mỗi kí hiệu mang một
ý nghĩa rõ ràng và duy nhất, một nhà phát triển có thể đọc được mô hình xây
dựng bằng UML do một người khác viết.
Những cấu trúc mà việc nắm bắt thông qua đọc mã lệnh là khó khăn
nay đã được thể hiện trực quan.
Một mô hình rõ ràng, sáng sủa làm tăng khả năng giao tiếp, trao đổi
giữa các nhà phát triển.
b) UML là ngôn ngữ dùng để chi tiết hóa
Có nghĩa là xây dựng các mô hình một các tỉ mỉ, rõ ràng, đầy đủ ở các
mức độ chi tiết khác nhau. Đặc biệt là UML thực hiện việc chi tiết hoá tất cả
các quyết định quan trọng trong phân tích, thiết kế và thực thi một hệ thống
phần mềm.
c) UML là ngôn ngữ dùng để sinh ra mã ở dạng nguyên mẫu
Các mô hình xây dựng bởi UML có thể ánh xạ tới một ngôn ngữ lập
trình cụ thể như : Java, C++… thậm chí cả các bảng trong một CSDL quan hệ
hay CSDL hướng đối tượng.

Việc các yêu cầu có khả năng thường xuyên thay đổi trong quá trình
phát triển hệ thống dẫn đến việc các cấu trúc và hành vi của hệ thống được
xây dựng có thể khác mô hình mà ta đã xây dựng. Điều này có thể làm cho một
mô hình tốt trở nên vô nghĩa vì nó không còn phản ánh đúng hệ thống nữa.
Cho nên phải có một cơ chế để đồng bộ hóa giữa mô hình và mã lệnh.
UML cho phép cập nhật một mô hình từ các mã thực thi.( ánh xạ
ngược). Điều này tạo ra sự nhất quán giữa mô hình của hệ thống và các đoạn
mã thực thi mà ta xây dựng cho hệ thống đó.
d) UML là ngôn ngữ dùng để lập và cung cấp tài liệu
21


Một tổ chức phần mềm ngoài việc tạo ra các đoạn mã lệnh( thực thi) thì
còn tạo ra các tài liệu sau:
Ghi chép về các yêu cầu của hệ thống
Kiến trúc của hệ thống
Thiết kế
Mã nguồn
Kế hoạch dự án
Tests
Các nguyên mẫu

1.4.2. Lịch sử phát triển của UML
-

Những năm đầu của thập kỷ 90 có rất nhiều phương pháp phân tích,
thiết kế hệ thống hướng đối tượng và cùng với chúng là các ký hiệu riêng cho
từng phương pháp. Số lượng các phương pháp trong khoảng từ 10 đã lên đến
gần 50 trong những năm từ 1989 đến 1994. Ba phương pháp phổ biến nhất là
OMT (Object Modeling Technique)[James Rumbaugh], Booch91 [Grady Booch]

và OOSE (Object-Oriented Software Enginering)[Ivar Jacobson]. Mỗi phương
pháp đều có những điểm mạnh và yếu. Như OMT mạnh trong phân tích và yếu
ở khâu thiết kế, Booch91 thì mạnh ở thiết kế và yếu ở phân tích. OOSE mạnh ở
phân tích các ứng xử, đáp ứng của hệ thống mà yếu trong các khâu khác.
Do các phương pháp chưa hoàn thiện nên người dùng rất phân vân
trong việc chọn ra một phương pháp phù hợp nhất để giải quyết bài toán của
họ. Hơn nữa, việc các ký hiệu khác nhau của các phương pháp đã gây ra
những sự mập mờ, nhầm lẫn khi mà một ký hiệu có thể mang những ý nghĩa
khác nhau trong mỗi phương pháp. Ví dụ như một hình tròn được tô đen biểu
hiện một multiplicity trong OMT lại là một aggregation trong Booch). Thời kỳ
này còn được biết đến với tên gọi là cuộc chiến giữa các phương pháp. Khoảng
đầu năm 94, Booch đã cải tiến phương pháp của mình trong đó có ứng dụng
những ưu điểm của các phương pháp của Rumbaugh và Jacobson. Tương tự
Rumbaugh cũng cho đăng một loạt các bài báo được biết đến với tên gọi
phương pháp OMT-2 cũng sử dụng nhiều ưu điểm của phương pháp của
Booch. Các phương pháp đã bắt đầu hợp nhất, nhưng các kí hiệu sử dụng ở
các phương pháp vẫn còn nhiều điểm khác biệt.
22


Cuộc chiến này chỉ kết thúc khi có sự ra đời của UML – một ngôn ngữ
mô hình hóa hợp nhất. Tại sao lại là hợp nhất? Đó là do có sự hợp nhất các
cách kí hiệu của Booch, OMT và Objectory cũng như các ý tưởng tốt nhất của
một số phương pháp khác như hình vẽ sau:
Bằng cách hợp nhất các kí hiệu sử dụng trong khi phân tích, thiết kế của
các phương pháp đó, UML cung cấp một nền tảng chuẩn trong việc phân tích
thiết kế. Có nghĩa là các nhà phát triển vẫn có thể tiến hành theo phương pháp
mà họ đang sử dụng hoặc là có thể tiến hành theo một phương pháp tổng hợp
hơn( do thêm vào những bước ưu điểm của từng phương pháp). Nhưng điều
quan trọng là các ký hiệu giờ đây đã thống nhất và mỗi ký hiệu chuẩn của tổ

chức OMG (Object Management Group) vào tháng 7-1997.
1.4.3.

Các thành phần của UML
Ngôn ngữ UML bao gồm một loạt các phần tử đồ họa (graphic element)

có thể được kếp 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 các phần tử đó.
Một số những thành phần chủ yếu của ngôn ngữ UML:
-

Hướng nhìn (view): Hướng nhìn chỉ ra nhữ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ướng nhì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ác biểu đồ khác nhau. Chỉ qua việc định nghĩa của một loạt các
hướng nhìn khác nhau, 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. Cũng chính các hướng nhìn này nối kết ngôn

-

ngữ mô hình hóa với quy trình được chọn cho giai đoạn phát triển.
Biểu đồ (diagram): Biểu đồ là 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 hợp khác nhau để cung cấp tất cả các

-

hướng nhìn của một hệ thống.
Phần tử mô hình hóa (model element): Các khái niệm được sử dụng

trong các biểu đồ được gọi là các phần tử mô hình, thể hiện các khái
niệm hướng đối tượng quen thuộc. Ví dụ như lớp, đối tượng, thông
23


điệp cũng như các quan hệ giữa các khái niệm này, bao gồm cả liên
kết, phụ thuộc, khái quát hóa. Một phần tử mô hình thường được sử
dụng trong nhiều biểu đồ khác nhau, nhưng nó luôn luôn có chỉ một
-

ý nghĩa và một kí hiệu.
Cơ chế chung: Cơ chế chung cung cấp thêm những lời nhận xét bổ
sung, các thông tin cũng như các quy tắc ngữ pháp chung về một
phần tử mô hình; chúng còn cung cấp thêm các cơ chế để có thể mở
rộng ngôn ngữ UML cho phù hợp với một phương pháp xác định

(một quy trình, một tổ chức hoặc một người dùng).
1.4.4. Biểu đồ
- Biểu đồ lớp (Class Diagram)
Bao gồm một tập hợp các lớp, các giao diện, các collaboration và
mối quan hệ giữa chúng. Nó thể hiện mặt tĩnh của hệ thống.
-

Biểu đồ đối tượng (Object Diagram)
Bao gồm một tập hợp các đối tượng và mối quan hệ giữa chúng.

Đối tượng là một thể hiện của lớp, biểu đồ đối tượng là một thể hiện
của biều đồ lớp.
-


Biểu đồ Use case (Use Case Diagram)
Khái niệm actor: là những người, hệ thống khác ở bên ngoài

phạm vi của hệ thống mà có tương tác với hệ thống.
Biểu đồ Use case bao gồm một tập hợp các Use case, các actor và
thể hiện mối quan hệ tương tác giữa actor và Use case. Nó rất quan
trọng trong việc tổ chức và mô hình hóa hành vi của hệ thống
-

Biểu đồ trình tự (Sequence Diagram)
Là một dạng biểu đồ tương tác (interaction), biểu diễn sự tương

tác giữa các đối tượng theo thứ tự thời gian. Nó mô tả các đối tượng
liên quan trong một tình huống cụ thể và các bước tuần tự trong việc
trao đổi các thông báo(message) giữa các đối tượng đó để thực hiện
một chức năng nào đó của hệ thống.
-

Biểu đồ hợp tác (Collaboration)

24


Gần giống như biểu đồ Sequence, biểu đồ Collaboration là một
cách khác để thể hiện một tình huống có thể xảy ra trong hệ thống.
Nhưng nó tập trung vào việc thể hiện việc trao đổi qua lại các thông báo
giữa các đối tượng chứ không quan tâm đến thứ tự của các thông báo
đó. Có nghĩa là qua đó chúng ta sẽ biết được nhanh chóng giữa 2 đối
tượng cụ thể nào đó có trao đổi những thông báo gì cho nhau.
-


Biểu đồ chuyển trạng thái (Statechart)
Chỉ ra một máy chuyển trạng, bao gồm các trạng thái, các bước

chuyển trạng và các hoạt động. Nó đặc biệt quan trọng trong việc mô
hình hóa hành vi của một lớp giao diện(interface class) hay
collaboration và nó nhấn mạnh vào các đáp ứng theo sự kiện của một
đối tượng, điều này rất hữu ích khi mô hình hóa một hệ thống phản
ứng(reactive).
-

Biểu đồ hoạt động (Activity)
Là một dạng đặc biệt của biểu đồ chuyển trạng. Nó chỉ ra luồng

đi từ hoạt động này sang hoạt động khác trong một hệ thống. Nó đặc
biệt quan trọng trong việc xây dựng mô hình chức năng của hệ thống và
nhấn mạnh tới việc chuyển đổi quyền kiểm soát giữa các đối tượng
-

Biểu đồ thành phần (Component)
Chỉ ra cách tổ chức và sự phụ thuộc của các thành

phần(component). Nó liên quan tới biểu đồ lớp, trong đó một thành
phần thường ánh xạ tới một hay nhiều lớp, giao diện , collaboration.
-

Quan hệ Thừa kế (Generalization)
Chỉ ra cấu hình của hệ thống khi thực thi.

1.5.

1.5.1.

Ngôn ngữ lập trình C#
Giới thiệu
Ngôn ngữ C# khá đơn giản, chỉ khoảng hơn 80 từ khóa và hơn mười

mấy kiểu dữ liệu được dựng sẵn. Tuy nhiên, ngôn ngữ C# có ý nghĩa to lớn khi
nó thực thi những khái niệm lập trình hiện đại. C# bao gồm tất cả những hỗ
trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng. Những

25


×