Luận Văn Công Cụ Thiết Kế Cơ sở dữ liệu Online

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    170
    Điểm thành tích:
    0
    Xu:
    0Xu
    Mục lục
    CHƯƠNG 1: TỔNG QUAN 4
    1.1 ĐẶT VẤN ĐỀ 4

    1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 4
    1.3 PHẠM VI CỦA ĐỀ TÀI. 5
    1.4 PHƯƠNG PHÁP NGHIÊN CỨU VÀ GIẢI QUYẾT VẤN ĐỀ 6
    CHƯƠNG 2: CƠ SỞ LÝ THUYẾT. 9
    2.1 MÔ HÌNH DỮ LIỆU QUAN NIỆM (cdm)[1] 9
    2.1.1 Các đối tượng của mô hình dữ liệu quan niệm 10
    2.1.2 Các bước xây dựng mô hình dữ liệu quan niệm 13
    2.1.3 Chuyển từ mô hình dữ liệu quan niệm sang mô hình vật lý (PDM) 14
    2.1.4 Mysql 16
    2.2 FRAMEWORK GWT. 20
    2.2.1 Tổng quan về tập hợp các công cụ cao cấp của GWT [2] 20
    2.2.2 Các chức năng cơ bản trong GWT. 22
    2.3 GOOGLE APP ENGINE VÀ DATASTORE[4] 34
    2.3.1 Google App Engine. 34
    2.3.2 Datastore. 35
    2.4 SỬ DỤNG OAUTH 2.0 ĐỂ TRUY CẬP CÁC GOOGLE API. 37
    CHƯƠNG 3: NỘI DUNG NGHIÊN CỨU VÀ KẾT QUẢ 47
    3.1 PHÂN TÍCH YÊU CẦU 47
    3.2 THIẾT KẾ TỔNG QUAN 49
    3.2.2 Mô hình triển khai ứng dụng. 50
    3.2.3 Giải quyết vấn đề đồ họa. 51
    3.3 LƯU TRỮ SƠ ĐỒ 63
    3.3.1 Cấu trúc file xml 63
    3.3.2 Sử dụng datastore trong lưu trữ. 65
    3.4 CÁC GIẢI THUẬT CHUYỂN ĐỔI GIỮA CÁC LƯU ĐỒ 68
    3.4.1 Giải thuật chuyển từ CDM sang PDM . 68
    3.4.2 Giải thuật chuyển từ PDM sang Mysql 76
    3.5 XÁC THỰC VÀ CHỨNG THỰC KHI TRUY CẬP GOOGLE API. 82
    3.6 KẾT QUẢ 83
    CHƯƠNG 4: TỔNG KẾT. 85
    4.3 KẾT QUẢ ĐẠT ĐƯỢC 85
    4.4 HẠN CHẾ 85
    4.5 HƯỚNG PHÁT TRIỂN 86
    TÀI LIỆU THAM KHẢO 87

    DANH MỤC TỪ VIẾT TẮT
    [TABLE="class: MsoNormalTable, width: 455"]
    [TR]
    [TD="width: 95"] STT
    [/TD]
    [TD="width: 123"] Từ viết tắt / thuật ngữ
    [/TD]
    [TD="width: 389"] Giải thích
    [/TD]
    [/TR]
    [TR]
    [TD="width: 95"] 1
    [/TD]
    [TD="width: 123"] CSDL
    [/TD]
    [TD="width: 389"]
    Cơ SDLiệu
    [/TD]
    [/TR]
    [TR]
    [TD="width: 95"] 2
    [/TD]
    [TD="width: 123"] API
    [/TD]
    [TD="width: 389"] Application Programming Interface
    [/TD]
    [/TR]
    [TR]
    [TD="width: 95"] 3
    [/TD]
    [TD="width: 123"] GWT
    [/TD]
    [TD="width: 389"] Google Web Toolkit
    [/TD]
    [/TR]
    [TR]
    [TD="width: 95"] 4
    [/TD]
    [TD="width: 123"] XML
    [/TD]
    [TD="width: 389"] Extensible Markup Language
    [/TD]
    [/TR]
    [TR]
    [TD="width: 95"] 5
    [/TD]
    [TD="width: 123"] HTML
    [/TD]
    [TD="width: 389"] HyperText Markup Language
    [/TD]
    [/TR]
    [TR]
    [TD="width: 95"] 6
    [/TD]
    [TD="width: 123"] SQL
    [/TD]
    [TD="width: 389"] Structured Query Language
    [/TD]
    [/TR]
    [TR]
    [TD="width: 95"] 7
    [/TD]
    [TD="width: 123"] UML
    [/TD]
    [TD="width: 389"] Unified Modeling Language
    [/TD]
    [/TR]
    [TR]
    [TD="width: 95"] 8
    [/TD]
    [TD="width: 123"] CDM
    [/TD]
    [TD="width: 389"] Conceptual Data Model
    [/TD]
    [/TR]
    [TR]
    [TD="width: 95"] 9
    [/TD]
    [TD="width: 123"] PDM
    [/TD]
    [TD="width: 389"] Physical Data Model
    [/TD]
    [/TR]
    [TR]
    [TD="width: 95"] 10
    [/TD]
    [TD="width: 123"] PHP
    [/TD]
    [TD="width: 389"] Hypertext Preprocessor
    [/TD]
    [/TR]
    [TR]
    [TD="width: 95"] 11
    [/TD]
    [TD="width: 123"] JSNI
    [/TD]
    [TD="width: 389"] Javascript native interface
    [/TD]
    [/TR]
    [/TABLE]


    CHƯƠNG 1: TỔNG QUAN
    1.1 ĐẶT VẤN ĐỀ
    Điện toán đám mây là công nghệ được nói đến nhiều nhất trong năm. Trước đây, sự phát triển của web 2.0 làm tăng khả năng tương tác với người dùng và làm phát sinh ra ý tưởng phần mềm như một dịch vụ. Môt phần mềm chạy trên nền tảng web, người dùng có thể truy cập và sử dụng mọi lúc mọi nơi mà không quan tâm tới vấn đề cài đặt, bảo trì, nâng cấp. Một phần mềm độc lập với nền tảng thậm chí là thiết bị. Một điều thú vị ở đây là cách chúng ta thanh toán khi sử dụng sản phẩm, không giống như ngành kinh doanh phần mềm truyền thống, thay vì phải mua trọn gói thì người dùng chỉ chi trả chi phí cho những gì mình sử dụng, có thể tính theo tháng, theo giờ hay theo dịch vụ tùy nhà cung cấp. Đến thời đại của điện toán đám mây, thì nó không còn là ý tưởng mà trở thành xu hướng. Một xu hướng mới, một xu hướng tác động mạnh đến nền công nghệ phần mềm, làm thay đổi cách mà người ta phát triển ứng dụng, cách mà người ta kinh doanh phần mềm. Xu hướng đã xuất phát từ những ứng dụng doanh nghiệp như CRM của salesforce.com hay ERP Ngày nay các nhà cung cấp dịch vụ đám mây công cộng cũng đã và đang xây dựng cho các nhà phát triển của họ một môi trường phát triển trực tuyến (online) như công cụ Visualforce của Salesforce hay theo infoworld, môi trường phát triển ứng dụng dựa trên nền tảng web Orion của tổ chức Eclipse được hy vọng tương lai không xa sẽ thay thế những công cụ phát triển truyền thống. Theo xu hướng đó, nhóm thực hiện đề tài đề xuất ý tưởng nghiên cứu, thiết kế, cài đặt một công cụ hỗ trợ việc mô hình hóa trong giai đoạn phân tích và thiết kế phần mềm dựa trên nền tảng web với công nghệ điện toàn đám mây.
    1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
    Trước đây, những công cụ mô hình hóa mạnh chủ yếu trên nền tảng Window như Powerdesigner của Sybase hay Rational Rose của IBM. Đây điều là các công cụ phổ biến, mạnh mẽ nhưng đa số là ứng dụng desktop và phụ thuộc vào nền tảng, giá thành tương đối cao. Và khi chúng ta đã quen sử dụng chúng nhưng chúng ta lại phải thay đổi nền tảng sử dụng ví dụ như từ window sang Ubuntu hay một thiết bị di động như máy tính bảng thì rất khó để có một ứng dụng tương tự. Chúng ta phải tích lũy kinh nghiệm từ đầu khi sử dụng công cụ mới hoàn toàn với chúng ta và chưa chắc chúng hỗ trợ tốt hơn công cụ trước đây. Và một điều nữa là đôi khi dự án của chúng ta kéo dài 1 năm và việc sử dụng công cụ chỉ ở tháng đầu tiên nhưng các công cụ trên buộc chúng ta phải mua bản quyền cho cả năm thì thật lãng phí. Đối với việc cộng tác cũng có một số khó khăn, khi chúng ta cần chia sẻ mô hình với ai đó và vấn đề là việc chia sẻ, cập nhật trao đổi mô hình cần thường xuyên, liên tục thì thường theo truyền thống chúng ta phải gặp nhau nhưng các công cụ online thường hỗ trợ chúng ta làm việc đó tốt hơn. Các mô hình sẽ được lưu trữ online và đồng bộ hóa với các client khi cần thiết. Hiện nay, theo nhóm nghiên cứu khảo sát, có một số công cụ cho phép vẽ online như: Paint của Google, lucidchart.com nhưng các công cụ chủ yếu chuyên về vẽ sơ đồ chưa có các chức năng hỗ trợ cho phép chuyển đổi giữa sơ đồ hay tự động sinh mã nguồn từ sơ đồ. Chưa phải là một công cụ chuyên biệt hỗ trợ cho lĩnh vực thiết kế phần mềm.
    Trong đề tài này, sẽ tập trung nghiêu cứu xây dựng một công cụ hỗ trợ thiết kế cơ sở dữ liệu trên nền tảng web. Cụ thể nhóm nghiên cứu sẽ phải:
    · Nghiên cứu các thao tác thiết kế cơ sở dữ liệu, bao gồm mô hình CDM, PDM và quy tắc chuyển đổi từ CDM sang PDM.
    · Nghiên cứu khả năng đồ họa trên nền tảng web của những trình duyệt, thiết kế giải thuật đồ họa để xây dựng các công cụ cho phép người dùng vẽ các mô hình.
    · Dựa trên các nguyên tắc chuyển đổi đã nghiên cứu, thiết kế và cài đặt giải thuật chuyển đổi từ mô hình CDM sang PDM, PDM sang mã nguồn Sql trong Mysql 5.0.
    · Nghiên cứu tìm giải pháp lưu trữ mô hình, cho phép người dùng lưu trữ mô hình và mở ra để chỉnh sửa khi cần.
    · Nghiên cứu triển khai ứng dụng trên nền tảng điện toán đám mây Google App Engine của Google.
    1.3 PHẠM VI CỦA ĐỀ TÀI
    Trong đề tài này sẽ trình bày quá trình xây dựng ứng dụng thiết kế mô hình cơ sở dữ liệu trực tuyến. Chương trình hỗ trợ người dùng vẽ mô hình dữ liệu ngữ cảnh và mô hình dữ liệu vật lý, cho phép chuyển từ mô hình dữ liệu ngữ cảnh sang mô hình dữ liệu vật lý, chuyển từ mô hình dữ liệu vật lý sang mã nguồn SQL tương thích với Mysql5.0. Các vấn đề đặt ra là đồ họa trên web, khả năng tương tác linh hoạt với người dùng, lưu trữ sơ đồ, cài đặt giải thuật đồ họa, khả năng lưu trữ mô hình, cài đặt giải thuật chuyển đổi giữa các mô hình, khả năng tương thích với nhiều trình duyệt và tốc độ xử lý.
    Về vấn đề đồ họa và khả năng tương tác linh hoạt, vì chương trình cho phép người dùng vẽ các thực thể và các mối quan hệ, cho phép kéo thả, thay đổi kích thước của thực thể. Đây đều là các nhược điểm lớn của ứng dụng web trước đây mà phải nhờ sự hỗ trợ của flash hay applet. Nhưng trong ứng dụng không sử dụng flash và applet chúng ta sẽ tìm giải pháp khác cho vấn đề này.
    Vấn đề tính tương thích cũng là một trong những vấn đề mấu chốt trong việc xây dựng ứng dụng web. Đặc biệt đối với ứng dụng này, để đồ họa được trên IE chúng ta dùng ngôn ngữ Vector Graphiscs Markup nhưng các trình duyệt khác như Chrome, Firefox sử dụng ngôn ngữ Scalable Vector Graphics.

    Giải pháp cho các vấn đề trên sẽ lần lượt được đề xuất và chi tiết hơn trong các phần sau. Sản phẩm cuối cùng của đề tài là một chương trình demo có các chức năng trên.
    1.4 PHƯƠNG PHÁP NGHIÊN CỨU VÀ GIẢI QUYẾT VẤN ĐỀ
    Trong quá trình nghiên cứu, tìm kiếm các giải pháp đồ họa trên web, nhóm quyết định chọn GWT Framework và gói thư viện SmartGwt. Đây là framework mã nguồn mở ngôn ngữ java hỗ trợ lập trình phía client. Framework hỗ trợ mạnh cho việc tương thích với nhiều trình duyệt và khả năng tương tác. Chúng ta sẽ thảo luận nhiều hơn framework trong chương cơ sở lý thuyết. Ngôn ngữ xml là ngôn ngữ thích hợp để lưu trữ mô hình. Nhóm chọn xml vì trong framework có phần hỗ trợ đọc và viết tài liệu xml, sẽ giúp cho việc lập trình tiện lợi hơn.
    Ngoài ra các công nghệ được lựa chọn cũng tương thích với đám mây Google App Engine của Google. Đám mây này hỗ trợ công nghệ java, nên dự án chuyển khai lên đám mây cũng có thể dễ dàng chỉnh sửa lại để chạy trên đám mây khác.
     

    Các file đính kèm:

Đang tải...