LỜI NÓI ĐẦU Ngày nay, công nghệ thông tin đóng vai trò quan trọng không thể thiếu trong quátrình quản trị, điều hành các hoạt động sản xuất kinh doanh của mỗi công ty, tổ chức, doanh ngh
Trang 1BÁO CÁO BÀI TẬP LỚN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Đề tài: Xây dựng hệ thống quản lý cửa hàng bán sách, đĩa nhạc, đĩa phim
Media OneGiáo viên hướng dẫn: Trịnh Thành Trung
Nhóm sinh viên thực hiện:
Lê Việt Hoàng 20151520
Trần Văn Thắng 20153552Dương Văn Công 20150429Nguyễn Hữu Cương 20150465
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 3
CHƯƠNG 1: MÔ TẢ YÊU CẦU 4
1.1 Mô tả yêu cầu bài toán 4
1.2 Biểu đồ use case 4
1.3 Đặc tả use case 5
CHƯƠNG 2: THIẾT KẾ CHI TIẾT 9
2.1 Thiết kế lớp 9
2.1.1 Biểu đồ lớp 9
2.1.2 Thiết kế chi tiết lớp 11
2.2 Thiết kế Cơ sở dữ liệu (hoặc cấu trúc dữ liệu) 12
CHƯƠNG 3: CHƯƠNG TRÌNH MINH HOẠ 13
3.1 Xây dựng chương trình 13
3.2 Kết quả chương trình 14
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 18
TÀI LIỆU THAM KHẢO 20
PHÂN CÔNG CÔNG VIỆC……… 21
Trang 3LỜI NÓI ĐẦU
Ngày nay, công nghệ thông tin đóng vai trò quan trọng không thể thiếu trong quátrình quản trị, điều hành các hoạt động sản xuất kinh doanh của mỗi công ty, tổ chức, doanh nghiệp Đặc biệt, theo đà phát triển của công nghệ thông tin, việc đưa tin học vào xử lý thông tin trong công tác quản lý đã trở nên phổ biến
Ứng dụng phần mềm vào việc quản lý bán hàng trong doanh nghiệp là nhu cầu tất yếu nhằm nâng cao hiệu quả quản lý và tăng cường mối quan hệ thân thiết với khách hàng trong môi trường cạnh tranh hiện nay Việc chọn phần mềm phù hợp với hoạt động của doanh nghiệp là việc đau đầu
Trước yêu cầu cấp thiết của hệ thống, nhóm chúng em đã cùng nhau quyết định phân tích , thiết kế và xây dựng hệ thống quản lý các sản phẩm băng đĩa (đĩa nhạc, đĩa phim), sách cho một cửa hàng Với ưu điểm dễ sử dụng, hệ thống sẽ giúp cho các nhà quản lý dễ dàng tổng hợp, quản lý sản phẩm và thanh toán nhanh chóng vàchuyên nghiệp Đó chính là lý do mà nhóm chúng em chọn đề tài này
Trong quá trình thực hiện đề tài, nhóm chúng em còn gặp nhiều khó khăn và không tránh khỏi sai sót, mong thầy và các bạn nhận xét và đánh gía khách quan đểnhóm có thể kịp thời sửa chữa
Để hoàn thành được bài tập lớn này, nhóm chúng em xin được gửi lời cảm ơn chân thành đến thầy giáo hướng dẫn đề tài: Thầy Trịnh Thành Trung
là giảng viên Khoa Công nghệ Thông tin Trường Đại học Bách Khoa Hà Nội - đã hết lòng giúp đỡ, hướng dẫn, chỉ dạy tận tình để nhóm em hoàn thành được đề tài này
Trang 4CHƯƠNG 1: MÔ TẢ YÊU CẦU
1.1 Mô tả yêu cầu bài toán :
- Mô tả yêu cầu bài toán: yêu cầu xây dựng một hệ thống quản lý các sản phẩm sách, đĩa nhạc, đĩa phim
- Người quản lý có thể thêm bớt sản phẩm, đồng thời thanh toán khi bán hàng
- Nhân viên có thể thanh toán, thêm thông tin khách hàng
1.2 Biểu đồ use case:
Tác nhân:
- Chủ cửa hàng (Admin)
Use case:
- Thêm sách, đĩa nhạc, đĩa phim, nhân viên
- Cập nhật sách, đĩa nhạc, đĩa phim, nhân viên
Trang 5Thêm bớt khách hàng Báo cáo
Trang 61.3 Đặc tả use case:
Dựa vào biểu đồ use case ta có các biểu đồ hoạt động:
• Biểu đồ hoạt động thêm mặt hàng mới:
true
Lưu sản phẩm vừa nhập vào CSDL
Cập nhật lại danh sách
Trang 7• Biểu đồ hoạt động tìm kiếm mặt hàng:
Trang 8• Biểu đồ hoạt động thanh toán:
Chọn mã sản phẩm
Hiển thị mã sản phẩm và tên sản phẩm
Chọn mục Sell
Cập nhật lại danh sách khách hàng Chọn một mục FilmDVD, MusicDVD, Book
Chọn Khách hàng (Thiết lập) Chọn khách hàng
Không tìm thấy
Chọn mục Thiết lập Tìm thấy
Chọn mã Sản phẩm
Nhập số lượng hàng cần mua
Báo: Không đủ hàng cần mua
Thêm mặt hàng vào giỏ hàng, cập nhật lại
danh sách
Trang 9CHƯƠNG 2: THIẾT KẾ CHI TIẾT
Trang 10ListProduct String id; String quantity;
String description; String suppliedBy;
String pursesPrice; String sellPrice;
String rma;String user;String date;
+setId(String) : void +getId : String +setQuantity(String) : void +getQuantity: String +setDescription(String) : void +getDescription : String +setSuppliedBy(String) : void +getSuppliedBy : String +setPursesPrice(String) : void +getPursesPrice : String +setSellPrice(String) : void +getSellPrice : String +setUser(String) : void +getUser : String + setRMA(String) : void +getRMA : String
ListMusic
#musicId : String
#singer : String +setMusicId(String) : void +getMusicId : String +setSinger(String) : void +getSinger : String
Trang 112.1.2 Thiết kế chi tiết lớp:
Lớp ListProduct là lớp cha có các thuộc tính id, quantity, description,
suppliedBy, pursesPrice, sellPrice, user, date và các phương thức getter(), setter() tương ứng
Xây dựng lớp ListBook kế thừa từ lớp ListProduct gồm :
+ Thuộc tính: productId(String), catagory(String), supplier(String)+ Phương thức: getter(), setter() tương ứng
Xây dựng lớp ListMusic kế thừa từ lớp ListProduct gồm :
+ Thuộc tính: musicId(String), singer(String)
+ Phương thức: getter(), setter() tương ứng
Xây dựng lớp ListFilm kế thừa từ lớp ListProduct gồm :
+ Thuộc tính: filmId(String), directors(String)
+ Phương thức: getter(), setter() tương ứng
Trang 12Xây dựng lớp ListEmployee kế thừa từ lớp ListPeople
2.2 Thiết kế cơ sở dữ liệu / cấu trúc dữ liệu:
- Cơ sở dữ liệu sử dụng là MySQL
- Trong cơ sở dữ liệu gồm có các bảng: actor, brands, category,
customer, directors, film, filmproduct, musician, musics, musicstudios, organize, products, rma, sell,singer, supplyer, unit, user, userpermission
- Các thuộc tính của các bảng:
+ actor (Id, ActorName, ActorDescription, CreatorId, Date)
+ brands (Id, BrandName, Description, SupplyerId, CreatorId, Date).+ customer (Id, CustomerName, CustomerContact, CustomerAddress, TotalBuy, CreatorId, Date)
+ category (Id, CatagoryName, CatagoryDescription, BrandId,
SupplyeId, CreatorId, Date)
+ directors (Id, DirectorsName, DirectorsDescription, FilmProductId, SupplyerIdm CreatorId, Date)
+ filmProduct (Id, FilmProductName, Description, SupplyerId,
CreatorId, Date)
+ film (Id, FilmId, FilmName, Quantity, Description, SupplyerId,
FilmProductId, DirectorsId, ActorId, PursesPrice, SellPrice, RMAId, userId, Date)
+ musician (Id, MusicianName, MusicianDescription, CreatorId, Date).+ musics (Id, MusicId, MusicName, Quantity,Description, SupplerId, MusicStudioId, SingerId, MusicianId,PursesPrice, SellPrice,RMAId,UserId, Date )
+ musicstudio (Id, MusicStudioName, Description, SupplyerId,
CreatorId, Date)
+ sell (Id, SellId, CustomerId, ProductId, PursesPrice, SellPrice,
Quantity, TotalPrice, WarrentyVoidDate, SellerId, SellDate )
Trang 13+ singer (Id, SingerName, SingerDescription, MusicStudioId,
SupplyerId, CreatorId, Date)
- Trong đó, các bảng film, filmproduct, directors, actor được dùng để lưutrữ thông tin về đĩa phim của cửa hàng
- Các bảng music, musicstudio, singer, musician được dùng để lưu trữ thông tin về đĩa nhạc của cửu hàng
- Bảng suppler, rma, sell lưu thông tin về những nhà cung cấp, thông tin đổi trả mặt hàng và thông tin về sản phẩm đã bán
- Các bảng brands, category, products lưu thông tin của mặt hàng sách
- Các thao tác với cơ sở dữ liệu được thực hiện qua các gói connectSQL, updateSQL, database
CHƯƠNG 3: CHƯƠNG TRÌNH MINH HOẠ
Trang 14chạy thống nhất trên nhiều nền tảng mà chỉ cần biên dịch một lần.
- Môi trường lập trình: NetBean IDE
Trang 15Hình 3.2: Giao diện bán hàng.
Trang 16Hình 3.4: Giao diện báo cáo.
Hình 3.5: Giao diện nhân viên
Trang 17Hình 3.6: Tìm kiếm, thêm, cập nhật khách hàng.
Trang 18Hình 3.7: Thêm sản phẩm.
Hình 3.8: Thêm nhân viên
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
- Kết quả đạt được:
Hoàn thành chương trình, báo cáo bài tập lớn đúng thời hạn
Giao diện thân thiện với người dùng, có đầy đủ các chức năng cơ bản theo yêu cầu
Trang 19Khả năng lập trình của các thành viên còn hạn chế.
- Kinh nghiệm thu được:
Tăng hiểu biết và củng cố các kiến thức đã học về : kĩ năng lập trình, cơ sở
dư liệu, SQL và một số kĩ năng khác
- Hướng phát triển cho đề tài, cho sản phẩm và khả năng ứng dụng:
Chương trình có thể phát triển thêm để ứng dụng cho các cửa hàng kinh doanh lớn với cơ sở dữ liệu lớn hơn và có thêm một số chức năng khác
Bổ sung các thuộc tính của cở sở dữ liệu để hệ thống hoàn thiện hơn
Một số chức năng còn chưa hoàn thiện như:
+ Nhật kí nhập hàng
+ Nhật kí bán hàng
Trang 20[1] Đoàn Văn Ban Lập trình hướng đối tượng với Java Nhà xuất bản Khoa học
kỹ thuật, 2003
[2] Slide lập trình hướng đối tượng trên hệ thống ACU
[3] Java Core 1( Tiếng việt)
Trang 21Nguyễn Sơn Chung : Thiết kế giao diện
Trần Văn Thắng : Thiết kế kê sở dữ liệu
Dương Văn Công : Thiết kế giao diện
Nguyễn Hữu Cương : Viết báo cáo
\