liệt kê các danh mục còn lại)
a.Giao diện nhập liệu cho danh mục Task
- Tên danh mục: Task - Người sử dụng: Quản trị
- Mẫu thiết kế: Thiết kế theo ảnh dưới
- Nhiệm vụ: Thêm, sửa, xóa các task cần thiết trong dự án
- Tiền điều kiện: đã đăng nhập quyền quản trị hệ thống (Admin) - Hậu điều kiện: Trở về màn hình chính
• Mô tả thao tác
Thao tác người dùng Mô tả
Bước 1: Truy cập vào link phần mềm +Hiển thị màn hình đăng nhập với tên đăng nhập và mật khẩu
Bước 2: Nhập tên đăng nhập và mật khẩu
+Xảy ra 2 trường hợp:
• Nếu mật khẩu và tên đăng nhập đúng thì hiển thị màn hình chính • Nếu mật khẩu tên đăng nhập
không đúng thì quay trở lại màn hình đầu
Bước 3: Click chọn Admin +Hiển thị danh sách menu danh mục Bước 4: Click chọn Task +Hiển thị màn hình với danh sách Task Bước 5: Tùy chọn thực hiện các chức
năng
-Chức năng thêm:
+ Click chọn button New Task
+Nhập tên task, chọn loại Task từ option có sẵn.
-Chức năng Sửa:
+Click button Edit của bản ghi muốn sửa
+Sửa thông tin Task
+Hiển thị form thêm mới sẵn sàng với các ô input ở trạng thái trống.
+Hiển thị danh sách loại Task
+Hiển thị form chi tiết Task với cácinput ở trạng thái enable
+Form hiển thị tương ứng thông tin sửa +Hiển thị thông báo xác nhận xóa
+Click chọn button Xóa bản ghi muốn xóa
-Chức năng tìm kiếm: +Click Input tìm kiếm +Nhập từ khóa tìm kiếm + Nhấn Enter
-Chức năng Refesh: + Click button Refesh
+Input ở trạng thái sẵn sàng nhập từ khóa
+ Nhận từ khóa
+Xảy ra 2 trường hợp:
• Nếu có dữ liệu sẽ hiển thị danh sách bản ghi theo từ khóa tìm kiếm
• Nếu không sẽ không hiển thị gì +Hệ thống load lại danh sách Task
Bước 6
-Chức năng thêm: +Click chọn Save
-Sửa: Tùy chọn button: +Nếu click Save
+Xảy ra 2 trường hợp:
• Nếu thông tin hợp lệ sẽ báo lưu thành công, trả về màn hình danh sách Task
• Nếu thông tin không hợp lệ, hệ thống sẽ không lưu. Input không hợp lệ sẽ được tô đỏ
+Nếu click Cancel -Xóa Tùy chọn Button: + Nếu click Yes
+Nếu click Cancel -Chức năng tìm kiếm
+Xóa từ khóa và nhấn Enter
+Xảy ra 2 trường hợp:
• Nếu thông tin hợp lệ sẽ báo lưu thành công, trả về màn hình danh sách Task
• Nếu thông tin không hợp lệ, hệ thống sẽ không lưu. Input không hợp lệ sẽ được tô đỏ +Trở lại màn hình danh sách Task +Xảy ra 2 trường hợp:
• Thông báo xóa thành công , trở lại màn hình danh sách Task • Thông báo task đang ở trong 1
project nên không thể xóa +Trở lại màn hình danh sách Task.
+Trở lại màn hình danh sách Task ban đầu
Bước 7: Click chọn HomePage + Trở về màn hình chính Bảng dữ liệu liên quan
Tên bảng Thuộc tính sử dụng Mức độ sử dụng Ràng buộc dữ liệu
Task TaskId Name Type C,R,E,D C,R,E,D C,R,E,D Không được để trống Nhập chữ cái có dấu, không được để trống Chỉ được phép chọn
b.Giao diện nhập liệu cho danh mục Leave Type
- Tên danh mục: Leave Type - Người sử dụng: Quản trị
- Tiền điều kiện: đã đăng nhập quyền quản trị hệ thống (Admin) - Hậu điều kiện: Trở về màn hình chính
Thao tác người dùng Mô tả
Bước 1: Truy cập vào link phần mềm +Hiển thị màn hình đăng nhập với tên đăng nhập và mật khẩu
Bước 2: Nhập tên đăng nhập và mật khẩu
+Xảy ra 2 trường hợp:
• Nếu mật khẩu và tên đăng nhập đúng thì hiển thị màn hình chính • Nếu mật khẩu tên đăng nhập
không đúng thì quay trở lại màn hình đầu
Bước 3: Click chọn Admin +Hiển thị danh sách menu danh mục Bước 4: Click chọn Leave Type +Hiển thị màn hình với danh sách leave
type Bước 5: Tùy chọn thực hiện các chức
năng
-Chức năng thêm:
+ Click chọn button New
+Nhập tên loại, chọn kiểu nghỉ từ option có sẵn, nhập số ngày phép
-Chức năng Sửa: +Click button Action +Click button sửa
+Sửa thông tin leave type -Chức năng Xóa:
+Click chọn button Xóa bản ghi muốn
+Hiển thị form thêm mới sẵn sàng với các ô input ở trạng thái trống.
+Hiển thị danh sách kiểu nghỉ
+Hiển thị 2 button chức năng sửa và xóa +Hiển thị form chi tiết leave type với các input ở trạng thái enable
+Form hiển thị tương ứng thông tin sửa +Hiển thị thông báo xác nhận xóa
xóa
-Chức năng Refesh: + Click button Refesh
+Hệ thống load lại danh sách Task
Bước 6
-Chức năng thêm: +Click chọn Save
-Sửa: Tùy chọn button: +Nếu click Save
+Nếu click Cancel -Xóa Tùy chọn Button: + Nếu click Yes
+Nếu click Cancel
+Xảy ra 2 trường hợp:
• Nếu thông tin hợp lệ sẽ báo lưu thành công, trả về màn hình danh sách Task
• Nếu thông tin không hợp lệ, hệ thống sẽ không lưu. Input không hợp lệ sẽ được tô đỏ
+Xảy ra 2 trường hợp:
• Nếu thông tin hợp lệ sẽ báo lưu thành công, trả về màn hình danh sách Task
• Nếu thông tin không hợp lệ, hệ thống sẽ không lưu. Input không hợp lệ sẽ được tô đỏ +Trở lại màn hình danh sách leave type
+Thông báo xóa thành công
+Trở lại màn hình danh sách leave type +Trở lại màn hình danh sách leave type Bước 7: Click chọn HomePage + Trở về màn hình chính
Bảng dữ liệu liên quan
Tên bảng Thuộc tính sử dụng Mức độ sử dụng Ràng buộc toàn vẹn dữ liệu DayOffType DayOffTypeId Name Status Length C,R,E,D C,R,E,D C,R,E,D C,R,E,D Không được để trống Nhập chữ cái có dấu Chỉ được phép chọn Chỉ được phép nhập số 3.2.2.2.Liệt kê các danh mục còn lại
c.Danh mục Client
3.2.3.Thiết kế giao diện nhập liệu cho nghiệp vụ ( Đặc tả chi tiết 2 nghiệp vụ và liệt kê các nghiệp vụ còn lại)
3.2.3.1.Đặc tả chi tiết (02 nghiệp vụ )
a.Giao diện nhập liệu cho nghiệp vụ Log Timesheet( Chấm công)
- Tên giao diện: Timesheet - Người sử dụng: Nhân viên
- Nhiệm vụ: Chấm công và gửi yêu cầu phê duyệt chấm công - Mẫu thiết kế: hình dưới.
Bước 1: Truy cập vào link phần mềm +Hiển thị màn hình đăng nhập với tên đăng nhập và mật khẩu
Bước 2: Nhập tên đăng nhập và mật khẩu
+Xảy ra 2 trường hợp:
• Nếu mật khẩu và tên đăng nhập đúng thì hiển thị màn hình chính
• Nếu mật khẩu tên đăng nhập không đúng thì quay trở lại màn hình đầu
Bước 4: Click chọn My Timesheet +Hiển thị màn hình My Timesheet Bước 5: Tùy chọn thực hiện các chức
năng
-Chức năng thêm:
+ Click chọn button add
+Chọn dự án, chọn task,nhập nội dung,nhập số giờ làm
-Chức năng sửa:
+Click chọn ngày trước đã log.
+Click button Edit của bản ghi muốn sửa.
+Sửa thông tin Time sheet -Chức năng Xóa:
+Click chọn ngày trước đã log
+Click chọn button Xóa bản ghi muốn xóa
+Hiển thị form thêm mới sẵn sàng với các ô input ở trạng thái trống.
+Hiển thị danh sách dự án, danh sách loại Task.
+Hiển thị ngày trước cùng timesheet đã log
+Hiển thị form chi tiết Timesheet với cácinput ở trạng thái enable.
+Form hiển thị tương ứng thông tin sửa +Hiển thị ngày trước cùng timesheet đã log
-Chức log timesheet theo tuần: +Click chọn button Week + Click chọn button add
+Chọn dự án, chọn task,nhập nội dung,nhập số giờ làm
-Chức năng Today: +Click Button Today
+Quay lại thao tác như chức năng thêm -Chức năng Refesh:
+ Click button Refesh
+Hiển thị tất cả các ngày trong tuần cần log
+Hiển thị form thêm mới sẵn sàng với các ô input ở trạng thái trống.
+Hiển thị danh sách dự án, danh sáchloại Task
+Hiển thị ngày cần log timsheet hôm nay
+Xử lý như chức năng thêm
+Hệ thống load lại dữ liệu trang my timesheet
Bước 6
-Chức năng thêm: +Click chọn Save
+Nếu click Cancel -Sửa: Tùy chọn button: +Nếu click Save
+Xảy ra 2 trường hợp:
• Nếu thông tin hợp lệ sẽ báo lưu thành công, trả về màn hình my timesheet
• Nếu thông tin không hợp lệ, hệ thống sẽ không lưu. Input không hợp lệ sẽ được tô đỏ
+Nếu click Cancel -Xóa Tùy chọn Button: + Nếu click Yes
+Nếu click Cancel
-Chức năng log timesheet theo tuần +Thao tác giống chức năng thêm -Chức năng today
+Thao tác giống chức năng thêm
+Trở lại màn hình my timesheet +Xảy ra 2 trường hợp:
• Nếu thông tin hợp lệ sẽ báo lưu thành công, trả về màn hình danh sách Task
• Nếu thông tin không hợp lệ, hệ thống sẽ không lưu. Input không hợp lệ sẽ được tô đỏ +Trở lại màn hình danh sách Task
+ Thông báo xóa thành công , trở lại màn hình mytimesheet
+Trở lại màn hình danh sách Task. +Xử lý giống chức năng thêm +Xử lý giống chức năng thêm Bước 7: Click chọn HomePage + Trở về màn hình chính Tên bảng Thuộc tính sử dụng Mức độ sử
dụng
Ràng buộc toàn vẹn dữ liệu
My Time Sheet TimesheetId UserName ProjectName TaskName C,R,E,D R R R Không được để trống Chỉ được phép chọn Chỉ được phép xem Không được để trống Chỉ được phép chọn
Note Status DateAt IsCharged WorkingTime C,R,E,D R,E R C,R,E,D C,R,E,D trống Chỉ được phép chọn Không được để trống Chỉ được phép chọn Chỉ được phép chọn Được phép sửa Chỉ được phép chọn Chỉ được phép chọn Chỉ được nhập số, không được để trống ProjectTask ProjectTaskId ProjectId TaskId R R R Không được để trống Chỉ được phép chọn/ Không được để trống Chỉ được phép chọn/không được để trống
Project ProjectId R Không được để
trống
Task TaskId R Không được để
trống User UserId Name R R Chỉ được phép xem Chỉ được phép xem ProjectUser ProjectUserId ProjectId UserId R R R Không được để trống Chỉ được phép chọn
Chỉ được phép xem
b.Giao diện nhập liệu cho nghiệp vụ xin nghỉ
- Tên giao diện: My Leave Day - Người sử dụng: Nhân viên
- Nhiệm vụ: Tạo yêu cầu xin nghỉ và gửi yêu cầu xin nghỉ - Mẫu thiết kế: hình dưới.
Bước 1: Truy cập vào link phần mềm +Hiển thị màn hình đăng nhập với tên đăng nhập và mật khẩu
Bước 2: Nhập tên đăng nhập và mật khẩu
+Xảy ra 2 trường hợp:
• Nếu mật khẩu và tên đăng nhập đúng thì hiển thị màn hình chính
• Nếu mật khẩu tên đăng nhập không đúng thì quay trở lại màn hình đầu
Bước 4: Click chọn My Leave Day +Hiển thị màn hình My Leave Day Bước 5 : Tùy chọn thực hiện các chức
năng
-Tạo yêu cầu:
+ Click chọn ngày trong bảng lịch
+Click chọn khoảng thời gian muốn nghỉ
+Nhập lí do nghỉ, chọn kiểu nghỉ -Tạo yêu cầu cho tháng tiếp : +Click chọn button next
+ Click chọn ngày trong bảng lịch
+Click chọn khoảng thời gian muốn nghỉ
+Nhập lí do nghỉ, chọn kiểu nghỉ
+Hiển thị các lựa chọn :off morning/off afternoon/ off fullday/ off theo giờ
+Hiển thị form yêu cầu xin nghỉ với các input ở trạng thái trống
+Hiển thị danh sách kiểu nghỉ
+Hiển thị bảng lịch tháng sau
+Hiển thị các lựa chọn :off morning/off afternoon/ off fullday/ off theo giờ
+Hiển thị form yêu cầu xin nghỉ với các input ở trạng thái trống
+Hiển thị danh sách kiểu nghỉ +Hiển thị bảng lịch tháng trước
-Xem chi tiết ngày nghỉ tháng trước: +Click chọn button Previous
+Click chọn ngày nghỉ muốn xem chi tiết
-Tạo yêu cầu tháng hiện tại : +Click chọn button today
+ Click chọn ngày trong bảng lịch
+Click chọn khoảng thời gian muốn nghỉ
+Nhập lí do nghỉ, chọn kiểu nghỉ
-Gửi yêu cầu :
+Click Button Send Leave Request
-Chức năng Refesh: + Click button Refesh
+Hiển thị thông tin chi tiết yêu cầu nghỉ
+Hiển thị bảng lịch tháng hiện tại
+Hiển thị các lựa chọn :off morning/off afternoon/ off fullday/ off theo giờ
+Hiển thị form yêu cầu xin nghỉ với các input ở trạng thái trống
+Hiển thị danh sách kiểu nghỉ
+Hệ thống thông báo chưa chọn ngày
+Hệ thống load lại dữ liệu trang my leave day
Bước 6 -Tạo yêu cầu:
-Tạo yêu cầu cho tháng tiếp : -Tạo yêu cầu tháng hiện tại: +Click chọn Save
+Xảy ra 2 trường hợp:
• Nếu thông tin hợp lệ sẽ báo lưu thành công, trả về màn hình my leave day, trạng thái
+Nếu click Cancel
-Xem chi tiết ngày nghỉ tháng trước: +Click button close
pendding
• Nếu thông tin không hợp lệ, hệ thống sẽ không lưu. Input không hợp lệ sẽ được tô đỏ •
+Trở lại màn hình leave day +Trở lại màn hình leave day Bước 7 : Click chọn HomePage + Trở về màn hình chính Tên bảng Thuộc tính sử dụng Mức độ sử dụng Ràng buộc toàn vẹn dữ liệu DayOffType DayOffTypeId Name Length R R R Không được để trống Chỉ được phép chọn, không được để trống Chỉ được phép xem AbsenceDayReque st RequestId UserId Status Reason C,R R R C,R Không được để trống Chỉ được phép xem Chỉ được phép xem Nhập chữ cái có dấu AbsenceDayDetail DetailId DateType DateAt Hour C,R R R C,R Không được để trống Chỉ được phép chọn, Không được để trống Chỉ được phép chọn Chỉ được nhập số 3.2.3.2.Liệt kê các màn hình nghiệp vụ còn lại
c.Project ( giao việc)
d.Timesheet ( Phê duyệt từ chối timesheet)
e.Timesheet monitoring ( Tổng hợp, xem chi tiết tất cả timesheet) f, Leave Days ( xem chi tiết ngày nghỉ )
g,User Leave by Project ( theo dõi số lượng nhân viên trong ngày làm việc h,Setting Off days ( thiết lập ngày nghỉ)
I, Report ( Xem báo cáo)
I.1 Nomal Working ( Thống kê giờ làm việc thông thường và unlock Timesheet) I.2 OverTime ( Thống kê làm ngoài giờ )
3.2.4.Thiết kế báo cáo
3.2.4.1 Đặc tả chi tiết báo cáo ( 01 báo cáo)
Báo cáo : Tổng số giờ làm việc của nhân viên -Tên báo cáo : Tổng số giờ làm việc của nhân viên -Người lập: Bộ phận quản lý nhân sự
-Nhu cầu sử dụng : Phục vụ cho việc tính lương nhân viên
-Nhiệm vụ: Hàng tháng, từ danh sách timesheet đã log, lập báo cáo thống kê tổng số giờlàm việc của nhân viên
-Môi trường: Ban giám đốc -Kích cỡ : giấy A4
-Màu : toàn bộ màu trắng
-Bố cục : giống như mẫu báo cáo thiết kế bên dưới -Bảng dữ liệu sử dụng : Tên bảng Thuộc tính sủ dụng DayOffSetting SettingId DayOff Name Coefficient Branch
UserName ProjectName TaskName Status DateAt IsCharged WorkingTime User UserId UserName AvatarPath Branch Level Type AbsenDayDetail DetailId DateAt DateType Hour -Mẫu báo cáo:
3.2.4.2 Liệt kê tên các báo cáo còn lại -Chi tiết timesheet của nhân viên -Chi tiết dự án cho khách hàng
-Báo cáo tổng số giờ làm việc ngoài giờ
Chương 4
XÂY DỰNG CHƯƠNG TRÌNH 4.1 Cơ sở lý thuyết
4.1.1. Ngôn ngữ sử dụng
4.1.1.1 Phía backend sử dụng nền tảng ASP.NET với ngôn ngữ c# + ASP.NET
ASP.Net là một nền tảng dành cho phát triển web, được Microsoft phát hành và cung cấp lần đầu tiên vào năm 2002. Nền tảng được sử dụng để tạo ra các ứng dụng web-based.
Phiên bản ASP.Net đầu tiên được triển khai là 1.0 và phiên bản ASP.Net mới nhất là phiên bản 4.6. ASP.Net được thiết kế để tương thích với giao thức HTTP. HTTP là giao thức chuẩn được sử dụng trên tất cả các ứng dụng web.
Các ứng dụng ASP.Net có thể được viết bằng nhiều ngôn ngữ .Net khác nhau. Trong đó có các kiểu ngôn ngữ như C #, VB.Net và J #.
nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
-C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm
Executable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau.
-C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), . . . trở nên rất dễ dàng.
Đặc trưng của c#
-C# là ngôn ngữ đơn giản
Như ta đã biết thì ngôn ngữ C# dựng trên nền tảng C++ và Java nên ngôn ngữ C# khá đơn giản. Nếu chúng ta thân thiện với C và C++ hoậc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn. Một vài trong các sự cải tiến là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi.