Báo cáo nhập môn công nghệ phần mềm ptit

36 2 0
Tài liệu đã được kiểm tra trùng lặp
Báo cáo nhập môn công nghệ phần mềm ptit

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Báo cáo Modul liên quan đến Nhà hàng Lotteria - Công nghệ phần mềm PTIT Đây là báo cáo cá nhân của mình nên sẽ còn một số sai sót, cũng như chưa được hoàn thiện Các bạn có thể tham khảo và phát triển thêm Mình cảm ơn!

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGKHOA CÔNG NGHỆ THÔNG TIN 1

Chuỗi nhà hàng đồ ăn nhanh Lotteria đặt hàng anh chị pháttriển một phần mềm giúp họ quản lí phân công và chấm công nhân

Trang 2

viên làm thêm theo giờ (parttime) với mô tả như sau:

● Chuỗi nhà hàng có nhiều nhà hàng Mỗi nhà hàng có nhiềunhân viên làm theo giờ Mỗi ngày làm việc có 2 ca, ca 1 từ8-16h, ca 2 từ 16-24h Mức tiền công theo giờ là giốngnhau cho tất cả nhân viên làm theo giờ.

● Mỗi nhân viên, sau khi kí hợp đồng, được đăng kí nhữngbuổi nào rảnh để có thể đến làm việc Số buổi có thể làmviệc trong mỗi tuần mà mỗi nhân viên đăng kí phải đạtngưỡng tối thiểu theo quy định Thông tin này có thể thayđổi hàng tuần, trước khi lên lịch làm việc cho tuần tiếptheo.

● Quản lí sẽ dựa trên lịch đăng kí của từng nhân viên để lênlịch cho tuần tiếp theo Đảm bảo mỗi ca có đủ N nhân viênlàm việc Nếu có ca nào đó mà số nhân viên đăng kí lớnhơn N, thì ưu tiên những nhân viên đang có số giờ làm íthơn xếp trước Lịch tuần tiếp theo sẽ được thông báo chotoàn bộ nhân viên để tiện chuẩn bị.

● Khi đến làm việc, nhân viên quét thẻ checkin giờ vào làm,khi về, nhân viên quét thẻ checkout để về.

● Tiền lương nhân viên tính theo số giờ thực làm của nhânviên và được trả theo tuần Ca nào nhân viên làm quá 8hthì mức tiền công cho phần thời gian đội thêm được tínhthêm 20% ca nào nhân viên đến muộn hoặc về sớm thìthời gian vắng mặt sẽ bị trừ tiền đội thêm 50%.

Anh/chị hãy thực hiện modul "Tính công tuần này" với các

bước sau đây: QL chọn chức năng tính tiền công cho NV trongtuần → Giao diện tính công hiện lên với ô nhập khoảng thời giantính công → QL nhập ngày bắt đầu, ngày kết thúc của tuần vừa rồi→ Giao diện hiện lên danh sách bảng tiền công cho tất cả các NVtrong tuần đó, mỗi NV trên 1 dòng, xếp theo thứ tự tên: mã, tên, sốđt, tổng số giờ làm trong ca, tổng tiền trong ca, tổng số giờ thừa ca,tổng tiền thừa ca, tổng số giờ đi chậm về sớm, tổng số tiền bị phạt,tổng tiền thực nhận cuối cùng → QL click chọn vào 1 dòng để xemchi tiết → Giao diện hiện lên bảng thống kê chi tiết giờ làm củaNV được chọn trong tuần đó, mỗi dòng tương ứng 1 ca làm việc,xếp theo thứ tự thời gian: thứ, ngày, ca, giờ checkin, giờ checkout,số giờ trong ca, số tiền trong ca, số giờ thừa ca, số tiền thừa ca, sốgiờ đi chậm về sớm, số tiền bị phạt, tổng tiền thực nhận của ca.

1 Danh sách các từ chuyên dụng trong lĩnh vực ứng dụng ( glossary)3

Trang 3

2 Mô tả hệ thống chi tiết bằng ngôn ngữ tự nhiên5

2.2 Những người được phép sử dụng phần mềm và được làm các chức năng62.3 Thông tin đối tượng cần xử lý62.4 Quan hệ giữa các đối tượng62.5 Mô tả chi tiết hoạt động62.7 Chi tiết modul “ Tính công tuần này “8

1 Trích các lớp thực thể cho toàn hệ thống9

3.2 Thẻ CRC cho lớp điều khiển13

5 Scenario với các lớp được trích146 Sequence chart của modul17

1 Sơ đồ thực thể toàn hệ thống172 Thiết kế cơ sở dữ liệu183 Thiết kế mô hình MVC với thực thể thuần194 Sơ đồ tuần tự pha thiết kế.22

1 Lập kế hoạch test cho modul23

I Tài liệu pha đặc tả

1 Danh sách các từ chuyên dụng trong lĩnh vực ứngdụng ( glossary)

Trang 4

STT Tên TiếngViệt

Tên TiếngAnh

Giải thích

thống, có quyềntính công và sắpxếp ca làm chonhân viên.

Quá trình ghinhận và tính toánsố giờ công củanhân viên.

Quá trình ghinhận và tính toánsố tiền công củanhân viên dựatrên số giờ công.

công Payroll Table Danh sách hiểnthị thông tin vềtiền công củanhân viên

kê StatisticsTabel Bảng hiển thịthông tin chi tiếtvề dữ liệu.

mỗi nhân viênphải làm việc( cốđịnh ).

heck-out Check-in/Check-out Thời điểm nhânviên bắt đầu vàkết thúc côngviệc.

Trang 5

2 Mô tả hệ thống chi tiết bằng ngôn ngữ tự nhiên2.1 Phạm vi phần mềm

- Hỗ trợ quản lý tiền công, chia ca làm cho các nhân viên.

STT Tên TiếngViệt

Tên TiếngAnh

Giải thích

thống, có quyềntính công và sắpxếp ca làm chonhân viên.

Quá trình ghinhận và tính toánsố giờ công củanhân viên.

Quá trình ghinhận và tính toánsố tiền công củanhân viên dựatrên số giờ công.

Hours Số giờ mà mỗinhân viên làmviệc thêm hoặcthiếu.

9 Số tiền bịphạt

Số tiền mà nhânviên phải trả khivi phạm quyđịnh.

10 Tổng tiềnlương nhận

Total Salary Số tiền mà nhânviên sẽ nhậnđược.

cửa hàng.

Trang 6

- Hỗ trợ nhân viên đăng ký ca và checkin/checkout.

- Chỉ có nhân viên của cửa hàng Lotteria mới được sử dụng

phần mềm ( quản lý và nhân viên).

2.2 Những người được phép sử dụng phần mềm và được làm cácchức năng

- Quản lý:

+ Quản lý nhân viên.

+ Lên lịch làm việc cho nhân viên.+ Tính tiền công cho nhân viên.+ Thống kê nhân viên.

+ Tham gia vào Checkin/Checkout của nhân viên.

- Nhân viên:

+ Đăng kí ca làm.+ Checkin/Checkout.

2.3 Thông tin đối tượng cần xử lý

- Quản lý: Mã quản lý, thông tin.

- Nhân viên: thông tin, ca làm việc, lương,Checkin/Checkout,.- Ca làm: 2 ca.

- Lịch làm việc tuần tới: gồm nhiều ca làm.

2.4 Quan hệ giữa các đối tượng

- Quản lý: Quản lý các nhân viên.- Nhân viên đăng ký các ca làm.

- Quản lý lên lịch làm việc cho nhân viên.

2.5 Mô tả chi tiết hoạt động

- Nhân viên muốn chọn ca làm: Đăng nhập vào hệ thống ->Chọn chức năng đăng ký ca làm -> Danh sách ca làm trongtuần -> Chọn ca làm mong muốn -> Đăng ký -> Hệ thống lưuthông tin.

Trang 7

- Nhân viên muốn checkin/checkout: QL trực tiếp cập nhậttrên máy tính: QL chọn chức năng checkin (hoặc checkout)→ Giao diện nhập mã NV hiện lên → QL nhập mã NV vàclick submit → Hệ thống lưu và báo thời điểm checkin(checkout) của NV là thời điểm hiện tại.

- Quản lý muốn lên lịch làm việc tuần tới: QL chọn chức nănglên lịch làm việc tuần tới cho nhân viên 1 nhà hàng → Giaodiện lên lịch hiện lên gồm một bảng có 7 dòng tương ứng 7ngày của tuần tới, mỗi dòng có 2 cột tương ứng 2 ca củangày Mỗi cột chứa tên các NV đã chọn cho ca đó → QLclick chọn vào 1 ca → Giao diện hiện lên danh sách các NVđã đăng kí làm việc cho ca đó và chưa được xếp làm cho cađó, mỗi NV trên 1 dòng: tên, số điện thoại, tổng giờ đã lênlịch cho tuần tới, sắp xếp theo chiều tăng dần của tổng giờ đãlên lịch cho tuần tới → QL click chọn một số NV và clicknút chọn → Giao diện quay về trang lên lịch với thông tincác NV được chọn được thêm vào cột của ca tương ứng →QL lặp lại các bước chọn trên cho đến hết số ca của tuần tớivà click lưu → Hệ thống lưu lại và thông báo thành công,đồng thời in lịch ra để QL phát cho từng NV.

2.6 Sơ đồ use-case của toàn bộ hệ thống

Trang 8

2.7 Chi tiết modul “ Tính công tuần này “

a Modul “Tính công tuần này”

b Chi tiết use-case

- Đăng nhập: Use-case cho phép quản lý đăng nhập vào hệthống.

- Đăng xuất: Use-case cho phép quản lý đăng xuất khỏi hệthống.

- Tính công tuần này: Use-case cho phép quản lý tính công.- Tìm kiếm khoảng thời gian: Use-case cho phép quản lý tìm

kiếm khoảng thời gian chấm công với việc nhập ngày bắt đầuvà ngày kết thúc.

- Xem danh sách nhân viên: Use-case cho phép xem danh sáchbảng tiền công cho tất cả các NV trong tuần đó, mỗi NV trên1 dòng, xếp theo thứ tự tên: mã, tên, số đt, tổng số giờ làmtrong ca, tổng tiền trong ca, tổng số giờ thừa ca, tổng tiềnthừa ca, tổng số giờ đi chậm về sớm, tổng số tiền bị phạt,tổng tiền thực nhận cuối cùng

- Xem chi tiết nhân viên: Chi tiết của nhân viên bao gồm thứ,ngày, ca, giờ checkin, giờ checkout, số giờ trong ca, số tiềntrong ca, số giờ thừa ca, số tiền thừa ca, số giờ đi chậm vềsớm, số tiền bị phạt, tổng tiền thực nhận của ca.

Trang 9

II Tài liệu pha phân tích

1 Trích các lớp thực thể cho toàn hệ thống

- Ta có các danh từ và phân tích như sau:

● Nhà hàng: Lớp thực thể: NhaHang02(id,diachia)● Employee: Lớp thực thể:Employee(id,ten,sdt,diachia)● Quản lý: Lớp thực thể: QuanLy02(id) - kế thừa từ

● Ca làm việc: Lớp thực thể: CaLam02(id,giobatdau,gioketthuc)

● Nhân viên: Lớp thực thể: NhanVien02(id) - kế thừa từEmployee.

● Lịch làm việc tuần tới: Lớp thực thể:

LichLamViec02(id,nv,ngaybatdau,ngayketthuc) – Lịchlàm việc của nhân viên trong tuần tiếp theo do quản lýlên lịch.

● Tiền công: Lớp thực thể:

TienCong02(id,tongsogiolamtrongca,tongtientrongca,tongsogiotangca,tongtientangca,tongsogiodimuonvesom,tongtiendimuonvesom,tongtiennhan) – Tiền công nhânviên trong tuần làm việc.

● Checkin: Lớp thực thể: Checkin(giobatdau) - Giờ nhânviên bắt đầu làm việc.

● Checkout: Lớp thực thể: Checkout(gioketthuc) - Giờnhân viên kết thúc ca làm.

● Các danh từ trừu tượng không nằm trong hệ thống:Hợp đồng, buổi rảnh.

- Quan hệ giữa các lớp thực thể:

● Một nhà hàng có nhiều nhân viên, một nhân viên chỉ

Trang 10

● Mỗi một nhân viên thì sẽ có nhiều tiền công, mỗi mộttiền công chỉ thuộc vào một nhân viên.

● Tiền công sẽ được tính dựa trên một mảng Giờ làmnhân viên -> Thêm một lớp BangCongNhanVien02 đểquản lý về mặt giao diện.

2 Scenario của modul

Use case Tính công tuần này

Tiền điều kiện Quản lý đăng nhập thành công, khi đến ngàychấm công cho các nhân viên ( cuối tuần).Hậu điều kiện Quản lý xem lại tiền công cho nhân viên và xác

nhận tiền công cho nhân viên.

Trang 11

Kịch bảnchính

1 Sau khi quản lý A đăng nhập thành công,chọn chức năng “Tính công tuần này”.Quản lý A muốn tính công cho nhân viêntrong tuần.

2 Giao diện hiện lên với 2 ô nhập là ngàybắt đầu và ngày kết thúc và 2 nút “ Tìmkiếm” và “Quay lại”.

3 Quản lý A nhập ngày bắt đầu và ngày kếtthúc trong tuần, sau đó bấm “Tìm kiếm”.4 Giao diện hiện lên danh sách bảng

tiền công cho tất cả các NV trongtuần đó, mỗi NV trên 1 dòng, xếptheo thứ tự tên: mã, tên, số đt, tổngsố giờ làm trong ca, tổng tiền trongca, tổng số giờ thừa ca, tổng tiềnthừa ca, tổng số giờ đi chậm về sớm,tổng số tiền bị phạt, tổng tiền thựcnhận cuối cùng.

5 Nhân viên quản lý A chọn 1 dòngbất kỳ để xem chi tiết ca làm củanhân viên đó.

6 Giao diện hiện lên bảng thống kê chitiết giờ làm của NV được chọn trongtuần đó, mỗi dòng tương ứng 1 calàm việc, xếp theo thứ tự thời gian:thứ, ngày, ca, giờ checkin, giờcheckout, số giờ trong ca, số tiềntrong ca, số giờ thừa ca, số tiền thừaca, số giờ đi chậm về sớm, số tiền bịphạt, tổng tiền thực nhận của ca và 2nút “Xác nhận”,” Quay lại”.

7 Quản lý A xem lại các thông tin và chỉnhsửa nếu có và bấm nút “ Xác nhận”.8 Giao diện hiện lên “ Chấm công

nhân viên thành công”.

9 Hệ thống quay về giao diện trongbước 4.

10 Sau khi hoàn thành chấm côngcho các nhân viên, nhân viên quảnlý A click vào nút “ Quay lại “.11 Hệ thống trở về trang chủ của

người lý.

Trang 12

Ngoại lệ 3.1 Nhập ngày bắt đầu lớn hơn ngày kết thúc.3.1.1 Hệ thống yêu cầu người dùng nhập lạingày.

3 Sơ đồ lớp của modul3.1 Trích các lớp

- Lớp biên được thêm:● TimKiemNgayFrm02● QuanLyFrm02

● DanhSachCongNhanVienFrm02● ChiTietCongNhanVienFrm02- Lớp điều khiển: ChamChongCtr02Sơ đồ lớp cho modul “ Tính công tuần này “:

Trang 13

3.2 Thẻ CRC cho lớp điều khiển

Trang 14

4 State chart của modul

5 Scenario với các lớp được trích

Use case Tính công tuần nàyActor Quản lý

Tiền điềukiện

Quản lý đăng nhập thành công, khi đến ngày chấmcông cho các nhân viên ( cuối tuần).

Hậu điềukiện

Quản lý xem lại tiền công cho nhân viên và xácnhận tiền công cho nhân viên.

Kịch bảnchính

1 Sau khi quản lý A đăng nhập thành công,chọn chức năng “Tính công tuần này” Quảnlý A muốn tính công cho nhân viên trongtuần.

2 Lớp “TimKiemNgayFrm02” hiện ra với ônhập ngày bắt đầu, ô nhập ngày kết thúc và 2nút “Quay lại” và “Tìm kiếm”.

3 Quản lý A nhập ngày bắt đầu và ngày kếtthúc trong tuần, sau đó bấm “Tìm kiếm”.4 Lớp TimKiemNgayFrm02 gửi yêu cầu

Trang 15

lấy Danh sách tiền công nhân viên trongkhoảng thời gian đó tới lớp

5 Lớp ChamCongCtr02 lấy danh sách tiềncông trong CSDL.

6 Lớp ChamCongCtr02 chọn ra danh sáchtiền công trong khoảng thời gian đãnhập.

7 Lớp ChamCongCtr02 gọi lớp TienCong02để đóng gói thông tin thành danh sách cácđối tượng kiểu TienCong02.

8 Lớp TienCong02 đóng gói thông tin và trảlại danh sách các đối tượng kiểu

TienCong02 cho lớp ChamCongCtr02.9 Lớp ChamCongCtr02 chuyển đối tượng

TienCong02 cho lớp

DanhSachCongNhanVienFrm02 để hiển thị.10 Lớp DanhSachCongNhanVienFrm02 hiện

lên danh sách bảng tiền công cho tất cả cácNV trong tuần đó, mỗi NV trên 1 dòng, xếptheo thứ tự tên: mã, tên, số đt, tổng số giờlàm trong ca, tổng tiền trong ca, tổng số giờthừa ca, tổng tiền thừa ca, tổng số giờ đichậm về sớm, tổng số tiền bị phạt, tổng tiềnthực nhận cuối cùng.

11 Quản lý A click chọn vào một dòngcủa nhân viên trên danh sách.

12 Lớp DanhSachCongNhanVienFrm02gọi và truyền đối tượng vừa được chọncho lớp ChiTietCongNhanVienFrm02.13 Lớp ChiTietCongNhanVienFrm02

hiện ra bảng thống kê chi tiết giờ làmcủa NV được chọn trong tuần đó, mỗidòng tương ứng 1 ca làm việc, xếp theothứ tự thời gian: thứ, ngày, ca, giờ

checkin, giờ checkout, số giờ trong ca,số tiền trong ca, số giờ thừa ca, số tiềnthừa ca, số giờ đi chậm về sớm, số tiềnbị phạt, tổng tiền thực nhận của ca.14 Quản lý A xem lại các thông tin và

bấm “Xác nhận”.

15 Lớp ChiTietCongNhanVienFrm02

Trang 16

gửi thông tin trên form đến lớp

BangCongNhanVien02 để đóng gói đốitượng BangCongNhanVien02.

16 Lớp BangCongNhanVien02 đóng góithông tin thành một đối tượng

17 Lớp ChiTietCongNhanVienFrm02truyền đối tượng BangCongNhanVien02cho lớp ChamCongCtr02.

18 Lớp ChamCongCtr02 cập nhật thôngtin vào CSDL.

19 Lớp ChamCongCtr02 thông báo cholớp ChiTietCongNhanVienFrm02 đã cậpnhật thành công.

20 Lớp ChiTietCongNhanVienFrm02thông báo đã cập nhật thành công choquản lý A.

Ngoại lệ 3.1 Nhập ngày bắt đầu lớn hơn ngày kết thúc.3.1.1 Hệ thống yêu cầu người dùng nhập lại ngày.

Trang 17

6 Sequence chart của modul

III Pha thiết kế

1 Sơ đồ thực thể toàn hệ thống

Trang 18

2 Thiết kế cơ sở dữ liệu

- Mỗi lớp thực thể đề xuất thành 1 bảng tương ứng trongcơ sở dữ liệu:

● Lớp NhaHang02 -> bảng tblNhaHang02● Lớp Employee02 -> bảng tblEmployee02● Lớp TienCong02 -> bảng tblTienCong02● Lớp NhanVien02 -> bảng tblNhanVien02● Lớp QuanLy02 -> bảng tblQuanLy02

● Lớp LichLamViec02 -> bảng tblLichLamViec02● Lớp LichDangKy02 -> bảng tblLichDangKy02● Lớp NhanVienCa02 -> bảng tblNhanVienCa02● Lớp Ca02 -> bảng tblCa02

● Lớp TienCong02 -> bảng tblTienCong02● Lớp BangCongNhanVien02 -> bảng

● Lớp QuanLy02 và lớp NhaHang02 có quan hệ kếthợp -> bảng tblNhaHang02 và tblQuanLy02 cóquan hệ 1-n.

● Lớp QuanLy02 và lớp LichLamViec02 có quanhệ kết hợp -> bảng tblQuanLy02 và

Trang 19

Hình ảnh thiết kế CSDL

3 Thiết kế mô hình MVC với thực thể thuần

- Dùng thẻ CRC và 3 nguyên lí thiết kế phương thức đểgán phương thức cho lớp

Trang 21

- Định nghĩa khuôn mẫu cho từng phương thức:

● Với TimKiemNgayFrm02 phải có các phương thức:hiển thị Form, xử lý sự kiện nút “Tìm kiếm”

● Với DanhSachCongNhanVienFrm02 phải có cácphương thức: hiển thị Form danh sách tiền công củanhân viên, xử lý sự kiện khi click vào 1 dòng của nhânviên.

● Với ChamCongDAO02 phải có các phương thức lưuthông tin vào CSDL, lấy danh sách tiền công của nhânviên và bảng tiền công chi tiết của nhân viên.

Trang 22

- Sơ đồ lớp chi tiết

4 Sơ đồ tuần tự pha thiết kế.

Trang 23

IV Pha kiểm thử

1 Lập kế hoạch test cho modul

Tính công tuần này cho nhânviên

1 Chấm công cho nhânviên đạt ngưỡng tối thiểu

2 Testcase

- Chấm công cho nhân viên đạt ngưỡng tối thiểu:Bảng tblNhanVien02:

Bảng tblTienCong02:

09699xxxxx Hà Nội 32

2 NV02 NguyễnVăn B

09662xxxxx Hà Nội 40

Trang 24

ID id thu ngay giobatdau gioketthuc

sogiotrongca

Trang 25

8 NV02 C12 16:00 24:00 8 160000

ID sogiothuaca sotienthuaca

sotienphat tongtiennhan

Tính công tuần này

Giao diện hiện ra Form tìmkiếm ngày và nút Tìm kiếm

2 Quản lý nhập ngày trongtuần và bấm nút tìmkiếm

Giao diện hiện lên với danhsách tiền công nhân viên nhưsau

Tổng giờlàm trongca

1 NV01 Nguyễn Văn A 09699xxxxx HàNội

36

Trang 26

2 NV02 Nguyễn Văn B 09662xxxxx HàNội

Tổngtiềntrong ca

Tổng giờthừa

Tổngtiền thừa

Tổng giờphạt

Tổngtiền phạt

Tổngtiền nhận

Tổng tiềnthừa

Số giờ phạt Tổng tiềnphạt

Tổng tiềnnhận

Ngày đăng: 15/05/2024, 11:06

Tài liệu cùng người dùng

Tài liệu liên quan