Tài liệu Xây dựng hệ thống quản lý đăng kí tín chỉ tại trường đại học kinh tế đại học huế

  • Số trang: 72 |
  • Loại file: PDF |
  • Lượt xem: 371 |
  • Lượt tải: 2
phuongtran99439

Tham gia: 26/07/2016

Mô tả:

LỜI CẢM ƠN Trước tiên, tôi xin gửi lời cảm ơn chân thành tới tất cả uế các thầy cô giáo trường Đại học Kinh tế Huế, đặc biệt là các tế H thầy cô ở Khoa Hệ thống Thông tin Kinh tế, bạn bè đã theo sát, tạo điều kiện giúp đỡ tôi thực hiện đề tài này một cách thuận lợi nhất. h Tôi xin bày tỏ lời cảm ơn tới thạc sĩ Nguyễn Thanh Tuấn, in người thầy đã tận tình hướng dẫn và truyền đạt những kinh cK nghiệm quý báu cho tôi trong suốt quá trình làm luận văn tốt nghiệp. Thầy đã giúp đỡ tôi rất nhiều từ việc hình thành những ý tưởng ban đầu cũng như hướng dẫn quá trình thực họ hiện ý tưởng và sau đó là góp ý, chỉnh sửa để đề tài được hoàn thành tốt nhất có thể. Đ ại Tôi cũng xin cảm ơn chân thành đến bố mẹ và những người thân đã đã quan tâm giúp đỡ và động viên tôi trong ng suốt thời gian qua để bài luận văn của tôi được hoàn thành Tr ườ tốt đẹp. Mặc dù tôi đã rất cố gắng nhưng chắc chắn luận văn sẽ không thể tránh khỏi những thiếu sót, rất mong nhận được những ý kiến đóng góp, bổ sung của quý thầy cô để tôi có thể sữa chữa, bổ sung và nghiên cứu kỹ hơn về đề tài này. Tôi xin chân thành cảm ơn. Huế, ngày 18 tháng 5 năm 2014 i Khóa luận tốt nghiệp đại học Sinh viên: uế Trần Hoàng Linh MỤC LỤC tế H DANH MỤC CÁC KÍ KIỆU VÀ CHỮ VIẾT TẮT .......................................................v DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ, BIỂU ĐỒ...................................................... vii TÓM TẮT NGHIÊN CỨU ............................................................................................ix h ĐẶT VẤN ĐỀ .................................................................................................................8 in 1. Lý do chọn đề tài............................................................................................................ 8 2. Mục tiêu của đề tài ......................................................................................................... 9 cK 3. Đối tượng và phạm vi nghiên cứu.................................................................................. 9 4. Phương pháp nghiên cứu.............................................................................................. 10 họ 5. Nội dung nghiên cứu .................................................................................................... 10 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU ................................................................11 CHƯƠNG I: CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG HỆ THỐNG QUẢN LÝ ĐĂNG KÍ Đ ại TÍN CHỈ.........................................................................................................................11 1.1. Khái niệm về hệ thống, hệ thống thông tin quản lý................................................... 11 1.1.1. Khái niệm hệ thống................................................................................................ 11 ng 1.1.2. Hệ thống quản lý.................................................................................................... 11 1.1.3. Hệ thống thông tin (Information System) ............................................................. 11 ườ 1.2. Giới thiệu các công cụ để xây dựng hệ thống quản lý............................................... 12 Tr 1.2.1. Giới thiệu về .NET Framework, C# ...................................................................... 12 1.2.2. Giới thiệu hệ quản lý CSDL SQL Server .............................................................. 12 1.2.3. Giới thiệu về ASP.NET MVC 4 ............................................................................ 12 1.2.4. So sánh ASP.NET MVC và ASP.NET Web Form ............................................... 16 1.2.5. Xây dựng ứng dụng theo mô hình 3 lớp................................................................ 17 1.2.6. Entity framework và Code first migration............................................................. 18 SVTH: Trần Hoàng Linh ii Khóa luận tốt nghiệp đại học 1.2.7. Giới thiệu về Visual Studio ................................................................................... 20 CHƯƠNG II: BÀI TOÁN QUẢN LÝ ĐĂNG KÍ TÍN CHỈ TẠI TRƯỜNG ĐẠI HỌC KINH TẾ – ĐẠI HỌC HUẾ .........................................................................................21 2.1. Đặc điểm của học chế tín chỉ và quy trình đăng kí tín chỉ ........................................ 21 uế 2.1.1. Đặc điểm chung ...................................................................................................... 21 tế H 2.1.2. Ưu điểm của học chế tín chỉ ................................................................................... 21 2.1.3. Nhược điểm của học chế tín chỉ ............................................................................. 23 2.2. Hiện trạng mô hình học chế tín chỉ của trường Đại học Kinh Tế Huế...................... 24 2.2.1. Hiện trạng công tác quản lý đăng kí tín chỉ của trường Đại Học Kinh Tế Huế ..... 24 h 2.2.2. Hiện trạng hệ thống phần mềm hỗ trợ học chế tín chỉ trường Đại học Kinh Tế - in Đại Học Huế ..................................................................................................................... 26 cK 2.2.3. Đề xuất giải pháp khắc phục .................................................................................. 27 2.3. Mô tả hệ thống quản lý đăng kí tín chỉ...................................................................... 28 CHƯƠNG III: XÂY DỰNG HỆ THỐNG QUẢN LÝ ĐĂNG KÍ TÍN CHỈ TẠI họ TRƯỜNG ĐẠI HỌC KINH TẾ - ĐẠI HỌC HUẾ.......................................................32 3.1. Phân tích hệ thống quản lý đăng kí tín chỉ cho sinh viên chính quy trường Đại Học Đ ại Kinh Tế Huế ..................................................................................................................... 32 3.1.1. Sơ đồ phân rã chức năng hệ thống (BFD – Business Funtion Diagram) ............... 32 3.1.2. Sơ đồ ngữ cảnh (Context Diagram)........................................................................ 34 ng 3.1.3. Sơ đồ luồng dữ liệu (DFD – Data Flow Diagram) ................................................. 35 3.2. Thiết kế hệ thống ....................................................................................................... 37 ườ 3.2.1. Xác định các thực thể và các thuộc tính tương ứng của thực thể........................... 37 Tr 3.2.2. Xác định mối quan hệ giữa các thực thể ................................................................ 39 3.2.3. Mô hình thực thể mối quan hệ................................................................................ 41 3.2.4. Chuẩn hóa ............................................................................................................... 41 3.2.5. Lược đồ quan hệ của CSDL ................................................................................... 49 3.3. Một số giải thuật chính .............................................................................................. 50 3.3.1. Cập nhật thông tin .................................................................................................. 50 SVTH: Trần Hoàng Linh iii Khóa luận tốt nghiệp đại học 3.3.2. Sửa thông tin........................................................................................................... 50 3.3.3. Xóa thông tin .......................................................................................................... 51 3.3.4. Đăng nhập hệ thống................................................................................................ 51 3.3.5. Tra cứu thông tin .................................................................................................... 52 uế 3.3.6. Thống kê báo cáo.................................................................................................... 52 3.3.7. Đăng kí tín chỉ ........................................................................................................ 53 tế H 3.4. Giao diện hệ thống..................................................................................................... 54 3.5. Triển khai hệ thống.................................................................................................... 55 3.5.1. Thiết kế sơ đồ mạng ............................................................................................... 55 h 3.5.2. Thông số kỹ thuật hệ thống mạng .......................................................................... 55 in KẾT LUẬN VÀ KIẾN NGHỊ .......................................................................................64 cK 1. Những kết quả đạt được............................................................................................. 64 2. Hạn chế của đề tài ...................................................................................................... 64 3. Định hướng nghiên cứu trong tương lai..................................................................... 65 Tr ườ ng Đ ại họ DANH MỤC TÀI LIỆU THAM KHẢO ......................................................................66 SVTH: Trần Hoàng Linh iv Khóa luận tốt nghiệp đại học DANH MỤC CÁC KÍ KIỆU VÀ CHỮ VIẾT TẮT Tên đầy đủ CSDL Cơ sở dữ liệu MIS Management Ý nghĩa Information Hệ thống thông tin quản lý uế Tên viết tắt System Common Language Runtime MVC Models-Views-Controller HTTP HyperText Transfer Protocol Bộ thực thi ngôn ngữ chung tế H CLR Giao thức truyền tải siêu văn bản microsoft developer network EF Entity Framework XML Extensible Markup Language POCO Plain Old CLR Object Đối tượng thuần CLR/.NET cũ UML Unified Modeling Language Ngôn ngữ mô hình hóa thống in Ngôn ngữ đánh dấu mở rộng cK SV Sinh viên họ Tín chỉ Đ ại TC TKB h MSDN nhất Thời khóa biểu BFD Mô hình phân rã chức năng Data Flow Diagram Sơ đồ luồng dữ liệu ng DFD Business Funtion Diagram domain controller DHCP Dynamic ườ DC Host Configuration Giao thức cấu hình host động Protocol Internet Protocol Giao thức internet WAN wide area network Mạng diện rộng LAN Local area network Mạng máy tính cục bộ ADSL Asymmetric digital subscriber line Đường dây thuê bao số bất đối Tr IP xứng SVTH: Trần Hoàng Linh v Khóa luận tốt nghiệp đại học Domain Name System hệ thống phân giải tên miền URL Uniform Resource Locator Định vị tài nguyên thống nhất Tr ườ ng Đ ại họ cK in h tế H uế DNS SVTH: Trần Hoàng Linh vi Khóa luận tốt nghiệp đại học DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ, BIỂU ĐỒ Hình 1.1 : Mô hình MVC .....................................................................................13 Hình 1.2: Kiến trúc mô hình 3 lớp........................................................................17 uế Hình 1.3: Tùy chọn xây dựng Entity Data Model ................................................20 tế H Hình 2.1 : Sơ đồ quy trình đăng kí tín chỉ ............................................................31 Hình 3.1: Chức năng quản lý đăng kí tín chỉ ........................................................33 Hình 3.2: Chức năng quản lý đăng kí tín chỉ (tt) ..................................................33 h Hình 3.3: Sơ đồ ngữ cảnh .....................................................................................35 in Hình 3.4: Sơ đồ phân rã mức 0 .............................................................................37 cK Hình 3.5: Sơ đồ thực thể mối quan hệ ..................................................................41 Hình 3.6: Lược đồ quan hệ của CSDL .................................................................49 họ Hình 3.7: Sơ đồ cập nhật thông tin .......................................................................50 Hình 3.8: Sơ đồ sửa thông tin ...............................................................................50 Đ ại Hình 3.9: Sơ đồ xóa thông tin...............................................................................51 Hình 3.10: Sơ đồ đăng nhập hệ thống ..................................................................51 ng Hình 3.11 : Sơ đồ tra cứu thông tin ......................................................................52 Hình 3.12: Sơ đồ thống kê báo cáo.......................................................................52 ườ Hình 3.13: Sơ đồ đăng kí tín chỉ ...........................................................................53 Tr Hình 3.14: Giao diện trang chủ web .....................................................................54 Hình 3.15: Giao diện trang chủ winform..............................................................54 Hình 3.16: Sơ đồ mạng hệ thống ..........................................................................55 Hình 3.17: Mô phỏng nhiệm vụ của tưởng lửa.....................................................62 SVTH: Trần Hoàng Linh vii Tr ườ ng Đ ại họ cK in h tế H uế Khóa luận tốt nghiệp đại học SVTH: Trần Hoàng Linh viii Khóa luận tốt nghiệp đại học TÓM TẮT NGHIÊN CỨU Đề tài trình bày các nội dung chính của quản lý đăng kí tín chỉ ở trường đại học, giới thiệu các quy trình, các công cụ trong quá trình xây dụng hệ thống quản lý uế đăng kí tín chỉ. Đề tài cũng trình bày quá trình phân tích, thiết kế hệ thống, phân tích tính khả thi và dự trù kinh phí triển khai hệ thống cho doanh nghiệp. Đề tài cũng trình tế H bày quá trình phân tích, thiết kế hệ thống, cách triển khai cho trường học. Phần mô tả bài toán quản lý đăng kí tín chỉ sẽ mô tả các nghiệp vụ quản lý đăng kí tín chỉ một cách đầy đủ và chính xác, những mô tả này chính là yêu cầu đối với hệ thống cần xây dựng. Phần phân tích và thiết kế trình bày cụ thể các bước từ xác h định chức năng của hệ thống, mô tả quá trình lưu chuyển thông tin và dữ liệu trong hệ in thống, thiết kế quy trình, thiết kế giao diện cho đến mô tả cách thức triển khai hệ thống cK cho trường học. Kết quả chính mà khóa luận cần đạt được là xây dựng một hệ thống quản lý đăng kí tín chỉ dễ sử dụng, hỗ trợ tối đa cho người quản lý và sinh viên, cung cấp Tr ườ ng Đ ại tin về đăng kí tín chỉ. họ những công cụ hữu ích cho người quản lý, giúp họ kiểm soát và phân tích các thông SVTH: Trần Hoàng Linh ix Khóa luận tốt nghiệp đại học ĐẶT VẤN ĐỀ 1. Lý do chọn đề tài Các trường đại học Việt Nam trong những năm đầu của thế kỷ 21 vừa qua đã tiến tới việc tham khảo kinh nghiệm và áp dụng hệ thống tín chỉ vào chương trình đào uế tạo của mình. Trường Đại học Kinh tế - Đại học Huế đã chuyển từ mô hình đào tạo tế H niên chế sang mô hình đào tạo theo học chế tín chỉ từ năm 2008. Đây là một bước ngoặt quan trọng mang lại những hiệu quả to lớn trong quá trình đổi mới phương thức đào tạo của nhà trường. Học chế tín chỉ được truyền bá nhanh chóng và áp dụng rộng rãi nhờ có nhiều ưu điểm: có tính mềm dẻo, khả năng thích ứng linh hoạt, đạt hiệu quả h cao về mặt đào tạo và quản lý, giảm chi phí đào tạo. Với cách học này, độ mềm dẻo và cK được tính chủ động, sáng tạo của người học. in linh hoạt của chương trình giúp người học tự học, tự nghiên cứu, và do đó, phát huy Tuy nhiên mô hình này tạo ra không ít khó khăn cho sinh viên trong quá trình học tập. Sinh viên không còn học theo hình thức niên chế nên vấn đề chọn môn học và họ đăng ký môn học rất khó khăn. Cùng với số lượng sinh viên chính quy lên tới hơn 5000 sinh viên, hệ thống quản lý còn gặp nhiều vướng mắc. Chương trình học ở các Đ ại khoa đưa ra khá phức tạp và chưa hoàn thiện nên đa phần các sinh viên không thể nắm rõ những gì mình cần lựa chọn. Hệ thống đăng ký học vẫn còn nhiều thiếu sót với việc chưa đưa ra cụ thể những môn ràng buộc, môn bắt buộc, môn tự chọn. Chính vì sự ng phức tạp và không rõ ràng này khiến sinh viên khó tránh khỏi sai lầm trong quá trình chọn lựa môn học, dẫn đến việc đăng ký sai môn học, đăng ký thiếu. ườ Qua đó có thể nhận thấy việc cấp thiết hiện nay là cần cung cấp và định hướng tốt hơn cho sinh viên trong quá trình đăng ký học. Sinh viên cần được hỗ trợ nhiều hơn Tr về chương trình học. Cụ thể là hệ thống chương trình học với các môn học ràng buộc cần phải rõ ràng hơn, kỳ học của các môn học phải được sắp xếp cụ thể. Tổng quát là phải có hướng dẫn học phần đăng ký rõ ràng cho sinh viên. Ngoài ra còn phải hỗ trợ tính điểm và định hướng môn học rõ ràng cho sinh viên để sinh viên có mục tiêu phấn đấu cụ thể trong từng học kỳ. SVTH: Trần Hoàng Linh 8 Khóa luận tốt nghiệp đại học Do vậy, đề tài: “Xây dựng hệ thống Quản lý Đăng kí tín chỉ tại trường Đại học Kinh tế - Đại học Huế” được thực hiện nhằm đáp ứng những yêu cầu mới đặt ra hiện nay, khắc phục được những khó khăn hiện tại trong công tác quản lý và hỗ trợ sinh viên, đồng thời phục vụ cho mục tiêu tin học hóa, hiện đại hóa trong công tác uế quản lý và đào tạo của nhà trường. tế H 2. Mục tiêu của đề tài Mục tiêu tổng quát: Nắm được quy trình quản lý đăng kí tín chỉ, các kĩ thuật xây dựng hệ thống quản lý đăng ký tín chỉ, xây dựng thành công hệ thống quản lý đăng kí tín chỉ. h Mục tiêu cụ thể: in - Nghiên cứu cơ sở lý thuyết về hệ thống thông tin quản lý. cK - Khảo sát thực tế tình hình đăng kí tín chỉ, quy trình quản lý đăng kí tín chỉ tại trường Đại học Kinh tế - Đại học Huế. - Nghiên cứu quy trình xây dựng hệ thống quản lý đăng kí tín chỉ. Đại học Huế bao gồm: họ Xây dựng hệ thống quản lý đăng kí tín chỉ áp dụng cho trường Đại học Kinh tế- Đ ại - Quản lý chương trình đào tạo, kế hoạch đào tạo. - Phân hệ đăng ký học,tra cứu thông tin về kết quả học tập. 3. Đối tượng và phạm vi nghiên cứu ng Đối tượng nghiên cứu: - Lý thuyết xây dựng hệ thống quản lý. ườ - Các công cụ hỗ trợ, phương pháp xây dựng hệ thống quản lý. - Cơ cấu tổ chức, cách thức hoạt động và quy trình đăng kí tín chỉ của sinh viên Tr chính quy của trường Đại học Kinh Tế Huế. - Thông tin chung của sinh viên. Phạm vi nghiên cứu: - Không gian: Đề tài được thực hiện tại trường Đại học Kinh tế- Đại học Huế. - Thời gian: Từ ngày 10/02/2014 đến ngày 18/05/2014. SVTH: Trần Hoàng Linh 9 Khóa luận tốt nghiệp đại học 4. Phương pháp nghiên cứu Để nghiên cứu và xây dựng hệ thống quản lý đăng kí tín chỉ phù hợp với yêu pháp trong quá trình phân tích thiết kế hệ thống: tế H - Phương pháp lập trình hướng đối tượng sử dụng ASP.NET, C#. uế cầu thực tế hiện nay ở trường Đại Học Kinh Tế Huế, đề tài đã sử dụng các phương - Phương pháp thiết lập hệ thống tường lửa bảo mật trên hệ điều hành Windows Server. - Nghiên cứu tài liệu: Tìm hiểu các lý thuyết cần thiết để xây dựng hệ thống h quản lý qua các tài liệu như sách, bài viết, video, slide,... in - Phỏng vấn: Hỏi đáp cán bộ quản lý, thầy cô sử dụng phần mềm hiện tại của cK trường, nhu cầu của sinh viên. - Quan sát: Quan sát quy trình vận hành, quản lý của việc đăng kí tín chỉ. - Thu thập số liệu: Thu thập các tài liệu từ trường học để nắm quy trình quản lý. họ - Phân tích, tổng hợp, thống kê, so sánh, định tính, định lượng: Khai thác tài liệu và thông tin đã có được để trích rút ra các thông tin cần thiết cho quá trình phát Đ ại triển, xây dựng hệ thống. 5. Nội dung nghiên cứu Ngoài phần mở đầu và kết luận, nội dung khóa luận bao gồm ba chương: ng Chương I: Cơ sở lý luận về xây dựng hệ thống quản lý đăng kí tín chỉ. Phần này sẽ giới thiệu tổng quan hệ thống quản lý đăng kí tín chỉ, lợi ích của ườ việc ứng dụng hệ thống và giới thiệu các công cụ sẽ sử dụng để xây dựng hệ thống. Chương II: Bài toán quản lý đăng kí tín chỉ tại trường Đại học Kinh tế – Đại Tr học Huế. Chương III: Xây dựng hệ thống quản lý đăng kí tín chỉ. Phần này tập trung phân tích và thiết kế hệ thống, bao gồm các nội dung như phân tích sơ đồ chức năng, sơ đồ ngữ cảnh, sơ đồ luồng dữ liệu, thiết kế sơ đồ thực thể - mối quan hệ, thiết kế CSDL, các quy trình chính, giao diện. SVTH: Trần Hoàng Linh 10 Khóa luận tốt nghiệp đại học NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU CHƯƠNG I: CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG HỆ THỐNG QUẢN LÝ ĐĂNG KÍ TÍN CHỈ uế 1.1. Khái niệm về hệ thống, hệ thống thông tin quản lý 1.1.1. Khái niệm hệ thống tế H Hệ thống là tập hợp các phần tử tương tác được tổ chức nhằm thực hiện một mục đích xác định. Các phần tử ở đây là tập hợp các phương tiện vật chất và nhân lực. Tổ chức tạo thành một hệ thống mở, nghĩa là liên hệ với một môi trường. mại, v.v…). in Đặc điểm cơ bản của hệ thống là tính động. h Một số phần tử của hệ thống có sự tương tác với bên ngoài (cung ứng, thương cK 1.1.2. Hệ thống quản lý Hệ thống quản lý là một hệ thống có một mục đích mang lại lợi nhuận hoặc lợi trao đổi thông tin. họ ích nhất định nào đó. Đặc điểm của hệ thống là có sự tham gia của con người và có Đ ại 1.1.3. Hệ thống thông tin (Information System) Là một hệ thống sử dụng công nghệ thông tin để thu thập, truyền, lưu trữ, xử lý và biểu diễn thông tin trong một hay nhiều quá trình kinh doanh. Hệ thống thông tin phát triển qua bốn loại hình: ng - Hệ xử lý dữ liệu: lưu trữ và cập nhật dữ liệu hàng ngày, ra các báo cáo theo định kỳ (Ví dụ: Các hệ thống tính lương). ườ - Hệ thống thông tin quản lý (Management Information System - MIS): gồm cơ sở dữ liệu hợp nhất và các dòng thông tin giúp con người trong sản xuất, quản lý và Tr ra quyết định. - Hệ trợ giúp quyết định: Hỗ trợ cho việc ra quyết định (cho phép nhà phân tích ra quyết định chọn các phương án mà không phải thu thập và phân tích dữ liệu). - Hệ chuyên gia: Hỗ trợ nhà quản lý giải quyết các vấn đề và làm quyết định một cách thông minh. SVTH: Trần Hoàng Linh 11 Khóa luận tốt nghiệp đại học 1.2.Giới thiệu các công cụ để xây dựng hệ thống quản lý 1.2.1. Giới thiệu về .NET Framework, C# - Giới thiệu về .Net Framework: uế .NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft. Các tế H chương trình được viết trên nền .NET Framework sẽ được triển khai trong môi trường phần mềm (ngược lại với môi trường phần cứng) được biết đến với tên gọi Common Language Runtime (CLR). Môi trường phần mềm này là một máy ảo trong h đó cung cấp các dịch vụ như an ninh phần mềm (security), quản lý bộ nhớ (memory in managerment), và các xử lý lỗi ngoại lệ (exception handling). - Giới thiệu về C#: cK C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn ngữ bao gồm ký tự thăng và họ được đọc là C sharp. Microsoft phát triển C# dựa trên C++ và Java. C# là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java. Đ ại 1.2.2. Giới thiệu hệ quản lý CSDL SQL Server SQL Server là một hệ thống quản trị CSDL quan hệ nhiều người dùng hoạt động theo mô hình Client/Server. Hệ quản trị CSDL này được sử dụng ở hầu hết các ứng dụng lớn hiện nay. ng Trong mô hình Client/Server, phần Server chứa CSDL, cung cấp các chức năng ườ phục vụ cho việc tổ chức và quản lý CSDL, cho phép nhiều người sử dụng cùng lúc truy cập dữ liệu. Điều này không chỉ tiết kiệm mà còn thể hiện tính nhất quán về mặt dữ liệu. Tất cả dữ liệu đều được truy xuất thông qua Server, không được truy xuất trực Tr tiếp. Do đó, có độ bảo mật cao, chịu lỗi tốt hơn, dễ dàng sao lưu dữ liệu. Phần Client là các phần mềm chạy trên máy trạm hay máy chủ web không chứa CSDL, cho phép người sử dụng giao tiếp với CSDL trên Server. 1.2.3. Giới thiệu về ASP.NET MVC 4 SVTH: Trần Hoàng Linh 12 Khóa luận tốt nghiệp đại học Mẫu kiến trúc Model – View – Controller được sử dụng nhằm chi ứng dụng thành ba thành phần chính: model, view và controller. Nền tảng ASP.NET MVC giúp cho chúng ta có thể tạo được các ứng dụng web áp dụng mô hình MVC thay vì tạo ứng dụng theo mẫu ASP.NET Web Forsm. Nền tảng ASP.NET MVC có đặc điểm nổi bật uế là nhẹ (lighweigt), dễ kiểm thử phần giao diện (so với ứng dụng Web Forms), tích hợp các tính năng có sẵn của ASP.NET. Nền tảng ASP.NET MVC được định nghĩa trong tế H namespace System.Web.Mvc và là một phần của name space System.Web. MVC là một mẫu thiết kế (design pattern) chuẩn mà nhiều lập trình viên đã quen thuộc. Một số loại ứng dụng web sẽ thích hợp với kiến trúc MVC. Một số khác vẫn thích hợp với ASP.NET Web Forms và cơ chế postbacks. Đôi khi có những ứng in h dụng kết hợp cả hai kiến trúc trên. cK Nền tảng MVC bao gồm các thành phần dưới đây: ng Đ ại họ Controller Model View Hình 1.1 : Mô hình MVC ườ - Models(Mô hình): Các đối tượng Models là một phần của ứng dụng, các đối tượng này thiết lập logic của phần dữ liệu của ứng dụng. Thông thường, các đối tượng Tr model lấy và lưu trạng thái của model trong CSDL. Ví dụ như, một đối tượng Product (sản phẩm) sẽ lấy dữ liệu từ CSDL, thao tác trên dữ liệu và sẽ cập nhật dữ liệu trở lại vào bảng Products ở SQL Server. Các models có chứa tất cả thông tin mà bạn cần phải trình bày cho người sử dụng, nhằm đáp ứng yêu cầu cho người gửi đến. SVTH: Trần Hoàng Linh 13 Khóa luận tốt nghiệp đại học Trong các ứng dụng nhỏ, model thường là chỉ là một khái niệm nhằm phân biệt hơn là được cài đặt thực thụ, ví dụ, nếu ứng dụng chỉ đọc dữ liệu từ CSDL và gởi chúng đến view, ứng dụng không cần phải có tầng model và các lớp lien quan. Trong trường hợp này, dữ liệu được lấy như là một đối tượng model (hơn là tầng model). uế - Views: Views là các thành phần dùng để hiển thị giao diện người dùng (UI). Thông thường, view được tạo dựa vào thông tin dữ liệu model. Ví dụ như, view dùng tế H để cập nhật bảng Products sẽ hiển thị các hộp văn bản, drop-down list, và các checkbox dựa trên trạng thái hiện tại của một đối tượng Product. Công cụ view engine razor (.cshtml) : + Nhỏ gọn , ý nghĩa , và dễ dàng : Razor giảm thiểu số lượng ký tự và tổ in h hợp phím cần thiết trong một tập tin, và cho phép một cách nhanh chóng, dễ dàng trong công việc mã hóa. Không giống như hầu hết các cú pháp mẫu, chúng ta không cK cần phải gián đoạn mã hóa của bạn để biểu thị một cách rõ ràng các khối máy chủ trong HTML . Phân tích cú pháp là đủ thông minh để suy ra điều này từ mật mã của bạn. Điều này cho phép bạn gõ một cú pháp nhanh gấp nhiều lần. họ + Dễ dàng để tìm hiểu : Razor rất dễ dàng để tìm hiểu và cho phép bạn làm việc nhanh chóng với mức tối thiểu ở các khái niệm. Chúng ta có thể sử dụng tất cả Đ ại các ngôn ngữ và các kỹ năng HTML hiện tại của bạn . + Đây không phải là một ngôn ngữ mới : Microsoft sáng suốt khi quyết định không tạo ra một ngôn ngữ bắt buộc với Razor . Thay vào đó Microsoft muốn để ng cho các nhà phát triển sử dụng ngôn ngữ hiện tại của họ C # / VB (hoặc ngôn ngữ khác) với Razor, và cung cấp một cú pháp đánh dấu mẫu cho phép xây dựng một công ườ việc HTML tuyệt vời với ngôn ngữ mà bạn lựa chọn . + Làm việc với bất kỳ các trình soạn thảo văn bản : Razor không đòi hỏi Tr một công cụ cụ thể và cho phép bạn làm việc hiệu quả trong bất kỳ trình soạn thảo văn bản nào ( Một sự lựa chọn tuyệt vời cho notepad) . + Có một cấu trúc nhắc lệnh tuyệt vời : Trong khi Razor đã được thiết kế để không cần một công cụ biên tập hoặc mã cụ thể, nó sẽ rất tuyệt vời với hỗ trợ hoàn thành câu lệnh trong Visual Studio. Microsoft sẽ cập nhật Visual Studio 2010 và Visual Web Developer 2010 , có đầy đủ biên tập nhắc lệnh cho nó. SVTH: Trần Hoàng Linh 14 Khóa luận tốt nghiệp đại học + Đơn vị kiểm chứng : Việc hoàn tất xem phương pháp mới sẽ hỗ trợ khả năng kiểm tra từng đơn vị ( mà không đòi hỏi một bộ điều khiển hoặc máy chủ web , và có thể được lưu trữ trong bất kỳ dự án thử nghiệm đơn vị nào - không cần thiết có ứng dụng tên miền đặc biệt ) . uế - Controllers(Bộ điều khiển): Controller là các thành phần dùng để quản lý tương tác người dùng, làm việc với model và chọn view để hiển thị giao diện người tế H dùng. Trong một ứng dụng MVC, view chỉ được dùng để hiển thị thông tin, controller chịu trách nhiệm quản lý và đáp trả nội dung người dùng nhập và tương tác với người dùng. Ví dụ, controller sẽ quản lý các dữ liệu người dùng gởi lên (query-string values) và gởi các giá trị đó đến model, model sẽ lấy dữ liệu từ CSDL nhờ vào các giá trị này. in h Mẫu MVC giúp bạn tạo được các ứng dụng mà chúng phân tách rạch ròi các khía cạnh của ứng dụng (logic về nhập liệu, logic xử lý tác vụ và logic về giao diện). cK Mẫu MVC chỉ ra mỗi loại logic kể trên nên được thiếp lập ở đâu trên ứng dụng. Logic giao diện (UI logic) thuộc về views. Logic nhập liệu (input logic) thuộc về controller. Và logic tác vụ (Business logic – là logic xử lý thông tin, mục đích chính của ứng họ dụng) thuộc về model. Sự phân chia này giúp bạn giảm bớt được sự phức tạp của ứng dụng và chỉ tập trung vào mỗi khía cạnh cần được cài đặt ở mỗi thời điểm. Ví dụ như Đ ại bạn chỉ cần tập trung vào giao diện (views) mà không phải quan tâm đến logic xử lý thông tin của ứng dụng. Để quản lý sự phức tạp của ứng dụng, mẫu MVC giúp cho chúng ta có thể kiểm ng thử ứng dụng dễ dàng hơn hẳn so với khi áp dụng mẫu Web Forms. Ví dụ, trong một ứng dụng ASP.NET Web Forms, một lớp thường được sử dụng để hiển thị thông tin ườ xuất ra cho người dùng và đồng thời xử lý thông tin người dùng nhập. Việc xây dựng các bộ test tự động cho ứng dụng Web Forms là rất phức tạp, bởi để kiểm thử mỗi Tr trang web, bạn phải khởi tạo đối tượng trang, khởi tạo tất cả các control được sử dụng trong trang và các lớp phụ thuộc trong ứng dụng. Và bởi vì có quá nhiều lớp cần được khởi tạo để chạy được trang, thật khó để có thể viết các test chỉ tập trung vào một khía cạnh nào đó của ứng dụng. Và vì thế, kiểm thử đối với các ứng dụng dứa trên nền tảng Web Forms sẽ khó khăn hơn nhiều so với khi áp dụng trên ứng dụng MVC. Hơn thế nữa, việc kiểm thử trên nền tảng Web Forms yêu cầu phải sử dụng đến web server. SVTH: Trần Hoàng Linh 15 Khóa luận tốt nghiệp đại học Nền tảng MVC phân tách các thành phần và sử dụng các interface (khái niệm giao diện trong lập trình hướng đối tượng), và nhờ đó có thể kiểm thử các thành phần riêng biệt trong tình trạng phân lập với các yếu tố còn lại của ứng dụng. Sự phân tách rạch ròi ba thành phần của ứng dụng MVC còn giúp cho việc lập uế trình diễn ra song song. Ví dụ như một lập trình viên làm việc với view, lập trình viên thứ hai lo cài đặt logic của controller và lập trình viên thứ ba có thể tập trung vào logic tế H tác vụ của model tại cùng một thời điểm. 1.2.4. So sánh ASP.NET MVC và ASP.NET Web Form Nền tảng ASP.NET MVC mang lại những lợi ích sau: in thành phần model, view, controller h - Dễ dàng quản lý sự phức tạp của ứng dụng bằng cách chia ứng dụng thành ba - Nó không sử dụng view state hoặc server-based form. Điều này tốt cho những cK lập trình viên muốn quản lý hết các khía cạnh của một ứng dụng. - Nó sử dụng mẫu Front Controller, mẫu này giúp quản lý các requests (yêu họ cầu) chỉ thông qua một Controller. Nhờ đó bạn có thể thiết kế một hạ tầng quản lý định tuyến. Để có nhiều thông tin hơn, bạn nên xem phần Front Controller trên web site MSDN. Đ ại - Hỗ trợ tốt hơn cho mô hình phát triển ứng dụng hướng kiểm thử (TDD). - Nó hỗ trợ tốt cho các ứng dụng được xây dựng bởi những đội có nhiều lập trình viên và thiết kế mà vẫn quản lý được tính năng của ứng dụng. ng Nền tảng ASP.NET webform mang lại những lợi ích sau: - Nó hỗ trợ cách lập trình hướng sự kiện, quản lý trạng thái trên giao thức ườ HTTP, tiện dụng cho việc phát triển các ứng dụng web phục vụ kinh doanh. Các ứng dụng trên nền tảng Web Forms cung cấp hàng tá các sự kiện được hỗ trợ bởi hàng trăm Tr các server controls. - Sử dụng mẫu Page Controller. Xem thêm ở mục Page Controller trên MSDN. - Mô hình này sử dụng view state hoặc server-based form, nhờ đó sẽ giúp cho việc quản lý trạng thái các trang web dễ dàng. SVTH: Trần Hoàng Linh 16 Khóa luận tốt nghiệp đại học - Nó rất phù hợp với các nhóm lập trình viên quy mô nhỏ và các thiết kế, những người muốn tận dụng các thành phần giúp xây dựng ứng dụng một cách nhanh chóng. - Nói tóm lại, áp dụng Web Forms giúp giảm bớt sự phức tạp trong xây dựng ứng dụng, bởi vì các thành phần (lớp Page, controls,…) được tích hợp chặc chẽ và uế thường thì giúp bạn viết ít code hơn là áp dụng theo mô hình MVC. 1.2.5. Xây dựng ứng dụng theo mô hình 3 lớp tế H Mô hình 3 lớp được cấu thành từ: Presentation Layers, Business Layers, và Data Layers. Các lớp này sẽ giao tiếp với nhau thông qua các dịch vụ (services) mà mỗi lớp cung cấp để tạo nên ứng dụng, lớp này cũng không cần biết bên trong lớp kia làm gì mà chỉ cần biết lớp kia cung cấp dịch vụ gì cho mình và sử dụng nó mà thôi. Hình 1.2: Kiến trúc mô hình 3 lớp ườ ng Đ ại họ cK in h Kiến trúc mô hình 3 lớp : Tr - Presentation Layers Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng. Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. Ở đây tác giả sử dụng MVC làm lớp Presentation Layers. - Business Logic Layer SVTH: Trần Hoàng Linh 17 Khóa luận tốt nghiệp đại học Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 để thực hiện công việc của mình. Lớp này thường được dùng để mô tả đối tượng và xử lý các lỗi về cú pháp ngoại uế lệ (regular exception). - Data Layers tế H Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng. 1.2.6. Entity framework và Code first migration h ADO.NET Entity Framework (EF) được Microsoft đưa ra từ phiên bản .NET in 3.5 tích hợp với Visual Studio 2008. Trọng tâm của EF là Entity Data Model, một mô hình mẫu cho miền ứng dụng (application domain) của bạn ánh xạ ngược trở lại vào cK đồ hình (schema) của CSDL của bạn. Mô hình mẫu này mô tả các lớp chính (core class) trong ứng dụng của bạn. EF sử dụng mô hình mẫu này trong khi truy vấn từ họ CSDL, tạo các đối tượng từ dữ liệu và sau đó đưa các thay đổi ngược trở lại vào CSDL. Việc mô hình hóa (modeling) với Entity Framework trước khi có Code First. Đ ại Phiên bản đầu tiên của EF cho phép lập trình viên tạo mô hình mẫu bằng cách dùng kĩ thuật đảo ngược (reverse engineering) một CSDL đang có vào một tập tin XML. Tập tin XML này sử dụng phần mở rộng EDMX và bạn có thể sử dụng designer ng để xem và tinh chỉnh mô hình sao cho thích hợp nhất với domain của bạn. Visual Studio 2010 và .NET 4 mang đến phiên bản thứ 2 của EF, được đặt tên là Entity ườ Framewoork 4 (EF4), để phù hợp với phiên bản .NET. Về mặt mô hình hóa, một tính năng mới gọi là Model First được đưa vào. Tại đây, chúng ta có thể thiết kế mô hình Tr mẫu của bạn trong visual designer và sau đó tạo CSDL dựa trên mô hình này. Model First cho phép lập trình viên làm việc trên các dự án (project) mới mà không phải phụ thuộc vào dữ liệu để tận dụng khả năng của EF. Lập trình viên có thể bắt đầu với việc tập trung vào miền ứng dụng (application domain) bằng việc thiết kế mô hình mẫu và để CSDL tự động tạo theo như quy trình. SVTH: Trần Hoàng Linh 18
- Xem thêm -