Đăng ký Đăng nhập
Trang chủ Xây dựng phần mềm quản lý học viên công ty cổ phần devpro việt nam...

Tài liệu Xây dựng phần mềm quản lý học viên công ty cổ phần devpro việt nam

.DOCX
87
1
98

Mô tả:

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ------------------------------------------- XÂY DỰNG PHẦN MỀM QUẢN LÝ HỌC VIÊN CÔNG TY CỔ PHẦN DEVPRO VIỆT NAM HÀ NỘI – 2016 TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN XÂY DỰNG PHẦN MỀM QUẢN LÝ HỌC VIÊN CÔNG TY CỔ PHẦN DEVPRO VIỆT NAM Chuyên ngành: Công nghệ thông tin Mã ngành: D480201 HÀ NỘI - 2016 MỤC LỤC DANH MỤC VIẾT TẮT,KÍ HIỆU DANH MỤC BẢNG BIỂU DANH MỤC HÌNH VẼ LỜI MỞ ĐẦU...........................................................................................................1 CHƯƠNG 1: TÔNG UAN ĐÊ TTI.......................................................................3 1.1 Khái niệm hệ thống - hệ thống thông tin – hệ thống thông tin quản lí.............3 1.1.1 Khái niệm hệ thống.......................................................................................3 1.1.2 Các yếu tố cơ bản của hệ thống :...............................................................3 1.1.3 Hệ thống thông tin....................................................................................3 1.1.4 Hệ thống thông tin quản lí..........................................................................3 1.2 Ngôn ngữ lập trình C#......................................................................................4 1.3 Mô hình 3 lớp và MVP..............................................................................5 1.3.1 Mô hình 3 lớp............................................................................................5 1.3.2 Mô hình Model-View-Presenter (MVP)....................................................7 1.4Tổng quan về linq...........................................................................................10 1.4.1 Giới thiệu về linq.....................................................................................10 1.4.2 LIN to Objects.......................................................................................11 1.4.3 LIN to S L............................................................................................11 1.4.4 LIN to XML..........................................................................................11 1.4.5 LIN to Datasets......................................................................................11 1.5 Giới thiệu về công ty......................................................................................12 1.5.1 Lịch sử hình thành và phát triển...............................................................12 1.5.2 Chức năng của công ty............................................................................13 1.5.3 Nhiệm vụ của công ty..............................................................................13 1.5.4 Cơ cấu tổ chức bộ máy của công ty.........................................................13 1.5.5 uy trình tuyển sinh đào tạo của công ty.................................................15 1.5.6. Cơ sở vật chất phục vụ giảng dạy...........................................................15 1.6 Đánh giá hoạt động đào tạo của công ty.........................................................16 1.6.1 Hoạt động chung......................................................................................16 1.6.2 Tầm nhìn 2020.........................................................................................16 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG..............................................17 2.1 Phân tích hệ thống..........................................................................................17 2.1.1 Mô tả bài toán..........................................................................................17 2.1.2 Yêu cầu:...................................................................................................17 2.2 Biểu đồ usecase...........................................................................................18 2.3 Mô tả các chức năng chính của phần mềm..................................................19 2.4 Biểu đồ phân rã chức năng..........................................................................20 2.4.1 Chức năng quản lý thông tin hoc viên......................................................20 2.4.2 Chức năng quản lý giảng viên..................................................................21 2.4.3 Chức năng quản lý khóa hoc....................................................................22 2.4.4 Chức năng quản lý người dùng................................................................23 2.5 Kịch bản.........................................................................................................24 2.5.1 Đăng nhập...............................................................................................24 2.5.2 uản lý hoc viên......................................................................................25 2.5.3 uản lý giảng viên...................................................................................28 2.5.4 uản lý lớp..............................................................................................31 2.6 Biểu đồ hoạt động..........................................................................................34 2.6.1 Biểu đồ hoạt động chức năng đăng nhập..................................................34 2.6.2 Biểu đồ hoạt động chức năng quản lý hoc viên........................................35 2.6.3 Biểu đồ hoạt động chức năng quản lý giảng viên.....................................38 2.6.4 Biểu đồ hoạt động chức năng thanh toán hoc phí.....................................41 2.7 Biểu đồ trạng thái...........................................................................................44 2.7.1 Biểu đồ trang thại chức năng quản lý hoc viên........................................44 2.7.2 Biểu đồ trạng thái chức năng quản lý giảng viên.....................................46 2.7.3 Biểu đồ trạng thái chức năng đăng nhập..................................................47 2.7.4 Biểu đồ trạng thái chức năng quản lý thanh toán hoc phí.........................48 2.8 Biểu đồ lớp.....................................................................................................49 2.8.1 Biểu đồ lớp chi tiết...................................................................................49 2.8.2 Biểu đồ lớp và biểu đồ tuần tư tham gia ca sử dụng đăng nhâ ̣p...............50 2.8.3 Biểu đồ lớp và biểu đồ tuần tư tham gia ca sử dụng thêm hoc viên.........51 2.8.4 Biểu đồ lớp và biểu đồ tuần tư tham gia ca sử dụng sửa hoc viên............52 2.8.5 Biểu đồ lớp tham gia ca sử dụng óa hoc viên.........................................53 2.8.6 Biểu đồ lớp và biểu đồ tuần tư tham gia ca sử dụng thêm giảng viên......53 2.8.7 Biểu đồ lớp và biểu đồ tuần tư tham gia ca sử dụng sửa giảng viên.........54 2.8.8 Biểu đồ lớp và biểu đồ tuần tư tham gia ca sử dụng đóng hoc phí...........56 2.9 Thiết kế hệ thống...........................................................................................57 2.9.1 Bảng hoc viên..........................................................................................57 2.9.2 Bảng giảng viên.......................................................................................57 2.9.3 Bảng lớp hoc............................................................................................58 2.9.4 Bảng khóa hoc........................................................................................58 2.9.5 Bảng login................................................................................................58 2.9.7 Bảng thanh toán hoc phí...........................................................................59 2.9.8 Bảng chuyên môn....................................................................................59 2.9.9 Mô hình quan hệ......................................................................................60 CHƯƠNG 3: XÂY DỰNG PHẦN MÊM...............................................................61 3.1 Xây dưng phần mềm......................................................................................61 3.1.1 Cấu trúc phần mềm..................................................................................61 3.1.2 Cấu trúc thư mục project..........................................................................64 3.2 Thiết kế giao diện phần mềm.........................................................................65 3.2.1 Form login...............................................................................................65 3.2.2 Form Main...............................................................................................65 3.2.3 Form quản lý hoc viên.............................................................................66 3.2.4 Form quản lý giảng viên..........................................................................66 3.2.5 Form quản lý tài khoản............................................................................67 3.2.6 Form quản lý lớp hoc...............................................................................68 3.2.7 Form quản lý hoc phí...............................................................................69 KẾT LUẬN.............................................................................................................70 DANH MỤC VIẾT TẮT,KÍ HIỆU STT KÍ HIỆU, VIẾT TẮT 1 LIN 2 MVC DIỄN GIẢI Language-Integrated uery Ngôn ngữ truy vấn tích hợp Model – View – Controller Mô hình Model –View -Controller Model – View – Presenter 3 MVP Mô hình Model – View – 4 XML 5 GUI Presenter EXtensible Markup Language Graphical User Interface 6 NetFramwork 7 O/RM DANH MỤC BẢNG BIỂ Giao diện đồ hoa người dùng The .NetFramework Cung cấp mô hình lập trình toàn diện để ây dưng tất cả các loại ứng dụng. Object Relational Mapping GHI CHÚ Bảng 2.1: Các Actor của bài toán............................................................................18 Bảng 2.2 Kịch bản đăng nhập..................................................................................24 Bảng 2.3 Kịch bản thêm hoc viên............................................................................25 Bảng 2.4 Kịch bản sửa hoc viên.............................................................................26 Bảng 2.5 Kịch bản óa hoc viên.............................................................................27 Bảng 2.6 Kịch bản thêm giảng viên........................................................................28 Bảng 2.7 Kịch bản sửa thông tin giảng viên...........................................................29 Bảng 2.8 Kịch bản óa giảng viên..........................................................................30 Bảng 2.9 Kịch bản mở lớp mới...............................................................................31 Bảng 2.10 Kịch bản sửa thông tin lớp hoc..............................................................32 Bảng 2.11 Kịch bản óa thông tin lớp hoc..............................................................33 Bảng 2.12 Hoc viên................................................................................................57 Bảng 2.13 Giảng viên.............................................................................................57 Bảng 2.14 Lớp hoc.................................................................................................58 Bảng 2.15 Khóa hoc................................................................................................58 Bảng 2.16 Login......................................................................................................58 Bảng 2.17 Thanh toán hoc phí.................................................................................59 Bảng 2.18 Chuyên môn...........................................................................................59 DANH MỤC HÌNH VẼ Hình 1.1 Mô hình 3 lớp.............................................................................................6 Hình 1.2 Kiến trúc của LIN trong .NET Framework 3.5......................................10 Hình 1.3 Cơ cấu bộ máy tổ chức quản lý.................................................................13 Hình 1.4 uy trình đào tạo hoc viên tại công ty......................................................15 Hình 2.1 Sơ đồ usecase Tổng quát hệ thống............................................................19 Hình 2.2 Sơ đồ chức năng quản lý hoc viên...........................................................20 Hình 2.3 Biểu đồ phân rã chức năng quản lý giảng viên........................................21 Hình 2.4 Sơ đồ phân rã chức năng quản lý các khóa hoc của công ty.....................22 Hình 2.5 Sơ đồ phân rã chức năng quản lý người dùng..........................................23 Hình 2.6 Biểu đồ hoạt động chức năng đăng nhập..................................................34 Hình 2.7 Biểu đồ hoạt động chức năng thêm hoc viên............................................35 Hình 2.8 Biểu đồ hoạt động chức năng sửa hoc viên...............................................36 Hình 2.9 Biểu đồ hoạt động chức năng óa hoc viên..............................................37 Hình 2.10 Biểu đồ hoạt động chức năng thêm giảng viên.......................................38 Hình 2.11 Biểu đồ hoạt động chức năng sửa thông tin giảng viên...........................39 Hình 2.12 Biểu đồ hoạt động chức năng óa giảng viên........................................40 Hình 2.13 Biểu đồ hoạt động chức năng thêm thanh toán hoc phí...........................41 Hình 2.14 Biểu đồ hoạt động chức năng sửa thanh toán hoc phí.............................42 Hình 2.15 Biểu đồ hoạt động chức năng óa thanh toán hoc phí............................43 Hình 2.16 Biểu đồ trạng thái Thêm hoc viên..........................................................44 Hình 2.17 Biểu đồ trạng thái chức năng sửa hoc viên.............................................45 Hình 2.18 Biểu đồ trạng thái chức năng óa hoc viên.............................................45 Hình 2.19 Biểu đồ trạng thái chức năng thêm giảng viên........................................46 Hình 2.20 Biểu đồ trạng thái chức năng sửa thông tin giảng viên...........................46 Hình 2.21 Biểu đồ trạng thái chức năng óa giảng viên.........................................47 Hình 2.22 Biểu đồ trạng thái chức năng đăng nhập.................................................47 Hình 2.23 Biểu đồ trạng thái chức năng thêm thanh toán hoc phí..........................48 Hình 2.24 Biểu đồ trạng thái chức năng sửa thanh toán hoc phí..............................48 Hình 2.25 Biểu đồ trạng thái chức năng óa thanh toán hoc phí.............................49 Hình 2.26 Biểu đồ lớp chi tiết..................................................................................49 Hình 2.27 Biểu đồ lớp tham gia ca sử dụng đăng nhập...........................................50 Hình 2.28 Biểu đồ tuần tư tham gia ca sử dụng đăng nhập.....................................50 Hình 2.29 Biểu đồ lớp tham gia ca sử dụng thêm hoc viên....................................51 Hình 2.30 Biểu đồ tuần tư tham gia ca sử dụng nhập mới hoc viên.........................51 Hình 2.31 Biểu đồ lớp tham gia ca sử dụng sửa hoc viên.......................................52 Hình 2.32 Biểu đồ tuần tư tham gia ca sử dụng sửa hoc viên..................................52 Hình 2.33 Biểu đồ lớp tham gia ca sử dụng óa hoc viên.......................................53 Hình 2.34 Biểu đồ tuần tư tham gia ca sử dụng óa hoc viên..................................53 Hình 2.35 Biểu đồ lớp tham gia ca sử dụng thêm giảng viên.................................54 Hình 2.36 Biểu đồ tuần tư tham gia ca sử dụng thêm giảng viên...........................54 Hình 2.37 Biểu đồ lớp tham gia ca sử dụng sửa giảng viên.....................................55 Hình 2.38 Biểu đồ tuần tư tham gia ca sử dụng sửa giảng viên...............................55 Hình 2.39 Biểu đồ lớp tham gia ca sử dụng đóng hoc phí.......................................56 Hình 2.40 Biểu đồ tuần tư tham gia ca sử dụng đóng hoc phí.................................56 Hình 2.41 Mô hình quan hệ trong Sql.....................................................................60 Hình 3.1 Cấu trúc của Model trong project.............................................................61 Hình 3.2 Cấu trúc của GUI trong project................................................................62 Hình 3.3 Cấu trúc của Presenter trong project........................................................63 Hình 3.4 Cấu trúc project.......................................................................................64 Hình 3.5 Form login................................................................................................65 Hình 3.6 Form chính................................................................................................65 Hình 3.7 Form quản lý hoc viên..............................................................................66 Hình 3.8 Form quản lý giảng viên...........................................................................66 Hình 3.9 Form quản lý tài khoản.............................................................................67 Hình 3.10 Form quản lý lớp hoc..............................................................................68 Hình 3.11 Form quản lý hoc phí..............................................................................69 1 LỜI MỞ ĐẦU Ngày nay Công nghệ thông tin đã trở thành một phần tất yếu của cuộc sống con người, có người đã nói rằng nước Mỹ hùng mạnh một phần là nhờ vào Công nghệ thông tin. Nếu lúc trước Công nghệ thông tin là một điều viễn tưởng thì giờ đây nó đã trở thành một phần rất không thể thiếu trong tất cả các lĩnh vưc từ y hoc, kinh doanh đến cả giáo dục… Đất nước ta đang ngày một phát triển, đang cố gắng hòa nhập và rút ngắn khoảng cách với thế giới, việc nước ta trở thành thành viên của WTO đã được các nhà kinh doanh chú ý đến và đầu tư ngày càng nhiều vào Việt Nam. Vì vậy để không bị quá lạc hậu, để rút ngắn khoảng cách với các nước, để đáp ứng yêu cầu tất yếu của các nhà đầu tư vào Việt Nam và để các nhà kinh doanh trong nước có đủ sức cạnh tranh với nước ngoài… thì bắt buộc phải đầu tư cho Công nghệ thông tin mà ở đây chính ác là các phần mềm tin hoc dùng cho các công ty, bệnh viện v.v… Việc áp dụng các phần mềm tin hoc vào các lĩnh vưc giúp nâng cao tính hiệu quả và chính ác của công việc, ngoài ra còn tiết kiệm thời gian và giảm bớt mệt nhoc cho con người khiến hệ thống công việc hoạt động nhịp nhàng hơn. Nhu cầu thưc tế của ã hội đòi hỏi con người phải luôn năng động và sáng tạo để tạo ra ngày càng nhiều sản phẩm cho ã hội. Nhân sư cho lĩnh vưc công nghệ thông tin không bao giờ là đủ. Chính vì thế mà các công ty, các trung tâm đào tạo nhân sư công nghệ thông tin ra đời. Để quản lý được các hoc viên của mình, trung tâm thường dùng các văn bản giấy tờ để quản lý nên mất nhiều thời gian và công sức. Nhận thấy được điều đó, em đã mạnh dạn đề uất đề tài này để khắc phục những nhược điểm trên. Đó là những nội dung cơ bản đề cập đến trong đề tài này. Hôm nay em chon đề tài tốt nghiệp là “phần mềm quản lý học viên”. Ai cũng biết công ty nào cũng vậy muốn tồn tại và phát triển thì phải có nhân tố con người. Cùng với tốc độ phát triển mạnh mẽ của Công nghệ thông tin các lập trình viên đã phát minh ra nhiều phần mềm hữu ích nhằm phục vụ cho công việc của con người và phần mềm quản lý học viên cũng là một trong những vấn đề con người quan tâm nhiều nhất, nó giúp cho công tác nghiệp vụ của các công ty giảm thiểu tối 2 đa những vất vả trong công việc giúp cho việc lưu trữ hồ sơ dễ dàng hơn giảm thiểu diện tích các kho và thậm chí là không cần. Đề tài quản lý hoc viên là một đề tài không phải là mới, hiện tại trên thị trường cũng có rất nhiều các phần mềm của các Công ty phần mềm có chức năng tương tư và chuyên nghiệp, nhưng vì mong muốn có thể tìm hiểu một phần kiến thức nhỏ be trong một sa mạc Công nghệ thông tin nên em đã đi vào tìm hiểu về cơ cấu tổ chức và phát triển công ty để có thể viết ra một phần mềm quản lý học viên nhằm phục vụ cho lợi ích của công ty. Ứng dụng phần mềm của em có thể chưa hoàn chỉnh và còn nhiều thiếu sót nhưng đó là sư cố gắng của em trong bước đầu hòa nhập vào môi trường làm việc bên ngoài và tiếp úc chập chững với Công nghệ thông tin. Em mong quý thầy cô trong khoa có thể tạo điều kiện giúp đỡ em hoàn thành đề tài tốt hơn. Chương trình phần mềm quản lý học viên của em được lập trình bằng ngôn ngữ lập trình C#, chạy trên nền NetFramwork và kết nối bằng cơ sở S L. Phần mềm này giúp công ty quản lý hồ sơ, đào tạo, giảng viên giúp giảm tải bớt việc tìm kiếm mất thời gian mà hiệu quả và tính chính ác vẫn cao. Nội dung đồ án được chia thành ba chương chính với những nội dung cụ thể như sau: Chương 1: Tổng quan đề tai Chương 2: Phân tích thiết kế hê ̣ thông Chương 3: Xây dựng phần mềm 3 CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Khái niệm hệ thông - hệ thông thông tin – hệ thông thông tin quản lí 1.1.1 Khái niệm hệ thống. - Hệ thống: là tổng thể gồm các bộ phận hoặc các phần tử khác nhau có mối quan hệ tác động qua lại với nhau và được sắp ếp theo một trình tư nhằm tạo thành một chỉnh thể thống nhất, có những tính chất mới, có khả năng thưc hiện một số chức năng hoặc mục tiêu nhất định. 1.1.2 Các yếu tố cơ bản của hệ thống : - Môi trường: là tất cả các yếu tố, điều kiện nằm bên ngoài hệ thống có ảnh hưởng đến kết quả hoạt động của hệ thống. - Yếu tố đầu vào, ra : + Đầu vào : Tập hợp các tác động có thể của môi trường lên hệ thống + Đầu ra : Tập hợp các tác động ngược lại của hệ thống lên môi trường. - Cấu trúc hệ thống : Là sư sắp ếp các bộ phận hoặc phần tử bên trong của một hệ thống và mối quan hệ qua lại giữa chúng. - Mục tiêu của hệ thống : Là trạng thái mong muốn của hệ thống sau một thời gian nhất định. 1.1.3 Hệ thống thông tin Hệ thống thông tin là một tập hợp nhiều thành phần có chức năng thu thập, lưu trữ, ử lý và phân phối thông tin để hỗ trợ cho việc làm quyết định điều hành trong một tổ chức Hệ thống thông tin tối thiểu bao gồm con người, quy trình, và dữ liệu. Con người tuân theo quy trình để ử lý dữ liệu tạo ra thông tin. 1.1.4 Hệ thống thông tin quản lí Hệ thống thông tin quản lí là hệ thống có nhiệm vụ cung cấp các thông tin cần thiết phục vụ cho việc quản lí điều hành một tổ chức. Thành phần chiếm vị trí quan trong trong hệ thống thông tin quản lí là một cơ sở dữ liệu hợp nhất chứa các thông tin phản ánh cấu trúc nội tạng của hệ thống và các thông tin về các hoạt động diễn ra trong hệ thống. 4 Với hạt nhân là cơ sở dữ liệu hợp nhất, hệ thống thông tin quản lí có thể hỗ trợ cho nhiều lĩnh vưc chức năng khác nhau và có thể cung cấp cho các nhà quản lí công cụ và khả năng dễ dàng truy cập thông tin, hệ thống thông tin quản lí có các chức năng chính : + Thu nhập, phân tích và lưu trữ các thông tin một cách hệ thống, những thông tin có ích được cấu trúc hoá để có thể lưu trữ và khai thác trên các phương tiện tin hoc. + Thay đổi, sửa chữa, tiến hành tính toán trên các nhóm chỉ tiêu, tạo ra thông tin mới. + Phân phối và cung cấp thông tin Hệ thống thông tin thường được cấu thành bởi : - Các phần cứng - Phần mềm. - Các hệ thống mạng - Dữ liệu - Con người trong hệ thống thông tin 1.2 Ngôn ngữ lập trình C# - C# (đoc là "C thăng" hay "C sharp" ("xi-sáp")) 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 ho. Tên của ngôn ngữ bao gồm ký tư thăng theo Microsoft nhưng theo ECMA là C#, chỉ bao gồm dấu số thường. Microsoft phát triển C# dưa trên C+ + và Java. C# được miêu tả là ngôn ngữ có được sư cân bằng giữa C++,Visual Basic, Delphi và Java. - C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC. - C#, theo một hướng nào đó, là ngôn ngữ lập trình phản ánh trưc tiếp nhất đến .NET Framework mà tất cả các chương trình.NET chạy, và nó phụ thuộc mạnh mẽ vào Framework này. Moi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình don rác Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn 5 như class, delegate, interface, e ception, v.v, phản ánh rõ ràng những đặc trưng của .NET runtime. So sánh với C và C++, ngôn ngữ này bị giới hạn và được nâng cao ở một vài đặc điểm nào đó, nhưng không bao gồm các giới hạn sau đây: - Các con trỏ chỉ có thể được sử dụng trong chế độ không an toàn. Hầu hết các đối tượng được tham chiếu an toàn, và các phep tính đều được kiểm tra tràn bộ đệm. Các con trỏ chỉ được sử dụng để goi các loại kiểu giá trị; còn những đối tượng thuộc bộ thu rác (garbage-collector) thì chỉ được goi bằng cách tham chiếu. - Các đối tượng không thể được giải phóng tường minh. - Chỉ có đơn kế thừa, nhưng có thể cài đặt trìu tượng (abstract interfaces). Chức năng này làm đơn giản hóa sư thưc thi của thời gian thưc thi. - C# thì an-toàn-kiểu (typesafe) hơn C++. - Cú pháp khai báo mảng khác nhau("int[] a = new int[5]" thay vì "int a[5]"). - Kiểu thứ tư được thay thế bằng tên miền không gian (namespace). - C# không có tiêu bản. - Có thêm Properties, các phương pháp có thể goi các Properties 1.3 Mô hình 3 lớp va MVP 1.3.1 Mô hình 3 lớp Để dễ quản lý các thành phần của hệ thống, cũng như không bị ảnh hưởng bởi các thay đổi, người ta hay nhóm các thành phần có cùng chức năng lại với nhau và phân chia trách nhiệm cho từng nhóm để công việc không bị chồng cheo và ảnh hưởng lẫn nhau. Một trong những mô hình lập trình như vậy đó là Mô hình 3 lớp (Three Layers). 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. 6 Mô hình layer gồm có 3 layer: - Layer GUI (Graphics User Interface) - Layer Business Logic (Đây là layer để ử lý các dữ liệu, thông tin trước khi đưa lên giao diện hoặc đưa uống dữ liệu.) - Layer Data Access – Layer này sẽ giao tiếp Data. Mô hình: Hình 1.1 Mô hình 3 lơp * GUI Layer. - Đây là layer tạo lên giao diện cho người dùng, nó sẽ là nơi tiếp nhận và kết uất ra kết quả của chương trình cho bạn. - Nó có nhiệm vụ ử lý, kiểm tra các dữ liệu nhập vào ( ví như ở Te tBo này nó phải là số, số phải từ 1-9….). - Nó tiếp nhận các Event của người dùng, kiểm tra dữ liệu được nhập vào, gửi yêu cầu ử lý uống tầng kế tiếp. * Business Logic Layer: - Đây là layer ử lý chính các dữ liệu trước khi được đưa lên hiển thị trên màn hình hoặc ử lý các dữ liệu trước khi lưu dữ liệu uống cơ sở dữ liệu. - Đây là nơi để kiểm tra các yêu cầu nghiệp vụ, tính toán các yêu cầu nghiệp vụ. 7 - Tại đây các tính năng tính toán trong chương trình sẽ được thưc thi. (Như tính lương theo một công thức). - Nói chung tại layer này nó sẽ nhào nặn dữ liệu cho phù hợp trước khi lưu uống hoặc hiển thị lên chương trình. * Data Access Layer: - Layer này sẽ thưc hiện nhiệm vụ là đoc cơ sở dữ liệu lên, cập nhật cơ sở dữ liệu, update cơ sở dữ liệu. - Nói chung là layer này làm nhiệm vụ là giao tiếp với database. * Cách các layer giao tiếp với nhau. - Vấn đề đặt ra ở đây là 3 layer này giao tiếp với nhau như thế nào: Nhìn vào sơ đồ ta cũng sẽ nhận được câu trả lời: - uá trình hiển thị dữ liệu: Data Access layer nói chuyện với Database và lấy dữ liệu lên theo một cách nào đó (có thể là bằng câu lệnh select hay thông qua proceduce) lúc này sau khi lấy được dữ liệu lên thì nó sẽ đẩy lên Business layer tại đây Business cần mài dũa rồi đẩy nó lên trên GUI và tại GUI nó sẽ hiển thị lên cho người dùng. - uá trình đưa dữ liệu uống. Người dùng thao tác với GUI layer sau đó ra lệnh thưc hiện (ví như Insert) sau đó hệ thống sẽ kiểm tra các thông tin người dùng nhập vào nếu thỏa đi uống tiếp layer Business để tiếp tục được nhào nặn, tính toán và kiểm tra sau khi ong thì dữ liệu được đẩy uống thông tin phía dưới Data Access Layer sau đó tại DataAccess Layer sẽ thưc thi nó uống database. 1.3.2 Mô hình Model-View-Presenter (MVP) - Nhiều người cho rằng MVP là một design biến đổi của MVC. Điểm khác nhau dễ thấy nhất là Presenter và Controller . Trong mô hình MVP, các lớp View sẽ được sử dụng thông qua một Interface được định nghĩa trong .NET. Các lớp Presenter tương ứng sẽ sử dụng Interface này để đoc và ghi dữ liệu lên trên các View. Trong đa số các cách implement, một View sẽ có một Presenter tương ứng của nó. View sẽ khởi tạo Presenter cho nó và truyền cho Presenter này tham chiếu 8 đến chính nó. Khi một event nào trên view được kích hoạt chẳng hạn như button_clicked, te t_changed,.. bản thân lớp View sẽ không làm gì cả mà sẽ để cho lớp Presenter ử lý những sư kiện đó. Presenter sẽ đoc dữ liệu từ View (vì nó giữ một instance của View như là một member trong class) thông qua View Interface, thưc hiện những ử lý ứng với Event được kích hoạt và set những thay đổi từ dữ liệu Model lên trên View thông qua View Interface. - Trong môi trường .NET, cùng một Presenter có thể được sử dụng cho View trên web như các trang ASP.NET hoặc được sử dụng cho các Form trong Windows Form Application. Các Presenter đoc và ghi dữ liệu thông qua một Interface của .NET nên nó hoàn toàn độc lập với layer View. Chính nhờ cách làm này mà ta có thể áp dụng Unit Test cho các lớp ử lý Presenter rất dễ dàng và nó cũng chính là một trong những lợi ích lớn nhất của MVP cho khả năng tái sử dụng. Cập nhật View - Khi thành phần dữ liệu Model được cập nhật, View cũng sẽ phải được cập nhật để hiển thị những thay đổi. uá trình cập nhật View có thể được thưc hiện bằng nhiều cách khác nhau. Có lẽ cũng từ những cách này mà Model-ViewPresenter được chia thành hai loại là Passive View và Supervising Controller. - Trong mô hình Passive View, Presenter sẽ cập nhật view tương ứng bằng cách đoc dữ liệu trưc tiếp từ Model rồi set lên View, do đó các lớp View sẽ không biết gì về thay đổi dữ liệu bên dưới. Hay nói cách khác chúng hoàn toàn bị động theo như trên goi. - Còn trong mô hình Supervising Controller, các lớp View sẽ tương tác trưc tiếp với Model bên dưới để đoc dữ liệu mà không cần thông qua các lớp Presenter. Presenter sẽ cập nhật Model; nó chỉ thay đổi những control trên View trong trường hợp có những ử lý giao diện phức tạp mà không thể khai báo trước chẳng hạn như ẩn hiện control, đổi màu te t,… - uyết định dùng Passive View hay Supervising Controller thường dưa trên nhu cầu test tư động của ứng dụng. Nếu bạn muốn làm một ứng dụng có thể test tư động dễ dàng và cover hầu hết các ử lý bên trong thì Passive View là một lưa chon 9 thích hợp, moi UI logic đều được test bằng cách viết lớp test cho các Presenter. Mặt khác, nếu bạn thích code đơn giản hơn thì Supervising Controller có vẻ là một lưa chon thích hợp hơn. Đối với những thay đổi đơn giản trên giao diện, bạn cũng không cần đưa những ử lý cho các thay đổi đó vào lớp Presenter. Khi chon lưa giữa Passive View và Supervising Controller, bạn nên cân nhắc các điều sau đây: Cả hai cách đều cho phep bạn tăng khả năng test tư động cho các ử lý giao diện (presentation logic) Passive View thường cung cấp khả năng test cao hơn Supervising Controller bởi vì tất cả các ử lý giao diện được đặt trong các lớp Presenter. Supervising Controller sẽ đỡ phải code nhiều như Passive View bởi vì Passive View không cần thưc hiện những cập nhật đơn giản cho View. Tương tác với dữ liệu - Bạn cần phân biệt rõ Model với Domain, hai khái niệm này hoàn toàn khác nhau. Chúng ta có thể implement các lớp tương tác với dữ liệu bằng nhiều cách khác nhau. Trong một số trường hợp, có thể bạn sẽ phải sử dụng Observer Pattern cho các Presenter và Model. Nó sẽ giúp cho Presenter nhận những events từ Model khi có sư thay đổi và từ đó cập nhật thay đổi đó lên trên View. Thông thường, người ta sẽ làm ra các lớp Service/Manager, các lớp này sẽ đóng vai trò như các lớp Bussiness Logic trong layer Model để giúp Presenter tương tác với database bên dưới: Các nhược điểm của MVP Có nhiều lớp, nhiều layer phải implement; có nghĩa độ phức tạp của ứng dụng sẽ tăng. Bạn phải nghĩ ra một cách để kết hợp giữa các Views và các Presenters. Trong ASP.NET thì các lớp Code-Behind sẽ implement một interface IView nào đó và sử dụng một member Presenter. Mô hình Model không biết gì về Presenter. Vì thế nếu dữ liệu Model bị thay đổi từ một chương trình khác thay vì bởi Presenter thì phải nghĩ ra một cách để
- Xem thêm -

Tài liệu liên quan