You are on page 1of 21

Họ và tên:Chu Tuấn Khanh

Lớp :D08CNTT2

Nhóm :8

Đề tài:Quản lý cửa hàng nội thất

chi tien

Use case : quản lí thu chi.

ke toan
thu tien

Hình 1:Use case

Mục đích: Cho phép nhân viên kế toán nhập tiền chi và tiền thus au mỗi
ngày bán hàng vào CSDL.

Thông tin xử lí: -khoản tiền chi trong tưng hóa đơn nhập hang

- khoản tiền thu cho trong từng hóa đơn bán

Thuật ngữ: +/ use case : trường hợp sử dụng.

+ / actor : tác nhân ,người dung


+/nhân viên kế toán : làm công việc tính toán.thống kê
doanh thu của cửa hang.

*/ Các use case con.

2.1 Chi tiền

 Đặc tả Use Case

Actor: nhân viên bán hàng vì co chuyên môn chịu trách nhiệm tính
toán, thống kê doanh thu của cửa hang.

Mục đích sử dụng : Use Case “ chi tiền ” cho phép nhân viên kế toán trả tiền
cho khách hang và thanh toán cho nhà cung cấp..

Điều kiện tiên quyết : Actor phải đang nhập vào hệ thống.

Kết quả : Use Case thực hiện xong sẽ lưu số tiền trả cho khách hàng.

2. Kịch bản chính : thanh toán hóa đơn nhập hang: “ nội thất văn phòng”
với khoản chi là :60 000000 VND.

Các bước của luồng các sự kiện chính bao gồm:

1. Hoạt vụ bắt đầu khi nhân viên kê toán lựa tùy chọn chi tiền trên
menu.

2. Hệ điều khiển hiển thị form nhập khoản chi tiền.

3. Nhân viên nhập vào thông tin : +/nhà cung cấp : CTy TNHH
Xuân Hòa; địa chỉ : Hà Nội ,mã số phiếu nhập hang :0111 va số tiền chi
:60 000 000 VND.

4. nhân viên Click “OK” xác nhận nhập xong.

5 .Hệ điều khiển lưu số tiền chi.

6.Hệ điều khiển tự câp nhật ngày nhập theo ngày hệ thống.
7.Nhân viên chon “thoát” để kết thúc công việc.

8. Hoạt vụ kết thúc.

3. ngoại lệ

-Nhập số tiền chi sai kiểu dữ liệu : +16 triệu

+16 000o 00p

-Nhập mã số phiếu sai kiểu dữ liệu: 011q

Hệ điều khiển báo lỗi và yêu cầu nhập lại.

Nhân viên nhập đúng ,hoạt vụ tiếp tục.

2.2. Thu tiền

 Đặc tả Use Case

< Kế toán> : < Thu tiền >

1. Mô tả:

Actor : nhân viên kế toán

Mục đích sử dụng : Use Case “ thu tiền” cho phép nhân viên kế toán thu
tiền

Điều kiện tiên quyết : Actor phải đăng nhập vào hệ thống.

Kết quả : Use Case thực hiện xong sẽ lưu số tiền thu.

2. Scenario chuẩn: nhập khoản thu sau một ngày bán hang của cửa
hang với khoản thu : 40 000 000 VND do thống kê hóa đơn bán hang.
1. Hoạt vụ bắt đầu khi người kế toán lựa tùy chọn thu tiền trên
menu.

2.hệ điều khiển hiển thị form nhập số tiền thu.

3 .kế toán nhập thông tin : các số mã hóa đơn bán :


0011,0012,0013…,tổng tiền thu của từng hóa đơn và tổng số tiền thu :40
000 000 VND.

4. nhân viên click “OK” xác nhận nhập xong

5. Hệ điều khiển cập nhật thông tin khoản thu trong CSDL.

6. Nhân viên chon “thoát” trên menu để kết thúc công việc.

7. Hoạt vụ kết thúc.

3.ngoại lệ

-Nhập số tiền thu sai kiểu dữ liệu : +40 triệu

+40 000o 00p

-Nhập mã số phiếu sai kiểu dữ liệu: 001o

Hệ điều khiển báo lỗi và yêu cầu nhập lại.

Nhân viên nhập đúng ,hoạt vụ tiếp tục.

*/ Trích lớp:

Danh từ :

-hoạt vụ : danh từ trừu tượng ->loại bỏ

-công việc : danh từ trừu tượng ->loại bỏ

-hệ điều khiển : thực hiện chức năng tương tác vs actor và CSDL
->không loại bỏ.
-Khoản tiền thu:đối tượng được lưu trũ và thao tác ->không loại bỏ

-Khoản tiền chi: đối tượng được lưu trũ và thao tác ->không loại bỏ

-nhân viên kế toán : tác nhân -> loại bỏ.

-form nhập khoản tiền( chi + thu ): để nhập thông tin khoản tiền ->
không loại bỏ

-menu : tùy chọn chức năng ,giao diện với actor -> không loai bỏ.

- các số mã hóa đơn bán :0011,0012,0013…,tổng tiền thu của từng


hóa đơn và tổng số tiền thu :40 000 000 VND. :

-+/nhà cung cấp : CTy TNHH Xuân Hòa; địa chỉ : Hà Nội ,mã số
phiếu nhập hang :0111 va số tiền chi :60 000 000 VND.: là các thộc tính
khoản chi.

-> trích lớp :

-lớp thực thể: khoản tiền gồm 2 lớp thực thể con: + khoản tiền
thu – thuộc tính: mã hóa đơn bán hang,tổng giá trị,ngày nhập;

+khoản tiền chi. _ thuộc tính : tôngr giá trị,nhà cung cấp,mã phiếu
nhập,ngày nhập.

-lớp biên: menu ,form nhập khoản tiền : vì đây là giao diện với tác
nhân.

-lớp điều khiển : hệ điều khiển

Sơ đồ lớp:
Hình 2:Sơ đồ lớp

Trích các lớp biên:

Người dùng tương tác với phần mềm qua màn hình: Lớp giao diện
người dung.

Có 2 dạng được hiện ra trên lớp giao diện người dùng:

1.Lớp Menu

2.Form nhập khoản tiền để nhập số liệu vào hệ thống (1.000.000,


1.500.000).

Mục đích của từng dạng là khác nhau. 2 lớp biên tương ứng là:

1.Lớp Menu

2.Form Nhập tiền


Trích các lớp điều khiển: Như đã nêu ở đầu bài mục đích của Use case
là cho phép nhân viên kế toán nhập tiền chi và tiền thu sau mỗi ngày bán
hàng vào CSDL.

Mục đích của lớp điều khiển của Use case là :Lưu thông tin nhập vào
CSDL,và sử lý thông tin đó.

*.Scanario rút gọn:

1. Hoạt vụ bắt đầu khi người kế toán lựa tùy chọn thu tiền trên
menu.

2.hệ điều khiển hiển thị form nhập số tiền thu.

3 .kế toán nhập thông tin : các số mã hóa đơn bán :


0011,0012,0013…,tổng tiền thu của từng hóa đơn và tổng số tiền thu :40
000 000 VND.

4.Hệ điều khiển kiểm tra mã hóa đơn ,mã chưa có,không thông báo

5. Hệ điều khiển cập nhật thông tin khoản thu trong CSDL.

6. Nhân viên chon “thoát” trên menu để kết thúc công việc.

7. Hoạt vụ kết thúc.

*.Sơ đồ tuần tự. (Sequence diagram):


*.Sơ đồ cộng tác(Collabortion diagram):
Sơ đồ lớp với các phương thức
Thẻ CRC

Lớp điều khiển

1.Gửi yêu cầu nhập tiền

2.Kiểm tra mã nhập vào

3.Cập nhật vào cơ sở dữ liệu

Cộng tac

1.Lớp tiền

2.Lớp Form nhập tiền

3.Lớp Form nhập thu

4.Lớp Form nhập chi

5.Lớp khoản tiền thu

6.Lớp khoản tiền chi

Sơ đồ trạng thái
Sinh code:

public class Tien {

private int Tonggiatri;

public class Khoantienchi extends Tien {

private int Tonggiatri;

private int Masophieubanhang;

private String Ngaynhap;

/**

* @param Tonggiatri

* @return

*/

public void SetTonggiatri(int Tonggiatri) {

throw new UnsupportedOperationException();

}
/**

* @param Masophieubanhang

* @return

*/

public void SetMasophieubanhang(int Masophieubanhang) {

throw new UnsupportedOperationException();

/**

* @param Ngaynhap

* @return

*/

public void SetNgaynhap(int Ngaynhap) {

throw new UnsupportedOperationException();

/**

* @param Tonggiatri
* @return

*/

public int GetTonggiatri(int Tonggiatri) {

throw new UnsupportedOperationException();

/**

* @param Masophieubanhang

* @return

*/

public int GetMasophieubanhang(int Masophieubanhang) {

throw new UnsupportedOperationException();

/**

* @param Ngaynhap

* @return

*/

public String GetNgaynhap(int Ngaynhap) {


throw new UnsupportedOperationException();

public class Khoantieuthu extends Tien {

private int Tonggiatri;

private int Masophieunhaphang;

private String Ngaynhap;

/**

* @param Tonggiatri

* @return

*/

public void SetTonggiatri(int Tonggiatri) {

throw new UnsupportedOperationException();

/**

*
* @param Masophieunhaphang

* @return

*/

public void SetMasophieunhaphang(int Masophieunhaphang) {

throw new UnsupportedOperationException();

/**

* @param Ngaynhap

* @return

*/

public void SetNgaynhap(int Ngaynhap) {

throw new UnsupportedOperationException();

/**

* @param Tonggiatri

* @return

*/
public int GetTonggiatri(int Tonggiatri) {

throw new UnsupportedOperationException();

/**

* @param Masophieunhaphang

* @return

*/

public int GetMasophieunhaphang(int Masophieunhaphang) {

throw new UnsupportedOperationException();

/**

* @param Ngaynhap

* @return

*/

public String GetNgaynhap(int Ngaynhap) {

throw new UnsupportedOperationException();

}
}

public class Hedieukhien {

/**

* @return

*/

public void Kiemtra() {

throw new UnsupportedOperationException();

/**

* @return

*/

public void Capnhatdulieu() {

throw new UnsupportedOperationException();

}
public class Formnhap {

/**

* @return

*/

public void Display() {

throw new UnsupportedOperationException();

public class Formnhapchi extends Formnhap {

private int Tonggiatri;

private int Masophieubanhang;

private String Ngaynhap;

/**

* @return

*/
public void Display() {

throw new UnsupportedOperationException();

public class Formnhapthu extends Formnhap {

private int Tonggiatri;

private int Masophieunhaphang;

private String Ngaynhap;

/**

* @return

*/

public void Display() {

throw new UnsupportedOperationException();

public class Menu {


/**

* @return

*/

public void Add() {

throw new UnsupportedOperationException();

/**

* @return

*/

public void Edit() {

throw new UnsupportedOperationException();

/**

* @return

*/
public void Delete() {

throw new UnsupportedOperationException();