Thực tế, quản lý là công việc tương đối phức tạp, tốn nhiều thời gian và nhân lực của các cơ quan, doanh nghiệp nhưng nếu có sự đầu tư một cáchkhoa học về công nghệ bằng cách xây dựng ph
Trang 1MỤC LỤC
LỜI MỞ ĐẦU 1
CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG 2
1.1 Giới thiệu Công ty TNHH Thương mại & Cung ứng Dịch vụ Vista Sóc Sơn 2
1.2 Cơ cấu tổ chức 3
1.3 Khảo sát hệ thống quản lý nhân sự của Công ty TNHH Thương mại & Cung ứng Dịch vụ Vista Sóc Sơn 4
1.4 Mục tiêu của hệ thống sẽ xây dựng 5
CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG 7
2.1 Xác định tác nhân ngoài và hồ sơ dữ liệu 7
2.2 Sơ đồ ngữ cảnh 8
2.3 Nhóm các chức năng theo mạch công việc: 8
2.4 Các biểu tượng, hình vẽ và các ký hiệu sử dụng trong phần PTTKHT 9
2.5 Mô hình xác định phạm vi hệ thống 9
2.5.1 Biểu đồ phân cấp chức năng nghiệp vụ chính 9
2.5.2 Mô tả các chức năng của hệ thống: 9
CHƯƠNG 3: CÁC MÔ HÌNH PHÂN TÍCH 12
3.1 Sơ đồ luồng dữ liệu mức đỉnh 12
3.2 Sơ đồ luồng dữ liệu mức dưới đỉnh 12
3.2.1 Sơ đồ luồng dữ liệu mức dưới đỉnh “1 Đăng nhập hệ thống” 13
3.2.2 Sơ đồ luồng dữ liệu mức dưới đỉnh “2 Quản lý hồ sơ” 14
3.2.3 Sơ đồ luồng dữ liệu mức dưới đỉnh “3 Quản lý lương” 15
3.2.4 Sơ đồ luồng dữ liệu mức dưới đỉnh “4 Thống kê – Báo cáo” 15
CHƯƠNG 4: THIẾT KẾ MÔ HÌNH LOGIC 16
4.1 Lý thuyết thiết kế cơ sở dữ liệu 16
4.2 Quá trình thiết kế cơ sở dữ liệu logic 17
4.2.1 Mô tả thực thể 17
SVTT: Trần Thanh Vân MSSV: 50810021
Trang 24.2.2 Xác định mối quan hệ giữa các thực thể 19
4.3 Sơ đồ E - R 23
4.4 Cấu trúc hệ thống chương trình 24
CHƯƠNG 5: GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH 25
5.1 Hệ quản trị cơ sở dữ liệu SQL Server 2005 25
5.2 Tìm hiểu ngôn ngữ lập trình C# 26
5.2 Tìm hiểu ngôn ngữ lập trình C# 27
5.2.1 Giới thiệu về Net Frame Work 27
5.2.2 Giới thiệu về ngôn ngữ C# 28
5.2.3 Tại sao phải sử dụng ngôn ngữ C# 29
5.2.3 Thuộc tính, phương thức và sự kiện 29
5.2.4 Môi trường phát triển tích hợp Visual studio NET 2010 30
5.2.4 Biến và hằng 31
5.2.6 Các kiểu dữ liệu 33
5.2.7 Các cấu trúc lệnh 33
CHƯƠNG 6: THIẾT KẾ VẬT LÝ 36
6.1 Cơ sở dữ liệu vật lý 36
6.1.1 Bảng Hợp đồng 36
6.1.2 Bảng Chấm công 37
6.1.3 Bảng Khen thưởng 38
6.1.4 Bảng Kỷ luật 39
6.1.5 Bảng Quá trình đào tạo 39
6.1.6 Bảng Hồ sơ nhân viên 40
6.1.7 Bảng Trình độ văn hóa 41
6.1.8 Bảng Phòng ban 41
6.1.9 Bảng Lương 42
6.1.10 Bảng Tôn giáo 43
6.1.11 Bảng ngoại ngữ 43
6.1.12 Bảng Chức vụ 43
6.1.13 Bảng Dân tộc 44
6.1.14 Bảng Phụ cấp 44
Trang 36.2 Sơ đồ liên kết các bảng 45
6.3 Thiết kế giao diện: 46
6.3.1 Chương trình chính 46
6.3.2 Giao diện quản trị hệ thống( Tạo user ) 47
6.3.3 Giao diện quản lý nhân viên (Thêm nhân viên) 48
6.3.4 Giao diện chấm công nhân viên 49
6.3.5 Giao diện tính lương nhân viên 50
6.3.6 Giao diện tìm kiếm 51
6.3.7 Giao diện thống kê – báo cáo 52
CHƯƠNG 7: CÀI ĐẶT CHƯƠNG TRÌNH 53
7.1 Yêu cầu máy tính được cài đặt: 53
7.2 Cài đặt hệ quản trị cơ sở dữ liệu Microsoft Sql Server 2005 Edition .54 KẾT LUẬN 68
TÀI LIỆU THAM KHẢO 69
SVTT: Trần Thanh Vân MSSV: 50810021
Trang 4KÝ TỰ VIẾT TẮT
TNHH: Trách nhiệm hữu hạn
GD: Giám đốc
BHXH: Bảo hiểm xã hội
BHYT: Bảo hiểm y tế
Trang 5LỜI MỞ ĐẦU
Trong những năm gần đây, khoa học công nghệ Việt Nam đã từng bướchội nhập vào dòng chảy của khoa học công nghệ tiên tiến trên thế giới Côngnghệ thông tin ở nước ta mới, song tốc độ phát triển của nó rất nhanh vàmạnh, chiếm một vị trí quan trọng trong các ngành khoa học công nghệ Mộttrong những lĩnh vực đang được ứng dụng tin học hóa rất phổ biến ở nước ta
là lĩnh vực quản lý Tin học hóa trong quản lý đã giúp cho các nhà quản lýđiều hành công việc một cách khoa học, chính xác và hiệu quả
Thực tế, quản lý là công việc tương đối phức tạp, tốn nhiều thời gian
và nhân lực của các cơ quan, doanh nghiệp nhưng nếu có sự đầu tư một cáchkhoa học về công nghệ bằng cách xây dựng phần mềm quản lý thì cơ quan,doanh nghiệp đó sẽ giảm được rất nhiều chi phí, thời gian, nhân lực
Qua quá trình tìm hiểu trên em đã quyết đinh lựa chọn đề tài “Xâydựng phần mềm quản lý nhân sự” làm đồ án tốt nghiệp
Em xin chân thành cảm ơn Th.s Vũ Thị Thương đã trực tiếp hướng dẫn
em và giúp đỡ em hoàn thành đề tài này Đồng thời em xin chân thành cảm ơncác thầy cô giáo trong khoa công nghệ thông tin trường ĐH Phương Đông vàcác bạn học đã giúp đỡ em hoàn thành nhiệm vụ của mình
Sinh viên
Trần Thanh Vân
SVTT: Trần Thanh Vân 1 MSSV: 508100212
Trang 6CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG
1.1 Giới thiệu Công ty TNHH Thương mại & Cung ứng Dịch vụ Vista Sóc Sơn.
Công ty TNHH Thương mại & Cung ứng Dịch vụ Vista Sóc Sơn Thànhlập ngày 26/3/2001, trụ sở chính: Km7, Quốc lộ 2, Khu phố chợ, Xã PhúCường, Sóc Sơn, Hà Nội Công ty TNHH Thương mại & Cung ứng Dịch vụVista Sóc Sơn là công ty chuyên cung cấp, phân phối, cho thuê thiết bị vănphòng: máy photocopy, máy in, máy fax, máy hủy tài liệu, máy chiếu, mànchiếu, thiết bị trình chiếu, thiết bị âm thanh, máy tính….của các hãng nổitiếng: Panasonic, Fuji, Canon, Hp, Optoma, Sony…
Công ty TNHH Thương mại & Cung ứng Dịch vụ Vista Sóc Sơn khôngnhững là công ty có thị trường cung ứng thiết bị văn phòng lớn nhất tronghuyện Sóc Sơn mà còn là còn là doanh nghiệp tài trợ từ thiện lớn trong huyện.Công ty đã cung cấp trang thiết bị phục vụ học tập cho 2 trường học trên địabàn huyện Bên cạnh đó, công ty ủng hộ xây dựng nhà tình nghĩa cho 2 giađình tại 2 xã nghèo Xuân Giang, Kim Lũ; tạo điều kiện cho gia đình nghèovay vốn làm ăn Hằng năm, cán bộ, viên chức trong toàn hệ thống đóng góp
04 ngày lương ủng hộ Quỹ đền ơn đáp nghĩa, Quỹ Ngày vì người nghèo, QuỹBảo trợ trẻ em huyện Sóc Sơn
Với vị thế là công ty thương mại lớn trong huyện, công ty đang chútrọng đầu tư đổi mới và ứng dụng công nghệ vào phục vụ cho công tác quảntrị kinh doanh, nhân sự và phát triển dịch vụ công ty tiên tiến hơn để giữ vững
là doanh nghiệp lớn trong huyện nhà
Trang 71.2 Cơ cấu tổ chức
Về cơ cấu tổ chức quản lý, đứng đầu công ty là giám đốc - người trựctiếp điều hành hoạt động của công ty Giúp việc giám đốc có hai phó giámđốc và các phòng nghiệp vụ chuyên môn
Cơ cấu của các phòng chuyên môn nghiệp vụ tại công ty gồm:
SVTT: Trần Thanh Vân 3 MSSV: 508100212
Trang 8Sơ đồ hoạt động của công ty:
1.3 Khảo sát hệ thống quản lý nhân sự của Công ty TNHH Thương mại
& Cung ứng Dịch vụ Vista Sóc Sơn.
Do công ty chưa ứng dụng công nghệ thông tin vào quá trình quản lýnên mọi thông tin nhân viên và tính lương đều thực hiện trên giấy tờ Khinhân viên vào làm chính thức trong công ty thì hồ sơ nhân viên sẽ được lưulại để quản lý Đó là thông tin về lý lịch cá nhân, quá trình công tác, các mộiquan hệ… Trong quá trình làm việc nhân viên có thể nghỉ việc,thay đổi chức
vụ, khi đó công ty cần tới các cuốn sổ dày để ghi lại những thông tin thay đổicủa nhân viên trong quá trình công tác tại công ty Mỗi ngày nhân viên đi làmđều được đánh dấu vào một tờ thẻ công trong ngày, tổng hợp thành một bảngcông theo từng tháng, từ đó công ty lập ra bảng lương thủ công bằng tay
Giám Đốc
Các phó GĐ
Các phòngNghiệp vụ
Kế toán –
tài chính
Hành chính
Chăm sóc khách hàng
Kỹ thuật nghiệp vụ
Trang 9Việc quản lý nhân sự của công ty do phòng nhân sự quản lý, tất cả côngviệc trong công ty đều xử lý thủ công trên giấy tờ Hình thức làm việc này cónhững đặc trưng:
- Hình thức này đã quen thuộc với người quản lý
- Không yêu cầu cao trình độ của người quản lý nhân viên và ngườichấm công
Tuy nhiên nó có những nhược điểm:
- Thứ nhất, lãng phí về tiền của vì số lượng sổ sách, giấy tờ mỗi ngàymột tăng thêm, khiến có thêm một số chi phí phát sinh
- Thứ hai, tất cả thông tin trong quá trình quản lý được lưu trên giấy tờnên khó tránh khỏi mất mát, khiến quá trình tìm kiếm gặp nhiều khó khăn
- Thứ ba, mất thời gian và sai xót bởi việc chấm công và tính lương cóthể gặp nhiều lỗi phát sinh, khi thực hiện tính toán thủ công có thể tính saihoặc chấm công thiếu…
Từ những nhược điểm nêu trên có thể nhận thấy khi công ty ngày càngphát triển sẽ kéo theo số lượng nhân sự của công ty cũng tăng gây khó khăntrong quản lý vì vậy, việc áp dụng công nghệ thông tin để xây dựng hệ thốngquản lý mới là điều cần thiết nhằm khắc phục những nhược điểm của hìnhthức làm việc cũ
1.4 Mục tiêu của hệ thống sẽ xây dựng
Hệ thống cần xây dựng phải đảm bảo dễ dàng quản lý nhân viên và tínhlương, xử lý nhanh công việc quản lý, cập nhật thông tin kịp thời,dễ dàng tìmkiếm thông tin và tính lương chính xác, nhanh chóng
- Cho phép cập nhật, sửa, xóa thông tin nhân sự vào hệ thống từ bànphím máy tính
- Chương trình tự động tổng hợp, tìm kết quả theo đúng yêu cầu
- Có hình thức phù hợp để bảo mật thông tin và phân quyền người dùng
SVTT: Trần Thanh Vân 5 MSSV: 508100212
Trang 10- Chương trình có giao diện thân thiện, gần gũi với nhân viên quản lý.
Chương trình dễ cài đặt và chạy tốt cho máy PC đang có các phần mềmứng dụng phổ biến Có thể nâng cấp để phù hợp với sự phát triền của thiết bịphần cứng và các phần mềm ứng dụng trong tương lai
Như đã nói ở trên, công ty sẽ cần đến một chương trình quản lý nhân sự,
cụ thể chương trình đó sẽ bao gồm các chức năng sau:
a Chức năng quản lý hồ sơ:
Quản lý các thông tin về hồ sơ lý lịch như mã số nhân viên, ngày sinh, giớitính, điện thoại, nơi sinh, thường trú, chức vụ…Quản lý chi tiết thông tin về quan
hệ gia đình, trình độ chuyên môn, trình độ ngoại ngữ, quá trình công tác Theo dõiquá trình khen thưởng kỷ luật, quá trình diễn biến lương của nhân viên
b Quản lý lương
Tính lương cho nhân viên, cập nhật ngày công thực tế làm việc Tính toán
và phân bổ các khoản lương, thưởng theo hệ số hưởng lương
Các khoản thưởng, phần trích nộp thuế thu nhập cá nhân, nộp bảo hiểm xãhội
Lương cơ bản = 1.050.000 nghìn đồng
Lương = số ngày công * (mức lương cơ bản / 26) * bậc lương
Lương thực lĩnh = Lương + thưởng + phụ cấp – các loại bảo hiểm Trong đó:
Thưởng do công ty trích ra từ quỹ để thưởng động viên những nhân viên cóthành tích tốt, thưởng sẽ do người quản lý nhập hàng tháng cho từng nhân viên
Các khoản khấu trừ =BHXH + BHYT + các khoản khấu trừ khác
BHXH = (mức lương cơ bản * bậc lương)*5%
BHYT = (mức lương cơ bản * bậc lương)*1%
c Thống kê - Báo cáo
Trang 11Thống kê - báo cáo chi tiết về danh sách nhân viên, khen thưởng, kỷ luật,chấm công, chi lương.
SVTT: Trần Thanh Vân 7 MSSV: 508100212
Trang 12CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG2.1 Xác định tác nhân ngoài và hồ sơ dữ liệu.
Danh từ Xác định tác nhân ngoài và hồ sơ dữ liệu
Quản lý hệ thống Người dùng hệ thống
Hồ sơ nhân viên Hồ sơ dữ liệu
Khen thưởng –kỷ luật Hồ sơ dữ liệu
Quá trình công tác Hồ sơ dữ liệu
Hợp đồng lao động Hồ sơ dữ liệu
Trang 132.2 Sơ đồ ngữ cảnh
2.3 Nhóm các chức năng theo mạch công việc:
Các chức năng Gộp các chức năng Gộp các chức
Ban giám đốc
Hồ sơ nhân viên
Tiền lương
Danh sách nhân viên
Khen thưởng kỷ luật
Bảng lương
Ký Hợp đồng
Quyết định Thông tin gia đình
Trang 142.4 Các biểu tượng, hình vẽ và các ký hiệu sử dụng trong phần PTTKHT
2.5.1 Biểu đồ phân cấp chức năng nghiệp vụ chính
2.5.2 Mô tả các chức năng của hệ thống:
Hệ thống quản lý nhân sự là hệ thống quản lý thông tin nhân viên từ khiđăng ký vào làm việc đến khi được tuyển dụng vào làm nhân viên chính thứccủa công ty Hệ thống bao gồm các chức năng sau:
Tên chức năng
Nhãn
Tác nhân ngoài Kho DL
Quản
lý hồ sơ
Quản
lý lương
QUẢN LÝ NHÂN SỰ
Quản
lý danh mục
Thống
kê báo cáo
Trang 151.1 Đăng nhập hệ thống
Hệ thống yêu cầu phải đăng nhập hệ thống trước khi quản trị nhằmquản lý và phân cấp quyền sử dụng các chức năng quản lý tương ứng vớiquyền hạn của người đăng nhập
Ở đây, người quản trị có thể thay đổi mật khẩu của chương trình đểđảm bảo tính bảo mật của chương trình
Sơ đồ đăng nhập hệ thống
2.1 Hồ sơ nhân viên :
Khi nhân viên được tuyển chọn vào công ty, thì quản lý tiến hành nhậpthông tin về nhân viên bao gồm: Mã nhân viên, họ tên nhân viên, ngày sinh,nơi sinh, giới tính, địa chỉ, điện thoại, chỗ ở hiện nay…
Khi muốn chỉnh sửa hồ sơ nhân viên: hệ thống hiển thị danh sách cácnhân viên của công ty theo phòng ban để dễ theo dõi
Người dùng tiến hành cập nhật thông tin về nhân viên bao gồm: chọn tênnhân viên cần chỉnh sửa, hệ thống sẽ hiển thị các thông tin chi tiết về nhân viên
Quản trị người dùng
Trang 16- Lưu trữ, sửa, xóa hợp đồng khi người lao động nghỉ việc, tạm hoãnhợp đồng.
2.3 Quá trình đào tạo :
Lập kế hoạch và theo dõi thực hiện kế hoach đào tạo cho đội ngũ cán bộnhân viên trong công ty
2.4 Trình độ học vấn
Lưu trữ trình độ học vấn của từng nhân viên, cập nhật khi có thay đổi mới
2.5 Khen thưởng
Cập nhật khen thưởng của nhân viên, lý do được khen thưởng và hìnhthức khen thưởng (thưởng tiền) cho công nhân viên trong ngân hàng để độngviên khích lệ tinh thần làm viêc
2.6 Kỷ luật
Khi nhân viên bị kỷ luật thì hệ thống sẽ cập nhật và lập danh sách nhân viên
bị kỷ luật với lý do và hình thức kỷ luật tùy vào việc sai phạm của nhân viên
3.1 Chấm công
Chi tiết chấm công cho nhân viên từng phòng ban theo tổng số ngàycông của tháng trong năm để tiện trong việc chi trả lương của nhân viên dựavào bảng chấm công
3.2 Tính lương
Các thông số đầu vào cho các công thức tính lương như: mức lương tối thiểutheo thang bảng lương của nhà nước, các hệ số điều chỉnh lương theo quy định củanhà nước… sẽ quản lý tập trung thống nhất Dễ dàng thay đổi, điều chỉnh phù hợpvới chính sách quản lý và trả lương của công ty theo từng thời kỳ
3.3 Phụ cấp
Thông tin phụ cấp của nhân viên.gồm có phụ cấp trách nhiệm, phụ cấp đilại, phụ cấp ăn trưa…
Trang 17CHƯƠNG 3: CÁC MÔ HÌNH PHÂN TÍCH 3.1 Sơ đồ luồng dữ liệu mức đỉnh
3.2 Sơ đồ luồng dữ liệu mức dưới đỉnh
Biểu đồ luồng dữ liệu mức dưới đỉnh phân rã từ biểu đồ luồng dữ liệumức đỉnh Các chức năng được định nghĩa riêng từng biểu đồ hoặc ghép lạithành một biểu đồ trong từng trường hợp biểu đồ đơn giản Các thành phầncủa biểu đồ được phát triển như sau:
- Về chức năng: Phân rã chức năng cấp trên thành các chức năng cấpdưới thấp hơn
Thông tin cá nhân
Thông tin nhân viên
Hồ sơ nhân viên
3 Quản lý lương
Trang 18- Luồng dữ liệu:
+ Vào/ Ra mức trên thì lặp lại (bảo toàn) ở mức dưới (phân rã)
+ Thêm luồng nội bộ
- Kho dữ liệu: dần dần xuất hiện theo nhu cầu nội bộ
- Tác nhân ngoài: Xuất hiện đầy đủ ở mức khung cảnh, mức dướikhông cần thêm
3.2.1 Sơ đồ luồng dữ liệu mức dưới đỉnh “1 Đăng nhập hệ thống”
Nhân viên phòng nhân sự
Đăng nhập
Hệ thống Đăng nhập
Tìm từ CSDL
Quản lý nhân sự
Kết quả đăng nhập
Phân quyền
Hồ sơ nhân viên phòng nhân sự
Sơ đồ “Đăng nhập hệ thống”
Trang 193.2.2 Sơ đồ luồng dữ liệu mức dưới đỉnh “2 Quản lý hồ sơ”
SVTT: Trần Thanh Vân 15 MSSV: 508100212
nhân viên Thông tin cá nhân
Sửa thông tin
Trình độ
Văn hóa
2.2 Hợp đồng
2.6 Kỷ luật 2.5 Khen
thưởng
Phòng ban
Danh Sách khen thưởng
Danh Sách Kỷ luật
Kỷ luật
Hợ p đồng
2.3 Quá trình đào tạo
Hồ sơ nhân sự
Quá trình đào tạo
Thông tin Nhân viên
Thông tin Nhân viên
Khen thưởng
Trình độ văn hóa
Sơ đồ mức dưới đỉnh “Quản lý hồ sơ”
Trang 203.2.3 Sơ đồ luồng dữ liệu mức dưới đỉnh “3 Quản lý lương”
3.2.4 Sơ đồ luồng dữ liệu mức dưới đỉnh “4 Thống kê – Báo cáo”
3.1 Chấm công
Bảng chấm công Chấm công
3.3 Phụ cấp
Thông tin phụ cấp
Phụ cấp Nhân viên
Bảng lương
Bảng lương Lương
Phòng ban Bảng lương
3.2 Tính lương
Sơ đồ mức dưới đỉnh “Quản lý lương”
Phòng Ban
Hồ sơ kỷ luật
thưởng
In báo cáo
Thống kê – Báo cáo
Hồ sơ nhân sự Quản lý nhân sự
Ban Giám Đốc
Trang 21CHƯƠNG 4: THIẾT KẾ MÔ HÌNH LOGIC
4.1 Lý thuyết thiết kế cơ sở dữ liệu
Thực thể là khái niệm mô tả một lớp đối tượng có đặc trưng chung mà
một tổ chức hệ thống quan tâm Thực thể phải tồn tại, cần được lựa chọn cólợi cho quản lý và phải phân biệt được các thực thể có thể là đối tượng cụ thểhay trừu tượng
Bản thể là một đối tượng cụ thể của các lớp đối tượng đó
Có thể phân biệt thực thể và bản thể qua bảng sau:
Thuộc tính là đặc trưng chung, vốn có của lớp đối tượng mà ta quantâm Nó là một giá trị dung để mô tả đặc trưng nào đó của thực thể
- Giá trị thuộc miền (gồm kiểu dữ liệu, giới hạn, cách biểu hiện)
- Bao gồm tên gọi, định danh, mô tả
Thuộc tính tên gọi có giá trị là tên của các bản thể, dùng để phân biệt
bản thể
- Cho phép nhận biết sự tồn tại của một thực thể
- Thường có chữ “tên”
Thuộc tính định danh có đặc trưng:
- Giá trị của nó cho phép phân biệt các bản thể khác nhau
- Gồm một hay nhiều thuộc tính của bản thể
thưởng
In báo cáo
Thống kê – Báo cáo
Hồ sơ nhân sự
Quản lý nhân sự
Trang 22- Thường viết với các yếu tiền tố ID, #, SH, mã…nếu không thì đượcđánh dấu, ví dụ như gạch chân.
Thuộc tính mô tả là thuộc tính, không phải tên gọi hay định danh.
Thuộc tính khóa là thuộc tính được chọn làm khóa chính.
Thuộc tính đơn là thuộc tính mà giá trị của nó không thể phân tách
4.2 Quá trình thiết kế cơ sở dữ liệu logic
Phương pháp mô hình là một trong những phương pháp dùng để thiết kế
cơ sở dữ liệu logic Để có được một cơ sở dữ liệu tốt ta có thể thực hiện lầnlượt theo các bước sau:
- Xác định các thực thể và các thuộc tính
- Xác định mối quan hệ giữa các thực thể
- Xây dựng mô hình khái niệm dữ liệu
4.2.1 Mô tả thực thể
Thực thể NhanVien thông tin chi tiết của nhân viên gồm các thuộc
tính: mỗi nhân viên có một mã số duy nhất (Ma_nhan_vien), tên nhân viên(Ten_nhanvien), ảnh (Images), giới tinh (Gioi_tinh), ngày sinh (Ngay_sinh),
mã dân tộc (Ma_dan_toc), một mã phòng (Ma_phong_ban), mã tôn giáo(Ma_ton_giáo), số điện thoại của nhân viên (Dien_thoai), số CMND của nhânviên (So_CMND), nơi cấp chứng minh nhân dân (Noi_cap), ngày cấp(Ngay_cap), mã ngoại ngữ(MaNN), mã trình độ văn hóa (Ma_trinh_do), quê
Trang 23quán (Quequan), thường trú (HKthuongtru), ngày vào làm (Ngayvaolam),ngày thôi làm (Ngaythoilam),
Thực thể DanToc mô tả thông tin dân tộc của nhân viên Mỗi dân tộc
có một mã (Madantoc), tên dân tộc (Tendantoc)
Thực thể TonGiao mô tả thông tin tôn giáo của nhân viên Mỗi tôn
giáo có một mã (Matongiao), tên tôn giáo (Tentongiáo)
Thực thể ChucVu gồm mã chức vụ (Machucvu), tên chức
Thực thể ChamCong gồm: mã chấm công (Machamcong), mã nhân
viên(Manhanvien), mã phòng ban (Maphongban), tháng năm chấm công(Thangnamchamcong), tổng ngày công tháng (Tongngaycongthang), tổngngày làm (Tongngaylam), tổng ngày nghỉ (Tongngaynghi)
Thực thể KhenThuong gồm: mã khen thưởng (Makhenthuong), mã
nhân viên (Manhanvien), ngày khen thưởng (Ngaykhenthuong), hình thứckhen thưởng (Hinhthuckhenthuong), Tiền thưởng (Tienthuong)
Thực thể KyLuat gồm: mã kỷ luật (Makyluat), mã nhân viên
(Manhanvien), ngày kỷ luật (Ngaykyluat), hình thức (Hinhthuc), mức độ(Mucdo)
Thực thể BangLuong mô tả diễn biến lương của nhân viên: mã bảng
lương (Ma_bang_luong), mã nhân viên (Ma_nhan_vien), ngày lĩnh lương(Ngaylinhluong), mã chấm công (Machamcong), mã phụ cấp (Maphucap),
SVTT: Trần Thanh Vân 19 MSSV: 508100212
Trang 24lương (Luong), hệ số lương (Hesoluong), thưởng (Thuong), bảo hiểm y tế(Baohiemyte), bảo hiểm xã hội (Baohiemxahoi), thuế thu nhập cá nhân(Thuethunhapcanhan), tổng lương (Tongluong).
Thực thể QuaTrinhDaoTao: mã nhân viên (Manhanvien), học vấn
(Hocvan), chuyên môn (Chuyenmon), hệ đào tạo (Hedaotao)
Thực thể HopDong mô tả hợp đồng giữa nhân viên với công ty: Mã
nhân viên (Manhanvien), loại hợp đồng (Loaihopdong), ngày bắt đầu(Ngaybatdau), ngày ký hợp đồng (Ngayky), mô tả nội dung (Noidung)
Thực thể PhuCap gồm: mã phụ cấp (Maphucap), mã nhân viên
(Manhanvien), loại phụ cấp (Loaiphucap), Tên phụ cấp (Tenphucap)
4.2.2 Xác định mối quan hệ giữa các thực thể.
a Quan hệ giữa thực thể nhân viên và phòng ban:
Trong một phòng ban có nhiều nhân viên, và một nhân viên chỉ có thểlàm trong một phòng ban nên liên kết phòng ban – nhân viên là liên kết mộtnhiều
b Quan hệ giữa nhân viên và chức vụ
Giữa nhân viên và chức vụ hình thành mối liên kết một – nhiều vì mộtchức vụ có thể một hoặc một nhiều nhân viên, nhưng một nhân viên chỉ có thểmang một chức vụ
Trang 25Quan hệ giữa nhân viên và dân tộc
Mối quan hệ 1- nhiều: một nhân viên chỉ thuộc một dân tộc,nhưng mộtdân tộc có thể có nhiều nhân viên
c Quan hệ giữa nhân viên và tôn giáo
Mối quan hệ 1- nhiều: một nhân viên chỉ thuộc 1 tôn giáo, một tôn giáo
có thể có nhiều nhân viên thuộc tôn giáo đó
d Quan hệ giữa nhân viên và quê quán
Mối quan hệ 1 – nhiều: một nhân viên chỉ có một một nơi sinh, nhưngnơi sinh đó có thể có nhiều nhân viên được sinh ra ở đó
f Quan hệ giữa nhân viên và khen thưởng
Mối quan hệ 1 – nhiều: một nhân viên trong quá trình làm việc tại công
ty có thể không có (hoặc có nhiều) thành tích
SVTT: Trần Thanh Vân 21 MSSV: 508100212
Dân tộc
C
Khen thưởng
Trang 26g Quan hệ nhân viên với kỷ luật
Mối quan hệ 1 – nhiều: nhân viên cũng có thể không có (hoặc cónhiều)sai phạm nên không (hoặc có nhiều lần được khen thưởng kỷ luật
h Quan hệ nhân viên với bảng lương
Mỗi bảng lương chi tiết chỉ mang thông tin của một nhân viên, nhưngmột nhân viên có thể có nhiều bảng lương chi tiết Vậy đây là quan hệ 1 –nhiều
i Quan hệ nhân viên với chấm công
Trong bảng chấm công được chấm cho nhiều nhân viên, mỗi nhân viên
có nhiều bảng chấm công Quan hệ nhiều – nhiều
Quan hệ nhân viên và chấm công là quan hệ nhiều – nhiều nên ta táchthành Nhân viên – Chấm công_NV – Chấm công, Chấm công_NV
Trang 27j Quan hệ nhân viên với ngoại ngữ
Mối quan hệ nhiều- nhiều: một nhân viên có thể biết nhiều ngoại ngữkhác nhau, ngoại ngữ đó có thể có nhiều nhân viên biết
k Quan hệ nhân viên với trình độ văn hóa
Mối quan hệ nhiều – nhiều: một nhân viên có nhiều trình độ
Sau khi biến đổi các mối quan hệ 1 -1 và nhiều – nhiều, chuẩn hóa cơ
sở dữ liệu đến 3NF ta có sơ đồ E – R như sau:
SVTT: Trần Thanh Vân 23 MSSV: 508100212
Nhân viên
Trang 28Luong Hesoluong Thuong Baohiemxahoi Baohiemyte Thuethunhapcanhan Tongluong
Ho so nhan vien
Manhanvien
Tennhanvien Ngaysinh Gioitinh Anh Quequan Noisinh Machucvu Maphongban HK_thuongtru SoCMND Ngaycap Noicap Mangoaingu Matongiao Madantoc Ngayvaolam Ngaythoilam
Khen thuong
Makhenthuong
Manhanvien Ngaykyluat Hinhthuc lydo
Trang 294.4 Cấu trúc hệ thống chương trình
1.1 Hồ sơ
NV
2.2 Tính lương
1.2 Hợp
Đồng
5.3 In KT-KL
5.2 In bảng lương
5.1 In danh sách NV
2.1 Chấm công
4.2 Chức vụ
4.1 Phòng ban
4.3 Tôn giáo
4.4 Dân tộc
4.5 Ngoại ngữ
3 Tìm kiếm
3.1 Theo tên NV
3.2 Theo chức vụ
24
Trang 30CHƯƠNG 5: GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH
5.1 Hệ quản trị cơ sở dữ liệu SQL Server 2005
Năm 1989, Microsoft hợp tác với công ty Sybase và Ashton-Tate để cho ra mộtsản phẩm thuộc loại hệ quản trị cơ sở dữ liệu có tên là SQL Server 1.0 for OS/2 Sau
đó một thời gian, Sybase SQL Server 3.0 được phát triển để thực thi trên môi trường hệđiều hành UNIX và VMS Microsoft SQL Server 4.2 được giới thiệu năm 1992 Vàsau đó, Microsoft SQL Server 4.21 for Windows NT được ra đời cùng thời gian vớiWindows NT 3.1 Microsoft SQL Server 6.0 là phiên bản đầu tiên mà Microsoft pháttriển độc lập không có sự hợp tác với các hãng khác
Các phiên bản SQL Server tiếp theo là: 6.5, 7.0, 2000, 2005 và mới nhất
là SQL Server 2008
a Các tính năng mới của SQL Server 2005 so với SQL Server 2000:
- Nâng cao tính bảo mật
- Mở rộng T_SQL
- Tăng cường hỗ trợ người phát triển ứng dụng
- Tăng cường khả năng quản trị cơ sở dữ liệu
- Tăng cường khai thác thông tin
- Nâng cao độ sẵn sàng và mở rộng của cơ sở dữ liệu
b Các ấn bản của SQL Server 2005:
- Microsoft SQL Server 2005 Enterprise Edition
- Microsoft SQL Server 2005 Standard Edition
- Microsoft SQL Server 2005 Workgroup Edition
- Microsoft SQL Server 2005 Developer Edition
- Microsoft SQL Server 2005 Express Edition
c Microsoft Sql server 2005 Express Edition
Trang 31Giao diện làm việc với cơ sở dữ liệu Sql server 2005
Trang 32
- Một tập các ngôn ngữ, bao gồm C# Net 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ụngweb, các dịch vụ web và các ứng dụng Windows
- 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 Net như SQL Server Exchange, BizTalk, … chúngcung cấp các chức năng cho việc lưu trữ dữ liệu quan hệ, thư điện tử, thươngmại điện tử B2B, …
b NET Framework
.NET Framework hỗ trợ tích hợp nhiều ngôn ngữ, tức là ta có thể kế thừacác lớp, bắt các biệt lệ, đa hình thông qua nhiều ngôn ngữ .NET Frameworkthực hiện được việc này nhờ vào đặc tả Common Type System - CTS (hệthống kiểu chung) mà tất cả các thành phần Net đều tuân theo, ví dụ, mọi thứtrong Net đều là hướng đối tượng, thừa kế từ lớp gốc “System.Object”.Ngoài ra Net còn bao gồm Common Language Specification - CLS (đặc tảngôn ngữ chung) Nó cung cấp các quy tắc cơ bản mà ngôn ngữ muốn tíchhợp phải thỏa mãn CLS chỉ ra các yêu cầu tối thiểu của ngôn ngữ hỗ trợ Net.Trình biên dịch tuân theo CLS sẽ tạo các đối tượng có thể tương hợp với các
Trang 33đối tượng khác Bộ thư viện lớp của khung ứng dụng (Framework ClassLibrary - FCL) có thể được dùngbởi bất kỳ ngôn ngữ nào tuân theoCLS .NET Framework nằm ở tầng trên của hệ điều hành (bất kỳ hệ điều hànhnà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• CommonLanguage Runtime - CLR, nền tảng hướng đối tượng cho phát triểnứng dụngWindows và web mà các ngôn ngữ có thể chia sẻ sử dụng
Bộ thư viện Framework Class Library - FCL
5.2.2 Giới thiệu về ngôn ngữ C#
Ngôn ngữ C# có khoảng 80 từ khóa và hơn mười mấy kiểu dữ liệu đượcxây dựng sẵn Ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệmlập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phầncomponent, lập trình hướng đối tượng Những tính chất đó hiện diện trongmột ngôn ngữ lập trình hiện đại
Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong đóngười dẫn đầu là Andres Hejlsberg và Scrott Wiltamull Cả hai người này đều
là những người lập trình nổi tiếng, trong đó AndresHejlsberg đượ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ủaviệc xây dựng môi trường phát triển tích hợp (IDE) cho lập trình Client/Server
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp đều được tìmthấy trong phần khai báo của nó Định nghĩa một lớp trong C# không đòi hỏiphải chia ra tập tin Header và tập tin nguồn giống như trong C++ Hơn thếnữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh
tự động các document cho lớp
Trang 34C# hỗ trợ giao diện WindownFromAppication, nó được xem như mộtcam kết với một lớp cho những dịch vụ mà giao diện quy định Trong ngônngữ 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++ Khi một lớp thực thi một giao diện thì
nó sẽ cung cấp chức năng thực thi giao diện
Trong ngôn ngữ C#, những cấu trúc cũng được hỗ trợ, nhưng khái niệm
về ngữ nghĩa của nó có thể thay đổi khác với C++ Trong C#, một cấu trúcđược giới hạn, là kiểu dữ liệu nhỏ gọn và khi tạo thể hiện thì nó yêu cầu íthơn về hệ điều hành và bộ nhớ so với một lớp Một cấu trúc thì không thể kếthừa từ một lớp hay được kế thừa Nhưng một cấu trúc có thể thực thi mộtgiao diện
5.2.3 Tại sao phải sử dụng ngôn ngữ C#
Nhiều người tin rằng không cần thiết có một ngôn ngữ lập trình mới.Java, C++, Microsoft Visual Basic, và những ngôn ngữ khác được nghĩ rằng
đã cung cấp tất cả chức năng cần thiết
Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nóđược tạo từ nền tảng phát triển hơn Microsoft đưa ra một số mục đích khi xâydựng ngôn ngữ này Những mục đích được tóm tắt như sau:
- C# là ngôn ngữ hiện đại
- C# là ngôn ngữ hướng đối tượng
- C# là ngôn ngữ mạnh mẽ và mềm dẻo
- C# là ngôn ngữ hướng module
5.2.3 Thuộc tính, phương thức và sự kiện
Các hành vi của một lớp được gọi là các phương thức thành viên (gọi
tắt là phương thức) của lớp đó Một phương thức là một hàm (phương thức
thành viên còn gọi là hàm thành viên) Các phương thức định nghĩa những gì
mà một lớp có thể làm Cách khai báo, nội dung và cách sử dụng các phương
Trang 35thức giống hoàn toàn với Java và C++ Trong ví dụ trên có một phương thức
đặc biệt là phương thức Main() (như hàm main() trong C++) là phương thức
bắt đầu của một ứng dụng C# Mỗi một chương trình (assembly) có thể có
nhiều phương thức Main nhưng khi đó phải chỉ định phương thức Main() nào
sẽ bắt đầu chương trình
5.2.4 Môi trường phát triển tích hợp Visual studio NET 2010
Thiết kế giao diện trước khi viết chương trình: Bên cạnh trình soạn
mã, NET còn cung cấp một bộ các công cụ kéo thả để làm việctrong môi
trường phát triển tích hợp IDE ( Intergrate Development Enviroment ), IDE
cho phép kéo thả rồi tự động phát sinh mã tương ứng.Ta sẽ tạo lại ứng dụngtrên bằng cách dùng bộ công cụ trong Visual Studio, ta mở Visual Studio vàchọn ‘New Project’ Trong cửa sổ ‘New Project’, chọn loại dự án là VisualC# và kiểu ứng dụng là ‘Windows Applications’ và đặt tên cho ứng dụng(Quan_ly_nhan_su)
Trang 36Visual studio NET sẽ tạo ra một ứng dụng windows mới và đặt chúngvào IDE như hình dưới:
5.2.4 Biến và hằng
a Biến
Biến là đại diện lưu trữ dữ liệu Mỗi biến thuộc về một kiểu dữ liệu.Trong C#, trước khi dùng một biến thì biến đó phải được khai báo nếu khôngtrình biên dịch sẽ báo lỗi khi biên dịch Ta có thể khai báo biến trước, sau đókhởi tạo và sử dụng; hay khai báo biến và khởi gán trong lúc khai báo
int x; // Khai báo biến trước
x = 5; // Sau đó khởi gán giá trị và sử dụng
Trang 37biến và có thêm từ khóa const ở trước Hằng một khi khởi động song không
thể thay đổi được nữa
Const int hang_so = 100;