ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI QUYẾT 1. Mục tiêu và nhiệm vụ: - Đồ án này nhằm xây dựng một hệ thống quản lý nhân sự toàn diện, sử dụng các công nghệ web hiện đại như HTML, CSS, JavaScript, Jquery, Bootstrap, ASP.NET và hệ quản trị cơ sở dữ liệu SQL Server. Mục tiêu của dự án là tối ưu hóa quá trình quản lý nhân viên trong môi trường doanh nghiệp. Cụ thể, các use case bao gồm tổng quát, đăng nhập, quản lý tài khoản, quản lý nhân sự, quản lý bảo hiểm, quản lý hợp đồng, quản lý lịch sử làm việc, quản lý thông tin chấm công, quản lý thông tin khen thưởng kỷ luật, quản lý phòng ban, quản lý bộ phận, quản lý ca làm, quản lý ngày nghỉ.
Định hướng giải quyết: - Sử dụng ASP.NET để xây dựng phần tương tác phía server của hệ thống. - Sử dụng SQL Server để lưu trữ và quản lý các dữ liệu liên quan trong phạm vi quản lý. - Tận dụng HTML, CSS, và JavaScript để phát triển giao diện người dùng thân thiện và dễ sử dụng. - Áp dụng nguyên tắc thiết kế MVC để đảm bảo tính mở rộng và bảo trì của hệ thống.
- Tối ưu hóa hiệu suất và bảo mật của hệ thống. Cơ sở lý thuyết và công cụ: - Cơ sở lý thuyết liên quan đến quản lý nhân sự, thiết kế hệ thống, và phát triển web sẽ được nghiên cứu và áp dụng. Công cụ chính sẽ bao gồm Visual Studio cho phát triển ASP.NET, SQL Server Management Studio cho quản lý cơ sở dữ liệu, và các trình duyệt web phổ biến để kiểm thử như chrome… 8 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 CHƯƠNG 2: CÁC KẾT QUẢ ĐẠT ĐƯỢC 2. Phân tích và thiết kế hệ thống 2.
Biểu đồ Use case 2. Xác định các tác nhân - Nhân sự: nhân sự là một người dùng và có thể thực hiện một số chức năng trong hệ thống - Quản lý: quản lý là một nhân sự trong công ty, được tin cậy và cấp quyền quản lý hệ thống. Quản lý sẽ quản lý một số thông tin trong hệ thống bao gồm các chức năng cơ bản như: xem, thêm, sửa, xóa - Admin: admin là người có quyền bao trùm hệ thống, có thể thực hiện mọi chức năng có trong hệ thống. Admin có thể cấp quyền quản lý hệ thống cho nhân sự.
9 Downloaded by tran quang (quangsuphamhoak35@gmail. Biểu đồ Use case tổng quan Hình 2.1: Biểu đồ Use case tổng quát hệ thống 2. Biểu đồ Use case các tác nhân 10 Downloaded by tran quang (quangsuphamhoak35@gmail. Use case Đăng nhập Hình 2.2: Biểu đồ Use case đăng nhập Đặc tả use case Use case Đăng nhập Use case ID UC01.UC01 Actor Người sử dụng hệ thống Description Actor muốn đăng nhập vào hệ thống để sử dụng các chức năng Trigger Actor thực hiện bấm nút đăng nhập hiển thị trên màn hình.
Pre-Condition: - Actor đã nhập thông tin đăng nhập chính xác và đầy đủ trên hệ thống - Tài khoản đăng nhập đã tồn tại trong hệ thống - Tài khoản không bị khóa hoặc hết thời gian bị khóa Basic flow 1. Người dùng truy cập vào hệ thống 11 Downloaded by tran quang (quangsuphamhoak35@gmail. Hệ thống hiển thị form đăng nhập chứa ô nhập username và password 3. Người dùng nhập thông tin đăng nhập 4.
Người dùng nhấn vào nút “Đăng nhập” 5. Hệ thống hiển thị thông báo đăng nhập thành công và tự động đi tới trang chủ hệ thống Result Actor đăng nhập được vào hệ thống và sử dụng được các chức năng. Exceptions - Nếu người dùng không nhập đủ các trường hoặc nhập thông tin các trường không đúng yêu cầu, hiển thị thông báo dưới mỗi trường. - Nếu username hoặc password không nhập đúng hoặc không tồn tại, hiển thị thông báo thông tin đăng nhập không chính xác.
- Nếu tài khoản đang bị khóa thì hiển thị thông báo. Priority Must have. Use case Đổi mật khẩu Use case ID UC01.UC02 Actor Người dùng hệ thống Description Người dùng muốn đổi mật khẩu tài khoản Trigger Người dùng ấn vào nút đổi mật khẩu ở trang tài khoản của tôi Pre-Condition: Người dùng buộc phải đăng nhập thành công Basic flow 1. Người dùng vào trang tài khoản của tôi 2.
Người dùng ấn vào nút đổi mật khẩu 3. Màn hình đi tới trang đổi mật khẩu có form bao gồm các trường mật khẩu cũ, mật khẩu mới, nhập lại mật khẩu mới và ô input tương ứng 4. Người dùng nhập thông tin lên form 5. Người dùng ấn xác nhận 6.
Thông tin mật khẩu mới đã được lưu vào database 7. Màn hình trở lại trang đổi mật khẩu và thông báo đổi thành công Result - Nếu usecase thành công thì người dùng đã đổi mật khẩu thành công - Ngược lại trạng thái không thay đổi. Exceptions - Nếu người dùng không nhập đầy đủ thông tin hoặc thông tin không đạt yêu cầu thì in ra thông báo - Nếu mật khẩu mới trùng mật khẩu cũ thì in ra thông báo - Nếu mật khẩu mới và nhập lại mật khẩu mới không trùng khớp thì in ra thông báo - Nếu mật khẩu cũ sai thì in ra thông báo Priority Must have. 12 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Use case Quên mật khẩu Use case ID UC01.UC03 Actor Người dùng hệ thống Description Người dùng quên mật khẩu để đăng nhập vào hệ thống và muốn khôi phục Trigger Người dùng ấn vào nút quên mật khẩu trên trang đăng nhập Pre-Condition: Người dùng có tài khoản trong hệ thống Basic flow 1.
Người dùng vào trang đăng nhập 2. Người dùng ấn nút quên mật khẩu 3. Màn hình hiển thị lên trang quên mật khẩu bao gồm ô nhập email của người dùng 4. Người dùng nhập email 5.
Người dùng ấn xác nhận 6. Hệ thống gửi mã xác nhận về email của người dùng 7. Màn hình chuyển sang trang xác thực tài khoản và thông báo đã gửi thông tin về email của người dùng 8. Màn hình hiển thị lên ô input yêu cầu nhập mã xác thực và mật khẩu mới 9.
Người dùng kiểm tra email, lấy mã xác thực và nhập đầy đủ thông tin 10. Người dùng ấn xác nhận 11. Đổi mật khẩu mới thành công màn hình trở về trang đăng nhập Result - Nếu usecase thành công thì người dùng sẽ đổi được mật khẩu mới - Ngược lại trạng thái không thay đổi. Exceptions - Nếu người dùng không nhập hoặc nhập không đúng yêu cầu thông tin hệ thống yêu cầu thì hiển thị lên thông báo.
- Nếu thông tin hệ thống yêu cầu không tồn tại trong database thì hiển thị lên thông báo - Người dùng nhập sai mã xác thực thì hệ thống hiển thị lên thông báo - Mã xác thực quá thời hạn sử dụng thì hệ thống hiển thị lên thông báo Priority Must have. Use case Đăng xuất Use case ID UC01.UC04 Actor Người dùng hệ thống Description Người dùng muốn đăng xuất khỏi tài khoản Trigger Người dùng ấn vào nút đăng xuất trên màn hình Pre-Condition: Người dùng buộc phải đăng nhập thành công vào hệ thống 13 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Basic flow 1. Người dùng ấn vào nút đăng xuất trên thanh header hoặc nút đăng xuất trong trang tài khoản của tôi 2. Màn hình đi tới trang đăng nhập Result - Nếu usecase thành công thì người dùng đã đăng xuất thành công - Ngược lại trạng thái không thay đổi.
Exceptions Không có Priority Must have. Use case quản lý tài khoản Hình 2.3: Biểu đồ Use case quản lý tài khoản Đặc tả use case Use case Xem tài khoản Use case ID UC02.UC01 Actor Người quản lý, admin 14 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Description Người dùng muốn xem danh sách tài khoản Trigger Người dùng ấn vào chức năng quản lý tài khoản trong trang chức năng Pre-Condition: Người dùng buộc phải thành công đăng nhập vào hệ thống với vai trò là admin hoặc quản lý Basic flow 1. Người dùng truy cập vào trang quản lý của hệ thống 2. Màn hình hiển thị lên danh sách các thông tin quản lý 3.
Người dùng chọn vào quản lý tài khoản 4. Màn hình hiển thị lên danh sách tài khoản có trong hệ thống Result - Nếu usecase thành công thì người dùng sẽ xem được danh sách tài khoản - Ngược lại trạng thái không thay đổi. Exceptions Không có Priority Must have. Use case Tìm kiếm tài khoản Use case ID UC02.UC02 Actor Người quản lý, admin Description Người dùng muốn tìm kiếm tài khoản Trigger Người dùng ấn truy cập vào trang quản lý tài khoản Pre-Condition: Người dùng buộc phải thành công đăng nhập vào hệ thống với vai trò là admin hoặc quản lý Basic flow 1.
Màn hình hiển thị lên danh sách tài khoản có trong hệ thống 2. Người dùng chọn ô tìm kiếm 3. Màn hình hiển thị lên một tập trường dữ liệu liên quan và ô input tương ứng 4. Người dùng nhập thông tin cần tìm kiếm vào ô input 5.
Màn hình hiển thị lên danh sách tài khoản hợp lệ với các trường người dùng đã nhập Result - Nếu usecase thành công thì người dùng đã tìm được tài khoản cần tìm Ngược lại trạng thái không thay đổi. Exceptions Không có Priority Must have. Use case Khóa tài khoản Use case ID UC02.UC03 Actor Admin 15 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Description Người dùng muốn khóa tài khoản nhân sự Trigger Người dùng ấn vào nút khóa trên hàng dữ liệu tài khoản ở danh sách tài khoản Pre-Condition: Người dùng buộc phải đăng nhập với vai trò là admin Basic flow 1. Danh sách tài khoản hiện lên 2.
Người dùng tìm đến tài khoản cần khóa 3. Người dùng ấn nút khóa 4. Màn hình hiển thị lên cảnh báo và ô input nhập thời gian khóa 5. Người dùng nhập thời gian khóa và nhấn xác nhận 6.
Thông tin được lưu vào database 7. Màn hình hiển thị thông báo khóa tài khoản thành công 8. Màn hình hiển thị lại danh sách tài khoản Result - Nếu usecase thành công thì tài khoản cần khóa đã bị khóa - Ngược lại trạng thái không thay đổi. Exceptions - Nếu tài khoản muốn khóa là tài khoản admin thì hiển thị lên thông báo - Nếu tài khoản muốn khóa đang bị khóa thì hiển thị lên thông báo - Nếu người dùng không muốn khóa nữa thì màn hình trở lại trang quản lý tài khoản tương ứng trước đó.
Priority Must have. Use case Cấp quyền tài khoản Use case ID UC02.UC04 Actor Admin Description Người dùng muốn cấp quyền quản lý hệ thống cho tài khoản Trigger Người dùng ấn vào nút cấp quyền trên hàng dữ liệu tài khoản ở danh sách tài khoản Pre-Condition: Người dùng buộc phải đăng nhập với vai trò là admin Basic flow 1. Danh sách tài khoản hiện lên 2. Người dùng tìm đến tài khoản muốn cấp quyền 3.
Người dùng ấn nút cấp quyền ở cột quyền quản lý 4. Màn hình hiển thị lên cảnh báo 5. Người dùng ấn xác nhận 6. Thông tin được lưu vào database 7.