3.3.1 Nền tảng .NET
Nền tảng .NET bao gồm bốn nhóm sau:
• Một tập các ngôn ngữ, bao gồm C# và Visual Basic .Net; một tập các công cụ phát triển bao gồm Visual Studio .Net; một tập đầy đủ các thư viện phục vụ cho việc xây dựng các ứng dụng web, các dịch vụ web và các ứng dụng Windows; còn có CLR - Common Language Runtime: (ngôn ngữ thực thi dùng chung) để thực thi các đối tượng được xây dựng trên bô khung này.
• Một tập các Server Xí nghiệp .Net như SQL Server 2000. Exchange 2000, BizTalk 2000, … chúng cung cấp các chức năng cho việc lưu trữ dữ liệu quan hệ, thư điện tử, thương mại điện tử B2B, …
• Các dịch vụ web thương mại miễn phí, vừa được công bố gần đậy như là dự án Hailstorm; nhà phát triển có thể dùng các dịch vụ này để xây dựng các ứng dụng đòi hỏi tri thức về định danh người dùng…
• .NET cho các thiết bị không phải PC như điện thoại (cell phone), thiết bị game
3.3.2 .NET Framework
.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 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 được biết đến với tên Common Language Runtime (CLR). Môi trường phần mềm này là một máy ảo trong đó cung cấp các dịch vụ như an ninh phần mềm, quản lý bộ nhớ, và các xử lý lỗi ngoại.
.NET framework đơn giản hóa việc viết ứng dụng bằng cách cung cấp nhiều thành phần được thiết kế sẵn, người lập trình chỉ cần học cách sử dụng và tùy theo sự sáng tạo mà gắn kết các thành phần đó lại với nhau.
.NET Framework nằm ở tầng trên của hệ điều hành (bất kỳ hệ điều hành nào không chỉ là Windows). .NET Framework bao gồm:
• Bốn ngôn ngữ chính thức: C#, VB.Net, C++, và Jscript.NET
• Common Language Runtime - CLR, nền tảng hướng đối tượng cho phát triển ứng dụng Windows và web mà các ngôn ngữ có thể chia sẻ sử dụng.
• Bộ thư viện Framework Class Library - FCL.
3.3.3 Ngôn ngữ C#
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
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.
Là một ngôn ngữ hướng đối tượng, C# hỗ trợ các khái niệm về đóng gói
encapsulation, thừa kế inheritance và đa hình polymorphism. Tất cả các biến và
phương pháp, bao gồm cả phương thức Main, điểm nhập của ứng dụng, được đóng gói trong định nghĩa lớp Class. Một lớp có thể kế thừa trực tiếp từ một lớp cha, nhưng nó có thể thực hiện bất kỳ số lượng các giao diện. Các phương thức ghi đè lên các phương pháp ảo trong một lớp cha yêu cầu từ khóa override như là một cách để tránh xác định lại việc định nghĩa lại mã nguồn. Trong C#, một cấu trúc giống như một lớp, nó là một loại ngăn xếp stack được phân bổ có thể thực hiện các giao diện, nhưng không hỗ trợ thừa kế.
CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 4.1 Sơ đồ phân rã chức năng (BFD)
Hình 4.1: Sơ đồ phân rã chức năng (BFD)
4.2 Sơ đồ luồng dữ liệu (DFD)
Hình 4.2: Sơ đồ luồng dữ liệu mức ngữ cảnh
1- Yêu cầu cập nhật thông tin: nhân sự, hợp đồng lao động, quá trình
công tác, quá trình đào tạo, khen thưởng/ kỷ luật, thôi việc, yêu cầu báo cáo nhân sự…
2- Thông báo kết quả: nhân sự, hợp đồng lao động, công tác, đào tạo, khen thưởng kỷ luật, thôi việc, báo cáo nhân sự.
3- Yêu cầu các quyết định, thống kê báo cáo 4- Trả về kết quả
5- Yêu cầu cập nhật thông tin người dùng, sao lưu, phục hồi dữ liệu 6- Thông tin: người dùng phản hồi sao lưu, phục hồi.
4.2.3 Sơ đồ luồng dữ liệu mức dưới đỉnh4.2.3.1 Chức năng quản trị hệ thống 4.2.3.1 Chức năng quản trị hệ thống
Hình 4.5: Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý nhân sự
Hình 4.6: Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý danh mục
4.3 Sơ đồ thực thể liên kết
4.3.1 Mối quan hệ giữa các tập thực thể
1- Một nhân viên chỉ có một dân tộc nhưng một dân tộc có thể có nhiều nhân viên cùng thuộc.
2- Một nhân viên chỉ có một tôn giáo (hoặc không) nhưng một tôn giáo có thể có nhiều nhân viên cùng thuộc.
3- Một nhân viên có thể thuộc nhiều đơn vị, một đơn vị có nhiều nhân viên cùng thuộc.
4- Một nhân viên có thể thuộc nhiều phòng ban, một phòng ban có nhiều nhân viên.
5- Một nhân viên có thể giữ nhiều chức vụ một lúc, một chức vụ cũng có thể có nhiều nhân viên cùng giữ.
6- Một nhân viên có thể có nhiều loại chứng chỉ khác nhau và một loại chứng chỉ có thể được nhiều nhân viên có.
7- Một nhân viên có thể có nhiều chuyên môn và một chuyên môn có thể có nhiều nhân viên có.
8- Một nhân viên có thể có nhiều chuyên môn, chứng chỉ, và ngoại ngữ. Mỗi một chuyên môn, chứng chỉ và ngoại ngữ tương ứng với những trình độ khác nhau. Ở cùng một trình độ có nhiều nhân viên.
9- Một nhân viên có thể biết nhiều ngoại ngữ và một ngoại ngữ có thể có nhiều nhân viên biết.
10- Một nhân viên có thể ký nhiều hợp đồng nhưng một hợp đồng chỉ được ký bởi một nhân viên.
11- Một nhân viên có thể có nhiều loại hợp đồng và một loại hợp đồng có thể có nhiều nhân viên có.
12- Một hợp đồng tương ứng với một loại hợp đồng. Một loại hợp đồng có nhiều hợp đồng cùng loại.
13- Một nhân viên chỉ có một hồ sơ nhân sự và một bộ hồ sơ nhân sự chỉ thuộc về một nhân viên.
14- Một hồ sơ nhân sự chỉ có một hồ sơ ngoại ngữ, một hồ sơ ngoại ngữ đó chỉ thuộc về hồ sơ nhân sự đó. Nhiều hồ sơ ngoại ngữ có chung một ngoại ngữ. 15- Một hồ sơ nhân sự chỉ có một hồ sơ chứng chỉ, một hồ sơ chứng chỉ đó chỉ
thuộc về hồ sơ nhân sự đó. Nhiều hồ sơ chứng chỉ có chung một chứng chỉ.
16- Một hồ sơ nhân sự chỉ có một hồ sơ chuyên môn, một hồ sơ chuyên môn đó chỉ thuộc về hồ sơ nhân sự đó. Nhiều hồ sơ chuyên môn có chung một chuyên môn.
17- Một nhân viên có thể thuộc nhiều hoặc không thuộc diện chính sách. Một diện chính sách có thể có nhiều nhân viên cùng thuộc.
18- Một ngạch lương có nhiều bậc lương và hệ số tương ứng với bậc lương đó. Một hệ số tương ứng với một bậc lương và chỉ thuộc về một ngạch lương duy nhất.
19- Một nhân viên có thể kiêm nhiệm nhiều chức vụ Đảng. Một chức vụ Đảng có thể có nhiều nhân viên cùng giữ.
20- Một nhân viên có thể kiêm nhiệm nhiều chức vụ Đoàn. Một chức vụ Đoàn có thể có nhiều nhân viên cùng giữ.
21- Một hồ sơ nhân sự chỉ có một bảng thân nhân. Một bảng thân nhân đó chỉ thuộc về hồ sơ nhân sự đó. Và trong thân nhân có nhiều quan hệ. Quan hệ đó có thể thuộc nhiều bảng thân nhân khác.
22- Một hồ sơ nhân sự có một quá trình đào tạo. Quá trình đào tạo đó chỉ thuộc về hồ sơ nhân sự đó. Một quá trình đào tạo có nhiều lần đào tạo và nhiều loại hình đào tạo. Những lần đào tạo và loại hình đào tạo có thể có trong nhiều quá trình đào tạo khác.
23- Một hồ sơ nhân sự có một bảng quá trình khen thưởng. Một bảng quá trình khen thưởng chỉ thuộc về một hồ sơ nhân sự đó. Một bảng quá trình khen thưởng có nhiều quyết định khen thưởng, tương ứng với nhiều hình thức khen
thưởng. Một quyết định khen thưởng chỉ thuộc về một nhân viên. Một hình thức khen thưởng có thể có nhiều nhân viên cùng có.
24- Một nhân viên có một thành phần bản thân. Một thành phần bản thân có nhiều nhân viên cùng thuộc.
25- Một nhân viên có một thành phần gia đình. Một thành phần gia đình có nhiều nhân viên cùng thuộc.
26- Một hồ sơ nhân sự có nhiều quá trình làm việc. Một quá trình làm việc tương ứng với một đơn vị, phòng ban, chức vụ. Một đơn vị, phòng ban, chức vụ có thể thuộc nhiều quá trình làm việc.
27- Một nhân viên có thể có nhiều quyết định. Một quyết định chỉ thuộc về một nhân viên.
28- Một quyết định tương ứng với một loại quyết định. Một loại quyết định thuộc nhiều quyết định.
29- Một nhân viên có thể có nhiều quyết định thôi việc. Một quyết định thôi việc này tương ứng với một bảng danh sách thủ tục thôi việc. Một danh sách thủ tục thôi việc có nhiều thủ tục, nhiều nhóm thủ tục. Một thủ tục có thể nằm trong nhiều danh sách thủ tục thôi việc thuộc nhiều quyết định thôi việc.
4.4 Thiết kế cơ sở dữ liệu
1- Quốc gia
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaQuocGia Int Primary Mã quốc gia
2 TenQuocGia Nvarchar Not null 250 Tên quốc gia
3 TinhTrang Bit Not null Tình trạng
2- Tỉnh thành
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaTinhThanh Int Primary Mã tỉnh thành
2 TenTinhThanh Nvarchar Not null 250 Tên tỉnh
thành
3 MaQuocGia Int FK Mã quốc gia
4 TinhTrang Bit Not null Tình trạng
3- Quận huyện
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaQuanHuyen Int Primary Mã quận
huyện
2 TenQuanHuyen Nvarchar Not null 250 Tên quận
huyện
3 MaTinhThanh Int FK Mã tỉnh thành
4 TinhTrang Bit Not null Tình trạng
4- Dân tộc
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaDanToc Int Primary Mã dân tộc
2 TenDanToc Nvarchar Not null 250 Tên dân tộc
5- Tôn giáo
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaTonGiao Int Primary Mã tôn giáo
2 TenTonGiao Nvarchar Not null 250 Tên tôn giáo 6- Trình độ
1 MaTrinhDo Int Primary Mã trình độ
2 TenTrinhDo Nvarchar Not null 250 Tên trình độ
3 TinhTrang Bit Not null Tình trạng
7- Chuyên môn
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaChuyenMon Int Primary Mã chuyên
môn 2 TenChuyenMon Nvarchar Not null 250 Tên chuyên
môn
3 TinhTrang Bit Not null Tình trạng
8- Ngoại ngữ
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaNgoaiNgu Int Primary Mã ngoại ngữ
2 TenNgoaiNgu Nvarchar Not null 250 Tên ngoại ngữ
3 TinhTrang Bit Not null Tình trạng
9- Chứng chỉ khác
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaChungChiKhac Int Primary Mã chứng chỉ
khác 2 TenChungChiKhac Nvarchar Not null 250 Tên chứng chỉ
khác
3 TinhTrang Bit Not null TinhTrang
10- Đơn vị
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaDonVi Int Primary Mã đơn vị
2 TenDonVi Nvarchar Not null 500 Tên đơn vị
3 DiaChi Nvarchar 1000 Địa chỉ
4 SDT Varchar 100 Số điện thoại
5 Fax Varchar 50 Fax
6 EmailDonVi Varchar 250 Email đơn vị
7 TinhTrang Bit Not null Tình trạng
11- Phòng ban
1 MaPhongBan Int Primary Mã phòng ban 2 TenPhongBan Nvarchar Not null 500 Tên phòng ban
3 Emai Varchar 1000 Email
4 SDTPhongBan Varchar 100 Số điện thoại
phòng ban
5 TinhTrang Bit Not null Tình trạng
12-Chức vụ
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaChucVu Int Primary Mã chức vụ
2 TenChucVu Nvarchar Not null 250 Tên chức vụ
3 LinhVuc Nvachar 50 Lĩnh vực
4 TinhTrang Bit Not null Tình trạng
13-Thành phần bản thân
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaThanhPhanBanThan Int Primary Mã thành
phần bản thân 2 TenThanhPhanBanTha
n
Nvarchar Not null 250 Tên thành phần bản
thân
3 TinhTrang Bit Not null Tình trạng
14-Thành phần gia đình
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaThanhPhanGiaDinh Int Primary Mã thành
phần gia đình 2 TenThanhPhanGiaDin
h
Nvarchar Not null 250 Tên thành phần gia đình
3 TinhTrang Bit Not null Tình trạng
15- Diện chính sách
rộng
1 MaDienChinhSach Int Primary Mã diện chính sách
2 TenDienChinhSach Nvarchar Not null 250 Tên diện chính sách
3 TinhTrang Bit Not null Tình trạng
16-Ngạch
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaNgach Varchar Primary 10 Mã ngạch
2 TenNgach Nvarchar Not null 250 Tên ngạch
3 TinhTrang Bit Not null Tình trạng
17-Bậc lương
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaBac Int Primary Mã bậc
2 TenBac Nvarchar Not null 10 Tên bậc
3 MaNgach Varchar FK 10 Mã ngạch
4 HeSoLuong Varchar Not null 10 Hệ số lương
18-Loại hợp đồng
STT Tên trường Kiểu Ràng buộc Độ
rộng
Diễn giải
1 MaLoaiHopDong Int Primary Mã loại hợp đồng
2 TenLoaiHopDong Nvarchar Not null 250 Tên loại hợp đồng
3 ThoiHan Nvarchar 50 Thời hạn
4 TinhTrang Bit Not null Tình trạng
19-Ngày phép
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaNgayPhep Int Primary Mã ngày phép
2 TenNgayPhep Nvarchar Not null 50 Tên ngày phép
3 SoNgayNghi Int Not null Số ngày nghỉ
4 TinhTrang Bit Not null Tình trạng
20-Loại hình đào tạo
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaLoaiHinhDaoTao Int Primary Mã loại hình
đào tạo 2 TenLoaiHinhDaoTao Nvarchar Not null 250 Tên loại hình
đào tạo 21-Quan hệ
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaQuanHe Int Primary Mã quan hệ
2 TenQuanHe Nvarchar Not null 250 Tên quan hệ
3 TinhTrang Bit Not null Tình trạng
22- Lý do nghỉ việc
STT Tên trường Kiểu Ràng buộc Độ
rộng
Diễn giải
1 MaLyDoNghiViec Int Primary Mã lý do nghỉ việc
2 TenLyDoNghiViec Nvarchar Not null 250 Tên lý do nghỉ việc
3 TinhTrang Bit Not null Tình trạng
23-Ngân hàng
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaNganHang Int Primary Mã ngân hàng
2 TenNganHang Nvarchar Not null 250 Tên ngân hàng
3 TinhTrang Bit Not null Tình trạng
24-Loại quyết định
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaLoaiQuyetDinh Int Primary Mã loại quyết
định 2 TenLoaiQuyetDin
h
Nvarchar Not null 250 Tên loại quyết định
3 LinhVuc Nvarchar 50 Lĩnh vực
4 TinhTrang Bit Not null Tình trạng
25-Cấp bậc
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaCapBac Int Primary Mã cấp bậc
2 TenCapBac Nvarchar Not null 250 Tên cấp bậc
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaThanNhan Int Primary Mã thân nhân
2 TenThanNhan Nvarchar Not null 250 Tên thân nhân
3 GioiTinh Nvarchar Not null 5 Giới tính
4 NgaySinh Datetime Not null Ngày sinh
5 DiaChiThanNhan Nvarchar 500 Địa chỉ thân
nhân
6 SDTThanNhan Varchar 50 Số điện thoại
thân nhân
7 NgheNghiep Nvarchar 250 Nghề nghiệp
8 TinhTrang Nvarchar Not null 20 Tình trạng
9 MaQuanHe Int FK Mã quan hệ
10 MaNhanVien Int FK Mã nhân viên
27-Trình độ chuyên môn
STT Tên trường Kiểu Ràng buộc Độ rộng Diễn giải
1 MaTrinhDoChuyenMon Int Primary Mã trình độ
chuyên môn
2 MaChuyenMon Int FK Mã chuyên
môn
3 MaTrinhDo Int FK Mã trình độ
4 LoaiTotNghiep Nvarchar 100 Loại tốt
nghiệp
5 NgayCap Datetime Ngày cấp
6 NoiCap Nvarchar 500 Nơi cấp
7 MaNhanVien Int FK Mã nhân viên