Phần mở đầuTrong thời đại khoa học và công nghệ phát triển mạnh mẽ, việc ứng dụng côngnghệ thông tin CNTT trong hoạt động của các doanh nghiệp là tất yếu để đáp ứng chonhu cầu công việc
Trang 1Mục Lục
A Phần mở đầu 3
B Nội dung 4
1 Xây dựng kế hoạch dự án 4
1.1 Giới thiệu dự án 4
Tiến trình dự kiến 4
Phân công công việc 5
Dự kiến lịch công tác : 5
1.5 Các buổi họp nhóm dự kiến : 6
2 Lựa chọn mô hình, phương pháp phát triển 6
2.1 Mô hình phát triển dự án 6
2.2 Phương pháp phân tích, thiết kế 8
3 Phân tích và đặc tả yêu cầu(Tất cả thành viên cùng thảo luận) 8
Mô tả chức năng của HT 8
Yêu cầu về giao diện người dùng 9
3.3 Sơ đồ thể hiện các chức năng trong phần mềm quản lý nhân sự 10
3 Biểu đồ luồng dữ liệu mức đỉnh 11
3.2 Chức năng Tìm kiếm: 12
3.3 Chức năng quản lý lương: 12
Sơ đồ thực thể liên kết ER 13
Xây dựng từ điển dữ liệu 14
Kiểm thử 24
C Kết luận 25
VI.1 Ưu điểm 25
VI.2 Khuyết điểm: 25
Trang 2VI.3 Hướng phát triển của phần mềm : 25
Trang 3A Phần mở đầu
Trong thời đại khoa học và công nghệ phát triển mạnh mẽ, việc ứng dụng côngnghệ thông tin (CNTT) trong hoạt động của các doanh nghiệp là tất yếu để đáp ứng chonhu cầu công việc mang tính chuyên nghiệp Do vậy nhu cầu về phát triển hệ thống thôngtin, xây dựng những phần mềm tin học nhằm nâng cao hiệu quả quản lý, tăng năng xuấtlao động luôn là nhu cầu cấp thiết trong mỗi doanh nghiệp
Với khối lượng công việc ngày càng nhiều và đòi hỏi tính chuyên nghiệp và chínhxác cao, vì thế nên các nghiệp vụ làm thủ công trở nên kém hiểu quả và dần dần bị loại
bỏ và thay vào đó là các phần mềm phục vụ cho các nghiệp vụ đó, giúp cho công việc trởnên dễ dàng hơn nhưng độ chính xác cao Chính vì thế nên ngày càng có nhiều phần mềmđược xây dựng để đáp ứng nhu cầu cho hoạt động của các tổ chức Xây dựng phần mềmđáp ứng được yêu cầu hoạt động của tổ chức là rất khó Để tìm hiểu rõ hơn về công nghệxây dựng phần mềm, nhóm chúng em đã tìm hiểu, nghiên cứu và xây dựng phần mềm
Với sự hướng dẫn của cô giáo nhóm em lựa chọn đề tài “Xây dựng phần mềm quản lý nhân sự trong Công ty Cổ phần Constrexim Hồng Hà”
Do thời gian và trình độ ứng dụng thực tế có hạn nên trong quá trình thực hiện đềtài nghiên cứu Nhóm 2 mong được cô giáo bổ sung thêm để đề tài nghiên cứu được hoànthiện hơn
Trang 4để phù hợp hơn với yêu cầu phát triển của công ty Tuy nhiên hình thức quản lý nhân sựvẫn công kềnh, rườm rà Mọi quy trình tuyển dụng, lưu trữ quản lý hồ sơ nhân viên đều
sử dụng trên Excel Cách quản lý này so với lưu trữ thủ công trên giấy tờ cũng tiết kiệmkhá nhiều thời gian, nhưng chưa nhạy bén khi tìm kiếm thông tin cá nhân và thực hiện cácnghiệp vụ tính lương, tổng hợp, báo cáo Do đó, để phù hợp với tốc độ phát triển, đưa kỹthuật quản lý hiệu quả hơn Xây dựng một phần mềm quản lý nhân sự mới tinh tế và gọn
nhẹ là điều cần thiết Vì vậy, nhóm chúng em đã lên dự án: “Xây dựng phần mềm quản
lý nhân sự trong công ty Cổ phần Constrexim Hồng Hà”.
Tiến trình dự kiến
Do thời gian gấp rút nên đội dự án nỗ lực thực hiện kế hoạch và dự kiến hoàn thành trong vòng 1 tháng Từ ngày 5/4/2012 5/5/2012 Trong thời gian này nhóm sẽ trình bày các đặc tả yêu cầu và thiết kế PM quản lý nhân sự cho công ty cổ phần Contrexim Hồng Hà.
STT Tên pha Tên giai
đoạn Mô tả và sản phẩm giao nộp Thời gian
1 Phân tích
tính khả
thi
-Khảo sát yêu cầu người dùng
- Lên kế hoạch dự án
_Tiếp nhận yêu cầu chính thức từ khách hàng
_Viết tài liệu mô tả chức năng HT_Lựa chọn mô hình và phương pháp phát triển
_Sản phẩm :Tài liệu phân tích
5/47/4
Trang 52 Phân tích
và đặc tả
yêu cầu
_Viết tàiliệu mô tảyêu cầu_Xác nhậnlại yêu cầu
_ Tài liệu mô tả chi tiết yêu cầu người dùng
_ Người dùng sẽ xác nhận lại yêu cầu trong tài liệu
_Sản phẩm :Tài liệu đặc tả yêu cầu
16/420/4
chức năngtính lươngcủa HT
_Lập trình chức năng tính lương mang tính chất trình bày, do thời gian có hạn nên không cài đặt thực tếđược
24/427/4
Phân công công việc
Nhóm chia thành 5 đội nhỏ để thuận lợi trong quá trình làm việc
Dự kiến lịch công tác :
Đội 1 và Đôi 2 tiến hành hợp tác và trao đổi thông tin với nhau ,hỗ trợ nhau để đưa
ra các tài liệu liên quan phục vụ đắc lực cho đội lập trình
Đôi 4 nhanh chóng hoàn thiện các chức năng ,chương trình chuyển cho đôi 5 làmcác công tác kiểm thử.Sau khi phầm mềm đã hoàn thiện toàn bộ khách hàng đã đồng ýkhông có gì cần sửa chữa Đôi 3 và Đội 4 tiến hành công việc cài đặt cho khách hàngdùng
1 Lựa chọn mô hình phương pháp phát triển Hương Giang, Hà
2 Tài liệu phân tích, đặc tả yêu cầu Đạt, Hằng, Nguyễn Giang
Trang 61.5 Các buổi họp nhóm dự kiến :
_Buổi 1: 9h30p, ngày 05/04/2012: Lên ý tưởng
_Buổi 2: 8h, ngày 19/04/2011
_Buổi 3: vào lúc 15h30p, ngày 26/04/2011
_Buổi 4: vào lúc 15h30p, ngày 07/05/2011
2 Lựa chọn mô hình, phương pháp phát triển.
2.1 Mô hình phát triển dự án
Mô hình phát triển phần mềm là 1 “công thức” cho việc phát triển một phần mềm
Vì thế khi làm phần mềm đòi hỏi phải có mô hình Mô hình nói lên từng bước tiến hành
nó phải làm như thế nào ở bước này và bước kế tiếp Có rất nhiều mô hình phát triển phầnmềm, tùy theo từng phần mềm mà áp dụng các mô hình khác nhau nhưng căn bản nhất vẫn là mô hình thác nước, đây là một mô hình được coi là cổ điển, nó có mặt trong tất cả các mô hình phát triển phần mềm
Mô hình thác nước(waterfall)
- Phân tích yêu cầu và tài liệu đặc tả: kết quả tài liệu “Bản đặc tả yêu cầu phần
mềm” Hoạt động này chính là nền tảng cho các hoạt động tiếp theo cho đến cuối dự án
- Phân tích hệ thống và thiết kế: là giai đoạn định ra “làm thế nào” (“How”) để hệthống phần mềm đáp ứng những “đòi hỏi” mà khách hàng yêu cầu trong SRS
- kiểm thử từng thành phần: là giai đoạn hiện thực “làm thế nào” được chỉ ra tronggiai đoạn “Phân tích hệ thống và thiết kế”
- Kiểm thử (Test):xem xét lại đặc tả, thiết kế và mã hóa nhằm phát hiện lỗi phầnmềm, xem phần mềm có đúng với báo cáo đặc tả yêu cầu của PM hay không?
- Cài đặt và bảo trì (Deployment and Maintenance): đây là giai đoạn cài đặt, cấuhình và huấn luyện khách hàng Giai đoạn này sửa chữa những lỗi của phần mềm (nếucó) và phát triển những thay đổi mới được khách hàng yêu cầu (như sửa đổi, thêm haybớt chức năng/đặc điểm của hệ thống)
Trang 7Mô hình thác nướcNhóm dự án chúng tôi chọn mô hình này vì dự án có các yêu cầu đã xác định và thời gian thực hiện ngắn ,quy mô dự án nhỏ nó mặt khác mô hình thác nước ưu điểm là dễquản lí, được sử dụng rộng rãi đặc biệt phù hợp với những dự án nhỏ (do tính đơn giản của nó) Tuy nhiên mô hình này có một số nhược điểm như Mô hình đòi hòi một bản yêu cầu (requirement) đầy đủ và chính xác từ phía khách hàng, Thời gian thực hiện lâu Để đảm bảo mô hình thác nước tiến hành 1 cách thuận lợi, giảm thiểu sai sót so với yêu cầu NSD Nhóm dự án kết hợp sử dụng mô hình bản mẫu trong giai đoạn xác định yc Với mục đích xác định rõ được yêu cầu của NSD để giảm bớt rủi ro và sự không chắc chắn khi phát triển PM.
Mô hình bản mẫu
Nghe KH
KH kiểm tra bản mẫu
Trang 82.2 Phương pháp phân tích, thiết kế
Nhóm chúng tôi lựa chọn pp PTTK hướng chức năng Hệ thống có các chức năng chínhnhư :
Quản lý người dùng
Tìm kiếm
Quản lí nhân viên
Quản lí tính lương
Thống kê báo cáo
3 Phân tích và đặc tả yêu cầu(Tất cả thành viên cùng thảo luận)
Phần này giao cho nhóm 3 người tiếp xúc với bên công ty để biết được yêu cầu của họđối với phần mềm là gì: Nguyễn Quốc Đạt, Nguyễn Thị Giang, Nguyễn Thị Hằng.
Mô tả chức năng của HT
Đặc tả chức năng: Hoạt động quản lý nhân sự của công ty mô tả như sau: Sau khi đã lựa chọn được các ứng viên trúng tuyển phòng quản lý nhân sự thực hện nhập các thông tin về nhân viên Khi nhân viên thôi việc họ thực hiện xóa nhân viên Hàng tháng
họ phải xem xét nhân viên nào thay đổi thông tin cá nhân, chức vụ, hệ số lương và cập nhật vào hệ thống Ngoài ra khi phát hiện các sai sót về thông tin các nv, phòng nhân sự thực hiện sửa chữa
- Nghiệp vụ chính của phòng nhân sự là theo dõi chấm công theo ngày của từng nhân viên trong tổ chức Cuối tháng họ phải thống kê bảng chấm công để xác định số ngày nghỉ, số ngày làm thêm, tăng ca của từng nhân viên gửi cho bộ phận kế toán để tính tổng lương cho nhân viên
- Sau khi nhận được bảng chấm công dựa vào quy tắc tính lương bộ phận kế toán tính lương , các khoản trích theo lương BHYT, BHXH cho các nhân viên
3.1 Đặc tả yêu cầu
Mô tả các chức năng của HT thông qua 2 phương pháp: phỏng vấn trực tiếp các nhân viên trong phòng quản lý nhân sự của công ty và thu thập thông tin thứ cấp từ tài liệu trong công ty
Tất cả các yêu cầu về PM do NSD đưa ra như sau:
Trang 9 Yêu cầu chức năng: HT quản lý nhân sự được cài đặt trên ACCESS.
Yêu cầu phi chức năng:
Đặc tả về sp: Chương trình xây dựng bằng ngôn ngữ C++, logo công ty đặt ở góc trên bên trái màn hình, cỡ chữ 18, font Times New Roman, Thời gian trả lời tìm kiếm không quá 2s
Đặc tả về mặt tổ chức: nhân viên không thuộc bộ phận quản lý phòng nhân sự thì không được phép truy nhập(sửa chữa) vào chức năng nghiệp vụ
Yêu cầu ngoài: yêu cầu bảo mật thông tin cá nhân của nhân viên
Đặc tả miền ứng dụng:
Dữ liệu được xây dựng theo mô hình quan hệ để dễ dàng cho đội lập trình theo hướng cấu trúc
Dữ liệu dạng văn bản: text<=255 kí tự
Yêu cầu về thời gian phản hồi của hệ thống (hiệu năng)
- Nhanh, thời gian phản hồi của các chứa năng cơ bản của hệ thống không vượt quá 2 giây
Yêu cầu về giao diện người dùng
- Giao diện thân thiện, bố trí hợp lý, phù hợp với các thao tác của người sử dụng
- Đảm bảo giúp người sử dụng thao tác nhanh và chính xác
- Sử dụng font chữ Times New Roman
Khả năng phát triển mở rộng
Một phần mềm tốt luôn phải có kế hoạch phát triển và nâng cấp tính năng mới liêntục yêu cầu nhà cung cấp nêu rõ kế hoạch phát triển những tính năng mới trong tương lai gần
Trang 103.3 Sơ đồ thể hiện các chức năng trong phần mềm quản lý nhân sự
1 Sơ đồ phân cấp chức năng
2 Sơ đồ luồng dữ liệu
2 Sơ đồ luồng dữ liệu mức ngữ cảnh
Quản lý nhân sự
Quản lý
người dùng
Quản lý nhân viên
Quản lý tiền lương
báo cáo Đăng ký
Tìm kiếm theo tên NV
Cập nhật thông tin
NV Theo dõi chấm công
Điều chỉnh
về lương
NV Tính lương nhân viên
BC lương tổng hợp
BC lương từng NV
TK NV đến thời hạn tăng lương Quản lý
đăng nhập
Trang 113 Biểu đồ luồng dữ liệu mức đỉnh
Quản lý nhân viên
Bảng chấm công
Yêu cầu
Báo cáo
Yêu cầuKết quả
Ngày côngMức lương
Thông tin
cá nhânCập nhật
Bảng chấm công
Theo dõi chấm công
Hồ sơ NVCập nhật
Trang 123.3 Chức năng quản lý lương:
Ngày công
công
Số ngày nghỉ
Tính lương
Bảng lươngBảng chấm công
Hồ sơ NV
Báo cáo, thống kê
Trang 13(1,n)
(1,n) (1,1)
maPBtenPB
truongPSĐT
donvinguoilapngaylap
SBL
nguoilap
phongquanlyngaylap
soBCC
làm việc
có có
có
Trang 14Xây dựng từ điển dữ liệu
Bảng 1: NHANVIEN (thông tin cơ bản của nhân viên)
Bảng 3: BANGLUONG (lưu thông tin về bảng lương)
Bảng 4: BANGCHAMCONG (lưu thông tin về bảng chấm công)
Trang 15 Bảng 5: HOSO (lưu thông tin về sơ yếu lý lịch của nhân viên)
Bảng 6: LUONG (Lưu thông tin về bảng lương cuối tháng)
Bảng 7: CHAMCONG (Lưu thông tin về bảng chấm công)
4 Thiết kế giao diện
Form quản lý nhân viên
Trang 16 Form quản lý hồ sơ nhân viên
Trang 17 Form quản lý chấm công
Form quản lý tiền lương
Trang 185 Lập trình
Viết đoạn code tính lương cho nhân viên
Sử dụng ngôn ngữ lập trình hướng đối tượng C++ để xây dựng đoạn code
Sử dụng ngôn ngữ này cho phép tổ chức chương trình thành các lớp (class) Khác với cáchàm và thủ tục của ngôn ngữ lập trình hướng cấu trúc, lớp là đơn vị bao gồm cả dữ liệu
và các phương thức xử lý cho từng đối tượng cụ thể Vì vậy các lớp có thể mô tả các tậpthực thể một cách chân thực, đầy đủ cả phần dữ liệu và yêu cầu quản lý Qua đó có thể dễdàng quản lý,nâng cấp và bảo trì hệ thông một cách dễ dàng và linh động
Do thời gian gấp rút và kinh nghiệm xây dựng phần mềm chưa có nên nhóm chúng tôichỉ thực hiện code một phần nhỏ đó là: tính lương cho nhân viên trong toàn bộ dự ánphần mềm mà chúng tôi đang xây dựng này
Đoạn code: Tính lương cho nhân viên
Chia thành 2 lớp cụ thể đó là: lớp nhân viên và lớp lương
1 Lớp lương
- Thuộc tính: + Số ngày công trong 1 tháng
+ Hệ số lương (tiền lương của 1 ngày công)
+ Bảo hiểm y tế theo quy định của công ty cho từng đối tượng khác nhau của bộ
Trang 19phận nhân viên trong công ty.
+ Thưởng: các chế độ thưởng của công ty cho các cá nhân trong công ty
- Phương thức:
+ Nhập và xuất thông tin cho các thuộc tính
+ Tính lương
Lương = (số ngày công)* (Hệ số lương) - BHYT + Thưởng
Bên cạnh đó: nếu nhân viên nào có mức lương >=5.000.000đ thì sẽ bị trừ đi 5% lương.5% này là thuế thu nhập cá nhân theo pháp luật quy định
2 Lớp Nhân viên có kế thừa các thuộc tính và phương thức của lớp lương (Mỗi nhânviên đều có các thuộc tính của lớp lương)
- Thuộc tính: + Họ và tên nhân viên
+ Mã nhân viên
+ Chức vụ
- Phương thức:+ Nhập và xuất thông tin cho các thuộc tính
+ Xuất ra danh sách tính lương của các nhân viên trong công y
float bhyt; //Bảo hiểm y tế
float bonus; //Thưởng
Trang 20cout <<"\nSo ngay cong: "; cin >>nc;
}while(nc < 30); /*số ngày công trong tháng không quá
30 ngày.*/
cout <<"\nBao hiem y te: "; cin >>bhyt;
cout <<"\nThuong nhan vien: "; cin >>bonus;
luong = hsl * nc - bhyt + bonus;
//Luong = (he_so_luong)*(so_ngay_cong) - (bao_hiem_y_te) + thuong if(luong >=5000000)
luong = luong - luong*0.05;
//trong do: 0.05 = 5% đây là thuế thu nhập cá nhân
return luong;
Trang 21}
};
//Khai báo lớp nhân viên kế thừa dạng public của lớp LUONG
class NV : public LUONG
{
private:
char name[30]; //Ho va ten nhan vien
char mnv[10]; //Ma nhan vien
char cv[30]; //chuc vu cua nhan vien
Trang 22void main()
{
int n;
NV nv[100]; //Cong ty co toi da 100 nhan vien
cout <<"\nNhap so luong nhan vien: n = "; cin >>n;
cout <<"\n _Nhap thong tin cho nhan vien _\n\n";
for(int i = 0; i < n; i++)
{
cout <<"\nNhap nhan thu " <<i+1 <<": \n"; cin.ignore();
nv[i].nhap();
}
cout <<"\n\n _Danh sach tinh luong nhan vien _\n\n";
cout <<setw(8) <<"MNV" <<setw(20)<<"Ho va ten"<<setw(14) <<"Chuc
vu"<<setw(7)<<"He so" <<setw(4)<<"NC" <<setw(7)<<"BHYT" <<setw(8)<<"Thuong"
Trang 23Kiểm thử
Mục đích test nhằm kiểm tra :
Việc sử dụng thông qua mục tiêu test phản ánh đúng các chức năng và yêu cầu nghiệp
vụ, bao gồm màn hình đến màn hình, trường đến trường và sử dụng các phương pháptruy cập (phím tabs, di chuột, tổ hợp phím)
Tên kiểm thử: kiểm thử tìm kiếm theo MNV
Thiết kế dữ liệu vào: kiểu text
Mã nhân viên do công ty cung cấp có dạng: CTXxxxxx
Gồm 8 kí tự bắt đầu là CTX và sau đó là 5 kí tự kiểu int
Test 1: nhập vào CTX000a1kích chọn tìm kiếm
Kết quả đầu ra thực tế
Hiện ra màn hình không có kết quả và thoát về trang tìm kiếm sau vài giây
Kết luận: Có lỗi trong khi lập trình module tìm kiếm cần phải đưa ra thông báo hướngdẫn NSD khi họ nhập sai
Kết quả: Hiện ra form thông báo trên màn hình: Không tìm thấy thông tin nhân viên có
mã là CTX000a1 Mời bạn nhập lại!
TÌM KIẾM THÔNG TIN
Tìm kiếm Hủy Trở về
Trang 24C Kết luận
Sau khi hoàn thành dự án, nhóm chúng tôi đã thu được nhiều bài học và kinh nghiệmtrong quá trình làm đề tài:”xây dựng phần mềm quản lý nhân sự cho công ty cổ phầnContrexim Hồng Hà” Do thời gian và kỹ năng còn hạn hẹp nên nhóm chúng tôi mới chỉđưa ra được những lý thuyết cơ bản để xây dựng phần mềm mà chưa đi sâu được vàothiết kế và xây dựng các module
VI.1 Ưu điểm
- Quản lý CSDL trên ACCESS nên khá là dễ sử dụng và giúp cho các nhân viên dễthao tác
VI.2 Khuyết điểm:
- Do thời gian nghiên cứu có hạn và khả năng còn hạn chế nên một số chức năngvẫn chỉ còn trên ý tưởng, chưa được thực thi
- Một số chức năng còn chưa hoạt động ổn định
- Chương trình có tính chuyên nghiệp chưa cao
- Chưa giải quyết chọn vẹn các vấn đề nảy sinh trong quá trình quản lý
- Chương trình chưa có tính thẩm mỹ chưa cao
VI.3 Hướng phát triển của phần mềm :
- Tìm hiểu và hoàn thiện một số chức năng chưa thực hiện trong ứng dụng