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

Luận văn tốt nghiệp ứng dụng matlab trên net framework 3 5 trong thống kê

63 9 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

Tiêu đề Ứng Dụng Matlab Trên .Net Framework 3.5 Trong Thống Kê
Tác giả Bùi Nguyễn Quốc Toàn
Người hướng dẫn Th.S. Nguyễn Thị Hồng Dân, Thầy Dương Tấn Sỉ, Cô Dương Thị Tuyền
Trường học Trường Đại Học Cần Thơ
Chuyên ngành Toán Ứng Dụng
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2010
Thành phố Cần Thơ
Định dạng
Số trang 63
Dung lượng 2,32 MB

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

Nội dung

• Ứng dụng AJAX Asynchronous JavaScript and XML trong ứng dụng web • Nghiên cứu công nghệ ASP.NET và .NET Framework 3.5 kết hợp cùng một số ngôn ngữ liên quan như CSS Cascading Style She

Trang 1

KHOA KHOA H ỌC TỰ NHIÊN

B Ộ MÔN TOÁN - -

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

ỨNG DỤNG MATLAB TRÊN

C ẦN THƠ – 06/2010

Trang 2

L ỜI CẢM ƠN

- -

Hoàn thành luận văn này, ngoài những nổ lực của bản thân, còn có sự đóng góp không nhỏ của người thân, thầy cô, bạn bè…

Con xin chân thành cảm ơn Cha Mẹ đã sinh thành, nuôi dạy con khôn lớn và trực

tiếp hỗ trợ con trong quá trình sinh hoạt và học tập xa nhà

Em xin cảm ơn quý Thầy Cô trường Đại học Cần Thơ, đặc biệt là các thầy cô bộ môn Toán khoa Khoa học Tự Nhiên, những người đã giáo dục truyền đạt cho em kiến

thức dưới mái trường

Em xin gửi lời cảm ơn đặc biệt đến Cô Nguyễn Thị Hồng Dân (Bộ môn Toán Khoa Khoa Học Tự Nhiên), Thầy Dương Tấn Sỉ (Bộ môn Vật Lý Khoa Sư Phạm) đã rất

tận tình định hướng, phác thảo các ý tư ởng và tạo điều kiện tốt để em hoàn thành luận văn này

Em xin cảm ơn cô Dương Thị Tuyền trong vai trò Cố vấn học tập đã tận tình giúp

đỡ, hướng dẫn các vấn đề liên quan đến công tác học vụ trong suốt thời gian qua, đặc

biệt là các thủ tục trong quá trình thực hiện và hoàn tất luận văn

Tôi xin cảm ơn những người bạn đã quan tâm đ ến đề tài cùa tôi cũng như ủng hộ tôi trong suốt thời gian thực hiện luận văn này

Cuối cùng, tôi xin cảm ơn, chúc mọi người sức khỏe và công tác tốt

Cần Thơ, tháng 6 năm 2010 Sinh viên thực hiện Bùi Nguyễn Quốc Toàn

Trang 3

TÓM T ẮT

Ngày nay, việc sử dụng phần mềm máy tính để giải quyết các bài toán trong thống

kê được sử dụng rộng rãi và thêm chức năng theo nhu cầu xã hội Hiện nay, hầu hết người dùng các phần mềm tính toán desktop gặp phải một số vấn đề về yêu cầu phần

cứng, tính tương thích của phần mềm, giá phần mềm họ dùng và phải trả nhiều hơn họ dùng

Mặt khác, ứng dụng trực tuyến đang phát triển mạnh mẽ và ngày càng phổ biến

bởi những khả năng ưu việt của nó Từ đó, để tiết kiệm chi phí và giảm các vấn đề truyền thống của phần mềm desktop, việc ứng dụng công nghệ phần mềm trực tuyến là

một nhu cầu thiết yếu

Trong thời gian thực hiện đề tài “Ứng dụng MATLAB trong NET Framework 3.5 trong Thống”, tôi đã áp d ụng kiến thức học từ nhà trường và tích lũy đư ợc nhiều kinh nghiệm trong xây dựng trực tuyến có sử dụng tài nguyên mở rộng

Rất mong nhận được sự góp ý của quý Thầy, Cô và các bạn để chương trình hiệu

quả hơn!

Trang 4

ABSTRACT

Today, using computer software to solve problems in statistics have been using popularly and more functions for social requirements Currently, most of people who are using desktop calculus software reach some problem about hardware requirements, compatibly software, prices of software they used and must to pay rather than what they use

Otherwise, online application have been developing strongly and increasing popularly because of their preeminent abilities Since then, to save fee and reduce traditional problems of desktop software, applying online software technology is a essential need

Duration making the project “Applying MATLAB into NET Framework 3.5 in Statistics”, I applied the knowledge learned in school anh accured much experience in contruction of online application that using extend resources

I hope to receive comments from teachers and other students to make the programe more effect!

Trang 5

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

Admin: Administrator

AJAX: Asynchronous JavaScript and XML

CLR: Common Language Runtime

CSS: Cascading Style Sheets

IDE: Integrated Development Environment

M-file: Tập tin chứa hàm do người dùng định nghĩa trong MATLAB

MSF: Mean Square for factor

MSE: Mean Square for Error

SSE: Sum of Squares for Error

SSF: Sum of Squares for Factor

SST: Total Sum of Squares

Bảng I.1 Luật chuyển đổi kiểu dữ liệu từ NET sang MATLAB qua lớp MWArray 9

Bảng I.2 Cấu trúc thư mục sau khi biên dịch 17

Bảng I.3 Trình bày dữ liệu bài toán phân tích phương sai một nhân tố 30

Bảng I.4 Trình bày kết quả bài toán phân tích phương sai một nhân tố 30

Bảng I.5 Trình bày dữ liệu bài toán phân tích phương sai 2 nhân tố 32

Bảng I.6 Trình bày kết quả bài toán phân tích phương sai 2 nhân tố 33

Trang 6

DANH MỤC CÁC HÌNH

Hình I.1 Các toolboxes trong MATLAB R2009b 5

Hình I.2 Phát triển ứng dụng NET dựa trên các thành phần biên dịch từ MATLAB 8

Hình I.3 Kiến trúc NET Framework 11

Hình I.4 Tổng quan quá trình xử lý và tính toán dữ liệu 15

Hình I.5 Hộp Deployment Project 17

Hình I.6 Chuẩn bị các lớp, thêm các tập tin để chuẩn bị biên dịch 18

Hình I.7 Quá trình biên dịch 19

Hình I.8 Cửa sổ quản lý các tài nguyên và các kết quả tính toán 20

Hình I.9 Bảng Dir dùng cho việc lưu trữ và quản lý các tài nguyên người dùng 21

Hình I.10 Sơ đồ quan hệ các bảng trong cơ sở dữ liệu phục vụ cho quản lý người dùng 23

Hình III.1 Trang đăng nhập 44

Hình III.2 Giao diện làm việc chính 44

Hình III.3 Nhập liệu trực tiếp trên vùng làm việc 45

Hình III.4 Nhập liệu từ dữ liệu trong tập tin 45

Hình III.5 Giao diện trang trợ giúp 46

Hình III.6 Trang quản lý người dùng 46

Hình III.7 Trang quản lý dữ liệu trợ giúp 47

Hình III.8 Kết quả bài toán kiểm định dấu 47

Hình III.9 Kết quả bài toán kiểm định tính độc lập 48

Hình III.10 Kết quả bài toán phân tích phương sai một nhân tố 49

Hình III.11 Kết quả bài toán phân tích phương sai hai nhân tố 50

Hình III.12 Kết quả bài toán hồi quy tuyến tính đơn 51

Hình III.13 Kết quả bài toán hồi quy tuyến tính bội 52

Trang 7

M ỤC LỤC

L ỜI CẢM ƠN i

TÓM T ẮT .ii

ABSTRACT iii

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

DANH M ỤC CÁC BẢNG iv

DANH M ỤC CÁC HÌNH v

M ỤC LỤC vi

M Ở ĐẦU 1

N ỘI DUNG 4

CH ƯƠNG I T ỔNG QUAN VỀ ỨNG DỤNG 4

I GI ỚI THIỆU VỀ MATLAB R2009b 4

1 Tổng quan 4

2 Hệ thống MATLAB 5

3 MATLAB builder NE 6

4 Giao tiếp kiểu dữ liệu, thực thi M-Code trong NET 8

II V Ề VISUAL STUDIO 2008 9

1 Tổng quan 9

2 Giới thiệu 10

III V Ề SQL Server 2005 Express Edition 12

1 Giới thiệu 12

2 Các thành phần của SQL Server 2005 Express Edition 13

IV T ỔNG QUAN TIẾN TRÌNH SỬ DỤNG MATLAB VÀ ASP.NET ĐỂ TRI ỂN KHAI ỨNG DỤNG WEB 14

1 Tiền đề cho sự kết hợp MATLAB và ASP.NET 14

2 Giao diện người dùng, quá trình xử lý dữ liệu và tính toán 14

Trang 8

3 Quá trình quản lý và lưu trữ dữ liệu đầu vào, kết quả đầu ra 19

4 Vấn đề người dùng trong ứng dụng 22

5 Các lớp sử dụng trong ứng dụng 23

CH ƯƠNG II M ỘT SỐ BÀI TOÁN TRONG THỐNG KÊ 25

I KI ỂM ĐỊNH GIẢ THUYẾT 25

1 Kiềm định dấu 25

2 Kiểm định về tính độc lập 27

I Phân tích ph ương sai 29

1 Phân tích phương sai một nhân tố 29

2 Phân tích phương sai hai nhân tố 32

II T ƯƠNG QUAN VÀ HỒI QUY 34

1 Tương quan 34

2 Hồi quy tuyến tính đơn 37

3 Hồi quy tuyến tính bội 40

CH ƯƠNG III DEMO 44

I CÁC MÔĐUN LIÊN QUAN 44

II CÁC BÀI TOÁN MINH H ỌA 47

1 Bài toán về kiểm định dấu 47

2 Bài toán về kiểm định tính độc lập 48

3 Bài toán phân tích phương sai 48

4 Hồi quy tuyến tính 50

CH ƯƠNG IV K ẾT LUẬN 53

TÀI LI ỆU THAM KHẢO 55

Trang 9

M Ở ĐẦU

Ngày nay, cùng với sự phát triển của nền kinh tế, xã hội, công tác thống kê, tính toán được sử dụng trong nhiều lĩnh vực của đời sống xã hội và kinh tế Song song đó,

nó cũng gặp nhiều thử thách mới, về khả năng lưu trữ, tính tiện lợi trong quá trình thự

hiện,… do đó việc sử dụng các công cụ hỗ trợ tính toán là một nhu cầu mang tính khách quan Với những bước tiến vượt bậc của công nghệ thông tin đã có rất nhiều phần mềm

ra đời phục vụ cho nhiều lĩnh vực khoa học kỹ thuật trong đó có công tác thống kê tính toán

MATLAB, một sản phẩm của công ty Mathworks, là một môi trường tính toán số

và lập trình với rất nhiều ứng dụng trong lĩnh vực khoa học kỹ thuật trong đó có thống

kê và tính toán Phần mềm này đã đư ợc đưa vào giảng dạy tại các trường đại học, cao đẳng ở nước ta Sức mạnh và tính đa dụng của nó đã đu ợc chứng thực trong suốt quá trình ứng dụng thời gian qua

Tuy nhiên, cùng với các tính năng mạnh mẽ ngày càng được hỗ trợ đa dạng phong phú bởi MATLAB, phần mềm này cũng đòi h ỏi cấu hình máy tính ngày một cao hơn Trong khi đó việc nâng cấp phần cứng thường rất tốn kém và gây lãng phí Bên cạnh

đó, người dùng trả phí trọn gói cho ứng dụng này trong khi chỉ sử dụng một số hàm và các tiện ích trong đó

Mặt khác, sự ra đời của các ứng dụng trực tuyến như google.com, google docs, amazon.com… là những ví dụ điển hình và sống động cho một thế hệ ứng dụng mới, ứng dụng trên nền web hay xa hơn nữa là ứng dụng trên Cloud computing – điện toán đám mây, mang lại nhiều tiện ích to lớn cho người dùng do tính tiện lợi đơn giản và hết

sức mạnh mẽ của chúng Sử dụng các dịch vụ trực tuyến, ngưởi dùng có thể giải quyết các vấn đề của họ mà không cần cấu hình máy tính cao, không cần cài đặt nhiều ứng

dụng trên máy của mình, và có thể lưu trữ, chia sẻ dữ liệu trực tuyến và nhiều những

tiện ích khác và quan trọng hơn nữa là tính “co giãn” – người dùng chỉ cần trả phí cho

những gì họ dùng

Theo xu hướng đó, phần mềm trực tuyến, vốn dĩ giao tiếp với người dùng qua trình duyệt, sẽ dần thay thế các phần mềm cài đặt ở máy Client truyền thống, phụ thuộc nhiều vào các nền tảng (platform) và cơ sở hạ tầng của chúng, việc xây dựng ứng dụng ngày nay với nhiều lối mở hơn, thuận tiện hơn cho người phát triển phần mềm xây dựng

Trang 10

các ứng dụng của mình trên mạng Đồng thời việc phân phối các phần mềm trực tuyến nhanh hơn rất nhiều so với việc phân phối phần mềm desktop truyền thống, tiết kiệm nhiều chi phí và bảo vệ bản quyền tốt hơn

Việc nghiên cứu, ứng dụng các phần mềm trực tuyến sẽ góp phần làm giảm chi phí bản quyền, chi phí nâng cấp, bảo trì cơ sở hạ tầng… Đề tài: “Ứng dụng MATLAB trên NET Framework 3.5 trong thống kê và Đại số tuyến tính” không nằm ngoài những

xu hướng và yêu cầu khách quan nói trên

Đề tài tập trung làm rõ mối quan hệ giữa các kiểu dữ liệu trong 2 môi trường MATLAB và NET thông qua lớp MWArray khi sử dụng MATLAB Builder NE Đồng

thời nghiên cứu những kỹ thuật liên quan đến lập trình ứng dụng Web và cơ sở dữ liệu Trong luận văn này tôi xin phép không đi sâu về lý thuyết thống kê mà tập trung vào cách thức kết hợp, kỹ thuật xây dựng ứng dụng trực tuyến với MATLAB và ASP.NET Cụ thể:

Lập trình với Visual Studio 2008

• Nghiên cứu các hàm làm việc với cơ sở dữ liệu

• Nghiên cứu một số mảng về ngôn ngữ lập trình C# (C Sharp)

• Ứng dụng AJAX (Asynchronous JavaScript and XML) trong ứng dụng web

• Nghiên cứu công nghệ ASP.NET và NET Framework 3.5 kết hợp cùng

một số ngôn ngữ liên quan như CSS (Cascading Style Sheets ), HTML (Hyper Text Markup Language), JavaScript…

Lập trình với MATLAB: ứng dụng các hàm tính toán, phân tích một số bài toán trong thống kê

Nhằm xây dựng chương trình:

• Quản lý dữ liệu đầu vào

• Quản lý người dùng

• Tính toán và lưu trữ kết quả tính toán

• Các tính năng về chỉnh sửa và tải xuống các tập tin (bao gồm các tập tin dữ

liệu đã tải lên và các kết quả trong các phiên làm việc)

Để thực hiện luận văn này, tôi đã tham kh ảo các tài liệu có liên quan đến đề tài, nghiên cứu cơ sở lý thuyết về lập trình MATLAB và lập trình, thiết kế Web, về các

Trang 11

dạng bài toán được dùng để minh họa trong ứng dụng, cài đặt chương trình ứng dụng trên server, thử nghiệm trên các máy khách và kiểm lỗi, viết báo cáo kết quả thực hiện

đề tài Ngoài ra, tôi còn sử dụng các phần mềm:

• MATLAB 7.9.0 (R2009b)

• Visual Studio 2008 Professional edition

• SQL Server 2005 Express Edition

• Microsoft Word 2007

Và sử dụng các nguồn thông tin từ sách và internet

Nội dung luận văn được chia làm 3 chương: Chương 1: Tổng quan về ứng dụng,

giới thiệu tổng quan về MATLAB, Visual Studio, SQL Server và tiến trình kết hợp

những công nghệ để xây dựng ứng dụng web trong luận văn Chương 2: Một số bài toán trong thống kê, khảo sát một vài bài toán trong thống kê và các đoạn chương trình chính

để giải quyết các bài toán đó Chương 3: Demo, giới thiệu về các giao diện làm việc chính của ứng dụng đã xây dựng

Nhìn chung, nội dung của luận văn đã trình bày cơ b ản cách xây dựng một ứng

dụng trực tuyến (về mặt lý luận) nhằm giải quyết một số bài toán trong thống kê Ứng

dụng có cơ sở dữ liệu người dùng, cơ sở dữ liệu tài nguyên, giúp dễ dàng quản lý các nguồn tài nguyên và tính xác thực người dùng Đồng thời, ứng dụng cũng hỗ trợ hai loại ngôn ngữ Anh – Việt tạo môi trường thân thiện, dể sử dụng cho người dùng Đây cũng

là mục đích mà luận văn này hướng tới

Trang 12

• Toán học và tính toán

• Phát triển các thuật toán

• Mô hình hóa, mô phỏng

• Phân tích dữ liệu, thăm dò và ảo hóa

• Khoa học và kỹ thuật đồ họa

• Phát triển ứng dụng, có thể xây dựng giao diện đồ họa người dùng (GUI) MATLAB, một hệ thống tương tác của toàn bộ các thành phần dữ liệu cơ bản là

một mảng (array) không bắt buộc về chiều Nó cho phép người dùng giải quyết nhiều

vấn đề trong kỹ thuật máy tính, đặc biệt với các ma trận và các công thức vectơ

Cái tên MATLAB là viết tắt của Matrix Laboratory MATLAB ban đầu được viết

để cung cấp sự truy cập dễ dàng vào phần mềm ma trận phát triển bởi dự án LINPACK

và EISPACK Ngày nay, MATLAB kết hợp LAPACK và các thư viện BLAS

MATLAB được phát triển trong nhiều năm với sự đóng góp từ nhiều người dùng Trong các môi trường đại học, nó là công cụ hướng dẩn chuẩn cho các khóa học cơ bản

và nâng cao trong toán học, kỹ thuật và khoa học Trong công nghiệp, MATLAB là một

sự lựa chọn cho nghiên cứu chuyên sâu, phát triển và phân tích

Các tiện ích kèm theo MATLAB cho các ứng dụng chuyên biệt gọi là các hộp công cụ (toolboxes) Rất quan trọng cho người dùng MATLAB, hộp công cụ cho phép người dùng tìm hiểu và ứng dụng các kỹ thuật mang tính chuyên biệt Toolboxes là một

bộ sưu tập toàn diện của các hàm MATLAB, giúp mở rộng môi trường MATLAB nhằm

giải quyết các lớp bài toán, lớp vấn đề đặc biệt Bạn có thể sử dụng các toolboxes cho

xử lý tính hiệu, mạng neural, logíc mờ, thống kê và nhiều lĩnh vực khác

Trang 13

Hình I.1 Các toolboxes trong MATLAB R2009b

2 H ệ thống MATLAB

Hệ thống MATLAB bao gồm các thành phần chính:

2.1 Công c ụ Desktop và môi trường phát triển

Phần này của MATLAB là một tập hợp các công cụ và cơ sở giúp ta sử dụng hữu

hiệu các hàm MATLAB và các tập tin Nhiều công cụ này là giao diện đồ họa cho người dùng Nó ban gồm desktop của MATLAB và cửa sổ lệnh (Command Window),

một trình soạn thảo (editor) và trình gỡ lỗi (debugger), một trình phân tích mã (code analyzer), một trình duyệt để xem trợ giúp, một vùng làm việc (workspace) và các thư

mục

2.2 Th ư viện các hàm Toán học

Một thư viện lớn các thuật toán tính toán, từ các phép tính cơ bản như cộng, trừ, nhân, chia, lượng giác, số phức… đến các hàm phức tạp như phép đảo ma trận, giá trị riêng ma trận, các hàm Bessel, khai triển chuỗi Fourier… mang lại sự dễ dàng trong xử

lý tính toán

2.3 Ngôn ng ữ

Ngôn ngữ MATLAB là một ngôn ngữ ma trận, mảng cấp cao với khả năng kiểm soát các luồng, các hàm, cấu trúc dữ liệu, nhập xuất, và lập trình hướng đối tượng Nó cho phép lập trình quy mô nhỏ đề xây dựng nhanh các ứng dụng người dùng không có ý định dùng lại,đồng thời cho phép xây dựng những chương trình quy mô l ớn đề tạo

những ứng dụng phức tạp để dùng lại

Trang 14

2.4 Đồ họa

MATLAB mở rộng khả năng cho việc hiển thị các véc tơ các ma trận như các đồ

thị, có thể thêm chú thích và in Nó bao gồm các hàm cấp cao cho ảo hóa dữ liệu 2 chiều và 3 chiều, xử lý ảnh, hoạt hình và đồ họa trình chiếu Nó cũng có những hàm cấp

thấp cho phép người dùng tùy biến bề ngoài các đồ thị cũng như xây dựng hoàn chỉnh các giao diện đồ họa người dùng cho ứng dụng MATLAB của lâp trình viên

ở dạng một hàm Mỗi thành phần MATLAB Builder NE chứa một hay nhiều lớp

Khi ta đóng gói và phân phối ứng dụng đó đến người dùng, chúng bao hàm các tập tin hỗ trợ sinh ra bởi MATLAB Compiler Runtime (MCR)

CLS là viết tắt của Common Language Specification, CLS là một tập ngôn ngữ con hỗ trợ bởi NET common language runtime (CLR) Các lớp MATLAB Builder NE

là CLS compliant – chúng đảm bảo tích hợp liền mạch với tất cả ngôn ngữ lập trình NET CLS – compliant đảm bảo tích hợp với các thành phần và công cụ CLS – compliant khác

Sử dụng trình biên dịch để đóng gói các hàm MATLAB, như vậy các lập trình viên NET có thể truy xuất chúng từ bất kỳ ngôn ngữ CLS - compliant nào

3.1.3 Chuy ển đổi dữ liệu, chỉ số và định sạng mảng

Trang 15

Trình biên dịch cung cấp khả năng chuyển đổi dữ liệu, chỉ số và định dạng mảng

một cách mạnh mẽ Ví dụ: để hỗ trợ kiểu dữ liệu MATLAB, MATLAB builder NE cung cấp lớp chuyển đổi dữ liệu MWArray Ta tham chiếu hợp ngữ này trong ứng dụng

để chuyễn đồi kiểu mảng riêng sang kiểu mảng MATLAB và ngược lại

3.1.4 Qu ản lý lỗi

Trình biên dịch cung cấp các cách tùy biến cho việc bắt lỗi, như vậy những lỗi gốc

từ hàm MATLAB có thể được báo cáo như những ngoại lệ (exception) chuẩn Mô tả lỗi bao gồm tham chiếu đến mã MATLAB, phục vụ tốt cho quá trình gỡ lỗi (debug)

Ngoài ra, MATLAB builder NE còn có khả năng làm việc với các thành phần NET từ xa và các đối tượng COM (Component Object Model)

3.2.1 Vai trò c ủa Lập trình viên MATLAB và lập trình viên NET

Đối với lập trình viên MATLAB:

• Hiểu được yêu cầu người dùng cuối và các mô hình toán học cần hỗ trợ

• Xây dựng các thành phần thực thi với các công cụ của MATLAB

• Đóng gói các thành phần và phân phối đến người dùng cuối

• Gửi gói thành phần đến lập trình viên NET đ ể triển khai và tích hợp vào môi trường của người dùng cuối

Đối với lập trình viên NET:

• Viết mã NET để thực thi hợp ngữ được viết bởi lập trình viên MATLAB

• Triển khai gói thành phần và tích hợp chúng vào môi trường người dùng

cuối

• Dùng thành phần đó trong các chương trình NET chuyên d ụng, thêm,

chỉnh sửa các chức năng theo yêu cầu

• Chắc chắn rằng ứng dụng đó chạy ổn định trong môi trường của người dùng cuối

Trang 16

Hình I.2 Phát triển ứng dụng NET dựa trên các thành phần biên dịch từ MATLAB

4 Giao ti ếp kiểu dữ liệu, thực thi M-Code trong NET

Các hàm trong các thành phần được biên dịch từ MATLAB Builder NE không thể

chạy trong môi trường NET mà không có trình biên dịch riêng của mình, cũng như NET không thể hiểu được các kiểu dữ liệu của MATLAB và ngược lại Do đó cần có các thành phần khác hỗ trợ

Thuộc vào namespace MathWorks.MATLAB.NET.Arrays, lớp MWArray là một

lớp hỗ trợ chuyển đổi các kiểu dữ liệu MATLAB sang NET và ngược lại Đồng thời

lớp này chịu trách nhiệm cho việc lưu các lỗi (nếu có) trong quá trình thực thi M-Code trên báo cáo truy vết chung, dọn dẹp rác trong bộ nhớ Nó cũng có khả năng chuyển một

tập con của các chức năng đồ họa của MATLAB cho ứng dụng chạy trên Web ASP.NET

4.2 MATLAB Compiler Runtime (MCR)

MCR là tập hợp của các thư viện bản xứ được yêu cầu để chạy các hàm MATLAB được đóng gói từ MATLAB Builder NE, nói cách khác nó là một trình biên dịch các hàm MATLAB, do đó, MCR phải được cài đặt trên máy chạy các thành phần được xây

dựng từ MATLAB Builder NE Ta có thể cài MCR bằng cách chạy trình cài đặt MCR – MCRInstaller Ở đây, ta sẽ sử dụng MSCInstaller để cài ở Server

Trang 17

4.3 MATLAB Builder NE và ki ểu dữ liệu MATLAB

Với các nhà phát triển NET, MATLAB Builder NE cho phép thực hiện việc truy

xuất vào các kiểu dữ liệu MATLAB thông qua các lớp thứ bậc kèm theo nó Tất cả các

lớp trong hệ thống thứ bậc nhận được từ lớp trừu tượng MWArray

Với mỗi lớp dẩn xuất (trừ lớp MWIndexArray, vì nó có thể là lớp trừu tượng), ánh

xạ đến một kiểu dữ liệu MATLAB và bao gồm các lớp NET MWNumericArray, MWLogicalArray, MWCharArray, MWStructArray, and MWCellArray Mỗi lớp có các thuộc tính (properties) và phương thức (methods) thường được dùng để truy vấn các thuộc tính (attributes) như kích thước phần tử, số chiều, tên trường…

B ảng I.1 Luật chuyển đổi kiểu dữ liệu từ NET sang MATLAB qua lớp MWArray

.NET Type Ki ểu MWArray Ki ểu MATLAB

System.Double MWNumericArray double System.Number MWNumericArray double System.Float MWNumericArray single System.Byte MWNumericArray int8 System.Short MWNumericArray int16 System.Int32 MWNumericArray int32 System.Int64 MWNumericArray int64 System.Char MWCharArray char System.String MWCharArray char System.Boolean MWLogicalArray logical N/A MWStructArray structure N/A MWCellArray cell

II V Ề VISUAL STUDIO 2008

1 T ổng quan

Visual Studio 2008 phiên bản Professional là bộ công cụ đầy đủ đẩy nhanh quá trình biến các ý tưởng của nhà phát triển thành hiện thực Visual Studio 2008 phiên bản Professional được thiết kế nhằm hỗ trợ cho các dự án phát triển hướng đến nền tảng Web (như ASP.NET AJAX), Windows Vista, Visual Studio 2008, hệ thống Microsoft Office 2007, SQL Server 2008 và các thiết bị sử dụng Windows Mobile Số lượng nền

tảng - mà các nhà phát triển phải nắm được để đáp ứng nhu cầu kinh doanh – đang tăng lên nhanh chóng Để đáp ứng nhu cầu này, Visual Studio 2008 phiên bản Professional cung cấp một bộ công cụ tích hợp có siêu tập tính năng đã có trong Visual Studio 2008 phiên bản Standard

Trang 18

Ngày nay, các nhà phát triển phải đối mặt với thách thức phải bao quát được nhiều

loại nền tảng và ứng dụng thủ công nhanh chóng đem lại giá trị cho tổ chức Các công

cụ thiết kế tích hợp và những tính năng ngôn ngữ trong Visual Studio cho phép các nhà phát triển vừa xây dựng các ứng dụng nối mạng đáp ứng cho nghiệp vụ hiện tại mà vẫn

tận dụng tối đa NET Framework 3.5 để rút ngắn thời gian phát triển sản phẩm

2 Gi ới thiệu

2.1 DOT NET Framework

DOT NET Framework (.NET framework) là một framework của Microsoft và có

thể được cài đặt trên máy chạy hệ điều hành Windows, nó bao hàm một thư viện lớn các

mã, các hàm giúp giải quyết các vấn đề phổ biến trong lập trình và một máy ảo quản lý

những sự thực thi của các chương trình được viết cho framework này

DOT NET Framework được Microsoft cung cấp và có thể được dùng cho hầu hết các ứng dụng của nền tảng Windows

Các lớp thư viện cơ sở của framework này cung cấp một lượng lớn các chức năng bao gồm giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, mã hóa, ứng

dụng web, các thuật toán số, mạng xã hội… Các lớp trong thư viện được dùng bởi lập trình viên kết hợp với mã của họ để tạo nên ứng dụng của riêng họ

.NET framework là một thành phần của Windows hỗ trợ xây dựng và thực thi thế

hệ tiếp theo của của các ứng dụng và dịch vụ Web XML DOT NET Framework được thiết kế để:

• Cung cấp một môi trường lập trình hư ớng đối tượng nhất quán cho dù mã đối tượng được lưu trữ và thực thi cục bộ, trừ khi được phân phối qua internet, hay được thi hành từ xa

• Cung cấp môi trường thực thi mã tối thiểu hóa xung đột phiên bản và xung đột khi triển khai phần mềm

• Cung cấp môi trường thực thi mã được tăng cường tính an toàn khi thực thi, bao gồm mã đư ợc tạo bởi một nhà phát triển nạc danh hay một bên thứ 3 bán tin cậy

• Cung cấp môi trường thực thi mã loại bỏ các vấn đề xảy ra khi thực thi các

kịch bản (script)

Trang 19

• Hỗ trợ phát triển nhất quán các ứng dụng khác nhau, như ứng dụng dựa trên Windows (Windows-based application) hay ứng dụng dựa trên nền Web (Web-based application)

• Để xây dựng các tiêu chuẩn đảm bảo mã dựa trên NET framework có thể tích hợp với các mã khác

Hình I.3 Ki ến trúc NET Framework

.NET framework gồm 2 thành phần chính: common language runtime và lớp thư

viện NET Framework

Common language runtime (CLR) là một cổng để chạy các tính năng của NET, trong NET tất cả mọi ngôn ngữ lập trình đều được biên dịch ra Microsoft Intermediate Language (IL) Các ngôn ngôn ngữ phải dùng cung các kiểu dữ liệu (Common Type System), bởi thế CLR có thể kiểm soát mọi giao diện, thực thi các thành phần và cho phép các ngôn ngữ có thể tích hợp với nhau một cách thông suốt Khi ta thực thi một ứng dụng NET, nó được biên dịch bằng JIT (Just – In - Time) ra mã máy đ ể chạy JIT

cũng có nghĩa là các phần mã cần xử lý mới được biên dịch

Ngoài ra, CLR còn làm luôn việc dọn rác .NET xử dụng một quá trình độc lập để

dọn rác Một hạn chế là, khi ta đã ra l ệnh xử lý (dispose) một đối tượng ta không chắc

rằng nó đã được hủy khi nào, vì quá trình dọn rác có mức ưu tiên thấp CLR cũng chịu trách nhiệm cho tính năng bảo mật

Như thế bộ thực thi ngôn ngữ dùng chung CLR cho phép phát triển ứng dụng dễ dàng hơn, cung cấp một môi trường thực thi an toàn và hiệu năng, hỗ trợ đa ngôn ngữ, đơn giản hóa việc triển khai, quản lý các ứng dụng

Trang 20

Các lớp cơ sở cho ta các đặc tính của runtime và cung cấp những dịch vụ cấp cao khác theo yêu cầu người lập trình thông qua không gian tên (namespace), thực chất, không gian tên là một cách đặt tên giúp tổ chức các lớp theo nhu cầu để dễ quản lý và dùng lại

2.2 Active Server Page trên NET (ASP.NET)

ASP.NET là một nền tảng ứng dụng Web (web application framework) cho phép

lập trình viên tạo ra các trang web động (dynamic website), ứng dụng web (web application), dịch vụ web (web service) ASP.NET được biên dịch dưới dạng CLR cho phép lập trình viên viết mã sau (code-behind) bằng bất cứ ngôn ngữ nào được hỗ trợ bởi NET

2.3 AJAX

AJAX là viết tắt của “Asynchronous JavaScript and XML” nghĩa là JavaScript và XMl không đồng bộ

AJAX là một kỹ thuật đề tạo những trang web động và nhanh

AJAX cho phép các trang web cập nhật bất đồng bộ bởi sự thay đổi nhỏ số lượng các dữ liệu với Server Điều đó có nghĩa là, nó cập nhật một phần trang web mà không

cần tải lại toàn bộ trang Web

Ví dụ cho một số ứng dụng dùng AJAX: Google Maps, Gmail, Youtube, và Facebook Tab

AJAX dựa trên các chuẩn Internet và là sự kết hợp của:

• Đối tượng XMLHttpRequest (để chuyển dữ liệu bất đồng bộ với Server)

• JavaScript/DOM (để hiển thị/ giao tiếp dữ liệu)

• CSS (để định kiểu dữ liệu)

• XML (dùng như một định dạng cho dữ liệu được vận chuyển)

Ứng dụng AJAX không phụ thuộc vào trình duyệt và nền tảng

III V Ề SQL SERVER 2005 EXPRESS EDITION

1 Gi ới thiệu

SQL Server là một trong những nền tảng dữ liệu hàng đầu

Trang 21

SQL Server là một phần mềm quả lý và phân tích dữ liệu toàn diện và tích hơp cho phép các tổ chức có khả năng quản lý các thông tin quan trọng và tự tin chạy các ứng

dụng mà độ phức tạp ngày càng nâng cao SQL Server 2005 cung cấp cho các công ty cái nhìn sâu rộng từ thông tin kinh doanh của mình và thu được các kết quả nhanh hơn, mang lại lợi thế cạnh tranh

SQL Server 2005 phiên bản Express là một thế hệ kế tiếp của MSDE (Microsoft SQL Server Desktop Engine) và miển phí, dễ dàng sử dụng

2 Các thành ph ần của SQL Server 2005 Express Edition

• Databases: Cơ sở dữ liệu của SQL Server 2005

• Diagrams: Các sơ đồ quan hệ , thể hiện mối liên kết giữa các bảng dữ liệu

một cách trực quan, dễ dàng cho việc tạo chỉ mục

• Tables: Các bảng, là đối tượng chứa các dữ liệu thực sự theo kiểu dữ liệu đã được thiết kế

• Views: Các khung nhìn và các bảng ảo, là các truy vấn lưu trữ trong cơ sở

dữ liệu để có thể tham chiếu tới một hoặc nhiều bảng

• Stored Procedures: thủ tục thường trú – thủ tục lưu trữ, là các lệnh Transact SQL (các câu lệnh truy vấn dữ liệu) được biên dịch từ trước và chứa trong

cơ sở dữ liệu Vì các thủ tục lưu trữ sẵn được biên dịch trước nên chúng mang hiện suất cao

• Users: người dùng cơ sở dữ liệu

• Roles: các vai trò, cho phép kết hợp các tên người dùng của các cơ sở dữ

liệu vào trong các nhóm người dùng

• Rules: các quy tắc, ấn định cho các cột, dữ liệu nhập vào phải phù hợp với chuẩn đã thiết lập

• Defaults: mặc định, có thể thiết lập cho các cột mà khi không có dữ liệu nào được nhập (NULL) vào các cột này trong thao tác INSERT thì các cột đó sẽ

nhận các giá trị mặc định được xét

• User Defined Data Types: kiểu dữ liệu do người dùng tự định nghĩa

• User Defined Functions: các hàm do người dùng định nghĩa là mã l ệnh Transact – SQL rất giống các mã lệnh của thủ tục lưu trữ

Trang 22

Trong khuôn khổ luận văn này, tất cả các hàm thao tác trên cơ sở dữ liệu đều là các Stored Procedure để tăng hiệu năng truy xuất dữ liệu và tính bảo mật

IV T ỔNG QUAN TIẾN TRÌNH SỬ DỤNG MATLAB VÀ ASP.NET ĐỂ TRIỂN KHAI ỨNG DỤNG WEB

1 Ti ền đề cho sự kết hợp MATLAB và ASP.NET

Với thế mạnh về tính toán dữ liệu số và các hàm toán học được cung cấp trong MATLAB, ta dễ dàng đưa ra các giải pháp cho những bài toán vốn dĩ có thể rất phức

tạp nếu lập trình bằng các ngôn ngữ khác nói chung và C# nói riêng Hơn thế nữa việc

viết lại các hàm đó là rất mất thời gian trong khi hiệu quả vá ý nghĩa thực tiễn không

thấy rỏ

Mặt khác, như đã đ ề cập trước đây, hiện nay các ứng dụng trực tuyến đang ngày càng chiếm ưu thế bởi những tính năng vượt trội do nó cung cấp Xây dựng Web động hay ứng dụng Web với ASP.NET là một trong những cách nhanh nhất để đưa sản phẩm

ra thị trường Sử dụng công nghệ ASP.NET với code behind là C#, ta sẽ tận dụng được

sức mạnh của ngôn ngữ lập trình hướng đối tượng này ở nhiều mặt

Với sự hỗ trợ của các thành phần như đã gi ới thiệu ở trên, ta có thể kết hợp sức

mạnh của 2 ngôn ngữ để tạo nên một ứng dụng hoàn chỉnh

Tuy nhiên, dù thế nào thì đó cũng là 2 loại ngôn ngữ khác nhau, thế nên trong quá trình giao tiếp còn hàm chứa nhiều nguy cơ về bất tương thích và các lỗi khó sửa trên cùng một IDE Ta sẽ nghiên cứu về một số tiến trình chính và quy tắc giao tiếp giữa hai ngôn ngữ này

2 Giao di ện người dùng, quá trình xử lý dữ liệu và tính toán

Trang 23

Cùng với các công cụ và kỹ thuật đã trình bày ở trên, ta triển khai ứng dụng trên

nền Web

Hình I.4 T ổng quan quá trình xử lý và tính toán dữ liệu

2.1 Các v ấn đề về giao diện người dùng

Vấn đề ngôn ngữ: quá trình sử dụng các phần mềm nói chung và phần mềm chuyên dùng nói riêng có thể gặp phải khó khăn do ngôn ngữ, khi đã sử dụng quen các thuật ngữ chuyên ngành với tiếng Anh thì sẽ trở nên khá bối rối khi thao tác lại trên

phần mềm tiếng Việt và ngược lại Để giải quyết vấn đề đó, ứng dụng này hỗ trợ hai

loại ngôn ngữ cho người dùng đó là tiếng Anh và tiếng Việt Tiện ích này dựa trên sự hỗ

trợ của các thuộc tính CurrentCulture, CurrentUICulture, lớp CultureInfo và các tập tin resource trong NET

Tính tương thích với trình duyệt: đây là vấn đề khá nhạy cảm của hầu hết các website và ứng dụng web Sự không tương thích giữa website và trình duyệt có thể mang tới nhiều tác dụng không mong muốn khi người dùng duyệt Web ở máy khách

Trang 24

Do đó, ứng dụng này được hạn chế sử dụng Javascript (vốn dĩ làm việc khá khác nhau

giữa các trình duyệt và giữa các phiên bản khác nhau của bản thân từng trình duyệt) để đảm bảo tối đa khả năng làm việc đúng trên các trình duyệt, đồng thời áp dụng kỹ thuật CSS thân thiện và an toàn Hiện ứng dụng này được hỗ trợ tốt bởi Google Chrome, Internet Explorer 6.0, 7.0, 8.0, Firefox 3.0

Vấn đề postback(*)

trong ứng dụng: khi postback một trang web, trình duyệt gửi toàn bộ thông tin từ máy khách đến máy chù và phải chờ đến khi máy chủ gửi toàn bộ

dữ liệu về, quá trình này mất khá nhiều thời gian và tiêu tốn nhiều băng thông, đồng

thời nó cũng gây ra hi ện tượng màn hình trình duyệt trên máy khách trở rổng tạo nên

cảm giác “không tự nhiên”, điều này hết sức nhạy cảm với một ứng dụng Web Giải pháp cho vấn đề này là công nghệ AJAX (đã được trình bày ở trên) Với công nghệ này,

ta sẽ tiết kiệm nhiều băng thông và tạo cảm giác thân thiện hơn cho người dùng phía máy khách

Một vấn đề đặt ra là khi người dùng yêu cầu một bài toán mới, ta cần thêm mô đun

đó mà không phải postback lại toàn bộ trang web Ở đây, tôi không chọn giải pháp mở

một cửa sổ mới vì điều đó buộc ta phải lưu kết quả hay các thông số khác trong chương trình vào Session hay Cookies làm giảm hiệu năng của ứng dụng Giải pháp là ta sử

dụng AJAX để tải “động” một mô đun vào một khung nào đó, với mỗi môđun được xây

dựng sẵn trên một Web User Control(*)

(có phần mở rộng là ascx)

(*) Trong ngữ cảnh sự phát triển web ASP.NET, postback là một tên khác của HTTP POST Trong một web tương tác, nội dung của form được gửi về máy chủ để thực hiện các thao tác lấy thông tin, sau quá trình đó, máy

ch ủ trả về 1 trang web mới cho trình duyệt chứa thông tin đ ã được yêu cầu

(*) Một Web Server Control là một nhóm gồm một hay nhiều điều khiển trình chủ (server control) hoặc các yếu

tố HTML tỉnh chứa 1 phần chức năng nào đó, một Web User Control có thể đơn giản là một phần mở rộng chức năng của một điều khiển trình chủ đã tồn tại

M ột Web User Control sau khi được khởi tạo có thể được sử dụng như một điều khiển trình chủ bình thường, trong đó bao hàm các ch ức năng do người dùng định nghĩa

Trang 25

Viết các hàm để xử lý bài toán trong MATLAB trong một m-file, xác định rõ các tham số nhập xuất Điều này vô cùng quan trọng vì khi các lớp NET làm việc với các hàm này khônng thể xử lý kiểu “void” (khi hàm không có các biến xuất rõ ràng)

Kiểm tra để chắc rằng hàm chạy đúng với một số mẫu và bắt (xác định kiểu dữ

liệu và đưa vào các điều khiển (Control) thích hợp, thông thường là kiểu chuỗi, kiểu

bảng và kiểu figure) các kết quả bằng cách tạo ra một mảng để thu nhận chính xác theo

thứ tự các kết quả trả vể

2.4 Biên d ịch các m-file thành các thành phần NET

Đây là công đoạn mà ta chuyển đổi các m-file thành các phương thức (method) NET thuộc vào các lớp theo yêu cầu, phục vụ cho việc tính toán trong môi trường NET Để thực hiện điều này ta sử dụng Deploytool được cung cấp trong MATLAB Trong cửa sổ dòng lệnh của MATLAB gõ: deploytool

Xuất hiện hộp thoại sau:

Hình I.5 H ộp Deployment Project

Trường Name: đặt tên cho dự án Chú ý rằng, tên của dự án sẽ là tên của namespace cho các lớp chứa trong thành phần NET sau khi biên dịch

Trường Location: nơi chứa các kết quả sau biên dịch Nếu ta chọn đích biên dịch

là NET Assembly thì ta nhận được một thư mục có tên là tên của dự án và có cấu trúc như sau:

B ảng I.2 Cấu trúc thư mục sau khi biên dịch

Thư mục con Tập tin Mô tả

src ComponentName

_mcc_component_data.cs

Tập tin chứa mã C# của thành phần

vừa xuất

Trang 26

Thư mục con Tập tin Mô tả

ClassName1.cs

ClassNameN.cs C# wrapper class file

distrib

ComponentName.dll Thành phần hợp ngữ NET ComponentName.pdb .NET component debug file (Debug

builds only)

ComponentName.xml .NET component XML

documentation file MWArray.xml

component_name.xml component_name_overview

html

Documentation template files

Trường Taget: Chỉ định dạng đối tượng ta cần biên dịch thành Ở đây, để triển khai trên NET ta chọn Net Assembly

Trong cửa sổ Deployment tool, nhấp Add Class, gõ tên của lớp trong trường Class Name Trong lớp này, nhấp Add files để thêm những tập tin (m-file) ta muốn vào

Chú ý: thêm bất kỳ tập tin hỗ trợ nào vào dự án để đảm bào nó chạy đúng Nếu ta

muốn bao gồm các tập tin bên ngoài, trong Shared Resource và Helper Files area nhấp Add files/directories Nhấp Open để chọn một hay nhiều tập tin

Hình I.6 Chu ẩn bị các lớp, thêm các tập tin để chuẩn bị biên dịch

Trang 27

Sau khi đã hoàn t ất quá trình trên nhấp vào nút Build (*)

Hình I.7 Quá trình biên d ịch

để dịch NET Assembly của chúng ta, quá trình biên dịch đôi lúc khá lâu tùy cấu hình máy và độ lớn

của dự án

2.5 Tham chi ếu các thành phần

Sau nhận được các thành phần, ta tiến hành tham chiếu chúng vào IDE NET (ở đây là Visula Studio 2008) Sau khi được tham chiếu, các tập tin dll là các thư viện

chứa các lớp (có các phương thức và thuộc tính) phục vụ cho quá trình tính toán

Trong môi trường NET mỗi tập tin dll được hiểu như một không gian tên (name space), có thể được sử dụng tương đối dễ dàng như các namespace trong NET Framework

2.6 Ki ểm tra và chuẩn hóa dữ liệu

Các dữ liệu được nhập từ Webform (bao gồm các dữ liệu được nhập trực tiếp hoặc

từ các tập tin chứa dữ liệu có cấu trúc theo yêu cầu) cần phải được kiểm tra và chuẩn hóa trước khi xử lý để đảm bảo môi trường an toàn cho ứng dụng

Quá trình chuẩn hóa dữ liệu còn bao hàm việc biến đổi các dữ liệu đầu vào (thường là các ma trận) thành các đối số thích hợp với các hàm đã chu ẩn bị trong MATLAB

3 Quá trình qu ản lý và lưu trữ dữ liệu đầu vào, kết quả đầu ra

(*)

Ta cũng có thể sử dụng các dòng lệnh để thực hiện việc biên dịch , trong khuôn khổ luận văn này, ta không bàn luận về các hàm phục vụ quá trình biên dịch dự án

Trang 28

Quá trình này bao gồm việc quản lý các tập tin dữ liệu được người dùng tải lên server hoặc nhập trực tiếp trên vùng làm việc và cách lưu trữ các kết quả tính toán được trong ứng dụng

Thể hiện trên ứng dụng là 2 cửa sổ “Working directory” và “Temporary Result”

Hình I.8 C ửa sổ quản lý các tài nguyên và các kết quả tính toán

3.6.1 Quá trình thu nh ận dữ liệu từ vùng làm việc (workspace) hoặc từ dữ liệu được tải lên từ người dùng

Để phân biệt nguồn dữ liệu (là nhập trực tiếp hay lấy từ file) Ta quy ước nếu người dùng đã ch ọn tập tin từ cây thư mục trong cửa sổ “Working Directory” thì ghi

nhận “CurrentFile” vào Session và lấy dữ liệu vào một DataTable (dt) bằng cách chuyển tập tin được chỉ định thành DataTable, ngược lại (nhập trực tiếp) ta nhận

“CurrentData” trong Session vào DataTable để tính toán

Trang 29

3.6.2 Quá trình l ưu trữ dữ liệu tạm thời

Sau khi tính toán các kết quả được lưu trữ tạm thời (sẽ mất đi khi người dùng thoát

khỏi ứng dụng hoặc thực hiện thao tác tải lại trang Web) trong cửa sổ “Temporary Result” Việc này được thực hiện bằng cách: lưu kết quả vừa tính toán vào Cookies

Response.Cookies.Add(myCookie);

Với StatusLabel là một điều khiển chứa kết quả vừa tính toán được

Cookie này được chuyển đến cửa sổ “Temporary Result” và sẽ hết hạn khi người dùng chọn kết quả đó để cho vào vùng làm việc

Trong cơ sở dữ liệu, ta tạo một bảng để phục vụ cho “cây thư mục” trong hình 1.9

Hình I.9 B ảng Dir dùng cho việc lưu trữ và quản lý các tài nguyên người dùng

Trang 30

Với bảng dữ liệu này, ta cho phép người dùng tạo các “thư mục ảo” và nó cũng

chịu trách nhiệm trong việc lưu trữ dữ liệu của vùng làm việc trong trường DirDataText

Bảng Dir có một liên kết nội nhằm tạo nên một cấu trúc “cây” trong cơ sở dữ liệu,

lớp HierarchicalDataSet (sẽ được trình bày sau đây) nh ận cấu trúc cây này và sau đó

biến nó thành nguồn dữ liệu cho cây thư mục trong cửa sổ “Working Directory”

Tuy nhiên, cũng chính t ừ cấu trúc này, gây khó khăn trong việc xóa một nút cha trong cây, vì thao tác này sẽ kéo theo một chuỗi các lệnh xóa (mang tính đệ quy) vốn dĩ không được làm một cách trực tiếp (sử dụng câu lệnh delete) mà phải sử dụng một kỹ thuật khác(*)

4.1.1 V ề phía quản trị viên:

• Dễ dàng quản lý các người dùng của ứng dụng

• Dễ dàng quản lý các nguồn tại nguyên của người dùng

4.1.2 V ề phía người sử dụng

Việc đăng ký làm thành viên cho phép người dùng sử dụng các tiện ích của chương trình (quản lý các nguồn tài nguyên, tính toán)

4.1.3 V ề phía nhà triển khai và phân phối ứng dụng

Trong tương lai, khi ứng dụng được thương mại hóa, việc thống kê số lượng thành viên (cho quảng cáo) và đặc biệt việc thu phí từ người dùng là rất cần thiết

4.2 Cơ sở dữ liệu

Cơ sở dữ liệu người dùng được Visual Studio 2008 hỗ trợ mạnh mẽ

Việc sử dụng các Login Server Control tạo nên một cơ sở dữ liệu người dùng hoàn

chỉnh (bao gồm các cách truy suất, chỉnh sửa thông qua các lớp NET như Roles, MemberShip, MemberShipColecttion…)

(*)

Do thời gian xây dựng ứng dụng hạn chế, kỹ thuật này hiện chưa được triển khai trong ứng dụng

Trang 31

Hình I.10 Sơ đồ quan hệ các bảng trong cơ sở dữ liệu phục vụ cho quản lý người dùng

5 Các l ớp sử dụng trong ứng dụng

Đây là các lớp chứa hầu hết các đoạn mã chính phục vụ các tác vụ quan trọng trong ứng dụng Sau quá trình biên dịch, chúng sẽ trở thành các tập tin dll

Ngày đăng: 24/04/2021, 09:21

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w