Tải bản đầy đủ (.doc) (89 trang)

XÂY DỰNG CÔNG CỤ HỖ TRỢ QUẢN LÝ VÀ KHAI THÁC DỮ LIỆU ẢNH VIỄN THÁM VNREDSAT1 TRÊN NỀN WEB

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 (2.4 MB, 89 trang )

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

XÂY DỰNG CÔNG CỤ HỖ TRỢ QUẢN LÝ
VÀ KHAI THÁC DỮ LIỆU ẢNH VIỄN THÁM
VNREDSAT-1 TRÊN NỀN WEB

Hà Nội – 2017


TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

NGUYỄN AN NGUYÊN

XÂY DỰNG CÔNG CỤ HỖ TRỢ QUẢN LÝ
VÀ KHAI THÁC DỮ LIỆU ẢNH VIỄN THÁM
VNREDSAT-1 TRÊN NỀN WEB
Ngành: Công nghệ thông tin
Mã ngành : 52480201
NGƯỜI HƯỚNG DẪN: ThS. VŨ NGỌC PHAN

Hà Nội – 2017


LỜI CAM ĐOAN
Em xin cam đoan rằng đồ án tốt nghiệp này do chính em thực hiện,
không có hình thức sao chép từ các công trình nghiên cứu nào khác, các tài
liệu được sử dụng trong đồ án tốt nghiệp đều được ghi rõ nguồn gốc.
Sinh viên thực hiện


Nguyễn An Nguyên


LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những
sự giúp đỡ mọi người dù ít hay nhiều, dù trực tiếp hay gián tiếp. Trong suốt
thời gian học tập nhất là trong quá trình làm đồ án, em đã nhận được rất nhiều
sự quan tâm giúp đỡ nhiệt tình của các thầy cô, bạn bè và gia đình.
Đầu tiên em xin gửi lời cảm ơn sâu sắc đến Th.S Vũ Ngọc Phan, đã trực
tiếp hướng dẫn và giúp đỡ em rất nhiều trong quá trình thực hiện đề tài này.
Em cũng xin gửi lời cảm ơn đến các thầy cô trong Khoa Công nghệ
thông tin, Trường Đại học Tài nguyên đã tận tình giảng dạy,trang bị cho em
những kiến thức trong suốt những năm học vừa qua.
Vì thời gian, điều kiện có hạn, em đã cố gắng rất nhiều để hoàn thành đề
tài nhưng vẫn còn nhiều hạn chế và không thể tránh khỏi những thiếu sót,
mong thầy cô và các bạn có những ý kiến đóng góp để em có thể hoàn thiện
đề tài một cách tốt nhất.
Em xin chân thành cảm ơn!


MỤC LỤC
LỜI CAM ĐOAN.......................................................................................................................................3
LỜI CẢM ƠN...........................................................................................................................................4
DANH MỤC HÌNH...................................................................................................................................7
DANH MỤC CÁC TỪ VIẾT TẮT.................................................................................................................9
Chi tiết ảnh xem nhanh................................................................................................................37
Quản lý ảnh xem nhanh...............................................................................................................37
Thiết lập cấu hình danh mục ảnh xem nhanh.............................................................................38
Báo cáo kết quả chiết xuất ảnh xem nhanh................................................................................39
Chiết xuất vị trí cảnh ảnh.............................................................................................................40

Quản lý danh mục vị trí cảnh ảnh................................................................................................41
Chi tiết vị trí cảnh ảnh..................................................................................................................42
Quản lý vị trí cảnh ảnh.................................................................................................................43
Tra cứu, liệt kê vị trí cảnh ảnh......................................................................................................43
Thiết lập cấu hình danh mục vị trí cảnh ảnh...............................................................................44
Báo cáo kết quả chiết xuất vị trí cảnh ảnh..................................................................................44
Chiết xuất siêu dữ liệu.................................................................................................................45
Quản lý danh mục siêu dữ liệu....................................................................................................46
Chi tiết siêu dữ liệu......................................................................................................................46
Quản lý siêu dữ liệu.....................................................................................................................47
Tra cứu, liệt kê siêu dữ liệu..........................................................................................................47
Thiết lập cấu hình danh mục siêu dữ liệu...................................................................................48
Báo cáo kết quả chiết xuất siêu dữ liệu.......................................................................................48
Quản trị hệ thống.........................................................................................................................49
Quản lý người dùng.....................................................................................................................49
Quản lý nhóm người dùng...........................................................................................................50
Quản lý quyền..............................................................................................................................51
Phân quyền..................................................................................................................................51
Quản lý hồ sơ cá nhân.................................................................................................................51


Báo cáo kết quả chiết xuất siêu dữ liệu.......................................................................................56
Chiết xuất ảnh xem nhanh...........................................................................................................56
Quản lý vị trí cảnh ảnh.................................................................................................................62
Tra cứu, liệt kê vị trí cảnh ảnh......................................................................................................63
Thiết lập cấu hình vị trí cảnh ảnh................................................................................................63
Báo cáo kết quả chiết xuất vị trí cảnh ảnh..................................................................................64


DANH MỤC HÌNH

LỜI CAM ĐOAN.......................................................................................................................................3
LỜI CẢM ƠN...........................................................................................................................................4
DANH MỤC HÌNH...................................................................................................................................7
DANH MỤC CÁC TỪ VIẾT TẮT.................................................................................................................9
Chi tiết ảnh xem nhanh................................................................................................................37
Quản lý ảnh xem nhanh...............................................................................................................37
Thiết lập cấu hình danh mục ảnh xem nhanh.............................................................................38
Báo cáo kết quả chiết xuất ảnh xem nhanh................................................................................39
Chiết xuất vị trí cảnh ảnh.............................................................................................................40
Quản lý danh mục vị trí cảnh ảnh................................................................................................41
Chi tiết vị trí cảnh ảnh..................................................................................................................42
Quản lý vị trí cảnh ảnh.................................................................................................................43
Tra cứu, liệt kê vị trí cảnh ảnh......................................................................................................43
Thiết lập cấu hình danh mục vị trí cảnh ảnh...............................................................................44
Báo cáo kết quả chiết xuất vị trí cảnh ảnh..................................................................................44
Chiết xuất siêu dữ liệu.................................................................................................................45
Quản lý danh mục siêu dữ liệu....................................................................................................46
Chi tiết siêu dữ liệu......................................................................................................................46
Quản lý siêu dữ liệu.....................................................................................................................47
Tra cứu, liệt kê siêu dữ liệu..........................................................................................................47
Thiết lập cấu hình danh mục siêu dữ liệu...................................................................................48
Báo cáo kết quả chiết xuất siêu dữ liệu.......................................................................................48
Quản trị hệ thống.........................................................................................................................49
Quản lý người dùng.....................................................................................................................49
Quản lý nhóm người dùng...........................................................................................................50
Quản lý quyền..............................................................................................................................51
Phân quyền..................................................................................................................................51
Quản lý hồ sơ cá nhân.................................................................................................................51



Báo cáo kết quả chiết xuất siêu dữ liệu.......................................................................................56
Chiết xuất ảnh xem nhanh...........................................................................................................56
Quản lý vị trí cảnh ảnh.................................................................................................................62
Tra cứu, liệt kê vị trí cảnh ảnh......................................................................................................63
Thiết lập cấu hình vị trí cảnh ảnh................................................................................................63
Báo cáo kết quả chiết xuất vị trí cảnh ảnh..................................................................................64


DANH MỤC CÁC TỪ VIẾT TẮT
KÝ HIỆU
CSDL

NỘI DUNG VIẾT TẮT
Cơ sở dữ liệu

Ý NGHĨA
Cơ sở dữ liệu

EF

Entity Framework

Công cụ truy xuất dữ liệu


1

MỞ ĐẦU
1. Lý do lựa chọn đề tài
Vệ tinh VNREDSAT-1 là vệ tinh viễn thám đầu tiên của Việt Nam. Từ

khi chính thức vận hành, vệ tinh đã thu nhận được hàng chục nghìn cảnh ảnh,
và như vậy, với tuổi đời theo thiết kế là 5 năm, vệ tinh sẽ chụp được hàng
trăm nghìn cảnh ảnh trên khắp thế giới. Tuy nhiên, ảnh VNREDSAT-1 lại
không được thiết kế theo hệ thống tọa độ hàng cột như hệ thống K-J của ảnh
SPOT, nên hiện nay chưa thể định danh được loại ảnh này. Điều đó gây khó
khăn cho công tác tra cứu và quản lý dữ liệu ảnh.
Hiện nay, để tra cứu tổng thể dữ liệu ảnh VNREDSAT-1 chụp được, cần
phải chia làm nhiều công đoạn tìm kiếm thủ công, tốn rất nhiều thời gian,
công sức và rất dễ nhầm lẫn.
Đề tài có mục tiêu hỗ trợ công tác quản lý, vận hành và khai thác hiệu
quả hệ thống viễn thám VNREDSAT-1; trong đó mục tiêu cụ thể là: xây dựng
phương pháp định danh cảnh ảnh VNREDSAT-1 trên toàn thế giới; xây dựng
bộ công cụ hỗ trợ việc quản lý và công bố dữ liệu VNREDSAT-1.
2. Mục tiêu của đề tài
Phần mềm “Quản lý và khai thác dữ liệu VNREDSAT-1” hỗ trợ việc
quản lý dữ liệu đầu vào theo từng thư mục cảnh ảnh hoặc nhập dữ liệu từ máy
chủ liên kết đồng thời kết xuất dữ liệu đầu ra bao gồm
-Ảnh xem nhanh
+ Vị trí cảnh ảnh.
+ Siêu dữ liệu: FID, Shape, Senceid, Mission, mode, cloud, nwlat, nwlong,..
-Mục tiêu của đề tài là xây dựng phần mềm với các chức năng chính sau:
+ Chiết xuất thông tin ảnh
+ Quản lý dữ liệu VNREDSAT– 1
+ Thống kê báo cáo
+ Quản trị hệ thống
3. Nội dung nghiên cứu


2
-Tìm hiểu hệ thống thu nhận ảnh viễn thám VNREDSAT-1 và cách thức

quản lý tư liệu ảnh
-Tìm hiểu khái niệm và cách thức hoạt động của mô hình MVC
-Tìm hiểu về Entity Framework phục vụ mục đích kết nối, quản lý và
khai thác dữ liệu giữa chương trình và CSDL
-Tìm hiểu về Bootstrap phục vụ mục đích thiết kế giao diện web
4. Phương pháp nghiên cứu
-Khảo sát thực tế về hệ thống thu nhận và lưu trữ tư liệu ảnh
VNREDSAT-1 tại Cục Viễn thám quốc gia và Viện Công nghệ Vũ trụ Việt
nam
-Đọc và tìm hiểu các khái niệm, các công nghệ được sử dụng trong
chương trình
-Tham khảo và làm các ví dụ trên mạng để nắm rõ cách thức hoạt động
của mô hình lập trình và chương trình thiết kế.
5. Kết quả đạt được
Hoàn thành giao diện chương trình chương trình với các chức năng:
chiết xuất thông tin ảnh, xem ảnh nhanh, quản trị hệ thống, thống kê báo
cáo…, các chức năng hoạt động ổn định.
6. Chi tiết nội dung của đồ án
Chương 1. Tổng quan đề tài
Chương 2. Phân tích thiết kế hệ thống
Chương 3: Cài đặt và thử nghiệm


3

CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI
1.1 Hệ thống lưu trữ quản lý tư liệu ảnh viễn thám VNREDSAT-1
1.1.1 Vệ tinh viễn thám VNREDSAT-1
VNREDSAT-1 hay VNREDSAT-1 A (tên đầy đủ Vietnam Natural
Resources Enviroment and Disaster – monitoring Satellite-1A) là vệ tinh khoa

học quan sát Trái Đất, có khả năng chụp ảnh toàn bộ các khu vực trên bề mặt
Trái Đất.
Hệ thống vệ tinh viễn thám VNREDSAT-1 là hệ thống vệ tinh quan sát
Trái Đất đầu tiên của Việt Nam. Vệ tinh VNREDSAT1 do công ty EADS
Astrium (Pháp) thiết kế, chế tạo và đủ điều kiện để đưa lên quỹ đạo.
Một vài thông tin kỹ thuật cơ của vệ tinh VNREDSAT-1:
Khối lượng: 120kg
Cao độ: 680km
Ngày phóng: 7/5/2013
Quỹ đạo quanh Trái Đất
Chụp ảnh ở kênh toàn sắc và 4 kênh đa phổ
Độ phân giải mặt đất 2.5m (Pan) và 10m (MS)
Thời gian lặp lại: 3 ngày
Dự án VNREDSAT-1 được xây dựng dựa trên những nghiên cứu, đánh
giá về nhu cầu thực tiễn trong nước, công nghệ và xu hướng phát triển mới
của công nghệ vệ tinh nhỏ quan sát Trái Đất trên thế giới.
Sau khi thực hiện thành công dự án, Việt Nam sẽ chủ động cung cấp ảnh
vệ tinh độ phân giải cao cho các Bộ, ngành và các tỉnh thành có nhu cầu sử
dụng dữ liệu ảnh ảnh vệ tinh viễn thám phục vụ phát triển kinh tế - xã hội,
ứng phó với thảm họa thiên nhiên và biến đổi khí hậu.
Đặc biệt, dự án VNREDSAT1 là sự phối kết hợp để tận dụng các cơ sở
hạ tầng sẵn có của Hệ thống thu nhận, lưu trữ và xử lý ảnh các vệ tinh viễn
thám của Bộ Tài nguyên Môi trường, nhằm tạo ra một hệ thống giám sát hoàn
chỉnh, độc lập từ vệ tinh đến trạm thu mặt đất và trung tâm xử lý phân phối dữ
liệu ảnh viễn thám tại Việt Nam.
1.1.2 Thực trạng quản lý tư liệu ảnh viễn thám VNREDSAT-1


4
Hiện nay cơ sở hạ tầng viễn thám ở nước ta còn rất yếu, trạm thu ảnh

viễn thám thu nhận dữ liệu từ vệ tinh VNREDSAT-1 mới chỉ đáp ứng khoảng
30% nhu cầu dữ liệu cho người sử dụng trong nước. Việt Nam cũng chưa có
cơ sở dữ liệu viễn thám quốc gia, cho nên việc quản lý, lưu trữ và khai thác
dữ liệu ảnh viễn thám thu nhận được còn nhiều khó khăn.
1.1.3 Ứng dụng công cụ xây dựng trong quản lý tư liệu ảnh VNREDSAT
Phần mềm “Công cụ hỗ trợ quản lý và khai thác dữ liệu VNREDSAT 1” hỗ trợ việc quản lý dữ liệu đầu vào theo từng thư mục cảnh ảnh hoặc nhập
dữ liệu từ máy chủ liên kết đồng thời kết xuất dữ liệu đầu ra bao gồm:
-Ảnh xem nhanh.
-Vị trí cảnh ảnh.
-Siêu dữ liệu: FID, Shape, Senceid, Mission, mode, cloud, nwlat,
nwlong,..
Các khối chức năng chính của phần mềm:
-Chiết xuất thông tin ảnh
-Quản lý dữ liệu Vnredsat – 1
-Thống kê báo cáo
-Quản trị hệ thống
Các công cụ hỗ trợ thực hiện phần mềm:
-Visual Studio 2013
-SQL Server 2008
-Entity Framework
-Bootstrap
Đề tài có mục tiêu hỗ trợ công tác quản lý, vận hành và khai thác hiệu
quả hệ thống viễn thám VNREDSAT-1; trong đó mục tiêu cụ thể là: xây dựng
phương pháp định danh cảnh ảnh VNREDSAT-1 trên toàn thế giới; xây dựng
bộ công cụ hỗ trợ việc quản lý và công bố dữ liệu VNREDSAT-1.
Đề tài đã áp dụng các phương pháp định danh cảnh ảnh đang được sử
dụng trên thế giới và kế thừa những kiến thức, công nghệ tiên tiến phù hợp
với điều kiện của Việt Nam; nghiên cứu khảo sát các phương pháp xây dựng
công cụ hỗ trợ quản lý và khai thác dữ liệu ở các trạm thu trên thế giới và
nghiên cứu tổng thể hiện trạng hệ thống trạm thu ảnh VNREDSAT-1 hiện



5
đang được vận hành tại Cục Viễn thám quốc gia. Trên cơ sở đó, đề tài đưa ra
giải pháp khắc phục những bất cập của hệ thống hiện tại để xây dựng công cụ
phù hợp với điều kiện thực tế; ứng dụng công nghệ thông tin trong việc xây
dựng bộ công cụ hỗ trợ việc quản lý và công bố dữ liệu VNREDSAT-1.
1.2 Phương pháp lập trình web ASP.NET MVC
1.2.1 Tổng quan về ASP.NET
Đầu năm 2002, Microsoft giới thiệu một kỹ thuật lập trình Web khá mới
mẻ với tên gọi ban đầu là ASP+, tên chính thức sau này là ASP.Net. Với
ASP.Net, không những không cần đòi hỏi bạn phải biết các tag HTML, thiết
kế web, mà nó còn hỗ trợ mạnh lập trình hướng đối tượng trong quá trình xây
dựng và phát triển ứng dụng Web.
ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server
(Server-side) dựa trên nền tảng của Microsoft .Net Framework.
Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu
những kỹ thuật ở phía Client (Client-side) như: HTML, Java Script, CSS
(Cascading Style Sheets). Khi Web browser yêu cầu một trang web (trang
web sử dụng kỹ thuật client-side), Web server tìm trang web mà Client yêu
cầu, sau đó gởi về cho Client. Client nhận kết quả trả về từ Server và hiển thị
lên màn hình.
ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hoàn toàn khác, mã
lệnh ở phía server (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi
hành tại Web Server. Sau khi được Server đọc, biên dịch và thi hành, kết quả
tự động được chuyển sang HTML/JavaScript/CSS và trả về cho Client.
Tất cả các xử lý lệnh ASP.Net đều được thực hiện tại Server và do đó,
gọi là kỹ thuật lập trình ở phía server.
-Những ưu điểm của ASP.NET
+ ASP.Net cho phép bạn lựa chọn một trong các ngôn ngữ lập trình mà

bạn yêu thích: Visual Basic.Net, J#, C#,…
+ Trang ASP.Net được biên dịch trước. Thay vì phải đọc và thông dịch
mỗi khi trang web được yêu cầu, ASP.Net biên dịch những trang web động


6
thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả.
Yếu tố này là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP.
+ ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net
Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua
ADO.Net, …
+ ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng.
+ ASP.Net sử dụng phong cách lập trình mới: Code behide. Tách code
riêng, giao diện riêng -> Dễ đọc, dễ quản lý và bảo trì.
+ Kiến trúc lập trình giống ứng dụng trên Windows.
+ Hỗ trợ quản lý trạng thái của các control
+ Tự động phát sinh mã HTML cho các Server control tương ứng với
từng loại Browser
+ Hỗ trợ nhiều cơ chế cache.
1.2.2 Tìm hiểu về mô hình ASP.NET MVC
Đặc điểm của mô hình MVC
Cái lợi ích của mô hình MVC là nó giúp cho ứng dụng dễ bảo trì,
module hóa các chức năng và được xây dựng nhanh chóng. MVC tách các tác
vụ của ứng dụng thành các phần riêng lẻ model, view, controller giúp cho việc
xây dựng ứng dụng nhẹ nhàng hơn. Dễ dàng thêm các tính năng mới và các
tính năng cũ có thể dễ dàng thay đổi. MVC cho phép các nhà phát triển và các
nhà thiết kế có thể làm việc đồng thời với nhau. MVC cho phép thay đổi trong
1 phần của ứng dụng mà không ảnh hưởng đển các phần khác.
Sở dĩ như vậy vì MVC tách biệt sự phụ thuộc giữa các thành phần trong
1 đối tượng đồ họa, làm tăng tính linh động và tính tái sử dụng của đối tượng

đồ họa đó. 1 đối tượng đồ họa bấy giờ có thể dễ dàng thay đổi giao diện bằng
cách thay đổi thành phần View của nó trong khi cách thức lưu trữ (Model)
cũng như xử lý (Contrller) không hề thay đổi. Tương tự ta có thể thay đổi
cách thức lưu trữ (Model) hoặc xử lý (Controller) của đối tượng đồ họa mà
những thành phần còn lại vẫn giữ nguyên. Chính vì vậy mà mô hình MVC
được ứng dụng để xây dựng nhiều framework và thư viện đồ họa khác nhau.


7

Hình 1.1 Mô hình MVC
• Tìm hiểu về Controller
Controller có trách nhiệm chính là điều hướng các yêu cầu của người sử
dụng. Như vậy trên toàn ứng dụng của ta, tất cả các request đều sẽ phải đi tới
controller. Và tại đây ứng với các tham số người sử dụng truyền mà ta đưa họ
đến 1 tác vụ nào đó trên ứng dụng.
Tại các tác vụ này, chúng sẽ thông qua lớp model để làm việc và trả kết
quả về controller. Cuối cùng controller sẽ đẩy dữ liệu thao tác tới View. View
là thành phần cuối cùng mà người sử dụng nhận được khi gởi request tới ứng
dụng.
Có thể hiểu controller, giống với kỹ thuật đa cấp với các tác vụ chạy ứng
dụng phân cấp theo từng nhánh riêng biệt như: Module, action,…
• Tìm hiểu Model
Model là thành phần chủ yếu được sử dụng để thao tác xử lý dữ liệu.
Trong các framework , Model vẫn thường sử dụng theo phương thức Active
Record. Một trong những design pattern. Chúng có tác dụng rút ngắn thời
gian viết câu truy vấn cho người sử dụng. Biến những câu truy vấn phức tạp


8

trở nên gần gũi, thân thiện với người sử dụng thông qua các thư viện được
định nghĩa sẵn.
Model thường sẽ là các phương thức có trách nhiệm xử lý các tác vụ
như: insert, select, update, delete các record trong database. Ứng với cách lấy
dữ liệu, model thường sử dụng mảng để gửi trả kết quả về. Vì mảng có thể
cho phép model lưu trữ nhiều thông tin hơn, nên thường các record khi bóc
tách chúng sẽ mang các dữ liệu của database 1 cách chi tiết.
Khi sử dụng models, ta cũng cần tuân theo nguyên tắc chính của chúng
là không xuất giá trị trực tiếp trong model. Mà tất cả những giữ liệu ấy,phải
đưa vào mảng và trả về theo phương thức. Và tiếp tục ở view ta sẽ sử dụng nó
để lấy dữ liệu ra.
• Tìm hiểu về View
View là phần hiển thị thông tin tương phản khi gửi và nhận request.
Trước đây, khi người lập trình chưa nghĩ tới view. Họ thường thao tác xử lý
dữ liệu ngay trực tiếp trên ứng dụng và đổ cả dữ liệu ngay trên file PHP đó.
Điều này làm cho ứng dụng trở nên cồng kềnh, và đặc biệt rất khó cho việc
bảo trì, nâng cấp sau này. Nhất là đối với designer, việc thay đổi giao diện của
1 website luôn làm họ cảm thấy đau đầu vì phải vọc thẳng vào core.
View giúp giảm thiểu tối đa quá trình biên dịch nhiều lần. Và làm cho
ứng dụng trở nên mạnh mẽ và chuyên nghiệp hơn nhiều so với lập trình
thuần.
Tìm hiểu khái niệm, cách thức hoạt động của các thành phần
Controller, View, Models
Quy trình hoạt động mô hình MVC trong dự án website:


9

Hình 1.2 Quy trình hoạt động của mô hình MVC
Mô hình trên là thể hiện mô hình MVC trong các dự án website và sẽ

hoạt động theo quy trình sau:
-Người dùng sử dụng một BROWSER trình duyệt web bất kỳ (Firefox,
Chrome, IE,…) để có thể gửi những yêu cầu (HTTP Request) có thể kèm theo
những dữ liệu nhập tới những CONTROLLER xử lý tương ứng. Việc xác
định Controllerr xử lý sẽ dựa vào một bộ Routing điều hướng.
-Khi CONTROLLER nhận được yêu cầu gửi tới, nó sẽ chịu trách nhiệm
kiểm tra yêu cầu đó có cần dữ liệu từ MODEL hay không? Nếu có, nó sẽ sử
dụng các class/function cần thiết trong MODEL và nó sẽ trả ra kết
quả( Resulting Arrays), khi đó CONTROLLER sẽ xử lý giá trị đó và trả ra
VIEW để hiển thị. CONTROLLER sẽ xác định các VIEW tương ứng để hiển
thị đúng với yêu cầu.
-Khi nhận được dữ liệu từ CONTROLLER, VIEW sẽ chịu trách nhiệm
xây dựng các thành phẩn hiển thị như hình ảnh, thông tin dữ liệu… và trả về
GUI Content để CONTROLLER đưa ra kết quả lên màn hình BROWSER.


10
-BROWSER sẽ nhận giá trị trả về( HTTP Response) và sẽ hiển thị với
người dùng. Kết thúc một quy trình hoạt động.
Ưu điểm:
MVC làm cho ứng dụng trở nên trong sang, giúp lập trình viên phân tách
ứng dụng thành 3 lớp một cách rõ ràng. Điều này sẽ rất giúp ích cho việc phát
triển những ứng dụng xét về mặt lâu dài cho việc bảo trì và nâng cấp hệ
thống.
MVC hiện đang là mô hình lập trình tiên tiến bậc nhất hiện nay, điều mà
các framework vẫn đang nỗ lực để hướng tới sự đơn giản và yếu tố lâu dài
cho người sử dụng.


11

Khuyết điểm:
Mặc dù, MVC tỏ ra lợi thế hơn nhiều so với cách lập trình thông thường.
Nhưng MVC luôn phải nạp, load những thư viện đồ sộ để xử lý dữ liệu.
Chính điều này làm cho mô hình trở nên chậm chạp hơn nhiều cho với việc
code tay thuần túy.
MVC đòi hỏi người tiếp cận phải biết qua OOP, có kinh nghiệm tương
đối cho việc thiết lập và xây dựng 1 ứng dụng hoàn chỉnh. Sẽ rất khó khan
nếu OOP của người sử dụng còn yếu.
MVC tận dụng mảng là thành phần chính cho việc truy xuất dữ liệu,.
Nhất là với việc sử dụng active record để viết ứng dụng. Chúng luôn cần
người viết phải nắm vững mô hình mảng đa chiều.
1.3 Nền tảng Entity Framework
1.3.1 Khái niệm:
Entity Framework dùng làm gì?
-Chúng ta dùng EF để truy xuất dữ liệu (Accessing Data), trước đó để
truy xuất dữ liệu các nhà phát triển thường sử dụng: RawData, Direct APIs,
OLEDB, ODBC, Embedded SQL, ADO, Stored Procedure, ADO.NET,
Datasets, DataReader, Linq và bây giờ với EF là O/RM.
-Mục đích che dấu sự phức tạp bên dưới và đưa ra cách làm việc thống
nhất, hiện đại, nhanh gọn.
Lợi ích sử dụng Entity Framework?
-Năng suất làm việc được đẩy nhanh hơn.
-Giữ tính độc lập cho CSDL (Điều đó không có nghĩa EF là giải pháp
duy nhất tốt trong các vấn đề cũng như nó không phải là nhanh nhất trong
công việc. Trong một số trường hợp bạn cần có các thiết lập bổ sung).
-Cho phép làm việc với nhiều hệ quản trị CSDL: SQL Server, MySQL,
DB, Oracle,…
ADO.NET là một bộ các thư viện hướng đối tượng (OOP) cho phép bạn
tương tác với dữ liệu nguồn. Thông thường thì dữ liệu nguồn là một CSDL
(database), nhưng nó cũng có thể là file text, excel hoặc XML.



12
Vậy Entity Framework là gì?
-Entity Framework là O/RM (Object Relational Mapping) trong .NET
Framework. Có thể nói là tốt nhất trong việc truy xuất dữ liệu trên .NET.
-Là công nghệ Microsoft thường được sử dụng trong: WCF Data
Services, Azure Table Storage, Sharepoint 2010, SQL Server Reporting
Services và Power Pivot for Excel…
-EF là công nghệ cho phép bạn làm việc với CSDL quan hệ Object
Relatio Mapping.
-Thứ nhất ORM là một công cụ được áp dụng trong Entity Framework
-ORM sửu dụng thông tin Metadata để giao tiếp với CSDL. Nhờ vậy,
bạn không cần biết cấu trúc bên dưới của CSDL, ORM là công cụ trong gian
để che dấu đi sự phức tập đó cho bạn.
-Nó là cơ chế ánh xạ nên phần quan trọng nhất của ORM chính là
Napping. Hiểu đơn giản ORM là trung gian cho việc ánh xạ từ bản thiết kế
EDM xuống Database.
Có 3 cách sử dụng Entity Framework: Code First, Models First,
Database First
Database first: là phương pháp chỉ nên dùng khi bạn đã có sẵn CSDL,
EF Wizard sẽ tạo Model và Code.
Models first: nên dùng khi bạn bắt đầu thiết kế CSDL từ đầu (từ chưa có
gì). Bạn sẽ thiết kế mô hình CSDL (Model) EF sẽ tự tạo code cho bạn, sau đó
nhờ EF Wizard tạo CSDL.
Code first: nên dùng khi đã có mô hình CSDL, bạn sẽ viết Class, từ đó
tạo Database.
Từ 3 cách tiếp cận, ta có thể hình dung ra 2 cách thức chung :
-Sử dụng giao diện trực quan
Database first: Áp dụng cho trường hợp đã có sẵn database.

Model first: Áp dụng cho trường hợp ta thiết kế model và dùng nó tạo ra
database.
-Sử dụng hoàn toàn bằng code
Code first: Dùng trong trường hợp database có sẵn.


13
Code first dùng trong trường hợp cần tạo mới database chỉ bằng code
behind.
1.3.2 Kiến trúc Entity Framework

Hình 1.3 Mô hình kiến trúc Entity Framework
Kiến trúc Entity Framework bao gồm các thành phần sau:
EDM (Entity Data Model): EDM bao gồm ba phần chính – mô hình khái
niệm, ánh xạ và mô hình lưu trữ.
Mô hình khái niệm (Conceptual Model): Mô hình khái niệm chứa các
lớp model và các mối quan hệ. Conceptual model (Phần mở rộng *.CSDL) là
các class model và các relationships của chúng. Nó độc lập với thiết kế Table
trong CSDL của bạn.
Mô hình lưu trữ (Storage Model): Mô hình lưu trữ là mô hình thiết kế cơ
sở dữ liệu bao gồm bảng, view, thủ tục lưu trữ, và các mối quan hệ và khóa
chính. Storage model (Phần mở rộng *.SSDL) là mô hình thiết kế CSDL của
bạn, nó bao gồm các Tables, Views, Stored Procedures, Relationships, Keys.
Ánh xạ (Mapping): Ánh xạ bao gồm các thông tin về cách thức mô hình
khái niệm được ánh xạ tới mô hình lưu trữ. Mapping (Phần mở rộng *.MSL)
nó bao gồm các thông tin về Conceptual model ánh xạ lên Storage model.


14
LINQ to Entities: LINQ to Entities là ngôn ngữ truy vấn được sử dụng để

viết các truy vấn trên mô hình đối tượng. Nó trả về các thực thể, được định
nghĩa trong mô hình khái niệm. Chúng ta có thể sử dụng các câu lệnh LINQ ở
đây.
Entity SQL: Entity SQL là ngôn ngữ truy vấn giống như LINQ to
Entities. Tuy nhiên, Entity SQL khó hơn LINQ to Entities và các nhà phát
triển sẽ phải tìm hiểu nó một cách riêng biệt.
Object Service: Object Service là một điểm vào chính cho việc truy cập
dữ liệu từ cơ sở dữ liệu và trả lại Object Service trở lại. Object Service có
nhiệm vụ chuyển đổi dữ liệu thực thể được cung cấp bởi client thành thực thể
cấu trúc đối tượng.
Entity Client Data Provider: Là một data provider mới của ADO.NET
dùng để truy vấn đến database. Được xây dựng bên trên các ADO.NET data
provider cơ bản, Entity Client không truy xuất trực tiếp dữ liệu mà thông qua
các data provider khác dựa vào các thông tin dữ liệu từ Entity Data Model.
Nhiệm vụ chính của lớp này là chuyển đổi L2E hoặc Entity SQL thành câu
lệnh truy vấn SQL mà cơ sở dữ liệu thực thi được. Một điểm khác biệt với các
data provider khác là Entity Client sử dụng Entity SQL để truy vấn dữ liệu.
Các lệnh Entity SQL được chuyển thành một cấu trúc lệnh dạng cây và
chuyển xuống cho các data provider khác.
ADO.Net Data Provider: Lớp này có nhiệm vụ giao tiếp với cơ sở dữ
liệu bằng cách sử dụng ADO.Net chuẩn.
1.4 Bootstrap
1.4.1 Khái niệm cơ bản về Bootstrap
Về cơ bản, Bootstrap là một framework cho phép những nhà phát triển
thiết kế một trang web reponsive nhanh chóng dễ dàng hơn.
Bootstrap được xây dựng dựa trên nền tảng HTML templates, CSS
templates và Javascript cơ bản để hình thành nên những mẫu thiết kế có sẵn
như typography, forms, buttons (nút bấm), tables (bảng), navigation, modals,
image carousels cũng như nhiều thành phần khác nữa. Với mục đích giúp cho



15
các nhà phát triển có thể thiết kế reponsive cho website được dễ dàng và
nhanh hơn, các plugin của Javascript đã được tích hợp vào trong Bootstrap.
Ban đầu, Bootstrap được sử dụng như một Framework với mục đích duy
nhất là hỗ trợ cho công việc nội bộ của Twitter. Trước khi Bootstrap được
phát triển, có rất nhiều Framework khác nhau được đưa vào sử dụng với mục
đích phát triển giao diện, nhưng nó dễ dẫn đến mâu thuẫn và sung đột. Chính
vì thế, khi Bootstrap được tạo ra nó đã giải quyết được những yếu tố này,
cũng như góp phần thúc đẩy công việc của những nhà phát triển và lập trình
được nhanh hơn, tiện lợi và đồng bộ hơn.
1.4.2 Ưu điểm của Bootstrap
Bootstrap giúp các nhà thiết kế website có thể giảm bớt được thời gian
trong việc thiết kế website. Khi sử dụng Bootstrap, bạn có thể hạn chế được
thời gian bỏ ra để viết code cho giao diện vì trong thư viện của nó đã có sẵn
những đoạn mã có thể chèn vào trong website.
Ngày nay, khi mà xu hướng phát triển website tương thích với mọi thiết
bị thì Bootstrap nổi lên như 1 Framework cung cấp sẵn reponsive css phù
hợp với mọi thiết bị như SmartPhone, tablets, dextop…..


16

CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Phân tích kiến trúc phần mềm
Giới thiệu
Thiết kế kiến trúc hệ thống mô tả một cách tổng quan về kiến trúc phần
mềm “Công cụ hỗ trợ quản lý và công khai dữ liệu VNREDSAT-1 trên nền
WEB” qua các khung nhìn khác nhau, chỉ ra các thành phần của phần mềm và
mối quan hệ giữa chúng:

-Kiến trúc ứng dụng thể hiện qua mô hình phân lớp và mô hình phân rã
chức năng, đảm bảo đầy đủ các yêu cầu nghiệp vụ của hệ thống được đưa ra
trong tài liệu thuyết minh yêu cầu nghiệp vụ.
-Kiến trúc dữ liệu thể hiện qua các thành phần dữ liệu chính phục vụ quá
trình hoạt động của phần mềm.
Mục đích
Thông qua thiết kế này, người thiết kế và người phát triển hệ thống có
thể xác định được phần mềm có những chức năng chính nào, thành phần dữ
liệu ra sao và có những yêu cầu gì về mặt hạ tầng công nghệ. Ngoài ra, người
phát triển có thể biết rõ phần mềm sẽ được phát triển theo mô hình mấy lớp,
mỗi lớp bao gồm các package nào và mối quan hệ tương ứng giữa các
package khác nhau .
Căn cứ trên các mô hình, thiết kế sẽ đặc tả về các yêu cầu kỹ thuật cũng
như chức năng để phục vụ cho việc xây dựng tài liệu thiết kế class và tài liệu
thiết kế dữ liệu.
Như mục đích đã nêu trên, tài liệu sẽ dùng làm đầu vào cho các giai đoạn
thiết kế, lập trình, kiểm thử trong toàn bộ quy trình sản xuất phần mềm.
Tài liệu được chia thành các mục lớn:
-Đưa ra các yếu tố ảnh hưởng đến hệ thống
-Đưa ra mô hình và thuyết minh cho Kiến trúc ứng dụng


×