Mô hình hóa ứng dụng web bằng ngôn ngữ đặc tả alloy

59 2 0
Mô hình hóa ứng dụng web bằng ngôn ngữ đặc tả alloy

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ──────── * ─────── LÊ THỊ THU TRANG MƠ HÌNH HĨA ỨNG DỤNG WEB BẰNG NGƠN NGỮ ĐẶC TẢ ALLOY Chuyên ngành: CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ KỸ THUẬT NGƢỜI HƢỚNG DẪN KHOA HỌC: TS TRẦN ĐỨC KHÁNH Hà Nội – Năm 2014 LỜI CẢM ƠN Để hoàn thành luận văn nhận nhiều động viên, giúp đỡ nhiều cá nhân tập thể Trước hết, tơi xin bày tỏ lịng biết ơn sâu sắc đến thầy giáo TS Trần Đức Khánh giao đề tài tận tình hướng dẫn tơi suốt q trình hồn thành luận văn Xin bày tỏ lịng biết ơn chân thành tới thầy cô giáo, người đem lại cho kiến thức bổ trợ vơ có ích năm học vừa qua Cũng xin gửi lời cám ơn chân thành tới Ban lãnh đạo Viện Sau Đại Học, Viện Công Nghệ Thông Tin & Truyền Thông trường Đại Học Bách Khoa Hà Nội tạo điều kiện cho trình học tập Cuối tơi xin gửi lời cám ơn đến gia đình, bạn bè, người ln bên tơi, động viên khuyến khích tơi q trình thực đề tài nghiên cứu Dù có nhiều cố gắng, xong luận văn khơng tránh khỏi hạn chế, thiếu xót Kính mong nhận chia sẻ ý kiến dẫn, góp ý q báu q thầy bạn bè đồng nghiệp Trân trọng! LỜI CAM ĐOAN Tôi xin cam đoan đề tài nghiên cứu thân tôi, xuất phát từ vấn đề cấp thiết xã hội phát triển cơng nghệ thơng tin Các số liệu có nguồn gốc rõ ràng, tuân thủ nguyên tắc kết trình bày luận văn thu thập trình nghiên cứu trung thực xác Hà Nội, ngày 20 tháng 09 năm 2014 Tác giả luận văn Lê Thị Thu Trang TÓM TẮT NỘI DUNG LUẬN VĂN Nội dung luận văn gồm phần sau: Nghiên cứu ngơn ngữ mơ hình hóa Alloy: Nghiên cứu ngơn ngữ, mơ hình Cách thức mơ hình hóa trang web Cách thức xử lý phân tích trang web, để từ áp dụng mơ hình hóa forum cung cấp thơng tin học bổng, giải thưởng quỹ học bổng dành cho sinh viên trường Đại học Hồng Đức Mơ hình hóa Forum Alloy: Mơ hình mơ hình hóa dựa bước sau:  Xây dựng nội dung trang web  Xác định thành phần đối tượng forum  Xây dựng sách truy cập bao gồm: o Xây dựng Facts: Các yêu cầu mà mơ hình hệ thống ln ln phải đáp ứng o Xây dựng Capabilities: Các capabilities phân quyền cho kiểu người dùng quyền đọc, sửa, tạo mới, xóa o Xây dựng Pre-conditions Post-conditions: Các điều kiện trước sau add delete liệu o Xây dựng Triggers: Các điều kiện add delete liệu Sau mô hình hóa forum Sử dụng phân tích tự động Alloy Analyzer việc phân tích, kiểm tra với tất trường hợp đọc, thêm, sửa, xóa thành phần forum Xây dựng sở liệu Sau phân tích kiểm tra mơ hình Forum, ta dựa vào Signature mơ hình xây dựng sở liệu Xây dựng lớp sách truy cập Thiết kế giao diện forum MỤC LỤC Trang LỜI CAM ĐOAN DANH MỤC CÁC HÌNH DANH MỤC CÁC BẢNG MỞ ĐẦU CHƢƠNG I : ĐẶT VẤN ĐỀ VÀ GIẢI PHÁP 10 Giới thiệu 10 Cơ sở lý thuyết 12 2.1 Ngơn ngữ mơ hình hóa Alloy 12 2.2 Hệ quản trị sở liệu SQL Server 21 2.3 ASP.NET 21 CHƢƠNG II : MƠ HÌNH HĨA FORUM BẰNG NGƠN NGỮ ALLOY 24 Nội dung, thành phần đối tƣợng sách truy cập forum 24 1.1 Nội dung trang web 24 1.2 Các thành phần đối tƣợng forum 24 1.3 Các sách truy cập 25 Mơ hình hóa forum Alloy 26 2.1 Cấu trúc chung chƣơng trình Alloy 26 2.2 Các thành phần forum 27 2.3 Các ràng buộc toàn vẹn 29 2.4 Chính sách truy cập 32 Phân tích, kiểm tra mơ hình 33 3.1 Add Topic 34 3.2 Add Reply 36 3.3 Delete Reply 37 3.4 Delete Topic 38 3.5 Read User Password 40 3.6 Edit ReadOnly 42 3.7 Edit Topic 43 CHƢƠNG III : CÀI ĐẶT, XÂY DỰNG HỆ THỐNG QUẢN LÝ FORUM 44 Xây dựng sở liệu SQL 44 Xây dựng lớp sách truy cập 48 Thiết kế giao diện forum 52 KẾT LUẬN 57 TÀI LIỆU THAM KHẢO 58 DANH MỤC CÁC HÌNH Hình - Ví dụ quan hệ Alloy 13 Hình - Quan hệ hàm 14 Hình - Phân tích mơ hình Alloy 20 Hình - Các thành phần Forum 27 Hình - Các fact mơ hình 29 Hình - Predicate show Forum 30 Hình - Kết show Forum 31 Hình - Capabilities 32 Hình - Pre-conditions & Post-conditions & Triggers 33 Hình 10 - Add Topic 34 Hình 11 - Kết pred AddTopic 35 Hình 12 - Kết assertion AddTopicPolicy 35 Hình 13 - Add Reply 36 Hình 14 - Kết pred AddReply 37 Hình 15 - Kết assertion AddReplyPolicy 37 Hình 16 - Predicate DelReply 38 Hình 17 - Kết Predicate DelReply 38 Hình 18 - Predicate DelTopic 39 Hình 19 - Kết Predicate DelTopic 39 Hình 20 - Predicate readUserPassword & Assertion 40 Hình 21 - Kết Predicate readUserPassword với trường hợp người dùng User 41 Hình 22 - Kết Predicate readUserPassword với trường hợp người dùng Admin 41 Hình 23 - Kết Assertion readUserPassword 41 Hình 24 - Predicate editReadOnly 42 Hình 25 - Kết Predicate editReadOnly 42 Hình 26 - Predicate editTopic 43 Hình 27 - Kết Predicate editTopic 43 Hình 28 - Lược đồ quan hệ CSDL 47 Hình 29 - Hàm checkCapabilities 48 Hình 30 - Các hàm RPC 50 Hình 31 - Giao diện trang chủ 52 Hình 32 - Giao diện Section 53 Hình 33 - Giao diện Topic 54 Hình 34 - Panel tạo Topic 55 Hình 35 - Panel xem thông tin User 55 Hình 36 - Panel tạo User 55 DANH MỤC CÁC BẢNG Bảng User CSDL 44 Bảng Section CSDL 44 Bảng Topic CSDL 45 Bảng Reply CSDL 45 Bảng MyFlie CSDL 46 MỞ ĐẦU Ngày nay, Internet ngày phát triển, vấn đề bảo vệ thông tin lưu trữ vấn đề thiết yếu website, website có chứa nhiều liệu người dùng ( ví dụ : thông tin cá nhân, tài khoản ngân hàng …) Chính nhu cầu đó, nhiều phương pháp đời nhằm xây dựng website có khả bảo mật liệu cao Luận văn em tập trung nghiên cứu phương pháp số : mơ hình hóa website ngơn ngữ mơ hình hóa Alloy với ràng buộc sách truy cập nhằm đảm bảo an tồn thơng tin liệu, phân tích mơ hình sử dụng Alloy Analyzer để kiểm tra ràng buộc sách đó, sau sử dụng cơng cụ lập trình ASP.NET để cài đặt website theo thành phần : sở liệu, sách truy cập, giao diện người dùng Như nói trên, website em thực cài đặt thử nghiệm luận văn website diễn đàn cung cấp thông tin học bổng, giải thưởng quỹ học bổng dành cho sinh viên trường Đại học Hồng Đức Luận văn gồm phần : • Phần : Lý thuyết ngơn ngữ đặc tả Alloy, phương pháp mơ hình hóa website sử dụng Alloy Giới thiệu chung SQL, ASP.NET • Phần : Thiết kế, mơ hình hóa, xây dựng forum cung cấp thông tin học bổng, giải thưởng quỹ học bổng dành cho sinh viên trường Đại học Hồng Đức theo nguyên tắc nêu phần Cài đặt thử nghiệm hệ thống qua đánh giá phương pháp xây dựng website CHƢƠNG III : CÀI ĐẶT, XÂY DỰNG HỆ THỐNG QUẢN LÝ FORUM Trong chương II, mơ hình hóa forum chia sẻ thông tin học bổng ngôn ngữ Alloy, đưa thành phần, ràng buộc tồn vẹn sách truy cập forum Ở chương III, cài đặt xây dựng hệ thống quản lý forum Xây dựng sở liệu SQL Sau phân tích kiểm tra mơ hình Forum, ta dựa vào signature mơ hình xây dựng CSDL gồm bảng sau: User (ID, UserID, Password, Name, Bio, Birthday, Gender, Email, Role_Type, getMail, Post) Columns Data type Constraints ID Int Primary Key UserID Nvarchar(50) Notnull Password varchar(260) Not null Name Nvarchar(50) Not null Bio Nvarchar(50) Birthday Smalldatetime Gender Bit Email varchar(50) Not null Role_Type TinyInt Not null getMail TinyInt Not null Post Int Section (ID, Name, Description, Scholarship, No) Columns Data type Constraints ID Int Primary Key Name Nvarchar(50) Not null Description Nvarchar(50) 44 Scholarship TinyInt No Int Not null Topic (ID, SectionID, OwnerID, Name, Text, ReadOnly, DossierByReply, Created, Modified, Lastpost, Lastuserpost, Attach) Columns Data type Constraints ID Int Primary Key SectionID Int Foreign Key OwnerID Int Foreign Key Name Nvarchar(2000) Not null Text Nvarchar(MAX) Not null ReadOnly TinyInt Not null DossierByReply TinyInt Not null Created Smalldatetime Not null Modified Smalldatetime Not null Lastpost Smalldatetime Not null Lastuserpost Smalldatetime Not null Attach Nvarchar(200) Reply (ID, TopicID, Owner, Name, Text, Attach, Created, Modified) Columns Data type Constraints ID Int Primary Key TopicID Int Foreign Key OwnerID Int Foreign Key Text Nvarchar(MAX) Not null Attach Nvarchar(250) Created Smalldatetime Not null Modified Smalldatetime Not null 45 Ngoài ra, trình cài đặt forum, em bổ sung thêm bảng để lưu file Attach người dùng đăng Reply lên forum Việc bổ sung thêm bảng MyFile giúp cho việc quản lý file Attach dễ dàng Columns Data type Constraints ID BigInt Primary Key Name Nvarchar(200) NameUI Nvarchar(100) FileType Nvarchar(100) FileSize Nvarchar(50) Ta thu lược đồ quan hệ CSDL sau : 46 Hình 28 - Lƣợc đồ quan hệ CSDL 47 Xây dựng lớp sách truy cập Trong luận văn này, tất capabilities khai báo mơ hình Alloy thể hàm checkCapabilities: 48 Hình 29 - Hàm checkCapabilities 49 Hàm nhận tham số :  Constant.ForumType type: thể hành động mà user muốn tác động đến CSDL (READ, MODIFY, ADD, DELETE )  UserInfo user : user đăng nhập browser, chưa đăng nhập, user = null  Constant.ForumObject fobject: tên đối tượng mà user muốn tác động đến (Topic, Section, Reply, User )  Int objectID : id đối tượng object (nếu khơng có để objectID = 0)  Bool isOwner: isOwner = true, user người sở hữu object ngược lại  Constant.UserField field: danh sách trường object mà user muốn thay đổi ( ví dụ với object Topic Field id, sectionID, name, text, owner … ) Hàm checkCapabilities kiểm tra xem user admin đương nhiên có tồn quyền thay đổi CSDL, admin, hàm phân theo hành động READ, MODIFY, ADD, DELETE, hành động lại xét loại Object User, Section, Topic Reply Sau cài đặt hết sách truy cập này, ta khai báo hàm RPC sử dụng để lấy, thay đổi thông tin CSDL theo loại Object User, Section, Topic Reply sau : 50 Hình 30 - Các hàm RPC Mỗi lời định nghĩa hàm RPC phía server xử lý theo nguyên tắc xử lý transaction query nêu phần Các hàm với yêu cầu: đọc, ghi, sửa, xóa bị kiểm tra Capabilities 51 Thiết kế giao diện forum Forum bao gồm giao diện sau : trang chủ, trang Section, trang Topic, trang User, trang tạo Topic mới, trang đăng ký User Hình 31 - Giao diện trang chủ 52 Trang chủ đưa Topic nhất, muốn xem tồn Topic Section, người dùng ấn nút More Section Hình 32 - Giao diện Section 53 Hình 33 - Giao diện Topic Giao diện Topic bao gồm nội dung Topic, nội dung Reply, có 10 Reply Topic, chúng phân thành trang (10 Reply / Trang ), nơi để post Reply Topic 54 Hình 34 - Panel tạo Topic Hình 35 - Panel xem thơng tin User Hình 36 - Panel tạo User 55 Ở giao diện trên, người dùng sửa Topic, Reply, thơng tin User, xóa Topic, Reply nút Edit Delete So sánh với WebAlloy Phương pháp thực luận văn thực theo hướng công cụ tự động tạo website từ đặc tả Alloy có tên WebAlloy [1], so sánh với công cụ này, em rút mặt yếu mặt mạnh sau : Mặt yếu : công cụ webAlloy cơng cụ tự động, tự động chuyển khai báo mơ hình Alloy sang code Java GWT, cơng việc khó khăn đòi hỏi đào sâu nghiên cứu Việc làm thủ cơng địi hỏi gấp nhiều thời gian so với công cụ tự động Mặt mạnh : nhiên, chuyển thủ cơng từ mơ hình Alloy nên sản phẩm luận văn có số lợi sau :  Giao diện tùy biến tùy theo ý thích người lập trình, khơng bị bó buộc theo form WebAlloy ( WebAlloy cho phép tùy chỉnh nhiều phải theo khuôn template định )  Tác giả WebAlloy chưa thể tích hợp cơng cụ với hệ quản trị sở liệu quen thuộc mà phải tự tổ chức liệu, điều khiến việc thao tác với liệu khó khăn hệ thống lớn người chưa quen Còn với sản phẩm thủ cơng này, ta cài đặt hệ quản trị CSDL  Có thể dễ dàng tích hợp với thư viện, lớp khác 56 KẾT LUẬN Những việc làm đƣợc khó khăn gặp phải a Kết đạt đƣợc Trong trình làm luận văn, em đạt số kết sau :  Nắm vấn đề việc mô hình hóa tốn hay hệ thống ngơn ngữ đặc tả Alloy  Mơ hình hóa ứng dụng Web sử dụng ngơn ngữ Alloy Từ mơ hình mơ hình hóa, thực phân tích, đánh giá sách truy cập, ràng buộc trang Web sử dụng công cụ Alloy Analzer 4.2 để phân tích tự động mơ hình Kết chương trình chạy khơng tìm phản ví dụ nào, điều chứng tỏ hệ thống thực tế đáng tin cậy  Tìm hiểu kiểu kiến trúc lập trình Website với lớp CSDL, lớp bảo mật lớp giao diện Từ xây dựng trang Forum chia sẻ thông tin học bổng với chức mô tả mơ hình hóa ứng dụng Web b Những khó khăn hạn chế Về chất luận văn hoàn thành mục tiêu đề cịn hạn chế như: Mơ hình cịn dừng mức đơn giản, forum cài đặt chưa hồn chỉnh thành phần nhiều thiếu sót, đồng thời khơng tránh khỏi sai sót chủ quan nghiên cứu thực hệ thống Hƣớng phát triển  Hồn thiện tính cịn thiếu q trình cài đặt forum chia sẻ thơng tin học bổng  Tìm hiểu sâu Alloy để mơ hình hóa hệ thống phức tạp  Đưa quy trình xác, rõ ràng bước để từ mơ hình Alloy chuyển thành website Từ tự động hóa loại bỏ vài bước để giảm thời gian chuyển đổi, ví dụ xây dưng template cho giao diện tương tác website 57 TÀI LIỆU THAM KHẢO [1] Generation of Policy-Rich Websites From Declarative Models by Felix ShengHo Chang, degree of Doctor of Philosophy at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY 2009 [2] Software Abstractions: Logic, Language, and Analysis, Daniel Jackson, The MIT Press, Cambridge, Massachusetts, London, England, 2006 [3] SQL wiki : vi.wikipedia.org/wiki/SQL [4] ASP.NET wiki : vi.wikipedia.org/wiki/ASP.NET [5] ASP.NET www.asp.net [6] http://www.microsoft.com [7] http://congdongjava.com/forum/ [8] Alloy MIT website, FAQ section: http://alloy.mit.edu/faq.php [9] Và nhiều tài liệu khác 58 ... buộc cách dễ dàng Hình - Các fact mơ hình 29 Đến ta có mơ hình liệu forum đặc tả ngôn ngữ Alloy Sử dụng câu lệnh run với predicate hình 6, ta thu thể mô hình forum sau ( hình ) : Hình - Predicate... mơ hình Alloy  Thiết kế giao diện trang web  Kết hợp CSDL, lớp bảo mật, giao diện Cơ sở lý thuyết 2.1 Ngơn ngữ mơ hình hóa Alloy Alloy ngôn ngữ để mô tả hệ thống phần mềm cách trừu tượng hóa. .. phần sau: Nghiên cứu ngơn ngữ mơ hình hóa Alloy: Nghiên cứu ngơn ngữ, mơ hình Cách thức mơ hình hóa trang web Cách thức xử lý phân tích trang web, để từ áp dụng mơ hình hóa forum cung cấp thơng

Ngày đăng: 17/02/2022, 19:31

Mục lục

    TÀI LIỆU THAM KHẢO