Nghiên cứu công nghệ Flex xây dựng phần mềm trắc nghiệm cho ĐH Thủ Dầu Một

Ứng dụng Flex giúp xây dựng phần mềm quản lý trắc nghiệm hiệu quả, nâng cao trải nghiệm người dùng và tối ưu quy trình kiểm tra, đánh giá.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Báo cáo tổng kết đề tài khoa học và công nghệ cấp trường

2013

93
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng quan công nghệ Flex trong phần mềm trắc nghiệm tại ĐH TDM

Trong bối cảnh hiện đại hóa giáo dục, việc ứng dụng công nghệ thông tin vào công tác kiểm tra, đánh giá là một yêu cầu cấp thiết. Đề tài nghiên cứu công nghệ Flex ứng dụng xây dựng phần mềm quản lý trắc nghiệm cho khoa CNTT trường ĐH TDM ra đời nhằm đáp ứng nhu cầu này. Công nghệ Apache Flex, trước đây là Adobe Flex, là một framework mã nguồn mở mạnh mẽ để xây dựng ứng dụng RIA (Rich Internet Application). Các ứng dụng này mang lại trải nghiệm người dùng phong phú, tương tác cao, hoạt động tương tự như phần mềm trên máy tính để bàn nhưng được triển khai trên nền tảng web. Việc lựa chọn Flex cho dự án tại Đại học Thủ Dầu Một (TDMU) không phải là ngẫu nhiên. Flex cho phép xây dựng giao diện người dùng phức tạp, trực quan thông qua ngôn ngữ MXML (dựa trên XML) và xử lý logic nghiệp vụ bằng ActionScript 3.0, một ngôn ngữ lập trình hướng đối tượng mạnh mẽ. Sự kết hợp này tạo ra một hệ thống thi trắc nghiệm trực tuyến linh hoạt, có khả năng mở rộng và triển khai đồng nhất trên nhiều trình duyệt khác nhau mà không gặp vấn đề tương thích. Đề tài này không chỉ tập trung vào việc phát triển phần mềm giáo dục mà còn là một khóa luận tốt nghiệp CNTT tiêu biểu, thể hiện khả năng nghiên cứu và ứng dụng công nghệ mới của sinh viên. Mục tiêu chính là xây dựng một công cụ hỗ trợ toàn diện cho việc quản lý đào tạo, từ khâu tạo ngân hàng câu hỏi trắc nghiệm, tổ chức thi, đến chấm điểm tự động, giúp nâng cao chất lượng và hiệu quả trong công tác giảng dạy và thi cử tại khoa Công nghệ thông tin.

1.1. Bối cảnh và tính cấp thiết của đề tài nghiên cứu công nghệ Flex

Hiện nay, nhiều phần mềm quản lý thi cử đang được sử dụng tại các cơ sở giáo dục. Tuy nhiên, phần lớn các giải pháp này hoặc chỉ hoạt động trên mạng cục bộ (LAN), hoặc nếu là ứng dụng web thì giao diện và tính năng còn hạn chế. Các phần mềm như EmpTest hay Articulate Quizmaker chưa hỗ trợ thi trực tuyến và thiếu các chức năng quản lý nâng cao như phân loại câu hỏi theo mức độ khó/dễ. Theo tài liệu nghiên cứu gốc, thực trạng này tạo ra một khoảng trống lớn, đòi hỏi một giải pháp e-learning software hiện đại hơn. Sự ra đời của đề tài này tại Đại học Thủ Dầu Một (TDMU) nhằm giải quyết trực tiếp những hạn chế đó, đề xuất một hướng đi mới bằng cách ứng dụng công nghệ Flex để xây dựng một hệ thống tập trung, mạnh mẽ và thân thiện với người dùng.

1.2. Mục tiêu chính của phần mềm quản lý trắc nghiệm cho khoa CNTT

Đề tài đặt ra các mục tiêu rõ ràng và mang tính ứng dụng cao. Trước hết, đó là nghiên cứu sâu về công nghệ Flex, MXML và ActionScript 3.0 để làm chủ công cụ phát triển. Mục tiêu trọng tâm là xây dựng thành công một phần mềm quản lý trắc nghiệm trên nền web. Hệ thống này phải đáp ứng các nghiệp vụ cốt lõi: quản lý ngân hàng câu hỏi trắc nghiệm (cho phép phân loại theo môn học, chương, mức độ khó), tạo đề thi tự động hoặc thủ công, tổ chức các kỳ thi trực tuyến với cơ chế giám sát thời gian, và thực hiện chấm điểm tự động ngay sau khi sinh viên nộp bài. Sản phẩm cuối cùng không chỉ là một đồ án chuyên ngành phần mềm mà còn là một công cụ thực tiễn, có khả năng triển khai ngay tại khoa CNTT, góp phần nâng cao chất lượng kiểm tra, đánh giá.

II. Thách thức quản lý thi cử và nhu cầu phần mềm trắc nghiệm Flex

Công tác tổ chức thi cử truyền thống và các phần mềm hiện có tại thời điểm nghiên cứu bộc lộ nhiều hạn chế. Việc soạn đề, in ấn, coi thi, và chấm bài thủ công tốn nhiều thời gian, công sức và dễ xảy ra sai sót. Các phần mềm quản lý thi cử thế hệ cũ thường chỉ chạy trên máy tính độc lập hoặc mạng nội bộ, gây khó khăn trong việc triển khai trên quy mô lớn và không cho phép sinh viên thi từ xa. Đặc biệt, việc quản lý một ngân hàng câu hỏi trắc nghiệm lớn, có cấu trúc và được phân loại khoa học là một thách thức lớn. Các hệ thống này thường thiếu khả năng tạo đề thi tự động dựa trên ma trận kiến thức, không thể trộn câu hỏi và đáp án để hạn chế gian lận, và quy trình cập nhật câu hỏi còn phức tạp. Nhận thấy những vấn đề này, khoa CNTT tại Đại học Thủ Dầu Một (TDMU) đã xác định nhu cầu cấp thiết về một hệ thống thi trắc nghiệm trực tuyến hiện đại. Giải pháp này phải khắc phục được các nhược điểm kể trên, đồng thời mang lại trải nghiệm tốt hơn cho cả giảng viên và sinh viên. Đây chính là động lực để thực hiện đề tài nghiên cứu công nghệ Flex, một công nghệ cho phép tạo ra các ứng dụng web có giao diện đồ họa phong phú và tương tác mạnh mẽ, phù hợp để giải quyết bài toán phức tạp của việc quản lý đào tạo và thi cử.

2.1. Hạn chế của các hệ thống thi trắc nghiệm khách quan hiện tại

Báo cáo nghiên cứu đã chỉ ra rằng các phần mềm trắc nghiệm phổ biến tại thời điểm đó như EmpTest không hỗ trợ thi trực tuyến và không có chức năng tính giờ tự động. Việc nhập câu hỏi chủ yếu là nhập thô, chưa cho phép phân chia câu hỏi theo các mức độ nhận thức (khó/dễ) hay theo từng chương mục cụ thể. Điều này làm giảm tính khách quan và khả năng đánh giá chính xác năng lực của sinh viên. Hơn nữa, các phần mềm này yêu cầu cài đặt trên từng máy, gây khó khăn cho việc bảo trì, nâng cấp và không thể đáp ứng nhu cầu học tập, kiểm tra linh hoạt trong môi trường e-learning software hiện đại.

2.2. Yêu cầu nghiệp vụ đối với một e learning software quản lý thi cử

Một phần mềm quản lý thi cử hiệu quả cần đáp ứng các yêu cầu nghiệp vụ chặt chẽ. Hệ thống phải có cơ chế phân quyền rõ ràng cho các đối tượng: quản trị viên, giảng viên và sinh viên. Giảng viên cần có công cụ để quản lý ngân hàng câu hỏi trắc nghiệm một cách dễ dàng, tạo và tùy chỉnh đề thi theo nhiều tiêu chí. Sinh viên cần có giao diện làm bài thi thân thiện, ổn định, với các chức năng như xem lại câu trả lời, đồng hồ đếm ngược. Quan trọng nhất là tính năng chấm điểm tự động và trả kết quả tức thì, giúp giảm tải công việc cho giảng viên và cung cấp phản hồi nhanh chóng cho người học. Đây là những tiêu chí cốt lõi mà dự án phát triển phần mềm giáo dục này hướng đến.

III. Phương pháp lập trình Flex MXML và ActionScript 3

Để hiện thực hóa phần mềm quản lý trắc nghiệm, đề tài đã đi sâu vào việc khai thác sức mạnh của nền tảng Apache Flex. Cách tiếp cận chính là kết hợp hai thành phần cốt lõi: MXML và ActionScript 3.0. MXML, một ngôn ngữ đánh dấu dựa trên XML, được sử dụng để thiết kế và bố trí giao diện người dùng (UI). Ưu điểm của MXML là cú pháp khai báo rõ ràng, giúp các lập trình viên dễ dàng xây dựng các layout phức tạp, định nghĩa các thành phần trực quan và thiết lập các liên kết dữ liệu (data binding) một cách nhanh chóng. Việc này giúp tách biệt phần trình bày (presentation) ra khỏi phần logic nghiệp vụ. Trong khi đó, ActionScript 3.0 đóng vai trò là "bộ não" của ứng dụng. Đây là một ngôn ngữ lập trình hướng đối tượng tuân thủ chuẩn ECMAScript, được sử dụng để xử lý các sự kiện người dùng (như click chuột, nhập liệu), tương tác với máy chủ, và thực thi các thuật toán phức tạp. Quá trình lập trình Flex trong dự án này là việc sử dụng MXML để tạo các form nhập liệu, danh sách câu hỏi, giao diện làm bài thi, và dùng ActionScript để xử lý logic như kiểm tra đăng nhập, tải dữ liệu từ server, tính thời gian làm bài, và gửi kết quả. Sự kết hợp nhuần nhuyễn giữa MXML và ActionScript là chìa khóa để xây dựng ứng dụng RIA mạnh mẽ, đáp ứng đầy đủ các yêu cầu của một hệ thống thi trắc nghiệm trực tuyến chuyên nghiệp.

3.1. Sử dụng MXML để thiết kế giao diện người dùng UI trực quan

MXML cung cấp một bộ thư viện thẻ (tag) phong phú tương ứng với các thành phần giao diện như Button, DataGrid, ComboBox, Panel. Trong dự án, MXML được dùng để tạo ra các module chức năng. Ví dụ, module quản lý ngân hàng câu hỏi trắc nghiệm sử dụng một DataGrid để hiển thị danh sách câu hỏi, cho phép sắp xếp và lọc. Giao diện thi của sinh viên được bố trí bằng các container như VBox, HBox để sắp xếp các vùng hiển thị câu hỏi, đáp án, và đồng hồ đếm ngược một cách khoa học. Tài liệu gốc nhấn mạnh, "MXML được sử dụng chủ yếu để hiển thị layout của các ứng dụng", giúp quá trình phát triển UI nhanh hơn đáng kể so với việc viết code thuần túy bằng ActionScript.

3.2. Vai trò của ActionScript 3.0 trong xử lý logic và sự kiện

ActionScript 3.0 chịu trách nhiệm cho toàn bộ phần động của ứng dụng. Khi người dùng thực hiện một hành động, ví dụ như nhấn nút "Nộp bài", một sự kiện (event) sẽ được kích hoạt. Các hàm xử lý sự kiện viết bằng ActionScript sẽ được gọi để thực hiện các tác vụ tương ứng, chẳng hạn như thu thập câu trả lời của sinh viên, gửi chúng đến máy chủ để xử lý, và nhận về kết quả điểm số. Ngôn ngữ này cũng được dùng để tạo các lớp (class) tùy chỉnh, quản lý trạng thái của ứng dụng và thực hiện các kết nối tới dịch vụ web phía server. Việc sử dụng ActionScript giúp ứng dụng có tính tương tác cao và phản hồi nhanh, tạo ra trải nghiệm mượt mà cho người dùng.

IV. Cách kết nối CSDL và xây dựng hệ thống thi trắc nghiệm trực tuyến

Một hệ thống thi trắc nghiệm trực tuyến không thể hoạt động nếu thiếu một hệ quản trị cơ sở dữ liệu (CSDL) mạnh mẽ và cơ chế kết nối dữ liệu hiệu quả. Đề tài đã lựa chọn SQL Server cho ứng dụng trắc nghiệm để lưu trữ toàn bộ thông tin, bao gồm tài khoản người dùng, ngân hàng câu hỏi, đề thi, và kết quả thi. Cấu trúc CSDL được thiết kế theo mô hình quan hệ, với các bảng như GIANGVIEN, SINHVIEN, NGANHANGCAUHOI, DETHI được liên kết chặt chẽ với nhau. Để ứng dụng Flex phía client có thể giao tiếp với CSDL phía server, dự án đã triển khai theo mô hình client-server. Phía client (giao diện người dùng) được xây dựng bằng công nghệ Flex. Phía server được xây dựng bằng một ngôn ngữ kịch bản phía máy chủ (ví dụ: PHP, Java, hoặc ASP.NET) để tạo ra các API hoặc web service. Nhiệm vụ của lớp server này là nhận yêu cầu từ client, truy vấn CSDL SQL Server, xử lý logic nghiệp vụ và trả về dữ liệu dưới định dạng mà Flex có thể hiểu được (thường là XML hoặc JSON). Quá trình kết nối cơ sở dữ liệu với Flex được thực hiện thông qua các thành phần dịch vụ của Flex như HTTPService hoặc WebService. Các thành phần này cho phép gửi các yêu cầu HTTP đến server và nhận phản hồi một cách bất đồng bộ, đảm bảo giao diện người dùng không bị "treo" trong khi chờ dữ liệu.

4.1. Phân tích và thiết kế cơ sở dữ liệu với SQL Server

Cơ sở dữ liệu là xương sống của phần mềm. Nhóm nghiên cứu đã tiến hành phân tích và thiết kế chi tiết các thực thể quan trọng. Bảng NGANHANGCAUHOI chứa các trường như nội dung câu hỏi, các đáp án, đáp án đúng, môn học, và mức độ khó. Bảng DETHI lưu thông tin về một đề thi cụ thể, bao gồm danh sách các câu hỏi được lấy từ ngân hàng. Bảng DANHSACHTHI ghi lại thông tin sinh viên tham gia thi, đề thi tương ứng và kết quả. Việc thiết kế một mô hình CSDL chuẩn hóa với SQL Server cho ứng dụng trắc nghiệm giúp đảm bảo tính toàn vẹn dữ liệu, dễ dàng truy vấn và mở rộng hệ thống trong tương lai.

4.2. Triển khai mô hình client server và cơ chế truy cập dữ liệu

Trong mô hình client-server của dự án, ứng dụng Flex (client) không kết nối trực tiếp với CSDL. Thay vào đó, nó gửi yêu cầu đến một lớp trung gian ở server. Tài liệu nghiên cứu đề cập đến việc sử dụng component HTTPService trong Flex. Component này gửi một request (GET hoặc POST) đến một URL trên server. Server nhận request, thực thi một đoạn mã để truy vấn CSDL, sau đó đóng gói kết quả (ví dụ: danh sách câu hỏi) thành định dạng XML và trả về cho client. Ứng dụng Flex nhận dữ liệu XML này, phân tích và hiển thị lên giao diện. Cơ chế này không chỉ đảm bảo an toàn bảo mật cho CSDL mà còn giúp hệ thống linh hoạt và dễ bảo trì.

V. Ứng dụng thực tiễn Quản lý ngân hàng câu hỏi và thi cử hiệu quả

Sản phẩm cuối cùng của đề tài nghiên cứu công nghệ Flex là một phần mềm quản lý trắc nghiệm hoàn chỉnh, có khả năng ứng dụng thực tiễn cao tại khoa CNTT, Đại học Thủ Dầu Một (TDMU). Phần mềm cung cấp các module chức năng đáp ứng đầy đủ chu trình của một kỳ thi. Đối với giảng viên, hệ thống mang lại công cụ quản lý ngân hàng câu hỏi trắc nghiệm mạnh mẽ. Giảng viên có thể dễ dàng thêm, sửa, xóa câu hỏi; phân loại chúng theo môn học, chương và độ khó; đồng thời có thể nhập câu hỏi hàng loạt từ file để tiết kiệm thời gian. Khi tạo đề thi, giảng viên có thể lựa chọn tạo thủ công bằng cách chọn từng câu hỏi hoặc sử dụng tính năng tạo đề tự động, hệ thống sẽ tự động lấy ngẫu nhiên số lượng câu hỏi phù hợp với ma trận kiến thức đã định sẵn. Đối với sinh viên, giao diện làm bài được thiết kế trực quan, dễ sử dụng. Thời gian làm bài được giám sát bằng đồng hồ đếm ngược. Sau khi hoàn thành, hệ thống thực hiện chấm điểm tự động và hiển thị kết quả ngay lập tức. Đây là một bước tiến vượt bậc so với phương pháp chấm thủ công, giúp đảm bảo tính minh bạch, chính xác và giảm thiểu áp lực cho giảng viên. Sản phẩm này là minh chứng rõ ràng cho hiệu quả của việc phát triển phần mềm giáo dục bằng công nghệ Flex.

5.1. Chức năng quản lý ngân hàng câu hỏi và tạo đề thi tự động

Module quản lý ngân hàng câu hỏi trắc nghiệm là một trong những tính năng cốt lõi. Giao diện cho phép giảng viên quản lý hàng ngàn câu hỏi một cách khoa học. Điểm nổi bật là khả năng tạo đề thi tự động. Giảng viên chỉ cần nhập các tham số như số lượng câu hỏi, tỷ lệ câu hỏi dễ/trung bình/khó, hệ thống sẽ tự động duyệt ngân hàng câu hỏi và tạo ra một đề thi duy nhất, đảm bảo tính khách quan và giảm thiểu khả năng gian lận. Chức năng này giúp quá trình chuẩn bị cho các kỳ thi trở nên nhanh chóng và hiệu quả hơn rất nhiều.

5.2. Quy trình tổ chức thi trực tuyến và cơ chế chấm điểm tự động

Hệ thống cho phép giảng viên tạo các phòng thi ảo, gán danh sách sinh viên và đề thi tương ứng. Sinh viên đăng nhập vào hệ thống đúng thời gian quy định để làm bài. Trong quá trình thi, mọi thao tác của sinh viên đều được ghi nhận. Khi hết giờ hoặc sinh viên nhấn nộp bài, toàn bộ câu trả lời sẽ được gửi về máy chủ. Cơ chế chấm điểm tự động sẽ so sánh câu trả lời của sinh viên với đáp án đúng được lưu trong CSDL và tính toán điểm số cuối cùng. Kết quả được lưu lại và hiển thị cho sinh viên, đồng thời được tổng hợp trong báo cáo dành cho giảng viên. Quy trình này tự động hóa gần như toàn bộ công tác tổ chức thi và chấm thi.

VI. Đánh giá dự án và tương lai của công nghệ Flex so với HTML5

Dự án nghiên cứu công nghệ Flex ứng dụng xây dựng phần mềm quản lý trắc nghiệm cho khoa CNTT trường ĐH TDM đã hoàn thành xuất sắc các mục tiêu đề ra. Sản phẩm phần mềm không chỉ là một khóa luận tốt nghiệp CNTT chất lượng mà còn là một giải pháp thực tiễn, có khả năng triển khai và nâng cao hiệu quả quản lý đào tạo tại Đại học Thủ Dầu Một (TDMU). Hệ thống đã chứng minh được ưu điểm của công nghệ Flex trong việc xây dựng ứng dụng RIA, mang lại trải nghiệm người dùng vượt trội so với các ứng dụng web truyền thống thời bấy giờ. Tuy nhiên, trong bối cảnh phát triển không ngừng của công nghệ web, cần có một cái nhìn xa hơn về tương lai. Tại thời điểm nghiên cứu (2013), Flex là một lựa chọn hàng đầu. Nhưng sau đó, sự phát triển mạnh mẽ của Flex và HTML5 đã tạo ra một sự chuyển dịch lớn. HTML5, cùng với CSS3 và JavaScript, đã dần trở thành tiêu chuẩn mới cho việc xây dựng các ứng dụng web tương tác mà không cần đến plugin bên ngoài như Flash Player. Dù Apache Flex vẫn được duy trì bởi cộng đồng, hướng phát triển trong tương lai cho các hệ thống thi trắc nghiệm trực tuyến nên cân nhắc chuyển đổi hoặc xây dựng mới dựa trên nền tảng HTML5 để đảm bảo tính tương thích, hiệu suất và khả năng tiếp cận trên các thiết bị di động.

6.1. Kết quả đạt được và hiệu quả của đồ án chuyên ngành phần mềm

Đề tài đã thành công trong việc nghiên cứu và ứng dụng một công nghệ tương đối mới vào thực tiễn giáo dục. Sản phẩm phần mềm hoạt động ổn định, đáp ứng đầy đủ các yêu cầu nghiệp vụ đặt ra, từ quản lý ngân hàng câu hỏi trắc nghiệm đến chấm điểm tự động. Hiệu quả của dự án được thể hiện qua việc tiết kiệm thời gian, chi phí cho công tác tổ chức thi cử và cung cấp một công cụ đánh giá khách quan, minh bạch. Đây là một đồ án chuyên ngành phần mềm có giá trị, thể hiện năng lực giải quyết vấn đề của sinh viên.

6.2. Hướng phát triển So sánh giữa Flex và HTML5 cho ứng dụng E learning

Mặc dù thành công, tương lai của ứng dụng cần được xem xét trong bối cảnh công nghệ đã thay đổi. Flex phụ thuộc vào Adobe Flash Player, một plugin đã bị ngừng hỗ trợ trên hầu hết các trình duyệt hiện đại. Ngược lại, HTML5 là một công nghệ gốc của web, được hỗ trợ tự nhiên trên mọi thiết bị từ máy tính đến điện thoại thông minh. Các framework JavaScript hiện đại như React, Angular, Vue.js cung cấp khả năng xây dựng ứng dụng RIA tương tự hoặc thậm chí mạnh mẽ hơn Flex. Do đó, hướng phát triển khả thi cho phần mềm này là tái cấu trúc hoặc xây dựng lại giao diện người dùng bằng công nghệ HTML5, trong khi vẫn giữ lại phần logic nghiệp vụ và cơ sở dữ liệu ở phía server.

04/10/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN VỀ FLEX, MXML, ACTIONSCRIPT 1. Tổng quan về Flex 1. Sự ra đời của công nghệ Flex Ngày nay, sự ra đời của web thế hệ mới (web 2.0) hình thành nhu cầu tạo các ứng dụng trên nền web gọi là RIA ( Rich Internet Application), hoạt động tương tự như ứng dụng desktop truyền thống. Để tạo RIA, có 2 giải pháp: ❖ DHTML (HTML, CSS, JavaScript) kết hợp với Ajax: Đây là công cụ mạnh nhưng HTML không phải là công cụ trình diễn, mà là một chuẩn tài liệu.

Ngoài ra, JavaScript vẫn chưa đủ mạnh, thiếu chặt chẽ, sự tương thích với các trình duyệt còn hạn chế. ❖ Flash (công nghệ vector của Adobe): Ngày nay, công nghệ này đã được cải tiến rất nhiều, có thể làm ứng dụng RIA khá tốt. Nhưng Flash sinh ra không phải để viết ứng dụng, công cụ lập trình không chuyên nghiệp, giao diện lập trình còn hạn chế, chi phí viết ứng dụng lớn do thiếu thành phần giao diện và các thư viện hỗ trợ. Để khắc phục tình trạng này, Adobe cho ra đời công nghệ Flex – một nền tảng công nghệ, công cụ phát triển ứng dụng RIA chuyên nghiệp.

Với Flex, các lập trình viên có thể kết hợp phương pháp thiết kế kéo thả và phương pháp viết source code, giúp xây dựng từng phần của ứng dụng một cách thích hợp. Flex hiện có 2 thành phần chính: MXML và ActionScript 3. Công nghệ Flex Flex là một framework mã nguồn mở, miễn phí dùng để xây dựng các ứng dụng web có tính tương tác cao và được triển khai thống nhất trên tất cả các trình duyệt, các máy tính desktop và các hệ điều hành. Flex cung cấp một ngôn ngữ hiện đại dựa theo các quy tắc chuẩn và một mô hình lập trình hỗ trợ các mẫu thiết kế chung.

Chủ nhiệm đề tài: KS. Bùi Sỹ Vương Trang 10 Báo cáo tổng kết đề tài: Nghiên cứu công nghệ Flex, ứng dụng xây dựng phần mềm quản lý trắc nghiệm cho khoa Công nghệ thông tin Trường ĐHThủ Dầu Một Các RIA được tạo ra bởi Flex có thể chạy trên các trình duyệt sử dụng phần mềm Adobe Flash Player hoặc sử dụng Adobe AIR bên ngoài trình duyệt. Sử dụng Framework mã nguồn mở Flex, các nhà lập trình có thể tạo ra các ứng dụng web trực quan và hấp dẫn cho phép khách hàng, đối tác và nhân viên diễn đạt thông tin một cách hiệu quả hơn. Đặc điểm của công nghệ Flex Công nghệ Flex có những đặc điểm chính như sau: ❖ Các ứng dụng Flex cũng là các ứng dụng Flash: ➢ Flex là công nghệ để tạo ra các RIA dựa trên nền tảng Flash ➢ Các ứng dụng Flex sử dụng Flash Player 9 trở lên.

➢ Giống như tất cả các flash RIA, các file flex SWF được tiến hành trên client nhiều hơn trên server. ❖ Flex framework chứa các lớp thư viện được định nghĩa sẵn và các công cụ cần thiết để tạo ra các ứng dụng Flex. ➢ Flex framework có thể là một SDK free hoặc một IDE dựa trên nền Eclipse gọi là Flex Builder. ➢ Flex framework bao gồm cả trình biên dịch ➢ Các thư viện lớp và các ứng dụng dịch vụ cung cấp cho các nhà lập trình các component chuẩn và các công cụ để phát triển nhanh ứng dụng.

❖ Các ứng dụng Flex được viết bằng cách sử dụng MXML và ActionScript 3.0 ➢ MXML là một ngôn ngữ đánh dấu dựa trên XML, được sử dụng chủ yếu để hiển thị layout của các ứng dụng. ➢ ActionScript là một ngôn ngữ lập trình hướng đối tượng ECMAScript- compliant được sử dụng chủ yếu trong các application logic. ➢ Code MXML và ActionScript được biên dịch thành file binary SWF. Chủ nhiệm đề tài: KS.

Bùi Sỹ Vương Trang 11 Báo cáo tổng kết đề tài: Nghiên cứu công nghệ Flex, ứng dụng xây dựng phần mềm quản lý trắc nghiệm cho khoa Công nghệ thông tin Trường ĐHThủ Dầu Một 1. Tổng quan MXML 1. Lịch sử XML XML và HTML đều được phát triển từ SGML (Standard Generalized Markup Language) – ngôn ngữ đánh dấu tiêu chuẩn tổng quát, một ngôn ngữ biểu thị dữ liệu trong những ứng dụng xử lý văn bản đa dạng và có cấu trúc tinh vi. Tuy nhiên, SGML cũng tồn tại những nhược điểm là rắc rối, khó học và khó sử dụng.

Vào năm 1990, Tim Berners – Lee đã tạo ra HTML, một phần nhỏ của SGML và rất dễ sử dụng. Tuy nhiên, vào sau đó một thời gian, người ta bắt đầu nhận thấy sự giới hạn của HTML. Vào năm 1996, Jon Bosak đã khởi động nhóm cộng tác W3C SGML, bấy giờ được gọi là nhóm XML. Mục đích là đơn giản hóa SGML để nó dễ dùng như HTML, đồng thời cũng mạnh mẽ hơn.

Bản specification đầu tiên của XML ra đời vào tháng 11 năm 1996. Tháng 7 năm 1997, Microsoft làn đầu tiên áp dụng XML. Tháng 1 năm 1998, Microsoft cho ra đời một chương trình miễn phí MSXSL để generate một trang HTML từ cặp trang XML và XSL. Tháng 2 năm 1998, W3C phê chuẩn cho chính thức thi hành version 1.0 của XML Specification.

Khái niệm chung về XML XML là viết tắt của chữ eXtensible Markup Language (ngôn ngữ nâng cấp có thể mở rộng) là một bộ quy luật về cách chia tài liệu ra làm nhiều phần, rối đánh đáu và ráp các phần khác nhau lại để dễ nhận biết chúng. Khác với HTML, XML cho phép người dùng có thể tự do đặt tên các thẻ khi cần. Do đó, XML không giới hạn về con số các thẻ và người dùng cũng không cần phải nhớ bất của thẻ nào. Mỗi trang XML đều bắt đầu bằng một lệnh xử lý XML (XML processing instruction).

Nó được đặt trong cặp thẻ <? ?> Chủ nhiệm đề tài: KS. Bùi Sỹ Vương Trang 12 Báo cáo tổng kết đề tài: Nghiên cứu công nghệ Flex, ứng dụng xây dựng phần mềm quản lý trắc nghiệm cho khoa Công nghệ thông tin Trường ĐHThủ Dầu Một <?xml version="1.0" standalone="yes"?> Mỗi trang XML cần phải theo một số quy luật để được xem là “well formed”. Các quy luật mà một trang XML cần phải tuân thủ: 1. Trang XML phải được bắt đầu bằng câu tuyên bố XML (XML declaration) 2.

Mỗi bộ phận (element) phải nằm trong một thẻ (tag) 3. Nếu thẻ không chứa gì ở giữa thì phải chấm dứt bằng “/>” 4. Một trang XML phải có một element duy nhất chứa tất cả các element khác (root element) 5. Các thẻ tag không được xen kẽ nhau.

Sơ lược về MXML MXML là ngôn ngữ đánh dấu XML được dùng để bố trí các thành phần giao diện người dùng trong ứng dụng Flex. MXML còn được dùng để khai báo việc truy cập dữ liệu trên server và truyền dữ liệu giữa các thành phần giao diện người dùng và nguồn dữ liệu trên server. Giống như HTML, MXML cung cấp các thẻ để định nghĩa giao diện người dùng. Cách làm việc của MXML tương tự như HTML.

Một ứng dụng đơn giản sử dụng MXML: <?xml version="1.mxml --> <mx:Application xmlns:mx="http://www.com/2006/mxml"> <mx:Panel title="My Application" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" Chủ nhiệm đề tài: KS. Bùi Sỹ Vương Trang 13 Báo cáo tổng kết đề tài: Nghiên cứu công nghệ Flex, ứng dụng xây dựng phần mềm quản lý trắc nghiệm cho khoa Công nghệ thông tin Trường ĐHThủ Dầu Một > <mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/> </mx:Panel> </mx:Application> Flex được xem như là thư viện các lớp ActionScript. Thư viện lớp này chứa các component, các thư viện quản lý, các lớp data-service và các lớp cho các chức năng khác. Các thẻ MXML tương ứng với các lớp ActionScript hoặc các thuộc tính của lớp.

Flex sẽ phân tích các thẻ MXML và biên dịch thành một file SWF chứa các đối tượng ActionScript tương ứng. Cấu trúc của một ứng dụng Flex Cấu trúc của một ứng dụng Flex có thể được viết trong một file hoặc nhiều file. Với cấu trúc nhiều file, file chính là file chứa thẻ <mx:Application>. Từ file chính, người lập trình có thể tham chiếu đến các file khác được viết bằng MXML, ActionScript hoặc kết hợp cả 2 ngôn ngữ.

ActionScript trong Flex Các nhà phát triển Flex sử dụng ActionScript để cài đặt các hành vi bên trong ứng dụng Flex. Đầu tiên là sử dụng các thẻ MXML để khai báo các container, control, các hiệu ứng, định dạng và các dịch vụ web mà ứng dụng yêu cầu, đồng thời để bố trí giao diện người dùng. Sau đó, các nhà lập trình sẽ sử dụng ngôn ngữ ActionScript để lập trình các sự kiện cho các component và ứng dụng. Nói một cách tổng quát, MXML cài đặt các trạng thái tĩnh cho ứng dụng, còn ActionScript sẽ cài đặt các trạng thái động cho ứng dụng Flex.

ActionScript là một ngôn ngữ lập trình thủ tục hướng đối tượng, dựa trên ECMAScript. Người lập trình có thể ứng dụng nhiều phương pháp để kết hợp ActionScript và MXML: • Sử dụng ActionScript để định nghĩa các sự kiện bên trong các thuộc tính sự kiện của MXML. Chủ nhiệm đề tài: KS. Bùi Sỹ Vương Trang 14 Báo cáo tổng kết đề tài: Nghiên cứu công nghệ Flex, ứng dụng xây dựng phần mềm quản lý trắc nghiệm cho khoa Công nghệ thông tin Trường ĐHThủ Dầu Một • Đặt bên trong thẻ <mx:Script>.

• Include file ActionScript bên ngoài. • Import các lớp ActionScript. • Tạo các ActionScript component. Phát sinh ActionScript Khi một file MXML được biên dịch, trình biên dịch sẽ tạo ra một lớp và phát sinh ActionScript để lớp đó sử dụng.

Một ứng dụng MXML sẽ định nghĩa các subclass của lớp Application, tương tự, một component MXML sẽ định nghĩa các subclass của component đó. Tên của subclass là tên của file. Lớp cơ sở là lớp của thẻ lớn nhất. Một ứng dụng MXML sẽ định nghĩa : class MyApp extends Application Nếu file myButton.mxml bắt đầu với thẻ <mx:Button>, lớp MyButton sẽ được định nghĩa: class MyButton extends Button Các biến và phương thức được khai báo trong khối <mx:Script> định nghĩa các thuộc tính và phương thức của subclass.

Khi thiết lập thuộc tính id cho các component, người lập trình có thể tham chiếu đến các component khác có chung thuộc tính id Các thuộc tính sự kiện sẽ trở thành các phương thức được phát sinh tự động trong lớp con. Tất cả các đoạn mã ActionScript trong file MXML thực thi với từ khóa this đều tham chiếu đến các instance của subclass. Các component khác có thể truy cập các thuộc tính và phương thức public của một component bất kì. Chủ nhiệm đề tài: KS.

Bùi Sỹ Vương Trang 15 Báo cáo tổng kết đề tài: Nghiên cứu công nghệ Flex, ứng dụng xây dựng phần mềm quản lý trắc nghiệm cho khoa Công nghệ thông tin Trường ĐHThủ Dầu Một 1. Sử dụng ActionScript để xử lý sự kiện MXML Người lập trình có thể dùng ActionScript bằng cách đưa code ActionScript vào bên trong thẻ MXML để xử lý sự kiện, như ví dụ sau: <?xml version="1.mxml --> <mx:Application xmlns:mx="http://www.co m/2006/mxml" layout="absolute"> <mx:Panel title="My Application" height="128" x="226" y="24" layout="absolute"> <mx:TextArea id="textarea1" width="155" x="0" y="0"/> <mx:Button label="Click Me" click="textarea1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ