KHOA CÔNG NGHỆ THÔNG TIN
Môn: PHÂN TÍCH - THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
GVHD: Lê Viết Trương
SVTH:
-
Trịnh Lâm Vũ
-
Đoàn Đình Ý
-
Phan Quốc Việt
“Phân tích hướng đối tượng Quản lí tiền điện “ được khảo
sát tại chi nhánh điện lực Huyện Hiệp Đức, Tỉnh Quảng Nam.
Đồ án gồm các nội dung chính sau:
•
•
•
•
•
•
•
•
Chương 1: Khảo sát hệ thống.
Chương 2: Mô hình hóa yêu cầu.
Chương 3: Mô hình hóa khái niệm.
Chương 4: Mô hình hóa tương tác đối tượng.
Chương 5: Mô hình hóa hành vi.
Chương 6: Thiết kế chi tiết biểu đồ lớp.
Chương 7: Thiết kế kiến trúc vật lý.
Chương 8: Giao diện phần mềm.
Khảo sát hiện trạng
1. Đơn vị khảo sát:
Điện lực Huyện Hiệp Đức trực thuộc CT Điện Lực Quảng
Nam
Địa chỉ: Thị Trấn Tân An, Huyện Hiệp Đức, Tỉnh Quảng Nam
2. Bảng giá điện
Các ngành sản xuất
Khối hành chính, sự nghiệp
Kinh doanh
Sinh hoạt
Bảng giá điện Sinh hoạt
TT
1
Nhóm đối tượng khách hàng
Giá bán lẻ điện sinh hoạt
Bậc 1: Cho kWh từ 0 - 50
2
Giá bán điện
(đồng/kWh)
1.418
Bậc 2: Cho kWh từ 51 - 100
1.622
Bậc 3: Cho kWh từ 101 - 200
2.044
Bậc 4: Cho kWh từ 201 - 300
2.242
Bậc 5: Cho kWh từ 301 - 400
2.503
Bậc 6: Cho kWh từ 401 trở lên
2.587
Giá bán lẻ điện sinh hoạt dùng công
tơ thẻ trả trước
2.141
3. Hóa đơn tiền điện
Mô tả bài toán
• Chi nhánh sau mỗi tháng sẽ tính tiền điện
và ra hóa đơn với công thức
Số điện tiêu thụ = Chỉ số mới - chỉ số cũ
Thành tiền = Tiêu thụ * đơn giá + VAT
VAT = 10% * (tiêu thụ * đơn giá)
• Được hệ thống tự động tính sau khi nhân
viên nhập chỉ số điện tiêu thụ của khách
hàng, và dựa vào chỉ số điện tiêu thụ của
tháng trước với mức giá tương ứng của
mục đích sử dụng
Quy trình nghiệp vụ
• Quy trình đăng ký hợp đồng mua điện
• Quy trình hủy hợp đồng điện
• Quy trình xử lý ngoại lệ
Xác định các tác nhân
• Nguoidieuhanh (Người điều hành) : Là người điều
hành cao nhất của hệ thống.
• Khachhang (Khách hàng): Là người có đăng ký
hợp đồng mua bán điện và tiêu thụ điện.
• Nhanvien (Nhân viên): Là người cần sử dụng
chức năng quản lý của hệ thống để thực hiện
nhiệm vụ của mình.
Liệt kê các trường hợp sử dụng
•
•
•
•
•
•
•
•
•
•
Đăng nhập/Đăng xuất
Quản lý nhân viên
Quản lý khách hàng
Quản lý công tơ
Quản lý giá điện
Lập hóa đơn & in hóa đơn
Thanh toán hóa đơn
Xử lý ngoại lệ
Thống kê, báo cáo
Tìm kiếm
Biểu đồ trường hợp sử dụng
1.
–
–
–
–
–
–
–
–
–
–
Xác định các lớp đối tượng
TaiKhoan (Tài khoản)
Nguoidieuhanh (Người điều hành):
NhanVien (Nhân viên)
Khachhang (khách hàng)
Congto (Công tơ điện)
Banggiadien (Bảng giá điện)
Hoadon (Hóa đơn)
Chitiet_hoadon (Chi tiết hóa đơn)
Ngoaile (Ngoại lệ)
Thanhtoan (Thanh toán)
2. Các gói trong hệ thống
• Các lớp biên
Frm DangNhap
Frm QuanLyCongTo
Frm ThanhToan
Frm ThongKeBaoCao
Frm QuanLyNhanVien
Frm QuanLyKhachHang
Frm QuanLyGiaDien
Frm LapHoaDon
Frm NgoaiLe
Frm TimKiem
• Các lớp điều khiển
Ctl DangNhap
Ctl QuanLyCongTo
Ctl ThanhToan
Ctl ThongKeBaoCao
Ctl QuanLyKhachHang
Ctl QuanLyGiaDien
Ctl NgoaiLe
Ctl QuanLyNhanVien
Ctl LapHoaDon
Ctl TimKiem
Biểu đồ lớp mức phân tích
<<entity>>
Taikhoan
username : String
password : String
typeuser : Boolean
idNguoiDung
quyenHan : String
<<entity>>
Nhanvien
maNhanVien : Integer
tenNhanVien : String
diaChi : String
ngaySinh : Date
soDienThoai : String
<<entity>>
Congto
maCongto : Integer
maLoaiDien : String
1
viTriCongTo : String
1
1..*
<<entity>>
Ngoaile
maNgoaiLe : Integer
ngayLap : Date
tinhTrang : String
1..*
1
<<entity>>
NguoiDieuHanh
tenNguoiDieuHanh
maNguoiDieuHanh
1
1..*
<<entity>>
Hoadon
maHoaDon : Integer
ghiChu : String
Ngaylap : Date
chiSoCu : Integer
chiSoMoi : Integer
1
1..*
<<entity>>
Banggiadien
maLoaiDien : Integer
mucDichSuDung : String
loaiVung : String
doiTuong : String
mucTieuThu : Integer
donGia : Double
thoiGian : Date
1..*
1
1
1..*
<<entity>>
Khachhang
maKhachHang : Integer
tenKhachHang : String
diaChi : String
soDienThoai : String
gioiTinh : String
CMT : Integer
ngaySinh : String
<<entity>>
ChiTietHoaDon
maChiTietHoaDon : Integer
soLuong : Integer
1..*
<<entity>>
Thanhtoan
soPhieuThanhToan : String
ngayThanhToan : Date
hinhThucThanhToan : String
Biểu đồ trình tự
•
Biểu đồ trình tự đăng nhập
• Biểu đồ trình tự cập nhật Nhân viên (NV)
: Ctl QuanLyNhanVien
: Nguoi dieu hanh
: Nhanvien
: Frm QuanLyNhanVien
1: Cap nhat NV()
2: Thuc hien ()
3: Kiem tra ()
4: Xac nhan cap nhat ()
5: Luu TT user ()
6: Thong bao ket qua ()
• Biểu đồ trình tự Lập hóa đơn
: Nhan vien
: Frm LapHoaDon
1: Yeu cau lap hoa don()
: Ctl LapHoaDon
: Khachhang
: Congto
: Banggiadien
2: Lap hoa don(Cac yeu cau)
3: Cung cap thong tin()
4: Cung cap thong tin()
5: Cung cap thong tin()
6: Tong hop thong tin()
7: Luu TT()
8: Luu TT()
9: Thong bao ket qua()
10: In hoa don()
: Hoadon
: ChiTietHoaDon
• Biểu đồ trình tự Tìm kiếm
: Nguoi dieu hanh
: Nhan vien
: Khach hang
: Frm TimKiem
: Ctl TimKiem
: Congto
: Hoadon
1: Nhap key tiem kiem()
2: Nhap key tiem kiem()
3: Nhap key tiem kiem()
4: Yeu cau tim kiem ()
5: Xu ly tim kiem()
6: Tao truy van ()
7: Cung cap TT()
8: Cung cap TT()
9: Cung cap TT()
10: Cung cap TT()
11: Tra ve ket qua()
: Khachhang
: Nhanvien
Biểu đồ trạng thái
• Biểu đồ trạng thái Hợp đồng điện
Cho hop
dong
Dang su
dung
Xu ly ngoai le
Tam ngung
Cham dut
hop dong
• Biểu đồ trạng thái thống kê
Nhap tiep
Nhan vien thuc hien thong ke, bao cao
Cho de nhap
thong tin
Nhap TT
Nhap TT thong
ke bao cao
Ket thuc nhap TT
Xu ly ket qua thong bao
Cho xu li TT thong
ke, bao cao
Xu li TT TK BC
Thong bao ket qua
thong ke, bao cao
Ket thuc viec thong ke bao cao
Biểu đồ hoạt động
• Biểu đồ hoạt động quản lý nhân viên
Mo frm Quan li
NV
Them NV
Sua NV
Xoa NV
Khong
Tiep tuc
Co
Luu thong tin
• Biểu đồ hoạt động lập hóa đơn
Yeu cau lap
hoa don
Lay thong tin
can thiet
Lay thong tin
khach hang
Lay thong tin
nhan vien
Lay thong tin
cong to
Xuat hoa don
Lay thong tin
bang gia dien
Biểu đồ lớp chi tiết
<<entity>>
Taikhoan
<<entity>>
Congto
<<entity>>
Nhanvien
usernam e : String
password : String
typeuser : Boolean
idNguoiDung
quyenHan : String
maNhanVien : Integer
tenNhanVien : String
diaChi : String
ngaySinh : Date
soDienThoai : String
capNhatTaiKhoan()
timKiemNhanVien()
dangNhap()
<<entity>>
Ngoaile
maCongto : Integer
maLoaiDien : String
viTriCongTo : String
1..*
1
capNhatCongTo()
timKiemCongTo()
layMaCongTo()
1
moTaNgoaiLe()
capNhatNgoaiLe()
1..*
<<entity>>
Khachhang
1
<<entity>>
NguoiDieuHanh
1..*
<<entity>>
Hoadon
tenNguoiDieuHanh
maNguoiDieuHanh
tinhTong()
capNhathoadon()
tinhVAT()
phaiTra()
1..*
<<entity>>
Banggiadien
maLoaiDien : Integer
mucDichSuDung : String
loaiVung : String
doiTuong : String
mucTieuThu : Integer
donGia : Double
thoiGian : Date
capNhatBangGiaDien()
1
1..*
maHoaDon : Integer
ghiChu : String
Ngaylap : Date
chiSoCu : Integer
chiSoMoi : Integer
dangNhap()
1
1
1
maChiTietHoaDon : Integer
soLuong : Integer
thanhTien()
maKhachHang : Integer
tenKhachHang : String
diaChi : String
soDienThoai : String
gioiTinh : String
CMT : Integer
ngaySinh : String
capNhatKhachHang()
timKiemKhachHang()
layMaKhachHang()
<<entity>>
ChiTietHoaDon
1..*
maNgoaiLe : Integer
ngayLap : Date
tinhTrang : String
1..*
<<entity>>
Thanhtoan
soPhieuThanhToan : String
ngayThanhToan : Date
hinhThucThanhToan : String