N ội dung của khóa luận Ngoài lời mở đầu và kết luận, khóa luận gồm 3 chương : Chương I: Cơ sở lý luận về việc xây dựng hệ thống thông tin quản lý Trình bày cơ sở lý thuyết về khái niệm
Trang 1TRƯỜNG ĐẠI HỌC KINH TẾ KHOA H Ệ THỐNG THÔNG TIN KINH TẾ
- -
KHÓA LU ẬN TỐT NGHIỆP
Trang 2TRƯỜNG ĐẠI HỌC KINH TẾ KHOA H Ệ THỐNG THÔNG TIN KINH TẾ
- -
KHÓA LU ẬN TỐT NGHIỆP
PRESENTATION FOUNDATION
Sinh viên th ực hiện: Gi ảng viên hướng dẫn:
L ớp: K48A Tin Học Kinh Tế
Trang 3LỜI CÁM ƠN
Trong thực tế, không có sự thành công nào mà không có sự giúp đỡ, hỗ trợ
dù ít hay nhiều, dù trực tiếp hay gián tiếp từ người khác Khóa luận này cũng như vậy là kết quả của một quá trình rèn luyện, học tập tại trường Đại học Kinh
Tế Huế và hơn 3 tháng thực tập tại công ty TNHH MTV Brycen Việt Nam tại
• Với lòng biết ơn sâu sắc nhất, tôi xin trân trọng cám ơn Th.S Lê Viết Mẫn
là giảng viên trực tiếp hướng dẫn, chỉ bảo tận tình cho tôi trong quá trình
thực tập, xây dựng đề tài, viết khóa luận
• Và đặc biệt hơn, tôi rất biết ơn các anh chị đang công tác tại dự án Fuji Data System công ty TNHH MTV Brycen Việt Nam đã tạo điều kiện, quan tâm, giúp đỡ, hướng dẫn tôi tiếp cận với môi trường làm việc thực
tế
• Và cuối cùng, tôi xin chân thành cám ơn đến toàn thể gia đình, người thân, bạn bè đã luôn tạo điều kiện, động viên, cổ vũ, giúp đỡ về cả vật
chất lẫn tinh thần trong thời gian vừa qua
Một lần nữa, tôi xin trân trọng cám ơn!
Trang 4Sinh viên
Lê Quang Vinh
M ỤC LỤC
LỜI CÁM ƠN i
DANH M ỤC CÁC HÌNH ẢNH v
DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU vii
L ỜI MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 M ục tiêu nghiên cứu 2
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 3
5 N ội dung của khóa luận 3
Chương I: CƠ SỞ LÝ LUẬN VỀ VIỆC XÂY DỰNG HỆ THỐNG THÔNG TIN QU ẢN LÝ 5
1.1 H Ệ THỐNG THÔNG TIN QUẢN LÝ 5
1.1.1 Khái niệm 5
1.1.2 Vai trò 5
1.1.3 Tác động 5
1.1.4 Quy trình phát triển một hệ thống thông tin 6
1.2 T ỔNG QUAN VỀ NỀN TẢNG GIAO DIỆN WPF 7
1.2.1 Giới thiệu 7
1.2.2 Đặc điểm 8
1.2.2.1 Nền tảng thống nhất xây dựng giao diện người dùng 8
1.2.2.2 Khả năng làm việc chung của người thiết kế giao diện và người lập trình viên 10
1.2.2.3 Công nghệ chung cho giao diện trên Windows và trên trình duyệt Web 10
SVTH: Lê Quang Vinh ii
I H ỌC
KINH
TẾ HU
Ế
Trang 51.3 XAML 11
1.4 Mô hình MVVM 12
1.5 Ngôn ng ữ C Sharp 13
1.6 Môi trường phát triển tích hợp Visual studio 14
1.7 Hệ quản trị cơ sở dữ liệu Microsoft SQL Server 16
1.7.1 Lịch sử ra đời 16
1.7.2 Một vài ấn bản SQL Server 17
1.7.3 Vai trò của SQL 18
CHƯƠNG II: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG QUẢN LÝ THỰC TẬP SINH 20
2.1 Phát bi ểu bài toán 20
2.2 Yêu c ầu chức năng của hệ thống 21
2.3 Phân tích ch ức năng 22
2.3.1 Chức năng quản lý đăng nhập 22
2.3.2 Chức năng quản lý hệ thống 22
2.3.3 Chức năng tìm kiếm 22
2.3.4 Chức năng thống kê 22
2.4 Mô t ả chức năng 22
2.4.1 Quản lý đăng nhập 22
2.4.2 Quản lý hệ thống 23
2.4.3 Thống kê 23
2.4.4 Tìm kiếm 24
2.5 Sơ đồ Chức Năng BFD (Business Flow Diagram) 24
2.6 Sơ đồ ngữ cảnh CD (Context Diagram) 25
2.7 Sơ đồ luồng dữ liệu DFD (Data Flow Diagram) 25
2.7.1 Sơ đồ luồng dữ liệu quản lý đăng nhập 26
2.7.2 Sơ đồ luồng dữ liệu quản lý hệ thống 27
2.7.3 Sơ đồ luồng dữ liệu tìm kiếm 27
2.7.4 Sơ đồ luồng dữ liệu thống kê 28
SVTH: Lê Quang Vinh iii
I H ỌC
KINH
TẾ HU
Ế
Trang 62.8 Thi ết kế cơ sở dữ liệu 28
2.8.1 Xác định các thực thể và các thuộc tính của thực thể 28
2.8.2 Xác định mối quan hệ giữa các thực thể 29
2.8.3 Sơ đồ thực thể mối quan hệ (ERD-Entity Relationship Diagram) 30
2.8.4 Chuẩn hóa cơ sở dữ liệu 31
2.9 Thi ết kế giải thuật 33
2.9.1 Giải thuật đăng nhập 33
2.9.2 Giải thuật Lưu 34
2.9.3 Giải thuật Sửa 35
2.9.4 Giải thuật xóa 36
2.9.5 Giải Thuật điểm 36
CHƯƠNG III: XÂY DỰNG PHẦN MỀM QUẢN LÝ THỰC TẬP SINH 38
3.1 Cài đặt 38
3.2 Giao diện phần mềm 38
3.2.1 Giao diện đăng nhập 38
3.2.2 Tab Trường 39
3.2.3 Tab Dự Án 39
3.2.4 Tab Sinh Viên 40
3.2.5 Tab Điểm 41
3.2.6 Tab Tìm Kiếm 42
3.2.7 Tab Thống Kê 43
K ẾT LUẬN 44
1 Kết quả đạt được 44
2 H ạn chế của đề tài 44
3 Hướng phát triển đề tài 44
TÀI LI ỆU THAM KHẢO 45
SVTH: Lê Quang Vinh iv
I H ỌC
KINH
TẾ HU
Ế
Trang 7DANH M ỤC CÁC HÌNH ẢNH
HÌNH 1.1QUY TRÌNH PHÁT TRI ỂN HỆ THỐNG THÔNG TIN 6
HÌNH 1.2XAML H Ỗ TRỢ THIẾT KẾ VIÊN VÀ LẬP TRÌNH VIÊN LÀM VIỆC CHUNG 11
HÌNH 1.3MÔ HÌNH MVVM 12
HÌNH 2.1SƠ ĐỒ CHỨC NĂNG BFD 24
HÌNH 2.2SƠ ĐỒ NGỮ CẢNH CD 25
HÌNH 2.3SƠ ĐỒ LUỒNG DỮ LIỆU DFD M ỨC 0 26
HÌNH 2.4SƠ ĐỒ LUỒNG DỮ LIỆU QUẢN LÝ ĐĂNG NHẬP 26
HÌNH 2.5SƠ ĐỒ LUỒNG DỮ LIỆU QUẢN LÝ ĐĂNG NHẬP 27
HÌNH 2.6SƠ ĐỒ LUỒNG DỮ LIỆU TÌM KIẾM 27
HÌNH 2.7 SƠ ĐỒ LUỒNG DỮ LIỆU THỐNG KÊ 28
HÌNH 2.8 MÔ HÌNH TH ỰC THỂ MỐI QUAN HỆ 33
HÌNH 2.9GIẢI THUẬT ĐĂNG NHẬP 33
HÌNH 2.10GI ẢI THUẬT LƯU 34
HÌNH 2.11GI ẢI THUẬT SỬA 35
HÌNH 2.12GI ẢI THUẬT XÓA 36
HÌNH 2.13GIẢI THUẬT ĐIỂM 36
HÌNH 3.1FORM ĐĂNG NHẬP HỆ THỐNG 38
HÌNH 3.2TAB TRƯỜNG 39
HÌNH 3.3TAB DỰ ÁN 40
HÌNH 3.4TAB SINH VIÊN 41
HÌNH 3.5TAB ĐIỂM 42
HÌNH 3.6TAB TÌM KI ẾM 43
HÌNH 3.7 HI ỂN THỊ SỐ SINH VIÊN CỦA CÁC TRƯỜNG 43
SVTH: Lê Quang Vinh v
I H ỌC
KINH
TẾ HU
Ế
Trang 8DANH M ỤC BẢNG
BẢNG 1.1NH ỮNG CÔNG NGHỆ CÓ TRONG WPF 9
BẢNG 2.1MÔ TẢ QUẢN LÝ ĐĂNG NHẬP 23
BẢNG 2.2MÔ T Ả QUẢN LÝ HỆ THỐNG 23
BẢNG 2.3MÔ T Ả THỐNG KÊ 24
BẢNG 2.4MÔ T Ả TÌM KIẾM 24
BẢNG 2.5ACCOUNT 31
BẢNG 2.6TRƯỜNG 31
BẢNG 2.7DỰ ÁN 31
BẢNG 2.8SINH VIÊN 31
BẢNG 2.9ĐI ỂM 32
SVTH: Lê Quang Vinh vi
I H ỌC
KINH
TẾ HU
Ế
Trang 9DANH M ỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU
WPF Windows Presentation Foundation
Trang 10Việc áp dụng công nghệ thông tin vào các hoạt động của công ty có rất nhiều khó khăn, cần dành nhiều thời gian nghiên cứu khảo sát cũng như nguồn kinh phí
lớn đầu tư để thực hiện ý tưởng Nhưng nhờ sự phát triển của công nghệ thông tin thì giờ đây việc triển khai đã thuận lợi hơn Bằng chứng là ngày nay đa số các công
ty đều đã áp dụng công nghệ thông tin vào các công việc quản lý, đời sống sinh
hoạt của bản thân Tuy nhiên việc áp dụng công nghệ thông tin còn nhiều lỗ hỏng chưa giải quyết hết tối đa các hoạt động hướng đến sự phát triển bền của công ty Được thành lập vào năm 2013, công ty TNHH MTV Brycen Việt Nam là công ty phần mềm có vốn đầu tư 100% từ công ty TNHH Brycen Nhật Bản Các thành viên chủ chốt đều có kinh nghiệm, học tập, làm việc nhiều năm tại Nhật với các lĩnh vực như: phát triển ứng dụng và phần mềm, phát triển website, hỗ trợ ứng
dụng và phát triển hệ thống bán hàng tự động theo sự dự đoán nhu cầu, tổ chức
hoạt động gia công hình ảnh và chỉnh sửa bản đồ Brycen nhanh chóng trở thành công ty công nghệ hàng đầu tại Huế với các đối tác là các công ty, các trung tâm nghiên cứu ở nước ngoài mà chủ yếu là Nhật Bản
Hiện tại, công ty đang thực hiện kế hoạch mở rộng quy mô, tìm kiếm nguồn nhân lực chất lượng đáp ứng được công việc tại công ty Nhận thấy nguồn nhân lực đặc biệt là sinh viên năm cuối ở các trường đại học trên địa bàn thành phố Huế và
Trang 11các tỉnh lận cận rất tiềm năng, phù hợp với định hướng phát triển bền vững của công ty Tuy nhiên, công ty vẫn chưa có công cụ để lưu trữ thông tin cũng như kết
quả đánh giá năng lực của các sinh viên qua quá trình thực tập tại công ty
Vì thế, để giải quyết vấn đề trên, tôi chọn “ Xây dựng phần mềm quản lý thực
tập sinh tại công ty TNHH MTV Brycen Việt Nam sử dụng nền tảng lập trình giao
diện Windows Presentation Foundation” làm đề tài cho khóa luận của mình
2 Mục tiêu nghiên cứu
• Mục tiêu chung:
Từ việc nghiên cứu nền tảng lập trình giao diện Windows WPF và yêu cầu
của doanh nghiệp, đề tài tập trung phân tích, thiết kế và xây dựng phần mềm
quản lý thực tập sinh tại công ty TNHH MTV Brycen Việt Nam
• M ục tiêu cụ thể:
1 Nghiên cứu nền tảng lập trình giao diện Windows WPF
2 Phân tích yêu cầu và thiết kế phần mềm quản lý thực tập sinh
3 Cài đặt phần mềm quản lý thực tập sinh
3 Đối tượng và phạm vi nghiên cứu
• Đối tượng nghiên cứu
+ Nền tảng lập trình giao diện Windows WPF
+ Quy trình quản lý sinh viên thực tập của công ty
• Phạm vi nghiên cứu
Sinh viên thực tập tại công ty TNHH MTV Brycen Việt Nam
Trang 124 Phương pháp nghiên cứu
• Phương pháp nghiên cứu tài liệu: tìm kiếm, nghiên cứu các tài liệu, sách có
liên quan tìm ra mô hình trực quan, hoàn chỉnh, phù hợp nhất để xây dựng
đề tài, đồng thời kết hợp với những kiến thức đạt được trong quá trình thực
tập
• Phương pháp phân tích, đánh giá: dựa vào quan sát, phân tích, nhìn nhận
vấn đề thực tế, áp dụng những công nghệ cần thiết để hoàn thiện đề tài
• Phương pháp tổng hợp: tổng hợp kiến thức và hoàn thiện khóa luận dựa trên
nền tảng cơ bản được học tập và chủ động tìm kiếm tài liệu
• Phương pháp phân tích và thiết kế hệ thống: tiến hành tổng hợp, liệt kê,
phân loại thông tin Dựa vào các công nghệ, thông tin thu thập được tiến hành xây dựng phần mềm quản lý thực tập sinh
• Phương pháp lập trình hướng đối tượng: sau khi tiến hành phân tích, thiết
kế sẽ chọn ngôn ngữ lập trình C# và XAML với hệ quản trị cơ sở dữ liệu Microsoft SQL Server để xây dựng phần mềm
• Phương pháp mô hình hóa: sử dụng sơ đồ, mô hình để mô tả các quy trình,
nghiệp vụ trong quản lý sinh viên thực tập
5 N ội dung của khóa luận
Ngoài lời mở đầu và kết luận, khóa luận gồm 3 chương :
Chương I: Cơ sở lý luận về việc xây dựng hệ thống thông tin quản lý
Trình bày cơ sở lý thuyết về khái niệm hệ thống thông tin quản lý, các giai đoạn phát tiển của một hệ thống thông tin quản lý Đồng thời giới thiệu
về nền tảng lập trình giao diện WPF, ngôn ngữ C#, công cụ Visual studio Chương II: Phân tích và thiết kế phần mềm thực tập sinh
Trang 13Chương này đề cập đến thực trạng qua đó đi sâu vào phân tích bài toán, mô hình hóa các chức năng chính, thiết kế cơ sở dữ liệu xây dựng hệ
thống
Chương III: Xây dựng phần mềm quản lý thực tập sinh
Chương này đề cập đến việc cài đặt những môi trường cho việc xây
dựng phần mềm, giao diện chương trình, đánh giá kết quả
Trang 14Chương I: CƠ SỞ LÝ LUẬN VỀ VIỆC XÂY DỰNG HỆ THỐNG THÔNG
TIN QUẢN LÝ
Chương này trình bày cơ sở lý thuyết về khái niệm hệ thống thông tin quản
lý, các giai đoạn phát triển một hệ thống thông tin quản lý Đồng thời giới thiệu về
nền tảng lập trình giao diện WPF
1.1 H Ệ THỐNG THÔNG TIN QUẢN LÝ
1.1.1 Khái niệm
Hệ thống thông tin quản lý là hệ thông cung cấp thông tin cho công tác quản
lý của tổ chức Nó bao gồm con người, thiết bị, và quy trình thu thập,phân tích, đánh giá và phân phối những thông tin cần thiết, kịp thời, chính xác cho
những người soạn thảo các quyết định trong tổ chức
1.1.2 Vai trò
Hệ thống thông tin là cầu nối của các công ty, doanh nghiệp và môi trường,xã hội Nó giúp cho quá trình thu thập,xử lý và cung cấp thông tin được thuân lợi nhất Vai trò của công nghệ thông tin được thể hiện qua hai
mặt bên trong và bên ngoài
• Bên ngoài: Hệ thống thông tin thu thập thông tin từ bên ngoài, truyền
tải thông tin của doanh nghiệp ra bên ngoài
• Bên trong: Hệ thống thông tin liên các bộ phận trong công ty với nhau Cung cấp thông tin cho các đơn vị cần thiết để thực hiện các
mục đích đề ra
1.1.3 Tác động
Hệ thống thông tin có 3 tác động chính :
• Hỗ trợ,cải thiện khả năng cạnh tranh của doanh nghiệp
• Hỗ trợ việc ra quyết định của doanh nghiệp
Trang 15• Hỗ trợ trong nghiệp vụ, hoạt động của doanh nghiệp
1.1.4 Quy trình phát tri ển một hệ thống thông tin
Quy trình phát hệ thống gồm 6 giai đoạn chúng giống như một dòng chảy,
phải thực hiện nghiêm ngặt tuần tự không có sự quay lại hoặc nhảy vượt là
khảo sát, phân tích, thiết kế, thực hiện, kiểm thử, triển khai và bảo trì [1]
Giai đoạn 1: Khảo sát hệ thống
• Đặt ra các vấn đề trọng tâm cần giải quyết
• Tìm hiểu các yếu tố cơ bản của doanh nghiệp
• Thu thập quy trình, thông tin phục vụ công việc phân tích
Gia i đoạn 2: Phân tích hệ thống
• Xác định các chức năng cần thiết cho hệ thống
• Phân tích đặc tả các mô hình BFD, CD
• Phân rã mô hình DFD theo các mức 0,1…
Giai đoạn 3: Thiết kế hệ thống
• Thiết kế cơ sở dữ liệu
Trang 16• Truy vấn hàm
• Thiết kế giao diện
• Thiết kế chức năng
• Thiết kế báo cáo
Giai đoạn 4: Thực hiện
• Lựa chọn hệ quản trị cơ sở dữ liệu
• Lựa chọn cơ sở lập trình
• Lựa chọn công cụ thiết kế
Giai đoạn 5: Kiểm thử hệ thống
• Kiểm chứng các chức năng chính của hệ thống
• Khắc phục lỗi
Giai đoạn 6: Triển khai và bảo trì hệ thống
• Cài đặt phần mềm
• Đào tạo, phát triển, bảo hành hệ thống
• Chuyển đổi từ hệ thống cũ sang hệ thống mới
Khóa luận này đã áp dụng đầy đủ các giai đoạn từ khảo sát hệ thống, phân tích hệ thống cho đển giai đoạn triển khai và bảo trì hệ thống
1.2 T ỔNG QUAN VỀ NỀN TẢNG GIAO DIỆN WPF
1.2.1 Gi ới thiệu
WPF là viết tắt của Windows Presentation Foundation, là hệ thống API hỗ
trợ xây dựng giao diện đồ họa trên nền tảng Windows Là thế hệ kế tiếp của Windows Forms lập trình các ứng dụng, WPF tăng cường khả năng cung cấp các API cho phép tận dụng các đa phương tiện hiện đại Là một bộ phận của NET
Trang 17Framework 3.0 trở lên , WPF đã được sử dụng trong Windows Vista, Windows Server 2008 và trong các hệ điều hành kế tiếp
WPF được xây dựng trên cơ sở các mục tiêu như :
• Cung cấp cho người dùng một nền tảng thống nhất để xây dựng giao diện
• Cho phép người thiết kế viên và lập trình viên làm việc song song với nhau một cách dễ dàng
• Cung cấp công nghệ chung để xây dựng giao diện người dùng trên cả trình duyệt Web và Windows
WPF cung cấp những môi trường có sẵn trong NET Framework của Microsoft cho phép những lập trình viên biết về NET trước kia nhanh chóng hiểu
và làm việc được với WPF
Dù là hình ảnh 3D hay chỉ là button được xây dựng cho cả ứng dụng Windows và ứng dụng Web, tất cả đều chạy trên Windows Platform WPF được coi là công nghệ để tạo ra giao diện cho những ứng dụng Windows kế tiếp Ngoài
ra WPF còn hỗ trợ mô hình MVVM ( Model -View-ViewModel) mà nền tảng WF không so sánh được [2], [3]
1.2.2 Đặc điểm
1.2.2.1 Nền tảng thống nhất xây dựng giao diện người dùng
Khi WPF chưa ra đời, việc tạo giao diện phải dùng nhiều công nghệ khác nhau (Xem bảng 1.1) Khi tạo form, các tính năng, các control người lập trình sẽ nghĩ đến WinForm một phần của NET Framework hay khi hiển thị văn bản WF có tính năng hỗ trợ trực tiếp hoặc PDF của Adobe để hiển thị văn bảng dạng cố định
Lập trình viên sẽ dùng GDI+ cho hình ảnh hoặc đồ họa hai chiều, để hiển thị video hay âm thanh thì dùng Windows Media Player còn đồ họa ba chiều thì dùng
Trang 18Direct3D Nói chung để phát triển giao diện người dùng cần có nhiều kỹ năng công nghệ với những yêu cầu phức tạp
Windows Forms
Forms/GDI+
Windows Media Player
Khi WPF ra đời không có nghĩa tất cả các công nghệ ở trên bị thay thế Người
ta vẫn sử dụng thậm chí trong WPF vẫn sử dụng WF Windows Media Player vẫn
là công cụ để chơi nhạc và chiếu video PDF vẫn được sử dụng cho văn bản Direct3D vẫn là công nghệ quan trọng trong việc làm games và các ứng dụng khác
Để tạo ra được một giao diện hiện đại không chỉ là hợp nhất các công nghệ sẵn có
mà nó còn tận dụng được lợi ích của card đồ họa hiện đại Để tránh các hạn chế các
hạn chế của đồ họa bitmap, WPF dựa vào đồ họa vector là chủ yếu Cho phép tự
Trang 19động thay đổi kích thước để hình ảnh phù hợp với độ phân giải của màn hình hiển
thị
Với việc đã hợp nhất các công nghệ cần thiết để tạo ra được giao diện người dùng vào một nền tảng, WPF làm cho công việc của người thiết kế phần nào được đơn giản và thuận lợi hơn.Với việc yêu cầu lập trình viên phải phát triển hệ thống ở
một môi trường phần nào giúp giảm chi phí cho quá trình xây dựng và bảo trì hệ
thống Với việc tích hợp biểu diễn đa dạng các thông tin trên giao diện, WPF đã nâng cao được giá trị cũng như chất lượng của công việc khi người dùng tương tác
với các ứng dụng trên nền Windows
1.2.2.2 Kh ả năng làm việc chung của người thiết kế giao diện và người lập trình viên
Như thường lệ, các thiết kế viên sử dụng các công nghệ đồ họa để tạo ra
những hình ảnh tĩnh, bố trí giao diện phù hợp trên màn hình Sau đó được chuyển đến các lập trình viên để tạo ra các mã code để thực hiện hóa giao diện của thiết kế viên Đôi khi với giao diện rất đơn giản nhưng cực kỳ khó khăn cho lập trình viên
Có những hạn chế về mặt công nghệ, bất đồng quan điểm, thời gian gấp rút, thiếu
kĩ năng, hiểu nhầm có thể làm lập trình viên không đáp ứng được yêu cầu của nhà thiết kế Do đó, cần một cầu nối giúp cho hai bên đạt được tiếng nói chung mà không ảnh hưởng hay thay đổi chất lượng của giao diện đã thiết kế
1.2.2.3 Công ngh ệ chung cho giao diện trên Windows và trên trình duyệt Web
Trong thời đại Internet vượt bậc, ứng dụng Web ngày càng phát triển Một ứng dụng desktop với đầy đủ tính năng sẽ góp phần làm tăng giá trị của doanh nghiệp Tuy nhiên với những công nghệ truyền thống thì hoạt động trên desktop
vừa hoạt động trên trình duyệt Web, vấn đề này đòi hỏi chi phí phát sinh không cần thiết giống như ta xây dựng hai giao diện khác nhau Để giải quyết vấn đề này trong WPF ta có thể dùng XAML (XBAP) chạy trên Internet Explore
Trang 201.3 XAML
Trước đây, việc tách rời đồ hoạ ra khỏi code là công việc không hề đơn giản Trong Windows Forms các form bạn tạo ra đều được biểu diễn lại toàn bộ bằng C#, các control cũng được Visual studio tự động tạo ra code tương ứng cho các lớp
sẵn có Các thiết kế viên không có công vụ nào làm việc với mã nguồn C# Để giải quyết vấn đề đó, Microsoft đã sáng tạo ra nền tảng giao diện WPF gắn với XAML XAML là viết tắt của eXtensible Application Markup Language là một ngôn
ngữ biến thể của Microsoft về XML để mô tả một GUI Trong WindowsForms, GUI được tạo bằng ngôn ngữ mà bạn sẽ sử dụng để tương tác với GUI, ví dụ như C# hay VB.NET và thường được duy trì bởi nhà thiết kế nhưng với XAML, Microsoft đi theo một cách khác Giống HTML, bạn có thể dễ dàng viết và điều
chỉnh GUI của mình hay nói cụ thể hơn XAML sẽ định nghĩa sắp xếp, thể hiện các control, button trong cửa sổ của một chương trình WPF XAML giúp người thiết
kế tạo ra giao diện được đẹp hơn, thể hiện được tính nghệ thuật hơn, còn các lập trình viên thì thoải mái code theo suy nghĩ, ý tưởng của họ [3]
Tuy nhiên, WPF không nhất thiết là phải có XAML, chúng ta vẫn có thể sử
dụng WF để tạo ra các dòng code để xây dựng cửa sổ trong giao diện WPF
Trang 211.4 Mô hình MVVM
MVVM là viết tắt của Model-View-ViewModel Nó là một biến thể của mẫu thiết kế mô hình trình bày của Martin Fowler MVVM tóm tắt trạng thái và hành
vi của chế độ xem theo cùng một cách, nhưng mô hình trình bày tóm tắt một chế
độ xem (tạo mô hình xem ) theo cách không phụ thuộc vào nền tảng giao diện
người dùng cụ thể
MVVM được phát minh bởi cáckiến trúc sư Microsoft Ken Cooper và Ted Peters đặc biệt để đơn giản hóa lập trình hướng sự kiệncủa giao diện người dùng Mẫu được tích hợp vào Windows Presentation Foundation (WPF) ( hệ thống
đồ họa NET của Microsoft ) và Silverlight (dẫn xuất ứng dụng Internet của WPF) John Gossman, một trong những kiến trúc sư WPF và Silverlight của Microsoft, đã công bố MVVM trên blog của mình vào năm 2005 [4]
Hình ảnh 1.3 bên dưới mô tả mối quan hệ giữa các thành phần trong pattern
Hình 1 3 Mô hình MVVM
• Views: là thành phần duy nhất mà người dùng có thể tương tác với chương trình Trong WPF, view chính là UserControl nhưng không nhất thiết UserControl phải là view
Trang 22• Models: tạo các lớp chứa các dữ liệu và bất kỳ các logic, xác nhận, nghiệp vụ để bảo toàn tính toàn vẹn của dữ liệu khi truy xuất, thao tác tên dữ
liệu
• ViewModels: là một lớp trung gian giữa View và Model Nó được cho
là thay thế cho Controller trong mô hình MVC Nó chứa các mã lệnh thuận
tiện cho việc binding, command,…
Các thành phần của mô hình MVVM tạo mẫu cho View và tách biệt khỏi ViewModel các class Mỗi thành phần trong View được kết nối tới các đặc tính trong ViewModel bằng data bingding ViewModel sẽ lấy dữ liệu từ Model Trong MVVM các tầng bên được giữ bí mật với các tầng bên dưới nó
Việc sử dụng mô hình trong quá trình phát triển ứng dụng WPF mang lại cho người lập trình nhiều lợi ích, như tương tác hiệu quả giữa người thiết kế và người
lập trình, khả năng sử dụng lại các thành phần hay việc thay đổi giao diện chương trình mà không cần phải viết lại code quá nhiều [5]
1.5 Ngôn ng ữ C Sharp
Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư Microsoft, trong đó người
dẫn đầu là Anders Hejlsberg và Scott Wiltamuth Cả hai người này điều là những người nổi tiếng, trong đó Anders Hejlsberg được biết đến là tác giả của Turbo Pascal, một ngôn ngữ lập trình PC phổ biến Và ông đứng đầu nhóm thiết kế Borland Delphi, một trong những thành công đầu tiên của việc xây dựng môi trường phát triển tích hợp (IDE - Integrated Development Environment) cho lập trình client/server
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp điều được tìm thấy trong phần khai báo của nó Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi
phải chia ra tập tin header và tập tin nguồn giống như trong ngôn ngữ C++ Hơn
Trang 23thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh
C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với một
lớp cho những dịch vụ mà giao diện quy định Trong ngôn ngữ C#, một lớp chỉ có
thể kế thừa từ duy nhất một lớp cha, tức là không cho đa kế thừa như trong ngôn
ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện Khi một lớp thực thi
một giao diện thì nó sẽ hứa là nó sẽ cung cấp chức năng thực thi giao diện
C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau
C# với sự hỗ trợ mạnh mẽ của NET Framework giúp cho việc tạo một ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), trở nên rất dễ dàng Môi trường NET cung cấp công nghệ ASP.NET,… giúp xây dựng những trang Web động Để tạo ra một trang ASP.NET,… người lập trình sử dụng ngôn
ngữ biên dịch như C# viết mã [6]
1.6 Môi trường phát triển tích hợp Visual studio
Microsoft Visual Studio là một môi trường phát triển tích hợp từ Microsoft
Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang web, các ứng dụng web và các dịch vụ web Visual Studio sử
dụng nền tảng phát triển phần mềm của Microsoft như Windows API, Windows
Trang 24Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight Nó có thể sản xuất cả hai ngôn ngữ máy và mã số quản lý
Visual Studio bao gồm một trình soạn thảo mã hỗ trợ IntelliSense cũng như
cải tiến mã nguồn Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức độ mã nguồn và gỡ lỗi mức độ máy Công cụ tích hợp khác bao gồm một mẫu thiết kế các hình thức xây dựng giao diện ứng dụng, thiết kế web, thiết kế lớp và thiết kế giản
đồ cơ sở dữ liệu Nó chấp nhận các plug-in nâng cao các chức năng ở hầu hết các
cấp bao gồm thêm hỗ trợ cho các hệ thống quản lý phiên bản (như Subversion) và
bổ sung thêm bộ công cụ mới như biên tập và thiết kế trực quan cho các miền ngôn
ngữ cụ thể hoặc bộ công cụ dành cho các khía cạnh khác trong quy trình phát triển
phần mềm
Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biên tập mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình Các ngôn ngữ tích hợp gồm có C, C++ và C++/CLI (thông qua Visual C++), VB.NET (thông qua Visual Basic.NET), C thăng (thông qua Visual C#) và F thăng (như của Visual Studio 2010) Hỗ trợ cho các ngôn ngữ khác như J++/J thăng, Python và Ruby thông qua dịch vụ cài đặt riêng rẽ Nó cũng hỗ trợ XML/XSLT, HTML/XHTML, JavaScript và CSS
Phiên bản đầu tiên của Visual Studio được Microsoft phát hành vào năm
1997 với hai phiên bản là Professional và Enterprise Tính đến thời điểm hiện tại,
Visual Studio đã trải qua nhiều thời kì phát triển và đã phát hành những bản Visual Studio như Visual Studio 2005, VS 2008, VS 2010, VS 2012, VS 2013, VS 2015
Và phiên bản mới nhất của Visual Studio là phiên bản Visual Studio 2017 phát hành chính thức vào tháng 3 năm 2017 Với mỗi phiên bản phát hình có nhiều công nghệ và tính năng mới mẽ được tích hợp
Trang 251.7 H ệ quản trị cơ sở dữ liệu Microsoft SQL Server
1.7.1 L ịch sử ra đời
Phiên bản đầu tiên của Microsoft SQL Server ra đời đầu tiên vào năm 1989 cho các hệ điều hành chạy 16 bít với SQL Server phiên bản 1.0 và tiếp tục phát triển cho tới ngày nay SQL Server của Microsoft được thị trường chấp nhận rộng rãi kể từ version 6.5 Sau đó Microsoft đã cải tiến và hầu như viết lại một engine
mới cho SQL Server 7.0 Cho nên có thể nói từ version 6.5 lên version 7.0 là một
bước nhảy vọt Có một số đặc tính của SQL Server 7.0 không tương thích với version 6.5 Trong khi đó từ Version 7.0 lên version 8.0 (SQL Server 2000) thì
những cải tiến chủ yếu là mở rộng các tính năng về web và làm cho SQL Server
2000 đáng tin cậy hơn
Tính đến tháng 10 năm 2017, các phiên bản được hỗ trợ bởi Microsoft:
- SQL Server 2008: được phát hành vào ngày 06 tháng 8 năm 2008 nhằm
mục đích để làm cho quản lý dữ liệu tự điều chỉnh, tự tổ chức, và tự duy trì với sự phát triển của SQL server Always On công nghệ, cung cấp thời gian chết gần như bằng không SQL Server 2008 cũng bao gồm hỗ trợ cho các cấu trúc dữ liệu và bán cấu trúc, bao gồm kỹ thuật số định dạng
phương tiện truyền thông cho hình ảnh, âm thanh, video và dữ liệu đa
phương tiện khác
- SQL Server 2008 R2: đã được công bố tại TechEd 2009, và đã được phát hành để sản xuất vào ngày 21, 2010 SQL Server 2008 R2 thêm các tính năng nhất định để SQL Server 2008 bao gồm một dữ liệu tổng thể quản
lý hệ thống thương hiệu như Master Data Services, một quản lý tập trung các đơn vị dữ liệu tổng thể và hệ thống phân cấp
Trang 26- SQL Server 2012: được phát hành vào 06 tháng 3 năm 2012 SQL server
2012 Service Pack 1 đã được phát hành vào 09 tháng 11 năm 2012, và Service Pack 2 đã được phát hành vào 10 tháng 6 năm 2014
- SQL Server 2014: SQL Server 2014 tăng cường Always On giải pháp
bằng cách tăng số đếm phụ có thể đọc được và cung cấp các giải pháp khôi phục và các giải pháp sao lưu với Microsoft Azure, cho phép khách hàng sử dụng các kỹ năng hiện có tại chỗ với phiên bản của SQL server
để tận dụng lợi thế của trung tâm dữ liệu toàn cầu của Microsoft
- SQL Server 2016: SQL Server 2016 được hỗ trợ trên chỉ xử lý x64 Nó không còn được hỗ trợ trên các bộ xử lý x86
1.7.2 Một vài ấn bản SQL Server
- Enterprise : chứa tất cả cá đặc điểm nổi bật của SQL Server, bao gồm nhân
bộ máy cơ sở dữ liệu và các dịch vụ đi kèm cùng với các công cụ cho tạo và
quản lý phân cụm SQL Server Nó có thể quản lý các CSDL lớn tới
524 petabytes và đánh địa chỉ 12 terabytes bộ nhớ và hỗ trợ tới 640 bộ vi xử lý(các core của cpu)
- Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao
cấp (advanced features) khác, edition này có thể chạy tốt trên hệ thống lên đến
4 CPU và 2 GB RAM
- Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế
tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc… Ðây là phiên bản sử dụng cho phát triển và kiểm tra ứng dụng Phiên bản này phù hợp cho các cá nhân, tổ chức xây dựng và kiểm tra ứng dụng
Trang 27- Workgroup: ấn bản SQL Server Workgroup bao gồm chức năng lõi cơ sở dữ
liệu nhưng không có các dịch vụ đi kèm Chú ý phiên bản này không còn tồn
sử dụng, nhưng nó chỉ dùng cho 1 bộ vi xử lý với 1 GB bộ nhớ và 10 GB file
cơ sở dữ liệu SQL Server Express là lựa chọn tốt cho những người dùng chỉ
cần một phiên bản SQL Server 2005 nhỏ gọn, dùng trên máy chủ có cấu hình
thấp, những nhà phát triển ứng dụng không chuyên hay những người yêu thích xây dựng các ứng dụng nhỏ
1.7.3 Vai trò c ủa SQL
Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không thể tồn
tại độc lập SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các hệ quản trị cơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử dụng và hệ quản trị cơ sở dữ liệu Trong hầu hết các hệ quản trị cơ sở dữ
liệu quan hệ, SQL có những vai trò như sau:
+ SQL là ngôn ngữ hỏi có tính tương tác: Người dùng có thể dễ dàng thông qua các trình tiện ích để gởi các yêu cầu dưới dạng các câu lệnh SQL đến cơ sở dữ
liệu và nhận kết quả trả về từ cơ sở dữ liệu
+ SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúng các câu lệnh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chương trình ứng dụng giao tiếp với cơ sở dữ liệu