Tải bản đầy đủ (.doc) (82 trang)

Báo cáo thực tập khảo sát và xây dựng phần mềm quản lý nhân sự

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.72 MB, 82 trang )

CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG
1.1Hiện trạng tổ chức
1.1.1 Sơ lược về sự hình thành của Unilever
Vào khoảng những năm 1890,William Lever – một công dân Anh, người sáng lập ra
Unilever, chính là người đầu tiên tạo dựng nên ngành công nghiệp sản xuất xà phòng
vào cuối thế kỷ XIX. Thời bấy giờ, loại xà phòng của Lever là Lever’s Pure Honey (mật
ong nguyên chất của Lever) được coi là sản phẩm bán chạy nhất. Sau một thời gian,
Lever lại cho tung ra sản phẩm xà phòng chất lượng cao với tên gọi Sunlight (ánh sáng
mặt trời). Nhờ vào chiến dịch tiếp thị thành công đã tạo cơ hội cho Lever bứt phá hơn
nữa. Năm 1890, Lever mở rộng quy mô sản xuất kinh doanh của mình ra khỏi biên giới
nước Anh. Ngoài nhà máy tại Mỹ, Lever còn “bành trướng” sang tận Úc, Canada, Đức
và Thụy Sĩ.
Cuộc sáp nhập thế kỷ
Cuộc chiến tranh thế giới thứ nhất đã củng cố thêm vị trí của Unilever trên thị trường nội
địa cũng như quốc tế. Lever mở rộng mặt hàng kinh doanh của mình sang lĩnh vực sản
xuất bơ thực vật (margarin). Tháng Giêng 1930, sự hợp nhất giữa Margarine Union và
Lever Brothers được thực hiện. Một liên minh mới Anh-Hà Lan có tên là Unilever đã ra
đời. Để tránh hệ thống đánh thuế kép, liên minh này quyết định tách thành hai công ty:
Unilever PLC có trụ sở tại Anh và Unilever NV đóng trụ sở tại Hà Lan. Và dù hai công
ty này có cơ cấu hoạt động gần như độc lập, song Unilever vẫn như một thục thể thống
nhất.
Unilever lần lượt sỡ hữu những tên tuổi lớn trên thế giới như Lipton's (Mỹ và Canada),
Brooke Bond (Anh), Pepsodent (Mỹ), Bachelors (Anh), Chesebrough-Pond's (Mỹ)…
Ngoài mặt hàng chủ yếu buổi ban đầu là xà phòng, Unilever đã mở rộng nhiều chủng
loại sản phẩm như trà, kem, dầu gội đầu, kem đánh răng, nước giải khát, phụ gia thực
phẩm…với các nhãn hiệu được “cả thế giới tin dùng” như Lipton, Hellman’s, Ragu,
Rama, Magnum, Bertolli, Knorr, Bird’Eyes, Slim-Fast, Dove, Pond, Signal, Close-up,
Surf và Omo. Và đó cũng chỉ là một con số nhỏ trong tổng số các nhãn hiệu của tập
đoàn.
7
Nếu như vào thập niên 30, 90% lợi nhuận của Unilever có được từ kinh doanh xà phòng


và dầu ăn thì vào đầu thập niên 80, con số này không nhiều hơn 40% vì hãng đã tăng
cường sản xuất nhiều chủng loại sản phẩm khác như thực phẩm đông lạnh, phụ gia thực
phẩm, kem, trà và các loại mỹ phẩm, đồ vệ sinh gia đình.
Bằng tầm nhìn, khả năng chèo lái con tàu doanh nghiệp trước sóng to gió cả trên thương
trường, bằng việc tổ chức các khóa đào tạo, các chương trình hỗ trợ nhân viên, các nhà
quản lý của Unilever đã mang lại sự thành công vượt ngoài sự mong đợi cho tập đoàn
này
1.1.2 Unilever Việt Nam:
Công ty liên doanh Unilever Việt Nam vừa công bố đã chính thức được cấp giấy chứng
nhận chuyển đổi thành công ty 100% vốn nước ngoài sau khi mua lại cổ phần của đối
tác trong liên doanh là Tổng công ty Hóa chất Việt Nam (Vinachem). Công ty mới có
tên gọi là Công ty TNHH Quốc tế Unilever Việt Nam (Unilever Vietnam International
Company Limited, gọi tắt là Unilever Việt Nam) và hiện nay chưa có sự thay đổi về
vốn.Unilever là một trong những tập đoàn đa quốc gia cung ứng hàng tiêu dùng hàng
đầu thế giới với các ngành hàng thực phẩm và sản phẩm chăm sóc vệ sinh cá nhân và gia
đình. Tập đoàn Unilever bắt đầu nghiên cứu thị trường Việt Nam từ 1988 và chính thức
có mặt tại Việt Nam từ năm 1995, tới nay công ty đã đầu tư hơn 120 triệu đô la Mỹ và
đã trở thành một trong các nhà đầu tư thành công nhất ở Việt Nam. Những năm qua
doanh nghiệp này luôn đạt tốc độ tăng trưởng bình quân 2 con số mỗi năm và đạt tổng
doanh thu gần bằng 1% GDP của Việt nam năm 2009. Doanh thu trong năm 2009 là 500
triệu Euro. Nhiều nhãn hàng của Unilever đã trở nên quen thuộc với người dân Việt
Nam như: Omo, Sunlight, Dove, Sunsilk, Clear, Lux, Close-up, Lipton, Viso, Sunsilk,
P/S and Knorr mỗi ngày trung bình có tới gần 5 triệu sản phẩm của công ty được tiêu
thụ. Với tiêu chí tiếp thêm sức sống cho người dân Việt Nam thông qua những sản phẩm
chất lượng quốc tế, giá cả hợp lý đảm bảo sức khỏe, vệ sinh và dinh dưỡng. Ngoài ra,
Unilever luôn chung tay trong việc đẩy mạnh đời sống người dần Việt Nam qua các hoạt
động từ thiện: chương trình áo trắng ngời sang tương lại, hợp tác với FDI thực hiện
chiến dịch chăm sóc sức khỏe răng miệng cho người dân Việt Nam……
8
Vào ngày 7 tháng 1 năm 2010 vừa qua, nằm trong khuôn khổ tài trợ thường niên của

Quỹ Unilever Việt Nam (UVF), 20 dự án vệ sinh môi trường và sức khỏe cộng đồng
năm 2009 đã chính thức được công bố và trao tài trợ với tổng số tiền là 4,770,100,000
đồng.
Ngày 6/4/2010, trong lễ kỷ niệm 15 năm thành lập công ty tại Việt Nam, Unilever
Vietnam đã đón nhận Huân chương Lao Động hạng nhất của Chủ tịch nước trao tặng.
Doanh Nghiệp chính:
Công ty Liên doanh Unilever Việt Nam - chuyên về các sản phẩm chăm sóc cá nhân và
gia đình
Công ty TNHH Unilever Vietnam. - chuyên về các sản phẩm thực phẩm, trà và các đồ
uống từ trà, các sản phẩm chăm sóc vệ sinh răng miệng.
Nhà máy sản xuất: Tại Củ Chi, TP Hồ Chí Minh.
Văn Phòng:
Trụ sở chính tại Hồ Chí Minh
Các chi nhánh tại Hà Nội, Đà Nẵng, Cần Thơ
Đầu tư
Tổng vốn đầu tư: 100 triệu USD
Vốn điều lệ: 55 triệu USD
Những ngành hàng chính
Ngành hàng chăm sóc gia đình: Omo, Viso, Surf, Comfort, Sunlight, Vim
Ngành hàng chăm sóc cá nhân: Sunsilk, Clear, Dove, Lifebuoy, Hazeline, Pond's, P/S,
Close up, Rexona
Ngành hàng thực phẩm: Lipton, Knorr
9
1.1.3 Cơ cấu tổ chức:
Hình 1.1: Cơ cấu tổ chức công ty Unilever
Sản phẩm của Unilever có mặt trên khắp 64 tỉnh thành của Việt Nam. Tổng số nhân viên
văn phòng và quản lý của công ty Unilever Việt Nam hiên nay khoảng 1400 nhân viên.
Unilever Việt Nam cũng như những Unilever ở các quốc gia khác luôn duy trì một số
nhân viên nhất định thông qua các hình thức tuyển dụng, chương trình lãnh đạo tiềm
năng, v…v…Công ty có hệ thống nhà phân phối riêng dày đặt và luôn giữ mối quan hệ

chặt chẽ trong công việc. Mỗi chức danh quản lý ở nhà phân phối sẽ được hỗ trợ, đào
tạo, huấn luyện, giám sát và đánh giá cũng như xem xét việc tuyển dụng nhân viên của
nhà phân phối.
Chủ tich (Chairman): có quyền quyết định cao nhất, chịu trách nhiệm tổ chức và điều
hành mọi hoạt động của công ty. Các giám đốc các phòng ban làm việc theo sự phân
công của Giám Đốc điều hành.
VP PC (Vice Presedent of Personal Care): Chịu trách nhiệm các chức năng và bộ
phận trong Personal Care. Personal Care có 5 Department : Hair, Skin, Oral, Skin
cleaning, Deo
Hair bao gồm các nhãn hàng: Sunsilk, Clear, Dove
Skin bao gồm các nhãn hàng: Pond’s, Hazeline, Vaseline
Oral bao gồm các nhãn hàng: P/S, Close Up, Tooth Brush
Skin Cleaning bao gồm các nhãn hàng: Lux, Dove, Lifebuoy
10
Deo bao gồm các nhãn hàng: Rexona, Dove
VP HC (Vice Presedent of Home Care): Chịu trách nhiệm các chức năng và bộ phận
trong HomeCare. Home Care có 3 Department : Fab Clean, Fab Con, HHC
Fab Clean bao gồm các nhãn hàng: Omo, Viso, Surf
Fab Con bao gồm các nhãn hàng: Comfort
HHC bao gồm các nhãn hàng: Sunlight, Vim, Cif
VP Foods (Vice Presedent of Foods): Chịu trách nhiệm các chức năng và bộ phận
trong Foods. Foods có 3 Department :
Culinary – Knorr
Beverages – Lipton
IceCream
VP CD (Vice Presedent of Customer Development): thực hiện các kế hoạch phát triển
thị trường của công ty, và các chiến lược về số lượng, phân phối, giá cả, hàng hóa và các
dịch vụ khách hàng bằng cách tìm hiểu về khách hàng, tính năng động của thị trường,
các chính sách, chiến lược của đối thủ cạnh tranh,…
VP HR (Vice Presedent of Human Resource): Tổ chức tuyển dụng, đào tạo, huấn

luyện, bố trí nhân sự, quản lý hồ sơ nhân viên. Ngoài ra còn chịu trách nhiệm về tiền
lương, chính sách phúc lợi, thưởng, công tác phí, … cho nhân viên.
VP Finance (Vice Presedent of Finance & Accounting): Tổ chức quản lý toàn bộ
công tác tài chính, kế toán của công ty, hướng dẫn chỉ đạo bộ phận kế toán, giúp ban
giám đốc tổ chức công tác thông tin kinh tế, hạch toán kinh tế, phân tích hoạt động kinh
tế và quyết toán với Unilever khu vực.
VP SC (Vice Presedent of Supply Chain): Quản lý giám đốc nhà máy (Plant
Manager), bộ phận kế hoạch (Planning), bộ phận mua hàng (Purchasing), bộ phận kho
(Warehouse), bộ phận xuất hàng (Distribution Center), bộ phận quản lý chất lượng
(Quality Control), bộ phận kỹ thuật sản xuất (Engineer & Technical Services – E&TS),
bộ phận xuất nhập khẩu (Cross Borde Logistics), bộ phận sản xuất (Operation), bộ phận
phục vụ khách hàng (Customer Service-CS), bộ phận xét duyệt tín dụng.
11
VP Corp Dev (Vice Presedent Corporation Development): Đóng vai trò đại diện cho
công ty Unilever Việt Nam làm cầu nối với Unilever quốc tế và những vấn đề liên quan
đến nhà nước.
VP Mfg (Vice Presedent of Manufacturing): Chịu trách nhiệm các chức năng và các
bộ phận trong khối sản xuất.
VP CR (Vice Presedent of Corporate Relationship): là người đại diện Unilever Việt
Nam làm việc với chính phủ, truyền thông và những người có thẩm quyền và các đối tác
bên ngoài để tạo hình ảnh công ty, giải quyết các vấn đề hàng nhái, hàng giả gây ảnh
hưởng đến hình ảnh và uy tín của công ty. Mục tiêu của bộ phận này là cố gắng xây
dựng hình ảnh của một công ty đa quốc gia tầm cỡ và là một công ty có trách nhiệm
công dân tại Việt Nam thông qua các công việc từ thiện, tài trợ cho các hoạt động xã hội,
các phong trào thể dục thể thao, liên hệ chính quyền địa phương.
VP Fds Sol (Vice Presedent of Foods Solution): Chịu trách nhiệm các chức năng và
các bộ phận về giải pháp cho thực phẩm.
1.2Phòng quản trị nhân sự tại công ty Unilever:
• QTNS bao gồm việc hoạch địch và sử dụng nguồn nhân lực một cách hiệu quả để
giúp tổ chức và cá nhân đạt đựơc mục tiêu chung.

• Bộ phận Nhân sự xây dựng các quy trình và chính sách để quản lý quan hệ lao
động
• Trưởng bộ phận các phòng ban sử dụng những quy trình, chính sách này quản lý
nhân viên và thực hiện những hoạt động về nhân sự.
• Phát triển tối ưu con người và tổ chức là chìa khóa để dẫn đến thành công. Nhân
viên sẽ có cơ hội để phát triển năng lực bản thân và hoàn thiện những kĩ năng và
trên hết là phát huy những tiềm năng ẩn sâu bên trong của mỗi nhân viên. Nhờ
chính sách đào tạo và phát triển và một chế độ đãi ngộ xứng đáng mà Unilever
luôn thu hút và giữ chân những người tài giỏi. Đó chính là chiếc chìa khóa để tổ
chức ngày càng hoàn thiện, xây dựng được sự đoàn kết và mang lại hiệu quả kinh
doanh.
12
• Luôn có những câu hỏi được đặt ra để tìm ra phương phát tối ưu, khắc phục
những thiếu xót hiện tại. Đó chính là cách mà phòng nhân sự cùng với ban lãnh
đạo xây dựng một Unilever vững mạnh.
Có thể khái quát nhân sự qua các bước như sau:
Nhu cầu con người theo sơ đồ MasLow
Hình 1.2 Sơ đồ MasLow
13
Cấu trúc của phòng quản trị nhân sự:
-Human Resources Business Partners (HRBP): có nhiệm vụ liên lạc điều phối cấu trúc tổ
chức, những chức năng của các phòng ban; tìm hiểu phương hướng phát triển và tiến
hành thay đổi để phù hợp với mục đích kinh doanh nhưng vẫn đảm bảo số nhân viên ổn
định; giữ nhân viên có năng lực; cùng với những người quản lý để đáp ứng những mong
muốn và cơ hội phát triển của nhân viên
-Human Resources Shared Services (HRSS): Điều phối và tiếp tục hoàn thiện quy trình,
chính sách và hệ thống HR đảm bảo phù hợp với HR của các Unilever quốc tế và chiến
lược kinh doanh; tuyển dụng, chứa dữ liệu nhân viên, lương và tiền trợ cấp, quản trị lực
lượng lao động
-HR Expertise Teams (HRET): Quản lý những thông tin của HR (chính sách, dự án, sản

phẩm và nguồn kiến thức); Kết nối với những nhà tư vấn chuyên gia bên ngoài để thu
hút, xây dựng, và chia sẻ những bài học kinh nghiệm; kết nối với những người lãnh đạo
HR để đào tạo, phát triển những khóa học cơ bản của HR.
Tất cả những phòng ban này liên quan chặt chẽ với nhau và liên quan chặt chẽ với
Unilever People tạo thành một thể thống nhất trong cơ cấu của Quản Trị Nguồn Nhân
Lực.
14
Hình 1.3 Biểu đồ về số lượng nhân viên
NHẬN XÉT
Sau quá trình khảo sát hiện trạng tại công ty, đặc biệt là hiện trạng tại phòng nhân sự của
công ty, tôi nhận thấy rằng về mặt cấu trúc chung và mối liên hệ trong các bộ phận của
Quản Trị Nguồn Nhân Lực rất tốt. Chính nhờ có sự liên hệ giữa các bộ phận trong Nhân
Sự và giữa Nhân Sự với các phòng ban khác đã giúp cho Unilever có một tổ chức chặt
chẽ và làm việc hiệu quả. Bên cạnh đó, khi đi sâu vào trong từng hoạt động của các bộ
phận thì vẫn có những bất cập trong công tác quản lý, tuyển dụng, đào tạo, lương
thưởng… Tuy những bất cập đó khá nhỏ nhưng cũng phần nào làm ảnh hưởng tới thời
gian và hiệu quả của công việc. Một trong những yếu tố quan trong gây nên sự bất cập
đó chính là thông tin, và cách quản lý thông tin.
1.3Hiện trang tin học:
1.3.1 Phần cứng
• Thiết bị: máy tính, máy in, máy chiếu, máy fax, máy photo
• Kết nối mạng cục bộ, Wireless
15
1.3.2 Phần mềm
• Hệ điều hành: Window XP
• Có phần mềm chung quản lý là Peoplesoft. Ngoài ra những thao tác đơn giản và
rút trích thao tác trên Excel.
 Nhận xét: Phần mềm Peoplesoft là một phần mềm tiêu chuẩn quốc tế được dùng
chung cho tất cả Unilever ở các nước. Phần mềm giúp cho người dùng cập nhật,
sửa chữa, rút trích dữ liệu một cách dễ dàng. Phần mềm chính là một công cụ đắc

lực để quản lý và đưa ra quyết định, và cũng là công cụ để Unilever luôn là một
thể thống nhất dù có ở bất kì quốc gia nào.
Tuy nhiên, khi áp dụng cho từng nước có những bất cập, bắt buộc phải theo cơ
cấu chung. Việc rút trích và truy cập do đó phải qua rất nhiều thao tác và tốn thời
gian. Bên cạnh đó, không có form riêng cung cấp đầy đủ các yêu cầu sau để trợ
giúp người sử dụng và người quản lý tìm kiếm thông tin để dễ dàng lập báo cáo.
1.4Hướng phát triển đề tài:
1.4.1 Tóm tắt đề tài:
Đề tài “Khảo sát và xây dựng phần mềm quản lý nhân sự”
Đề tài được thực hiện từ việc nghiên cứu và tìm hiểu về việc quản lý hồ sơ nhân viên
trong công ty. Trải qua một thời gian khảo sát, tìm hiểu, tôi quyết định xây dựng phần
mềm quản lý hồ sơ nhân viên dựa trên mô hình 3 lớp của .Net Framework. Phần mềm sẽ
hỗ trợ những yêu cầu:
• Quản lý thông tin nhân viên
• Quản lý tiền lương
• Lập các báo cáo
• Rút trích dữ liệu theo yêu cầu
1.4.2 Phân tích thiết kế hệ thống
1.4.2.1 Đăng nhập hệ thống theo quyền người sử dụng.
Người dùng đăng nhập vào hệ thống sẽ được phân quyền đăng nhập hệ thống.
16
• Người quản trị đăng nhập với quyền quản trị có thể thực hiện các thao tác trong
hệ thống.
• Người quản lý nhân sự, cụ thể ở đây là HRBP (Human Resources Business
Partner) được phép truy cập vào việc chỉnh sửa, thêm mới positon, tính lương và
phân quyền hệ thống.
• Nhân viên kế toán: có quyền truy cập vào phần quản lý nhân sự và tính lương
• Người quản lý trực tiếp (Line Manager): quyền truy cập và xem thông tin về nhân
viên của mình.
1.4.2.2 Tạo user và gán quyền:

Chỉ có người quản trị có quyền tạo user và gán quyền cho user đó.
1.4.2.3 Đổi password:
Sau khi đăng nhập thì người dùng có thể thay đổi mật khẩu của mình nhằm tăng cường
tính bảo mật.
1.4.2.4 Quản lý nhân viên.
Người quản trị có quyền Thêm, Xóa, Sửa nhân viên.
 Quản lý hồ sơ nhân viên:
Quản lý chi tiết thông tin về nhân viên: mã nhân viên (employee_id), tên nhân viên
(employee_name), vị trí (position_id), giới tính (gender), ngày vào công ty (date_join),
ngày được thăng cấp (promote_date), người quản lý trực tiếp (LM_id), HRBP, tình trạng
hôn nhân (Marital_Status), ngày sinh (birthday), email, địa chỉ thường trú (R_address),
địa chỉ tạm trú (C_address), số thẻ ATM (credit_card), tên ngân hàng (bank_name).
1.4.2.5 Quản lý thông tin về đào tạo (training):
• Theo dõi quá trình đào tạo cho nhân viên ở từng cấp thích hợp.
• Lập kế hoạch đào tạo cho từng phòng ban và vị trí cụ thể.
• Quản lý chi tiết trình độ chuyên môn, ngoại ngữ, tin học và các kĩ năng khác như:
kĩ năng bán hàng, kĩ năng thuyết trình, kĩ năng phỏng vấn, kĩ năng quản lý nhân
viên…
 Quản lý hiệu quả công việc của nhân viên
17
Do yêu cầu của công ty trong việc quản lý hiệu quả công việc của nhân viên, đây
đồng thời cũng là thước đó năng lực của nhân viên cũng như nắm bắt được yêu
cầu nguyện vọng của nhân viên trong công ty. Đầu năm nhân viên sẽ đưa ra kế
hoạch cho cả năm, sau đó sẽ cùng người quản lý trực tiếp duyệt lại kế hoạch đó.
Đến khoảng giữa năm, nhân viên và người quản lý trực tiếp sẽ có dịp ngồi lại để
đánh giá việc thực hiện kế hoạch và đưa ra những phương hướng hoàn thành kế
hoạch đó. Vào cuối năm là thời điểm để nhân viên và người quản lý trực tiếp
đánh giá hiệu quả của kế hoạch đó, những gì đạt được và không đạt được. Đồng
thời cũng lưu lại nhưng mong muốn của nhân viên với công ty. Quá trính này
giúp cho nhân viên làm việc hiệu quả hơn, tạo động lực nhân viên có cơ hội thăng

tiến hay tạo điều kiện luân chuyển công việc và giúp cho nhân viên gắn bó hơn
với công ty.
• Theo dõi quá trình thực hiện công việc của nhân viên.
 Quản lý position của nhân viên
Mỗi nhân viên sẽ có một vị trí trong công ty. Mỗi vị trí sẽ có những thông tin liên
quan đến nó. Yêu cầu quản lý position của nhân viên cho phép người quản trị có thể
tương tác với hệ thống thông qua chức năng quản lý thông tin về vị trí đó, ví dụ: lương
cơ bản (base pay), lương thưởng vượt chỉ tiêu, trợ cấp, phụ cấp v…v…
1.4.2.6 Yêu cầu quản lý Position
Người quản trị và HRBP có quyền:
• Thêm position mới.
• Xóa position
• Sửa position
Các thông tin liên quan đến Position bao gồm: position_id, position_name, grade,
department_id, head_count.
1.4.2.7 Yêu cầu quản lý Department:
Người quản trị có quyền:
• Thêm Department mới
18
• Xóa Department
• Sửa Department
Các thông tin liên quan đến Department gồm: department_id, department_name,
function_id
1.4.2.8 Yêu cầu quản lý Function:
Người quản trị có quyền:
• Thêm Function mới
• Xóa Function
• Sửa Function
Các thông tin liên quan đến Function gồm: function_id, function_name
1.4.2.9 Yêu cầu quản lý và tính lương

Người quản trị có thể tương tác với hệ thống thông qua chức năng quản lý thông tin về
việc tính lương cho nhân viên.
Lập bảng thanh toán tiền lương cho toàn bộ nhân viên theo từng tháng. Bảng này gồm
thông tin: employee_id, các loại hệ số (hệ số lương thưởng đạt chỉ tiêu, tiền thưởng do
công ty đạt kết quả kinh doanh xuất sắc, hệ số phụ cấp, mức lương tối thiểu và phí công
tác), lương căn bản, BHXH, BHYT, Unikhoe, Bảo hiểm hưu trí, thuế TNCN, lương thực
nhận.
1.4.2.10 Yêu cầu về giao diện:
Giao diện hệ thống gồm:
• Giao diện đăng nhập vào hệ thống.
• Giao diện chính sau khi đăng nhập.
• Quyền quản trị thực hiện mọi thao tác có trong hệ thống:
• Đổi user, xóa user và phân quyền
• Đổi Password
• Thêm, xóa, sửa employee; tìm kiếm employee theo employee, position,
department, function
19
• Thêm, xóa, sửa positon; tìm kiếm position theo position, department,
function
• Thêm, xóa, sửa department; tìm kiếm theo department, function
• Thêm, xóa, sửa trong các chuẩn tính lương.
• Truy cập và xem thông tin của các báo cáo
• Quyền HRBP:
• Truy cập vào hệ thống.
• Đổi Password.
• Truy cập và thao tác form quản lý thông tin nhân viên.
• Truy cập và thêm, xóa, sửa position
• Truy cập và thao tác form quản lý department
• Truy cập và thao tác form quản lý function
• Truy cập và thao tác form chuẩn tính lương

• Lập báo cáo.
• Quyền kế toán:
• Truy cập vào hệ thống
• Đổi password
• Truy cập form quản lý thông tin nhân viên
• Truy cập form quản lý position
• Truy cập form quản lý department
• Truy cập form quản lý function
• Truy cập form chuẩn tính lương
• Xem báo cáo
20
CHƯƠNG 2: MÔ HÌNH 3 LỚP TRONG LẬP TRÌNH DOTNET
Trong chương này sẽ tập trung đi vào giới thiệu về mô hình 3 lớp dựa trên công nghệ
ADO.NET và hiệu quả của nó trong việc thiết kế form.
2.1Khái niệm mô hình 3 lớp
2.1.1 Giới thiệu chung về mô hình 3 lớp:
Trong phát triển ứng dụng, để 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 chéo và
ảnh hưởng lẫn nhau. Trong phát triển phần mềm, người ta cũng áp dụng cách phân chia
chức năng này. Bạn sẽ nghe nói đến thuật ngữ kiến trúc đa tầng/nhiều lớp, mỗi lớp sẽ
thực hiện một chức năng nào đó, trong đó mô hình 3 lớp là phổ biến nhất. 3 lớp này là
gì? Là Presentation, Business Logic, và Data Access.
Hình 2.1 Mô hình 3 lớp
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.
21
Lợi ích của mô hình 3 lớp:
• Dễ xây dựng

• Dễ quản lý mã lệnh
• Phát triển và bảo trì
Mô hình 3 lớp mà Microsoft đề nghị dùng cho các hệ thống phát triển trên nền .NET
như sau:
Hình 2.2 Mô hình 3 lớp Microsoft đề nghị dùng cho các hệ thống phát triển trên nền
.NET
Lớp giao diện – Presentation Layer
Presentation Layer làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và
hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng. Lớp
giao diện không thực hiện việc tính toán, kiểm tra, xử lý hay các thao tác liên quan tới
cơ sở dữ liệu.
Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. Trong .NET thì bạn có
thể dùng Windows Forms, ASP.NET hay Mobile Forms để hiện thực lớp này.
Trong lớp này có 2 thành phần chính là User Interface Components và User Interface
Process Components.
22
UI Components: là những phần tử chịu trách nhiệm thu thập và hiển thị thông tin cho
người dùng cuối. Trong ASP.NET thì những thành phần này có thể là các TextBox, các
Button, DataGrid
UI Process Components: là thành phần chịu trách nhiệm quản lý các qui trình chuyển
đổi giữa các UI Components. Ví dụ chịu trách nhiệm quản lý các màn hình nhập dữ liệu
trong một loạt các thao tác định trước như các bước trong một Wizard
Lớp xử lý - Business Logic Layer
Business Logic Layer thực hiện các nghiệp vụ chính của hệ thống.
Lớp này sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho
lớp Presentation. Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3
(3rd parties) để thực hiện công việc của mình(ví dụ như sử dụng dịch vụ của các cổng
thanh tóan trực tuyến như VeriSign, Paypal…).
Trong lớp này có các thành phần chính là Business Components, Business Entities và
Service Interface.

Service Interface là giao diện lập trình mà lớp này cung cấp cho lớp Presentation sử
dụng. Lớp Presentation chỉ cần biết các dịch vụ thông qua giao diện này mà không cần
phải quan tâm đến bên trong lớp này được hiện thực như thế nào.
Business Entities là những thực thể mô tả những đối tượng thông tin mà hệ thống xử lý.
Trong ứng dụng chúng ta các đối tượng này là các chuyên mục(Category) và bản
tin(News). Các business entities này cũng được dùng để trao đổi thông tin giữa lớp
Presentation và lớp Data Access
Business Components là những thành phần chính thực hiện các dịch vụ mà Service
Interface cung cấp, chịu trách nhiệm kiểm tra các ràng buộc logic(constraints), các qui
tắc nghiệp vụ(business rules), sử dụng các dịch vụ bên ngoài khác để thực hiện các yêu
cầu của ứng dụng.
Data Access Layer
Data Access Layer thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu
của ứng dụng.
23
Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu như SQL
Server, Oracle,… để thực hiện nhiệm vụ của mình.
Trong lớp này có các thành phần chính là Data Access Logic, Data Sources, Servive
Agents).
Data Access Logic components (DALC) là thành phần chính chịu trách nhiệm
lưu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu - Data Sources như RDMBS,
XML, File systems…. Trong .NET Các DALC này thường được hiện thực bằng
cách sử dụng thư viện ADO.NET để giao tiếp với các hệ cơ sở dữ liệu hoặc sử
dụng các O/R Mapping Frameworks để thực hiện việc ánh xạ các đối tượng trong
bộ nhớ thành dữ liệu lưu trữ trong CSDL. Chúng ta sẽ tìm hiểu các thư viện O/R
Mapping này trong một bài viết khác.
Service Agents là những thành phần trợ giúp việc truy xuất các dịch vụ bên ngòai
một cách dễ dàng và đơn giản như truy xuất các dịch vụ nội tại.
2.1.2 Tương tác giữa các lớp:
• Tương tác giữa người dùng và lớp giao diện: người dùng tạo ra các điều khiển

trên giao diện, thông qua các điều khiển đó để thực thi các yêu cầu. Ở đây vai trò
của lớp xử lý chính là nhận ra các yêu cầu và xử lý các yêu cầu đó.
• Tương tác giữa lớp giao diện và lớp dữ liệu: mỗi điều khiển giao diện là “bề mặt
hiển thị” nội dung của một nguồn dữ liệu (Data Source) là một DataTable nào đó
trong lớp dữ liệu hoặc một column nào đó của DataTable. Ta chỉ định điều này
bằng cách ấn định thuộc tính Data Source của điều khiển giao diện.
Lớp giao diện không tác động lên cơ sở dữ liệu thật. Lớp giao diện nhận
các yêu cầu từ người sử dụng, sau đó thông qua lớp xử lý sẽ tác động lên
lớp dữ liệu.
Lớp xử lý sẽ cung cấp các dịch vụ để giải quyết cac yêu cầu từ lớp giao
diện, sau đó lớp xử lý sẽ tác động lên lớp dữ liệu thông qua các dịch vụ mà
lớp dữ liệu cung cấp. Từ lớp dữ liệu thì dữ liệu sẽ được tác động lên cơ sở
dữ liệu thật
Lớp xử lýt được xem là cầu nối liên hệ giữa lớp giao diện và lớp dữ liệu
24
• Tương tác giữa lớp dữ liệu và cơ sở dữ liệu nguồn: cơ sở dữ liệu nguồn sẽ được
biểu diễn bằng một DataSet thông qua chức năng của SqlDataAdapter. Chức
năng RollBack luôn bảo đảm tính an toàn cho cơ sở dữ liệu nguồn. Sự thay đổi
trong cơ sở dữ liệu nguồn thay đổi khi người dùng đã xác nhận.
2.2Hỗ trợ .Net FrameWork trong thiết kế 3 lớp:
2.2.1 Lớp giao diện – Presentation Layer
 Form:
Form có 3 loại chính là Form dạng Multiple Document Interface (MDI) còn được
gọi là MDI Form (Form cha) cho phép trình bày các Form khác bên trong Parent
Form, các form là Child Form. Những Form mở rộng nằm trong Parent Form thì
được gọi là Normal Form.
MDI Form: Một Form được gọi là MDI Form thì thuộc tính IsMdiContainer có giá
trị True. Thuộc tính này có thể khai báo ở chế độ thiết kế hoặc trong lúc thi hành.
Child Form: Form dạng con là Form mà khi nạp lên sẽ năm bên trong vùng làm
việc của MDI Form. Để Form trở thành Child Form thì phải khai báo thuộc tính

MdiParent ứng với MDI Form trong Project.
Normal Form: Một Form mở ra không phải là MDI Form hay Child Form thì gọi là
Form thường.
Một số thuộc tính hay dùng của Form:
Thuộc tính Ý nghĩa
Name Dùng để nhận dạng duy nhất của đối tượng Form trong Project,
mỗi Form phải có giá trị hợp lệ trong thuộc tính Name, không
cho phép có hai Form có cùng một tên trong một Project.
Text Dùng để trình bày chuỗi trong thanh tiêu đề của Form, có thể
khai báo trong chế độ thiết kế hoặc giá trị trong khi thi hành.
Show Icon Mỗi Form nạp lên đều có biểu tượng mặc định ở góc trên
bên trái
Opacity Cho phép chúng ta làm trong suốt bề mặt của Form tùy
thuộc vào giá trị phần trăm khai báo trong thuộc tính này
25
Icon Cho phép chúng ta chỉ định tập tin hình ảnh để thể hiện trong
phần biểu tượng của Form
StartPosition Chỉ định vị trí hiển thị của Form trên màn hình nếu sử dụng
phương thức ShowDialog hay Show ứng với Form loại Mdi hay
Normal
IsMdiContain
er
Giá trị của thuộc tính này là false tương đương với Form
bình thường, nếu gán là true thì khi Form nạp lên màn hình
sẽ là MDI Form
Các điều khiển trên Form như label, button, textbox, combobox, listbox, checkbox…
đều có một số thuộc tính chung:
Thuộc tính Ý nghĩa
BackColor Màu nền của điều khiển.
ForeColor Màu chữ của chuỗi trình bày trên điều khiển.

Text Chuỗi trình bày trên điều khiển.
Visible Thuộc tính che giấu hay hiển thị điều khiển.
Name Tên của điều khiển.
Locked Khóa không cho di chuyển trên Form.
Các biến cố của Form:
Biến cố Ý nghĩa
FormClosed Biến cố này sẽ xảy ra khi Form đã đóng, bằng cách sử dụng biến
cố này ta có thể in ra chuỗi lý do tại sao đóng Form
FormClosing Biến cố này xảy ra khi Form đang đóng, ta có thể sử dụng biến cố
này để xác nhận với người sử dụng chắc chắn đóng Form hay
không
Load Xảy ra trước khi Form hiển thị đầu tiên, dùng để khai báo thực thi
hay điền dữ liệu vào các điều khiển trên Form
Click Xảy ra khi người sử dụng nhấn chuột trên vùng làm việc của
Form
MouseMove Xảy ra khi người sử dụng di chuyển chuột xuống vùng điều
khiển rồi nhả ra.
MouseDown Xảy ra khi người sử dụng di chuyển chuột xuống vùng điều
khiển.
26
Move Xảy ra khi di chuyển điều khiển bằng mã hay người sử dụng.
Resize Xảy ra khi kích thước của điều khiển thay đổi bằng mã
chương trình hay bởi người sử dụng.
Các phương thức của Form:
Biến cố Ý nghĩa
Close Dùng để đóng Form, nếu Form được mở là duy nhất thì chương
trình sẽ tự động thoát.
Hide Dùng để che giấu Form đang mở.
Active Dùng để kích hoạt Form, giả sử chúng ta có nhiều Child Form
đang mở, chúng ta có thể kích hoạt chúng bằng cách sử dụng

phương thức này
Show Cho phép chúng ta nạp Form lên màn hình
Show Dialog Dùng để nạp Form lên màn hình dạng Modal (không can thiệp
được vào Form trước đó), nếu Form nạp lên là Child Form thì
phương thức này sẽ phát sinh lỗi.
• Textbox: Nhóm điều khiển TextBox gồm hai điều khiển chính là TextBox và
MaskedTextBox dùng để nhập liệu.
• Điều khiển TextBox: cho phép nhập dữ liệu dưới ba hình thức tùy thuộc vào
thuộc tính PasswordChar và Multiline.
 Một số thuộc tính của TextBox:
Thuộc tính Ý nghĩa
BorderStyle Kiểu đường viền của điều khiển.
Enabled Vô hiệu hóa hay cho phép sử dụng.
Multiline Giá trị True cho nhập nhiều dòng.
ReadOnly Giá trị True cho phép chỉ đọc giá trị.
 Biến cố của TextBox:
Biến cố Ý nghĩa
MouseClick Xảy ra khi người sử dụng click trên điều khiển TextBox.
MouseDoubleClick Xảy ra khi người sử dụng click hai lần liên tiếp trên điều khiển
TextBox.
27
VisibleChanged Xảy ra khi thuộc tính Visible thay đổi giá trị từ True sang False
hay ngược lại.
• Label: Nhóm điều khiển Lable gồm 2 điều khiển chính là Lable dùng để trình bày
dữ liệu và LinkLable dùng để trình bày liên kết Internet.
o Thuộc tính của Lable:
Thuộc tính Ý nghĩa
BorderStyle Kiểu đường viền của điều khiển.
Font Kiểu và kích thước của chữ trình bày trên điều khiển.
TextAlign Canh lề chuỗi trình bày trên điều khiển.

• Button:
Điều khiển Button cho phép người sử dụng dùng chuột để nhấn, phím Enter hay
phím Spacebar nếu điều khiển này đang focus.
o Một số thuộc tính hay sử dụng của button:
Thuộc tính Ý nghĩa
FlatStyle Kiểu đường viền của Button.
Image Chọn Image trong phần Resouce để trình bày hình trên điều khiển
Button.
Text Chuỗi trình bày ứng với diễn giải
TextAlign Canh lề chuỗi diễn giải trên diều khiển.
○ Biến cố của Button:
Biến cố Ý nghĩa
MouseClick Xảy ra khi người sử dụng Click trên điều khiển Button bằng
chuột.
Click Xảy ra khi người sử dụng Click vào điều khiển Button.
CheckedChange
d
Xảy ra khi người sử dụng Click vào điều khiển Button.
VisibleChanged Xảy ra khi thuộc tính Visible thay đổi giá trị từ True sang
False.
28
 DataGridview:
Điều khiển DataGridView dùng để trình bày dữ liệu có trong đối tượng
DataSet, DataTable, DataView dưới nhiều hình thức khác nhau. Ta có thể
định nghĩa các cột trên điều khiển DataGridView và thêm các điều khiển như:
Button, TextBox, ComboBox, CheckBox, Image, Link…
• Thuộc tính của DataGridView:
Thuộc tính Ý nghĩa
DataSource Để sử dụng thuộc tính DataSource ta khai báo đoạn chương
trình gọi phương thức FillDataSet trong lớp Database và

điền đối tượng DataSet vào điều khiển DataGridView
CurrentRow Lấy mẫu tin đang chọn trên DataGridView, trả về đối tượng
DataGridViewRow chứa đựng mẫu tin đang chọn
CurrentCell Lấy giá trị trên ô đang chọn. Ngoài ra, ta cũng có thể biết
được số lượng cột và hàng dữ liệu đang trình bày trên điều
khiển DataGridView bằng cách sử dụng thuộc tính
Column.Count và Row.Count.
DefaultCellStyle Định dạng ô trong điều khiển DataGridView
• Biến cố của DataGridView:
Biến cố Ý nghĩa
SelectionChanged Xảy ra khi người sử dụng di chuyển con nháy chuột
thuộc hàng dữ liệu đang trình bày trên điều khiển
DataGridView
DoubleClick Xảy ra khi người sử dụng DoubleClick trên điều
khiển DataGridView
MouseClick Xảy ra khi người sử dụng click trên điều khiển
2.2.2 Lớp dữ liệu – Data Access Layer
 Connection: dùng để kết nối CSDL SQL Server.
Đối tượng SQLconnection thiết lập một kết nối (connection) với nguồn dữ liệu. Một đối
tượng Connection sẽ nằm giữa một dữ liệu nguồn và một DataAdapter.
29
Đối tượng Connection cũng giữ vai trò hữu ích trong việc tạo một giao dịch. Các giao
dịch sẽ được lưu trữ trong các đối tướng Transaction, và các lớp Transaction đều có khả
năng xử lý các phiên giao dịch.
• Thuộc tính của đối tượng Connection:
Thuộc tính Mô tả
DataSource Vị trí của tên tập tin của dữ liệu nguồn
DataBase Tên của cơ sở dữ liệu hiện hành
ConnectionString Tượng trưng cho chuỗi kết nối
ConnectionTimeO

ut
Cho biết thời gian chờ trong khi đang kết nối (tính bằng
giây)
• Các hàm sự kiện của đối tượng Connection:
Hàm sự kiện Mô tả
BeginTransaction Bắt đầu một phiên giao dịch với cơ sở dữ liệu dựa trên
đối tượng Connection
Close Cho đóng lại một kết nối đã được mở
Dispose Giải phóng bất cứ nguồn lực nào được sử dụng bởi đối
tượng Connection
Open Cho mở một kết nối mới về dữ liệu nguồn
ToString Trả về một chuỗi tượng trưng cho Connection
 Command:
Đối tượng SqlCommand có chức năng thi hành các lệnh truy vấn SQL và các store
procedure lên cơ sở dữ liệu thông qua đối tượng DataAdapter.
• Các thuộc tính của đối tượng Command:
Thuộc tính Mô tả
Command Text Có thể là một câu lệnh SQL, tên một store procedure hoặc
tên bảng dữ liệu tùy vào giá trị của Command Type
30
Data Adapter
SelectCommand
InsertCommand
DeleteCommand
UpdateCommand
Command
CommandTimeOut Thời gian chờ cho thi hành Command (tính bằng giây)
CommandType Thuộc tính này cho biết làm thế nào phân biệt thuộc tính
CommandText
Connection Đây là Connection nối về dữ liệu nguồn

Parameters Thuộc tính này cho tìm lại collection (SqlParameter
Collection ) các thông số của thuộc tính CommandText
• Các hàm sự kiện của đối tượng Command:
Hàm sự kiện Mô tả
ExecuteNonQuery Cho thi hành một câu lệnh SQL đối với một Connection và
trả về số hàng dữ liệu bị ảnh hưởng (ví dụ như hàm Delete)
ExecuteReader Cho thi hành một câu lệnh SQL trả về những hàng dữ liệu
(ví dụ như hàm Select)
ExecuteScalar Cho thi hành một câu lệnh SQL và trả về cột đầu tiên của
hàng dữ liệu đầu tiên của kết quả được trả về (ví dụ như hàm
Count…)
ExecuteXmlReader Tương tự như hàm ExecuteReader, nhưng trả về các hàng
dữ liệu dưới dạng XML
 DataSet:
Đối tượng DataSet là thành phần chính của kiến trúc không kết nối CSDL, được
dùng để nắm giữ dữ liệu của mọi cơ sở dữ liệu và cho phép chúng thay đổi dữ liệu
bên trong đối tượng này để sau đó cập nhật trở lại cơ sở dữ liệu nguồn bằng phương
thức Update của đối tượng DataAdapter.
• Các thuộc tính của đối tượng DataSet:
Thuộc tính Mô tả
DataSetName Cho phép gán hay lấy ra tên của đối tượng DataSet hiện hành
Table Trả về tập bao gồm danh sách các đối tượng DataTable trong
DataSet
Count Trả về đối tượng DataTable đang tồn tại trong đối tượng
DataSet
31

×