1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

86 813 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 86
Dung lượng 1,92 MB

Nội dung

+ Common Faccilities: Các tiện ích mà CORBA cung cấp giúp xây dựng và quản lý các thành phần trong ứng dụng, cung cấp các chức năng cơ bản mà mọi chương trình hướng đối tượng đều cần +

Trang 1

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

KHOA CÔNG NGHỆ THÔNG TIN

HÀ NỘI – 2008

Trang 2

ĐẠ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 - 2008

Trang 3

-1-  

3 Giải pháp kết nối ngân hàng và công ty chứng khoán

Nguyễn Xuân Trường ……… 11

4 Nghiên cứu về CORBA và ứng dụng

Nguyễn Viết Duy ……… 13

5 Xây dựng nền tảng phát triển ứng dụng web map hiệu năng cao

Chu Văn Đoàn ……… 17

9 Xây dựng công cụ mô phỏng mạch điện

Nguyễn Thị Thanh Hằng – Nguyễn Anh Tuấn ……… 25

10 Hệ quản trị nội dung và ứng dụng

Trang 4

-2-  

13 Nghiên cứu phân đoạn ảnh cho nhận dạng văn bản

Nguyễn Đức Huy ……… 34

14 Portal mạng trợ giúp Việt Nam – VietnamF1

Nguyễn Duy Hưng ……… 36

15 Refactoring aware version control

Nguyễn Việt Hưng ……… 38

16 Finding heap bounds of Java card applets

19 Các phương pháp nhận dạng chữ viết tay tiếng Việt trực tuyến

Nguyễn Duy Khương ……… 46

20 Xây dựng hệ thống đồ họa 3D hỗ trợ giao diện ZUI dựa trên OpenGL|ES

Nguyễn Văn Lâm ……… 48

21 Hệ quản lý giao việc ứng dụng công nghệ Workflow và công nghệ hướng

Trương Bảo Nam ……… 56

26 Nghiên cứu về kiểm chứng phần mềm dựa trên Aspect

Nguyễn Thùy Nhung ……… 58

Trang 5

-3-  

27 Web services và Ajax trong bài toán Mashup với bản đồ

Nguyễn Trọng Quyền ……… 60

28 Nghiên cứu cài đặt OpenGL|ES trên Java ME

Lê Nguyễn Tuấn Thành ……… 62

29 Hệ thống quản lý bất động sản ứng dụng công nghệ hướng đối tượng

Nguyễn Phương Thảo ……… 64

30 Nghiên cứu kỹ thuật phân tích WCET trong hệ thống thời gian thực cứng

Dương Đình Toan ……… 66

31 Nghiên cứu công nghệ EJB và ứng dụng

Vũ Thu Trang ……… 68

32 Phân tích thiết kế hệ thống quản lý văn bản và hồ sơ công việc

Bùi Quốc Trung ……… 70

33 Ứng dụng công nghệ AJAX trong hiển thị tin nhanh và cá nhân hóa

Nguyễn Văn Trung ……… 72

38 Ứng dụng Web 2.0 theo đinh hướng tích hợp vào portal cá nhân Netvibes

với ứng dụng lịch trình tàu chạy

Nguyễn Minh Tường ……… 83

Trang 6

-4-  

Trang 7

-5-  

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

Chủ nhiệm Bộ môn CNPM

Email: hanv@vnu.edu.vn

NC & PT CNPM

Email: quocdk@vnu.edu.vn

Danh sách nghiên cứu sinh

Danh sách thực tập sinh

Trang 8

-6-  

Danh sách cán bộ tham gia hướng dẫn

Trang 9

WEB 2.0 VÀ ỨNG DỤNG WEBSITE LƯU TRỮ, TÌM KIẾM VÀ XỬ LÝ NHẠC

Họ tên: Nguyễn Thị Châm Cán bộ hướng dẫn: Th.S Nguyễn Nam Hải

1 Giới thiệu

Có thể nói những năm gần đây Web 2.0

đã trở nên quen thuộc với những ai đã và đang

quan tâm đến sự phát triển của web Sự ra đời

và phát triển của Web 2.0 vẫn đang hấp dẫn và

được nghiên cứu bởi nhiều nhà phát triển trên

thế giới

Được xem là một cuộc cách mạng trên

thế giới mạng, thế hệ web mới có những thay

đổi quan trọng không chỉ ở nền tảng công nghệ

mà còn cả ở cách thức sử dụng - hình thành nên

môi trường cộng đồng, ở đó mọi người cùng

tham gia đóng góp cho xã hội "ảo" chứ không

chỉ "duyệt và xem" Thực chất, Web 2.0 có

nghĩa là sử dụng web đúng với bản chất và khả

năng của nó

Thế hệ Web 2.0 đang được mong đợi sẽ

thay đổi những hạn chế mà Web 1.0 chưa làm

được Nó hình thành nên những khả năng tương

tác chưa có hoặc còn quá sơ sài ở Web 1.0

Khả năng tương tác được hoàn thiện trên nhiều

phương diện: công nghệ, chuNn, người dùng,

ứng dụng, nhằm tăng cường tính năng chia sẻ

vốn có của Web 1.0

Với những ưu điểm của mình, tổ hợp

công nghệ Ajax ngày càng đóng vai trò chủ

chốt trong thế hệ web thứ hai này

2 Nội dung khoá luận

Web 2.0

Trình bày tổng quan về web 2.0 Các

động lực để phát triển Web 2.0 như đường

truyền tốc độ cao, băng thông rộng, sự lớn

mạnh của Internet, gia tăng số lượng người truy

cập…Tìm hiểu về các công nghệ dùng trong

Web 2.0 như là RSS, SOA, Ajax…trong đó

công nghệ Ajax đóng vai trò then chốt

2.2 Tổ hợp công nghệ Ajax

Trình bày về lịch sử ra đời, khái niệm của Ajax, miền hữu dụng, nhược điểm cũng như các trình duyệt hỗ trợ Đi sâu vào nghiên cứu N guyên lý hoạt động và các thành phần bên trong công nghệ Ajax như CSS, Javascript, mô hình Dom, XML đặc biệt là đối tượng XMLHttpRequest Chỉ ra cách thức tương tác của Ajax và sự khác biệt so với cách thức tương tác truyền thống

2.3 Xây dựng ứng dụng Website lưu trữ, tìm kiếm và xử lý nhạc

N gày nay khi ứng dụng CN TT đã được

đi sâu vào đời sống nhân dân, đặc biệt khi internet đang được phát triển nhanh chóng như bây giờ Các hình thức giải trí của con người không chỉ là TV, hay đi đến một nơi giải trí nào

đó Với ưu điểm của Internet con người có thể

có các hình thức giải trí, tìm kiếm thông tin,.v.v…ngay tại nhà mình Để phục vụ các nhu cầu trên của người dùng internet, rất nhiều các website tìm kiếm, giới thiệu sản phNm, bán hàng trực tuyến v.v… phục vụ cho nhu cầu tìm hiểu và giải trí của người dùng đã ra đời Cũng nhằm mục đích đánh vào thị hiếu người dùng, với mong muốn thu hút nhiều người truy cập vào website, Chúng tôi đã quyết định xây dựng một website tìm kiếm, lưu trữ và xử lý nhạc phục vụ cho nhu cầu giải trí của người sử dụng Internet

Phân rã chức năng của website :

¾ Quản lý website

o Quản lý tài khoản admin

- Thêm tài khoản

- Sửa tài khoản

- Xoá tài khoản

o Quản lý file nhạc

Trang 10

- Thêm file nhạc

- Sửa file nhạc

- Xoá file nhạc

o Quản lý user

- Xem tài khoản user

- Xoá tài khoản user

- Thêm bài hát vào playlist

- Xoá bài hát khỏi plalist

o Gửi comment

Giải pháp công nghệ

Sử dụng tổ hợp công nghệ Ajax với

chức năng của các công nghệ bên trong như

sau:

• XHTML+CSS với vai trò hiển thị

thông tin

• Mô hình tương tác và hiển thị động

DOM (Document Object Model)

• Trao đổi và truy cập/tác động lên

thông tin sử dụng XML và XSLT

• N hận thông tin không đồng bộ với

đối tượng XMLHttpRequest

Javascript với vai trò kết hợp 4 công

nghệ trên lại với nhau

2.4 Thực nghiệm

Tôi đã cài đặt thử nghiệm website lữu

trữ, tìm kiếm và xử lý nhạc Kết quả thực

nghiệm cho thấy bài toán phân tích thiết kề phù

hợp với quy trình thiết kế, có giá trị thực tế cao

giúp người dùng có thể giải trí qua mạng, tương

tác và góp phần làm phong phú cho website

2.5 Kết luận

Sau thời gian nghiên cứu về Web 2.0 tôi

đã nắm được các công nghệ trong ứng dụng

web, đặc điểm chung của Web 2.0 và đi sâu nghiên cứu về tổ hợp công nghệ Ajax Cùng với kiến thức đó tôi đã xây dựng được ứng dụng Website lưu trữ, tìm kiếm và xử lý nhạc

3 Tài liệu tham khảo

[1] Bùi ngọc khải N ghiên cứu, phát triển ứng dụng web với công nghệ ajax Khoá luận tốt nghiệp đại học chính quy, Đại học Công nghệ, ĐHQG Hà N ội 2007

[2] Phan Anh Tu Xây dựng hệ thống đấu giá trực tuyến trên Internet Khoá luận tốt nghiệp đại học chính quy, Đại học Công nghệ, ĐHQG Hà N ội 2007

[3] Lee Babin Beginning Ajax with PHP, from N ovice to Professional 2007

[4] Sang Shin, Java Technology Architect Sun Microsystems AJAX Basics

[8] http://nguoitapviet.info Ajax – tương lai của ứng dụng web

[9] http://w3schools.com/ajax và

http://w3schools.com/php

[10] http://en.wikipedia.org/wiki/Web_2

[11] http://vnexpress.net Toàn cảnh Web 2.0 qua 8 định nghĩa.

Trang 11

NGHIÊN CỨU VỀ CÔNG NGHỆ PORTAL

1 Giới thiệu

Ngày nay với sự bùng nổ của Internet và

lượng thông tin đồ sộ đã làm thay đổi bộ mặt thế

giới web cũng như thói quen duyệt web của người

dùng Những năm gần đây, nhiều trang thông tin

điện tử (website) của các tổ chức, cá nhân ra đời

dẫn đến hệ quả là quá tải thông tin Mỗi wesite

thường cung cấp những dịch vụ và ứng dụng khác

nhau gây phiền toái và mệt mỏi cho người dùng

khi họ phải nhớ quá nhiều tên và mật khNu để có

thể truy xuất thông tin hoặc sử dụng dịch vụ của

các hệ thống khác nhau Hơn nữa, các website

hiện nay yêu cầu tính tương tác và tùy biến cao

của người dùng, tạo khả năng tương tác tối đa

giữa người dùng và các nguồn thông tin, giữa

người dùng với các ứng dụng tác nghiệp và giữa

các ứng dụng với nhau

N hững bất cập trên cùng hàng loạt yêu cầu

cấp thiết khác nảy sinh từ thực tế phát triển đã

xuất hiện một khái niệm mới, đồng thời cũng là

một xu hướng công nghệ mới là Portal

2 2 Tổng quan về công nghệ Portal

2.1 Khái niệm về portal

“Portal, tên đầy đủ là Web Portal, là một hệ

thống hoạt động trên Web, định danh và xác thực

người dùng đăng nhập, từ đó sẽ cung cấp một

giao diện web để người dùng dễ dàng truy cập,

khai thác thông tin và dịch vụ cũng như thao tác,

tuỳ biến các công việc tác nghiệp của mình một

cách nhanh chóng và đơn giản”

2.2 Kiến trúc của portal

Các ứng dụng Portal hầu hết đều được xây dựng trên cở sở kiến trúc 3 tầng sau :

Tầng trình diễn: Cung cấp một khung nhìn hợp nhất cho các ứng dụng nghiệp vụ

Tầng phục vụ ứng dụng: đóng vai trò là bộ não của portal Tầng này cung cấp hầu hết các chức năng chính của một portal

Tầng dịch vụ thông tin là tầng cung cấp hạ tầng thông tin của tổ chức

2.3 Một số tiêu chuẩn về Portal

JSR 168 : Đây là tiêu chuNn do hiệp hội Java

Community Process công bố, hiện tại chủ yếu được áp dụng cho các portal xây dựng trên nền tảng Java ChuNn này chỉ ra cách tương tác giữa portlet với portal framework

WSRP : ChuNn này do OASIS (Organization for

the Advancement of Structured Information Standards) công bố ChuNn này chỉ ra các thức giao tiếp giữa một portal server với remote portlet thông Web Services

3 Một số tiêu chuẩn về Portal

Trang 12

ngặt các luật và có thể kết hợp với các fragment

khác tạo nên một tài liệu hoàn chỉnh

• Portlet container

Portlet container chạy các portlet và cung

cấp cho chúng môi trường thực thi cần thiết

Portlet container nhận các yêu cầu từ portal và

thực thi các yêu cầu trên những portlet được chứa

bởi nó

2.5 WSRP

Kiến trúc WSRP bao gồm các tác nhân

chính sau:

• producer: là một Web Service(WS), cung cấp

các portlet và cài đặt tập giao diện WSRP,

cung cấp tập các phương thức chung cho các

Consumer

• portlet: Là một thành phần giao diện người

dùng sống trong Producer và được truy cập

thông qua giao diện được định nghĩa bởi

Producer

• consumer: là một WS, gọi tới các WS mà

producer và cung cấp môi trường cho portlet

hoạt động

Consumer có thể tương tác với các portlet

từ xa thông qua giao diện của Producer Mọi

Producer đều phải cài đặt hai giao diện bắt buộc

là giao diện mô tả service, giao diện đánh dấu và

hai giao diện tùy chọn là giao diện đăng ký, giao

diện quản lý portlet

Producer có thể xuất bản các portlet và các

Consumer có thể tìm kiếm và kết nối các portlet

trong trang portal của mình

3 Ứng dụng bài toán xây dựng thư viện

Từ xưa đến nay, thư viện luôn là một trong

những kho tri thức lớn của con người Sự đa dạng

hóa các nguồn thông tin kéo theo yêu cầu quy mô

ngày càng lớn hơn của thư viện Hơn nữa, sự phát

triển internet giúp cho khả năng liên kết chia sẻ tài nguyên giữa các thư viện trở nên dễ dàng hơn

Từ thực tế đó, Portal thực sự là một giải pháp mới trong việc xây dựng thư viện điện tử theo hướng cho phép liên kết, chia sẻ thông tin với thư viện điện tử khác

Các ca sử dụng chính của ứng dụng bao gồm:

1 Quản lý tài liệu

2 Quản lý mượn tài liệu

3 Quản lý trả tài liệu

4 Quản lý bạn đọc

5 Quản lý nhân viên

6 Thống kê & Báo cáo

5 Thực nghiệm

Ứng dụng được viết trên framework Bea

phNm:WebLogic Portal, WebLogic Server,

WebLogic Workshop và sản phNm tùy chọn WebLogic Integration WebLogic Platform (WP)

làm thành một môi trường hoàn hảo để xây dựng portal và các ứng dụng chạy trên môi trường quy

Tài liệu tham khảo [1] Dan Sullivan - Proven Portals: Best Practices for Planning,

Designing, and Developing Enterprise Portals [2] Java(TM) Portlet Specification ("Specification") Version: 1.0 [3] Web Services for Remote Portlets Specification v1.0 [4] http://my.opera.com/Alibobo/blog/portal

Trang 13

GIẢI PHÁP KẾT NỐI NGÂN HÀNG VÀ CÔNG TY CHỨNG KHOÁN

MSSV: 04020038

1 Giới thiệu

Ngày nay công nghệ web services đã và đang

được triển khai và ứng dụng trong rất nhiều lĩnh

vực khác nhau bao gồm cả những lĩnh vực nhạy

cảm, đòi hỏi tính an toàn cao như tài chính, ngân

hàng, … do đó web service cần cung cấp một

mức an toàn đủ để hỗ trợ những công việc như

thế Bên cạnh nhưng mặt thuận lợi do web service

đem lại thì việc đảm bảo an toàn, tin cậy, toàn vẹn

thông tin trao đổi trên web service cũng là một

điều rất quan trọng trong quá trình xây dựng web

service

Nội dung khóa luận đi vào tìm hiểu công nghệ

web service và vấn đề bảo mật liên quan Bài toán

kết nối ngân hàng với công ty chứng khoán đòi

hỏi sự an toàn, tin cậy và toàn vẹn thông tin khi

trao đổi, do đó tôi chọn công nghệ web service để

giải quyết bài toán này

2 Công nghệ Web Service

Webservice là một giao diện trừu tượng

(abstract interface) được thể hiện trong HTML,

dựa trên sự tương tác của User và Web server, nó

là một ứng dụng phần mềm được truy xuất thông

qua web bởi một ứng dụng khác

Các thành phần thường được sử dụng trong

web service thường bao gồm:

− Sự bí mật của dữ liệu được bảo vệ vì kết nối được mã hóa trong suốt sau khi một sự thiết lập quan hệ ban đầu và sự thương lượng khóa session đa xảy ra

− Tính xác thực và tính toàn vẹn của dữ liệu cũng được bảo vệ vì các thông báo được xác thực và được kiểm tra tính toàn vẹn một cách trong suốt

4 Ứng dụng kết nối ngân hàng với công ty chứng khoán

Kinh doanh chứng khoán là một hoạt động diễn ra khá phổ biến hiện nay, trong một bộ phận xã hội không nhỏ, nhưng công việc giao dịch hiện nay vẫn chủ yếu là bằng tiền mặt, công việc này làm mất nhiều thời gian và công sức cũng như làm hạ thấp tính chính xác và bảo mật về thông tin cá nhân của nhà đầu tư

Các hoạt động chính của ứng dụng bao gồm:

− Hiển thị thông tin

Trang 14

− Đăng nhập tài khoản

Ứng dụng được chia làm hai phần

- Server: gồm có web service, các hàm chức

năng để sử lý các yêu cầu từ Client gửi

lên, cơ sở dữ liệu Được phát triển bằng

công cụ lập trình Oracle Jdeveloper và cơ

sở dữ liệu Oracle

- Client: hiển thị giao diện người dùng bao

gồm hiển thị thông tin, đăng nhập, giao

dịch cổ phiếu và đăng xuất Được phát

triển bằng công cụ lập trình ASP.NET

trong bộ Visual Studio NET

6 Kết luận

Khóa luận trình bày tính cần thiết của bài toán kết

nối ngân hàng với công ty chứng khoán, giải pháp

sử dụng mô hình Client – Server để giải quyết bài

toán này, trong đó có sử dụng công nghệ web service để thực hiện

Tài liệu tham khảo

[1] David Chappell, Tyler Jewell: Java Web

Services

[2] Ethan Cerami: Web Services Essentials

Distributed Applications with XML-RPC, SOAP, UDDI & WSDL

Distributed Applications: Integrating XML Web Services and NET Remoting

[4] Paul B Monday: Web Service Patterns: Java

Edition

Donald F Ferguson: Web Services Platform

Architecture: SOAP, WSDL, Policy, Addressing, WS-BPEL, WS-Reliable Messaging, and More

WS-[6] Vo Dinh Hieu: Secure Provision of Composite

Services in an Insecure Networked Environment

http://www.java2s.com

Trang 15

NGHIÊN CỨU VỀ CORBA VÀ ỨNG DỤNG

Nguyễn Viết Duy

Khi công nghệ thông tin ngày càng

phát triển thì nhà phát triển luôn mong

muốn tìm được tiếng nói chung giữa

các ngôn ngữ và độc lập về nền tảng

Vì vậy CORBA ra đời với tham vọng

của OMG là đưa ra một phương pháp

để các đối tượng viết bằng các ngôn

ngữ khác nhau có thể triệu gọi lẫn

nhau theo mô hình đối tượng phân tán

Khóa luận này đi sâu nghiên cứu

về mô hình CORBA và ứng dụng cơ

bản của mô hình này sử dụng ngôn ngữ

Java

2 Mô hình kiến trúc CORBA

Trải qua quá trình phát triển hiện

nay CORBA đã phát triển tới phiên

bản 3.x Phiên bản đầu tiên của

CORBA chính thức ra đời năm 1991

Tổng quan về kiến trúc CORBA gồm

các thành phần:

+ Object Request Broker (ORB):

Đây là nền tảng quan trọng của kiến

trúc giúp các ứng dụng phân tán có

thể hiểu được nhau, là phần trung

gian tạo khả năng cho các mối liên

hệ giữa client/server thông qua các

đối tượng

+ Interface Define Language

(IDL): IDL giúp định nghĩa giao

diện các đối tượng trong ứng dụng

Đây là ngôn ngữ giao diện chứ

không phải là ngôn ngữ thực

thi.Như thế là, bạn có thể viết ứng

dụng trong IDL với mục đích duy

nhất của IDL đó là định nghĩa giao

diện; điều kiện cho sự thực thi của

các giao diện là sử dụng một vài

ngôn ngữ khác

+ Application Objects: Các đối

tượng ứng dụng được xây dựng

+ Common Faccilities: Các tiện ích mà

CORBA cung cấp giúp xây dựng và quản lý các thành phần trong ứng dụng, cung cấp các chức năng cơ bản mà mọi chương trình hướng đối tượng đều cần

+ Object Services: Các dịch vụ cung cấp các chức năng cơ bản để xây dựng ứng dụng CORBA Các phương tiện của CORBA được chia ra làm hai loại: các thành phần theo chiều ngang (horizontal) và các thành phần theo chiều dọc (vertical)

Hình 1: Mô hình kiến trúc của CORBA

3 Bài toán ứng dụng

Để minh họa cho mô hình và kiến trúc của CORBA tôi xin trình bày về các bước xây dựng và biên dịch để chạy một ứng dụng CORBA nói chung, với bài toán cụ thể: StockMarket

Mô tả bài toán: Chương trình

CORBA trên máy khách (CORBA client)

sẽ gọi đối tượng trên máy chủ Đối tượng CORBA trên máy chủ (CORBA server) sẽ trả về giá trị đã tính toán được

Các bước tiến hành:

+ Bước 1: Xây dựng đối tượng

StockMarket trong đó chứa phương thức getStockValue() Được đặc tả bằng ngôn ngữ CORBA IDL Sau khi xây dựng xong đối tượng StockMarket ta tiến hành biên dịch file StockMarket.idl

Trang 16

+ Bước 2: Xây dựng đối tượng

StockServerImpl bằng ngôn ngữ

Java Đối tượng này sẽ kế thừa lớp

_StockServerImplBase được sinh ra

trong bước biên dịch ở trên

+ Bước 3: Cài đặt đối tượng

StockServer là đối tượng CORBA

trên máy chủ và biên dịch

+ Bước 4: Xây dựng trình khách

triệu gọi đối tượng CORBA Ở đây

là việc xây dựng đối tượng

StockMaketClient Sau đó tiến hành

biên dịch đối tượng này

+ Bước 5: Khởi động dịch vụ quản

lý tên của CORBA (tnameserv), tiếp

theo chạy đối tượng CORBA server

và chạy chương trình khách

Kết quả trên trình khách sẽ trả về

giá trị được xác định trong phương

thức getStockValue() của đối tượng

StockServer

4 Kết luận

Khóa luân này đã đi sâu vào nghiên

cứu về mô hình CORBA Khóa luận

này đã đề cập đến các vấn đề: Tổng

quan về CORBA và tổ chức OMG - tổ

chức xây dựng nên CORBA, các thành

phần chi tiết như chi tiết của CORBA:

Kiến trúc ORB (Object Request Broker

), ngôn ngữ IDL (Interface Definition

Language), các dịch vụ (Service) và

tiện ích (Facility) của CORBA và đưa

ra bài toán demo thể hiện việc triệu gọi

các đối tượng từ xa, với việc chỉ ra các

bước xây dựng và biên dịch để chạy

một ứng dụng CORBA nói chung

Bên cạnh các kết quả đạt được

khóa luận còn có những vấn đề khóa

luận này chưa giải quyết hay đề cập

đến Hy vọng khóa luận sẽ là cơ sở

giúp cho việc xây dựng các ứng dụng

Trang 17

XÂY DỰNG NỀN TẢNG PHÁT TRIỂN ỨNG DỤNG WEB MAP HIỆU NĂNG CAO

Chu Văn Đoàn Giáo viên hướng dẫn: TS Trương Anh Hoàng

Email: doan.chuvan@gmail.com

1 Giới thiệu

Web Map là là bản đồ được hiện thị trên

Web Với sự phát triển mạnh mẽ của Internet

cùn sự phát triển của các công nghệ Web mới,

các ứng dụng Web Map ngày càng trở nên quan

trọng và phổ biến đối với người sử dụng Số

lượng người sử dụng nhiều dẫn đến việc các

ứng dụng Web Map phải có được hiệu năng tốt

mới có thể đáp ứng được yêu cầu của người sử

dụng

Trong luận văn này chúng tôi đưa ra kiến

trúc logic chung của một hệ thống Web Map và

phát triển một số thành phần hiệu năng cao cho

hệ thống này

2 Cách tiếp cận

Trước tiên, chúng tôi nghiên cứu các hệ

thống Web Map hiện có trên thế giới, xem xét

các thành phần mã nguồn mở có thể để sử dụng

để tạo nên một hệ thống Web Map Từ đó chúng

tôi xây dựng nên một mô hình ứng dụng Web

Map hiệu quả Đồng thời chúng tôi cũng nghiên

phát triển một số thành phần hiện chưa có trong

các giải pháp mã nguồn mở, hoặc hiện giờ chưa

đạt được hiệu năng mong muốn

4 Các kết quả đạt được

Chúng tôi đã đưa ra được một mô hình hiệu

quả cho các hệ thống Web Map Đồng thời,

chúng tôi cũng đã xây dựng được một số thành

phần quan trọng cho hệ thống Web Map

Một cơ sở dữ liệu nhỏ chứa các dữ liệu

không gian nằm trong bộ nhớ

Phát triển một phần mở rộng cho

Lucene, phần mở rộng này có nhiệm vụ thêm

vào khả năng truy vấn không gian cho Lucene

Phát triển một Routing Server có hiệu

năng tốt Routing Server này có nhiệm vụ tìm

kiếm đường đi trong mạng được Hiện Server

này đạt được hiệu năng tốt hơn so với các thành

phần có sẵn như PgRouting, Pyroute

5 Thử nghiệm và đánh giá

Chúng tôi đã đưa ra các test case để đánh giá

và thử nghiệm các giải pháp được đưa ra Các thử nghiệm được thực hiện trên hệ thống máy tính IBM-PC với bộ vi xử lý Pentium 4 2.4Ghz,

bộ nhớ RAM 2GB Các kết quả thử nghiệm đã chứng tỏ được hiệu quả của các giải pháp này trong một số thử nghiệm cụ thể

6 Kết luận và các cải tiến trong tương lai

Trong luận văn này chúng tôi đã đưa ra một chung mô hình cho các Web Map hiện nay, đồng thời phát triển một số thành phần rất cần thiết cho các ứng dụng Web Map Tuy nhiên các thành phần này chưa hoàn thiện Trong tương lai, chúng tôi sẽ tiếp tục phát triển và hoàn thiện thêm các thành phần này

Bibliography

[1] Bast, H., Funke, S., Matijevic, D., Sanders,

P., Schultes, D.: In: transit to constant time

shortest-path queries in road networks In:

Workshop on Algorithm Engineering and Experiments (2007)

[2] Goldberg, A.V., Harrelson, C.: Computing

the shortest path: A* meets graph theory In:

16th ACM-SIAM Symposium on Discrete Algorithms, pp 156–165 ACM Press, New York (2005)

[3] Gutman, R.: Reach-based routing: A new

approach to shortest path algorithms optimized for road networks In: 6th Workshop on

Algorithm Engineering and Experiments pp 100–111 (2004)

[4] Sanders, P., Schultes, D.: Highway

hierarchies hasten exact shortest path queries

In: Brodal, G.S., Leonardi, S (eds.) ESA 2005 LNCS, vol 3669, pp 568–579 Springer, Heidelberg (2005)

[5] Virtual Earth Tilesystem – Microsoft MSDN

Trang 18

[6] Apache Lucene Documentation

[7] PostGIS Documentation

[8] Oracle Spatial Documentation

[9] Elmasri, R., Navathe B., Fundamentals of

Database Systems Addison Wesley (2003)

Trang 19

DNCH VỤ SMS VÀ ỨNG DỤNG

Nguyễn Minh Đức GV hướng dẫn

MSSV: 0420094 ThS Đào Kiến Quốc

Email: mrdavidsminhduc@gmail.com

1 Giới thiệu

Ngày nay, sự phát triển mạnh mẽ của kỹ

thuật truyền thông di động cùng với sự phổ

dụng của điện thoại di động và dịch vụ SMS đã

kéo theo nhu cầu sử dụng các dịch vụ giá trị gia

tăng trên điện thoại di động ngày càng tăng cao

Các dịch vụ điển hình như: tra cứu thông tin giá

cả, thời tiết, chứng khoán; tải nhạc chuông, hình

ảnh; dịch vụ dự đoán trúng thưởng ngày càng

thu hút đông đảo người tham gia và đem lại

doanh thu đáng kể

Chính vì tiềm năng và sự phát triển mạnh mẽ

của các dịch vụ SMS đã đặt ra vấn đề các nhà

cung cấp dịch vụ giá trị gia tăng cũng như các

nhà cung cấp dịch vụ viễn thông phải không

phong phú, trong phạm vi nghiên cứu của luận

văn chủ yếu đề cập tới các dịch vụ giá trị giá

tăng, loại hình dịch vụ không thuộc các dịch vụ

cơ bản của nhà cung cấp mạng viễn thông Một

hệ thống cung cấp dịch vụ giá trị gia tăng luôn

bao gồm ba thành phần chức năng cơ bản là

người dùng, nhà cung cấp dịch vụ giá trị gia

tăng và nhà cung cấp mạng viễn thông

Việc tìm hiểu về thực trạng và đánh giá tiềm

năng phát triển của mạng di động cũng như dịch

vụ SMS tại Việt Nam hiện nay cũng là một

trong những cơ sở lý thuyết để hoàn thành

nghiên cứu của luận văn

3 Giải pháp xây dựng hệ thống cung cấp dịch vụ giá trị gia tăng dựa trên SMS

Mục tiêu nghiên cứu của giải pháp này là xây dựng một hệ thống đóng vai trò như một trung tâm cung cấp dịch vụ giá trị gia tăng Thông qua các đầu số dịch vụ 8x75 các thuê bao di động sẽ nhắn tin với các đầu số dịch vụ tương ứng để yêu cầu các dịch vụ như: tra cứu kết quả xổ số, kết quả bóng đá, trò chơi trúng thưởng…

Phân tích về mặt chức năng, hệ thống này có

3 chức năng cơ bản:

ƒ Thứ nhất là một website cung cấp nội dung thông tin về dịch vụ Khách hàng theo dõi và tìm kiếm dịch vụ còn nhà cung cấp thì quản lý dịch vụ

ƒ Thứ hai, hệ thống đóng vai trò là trung tâm quản lý tin nhắn, đảm bảo cho các tin nhắn luôn được thực hiện thành công và lưu thông giữa người dùng và nhà cung cấp

ƒ Thứ ba, hệ thống còn đóng vai trò thanh toán, tính cước, đảm bảo cho việc sử dụng dịch vụ thực hiện hợp pháp và công bằng Thiết kế về mặt chức năng của hệ thống gồm

ƒ Nhà cung cấp dịch vụ nội dung: là bộ phận trách nhiệm xây dựng các kịch bản, chương trình dịch vụ nhằm mục đích thu hút người dùng và đạt lợi nhuận trong kinh doanh

Thiết kế về mặt vật lý, hệ thống bao gồm 6 thành phần cơ bản:

ƒ Thứ nhất là thuê bao di động

Trang 20

ƒ Thứ hai là trung tâm dịch vụ tin ngắn

SMSC (Short Message Service Center)

ƒ Thứ ba là công giao tiếp (SMPP Gateway)

đảm bảo việc truyền thông (qua giao thức

SMPP) giữa SMSC và hệ thống xử lý dịch

vụ

ƒ Thứ tư là các Conent Provider – là các

máy chủ ứng dụng xử lý các kịch bản tạo

ra tương ứng với mỗi dịch vụ cung cấp

ƒ Thứ năm là hệ thống WAP/Web Server

cung cấp giao diện cho phép thuê bao di

động kết nối Internet để sử dụng dịch vụ

ƒ Thứ sáu là hệ thống CDR, Billing là hệ

thống tính cước mạng di động

Ngoài ra, việc xây dựng các giải pháp ứng

dụng của dịch vụ giá trị gia tăng còn phải dựa

trên nền tảng sự phát triển của công nghệ mạng

di động, tốc độ và tiềm năng phát triển của các

thuê bao di động và nhu cầu của người dùng ở

mỗi vùng, lĩnh vực và nhóm đối tượng khác

Về mặt thiết kế cơ sở dữ liệu, các thông tin

quản lý bao gồm thông tin về tin nhắn gửi đi và

tin nhắn gửi đến, thông tin về các thuê bao sử

dụng dịch vụ và thông tin về dịch vụ bóng đá

d) Cài đặt và triển khai

Các thành phần khi triển khai ứng dụng gồm

có:

1 Gateway: phần mềm giả lập cổng giao

tiếp SMPP Gateway và trung tâm dịch vụ tin

nhắn SMSC tích hợp Phần mềm được viết trên

nền Java, được phát triển mởi nhóm mã nguồn

mở Logica

2 Simulator: phần mềm giả lập cho phép nhận và gửi tin nhắn với Gateway Phần mềm đóng vai trò là người dùng, viết trên nền Java phát triển bởi nhóm mã nguồn mở Logica

3 SMS_Processes: phần xử lý các dịch vụ tại máy chủ của nhà cung cấp dịch vụ nội dung (Content Provider) Phần mềm phát triển trên nền tảng NET 2.0 và ngôn ngữ C#, được tác giả cùng nhóm phát triển của công ty Tinh Vân cùng xây dựng và mở rộng

4 Website “SMS bóng đá”: là giao diện cơ bản với người sử dụng dịch vụ, đồng thời cung cấp giao diện quản trị cho nhà quản lý dịch vụ Website được tác giả xây dựng bằng công nghệ ASP.Net và C#

5 Kết luận

Nghiên cứu của khóa luận đã khẳng định và làm rõ vai trò của SMS và các ứng dụng của nó trong đời sống Đồng thời nhận định các dịch vụ giá trị gia tăng dựa trên SMS thực sự là một xu hướng phát triển tiềm năng ở trên thế giới cũng như Việt Nam

Trong thời gian thực hiện đề tài, tác giả đã trực tiếp tham gia vào nhóm nghiên cứu của công ty Tinh Vân Qua đó, được trực tiếp tham gia nghiên cứu, xây dựng và phát triển hệ thống dịch vụ “SMS bóng đá” Sản phNm mà đề tài thực hiện là sản phNm có tính hoàn thiện tuy chưa thực sự cao nhưng được đầu tư đúng thời gian, công sức và có tính ứng dụng thực tiễn cao

6 Tài liệu tham khảo

[1] N gô Văn Thứ, Đào Quốc Trung, sinh viên K46, Trường ĐH Công N ghệ, ĐHQG Hà

N ội, Ứng dụng công nghệ di động vào TMĐT [2] Phạm Thị Thu Hiền, sinh viên K47, Trường ĐH Công N ghệ, ĐHQG Hà N ội, Xây dựng hệ thống cung cấp dịch vụ SMS mở rộng dựa trên giao thức SMPP

[3] http://wikipedia.org – M-Commerce, SMS, GSM, CDMA, SMPP,…

[4] http://opensmpp.logica.com [5] Mobile N et – 15 năm phát triển của dịch

vụ SMS [6] PcWorld – Dịch vụ SMS

Trang 21

QUẢN LÝ DANH MỤC ĐẦU TƯ CHỨNG KHOÁN

Nguyễn Văn Đức Cán bộ hướng dẫn: Ths Đào kiến quốc

MSV: 0420098 Cán bộ đồng hướng dẫn:CN.Lê Xuân Thắng

Email: ducnvna@gmail.com

1 Giới thiệu

Quản lý danh mục đầu tư chứng khoán là

công việc rất quan trọng và phức tạp mà bất kì

môt nhà đâu tư nào cũng phải quan tâm và thực

hiện nó Để quản lý danh mục đầu tư chứng

khoán (qldmdtck) phải bắt đầu từ việc tạo tài

khoản cho nhà đầu tư, tiếp theo đó là theo dõi và

quản lý các thông tin về nhà đầu tư trong suốt

quá trình tham gia chứng khoán, lưu trữ và bảo

quản các thông tin về tên tuổi, điạ chỉ …các

thông tin về danh mục chứng khoán đã đầu tư

(mua /bán,còn lại …) Tuy nhiên, các thông tin

này đã được lưu trữ để khai thác theo các khía

cạnh tĩnh thay cho việc chép tay hằng

ngày.Quản lý danh mục đầu tư cần phải tính đến

các dịch vụ tích cực hơn nữa, chẳng hạn nhưng

lấy bảng giá trực tuyến, quản lý lý thông tin của

các công ty, lập cáo báo cáo, tra cứu chứng

khoán, đưa ra biểu đồ dự đoán xu hướng, tối ưu

hóa danh mục đầu tư

2 Mô hình nghiệp vụ hệ thống quản lý

danh mục đầu tư chứng khoán

Quản lý danh mục đầu tư là quá trình liên

tục và có hệ thống gồm 4 bước:

Thứ nhất, xác định mục tiêu đầu tư Trọng tâm

của việc xác định mục tiêu là xác định rõ mức

độ rủi ro có thể chấp nhận được của chủ đầu tư

và mức độ lợi nhuận mong đợi tương thích với

mức độ rủi ro đó

Thứ hai, xây dựng các chiến lược phù

hợp với mục tiêu bao gồm việc lập các tiêu

chuNn và phân bổ đầu tư

Thứ ba, giám sát theo dõi những diễn biến giá cả tương đối của chứng khoán trên thị trường, cả mức độ rủi ro và lợi nhuận mong đợi Thứ tư, điều chỉnh danh mục đầu tư phù hợp với diễn biến của thị trường và mục tiêu của người đầu tư

3 Phân tích hệ thống quản lý danh mục đầu tư chứng khoán

Qua quá trình tìm hiểu nghiệp vụ tôi đã tiến hành phân tích hệ thống và đưa ra được các gói UC như sau:

1 Gói đăng ký thành viên:

2 Gói đăng nhập hệ thống:

3.Gói đăng thoát hệ thông 4.Gói quản lý hệ thống 5.Gói quản lý tài khoản đầu tư

6 Gói khai báo ban đầu 7.Gói quản lý công ty chứng khoán 8.Gói giao dịch tiền mặt

9.Gói quản lý chứng khoán 10.Gói thống kê tài sản 11.Gói biểu đồ phân tích 12.Gói quản lý thành viên

4 Thiết kế hệ thống quản lý danh mục đầu tư chứng khoán

Hệ thống được phân tích và thiết kế theo

mô hình hướng đối tượng UML

Trang 22

Sau khi phân tích xong, tôi tiến hành thiết

kế hệ thống, vẽ các biểu đồ

1 Biểu đồ tuần tự đối tượng

2 Biểu đồ lớp

Qua bản thiết kế này, tôi đã chi tiết đến

từng module cần phải thực hiện và qua đó thiết

kế nên cấu trúc hệ thống trên cả hai mức độ cho

người dùng và người quản trị

5 Giải pháp công nghệ

Ứng dụng được triển khai trên trên môi

trường dotnet với DOTN ET Framework 2.0 của

Microsoft, viết bằng ngôn ngử asp.net và c#

Dotnet là một framework mạnh, cung cấp giao

diện dễ dàng cho người lập trình, tính năng bảo

mật cao Quản lý danh mục đầu tư chứng khoán

là một hệ thống giúp cho nhà đầu tư có thể quản

lý tài khoản của mình qua mạng internet, vì vậy

asp.net là ngôn ngữ sẽ giải quyết được vấn đề

này

Sử dụng ChartDirector for NET (bản dùng thử)

để vẽ được biểu đồ lợi nhuận.Sau khi download

và cài đặt bộ thư viện này, bạn cần phải add

netchartdir.dll vào project của mình Lớp thư

viên ChartDirector dùng để tạo các loại biểu đồ

N ó dễ sử dụng cho người lập trình, có thể định

dạng và chỉnh sửa các loại biểu đồ Dữ liệu của

bản đồ được hỗ trợ bởi ChartDirector bằng cách

gọi ChartDirector API API đảm nhận một

mảng chứa các chuỗi dữ liệu ChartDirector

chứa đựng các thuộc tính của lớp DBTable để

đưa dữ liệu vào từ cơ sở dữ liệu hoặc là bất kỳ

một đối tượng tương thích với ADO.net Dạng

của biểu đồ được định dạng chuNn ảnh có đuôi

(PN G, GIF, JPEG, BMP, WBMP) và theo

chuNn của System.Drawing.Image trong dotnet

Các biểu đồ ChartDirector có thể được xem dễ

dàng trên màn hình, sao chép file và nhúng các

tài liệu khác

6 Kết luận

Trong khóa luận này, tôi tiến hành tìm hiểu nghiệp vụ chứng khoán, đã phân tích và thiết kế hệ thống quản lý danh mục đầu tư chứng khoán Đưa ra các giải pháp cho hệ thống ứng dụng

Trong thời gian làm khóa luận, những kết quả đã đạt được là:

Khóa luận đã nêu rõ nghiệp vụ của quản

lý danh mục đầu tư chứng khoán, tính cần thiết phải xây dựng ứng dụng Hệ thống được phân tích, thiết kế rõ ràng, dễ hiểu Giải pháp công nghệ đã được nên ra bao gồm về môi trường và phương pháp triển khai

Tuy nhiên do thời gian có hạn và hệ thống quản lý danh mục đầu tư khá mới mẻ và phức tạp nên tôi chỉ đưa ra một phương pháp giải quyết về chứng khoán.Các modul đã được cài đặt song chương trình thí nghiệm chỉ chạy trên localhost

Trong tương lại, tôi sẽ tiếp tục nghiên cứu các phương pháp giải quyết tối ưu và xây dựng

hệ thống hoàn thiện hơn Và hi vọng chương trình của tối sẽ được ứng dụng rộng rãi

Tài liệu tham khảo

Trang 23

HƯỚNG TIẾP CẬN MỚI VỀ VIRUS

Sinh viên: Đỗ Thị Hà

Mã số SV: 0420108 GV hướng dẫn: Th.S Nguyễn Cảnh Hoàng Email: havirust@gmail.com

1 Giới thiệu

Bảo mật thông tin, an toàn dữ liệu luôn

là vấn đề quan trọng trong mọi thời đại khi

mà công nghệ thông tin đã và đang phát

triển như vũ bão Khi virus máy tính xuất

hiện, những người làm công tác tin học thì

băn khoăn lo lắng còn những người sử dụng

máy tính thì lo sợ khi dữ liệu, chương trình

và máy tính của mình bị phá hoại

Virus xuất hiện quá nhiều và quá nhanh

dưới mọi hình thức và không phải lúc nào

chúng ta cũng nhận biết được sự có mặt của

chúng Chúng phát tán và Nn mình trong các

chương trình máy tính để phá hoại các

chương trình, lấy cắp thông tin mật, gây tổn

thất không nhỏ cho người sử dụng Trong

khi đó, các chương trình diệt virus

(anti-virus) luôn ra đời sau đó Các chương trình

AV này ra đời không thể diệt được tất cả

mọi loại virus, cũng không thể ngăn ngừa

được sự xuất hiện của virus mà chúng xuất

hiện để giảm bớt những thiệt hại do virus

gây ra một cách thấp nhất có thể

Xây dựng một chương trình mới có thể

phát hiện được mọi virus là điều cần thiết:

phát hiện virus dựa trên tần xuất xuất hiện

của chúng Phương pháp này dựa trên đặc

tính lây nhiễm rồi phát tán vào máy tính của

virus

2 Cơ sở lý thuyết

N ăm 1948, John Von N eumann đã đề

xuất ý tưởng về một hệ thống tự sao chép:

Mô hình mô tả việc sao chép trạng thái

nguyên thủy của các máy tự động Và nó đã

được phát triển ở nhiều nước trên thế giới

Dựa trên lý thuyết về việc tạo ra các bản

sao từ các máy tự động mà John Von

N eumann đã đưa ra, virus cũng sử dụng một

số luật để có thể tự nhân bản và phát tán vào

các hệ thống máy tính N hững luật này do

chính người tạo ra virus lập lên

Khả năng tự sao chép của virus phụ

thuộc vào môi trường mà nó tồn tại và phụ

thuộc vào cách mà nó được lập trình Để lây

lan, chúng tự sao chép chính đoạn mã của

mình vào các file thực thi của hệ điều hành

bằng cách sửa header của file thực thi đó

Virus sau khi phát tán vào hệ thống, chúng sẽ tự động lây lan bằng cách tự nhân bản và tạo các biến thể của chính chúng Dựa trên cơ chế lây nhiễm, và lan truyền giữa các file, ổ đĩa trong máy tính và giữa các máy tính với nhau, chúng ta hướng tới một cách tiếp cận mới về virus nhằm xây dựng một chương trình phát hiện virus dựa trên tần xuất xuất hiện của nó

3 Quan niệm mới về Virus

N hững file mà xuất hiện quá n lần, gây hại cho các chương trình hoặc hệ thống, chúng phá hủy dữ liệu, phá hủy phần cứng, làm mất mát chương trình, … đều được coi

là virus

N hững file mà xuất hiện quá n lần nhưng không hề gây hại cho hệ thống, cho chương trình, cho dữ liệu của người dùng hoặc không có bất cứ hành vi làm ảnh hưởng tới

hệ thống và người dùng cũng đều được coi

là virus

N hững file mà xuất hiện quá n lần trong

hệ thống, không hề có hại, thậm trí còn có ích cho hệ thống hoặc cho người dùng trong một số trường hợp nhất định cũng đều được coi là virus

Tóm lại: bất kỳ file nào xuất hiện quá n lần, bất kể có hại, không có hại hoặc thậm trí có lợi cho hệ thống và cho người dùng đều được xếp là virus

4 Hướng giải quyết

1 Can thiệp vào các lời gọi hàm của hệ thống

Lời gọi hệ thống cung cấp giao diện giữa tiến trình và hệ điều hành Là cách mà một tiến trình sử dụng để yêu cầu một hành động của hệ điều hành

Virus lợi dụng những lời gọi này để gọi tới chương trình của nó để kích hoạt thực thi rồi sau đó mới trả lại quyền điều khiển cho chương trình chính

Do vậy, phải ngăn chặn được các lời gọi hàm API của virus:

+ Lấy địa chỉ các hàm API theo tên bằng cách sử dụng hàm do windows cung cấp: GetProcAddress()

Trang 24

+ Khi đã có địa chỉ của kernel ta đối

chiếu với Import Table để đọc địa chỉ của

các hàm API theo tên và kiểm soát được các

lời gọi hàm này

+ Kiểm soát được máy tính ở chế độ

protected mode

2 Can thiệp vào các ngắt của hệ thống

Để có thể can thiệp vào hệ điều hành,

virus chiếm các ngắt và điều khiển tòan bộ

chương trình Do vậy chúng ta phải thiết kế

để có thể điều khiển được các ngắt

+ Thiết kế được các chương trình để

chặn bắt được các ngắt, từ đó có thể can

thiệp được vào các đoạn mã virus

+ Sử dụng các bảng vector ngắt để thay

đổi con trỏ trỏ tới ngắt muốn chặn

3 Giải pháp xây dựng chương trình tìm

kiếm virus

Viết các modul để thực thi một số chức

năng chính như:

+ Đọc các thư mục trong hệ điều hành

Với mỗi thư mục này, lấy full path của nó

+ Lấy tất cả các tên file có trong đường

dẫn thư mục N ếu file có số lần xuất hiện

lớn hơn 2 thì đưa nó vào danh sách virus

+ Tiến hành cập nhật để phân tích file

đó

Khi virus lây nhiễm vào hệ thống, thông

thường, chúng sử dụng kỹ thuật lưu trú để

Nn các file đó đi Và khi đó, chúng ta không

thể tìm hiện được các file Nn bằng chức năng

show hidden file của hệ thống

Yêu cầu là thiết một modul để lấy được

những file Nn này

Hệ điều hành cũng có chức năng tự Nn

các file quan trọng của nó, do vậy, yêu cầu

của modul thiết kế phải tìm được tất cả các

file Nn, và phân biệt nó với những file Nn của

hệ điều hành

Việc thiết kế được moudul này, yêu cầu

người lập trình phải có kiến thức về kiến

trúc máy tính với yếu tố quan trọng là hệ

điều hành để từ đó tìm ra thuật giải xác định

những file Nn mà virus tạo ra

5 Xử lý với những virus đã phát hiện

được

Lưu lại các file này trong cơ sở dữ liệu

để tiến hành phân tích, cập nhật chữ ký của

nó Từ đó cung cấp thông tin để xây dựng

các phần mềm diệt virus có hiệu quả

Việc tiến hành phân tích virus được thực hiện bởi một số chuyên gia phân tích virus trong nước và trên thế giới

Để phân tích những virus này, người ta

sử dụng các công cụ debug dịch ngược virus

từ dạng mã máy sang dạng assemble Từ đó đọc và phân tích nguyên lý hoạt động của virus Đặc biệt là đoạn code đã mã hóa vì đây là điểm quan trọng nhất để giải mã và hiểu được nội dung của virus

6 Thực nghiệm

Đã xây dựng và cài đặt hệ thống với bài toán đơn giản là tìm kiếm các file trong hệ thống theo quan niệm mới về virus để từ đó đưa ra được cái nhìn khái quát về quan niệm mới này

+ Xác định các file xuất hiện quá 3 lần trong hệ thống

+ Lưu lại những địa chỉ file này để kiểm tra, phân tích nó

+ Hiển thị các và kiểm tra các file đã phát hiện sau mỗi lần quét

Thực nghiệm cho thấy, khả năng để xây dựng một chương trình hoàn thiện xác định virus dựa trên tần xuất xuất hiện của có là hòan tòan có thể thực thi được Điều quan trọng là ta phải nghiên cứu kỹ và tìm hiểu cách lây lan, lưu trú của virus trên hệ thống

để từ đó tìm kiếm chúng một cách có hiệu quả Khi chương trình được xây dựng thành công, nó sẽ giải quyết được một vấn đề lớn

về virus, từ đó có thể xây dựng được bộ dữ liệu phong phú về virus và hướng tới xây dựng một chương trình diệt virus có hiệu quả cao nhất

7 Kết luận

N ội dung chính của khóa luận là đã đưa

ra được cách tiếp cận mới về virus: Phát hiện virus dựa trên tần xuất xuất hiện của chúng Từ đó, chúng ta có thể tiến hành xây dựng một chương trình demo tìm kiếm các file có số lần xuất hiện lớn hơn 3 trong hệ thống

Khóa luận cũng đưa ra được hướng giải quyết và thuật toán để hướng tới xây dựng một hệ thống tìm kiếm virus hoàn chỉnh, làm nền để xây dựng các chương trình diệt virus có hiệu quả

8 Tài liệu tham khảo

[1] http://vi.wikipedia.org/wiki/Virus

[2] Peter Szor The art of Computer virus research and defense

Trang 25

XÂY DỰNG CÔNG CỤ MÔ PHỎNG MẠCH ĐIỆN

Ngày nay, công nghệ thông tin đã có những sự

phát triển vượt bậc với tiềm năng vô cùng to lớn,

được ứng dụng trong hầu như tất cả các lĩnh vực

của cuộc sống và đã có những đóng góp rất đáng

kể, đặc biệt là trong giáo dục

Khóa luận tốt nghiệp với đề tài “Xây dựng công

cụ thiết kế mạch điện” cung cấp công cụ thiết kế

mạch điện cho phép vẽ được tất cả các loại mạch

điện trong chương trình phổ thông như mạch song

song, mạch nối tiếp, mạch kết hợp, mạch cầu,…

với các thiết bị điện như: nguồn một chiều, nguồn

xoay chiều, điện trở, biến trở, cuộn cảm, tụ điện,

vôn kế, ampe kế, đèn, công tắc,… dưới dạng các

ký hiệu như quy định trong Sách Giáo Khoa hoặc

các hình ảnh giống thật, sinh động Đồng thời

cung cấp công cụ giải mạch để học sinh có thể

quan sát một cách trực quan, thực hành và thu

được kết quả với số liệu thực tế Hơn nữa, công

cụ này có thể được tích hợp vào phần mềm Violet

- một phần mềm Việt Nam hỗ trợ mạnh mẽ cho

giáo viên trong việc tạo ra các bài giảng điện tử -

nhằm giúp cho giáo viên có thể tạo ra các bài

giảng Vật lý về mạch điện với những ví dụ sinh

động chứ không

2 Tổng quan về phần mềm VIOLET và công

cụ thiết kế mạch điện

Violet được xây dựng dựa trên nền tảng Flash

cung cấp đầy đủ các chức năng cần thiết để tạo

các trang bài giảng như: cho phép nhập các dữ

liệu văn bản, công thức, các file dữ liệu

multimedia (hình ảnh, âm thanh, phim, hoạt hình

Flash ), sau đó lắp ghép các dữ liệu, sắp xếp thứ

tự, căn chỉnh hình ảnh, tạo các hiệu ứng chuyển

động và biến đổi, thực hiện các tương tác với

người dùng Violet cũng có các module công cụ

dùng cho vẽ hình cơ bản và soạn thảo văn bản nhiều định dạng (Rich Text Format) Ngoài ra, Violet còn cung cấp sẵn nhiều mẫu bài tập chuNn thường được sử dụng trong các sách giáo khoa và sách bài tập, công cụ vẽ đồ thị, dựng hình hình học,… Kết lại, Violet là một phần mềm dễ sử dụng mà lại hỗ trợ rất mạnh mẽ cho giáo viên phổ thông giúp tạo ra những bài giảng sinh động, trực quan và dễ hiểu

Mục đích của chúng em khi tạo ra công cụ này này là giúp giáo viên có thể mô phỏng và giải các loại mạch điện trong chương trình sách giáo khoa Vật lý phổ thông, nhờ đó giáo viên có thể đem đến cho học sinh những ví dụ trực quan, hiệu quả

và chính xác hơn trong các bài toán liên quan tới mạch điện Đồng thời, công cụ được xây dựng theo hướng tích hợp vào phần mềm Violet dưới dạng một plugin để giáo viên có thể gộp chung các mạch điện mô phỏng đó vào trong bài giảng điện tử của mình một cách tiện lợi Trong luận văn này, nội dung xây dựng của plugin mạch điện

là cung cấp khả năng thiết kế và giải được bất kỳ một loại mạch điện nào trong chương trình Vật lý phổ thông như mạch song song, mạch nối tiếp, mạch kết hợp, mạch cầu,… với các loại thiết bị điện cơ bản như: nguồn một chiều, nguồn xoay chiều, điện trở, biến trở, cuộn cảm, tụ điện, vôn

kế, ampe kế, đèn, công tắc,… dưới dạng các ký hiệu như quy định trong sách giáo khoa hoặc các hình ảnh giống thật, sinh động Giá trị của các thiết bị điện có thể thay đổi được trong lúc trình chiếu bài giảng, biến trở và công tắc có thể tương tác được như thật, đèn có thể sáng hoặc tắt khi có hoặc không có dòng điện, đặc biệt các thiết bị đo như vôn kế hay ampe kế sẽ luôn chỉ đúng giá trị thực tế bất kể mạch như thế nào Chính vì vậy công cụ thiết kế mạch điện sẽ rất hữu ích trong việc kiểm chứng kết quả của các bài toán mạch điện, hướng dẫn thí nghiệm lắp mạch điện

Trang 26

3 Thuật toán giải mạch

Mạch điện được tổ chức bao gồm các nút (đỉnh)

và các thiết bị (hoặc dây) nối giữa mỗi cặp đỉnh

Chương trình sẽ biểu diễn mạch dưới dạng một đồ

thị rời rạc, trong đó nút điện là các đỉnh, dây và

các thiết bị điện là các cạnh, sau đó áp dụng định

luật Kirchhoff 1 về dòng điện để giải mạch:

Tổng đại số của tất cả các dòng đến và rời một

nút nào đó của mạch điện bằng không

i Ii 0

Dựa vào công thức trên, với dòng điện xoay chiều

có hai thành phần dòng điện Ix, Iy ta có thể biến

đổi và thu được 2 công thức về hiệu điện thế cho

mỗi nút điện:

0sincos

=

+

ux α Zuy α

Từ 2 công thức trên ta viết được 2 phương trình

cho mỗi nút điện với 2 Nn là các thành phần Ux,

Uy N hư vậy với một đồ thị n nút điện, ta sẽ lập

được một hệ phương trình gồm 2*n phương trình

và 2*n Nn Trong quá trình lập hệ phương trình

cần chú ý trường hợp khi nút là một đầu của

nguồn hoặc được nối với nguồn thông qua một

chuỗi thiết bị không có điện kháng thì ta không

viết phương trình dựa theo công thức của định

luật Kirchhoff (bởi vì nguồn là một thiết bị có

Z=0 nên không áp dụng công thức được) mà

loang để tính toán trực tiếp giá trị điện thế của các

nút, từ đó lập phương trình của các điểm đó

Sau khi giải hệ phương trình vừa lập, ta có được

giá trị các thành phần Ux, Uy tại mỗi nút điện, từ

đó có thể tính được hiệu điện thế giữa mỗi cặp nút

4 Thực nghiệm

Chương trình xây dựng dựa trên ngôn ngữ lập trình chuyên biệt của Flash là ActionScript, có thể được chạy một cách riêng biệt trên Flash Player như một sản phNm phần mềm hoặc chạy dưới dạng một plugin được tích hợp vào phần mềm Violet

và hầu như không có lỗi Tuy nhiên để xây dựng được một công cụ thật sự thuận tiện và đáp ứng được tất cả các bài toán về giải mạch trong sách giáo khoa Vật lý là một điều rất khó nên plugin sẽ còn phải được chỉnh sửa và bổ sung thêm nhiều

Tài liệu tham khảo

[1] http://bachkim.vn/violet.asp [2] N XB Giáo dục Vật lý 11

[3] N XB Giáo dục Vật lý 12

[4] Đinh Hải Minh Phần mềm “Mô phỏng mạch

điện”

Trang 27

HỆ QUẢN TRN NỘI DUNG VÀ ỨNG DỤNG

Chúng ta đang sống trong kỷ nguyên của

nền kinh tế tri thức với sự ra đời và phát triển

mạnh mẽ của internet mà qua đó mọi người có

thể dễ dàng tìm kiếm, khai thác và trao đổi thông

tin Làm thế nào để chúng ta có thể quản trị nội

dung cũng như khai thác, trao đổi thông tin khi

các website xuất hiện liên tục và ngày càng

nhiều ? Đây là câu hỏi lớn đang đặt ra cho các

nhà quản lý Những giải pháp quản trị nội dung

Internet đang được phát triển và ngày càng được

chuNn hóa giúp cho các các nhân, tổ chức, doanh

nghiệp thuận tiện dễ dàng hơn trong việc xuất

bản cũng như khai thác thông tin

Xây dựng và phát triển hệ quản trị nội

dung (CMS – Content Management System)

chính là giải pháp cho câu hỏi của chúng ta

Trong phạm vi khóa luận tốt nghiệp này,

tôi tập trung trình bày, nghiên cứu về các đặc

trưng của một CMS và sau đó áp dụng xây dựng

một ứng dụng web CMS

2 Khái niệm về hệ quản trị nội dung

(CMS)

Có nhiều định nghĩa khác nhau về CMS

(Content Management System) và nhiều định

nghĩa cũng chưa thật thỏa đáng Một cách đơn

giản nhất CMS – Hệ quản trị nội dung là một hệ

thống quản lý các thành phần làm nên nội dung

của một website Tuy nhiên “nội dung” là một

khái niệm rất rộng, bao gồm: các tệp ảnh, tệp

audio, tài liệu điện tử, tệp văn bản Do vậy khi nhắc đến CMS, người ta phải nhắc đến các yếu

tố cấu thành nội dung nằm trong phạm vi mà hệ CMS đề cập tới cũng như những đặc điểm trong các chu trình quản lý nội dung đó

Một cách chính xác nhất, CMS là hệ thống quản lý việc khởi tạo nội dung và quá trình xử lý nội dung đó cho đến khi nó được xuất bản phân phối tới người dùng

CMS= “Khởi tạo nội dung + Quản lý quá

trình xử lý nội dung đó + Phân phối tới người dùng”

Trang 28

CMS cung cấp cho bạn - N gười quản trị

website với những bộ công cụ mà bạn cần nhằm

tạo ra nội dung của website một cách tiện lợi

nhất Một CMS làm điều này thật dễ dàng, các

thao tác: thêm, cập nhật, xóa, chỉnh sửa nội

dung được thông qua một password bảo vệ vùng

điều khiển của bạn và những thay đổi này sẽ

ngay tức khắc xuất hiện trên website cho khách

hàng của bạn nhìn thấy

3 Đặc điểm của một CMS

Một CMS bao gồm những đặc điểm cơ bản

sau:

ƒ Tạo và thay đổi nội dung trực tuyến

ƒ Giao diện tương tác tức thời

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

ƒ Tìm kiếm và lập chỉ mục

ƒ Tùy biến giao diện, hỗ trợ đa ngôn ngữ

ƒ Quản lý hình ảnh, liên kết, văn bản

ƒ Hỗ trợ lịch biểu bình chọn

4 Các yêu cầu đối với CMS

Trong môi trường điện toán phức tạp như

hiện nay, thông tin không còn là thực thể riêng lẻ

nữa, nó là một phần trong hệ thống thông tin lớn

hơn, luôn cần có sự kết hợp, cập nhật, trao đổi,

liên thông với nhau Chính vì vậy yêu cầu được

đặt ra cho một CMS bao gồm các đặc trưng cơ

bản:

a Yêu cầu trong quá trình khởi tạo nội

dung

• Cho phép nhiều người sử dụng, làm

việc trên một tài liệu

• Có cơ chế phân quyền, phân cấp cho

từng người dùng trong quá trình

khởi tạo nội dung

• Cung cấp khả năng quản lý các

thuộc tính khác liên quan đến nội

dung thông tin: Tác giả, tiêu đề, từ khóa, thời gian

b Yêu cầu trong quá trình quản lý nội dung

• Quản lý phiên bản tài liệu, quản lý lưu trữ

• Quản lý quy trình biên tập và phê duyệt nội dung thông tin

• Đảm bảo tính bảo mật cao

c Yêu cầu trong quá trình xuất bản thông tin

• Đồng nhất khả năng trình bày với

những loại dữ liệu giống nhau

• Cung cấp các biểu mẫu, định dạng (template) giúp xuất bản nội dung

một cách nhanh chóng thuận lợi

d Yêu cầu công nghệ

• Hệ thống phải tiện dụng, thân thiện với người dùng, tương thích, dễ mở rộng, tuân theo các chuNn xuất bản

5 Chọn lựa công nghệ xây dựng CMS

Luận văn tập trung vào CMS trên nền web

dó đó chúng ta sẽ nói đến những công nghệ xây dựng một Web CMS CMS của chúng ta cần phải viết tập trung trong môi trường web, phải

có khả năng tích hợp với cơ sở dữ liệu và các file

hệ thống Có một số cách tiếp cận sử dụng đa dạng các nền tảng và công nghệ dưới đây:

ASP /ASP.NET JSP

PHP/MySql

Mã nguồn mở (Open Source)

Trang 29

6 Ứng dụng

Sau khi tìm hiểu về CMS và nghiên cứu kỹ

các công nghệ xây dựng nên CMS Chương trình

ứng dụng thực hiện trong khóa luận này sử dụng

công nghệ dựa trên PHP/MySQL và kết hợp với

CSS, JavaScript xây dựng một web CMS quảng

bá cho công ty cổ phần đầu tư xây dựng VKH

Ứng dụng đã xây dựng cả phía người quản

trị và phía người dùng Test tốt trên cả server của

hệ điều hành Linux, lẫn Window và các trình

duyệt Firefox, IE7, IE6

7 Kết luận

Với phạm vi của một khóa luận tốt nghiệp

tôi đã hoàn thành và tìm hiểu được các đặc trưng

cơ bản nhất của một CMS Các hoạt động và các

công nghệ xây dựng nên một CMS Để rồi áp

dụng những kiến thức nghiên cứu được đi xây

dựng một web CMS

Vì lý do thời gian có hạn và kiến thức

cũng như kinh nghiệm còn nhiều hạn chế nên

luận văn không tránh khỏi những thiếu sót Rất

mong nhận được sự góp ý của thầy cô và toàn

Trang 30

KỸ NGHỆ WEB VÀ ỨNG DỤNG TRONG XÂY DỰNG CMS

CHO TRANG TIN TỨC

Quy mô của các ứng dụng trên nền web

ngày càng được mở rộng Sự mở rộng về quy

mô của các ứng dụng trên nền web tất yếu sẽ

kéo theo sự gia tăng về độ phức tạp của các

ứng dụng loại này Điều đó đã đặt ra không ít

khó khăn cho các nhà phát triển Sự gia tăng về

quy mô và độ phức tạp của các ứng dụng đồng

nghĩa với độ rủi ro ngày càng cao Vậy làm thế

nào để tránh và giảm thiểu các rủi ro ấy? Câu

trả lời là cần có một quy trình phát triển chặt

chẽ và được kiểm định nghiêm ngặt Tuy nhiên

các hệ thống và ứng dụng trên nền web có

những đặc trưng rất riêng do đó không thể áp

dụng quy trình kỹ nghệ phần mềm truyền thống

vào quá trình phát triển các ứng dụng trên nền

web mà cần có một quy trình phát triển riêng

cho nó Trong khóa luận này tôi tập trung vào

nghiên cứu quy trình kỹ nghệ trên web và ứng

dụng để xây dựng CMS cho một trang tin tức

1 Kỹ nghệ web

Phần này tập trung vào tìm những đặc trưng

của các hệ thống và ứng dụng trên nền web và

quy trình kỹ nghệ web

Những đặc trưng của hệ thống và ứng dụng

trên trên nền web có ảnh hưởng sâu sắc đến quá

trình kỹ nghệ web Tính tức thì và tiến hóa sẽ

tạo ra sự lặp đi lặp lại và gia tăng mô hình xử

lý Các ứng dụng trên nền web một có một số

lượng người sử dụng đầu cuối rất đa dạng và

tần số truy cập ứng dụng cao do đó tạo ra

những yêu cầu đặc biệt về mặt suy luận và mô

hình, và cần một kiến trúc ứng dụng có tính chuyên dụng cao, điều đó tạo ra những yêu cầu cần thiết về mặt thiết kế Vì những ứng dụng trên nền web, nội dung thường bị chi phối rất nhiều bởi tính thNm mỹ, điều này thích hợp với những hoạt động phát triển sẽ được hoạch định trong quá trình kỹ nghệ web trong đó đội phát triển sẽ bao gồm những kỹ thuật viên công nghệ và những người thiết kế mỹ thuật

3 Tổng quan về CMS

CMS là chữ viết tắt của Content Management System – Hệ quản trị nội dung Phần này giới thiệu về các đặc trưng, quá trình phát triển của CMS trên thế giới, về nhu cầu sử dụng CMS trong các doanh nghiệp, và các tiêu chí để lựa chọn một CMS

CMS là một hệ thống hỗ trợ người sử dụng trong việc quản lý nội dung của một trang web CMS bao gồm hai thành phần: thành phần thứ nhất là ứng dụng quản trị nội dung (CMA – Content Management Application) và thành phần thứ hai là ứng dụng trình bày nội dung (CDA–Content Delivery Application) CMA là thành phần cho phép tất cả mọi người kể cả những người không biết về ngôn ngữ đánh dấu quản lý, tạo mới, sửa đổi, loại bỏ các thành phần nội dung trong trang web một cách dễ dàng CDA là thành phần sử dụng và biên tập những thông tin để cập nhật cho trang web

4 Xây dựng CMS

Phần này phân tích và đặc tả yêu cầu cho hệ quản trị nội dung

Trang 31

Các chức năng chính của CMS:

à Quản lý nội dung bao gồm: quản lý

chuyên mục, quản lý sự kiện,quản lý tin

tức, quản lý tin ảnh, quản lý quảng cáo,

quản lý tỷ giá, quản lý thời tiết, quản lý

Header & Footer

à Quản lý đối thoại: quản lý bạn đọc viết,

quản lý phản hồi về trang web

à Quản lý thành viên: quản lý danh sách

các quản trị viên, quản lý phân quyền,

quản lý thông tin các nhân

à Quản lý hệ thống: quản lý cơ sở dữ liệu,

quản lý thống kê, quản lý logfile

5 Công nghệ sử dụng

Phần này trình bày về các công nghệ sử

dụng xây dựng CMS cho trang tin tức: công

nghệ Ajax, PHP và MySQL các đặc điểm và

các tính năng vượt trội của các công nghệ này

Ajax ( Asychronous Javascript and XML –

Javascript và XML không đồng bộ) là tập hợp

của nhiều công nghệ phát triển web được sử

dụng để tạo ra các ứng dụng web tương tác

PHP là một ngôn ngữ lập trình server-side

miễn phí được phát triển theo chuNn mã nguồn

mở chạy được trong cả hai môi trường Linux

và Windows

Là một hệ quản trị cơ sở dữ liệu miễn phí

được phát triển theo chuNn mã nguồn mở có thể

chạy được trong cả hai môi trường Linux và

Windows

6 Kết luận

Trong quá trình tìm hiểu về quá trình kỹ

nghệ web, chúng tôi nhận thấy tầm quan trọng

của quá trình kỹ nghệ web Kỹ nghệ web tuy

vẫn còn là một lĩnh vực tương đối mới nhưng

nó được xây dựng trên nền tảng của kỹ nghệ

phần mềm truyền thống nên đã có sự phát triển

rất nhanh chóng và đạt được không ít thành tựu

Trong phạm vi của luận văn, chúng tôi đã xây dựng thành công CMS cho trang tin tức tuy chưa thật hoàn thiện nhưng về cơ bản nó đã đáp ứng được các nhu cầu của một trang tin tức

Tài liệu tham khảo

[1] Roger S.Pressman, Ph.D Software Engineering A PRACTITION ER’S APPROACH – 5th

[2] N guyễn N gọc Bình Bài giảng môn học

[8] Phạm Hữu Khang Xây dựng ứng dụng Web bằng PHP & MySQL 2005

[9] http://www.cmsreview.com [10]http://www.e-consultancy.com/forum[11]http://en.wikipedia.org

Trang 32

QUẢN LÝ CẤU HÌNH PHẦN MỀM

Sinh viên: Nguyễn Thị Hoa

Mã số SV: 04020142 Người hướng dẫn: Th.S Đào Kiến Quốc Email: lilytrang05@gmail.com

1 Giới thiệu

Ngày nay, nền công nghiệp phần mềm

ngày càng phát triển và việc quản lý cấu

hình phần mềm giữ một vai trò rất quan

trọng trong phát triển phần mềm Quản lý

cấu hình giúp cho đội phát triển kiểm soát,

theo dõi các thay đổi của một hệ thống phần

mềm và các phiên bản khác nhau của phần

mềm đó Vì vậy, quản lý cấu hình tốt sẽ

mang lại những lợi ích rất lớn cho nhà phát

triển như: tiết kiệm thời gian, tiết kiệm chi

phí, nâng cao chất lượng sản phNm…Quản

Quản lý cấu hình phần mềm là tiến

trình kiểm soát, theo dõi các thay đổi của

một hệ thống phần mềm và các phiên bản

khác nhau của phần mềm đó

b Lợi ích của quản lý cấu hình

Quản lý cấu hình tốt sẽ giải quyết

được hàng loạt các khó khăn trong các dự

án, thông qua việc cho phép các thành viên

trong dự án có thể cập nhật đồng thời, chia

sẻ mã nguồn, và giúp quản lý tốt các phiên

bản Quản lý cấu hình mang lại nhiều lợi

ích: tiết kiệm được thời gian và chi phí, nâng

cao chất lượng sản phNm

c Khi nào phải quản lý cấu hình

Quản lý cấu hình là một hoạt động

xuyên suốt trong quá trình phát triển phần

mềm

d Các khái niệm cơ bản

• Cấu hình cơ sở (Baseline): Là

một tập hợp các yêu cầu, thiết kế,

mã nguồn, tài liệu người dùng…

được nhóm lại và gán cho một tên duy nhất

• Thực thể cấu hình: Một sản phNm

công việc trung gian, một thành phần hoặc một sản phNm được đặt dưới sự quản lý cấu hình

• Check out: Lấy ra một thực thể cấu hình từ nơi lưu trữ vào trong một thư viện được kiểm soát

• Check in: Cập nhật lại một thực thể cấu hình vào nơi lưu trữ sau khi check out

e Các tiến trình trong quản lý cấu hình

• Định danh đối tượng

• Quản lý thay đổi

• Quản lý phiên bản

• Kiểm định cấu hình Trong đó, quản lý phiên bản là một khâu rất quan trọng trong quản

lý cấu hình

3 Quản lý phiên bản phần mềm

a Khái niệm Quản lý phiên bản kết hợp các quy trình và các công cụ để quản lý các phiên bản khác nhau của các đối tượng cấu hình được tạo ra trong quá trình phát triển phần mềm Quản lý phiên bản chú trọng vào quản lý mã nguồn, nên còn được gọi là quản lý mã nguồn

b Thuật toán trong quản lý phiên bản

Quản lý mã nguồn bao gồm hai vấn đề chính: Quản lý các thay đổi giữa hai hay nhiều mã nguồn và tích hợp hai hay nhiều mã nguồn

• Thuật toán Diff: So sánh hai hay nhiều file mã nguồn

• Thuật toán Merge: Tích hợp hai hay nhiều file mã nguồn

Có hai mô hình hệ thống quản lý phiên bản chính: hệ thống quản lý phiên bản tập trung và hệ thống quản lý phiên bản phân tán

c Phân tích và so sánh ưu, nhược điểm của hai mô hình hệ thống: mô hình tập trung và mô hình phân tán Hai loại mô hình này đã xây dựng nên nhiều hệ thống quản lý phiên bản hoạt động khá hiệu quả Tuy nhiên, hai loại mô hình này đều có

Trang 33

nhược điểm chung là: chưa có công cụ hỗ

trợ biên dịch và chạy các tích hợp của hai

hay nhiều mã nguồn sau khi nó được thay

đổi Do vậy, cần phải có một tiến trình

build tự động các chương trình, thành

phần sau khi đã được tích hợp và người

phát triển đã tạo ra những thay đổi đó phải

được thông báo kết quả

d Đưa ra giải pháp: Xây dựng một

hệ thống quản lý phiên bản mới: Tích hợp

công cụ build tự động với hệ thống quản

Trong khuôn khổ của khóa luận

này, tôi đã nghiên cứu một cách tổng

quát về quản lý cấu hình phần mềm và

nghiên cứu chi tiết về quản lý phiên bản

phần mềm Dựa trên những nghiên cứu

này, khóa luận đã tìm hiểu hai mô hình

quản lý phiên bản chính:

mô hình tập trung và mô hình phân tán,

so sánh ưu nhược điểm của chúng, từ đó đưa ra giải pháp xây dựng một loại mô hình mới – mô hình tích hợp Khóa luận

đã đưa ra những phân tích thiết kế chi tiết cho hệ thống này

Hướng phát triển :

• Hoàn thiện chương trình

• Mở rộng thêm chức năng test tự động các file mã nguồn sau khi được tích hợp

Do thời gian có hạn và thiếu kinh nghiệm nên khóa luận không thể tránh khỏi nhiều thiếu sót, rất mong được sự góp ý của các thầy cô và toàn thể các bạn

6 Tài liệu tham khảo

[1] RogerS Fressman.Software Engineering

A Practitioner’s Approach [2] Paul Duvall, Steve Matyas, Andrew Glover Continuos Integration: Improving Software Quality and Reducing Risk

[3] http://www.versioncontrolblog.com [4]

http://en.wikipedia.org/wiki/Distributed_Version_Control_System

[5]

http://en.wikipedia.org/wiki/Continuous_Integration

Trang 34

NGHIÊN CỨU PHÂN ĐOẠN ẢNH CHO NHẬN DẠNG VĂN BẢN

Nguyễn Đức Huy Cán bộ Hướng dẫn: TS Nguyễn Việt Hà MSSV: 0420169 TS Lê Anh Cường Email: huynd2412@gmail.com

1 Giới thiệu

Nhận dạng văn bản[10] là bài toán xuất hiện

cách đây khá lâu và vẫn luôn thu hút được nhiều

sự quan tâm, nghiên cứu của các nhà khoa học

Nhận dạng văn bản được áp dụng trong quá

trình tự động hoá các công việc văn phòng như

nhập liệu, lưu trữ văn bản, sách báo, phân loại

thư tín, …, những công việc đòi hỏi nhiều thời

gian của con người

Phân đoạn ảnh là công đoạn đầu tiên của một

hệ thống nhận dạng văn bản nói chung, nhiệm

vụ chính ở đây là từ một ảnh văn bản đầu vào

phải tách văn bản đó ra được thành các dòng,

các từ, và các ký tự để chuyển sang cho bộ nhận

dạng xử lý Phân đoạn ảnh có một vai trò hết

sức quan trọng trong hệ thống nhận dạng, nếu

việc đoạn ảnh thực hiện không chính xác thì các

công đoạn nhận dạng về sau không thể chính

xác được, và làm giảm đi độ chính xác của toàn

hệ thống Do tầm quan trọng đó của việc phân

đoạn ảnh, nội dung chính của khóa luận này đề

cập tới các lý thuyết cơ bản về phân đoạn ảnh,

một số phương pháp thường gặp, từ đó áp dụng

vào bài toán nhận dạng văn bản tiếng Việt

2 Kiến thức cơ sở cho phân đoạn ảnh

Quá trình phân đoạn ảnh làm việc hoàn toàn

trên ảnh nhị phân, sử dụng biểu đồ histogram và

thành phần liên thông để tách dòng, tách từ và

tách ký tự

Chương này sẽ lần lượt trình bày những khái

niệm về ảnh nhị phân[5], biểu đồ histogram[2],

các thành phần liên thông, các thuật toán áp

dụng để tạo ảnh nhị phân, xác định biểu đồ

histogram và xác định các thành phần liên thông

trong một ảnh nhị phân[11]

3 Phân đoạn ảnh cho nhận dạng văn bản

Phân đoạn ảnh gồm có bốn giai đoạn chính

đó là tiền xử lý ảnh, tách dòng, tách từ và tách

ký tự

Do ảnh văn bản thu được qua máy scanner

thường có nhiễu và chất lượng ảnh là không cao,

và có thể bị nghiêng một góc nào đó Giai đoạn

tiền xử ảnh có nhiệm vụ khử nhiễu, tăng cường chất lượng ảnh và xác định góc nghiêng văn bản[2][3]

Các giai đoạn tách dòng, tách từ, và tách ký

tự sẽ lần lượt chia ảnh văn bản scan thành các dòng, chia các dòng thành các từ, và các từ thành các ký tự Ở đây chúng tôi đề xuất phương pháp tách dòng dựa vào thành phân liên thông, việc tách dòng thành các từ được thực hiện dựa vào biểu đồ tần suất xuất hiện khoảng trắng[4], sử dụng kết hợp phương pháp sử dụng thành phần liên thông và biểu đồ histogram để tách ký tự Với mỗi ký tự chúng đôi đưa ra giải pháp tách ký tự thành ba phần TOP, BODY, BOTTOM để nhận dạng

Để nhận dạng một từ chúng tôi ghép thử các

vị trí cắt lại để nhận dạng và lưu lại danh sách các ứng viên có độ chắc chắn cao nhất Kế tiếp

sẽ sử dụng HMM và N-Gram để lựa chọn ứng viên tốt nhất

4 Thực nghiệm

Ở đây chúng tôi tiến hành các thực nghiệm xây dựng cơ sở dữ liệu, xây dựng bộ dữ liệu test chuNn, các thực nghiệm về phân đoạn ảnh và thực nghiệm của hệ thống nhận dạng văn bản[1]

Kết quả thực nghiệm thu được trên văn bản chữ in là rất khả quan Các thao tác tách dòng, tách từ có độ chính xác lần lượt là 99,2% và 99,4% Hệ nhận dạng văn bản có độ chính xác

là 90,3% khi không dùng HMM[6][7] và N Gram[8][9], là 93,2% khi sử dụng HMM và N -Gram

-Các cài đặt thực nghiệm được thử nghiệm trên hệ điều hành Windows XP SP2, máy tính Laptop tốc độ 1.73GHz x 2 bộ nhớ 2GB RAM

5 Kết luận và hướng nghiên cứu sau này

Trong khóa luận này chúng tôi đã trình bày những lý thuyết cơ bản về phân đoạn ảnh, nghiên cứu và so sánh một số kỹ thuật phổ biến

sử dụng trong phân đoạn ảnh cho nhận dạng, từ

Trang 35

đó áp dụng vào bài toán nhận dạng chữ in tiếng

Việt

Để nâng cao chất lượng trong quá trình phân

đoạn ảnh nhằm tăng chất lượng tổng thể của hệ

thống nhận dạng, chúng tôi đã đề xuất phương

pháp tách dòng dựa vào thành phần liên thông,

đối với mỗi ký tự sẽ chia ra làm ba phần TOP,

BODY, và bottom để nhận dạng Kết quả thu

được là rất khả quan

Trong tương lai chúng tôi sẽ tiếp tục nghiên

cứu và phát triển để nâng cao chất lượng hệ

thống cả về độ chính xác và tốc độ Đối với khó

khăn khi cắt ký tự làm ba phần sẽ giải quyết

theo hướng xác định các vị trí cắt có thể và tiến

hành giống với quá trình tách từ Qua đó mở

rộng nghiên cứu và thực nghiệm trên các văn

bản chữ viết tay tiếng Việt

Tài liệu tham khảo

[1] N gô Tiến Đạt.Mô hình tích hợp cho

nhận dạng văn bản tiếng Việt, khóa luận

tốt nghiệp đại học, Trường Đại học

Công nghệ, 2008

[2] D X Le, G Thoma, H Weschler,

Automated Page Orientation and Skew

Angle Detection for Binary Document

Images, Pattern Recognition, Volume

27, N umber 10, pp 1325-1344, October

1994

[3] D X Le, G Thoma, Document Skew

Angle Detection Algorithm, Proc SPIE

Symposium on Aerospace and Remote

Sensing, Visual Information Processing

II, Orlando, FL April 14-16, 1993 Vol

1961, pp 251-262

[4] A Marcolino, V Ramos, M Ramalho,

J.Caldas Pinto, Line and Word Matching

in Old Documents, IDMEC/IST -

Technical University of Lisbon

[5] William K.Pratt, Digital Image

Processing, John Wiley & Sons 2001

[6] J Li, A N ajmi, R M Gray, Image

classification by a two dimensional

hidden Markov model, IEEE

Transactions on Signal Processing,

48(2):517-33, February 2000

[7] Olivier Cappé, Eric Moulines, Tobias

Rydén Inference in Hidden Markov

Models, Springer, 2005 ISBN 40264-0

0-387-[8] Christopher D Manning, Hinrich

Schütze, Foundations of Statistical

Natural Language Processing, MIT

Press: 1999 ISBN 0-262-13360-1

[9] Ted Dunning, Statistical Identification of

Language Computing Research

Laboratory Memorandum (1994) MCCS-94-273

[10] http://en.wikipedia.org/wiki/Optical_cha

racter_recognition#References

[11] http://homepages.inf.ed.ac.uk/rbf/HIPR2

/connect.htm

Trang 36

PORTAL MẠNG TRỢ GIÚP VIỆT NAM – VIETNAMF1

Nguyễn Duy Hưng Cán bộ hướng dẫn: MSV: 0420186 Ths.Nguyễn Cảnh Hoàng Email: htcorp68@gmail.com

cung cấp trên internet, nhu

cầu cập nhật, tìm kiếm thông

tin qua mạng ngày càng nâng

cao.Bằng internet, con người

trên khắp thế giới đã liên kết

với nhau hơn, bỏ qua mọi rào

cản về khoảng cách địa lý để

đi đến một xu thế mới – xu

thế toàn cầu hóa Sử dụng

internet, chúng ta thực hiện

được nhiều công việc nhanh

hơn và chi phí thấp hơn nhiều

so với cách thức truyền thống

Đối với lĩnh vực du lịch, việc

quảng bá và giới thiệu đến

bạn bè thế giới một hình ảnh

Việt Nam hòa bình và tươi

đẹp thông qua mạng internet

điển hình cho một phương

thức quảng bá hữu hiệu thông

qua moi trường mạng

Khóa luận nghiên cứu cách thức xây dựng một cổng thông tin điện tử (portal) dựa trên những kết quả nghiên cứu về sản phẩm Joomla! Khóa luận đã giải quyết bài toán cụ thể là xây dựng portal mạng thông tin trợ giúp Việt Nam – vietnamf1 sử dụng mã nguồn mở joomla

II Cơ sở lý thuyết

• Cổng thông tin điện tử:

Cổng thông tin điện tử (Portal) là một khái niệm chỉ các hệ thống website có một

số chức năng bao gồm: khả năng cá nhân hóa, khả năng tích hợp nhiều loại thông tin, khả năng xuất thông tin theo nhiều định dạng, khả năng hỗ trợ nhiều môi trường hiển thị, khả năng đăng nhập một lần, khả năng quản trị nội dung, khả năng mở rộng chức năng, tùy biến giao diện và hỗ trợ

đa ngôn ngữ Có rất nhiều portal khác nhau nhưng đều

có chung một kiến trúc, do đó portal đã dần trở thành một chuẩn Việc phát triển các ứng dụng sử dụng công nghệ portal là việc phát triển các chức năng tùy biến có thể gắn vào khung portal để trở thành một ứng dụng đa chức năng hoàn chỉnh

Trang 37

• Giới thiệu Joomla!

Joomla! Là một hệ quản trị

nội dung mã nguồn mở

(CMS), được viết bằng ngôn

ngữ PHP và kết nối tới cơ sở

dữ liệu My SQL, cho phép

người sử dụng có thể dễ dàng

xuất bản các nội dung của họ

lên internet hoặc intranet

Joomla có đa tính năng: quản

lý cơ sở dữ liệu, hệ thống xuất

bản nội dung, đa ngôn ngữ,

hệ thống các component,

template, module dễ dàng

được mở rộng, trình soạn

thảo WYSIWYG cho việc soạn

thảo nội dung…Với các tính

năng này, việc sử dụng

Joomla để tạo ra một ứng

dụng portal là hoàn toàn khả

thi

III Bài toán

Khóa luận giải quyết bài toán cụ

thể là xây dựng một mạng thông

tin Việt Nam trợ giúp cho tất cả

mọi người trong nước cũng như

quốc tế Bất kỳ ai khi cần các

thông tin như lịch sử, văn hóa,

pháp luật, đất nước, cuộc sống

con người Việt Nam, thời tiết, du

lịch… đều có thể tìm kiếm tại

website

IV Kết quả xây dựng và

triển khai

Trong quá trình làm khóa luận tôi

đạt được những kết quả sau:

- Đưa ra khái niệm Cổng thông

tin điện tử và các khái niệm

liên quan từ các nghiên cứu của nhiều tác giả trong và ngoài nước

- Đưa ra được cách thức để triển khai các chức năng trên nền tảng mã nguồn mở Joomla

- Xây dựng được một portal vietnamf1 hoàn chỉnh bao gồm nhiều thành phần:

V Kết luận

Trong phạm vi khóa luận, tôi đã trình bày cách thức xây dựng ứng dụng mạng thông tin trợ giúp sử dụng giải pháp cổng thông tin điện tử Hy vọng khóa luận sẽ giúp cho mọi người có một giải pháp tốt trong việc tìm kiếm thông tin về đất nước Việt Nam

và các doanh nghiệp về du lịch có thể tìm được một giải pháp phát triển mã nguồn mở trong quá trình kinh doanh của mình

Tài liệu tham khảo:

[1] Trang chính Joomla: www.joomla.org

[2] Diễn đàn Joomla Việt Nam:

[3] Nguyễn Văn Vỵ “Giáo trình Phân tích thiết kế hệ thống thông tin” - NXB Nông nghiệp – 2003 [4] “Joomla! User Manual for V1.0.11”, Steve White – websdezined.com and Andy Wallace [5] Bộ môn công nghệ phần mềm

ĐH Công nghệ, ĐH Quốc gia Hà Nội Slide UML

Trang 38

REFACTORING-AWARE VERSION CONTROL

Student No: 04020188

1 Introduction

Today, team development is common in

software projects Developers use version

control systems to cooperate and share their

work However, existing text-based version

control systems do not handle refactorings well

While refactorings are necessary for software

maintenance, they cause changes to many parts

of the system and result in merge conflicts This

thesis proposes an algorithm for software

merging with less conlicts and better code

evolution while preserving the correctness of

the program Unlike traditional text-based

version control systems, the algorithm uses an

operation-based approach and treats refactoring

operations effectively Future implementation of

the algorithm as a plug-in to the Eclipse

Platform is also discussed Since refactorings

are frequent, the results of this research make

software development more productive and

reliable

2 Motivation

The primary weaknesses of current

text-based version control systems in the presence of

refactoring operations can be summarized as

follows:

• When they detect merge conflicts, some of

them are unnecessary and should be

automatically resolved

• When they do not detect merge conflicts,

there are still potential errors of the

program after merging

• In both cases, they fail to keep the history

of program entities when methods or

classes are moved from one place to

another

According to Tammo Freese [2], between

releases of four APIs2 (Eclipse, Mortgage,

Struts, and log4j), about 81% to 97% of the

changes were refactorings Since refactorings

take place frequently, it is of great importance

that the above drawbacks of current text-based

SCM systems be studied and resolved It is,

therefore, the overall goal of this thesis to propose such a solution

3 Approach and Implementation

The refactoring-aware merging method proposed in this thesis uses a semantics-based merging technique Since the semantics of the program are taken into account, it produces automatic merges with the least compile and run-time errors First, this approach requires that previous refactorings are accessible at the time

of merging, that is the development environment not only performs refactorings but records them as well This technique is named operation-based [3] Second, depending on these refactoring operations and other normal code edits, the proposed algorithm will choose an intelligent way to either merge them automatically or notify potential program errors For the ideas to have practical applications, I plan to implement them as a plug-in to the Eclipse environment Eclipse is a powerful software development platform, which had an estimated number of 2.3 million users worldwide in 2006 [4] Its extensible framework allows us to create custom tools and contribute new functionality However, developing a refactoring-aware merging tool requires a team

of skilled programmers working for months It

is not feasible within the scope of this graduation thesis Nevertheless, I include a chapter to outline the next best steps to implement my proposed algorithm

• Planning future steps to implement a refactoring-aware merging tool as an extension plug-in to Eclipse

Trang 39

5 Conclusions and Future Work

After explaining the refactoring-aware merging algorithm, the thesis also presented a prototype to show how it can be integrated reasonably into a popular development environment like Eclipse To evaluate the correctness and performance of the plug-in tool,

I intend to analyze concurrent development in some small Eclipse applications (such as the one described in [1], but with more developers working in parallel) An alternative way to examine whether users are more productive with my plug-in than without is to provide it as

a free release on the Internet and open for comments Users' feedbacks will then be used to accommodate the future growth of the plugin through software re_nement and additional analysis Bene_ting from the powerful extensibility of Eclipse, the plug-in also serves

as the starting point for further extensions and improvements

Since Eclipse has a large customer base, I am con_dent that such a useful plug-in will have a signi_cant impact on the productivity of Eclipse team projects Future work will realize the planned implementation of the plug-in and evaluate to what extent it makes software easier

to develop and maintain

6 References

[1] Danny Dig, Kashif Manzoor, Ralph Johnson, and Tien N Nguyen.Refactoring-aware configuration management for object-oriented programs In ICSE '07: Proceedings of the 29th International Conference on Software Engineering, pages 427{436, Washington, DC, USA, 2007 IEEE Computer Society

[2] Tammo Freese Refactoring-aware version control In ICSE '06: Pro-ceedings of the 28th International Conference on Software Engineering, pages 953 - 956, New York, NY, USA, 2006 ACM

[3] Tammo Freese Operation-based merging

of development histories In First Workshop on Refactoring Tools (WRT'07), pages 47 - 48, TU Berlin, Germany, July 2007

[4] Karen Lilla IBM unveils new offerings for the open source community http://www01.ibm.com/software/swnews/swnews.nsf/n/sdsd6t7kyd?OpenDocument&site=Software, September 2006

Trang 40

FINDING HEAP BOUNDS OF JAVA CARD APPLETS

Phạm Tuấn Hưng Supervisors: Dr Trương Ninh Thuận

Email: hungpt43@gmail.com

1 Introduction

Java Card is a technology that allows

programmers to develop applets that can run on

smart cards with very limited memory and

processing power Since applets can come from

third parties, they can cause memory overflows

when they are executed, and this may result in

lost of data in smart cards and even destruction

of the cards It is therefore necessary for a smart

card to have a program to check the maximum

heap memory of new applications that are going

to be installed on the card, and the checker itself

should run fast and have a small memory

footprint to be suitable for cards

The approach presented here improves the

one introduced in our previous work [14] to find

an algorithm for computing heap bounds of Java

Card applets Our method transforms bytecodes

of Java Card applets into equivalent programs

that already have a type system for finding the

sharp upper bounds of resource use We then

point out a linear-time algorithm to compute the

maximum heap units of Java Card applets To

validate our ideas, we have implemented and

tested our tool on several sample applications,

and then compared the bounds found by our tool

with the actual heap bounds of the programs

2 Background

This chapter briefly introduces smart cards,

Java Card applets, Java Card virtual machine,

and the simplified component language (SCL)

that we based on to develop our algorithm

According to Rankl and Cox [15], we define

a smart card as a card that contains a

microprocessor The applications run on smart

cards are called applets Java Card virtual

machine is the virtual machine used for the

smart card environment The SCL is a

simplified version of the abstract component

language in the approach by Truong and Bezem

[17] which already has a type system that can

infer the maximum number of simultaneously

active instances of a well-type program

3 Approach

First, we build a control flow graph (CFG) of the input bytecode stream The nodes of the CFG are instructions If two instructions can be adjacently executed, we create a directed edge from the former to the latter

Then, we make a heap-preserving transformation from the CFG into a rooted, directed tree (RDT) In the transformation, we remove join nodes and collapse cycles in the CFG without changing heap cost

Finally, we transform the RDT into a syntax tree (also called parse tree [1]) of the SCL We reuse their type inference in [17] to compute an upper bound of heap cost of Java Card applets

By optimizing these steps, we obtain a time algorithm that takes the bytecode stream of

linear-a method of Jlinear-avlinear-a Clinear-ard linear-applets linear-as input linear-and returns a heap bound function of method arguments as output

4 Experimental results

We have implemented a prototype tool that compute the heap bounds of Java Card applets using our proposed algorithm The input data of this tool is an applet and the output is the maximum heap space that its main method uses

We tested this tool on Sun's applets and our samples The obtaned results are good They show that our tool not only return an upper bound of heap memory but also can find the least upper bounds of heap cost in many cases The experiments were executed on an Intel P4 2.4 GHz with 1GB of RAM

5 Related works

The most relevant works to ours seem to be [3, 6, 8, 9, 10, 18] Unnikrishnan et al [18] propose a model analysis for inferring maximum size of live heap space of programs written in garbage-collected languages In a similar vein, Hofmann and Jost [10] point out a method to count the memory used for object allocation and deallocation in Java-like

Ngày đăng: 02/06/2015, 16:56

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] ] N. Bermudo, J. Gustafsson, B. Lisper, C. Sandberg: A Tool for Auto- matic Flow Analysis of C-programs for WCET Calculation. In 8th IEEE International Workshop on Object-oriented Real-time Dependable Systems, 2003 Khác
[2] Daniel Sandell: Evaluating Static Worst -Case Execution- Time Analysis for a Commercial Real-Time Operating System,july 2004 Khác
[3] Daniel Sehlberg Dept: Static WCET Analysis of Task- Oriented Code for Construction Vehicles , September 2005 Khác
[4] J. Engblom: Processor Pipelines and Static Worst-Case Execution Time Analysis, PhD thesis, Uppsala University, 2002 Khác
[5] A. Ermedahl: A Modular Tool Architecture for Worst – Case Execution Time Analysis, PhD thesis, Uppsala University, 2003 Khác
[6] Isabell Puaut : WCET-centric soft ware-controlled Instruction Caches for Hard Real-Time Systems.In Proc,of ECRTS,July 2006 Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w