LỜI NÓI ĐẦU
CHƯƠNG I: GIỚI THIỆU TỔNG QUAN VỀ CÔNG TY CỔ PHẦN GIẢI PHÁP PHẦN MỀM THƯƠNG MẠI ESOFT 1
I. Tổng quan về Công ty cổ phần giải pháp phần mềm thương mại Esoft 1
1. Quá trình hình thành và phát triển của Công ty 1
2. Hệ thống tổ chức, chức năng, nhiệm vụ của Công ty 4
2.1. Hệ thống tổ chức 4
2.2. Chức năng, nhiệm vụ hoạt động của Công ty 8
2.3. Phương châm hoạt động 9
2.4. Các sản phẩm của Công ty 10
2.5. Đặc điểm sản phẩm của Công ty 13
3. Thực trạng, kết quả đã đạt được của Công ty trong những năm qua 15
4. Định hướng phát triển của Công ty 16
5. Một số cam kết chung của Công ty 17
5.1. Cam kết về Công nghệ phát triển sản phẩm 17
5.2. Cam kết về giảm thiểu tối đa các giá trị gia tăng trong quá trình sử dụng 17
5.3. Cam kết về hậu mãi 17
II. Thực trạng ứng dụng công nghệ thông tin tại Công ty và lựa chọn đề tài 18
1. Cơ sở vật chất tin học của Công ty 18
2. Tình hình ứng dụng tin học hỗ trợ quản lý và nghiệp vụ tại Công ty 18
3. Định hướng đề tài nghiên cứu 19
3.1. Tên đề tài 19
3.2. Lý do chọn đề tài 19
3.3. Sự cần thiết của đề tài 20
3.4. Mục đích của đề tài 21
CHƯƠNG 2: PHƯƠNG PHÁP LUẬN VÀ CÔNG CỤ SỬ DỤNG ĐỂ XÂY DỰNG PHẦN MỀM QUẢN LÝ TIỀN LƯƠNG 22
2.1. Nền tảng trong xây dựng phần mềm quản lý tiền lương 22
2.2. Quy trình sản xuất phần mềm quản lý tiền lương 23
2.2.1. Xác định yêu cầu khách hàng 23
2.2.1.1. Khảo sát, xác định yêu cầu của khách hàng 25
2.2.1.2. Phân tích nghiệp vụ 27
2.2.1.3. Công cụ mô hình hóa 28
2.2.2. Thiết kế phần mềm quản lý tiền lương 32
2.2.2.1. Phương pháp thiết kế: 33
2.2.2.2. Thiết kế hệ quản trị cơ sở dữ liệu cho phần mềm quản lý tiền lương Esoft HRM 36
2.2.3. Lập trình phần mềm quản lý tiền lương 42
2.2.3.1. Lập trình thư viện chung 43
2.2.3.2. Lập trình Module 43
2.2.3.3. Tích hợp hệ thống: 43
2.2.4. Test phần mềm quản lý tiền lương 44
2.3. Ngôn ngữ lập trình VISUAL BASIC 45
2.3.1. Các thành phần của Visual Basic 46
2.3.2. Những ưu điểm khi sử dụng Visual Basic trong lập trình 47
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ PHẦN MỀM QUẢN LÝ TIỀN LƯƠNG 48
3.1. Phân tích khi xây dựng phần mềm 48
3.1.1. Yêu cầu của phần mềm 48
3.1.2. Các thông tin đầu vào 49
3.1.3. Các thông tin đầu ra 51
3.2. Biểu đồ phân cấp chức năng (BFD) 51
3.3. Sơ đồ luồng dữ liệu (DFD – Data Flow Diagram) 53
3.3.1. Sơ đồ ngữ cảnh – Context Diagram 53
3.3.2. Sơ đồ luồng dữ liệu mức đỉnh 53
3.5. Thiết kế cơ sở dữ liệu 56
3.6. Giải thuật một số module xử lý 61
3.7. Thiết kế giao diện 67
KẾT LUẬN
TÀI LIỆU THAM KHẢO
PHỤ LỤC
103 trang |
Chia sẻ: huong.duong | Lượt xem: 1291 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Tình hình hoạt động tại Công ty cổ phần giải pháp phần mềm thương mại Esoft, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
đang xây dựng. Yêu cầu của mô hình này là phải xác định một cách rõ ràng những gì mà phần mềm quản lý tiền lương phải thực hiện mà chưa cần quan tâm đến phương pháp để thực hiện các chức năng ấy.
Khi lập sơ đồ chức năng BFD cho phần mềm quản lý tiền lương cần tuân thủ một số quy tắc sau.
Tuần tự: Ghi chức năng của từng cấp theo thứ tự xuất hiện của chúng.
Tên gọi của sơ đồ chức năng cần được đặt đầy đủ, rõ nghĩa để người sử dụng có thể hiểu và dễ dàng phân biệt các chức năng với nhau.
Một chức năng gồm: Tên chức năng, Mô tả chức năng, Đầu vào của chức năng, Đầu ra của chức năng. Ví dụ như, khi mô hình hóa chức năng quản lý thông tin bảng chấm công trong phần mềm quản lý tiền lương ta có các thành phần của chức năng này như sau.
Tên chức năng
Quản lý thông tin bảng chấm công
Mô tả chức năng
Cập nhật số ngày công, giờ công của từng nhân viên.
Quản lý công tác chấm công theo thời gian và chấm công theo sản phẩm
Quản lý ngày công lao động hành chính, lương khoán, lao động theo giờ thực tế,
Đầu vào của chức năng
Thông tin được cập nhật khi bộ phận quản lý lương nhận được bảng chấm công từ các phòng ban.
Đầu ra của chức năng
Báo cáo bảng chấm công của các nhân viên trong doanh nghiệp gồm mọi dữ liệu cần thiết đã qua xử lý
b) Mô hình luồng dữ liệu (DFD – Data Flow Diagram)
Cũng như sơ đồ luồng thông tin, sơ đồ luồng dữ liệu dùng để mô tả chính luồng thông tin trong phần mềm nhưng trên góc độ trừu tượng. Sơ đồ DFD là sự thể hiện sơ đồ các luồng dữ liệu, các xử lý, các lưu trữ dữ liệu, nguồn và đích nhưng không hề quan tâm tới nơi, thời điểm và đối tượng chịu trách nhiệm xử lý. Sơ đồ luồng dữ liệu đơn thuần mô tả hệ thống làm gì và để làm gì.
Mô hình DFD trợ giúp cho hai hoạt động chính trong quá trình phân tích thông tin.
Giai đoạn phân tích: Xác định yêu cầu người sử dụng.
Giai đoạn thiết kế: Lập kế hoạch và mô tả các phương án cho phân tích viên và người dùng khi xây dựng phần mềm mới.
Các ký pháp sử dụng trong sơ đồ DFD
Tên người/bộ phận nhận, gửi thông tin
Nguồn hoặc đích
Cục thuế
Tên luồng thông tin
Dòng dữ liệu
Thông tin tính lương
Tên tiến trình
xử lý
Tiến trình xử lý
1.0
Quản lý thông tin bảng chấm công
Tệp dữ liệu
Tệp dữ liệu
Hồ sơ nhân viên
Phân rã sơ đồ luồng dữ liệu
Tùy theo từng trường hợp khác nhau và tùy vào tính chất khác nhau của phần mềm mà ta cần phải sử dụng kỹ thuật phân rã (Explosion) sơ đồ DFD theo các mức khác nhau. Sơ đồ DFD có các mức: sơ đồ ngữ cảnh, sở đồ DFD mức 0, sơ đồ DFD mức 1,Thông thường, đối với những phần mềm có độ phức tạp như đề tài đang thực hiện ta chỉ tiến hành phân rã sơ đồ DFD đến mức 1.
Sơ đồ ngữ cảnh (Context Diagram) thể hiện rất khái quát nội dung chính mà phần mềm thực hiện. Sơ đồ này không đi vào chi tiết mà mô tả sao cho chỉ cần một lần nhìn là nhận ra nội dung chính của nó.
Để mô tả chi tiết hơn ta sử dụng sơ đồ DFD mức 0 và sơ đồ DFD mức 1. Sơ đồ DFD mức 0 bao gồm các chức năng chính trong phần mềm và sơ đồ DFD mức 1 bao gồm các quy trình con của một chức năng cụ thể.
Trong sơ đồ DFD người ta còn sử dụng các phích logic để hoàn chỉnh tài liệu cho phần mềm.
Các phích logic
Các phích logic được dùng để mô tả thêm cho luồng dữ liệu, các xử lý, kho dữ liệu, tệp dữ liệu và các phần tử thông tin trong phần mềm. Có năm loại phích logic thường sử dụng là:
Phích xử lý logic
Phích luồng dữ liệu
Phích phần tử thông tin
Phích kho dữ liệu
Phích tệp dữ liệu
Các phích logic được mô tả cụ thể như sau
Phích xử lý logic
Tên xử lý:
Mô tả:
Tên DFD có liên quan:
Các luồng dữ liệu vào:
Các luồng dữ liệu ra:
Kho dữ liệu mà xử lý sử dụng:
Mô tả logic của xử lý:
Phích luồng dữ liệu
Tên luồng:
Mô tả:
Tên DFD có liên quan:
Nguồn:
Đích:
Các phần tử thông tin:
Phích phần tử thông tin
Tên phần tử thông tin:
Loại:
Độ dài:
Tên DFD có liên quan:
Các giá trị cho phép:
Phích kho dữ liệu:
Tên kho:
Mô tả:
Tên DFD có liên quan:
Các xử lý có liên quan:
Tên sơ đồ cấu trúc dữ liệu có liên quan:
Phích tệp dữ liệu:
Tên tệp:
Mô tả:
Tên DFD có liên quan:
Các phần tử thông tin:
Khối lượng (Bản ghi, Ký tự):
2.2.2. Thiết kế phần mềm quản lý tiền lương
Trên cơ sở hồ sơ xác định yêu cầu của khách hàng, các phân tích viên sẽ tiến hành giai đoạn thiết kế nhằm xác định hồ sơ tổng thể các vấn đề thiết kế phần mềm từ tổng quát tới chi tiết. Các tài liệu và hoạt động đặc trưng cho quá trình thiết kế: xây dựng đặc tả yêu cầu phần mềm, tài liệu kiến trúc hệ thống, thiết kế dữ liệu, thiết kế chương trình, thiết kế thủ tục, thiết kế giao diện và xem xét thiết kế.
Lưu đồ:
Bắt đầu
Lập kế hoạch thiết kế chi tiết
Thiết kế kiến trúc phần mềm
Thiết kế dữ liệu
Thiết kế thủ tục
Thiết kế chương trình
Thiết kế giao diện
Lập hồ sơ thiết kế
Kết thúc
2.2.2.1. Phương pháp thiết kế:
Thiết kế phần mềm đóng một vai trò quan trọng ở vị trí trung tâm trong quá trình xây dựng phần mềm. Thiết kế là cách duy nhất để chúng ta có thể dịch một cách chính xác các yêu cầu của khách hàng thành sản phẩm. Một phần mềm có thiết kế khi phát triển thêm các chức năng cho nó người ta luôn có nền tảng định hướng rõ ràng mà khi phát triển không gây ra những đổ vỡ cho phần mềm. Khi gặp những va chạm của thực tiễn một phần mềm không được thiết kế đầy đủ có thể dẫn đến những hậu quả nghiêm trọng cho doanh nghiệp sử dụng. Thiết kế phần mềm cho phép xem xét, so sánh các phương án kỹ thuật khác nhau; xác định phương án phù hợp nhất với các yêu cầu phần mềm; lập các kế hoạch chi tiết cho giai đoạn xây dựng phần mềm. Một khi các yêu cầu phần mềm đã được phân tích và đặc tả thì thiết kế là một trong ba hoạt động kỹ thuật để xây dựng và kiểm chứng phần mềm.
Ở các góc độ khác nhau thì tiến trình thiết kế trong công nghệ phần mềm lại gồm các bước khác nhau. Theo quan điểm quản lý dự án, thiết kế phần mềm được tiến hành theo hai bước: Thiết kế sơ bộ, Thiết kế chi tiết. Thiết kế sơ bộ xác định mô hình kiến trúc và các thành phần trong kiến trúc phần mềm. Thiết kế chi tiết là tiến hành chi tiết hóa từng thành phần, xác định đầy đủ các thông tin tương ứng cho từng thành phần. Nếu xuất phát từ góc độ kỹ thuật thì quy trình thiết kế lại bao gồm bốn bước: Thiết kế kiến trúc, Thiết kế dữ liệu, Thiết kế thủ tục, Thiết kế giao diện. Là người xây dựng phần mềm em thấy nên xem xét tiến trình thiết kế ở góc độ kỹ thuật.
a) Khái niệm Module hóa:
Trong lập trình cấu trúc người ta dựa trên một ý tưởng gọi là module hóa mà bản chất của nó khá phù hợp với phương pháp phân tích của triết học tức là khi nghiên cứu một vấn đề nào đó ta phân rã vấn đề đó thành những vấn đề nhỏ hơn, chi tiết hơn bao gồm từng bộ phận cấu thành nên vấn đề lớn. Trong tin học, module hóa được sử dụng khi chuyển từ vấn đề thực tế sang giải pháp phần mềm. Trong khuôn khổ đề tài xây dựng phần mềm quản lý tiền lương quá trình phân tích dừng lại ở các module độc lập và thông thường mỗi module tương ứng với một chương trình.
b) Phương pháp thiết kế kiến trúc phần mềm quản lý tiền lương Esoft HRM
Có rất nhiều phương pháp để thiết kế kiến trúc phần mềm tuy nhiên trong sản xuất phần mềm hiện đại người ta thường sử dụng hai phương pháp: Thiết kế từ đỉnh xuống và Thiết kế từ dưới lên. Mỗi phương pháp đều có những ưu và nhược điểm riêng. Nhưng trong đề tài này em sử dụng phương pháp thiết kế từ dưới lên bởi những lý do sẽ được trình bày ở dưới.
Thiết kế từ dưới lên – Bottom Up Design
Phương pháp này có tư tưởng như sau: Trước hết, người ta tiến hành giải quyết các vấn đề cụ thể, sau đó trên cơ sở đánh giá mức độ tương tự về chức năng của những vấn đề này trong việc giải quyết bài toán ta tiến hành gộp chúng lại thành từng nhóm có cùng chức năng từ dưới lên trên cho đến module chính. Sau đó, ta có thể thiết kế thêm một số chương trình để làm cho phần mềm thêm phong phú, linh hoạt và quan trọng hơn cả là có thể tập hợp các module thành một hệ thống nhất, hoàn chỉnh.
Phương pháp này được áp dụng khi ta cần hoàn thiện, phát triển một phần mềm đã có sẵn. Hiện nay, hầu hết các doanh nghiệp đã sử dụng phần mềm quản lý tiền lương để hỗ trợ nghiệp vụ cho nhân viên. Tuy nhiên, với những thay đổi trong chính sách về thuế thu nhập cá nhân mới của Nhà nước những phần mềm này không còn khả năng hỗ trợ đắc lực cho bộ phận quản lý tiền lương nữa. Đứng trước nhu cầu đó, lập trình viên cần phải sửa đổi một số module chương trình trong phần mềm có liên quan đến thuế thu nhập cá nhân để phần mềm có thể thích ứng được với những thay đổi trong chính sách mới. Như vậy, các doanh nghiệp vẫn có thể sử dụng được phần mềm cũ, giảm được chi phí, thời gian cũng như tránh được những xáo trộn không cần thiết.
Thiết kế từ đỉnh xuống – Top Down Design
Tư tưởng của phương pháp này ngược lại với phương pháp Bottom Up Design. Trước hết, ta cần xác định các vấn đề chủ yếu nhất để có thể giải quyết được bài toán, bao quát toàn bộ nội dung bài toán. Sau đó phân chia vấn đề cần giải quyết thành các vấn đề nhỏ hơn, cụ thể hơn tức là chuyển dần từ module chính đến các module con theo trình tự từ trên xuống dưới.
Phạm vi áp dụng của phương pháp: phương pháp Top Down Design được áp dụng khi ta xây dựng các phần mềm mới, không mang tính kế thừa từ các phần mềm cũ.
Trên đây là hai phương pháp thiết kế kiến trúc cơ bản trong lập trình cấu trúc. Tùy theo từng yêu cầu cụ thể mà ta có thể lựa chọn một phương pháp phù hợp nhất khi tiến hành xây dựng phần mềm. Với đề tài đã chọn, khi thiết kế hệ thống em sử dụng phương pháp thiết kế từ dưới lên - Bottom Up Design.
2.2.2.2. Thiết kế hệ quản trị cơ sở dữ liệu cho phần mềm quản lý tiền lương Esoft HRM
a) Khái niệm Cơ sở dữ liệu
Để hiểu về cơ sở dữ liệu trước hết ta cần tìm hiểu một số khái niệm liên quan đến vấn đề này. Trước khi có máy tính điện tử người ta phải thu thập, lưu trữ, xử lý, phân tích và cập nhật dữ liệu một cách thường xuyên. Các dữ liệu này thường được lưu trữ trên giấy tờ hoặc một số phương tiện nhớ khác như băng, đĩa, thậm chí là trong trí óc của những cá nhân đang đảm nhiệm công tác đó. Bởi thế, nó đòi hỏi cả về người và thời gian xử lý gây tốn kém cho doanh nghiệp mà kết quả xử lý thông tin cũng không cao, thiếu chính xác, quy trình xử lý thì phức tạp, khả năng tìm kiếm thông tin bị hạn chế.
Khi máy tính ra đời người ta đã sử dụng các hệ quản trị cơ sở dữ liệu để lưu trữ, cập nhật, xử lý và tìm kiếm thông tin. Hệ quản trị cơ sở dữ liệu thực chất là một hệ thống chương trình máy tính giúp tạo lập, duy trì và sử dụng các hệ cơ sở dữ liệu. Một vài hệ quản trị cơ sở dữ liệu thông dụng nhất theo mô hình quan hệ là: Oracle, Microsoft Access, Microsoft SQL Server, SQL/DS,
Cơ sở dữ liệu liên quan đến một số khái niệm cơ bản sau.
Thực thể (Entity) là một đối tượng nào đó mà người ta muốn quản lý những thông tin liên quan đến nó. Thực thể có thể là người, sự vật hiện tượng hay một khái niệm nào đó. Chẳng hạn, trong phần mềm quản lý tiền lương đang nghiên cứu ta có các thực thể như: thực thể cán bộ, thực thể phòng ban,
Thuộc tính (Attribute) là những đặc điểm, tính chất có liên quan đến thực thể mà ta cần lưu trữ. Các thuộc tính là các yếu tố dữ liệu tách biệt mà ta không thể chia nhỏ được nữa. Ví dụ như thực thể cán bộ có các thuộc tính như: mã cán bộ, họ tên, ngày sinh, nơi sinh, địa chỉ, số điện thoại, chỗ ở hiện tại,
Bảng (Table) là nơi lưu trữ các thông tin về thực thể. Ví dụ như bảng “Hồ sơ cán bộ” lưu trữ các thông tin về cán bộ.
Mỗi bảng có các dòng (Row) hay còn gọi là một bản ghi (Record). Mỗi bản ghi lưu trữ các thông tin đầy đủ về một cá thể (Instance) tức là một biểu hiện cụ thể, riêng biệt của thực thể. Ví dụ như dòng lưu trữ các thông tin về cá thể Nguyễn Hương Minh Trang trong thực thể cán bộ có các thông tin như: MaCB là ‘0001’, Họ tên là ‘Nguyễn Hương Minh Trang’, Ngày sinh là ‘02/05/1987’,
Mỗi bảng còn có các cột (Column), còn gọi là các trường (Field). Các trường ghi lại một thuộc tính của tất cả các cá thể trong thực thể. Chẳng hạn, trường họ tên là thuộc tính họ tên của tất cả các cán bộ trong bảng ‘Hồ sơ cán bộ’. Giao giữa dòng và cột là một ô ghi lại thông tin cụ thể của cá thể. Ví dụ như ô giao giữa dòng thứ 1 và cột họ tên có dữ liệu là ‘Nguyễn Hương Minh Trang’ là thông tin về họ tên của cán bộ có mã ‘0001’ và cán bộ này có họ tên là ‘Nguyễn Hương Minh Trang’.
Cơ sở dữ liệu (Database) là một nhóm gồm một hay nhiều bảng có liên quan với nhau. Ví dụ tất cả các bảng có liên quan đến cán bộ như ‘HSCB’, ‘DM_Phongban’, ‘Khen thưởng’, hợp thành cơ sở dữ liệu về nhân sự.
b) Phương pháp thiết kế cơ sở dữ liệu
Có hai phương pháp cơ bản để thiết kế cơ sở dữ liệu đó là: Thiết kế cơ sở dữ liệu đi từ các thông tin đầu ra và Thiết kế cơ sở dữ liệu bằng phương pháp mô hình hóa.
b.1) Thiết kế cơ sở dữ liệu từ các thông tin đầu ra
Để thiết kế cơ sở dữ liệu theo phương pháp này cần tiến hành theo các bước sau.
Bước 1: Xác định các thông tin đầu ra
Ở bước này ta liệt kê toàn bộ các thông tin đầu ra, nội dung tần suất và nơi nhận của chúng. Chẳng hạn với cơ sở dữ liệu về bảng chấm công ta sẽ có các thông tin đầu ra như: danh sách cán bộ, danh sách phòng ban, hệ số lương,
Bước 2: Xác định các tên tệp cần thiết cung cấp đủ dữ liệu cho việc tạo ra từng đầu ra.
Ở bước này ta cần liệt kê các phần tử thông tin đầu ra theo nguyên tắc:
Liệt kê tất cả thông tin đầu ra của mỗi phần tử thông tin cụ thể.
Đánh dấu các thuộc tính lặp, các thuộc tính thứ sinh.
Gạch chân các thuộc tính khóa.
Loại bỏ các thuộc tính thứ sinh.
* Các mức chuẩn hóa dữ liệu
Chuẩn hóa mức 1 (1.NF)
Chuẩn hóa mức 1 quy định, mỗi danh sách không chứa danh sách lặp. Nếu có các thuộc tính lặp thì phải tách các thuộc tính đó thành các danh sách con có ý nghĩa dưới góc độ quản lý. Gắn thêm cho nó một tên, tìm cho nó một thuộc tính định danh riêng và thêm thuộc tính định danh của danh sách gốc.
Chuẩn hóa mức 2 (2.NF)
Chuẩn hóa mức hai quy định, mỗi danh sách mỗi thuộc tính phải phụ thuộc vào toàn bộ khóa chứ không chỉ phụ thuộc vào một phần của khóa. Nếu có sự phụ thuộc như vậy thì phải tách những thuộc tính phụ thuộc vào bộ phận của khóa thành một danh sách con mới.
Lấy bộ phận khóa đó làm khóa cho danh sách mới. Đặt cho danh sách mới này một tên riêng phù hợp với nội dung các thuộc tính trong danh sách.
Chuẩn hóa mức 3 (3.NF)
Chuẩn hóa mức ba quy định, trong một danh sách không được phép có sự phụ thuộc bắc cầu giữa các thuộc tính. Nếu thuộc tính này phụ thuộc hàm vào các thuộc tính kia thì phải tách chúng ra thành các thuộc tính khác nhau có quan hệ với nhau.
Mô tả các tệp
Sau khi thực hiện xong bước chuẩn hóa ta tiến hành mô tả các tệp dữ liệu. Mỗi danh sách xác định được sau bước chuẩn hóa mức ba sẽ là một tệp cơ sở dữ liệu.
Bước 3: Tích hợp các tệp để chỉ tạo ra một cơ sở dữ liệu
Từ mỗi đầu ra theo cách thực hiện ở bước trên sẽ tạo ra rất nhiều danh sách và mỗi danh sách liên quan đến một đối tượng quản lý có sự tồn tại riêng tương đối độc lập. Những danh sách nào cùng mô tả một thực thể thì tích hợp lại nghĩa là tạo ra một danh sách chung bằng cách tập hợp tất cả các thuộc tính chung và riêng của nó.
Bước này ta xác định số lượng các bản ghi của từng tệp cũng như xác định độ dài của từng thuộc tính, tính độ dài cho bản ghi.
Đối với mỗi tệp cơ sở dữ liệu (gọi là R) ta sử dụng những số đo kinh điển cho việc tính toán khối lượng dữ liệu.
L(R) là độ dài của một bản ghi tính theo số lượng ký tự.
N(R) là số lượng trung bình của các bản ghi R
NP(R) là số lượng trang logic dùng bởi R
TP là kích thước trang logic
Khi đó: NP(R) = E1[N(R)/E(TP/L(R))]
Trong đó: E1(x) là số nguyên được làm tròn lên x
E(x) là phần nguyên của x
Khối lượng dữ liệu của một sơ đồ được tính theo công thức sau:
∑ N(Ri)*(L(Ri)+S+D)
Trong đó, K là tổng số các tệp trên sơ đồ. Trên thực tế có thể chọn giá trị trung bình của D là 8 và giá trị trung bình của S là 12 để tính.
Bước 4: Xác định liên hệ logic giữa các tệp và thiết lập sơ đồ cấu trúc dữ liệu giữa các tệp
Ở bước này cần xác định mối liên hệ giữa các tệp và biểu diễn mối quan hệ giữa chúng bằng các mũi tên.
b.2) Thiết kế cơ sở dữ liệu bằng phương pháp mô hình hóa
Theo phương pháp này ta không đi mô tả và liệt kê các thông tin đầu ra mà sẽ dùng các mô hình để biểu diễn các thông tin, biểu diễn sự liên kết giữa các thực thể thông tin với nhau. Chẳng hạn, để biểu diễn mối quan hệ giữa cán bộ và phòng ban ta dùng mô hình sau.
Phòng ban
Có
Cán bộ
Theo phương pháp mô hình hóa các thực thể không tồn tại độc lập mà có quan hệ với nhau, các quan hệ này gồm: liên kết một – một, liên kết một – nhiều, liên kết nhiều – nhiều.
Liên kết một – một 1@1
Một lần xuất hiện của thực thể A được liên kết với chỉ một lần xuất hiện của thực thể B và ngược lại.
Trưởng phòng
Lãnh đạo
Phòng ban
Liên kết một – nhiều 1@N
Đây là loại liên kết phổ biến trong thực tế, một lần xuất hiện của thực thể A liên kết với một hay nhiều lần xuất hiện của thực thể B và mỗi lần xuất hiện của B chỉ liên kết với một lần xuất hiện của thực thể A. Ví dụ như mối quan hệ sau.
Phòng ban
Có
Chức vụ
Liên kết nhiều – nhiều N@N
Liên kết này có nghĩa là mỗi lần xuất hiện của thực thể A ứng với một hay nhiều lần xuất hiện của thực thể B và ngược lại.
Ví như quan hệ giữa phòng ban và cán bộ, một phòng ban có nhiều cán bộ cùng làm việc và cũng có thể một cán bộ trong một thời gian làm ở nhiều phòng khác nhau ở các cương vị khác nhau. Để biểu diễn mối quan hệ nhiều – nhiều ta dùng thực thể trung gian và trong trường hợp này là thực thể Chức vụ.
Phòng ban
Chức vụ
Cán bộ
Có
Có
2.2.3. Lập trình phần mềm quản lý tiền lương
Đây có thể coi là một trong những công đoạn quan trọng nhất khi sản xuất phần mềm. Nếu ta có một thiết kế tốt nhưng lập trình kém thì cũng không thể sản xuất ra một phần mềm tốt. Ở giai đoạn này trên cơ sở của hồ sơ thiết kế, phòng lập trình sẽ tiến hành chi tiết hóa các sơ đồ, lưu đồ để biến thành các bản vẽ thiết kế sản phẩm. Một điều quan trọng cần lưu ý khi lập trình là việc lập trình phải trung thành với thiết kế kiến trúc phần mềm không được làm thay đổi.
Các hoạt động và kết quả đặc trưng trong công đoạn lập trình: thiết kế kỹ thuật chi tiết, lập trình các thư viện chung, module, tích hợp module, tích hợp hệ thống, tài liệu mô tả hệ thống phần mềm được hoàn thành.
Lưu đồ:
Bắt đầu
Lập kế hoạch lập trình
Lập trình thư viện chung
Lập trình Module
Tích hợp hệ thống
Lập hồ sơ quy trình lập trình
Kết thúc
2.2.3.1. Lập trình thư viện chung
Đây là bước đầu tiên sau khi có kế hoạch lập trình. Trước hết cần tiến hành lập trình một thư viện là nơi lưu trữ các hàm, thủ tục, module,... để khi tiến hành lập trình các bước tiếp theo lập trình viên chỉ cần lấy ra sử dụng.
2.2.3.2. Lập trình Module
Module thực chất là một đoạn chương trình hoàn thiện có khả năng giải quyết một nhiệm vụ nào đó. Với phần mềm quản lý tiền lương ta cần lập trình các module như: module cập nhật danh mục, module tính lương, module kết xuất báo cáo,
2.2.3.3. Tích hợp hệ thống:
Sau khi đã có các module cần thiết lập trình viên cần phải thực hiện công việc tiếp theo là tích hợp các module đó lại với nhau thành một phần mềm hoàn chỉnh. Chẳng hạn với phần mềm quản lý tiền lương ta cần tích hợp các module như đã nói ở trên thành 1 phần mềm hoàn chỉnh.
2.2.4. Test phần mềm quản lý tiền lương
Các lập trình viên là người viết ra phần mềm vì thế phần mềm lúc này còn mang tính chủ quan của họ và tất nhiên nó còn chứa đựng một vài yếu tố sai sót nhất định. Vì vậy, sau khi hoàn tất công đoạn lập trình ta phải tiến hành test chương trình và test toàn bộ phần mềm để tìm và khắc phục lỗi. Quá trình test trong sản xuất phần mềm quản lý tiền lương bao gồm: test hệ thống theo những đặc tả yêu cầu về phần mềm của khách hàng, test nghiệm thu theo tiêu chuẩn nghiệm thu. Các hoạt động đặc trưng trong quá trình test: lập kịch bản test, chuẩn bị dữ liệu test, thực hiện test, ghi nhận lỗi.
Lưu đồ:
Bắt đầu
Lập kế hoạch Test
Lập kịch bản Test
Test hệ thống
Test nghiệm thu
Ghi nhận sai sót
Lập hồ sơ Test
Kết thúc
Test phần mềm là công việc mà bất cứ ai từng tham gia xây dựng, phát triển phần mềm đều biết và đã từng làm. Để thực hiện việc test phần mềm trước hết ta phải xây dựng kịch bản test, chuẩn bị dữ liệu test. Sau đó căn cứ vào kịch bản test để chạy thử phần mềm phát hiện lỗi. Test phần mềm là công việc hết sức nhạy cảm, nó là bước đệm giữa giai đoạn xây dựng và sử dụng phần mềm. Trong thực tế test phần mềm có rất nhiều mức độ khác nhau và có mối tương quan với các chặng phát triển trong dự án xây dựng phần mềm. Tuy nhiên có 4 mức độ chính khi tiến hành test phần mềm là:
Kiểm tra mức đơn vị (Unit test)
Kiểm tra tích hợp (Integration test)
Kiểm tra mức hệ thống (System test)
Kiểm tra chấp nhận sản phẩm (Acceptance test)
Trong khuôn khổ đề tài đang thực hiện cũng như trình độ của bản thân còn hạn chế em chỉ sử dụng mức độ Unit test khi tiến hành test phần mềm đang xây dựng. Để có thể hiểu rõ về unit test trước tiên ta cần làm rõ khái niệm: thế nào là một đơn vị phần mềm (unit)? Unit là một thành phần phần mềm nhỏ nhất mà ta có thể kiểm tra được. Theo định nghĩa này thì các hàm (function), thủ tục (procedure), lớp (class) hoặc các phương thức (method) đều có thể xem là unit. Vì unit thường có kích thước nhỏ, chức năng hoạt động đơn giản nên ta không gặp khó khăn trong việc kiểm tra, ghi nhận và phân tích kết quả kiểm tra. Nếu phát hiện lỗi việc xác định nguyên nhân cũng như khắc phục lỗi tương đối dễ dàng. Unit test đòi hỏi người kiểm tra phải có kiến thức về thiết kế và code của chương trình.
2.3. Ngôn ngữ lập trình VISUAL BASIC
VISUAL BASIC là sản phẩm ngôn ngữ lập trình trong bộ Visual Studio, đây là ngôn ngữ lập trình đa năng dùng để phát triển phần mềm nhằm giải quyết nhiều bài toán khác nhau trong quản lý.
VISUAL BASIC là ngôn ngữ lập trình trên Windows do hãng Microsoft xây dựng và được coi là ngôn ngữ lập trình hướng đối tượng. Visual Basic có một môi trường soạn thảo đơn giản, dễ sử dụng, dễ hiểu và thân thiện với người sử dụng. Đây là ngôn ngữ giúp cho các lập trình viên có thể thấy được ngay kết quả và giao diện sau mỗi thao tác thiết kế.
Trong Visual Basic khi thiết kế giao diện lập trình viên chỉ cần gắp thả các đối tượng và khi chương trình thực hiện nó sẽ thực hiện thông qua các sự kiện của đối tượng như: kích chuột, di chuột, nhấn phím, Hơn nữa khả năng thừa kế cũng như sử dụng những công cụ và thư viện có sẵn, khả năng tạo ra các thư viện giúp cho lập trình viên xây dựng các ứng dụng một cách nhanh chóng, hỗ trợ đắc lực trong việc lập trình theo nhóm.
2.3.1. Các thành phần của Visual Basic
Form (Giao diện): là các màn hình giao tiếp thực hiện các chức năng của dự án phần mềm. Trên form là những đối tượng do lập trình viên thêm vào trong quá trình xây dựng.
Report (Báo cáo): là sản phẩm đầu ra của dự án phần mềm, là kết quả cuối cùng của quá trình xử lý tổng hợp, phân tích và thống kê dữ liệu. Báo cáo chính là thước đo để đánh giá một phần mềm có thực sự tốt hay không? Các báo cáo có thể được thiết kế bằng công cụ có sẵn (Data Report) hoặc bởi một phần mềm chuyên dụng khác (Crystal report).
Thư viện (Class Module): là tập hợp các hàm hay thủ tục để thực hiện một module nào đó có thể được chia sẻ, kế thừa, sử dụng giữa các chức năng của phần mềm hay giữa các phần mềm khác nhau.
Cơ sở dữ liệu (Database): là nơi chứa các dữ liệu đầu vào hay đầu ra của dự án phần mềm. Nó được tạo ra và quản lý bởi một hệ quản trị cơ sở dữ liệu như Access, Foxpro hay SQL Server và được khai thác sử dụng thông qua các công cụ của Visual Basic.
2.3.2. Những ưu điểm khi sử dụng Visual Basic trong lập trình
Cho phép chỉnh sửa, ghép nối chương trình một cách dễ dàng, đơn giản.
Có khả năng liên kết với các thư viện liên kết động.
Cho phép lập trình viên thấy ngay kết quả từng thao tác khi xây dựng chương trình.
Tiết kiệm được thời gian và công sức của lập trình viên khi xây dựng các ứng dụng.
Với những ưu điểm nổi bật như ở trên trong chuyên đề tốt nghiệp của mình em quyết định chọn Visual Basic làm ngôn ngữ lập trình khi xây dựng phần mềm quản lý tiền lương.
CHƯƠNG 3
PHÂN TÍCH THIẾT KẾ PHẦN MỀM QUẢN LÝ
TIỀN LƯƠNG
3.1. Phân tích khi xây dựng phần mềm
3.1.1. Yêu cầu của phần mềm
Yêu cầu đặt ra là phải thiết kế phần mềm quản lý tiền lương cho doanh nghiệp. Và phần mềm đó phải có tính ứng dụng thực tế cao, đáp ứng được nhu cầu trong thời kỳ mới, phải thân thiện, dễ sử dụng, an toàn và đạt hiệu quả cao. Để thực hiện được điều đó thì phần mềm phải thực hiện được những việc sau:
Cập nhật và lưu trữ thông tin về nhân viên, bảng chấm công một cách nhanh chóng, chính xác.
Phần mềm phải có “tính mở”, các công thức liên quan đến tính lương phải là công thức động để nâng cao và hoàn thiện hơn so với các phần mềm quản lý lương trước đó nhằm đáp ứng được những thay đổi của chính sách tiền lương.
Giao diện người dùng thân thiện; cách bố trí, màu sắc hài hòa đẹp mắt.
Việc bảo mật, phân quyền được thực hiện chặt chẽ ở mức cơ sở dữ liệu và mức người sử dụng chương trình.
Chương trình ứng dụng đơn giản, sử dụng hệ thống phím tắt linh hoạt giúp người dùng có thể thao tác một cách nhanh chóng trong quá trình nhập liệu.
Hệ thống báo cáo thống kê dữ liệu khá đầy đủ, phong phú,và
Các file đính kèm theo tài liệu này:
- 2077.doc