78
A-PDF MERGER DEMO

0411

Embed Size (px)

DESCRIPTION

hh

Citation preview

Page 1: 0411

A-PDF MERGER DEMO

Page 2: 0411

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

KHOA CÔNG NGHỆ THÔNG TIN

TÓM TẮT KHÓA LUẬN TỐT NGHIỆP CHUYÊN NGÀNH CÔNG NGHỆ PHẦN MỀM

HÀ NỘI – 2005

Page 3: 0411

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

KHOA CÔNG NGHỆ THÔNG TIN

TÓM TẮT KHÓA LUẬN TỐT NGHIỆP CHUYÊN NGÀNH CÔNG NGHỆ PHẦN MỀM

HÀ NỘI - 2005

Page 4: 0411

- 1 -

Mục lục

1. Ứng dụng WorkFlow vào hệ thống E-Learning Chu Thị Kim Anh ........................................................................................................4

2. Tìm hiểu và vận dụng một số công nghệ tiên tiến trong phần mềm hướng đối tượng Trương Công Ái, Nguyễn Phương Chính..................................................................6

3. Nghiên cứu và ứng dụng mạng Neutron trong nhận dạng chữ viết tay tiếng Việt Nguyễn Thị Minh Ánh.................................................................................................8

4. Hệ thống quản lý tài liệu điện tử Hoàng Minh Cương ...................................................................................................10

5. Nghiên cứu và ứng dụng trích chọn đặc trưng trong nhận dạng chữ viết tay tiếng Việt Đinh Việt Cường ........................................................................................................12

6. Nghiên cứu và triển khai ứng dụng với Smart Card Trương Công Cường .................................................................................................14

7. Hệ chuyên gia ước lượng dự án phần mềm Nguyễn Ngọc Bảo .......................................................................................................16

8. Tìm kiếm văn bản và ảnh trên cơ sở nội dung trong CSDL đa phương tiện Lê Khánh Dương, Vũ Minh Hiếu .............................................................................18

9. Kỹ thuật cộng ảnh và ứng dụng Vũ Thị Đào..................................................................................................................20

10. Xây dựng công cụ biên soạn bài giảng tuân theo chuẩn SCORM Nguyễn Thị Ngọc Điệp, Nguyễn Thị Bình Giang ....................................................22

11. Xây dựng hệ thống quản lý và bán sách trên mạng Đỗ Thanh Hà ..............................................................................................................24

12. Tìm hiểu phương pháp phân tích miền và tiến hành phân tích trên miền Giáo dục – Đào tạo Hoàng Thị Hà, Dương Thị Hạnh, Đỗ Diệu Hằng....................................................26

13. Mạng không dây và các ứng dụng cho thiết bị di động Lê Viết Hà ...................................................................................................................28

Page 5: 0411

- 2 -

14. Ứng dụng công nghệ hướng đối tượng xây dựng hệ thống điều khiển giao thông một cách tự động Nguyễn Hoàng Hà, Nguyễn Hoàng Long, Trần Trung Thành..............................30

15. Hệ thống quản lý nhân sự ngành giáo dục và đào tạo thành phố Hà Nội Hoàng Xuân Hào........................................................................................................32

16. Phân tích và thiết kế hệ thống mạng việc làm Nguyễn Đức Hải .............................................................................................................................34

17. Framework Struts Phan Thị Hồng Hạnh.................................................................................................36

18. Nghiên cứu và ứng dụng phân đoạn ảnh trong nhận dạng chữ viết tay tiếng Việt Ngô Trí Hoài ...............................................................................................................38

19. Nâng cao hiệu quả mạng Neutral bằng thuật toán di truyền trong hệ thống chuẩn đoán bệnh ung thư Vũ Quốc Huy ..............................................................................................................40

20. Xây dựng thời khóa biểu bằng cách kết hợp phương pháp Heuristics và tương tác người máy Nguyễn Việt Hùng, Nguyễn Văn Tuân ....................................................................42

21. Nghiên cứu tích hợp dịch vụ nhắn tin ngắn vào các cổng thông tin điện tử Phan Trần Hùng ........................................................................................................44

22. Kỹ thuật trừ ảnh và ứng dụng Thế Thị Hường ...........................................................................................................46

23. Một số phương pháp trong sắp xếp chuỗi sinh học Vũ Hồng Khiêm..........................................................................................................48

24. Sử dụng mô hình Maximum Entropy nhận dạng màu da ảnh màu Nguyễn Tuấn Nghĩa ...................................................................................................50

25. Xây dựng hệ thống báo điện tử trên nền tảng Portal và CMS Nguyễn Bình Nguyên .................................................................................................54

26. Ứng dụng khung làm việc cho bài toán lập lịch Vũ Văn Thạch ............................................................................................................56

27. Tìm kiếm dữ liệu đa phương tiện Nguyễn Đại Thắng .....................................................................................................60

Page 6: 0411

- 3 -

28. Hệ thống quản lý thông tin du lịch Châu Ngọc Tuấn ........................................................................................................62

29. Xây dựng và ứng dụng Portal Nguyễn Hữu Tuất ......................................................................................................64

30. Thực nghiệm và đánh giá một phương pháp nhận dạng chữ tiếng Việt in Trần Hà Tuyên ...........................................................................................................68

31. Bài toán quản lý hợp đồng xây dựng cơ bản Nguyễn Hoàng Tùng ..................................................................................................70

32. Phân tích thiết kế hệ thống hỗ trợ tiếp nhận hồ sơ – liên lạc công dân và trả kết quả thủ tục hành chính cho bộ phận một cửa của các sở ban ngành của TP Hà Nội Đỗ Ngọc Tú .................................................................................................................72

Danh sách cán bộ Bộ môn Công nghệ phần mềm .............................................................74

Page 7: 0411

- 4 -

ỨNG DỤNG WORKFLOW VÀO HỆ THỐNG E-LEARNING

Chu Thị Kim Anh MSV: 0121780 Email: [email protected]

Người hướng dẫn: TS. Nguyễn Việt Hà Đồng hướng dẫn: ThS.Trần Vũ Việt Anh

1. Giới thiệu Hiện nay việc quản lý một cơ sở, cơ quan

hay doanh nghiệp trở nên rất phức tạp. Có rất nhiều vấn đề nảy sinh trong hoạt động như thủ tục giấy tờ, xử ký hành chính chậm, sự chồng chéo trong quản lý thông tin giữa các bộ phận(do thiếu qui trình đồng bộ), sự lặp lại trong quản lý(do thiếu sự thống nhất)…Đặc biệt là thông tin về trạng thái của việc xử lý một tiến trình công việc.

Từ thực tế này chúng ta thấy cần phải có một phương pháp để theo dõi và quản lý được những tiến trình xử lý công việc và nâng cao được hiệu quả lao động. Nó chính là động lực cho sự ra đời của giải pháp Workflow, Wf là rất quan trong và nó là một thuật ngữ kỹ thuật có giá trị.

Từ những giá trị thiết thực mà Workflow đem lại, chúng tôi đã ứng dụng nó vào lĩnh vực E-learning. Theo quan điểm vẫn dựa trên cách thức học truyền thống, nghiên cứu của chúng tôi chỉ mong muốn giúp quản lý việc học đó được thống nhất và có hiệu quả nhanh chóng.

2. Cơ sở lý thuyết Workflow là tự động hoá toàn bộ hay từng

phần của một quá trình nghiệp vụ trong lúc các tài liệu, các thông tin hay các nhiệm vụ mà được truyền từ một thành phần tham gia này tới các thành phần tham gia khác trong hoạt động cụ thể, theo một bộ của các quy tắc theo thủ tục.

Dựa trên các đặc tính và cấu trúc của Workflow:

Và dựa trên những ý tưởng về một hệ thống

quản lý Workflow(WFMS) chúng tôi mang cái nhìn hướng process vào trong một hệ thống E-learning cụ thể.

WFMS là: một phần mềm đóng gói có thể được dùng để định nghĩa, quản lý và thực thi các tiến trình làm việc.

Đơn giản WFMS là: Tách các tiến trình làm việc, tài nguyên, ứng

dụng rời nhau. Tập trung vào tiến trình làm việc chứ không

phải là nội dung của các nhiệm vụ đơn thuần.

4. Thực nghiệm Chúng tôi đã ứng dụng những hiểu biết của

mình về hệ thống Workflow để mô phỏng một ứng dụng học từ xa dựa trên nền Web. Chúng tôi đưa các công việc của những người tham gia vào hệ thống này vào các tiến trình làm việc.

Các học viên sẽ đăng kí khoá học mới, mỗi khoá học thì có các template mẫu để lựa chọn, trong đó các template mẫu là những mô hình quá trình riêng biệt. Sau đó mỗi học viên sẽ lựa chọn môn học trên nền template đã chọn. Mỗi môn học thì cũng có các template mẫu của nó. Khi đã lựa chọn xong template mẫu cho môn học, học viên sẽ nhận được danh sách công việc (work list) từ một ứng dụng của workflow và học viên sẽ phải tiến hành các công việc tuần tự dựa trên worklist đó từ điểm bắt đầu đến khi kết thúc.

Về phía giáo viên, sau khi đăng kí môn học giảng dạy, sẽ nhận được thông tin về khoá học và sinh viên tham gia. Sau đó giáo viên sẽ nhận được danh sách công việc do người trợ giảng cung cấp và tiến hành các công việc theo tuần tự dựa trên danh sách đó.

Start End...

Activity 1 Activity 2

Activity 1

Activity 2

Cond

Page 8: 0411

- 5 -

Về phía người quản trị, quản lý các thông tin

về khoá học, môn học, giáo viên, trợ giảng, học viên, quản lý các tài khoản (accounts) và các thông tin về trao đổi giữa hệ thống với giáo viên và học viên.

Một quá trình mẫu (process template) có điểm bắt đầu và điểm kết thúc. Nó bao gồm các hành động (activity) diễn ra theo trình tự. Khi một hành động được hoàn thành thì mới tiếp tục thực hiện hành động tiếp theo. Nếu nó chưa hoàn thành thì cho phép đăng nhập vào forum để trao đổi các thong tin giữa hệ thống với giáo viên hay học viên. Sau khi biết được thông tin chi tiết thì có thể tiếp tục một hành động hay là buộc phải quay lại thực hiện hành động chưa được hoàn thành. Khi hoàn thành các hành động thì tiếp theo học viên sẽ thực hiện bài kiểm tra cuối môn, nếu đạt yêu cầu thì sẽ nhận được chứng chỉ cho môn học đó, nếu không thì nhận được yêu cầu học lại.

Một hành động của hệ thống chính là một tập hợp các sự kiện hay các thao tác có liên quan logic với nhau, có thể được tạo ra để thực hiện bởi một tác nhân nào đó (có thể là một người với vai trò cụ thể) hoặc là một thực thể xử lý (như là một hệ thống thông tin hay là một trình quản lý tài nguyên).

5. Kết luận Trong khóa luận này, chúng tôi đã cài đặt

thành công luồng công việc của học viên và giáo viên trong hệ thống, sử dụng ngôn ngữ PHP.

Các vấn đề cần tiếp tục nghiên cứu: xây dựng được phần mềm quản lý Workflow (WFMS) để có thể tạo các process bằng các process definition tool.Góp phần đạt được sự đồng bộ và thống nhất trong các hệ thống, và tiến tới là giữa các hệ thống với nhau.

Tài liệu tham khảo [1] Becker, J., von Uthmann, C., zur Muehlen,

M. and Rosemann, M., “Identifying the Workflow Potential of Business Processes”, in 32nd Hawaii International Conference on System Sciences (HICSS 1999), (Wailea, HI, 1999), IEEE Publishers.

[2] Bussler, C., P2P in B2BI. in Proceedings of the 35th Hawai'i International Conference on System Sciences (HICSS 2002), (Waikoloa, HI, 2002), IEEE.

[3] Embedded & Autonomous Workflow: A WfMC White Paper, available at www.wfmc.org

[4] Hammer, M. and Champy, J. Reengineering the Corporation: A Manifesto for Business Revolution. HarperBusiness, New York, 1993.

[5] WfMC. Workflow Management Application Programming Interface (Interface 2 & 3) Specification, Workflow Management Coalition, Winchester, 1998.

[6] Craven N., Mahling D., “Goals and processes: A Task Basis for Projects and Workflows”, COOCS 1995.

Page 9: 0411

- 6 -

TÌM HIỂU VÀ VẬN DỤNG MỘT SỐ CÔNG NGHỆ TIÊN TIẾN TRONG PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG

Thực hiện: Trương Công Ái (0122259) Nguyễn Phương Chính (0122260)

Giáo viên hướng dẫn: ThS.Đặng Đức Hạnh

1. Mở đầu

Xây dựng phần mềm theo phương pháp hướng đối tượng là một kỹ thuật tiên tiến để phát triển hệ thống. Phương pháp này phù hợp cho các hệ thống lớn, phức tạp và đã được cụ thể hóa trong nhiều quy trình phát triển phần mềm (tiêu biểu là RUP). Tuy nhiên khi áp dụng phương pháp này vào các loại ứng dụng trên nền Web cũng như các ứng dụng đòi hỏi nhu cầu truy cập dữ liệu lớn, chúng ta sẽ gặp phải các khó khăn trong vấn đề thiết kế. Hiện này, đây là những lớp ứng dụng rất quan trọng và phổ biến. Do đó đòi hỏi phải có công nghệ chuyên sâu giải quyết vấn đề này. Một trong số các công nghệ này là Struts và Hibernate.

Trong đề tài này, chúng tôi tập trung vào việc tìm hiểu nội dung và khả năng vận dụng của công nghệ Struts và Hibernate. Trong đó, công nghệ Struts giải quyết vấn đề thiết kế hướng đối tượng cho ứng dụng Web; công nghệ Hibernate giải quyết vấn đề tổ chức lưu trữ dữ liệu lâu bền cho các hệ thống hướng đối tượng.

2. Nội dung 2.1 Struts – Giải pháp cho ứng dụng Web

Quá trình chuyển từ phân tích sang thiết kế là bước quan trọng trong việc xây dựng phần mềm hướng đối tượng. Hoạt động chủ yếu của giai đoạn này là làm mịn các đối tượng thuộc mô hình phân tích, và chuyển chúng thành các lớp thiết kế có thể cài đặt trên một kiến trúc nào đó. Việc xây dựng các ứng dụng trên kiến trúc Web có những điểm khác biệt so với việc xây dựng trên các kiến trúc khác.

Kiến trúc Web làm việc theo cơ chế hoạt động của CGI (Common Gateway Interface) tỏ ra không phù hợp cơ chế hoạt động các hệ thống hướng đối tượng là truyền thông điệp.

Có nhiều giải pháp được đưa ra để giải quyết vấn đề của CGI trong đó có một số công nghệ được sử dụng khá phổ biến như ASP (Active Server Page), JSP (Java Server Page), hay Servlet nhưng tất cả đều có những nhược điểm nhất định. Do đó đòi hỏi phải có một mô hình mới ra đời phù hợp quy trình xây dựng các ứng dụng cho Web theo hướng đối tượng. Struts là một mô hình như vậy.

Structs được thiết kế với mục đích cung cấp một khung làm việc mã nguồn mở nhằm tạo ra những ứng dụng Web có khả năng dễ dàng tách rời tầng trình diễn và cho phép nó trừu tượng hoá so với các tầng thực thi và dữ liệu.

Struts cài đặt trên mẫu thiết kế MVC bao gồm các thành phần :

− Model: Miêu tả các đối tượng dữ liệu. Model là những cái đang được tính toán và đưa ra cho người dùng.

− View: Là các dịch vụ như màn hình hiển thị của Model. Nó là những đối tượng đưa ra những trạng thái hiện tại của các đối tượng dữ liệu.

− Controller: Xác định cách mà giao diện người dùng phản ứng lại thông tin vào . Thành phần Controller là đối tượng tính toán Model hoặc đối tượng dữ liệu.

2.2 Hibernate – Giải pháp cho vấn đề tổ chức lưu trữ lâu bền

Trong các ứng dụng ngày nay vấn đề truy cập và duy trì dữ liệu có ý nghĩa rất quan trọng và nó cũng tiêu tốn rất nhiều thời gian của các nhà phát triển. Ngoài ra với các ứng dụng được thiết kế theo phương pháp hướng đối tượng, việc duy trì các đối tượng vào trong các bảng của cơ sơ dữ liệu quan hệ gặp rất nhiều khó khăn. Hibernate là công nghệ ánh xạ đối tượng tới quan hệ, nó cho phép làm giảm tới 95% các câu lệnh trong việc

Page 10: 0411

- 7 -

duy trì dữ liệu. Bằng cách kết hợp các lớp Java với các miêu tả XML, Hibernate cung cấp một khung nhìn hướng đối tượng của một cơ sơ dữ liệu quan hệ.

a. Tổ chức thông tin ánh xạ

Để ánh xạ các lớp trong Java tới các bảng trong cơ sơ dữ liệu Hibernate sử dụng một tệp ánh xạ có tên trùng với tên lớp và có phần mở rộng là *.hbm.xml. Hibernate sử dụng các thẻ để xác định các bảng tương ứng với các lớp bền vững, các cột tương ứng với các thuộc tính của lớp. Ngoài ra Hibernate còn định nghĩa các ràng buộc giữa các lớp và tự động cập nhật vào các bảng trong cơ sơ dữ liệu.

b. Quản lý liên kết

Quản lý các liên kết giữa các lớp và mối quan hệ giữa các bảng là trọng tâm của Hibernate. Phần lớn các vấn đề khó mắc phải khi thi hành giải pháp để giải quyết việc quản lý các liên kết.

Hibernate cung cấp đầy đủ các giải pháp để xây dựng các liên kết, từ các liên kết một chiều đơn giản như liên kết một-nhiều đến các liên kết hai chiều như nhiều-nhiều.

c. Quản lý dữ liệu

Hibernate cung cấp một giao diện cho phép quản lý các dữ liệu lâu bền, nó gồm các dịch vụ sau:

− Các hành động cơ bản CRUD (Create, Read, Update, Delete)

− Sự thi hành các truy vấn − Điều khiển sự thực thi − Quản lý các mức thực thi

Trong Hibernate chúng ta sử dụng HQL (Hibernate Query Language) để truy vấn các đối tượng, nó là một ngôn ngữ truy vấn hướng đối tượng. HQL rất dễ học với những người đã biết về SQL. HQL không phải là ngôn ngữ thi hành dữ liệu như SQL, nó chỉ sử dụng cho việc lấy về các đối tượng mà không dùng cho việc cập nhật, thêm hay xóa dữ liệu.

2.3 Áp dụng công nghệ Struts và Hibernate vào bài toán xây dựng khung chương trình

Bài toán được phân tích thiết kế dựa trên phương pháp hướng đối tượng sử dụng UML kết hợp với Rational Rose. Bài toán là ứng dụng được xây dựng trền nền web cho phép người dùng tạo ra các khung chương trình đào tạo. Trong quá trình dựng ứng dụng Struts được sử dụng vào quá trình tạo ra các khung nhìn với người dùng, tạo các điểu khiển của chương trình. Hibernate được sử dụng để duy trì các dữ liệu vào trong các bảng của cơ sơ dữ liệu.

3. Kết luận Việc áp dụng phương pháp phân tích hướng

đối tượng trong xây dựng bài toán mang lại lợi ích: nâng cao khả năng tái sử dụng, tận dụng được sức mạnh của phân mềm Rose trong quá trình phân tích và sinh mã. Áp dụng công nghệ Struts giúp thiết kế những khung nhìn tách rời khỏi các điều khiển khiến bài toán trở nên rõ ràng hơn khi cài đặt và thuận tiện hơn trong bảo trì, sử dụng phần mềm. Ứng dụng Hibernate làm đơn giản quá trình duy trì dữ liệu, thuận tiện trong việc truy cập và xử lý dữ liệu, nâng cao hiệu quả của chương trình.

Tuy nhiên bài toán đưa ra còn khá đơn giản, chưa thể hiện được tất cả khía cạnh của công nghệ. Trong quá trình phát triển ứng dụng còn gặp phải một số khó khăn nhất định.

4. Tài liệu tham khảo [1] Christian Bauer & Gavin King, Hibernate in

Action, 2003

[2] James Elliott Hibernate A Developer’s Notebook, O’Reilly, 2004

[3] Chuck Cavaness, Jakarta struts, O’reilly, 2002

[4] James Goodwill, Mastering Jakarta Struts, Willey, Canada, 2002.

[5] Will Iverson, Hibernate.A J2EE Developers Guide, Addison Wesley, 2004

Page 11: 0411

- 8 -

NGHIÊN CỨU VÀ ỨNG DỤNG MẠNG NEUTRON TRONG NHẬN DẠNG CHỮ VIẾT TAY TIẾNG VIỆT

Nguyễn Thị Minh Ánh MSV: 0121792 Email: [email protected]

Cán bộ hướng dẫn: TS. Nguyễn Việt Hà

1. Giới thiệu Nhận dạng chữ viết tay tiếng Việt là một bài

toán khó và cho tới nay chưa có một lời giải trọn vẹn nào. Trong bài toán này, chúng ta không những phải đương đầu với những khó khăn chung của chữ viết tay mà còn phải giải quyết những khó khăn riêng đặc thù của tiếng Việt, đó là: số lượng kí tự rất lớn do hệ thống dấu tiếng Việt đem lại và việc hình thành nhiều nhóm kí tự rất giống nhau, khó phân biệt. Để khắc phục những khó khăn này, em đề xuất giải pháp: chia tập hợp kí tự tiếng Việt thành nhiều nhóm và xây dựng mô hình đa mạng neuron tương ứng để nhận dạng.

2. Tổng quan về mạng neuron Mạng neuron (neural network) là mạng các

phần tử (neuron) kết nối với nhau thông qua các liên kết (trọng số liên kết) để thực hiện một công việc cụ thể nào đó.

Để mạng thực hiện được nhiệm vụ này chúng ta cần huấn luyện nó bằng cách hiệu chỉnh bộ tham số mạng (trọng số liên kết và ngưỡng tại mỗi neuron) trong quá trình mạng học sao cho phù hợp với yêu cầu của bài toán.

Mạng neuron được ứng dụng nhiều trong các bài toán phân loại mẫu (điển hình là nhận dạng) bởi ưu điểm nổi trội của nó là dễ cài đặt cùng với khả năng học và tổng quát hoá rất cao.

3. Phân nhóm kí tự Việc phân nhóm kí tự có thể dựa trên trực

quan: những kí tự nào mà mắt thường dễ nhầm lẫn, khó phân biệt thì cho vào cùng một nhóm. Tuy nhiên, nếu làm như vậy, vô tình chúng ta đã áp đặt mạng neuron phải phân biệt theo cách nhìn nhận của con người. Cho nên tốt nhất là để mạng neuron tự thực hiện công việc này. Ý tưởng phân nhóm này có thể thực hiện được theo phương pháp sau: • Dùng một mạng neuron để nhận dạng tất cả

các kí tự.

• Trong quá trình huấn luyện và test mạng, ghi lại số lần mạng phân biệt nhầm từng cặp hai kí tự với nhau.

• Nếu số lần nhầm lẫn lớn hơn một ngưỡng nào đó thì xếp hai kí tự này vào cùng một nhóm.

• Sau khi phân nhóm lần thứ nhất, chúng ta có thể tiếp tục chia nhỏ hơn đối với những nhóm có số lượng phần tử lớn bằng cách lấy một ngưỡng khác (lớn hơn ngưỡng ở lần phân nhóm trước).

4. Mô hình đa mạng neuron áp dụng cho bài toán

Cấu trúc của hệ thống đa mạng neuron được xác định dựa trên cấu trúc của bảng phân nhóm kí tự. Mỗi mạng neuron tương ứng với một nhóm có nhiều hơn một kí tự. Hệ thống đa mạng gồm một vài lớp mạng, mỗi lớp lại có thể gồm nhiều mạng. Trong đó, lớp thứ nhất có duy nhất một mạng, mạng này có nhiệm vụ phân loại kí tự đầu vào về một trong các nhóm tương ứng. Ứng với mỗi nhóm kí tự có nhiều hơn một phần tử ở lớp thứ nhất là một mạng neuron ở lớp mạng thứ hai. Tương tự như vậy, chúng ta xác định được các mạng neuron ở lớp thứ ba,… cho đến khi không còn nhóm kí tự nào có nhiều hơn một phần tử. Như vậy một cách đệ quy chúng ta có thể xây dựng được hệ thống đa mạng tương ứng với một phân nhóm kí tự cho trước.

Hệ thống đa mạng làm việc theo quy trình nhận dạng sau: Ảnh của kí tự (đầu vào) được đưa qua mạng neuron ở lớp đầu tiên. Mạng này sẽ thực hiện việc phân loại (lan truyền xuôi tín hiệu đầu vào lần lượt qua các lớp neuron của mạng) để xác định xem đầu vào thuộc nhóm kí tự con nào. Nếu nhóm này chỉ gồm một kí tự thì kết thúc việc nhận dạng và trả kết quả (là kí tự đó) ra đầu ra. Ngược lại, nếu nhóm này có nhiều hơn một kí tự thì mạng neuron ứng với nhóm kí tự đó sẽ được kích hoạt. Nhiệm vụ của mạng này tương tự như mạng trước và quá trình tiếp tục cho tới khi nhận được kết quả ở đầu ra.

Page 12: 0411

- 9 -

Việc huấn luyện hệ thống có thể thực hiện theo hai phương pháp là huấn luyện tuần tự (huấn luyện theo lô) và huấn luyện song song.

Huấn luyện tuần tự: sau khi có bảng phân nhóm kí tự, xây dựng hệ thống đa mạng tương ứng với sự phân nhóm đó. Với mỗi mẫu trong tập mẫu học, dạy mạng thứ nhất sao cho nó phân loại đúng mẫu đấy. Sau đó huấn luyện mạng tương ứng ở lớp mạng thứ hai để nó cũng phân loại đúng mẫu này. Tiếp tục như vậy với tất cả các mạng liên quan tới mẫu đầu vào cho tới khi ta nhận được kết quả mong muốn ở đầu ra.

Huấn luyện song song: sau khi có bảng phân nhóm kí tự, tiến hành cài đặt và huấn luyện song song các mạng đơn ứng với từng nhóm để mạng phân loại đúng các kí tự thuộc nhóm này. Sau khi huấn luyện xong các mạng (thu được bộ tham số phù hợp cho từng mạng), ta cần ghép các mạng lại theo đúng cấu trúc của phân nhóm kí tự để có hệ thống đa mạng cuối cùng. Đây là hệ thống đã được huấn luyện.

Nhận xét: với phương pháp huấn luyện theo lô, tuy thời gian tiến hành có lâu hơn nhưng chúng ta không cần phải chọn ra những tập mẫu học riêng cho từng mạng và cũng không phải ghép các mạng lại sau khi huấn luyện. Hơn thế nữa, khi có mẫu kí tự mới, việc học mẫu mới này sẽ đơn giản hơn so với phương pháp huấn luyện song song. Do đó, khi cài đặt hệ thống thực nghiệm, em chọn phương pháp huấn luyện theo lô.

5. Thực nghiệm Do chưa có cơ sở dữ liệu kí tự viết tay tiếng

Việt chuẩn nào nên cùng với việc xây dựng hệ thống thực nghiệm, chúng em đã tiến hành thu thập cơ sở dữ liệu theo các tiêu chuẩn sau (đây cũng chính là phạm vi của bài toán mà chúng em đang giải quyết): • Kiểu chữ “đứng” theo nghĩa không quá

nghiêng về bên trái hoặc phải. • Chữ viết không thiếu hoặc thừa nét, dấu

được đặt chuẩn theo quy định của tiếng Việt.

Thực nghiệm đầu tiên là phân nhóm kí tự theo phương pháp được nêu trong mục 3 để đề xuất một vài bảng phân nhóm kí tự ở các lần học khác nhau của mạng neuron. Sau đó xây dựng hệ thống đa mạng tương ứng với các bảng phân nhóm kí tự này và tiến hành thực nghiệm

để tìm ra phân nhóm tốt nhất (theo nghĩa: tỷ lệ nhận dạng đúng của hệ thống đa mạng tương ứng là cao nhất). Bảng dưới đây cho thấy tỷ lệ nhận dạng đúng khi không phân nhóm kí tự (1) và khi có phân nhóm kí tự (2) trong thực nghiệm với 10.000 mẫu ở tập mẫu học và 5.000 mẫu ở tập thử nghiệm.

Hệ nhận dạng % train đúng % test đúng (1) 80.47 76.40 (2) 96.42 91.62

Kết quả ở bảng trên chứng tỏ giải pháp mà em đề xuất là giải pháp hiệu quả đối với bài toán nhận dạng chữ viết tay tiếng Việt (91.62% là rất lớn so với 76.40%). Ngoài ra, sau khi lựa chọn phương pháp trích chọn đặc trưng phù hợp cho từng nhóm kí tự, tỷ lệ nhận dạng đúng của hệ thống tăng từ 91.62% lên tới 95.20% (đây là giải pháp nhằm nâng cao hiệu quả nhận dạng của hệ thống đa mạng do một thành viên khác trong nhóm đề xuất khi chúng em thực hiện đề tài chung Nhận dạng đoạn văn bản viết tay tiếng Việt nét liền).

Bên cạnh đó, chúng em đã cài đặt được hệ thực nghiệm chung Nhận dạng đoạn văn bản viết tay tiếng Việt nét liền và thu được những kết quả ban đầu rất khả quan.

6. Kết luận Sau quá trình nghiên cứu về mạng neuron và

bài toán nhận dạng chữ viết tay tiếng Việt, em đã đề xuất một giải pháp khắc phục được những khó khăn của bài toán và cài đặt được hệ thực nghiệm nhận dạng chữ viết tay tiếng Việt bằng mô hình đa mạng neuron với tỷ lệ nhận dạng đúng khá cao (95.20%). Đây là một tỷ lệ cao so với các hệ nhận dạng chữ viết tay ở Việt Nam hiện nay.

Tuy nhiên, vẫn còn những hạn chế đối với hệ thống này đó là tiêu chuẩn thu thập cơ sở dữ liệu huấn luyện còn khắt khe. Do đó, để hệ thống có thể ứng dụng trong thực tế cần phải nới lỏng hơn nữa các tiêu chuẩn này.

Trong thời gian tới em sẽ tiếp tục mở rộng phạm vi của bài toán và hướng tới phát triển các ứng dụng thực tế như nhận dạng các bảng kê khai tiếng Việt.

Tài liệu tham khảo [1] Jain , Artificial Neural Networks A Tutorial,

IEEE 1996.

Page 13: 0411

- 10 -

HỆ THỐNG QUẢN LÝ TÀI LIỆU ĐIỆN TỬ Hoàng Minh Cương MSV: 0121812 Email: [email protected]

Người hướng dẫn: ThS. Vũ Diệu Hương

1. Giới thiệu Ngày nay, nguồn thông tin về mọi lĩnh vực

ngày càng lớn và đa dạng. Ngoài thông tin có trong các sách, báo, tạp chí được in trên giấy theo cách truyền thống thì thông tin được lưu dưới dạng các tài liệu điện tử với khối lượng ngày càng lớn và đa dạng về loại hình thông tin như các file (Text, audio, video..), do chúng ta có được nguồn thông tin khổng lồ từ mạng Internet. Để quản lý các thông tin này, trên thế giới đã xây dựng các thư viện điện tử hỗ trợ lưu trữ, tìm kiếm và truy xuất các tài liệu điện tử chứa các thông tin này. Ở trong nước, cũng đã có một số Thư viện điện tử được xây dựng và đang hoạt động như Thư viện điện tử ở trường Đại học công nghệ - Đại học quốc gia Hà Nội, cũng hỗ trợ các chức năng kể trên. Tuy nhiên, còn một số vấn đề còn mở:

Phân loại các tài liệu Thảo luận về các tài liệu, người

dùng có thể gửi tài liệu lên và nêu ý kiến đánh giá về các tài liệu cũng như nhận được phản hồi về tài liệu. Hoạt động của nhóm nghiên cứu,

các tài liệu trong mỗi nhóm có thể là bảo mật trong nhóm hoặc có thể chia xẻ cho những người bên ngoài nhóm.

Trong phạm vi của khoá luận này, chúng tôi đề xuất giải pháp cho các vấn đề nêu trên thông qua việc khảo sát Thư viện điện tử hiện có của trường Đại học công nghệ, phân tích các yêu cầu của một hệ thống Thư viện điện tử, thiết kế phần mềm quản lý tài liệu điện tử hỗ trợ các khả năng kể trên và có triển khai thử nghiệm một số mô đun của phần mềm.

2. Phân tích và thiết kế hệ thống quản lý tài liệu điện tử

Hệ thống quản lý tài liệu điện tử quản lý các loại thông tin, là nơi lưu trữ các loại tài liệu điện tử như sách tiếng anh, sách phô tô, luận văn v.v. Người dùng có thể ngồi ở bất cứ đâu (kết nối máy chủ) đều có thể xem tài liệu một

cách dễ dàng, cũng như tải các tài liệu lên máy chủ và cho phép nhưng ai có quyền đối với các thông tin này.

Hệ thống được phân tích và thiết kế theo công nghệ hướng đối tượng sử dụng ngôn ngữ mô hình hóa thống nhất UML.

Chức năng của hệ thống: Quản lý người dùng Thêm người dùng Tìm kiếm người dùng Gửi tin nhắn Sửa thông tin người dùng Xoá người dùng

Quản lý nhóm nghiên cứu Thêm nhóm nghiên cứu Tìm kiếm nhóm nghiên cứu Sửa thông tin nhóm nghiên cứu Xoá nhóm nghiên cứu Quản lý hoạt động nhóm nghiên

cứu Quản lý tài liệu Thêm tài liệu mới Sửa thông tin tài liệu Xoá tài liệu Tìm kiếm tài liệu

Quản lý đăng nhập Đăng nhập hệ thống Thay đổi mật khẩu Thoát khỏi hệ thống

3. Cài đặt hệ thống Một trong những khía cạnh quan trọng

trong việc phát triển ứng dụng là lựa chọn công nghệ phát triển phù hợp để xây dựng hệ thống. Công nghệ được chọn phải phù hợp với định hướng phát triển nghiệp vụ, hỗ trợ khả năng mở rộng trong tương lai, phù hợp với môi trường tổng thể.

Mục tiêu của vấn đề đặt ra trong đề tài khoá luận là xây dựng cơ sở dữ liệu ban đầu quản lý các tài liệu điện tử và giúp người dùng

Page 14: 0411

- 11 -

khai thác từ xa vào cơ sở dữ liệu đó. Vậy cần phải cài đặt chương trình cho bài toán trên một môi trường lập trình Web giúp cho người dùng có thể tra cứu được từ xa những thông tin cần quan tâm về các lĩnh vực một cách dễ dàng.

Sau khi cân nhắc các yêu cầu trên chúng tôi đưa ra giải pháp xây dựng hệ thống:

Sử dụng ngôn ngữ ASP.NET của Microsft Visual Studio.net

Thiết kế cơ sở dữ liệu bằng Microsoft SQL Server 2000

ASP.NET là phiên bản tiếp theo của Active Server Page (ASP), được biên dịch dựa trên môi trường .Net và là ngôn ngữ hỗ trợ hướng đối tượng rất tốt.

4. Kết luận Sau khi khảo sát hệ thống thư viện điện tử ở

trường Đại học công nghệ chúng tôi đề xuất giải pháp cho một hệ thống Thư viện điện tử thông qua việc trình bày tóm tắt tài liệu phân tích thiết kế hệ thống Quản lý tài liệu điện tử và chúng tôi có triển khai thử nghiệm một số mô đun của hệ thống.

Kết quả đạt được bao gồm tài liệu phân tích thiết kế hệ thống Quản lý tài liệu điện tử và một số mô đun chương trình.

Trong tương lai hệ thống có thể phát triển theo hướng:

Hoàn thiện các mô đun còn lại Mở rộng chương trình Tích hợp với các hệ thống khác như

hệ thống quản lý thư viện hoặc website môn học.

Tài liệu tham khảo [1] Nguyễn Văn Vỵ. “Phân tích thiết kế các hệ

thống thông tin hiện đại theo hướng cấu trúc & hướng đối tượng”, NXB Thống kê, 2002.

[2] Zhiming Liu. “Object-Oriented Software Development Using UML”.

[3] Phạm Hữu Khang. “Xây dựng & triển khai ứng dụng thương mại điện tử với công cụ ASP.NET, VISUAL BASIC.NET, SQL Server ”.

[4] Mesbah Ahmed, Chirs Garrett, Jeremy Faircloth, Chris Payne. “ASP.NET Web Developer’s Guide”.

Page 15: 0411

- 12 -

NGHIÊN CỨU VÀ ỨNG DỤNG TRÍCH CHỌN ĐẶC TRƯNG TRONG NHẬN DẠNG CHỮ VIẾT TAY TIẾNG VIỆT

Đinh Việt Cường MSSV: 0121815 Email: [email protected]

Cán bộ hướng dẫn: TS. Nguyễn Việt Hà

1. Giới thiệu Ngoài những khó khăn chung của bài toán

nhận dạng chữ viết tay, nhận dạng chữ viết tay tiếng Việt còn có những khó khăn do đặc thù của tiếng Việt đem lại. Hệ thống dấu của tiếng Việt khiến cho số lượng kí tự là rất lớn trong đó có những nhóm kí tự rất giống nhau và khó phân biệt (các kí tự có dấu xuất phát từ cùng một nguyên âm chỉ khác nhau phần dấu). Điều này khiến cho hiệu quả nhận dạng là rất thấp khi chúng ta chỉ nhận dạng tất cả các kí tự trong một lần (nhận dạng một cấp). Để khắc phục những khó khăn này, em đề xuất giải pháp: nhận dạng nhiều cấp bằng cách chia tập kí tự ra thành nhiều nhóm (mỗi nhóm gồm các kí tự gần giống nhau) đồng thời áp dụng phương pháp trích chọn đặc trưng phù hợp cho từng nhóm kí tự để nâng cao chất lượng nhận dạng.

2. Tổng quan về trích chọn đặc trưng Trích chọn đặc trưng là việc tìm và chọn ra

các đặc trưng đặc thù của mỗi ảnh. Các đặc trưng này có thể là các đặc trưng về mật độ điểm ảnh, mức xám trung bình của các điểm ảnh và biên ảnh [1].

Trong bài toán nhận dạng, trích chọn đặc trưng thường là bước đứng trước bước nhận dạng và đứng sau bước tiền xử lý. Nó có tác dụng chọn ra các đặc trưng tiêu biểu của ảnh đầu vào (sau khi đã được qua bước tiền xử lý) từ đó cung cấp các đặc trưng này cho bước nhận dạng để xử lý. Trích chọn đặc trưng không những làm giảm kích thước mẫu đầu vào mà còn làm tăng độ chính xác của hệ nhận dạng nói chung.

Có nhiều phương pháp trích chọn đặc trưng có thể áp dụng cho bài toán nhận dạng, tuy nhiên có 3 phương pháp chính thường được sử dụng đó là: trích chọn đặc trưng theo hướng, trích chọn đặc trưng theo cấu trúc và trích chọn đặc trưng theo tính lồi lõm [2]. Một cách tương ứng, các phương pháp này lấy ra đặc trưng của ảnh theo nhiều cấp độ nhìn nhận khác nhau: từ một điểm ảnh, một vài điểm ảnh tới rất nhiều

điểm ảnh (có thể trải trên toàn bộ ảnh). Dựa trên đặc thù của mỗi bài toán nhận dạng, chúng ta cần sử dụng phương pháp trích chọn đặc trưng phù hợp để việc nhận dạng đạt được hiệu quả cao nhất.

3. Trích chọn đặc trưng áp dụng cho bài toán

Theo giải pháp được đề ra trong phần giới thiệu, chúng ta cần tiến hành các bước: phân loại kí tự thành các nhóm và sau đó với mỗi nhóm áp dụng phương pháp trích chọn đặc trưng phù hợp.

Phân loại kí tự: Việc phân nhóm các kí tự tiếng Việt viết

thường được thực hiện dựa trên quy tắc: các kí tự gần giống nhau, dễ gây nhầm lẫn thì sẽ được phân về một nhóm. Theo quy tắc này các kí tự có dấu xuất phát từ cùng một chữ cái có phần thân giống nhau, chỉ khác nhau phần dấu nên ta sẽ xếp vào một nhóm; đối với các kí tự không có dấu, các kí tự có cấu trúc hình học tương tự như nhau cũng được xếp chung vào một nhóm, ví dụ (nhóm chữ r và s, nhóm chữ d và đ…).

Trích chọn đặc trưng áp dụng cho các nhóm:

Để nâng cao chất lượng cho hệ nhận dạng nhiều cấp tương ứng với bảng phân nhóm kí tự, việc trích chọn đặc trưng cho ảnh đầu vào cần đạt được những mục tiêu sau: • Khi cần xếp kí tự vào một nhóm, trích chọn

đặc trưng cần lấy ra các đặc trưng của kí tự là đặc điểm chung của nhóm. Các đặc trưng này là đại diện cho mỗi nhóm (các kí tự trong nhóm đều có) và khác với đặc trưng chung của các nhóm khác.

• Khi cần phân biệt các kí tự trong cùng một nhóm, trích chọn đặc trưng chỉ có nhiệm vụ chọn ra những đặc trưng đặc thù cho mỗi kí tự trong nhóm và bỏ qua những đặc trưng là đặc điểm chung của nhóm.

Do đó, với từng nhóm kí tự ở mỗi cấp nhận dạng chúng ta cần tìm ra phương pháp trích chọn đặc trưng cho phù hợp. Để có thể áp dụng

Page 16: 0411

- 13 -

cho các hệ nhận dạng khác nhau (bằng mô hình mạng neuron, SVM, hay Markov,…), một cách tổng quát nhất chúng ta cần tiến hành trích chọn đặc trưng cho các nhóm sau: • Trích chọn đặc trưng cho nhóm 0 (ở cấp

nhận dạng đầu tiên) có nhiệm vụ tìm ra những đặc trưng là đặc thù của mỗi nhóm con sau nó để xác định xem kí tự đầu vào thuộc về nhóm nào trong các nhóm con này.

• Trích chọn đặc trưng cho các nhóm kí tự có dấu cùng gốc: nhiệm vụ của trích chọn đặc trưng trong phần này là tập trung đến phần dấu của kí tự, tìm ra đặc trưng trên phần dấu để phân biệt các dấu. Khi đã phân biệt được dấu, chúng ta sẽ phân biệt được cả kí tự.

• Trích chọn đặc trưng cho các nhóm kí tự không dấu: có nhiệm vụ tìm ra những đặc trưng riêng của các kí tự trong cùng một nhóm.

4. Thực nghiệm Do chưa có cơ sở dữ liệu kí tự viết tay tiếng

Việt chuẩn nào nên cùng với việc xây dựng hệ thống thực nghiệm, chúng em đã tiến hành thu thập cơ sở dữ liệu theo các tiêu chuẩn sau (đây cũng chính là phạm vi của bài toán mà chúng em đang giải quyết): • Kiểu chữ “đứng” theo nghĩa không quá

nghiêng về bên trái hoặc phải. • Chữ viết không thiếu hoặc thừa nét, dấu

được đặt chuẩn theo quy định của tiếng Việt. Để kiểm tra tính hiệu quả của các phương

pháp trích chọn đặc trưng, chúng ta thường phải sử dụng mô hình nhận dạng. Mô hình nhận dạng được em sử dụng trong các thực nghiệm ở đây là mạng neuron. (việc nghiên cứu và cài đặt mạng neuron được thực hiện bởi một thành viên khác trong nhóm)

Thực nghiệm 1: Thực nghiệm khẳng định tính hiệu quả của việc trích chọn đặc trưng

Dùng một mạng neuron để nhận dạng tất cả các kí tự viết tay tiếng Việt. Cố định số lần huấn luyện mạng là 30, tập mẫu học gồm 10000 mẫu và tập test là 5000 mẫu. Tiến hành hai thực nghiệm sau: Thực nghiệm thứ nhất (1) chúng ta không trích chọn đặc trưng cho ảnh đầu vào trước khi mạng neuron nhận dạng và thực nghiệm thứ hai (2) chúng ta dùng phương

pháp GSC (kết hợp của 3 phương pháp trên) để trích chọn đặc trưng cho ảnh đầu vào. Kết quả thực nghiệm được thể hiện trong bảng 4.1:

P2 TCĐT

% đúng (train)

TG nhận dạng

% đúng (test)

(1) 85.72 ~ 31 giây 76.40

(2) 91.20 ~ 20 giây 81.12

Từ kết quả thực nghiệm trên ta thấy việc trích chọn đặc trưng không những làm giảm thời gian nhận dạng mà còn nâng cao rất nhiều độ chính xác của việc nhận dạng (từ 76.4% lên 81.12 %).

Thực nghiệm 2: Thực nghiệm khẳng định hiệu quả của việc phân nhóm

Trong thực nghiệm này, việc phân nhóm kí tự được tiến hành và ứng với mỗi nhóm kí tự đó ta áp dụng một phương pháp trích chọn đặc trưng phù hợp (bằng cách tiến hành nhiều thực nghiệm khác để lựa chọn). Tỷ lệ nhận dạng đúng trên tập test là 95.8% cao hơn rất nhiều so với khi ta không phân nhóm kí tự (81.12%).

Ngoài ra chúng em (em và hai thành viên khác trong nhóm) cũng đã cài đặt được hệ thống thực nghiệm chung cho bài toán Nhận dạng đoạn văn bản viết tay tiếng Việt nét liền và thu được kết quả ban đầu rất khả quan.

5. Kết luận Sau quá trình nghiên cứu về trích chọn đặc

trưng và bài toán nhận dạng chữ viết tay tiếng Việt, em đã đề xuất một giải pháp khắc phục được những khó khăn của bài toán và cài đặt được hệ thực nghiệm nhận dạng chữ viết tay tiếng Việt với tỷ lệ nhận dạng đúng khá cao (95.8%) dựa trên việc phân nhóm kí tự và áp dụng trích chọn đặc trưng phù hợp cho mỗi nhóm. Đây là một tỷ lệ cao so với các hệ nhận dạng chữ viết tay ở Việt Nam hiện nay.

Trong thời gian tới em sẽ tiếp tục mở rộng phạm vi của bài toán và hướng tới phát triển các ứng dụng thực tế như nhận dạng các bảng kê khai tiếng Việt.

6. Tài liệu tham khảo [1] William K. Pratt Digital Image Processing,

2001. [2] Sargur N. Srihari Gradient-Based contour

encoding for character recognition, Pattern Recognition, 1996.

Page 17: 0411

- 14 -

NGHIÊN CỨU VÀ TRIỂN KHAI ỨNG DỤNG VỚI SMART CARD Sinh viên: Trương Công Cường Người hướng dẫn: ThS.Đặng Đức Hạnh MSV: 0121824 Đồng hướng dẫn: ThS.Đoàn Minh Phương Email: [email protected] 1) Giới thiệu

Xuất hiện tại Châu Âu vào đầu những năm 1970, Smart Card lúc đó được biết đến như một chiếc thẻ có khả năng lưu trữ tiện lợi và được sử dụng rộng rãi trong việc thanh toán. Cùng với sự phát triển của công nghệ và tiến bộ của toán học trong lĩnh vực mật mã, mạch tích hợp IC được ra đời, hàng loạt các thuật toán mã hóa được chứng minh bằng toán học, Smart Card lúc đó đã chứng tỏ là một thiết bị lưu trữ rất an toàn và ngày càng “thông minh”. Ngày nay, kỹ thuật Smart Card được áp dụng rất rộng rãi vào nhiều lĩnh vực nhằm hỗ trợ thương mại, tiếp cận sản phẩm và dịch vụ, xác thực, xác lập và ảnh hưởng các mối quan hệ. Một cuộc khảo sát gần đây chỉ ra rằng 27% ứng dụng của Smart Card là trong lĩnh vực ngân hàng, 18% trong lĩnh vực chăm sóc sức khỏe và phúc lợi, 15% trong lĩnh vực vận chuyển. Các lĩnh vực khác bao gồm: truyền thông, xác thực, thẻ điện thoại, buôn bán, đo đạc, bảo mật radio, truy cập vật lý và cờ bạc. Thẻ thông minh đa chức năng (multifunctional smart card) cũng không còn là điều gì mới mẻ. Có ý kiến cho rằng một ngày nào đó Smart Card sẽ quan trọng như là máy tính ngày nay vậy. Điều này rất có thể sẽ là thực, với khả năng ngày càng phát triển và mở rộng, Smart Card cuối cùng sẽ thay thế cho tất cả những thứ mà chúng ta mang trong ví bao gồm thẻ tín dụng, bằng cấp, tiền mặt và có thể cả album ảnh gia đình nữa. Trong tương lai gần, thẻ dùng công nghệ magnetic-stripe sẽ được thay thế và tích hợp vào một thẻ đơn: thẻ đa ứng dụng (Multil-Application Smart Card) thường được biết đến với cái tên “ví điện tử” (Electronic Purse). Smart Card sẽ ngày càng được sử dụng để lưu giữ các dữ liệu “nhạy cảm” và quan trọng của khách hàng hơn bao giờ hết. Trước vai trò ngày càng quan trọng của Smart Card như vậy, việc nghiên cứu, triển khai ứng

dụng cho chúng là một nhu cầu rất khách quan và tất yếu, đó cũng chính là lí do để tiến hành luận văn này.

2) Nội dung

Toàn bộ nội dung của luận văn được chia chủ yếu làm 3 phần: Phần I: Giới thiệu Smart Card và ứng dụng của Smart Card. Bắt đầu bằng việc giới thiệu về lịch sử hình thành và phát triển của Smart Card, tiếp sau đó là giới thiệu về những thành quả và ứng dụng to lớn của Smart Card trong hàng loạt các lĩnh vực của đời sống, khoa học kỹ thuật và kinh tế thương mại. Định nghĩa về Smart Card như sau: “Đó là một tấm thẻ nhựa gắn kèm một con chíp máy tính có nhiệm vụ lưu trữ và trao đổi dữ liệu giữa nhiều người dùng. Dữ liệu được liên kết với hoặc giá trị hoặc thông tin nào đó hoặc cả hai và được lưu trữ và xử lí bên trong con chíp của thẻ (bộ nhớ hoặc là bộ vi xử lí). Dữ liệu của thẻ được trao đổi thông qua một thiết bị đọc là một phần của hệ thống”. Cấu tạo của Smart Card gồm 3 phần chính: contact disk, chip và thân nhựa. Mỗi một Smart Card có 6 đến 8 contact đánh số từ C1 đến C8 và tuân theo chuẩn ISO-7816-2. Có nhiều cách phân loại Smart Card trong đó có 2 cách phân loại chính: phân loại theo chip và phân loại theo giao diện. Theo cách phân loại thứ nhất Smart Card được chia làm 2 loại: Memory Card và Microprocessor Card. Theo cách phân loại thứ hai Smart Card được chia ra làm 2 loại chính: contact và contactless, ngoài ra còn có các kiểu “lai” như Hybrid Card (dùng 2 chip: 1 cho giao diện contact và 1 cho giao diện contactless) hay Dual-Interface Card (dùng 1 chip đơn hỗ trợ cả 2 giao diện). Một số tổ chức và các chuẩn đóng vai trò tích cực trong công nghệ Smart Card được giới thiệu gồm có Microsoft (PC/SC), CEN và

Page 18: 0411

- 15 -

ETSI, NIST, Europay, MasterCard và Visa, quan trọng nhất là tổ chức ISO với chuẩn ISO-7816 cho Smart Card. Các khía cạnh an toàn và bảo mật của Smart Card cũng được xem xét bao gồm: các thuật toán mã hóa (RSA, DES, RNG…), các cơ chế xác thực, khả năng xác thực và các nguy cơ tấn công Smart Card. Phần II: Giới thiệu một số kiểu Smart Card cùng các đặc tả của chúng với tư cách như phần tra cứu cho việc phát triển ứng dụng. Phần III: Phát triển ứng dụng với Smart Card. Giới thiệu hai kiểu nền tảng hệ điều hành chính cho Smart Card: Proprietary và Open. So sánh giữa 2 platform này: với platform thứ nhất việc phát triển phần nào dễ dàng hơn tuy nhiên lại không khả chuyển, với kiểu platform thứ hai giới thiệu 3 platform chính: Multos, Javacard và Smart Card for Windows (PC/SC) trong đó tập trung giới thiệu về nền tảng PC/SC. Multos là nền tảng hệ điều hành đa ứng dụng được phát triển bởi mondex và MasterCard dùng tập lệnh giao diện lập trình Multos API. Multos thực thi với ngôn ngữ MEL (Multos Executable Language), có thể phát triển bằng C rồi chuyển đổi sang MEL. JavaCard phát triển bằng ngôn ngữ Java dựa vào nền tảng máy ảo Java bản rút gọn (tùy thuộc nhà sản xuất). Chuẩn PC / SC dùng cho card có hệ điều hành đa ứng dụng 8K ROM, quản lý truy cập bảng FAT bằng Control Access Rule. Phát triển bằng tập lệnh API có sẵn trên card và có thể dễ dàng phát triển bằng VB trên windows. Giới thiệu tóm tắt một số chương trình demo phát triển với bộ AC-KIT.

3) Kết luận

Công nghệ SmartCard đang ngày càng trở nên quan trọng hơn bao giờ hết, luận văn đã phần nào tổng kết được công nghệ mới này và đạt được một số nền tảng kiến thức cơ bản cho việc phát triển phần mềm cho SmartCard.

Tài liệu tham khảo

[1] AC-KIT reference [2] CHAN, Siu-cheung Charles: An

Overview of Smart Card Security (1997) [3] www.smartcardbasics.com: Smart Card

Basic [4] Jim Hunt & Bill Holcombe: Government

Smart Card Handbook (2004) [5] SSP Solution, Inc: Introduction to

SmartCards.

Page 19: 0411

- 16 -

HỆ CHUYÊN GIA ƯỚC LƯỢNG DỰ ÁN PHẦN MỀM

Nguyễn Ngọc Bảo MSV: 0122186 Email: [email protected]

Cán bộ hướng dẫn: TS. Nguyễn Việt Hà

1. Giới thiệu Ước lượng sớm và chính xác dự án phần

mềm đã và đang là một vấn đề đang được quan tâm ở Việt Nam cũng như trên thế giới. Khóa luận này đề xuất một hướng tiếp cận mới cho ước lượng dự án phần mềm; dựa trên mô hình lập luận theo kinh nghiệm, Case-Based Reasoning (CBR). Theo hướng tiếp cận này, chi phí cho một dự án được ước lượng bằng cách tìm kiếm các dự án tương tự đã hoàn thành trong quá khứ và hiệu chỉnh chi phí của các dự án đó cho phù hợp với điều kiện của dự án mới.

2. Ước lượng dự án phần mềm Đối với phát triển phần mềm hiện đại, yếu tố

quản lý có vai trò quyết định đến chất lượng sản phẩm. Trong quản lý dự án, hoạt động đầu tiên và quan trọng nhất là ước lượng dự án.

Do những đặc điểm riêng của phần mềm, công việc ước lượng trong phát triển phần mềm không giống như đối với các lĩnh vực khác. Vì thế, một số phương pháp đặc thù đã được đề xuất nhằm nâng cao chất lượng của ước lượng phần mềm.

Khóa luận này tiến hành khảo sát một số phương pháp cơ bản đã có trong thực tế. Đó là phương pháp đánh giá chuyên gia, các mô hình SLIM, ESTIMACS, COCOMO, COCOMO II. Kết luận được rút ra là các phương pháp đã có tuy rất phức tạp nhưng khó áp dụng sớm và thường có độ tin cậy không cao.

3. Lập luận theo kinh nghiệm Lập luận theo kinh nghiệm là phương pháp

giải quyết bài toán trên cơ sở tìm kiếm và hiệu chỉnh lời giải của các bài toán tương tự đã có trong quá khứ. Phương pháp này có nguồn gốc từ ngành khoa học nhận thức; phản ảnh một mô hình tư duy thường thấy ở con người.

Đơn vị tri thức đối với một hệ thống lập luận theo kinh nghiệm là những ca lập luận (case)

được lưu trữ độc lập. Quá trình giải quyết bài toán trong lập luân theo kinh nghiệm được thực hiện theo chu trình “4 lại” gồm 4 bước: 1) Tìm kiếm lại ca lập luận tương tự; 2) Hiệu chỉnh và sử dụng lại lời giải đã có; 3) Xem xét lại lời giải hiệu chỉnh; 4) Lưu lại ca lập luận mới.

Các vấn đề cơ bản cần giải quyết đối với một hệ thống lập luận theo kinh nghiệm bao gồm: phương pháp tổ chức và biểu diễn tri thức; phương pháp tìm kiếm ca lập luận tương tự và chiến lược hiệu chỉnh lời giải.

Lập luận theo kinh nghiệm đã được ứng dụng rộng rãi trong thực tế. Phương pháp này thích hợp với những bài toán có miền mở, trong đó mối quan hệ giữa các đối tượng tri thức là phức tạp và không rõ ràng.

4. Hệ chuyên gia ước lượng dự án phần mềm

Khóa luận đề xuất một mô hình hệ chuyên gia ước lượng dự án phần mềm sử dụng lập luận theo kinh nghiệm. Hệ chuyên gia gồm 6 thành phần là cơ sở tri thức, hệ thống tiền xử lý, mô tơ suy luận, hệ thống nâng cấp dữ liệu, hệ thống nâng cấp luật và giao diện; trong đó thành phần quan trọng nhất là mô tơ suy luận

Các vấn đề cơ bản của hệ chuyên gia được giải quyết như sau

4.1. Cơ sở tri thức

Đơn vị tri thức của hệ chuyên gia là những dự án cụ thể. Một dự án được biểu diễn thành hai phần là : đặc tả dự án và kết quả thực hiện.

Đặc tả dự án là một tập các thuộc tính mô tả dự án. Trong số các thuôc tính dự án, khóa luận chọn ra 10 thuộc tính gọi là thuộc tính chỉ số để làm thước đo xác định độ tương tự của các dự án. Có hai loại thuộc tính chỉ số là thuộc tính kiểu số và thuộc tính kiểu liệt kê. Các thuộc tính không phải chỉ số chỉ có giá trị lưu trữ và tạo nên yếu tố ngữ cảnh cho dự án.

Page 20: 0411

- 17 -

Kết quả thực hiện là những giá trị cần ước lượng cho một dự án mới. Trong phạm vi khóa luận, các giá trị cần ước lượng là: thời gian thực hiện dự án, chi phí, số lập trình viên và nỗ lực (effort). Các giá trị này được ước lượng độc lập với nhau.

Trong mô hình hệ chuyên gia đề xuất, các dự án được lưu trữ độc lập, không có sự ràng buộc lẫn nhau.

4.2. Tìm kiếm

Tìm kiếm dự án tương tự là bước quan trọng nhất trong quá trình ước lượng. Để có thể tìm kiếm được dự án thích hợp cần xác định được một phương pháp tính độ tượng tự giữa hai dự án. Khóa luận đề xuất sử dụng phương pháp “gần nhất mở rộng” để tính độ tương tự. Phương pháp này gồm hai bước: tính độ tuơng tự từng thuộc tính và tính độ tương tự dự án.

Độ tương tự của các thuộc tính kiểu số được tính qua các hàm toán học và độ tương tự của các thuộc tính kiểu liệt kê được xác định bằng cách tham chiểu đến một bảng độ tương tự cho trước.

Từ đó, độ tương tự dự án được tính theo công thức sau:

10

110

1

( . , . ) '( , )

's i t i ii

t sii

sim P a P aSIM P P

δ

δ=

=

×= ∑

trong đó ( , )s tSIM P P là độ tương tự giữa hai dự án Ps và Pt và S; . , .s i t iP a P a là thuộc tính thứ i của hai dự án; isim là hàm tính độ tương tự của thuộc tính i, 'iδ là một trọng số mở rộng.

4.3. Hiệu chỉnh kết quả

Sau khi tìm được các dự án tương tự, hệ thống phải hiệu chỉnh kết của của các dự án cũ cho phù hợp với hoàn cảnh mới. Quá trình hiệu chỉnh gồm hai bước là hiệu chỉnh thống kê và hiệu chỉnh theo luật

Hiệu chỉnh thống kê chọn ra k dự án tương tự nhất và ước lượng theo công thức:

1

1

( , )

( , )

ks t ii

s ks ti

SIM P P rr

SIM P P=

=

×= ∑∑

trong đó r là kết quả thực hiện của các dự án. Hiệu chỉnh theo luật hiệu chỉnh kết quả ước

lượng của hiệu chỉnh thống kê dựa trên những

luật cho trước. Một cách tổng quát, các luật này có dạng

*1 2( , ,...) ( ( ))i icond cond r ada r⇒ =

với r* và r là kết quả hiệu chỉnh theo luật và kết quả hiệu chỉnh thống kê; condi là các biểu thức logic điều kiện; ada là hàm hiệu chỉnh.

5. Thực nghiệm Để kiểm nghiệm mô hình hệ chuyên gia đề

xuất, khóa luận xây một hệ thống thực nghiệm. Hệ thống này được thiết kế theo mô hình hướng đối tượng, cài đặt bằng ngôn ngữ Java. Cơ sở dự án được lưu trữ dưới dạng file XML.

Hai thực nghiệm được tiến hành trên một cơ sở dự án gồm 20 dự án đã hoàn thành.

Thực nghiệm 1 kiểm nghiệm khả năng ước lượng của mô hình bằng cách ước lượng 5 dự án mới, được lựa chọn tương đối ngẫu nhiên. Kết quả cho thấy 4/5 trường hợp là phù hợp với đánh giá trực quan.

Thực nghiệm 2 khảo sát vai trò khác nhau của các thuộc tính đối với kết quả ước lượng bằng cách thay đổi một số thuộc tính của dự án đầu vào. Kết quả thu được cho thấy các thuộc tính khác nhau sẽ có vai trò khác nhau đối với kết quả ước lượng.

6. Kết luận Khóa luận đã đề xuất một phương pháp ước

lượng dự án phần mềm mới sử dụng lập luận theo kinh nghiệm (CBR). Các vấn đề được thảo luận chi tiết là biểu diễn dự án, tìm kiếm dự án tương tự và hiệu chỉnh kết quả thực hiện cũ. Thực nghiệm cho thấy kết quả ước lượng là có thể chấp nhận được.

Điểm hạn chế đối với mô hình đề xuất là chưa sát với thực tế phát triển phần mềm. Trong tương lai, các vấn đề như lựa chọn thuộc tính chỉ số, phép tính độ tương tự... sẽ được tìm hiểu một cách có hệ thống hơn. Ngoài ra, hệ thống thực nghiệm cũng cần được mở rộng thành một CASE tool ứng dụng vào thực tế.

Tài liệu tham khảo [1] Ian Watson, Applying case-based

reasoning: Techniques for enterprise systems, Morgan Kaufmann Publishers, 1997.

[2] Walker Royce, Software project management a unified framework, 1998.

Page 21: 0411

- 18 -

TÌM KIẾM VĂN BẢN VÀ ẢNH TRÊN CƠ SỞ NỘI DUNG TRONG CƠ SỞ DỮ LIỆU ĐA PHƯƠNG TIỆN

Vũ Minh Hiếu - MSV: 0121902 Lê Khánh Dương –MSV: 0121841

Email: [email protected]

Cán bộ hướng dẫn: PGS.TS. Đặng Văn Đức

1. Giới thiệu Hiện nay bất kỳ một tổ chức nào khi xây

dựng cơ sở dữ liệu cho mình cũng phải tính đến việc cho phép hệ thống có khả năng mở rộng đối với dữ liệu đa phương tiện (trong phạm vi Khóa luận này chỉ đề cập tới hai loại dữ liệu là văn bản và ảnh), cùng với nó là vấn đề xử lý và hỗ trợ chỉ mục nhằm khai thác hiệu quả cơ sở dữ liệu của tổ chức, để đạt mục đích đó cần xây dựng các cơ sở lý thuyết về CSDL đa phương tiện. Đó cũng là mục đích mà Khóa luận này hướng tới.

2. Khái quát về cơ sở dữ liệu đa phương tiện.

Dữ liệu đa phương tiện có tính chất và yêu cầu đặc biệt, khác xa với loại dữ liệu chữ và số. CSDL truyền thống không phù hợp trong việc quản lý dữ liệu đa phương tiện. Các kỹ thuật truy tìm thông tin có thể giúp truy tìm đa phương tiện nhưng chúng chưa có khả năng quản lý hiệu quả dữ liệu đa phương tiện.

Vì vậy, một kỹ thuật mới dựa trên việc kết hợp các kỹ thuật quản trị cơ sở dữ liệu DBMS, IR (Hệ thống tự động truy tìm thông tin) và truy vấn trên cơ sở nội dung để tạo thành Hệ thống chỉ mục và truy tìm thông tin đa phương tiện MIRS (Multimedia Indexing & Retrieval System), một MIRS đầy đủ được gọi là Hệ quản trị CSDL đa phương tiện. Trên cơ sở nghiên cứu mô hình và nguyên tắc hoạt động của MIRS cung cấp cho ta cái nhìn tổng quan về một hệ quản trị cơ sở dữ liệu đa phương tiện và thấy được vai trò quan trọng của việc xử lý, lưu trữ và truy vấn dữ liệu đa phương tiện.

3. Các vấn đề chỉ mục và truy vấn dữ liệu đa phương tiện.

Tài nguyên lưu trong cơ sở dữ liệu được đánh chỉ mục hỗ trợ truy vấn, đó cũng là một yêu cầu cơ bản đối với mọi cơ sở dữ liệu. Các dữ liệu đa phương tiện thường rất lớn vì vậy vấn đề xử lý dữ liệu trước khi đánh chỉ mục là một giải pháp hữu hiệu nhằm giảm không gian

lưu trữ và tăng tốc độ tìm kiếm. Các kỹ thuật nén dữ liệu văn bản và ảnh hiện nay đã phát triển rất phong phú cả về mặt thuật toán lẫn phạm vi áp dụng. Kỹ thuật chỉ mục dữ liệu đã đạt được những tiến bộ vượt bậc, một trong những minh chứng thuyết phục nhất là máy tìm kiếm Google với hệ thống chỉ mục cho hơn một tỉ trang web đã đem lại lợi ích vô cùng to lớn trong việc tìm kiếm dữ liệu. Vì vậy, nghiên cứu kỹ thuật chỉ mục dữ liệu và các phương pháp truy vấn là một trong những nội dung chính của Khóa luận này.

1) Nén dữ liệu văn bản và ảnh

Các kỹ thuật nén dữ liệu văn bản đã phát triển trong vòng vài thập kỷ qua, từ kỹ thuật nén Huffman, Arithmetic, nén từ điển,… đã đem lại những hiệu quả to lớn trong thực tế.

Các kỹ thuật nén ảnh cũng đem lại những kết quả khả quan với tỉ lệ nén có thể tới 80:1 (chuẩn JPEG) đã mở ra một hướng mới trong việc lưu dữ liệu ảnh trong các cơ sở dữ liệu đa phương tiện, cũng như những ứng dụng trong nhiều lĩnh vực của cuộc sống.

2) Truy tìm văn bản và ảnh trên cơ sở nội dung

Trích chọn đặc trưng dữ liệu đa phương tiện luôn là bài toán khó. Sự trừ tượng của dữ liệu đa phương tiện trên phương diện thể hiện đặc trưng của nó khiến cho việc chỉ mục đối với dữ liệu đa phương tiện luôn là vấn đề phức tạp và đòi hỏi nhiều công sức. Bản thân một loại dữ liệu đa phương tiện đã chứa đựng nhiều kỹ thuật khác nhau về trích trọn đặc trưng.

Thí dụ, với dữ liệu ảnh có thể dựa vào mô tả văn bản, cơ sở màu, biểu đồ màu, cơ sở hình dạng hay dựa vào các biến đổi rời rạc…để trích trọn đặc trưng của ảnh.

Một vấn đề khác cũng rất quan trọng là tổ chức chỉ mục cho tài nguyên của CSDL đa phương tiện từ những đặc trưng của nó. Một kỹ thuật phổ biến đang được dùng cho các máy tìm kiếm hiện nay là sử dụng tệp chỉ mục. Đây

Page 22: 0411

- 19 -

là một trong những nội dung chính của Khóa luận này.

Cùng với kỹ thuật chỉ mục, kỹ thuật truy vấn dữ liệu văn bản và ảnh trên cơ sở nội dung cũng được đề cập tới với hai kỹ thuật chính đang phổ biến hiện nay là Boolean và Ranked.

4. Môđun thử nghiệm. Dựa vào các cơ sở lý thuyết đã trình bày

trong Khóa luận, chúng em đã tiến hành xây dựng hai môđun thử nghiệm về nén dữ liệu văn bản và truy tìm văn bản trên cơ sở nội dung.

Môđun nén dữ liệu văn bản sử dụng thuật toán nén Huffman.

Môđun truy tìm văn bản sử dụng kỹ thuật chỉ mục nội dung ( tệp chỉ mục) và kỹ thuật truy vấn Boolean.

5. Kết luận Trong Khóa luận này, đã trình bày các cơ sở

lý thuyết liên quan đến cơ sở dữ liệu đa phương tiện, các kỹ thuật nén, chỉ mục và truy vấn dữ liệu. Với các môđun thử nghiệm nhỏ cho kết quả phù hợp với các cơ sở lý thuyết đã trình bày.

Các vấn đề cần tiếp tục nghiên cứu: Hoàn thiện tiếp các cơ sở lý thuyết liên quan đến hai loại dữ liệu video và audio.

Tài liệu tham khảo [1] I.H. Witten, A. Moffat and T.C. Bell,

Managing Gigabytes. 2nd ed. Morgan Kaufmann, 1999.

[2] Sangoh Jeong, Histogram-Based Color Image Retrieval, http://wang1.ist.psu.edu/

Page 23: 0411

- 20 -

KỸ THUẬT CỘNG ẢNH VÀ ỨNG DỤNG

Họ và tên: Vũ Thị Đào MSV: 0121846 Email: [email protected]

Người hướng dẫn: TS.Đỗ Năng Toàn

1. Giới thiệu Kỹ thuật cộng ảnh nguyên gốc không phải là

kỹ thuật mới lạ nhưng những biến tấu và kết quả thu được đến nay cả về khía cạnh nghiên cứu khoa học và ứng dụng trong thực tế chưa tương xứng với sức hấp dẫn của nó. Vì vậy đề tài của em tiếp tục nghiên cứu về các kỹ thuật cộng ảnh, từ đó đề xuất ra một kỹ thuật cộng ảnh cải tiến nhằm ứng dụng trong việc tái tạo đoạn phim từ các ảnh đại diện. Công việc này đặc biệt được ứng dụng trong trường hợp, khi chúng ta muốn giảm không gian lưu trữ của file video thì chúng ta trích trọn các ảnh đại diện từ các cảnh phim. Muốn tái sử dụng lại thì phải tái tạo từ các ảnh đại diện đã trích trọn.

2. Cơ sở các kỹ thuật cộng ảnh Cộng ảnh là việc sinh ra các ảnh trung gian

từ hai hay nhiều ảnh đầu vào thành một chuỗi các khung hình liên tiếp. Ví dụ có hai ảnh đầu vào tạo ra 4 ảnh trung gian như sau:

Cơ sở lý thuyết : một ảnh bao gồm có tập các đặc trưng (xác định hình dáng đối tượng ảnh) và tập các thuộc tính (thường là thuộc tính về màu sắc hay mức sáng). Vậy từ ảnh gốc và ảnh đích ta phải tìm được các ảnh trung gian có tập các đặc trưng và tập các thuộc tính được tổng hợp theo một tỉ lệ cho trước từ hai ảnh trên.

Có rất nhiều kỹ thuật cộng ảnh khác nhau, mỗi kỹ thuật có những ưu nhược điểm riêng nhưng để cho chất lượng ảnh trung gian tạo ra tốt, em có đề xuất một kỹ thuật cộng ảnh cải tiến dùng trong việc tái tạo cảnh phim.

Để tái tạo cảnh phim, chúng ta tạo ra các khung hình trung gian. Nhưng chuỗi các khung hình trung gian này không phải là duy nhất. Vì vậy chúng ta phải tạo sao cho chúng có chất lượng tốt, giảm thời gian xử lý. Để được chất lượng hình ảnh tốt, kỹ thuật cộng ảnh phải tạo

ra các ảnh trung gian tuân một số nguyên tắc sau khi thực hiện:

♦ Chuyển đổi thuộc tính tương đương từ khung hình này sang khung hình kia và ngược lại.

♦ Duy trì miền lồi:các miền biến đổi là miền lồi thì trong khung hình trung gian cũng là miền lồi.

♦ Duy trì hình trạng hình học: khi tạo ra các ảnh trung gian hình trạng hình học cần được duy trì.

♦ Ánh xạ đúng đặc trưng: chúng ta phải ánh xạ làm sao cho từng đặc trưng riêng biệt của đối tượng này tham chiếu đến đúng đặc trưng đó trên đối tượng kia

♦ Duy trì tính nhẵn của đối tượng ♦ Đảm bảo nền của ảnh: khi nội suy đối

tượng ảnh thì nền của chúng cũng nội suy theo. Vì thế khắc phục tình trạng này, chúng ta sẽ tách nền và sau đó ghép nền lại cho khung hình.

Áp dụng các nguyên tắc trên, kỹ thuật cộng ảnh cải tiến được đưa ra có chất lượng khung hình trung gian tốt, giảm thời gian xử lý.

3. Đề xuất kỹ thuật cải tiến trong việc tái tạo đoạn phim từ các ảnh đại diện

Kỹ thuật mà em đề xuất trên cơ sở dựa vào ưu nhược điểm của các kỹ thuật cộng ảnh đơn giản từ đó rút ra nhận xét để xây dựng kỹ thuật cộng ảnh nâng cao. Các kỹ thuật cộng ảnh đơn giản:

♦ Kỹ thuật xếp chồng: kỹ thuật căn biên và đặt chồng các ảnh lên nhau theo tỉ lệ pha màu nhất định, tỉ lệ này trong khoảng [0,1]. Khi được thay đổi sẽ tạo ra các khung hình khác nhau biến đổi từ ảnh gốc sang ảnh đích. Nhận xét: kỹ thuật này đơn giản nhưng cho chất lượng khung hình kém, nhất là khi các ảnh khác xa nhau về nội dung. Các khung hình được tạo ra chỉ là sự chồng mờ của các ảnh đầu vào.

♦ Kỹ thuật nắn chỉnh: Nắn chỉnh là việc dùng hàm để biến đổi từ một ảnh gốc thành các ảnh trung gian hướng tới ảnh đích, trường hợp

Page 24: 0411

- 21 -

nắn chỉnh thành ảnh đích là rất khó thực hiện. Vì vậy chúng ta sẽ nắn chỉnh sao cho sự sai khác giữa ảnh có được sau khi nắn chỉnh và ảnh gốc là nhỏ nhất có thể. Có hai cách nắn chỉnh là nắn chỉnh xuôi (Forward Mapping) và nắn chỉnh ngược (Reverse Mapping ). Nhận xét: kỹ thuật này phát triển từ rất sớm và đã mang lại nhiều kết quả khả quan. Tuy nhiên khi xây dựng hàm nắn chỉnh thường khó và phức tạp, tốn nhiều thời gian. Kỹ thuật cộng ảnh nâng cao: Ý tưởng cơ bản: đầu tiên ta xây dựng hàm nắn chỉnh f để nắn chỉnh các ảnh đầu vào thành các ảnh trung gian, sau đó mới xếp chồng chúng lên nhau. Rõ ràng nếu ta không nắn chỉnh mà xếp chồng ngay thì chất lượng khung hình rất kém, nhất là những ảnh khác xa nhau về nội dung. Ta xây dựng hàm nắn chỉnh để nắn chỉnh các ảnh đầu vào nhằm mục đích các ảnh trung gian sau khi nắn chỉnh sẽ ánh xạ đúng các đặc trưng lên nhau (theo nguyên tắc có chất lượng tái tạo tốt). Cuối cùng ta mới xếp chồng chúng, được ảnh trung gian như hình vẽ sau (có 3 ảnh đầu vào rồi nắn chỉnh, sau đó mới cộng lại )

Nhận xét:

♦ Kỹ thuật này cho chất lượng tái tạo tốt. ♦ Đây là cách tiếp cận dựa trên kỹ thuật nắn

chỉnh phát triển từ rất sớm nên sẵn có nhiều công cụ trợ giúp.

♦ Tuy nhiên, nhược điểm của nó là xây dựng hàm nắn chỉnh như ý thường khó, thời gian tính toán chưa nhanh do khối lượng công việc lớn.

4. Thực nghiệm Em đã cài đặt thử kỹ thuật trên trong việc tái

tạo lại đoạn phim từ các ảnh đại diện, chương trình tỏ ra khá hiệu quả.

Do dữ liệu video thử nghiệm với chương trình chưa nhiều nên chưa đánh giá được tốc độ xử lý khi tái tạo lại các khung hình trung gian để tạo nên đoạn phim. Các đánh giá thực nghiệm trên còn mang tính chủ quan.

5. Kết luận Trong khóa luận này, em đã đề xuất ra kỹ

thuật cộng ảnh cải tiến dựa trên kỹ thuật nắn chỉnh và xếp chồng ảnh để sinh ra các ảnh trung gian từ các ảnh đặc trưng nhằm khôi phục lại đoạn dữ liệu video. Kết quả này đặc biệt có ý nghĩa khi kết hợp với các ứng dụng của kỹ thuật trừ ảnh để trích trọn các ảnh đặc trưng từ các cảnh phim làm giảm không gian lưu trữ của file video. Và cũng từ các ảnh đặc trưng đã trích trọn ta tái tạo lại file khi sử dụng.

Việc giảm không gian lưu trữ dữ liệu video có nhiều ứng dụng khác nhau trong thực tế như:

♦ Trong các viện bảo tàng, các kho tư liệu lưu trữ với số lượng lớn thì việc không gian lưu trữ là rất cần thiết.

♦ Trong việc truyền tải các file video trên mạng

v.v… Chính vì các lí do trên nên công việc tái tạo đoạn phim khi sử dụng lại càng có ý nghĩ đặc biệt.

Tài liệu tham khảo [1] H. Johan, Y.Koiso, T. Nishita (2000),

“Morphing using Curve and Shape Interpolation Techniques”, Dept of Information Science Technical Report, p. 53-62, University of Tokyo, 2000

[2] Morpher Page, Website http://www.asahi-net.or.jp

[3] T. Kang, J.Gemmell, K.Toyama (1999), “A Warp-Base Feature Tracker”, Technical Report, Microsoft Research, 1999

Page 25: 0411

- 22 -

XÂY DỰNG CÔNG CỤ BIÊN SOẠN BÀI GIẢNG TUÂN THEO CHUẨN SCORM

Nguyễn Thị Ngọc Điệp-MSV: 0121853 Nguyễn Thị Bình Giang-MSV: 0122262

Email: [email protected] [email protected]

Người hướng dẫn: TS. Nguyễn Việt Hà

1. Giới thiệu e-Learning là chữ viết tắt của Electronic

Learning - học tập điện tử. Đó là một hình thức học tập được phân phối và quản lí thông qua các phương tiện điện tử, các ứng dụng công nghệ. Một xu hướng phát triển e-Learning hiện nay đang được chú trọng là xây dựng các nội dung học tập có thể tái sử dụng được, bền vững với sự phát triển của công nghệ, khả chuyển giữa các hệ thống khác nhau và tăng hiệu quả kinh tế. Do đó, các chuẩn và các đặc tả ra đời phục vụ cho việc xây dựng các nội dung học tập như vậy. SCORM là một chuẩn được đưa ra bởi ADL (Advanced Distribute Learning) -một tổ chức của Bộ quốc phòng Mỹ. Chuẩn này đang được chú ý nhiều nhất và có khá nhiều sản phẩm tuân theo chuẩn SCORM.

Trên cơ sở nghiên cứu về chuẩn SCORM, chúng tôi sẽ xây dựng một bộ công cụ biên soạn bài giảng tuân theo chuẩn này. Với bộ công cụ này, người dùng chính là người giáo viên, có thể tạo, cập nhật và đóng gói một khóa học dễ dàng, thân thiện mà họ không cần biết các chi tiết kĩ thuật phức tạp bên trong. Gói nội dung có thể tái sử dụng được trên bất kì hệ e-Learning nào tương thích với SCORM.

2. Chuẩn SCORM và đóng gói nội dung SCORM là chữ viết tắt của Sharable

Content Reference Model – Mô hình tham chiếu nội dung có thể chia sẻ được. SCORM được coi là sự kết tinh trí tuệ của cả cộng đồng e-Learning trong nhiều năm qua. Nó là một mô hình tham khảo của nhiều chuẩn kĩ thuật, nhiều đặc tả và các hướng dẫn có liên quan, được đưa ra bởi các tổ chức khác nhau, dùng để đáp ứng các yêu cầu ở mức cao của nội dung học tập. Tư tưởng chung của SCORM là tạo ra các đối tượng học có thể chia sẻ và tái sử dụng.

Về cơ bản, chuẩn SCORM bao gồm 3 thành phần: Mô hình tích hợp nội dung-CAM,

Môi trường chạy SCORM-RTE, Sắp xếp và điều hướng-SN.

Mô hình tích hợp nội dung xác định cách thức đóng gói nội dung sao cho nó có thể sử dụng được trong nhiều hệ LMS (hệ quản trị học) khác nhau. Mô hình tích hợp nội dung được chia thành 3 phần: Mô hình nội dung, Meta-data và Đóng gói nội dung.

Mô hình nội dung định nghĩa một mô hình hợp lí cho việc phân chia nội dung học thành các đơn vị có kích thước tùy ý, phục vụ cho mục đích tái sử dụng. Các đơn vị này được gọi là các Asset và SCO.

Meta-data cung cấp một quy tắc đặt tên chung để mô tả các tài nguyên học. Mô tả các tài nguyên bằng meta-data sẽ giúp cho việc tìm kiếm chúng một cách hệ thống và dễ dàng.

Đóng gói nội dung có cốt lõi là một file imsmanifest.xml.

File imsmanifest.xml gồm có 4 phần chính:

Meta-data: Ghi các thông tin cụ thể về gói

nội dung. Organizations: Mô tả cấu trúc nội dung

chính của gói. Nó gần như một bảng mục lục. Nó tham chiếu tới các tài nguyên và các file manifest con khác.

Resourses: Bao gồm các mô tả tham chiếu tới các file khác được đóng cùng trong gói hoặc các file khác ở ngoài (ví dụ các địa chỉ web).

Page 26: 0411

- 23 -

Sub-manifest: Mô tả toàn bộ các gói được gộp vào bên trong gói chính. Mỗi sub-manifest cũng có cấu trúc gồm: meta-data, organization, resourses, sub-manifest. Mỗi sub-manifest có thể chứa các sub-manifest khác.

Đặc tả này cho phép gộp nhiều khóa học, các thành phần cao cấp khác từ các bài học đơn lẻ, các chủ đề, và các đối tượng học tập mức thấp. Đồng thời nó cũng cung cấp kĩ thuật gộp file manifest và các file vật lí khác thành một gói vật lí. Các định dạng file được khuyến cáo để ghép các file riêng rẽ là ZIP, JAR, CAB.

3. Xây dựng công cụ biên soạn bài giảng tuân theo chuẩn SCORM

Chúng tôi đề xuất xây dựng một công cụ biên soạn bài giảng tuân theo chuẩn SCORM. Công cụ được xây dựng dựa trên nền Web, sử dụng ngôn ngữ lập trình PHP.

Bộ công cụ sẽ đảm bảo được những chức năng sau:

Hỗ trợ việc tạo cấu trúc bài giảng theo ý muốn: Khi tạo mới một bài giảng, người dùng có thể tự xây dựng cấu trúc bài giảng, hoặc xây dựng dựa trên các template có sẵn. Trên cơ sở các template này, người dùng có thể chỉnh sửa lại cho phù hợp.

Hỗ trợ việc cập nhật, chỉnh sửa các gói nội dung. Với các gói nội dung tuân theo chuẩn SCORM, công cụ sẽ phân tích file đặc tả cấu trúc imsmanifest.xml, từ đó có thể hiển thị lại cấu trúc của gói nội dung. Sau khi hiển thị, công cụ cho phép người dùng có thể chỉnh sửa cấu trúc, cập nhật các tài nguyên của gói nội dung.

Hỗ trợ việc đóng gói và lưu trữ bài giảng: Sau khi đã xây dựng được cấu trúc cho gói nội dung, thông tin về đặc tả cấu trúc này sẽ được lưu trữ trên file imsmanifest.xml, ngoài ra công cụ còn sinh ra các file hỗ trợ .xsd chứa thông tin về XML Schema, các file này định dạng cấu trúc của file imsmanifest. Sau đó, dựa vào đặc tả trong file imsmanifest, công cụ sẽ tham chiếu đến các file tài nguyên để đưa vào gói nội dung. Cuối cùng, nội dung sẽ được đóng gói dưới dạng một gói zip. Gói nội dung có thể được lưu trữ tại một cơ sở dữ liệu tập trung trên server, hoặc có thể lưu trữ tại các máy cá nhân của người dùng.

4. Thực nghiệm Công cụ đã xây dựng được các gói nội

dung bao gồm các thành phần cơ bản như sau: -File đặc tả cấu trúc gói nội dung có tên là

imsmanifest.xml. -Các file XML Schema (.xsd). -Các file tài nguyên mà gói nội dung tham

chiếu tới. Chúng tôi đã sử dụng Reload Editor - một

phần mềm mã nguồn mở - để test tính tuân theo chuẩn của gói nội dung được tạo ra. Kết quả cho thấy, gói nội dung có thể được hiển thị lại bằng Reload. Điều này đã chứng tỏ rằng, gói nội dung mà công cụ tạo ra có thể tái sử dụng trên bất kì hệ LMS nào tuân theo chuẩn SCORM.

5. Kết luận Trên đây chúng tôi đã đưa ra mô hình một

bộ công cụ biên soạn bài giảng tuân theo chuẩn SCORM, hiện nay vẫn đang trong quá trình xây dựng và phát triển. Bước đầu, công cụ mới đảm bảo được các chức năng tạo, cập nhật, đóng gói nội dung, trong tương lai, công cụ sẽ được bổ sung thêm nhiều chức năng mới như hỗ trợ thêm các template, tích hợp các ứng dụng hỗ trợ việc tạo bài giảng trực tiếp, tạo ra các nội dung hỗ trợ việc sắp xếp và điều hướng,…..

Tài liệu tham khảo

[1] Carnegie Mellon University (2003). “Best

Practices Guide for Content Developers”. 1st-ed.

[2] www.adlnet.org, SCORM Specification

Page 27: 0411

- 24 -

Xây dựng hệ thống quản lý và bán sách trên mạng

Đỗ Thanh Hà MSV: 0102866

Email: [email protected]

Người hướng dẫn: PGS.TS.Vũ Đức Thi

1. Giới thiệu Xã hội ngày càng phát triển, nhu cầu

hiểu biết trên tất cả các lĩnh vực của con người ngày càng được nâng cao. Đáp ứng yêu cầu đó ở Việt Nam nhiều nhà sách xuất hiện, nhưng đa số các cửa hàng bán sách hiện nay đều tổ chức kinh doanh theo phương thức truyền thống dẫn đến rất nhiều khó khăn. Những khó khăn trên đã trực tiếp làm giảm đáng kể doanh thu của cửa hàng bán sách. Đặt ra cho các nhà sách cần phải có một cách tiếp cận, thu hút mới có hiệu quả hơn. Giải pháp áp dụng công nghệ thông tin vào trong quản lý, thương mại hiện nay là một xu thế tất yếu.

2. Cơ sở lý thuyết Một số công nghệ được lựa chọn để thiết kế ứng dụng

1. Web Server: Hệ thống sử dụng IIS (Internet Information Server) chạy trên hệ điều hành Window2000 Server, hoặc Window2000 Professional hoặc WindowServer 2003 để làm Server cho hệ thống.

2. Web Browser: Hệ thống có thể chạy tốt trên nhiều trình duyệt Web như Internet Explore, Nescape Navigator, Morilla FireFox …vv.

3. Công cụ lập trình: Visual Studio .NET được lựa chon làm công cụ để phát triển hệ thống bán sách qua mạng. Nó được thiết kế để phát triển ứng dụng nhanh sử dụng công nghệ .NET

4. Crystal Report 9.0 được lựa chọn làm công cụ để làm báo cáo cho hệ thống bán sách qua mạng . Crystal Reports được thiết kế để làm việc với CSDL giúp phân tích những thông tin quan trọng. Crystal Reports giúp tạo các báo cáo đơn giản, và nó cũng là công cụ cần thiết để xây dưng các báo cáo phức tạp và đặc thù.

5. Database Server: Sử dụng SQL Server.

3. Hệ thống bán và quản lý sách trên mạng. 3.1. Quản trị hệ thống

Số lượng sách của nhà sách ngày càng lớn, khách hàng truy cập vào hệ thống ngày càng nhiều do đó giao dịch thông qua hệ thống ở mức độ cao. Để có thể đáp ứng tốt nhu cầu của khách hàng nhà sách cần phải có đội ngũ nhân viên đông đảo. Để đội ngũ này hoạt động hiệu quả người quản trị hệ thống cần phải phân quyền cụ thể cho từng nhân viên. Người quản trị và các nhân viên muốn giao tiếp với hệ thống phải đăng nhập thông qua tên đăng nhập và mật khẩu.

Các nhân viên chỉ thực hiện được những chức năng nhất định ứng với quyền mà người quản trị cấp và khi cần người quản trị có quyền huỷ các quyền này. Có các quyền cơ bản sau:

Quyền quản trị chung. Quyền quản trị dữ liệu hệ thống. Quyền xem và trả lời thư góp ý,

kiến nghị của khách hàng. Quyền xem đơn đặt mua sách

của khách hàng.

3.2. Cập nhật dữ liệu

Chức năng này giúp cho việc cập nhật dữ liệu hệ thống. Mỗi nhân viên sẽ đảm nhiệm một vài công việc mà người quản trị đã cấp.

Cập nhật dữ liệu gồm:

Cập nhật và phân loại sách. Cập nhật khung phân loại. Cập nhật hóa đơn. Cập nhật nhân viên. Cập nhật nhà cung cấp.

Với mỗi khối trên có đủ các chức năng tìm kiếm, thêm, sửa, xóa.

3.3. Phục vụ khách hàng

Đây là chức năng chính, cần thiết nhất cho hệ thống, nó quyết định sự thành bại của nhà sách. Chức năng này được thực hiện từ phía khách hàng, gồm các chức năng sau:

+ Tra cứu sách: Mọi khách hàng truy cập vào Web site đều có thể sử dụng chức năng này.

Page 28: 0411

- 25 -

Chức năng này liệt kê tất cả các cuốn sách (có trong cửa hàng) tuỳ thuộc vào thông tin khách hàng nhập vào.

+ Xem thông tin chi tiết về một quyển sách: Trước khi mua một một cuốn sách nào đó các thông tin như mã sách, tên sách, tác giả, nhà xuất bản, nội dung chính của sách... là rất cần thiết cho khách hàng. Đôi khi những thông tin đó giúp khách hàng xác định được cuốn sách mà mình cần mua.

+ Đăng ký sử dụng hệ thống: Nếu khách hàng chỉ tra cứu hoặc xem chi tiết sách thì họ không cần phải đăng ký user. Nhưng khi khách hàng muốn mua sách thì họ phải là thành viên của hệ thống bằng cách nhập thông tin cá nhân. Nhà sách lưu thông tin cá nhân này làm cơ sở để tạo hóa đơn. Mỗi khách hàng chỉ cần đăng ký một lần, thông tin quan trọng nhất là tên đăng nhập và mật khẩu. Sau khi đăng ký khách hàng sẽ có hòm thư riêng. Việc đăng ký user là một hình thức bảo mật cho khách hàng bởi vì trước khi lập mới hay sửa đơn hàng và thư góp ý hỏi đáp họ phải đăng nhập (bằng tên đăng nhập và mật khẩu).

+ Đăng ký mua sách: Khách hàng có thể chọn mua bất kỳ cuốn sách nào có trong kho sau khi đã tra cứu. Trước khi lập đơn đặt mua khách hàng phải đăng nhập vào hệ thống và điền đầy đủ thông về thời gian và nơi giao nhận sách.

+ Xem, sửa đơn hàng và thông tin cá nhân: Khách hàng có thể thay đổi, hủy bỏ thông tin cá nhân mà mình đã đăng ký trước đó đồng thời có thể thay đổi, hủy bỏ đơn hàng đã đặt trước đó.

+ Góp ý, kiến nghị: Khách hàng có thể gửi thư góp ý hoặc kiến nghị với nhà sách đồng thời xem thư phản hồi từ nhà sách.

4. Thực nghiệm Tôi đã cài đặt thành công Hệ thống bán và quản lý sách trên mạng đáp ứng đầy đủ các yêu cầu đã nêu ở mục 3. Chương trình được viết theo kiến trúc 3 lớp: Database Server sử dụng SQL

Server, WebServer là ASP.NET, Client sử dụng bất kỳ một Web Browser. Hệ thống được đánh giá là dễ dùng và thân thiện. Tuy nhiên, do điều kiện còn hạn chế nên tôi chưa thể ứng dụng hệ thống trên mạng Internet.

5. Kết luận Trong quá trình làm khóa luận tốt nghiệp tôi đã đạt được các kết quả sau:

+ Tìm hiểu, nắm bắt và làm chủ được công cụ lập trình trên Web là ASP.NET, VBScript, JavaScript cũng như cách thiết kế trang Web phục vụ thương mại điện tử. + Nắm được một vài khung phân loại phổ biến dùng để phân loại sách. + Xây dựng được hệ thống bán sách trên mạng bao gồm giới thiệu sách của nhà sách với khách hàng đồng thời giúp nhà sách quản lý hàng tồn, nhân viên, nhà cung cấp. + Thể hiện được các yêu cầu của Site thương mại điện tử: người mua hàng có thể lựa chọn hàng, thay đổi hàng theo sở thích. Người mua hàng có thể sửa đơn hàng đã đặt. Ngoài ra khách hàng có thể đóng góp ý kiến, kiến nghị với nhà sách. Nhà sách có thể theo dõi được đơn đặt hàng của khách hàng. Đơn hàng của khách hàng cũng như dữ liệu của hệ thống được bảo mật.

Những mặt hạn chế: Chưa áp dụng hệ thanh toán điện tử. Việc thanh toán tiền mặt rất khó khăn (đặc biệt là kiểm tra tính đúng đắn của đơn hàng).

Tài liệu tham khảo

[1] Nguyễn Văn Vỵ, Phân tích thiết kế hệ thống thông tin hướng cấu trúc và hướng đối tượng (2002).

[2] Alex Hommer, Dave Sussman, Professional ASP.Net 1.0 (2002 )

Page 29: 0411

- 26 -

TÌM HIỂU PHƯƠNG PHÁP PHÂN TÍCH MIỀN VÀ TIẾN HÀNH PHÂN TÍCH TRÊN MIỀN GIÁO DỤC – ĐÀO TẠO

1. Giới thiệu Tái sử dụng phần mềm từ lâu đã được

tranh luận như là một phương pháp cải tiến chất lượng phần mềm và làm tăng năng suất phát triển phần mềm. Các mức tái sử dụng của các chế tác khác nhau như mã nguồn, các thành phần, khung làm việc, mẫu phân tích, mô hình,… là khác nhau. Chúng tôi lựa chọn phương pháp phân tích miền liên kết hướng đối tượng (Joint Object-Oriented Domain Analysis – JODA) nhằm hướng tới mục đích tái sử dụng các sản phẩm ở mức cao nhất đó là các mô hình miền. Theo đó, chúng tôi tiến hành phân tích miền Đào tạo để đưa ra được mô hình chung nhất đặc trưng cho miền, xây dựng các chế tác sử dụng lại như các frame, template và áp dụng một cách cụ thể với một số bài toán trong miền.

2. Cơ sở lý thuyết Phương pháp phân tích miền liên kết

hướng đối tượng (JODA) xây dựng mô hình miền dựa trên việc phân tích các đối tượng trong miền cùng với các thuộc tính và các hành vi của nó.

Theo phương pháp này, phân tích miền được chia làm ba pha chính: Pha thu thập tài nguyên miền, Pha xác định nghĩa miền, Pha mô hình hoá miền. Trong đó pha mô hình hoá miền là pha quan trọng nhất trong tiến trình phân tích miền.

Pha thu thập thông tin miền yêu cầu lấy thông tin từ các chuyên gia miền, các hệ thống đã tồn tại trong miền cùng với sự phát triển của các hệ thống trước đó, các nguồn tài nguyên miền, tri thức miền nhằm hỗ trợ việc hiểu biết thêm về miền cùng với ý kiến và sự giúp đỡ của các chuyên gia miền.

Pha xác định miền nhằm xác định phạm vi của miền, xây dựng các biểu đồ chủ đề mức cao nhất và định nghĩa các dịch vụ trong miền.

Pha mô hình hoá miền là pha quan trọng nhất bao gồm các công việc:

- Xác định các lớp khái niệm, các thuộc tính cùng với mối quan hệ giữa các lớp khái niệm đó và khảo sát các trạng thái của đối tượng phức tạp

- Mô phỏng các kịch bản miền - Trừu tượng hoá, nhóm gộp các đối

tượng nhằm đưa ra được khung kiến trúc chung nhất cho miền một cách chi tiết nhất.

Phương pháp JODA được đánh giá là phương pháp có nhiều ưu điểm nổi bật so với các phương pháp phân tích miền khác vì tạo ra được các chế tác có khả năng tái sử dụng lại cao và phù hợp với phương pháp phân tích thiết hệ hệ thống hướng đối tượng đang rất phổ biến hiện nay.

3. Thực nghiệm 1) Phân tích miền Giáo dục – Đào tạo

Chúng tôi vận dụng phương pháp phân tích miền liên kết hướng đối tượng JODA phân tích miền Giáo dục – Đào tạo đưa ra mô hình kiến trúc chung nhất cho miền bằng những đặc trưng cơ bản nhất của miền.

- Pha thu thập thông tin miền: thu thập và xử lý các tài liệu hướng dẫn nghiệp vụ, những quy định, quyết đinh, quy chế, … Tìm hiểu các sản phẩm trong tiến trình phân tích thiết kế, triển khai, bảo trì của các hệ thống đã tồn tại trong miền như hệ thống quản lý sinh viên, học sinh, hệ thống quản lý giáo viên, phân công giảng dạy, hệ thống tuyển sinh, … Những chuyên gia miền có khả năng đóng góp về nghiệp vụ, về ý kiến, kinh nghiệm có liên quan tới miền.

- Pha xác định miền o Phạm vi miền Giáo dục – Đào tạo: là

một lĩnh vực bao gồm mọi vấn đề liên quan tới giáo dục đào tạo và các hệ thống ứng dụng được xây dựng và phát triển nhằm phục vụ công tác giáo dục và đào tạo

Đỗ Diệu Hằng ([email protected]) Dương Thị Hạnh ([email protected]) Hoàng Thị Hà ([email protected])

Người hướng dẫn: PGS.TS. Nguyễn Văn VỵĐồng hướng dẫn: ThS. Vũ Diệu Hương

Page 30: 0411

- 27 -

o Các dịch vụ chính trong miền Giáo dục – Đào tạo gồm có: Quản lý tuyển sinh, Phân công giảng dạy, lập thời khoá biểu, quản lý điểm, quản lý người học (học sinh, sinh viên, học viên, …), quản lý trang thiết bị học tập, …

- Pha mô hình hoá miền: dựng các mô hình miền với các đặc trưng chung nhất cho miền và cụ thể hoá các bài toán trong miền, đó là: Bài toán quản lý tuyển sinh, quản lý giảng dạy và quản lý điểm. Đưa ra được các sản phẩm nhằm phục vụ tiến trình xây dựng các hệ thống cụ thể trong miền sau này. Các sản phẩm của pha mô hình hoá bao gồm:

o Các biểu đồ lớp khái niệm của hệ thống quản lý tuyển sinh, quản lý giảng dạy, quản lý điểm: các lớp khái niệm chung nhất cùng các thuộc tính và mối quan hệ giữa các lớp khái niệm.

o Các biều đồ trạng thái: mô tả biến đối trạng thái của các đối tượng phức tạp trong các miền đó.

o Các kịch bản miền: kịch bản phân công giảng dạy, kịch bản tổ chức xét tuyển, kịch bản tổ chức thi, kịch bản sinh và lưu trữ, tính toán điểm.

o Các biểu đồ chủ để: nhóm gộp các đối tượng theo các gói, các biểu đồ tổng quát hoá – chuyên biệt hoá, quan hệ thừa kế giữa các lớp

Đối với phương pháp phân tích miền JODA, các sản phẩm phân tích miền có sự tương đồng nhất định đối với các sản phẩm trong tiến trình phân tích hệ thống độc theo phương pháp phân tích thiết kế hướng đối tượng bằng UML. Điều này thể hiện được khả năng tái sử dụng rất cao từ các sản phẩm mô hình hoá miền trong quá trình xây dựng các hệ thống ứng dụng trong miền sau này. 2) Áp dụng giải quyết bài toán Quản lý giảng dạy, Quản lý tuyển sinh, Quản lý điểm trường trung học cơ sở

Để chứng minh khả năng tái sử dụng các sản phẩm của quá trình mô hình hoá miền theo phương pháp JODA là rất lớn, chúng tôi tiến hành phân tích, thiết kế các hệ thống cụ thể: hệ thống quản lý tuyển sinh, hệ thống quản lý giảng dạy, hệ thống quản lý điểm của một trường trung học cơ sở cụ thể.

- Phân tích, thiết kế và xây dựng demo hệ thống quản lý xét tuyển (không có thi) trường phổ thông trung học

- Phân tích, thiết kế và xây dựng demo hệ thống phân công giảng dạy trong trường phổ thông trung học

- Phân tích, thiết kế và xây dựng demo hệ thống quản lý ghi điểm và tính điểm trung bình trong trường phổ thông trung học

4. Kết luận Trong khóa luận này, chúng tôi đã nghiện

cứu và áp dụng một phương pháp phân tích miền để phân tích miền Đào tạo nhằm tạo ra các sản phẩm có khả năng tái sử dụng mức cao chính là các mô hình miền; Vận dụng để xây dựng hệ thống cụ thể theo hướng tái sử dụng các sản phẩm của phân tích miền để chứng minh tính tái sử dụng cao của những sản phẩm đó.

Tuy nhiên, phương pháp phân tích miền liên kết hướng đối tượng chỉ thực sự có hiệu quả tái sử dụng trong phân tích và thiết kế hệ thống theo phương pháp hướng đối tượng vì không cần có bất cứ một sự chuyển đổi nào giữa các sản phẩm mô hình miền mà chỉ tái sử dụng theo những cách khác nhau mà thôi.

5. Tài liệu tham khảo [1] P.Freeman, "Reusable Software

Engineering: Concepts andResearch Directions", Tutorial: Software Reusability, IEEE Computer Society Press, Washington, DC, 1987, pp.10 - 23.

[2] Robert Holibaugh, “Joint IntegratedAvionics Working Group (JIAWG) Object-Oriented Domain Analysis Method (JODA)”, Version 3.1, November 1993

Page 31: 0411

- 25 -

MẠNG KHÔNG DÂY VÀ CÁC ỨNG DỤNG CHO THIẾT BỊ DI ĐỘNG

Lê Viết Hà MSV: 0121869

Email: [email protected]

1. Giới thiệu Công nghệ không dây cho phép ta liên kết

nhiều thiết bị bằng sóng radio mà không dùng những kết nối vật lí - tức là không cần tới cable mạng.

Mục đích chính của công nghệ không dây là cung cấp cho người sử dụng khả năng truy cập thông tin ở bất cứ đâu và tại bất kì thời điểm nào với các thiết bị có vị trí liên tục thay đổi. Ngày nay, với sự phát triển liên tục của các thiết bị di động, nền tảng mạng di động và cả nhu cầu của người sử dụng, lĩnh vực phát triển ứng dụng cho công nghệ không dây đã được mở ra nhiều hướng đầy tiềm năng như truy cập Internet, truy cập tới các tài nguyên đa phương tiện và các trò chơi.

2. Công nghệ Không dây - Mạng Không dây

Công nghệ không dây sử dụng sóng radio trong khi các công nghệ truyền thống sử dụng các loại cable làm phương tiện truyền dữ liệu. Phạm vị của công nghệ không dây là rất lớn, kể từ những hệ thống mạng trên diện rộng và phức tạp như mạng WLAN, mạng điện thoại di động cho tới những hệ thống, thiết bị cực kì đơn giản như tai nghe, micro không dây và một loạt các thiết bị không có nhiệm vụ lưu trữ và xử lí thông tin khác. Nó cũng bao gồm các các thiết bị hồng ngoại (IR) như các loại điều khiển từ xa, một số loại chuột và bàn phím không dây và tai nghe stereo không dây, các thiết bị loại này đều cần một không gian không bị chắn giữa hai thiết bị truyền và nhận tín hiệu để đóng đường kết nối.

3. Mobile Ad hoc Network, Bluetooth, và một số chuẩn mạng di động khác

Một mạng ad-hoc (hay mạng ad-hoc di động) - MANET (mobile ad-hoc network) - là một mạng tự cấu hình gồm các thiết bị định tuyến di động (mobile routers) được kết nối với nhau bằng các liên kết không dây. Toàn bộ các thiết bị này tạo nên một hình trạng (topo) mạng tuỳ ý. Các thiết bị định tuyến được phép

Người hướng dẫn: ThS. Trần Thị Minh Châu

di chuyển ngẫu nhiên và tự tổ chức chúng một cách tuỳ ý, vì thế hình trạng mạng không dây này có thể thay đổi rất nhanh và không thể đoán trước.

Một mạng ad-hoc là một tập hợp các kết nối trực tiếp (p2p) được hình thành một cách tự động và tuỳ ý giữa các nốt mà không cần đến cơ sở hạ tầng mạng, thiết bị điều khiển trung tâm hay một thiết bị nào khác can thiệp vào.

Bluetooth là ý tưởng được công ty Ericsson đề xuất vào năm 1994 và tới năm 1998, hiệp hội Bluetooth được sáng lập bởi liên minh Ericsson, Nokia, IBM, Intel và Toshiba. Cho tới nay, nó đã có xấp xỉ 1900 công ti và tập đoàn làm thành viên.

Bluetooth chính là ví dụ nổi bật cho chuẩn mạng ad hoc. Trong ngành công nghiệp máy tính và viễn thông, Bluetooth được định nghĩa là phương thức để các máy điện thoại di động, các máy tính và các thiết bị cầm tay (PDA) kết nối với nhau, với các máy điện thoại cố định và với các máy tính sử dụng các kết nối không dây trong phạm vi hẹp.

Ngoài Bluetooth, mạng không dây còn bao gồm rất nhiều chuẩn khác nhau. Đó là kết quả của một môi trường còn rất mới mẻ nhưng đã phát triển vượt bậc chỉ trong một thời gian ngắn.

Chuẩn AMPS (Advanced Mobile Phone Systems - Các hệ thống Điện thoại Di động Cải tiến), loại chuẩn của các thiết bị điện thoại di động thuộc thế hệ đầu tiên cho phép các thiết bị từ nhiều nhà sản xuất khác nhau làm việc được với cơ sở hạ tầng mạng không dây của những nhà sản xuất khác. Chuẩn AMPS sử dụng công nghệ FDMA (Frequency Division Multiple Access) - công nghệ đòi hỏi băng thông rất rộng và hoạt động ở dải tần từ 824 đến 829 MHz (gần giống với sóng radio FM). Các chuẩn điện thoại khác bao gồm IS-136 (sử dụng công nghệ TDMA - Time Division Multiple Access), IS-95 (CDMA - Code Division Multiple Access) và GSM (một

Page 32: 0411

- 26 -

chuẩn TDMA khác). Rất nhiều thiết bị cầm tay (các PDA và điện thoại di động) có hỗ trợ chuẩn giao thức WAP (Wireless Application Protocol) - giao thức cho phép truy cập e-mail và Internet một cách an toàn.

4. Môi trường phần mềm ở thiết bị di động.

J2ME (Java 2 Platform, Micro Edition) có ý nghĩa đơn giản là Java dành cho các thiết bị nhỏ. Các thiết bị nhỏ ở đây bao gồm điện thoại di động, thiết bị cầm tay (PDA), hệ thống định vị trên ô tô, v.v..

J2ME được chia ra thành 3 phần là configurations, profiles và optional APIs, mỗi phần đều cung cấp các thông tin chi tiết về các API và các dòng thiết bị khác nhau.

- Một configuration được thiết kế dành riêng cho một loại thiết bị nhất định dựa trên giới hạn bộ nhớ và sức mạnh của bộ xử lí. Nó xác định một máy ảo Java (JVM) có thể được cài đặt dễ dàng vào các thiết bị hỗ trợ cho configuration đó. Nó cũng xác định một số API dành cho J2SE cũng như một số API khác có thể được sử dụng trên nền tảng này.

- Profiles chi tiết hơn configurations, nó dựa trên một configuration và thêm vào các API dành cho giao diện người dùng, lưu trữ, và bất kì API nào cần cho việc phát triển ứng dụng.

- Các Optional APIs định nghĩa thêm các chức năng mà có thể được thêm vào trong một configuration nhất định. Tất cả các configuration, profile và optional API khi được cài đặt trên một thiết bị đều được gọi chung là 1 stack. Ví dụ trong tương lai một stack có thể bao gồm CLDC/MIDP + Mobile Media API.

Mô tả tổng quan về J2ME

5. Thực nghiệm Mục tiêu của quá trình thực nghiệm là xây

dựng một ứng dụng bằng J2ME cho phép hai thiết bị di động kết nối trực tiếp với nhau qua giao tiếp Bluetooth. Tuy nhiên do giới hạn về trang thiết bị nên ứng dụng này có lẽ sẽ chỉ được kiểm nghiệm trên các công cụ giả lập.

6. Kết luận Khoá luận này trình bày những nghiên cứu

từ tổng quát tới một số phần chi tiết của toàn bộ bộ mặt hệ thống mạng không dây, đồng thời đưa ra những nguyên tắc và phương pháp phát triển một ứng dụng cho môi trường mạng di động không dây. Đây là một hướng đi khá mới mẻ và hứa hẹn nhiều tiềm năng trong tương lai.

Các vấn đề cần tiếp tục nghiên cứu: Ứng dụng có thể khai thác từ thiết bị di động là rất nhiều, có thể kể ra một số ứng dụng quan trọng như truy cập các tài nguyên đa phương tiện từ thiết bị cầm tay, truy cập Internet và tham gia các hoạt động trực tuyến (như chứng khoán, đấu giá, trò chơi...)

Tài liệu tham khảo [1] Tom Karygiannis, Les Owens - Wireless

Network Security - National Institute of Standards and Technology (Special Publication)

[2] Matthew Gast - Wireless Network: The Definitive Guide - O'Reilly (April 2002)

[3] Roger Riggs, Antero Taivalsaari, Jim van Peursem, Jyri Huopaniemi, Mark Patel, Aleksi Uotila, Jim Holliday - Programming Wireless Devices with the Java 2 Platform - Addison Wesley, 2003.

[4] Jonathan Knudsen - Wireless Java Developing with J2ME, Second Edition – Apress (2003)

Page 33: 0411

- 30 -

ỨNG DỤNG CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG XÂY DỤNG HỆ THỐNG ĐIỀU KHIỂN GIAO THÔNG MỘT CÁCH TỰ ĐỘNG

Nguyễn Hoàng Hà

Nguyễn Hoàng Long Trần Trung Thành

Người hướng dẫn: PGS.TS. Nguyễn Văn Vỵ

1. Giới thiệu Vấn đề điều khiển giao thông của nước ta

hiện nay còn nhiều bất cập. Việc phân luồng tại đa số các nút giao thông còn chưa khoa học, các luồng phương tiện, luồng người đi bộ còn giao nhau gây ra ách tắc. Hệ thống đèn tín hiệu điều khiển chỉ dừng lại ở mức thô sơ, thiếu tính mềm dẻo, do đó không đáp ứng được yêu cầu của thực tế. Để góp phần giải quyết tình trạng trên, nhóm chúng tôi đã tiến hành xây dựng một hệ thống điều khiển giao thông đồng bộ, bao gồm việc phân luồng và điều khiển đèn tín hiệu.

2. Cơ sở lý thuyết Để giải quyết bài toán đặt ra, nhóm đã sử

dụng công nghệ hướng đối tượng để phân tích thiết kế và lập trình. Công nghệ hướng đối tượng là một công nghệ tương đối mới mẻ.Ưu điểm của nó là tính linh hoạt, mềm dẻo dễ vận hành và bảo trì. Nó đặc biệt tỏ ra có hiệu quả đối với các hệ thống điều khiển.

Ngoài công nghệ hướng đối tượng, nhóm còn ứng dụng lý thuyết đồ thị để tìm ra các cách phân luồng tối ưu.

Nhóm cũng tìm hiểu lý thuyết về các phần mềm nhúng để tiến hành cấy chương trình điều khiển vào trong chip.

3. Hệ thống điều khiển giao thông Đối với bài toán điều khiển giao thông thì

hai vấn đề cần phải giải quyết là: • Phân luồng tại nút giao thông. • Định thời gian hoạt động cho các pha

(pha là tập các lộ trình được hoạt động đồng thời).

3.1 Phân luồng tại nút giao thông. Để tìm ra các phương án phân luồng hợp lý

cho từng nút giao thông, nhóm chúng tôi sử dụng lý thuyết đồ thị. Dưới đây là thuật toán để tính các phương án phân luồng: Procedure findSolution {

//Bước 1: Lập một đồ thị vô hướng G có các đỉnh tương ứng với các lộ trình. Nếu hai lộ trình xung đột nhau thì giữa hai đỉnh tương ứng có một cạnh.

//Bước 2 (lặp) while(true) {

if(G không còn đỉnh nào) Kết thúc thuật toán;

else Tìm một đồ thị con cực đại GG ' ∈ sao cho tất cả các cặp đỉnh của G’ đều không có cạnh nối với nhau. Tập các lộ trình tương ứng với các đỉnh của G’ làm thành một pha. Ghi lại pha này và loại bỏ các đỉnh, các cạnh thuộc G’ra khỏi G;

}

} 3.2 Định thời gian cho các pha

( )wkktkk t*m∆t*mTdt −−=

Trong đó:

kt : là thời gian hoạt động của pha thứ k

tkd : là tỷ lệ giữa thời gian hoạt động của luồng k so với chu kỳ T của hệ thống. Tham số này được đặc trưng bởi tỷ số giữa lưu lượng đến và lưu lượng thoát của pha k m: là số pha của nút giao thông.

t∆ : là thời gian trễ giữa 2 pha liên tiếp. Tham số này phụ thuộc vào độ rộng nút giao thông và vận tốc của phương tiện trong nút.

Page 34: 0411

- 31 -

wkt : là thời gian hao phí khi pha thứ k bắt đầu đi. 3.3 Module tính thời gian và Module mô phỏng. 3.3.1 Module tính thời gian:

Module này có chức năng tính thời gian cho các pha. Nó cho phép người dùng cấu hình một cách mềm dẻo các cách phân luồng và nhập các tham số đặc trưng riêng. 3.3.1 Module mô phỏng:

Minh họa cách cấu hình phân luồng và định thời gian cho các pha tại một nút giao thông. Mô phỏng hoạt động của đèn tín hiệu giao thông và các phương tiện theo thông tin được cấu hình. 4. Kết luận. Kết quả:

o Phân tích yêu cầu bài toán, tìm ra các cách phân luồng tốt nhất cho các nút giao thông khác nhau và có thể ứng dụng vào thực tế.

o Xây dựng hệ thống đèn điều khiển ứng với từng cách phân luồng.

o Xây dựng và lập trình giải bài toán xác định thời gian điều khiển của hệ thống tín hiệu cho điều kiện cụ thể của từng nút giao thông.

o Lập trình mô phỏng phương án đèn điều khiển giao thông trên máy tính theo phương án phân luồng đã cho.

Hướng phát triển: o Trong thời gian tới nhóm sẽ tiếp tục

nghiên cứu để tiến hành nhúng chương trình điều khiển vào trong chip và thử nghiệm trong thực tế.

o Nghiên cứu điều khiển tín hiệu tự động đèn tín hiệu theo độ dài luồng đến các nút giao thông vào giờ cao điểm.

Ý nghĩa: o Khi hệ thống được đưa vào vận

hành trong thực tế sẽ góp phần giải quyết được tình trạng ách tắc tại các nút giao thông vào giờ cao điểm.

o Nhờ phân luồng hợp lý nên làm giảm tai nạn tại các nút giao thông do các luồng giao nhau.

5. Tài liệu tham khảo [1] Nguyên Văn Vy, “Phân tich thiê t kê các hệ

thống thông tin hiện đại”, NXB Thô ng Kê 2002.

[2] Nguyên Văn Vy, “Bài giảng Phân tích thiết kế hệ thống phần mềm theo hướng đối tượng”, 2002.

[3] Đặng Văn Đức, “Phân tích thiết kế hướng đối tựong bằng UML”. NXB Giáo dục 2002.

[4] Graig Larman. “Applying UML and Patterns. An Introduction to Object Oriented Analysis and design”. Prentice Hall PTR, 1998.

[5] Graydy booch, james rumbaugh, Ivar jacobson. “UML - The Unified modeling language user guide”. Bản dịch tiếng Việt của PGS. TS Nguyễn Văn Vỵ, Vũ Diệu Hương, Nguyễn Anh Đức

[6] Đỗ Đức Giáo. “Toán rời rạc”. NXB Giáo dục, 2002.

[7] Đinh Manh Tường. “Câu truc dư liêu va thuât toan”. NXB Khoa ho c va ky thuât 2003

[8] Đô Xuân Lôi. “Cấu trúc dữ liệu và giải thuật”. NXB ĐHQGHà Nội 2004

[9] Deitel Inc. “Java how to program – Fouth edition”, 2001

[10] Jonathan Knudsen, “Java 2D graphics”, Oreilly.

[11] Microsoft. MSDN 2003

[12] Sybase. “Power Designer - User Guide”

[13] Eric Brow. “Windows Form programing with C#”. Manning Publication Co

[14] Aptech. “Introduction to .NET and programming in C#”

[15] Aptech. “Advanced .NET Programing and Security in .NET”

[16] CyPress Microsystem 2003. "Psoc Designer”

[17] CyPress Microsystem 2003 http://www.cypress.com/psoc

Page 35: 0411

- 32 -

HỆ THỐNG QUẢN LÝ NHÂN SỰ NGÀNH GIÁO DỤC VÀ ĐÀO TẠO THÀNH PHỐ HÀ NỘI

Hoàng Xuân Hào MSV: 0121877

Email: [email protected]

Người hướng dẫn: PGS.TS. Nguyễn Văn Vỵ ThS. Đặng Đức Hạnh

1. Giới thiệu Nhu cầu tin học hóa công tác quản lý nhân

sự cho các doanh nghiệp, các ngành nói chung cho ngành giáo dục và đào tạo nói riêng là rất cần thiết.

Hệ thống quản lý nhân sự cho phép cập nhật hồ sơ dữ liệu về các nhân viên một cách đồng bộ và được tự động hóa đến mức tối đa bằng việc sử dụng các bảng danh mục. Giúp cho người quản lý dễ dàng thao tác trên cơ sở dữ liệu, thao tác nghiệp vụ, và đưa ra các báo cáo thống kê nhanh chóng về tình hình nhân sự trình lãnh đạo ngành.

Với cách tiếp cận hệ thống bằng việc dùng công nghệ hướng đối tượng sẽ giúp chúng ta dễ dàng quản lý các đối tượng, tăng khả năng bảo trì, đóng gói và đặc biệt tính tái sử dụng các thành phần của hệ thống.

Đó là mục đích mà khóa luận tốt nghiệp này hướng tới

2. Cơ sở lý thuyết Sử dụng phương pháp phân tích và thiết kế

theo công nghệ mới: công nghệ hướng đối tượng. Phương pháp này giúp giải quyết bài toán theo cái nhìn hướng đối tượng. Xem các yêu cầu của hệ thống như các ca sử dụng tương ứng. Triển khai các ca sử dụng tìm được theo phương pháp hướng đối tượng. Dùng ngôn ngữ mô hình hóa thống nhất UML để mô tả nghiệp vụ của bài toán và để xây dựng bản thiết kế hệ thống.

Phương pháp này tuy là rất mới ở Việt Nam, nhưng đã được áp dụng rộng rãi trên thế giới, đặc biệt ở các nước tiên tiến.

3. Các vấn đề về thiết kế các lớp ánh xạ đối tượng vào cơ sở dữ liệu

Với mỗi lớp thực thể trong hệ thống chúng ta sẽ thiết kế một lớp ánh xạ của thực thể đó vào cơ sở dữ liệu.

Ví dụ: lớp thực thể NhanVien chứa các thông tin cơ bản về một nhân viên, để ánh xạ

lớp thực thể NhanVien vào trong cơ sở dữ liệu, chúng ta tạo ra một lớp ánh xạ tương ứng là NhanVienDBMapper. Lớp ánh xạ NhanVienDBMapper sẽ chịu trách nhiệm thực hiện việc lưu trữ và truy xuất thông tin cho các lớp thực thể NhanVien.

Để phân biệt các đối tượng thực thể cùng loại, mỗi đối tượng thực thể đều phải có định danh để phân biệt với các đối tượng cùng loại.

Ví dụ: nhân viên A và nhân viên B phân biệt với nhau bằng mã số của họ. Chẳng hạn A có mã số là 1 phân biệt với B có mã số là 2.

Chú ý: các lớp ánh xạ đều phải thi hành giao diện IMapper với hai phương thức cơ bản là Get và Put.

VD: interface IMapper { object Get(OID oid); void Put(OID oid, object obj);

} class NhanVienDBMapper: IMapper { object Get(OID oid) {

các câu lệnh SQL lấy nhân viên có định danh là oid trong CSDL (từ bảng nhan_vien). return (đối tượng nhân viên);

} void Put(OID oid, object obj) {

các câu lệnh SQL chèn đối tượng obj với định danh là oid vào CSDL. (vào bảng nhan_vien).

} }

Cuối cùng chúng ta sẽ tạo ra một lớp khung chứa tất cả các lớp ánh xạ tới cơ sở dữ liệu.

Page 36: 0411

- 33 -

Việc lưu trữ và truy xuất các đối tượng với cơ sở dữ liệu đều thông qua lớp này;

VD: class PersistenceFacade { chứa các lớp ánh xạ. Hashtable mapperList; object Get(OID, class type); .. } nhan vien = (NhanVien)

PersistenceFacade.get(oid, typeof NhanVien)

4. Thực nghiệm Tôi đã cài đặt hệ thống quản lý nhân sự với

các chức năng như: • Quản lý việc đăng nhập hệ thống, quản

lý người dùng như cấp mật khẩu, sửa thông tin account, thêm và xóa account v.v.

• Cập nhật các thông tin hồ sơ của nhân viên như: quan hệ gia đình, quá trình học ngoại ngữ, thông tin cá nhân của nhân viên, trình độ quản lý nhà nước v.v.

• Cập nhật các bảng danh mục trong hệ thống như: các đơn vị, hình thức khen thưởng, loại cán bộ, chế độ bảo hiểm xã hội v.v.

• Các chức năng quản lý nghiệp vụ của hệ thống như: quản lý quá trình đi công tác, quá trình bồi dưỡng, quá trình giảng dạy của nhân viên, nâng lương, chuyển ngạch và thuyên chuyển cán bộ v.v.

Kết quả thực nghiệm cho thấy hệ thống quản lý nhân sự chạy ổn định, dữ liệu chính xác và đồng bộ, rất tiện lợi cho việc cập nhật dữ liệu.

Do các dữ liệu khảo sát còn ít nên chưa đánh giá được tốc độ thực hiện của hệ thống. Công việc khảo sát chưa có sự chuẩn bị kỹ lưỡng nên

các đánh giá thực nghiệm trên còn mang tính chủ quan.

5. Kết luận Trong khóa luận này, tôi đã xây dựng hệ

thống quản lý nhân sự theo phương pháp của công nghệ hướng đối tượng, sử dụng ngôn ngữ mô hình hóa thống nhất UML để diễn tả yêu cầu bài toán và hướng giải quyết bài toán. Tuy nhiên do thời gian, kinh nghiệm và sự hiểu biết về công nghệ mới này còn hạn chế nên phần phân tích cũng như thiết kế hệ thống còn chưa được rõ ràng và đúng đắn. Việc khảo sát hệ thống còn sơ sài nên chưa nắm rõ được nghiệp vụ cũng như yêu cầu của hệ thống một cách vững vàng. Tuy nhiên với phương pháp phân tích và thiết kế theo công nghệ hướng đối tượng này, hệ thống quản lý nhân sự được thi hành theo đúng theo bản thiết kế. Hệ thống chạy ổn định, xử lý dữ liệu tự động và đồng bộ, có khả năng bảo trì, sửa lỗi, đặc biệt là khả năng tái sử dụng rất cao.

Các vấn đề cần tiếp tục nghiên cứu: tìm hiểu kỹ hơn phương pháp phân tích thiết kế theo công nghệ hướng đối tượng, xây dựng hệ môi giới giữa các đối tượng và cơ sở dữ liệu một cách đầy đủ và hoàn chỉnh hơn.

Tài liệu tham khảo [1] Graig Larman, Applying UML and Patterns.

An Introduction to Object – Oriented Analysis and Design. Prêntic Hall PTR, 1998 (ISSBN 0-13-748889-7).

[2] Nguyễn Văn Vỵ, Bài giảng Phân tích thiết kế hệ thống phần mềm theo hướng đối tượng, Bộ môn công nghệ phần mềm, Đại học Công Nghệ, ĐHQGHN, Hà nội, 2004.109 tr.

[3] Nguyễn Văn Vỵ, Vũ Diệu Hương, Nguyễn Anh Đức. (tài liệu dịch): Ngôn ngữ mô hình hóa thống nhất. Hướng dãn sử dụng. Khoa Công Nghệ, ĐHQGHN, Hà nội, 2002.361 tr

Page 37: 0411

- 34 -

PHÂN TÍCH THIẾT KẾ HỆ THỐNG MẠNG VIỆC LÀM

Sinh viên: Nguyễn Đức Hải Giáo viên hướng dẫn: TS Lê Văn Phùng Số thẻ: sv0121881 Địa chỉ: Viện Công Nghệ Thông Tin Email: [email protected] Điện Thoại :0913.314.321 1.Giới thiệu bài toán

Mạng việc làm được xem như một trung tâm giới thiệu và môi giới việc làm trực tuyến, mạng việc làm là nơi trung gian giữa người lao động và các công ty tuyển dụng. Nhà tuyển dụng muốn tìm được ứng viên phù hợp với vị trí của công ty thì chỉ cần thông báo tuyển dụng trên mạng việc làm. Tương tự như nhà tuyển dụng, người lao động muốn tìm cho mình một công việc phù hợp với trình độ của mình thì chỉ cần viết hồ sơ xin việc, ban quản trị mạng sẽ đưa thông tin lên mạng việc làm, và giai đoạn sau đó nhà tuyển dụng và ứng viên sẽ liên hệ với nhau nếu một bên tìm thấy ứng viên phù hợp với vị trí cần tuyển dụng hay công việc phù hợp với yêu cầu của mình.

Sau quá trình nhà tuyển dụng và người lao động viết hồ sơ, ban quản trị sẽ tiếp nhận thông tin và tiến hành phân loại thông tin theo theo yêu cầu tuyển dụng cũng như yêu cầu của người lao động. Những thông tin này có thể là công việc cần tuyển, vị trí, mức lương, địa điểm,... . Việc phân loại này giúp ích rất nhiều trong quá trình nhà tuyển dụng cũng như người lao động tìm được những thông tin một cách nhanh và hiệu quả nhất.

Trong quá trình quản trị, ban quản trị sẽ lọc thông tin của nhà tuyển dụng và ứng viên tìm việc, nếu thông tin không phù hợp và có nội dung không trong sáng hoặc phù hợp với tiêu trí của mạng việc làm, thì người quản trị có thể loại bỏ hồ sơ của ứng viên, nhà tuyển dụng, và thành viên ra khỏi mạng việc làm.

2. Khảo sát thực trạng các hình thức tìm và tuyển việc làm, nhược điểm của những mô hình này 2.1. khảo sát thực trạng: Hiện nay có rất nhiều hình thức mà nhà tuyển dụng và người tìm việc liên hệ với nhau vẫn đang diễn ra hàng ngày. Qua một số khảo sát thực tế chúng ta thấy rằng có một số hình thức tuyển và tìm việc làm như sau.

qua các thông tin đại chúng qua các hình thức môi giới qua hội chợ việc làm một số hình thức khác

2.2. Nhược điểm của những mô hình trên: Những mô hình trên phần nào đã đáp ứng được nhu cầu thị trường lao động, song nó cũng tạo cho nhà tuyển dụng những khó khăn như:

- Mất thời gian chờ đợi giữa ứng viên và nhà tuyển dụng vì khi ứng viên và nhà tuyển dụng đănng ký tìm việc trên hội chợ hoặc trung tâm tư vân thì phải mất một khoảng thời gian dài mới có thể trao đổi công việc.

- Mất lệ phí đăng tin: Khi nhà tuyển

dụng và ứng viên muốn tìm việc hoặc tìn nhân lực thì phải mất một khoảng tiền gọi là lệ phí môi giới.

- Tạo sự bối dối khi ứng viên và nhà

tuyển dụng muốn tìm một hình thức đăng tin vì không phải khi nào hội chợ việc làm cũng tổ chức và các

Page 38: 0411

- 35 -

trung tâm tư vấn nào cũng hoạt động trong sáng.

- Điều quyết định nhất là nhà tuyển

dụng sẽ mất đi những ứng viên tiềm năng và ứng viên sẽ mất đi những cơ hội việc làm tốt nhất.

3. Mạng việc làm ra đời sẽ giải quyểt được những nhược điểm của các mô hình trên

- Rút ngắn khoảng cách giữa ứng viên và nhà tuyển dụng.

- Tiết kiệm cho nhà tuyển dụng và ứng

viên những khoản tiền nhất định (tuỳ vào ban quản trị mạng có thu phí đăng tin hay không).

- Tiến kiệm thời gian cho nhà tuyển

dụng cũng như ứng viên. Chỉ cần kích chuột là ứng viên có thể tìm được những công việc phù hợp và nhà tuyển dụng có thể tìn những ứng viên có trình độ.

- Kết quả mong đợi nhất đó là nhà

tuyển dụng sẽ tìm được những ứng viên phù hợp với vị trí tuyển dụng, còn những ứng viên sẽ tìm cho mình một công việc phù hợp với trình độ và năng lực của ứng viên.

4. Những yêu cầu đặt ra khi phân tích thiết kế mạng việc làm

Xây dựng một mạng việc làm đáp ứng được những yêu cầu của nhà tuyển dụng và ứng viên, thu hẹp khoảng cách giữa ứng viên và nhà tuyển dụng.

Thiết kế mạng việc làm hỗ trợ ứng

viên tìm được những thông tin mới nhất, đăng tải thông tin tìm việc và

tìm được một công việc nhanh nhất phù hợp với trình độ của ứng viên.

Hỗ trợ nhà tuyển dụng có được

những thông tin mới nhất, đăng tải thông tin tuyển dụng và tìm được những ứng viên có năng lực phù hợp với công việc mà nhà tuyển dụng đang cần.

Tạo ra mạng việc có những thông tin đầy đủ, mới nhất, chính xác và hiệu quả đáp ứng đầy đủ yêu cầu của nhà tuyển dụng và ứng viên.

Giao diện sử dụng thân thiện, phù

hợp với chức năng của mạng việc làm dễ sử dụng

Công cụ tìm kiếm thông minh, nhanh

và hiệu quả, giúp nhà tuyển dụng và ứng viên tìm kiếm nhanh nhất.

Phân tích thiết kế hệ thống tối ưu

nhất, có tính chất bảo mật nhất và chống hacker phá hoại

5. Kết luận

Qua qúa trình khảo sát thực tế, phân tích hệ thống và kiểm thử hệ thống mạng việc làm đã hoạt động bước đầu đạt được những yêu cầu cơ bản nhất. Song đã bộc lộ những thiếu sót cần có thời gian để được bổ sung, phân tích chi tiết và hoàn thành mã nguồn. Đưa mạng việc làm hoạt động online.

6. Tài liệu tham khảo [1] PGS, TS Nguyễn Văn Vỵ, Phân tích

thiết kế các hệ thống thông tin hiện đại . [2] http://www.tuyendung.com trang web

tuyển dụng. [3] PHP manual, tài liệu cho phần cài đặt .

Page 39: 0411

- 36 -

Framework Struts

Phan thị Hồng Hạnh MSV: 0121886

Email: [email protected]

Người hướng dẫn: PGS.TS. Nguyễn Văn Vỵ

1. Giới thiệu

Ngày nay các framework ngày càng giữ vai trò quan trọng trong việc xây dựng ứng dụng. Việc sử dụng framework giúp chúng ta tiết kiệm được nhiều thời gian, công sức, mà vẫn đạt được kết quả như mong đợi. Ở đây luận văn xin giới thiệu với các bạn một framework cụ thể là framework Struts sử dụng trong xây dựng ứng dụng web dựa trên nền công nghệ Java.

2. Tổng quan về framework

Phần này giới thiệu với các bạn khái niệm framework là gì, đặc trưng của framework như khả năng tái sử, khả năng mở rộng,…, phân lớp framework theo phạm vi, hay theo cấu trúc. Có sự so sánh framework với Pattern, Class libraries, Components. Ở đây cũng đưa ra cho bạn một ví dụ về ứng dụng framework trong xây dựng giao diện đồ hoạ (GUI),…

3. Framework Struts

Phần này là phần chính của luận văn đi sâu vào tìm hiểu về framework Struts.

1) Khái niệm về Struts:

Cho chúng ta một hình dung nhất định về Struts. Struts là một framework mã nguồn mở dựa trên công nghệ Java được sử dụng để xây dựng các ứng dụng web. Thời điểm mà Struts ra đời, ai là người đã xây dựng nên Struts? Và Struts được sử dụng vào đâu?

2) Các công nghệ cho phép cùng Struts

Đây là phần chỉ ra cho bạn môi trường, công cụ để phát triển các ứng dụng sử dụng framework Struts. Bởi vì môi trường phát triển

ngày nay là môi trường tích hợp, là sự kết hợp của nhiều công nghệ. Để phát triển ứng dụng Struts chúng ta sẽ dựa trên các công nghệ như JSPs, Servlet, mô hình MVC. Trong phần này cũng có những mô tả một cách khái quát về những công nghệ này. Và các đường link để tìm hiểu chi tiết về từng công nghệ

3) Tổng quan về các thành phần của Framework Struts

Trong phần này đi mô tả chi tiết các thành phần và vai trò của framework Struts. Bắt đầu với thành phần điều khiển (Controller), sau đó đến thành phần khung nhìn (View) và cuối cùng là thành phần Model đúng như cấu trúc của mô hình MVC.

3.1. Thành phần Controller

Thành phần điều khiển là thành phần giữ vai trò chủ đạo trong framework Struts. Ở đây sẽ có sự mô tả chi tiết về các thành phần tạo nên Controller. Đó là ActionServlet, Action, RequestProcessor, Plugins. Có chỉ ra Controller làm việc như thế nào khi nhận được một yêu cầu. Quá trình nó sử lí ra sao để hoàn thành yêu cầu đó. Phần này cũng có những đoạn mã để minh hoạ, hướng dẫn bạn khi xây dựng ứng dụng Struts.

3.1.1. ActionServlet

Đây là thành phần giữ vai trò chủ đạo trong toàn bộ ứng dụng Struts. Là thành phần chính mà quản lí yêu cầu phía client, quyết định Action sẽ xử lí yêu cầu nhận được. Mô tả cách mà ActionServlet hoạt động thế nào? Sau đó có hướng dẫn ta xây dựng ActionServlet của riêng mình kế thừa từ ActionServlet đã có. Tiếp theo

Page 40: 0411

- 37 -

cấu hình để có thể sử dụng được lớp ActionServlet mới xây dựng

3.1.2. Action

Đây là thành phần thứ hai trong thành phần điều khiển. Thành phần này được mô tả thông qua các phương thức quan trọng như execute(). Cũng hướng dẫn bạn cách xây dựng các Action kế thừa từ lớp Action của framework Struts, và cách cấu hình với nó.

3.1.3. Struts Plugins

Đây là phần giới thiệu về một modul mở rộng đối với Struts Controller. Thành phần này chỉ có trong Struts 1.1. Các phiên bản về trước không có. Ở đây cũng hướng dẫn bạn cách xây dựng Plugins cho riêng mình bằng việc override hai phương thức init(), destroy của

3.1.4. RequestProcessor RequestProcessor chứa logic mà Struts thực thi điều khiển cùng với từng yêu cầu servlet từ container. Đây cũng là lớp mà bạn sẽ muốn override khi bạn muốn tuỳ biến việc xử lý của ActionServlet.

3.2 Thành phần View Là thành phần thứ hai của framework Struts.

Phần này sẽ giúp chúng ta hiểu về các thành phần cấu trúc nên View và cũng có những chỉ dẫn ta xây dựng nên thành phần View của Struts.

3.3 Thành phần Model Đây là thành phần sử lí logic nghiệp vụ của

ứng dụng. Đối với Struts Framework thì tuỳ từng bài toán cụ thể mà ta sẽ có mô hình nghiệp vụ phù hợp với nó. Tức là không có một mô hình chung áp dụng cho tất cả các bài toán.

3.4 Chuẩn hoá một ứng dụng Struts

Đây là phần mô tả cách ta chuẩn hoá ứng dụng Struts. Chính vì tuân theo chuẩn nên Struts được hỗ trợ bởi rất nhiều những framework khác như Validator hay Tiles,… Đây cũng là một phần tạo nên sự thành công của Struts.

3.5 Giới thiệu một số framework hỗ trợ cho Struts

Phần này giới thiệu hai framework mà Struts thường dùng đó là Validator để kiểm tra tính hợp lệ và Tiles giúp chúng ta xây dựng ứng dụng giống như template.

4. Bài toán áp dụng

Đây là phần đưa ra áp dụng của framework Struts. Cụ thể ở đây sẽ xây dựng một website hướng dẫn người mới bắt đầu học Struts.

5. Kết luận

Khi xây dựng ứng dụng dựa trên framework Struts ta chỉ việc xây dựng các thành phần của nó. Sau đó ghép nối với nhau nhờ struts-config.xml và web.xml. Struts là một framework mang đầy đủ tính chất của một framework.

Tài liệu tham khảo

[1] Mastering Jakarta Struts (Wiley)

[2] The Struts Framework (Morgan Kaufmann 2003)

[3] StrutsInAction (Ted Husted, Gedric Dumoulin,

George Franciscus, David Winterfeldt)

[4] Programming Jakarta Struts (Chuck Cavaness)

[5] http://struts. apache. org/

[6] http://www.reumann.net/

[7] http://javaboutique.internet.com/

[8]http://www.cs.wustl.edu/

Page 41: 0411

- 38 -

NGHIÊN CỨU VÀ ỨNG DỤNG PHÂN ĐOẠN ẢNH TRONG NHẬN DẠNG CHỮ VIẾT TAY TIẾNG VIỆT

Ngô Trí Hoài

MSV: 0122195 Email: [email protected]

Người hướng dẫn: TS. Nguyễn Việt Hà

1. Giới thiệu Trong thời gian gần đây, ở Việt Nam, nhận

dạng chữ tiếng Việt, đặc biệt là chữ viết tay là những bài toán được nghiên cứu rất nhiều để áp dụng vào các dự án tin học hoá. Mô hình bài toán tổng thể mà chúng em đang nghiên cứu Nhận dạng văn bản viết tay tiếng Việt nét liền được tiến hành theo trình tự chính như sau: tiền nhận dạng (tiền xử lý, tách dòng, tách từ), nhận dạng từ sử dụng bộ nhận dạng kí tự (trích chọn đặc trưng ảnh của kí tự và nhận dạng kí tự bằng mạng neuron) với bộ thống kê ngữ cảnh và cuối cùng là hậu xử lý (ghép các kí tự nhận dạng được thành các từ, đoạn văn tương ứng và ghi ra file output). Khoá luận này trình bày những nghiên cứu, giải pháp và kết quả mà em đạt được khi cài đặt các công việc của giai đoạn tiền nhận dạng nhằm xử lý, phân tách trang văn bản thành các thành phần nhỏ hơn thích hợp cho mạng neural, và bộ nhận dạng từ, những công việc quan trọng của hệ thống Nhận dạng văn bản viết tay tiếng Việt nét liền.

Công đoạn tiền nhận dạng có thể được chia thành một số bước nhỏ bao gồm : Tiền xử lý ảnh, Tách dòng - từ.

2. Tiền xử lý ảnh Giai đoạn tiền xử lý văn bản là giai đoạn

quan trọng, quá trình này ảnh hưởng trực tiếp đến độ chính xác của quá trình nhận dạng, tuy nhiên nó cũng làm tăng thời gian chung của cả hệ thống. Vì vậy, tùy theo chất lượng ảnh thu nhận được của từng trường hợp cụ thể, mà chúng ta chọn sử dụng một hoặc một số thủ tục tiền xử lý. Thậm chí, trong trường hợp văn bản đầu vào có chất lượng tốt và cần ưu tiên tốc độ xử lý, chúng ta có thể bỏ qua giai đoạn tiền xử lý này. Tuy nhiên, thường thì chúng ta vẫn phải thực hiện một số thủ tục quan trọng nhất. Các thủ tục này bao gồm : Nhị phân hóa, lọc nhiễu, căn chỉnh độ lệch trang, làm trơn ảnh, … [2] Thủ tục quan trọng nhất trong phạm vi khoá luận là thủ tục xác định độ nghiêng của ảnh và xoay ảnh theo góc nghiêng đã xác định.

Để xác định góc nghiêng, người ta thường dùng 3 phương pháp : Sử dụng biến đổi Hough (Line fitting), phương pháp láng giềng gần nhất (nearest neighbours) và sử dụng tia quay (project profile) [3].

Hai phương pháp sử dụng biến đổi Hough và láng giếng gần nhất cho kết quả có độ chính xác cao nhưng lại tiêu tốn nhiều thời gian tính toán của hệ thống. Phương pháp sử dụng tia quay cho kết quả có độ chính xác tương đối tốt, đồng thời có tốc độ thực hiện cao, thích hợp với bài toán nhận dạng chữ viết tay. Em đã lựa chọn phương pháp này để thực hiện cài đặt.

3. Tách dòng, từ Sau quá trình tiền xử lý, chúng ta nhận được

một trang văn bản đã được khôi phục và tăng cường chất lượng. Trang văn bản chúng ta nhận được thường có rất nhiều vùng miền khác nhau, cần phải thực hiện việc phân tách thành các vùng, miền khác nhau. Mỗi vùng miền có thể là vùng bảng, vùng ảnh, vùng chữ…

Quá trình phân tách trang văn bản thường được tiến hành theo phương pháp là phân tích top-down và bottom-up. Đối với phân tích top-down, một trang văn bản được chia đoạn từ thành phần lớn thành các thàh phần nhỏ hơn. Đối với phân tích bottom-up, người ta thực hiện phân tích cấu trúc từ các thành phần nhỏ nhất, sau đó kết hợp thành các thành phần lớn hơn cho đến khi có được trang văn bản. Trên thực tế, người ta còn áp dụng kết hợp cả hai phương pháp này với nhau.

Tuy nhiên, phân vùng ảnh là một bài toán thực sự rất khó. Trong phạm vi khoá luận này em chỉ giới hạn việc xử lý đối với các trang chỉ gồm chữ viết tay trên giấy có đường kẻ ngang thông thường, không có bảng và ảnh và có góc nghiêng nhỏ (~100).

Quá trình này bao gồm việc phân tách trang văn bản thành các dòng, sau đó tách các dòng thành các từ riêng biệt.

Để thực hiện việc phân tách văn bản thành các dòng, đầu tiên em thực hiện xác định các

Page 42: 0411

- 39 -

đường kẻ ngang trên văn bản. Sau đó, phân tách các dòng văn bản theo các đường kẻ ngang này. Các dòng văn bản thường xen nhau do được viết khá gần nhau vì thế để tách được các dòng văn bản, em sử dụng một đường thẳng cắt ngang giữa hai đường kẻ ngang. Đối với những phần bị cắt, thực hiện xét diện tích miền liên thông để quyết định nó thuộc dòng trên hoặc dưới. Sau đó, thực hiện bóc tách dòng kẻ ngang ra khỏi các dòng văn bản dựa vào sự khác màu giữa màu chữ và màu đường kẻ.

Trên một dòng văn bản, khoảng cách giữa các từ thường lớn hơn giữa các kí tự trong một từ rất nhều lần. Thậm chí giữa các kí tự trong cũng một từ không có khoảng cách do thường dính nhau. Ví thế, để thực hiện việc phân tách dòng văn bản thành các từ, em sử dụng phương pháp biểu đồ tần suất theo bề ngang của dòng văn bản.

4. Nhận dạng từ Theo cách tiếp cận thông thường, sau khi có

được các từ riêng biệt, mỗi từ sẽ được tách thành các kí tự khác nhau rồi chuyển cho bộ nhận dạng kí tự để thực hiện nhận dạng. Tuy nhiên, cách tiếp cận đó chỉ phù hợp với chữ in chứ không phù hợp với chữ viết tay do các kí tự trong một từ của chữ viết tay thường bị dính liền với nhau. Việc tìm ra một cách tách chính xác hoàn toàn là khó có thể thực hiện được.

Đối với vần đề này, em sử dụng phương pháp nhận dạng như sau : trước hết, tìm tất cả các vị trí cắt có khả năng trên từ; sau đó, thực hiện nhận dạng tất cả các từ có thể sinh ra từ các lát cắt này. Cuối cùng là chọn ra từ có khả năng nhất [1].

Để tìm ta các vị trí cắt có khả năng trên từ, em thực hiện kết hợp giữa phương pháp biểu đồ tần suất kết hợp với tìm kiếm các vị trí có đường cong đặc trưng, điều này đảm bảo rằng các vị trí cắt đúng không bị bỏ sót.

Nhằm hỗ trợ cho bộ nhận dạng từ trong việc chon ra từ có khả năng nhất đồng thời tăng tốc độ nhận dạng từ, em thiết kế một bộ thống kê ngữ cảnh các từ tiếng Việt. Nhiệm vụ của nó là xác định tính hợp lý của một kí tự trong một xâu kí tự. Đồng thời cho biết tần suất xuất hiện của một từ có nghĩa trong tiếng Việt. Giá trị tần suât này cùng với giá trị tin tưởng do mạng neural trả về cho mỗi từ là tiêu chí để đánh giá xem từ nào là từ có khả năng nhất. Đó chính là từ được nhận dạng.

5. Thực nghiệm 1) Xây dựng cơ sở dữ liệu

Chúng em đã tiến hành xây dựng cơ sở mẫu chữ viết tay tiếng Việt gồm 30000 mẫu cho bộ nhận dạng từ dựa trên quy định về mẫu chữ tiếng Việt chuẩn dùng trong việc dạy học sinh cấp I.

Chúng em cũng tiến hành thu thấp các văn bản chữ viết tay tiếng Việt trên giấy kẻ ngang với chữ theo tiêu chuẩn như đã nêu trên. 2) Thực nghiệm

Tiến hành thực nghiệm với 60 trang chữ viết tay tiếng việt cho thấy bộ tiền xử lý và bộ tách dòng, tách từ hoạt động đúng hoàn toàn với 58/60 trang, có 2/60 trang bộ tách từ tách sai do trong trang có từ viết dính nhau khiến cho bộ tách từ không tách được.

Thực nhiệm bộ nhận dạng từ với 400 từ khác nhau cho kết quả 386 từ (chiếm 96.5%) xác định được đầy đủ các vị trí cắt đúng, trong đó 380/386 từ nhận dạng đúng, 6/386 từ nhận dạng sai do lỗi của mạng neural và do từ cần nhận dạng không có trong bộ thống kê ngữ cảnh.

6. Kết luận Như vậy, qua khoá luận này em đã nghiên

cứu, cài đặt được một số phương pháp trong việc tiền nhận dạng (tiền xử lý ảnh, tách dòng, tách từ) đồng thời cài đặt được bộ nhận dạng từ với kết quả tương đối khả quan.

Vấn đề cần tiếp tục nghiên cứu : thực hiện các bước phân vùng với trang văn bản gồm nhiều thành phần hoàn chỉnh; mở rộng hạn chế đối với mẫu tiếng Việt có thể phân tích được; cải thiện thuật toán xác định các vị trí cắt có khả năng.

Tài liệu tham khảo [1] Nguyễn Thị Thanh Tân, “Nhận dạng chữ

viết tay hạn chế dựa trên mô hình mạng neural kết hợp với thống kê ngữ cảnh”, Luận văn thạc sĩ 2004.

[2] William K.Pratt, “Digital Image Processing”, John Wiley & Sons 2001.

[3] A. Marcolino, V. Ramos, M Ramalho, J.Caldas Pinto, “Line and Word Matching in Old Documents”.

Page 43: 0411

- 40 -

NÂNG CAO HIỂU QUẢ MẠNG NEURAL BẰNG THUẬT TOÁN DI TRUYỀN TRONG HỆ THỐNG CHUẨN ĐOÁN BỆNH UNG THƯ

Sinh viên: Vũ Quốc Huy Người hướng dẫn:

MSV: 0122266 ThS.Trần Thị Minh Châu

Email: [email protected] Nguyễn Hà Nam (Korea)

Giới thiệu Thế giới phát triền và cũng đối mặt với nhiều những hiểm họa về bệnh tật. Mong muốn của mọi người trên thế giới là có thể đoán biết được bệnh của mình sớm nhất có thể được. Ngày nay với sự phát triển của công nghệ thông tin và công nghệ sinh học, chúng ta đang có trong tay một kho dữ liệu về các loại bệnh, và các đặc điểm liên quan tới bệnh đó. Vậy chúng ta có thể đoán biết được bệnh của mình dựa vào tình trạng sức khỏe hiện tại không? Trong bài này tôi sẽ đưa ra phương pháp chuẩn đoán bệnh ung thư dựa vào kho dữ liệu hồ sơ bệnh nhân từ trước tới nay. Phương pháp chuẩn đoán này được thực hiện nhờ sự kết hợp của hai thuật toán: mạng neural và di truyền. Chúng ta cũng sẽ so sánh kết quả với một số phương pháp khác để thấy được ưu điểm và nhược điểm của phương pháp. Trong bài này chúng ta sẽ được tìm hiểu các thuật toán được áp dụng rộng rãi trong lĩnh vực khai phá dữ liệu (data mining). Đây cũng có thể là tiền đề cho các chương trình chuẩn đoán các loại bệnh khác.

1. Cơ sở lý thuyết

1.1. Thuật toán K-Mean Nói đơn giản K-mean là một thuật toán để phân loại hay nhóm các đối tượng dựa vào thuộc tính hay đặc điểm vào K nhóm khác nhau. K là một số nguyên dương.

Ví dụ: giả sử ta có 4 đối tượng, mỗi đối tượng có 2 thuộc tính

Đối tượng TT1(X): weight index

TT2(Y): pH

Medicine A 1 1

Medicine B 2 1

Medicine C 4 3

Medicine D 5 4

Trước khi thực hiện phân chia các đối tượng thành 2 nhóm, ta phải giải quyết việc xác định đối tượng nào sẽ thuộc về nhóm 1, đối tượng nào thuộc về nhóm 2.

Tư tưởng của thuật toán K-mean có thể tóm tắt như sau: Coi mỗi nhóm có một giá trị “trọng tâm”. Sau đó với mỗi một phần tử mới ta sẽ tính tổng bình phương “khoảng cách” giữa phần từ đó với giá trị trọng tâm của mỗi nhóm, phần tử sẽ thuộc về nhóm nào nếu giá trị tính được là nhỏ nhất.

Ở đây khoảng cách giữa hai phần tử được tính theo công thức Euclidean

( )∑=

−=n

kjkikij xxd

1

2

Trong đó xi, xj là các đặc điểm của 2 phần tử i, j.

1.2. Thuật toán di truyền Thuật toán di truyền, cũng như các thuật toán tiến hóa nói chung, hình thành dựa trên quan niệm cho rằng, quá trình tiến hóa tự nhiên là hoàn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ưu. Quan niệm này có thể được xem như là một tiên đề đúng, không chứng minh được, nhưng phù hợp với thực tế khách quan. Quá trình tiến hóa thể hiển tính tối ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn, phát triển hơn, hoàn thiện hơn thế hệ trước. Tiến hóa tự nhiên được duy trì nhờ hai quá trình cơ bản: sinh sản và chọn lọc tự nhiên. Xuyên suốt quá trình tiến hóa tự nhiên, các thế hệ mới luôn

Page 44: 0411

- 41 -

được sinh ra để bổ sung và thay thế thế hệ cũ. Cá thể nào phát triển hơn, thích ứng hơn với môi trường sẽ tồn tại, cá thể nào không thích ứng với môi trường sẽ bị đào thải. Sự thay đổi môi trường là động lực thúc đẩy quá trình tiến hóa. Ngược lại, tiến hóa cũng tác động trở lại góp phần làm thay đổi môi trường.

Thuật toán chung của thuật giải di truyền Bắt đầu

t=0;

Khởi tạo P(t);

Tính độ thích nghi cho các cá thể thuộc P(t);

Khi (điều kiện dừng chưa thoả) lặp

t = t+1;

Tái sinh P′(t) từ P(t);

Lai Q(t) từ P(t-1);

Đột biến R(t) từ P(t-1);

Chọn lọc P(t) từ P(t-1) υ Q(t) υ R(t) υ P(t);

Hết lặp

Kết thúc.

1.3. Mạng neural (Neural Network) Mạng neural là tên gọi của một mạng nối các phần tử lại với nhau. Các phần tử này gọi là các neural do chúng được sáng tạo bắt nguồn từ việc nghiên cứu hệ thống thần kinh sinh vật. Nói cách khác, mạng neural là một sự cố gắng nhằm tạo ra các máy móc hoạt động giống với cách hoạt động của bộ não con người bằng cách sử dụng các phần tử hoạt động giống như các dây thần kinh sinh vật.

Trong mạng neural, Perceptron là loại mạng được biết đến nhiều nhất và dễ hiểu nhất, nhưng nó chỉ giải quyết được lớp các bài toán đơn giản, lớp các bài toán phân tách tuyến tính. Để giải quyết các bài toán phức tạp hơn thì chúng ta sử dụng Perceptron đa tầng, thông thường dùng đến ba tầng: tầng vào, tầng ẩn, tầng ra.

2. Đề xuất phương án Bài toán của chúng tôi là từ một cơ sở dữ liệu các bệnh nhân được khám nghiệm từ trước tới nay,

bây giờ có một bệnh nhân mới chúng ta phải chuẩn đoán xem bệnh nhân đó liệu có mắc bệnh hay không? Công việc này có thể đơn thuần áp dụng một trong hai thuật toán K-mean hoặc là mạng neural. Cả hai thuật toán này sẽ được “tập luyện” với các dữ liệu có sẵn để có thể đáp ứng, đưa ra chuẩn đoán với dữ liệu vào mới. Công việc “tập luyện” ở đây chính là quá trình học của hệ thống. Thuật toán K-mean đại diện cho phương pháp học “không giám sát”. Mạng neural đại diện cho phương pháp học giám sát. Tuy nhiên trong thực tế áp dụng thì hai phương pháp này không hiểu quả, do vậy trong bài này tôi đưa ra một phương pháp mới kết hợp sức mạnh của hai thuật toán mạng neural và thuật toán di truyền để nâng cao hiệu quả trong quá trình chuẩn đoán.

Có nhiều cách để áp dụng thuật toán di truyền vào mạng neural, nhưng trong bài tôi chọn theo hướng sử dụng thuật toán di truyền để xác định số neural trong lớp ẩn của mạng neural. Với cách này chúng ta sẽ thấy kết quả được cải thiện rất đáng kể.

3. Kết luận Trong bài này tôi chỉ đưa ra cách áp dụng thuật toán di truyền vào mạng neural bằng cách xác định số neural trong lớp ẩn của mạng. Tuy nhiên chúng ta có thể áp dụng thuật toán di truyền để xác định trọng số cho mạng, hay xác định cấu trúc của mạng, hoặc xác định tỉ lệ “học” của mạng. Mỗi cách áp dụng đều có những điểm yếu điểm mạnh riêng. Bên cạnh đó để quá trình chuẩn đoán bệnh hiệu quả thì dữ liệu để cho hệ thống “học” cũng khá quan trọng, do vậy cũng cần có sự kết hợp chặt chẽ giữa công nghệ thông tin và sinh học.

Tài liệu tham khảo [1] Richard O. Duda, Peter E. Hart, David G.

Stock, Pattern Classification, Wiley

[2] Mitchell Melanie, An Introduction to Genetic Algorithms, MIT Press

[3] Jame A. Freeman, David M. Skapura, Neural Networks - Algorithms Applications Programming, Addison Wesley.

Page 45: 0411

- 42 -

XÂY DỰNG THỜI KHOÁ BIỂU BẰNG CÁCH KẾT HỢP PHƯƠNG PHÁP HEURISTICS VÀ TƯƠNG TÁC NGƯỜI MÁY

Nguyễn Việt Hùng Người hướng dẫn: PGS.TS. Nguyễn Văn Vỵ MSV: 0122197 Email: [email protected] Nguyễn Văn Tuân MSV:0122216 Email:mailto:[email protected]

1. Giới thiệu Lập thời khoá biểu là bài toán có

ứng dụng thực tế cao và được nhiều người quan tâm trong vận trù học. Tuy vậy, nó thuộc loại bài toán NP-khó với nhiều loại ràng buộc phức tạp, nên khó giải bằng các thuật toán truyền thống. Đến nay, các thuật toán mô phỏng tự nhiên tỏ ra là phương pháp hữu hiệu hơn cả nhưng vẫn bị hạn chế vì thời gian chạy chương trình khá lâu và không linh hoạt khi ta thay đổi các ràng buộc.

Để giải quyết bài toán, chúng tôi đề xuất một cách giải quyết bài toán này bằng cách kết hợp phương pháp Heuristics và tương tác người máy. Theo cách tiếp cận này, thời khoá biểu sẽ được xây dựng theo cách đánh giá kinh nghiệm và tìm giải pháp qua thử nghiệm và rút tỉa khuyết điểm kết hợp với phương pháp gắp thả.

2. Cơ sở lý thuyết

Phương pháp Heuristics là phương pháp giải quyết vấn đề bằng cách đánh giá kinh nghiệm và tìm giải pháp qua thử nghiệm và rút tỉa khuyết điểm. Phương pháp này có một ưu điểm là thời gian chạy rất nhanh.Tuy nhiên nó có một nhược điểm là không khám phá được hết không gian trạng thái.

Phương pháp gắp thả là phương pháp được users thực hiện bằng trực quan để giải quyết các tổ hợp ràng buộc mà khó giải được bằng thuật toán. Đây là một phương pháp tuy đơn giản nhưng

có thể giải quyết được những ràng buộc rất khó có thể giải quyết được bằng thuật toán thông thường.

3. Giới thiệu bài toán lập thời khoá biểu và các cách tiếp cận hiện nay

3.1. Các bài toán lập thời khoá biểu:

Bài toán lập thời khoá biểu được chia làm 3 dạng chung được mô tả khác nhau: Bài toán lập thời khoá biểu cho trường phổ thông, bài toán lập thời khoá biểu cho trường đại học, bài toán xếp lịch thi.

Trong luận văn này chỉ xét bài toán lập thời khoá biểu cho trường đại học ở Việt Nam mà cụ thể là trường Đại học Công Nghệ - Đại học Quốc Gia Hà Nội.

3.2. Các cách tiếp cận hiện nay

Có rất nhiều thuật toán đươc đề xuất để giải gần đúng các bài toán NP-khó. Các thuật toán này tìm được lời giải gần tối ưu và là một trong những xu thế phát triển hiện nay đối với các bài toán chưa thể tìm ra lời giải tối ưu thực sự trong đó các thuật toán mô phỏng theo tự nhiên như thuật toán luyện kim, thuật toán di truyền, thuật toán hệ kiến …Trong đó thuật toán di truyền và thuật toán hệ kiến tỏ ra là phương pháp khá hiệu quả.

4.Phương pháp heuristics trong bài toán

4.1. Ý tưởng

Page 46: 0411

- 43 -

Từ thực tế cho thấy, mỗi giảng viên trong một kì chỉ dạy một hoặc vài lớp, mỗi lớp chỉ giảng dạy một môn, cho nên tập nghiệm cho bài toán là rất lớn. Cho nên sử dụng phương pháp heuristics kết hợp với gắp thả sẽ tiết kiệm được rất nhiều thời gian và sẽ cho kết quả chấp nhận đuợc. Nhưng sử dụng phương pháp heuristics như thế nào cho đạt hiệu quả cao là vấn đề chính cuả bài toán này.

a. Việc ưu tiên xếp theo thứ tự của giảng viên, giảng viên nào phải dạy nhiều ca nhất thì sẽ được ưu tiên xếp trước. Việc ưu tiên này sẽ làm cho việc sắp xếp các ca học sau sẽ dễ dàng hơn vì chúng có thể tráo đổi được nhiều vị trí hơn.

b. Với mỗi giảng viên, sẽ cố gắng sắp xếp sao cho các ca giảng dạy của giảng viên đó liền nhau trong một ngày, và là nhiều nhất để giảm tổng số ngày phải dạy của giảng viên, và giảm khoảng thời gian trống giữa 2 ca của giảng viên đó.

c. sau khi xây dựng được thời khoá biểu, sẽ sử dụng thuật toán duyệt (càng nhiều bước càng tốt) để tối ưu thêm các ràng buộc: số ngày phải dạy của một giảng viên càng ít càng tốt, tổng số tiết trống giữa 2 ca trong một ngày là nhỏ nhất ….

d. Trong mỗi bước, có thể kết hợp với kĩ thuật gắp thả để có được kết quả tốt hơn.

Việc sử dụng những ý tưởng trên

trông thì rất đơn giản, nhưng khi kết hợp với các ý tưởng nhỏ khác có thể giúp cho bài toán đạt được kết quả rất tốt.

4.2. Thử nghiệm và kết quả Chúng tôi đã cài đặt và chạy thử

nghiệm trên cơ sở dữ liệu của 3 năm gần đây trong trường Đại Học Công Nghệ. Kết quả đạt được là khá khả quan.

Trong tổng số lớp của trường Công Nghệ, số giảng viên, và các môn học. Thời gian chạy của chương trình là < 1 giây, kết quả đạt được bước dầu là khá khả quan: tổng số tiết phải đợi trong một kì của tất cả các giảng viên ~ 4.

4.3. Đánh giá chung Chương trình đã chạy khá tốt với

bài toán lập thời khoá biểu cho trường ĐH Công Nghệ.

Chương trình có thể chạy tốt trong bài toán mà có tập nghiệm lớn. Ràng buộc càng ít thì kết quả sẽ càng khả quan. Khi ràng buộc nhiều, kết quả sẽ không được tốt như một số các phương pháp khác. Bài toán này phụ thuộc nhiều vào các ràng buộc hơn là phụ thuộc vào kích cỡ của dữ liệu.

5.Kết luận

Trong khoá luận này chúng tôi đã sử dụng phương pháp Heuristics để giải quyết bài toán lập thời khoá biểu với bộ dữ liệu của trường Đại học công nghệ. Kết quả đạt được là khá khả quan với các ràng buộc chính và thời gian chạy phụ thuộc chủ yếu vào số các ràng buộc và mục đích tối ưu của kết quả.

Các hướng nghiên cứu tiếp theo của chương trình là làm sao cho chương trình có thể sắp xếp được thời khoá biểu thoả mãn được nhiều ràng buộc hơn, trong đó nhằm thoả mãn được các nhu cầu của giảng viên (các nhu cầu chung và riêng). Tài liệu tham khảo [1] Đỗ Đức Đông, “Thuật toán mô

phỏng tự nhiên trong bài toán thời khoá biểu cho trường đại học”, Khoá luận tốt nghiệp đại học hệ chính quy, ngành Công nghệ thông tin, 2004.

Page 47: 0411

- 44 -

NGHIÊN CỨU TÍCH HỢP DỊCH VỤ NHẮN TIN NGẮN VÀO CÁC CỔNG THÔNG TIN ĐIỆN TỬ

Phan Trần Hùng MSV: 0121937

Email: [email protected]

Người hướng dẫn: ThS. Đào Kiến Quốc Ks. Đặng Việt Dũng

1. Giới thiệu Portal - thế hệ kế tiếp của công nghệ web,

một công nghệ hứa hẹn giải quyết được các vấn đề đa dạng và phức tạp, hiện đang được đầu tư phát triển mạnh ở Việt Nam. Dịch vụ tin ngắn, một kênh thông tin phổ biến dựa trên các thiết bị di động, đang rất phát triển vì những lợi ích của nó. Nếu ta tích hợp được dịch vụ nhắn tin ngắn vào các Portal thì sức mạnh truyền thông của các Portal sẽ được tăng cường. Khoá luận này nghiên cứu và đưa ra giải pháp tích hợp dịch vụ nhắn tin ngắn vào các Portal dựa trên hệ thống gửi nhận tin nhắn của phòng thí nghiệm CNPM Selab và công nghệ .NET XML Webservices của Microsoft.

2. Tổng quan về Portal và dịch vụ tin ngắn SMS

Những yếu điểm và bất cập của các ứng dụng web truyền thống đã dẫn tới sự ra đời của công nghệ Portal. Công nghệ này nhanh chóng được áp dụng trong các lĩnh vực khác nhau như chính phủ điện tử, đào tạo trực tuyến, thương mại điện tử... Tại Việt Nam, công nghệ này đang được đầu tư mạnh mẽ và đang rất phát triển. Portal có nhiều chức năng khác nhau, trong đó khả năng tích hợp và liên kết nhiều loại thông tin của Portal là rất quan trọng vì hiện nay, với sự phát triển của công nghệ, có nhiều kênh thông tin có thế được tích hợp vào Portal. Một trong số đó là kênh TT di động với dịch vụ tin nhắn ngắn SMS. [3, 5]

Dịch vụ tin nhắn được xây dựng trên cơ sở phần mềm SMSC và giao thức SMPP. Dịch vụ tin nhắn SMS phát triển rất mạnh tại Việt Nam nhờ những lợi ích của nó như dễ sử dụng, rẻ, nhanh chóng, mọi nơi, mọi lúc... Có rất nhiều dịch vụ nhắn tin ngắn ra đời như tra cứu, bình chọn, xem thông tin... [7, 8, 9, 10]

Một nhu cầu tất yếu là phải tích hợp kênh thông tin di động vào các Portal làm tăng cường sức mạnh của các Portal. Để thực hiện điều này cần có một giải pháp thích hợp và sử dụng công nghệ đối tượng phân tán phù hợp.

3. Công nghệ XML Webservices

Các công nghệ đối tượng phân tán truyền thống như DCOM, CORBA, RMI đều có những điểm yếu gây khó khăn rất lớn trong việc tích hợp các ứng dụng phân tán trên mạng Internet như: không vượt qua được các Tường lửa, khả năng kết hợp hoạt động giữa các mô hình khác nhau rất khó khăn, và sử dụng định dạng dữ liệu không thống nhất. Cùng với sự ra đời và phổ biến của các chuẩn Web, công nghệ XML Webservices ra đời dựa trên công nghệ SOAP, XML, HTTP đã giải quyết được các vấn đề tồn tại trong các mô hình truyền thống. Hơn thế nữa, với kiến trúc hướng dịch vụ, công nghệ XML Webservices còn mở ra một phương pháp mới trong việc sử dụng lại các thành phần và tích hợp các thành phần phần mềm phân tán.[6, 1, 2, 4]

4. Giải pháp tích hợp dịch vụ tin nhắn vào các cổng điện tử

Để giải quyết vấn đề tích hợp dịch vụ tin ngắn với các Portal , nhiệm vụ đầu tiên đặt ra là phải có một cơ cấu gửi nhận tin nhắn. Hệ thống SelabSMS server là một giải pháp của Phòng thí nghiệm CNPM Selab đáp ứng nhu cầu kết nối với các dịch vụ viễn thông và thoả mãn yêu cầu gửi nhận tin nhắn cho các ứng dụng tác nghiệp.

Giải pháp đề ra là dựa trên hệ thống SelabSMS viết một phần mềm midderware đưa tin nhắn dịch vụ cần xử lý tới các ứng dụng tác nghiệp khác nhau ở các Portal khác nhau nằm phân tán trên mạng Internet. Phần mềm midderware này gồm có 3 service: một BGservice quét nền nhận tin nhắn từ hệ thống SelabSMS phân tích và gửi tới ứng dụng tác nghiệp tại Portal phù hợp, một service nằm ở Portal nhận tin nhắn từ BGservice xử lý theo yêu cầu tác nghiệp và trả về kết quả cho service thứ 3 chuyển tới hệ thống SelabSMS để gửi tới điện thoại di động của người nhận. Các service này giao tiếp với nhau sử dụng công nghệ XML

Page 48: 0411

- 45 -

Webservices. Giải pháp đề ra có khả năng mở rộng để có thể cấu hình đơn giản, dễ dàng liên kết với các ứng dụng tác nghiệp khác, và viết thêm dịch vụ tác nghiệp dựa trên dịch vụ tin ngắn. 5.Thực nghiệm

Việc cài đặt và thử nghiệm giải pháp được tiến hành tại Phòng thí nghiệm CNPM Selab. Dựa trên giải pháp đã đề ra, chúng tôi đã cài đặt thành công dịch vụ tin nhắn tra cứu điểm thi cho sinh viên. 6. Kết luận

Trong khoá luận này, chúng tôi đã xây dựng giải pháp tích hợp dịch vụ nhắn tin ngắn vào các cổng thông tin điện tử dựa trên Công nghệ XML Webservices và hệ thống gửi nhận tin nhắn SelabSMS. Thực nghiệm xây dựng dịch vụ tin nhắn tra cứu điểm thi đã chứng tỏ giải pháp này khả thi, có thể đem vào áp dụng trong thực tế.

Các vấn đề cần tiếp tục nghiên cứu: hoàn thiện giải pháp, mở rộng tích hợp dịch vụ MMS vào các Portal, mở rộng giải pháp với các phần mềm SMSC khác.

Tài liệu tham khảo [1]. Nguyễn Phương Lan (chủ biên) ASP 3.0 &

ASP.NET - NXB Lao Động - Xã Hội [2]. Nguyễn Phương Lan (chủ biên)

Nhập môn XML - NXB Lao Động - Xã Hội [3]. PC World B số tháng 1/2004 [4]. MSDN 2002 October

[5]. Christian Wege “Portal Server Technology" IEEE Internet Computing Magazine (June 2002)

[6]. http://msdn.microsoft.com/webservices/

[7]. http://www.smsvinaphone.com.vn [8]. http://www.mobifone.com.vn

[9]. http://www.gsmworld.com/technology/sms

[10]. Website, http://www.iec.org/online/tutorials/wire_sms

Page 49: 0411

- 46 -

KỸ THUẬT TRỪ ẢNH VÀ ỨNG DỤNG

Thế Thị Hường MSV: 0121948

Email: [email protected]

Người hướng dẫn: TS. Đỗ Năng Toàn

1. Giới thiệu

Trong những năm gần đây, dữ liệu video số đã tăng lên đáng kể cùng với việc sử dụng rộng rãi các ứng dụng đa phương tiện trong giáo dục, giải trí, kinh doanh, y tế… Để xử lý một lượng dữ liệu lớn này một cách hiệu quả, người ta đã đưa ra nhiều kỹ thuật phân đoạn video, chỉ số hóa, tóm tắt video để làm giảm dung lượng video, để phân mục, chỉ số hóa và lấy dữ liệu video số lưu trữ. Báo cáo đưa ra một hướng tiếp cận dựa trên kỹ thuật trừ ảnh nhằm ứng dụng cho việc phân đoạn và một số kỹ thuật trích chọn đại diện cảnh phim nhằm giảm thiểu dung lượng video.

2. Kỹ thuật trừ ảnh và phát hiện cảnh phim

Video gồm một dãy các khung hình (f1, f2, f3, …, fN), mỗi khung hình là một ảnh, và có tốc độ 25 hoặc 30 hình/s. Do cấu trúc như vậy, dung lượng của video rất lớn, các khung hình liền kề lại rất giống nhau. Nếu xử lý với tất cả các khung hình thì thật không hiệu quả. Để giải quyết vấn đề này, video được phân đoạn, nghĩa là chia thành các đoạn (thường là cảnh phim), ở mỗi đoạn, chọn ra một hoặc một số khung hình quan trọng làm đại diện để lưu trữ. Thao tác cơ bản đầu tiên ở đây là phát hiện cảnh phim bằng việc áp dụng kỹ thuật trừ ảnh.

Kỹ thuật trừ ảnh

Xét hai ảnh I1 và I2 có cùng kích thước và mức sáng. Trừ hai ảnh I1 và I2 là việc tính toán sự sai khác giữa hai ảnh đó. Sự sai khác này có thể được tính trên giá trị điểm ảnh, histogram hoặc là sai khác thống kê.

Trong các kỹ thuật trừ ảnh, chúng ta giả sử các khung hình có kích thước X*Y.

Trừ giá trị điểm ảnh

Phương pháp đơn giản nhất để trừ hai khung hình là tính giá trị biểu diễn sự chênh lệch tổng cộng về cường độ của tất cả các điểm ảnh tương ứng trên hai khung hình:

∑∑−

=

=

−=1

0

1

0|),(2),(1|

*1)2,1(

X

x

Y

yyxfyxf

YXffD

Trừ biểu đồ (Histogram)

Có thể sử dụng biểu đồ màu hoặc biểu đồ mức xám.

Histogram thể hiện sự phân bổ giá trị điểm ảnh của khung hình nên có thể được dùng để tính toán sự sai khác giữa hai khung hình. Cách đơn giản nhất là tính tổng sự sai khác của các cột histogram:

∑=

−=G

kkHkHffD

0|)(2)(1|)2,1(

Trong đó: , Hn là histogram mức xám của ảnh n; k là một trong các mức xám có thể G.

Có thể sử dụng thêm trọng số cho một số mức xám quan trọng hơn với mục tiêu so sánh. Khi đó:

∑=

−=G

kk kHkHaffD

0|)(2)(1|)2,1(

Với ak là trọng số của mức xám k.

Sai khác thống kê

Phương pháp sai khác thống kê dựa vào phương pháp trừ giá trị điểm ảnh, nhưng thay vì tính tổng sự sai khác của tất cả các điểm ảnh, ta làm thống kê.

Ta sử dụng một giá trị d là ngưỡng sai khác được tính giữa hai điểm ảnh tương ứng.

Page 50: 0411

- 47 -

Gọi S là tập các điểm ảnh có độ sai khác lớn hơn d:

S = {(x,y) \ |f1(x,y) – f2(x,y)| > d}

Độ sai khác giữa hai khung hình được tính bằng tỷ lệ các điểm ảnh có độ chênh lệch lớn hơn d.

YXcountSffD

*.)2,1( =

Phát hiện cảnh phim

Lần lượt xét từng khung hình video. Áp dụng kỹ thuật trừ ảnh để tính sự sai khác D của khung hình đó với khung hình đầu tiên của cảnh. So sánh nếu giá trị sai khác này lớn hơn ngưỡng chuyển cảnh thì có chuyển cảnh, ngược lại thì chưa có chuyển cảnh và ta lại xét khung hình tiếp theo.

Từ việc phát hiện cảnh phim, video được chia thành các đoạn là các cảnh.

3. Trích chọn đại diện cho một cảnh phim

Sau khi phân đoạn, mỗi cảnh sẽ được trích chọn đại diện để lưu trữ. Khung hình được chọn gọi là khung – khóa. Số khung – khóa có thể là một hoặc nhiều, tùy thuộc vào độ phức tạp của cảnh phim. Có các kỹ thuật trích chọn sau:

Chọn khung – khóa dựa vào vị trí: đầu tiên, cuối cùng, ở giữa,…

Chọn khung – khóa chọn theo đặc trưng trực quan, chẳng hạn mức xám:

Sắp xếp các khung hình trong cảnh theo thứ tự tăng dần (hoặc giảm dần) theo mức xám. Lọc cực tiểu là kỹ thuật chọn khung hình có giá trị nhỏ nhất trong dãy. Lọc cực đại là kỹ thuật chọn khung hình có giá trị lớn nhất trong dãy. Lọc trung vị là kỹ thuật chọn khung hình ở giữa của dãy. Lọc trung bình là kỹ thuật đưa ra ảnh mà các điểm ảnh có mức xám bằng giá

trị mức xám trung bình của các điểm ảnh tương ứng trên các khung hình của cảnh phim.

4. Thực nghiệm Cài đặt thực nghiệm với kỹ thuật trừ giá trị điểm ảnh và kỹ thuật lọc trung bình và lọc trung vị cho thấy kết quả khá tốt và rất khả quan. Dung lượng có thể giảm 20 – 30 %.

5. Kết luận

Trong khóa luận này, em đã nêu các kỹ thuật trừ ảnh. Để giải quyết vấn đề về không gian lưu trữ và tốc độ xử lý video, khóa luận đã đưa ra một hướng tiếp cận dựa trên kỹ thuật trừ ảnh nhằm xác định ranh giới giữa các cảnh phim và kỹ thuật lọc đa ảnh, chọn ra ảnh đặc trưng của cảnh nhằm giảm thiểu không gian lưu trữ đối với video.

Tài liệu tham khảo [1] Jyrki Korpi - Anttila (2002), “Automatic

color enhencement and scene change detection digital video”, Dept of Automation and Technology, Laboratory of Media Technology, Helsilki University of Technology

[2] Abhishek Tiwari, Nitin Jain (2002), “Video segmentation and Video content analysis”, Indidian Institute of Technology Kanpur.

Page 51: 0411

- 48 -

MỘT SỐ PHƯƠNG PHÁP TRONG SẮP XẾP CHUỖI SINH HỌC

Sinh viên: Vũ Hồng Khiêm MSV: 0121955 Email: [email protected]

Người hướng dẫn: ThS. Trần Thị Minh Châu NCS. Lê Sĩ Vinh

1. Giới thiệu Thế kỉ 21 sẽ là thế kỉ của Tin học và Sinh

học. Hai ngành khoa học đang ngày càng khẳng định vai trò khoa học mũi nhọn của mình trong sự phát triển chung của nhân loại.Trên thực tế, sự ra đời của Tin sinh học, một ngành mới kết hợp giữa Tin Học và Sinh học, như là một qui luật tất yếu của sự phát triển. Tin Sinh Học đã được sự hưởng ứng tham gia của đông đảo những nhà nghiên cứu trên toàn thế giới. Bản thân tôi, một người lính mới, kiến thức và kinh nghiệm chưa nhiều, cũng mong muốn sẽ được đóng góp một phần nhỏ bé nào đó trong công cuộc khai phá miền đất mới mẻ này.

Một trong những bài toán điển hình trong Tin Sinh Học là bài toán sắp xếp các chuỗi sinh học thẳng hàng. Sẵp xếp chuỗi sinh học không những cho chúng ta thấy được mối quan hệ tiến hoá giữa các loài sinh vật mà còn được áp dụng trong một số bài toán khác như chuẩn đoán cấu trúc bậc hai của protein…

2. Khái niệm/kiến thức cơ bản Một trở ngại đầu tiên đối với người làm Tin

Sinh Học đó là phải hiểu rõ về các khái niệm được coi là cốt tử trong sinh học phân tử, một nhánh của Sinh học nghiên cứu vật chất trong thế giới vi mô. Việc tìm hiểu các khái niệm này phục vụ cho nghiên cứu Tin Sinh Học chủ yếu tập chung vào cấu trúc không gian của chúng. Trong khoá luận của mình, tôi cũng đã tập chung nêu ra các khái niệm về DNA, RNA, và protein, đây là những khái niệm quan trọng nhất cần phải xác định, phần lớn các vấn đề trong Tin sinh học chỉ tập chung quanh các khái niệm trên.

Chuỗi sinh học thực chất là biểu diễn tuyến tính của các đại phân tử sinh học DNA, RNA hay protein. Chúng được biểu diễn bằng một dãy liên tiếp có thứ tự các chữ cái đại diện. Ví dụ về các chuỗi sinh học biểu diễn 1 đoạn trong chuỗi axid amin của protein ”RDILSVKNAGI”. Bài toán sắp xếp chuỗi

sinh học thực chất là tìm một giả thuyết phù hợp nhất về mối quan hệ tiến hoá của hai hay nhiều chuỗi sinh học tương ứng. Do bản chất số tự nhiên của các chuỗi sinh học cũng như kích thước các chuỗi có thể lên tới hàng triệu đơn vị, chính vì vậy việc thực hiện sắp xếp bằng các phương pháp thông thường là hoàn toàn không thể, chúng ta cần phải áp dụng những thuật toán cũng như kĩ thuật trong Tin học để có thể giảm được lượng tính toán cần thiết. Cụ thể trong khoá luận của tôi đã sử dụng các phương pháp qui hoạch động kết hợp với phương pháp chia để trị nhằm phục đích đưa ra những phương án tối ưu nhất có thể.

3. Sắp xếp 2 hay nhiều chuỗi sinh học 3.1. Sắp xếp 2 chuỗi

Sắp xếp 2 chuỗi là bài toán hạt nhân, quan trọng nhất trong sắp xếp chuỗi sinh học. Đặc tả bài toán có dạng như sau:

Một sắp xếp thực hiện trên 2 chuỗi là việc bố trí thêm các khoảng trống (biểu diễn bởi dấu “-“) vào các vị trí nhất định nào đó trên mỗi chuỗi sao cho thoả mãn 2 điều kiện: Thứ tự các phần tử trên 2 chuỗi không

thay đổi. 2 chuỗi đích thể hiện được “mức độ

tương đồng” lớn nhất. Mức độ tương đồng được phản ánh thông

qua số lượng các cặp giống nhau ở cùng 1 vị trí nhất định trên 2 chuỗi. Nếu sắp xếp đưa ra được nhiều cặp giống nhau nhất thì sắp xếp đó là tối ưu mà ta chúng ta phải sử dụng thuật toán để tìm ra nó. Do các đặc thù về tiêu chuẩn của sắp xếp phải thỏa mãn, người ta cũng phân sắp xếp chuỗi thành 2 loại khác nhau.

Để có thể giải quyết bài toán sắp xếp chuỗi sinh học, trước hết tôi áp dụng phương pháp mô hình hóa để đưa vấn đề về việc tìm đường đi trong trong đồ thị định hướng. Sau đó sẽ áp dụng phương pháp qui hoạch động để giải quyết bài toán tìm đường đi nói trên. Nội dung thuật toán có thể được mô tả theo các bước sau:

Page 52: 0411

- 49 -

Khởi tạo ma trận tìm đường đi tối ưu.

Dựa trên các qui tắc gán trọng số/trừ điểm khoảng trắng ta sẽ tính toán các điểm còn lại trong ma trận cho tới khi lấp đầy ma trận.

Tìm lại đường đi ngắn nhất bằng kĩ thuật back-tracking.

Vấn đề quan trọng nhất đối với bài toán sắp xếp 2 chuỗi đó là cách đánh giá của chúng ta đối với các tham số cho hàm trừ điểm các khoảng trống này, một công việc mang nhiều ý nghĩa sinh học xong lại ảnh hưởng đến kết quả. Ngoài ra, việc sử dụng ma trận trọng số cũng có ý nghĩa rất quan trọng đến việc kết quả thực thi của bài toán.

3.2. Bài toán sắp xếp nhiều chuỗi Sắp xếp nhiều chuỗi là sắp xếp chuỗi áp

dụng cho nhiều chuỗi sinh học khác nhau, nó có rất nhiều ứng dụng trong việc xây dựng cây phả hệ giữa nhiều loài sinh vật và trong vấn đề chuẩn đoán cấu trúc bậc cao của protein. Về mặt lý thuyết ta hoàn toàn có thể áp dụng kĩ thuật lập trình động như đã làm với trường hợp 2 chuỗi. Tuy vậy, phương pháp trên không thể đáp ứng được yêu cầu về thời gian thực thi, ngay cả khi số lượng chuỗi cần sắp xếp chỉ có 3 hay 4 chuỗi. Chính vì vậy, người ta đã phải áp dụng nhiều kĩ thuật khác nhau nhằm tối ưu hóa thời gian tính toán. Trong phần này, tôi đã tìm hiểu cách tiếp cập phả hệ, cụ thể là sử dụng phương pháp ClustalW, đây là một phương pháp được sử dụng rộng rãi và có thể nói là cách tiếp cận hiệu quả nhất cho tới thời điểm này. ClustalW đã và đang được cải tiến hơn nữa bởi rất nhiều nhóm nghiên cứu khác nhau.

Nội dung cơ bản của cách tiếp cận phả hệ đó là việc xây dựng cây phát sinh loài, hay còn gọi là cây chỉ dẫn. Cây này mô tả một cách trực quan mối quan hệ tiến hóa giữa các chuỗi được sắp xếp. Sau khi đã có cây phát sinh loài, sắp xếp đa chuỗi được xây dựng dựa trên việc nhóm các chuỗi theo thứ tự độ tương đồng lớn nhất tại thời điểm đó. Như vậy, các chuỗi sẽ đựợc lần lượt thêm vào sắp xếp cho đến khi kết thúc quá trình.

4. Kết luận và kết quả thu được

Qua thời gian nghiên cứu của mình, tôi cũng đã học hỏi được rất nhiều điều lý thú từ lĩnh vực khoa học mới mẻ này, đặc biệt là cách thức áp dụng các thuật toán Tin học vào việc giải quyết một vấn đề thực tế trong các lĩnh vực khác. Tôi đã nghiên cứu và cài đặt thành công thuật toán sắp xếp loại 1 áp dụng cho 2 chuỗi sinh học khác nhau. Kết quả thu được có độ chính xác cao và có thể áp dụng cho nhiều bài toán nghiên cứu về sau.

Đối với bài toán sắp xếp nhiều chuỗi, tôi đã tham khảo và làm thực nghiệm với phần mềm ClustalW do Viện nghiên cứu Tin Sinh Học Châu Âu phát triển. Kết quả thực nghiệm trên những bộ dữ liệu rất lớn, với lượng tính toán khổng lồ đã chứng minh tính ưu việt cao của phương pháp này.

5. Kết luận Trong thời gian làm khóa luận này, tôi tập

chung phần lớn thời gian vào tìm hiểu các vấn đề liên quan đến kĩ thuật tối ưu hóa trong thuật toán sắp xếp áp dụng cho hai chuỗi. Đây cũng là vấn đề có vai trò rất quan trọng bởi nó là một thành phần được sử dụng lại nhiều lần trong bài toán sắp xếp với nhiều chuỗi. Trên thực tế, có rất nhiều cách tiếp cận giải quyết khác nhau đối với sắp xếp nhiều chuỗi. Việc tìm ra một cách giải quyết độc lập và hiểu quả là một hướng hoàn toàn khả thi cao. Đây sẽ là một hướng đi mà tôi chọn trong thời gian nghiên cứu tiếp theo.

Tuy kết quả chưa đạt những thành công lớn, xong tôi cũng đã có dịp tìm hiểu những kiến thức về Sinh học phân tử, những thứ sẽ cần thiết cho tôi có thể thuận lợi hơn khi áp dụng các kiến thức trong Tin học vào Sinh Học.

Tài liệu tham khảo [1] Arthur M. Lesk, “Introduction to

Bioinformatics” University of Cambridge [2] Julie D.Thompson and Desmond

G.Higgins+ and Toby J.Gibson, “CLUSTALW: improving the sensitivity of progressive multiple sequence alignment through sequence weighting, position-specific gap penalties and weight matrix choice”.

Page 53: 0411

- 50 -

SỬ DỤNG MÔ HÌNH MAXIMUM ENTROPY NHẬN DẠNG MÀU DA ẢNH MÀU

Nguyễn Tuấn Nghĩa

MSV: 0122006 Email: [email protected]

Người hướng dẫn: ThS.Đào Kiến Quốc

1. Tổng quan Xây dựng hai mô hình nhận dạng màu da

ảnh màu với ràng buộc lấy từ tập cơ sở dữ liệu Compaq. Mỗi mô hình sử dụng entropy cực đại, mô hình đầu tiên là mô hình Baseline, xem các pixel là độc lập với nhau. Mô hình thứ hai là một mô hình Markov ẩn (HHM), nó thêm vào ràng buộc hai điểm lân cận nhau có quan hệ xuất hiện màu da và không phải màu da. Cả hai mô hình đánh giá xác suất một giá trị màu là màu da p(ys|x), nếu xác suất này cao hơn một ngưỡng thì giá trị màu đó là màu da và ngược lại. 2. Giới thiệu

2.1. Định nghĩa Dò màu da là tìm kiếm trên các pixel màu

da của một ảnh màu. Kết quả là một ảnh nhị phân cùng kích cỡ, trong đó màu trắng là da, màu đen là không phải màu da hay còn gọi là nền. 2.2. Phương thức

Mô hình entropy cực đại là một phương thức suy ra mô hình thống kê từ tập cơ sở dữ liệu. Nó thực hiện như sau: 1) Trích chọn đặc trưng 2) Áp đặt các ràng buộc cho mô hình 3) Xây dựng mô hình phân phối có điều kiện p(y|x) 4) Thiết lập tham số mô hình 5) Sử dụng lược đồ để phân lớp màu da và không phải màu da.

Nhiệm vụ 1,2) chỉ ra các đặc trưng và áp đặt ràng buộc với tập quan sát từ CSDL Compaq 3) khi entropy đạt cực đại, chúng ta có thể tính được phân phối p(y|x) 4) xây dựng

tham số cho mô hình bằng các đặc trưng địa phương 5) bằng cách chọn mẫu theo thuật toán lấy Gibbs, sử dụng mẫu này tính p(ys|x). 3. Mô hình entropy cực đại 3.1. Một số ký hiệu

Gọi tập các giá trị màu là S, giá trị màu tại pixel s là xs, màu da (skinness) của pixel s là ys với ys = 1 nếu s là pixel màu da và ys = 0 nếu ys không phải màu da. Ảnh màu là được xem là một vector của các pixel màu, được ký hiệu là x và ảnh nhị phân tương ứng được tạo nên bởi các màu da ys là y.

Giả sử biết được phân phối đồng thời của vector p(x,y), theo công thức Bayes sẽ tính được phân phối hậu nghiệm p(y|x). Mục tiêu cuối cùng là tính xác suất một giá trị là màu da p(ys=1|xs) từ phân phối hậu nghiệm.

Nhưng chúng ta không biết được phân phối p(x,y) thay vào đó, có thể sử dụng CSDL Compaq. Nó là tập mẫu:

{(x(1),y(1)),(x(2),y(2)),…,(x(n),y(n))} trong đó 1 ≤ i ≤ n=18.696, x(1) là một ảnh màu, y(1) là ảnh nhị phân tương ứng, các mẫu là độc lập với nhau và có xác suất phân phối p(x,y).

Tập các mẫu cũng được xem như tập dữ liệu học. Xác suất được thiết lập bởi các thiết lập kinh nghiệm và được ký hiệu bởi q.

Sau đây, trình bày tóm tắt cách xây dựng mô hình phân phối xác suất màu da với của một ảnh màu p(y|x). 3.2. Mô hình Baseline

Xây dựng mô hình tương ứng ràng buộc một pixel bởi dữ liệu Compaq:

Page 54: 0411

- 51 -

C0: ∀s ∈ S, ∀xs ∈ C, ∀ys ∈ {0,1}, p(xs,ys) = q(xs,ys)

Trong đó q(xs,ys) là tỉ lệ pixel với màu xs và skinness ys, trong tập dữ liệu học.

Theo công thức nhân Larange khi mô hình đạt entropy cực đại, ta có:

p(y|x) = ∏s∈Sq(ys|xs) (1)

trong đó: q(ys|xs) = s s1 ( | y ) (y )( )

ss

q x qq x

với q(xs) = 1

s s

ys=0

( | y )q(y )sq x∑

Chúng ta tính biểu thức trên bằng hai lược đồ q(xs|ys = 1) và q(xs|ys = 0) tương ứng cho phân phối của các pixel màu da và không phải màu da. 3.3. Mô hình Markov ẩn (HMM)

Mô hình Baseline không có được nhiều chặt chẽ, thực tế cho thấy các vùng da không đơn thuần phân phối ngẫu nhiên mà nó được cấu tạo nên bởi các vùng da rộng. Vì vậy, tăng cường khả năng nhận dạng bằng cách ràng buộc thêm xác suất xuất hiện màu da cho tất cả cặp điểm lân cận nhau.

Trong HMM, sử dụng hệ thống 4 lân cận (là lưới các pixel mà xung quanh mỗi pixel có 4 pixel lân cận), theo dõi màu da của hai điểm lân cận s, t: (ys = a, yt = b), khả năng xảy ra đồng thời màu da hay không phải màu da p(a,b) với a = 0,1 và b = 0,1 tương ứng là ràng buộc thuộc tập học.

Giả sử rằng mô hình MaxEnt là đẳng hướng theo hai hướng ngang và dọc, có nghĩa rằng q(ys,yt) = q(ys',yt') theo cùng một hướng. Ràng buộc HHM như sau:

D: ∀s ~ t ∈ S x S, p(ys = 0, yt = 0) = q(0, 0) và p(ys = 1, yt = 1) = q(1, 1).

Mô hình MaxEnt trong không gian C0 ∪ D theo phân phối Gibbs là:

p(y|x) = ∏∈Ss

ss yxqxpyp )|(

)()( (2)

với p(y)= 0 s t s t0 1 s~t

1 exp ( (1 y )(1 - y) 1 y)( , )

( )a a yZ a a

− +∑ (3)

, Z(a0,a1) = 0 s t s ty s~t

exp ( (1 y )(1 - y) 1 y)( )a a y− +∑ ∑ (4)

Hàm Z(a0,a1) là hàm phân hoạch để đảm bảo ràng buộc thỏa mãn. 3.4. Thiết lập tham số

Đối với mô hình Baseline, có thể dễ dàng tính phân phối p(y|x), tuy nhiên với HMM cần thiết phải thiết lập hai tham số a0 và a1 để thỏa mãn ràng buộc.

Thiết lập tham số có thể dùng cách tính xấp xỉ, chúng ta sẽ thuật toán Metropolis lấy mẫu thỏa mãn (3) mà không cần biết a0 và a1, sau đó, dùng mẫu này để tính hai tham số theo công thức sau:

p(Ys=1|y(s)) = 1 0 0(( ) (1) 4 )sa a n aφ + −

Trong đó hàm ns(1) số các giá trị yt = 1, t~s, rõ ràng hàm này chỉ nhận 5 giá trị {0,1,2,3,4}. Và tương ứng với mỗi giá trị của ns(1), giá trị p(Ys=1|y(s)) có thể thiết lập được từ ảnh mẫu, có nghĩa chúng ta phải chỉ ra 5 biểu thức tuyến tính để tính a0 và a1. Kết quả a0=3,76 và a1=3,94. Bây giờ các tham số đã có, nhiệm vụ cuối cùng cho một ảnh màu x tìm ảnh y nhị phân, với màu trắng là da, màu đen không phải là da. 3.5. Nhận dạng màu da Với một ảnh đầu vào, nhận dạng màu da yêu cầu phải tính p(ys|x) là xác suất tại pixel s là màu da. Với mô hình Baseline, chỉ cần thay ys=1, xs vào (1), có thể tính được xác suất giá trị màu xs là màu da. Đối với HMM, tính công thức (2) không phải là dễ dàng vì hàm Z không cố định, thay vào đó chúng ta sử dụng thuật toán lấy mẫu Gibbs, lấy dãy tuần tự mẫu sau:

y1, y2,…, yn0,…,yn với phân phối bất biến p(y|x). Sau đó tính trung bình, p(ys|x) được tính bằng

Page 55: 0411

- 52 -

0

( )

0 1

1 nj

sj n

yn n = +− ∑

4. Thực nghiệm Xây dựng hai mô hình Baseline và HMM

để kiểm thử khả năng nhận dạng màu da thì thấy, khả năng nhận dạng của HMM tốt hơn Baseline.

5. Định hướng phát triển HMM có khả năng nhận dạng tốt hơn

Baseline, tuy nhiên do phải lấy mẫu, tốc độ phụ thuộc vào kích thước ảnh, cỡ mẫu nên tốc độ chậm hơn nhiều so với Baseline. Nhiệm vụ sắp tới: Cải thiện tốc độ tính toán bằng cách giảm

kích cỡ ảnh mà không ảnh hưởng tới nhận dạng hoặc có thể giảm số chiều của không gian màu RGB. Cải thiện khả năng nhận dạng; ở đây,

chúng ta chỉ mới áp đặt ràng buộc cho khả năng xuất hiện màu da của hai điểm lân cận, thực tế vùng da còn xuất hiện theo từng nhóm màu… Áp dụng vào nhận dạng ảnh khiêu dâm.

Page 56: 0411

- 53 -

Page 57: 0411

- 54 -

XÂY DỰNG HỆ THỐNG BÁO ĐIỆN TỬ TRÊN NỀN TẢNG PORTAL VÀ CMS

Nguyễn Bình Nguyên

MSV: 0122015 Email: [email protected]

Người hướng dẫn: TS. Lê Trọng Bài

1. Giới thiệu Cùng với sự phát triển mạnh mẽ của Internet

đã tạo nên loại hình hoạt động báo chí mới gọi là “báo điện tử” hay còn gọi là eNews. Báo điện tử là loại hình hoạt động báo chí thông qua Internet để chuyển tải thông tin, kiến thức đến cho bạn đọc. Loại hình báo điện tử này có một số điểm khác biệt so với các loại hình hoạt động báo chí thông thường khác(Báo in, báo ảnh, báo hình, …). Đặc biệt là khả năng nhanh nhạy trong việc cung cấp thông tin mà các loại hình khác không có được. Trong đề tài này, tôi sẽ xây dựng một hệ thống báo điện tử.

2. Tổng quan về Internet Internet thường được gọi là Net là một mạng

lưới của những mạng máy tính. Tiền thân của mạng Internet là mạng ARPANET của cơ quan quản lý nghiên cứu phát triển thuộc bộ quốc phòng Mỹ. Internet có các dịch vụ phổ biến như dịch vụ WWW(World Wide Web), Email, Telnet, truyền file(FTP), … Internet còn có rất nhiều giao thức(là các quy tắc để các máy tính có thể hiểu được nhau) như: giao thức truyền siêu văn bản(HTTP), giao thức TCP/IP, … Internet có sử dụng một số công nghệ sau: công nghệ web tĩnh(các tài liệu được xây dựng sẵn, cố định trên máy chủ), công nghệ web động, công nghệ cổng thông tin điện tử(Portal), công nghệ quản trị nội dung CMS, …

Internet chính là môi trường hết sức thuận lợi cho sự ra đời và phát triển của báo điện tử. Sự phát triển của Internet làm cho báo điện tử cũng sẽ phát triển mạnh mẽ hơn.

3. Tìm hiểu về Portal và CMS Trước khi tìm hiểu về mô hình hoạt động

của báo điện tử, tôi sẽ tìm hiểu về các công nghệ mà nó sử dụng là Portal và CMS:

Portal là một ứng dụng web thường bao gồm các tính năng: cá nhân hóa, đăng nhập một lần, tích hợp thông tin từ nhiều nguồn khác nhau và đưa vào tầng trình diện của hệ thống thông tin.

Portal là bước tiếp theo của công nghệ web. Sau đây là một số tính năng cần có của portal: Khả năng cá nhân hóa Tích hợp và liên kết nhiều loại thông tin Xuất bản thông tin Hỗ trợ nhiều môi trường hiển thị Khả năng đăng nhập một lần Quản trị portal Quản trị người dùng Cung cấp môi trường cộng tác

Hệ quản trị nội dung CMS là hệ thống xây dựng dựa trên nội dung(văn bản, hình ảnh, âm thanh, file, …) được thu thập, quản lý, và xuất bản dựa trên thông tin về nội dung. Thông tin về nội dung lại được quản lý để đảm bảo hệ thống có cấu trúc chặt chẽ và hiệu quả. Sau đây là một số chức năng cần có của CMS: Tách biệt phần nội dung và hiển thị Có luồng công việc(workflow) mềm

dẻo, linh hoạt. Các luồng hỗ trợ việc tạo, kiểm duyệt, và xuất bản nội dung.

Có các công cụ để quản lý nội dung, công cụ biên tập nội dung, công cụ quản lý trang, và trang quản trị.

Có khả năng tích hợp ứng dụng khác, và thêm các tính năng tùy chọn.

Cơ chế tìm kiếm hiệu quả, nhanh chóng, và chính xác.

Có công cụ để theo dõi, thống kê, báo cáo về sự hoạt động của hệ thống.

Từ những tính năng của Portal và CMS. Hai công nghệ này có thể xây dựng được độc lập. Tuy nhiên, kết hợp giữa Portal và CMS sẽ tạo nên một hệ thống hoàn chỉnh. Khi đó, Portal sẽ trở thành tầng trình diện của CMS. Do đó, ta có thể áp dụng sự kết hợp đó vào mô hình của một báo điện tử.

4. Tìm hiểu mô hình báo điện tử Trước khi có sự xuất hiện của báo điện tử,

đã có rất nhiều loại hình hoạt động báo chí khác như báo in, báo hình, báo tiếng. Tuy nhiên, so

Page 58: 0411

- 55 -

với các hình thức đó, báo điện tử có những điểm khác biệt và mới mẻ hơn. Báo điện tử có những ưu điểm mà các loại hình báo chí khác không có: Tính thời sự nóng hổi Khả năng chuyển tải thông tin toàn cầu Khả năng tương tác nhiều chiều(khả

năng tương tác hai chiều giữa bạn đọc và tòa soạn)

Có thể tổ chức những cuộc giao lưu trực tuyến

Sức chứa to lớn của tờ báo Là tờ báo đa năng và đa phương tiện Dễ dàng tìm kiếm thông tin

Một tờ báo điện tử được tổ chức thành các chuyên mục(là một mảng nào đó), trong chuyên mục có thể có các chuyên mục con. Các bài viết phải nằm trong một chuyên mục nào đó. Trong các chuyên mục lại có các chuyên đề(một vấn đề nào đó thuộc chuyên mục), các sự kiện(là tin tức nổi bật được nhiều người quan tâm). Trong trang chủ, các bài viết nóng hổi nhất, các bài viết mới được hiển thị lên. Mỗi bài viết cụ thể đều chứa tiêu đề, lời dẫn, ảnh minh họa(nếu có), nội dung, tên tác giả, theo nguồn.

Báo điện tử có 2 mô hình hoạt động. Đó là: mô hình quản trị, và mô hình biên tập. Mô hình quản trị dành cho những nhà quản trị trang web, họ chịu trách nhiệm tạo, quản lý trang web(cấu trúc, banner, footer, quảng cáo, menu, biểu mẫu, khung mẫu, …). Họ còn phải chịu trách nhiệm quản lý người dùng(thêm, xóa người dùng, định nghĩa nhóm, và quyền cho nhóm, …). Ngoài ra, họ còn chịu trách nhiệm về bảo mật của tờ báo. Mô hình biên tập để xuất bản một bài viết. Quá trình này phải tuân theo một luồng công việc, có thể là phóng viên – biên tập viên – phê duyệt – xuất bản. Một mô hình biên tập sẽ có 3 loại biên tập viên: Biên tập viên nội dung: giao cho phóng

viên đi viết bài hoặc biên tập từ một nguồn khác.

Biên tập viên tin tức: xuất bản các bài viết, cũng như chọn các chuyên đề, sự kiện để đưa bài viết vào.

Biên tập viên: là những người vừa có thể viết bài vừa phải kiểm duyệt bài viết từ biên tập viên nội dung.

Tại sao lại phải quản trị nội dung trong hệ thống báo điện tử: Báo điện tử là tập hợp rất nhiều bài

viết(nội dung) nên quản trị bài viết là cần thiết.

Báo điện tử cần có sự tách biệt giữa nội dung và trình diện

Việc quản lý người dùng, cấp quyền cho người dùng là rất cần thiết.

Quản lý luồng công việc của báo điện tử đòi hỏi phải sử dụng CMS.

Tìm kiếm là chức năng không thể thiếu trong một hệ thống báo điện tử. Do đó, CMS sẽ làm cho công việc dễ dàng hơn.

5. Phân tích thiết kế hệ thống báo điện tử Trong phần này, tôi sẽ phân tích thiết kế hệ

thống báo điện tử. Các mô hình sẽ được thể hiện như:

Mô hình nghiệp vụ: mô tả nghiệp vụ của hệ thống. Trong mô hình này, tôi sẽ vẽ mô hình phân rã chức năng và mô hình ngữ cảnh.

Mô hình quá trình xử lý: xác định luồng dữ liệu mức 0 và mức 1.

Mô hình tiến trình: xác định mô hình logic với cấu trúc tiếng Anh.

Mô hình dữ liệu quan niệm: xác định mô hình mối quan hệ - thực thể (E-R).

Mô hình dữ liệu logic: xác định mô hình cơ sở dữ liệu quan hệ.

Thiết kế cơ sở dữ liệu: thiết kế mô hình cơ sở dữ liệu MSSQL.

6. Kết luận Trong khóa luận này, tôi đã tìm hiểu và xây

dựng hệ thống báo điện tử. Hệ thống báo điện tử là một hệ thống khá lớn đòi hỏi cần nhiều người, nhiều kinh phí để triển khai thành công hệ thống. Tôi chỉ mới cài đặt một phần chức năng của hệ thống, cần phải tiếp tục hoàn thành tiếp các chức năng của hệ thống nhất là chức năng hiển thị, xuất bản tới nhiều định dạng, nhiều loại thiết bị.

Tài liệu tham khảo [1] Giáo trình Phân tích thiết kế hệ thống thông

tin (Nguyễn Văn Vỵ – Hà Nội 2004). [2] trang web: vietnamjournalism.com …

Page 59: 0411

- 56 -

ỨNG DỤNG KHUNG LÀM VIỆC CHO BÀI TOÁN LẬP LỊCH

Sinh viên thực hiện : Vũ Văn Thạch – Lớp K46CA –

Email:[email protected]

Người hướng dẫn: PGS.TS. Nguyễn Văn Vỵ

Phấn 1: Khung làm việc 1.Tổng quan về khung làm việc

Như chúng ta đã thấy, không chỉ có mã nguồn được sử dụng lại mà các thiết kế và các đặc tả cũng được sử dụng lại một cách rất hiệu quả. Chúng được chia thành nhiều phần, và được lưu trữ trong các thư viện. Khi cần sử dụng lại, chúng được liên kết lại với nhau thông qua một số định dạng khác nhau tùy theo hoàn cảnh chúng được sử dụng. Chúng ta gọi chúng là các mô hình khung làm việc (model framework).

Các công cụ để thể hiện và để liên kết các khung làm việc này là một dạng gói được dùng phổ biến, được gọi là khung làm việc (framework) hay gói tiêu bản (template package). 2.Các khung làm việc cộng tác

Một sự cộng tác miêu tả sự tương tác giữa các đối tượng được thiết kế để làm việc với nhau. Chúng gửi thông điệp đi nhằm đạt được mục đích đặt ra khi chúng được thiết kế, tức là mỗi đối tượng được thiết kế để nhằm một mục đích nào đó và tất cả các hoạt động của nó đều nhằm vào hoàn thành mục đích đó. Hầu hết các kỹ năng thiết kế hướng đối tượng là về thiết kế sự cộng tác. Kỹ thuật CRC (classes: các lớp, responsibilities: các trách nhiệm, collaborations: các cộng tác) là kỹ thuật cơ bản của việc thiết kế hướng đối tượng và tất cả chỉ là sự phân chia các trách

nhiệm giữa các đối tượng cộng tác với nhau để làm một công việc nào đó. 3. Các khung làm việc hợp thành

Các khung làm việc được tạo ra có thể bao gồm nhiều khung làm việc khác, các khung làm việc có thể cộng tác với nhau để tạo ra một khung lam việc lớn hơn. Nhờ đó một công việc phức tạp có thể phân rã thành nhiều công việc nhỏ hơn và mỗi công việc nhỏ hơn này có thể được thực hiện bởi một hay nhiểu khung làm việc. Khi hợp nhất chúng lại với nhau để giải quyết một bài toán thì chúng phải làm việc ăn khớp với nhau. Phần 2: Vấn đề sử dụng lại

2.1 Sử dụng lại và tiến trình phát triển

2.1.1 Sử dụng lại là gì? Sử dụng lại là một loạt các kỹ

thuật được hỗ trợ trrong hầu hết các công việc thiết kế và triển khai mà ta làm. Chính vì vậy mà một số nhân tố khác liên quan đến phát triển phần mềm như bảo trì, chất lượng phần mềm cũng được cải thiện nhờ sử dụng lại.

2.1.1.1 Nhập khẩu trội hơn hẳn so với việc cắt và dán Việc sử dụng lại không chỉ là sự

cắt dán mã nguồn, một phương pháp “sử dụng lại” cổ điển, nhưng không mang lại hiệu quả cao mà việc sử dụng tập trung vào việc nhập khẩu các gói đã được đóng sẵn. Việc nhập khẩu các gói đóng sẵn có nhiều ưu điểm hơn hẳn so với việc cắt dán thông thường.

Page 60: 0411

- 57 -

2.1.1.2 Nguyên lý đóng -- mở và tính kinh tế của việc sử dụng lại

Theo nguyên lý này, mọi thành phần phải là mở cho việc mở rộng, tức là khi sử dụng lại các thành phần, chúng phải dễ dàng được mở rộng nhưng chúng lại phải đóng đối với việc sửa đổi, tức là không cho phép can thiệp vào bên trong các gói đã được đóng sẵn và được nhập khẩu đó. 2.2 Các điểm cắm

Khi nhập khẩu các gói vào trong phần mềm của chúng ta, thông thường các gói không chỉ ra chi tiết thành phần bên trong của nó mà nó chỉ đưa ra các điểm cắm để chương trình của chúng ta có thể truyền các tham số qua các điểm cắm này. Nhờ đó mà chúng ta có thể sử dụng lại các gói. Các điểm cắm này đôi khi còn được gọi là các ổ cắm bởi không phải cứ có điểm cắm thì có thể sử dụng lại tuỳ ý mà các thành phần cắm vào phải phù hợp với các điểm cắm đưa ra. 2.3 Sử dụng lại trong khung làm việc

Không giống như việc sử dụng lại các thư viện như từ trước tới nay ta vẫn dùng là khi chương trình chính khi chạy sẽ gọi đến các thư viện, còn ở khung làm việc thì cương trình chính lại là khung làm viêc, các chương trình của người sử dụng khi chạy sẽ tự động truyền các tham số tới khung làm việc và khung làm việc sẽ làm cho ứng dụng thực thi các chức năng theo đúng các tham số đã truyền vào. Phần 3: Ứng dụng khung làm việc cho bài toán lập lịch 1.Giới thiệu về khung làm việc JHotDraw

JhotDraw là một khung làm việc ứng dụng có thể được phát triển cho các trình vẽ hình mang tính kỹ thuật. Ban đầu nó được phát triển trong SmallTalk bởi Kent Back và Ward Cunningham. Sau đó nó được phát triển Erich Gamma và Thomas Eggenschwiler (sau này được gọi là nhóm bộ tứ). Phiên bản hiện tại là 6.1 bê ta. Nó là một sản phầm mã nguồn mở rất nổi tiếng, được thế giới mã nguồn mở phát triển hơm 10 năm nay. 2. Giới thiệu bài toán lập lịch và bài toán lập lịch đã thực hiện

Lập lịch là một công việc hết sức quan trọng trong phát triển phần mềm. Việc lập lịch chính xác có một ý nghĩa quyết định đối với việc hoàn thành dự án đúng thời hạn, việc phân bổ tài nguyên và việc quy trách nhiệm trong một nhóm, một tổ chức,vv….. Bài toán của ta là xây dựng một biểu đồ PERT bằng cách sử dụng lại khung làm việc.

Bài toán lập lịch đã giải quyết là dựa trên khung làm việc JHotDraw, ta sử dụng lại khung làm việc của nó, kế thừa và mở rộng các lớp, nạp chồng các phương thức như các điểm cắm vào khung làm việc để tạo ra ứng dụng của mình.

Chương trình cho phép ta có thể tạo ra một biểu đồ lập lịch Pert bằng tay, bằng cách dùng các công cụ trên palette hay bằng một bảng các công việc được lưu trong một file và tự động vẽ các công việc, chúng cũng cho phép ta chỉnh sửa các thông tin về công việc và thêm người hay sửa người thực hiện công việc, thao tác với tài nguyên, thông tin ngày làm việc, chuyển sang biểu đồ Gantt… chương trình cũng cho phép bạn

Page 61: 0411

- 58 -

lưu biểu đồ công việc hiện thời và mở chúng ra. Tài liệu tham khảo: [1] Desmond Francis D’Souza Alan

Cameron Wills, Objects, Components,and Frameworks with UML The CatalysisSM Approach ,

[2] James W. Cooper, The Design Patterns Java Companion.

[3] Jones & Bartlett - Introduction to Java and Software Design

[4] Martin Flower, Analysis Pattern, Reusable Object Model.

[5] OReilly-dot.NET.Framework.Essentials.3rd.Edition

[6] Erich, Gamma, Rechard Helm, Ralph Jonhson, John Vlissides. Design Patterns, Element of reusable object-oriented software.

[7] Tham khảo một số nguồn trên Internet, chủ yếu trong http://www.jhotdraw.org, http://sourceforgce.net

Page 62: 0411

- 59 -

Page 63: 0411

- 60 -

TÌM KIẾM DỮ LIỆU ĐA PHƯƠNG TIỆN

Nguyễn Đại Thắng Giáo viên hướng dẫn: PGS.TS Đỗ Trung Tuấn [email protected]

Giới thiệu

Những tiến bộ gần đây trong công nghệ đa phương tiện, công nghệ Internet, công nghệ truyền thông và sự bùng nổ của World Wide Web đã đưa đến cuộc cách mạng mới cho con người. Con người đã thực sự bước vào kỉ nguyên đa phương tiện, cùng với những tiện ích là hàng trăm vấn đề nảy sinh. Trong đó vấn đề nổi cộm là việc tìm kiếm ảnh, âm thanh và video … để có thể tận dụng được mọi tài nguyên sẵn có trong các tuyển tập và trên Internet. Sự đa dạng của các loại dữ liệu cũng như kích thước ngày càng lớn của chúng yêu cầu phải có những công cụ và phương pháp khác nhau. Khoá luận này tập trung vào các nguyên lý cơ bản cũng như các công nghệ có thể phát triển để tìm kiếm dữ liệu đa phương tiện. Khoá luận cũng Demo một hệ thống lưu trữ và tìm kiếm Video sử dụng các thuộc tính gán.

Chương 1. Các vấn đề cơ bản trong tìm kiếm dữ liệu đa phương tiện Chương này đưa ra toàn bộ các vấn đề liên quan đến tìm kiếm dữ liệu đa phương tiện. Với việc trình bày các kiến thức từ cơ bản nhất cho đến các vấn đề kĩ thuật, chương này có thể giúp ta hiểu được mọi khía cạnh liên quan đến vấn đến tìm kiếm dữ liệu đa phương tiện. Nội dung chính như sau: 1.1. Giới thiệu Giới thiệu về dữ liệu đa phương tiện và nhu cầu tìm kiếm. 1.2. Tìm kiếm thông tin Vấn đề tìm kiếm thông tin trong các hệ thống dữ liệu đòi hỏi phải tuân theo một số tiêu chuẩn.

Trong đó việc sử dụng các ngôn ngữ đánh chỉ số (indexing language) là vấn đề cơ bản nhất cần quan tâm. Việc sử dụng ngôn ngữ này giúp cho các truy vấn người dùng và các mô tả đối tượng trong cơ sở dữ liệu được thống nhất, từ đó giúp việc tìm kiếm được thuận lợi. 1.3. Chuẩn bị các đối tượng thông tin Các đối tượng thông tin trong thực tế là một mớ hỗn độn, chúng ta phải tổ chức chúng vào cơ sở dữ liệu sao cho việc khai thác và sử dụng là thuận lợi nhất. Điều này đối với văn bản là điều dễ dàng, tuy nhiên với loại dữ liệu âm thanh, hình ảnh thì rất phức tạp. 1.4. Tìm kiếm đa phương tiện Với các loại dữ liệu đa phương tiện khác nhau thì phải có các cách thức tìm kiếm khác nhau. Tuy tất các chúng đều có thể đưa về tìm kiếm văn bản tuy nhiên có một số đặc điểm ngăn cản điều này. Ví dụ như đặc tính thời gian của các Video, việc khó khăn khi nhận dạng các âm thanh, tính chủ quan của người dùng v.v. Phần này giải quyết các cách thức tìm kiếm cho các dạng khác nhau của dữ liệu như văn bản, ảnh, video… 1.5. Đối sánh Việc tìm kiếm luôn luôn liên quan đến đối sánh các mô tả đối tượng và truy vấn. Những phương pháp đối sánh nào được sử dụng và hợp lý cho loại dữ liệu nào được giải quyết trong phần này. 1.6. Đo đạc chất lượng Trong khi xây dựng các hệ thống tìm kiếm đa phương tiện ta luôn phải quan tâm đến chất lượng cũng như hiệu suất của hệ thống. Các thông số chính trong việc đo đạc hệ thống như độ chính xác, độ tìm kiếm được phân tích. Chương 2. Một số hệ thống tìm kiếm Chương này đưa ra các trang tìm kiếm áp dụng các phương pháp đã đưa ra trong chương 1 để

Page 64: 0411

- 61 -

minh họa cho tính ứng dụng của chúng. Các mặt mạnh, yếu của các trang tìm kiếm đối với các loại phương tiện (ảnh, âm thanh, Video…) được phân tích. Chương 3. Lưu trữ dữ liệu Video Hệ thống lưu trữ Video có các đặc điểm rất khác so với các hệ thống lưu trữ khác. Sự khác nhau này xuất phát từ đặc tính không gian và thời gian của Video. Do đó, việc xây dựng hệ thống cần tính đến một số vấn đề: 3.1. Xây dựng mô hình dữ liệu Video Có nhiều phương pháp mô hình hoá dữ liệu Video để phù hợp với việc lưu trữ, phân tích và tìm kiếm. Phần này đưa ra một số mô hình chính và trực quan của Video cũng như các điểm mạnh, điểm yếu của chúng. 3.2. Việc phân tích cảnh Video Phân tích cảnh Video rất quan trọng trong việc xác định ngữ ngữ của Video. Một số thuật toán phát hiện sự thay đổi cảnh được đưa ra đối với các cảnh thay đổi đột ngột, thay đổi từ từ và đối với sự thay đổi cảnh trong Video nén. 3.3. Đánh chỉ số Video Để tiện cho việc tìm kiếm, Video cần được đánh chỉ số phù hợp. Ngoài các phương pháp giống với văn bản, một số phương pháp khác đặc trưng cho đánh chỉ số Video cũng được đưa ra. Chương 4. Hệ thống lưu trữ Video Đối với một trường đại học hoặc một tổ chức lớn thì các dữ liệu Video là rất phổ biến. Việc lưu trữ và tìm kiếm loại dữ liệu này thường không cần thiết phải sử dụng các công cụ mạnh mà thường dùng các thuộc tính gán (giống như văn bản) để hỗ trợ việc khai thác Video. Tôi xây dựng một hệ thống Video đơn giản sử dụng các thuộc tính do người dùng gán để hỗ trợ việc tìm kiếm. Tuy nhiên để hỗ trợ cho một khối lượng lớn dữ liệu thì hệ thống cần phải bổ xung các công cụ của xử lý ngôn ngữ. Một hệ thống tham khảo (The Digital Library Project) đang được xây dựng tại trường đại học University of California, Berkeley, USA.

Tài liệu tham khảo.

[1] Gupta, T. Weymouth, and R. Jain M, The VIMSYS model, 1991.

[2] T. G.A. Smith and G. Davenport, The stratification system : A design environment for random access memory, 1992.

[3] E. Oomoto and K. Tanaka, Design and implementation of Video- object database system, 1993.

[4] B. Shahraray, Scene change detection and content-based sampling of Video sequences, SPIE, 1995.

[5] K. Otsuji, Y. Tonomura, and Y. Ohba, Video browsing using bright-ness data, 1991.

[6] Swanberg, C. F. Shu, R. Jain. Knowledge guided parsing in Video databases, 1993.

[7] S. W. Smoliar and H. J. Zhang, Contenr- Based Video indexing and Retrieval, 1994.

[8] Elsevier, A Rule- Base Video Database System Architecture, 2002.

[9] Jelena Tesic, Intelligent Image Database Seaching System, UCSB, 2002.

[10] ChrisTos Faloutsos, Multimedia Indexing, Carnegie Mellon University, Pittsburgh, Pennsylvania, 2002.

[11] Ying Li and C-c Jay Kuo, Introduction to Content-Based Image Retrieval-Overview of Key Techniques, University of Southern, Los Angeles, California, 2002.

[12] Wallapak Tavanapong and Kien A.Hua, Design and Implementation of a Video Browsing System for The Internet, Department of Computer Science, Iowa State University, Ames, USA, 2001.

[13] Marti A.Hearst, Next Generation Web Search: Setting Our Sites, University of California, Berkeley, 2000.

[14] Arjen P.de Vries, Content Dependence in Multimedia Database, Journal of The American Society for Information Science and Technology, 2001.

[15] Dr Andrew Salway, Modelling Multimedia Information, Lectures of Surrey UK, 2005.

Page 65: 0411

- 62 -

HỆ THỐNG QUẢN LÝ THÔNG TIN DU LỊCH

Châu Ngọc Tuấn MSSV: 0122133

Email: [email protected]

Người hướng dẫn: TS. Lê Trọng Bài

1. Giới thiệu

Những năm gần đây, khi đất nước ta đang trên đà phát triển kéo theo sự phát triển về mọi mặt của nền kinh tế xã hội, đời sống của người dân ngày càng được nâng cao, cộng với việc mở cửa giao lưu với bạn bè thế giới đã làm cho ngành du lịch nước ta phát triển mạnh mẽ. Được đánh giá là một ngành “công nghiệp không khói”, du lịch đã được mở rộng và đầu tư mạnh mẽ. Tuy nhiên việc kinh doanh du lịch thì còn nhiều hạn chế, đó là sự bất cập trong việc quản lý các thông tin du lịch, sự manh múm thiếu liên kết trong việc tổ chức các hoạt động du lịch. Để giải quyết các vấn đề trên, đã có nhiều phương pháp có hiệu quả được tiến hành với sự trở giúp của công nghệ thông tin. Trong khuôn khổ khóa luận này chúng tôi sẽ phân tích thiết kế hệ thống quản lý thông tin du lịch, hệ thống được triển khai ở các doanh nghiệp kinh doanh du lịch, hỗ trợ hiệu quả cho các hoạt động của doanh nghiệp đó.

Hệ thống quản lý thông tin du lịch là hệ thống hoạt động trên môi trường Internet, nó có nhiệm vụ tiếp nhận, lưu trữ, xử lý các thông tin từ phía các đối tác và khách hàng, từ đó giúp cho người quản lý (nhà kinh doanh du lịch) có những thông tin cần thiết để tổ chức các hoạt động kinh doanh du lịch một cách hiệu quả, kinh tế, mang lại lợi nhuận cao.

2. Mô tả hệ thống

Hệ thống có 3 tác nhân là: đối tác, khách hàng và người quản trị hệ thống.

2.1 Đối tác

Đối tác ở đây chính là các nhà cung cấp các dịch vụ, các nhà kinh doanh du lịch liên kết với chúng ta. Ta có thể chia các đối tác thành các loại như sau:

- Các nhà cung cấp các dịch vụ ăn uống nghỉ ngơi.

- Các nhà cung cấp dịch vụ vận chuyển.

- Các nhà cung cấp dịch vụ tham quan.

- Các công ty kinh doanh du lịch.

2.2 Khách hàng

Khách hàng là các du khách, những người sử dụng hệ thống để tìm kiếm thông tin và gửi đến hệ thống những yêu cầu của mình. Khi đến với Website hệ thống, khách hàng có thể xem xét và lựa chọn các khách sạn, các tour du lịch được giới thiệu trên Website, hoặc cũng có thể tự đặt tour du lịch cho riêng mình. Sau đó khách hàng gửi đến nhà quản trị các thông tin đó, và nhà quản trị sẽ trả lời khách hàng ngay trong thời gian ngắn nhất có thể.

2.3 Nhà quản trị

Nhà quản trị là các thành viên của công ty, những người quản lý và sử dụng các thông tin nhận được các đối tác và khách hàng. Ta có thể chia nhà quản trị thành ba bộ phận: bộ phận quản trị thành viên, và bộ phận xử lý thông tin.

Page 66: 0411

- 63 -

- Bộ phận quản trị thành viên: Bộ phận quản trị thành viên là bộ phận có quyền lớn nhất trong ba bộ phận. Bộ phận này có chức năng thêm mới, sửa đổi, xóa các thành viên của hệ thống.

- Bộ phận xử lý thông tin: Bộ phận này có chức năng quản lý các đối tác và các dịch vụ mà đối tác cung cấp. Bên cạnh đó bộ phận này còn có chức năng xử lý các đăng ký mà khách hàng gửi tới và quản lý các tour du lịch.

3. Triển khai hệ thống Hệ thống được triển khai trên môi trường

Internet dưới dạng một Website. Dựa vào quy mô và yêu cầu đặt ra của hệ thống chúng tôi đề nghị sử dụng các công nghệ sau:

Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server 2000.

Công cụ phát triển: sử dụng JSP (Java Server Page).

4. Nhận xét Đây là bài toán có tính thực tế cao, khi triển

khai sẽ giải quyết được một khối lượng công việc rất lớn. Trong khuôn khổ khóa luận này, về đối tác mới chỉ giới hạn ở một số nhà cung cấp dịch vụ, chúng ta có thể mở rộng hệ thống để các đối tác có thể cung cấp nhiều dịch vụ hơn nữa, để khách hàng có thêm sự lựa chọn. Bên cạnh đó, có thể thêm các chức năng quản trị cho nhà quản trị hệ thống, tin học hóa các công việc mà nhà quản trị phải làm.

Tài liệu tham khảo [1] Nhập môn UML – NXB Thống kê. [2] Phân tích thiết kế hệ thống hướng đối

tương bằng UML – NXB Giáo dục.

Page 67: 0411

- 64 -

XÂY DỰNG VÀ ỨNG DỤNG PORTAL

Nguyễn Hữu Tuất MSV: 0122145

Email: [email protected]

Người hướng dẫn: ThS. Đào Kiến Quốc

1. Giới thiệu Cùng với xu thế phát triển trên thế giới, việc ứng dụng CNTT vào công tác quản lý tri thức ở các cơ quan quản lý hành chính nhà nước, trường đại học, các doanh nghiệp ở Việt Nam ngày càng phát triển mạnh. Các hệ CSDL ngày càng trở lên đồ sộ và phạm vi hành chính có xu hướng phân tán, nhiều hoạt động đã được tin học hóa và sử dụng môi trường mạng máy tính ngày càng tăng. Từ đó nảy sinh các yêu cầu về quản lý nguồn thông tin, tài liệu của tổ chức, hỗ trợ tìm kiếm và tổng hợp thông tin từ nhiều nguồn khác nhau một cách nhanh nhất, hiệu quả nhất, dễ sử dụng, an toàn, phân quyền người dùng nhằm hỗ trợ hiệu quả trong công tác quản lý. Portal hay còn gọi là “Cổng thông tin” được ra đời chính là để giải quyết các vấn đề trên. Báo cáo này tập trung nghiên cứu ba vấn đề chính:

- Các khái niệm và tính chất của một Portal đầy đủ.

- Phân tích và so sánh đặc điểm một số Portal tiêu biểu đang được ứng dụng hiện nay.

- Xây dựng giải pháp E4Portal và các khả năng ứng dụng.

Việc nghiên cứu các vấn đề trên nhằm cung cấp một cách nhìn đầy đủ và sâu sắc về Portal và các giải pháp Portal đang được phổ biến, để từ đó xây dựng hoặc ứng dụng Portal một cách hiệu quả vào từng điều kiện cụ thể.

2. Các khái niệm và tính chất của “Portal”

1) Các khái niệm chính

Portal: Là một khái niệm tin học, đó là một hệ thống thông tin của một tổ chức hay cơ quan.

Subportal: Mỗi Portal có thể xem là một đối tượng, subportal cũng là một hệ thống Portal, nhưng về mặc logic, nó là portal con của một Portal khác.

Kênh thông tin (chanel): Các thông tin trong một hệ thống thường được chia thành các lĩnh vực, có thể xem kênh là một khu vực trong hệ thống, thể hiện thông tin về một lĩnh vực nào đó.

Single-sign-on (SSO): Cơ chế chứng thực một lần, tức là chỉ sử dụng 1 account và 1 lần đăng nhập duy nhất, sử dụng các dịch vụ của tất cả các ứng dụng trong Portal.

2) Các tinh chất cơ bản của portal. Cấu trúc của hệ thống được lưu trữ trong

CSDL, vì vậy, toàn bộ cấu trúc về mặt nội dung của hệ thống là động, thay đổi được.

Hỗ trợ cơ chế single-sign-on.

Sử dụng template, cho phép thay đổi giao diện.

Hỗ trợ cá nhân hóa người dùng, mỗi người dùng có giao diện và hưởng các dịch vụ do Portal cung cấp khác nhau.

Hỗ trợ cơ chế workflow trong quản trị nội dung thông tin.

Bộ công cụ tìm kiếm mạnh trong toàn bộ Portal.

3. Một số Portal tiêu biểu 1) Các portal mã nguồn mã U-Portal: Portal được phát triển institutions

of higher-education. Các chuẩn U-Portal dựa trên nền tảng Java, XML, JSP và J2EE.

Rainbow Portal: Được phát triển bởi cộng đồng . Rainbow Portal được xây dựng trên nền tảng Microsoft.NET, ngôn ngữ phát triển chủ yếu là C#.

Ngoài ra, có rất nhiều Portal mã nguồn mở như Mamo, .Net Nuke, Moodle…chúng ta có thể tham khảo tại địa chỉ: http://cmsopensource.com.

Page 68: 0411

- 65 -

2) Các Portal mã nguồn đóng Có hai dòng sản phẩm đang cạnh tranh trên

thị trường là:

• Microsoft SharePoint Portal Server. Đây là giải pháp tổng thể về Portal của Microsoft, xây dựng trên nền tảng Microsoft.NET, hệ thống này tập trung chủ yếu xây dựng các Portal danh cho Intranet.

• IBM Webphere Portal. Giải pháp của công ty IBM, xây dựng trên nền tảng Java Webphere, tính năng tương tự hệ thống Microsoft SharePoint Portal.

3) So sánh giữa IBM Portal và Microsoft SharePoint Portal.

TT

Tiêu chí E4Portal / MS-SPS

IBM WebSp

here

Ghi chú

1

Document Management System: Quản trị tập trung hệ thống văn bản, tài liệu

Có DMS, CMS

Chỉ có CMS

2

Các con đường truy cập tài liệu trên Portal

Web, Windows Explorer,

MS Office

Qua Web

3

Công cụ soạn thảo nội dung trên Portal

WYSIWYG, MS Office

WYSIWYG

E4Portal mạnh và thân thiện

hơn với người

sử dụng

4 Tìm kiếm

CSDL, Web,

Exchange Server,

File Server…

CSDL, Web

Tìm kiếm trong nội

dung rất quan

5 Tìm kiếm trong nội dung

HTML, DOC, XLS, PPT,

PDF…

HTML trọng đối với

hệ thống tài liệu

lớn

6 Hỗ trợ tiếng Việt

Hoàn toàn, cả Internet

và Intranet Portal

Chỉ Internet Portal

Ảnh hưởng đến tính

thân thiện

của hệ thống

7

Khả năng giao tiếp trực tuyến và Cảnh báo sự kiện

Email, Text chat, Voice chat,

Video chat, SMS

Email

8

Thu thập, lưu trữ, xử lý và xuất bản thông tin từ các nguồn khác

Có, với bộ công

cụ PeaceSoft CPMP

Không

Yêu cầu cần có

của MOFI

9

Khả năng tích hợp các hệ thống cũ và phát triển thêm các Module mới

Nhanh chóng, đơn giản

Nặng, phức tạp

Page 69: 0411

- 66 -

4. Xây dựng và ứng dụng E4Portal Giải pháp E4Portal được xây dựng là sự

tích hợp các ưu điểm của các hệ thống Portal hiện tại, sau đây là các tính chất và khả năng ứng dụng của E4Portal.

1) Các khả năng ứng dụng

- Tạo ra nhiều cổng thông tin (hệ thống website điện tử) phục vụ các yêu cầu và chức năng khác nhau. Ví dụ: Hệ thống website báo điện tử, hệ thống website âm nhạc giải trí, hệ thống website bình chọn, diễn đàn giao lưu trực tuyến.(các dự án lớn).

- Xây dựng các trang thông tin chuyên đề vào một hệ thống hiện tại(ví dự như báo điện tử) với hệ thống các module chức năng đã cài đặt sẵn.

- Tích hợp và chuyển đổi các hệ thống cũ sang giải pháp E4portal trong thời gian nhanh nhất và giữ nguyên các giá trị thông tin (không mất mát thông tin) nhờ các công cụ có sẵn của E4Portal.

- Kiến trúc của E4Portal cho phép hệ thống phát triển và mở rộng lâu dài, đáp ứng lượng thông tin và thao tác lớn, vì thế hệ thống hoạt động và phát triển liên tục cùng với sự phát triển của tổ chức.

- E4portal có thể triển khai trên một hay nhiều server với cớ chế đồng bộ hóa dữ liệu nhằm đáp ứng lượng thông tin không lồ và khả năng truy cập đồng thời khối lượng người dùng lớn.

2) Các tính năng nổi bật

- Xây dựng nhiều portal với chức năng khác nhau.

Khác với các giải pháp Portal khác chỉ cho phép tạo duy nhất 1 portal và sau đó tạo thêm các trang trong portal đó.Sử dụng E4Portal có thể tạo ra nhiều (không hạn chế) portal, mỗi portal với các mục đích và chức năng riêng biệt vào bất kỳ thời gian nào, ngay trong lúc hệ thống đang vận hành. - Xây dựng giao diện không phụ thuộc vào hệ thống.

Với kiến trúc tách biệt hoàn toàn giao diện với chức năng hệ thống, E4Portal cho phép tạo ra các kiểu dao diện khác nhau cho từng Portal, từng trang một trong Portal, và từng vùng khác nhau trên mỗi trang.

Hơn nữa, trên mỗi trang, người dùng có thể tạo ra các vùng khau nhau (bằng cách tạo

các bảng) và tùy ý cài cắm các module chức năng.

E4Portal cho phép thiết kế giao diện, màu sắc và nội dung hiển thị bằng chính công cụ trực tiếp trên web và người dùng không cần quân tâm đến hệ thống hoạt động bên trong. - Quy trình kiểm duyệt và xuất bản thông tin chặt chẽ.

Hệ quản trị nội dung thông tin của E4Portal hỗ trợ việc tạo các “tin” với nhiều mức độ ưu tiên (mặc định là Nổ bật, chính, tiêu điểm, thường) và biên tập viên có thể định nghĩa thêm. Tin gắn liền với sự kiện, tin đặc biệt...E4Portal cho phép định nghĩa các luồng thông mà các “tin” phải đi qua.

Tất cả các thao tác, tạo, thêm, sửa, phê duyệt của tất cả mọi người đều được ghi lại, vì thế lúc nào cũng có thể kiểm soát được tình trạng tin lưu chuyển trên hệ thống và người chịu trách nhiệm về tin. - Quản trị, phân quyền và thống kê.

Việc phân quyền được gắn liền tới từng Portal, từng trang và từng module chức năng.

E4Portal ghi lại và thống kê toàn bộ các hành động xảy ra trên server cũng như thao tác người dùng, giúp quản trị có thể kiểm soát các hoạt động trên server, người nào login, logout, ai xâm nhập hệ thống, xâm nhập từ địa chỉ IP nào, để từ đó cho phép hệ thống tự động chặn các truy cập trái phép hoặc với mục đích gây nguy hiểm. E4portal cho phép thống kê toàn bộ các thao tác của người dùng đối với hệ thống: Số lượng truy cập, số lượng thành viên online, số lượng truy cập từng trang, từng tin bài, thống kê kết quả đăng tin bài của biên tập viên theo thời gian, mức độ tin…Vẽ các biểu đồ về các thống kê trên. - Các khả năng tích hợp

Cho phép xây dựng và cài đặt thêm các module chức năng vào hệ thống trong lúc đang hoạt động và không gây bất kỳ ảnh hưởng nào đối với hệ thống.

Cho phép liên kết và tích hợp dễ dàng các game tương tác vào hệ thống. Bình chọn thăm dò, game IQ, trắc nghiệm, tương tác hai chiều.

Tích hợp công cụ cho phép truy cập bằng mobile và các khả năng khác…. - Các tính năng khác E4Portal có đầy đủ các tính năng cơ bản của 1 Portal như đã nói ở trên.

Page 70: 0411

- 67 -

5. Kết luận Xây dựng một hệ thống Portal với đầy đủ

các tính năng là một quá trình tương đối khó và cần sự đóng góp công sức của nhiều người. Với sự giúp đỡ của các bạn, phiên bản của E4Portal đã ra đời và hiện đang được chạy thử nghiệm tại công ty Peacesoft.

Những kết quả ban đầu cho thấy tính khả thi và tính ứng dụng thực tế của hệ thống. Trong thời gian tới, chúng tôi sẽ tiếp tục nghiên cứu và phát triển hệ thống, với mục tiêu tạo ra một tổ hợp các hệ thống Portal đa chức năng, ứng dụng được trên mọi lĩnh vực: quản lý hành chính, đào tạo, báo chí, âm nhạc giải trí, tư vấn tiêu dùng…

Tài liệu tham khảo [1] http://u-portal.org . Trang web chính thức

của U-Portal. [2] http://microsoft.com.vn/sharepoiny.

Trang web chính thức của Microsft về SharePoint Portal.

[3] http://cmsmatricx.com. Website so sánh các hệ thống Portal open source.

[4] http://cmsmatricx.com. Website so sánh các hệ thống Portal open source.

Page 71: 0411

- 68 -

THỰC NGHIỆM VÀ ĐÁNH GIÁ MỘT PHƯƠNG PHÁP NHẬN DẠNG CHỮ TIẾNG VIỆT IN

Trần Hà Tuyên Người hướng dẫn: TS. Nguyễn Trọng Dũng MSSV: 0122147 Email: [email protected]

1.Giới thiệu

Nhận dạng chữ (chữ in , chữ viết tay) là một trong những hệ thống nhận dạng nhằm mục đích tự động hoá quá trình thu nhận các thông tin dạng chữ. Trong các hệ thống này , từ một dạng thông tin thu nhận được(các ảnh chữ qua máy scan...) hệ thống sẽ phân tích , sắp xếp, gạn lọc, phân loại chúng và dùng các kỹ thuật riêng biệt để xử lý chúng nhằm đưa ra ý nghĩa các thông tin đó mang tính ứng dụng phục vụ đời sống con người.

Lĩnh vực nhận dạng chữ in đã và đang thu hút được sự quan tâm của nhiều nhà nghiên cứu khoa học trong các lĩnh vực từ tin học đến toán học.... bởi tầm quan trọng của nó . Nhận dạng chữ in đã và đang có mặt trong nhiều ứng dụng như là lưu trữ văn bản , phân loại thư tín, lưu trữ hồ sơ học sinh, thanh toán tiền trong nhà băng, hệ thống thống kê tự động các phiếu điều tra.... Tuy nhiên kết quả của việc nhận dạng nói chung và việc nhận dạng chữ Tiếng Việt nói riêng chưa đáp ứng được nhu cầu thực tế. Vì thế với mong muốn cải tiến nâng cao chất lượng nhận dạng, em đã quyết định nghiên cứu đề tài “Phân tích so sánh các phương pháp nhận dạng chữ Tiếng Việt in” trong bài khoá luận tốt nghiệp của mình. Trong khuôn khổ của đề tài , em tập trung nghiên cứu về phần nhận dạng riêng từng chữ cái sau khi đã được tách khỏi dòng và các từ , đây là phần quan trọng nhất và quyết định đến việc nhận dạng toàn bộ văn bản. 2.Các phương pháp nhận dạng chữ viết

Việc nhận dạng chữ viết thông thường đều tuân theo một số các bước nhất định như : quét tài liệu, tiền xử lý, trích chọn đặc trưng , phân loại và hậu xử lý...Trên thế giới đã có khá nhiều

phương pháp nhận dạng chữ viết chẳng hạn như: phương pháp dùng dãy điểm đặc trưng, phân tích đường biên, phân tích đường trơn, sơ đồ hình chiếu, đối sánh mẫu...Mỗi phương pháp đều có ưu điểm và nhược điểm riêng. Tuy nhiên việc lựa chọn một phương pháp nhận dạng hợp lý còn phụ thuộc vào nhiều yếu tố như là : tổng số lượng chữ mà hệ thống xử lý, loại ký tự mà hệ thống thiết kế, chữ cái thuộc single-font hay là multi-font, có ràng buộc với chữ viết bằng tay hay không, các biến thể của chữ cái thuộc cùng một lớp, chữ nhận dạng có thuộc loại phân tích cấu trúc hay không, độ phân giải của máy scan, phần cứng yêu cầu... 3. Xây dựng thuật toán nhận dạng

Tư tưởng của thuật toán là so sánh chữ cần nhận dạng với một tập mẫu các chữ cái trong cơ sở dữ liệu để xét xem chữ cần nhận dạng giống mẫu chữ nào nhất. Vấn đề là phải đưa ra được đại lượng để đo được độ giống nhau giữa chữ cần nhận dạng với mẫu.Vì thể ta xét toàn bộ giá trị các điểm ảnh của ảnh chữ và mẫu nhận dạng và so sánh từng cặp giá trị ở cùng vị trí với nhau. Ta xét :

mδ (i,j)=⎩⎨⎧ =∧=

lai nguoc 0)()(neu1 jyix mm

Trong đó ym và xm là giá trị điểm ảnh thứ m của ảnh chữ và mẫu, i,j có giá trị 1 hoặc 0 vì là giá trị điểm ảnh của ảnh đen trắng.

Số lượng cặp đồng thời xảy ra khi X[m]=i và Y[m]=j là :

ijn = ),(1

jin

mm∑

=

δ

Ở đây ta xét toàn bộ điểm ảnh của ảnh chữ và mẫu nhận dạng để tổng hợp kết quả. Do i và j

Page 72: 0411

- 69 -

chỉ có giá trị là 1 và 0 nên nij có các giá trị là n01 , n11, n10 , n00. Từ đó ta đưa ra đại lượng để đo độ giống nhau giữa chữ nhận dang Y và mẫu X như sau:

T(Y,X) = n11 /( n11 + n01 + n10)

Đại lương trên được xây dựng trên cơ sở lấy các điểm đen(điểm ảnh có giá trị 1) làm chính là bởi điểm đen thường có ý nghĩa nhận dạng cao hơn điểm trắng rất nhiều. Khi so sánh chữ cần nhận dạng với mẫu chữ thì đại lượng này phải vượt qua một ngưỡng nhất định thì mới được gán cho mẫu đó, thông thường giá trị này là 0,5 4. Đánh giá các ưu, nhược điểm của thuật toán và các biện pháp khắc phục

Thuật toán nhận dạng nêu trên có ưu điểm đơn giản, hiệu quả , và dễ cài đặt. Tuy nhiên ngoài các ưu điểm thuật toán vẫn tồn tại một số nhược điểm như không thích hợp trong trường hợp ảnh chữ cần nhận dạng bị biến thể, bị nhiễu ảnh chữ bị quay, không cùng kích cỡ với mẫu nhận dạng. Để khắc phục các nhược điểm trên thông thường chúng ta sử dụng các biện pháp tiền xử lý thích hợp , kết hợp với sử dụng một tập mẫu cho mỗi loại chữ cái cần nhận dạng. 5. Cài đặt thực nghiệm

Chương trình được cài đặt và tiến hành thực nghiệm qua 3 lần sử dụng khoảng 40-50 bộ mẫu chữ và cho kết quả tương đối chính xác. • Thực nghiệm 1: Chữ nhận dạng và tập mẫu chữ có cùng kiểu phông. • Thực nghiệm 2 : Chữ nhận dạng và tập mẫu khác kiểu phông nhau. • Thực nghiệm 3 : Sử dụng 1 tập mẫu cho riêng từng chữ cái. Ví dụ với chữ a : a , a , a , a ... Ở lần thực nghiệm thứ 1 do chữ nhận dạng và tập mẫu có cùng kiểu nên cho kết quả khá chính xác. Ở lần thực nghiệm thứ 3 chương trình sử dụng một tập mẫu riêng cho mỗi chữ cái đã cho kết quả chính xác khắc phục được

nhược điểm của lần thực nghiệm 2 khi font chữ nhận dạng và mẫu khác kiểu nhau. 6. Kết luận

Trong bài khoá luận tốt nghiệp này em đã xây dựng được một phương pháp nhận dạng dựa trên mô hình Template Matching. Sau một quá trình nghiên cứu, Luận văn đã đạt được một số kết quả như sau:

+ Phân tích so sánh các ưu điểm, nhược điểm của phương pháp nhận dạng chữ.

+ Xây dựng thuật toán nhận dạng chữ và đưa vào hoạt động có hiệu quả

+ Cải tiến thuật toán và đạt được kết quả chính xác như mong đợi.

Tuy nhiên do số lượng mẫu nhận dạng còn hạn chế nên việc đánh giá thuật toán cũng như khắc phục các vấn đề khác nảy sinh còn hạn chế

Các vấn đề tiếp tục nghiên cứu là xây dựng mối liên hệ giữa các tập mẫu trong cơ sở dữ liệu để có thể giảm thiểu số lượng mẫu chữ cần đưa ra so sánh khi mỗi lần cần nhận dạng mẫu chữ, tìm hiểu các biện pháp tiền xử lý có hiệu quả cũng nhữ các biện pháp hậu xử lý để đánh giá đúng kết quả sau khi đã qua nhận dạng.

Tài liệu tham khảo :

[1] D. H. Ballard and C. M. Brown, Computer Vision , pp. 65-70. Englewood Cliffs, New Jersey : Prentice- Hall, 1982

[2] P. Gader, B. Forester, M. Ganzberger, A.

Gilles, B. Mitchell, M. Whallen, and T.Yocum, “Recognition of handwritten digits using template and model matching” Pattern Recognition, vol. 24, no. 5, pp 421-431, 1991.

[3] TRIER, JAIN , and TAXT : Feature

Extraction Methods for Character Recognition – A Survey.

[2]

Page 73: 0411

- 70 -

BÀI TOÁN QUẢN LÝ HỢP ĐỒNG XÂY DỰNG CƠ BẢN

Nguyên Hoang Tung MSV: 0122155

Email: [email protected]

Người hướng dẫn: TS. Đô Trung Tuân (ĐH KHTN – ĐHQG Hà Nô i)

1. Giới thiệu Quan ly xây dưng cơ ban la môt công viêc phưc tap va xây dưng môt hê thông thông tin hơp ly cho môt công ty hoat đông trong linh vưc xây dưng la môt bai toan không đơn gian. Viêc quan ly môt cach hơp ly giup tiêt kiêm chi phi, tăng doanh thu, chông thât thoat, tham nhu ng – mô t vân đê đang nôi cô m trong thơi gian gân đây. Đê tiêp cân va giai quyêt bai toan nay tôi đa tim hiêu Công ty Cô phân liên hơp xây dưng Huy Hoa ng (HCJ) co tru sơ tai thanh phô Hai Pho ng. Pham vi cua bai toan giơi han trong viêc quan ly cac hơp đông vê xây dưng cơ ban trong đo co hơp đông vê đâu tư xây dưng cơ ban va hơp đông vê mua ban va cho thuê vât tư, vât liêu xây dưng, may moc thiêt bi xây dưng. Đây la nhưng hoat đông diên ra thương xuyên nhât đôi vơi nhưng công ty chuyên vê xây dưng như HCJ.

2. Phương phap xây dưng Hê thông đươc xây dưng dưa trên hương câu truc, phat triên theo mô hinh vong đơi. Chương trinh demo đươc xây dưng dưa trên công cu Visual Basic, cơ sơ dư liêu SQL.

3. Cac nôi dung chinh a. Khao sat va mô ta bai toan Trong phân nay tôi se đi tư tông quan vê tô chưc (giơi thiêu chung, cac chưc năng cua tô chưc,..), tơi sơ đô tô chưc, cac đơn vi chưc năng va hoat đông nghiêp vu cu a cac phong ban đơn vi, rôi khao sat hiên trang nghiêp vu cung như hiên trang ưng dung tin hoc trong tô chưc.

Bai toan đươc mô ta gôm 2 nhiêm vu lơn cân thưc hiên đươc la quan ly cac hơp đông vê đâu tư xây dưng cơ ban va quan ly hơp đô ng vê mua ban va cho thuê vât tư, vât liêu xây dưng, may moc thiêt bi xây dưng.

Môt hợp đồng về đầu tư xây dựng cơ bản sẽ bắt đầu từ khi công ty nhận nhận được hồ sơ mời thầu của chủ đầu tư, công ty đâu thâu, thăng thâu, rôi ki hơp đông vơi chu đâu tư, sau đo công ty tiên hanh xây dưng công trinh, hoan thanh công trinh va hơp đông kêt thuc khi hai bên ki nghiêm thu, thanh ly công trinh.

Môt hơp đông vê mua ban va cho thuê vât tư thiêt bi băt đâu tư luc hai bên ki hơp đông kinh tê đên khi thanh ly hơp đông.

b. Phân ti ch va thiê t kê hê thông Trong phân nay khoa luân se lam nhưng công viêc sau:

- Mô ta cac nghiêp vu môt cach chi tiêt.

- Xây dưng tiên trinh nghiêp vu

- Xây dưng cac mô hinh vê thưc thê

- Xây dưng sơ đô ngư canh, cac biêu đô luông dư liêu

- Xây dưng sơ đô phân ra chưc năng

- Thiêt kê cac module

- Đăc ta cac tương tac, giao diên

- Đăc ta Cơ sơ dư liêu

...

c. Xây dưng chương tri nh Chương trinh demo đươc xây dưng chu yêu dưa trên công cu Visual Basic va cơ sơ dư liêu SQL. Phân nay khoa luân se trinh bai cac nôi dung vê:

- Giơi thiêu công nghê ap dung:

Giơi thiêu vê bô công cu Visual Basic, SQL.

- Giơi thiêu chương trinh Demo.

Thiêt kê chi tiêt cơ sơ dư liêu.

Thiêt kê cac chưc năng.

Giơi thiêu cac giao diên cua chương trinh, cac menu, cach hoat đông cua cac chưc năng

Page 74: 0411

- 71 -

4. Kê t luân Trong kho a luân nay, tôi đa khao sat, mô ta bai toan, phân tich va thiêt kê hê thông, va xây dưng đươc chương trinh demo.

Tuy nhiên giơi han cua đê an chi trong viêc quan ly cac hơp đông xây dưng cơ ban, tuy la môt hoat đông quan trong va thương xuyên cua mô t công ty xây dưng nhưng chưa bao tru m hêt hoat đông khac. Đông thơi vi lương thông tin vao ra cua hê thông quan ly hơp đông xây dưng rât lơn va chi tiêt nên phân xây dưng demo con chưa hoan thiên.

Cac vân đê tiêp tuc cân nghiên cưu thêm: quan ly can bô trong công ty xây dưng; quan ly tinh trang sư du ng chi tiêt hơn cua

vât tư, thiêt bi xây dưng; xây dưng cac chưc năng hô trơ theo doi cac tiên triên cua công trinh, hô trơ ra kê hoach,...

Tài liệu tham khảo [1] Đao Kiên Quô c, “Phân tich thiêt kê hê

thông thông tin tin hoc hoa”, NXB ĐH Quôc Gia Ha Nôi(1998)

[2] Nguyên Văn Vy , “Gia o trinh phân tich thiêt kê hê thông thông tin” , NXB ĐH Quôc Gia TP. Hô Chi Minh (2004)

Page 75: 0411

- 72 -

PTTK HỆ THỐNG HỖ TRỢ TIẾP NHẬN HỒ SƠ – LIÊN LẠC CÔNG DÂN VÀ TRẢ KẾT QUẢ THỦ TỤC HÀNH CHÍNH

CHO BỘ PHẬN MỘT CỬA CỦA CÁC SỞ BAN NGÀNH CỦA TP HÀ NỘI

Đỗ Ngọc Tú Mã số Sv: 0122164 Email: mailto:[email protected]

Người hướng dẫn: ThS. Đào Kiến Quốc Đồng hướng dẫn: CN. Nguyễn Việt Tân

1. Giới thiệu. Ngày nay hoạt động hành chính sự nghiệp

ngày càng trở nên phức tạp và hoạt dộng còn nhiều rườm rà gây phiền nhiễu cho nhân dân và các tổ chức khi đến làm thủ tục hành chính. Cơ chế cải cách hành chính theo cơ chế một cửa ra đời đã giúp giảm thiểu rât nhiều cho công tác giải quyết các thủ tục hành chính. Tuy nhiên để hoạt động của các bộ phận một cửa ngày càng có hiệu quả và mang tính hiện đại trong công tác hành chính thì cần thiết có một hệ thống hỗ trợ cho hoạt động của các bộ phận một cửa. Do đó việc xây dựng hệ thống đó theo mô hình xây dựng hệ thống tin học hóa là rất hợp lí và phù hợp, giải quyết được rất nhiều vấn đề đặt ra hiện nay 2. Cơ sở lí thuyết

Phân tích thiết kế hệ thống tin học là một bước quan trọng có thể nói là bậc nhất khi xây dựng một hệ thống. Quá trình phân tích thiết kế sẽ mô tả một cách cụ thể và chi tiết nhất trước khi xây dựng nên hệ thống. Đó là nền tảng để phát triển hệ thống một cách toàn diện chuyên nghiệp và đạt được hiệu quả cao. Việc lựa chọn hướng phân tích theo mô hình hướng chức năng là một cách tiếp cận dễ dàng nhất và có thể đảm bảo phân tích rõ nhất các chức năng của hệ thống và nó cũng giải quyết được hầu hết các yêu cầu của bài toán đặt ra. Thông qua các mô hình chức năng và các thực thể của hệ thống, sẽ đưa ra cái nhìn tổng quát nhất và thể hiện rõ ràng nhất cấu trúc hoạt động của hệ thống. 3. Hệ thống hỗ trợ “Tiếp nhận hồ sơ -

Liên lạc công dân và Trả kết quả thủ tục hành chính”

3.1. Mô tả khái quát

Hệ thống hỗ trợ “Tiếp nhận hồ sơ – Liên lạc công dân và Trả kết quả thủ tục hành chính” là hệ thống đưa ra các mức hỗ trợ quá trình tiếp nhận hồ sơ của công dân. Giúp các cán bộ chuyên viên thực hiện công tác tiếp nhận hồ sơ một cách nhanh chóng và hiệu quả. Nó cho phép công dân có thể không cần đăng kí chờ đợi nộp hồ sơ mà có thể đăng kí thông qua mạng Internet thông qua hệ thống hỗ trợ công dân. Từ đó công dân chỉ cần mang hồ sơ đến nộp tại bộ phận một cửa mà không cần đăng kí hoặc khai báo lại thông tin cá nhân. Ngoài ra hệ thống có thể cho phép nhập trực tiếp thông tin và nộp hồ sơ tại bộ phận một cửa. Qua đó các chuyên viên một cửa không cần ghi sổ nộp hồ sơ. Khi một hồ sơ được nộp hệ thống sẽ cho phép ghi nhận một mã số đế tiên theo dõi và tìm kiếm. Ngoài ra hệ thống còn cho phép thông báo trực tiếp đến công dân về tình trạng hồ sơ, các yêu cầu nộp bổ xung hồ sơ hay các thông báo khác thông qua việc gửi thông tin trạng thái trực tiếp lên HNP (HanoiPortal) hoặc hệ thống hỗ trợ công dân, hoặc gửi tin nhắn đến công dân qua điện thoại di động. Hệ thống còn hỗ trợ việc trả hồ sơ. Khi công dân đên nhận hồ sơ giải quyết chỉ cần trình phiếu hẹn và chuyên viên sẽ thông qua hệ thống tìm ra hồ sơ được trả và tiến hành trả hồ sơ mà không cần tìm kiếm lại thông tin trong sổ sách. 3.2.Các chức năng của hệ thống

Hệ thống bao gồm các chức năng sau: a. Tiếp nhận hồ sơ Cho phép hỗ trợ hai mức tiếp nhận sau: - Tiếp nhận các hồ sơ đăng kí qua mạng Phân rã chức năng: + Tìm hồ sơ đăng kí. + Kiểm tra hồ sơ. + Ghi nhận nộp. + In phiếu hẹn.

Page 76: 0411

- 73 -

+ In phiếu nộp. + In hóa đơn. - Tiếp nhận các hồ sơ trực tiếp tại bộ phận

một cửa chức năng này gọi là chức năng nhập mới. Phân rã chức năng:

+ Nhập thông tin + Kiểm tra hồ sơ + Ghi nhận nộp hồ sơ + In phiếu hẹn + In phiếu nộp + In hóa đơn b. Chuyển thụ lí hồ sơ

Phân rã chức năng: + Lập danh sách chuyển + Chuyển thụ lí + In phiếu bàn giao

c. Theo dõi trạng thái và thông báo công dân Phân rã chức năng: + Xem tình trạng hồ sơ + Xem thông báo + Soạn thông báo + Gửi thông báo

d. Tiếp nhận hồ sơ bổ xung Phân rã chức năng: + Tìm hồ sơ cần bổ xung + Kiểm tra giấy tờ bổ xung + Ghi nhận bổ xung + In phiếu nhận bổ xung

e. Nhận hồ sơ đã giải quyết xong Phân rã chức năng:

+ Lập danh sách nhận bàn giao + Ghi nhận nhận bàn giao + In phiếu nhận bàn giao f. Trả kết quả

Phân rã chức năng: + Lập danh sách trả + Tìm hồ sơ trả + Ghi nhận trả + In phiếu trả g. Lập báo cáo

+ Lập báo cáo tình trạng giảI quyết công việc.

4. Thực hiện Tôi đã cài đặt và lấy mô hình hoạt động của

sở kế hoạch đầu tư làm ví dụ qua đó thấy được:

- Việc thay thế công tác lưu trữ và nhập liệu thủ công bằng hệ thống đã giúp đỡ giải quyết thêm được rất nhiều hồ sơ.

- Việc thông báo chủ động đến công dân và các tổ chức đã giảm thiểu rất nhiều công sức cho nhân dân và được đánh giá là khá tốt tuy chưa thực sự hoàn chỉnh.

- Hoạt động nghiệp vụ đã trở nên hiện đại hơn rất nhiều.

- Cùng với hệ thống hỗ trợ công dân và hệ thống hỗ trợ thụ lí hồ sơ đã thực sự làm tự động hóa công tác hành chính và thể hiện rõ bản chất hiện đại hóa công tác hành chính.

Môi trường sử dụng để phát triển: Mô hình Client - Server. Phát triển trên

nền ngôn ngữ ASP – CSDL: SQL server2000 – Webserver: IIS.

5. Kết luận Trong khuôn khổ khóa luận dù đã rất cố

gắng nhưng cũng chưa thật sự xây dựng được hệ thống một cách hoàn chỉnh và đáp ứng được hết các yêu cầu đặt ra. Hơn nữa việc tiếp cận theo mô hình hướng chức năng là một mô hình có lẽ là cổ điển nên chưa tối ưu hóa được hết các cách thức giải quyết vấn đề. Trong tương lai hệ thống sẽ tiếp tục được hoàn thiện và phát triển. Vì đây là hệ thống khá lớn nên đòi hỏi cần tiếp tục đi sâu hơn nữa trên cơ sở các chức năng cơ bản hiện tại. Tài liệu tham khảo [1] Nguyễn Văn Vỵ, Giáo trình phân tích

thiết kế, ĐHQG Hà Nội [2] ThS . Đào kiến Quốc, Giáo trình phân tích

thiết kế hệ thống thông tin, ĐHQG HN [3] NXB – KHKT. ASP- 3.0 [4] Garry – kelly. ASP- Tutorial

Page 77: 0411

- 74 -

Danh sách cán bộ Bộ môn Công nghệ phần mềm

Danh sách cán bộ giảng dạy

1. ThS. Trần Thị Minh Châu Email: [email protected]

2. TS. Nguyễn Việt Hà Phó chủ nhiệm Khoa CNTT Email: [email protected] Chủ nhiệm Bộ môn CNPM

3. ThS. Đặng Đức Hạnh Email: [email protected]

4. ThS. Vũ Diệu Hương Email: [email protected]

5. ThS. Đào Kiến Quốc Giám đốc TTCNPM Email: [email protected]

6. CN. Nguyễn Việt Tân Email: [email protected]

7. PGS. TS. Nguyễn Văn Vỵ Email: [email protected]

Danh sách thực tập sinh

1. CN. Phan Việt Cường Email: [email protected]

2. CN. Bùi Đức Giang Email: [email protected]

3. CN. Phạm Ngọc Hùng Email: [email protected]

4. CN. Tô Văn Khánh Email: [email protected]

5. CN. Nguyễn Thị Diệu Linh Email: [email protected]

6. CN. Phan Hồ Việt Phương Email: [email protected]

7. CN. Trần Thị Mai Thương Email: [email protected]

Page 78: 0411

- 75 -

Danh sách cán bộ tham gia hướng dẫn

1. ThS.Trần Vũ Việt Anh Công ty Viet Software Email: [email protected]

2. TS. Lê Trọng Bài Công ty Cổ phần Sinh viên Phone: 04.7163827

3. KS. Đặng Việt Dũng Trung tâm CNPM Email: [email protected]

4. TS. Nguyễn Trọng Dũng Viện CNTT Email: [email protected]

5. TS. Vũ Ba Đình Trung tâm KHKT và CNQS` Email: [email protected]

6. PGS.TS. Đặng Văn Đức Viện CNTT Email: [email protected]

7. ThS. Đoàn Minh Phương Bộ môn Mạng Email: [email protected]

8. TS. Lê Văn Phùng Viện CNTT Email: [email protected]

9. PGS. TS. Vũ Đức Thi Viện CNTT Email: [email protected]

10. PGS.TS. Ngô Quốc Tạo Viện CNTT Email: [email protected]

11. TS. Đỗ Năng Toàn Viện CNTT Email: [email protected]

12. PGS. Nguyễn Quốc Toản Trường ĐHCN Email: [email protected]

13. PGS. TS. Đỗ Trung Tuấn Trường ĐHKHTN Email: [email protected]