Sơ đồ trạng thái
THIẾT KẾ DỮ LIỆU QUẢN LÍ CỬA HÀNG ĐIỆN THOẠI DI ĐỘNG
ĐỘNG
Mô tả chi tiết các kiểu dữ liệu trong sơ đồ logic
1. Person
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 PersonID varchar Khóa chính Mã người dùng 2 Fullname nvarchar Tên đầy đủ của người 3 DOB Datetime Ngày sinh
4 Address nvarchar Địa chỉ 5 Phone nvarchar Số điện thoại
2. Staff
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 PersonID varchar Khóa chính ,
khóa ngoại đến Person
Mã người dùng
2 Username varchar Tên đang nhập vào hệ thống
3 Password varchar Mật khẩu đăng nhập 4 Date Datetime Ngày vào làm
5 RoleID varchar khóa ngoại đến bảng Roles
Mã Vai trò
3. Roles
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 RoleID varchar Khóa chính Mã Vai trò
2 RoleName nvarchar Tên vai trò của người dùng đăng nhập (nhân viên bán hàng , nhân viên quản lý , thủ kho...) 4. Customer
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 PersonID varchar Khóa chính ,
khóa ngoại đến Person
Mã người dùng
2 KindID varchar khóa ngoại đến KIND
Mã Loại Khách hàng 3 Date Datetime Ngày thiết lập thông tin
khách hàng
4 TotalAmount float Tổng tiền đã chi trả mua hàng
5. Kind
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 KindID varchar Khóa chính Mã loại khách hàng
2 rate float Tỉ lệ phần trăm giảm giá cho khách hàng
3 Detail nvarchar Diễn giải loại khách hàng (vip , thân thiết ) 6. Bill
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 BillID varchar Khóa chính Mã hóa đơn
2 TotalPrice float Tổng trị giá hóa đơn 3 SellDate Datetime Ngày lập hóa đơn bán
hàng 4 StaffID varchar Khóa ngoại
đến PERSON Mã nhân viên lập hóa đơn 5 CustomerID varchar Khóa ngoại
đến PERSON
Mã khach hàng được lập hóa đơn
7. BillDetail
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 BillID varchar Khóa chính Mã hóa đơn 2 ProductID varchar Khóa chính ,
khóa ngoại đến
PRODUCT
Mã sản phẩm bán
3 Amount float Tổng tiền mua sản phẩm 8. Product
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 ManufacturerID varchar Khóa ngoại đến
MANUFACTURER Mã hãnh sản xuất 2 ProductID varchar Khóa chính , khóa
ngoại đến PRODUCT
Mã sản phẩm
3 Model varchar Model của sản phẩm
4 Quantity Int Số lượng còn lại của sản phẩm 5 Price Float Giá thành sản phẩm 6 Img Varchar Link ảnh cuả sản
phẩm 9. Supplier
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 SupplierID varchar Khóa chính Mã nhà cung cấp 2 Name nvarchar Tên nhà cung cấp 3 Phone varchar Số điện thoại liên lạc
4 Address nvarchar Địa chỉ liên lạc 10. BuyProduct
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 BuyProductID varchar Khóa chính Mã hóa đơn nhập 2 Amount float Tổng giá trị nhập hàng 3 BuyDate Datetime Ngày nhập hàng 4 SupplierID nvarchar Khóa ngoại
đến
SUPPLIER
Mã nhà cung cấp
11. BuyProductDetail
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 BuyProductID varchar Khóa chính Mã nhà cung cấp 2 ProductID varchar Khóa chính Mã mặt hàng 3 Price varchar Giá hàng hóa 4 Quantity nvarchar Số lượng
12. Phone
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 PhoneID varchar Khóa chính Mã sản phẩm 2 Music bit Khóa chính Hỗ trợ nghe
nhạc 3 TV bit Hỗ trợ TV 4 BlueTooth bit Hỗ trợ
BlueTooth 5 Wifi bit Hỗ trợ Wifi 6 FMRadio bit Hỗ trợ FMRadio 7 VoiceRecord bit Hỗ trợ VoiceRecord 8 GPS bit Hỗ trợ GPS 9 QWERTY bit Hỗ trợ bàn phím QWERTY 10 TouchScreenDetailID varchar Khóa ngoại đến
TOUCHSCREENDETAIL
Hỗ trợ cảm ứng điểm 11 CameraDetailID varchar Khóa ngoại đến
CAMERADETAIL Hỗ trợ camera 12 MultiSimID varchar Khóa ngoại đến
MULTISIM
Hỗ trợ nhìu sim
13 MemoryCardID varchar Khóa ngoại đến
MEMORYCARD Hỗ trợ 13. TouchScreenDetail
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 TouchScreenDetailID varchar Khóa chính Mã màn hình cảm
ứng
2 Point int Số điểm hỗ trợ 14. MemoryCard
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 MemoryCardID varchar Khóa chính Mã thẻ nhớ 2 Size int Dung lượng
15. CameraDetail
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 CameraDetailID varchar Khóa chính Mã loại camera
2 MegaPixel int Số điểm megapixel hỗ trợ
16. MultiSim
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 MultiSimID varchar Khóa chính Mã phân biệt các loại
nhiều sim 2 SimQuantity int Số sim hỗ trợ
17. Accessory
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 AccessoryID varchar Khóa chính Mã phụ kiện 2 AccessoryKindID varchar Khóa ngoại đến
ACCESSORYKIND Mã loại phụ kiện 3 Detail Nvarchar Diễn giải phụ
kiện 18. AccessoryKind
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 AccessoryKindID varchar Khóa chính Mã loại phụ kiện 2 Name Nvarchar Tên loại phụ kiện
19. Manufacrurer
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú 1 ManufacrurerID varchar Khóa chính Mã nhà sản xuất 2 ManufacrurerName Nvarchar Tên nhà sản xuất
THIẾT KẾ KIẾN TRÚC ĐỀ TÀI QUẢN LÍ CỬA HÀNG ĐIỆN THOẠI DI ĐỘNG
• Kiến trúc hệ thống chương trình gồm 3 phần: 1. Giao diện:
Sử dụng công nghệ WPF của .NET xử lý riêng phần giao diện tách rời với code. Áp dụng các thẻ Grid,StackPanel, Canvas,.v.v một cách hợp lý để bố trí các item lên form hiển thị.
Dễ dàng cho các thành viên tham gia góp ý sửa đổi giao diện trước khi tiến hành việc coding.
2. Cơ sở dữ liệu:
Sử dụng phần mềm Microsoft SQL Studio Management để tạo và quản lý cơ sở dữ liệu. Do đó cơ sở dữ liệu hoàn toàn độc lập với phần mềm và cùng một cơ sở dữ liệu có thể dùng cho nhiều phần mềm khác nhau. Việc tác rời cơ sở dữ liệu với phần mềm làm cho linh động trong việc thay đổi, sửa chữa.
3. Thuật toán liên kết:
Sử dụng ngôn ngữ linq để thao tác nhập, xuất, sửa, xóa cơ sở dữ liệu , một số class tự tạo để sử dụng, liên kết với linq để hiển thị các thông số cần thiết lên màn hình chương trình.
Phần mềm Quản lý cửa hàng điện thoại di động có kiến trúc phần nào thỏa đáng các yêu cầu thiết yếu của một mô hình kiến trúc phần mềm cơ bản :
a. Hỗ trợ việc giao tiếp:
Nó hỗ trợ việc giao tiếp với các thành viên trong dự án, tạo ra vẻ ngoài trừu tượng của phần mềm trước khi nó được thành hình (Có giao diện,Cơ sở dữ liệu dựa trên các yêu cầu trước khi có chương trình).
b. Tính khả chuyển cho hệ thống:
Nếu khách hàng có những yêu cầu mới, ta sẽ dễ dàng thực hiện được dựa trên việc Cơ sở dữ liệu và Giao diện tách rời. Có tạo thêm màn hình mới và bảng mới trong CSDL để thỏa đáng yêu cầu khách hàng.
• Các ngôn ngữ sử dụng: 1. Linq:
- Linq đưa ra khả năng lập trình mới trong .NET kiểu truy vấn :Sql DB, Objects và Xml
- Giải pháp lập trình hợp nhất, đem đến khả năng truy vấn dữ liệu theo cú pháp SQL trực tiếp trong C# hay VB.NET, áp dụng cho tất cả các dạng dữ liệu từ đối tượng đến CSDL quan hệ và XML.
Xử lý thông tin hay dữ liệu là nhiệm vụ quan trọng nhất của bất kỳ phần mềm nào và một trong những trở ngại chính mà các nhà phát triển hiện nay phải đối mặt là khác biệt giữa ngôn ngữ lập trình hướng đối tượng và ngôn ngữ truy vấn dữ liệu, vấn đề càng phức tạp hơn với sự xuất hiện của XML (eXtensible Markup
Language - ngôn ngữ đánh dấu mở rộng).
Hiện tại, cách phổ biến nhất để ứng dụng lấy dữ liệu từ các hệ cơ sở dữ liệu
(CSDL) là sử dụng SQL (Structure Query Language - ngôn ngữ truy vấn cấu trúc). SQL có cú pháp rất khác với những ngôn ngữ lập trình phổ dụng như C# và
VB.NET, do vậy lập trình viên phải nhọc công "hàn gắn" hai thực thể khác biệt này với nhau trong mỗi dự án phần mềm.
WPF (Windows Presentation Foundation) là thư viện lập trình giao diện đồ họa có trong Microsoft .NET Framework từ phiên bản 3.0. Được xây dựng trên nền Direct3D, WPF phát huy tối đa sức mạnh xử lý của card đồ họa, hỗ trợ các cải tiến về giao diện trong Windows Vista, Windows 7 và độc lập với mọi độ phân giải của màn hình.
WPF kế thừa và mở rộng các đặc trưng phát triển ứng dụng bao gồm: ngôn ngữ đánh dấu ứng dụng mở rộng (Extensible Application Markup Language - XAML), các điều khiển (control), tác hợp dữ liệu (data binding), bố cục, đồ họa 2D và 3D, hoạt hình, kiểu dáng (style), mẫu (template), tài liệu, đa phương tiện (âm thanh, hình ảnh), văn bản và in ấn.
Ứng dụng WPF có thể được biên dịch để chạy trên desktop hoặc thông qua trình duyệt web phổ biến như IE, Firefox, Safari. Do đó WPF không chỉ dành cho các ứng dụng desktop, nó còn cho phép phát triển các ứng dụng web phong phú (Rich Internet Application – RIA). Ngoài ra WPF cung cấp một mô hình lập trình nhất quán cho việc phát triển ứng dụng và cung cấp sự tách biệt rõ ràng giữa giao diện người dùng và logic nghiệp vụ.
THIẾT KẾ GIAO DIỆN ĐỀ TÀI