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

Tra cứu điểm thi qua hệ thống nhắn tin sms nghiên cứu khoa học

79 5 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 79
Dung lượng 1,83 MB

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

Nội dung

o Giúp cho sinh viên có một cái nhìn mới và cụ thể hơn về vai trò và ứng dụng của công nghệ thông tin trong cuộc sống... Nhưng cho đến nay, hàng loạt những công nghệ, ứng dụng

Trang 1

TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH

Thuộc nhóm ngành khoa học: Công Nghệ Thông Tin

TPHCM, ngày 10 tháng 4 năm 2013

Trang 2

TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH

BÁO CÁO TỔNG KẾT

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN THAM GIA XÉT GIẢI THƯỞNG NGHIÊN CỨU KHOA HỌC SINH VIÊN

TRA CỨU ĐIỂM THI QUA HỆ THỐNG NHẮN TIN

SMS T.SV2013(365)133

Thuộc nhóm ngành khoa học: Công Nghệ Thông Tin

Sinh viên thực hiện: Lê Thanh Hùng Nam, Nữ: Nam

Dân tộc: Kinh

Lớp, khoa:TH10A3, khoa Công Nghệ Thông Tin

Năm thứ: 3 /Số năm đào tạo:4 Ngành học: Tin học

Người hướng dẫn: Ths Trương Hoàng Vinh

TPHCM, ngày 10 tháng 4 năm 2013

Trang 3

Đề tài được thực hiện trong thời gian từ tháng 11/2012 đến tháng 4/2013 Đây là kết quả nghiên cứu của nhóm trong suốt khoảng thời gian tìm kiếm, thu thập tư liệu Nội dung chính xoay quanh vấn đề làm sao sau mỗi kỳ thi, điểm thi sẽ được gửi đến sinh viên một cách tự động

Sau đó, nhóm dùng những tài liệu đã thu thập được để phân tích thiết kế hệ thống, xây dựng cơ sở dữ liệu, nghiên cứu những công nghệ cần thiết hướng đến mục tiêu hiện thực chương trình tra cứu và gửi tin nhắn báo điểm qua hệ thống nhắn tin SMS Để thực hiện đề tài, nhóm kết hợp sử dụng ngôn ngữ lập trình C# trong Visual Studio 2010, trên nền NET Framework 4.0 để thiết kế giao diện ứng dụng , tương tác trực tiếp với người dùng, liên kết với cơ sở dữ liệu thông qua công nghệ ADO.NET Sử dụng SQL Server 2008 để thiết kế cơ sở dữ liệu Các module GỬI TIN SMS để gửi thông báo đến số điện thoại xác định

Chương trình sẽ là một công cụ đắc lực và thiết thực giúp cho sinh viên yên tâm

về kết quả sẽ được thông báo sau mỗi kỳ thi Giúp cho sinh viên tiết kiệm được một lượng lớn thời gian, sự định hướng học tập trong học kì mới hiệu quả hơn Đồng thời,

có một cái nhìn mới và cụ thể hơn về vai trò và ứng dụng của công nghệ thông tin trong cuộc sống

Chương trình sẽ cho phép chọn lựa phương thức gửi tin nhắn trực tiếp thông qua web portal của các nhà mạng Mobifone, Vinaphone, Viettel hoặc thông qua GSM/GPRS modem

Trang 4

Mục lục

Chương 1:TỔNG QUAN 1

1.1 Giới thiệu chung 1

1.2 Tình hình nghiên cứu 2

1.3 Mục đích nghiên cứu 2

1.4 Đối tượng và phạm vi nghiên cứu 2

1.5 Phương pháp nghiên cứu 3

1.6 Đóng góp của đề tài 3

1.6.1 Ý nghĩa xã hội 3

1.6.2 Ý nghĩa khoa học 3

1.7 Bố cục báo cáo 3

Chương 2:NỘI DUNG NGHIÊN CỨU 4

2.1 Phân tích thiết kế hệ thống 4

2.1.1 Vai trò phân tích thiết kế hệ thống trong phát triển phần mềm 4

2.1.2 Phân tích thiết kế hướng đối tượng 4

2.1.2.1 UML 4

2.1.2.2 Các sơ đồ mô hình 5

2.2 Cơ sở dữ liệu 8

2.2.1 Ngôn ngữ SQL 8

2.2.1.1 SQL là ngôn ngữ dữ liệu quan hệ 8

2.2.1.2 Vai trò của SQL 9

2.2.2 Ngôn ngữ T-SQL 9

2.2.3 Microsoft SQL Server 9

2.2.3.1 Giới thiệu SQL Server: 9

2.2.3.2 Các đối tượng 10

2.3 Ngôn ngữ lập trình 12

2.3.1 Visual Studio 2010 12

2.3.1.1 Tổng quan 12

2.3.1.2 Một số đổi mới trong Visual Studio 2010 12

2.3.1.3 Một số tính năng trong Visual Studio 2010 13

2.3.1.4 Hệ điều hành hỗ trợ 13

2.3.2 Nền tảng NET 13

2.3.3 Kết nối cơ sở dữ liệu MS-SQL bằng nền tảng ADO.NET 13

2.3.3.1 Giới thiệu ADO.NET 14

2.3.3.2 Kiến trúc ADO.NET 14

2.3.3.3 Các đối tượng trong ADO.NET 15

2.3.3.4 Html Agility Pack 19

2.4 Mô hình 3 tầng (3-layer) 20

2.4.1 Giới thiệu 20

2.4.1.1 GUI Layer 20

2.4.1.2 Business Logic Layer 20

2.4.1.3 Data Access Layer 20

2.4.2 Quá trình hoạt động 21

2.4.2.1 Quá trình hiển thị dữ liệu 21

2.4.2.2 Quá trình đưa dữ liệu xuống 21

2.4.2.3 Ưu điểm 21

2.4.2.4 Nhược điểm 21

Trang 5

2.5 Gửi SMS 21

2.5.1 Các mô hình gửi SMS 21

2.5.1.1 Tổng quan về SMS 21

2.5.1.2 SMSC 22

2.5.1.3 SMS Gateway 22

2.5.1.4 GSM/GPRS modem 24

2.5.1.5 Web portal 25

Chương 3:NỘI DUNG THỰC HIỆN ĐỀ TÀI 28

3.1 Phân tích thiết kế hệ thống 28

3.1.1 Các sơ đồ phân tích (UML diagrams) 28

3.1.1.1 Sơ đồ Use case (Use case diagram) 28

3.1.1.2 Các sơ đồ hoạt động (Activity diagram) 28

3.1.1.3 Sơ đồ cơ sở dữ liệu (database diagram) 30

3.1.2 Các mức phân quyền sử dụng hệ thống 35

3.1.2.1 Đối tượng sử dụng 35

3.1.2.2 Phân quyền sử dụng hệ thống cho từng đối tượng 35

3.2 Gửi tin nhắn 36

3.2.1 Gửi thông báo điểm 36

3.2.2 Gửi thông báo tùy ý 37

3.2.3 Cấu trúc tin nhắn 37

3.2.3.1 Cấu trúc SMS điểm thi 37

3.2.3.2 Cấu trúc SMS thông báo 37

3.2.4 Nguồn dữ liệu đầu vào 37

3.2.4.1 Gửi điểm thi 37

3.2.4.2 Gửi thông báo 38

3.2.5 Phương thức gửi SMS 38

3.2.5.1 Web portal 38

3.2.5.2 USB 3G, GSM/GPRS modem 39

3.3 Chi tiết cài đặt 40

3.3.1 Giao diện sử dụng 40

3.3.1.1 Đăng nhập 40

3.3.1.2 Giao diện chính của chương trình 41

3.3.1.3 Gửi tin nhắn 42

3.3.1.4 Xem thông tin tài khoản 45

3.3.1.5 Thay đổi mật khẩu 45

3.3.1.6 Quản lý hệ thống 46

3.3.1.7 Báo cáo tin nhắn đã gởi 47

3.3.2 Một số mã lệnh sử dụng trong chương trình 47

3.3.2.1 Xác nhận đăng nhập 47

3.3.2.2 Lấy danh sách sinh viên theo mã lớp 48

3.3.2.3 Chọn phương thức lấy dữ liệu 49

3.3.2.4 Lấy dữ liệu từ website dịch vụ 50

3.3.2.5 Gửi tin nhắn 52

Chương 4:KẾT LUẬN 66

4.1 Ưu điểm 66

4.2 Khuyết điểm 66

4.3 Hướng phát triển 67

Trang 6

DANH MỤC HÌNH ẢNH

Sơ đồ 2.1: Sơ đồ phân cấp của UML 5

Sơ đồ 2.2: Sơ đồ Lớp 5

Sơ đồ 2.3: Sơ đồ Đối tượng 6

Sơ đồ 2.4: Sơ đồ Thành phần 6

Sơ đồ 2.5 : Sơ đồ tổng hợp cấu trúc 7

Sơ đồ 2.6 : Sơ đồ Triển khai 7

Sơ đồ 2.7 : Sơ đồ Gói 8

Hình 2.1 Kiến trúc ADO.NET 14

Hình 2.2 Mô hình đối tượng Dataset 15

Hình 2.3 Connection và các đối tượng lệnh 16

Hình 2.4: Mô hình 3 tiers 20

Hình 2.5: SMS Getway 22

Hình 2.6: GSM/GPRS modem 24

Hình 2.7: Web portal 25

Sơ đồ 3.1: Sơ đồ Use case 28

Sơ đồ 3.2: Sơ đồ đăng nhập 29

Sơ đồ 3.3: Sơ đồ gửi tin nhắn 29

Sơ đồ 3.4: Sơ đồ gửi thông báo tùy ý 30

Sơ đồ 3.5: Sơ đồ cơ sở dữ liệu 30

Hình 3.1 Giao diện đăng nhập 41

Hình 3.2 Giao diện chính của chương trình 41

Hình 3.3: Giao diện gửi tin nhắn qua Mobifone portal 42

Hình 3.4: Giao diện gửi tin nhắn qua Viettel portal 43

Hình 3.5: Giao diện gửi tin nhắn qua GSM/GPRS Modem 43

Hình 3.6: Gửi tin nhắn thành công 44

Hình 3.7: Gửi tin nhắn qua website dịch vụ 44

Hình 3.8: Gửi thành công 45

Hình 3.9: Xem thông tin tài khoản 45

Hình 3.10: Thay đổi mật khẩu 46

Hình 3.11: Quản lý hệ thống 46

Hình 3.12: Báo cáo gửi 47

Trang 7

DANH MỤC BẢNG BIỂU

Bảng 3.1: Bảng Sinh Viên 31

Bảng 3.2: Giảng viên 31

Bảng 3.3: Khoa 32

Bảng 3.4: Lớp 32

Bảng 3.5: Môn học 32

Bảng 3.6: Đăng ký môn học 32

Bảng 3.7: Chức vụ 33

Bảng 3.8: Giáo viên chủ nhiệm 33

Bảng 3.9: Phân loại User 34

Bảng 3.10: Thông tin User 34

Bảng 3.11: Phân quyền sử dụng 35

Trang 8

DANH MỤC CÁC CHỮ VIẾT TẮT

AD Active Directory

ALM Application Lifecycle Management

BLL Business Logic Layer

CDMA Code Division Multiple Access

DAL Data Access Layer

DNS Domain Name System

GSM Global System for Mobile Communications GUI graphical user interface

ICT Information and Communications Technology ISO International Organization for Standardization LDAP lightweight Directory Access Protocol

OMT Object Odeling Technique

OOA Object Oriented Analysis

OOD Object Oriented Design

PDA Personal Digital Assitant

PL Presentation Layer

RDBMS Relational Database Management System SMS Short Message Service

SMSC short message service center

SQL Structured Query Language

TDMA Time division multiple access

T-SQL Transact-SQL

UML Unifield Modeling Language

XML eXtensible Markup Language

Trang 9

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC MỞ TP.HCM

THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI

1 Thông tin chung:

- Tên đề tài: Tra cứu điểm thi qua hệ thống nhắn tin SMS

- Sinh viên thực hiện: Lê Thanh Hùng

4 Kết quả nghiên cứu:

Xây dựng được ứng dụng cho phép gửi tin nhắn thông báo điểm tự động đến sinh viên

5 Đóng góp về mặt kinh tế - xã hội, giáo dục và đào tạo, an ninh, quốc phòng và khả năng áp dụng của đề tài:

o Giúp cho kênh liên lạc giữa nhà trường, sinh viên hoặc gia đình sinh viên được tốt hơn

o Giảm thiểu lượng lớn thời gian lãng phí trong sinh viên

o Giúp cho sinh viên có một cái nhìn mới và cụ thể hơn về vai trò và ứng dụng của công nghệ thông tin trong cuộc sống

6 Công bố khoa học của sinh viên từ kết quả nghiên cứu của đề tài (ghi rõ tên tạp

chí nếu có) hoặc nhận xét, đánh giá của cơ sở đã áp dụng các kết quả nghiên cứu (nếu có):

Ngày 10 tháng 4 năm 2013

Sinh viên chịu trách nhiệm chính

thực hiện đề tài

(ký, họ và tên)

Trang 10

Nhận xét của người hướng dẫn về những đóng góp khoa học của sinh viên thực

hiện đề tài (phần này do người hướng dẫn ghi):

- Đề tài hoàn thành mục tiêu đặt ra của đề cương nghiên cứu

- Xây dựng được ứng dụng cho phép truy cập và gửi điểm tới sinh viên

- Có thể đưa vào ứng dụng để quản lý sinh viên ở cấp Khoa/Trường

Ngày 10 tháng 4 năm 2013

Xác nhận của đơn vị

(ký tên và đóng dấu)

Người hướng dẫn

(ký, họ và tên)

Trang 11

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC MỞ TP.HCM

THÔNG TIN VỀ SINH VIÊN CHỊU TRÁCH NHIỆM CHÍNH THỰC HIỆN ĐỀ TÀI

I SƠ LƯỢC VỀ SINH VIÊN:

Họ và tên: Lê Thanh Hùng

Sinh ngày: 23 tháng 11 năm 1991

Nơi sinh: Long Khánh – Đồng Nai

Lớp: TH10A3 Khóa:2010 - 2014

Khoa: Công Nghệ Thông Tin

Địa chỉ liên hệ:106, Nguyễn Trung Trực, Xuân Trung, Long Khánh, Đồng Nai

Điện thoại: 01284912221 Email: lthung.it@gmail.com

II QUÁ TRÌNH HỌC TẬP (kê khai thành tích của sinh viên từ năm thứ 1 đến năm

đang học):

* Năm thứ 1:

Ngành học: Tin học Khoa: Công Nghệ Thông Tin

Kết quả xếp loại học tập: Khá

Sơ lược thành tích: Học bổng thành tích qua mỗi học kỳ

* Năm thứ 2:

Ngành học: Tin học Khoa: Công Nghệ Thông Tin

Kết quả xếp loại học tập:

Sơ lược thành tích: Học bổng chương trình kết nối doanh nghiệp với sinh viên Đại học Mở TP.HCM ngày 10/12/2011

*Năm thứ 3 :

Ngành học: Tin học Khoa: Công Nghệ Thông Tin

Kết quả xếp loại học tập:

Sơ lược thành tích:

Ngày 10 tháng 4 năm 2013

Trang 12

Chương 1:

TỔNG QUAN 1.1 Giới thiệu chung

Ngày nay, công nghệ thông tin và truyền thông (ICT: Information and Communications Technology) đã có mặt ở nhiều phương diện trong cuộc sống hàng ngày của chúng ta từ thương mại đến giải trí và thậm chí cả văn hóa Điện thoại, máy tính cá nhân, thiết bị cầm tay, thư điện tử và việc sử dụng Internet đã trở nên phổ biến trong văn hóa và cộng đồng ICT đã tạo nên một xã hội toàn cầu, nơi mà mọi người có thể tương tác và liên lạc với nhau một cách nhanh chóng và hiệu quả

Cùng với sự phát triển càng ngày càng lớn mạnh của công nghệ thông tin và truyền thông, hàng loạt các thiết bị mới ra đời nhằm đáp ứng nhu cầu mật thiết của các tổ chức, xã hội cũng như mỗi cá nhân Ngày 10 tháng 3 năm 1876 đánh dấu sự ra đời của điện thoại Cha đẻ của chiếc điện thoại đầu tiên là Alexander Graham Bell Chiếc máy thô sơ có thể truyền được giọng nói này đã mở ra một kỷ nguyên phát triển mới trong lịch sử thông tin liên lạc, thay thế cho điện tín[1] Điện thoại di động chính thức ra đời vào ngày 3 tháng 4 năm 1973, mang tên Motorola Dyna Tac, phát minh bởi nhà sáng chế Martin Cooper[2] Motorola Dyna Tac mang hình dáng gần giống điện thoại di động ngày nay Những chiếc điện thoại đầu tiên ra đời chủ yếu nhằm giúp chúng ta có thể liên lạc với nhau một các dễ dàng và nhanh chóng Nhưng cho đến nay, hàng loạt những công nghệ, ứng dụng đã được tích hợp vào bên trong mỗi chiếc điện thoại như cập nhật tin tức, mạng xã hội, tính toán, lập kế hoạch…góp phần nâng cao cuộc sống, giúp giải quyết các vấn đề khó khăn trong hoạt động kinh tế, xã hội, giáo dục, sinh hoạt thường ngày…Một trong số đó phải kể đến công nghệ SMS (Short Message Service)

Trong các hệ thống giáo dục trên toàn cầu, việc sử dụng ICT đã mở rộng hơn với việc trang bị cho lớp học máy vi tính có thể kết nối Internet Sự đa dạng của ICT trong các trường đại học đã và đang được thực hiện để nâng cao kinh nghiệm học tập của

sinh viên

Hiện nay, ICT đã tạo lợi thế cho cả học sinh và giáo viên khi kết hợp thành công trong môi trường học tập Không giống như lớp học truyền thống được khóa lại vào cuối ngày, ICT cho phép sinh viên truy cập những tài nguyên học tập bất cứ lúc nào Điều này làm tăng sự tiếp cận đến những tài nguyên có giá trị đối với sinh viên có nhu cầu, nhất là những sinh viên ở vùng xa ICT cho phép sinh viên truy cập thông tin qua video, podcast và nhiều phương tiện khác, tạo ra một trải nghiệm học tập hấp dẫn cho sinh viên Trong một lớp học truyền thống, sinh viên không thể kiểm soát được việc

Trang 13

những bài học được xây dựng như thế nào Qua ICT, sinh viên đã có thể kiểm soát được trải nghiệm học tập của mình, quyết định khi nào học và những nội dung trong bài sẽ được trình bày như thế nào

Nhờ vào công nghệ thông tin và truyền thông mà cầu nối giữa các trường đại học với học sinh sinh viên, phụ huynh,… được giao tiếp dễ dàng hơn, không còn vận chuyển thủ công như ngày trước Những tin tức, thông báo nhanh chóng được gửi đến toàn thể sinh viên, các phòng ban thông qua các thiết bị công nghệ, những trang website Chính vì thế mà hệ thống tra cứu thông tin sinh viên qua website đang được

các trường Đại học – Cao đẳng áp dụng rộng rãi

1.2 Tình hình nghiên cứu

Hiện nay, trường Đại học Mở TP.HCM cung cấp một số cổng thông tin trực tuyến nhằm giúp cho sinh viên học tập và tra cứu thông tin cần thiết Trong đó, trang dịch vụ http://dichvu.ou.edu.vn/ đang được mọi sinh viên sử dụng Tại đây, sinh viên

có thể tra cứu các thông tin như lịch thi, lịch học, kiểm tra khóa mã số sinh viên, đăng

ký ngoại trú…

Sau mỗi kỳ thi, giảng viên sẽ chấm bài cho đến khi hoàn tất, sau đó điểm sẽ được cập nhật vào cơ sở dữ liệu, hiển thị lên website cho sinh viên tra cứu Như vậy, sau kỳ thi và kèm theo một khoảng thời gian để giảng viên chấm bài, sinh viên muốn biết được kết quả học tập của mình đều phải thường xuyên truy cập vào website

Điều này mang lại những lợi ích nhất định cho sinh viên, nhưng bên cạnh đó còn một số hạn chế, sinh viên không thể biết được kết quả ngay khi điểm được cập nhật Sau khi thi cuối kỳ, sinh viên có thể trở về quê nhà, một số nơi Internet chưa được phổ biến sẽ rất khó khăn để xem được kết quả học tập Ngoài ra, sinh viên thường xuyên truy cập cổng thông tin, mặc dù điểm đã được cập nhật hay chưa, điều này gây lãng phí thời gian

1.3 Mục đích nghiên cứu

Để giải quyết các hạn chế trên, đề tài đề xuất một phương pháp gửi tin nhắn thông báo điểm ngay khi điểm được cập nhật lên trên cơ sở dữ liệu, nhờ vào công nghệ nhắn tin SMS mà mỗi điện thoại di động đã được tích hợp sẵn

1.4 Đối tượng và phạm vi nghiên cứu

Đề tài được thực hiện trong phạm vi trường đại học Mở TPHCM, áp dụng cho các phòng ban và tất cả sinh viên thuộc các khoa trong trường

Trang 14

1.5 Phương pháp nghiên cứu

o Nghiên cứu tổ chức cơ sở dữ liệu và lập trình trên SQL server 2008

o Sử dụng ngôn ngữ lập trình C# trong Visual Studio 2010 để xây dựng giao diện, các tính năng, cài đặt, truy xuất cơ sở dữ liệu, thực hiện các thao tác cập nhật

dữ liệu, tìm kiếm…

o Nghiên cứu về công nghệ nhắn tin SMS và cách thức gửi tin nhắn từ máy tính đến một số điện thoại xác định

o Áp dụng các kiến thức công nghệ từ cơ sở lý thuyết để thực hiện

o Giúp cho sinh viên có một cái nhìn mới và cụ thể hơn về vai trò và ứng dụng của công nghệ thông tin trong cuộc sống

1.6.2 Ý nghĩa khoa học

o Chương trình được tổ chức theo một hệ thống đã được phân tích thiết kế trước

o Các công việc xử lý được thực hiện theo từng module giúp hạn chế các đoạn mã dư thừa trong lúc cài đặt, cải thiện được tốc độ và tiết kiệm bộ nhớ, quản lý chương trình dễ dàng, hiệu quả, dễ xử lý lỗi và hướng đến việc nâng cấp sau này

1.7 Bố cục báo cáo

Báo cáo gồm 4 chương:

Chương 1: Đề cập đến tổng quan vấn đề đề tài giải quyết, nêu hiện trạng và hướng giải quyết hiện trạng, cùng với các phương pháp thực hiện

Chương 2: Trình bày các cơ sở lý thuyết mà đề tài sử dụng

Chương 3: Mô tả chi tiết cài đặt cho ứng dụng

Chương 4: Kết quả đạt được, các hạn chế và hướng phát triển của ứng dụng

Trang 15

Chương 2 :

NỘI DUNG NGHIÊN CỨU

2.1 Phân tích thiết kế hệ thống

2.1.1 Vai trò phân tích thiết kế hệ thống trong phát triển phần mềm

Thời kỳ đầu khi ngành công nghệ phần mềm mới phát triển, do giới hạn về phần cứng và năng lực của ngành công nghệ còn non trẻ, các chương trình được viết ra nhằm phục vụ cho các hệ thống vừa và nhỏ Bên cạnh đó, nhu cầu ứng dụng công nghệ thông tin vào doanh nghiệp vẫn còn hạn chế, hầu hết các doanh nghiệp thời kỳ

đó vẫn còn sử dụng các tủ hồ sơ, con người trong việc quản lý thông tin và xử lý dữ liệu

Ngày nay, với sự phát triển của phần cứng và nhu cầu quản lý dữ liệu số của doanh nghiệp tăng đột biến cả về chất lượng và quy mô hệ thống, công nghệ phần mềm đang đứng trước một thách lớn phải thay đổi và phát triển Các quan niệm về lập trình truyền thống và các mô hình của thế hệ trước đã trở nên lỗi thời, không còn đáp ứng được nhu cầu hiện nay Các khái niệm mới như lập trình hướng đối tượng, lập trình trực quan ra đời giúp nâng cao kỹ năng lập trình, nhưng chúng chỉ hướng đến phần thấp nhất của phát triển phần mềm đó là viết lệnh, trong khi quá trình phân tích và thiết kế hệ thống ngày càng nắm vai trò quan trọng Phân tích thiết kế hệ thống càng chính xác thì tiến độ và khả năng thành công của dự án phần mềm ngày càng được đảm bảo

Hầu hết các hệ thống thông tin của khách hàng hiện nay đều ở mức vừa và lớn Điển hình như hệ thống của ngân hàng, mỗi ngày có hàng ngàn giao dịch diễn ra trong và ngoài nước, khối lượng thông tin cần lưu trữ, xử lý vô cùng lớn và vấn đề bảo mật luôn đóng vai trò sống còn Do đó, chúng ta phải tập trung vào thiết kế hệ thống ngay từ khi dự án còn trên giấy, để có cái nhìn tổng thể về tương tác giữa các thành phần trong hệ thống, tránh tâm lý chủ quan đánh giá thấp vai trò của phân tích thiết kế hệ thống mà chỉ chú trọng vào các đoạn mã

2.1.2 Phân tích thiết kế hướng đối tượng

2.1.2.1 UML

UML - Unifield Modeling Language là một ngôn ngữ chuẩn cho việc xây dựng nên các bản thiết kế hệ thống UML có thể được dùng để mô hình hóa một cách thống nhất từ những hệ thống thông tin của doanh nghiệp cỡ lớn cho đến những ứng dụng nền web, hay thậm chí là cả những hệ thống nhúng theo thời gian thực UML là một ngôn ngữ rất mạnh, nó biểu diễn các mô hình theo hướng đối tượng để thể hiện,

Trang 16

miêu tả các thiết kế của hệ thống và có thể mô tả được những mô hình cần thiết từ lúc phát triển cho tới lúc triển khai hệ thống

2.1.2.2 Các sơ đồ mô hình

Sơ đồ phân cấp của UML

Sơ đồ 2.1: Sơ đồ phân cấp của UML

Sơ đồ 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

Sơ đồ 2.2: Sơ đồ Lớp

Trang 17

Sơ đồ đố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, sơ đồ đối tượng là một thể hiện của biểu đồ lớp

Sơ đồ 2.3: Sơ đồ Đối tượng

Sơ đồ thành phần (Component Diagram)

Mô tả làm thế nào một hệ thống phần mềm được chia ra thành các thành phần và cho thấy sự phụ thuộc trong số các thành phần

Sơ đồ 2.4: Sơ đồ Thành phần

Sơ đồ tổng hợp cấu trúc(Composite structure diagram)

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 thể hiện việc trao đổi qua lại các thông báo giữa các đối tượng, mà không quan tâm đến thứ tự của các thông báo Qua đó, chúng

ta sẽ biết được nhanh chóng giữa hai đối tượng cụ thể nào có trao đổi những

Trang 18

thông báo gì cho nhau Mô tả cấu trúc nội bộ của một lớp và sự cộng tác nào mà cấu trúc này có thể làm

Sơ đồ 2.5 : Sơ đồ tổng hợp cấu trúc

Sơ đồ triển khai (Deployment Diagram)

Mô tả phần cứng được sử dụng trong việc triển khai hệ thống, môi trường thực hiện và các công cụ được triển khai trên phần cứng

Sơ đồ 2.6 : Sơ đồ Triển khai

Trang 19

Sơ đồ Gói (Packed Diagram)

Mô tả làm thế nào một hệ thống được chia thành các nhóm logic, bằng cách hiển thị phụ thuộc trong số các nhóm

Sơ đồ 2.7 : Sơ đồ Gói

2.2 Cơ sở dữ liệu

- Là tập hợp có tính chia sẻ của các dữ liệu có quan hệ logic với nhau (và sự miêu

tả của các dữ liệu này), được thiết kế để đáp ứng nhu cầu về thông tin cho một tổ chức

- Cung cấp thông tin miêu tả dữ liệu, giúp cho chương trình và dữ liệu có thể độc lập với nhau Các dữ liệu quan hệ logic bao gồm: các thực thể, các thuộc tính và các mối quan hệ của các thông tin trong một tổ chức

2.2.1 Ngôn ngữ SQL

2.2.1.1 SQL là ngôn ngữ dữ liệu quan hệ

SQL (Structured Query Language) là công cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu đuợc lưu trữ trong các cơ sở dữ liệu SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tương tác với cơ sở dữ liệu quan hệ Các chức năng cơ bản mà SQL cung cấp:

(a) Định nghĩa dữ liệu

(b) Truy xuất và thao tác dữ liệu

Trang 20

(c) Điều khiển truy cập

(d) Đảm bảo toàn vẹn dữ liệu

2.2.1.2 Vai trò của SQL

- Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không thể tồn tại độc lập SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các hệ quản trị cơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử dụng và hệ quản trị cơ sở dữ liệu

- Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai trò như sau:

• SQL là ngôn ngữ có tính tương tác

• SQL là ngôn ngữ lập trình cơ sở dữ liệu

• SQL là ngôn ngữ quản trị cơ sở dữ liệu

• SQL là ngôn ngữ cho các hệ thống khách/chủ (client/server)

• SQL là ngôn ngữ truy cập dữ liệu trên Internet

• SQL là ngôn ngữ cơ sở dữ liệu phân tán

2.2.2 Ngôn ngữ T-SQL

- Ngôn ngữ SQL là ngôn ngữ phổ biến nhất được sử dụng trong thế giới cơ sở dữ liệu

- T-SQL là ngôn ngữ truy vấn cấu trúc chuẩn của Microsoft

- Ngôn ngữ T-SQL có thể dùng để định nghĩa bảng, chèn, xoá, cập nhật và truy cập dữ liệu trong bảng

- T-SQL là ngôn ngữ khá mạnh có đề cập đến kiểu dữ liệu, đối tượng tạm thời, các thủ tục hệ thống và các thủ tục mở rộng

- T-SQL còn có khả năng xử lý trên mẫu tin, xử lý có điều kiện, điều khiển giao tác, xử lý lỗi và biệt lệ

2.2.3 Microsoft SQL Server

2.2.3.1 Giới thiệu SQL Server:

- SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS)

- SQL Server là một hệ quản trị cơ sở dữ liệu theo mô hình client/server

- SQL Server cung cấp đầy đủ các công cụ để:

• Dễ dàng xây dựng một cơ sở dữ liệu quan hệ lớn (mỗi cơ sở dữ liệu có thể chứa 2 tỷ quan hệ và mỗi quan hệ có thể chứa đến 1024 thuộc tính).[4]

• Giải quyết tình trạng va chạm giữa các user khi cùng truy xuất một dữ liệu tại cùng một thời điểm

Trang 21

• Bảo đảm các ràng buộc toàn vẹn trên cơ sở dữ liệu

• Bảo vệ an toàn cơ sở dữ liệu (quản lý nhiều mức độ để truy cập vào cơ sở

- Trigger là một công cụ mạnh, khi dữ liệu bị sửa đổi nó sẽ tự động thực hiện việc ép buộc các giao dịch sửa đổi này theo các qui tắc đã định (các ràng buộc dữ liệu), nhằm mục đích đảm bảo tính toàn vẹn dữ liệu

- Trigger kiểm tra INSERT: trigger loại này dùng để tự động kiểm tra vi phạm

và bắt buộc thao tác thêm mẫu tin vào table phải tuân theo qui tắc định trước dựa trên tính duy nhất của khóa chính, và các mối quan hệ ràng buộc giữa các bảng

dữ liệu

- Trigger kiểm tra Delete: trigger loại này dùng để tự động kiểm tra vi phạm và

bắt buộc thao tác xóa mẫu tin trên table phải tuân theo qui tắc định trước dựa trên

mối quan hệ ràng buộc giữa các bảng dữ liệu

- Trigger kiểm tra Update: Bản chất UPDATE thật ra là bao gồm hai hành động

: DELETE và INSERT Như vậy, kiểm tra một thao tác UPDATE là kiểm tra liên

tục hai hành động: xóa mẫu tin đang tồn tại và thêm mẫu tin mới

2.2.3.2.2 Thủ tục nội tại (Stored Procedures)

- Giống như ý nghĩa của việc sử dụng thủ tục trong những ngôn ngữ lập trình khác, thủ tục nội tại trong Microsoft SQL Server dùng để tạo ra những xử lý thường dùng bên trong ứng dụng và nhằm để chia nhỏ các xử lý theo mô hình thiết kế xử lý topdown, nhằm đơn giản hóa các xử lý phức tạp

- Thủ tục nội tại thật sự là một tập hợp chứa các dòng lệnh, các biến, các cấu trúc điều khiển bên trong ngôn ngữ T_SQL, dùng để thực hiện một hành động, tất cả các nội dung của thủ tục nội tại sẽ được lưu trữ tại cơ sở dữ liệu của Microsoft SQL Server

- Các đặc trưng của một thủ tục nội tại :

• Tên thủ tục nội tại

• Tham số truyền giá trị vào và tham số nhận giá trị trả về

• Gọi thi hành một thủ tục nội tại khác

Trang 22

• Phạm vi hoạt động của một thủ tục nội tại chỉ có tính cục bộ bên trong một

cơ sở dữ liệu lưu trữ thủ tục đó

• Được gọi thi hành trong môi trường không phải là Microsoft SQL Server

• Được biên dịch ở lần thi hành đầu tiên và cách hoạt động của nó được cất lại, nên các lần gọi thi hành sau nó sẽ hoạt động nhanh hơn nhiều

- Các hành động cơ bản với thủ tục nội tại

• Tạo mới một thủ tục nội tại

DROP PROC[EDURE] Tên_thủ_tục

• Thay đổi nội dung của một thủ tục nội tại

• Trả về giá trị kiểu vô hướng:

o Trả về giá trị kiểu vô hướng là số

o Trả về giá trị kiểu vô hướng là chuỗi

o Trả về giá trị kiểu vô hướng là giá trị boolean

• Trả về giá trị kiểu table

- Hàm có tham số

• Trả về giá trị kiểu vô hướng:

Trang 23

o Trả về giá trị kiểu vô hướng là số

o Trả về giá trị kiểu vô hướng là chuỗi

o Trả về giá trị kiểu vô hướng là giá trị boolean

o Trả về giá trị kiểu table

Visual Studio là bộ công cụ hoàn chỉnh cho phép xây dựng cả các ứng dụng cho máy tính, lẫn các ứng dụng web doanh nghiệp Ngoài khả năng xây dựng những ứng dụng desktop tốc độ cao, còn có thể sử dụng các công cụ phát triển mạnh mẽ dựa trên thành phần cùng các công nghệ khác nhằm đơn giản hóa thiết kế, phát triển và triển khai các giải pháp doanh nghiệp theo nhóm

2.3.1.2 Một số đổi mới trong Visual Studio 2010

Quá trình quản lý chu trình phát triển ứng dụng (ALM) ALM có vai trò quan trọng trong một tổ chức phát triển Trước đây, không phải vai trò nào cũng có đóng góp như nhau trong quá trình này Visual Studio Team System 2010 tiếp nối khả năng tổ chức nhằm xây dựng một nền tảng cân bằng chức năng cùng đóng góp trên toàn bộ tiến trình ALM

Hỗ trợ những xu hướng mới xuất hiện Mỗi năm ngành công nghiệp phát triển phần mềm lại cho ra đời những công nghệ và xu hướng mới Với Visual Studio 2010, Microsoft mang đến hỗ trợ các công cụ và framework cho những phát kiến mới nhất trong kiến trúc, phát triển và triển khai ứng dụng

Tạo cảm hứng cho nhà phát triển Kể từ phiên bản phát hành đầu tiên của Visual Studio, Microsoft đã đặt ra tiêu chuẩn về sự hiệu quả và linh hoạt cho các nhà phát triển Visual Studio 2010 tiếp tục truyền thống này bằng cách cải thiện đáng kể trải nghiệm cho mọi vai trò phát triển phần mềm

Microsoft tiếp tục đầu tư vào hệ điều hành đang dẫn đầu thị trường, các ứng dụng hiệu quả, cùng các nền tảng máy chủ nhằm không ngừng gia tăng giá trị khách hàng Với Visual Studio 2010, khách hàng sẽ nhận được hỗ trợ công cụ yêu cầu để tạo ra các giải pháp không ngờ xung quanh những công nghệ này

Trang 24

2.3.1.3 Một số tính năng trong Visual Studio 2010

Microsoft Visual Studio 2010 Ultimate đơn giản hóa quá trình phát triển giải pháp, giảm thiểu nguy cơ cũng như tăng cường kết quả trả về Các công cụ cho mọi giai đoạn trong chu trình phát triển, từ thiết kế, phát triển đến kiểm định và triển khai, cho phép thỏa sức thể hiện trí tưởng tượng và mang đến những giải pháp có ảnh hưởng lớn Phiên bản này được phân phối dưới dạng ảnh đĩa ISO và có thể được ghi ra một đĩa trống cho quá trình cài đặt

Microsoft Visual Studio 2010 Ultimate cung cấp một môi trường tích hợp các công cụ và kiến trúc máy chủ nhằm đơn giản hóa toàn bộ tiến trình phát triển ứng dụng Tạo ra những kết quả kinh doanh với những tiến trình hiệu quả, tùy biến và có thể dự đoán cũng như tăng cường khả năng làm việc liên thông cùng khả năng theo dõi trong suốt chu trình phát triển với các phân tích chi tiết Bất kể là tạo lập các giải pháp mới hay tăng cường các ứng dụng hiện có, giải phóng sức sáng tạo với các công cụ dựng mẫu, kiến trúc và phát triển cho phép hiện thực hóa tầm nhìn nhắm đến số lượng nền tảng và công nghệ luôn mở rộng, bao gồm điện toán đám mây và song song Hiện thực hóa hiệu quả làm việc nhóm bằng cách khai thác các tính năng cộng tác tiên tiến cũng như sử dụng các công cụ kiểm định và dò lỗi tích hợp nhằm vừa đảm bảo chất lượng giải pháp, vừa giảm thiểu phí tổn phát triển

Mối quan hệ giữa C# và NET:

- C# là một ngôn ngữ lập trình mới, và được biết đến với hai lời chào : Nó được thiết kế riêng để dùng cho Microsoft's NET Framework (Một nền khá mạnh cho sự phát triển, triển khai, hiện thực và phân phối các ứng dụng)

- Nó là một ngôn ngữ hoàn toàn hướng đối tượng được thiết kế dựa trên kinh nghiệm của các ngôn ngữ hướng đối tượng khác

2.3.3 Kết nối cơ sở dữ liệu MS-SQL bằng nền tảng ADO.NET

Trang 25

2.3.3.1 Giới thiệu ADO.NET

Trong thực tế, có rất nhiều ứng dụng cần tương tác với cơ sở dữ liệu NET Framework cung cấp một tập các đối tượng cho phép truy cập vào cơ sở dữ liệu, tập các đối tượng này được gọi chung là ADO.NET

ADO.NET tương tự với ADO, điểm khác biệt chính ở chỗ ADO.NET là một kiến trúc dữ liệu rời rạc và không kết nối liên tục (Disconnected Data Architecture) Việc kết nối không liên tục đến cơ sở dữ liệu đã đem lại nhiều thuận lợi, trong đó điểm lợi nhất là việc giảm đi một lưu lượng lớn truy cập vào cơ sở dữ liệu cùng một lúc, tiết kiệm đáng kể tài nguyên bộ nhớ

Giảm thiểu đáng kể vấn đề hàng trăm ngàn kết nối cùng truy cập vào cơ sở dữ liệu cùng một lúc

2.3.3.2 Kiến trúc ADO.NET

ADO.NET được chia ra làm hai phần chính: NET Data Provider và DataSet

Hình 2.1 Kiến trúc ADO.NET Tập các đối tượng đại diện cho dữ liệu cần xử lý (Content Component)

Trong ADO.NET các class chính giúp tạo nên các đối tượng đại diện cho dữ liệu cần xử lý bao gồm :

- DataSet: DataSet là một đối tượng mới, không chỉ là dữ liệu mà DataSet có thể

coi như là một bản sao gọn nhẹ của cơ sở dữ liệu trong bộ nhớ với nhiều bảng

và các mối quan hệ DataSet hỗ trợ XML thông qua đối tượng

XMLDataDocument Các đối tượng trong DataSet:

• DataTable

• DataView

Trang 26

• DataRow

• DataColumn

• DataRelation

Hình 2.2 Mô hình đối tượng Dataset

Sơ đồ đối tượng trên minh họa các đối tượng trong tập hợp Content Component và sự liên quan giữa các đối tượng đó

- Managed provider component

• Gồm các đối tượng như DataAdapter, DataReader…, giữ nhiệm vụ làm việc trực tiếp với dữ liệu như tập tin, cơ sở dữ liệu…

• DataAdapter là đối tượng kết nối giữa DataSet và cơ sở dữ liệu, nó bao gồm hai đối tượng Connection và Command để cung cấp dữ liệu cho DataSet cũng như cập nhật dữ liệu từ DataSet xuống cơ sở dữ liệu

• DataReader là một đối tượng mới trong ADO.NET, nó giúp truy cập dữ liệu nhanh chóng, nhưng chỉ được phép đọc và di chuyển tới phần tử kế tiếp

2.3.3.3 Các đối tượng trong ADO.NET

ADO.NET cung cấp đầy đủ các chức năng truy xuất cơ sở dữ liệu chung cho các ngôn ngữ lập trình trong NET FrameWork Các đối tượng trong ADO.NET đều bắt nguồn từ tên miền :

Trang 27

Để sử dụng chức năng của các đối tượng này, chúng ta phải tham chiếu đến tên miền SysTem.Data

2.3.3.3.1 Đối tượng Connection

Vai trò của Connection trong ADO.NET cũng như trong ADO là tạo kết nối giữa ứng dụng và nguồn dữ liệu Điểm khác biệt chính là ADO.NET không còn hỗ trợ các thao tác dữ liệu có kết nối, Connection trong ADO.NET chỉ đóng vai trò tạo kênh thông tin giữa ứng dụng và CSDL, không thực hiện các lệnh truy xuất, cập nhật dữ liệu như trong ADO

Hình 2.3 Connection và các đối tượng lệnh

2.3.3.3.2 DataAdapter

Để lấy dữ liệu từ nguồn dữ liệu về cho DataSet chúng ta sử dụng một đối tượng gọi là DataAdapter Đối tượng này cho phép chúng ta lấy cấu trúc và dữ liệu của các bảng trong nguồn dữ liệu về cho DataSet Lúc này chúng ta có thể thiết lập quan hệ cho các bảng để có được một mô hình cơ sở dữ liệu thu gọn theo yêu cầu của ứng dụng Chúng ta có thể thực hiện các thao tác thêm, sửa, hủy trên các bảng của DataSet

và cập nhật các thay đổi đó về nguồn dữ liệu thông qua đối tượng DataAdapter DataAdapter là một bộ gồm 4 đối tượng Command:

- SelectCommand: cho phép lấy thông tin từ nguồn dữ liệu về

- InsertCommand: cho phép chèn thêm dữ liệu (dòng) vào bảng trong nguồn dữ liệu

- UpdateCommand: cho phép sửa đổi dữ liệu trên bảng trong nguồn dữ liệu

Trang 28

- DeleteCommand: cho phép hũy bỏ dữ liệu trên bảng trong nguồn dữ liệu

2.3.3.3.3 DataTable

- Dữ liệu các bảng trong nguồn dữ liệu được lấy về và đưa vào các DataTable DataTable thuộc tên miền : SysTem.Data.DataTable

- Có các cách khai báo như sau :

DataTable Bang_x =new DataTable() Hoặc

DataTable Bang_x =new DataTable(<tên bảng>)

- DataTable hình thành từ DataColumn và DataRow

- Các thuộc tính của DataTable:

• ChildRelations: Trả về tập hợp những quan hệ, trong đó, bảng đóng vai trò bảng cha (bảng một)

• Columns : Trả về tập hợp các cột trong bảng (thuộc lớp DataColumn)

• Constraints : Trả về tập hợp các ràng buộc trong bảng

• DataSet: Trả về DataSet chứa bảng

• DefaultView : Trả về DataView phát sinh từ bảng

• ParentRelations :Trả về tập hợp những quan hệ trong đó bảng đóng vai trò bảng con (bảng nhiều)

• PrimaryKey : Mảng các cột có chức năng làm khóa chính của bảng

• Rows : Trả về tập hợp các dòng dữ liệu của bảng

• TableName : Tên của DataTable

Trang 29

Mỗi DataTable có một view mặc định thông qua thuộc tính DefaultView

DataView thuộc tên miền SysTem.Data.DataView

2.3.3.3.6 Đối tượng Command

Đối tượng Command trên NET cho phép thi hành trực tiếp những câu lệnh SQL, như INSERT, SELECT, UPDATE và DELETE lên dữ liệu nguồn để thêm, chọn, cập nhật và xóa dữ liệu trên cơ sở dữ liệu Ngoài ra, có thể dùng đối tượng command để thi hành những stored procedure trong cơ sở dữ liệu

Lớp SqlCommand tượng trưng cho những đối Command trên Data Provider SQL

- Các thuộc tính của lớp Command:

CommandText: Có thể là một câu lệnh SQL, tên một store procedure

hoặc tên một bảng, tùy vào trị của CommandType

CommandTimeout: Đây là thời gian (tính theo giây) chờ thi hành Command

này, mặc định là 30 giây Nếu Command không được thi hành trong khoảng thời gian này thì một biệt lệ sẽ được tung ra

CommandType: Thuộc tính này cho biết làm thế nào để phân biệt một

dung của CommandText là Text, StoredProcedure hoặc TableDirect…

Connection: Đây là connection nối kết cơ sở dữ liệu

DesignTimeVisible: Thuộc tính này dùng để cho biết liệu đối tượng

Command có nên thực hiện lên trên một ô control Windows Form Designer hay không Trị mặc định là False

Parameters: Thuộc tính này cho tìm lại collection (SqlParsmeter

Collection) các thông số của thuộc tính CommandText

Transaction: Thuộc tính này được dùng để tìm lại hoặc đặt giao dịch

mà command đang thi hành Đối tượng transaction cũng được kết nối về cùng một đối tượng connection như đối tượng command

UpdatedRowsource: Thuộc tính này cho phép truy xuất hoặc đặt giá trị, để

kết quả thi hành câu lệnh Command này sẽ áp dụng đối với đối tượng DataRowkhi nó được sử dụng bởi hàm Update của DbDataAdapter Thuộc tính này sẽ nhận một trong những giá trị của enumeration

Trang 30

2.3.3.3.7 DataReader

- Một DataReader sẽ cung cấp một hình thức đọc dữ liệu từ cơ sở dữ liệu DataReader là giải pháp đối với dòng chảy dữ liệu tuôn về phía trước (forward streaming data) thông qua ADO.NET

- NET data provider cung cấp đối tượng DataReader thông qua lớp SqlDataReader

- DataReader chạy rất hữu hiệu khi nói đến việc sử dụng bộ nhớ, vì chỉ một mẫu tin được đọc trong một lúc, trong khi DataTable thì cấp phát vùng nhớ cho tất cả các mẫu tin được tìm thấy

- Khai báo và khởi tạo đối tượng DataReader: để thể hiện một đối tượng DataReader, dùng hàm ExecuteReader thuộc lớp Command Khi sử dụng DataReader thì connection được gắn liền với nó và không được làm gì thêm, nên phải đóng DataReader lại trước khi dùng connection cho việc khác Vì thế rất dễ dẫn đến time-out nếu như DataReader khóa chặt các mẫu tin làm cho các truy vấn khác phải chờ đợi

2.3.3.4 Html Agility Pack

- Là một thư viện nguồn mở trên codeplex, giúp giảm bớt screen scraping rất nhiều

- Screen scraping là một thuật ngữ chỉ việc lấy nội dung một trang web sau

đó phân tích (parsing) và lấy thông tin cần thiết từ nó Trước khi có RSS feeds thì đây là cách duy nhất để lấy thông tin từ các websites Với sự ra đời của đồng

bộ hóa nội dung (syndicated content) và các dịch vụ web, việc lấy thông tin từ một website nào đó đã trở nên dễ dàng hơn rất nhiều, nhưng vẫn có những tình huống phải sử dụng screen scraping

- Thư viện NET với các lớp dựng sẵn (built-in classes) sẽ giúp thao tác với XML một cách dễ dàng Tuy nhiên trong hầu hết các trường hợp, sẽ không thể thực hiện screen scrape triệt để với những thư viện này Lý do là những thư viện này yêu cầu những chuẩn mark-up phù hợp mà thông thường các trang web không sử dụng Chuẩn XML có một quy định chặt chẽ về lỗi, nên trừ khi có trang đầu vào được định dạng hoàn hảo, nếu không sẽ không thể sử dụng những class này

- HtmlAgilityPack cung cấp một bộ class, giúp dễ dàng tải nội dung trang web về, sau đó tiến hành truy vấn bằng cách sử dụng cú pháp XPath

-

Trang 31

2.4 Mô hình 3 tầng (3-layer)

2.4.1 Giới thiệu

Mô hình gồm có 3 layer:

- Presentation Layer

- Business Logic Layer

- Data Access Layer

Hình 2.4: Mô hình 3 tiers

2.4.1.2 Business Logic Layer

Đây là layer xử lý dữ liệu trước khi được đưa lên hiển thị trên màn hình hoặc xử

lý chúng trước khi lưu dữ liệu xuống cơ sở dữ liệu

Đây là nơi kiểm tra và tính toán các yêu cầu nghiệp vụ

2.4.1.3 Data Access Layer

Layer này sẽ có nhiệm vụ tương tác với cơ sở dữ liệu như thêm, xoá, sửa, đọc dữ liệu,

Trang 32

2.4.2 Quá trình hoạt động

2.4.2.1 Quá trình hiển thị dữ liệu

Data Access Layer (DAL) sẽ tương tác với Database và lấy dữ liệu lên nhờ vào câu lệnh select hay thông qua proceduce/function Sau khi lấy được dữ liệu cần thiết, DAL sẽ đưa kết quả lên Business Logic Layer (BLL) Tại đây BLL sẽ định hình lại dữ liệu (nếu cần ) hiển thị sau đó đưa lên tầng Presentation cho người dùng

2.4.2.2 Quá trình đưa dữ liệu xuống

Người dùng thao tác với Presentation Layer (PL) và ra lệnh thực thi, sau đó PL

sẽ kiểm tra các thông tin người dùng nhập Nếu thỏa, dữ liệu/lệnh sẽ được truyền xuống tầng BLL để tiếp tục tính toán, kiểm tra, rồi được đưa xuống DAL để thao tác trực tiếp với cơ sở dữ liệu

2.4.2.3 Ưu điểm

Giúp người lập trình dễ dàng mở rộng, quản lý mã nguồn

Tính sử dụng lại rất cao

Mỗi tầng đều có nhiệm vụ riêng, giúp người lập trình dễ dàng tìm ra lỗi khi vướng phải

do các nhà cung cấp dịch vụ quyết định Ở Châu Âu, tin nhắn hai chiều trở nên rất phổ biến, còn ở Bắc Mỹ đang phát triển chậm tuy nhiên những "ông trùm" trong làng công nghệ không dây đã bắt đầu cung cấp dịch vụ này (như AT&T) SMS là một dịch vụ dữ liệu mang tính thống nhất được hỗ trợ trên các hệ GSM, TDMA và CDMA SMS có thể được truyền từ một thiết bị đầu cuối như email hay mobile sau đó truyền qua mạng lưới thông qua một trung tâm SMS (Short Message Service Center, SMSC), SMSC sẽ gửi tin này tới đích

- Lợi ích của SMS:

• Bảo đảm sự phân tán tin nhắn tới một hay nhiều người

Trang 33

• Tăng người dùng nhờ dịch vụ phân tán

• Giá thành thấp và đảm bảo sự chắc chắn, tin cậy trong công nghệ truyền thông phát tán

• Tương thích với Internet và những ứng dụng cơ bản

• Cung cấp dịch vụ nhanh chóng, rẻ tiền, tiện lợi cho người sử dụng

• Dịch vụ thông tin: các nhà mạng có thể gửi các thông tin hàng ngày đến người sử dụng qua SMS

• Quảng cáo: SMS có thể sử dụng cho mục đích quảng cáo Người sử dụng có thể đăng ký để nhận các tin nhắn đặc biệt, thương mại

2.5.1.2 SMSC

Trung tâm tổng đài nhắn tin (SMS Center - SMSC) chịu trách nhiệm cho việc thực hiện SMS của nhà cung cấp dịch vụ viễn thông Khi một tin nhắn được gửi đi từ điện thoại di động, nó sẽ tới SMSC trước, sau đó SMSC sẽ định hướng và chuyển SMS đó tới đích đến (thuê bao nhận) Giả sử đích đến (thuê bao nhận) không sẵn sàng, không nhận được (khi điện thoại bị tắt nguồn, ra khỏi vùng phủ sóng…) thì SMSC sẽ giữ lại tin nhắn SMS và gửi lại sau khi thuê bao hoạt động trở lại

Để có thể kết nối tới SMSC thì cần phải biết được địa chỉ của SMSC đó Thông thường thì địa chỉ của SMSC đã được nhà cung cấp dịch vụ viễn thông cài đặt sẵn vào SIM card, vì thế, khi sử dụng điện thoại di động thì không cần phải cấu hình lại địa chỉ kết nối SMSC

2.5.1.3 SMS Gateway

Hình 2.5: SMS Getway SMS Gateway là cổng kết nối tới các nhà khai thác mạng di động, cho phép các đối tác xây dựng những chương trình sử dụng tin nhắn SMS, MMS làm phương tiện tương tác với khách hàng của mình

Trang 34

SMS Gateway mang đến một phương thức tương tác tin nhắn hai chiều đầy đủ, giúp các đối tác có thể chủ động thiết kế các chương trình tin nhắn để sử dụng hoặc có thể cung cấp chương trình dịch vụ cho một khách hàng khác

• Thông báo chương trình sản phẩm

dịch vụ mới

• Quảng cáo qua chương trình dựa

trên SMS

• Cung cấp nội dung di động

(ringtone, wallpaper, games )

• Cung cấp thông tin cần biết (chứng

khoán, các thông tin có giá trị )

• Nghiên cứu thị trường sử dụng

phương thức tương tác bằng SMS

• Gửi SMS số lượng lớn đến các thuê

bao di động

• Thông báo/gửi/nhận email bằng SMS

• Tích hợp SMS cho các phần mềm máy tính

• Gửi/nhận SMS trực tiếp từ website

• SMS tương tác khán giả qua truyền hình, phát thanh

• SMS cho các hệ thống cảnh báo, giám sát

• SMS làm thông tin đầu vào cho các hệ thống

• SMS trong các hệ thống tự động trả lời thông tin khách hàng

- Lợi ích khi dùng SMS Gateway

• Kết nối dễ dàng bằng nhiều giao thức HTTP POST, SMPP, Web Service, FTP… qua môi trường Internet

• Không cần kiến thức lập trình nền tảng về SMS

• Tiết kiệm thời gian triển khai các ý tưởng về SMS

• Không cần chi phí đầu tư nền tảng hạ tầng SMS

• Nhiều lựa chọn tương tác với người dùng

• Toàn quyền tương tác trên các đầu số cung cấp

• Độ tương tác với người dùng cao

Trang 35

2.5.1.4 GSM/GPRS modem

Hình 2.6: GSM/GPRS modem Đây là mô hình gửi tin nhắn bằng cách kết nối tới GSM/GPRS modem, gửi các lệnh điều khiển tới nó để nó gửi tin nhắn tới các thuê bao được yêu cầu Các GSM/GPRS modem giao tiếp và nhận lệnh điều khiển bằng các AT commands

Như mô hình minh họa, cần phải giả lập một SMS Gateway để thực hiện các lệnh gửi AT commands tới GSM/GPRS modem, sau đó ứng dụng dành cho người dùng sẽ kết nối và gửi lệnh tới gateway

GSM Modem là một loại modem chuyên dụng, có một hoặc nhiều khe gắn thẻ SIM thuộc mạng GSM (Mobi, Vina, Viettel, Vietnamobile )

GSM modem có thể kết nối với máy tính qua cổng COM (R232), USB hoặc Bluetooth

Khi một GSM Modem kết nối với máy tính, nó sẽ cho phép máy tính giao tiếp với mạng điện thoại di động để thực hiện việc gửi nhận tin nhắn SMS, MMS, truyền tải DATA, FAX, kết nối GPRS và Internet…

Một GSM Modem cho phép kết nối với các phần mềm như Hyper Terminal, iNET Smart SMS để gửi và nhận tin nhắn SMS trong giao diện modem Để thực hiện được điều này, GSM Modem phải hỗ trợ tập lệnh "AT COMMAND" cho việc gửi nhận tin nhắn SMS, theo quy định của GSM ETSI 07,05; 07,07 và 3GPP TS 27,005.[8]

Cũng có thể sử dụng các ngôn ngữ lập trình như C#, VB6, VB.NET, JAVA, và tập lệnh AT Command để viết lên các ứng dụng điều khiển GSM modem gửi nhận tin nhắn một cách tự động, phục vụ cho nhu cầu

AT Commands: AT Commands là những lệnh chỉ dẫn được sử dụng để điều

khiển một modem AT là chữ viết tắt của từ ATtention Mỗi một lệnh đều được bắt

đầu bằng “AT” hoặc là “at”

- Có hai loại AT command:

Trang 36

• Lệnh cơ bản (basic command): là những lệnh không bắt đầu bằng dấu “+”

Ví dụ như D (Dial): ATD, A (Answer): ATA,…

• Lệnh mở rộng (extended command): là những lệnh bắt đầu bằng dấu “+” Ví dụ: +CMGS (gửi SMS): AT+CMGS, +CMGR (lấy về tin nhắn SMS): AT+CMGR,…

- Tất cả các loại lệnh của GSM modem đều là loại lệnh AT mở rộng (extended command) Sau đây là danh sách một số loại lệnh AT mở rộng thông dụng:

- Lấy thông tin cơ bản của điện thoại hoặc GSM/GPRS modem Tên nhà sản xuất: AT+CGMI, mã IMEI (International Mobile Equipment Identity): AT+CGSN

- Gửi tin nhắn: AT+CMGS, AT+CMSS

- Đọc tin nhắn: AT+CMGR, AT+CMGL

- Xóa tin nhắn: AT+CMGD

- Tìm kiếm, đọc thông tin danh bạ: AT+CPBF, AT+CPBR

- Gửi và nhận fax: AT+F

- Ngoài ra thì các lệnh AT có thể kiểm tra được các thông tin như độ mạnh của tín hiệu (signal strength), xem tình trạng pin…

2.5.1.5 Web portal

Hiện nay, cổng thông tin điện tử là hệ thống được nhiều tổ chức, cơ quan và đặc biệt là doanh nghiệp muốn đưa vào khai thác thay cho các website giao dịch thông thường Các cổng này tạo ra nhiều hơn khả năng tương tác hai chiều giữa khách hàng, người sử dụng và doanh nghiệp thông qua Internet để phát triển đa dạng các kênh cung ứng hàng hóa, đáp ứng ngày một tốt hơn nhu cầu của khách hàng

Hình 2.7: Web portal

Trang 37

2.5.1.5.1 Định nghĩa

Website truyền thống có nhược điểm là khả năng tích hợp các thông tin, dịch vụ từ nhiều nơi vào một là rất khó khăn, thậm chí không thể làm được về mặt nguyên tắc công nghệ Thời gian gần đây, trên thế giới đã xuất hiện một mô hình mới, Portal thay thế cho các website đơn lẻ Portal là một môi trường giao diện web thống nhất cho phép truy cập đơn giản, bảo mật đối với dữ liệu và các chương trình ứng dụng cho người dùng Portal có thể thu thập, tích hợp và cung cấp thông tin theo nhu cầu đặc thù của mỗi cá nhân, giúp các đơn vị tìm được cách thức giao tiếp cao cấp và riêng tư Cổng thông tin điện tử: một dạng web site được tổ chức theo hướng portal và sử dụng công nghệ portal, chủ yếu mang tính chất thông tin Đây là bước phát triển đầu tiên của quá trình xây dựng cổng giao tiếp điện tử và/hoặc cổng giao dịch điện tử sau này

Cổng giao tiếp điện tử: là bước kế thừa của một cổng thông tin điện tử, nhưng giàu dịch vụ hơn, và điều căn bản là cung cấp các khả năng giao tiếp hai chiều giữa người cung cấp và người sử dụng Bên trong của hình thức này là các khả năng giao tiếp ngang có tính chất liên thông và tự động cao

Cổng giao dịch điện tử: là bước kế thừa của một cổng giao tiếp điện tử, nhưng giàu dịch vụ thương mại, dịch vụ trực tuyến hơn, hướng tới một “cuộc sống trực tuyến” cho mỗi người Ngày càng nhiều dịch vụ được ghép thêm vào cổng, kể cả các ứng dụng thương mại điện tử hay chính phủ điện tử của địa phương Cổng giao dịch còn thực hiện các chức năng giao dịch với các nhà cung cấp dịch vụ khác, các cổng khác, một cách tự động thông qua các dịch vụ công nghệ bên dưới hệ thống mà người dùng không cần quan tâm

Portal cho phép cung cấp nhiều loại dịch vụ Internet trên cùng một trang chủ, sử dụng mô hình cổng, ngoài nhiệm vụ chính còn cung cấp một số dịch vụ miễn phí như công cụ tìm kiếm, tin tức trong và ngoài nước, nơi truy tìm hàng bán, thư điện tử hay phòng thoại (chat room) và các diễn đàn Đây là một mô hình tổng hợp nhiều chức năng, ngày càng được ưa chuộng vì sự đa dạng của nó Mô hình này có nhiều ưu điểm, nhưng cũng đòi hỏi phải đầu tư rất lớn và quản lý chuyên nghiệp để có thể trở thành một “khu phố” trên mạng thu hút người dùng

2.5.1.5.2 Tính năng của Portal:

- Khả năng phân loại nội dung: cho phép tổ chức nội dung và ứng dụng theo

nhiều cách khác nhau để đáp ứng các yêu cầu không giống nhau của mỗi nhóm (phân loại theo người sử dụng, phòng ban, đơn vị) bên trong một tổ chức

Trang 38

- Khả năng tìm kiếm và chỉ mục: Portal cung cấp hoặc tích hợp được các hệ

thống tìm kiếm và đánh chỉ mục các văn bản, tài liệu để giúp người sử dụng có thể nhanh chóng truy xuất đến những thông tin cần thiết

- Khả năng quản lý nội dung: là một tính năng hữu hiệu cho phép người sử

dụng không cần hiểu biết về kỹ thuật vẫn có thể tạo lập được nội dung Portal kiểm soát được các truy xuất đến từng nội dung, để đảm bảo chỉ những người có quyền mới có thể truy nhập được các văn bản mà người sử dụng được cấp phép

- Khả năng cá nhân hoá: Portal hiển thị hay thể hiện theo nhiều cách khác nhau

tuỳ thuộc vào nhóm người sử dụng Mỗi các nhân có thể tự chỉnh sửa, tái lập lại các hiển thị thông tin, ứng dụng, nội dung theo sở thích hoặc để phù hợp với công việc của mình

- Khả năng tích hợp các ứng dụng: Portal cung cấp một môi trường tích hợp

toàn bộ các ứng dụng website đang có Khía cạnh tích hợp này bao gồm hỗ trợ truy cập một lần (một cổng), kể cả các tài nguyên, trang web bên ngoài, hỗ trợ các dịch vụ Website và có thể hiểu Portal mang lại một ứng dụng được tích hợp

- Các công cụ phát triển: sản phẩm Portal cung cấp các công cụ phát triển mạnh

mẽ và dựa trên các tiêu chuẩn, cho phép kỹ thuật viên tích hợp các ứng dụng và các chức năng Portal mở rộng khác

- Các tính năng của một ứng dụng lớn: khả năng đáp ứng được dư thừa dữ

liệu, khả năng chịu lỗi, khả năng cân bằng tải (chia luồng xử lý), khả năng sao lưu

- Khả năng hỗ trợ Mobile và công nghệ không dây: Portal có khả năng vận

hành đa nền, đa phương tiện Cho phép người sử dụng có thể sử dụng nhiều hệ điều hành khác nhau, thông qua các trình duyệt web khác nhau để truy xuất vào Portal Bao gồm cả các phương tiện như điện thoại di động, các loại máy tính cầm tay, PDA (Personal Digital Assitant) không dây

- Khả năng truy cập một lần (single sign-on): tích hợp hoặc cung cấp hệ thống

đăng nhập một lần (một cửa) Nói cách khác, Portal sẽ lấy thông tin về người sử dụng từ các dịch vụ thư mục như LDAP (lightweight Directory Access Protocol), DNS (Domain Name System) hoặc AD (Active Directory)

- Khả năng bảo mật: Portal cung cấp các hệ thống xác thực và cấp phép mạnh

Bất kỳ sự tích hợp các hệ thống nào, với cơ chế đăng nhập một lần, đều phải được bảo mật và ngăn chặn các giao dịch không hợp lệ của người sử dụng trên các ứng dụng khác nhau

Trang 39

Chương 3:

NỘI DUNG THỰC HIỆN ĐỀ TÀI

3.1 Phân tích thiết kế hệ thống

3.1.1 Các sơ đồ phân tích (UML diagrams)

3.1.1.1 Sơ đồ Use case (Use case diagram)

- <<extends>> (tương đương với <<extend>> trong UML truyền thống): Nếu

một use case A được vẽ “extends” nối đến use case B, điều đó có nghĩa là A cùng

loại với B, nhưng A mang tính cụ thể và đặc biệt hơn B (B là use case tổng quát)

3.1.1.2 Các sơ đồ hoạt động (Activity diagram)

(a) Đăng nhập

Ngày đăng: 12/01/2022, 23:43

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