Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
2,24 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Hồng Văn Qn XÂY DỰNG CỔNG THƠNG TIN CÁC NHÀ KHOA HỌC VIỆT NAM KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin HÀ NỘI – 2016 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ Hồng Văn Qn XÂY DỰNG CỔNG THƠNG TIN CÁC NHÀ KHOA HỌC VIỆT NAM KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng Nghệ Thông Tin Cán hướng dẫn: TS Nguyễn Việt Anh HÀ NỘI - 2016 VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY Hoang Van Quan PORTAL FOR VIETNAMESE SCIENCTIST THE BS THESIS Major: Information Technology Supervisor: Dr Nguyen Viet Anh LỜI CẢM ƠN HA NOI - 2016 LỜI CẢM ƠN Đầu tiên, xin gửi lời cám ơn chân thành tới Tiến sĩ Nguyễn Việt Anh người tận tình hướng dẫn giúp đỡ tơi suốt q trình làm khóa luận tốt nghiệp Với lịng biết ơn sâu sắc nhất, xin gửi lời cảm ơn đến thầy cô giảng viên Trường Đại học Công Nghệ - Đại học Quốc Gia Hà Nội – người tận tâm truyền đạt kiến thức quý báu suốt khoảng thời gian học tập trường Đó tảng giúp tơi có đủ kiến thức để hồn thành khóa luận này, hành trang để tơi tiếp tục học tập làm việc lĩnh vực công nghệ thông tin Cho tới thời điểm tại, khóa luận đạt thành định Tuy nhiên tránh khỏi thiếu sót hạn chế Kính mong thầy bạn đóng góp ý kiến để tơi tiếp tục hồn thiện sản phẩm sau Tôi xin chân thành cảm ơn Hà Nội, ngày 23 tháng 04 năm 2016 Sinh viên Hồng Văn Qn TĨM TẮT Trong bối cảnh khoa học công nghệ phát triển nay, việc nghiên cứu khoa học trở nên phổ biến, bao gồm nhiều đối tượng sinh viên, người có đam mê khám phá Điều đặt yêu cầu cần có cổng thông tin giúp nhà khoa học giao tiếp với để hợp tác nghiên cứu, doanh nghiệp tìm kiếm nhà khoa học phù hợp để nghiên cứu phát triển sản xuất Khóa luận trình bày việc sử dụng framework ASP.NET MVC để xây dựng ứng dụng web Cổng thông tin nhà khoa học Việt Nam Ý tưởng ứng dụng giúp cho nhà khoa học mà bao gồm sinh viên, người đam mê nghiên cứu… cơng bố cơng trình nghiên cứu Bên cạnh đó, nơi để nhà nghiên cứu tìm kiếm người phù hợp với đam mê sở thích, cơng ty tìm kiếm đối tác phục vụ cho mục đích nghiên cứu ABSTRACT Nowadays, in the context of science and technology development , scientific research has become a popular issue, including many objects like students who are passionate about exploring This raises the need to have a portal to help scientists communicate with each other for collaborative research , as well as for businesses looking for suitable scientists to research and develop manufacturing This thesis presents the use of ASP.NET MVC framework for building Portal for Vietnamese scientist web application The main idea of this app is to help not only the scientists but also students, people who is passionate about studying can publish their work Besides, this is also a place for researchers to seek people who have the same interests and for companies to find partners to serve research purposes LỜI CAM ĐOAN Tơi xin cam đoan tồn nội dung khóa luận tốt nghiệp Xây dựng cổng thông tin điện tử nhà khoa học Việt Nam cơng trình nghiên cứu thực thân Những tơi viết khơng chép từ tài liệu, không sử dụng kết người khác mà khơng có trích dẫn cụ thể nguồn gốc tác giả Nếu sai tơi hồn toàn chịu trách nhiệm theo quy định trường Đại học Công Nghệ - Đại học Quốc Gia Hà Nội Hà Nội, ngày 23 tháng 04 năm 2016 Sinh viên MỤC LỤC Chương Mở đầu 1.1 Hướng nghiên cứu 1.2 Phạm vi nghiên cứu 1.3 Nội dung nghiên cứu 1.3.1 Framework ASP.NET MVC 1.3.2 Hệ Quản trị CSDL SQL Server 1.3.3 Các công nghệ việc phát triển ứng dụng web 1.3.4 Xây dựng Cổng thông tin nhà khoa học Việt Nam 1.4 Kết dự kiến Chương Tìm hiểu ASP.NET MVC 2.1 Giới thiệu ASP.NET MVC 2.2 Lịch sử pháp triển 2.3 So sánh ASP.NET MVC với framework khác 2.4 Lý lựa chọn ASP.NET MVC 2.5 Các thành phần khác ASP.NET MVC 2.5.1 Routing Engine 2.5.2 Entity Framework 2.5.3 Razor View Engine 2.5.4 HTML Helper 2.5.5 SignalR 2.6 Quy trình phát triển ứng dụng với ASP.NET MVC 2.6.1 Phân tích u cầu tốn 2.6.2 Xây dựng CSDL 2.6.3 Tiến hành cài đặt (coding) 2.6.4 Kiểm thử 14 2.6.5 Triển khai ứng dụng lên hosting 14 Chương Bài toán áp dụng 15 3.1 Mơ tả tốn 15 3.2 Sơ đồ ca sử dụng (user case) 16 3.3 Danh sách tác nhân (actor) 17 3.4 Mô tả khái quát ca sử dụng 18 3.5 Đặc tả số ca sử dụng 21 3.5.1 Tìm kiếm 21 3.5.2 Quản lý thông tin cá nhân 22 3.5.3 Upload tệp bibtex 24 3.5.4 Quản lý người dùng 26 3.6 Thiết kế CSDL 28 3.6.1 Mơ hình thực thể liên kết 28 3.6.2 Mô hình CSDL 29 3.7 Các công nghệ, thư viện khác sử dụng 30 3.8 Kết đạt 31 3.8.1 Một số hình ảnh hệ thống 31 3.8.2 Hạn chế 39 3.8.3 Hướng phát triển sau 39 Chương Kết luận 40 TÀI LIỆU THAM KHẢO 41 DANH SÁCH BẢNG Bảng Danh sách tác nhân 17 Bảng Danh sách ca sử dụng 20 Bảng Đặc tả ca sử dụng tìm kiếm 21 Bảng Đặc tả ca sử dụng quản lý thông tin cá nhân 23 Bảng Đặc tả ca sử dụng upload tệp bibtex 24 Bảng Đặc tả ca sử dụng quản lý người dùng 26 DANH SÁCH KÝ HIỆU CHỮ VIẾT TẮT CSDL sở liệu MVC Model View Controller HTML Hyper Text Markup Language DANH SÁCH HÌNH ẢNH Hình 2.1 Các thành phần mơ hình MVC Hình 2.2 Routing mặc định ASP.NET MVC Hình 2.3 Ví dụ ánh xạ từ bảng CSDL liệu sang class Hình 2.4 Cách tạo project ASP.NET MVC Hình 2.5 Cấu trúc thư mục project ASP.NET MVC 10 Hình 2.6 Model ASP.NET MVC 11 Hình 2.7 Controller ASP.NET MVC 12 3.6 Thiết kế CSDL 3.6.1 Mơ hình thực thể liên kết Hình 15 Mơ hình thực thể liên kết 28 3.6.2 Mơ hình CSDL Hình 16 Mơ hình CSDL 29 Bảng User: Lưu thông tin người dùng họ tên, ngày sinh, email, mật khẩu, thông tin liên lạc… Bảng Role: Lưu danh sách quyền phân cấp hệ thống Bảng AccountType: Lưu danh sách loại tài khoản người dùng Hiện phiên cung cấp cho hai loại tài khoản sinh viên nhà khoa học Bảng Article, Book, Proceeding, Inproceeding: Lưu đóng góp khoa học mà người dùng đưa lên hệ thống Bảng Skill: Lưu kỹ người dùng Bảng Degree: Lưu cấp người dùng Bảng Teaching: Lưu thông tin giảng dạy người dùng Bảng Project: Lưu dự án mà người dùng thực Bảng InterestingTopic: Lưu chủ đề mà người dùng quan tâm Bảng ResearchDirection: Lưu hướng nghiên cứu mà người dùng thực Bảng Group: Lưu hội nhóm mà người dùng tạo Bảng GroupPost: Lưu thảo luận mà người dùng đăng nhóm tham gia Bảng UserJoinGroup: Bảng chứa khóa ngoại đến hai bảng User Group, lưu trữ thông tin tham gia người dùng vào hội nhóm, mơ tả mối quan hệ nhiều nhiều Một người tham gia nhiều hội nhóm hội nhóm tham gia nhiều người Bảng Sex: Lưu danh sách loại giới tính Bảng Cooperation: Lưu lần hợp tác giữu hai người dùng hệ thống với 3.7 Các công nghệ, thư viện khác sử dụng Để phát triển ứng dụng này, ASP.NET MVC đơn Tác giả sử dụng số thư viện hỗ trợ có sẵn Các thư viện nêu trích dẫn mục tài liệu tham khảo 30 Angularjs: sử dụng để xây dựng giao diện hiển thị cho website Giúp cho khối lượng code giảm rõ rệt SignalR: sử dụng để xây dựng tính thảo luận nhóm, với khả xử lý trả kết thời gian thực Bibtex-parser: Thư viện hỗ trợ đọc tệp bibtext viết mã javascript 3.8 Kết đạt Sau thời gian phát triển, hệ thống hoàn thành, nhiên khơng thể tránh khỏi cịn nhiều thiếu sót 3.8.1 Một số hình ảnh hệ thống Trang chủ sau đăng nhập: Bên trái hiển thị danh sách nhóm mà người dùng tạo tham gia Bên phải người gần xem thông tin liên lạc người dùng Mỗi lần tài khoản xem thông tin liên lạc tài khoản khác Hệ thống lưu xuống CSDL coi lần liên hệ hợp tác hai tài khoản Người liên hệ có quyền xóa bỏ hợp tác thay đổi trạng thái thành hợp tác thành cơng thất bại 31 Hình 17 Trang chủ hệ thống Trang thông tin cá nhân hiển thị thông tin cá nhân tài khoản Phần thông tin liên hệ ẩn người dùng xem thông tin cá nhân người khác Nếu người dùng nhấn vào “Xem thông tin liên hệ” coi lần liên hệ hợp tác 32 Hình 18 Trang cá nhân người dùng 33 Hình 19 Trang cá nhân người dùng khác Trang đóng góp khoa học hiển thị danh sách đóng góp khoa học người dùng đăng tải lên hệ thống 34 Hình 20 Trang đóng góp khoa học người dùng Trang tìm kiếm hiển thị danh sách kết tìm kiếm người dùng, đóng góp khoa học theo từ khóa tìm kiếm 35 Hình 21 Trang tìm kiếm Trang hội nhóm cho phép người dùng thảo luận với thành viên nhóm, quản lý danh sách thành viên thông tin hội nhóm người tạo nhóm 36 Hình 22 Trang hội nhóm Trang quản lý danh sách tài khoản dành cho quản trị viên, cung cấp chức hiển thị danh sách người dùng; phân quyền, kích hoạt xác nhận tài khoản người dùng 37 Hình 23 Trang quản lý người dùng Trang thống kê danh sách báo cung cấp chức thống kê số lượng báo có hệ thống 38 Hình 24 Trang thống kê danh sách báo 3.8.2 Hạn chế Giao diện đơn giản, chưa đẹp Chưa có chức thơng báo cho người dùng có người đăng hội nhóm Các loại đóng góp khoa học cho người dùng khai báo hạn chế Mới dừng lại loại 3.8.3 Hướng phát triển sau Thêm chức cho phép người dùng nhắn tin để liên hệ với hệ thống Bổ sung thông báo thời gian thực cho người dùng có người đăng hội nhóm Cải thiện lại giao diện thân thiện 39 Bổ sung số lượng loại đóng góp khoa học mà người dùng khai báo Chương Kết luận Lập trình ứng dụng web tương lai thị trường tiềm phát triển Số lượng framework hỗ trợ ngày tăng lên Việc hiểu biết hay số framework tốt lập trình viên Tuy nhiên tảng cốt lõi việc có kiến thức lập trình nói riêng cơng nghệ thơng tin nói chung Framework cơng cụ hỗ trợ cho lập trình viên Để ứng dụng hồn thành Tơi phải qua nhiều lần chỉnh sửa thay đổi hiểu sai yêu cầu Việc giúp tơi hiểu quy trình phát triển phần mềm Thực tế sử dụng cho thấy ứng dụng chạy ổn định xử lý nhanh Tuy nhiên nhiều thiếu sót mặt giao diện hạn chế chức Để ứng dụng vào hoạt động thực tế phải tiếp tục phát triển thêm, bổ sung chức khác để ứng dụng hồn thiện Sau hồn thành khóa luận này, thu nhiều kết có ích cho thân Về cơng nghệ: Tìm hiểu framework ASP.NET MVC thành phần bên nó, tìm hiểu cơng nghệ hỗ trợ lập trình web Bootstrap, AngularJS, SignalR Về kỹ năng: Kỹ thu thập phân tích yêu cầu, lên kế hoạch thời gian thực hiện, trình bày báo cáo, nâng cao phong cách lập trình, tìm hiểu tài liệu, thiết kế kiến trúc phần mềm Kết quả: Xây dựng thành công ứng dụng Cổng thông tin nhà khoa học Việt Nam, ứng dụng kiến thức học năm đại học để xây dựng sản phẩm thực tế Trước kết thúc báo cáo, xin phép lần dành lời cảm ơn sâu săc tới thầy Nguyễn Việt Anh, người giúp đỡ nhiều trình xây dựng ứng dụng trình bày báo cáo Xin cám ơn thầy cô trường Đại học Công Nghệ Đại học Quốc gia Hà Nội tận tình dạy dỗ tơi suốt năm vừa qua Tôi xin chân thành cảm ơn! 40 TÀI LIỆU THAM KHẢO Tiếng Anh [1] Jon Galloway, Brad Wilson, K Scott Allen, David Matson Professional ASP.NET MVC http://www.wrox.com/WileyCDA/WroxTitle/Professional-ASP-NETMVC-5.productCd-1118794753.HTML [2] Adam Freeman Pro ASP.NET MVC Platform http://www.apress.com/9781430265412 [3] ASP.NET MVC Getting Started The Official Microsoft ASP.NET site http://www.asp.net/mvc/overview/getting-started/introduction/getting-started [4] Mikolalysenko Bibtext-parse library https://github.com/mikolalysenko/bibtexparser [5] Andrey Prikaznov How to Create a Responsive Website with AngularJS https://dzone.com/articles/tutorial-how-create-responsive [6] AngularJs Official site tutorial https://docs.angularjs.org/tutorial [7] Getting Started with SignalR The Official Microsoft ASP.NET site http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr [8] Behnam, 28-08-2015 A Simple Chat Application using SignalR and AngularJS http://www.dispatchertimer.com/signalr/signalr-tutorial-a-simple-chat-application-usingsignalr-and-angularjs/ [9] Bibtex Entry Types, Field Types and Usage Hints http://www.openoffice.org/bibliographic/bibtex-defs.HTML Tiếng Việt [9] Sở bưu viễn thơng thành phố Hà Nội Giáo trình CSDL Mã số giáo trình 2CD3 [10] Trương Ninh Thuận, Đặng Đức Hạnh Giáo trình phân tích thiết kế hướng đối tượng [11] AngularJs Tutorial http://freetuts.net/hoc-angularjs 41 [12] SignalR – Web thời gian thực với NET http://vietcloud.net/thongtin/BA/0/signalr-%E2%80%93-web-thoi-gian-thuc-voi-net.aspx [13] ThS Nguyễn Nghiệm Giáo trình Microsoft ASP.NET MVC 42 ... tiếp nhà khoa học, nhà khoa học với doanh nghiệp, cơng ty Từ tìm người có lực vào sở thích để tham gia nghiên cứu Vì vậy, khóa luận trình bày việc xây dựng Cổng thông tin nhà khoa học Việt Nam. ..ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Hồng Văn Qn XÂY DỰNG CỔNG THƠNG TIN CÁC NHÀ KHOA HỌC VIỆT NAM KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng Nghệ Thơng Tin Cán hướng... Angularjs xây dựng giao diện ứng dụng website Tìm hiểu thư viện SignalR xây dựng ứng dụng web thời gian thực 1.3.4 Xây dựng Cổng thông tin nhà khoa học Việt Nam Thu thập yêu cầu toán Phân