TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI , KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN HỌC PHẦN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM , Đề tài NGHIÊN CỨU MÔ HÌNH QUY TRÌNH PHÁT TRIỂN THÁC NƯỚC VÀ NGHIÊN CỨU TÌM HIỂU VỀ SQL MICROSOFT Hà Nội – Năm 2022 MỤC LỤC DANH MỤC HÌNH VẼ 2 LỜI NÓI ĐẦU 3 CHƯƠNG 1 Tìm hiểu về mô hình quy trình thác nước 4 1 1 Giới thiệu về mô hình 4 1 2 Các pha trong mô hình 4 1 3 Ưu điểm và nhược điểm của mô hình 5 CHƯƠNG 2 Tìm hiểu về SQL 7 2 1 SQL là gì? 7 2 2 Nguồn gốc 7 2 3 Tại sao sử dụng S.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN HỌC PHẦN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Đề tài: NGHIÊN CỨU MÔ HÌNH QUY TRÌNH PHÁT TRIỂN THÁC NƯỚC VÀ NGHIÊN CỨU TÌM HIỂU VỀ SQL
MICROSOFT
Hà Nội – Năm 2022
Trang 2Bảng 3.1 Mô hình hoá chức năng
Bảng 3.2 Mô tả chi tiết use case Xem trang chủ
Bảng 3.3 Mô tả chi tiết use case Xem danh mục sản phẩmBảng 3.4 Mô tả chi tiết use case Xem sách theo danh mụcBảng 3.5 Mô tả chi tiết use case Xem chi tiết sách
Bảng 3.6 Mô tả chi tiết use case Xem sách cũ
Bảng 3.7 Mô tả chi tiết use case Xem sách xưa
Bảng 3.8 Mô tả chi tiết use case Xem danh mục bài viết
Bảng 3.9 Mô tả chi tiết use case Xem bài viết theo danh
mụcBảng 3.10 Mô tả chi tiết use case Xem chi tiết bài viết
Bảng 3.11 Mô tả chi tiết use case Đăng nhập
Bảng 3.12 Mô tả chi tiết use case Đăng ký
Bảng 3.13 Mô tả chi tiết use case Tìm kiếm tên sách
Bảng 3.14 Mô tả chi tiết use case Xem giỏ hàng
Bảng 3.15 Mô tả chi tiết use case Thanh toán
Bảng 3.16 Mô tả chi tiết use case Huỷ đơn hàng
Bảng 3.17 Mô tả chi tiết use case Bảo trì danh mục
Bảng 3.18 Mô tả chi tiết use case Bảo trì Sách
Bảng 3.19 Mô tả chi tiết use case Bảo trì bài viết
Bảng 3.20 Mô tả chi tiết use case Bảo trì Nhà xuất bản
Bảng 3.21 Mô tả chi tiết use case Quản lý đơn hàng
Trang 3Bảng 3.22 Mô tả chi tiết use case Quản lý khách hàng
Trang 4LỜI NÓI ĐẦU
Thế giới ngày càng phát triển đồng nghĩa với sản xuất và tiêu thụ hànghoá trở nên phức tạp và có khối lượng công việc lớn hơn Vì thế, con ngườicần có hệ thống để quản lý và lưu trữ sản phẩm của mình để công việc trở nên
dễ dàng và hiệu quả hơn
Ngôn ngữ SQL là ngôn ngữ truy vấn được dùng để giao tiếp với cơ sở
dữ liệu hoặc các hệ quản trị cơ sở dữ liệu Từ đó có thể xây dựng nên cácchương trình lưu trữ và quản lý cơ sở dữ liệu mà con người mong muốn
Với đề tài “Nghiên cứu và tìm hiểu về SQL Microsoft”, qua đó ta hiểuđược lịch sử hình thành và phát triển của ngôn ngữ SQL đồng thời là cách xâydựng các câu lệnh trong SQL từ đó cho ta cái nhìn tổng quan nhất về ngônngữ này Cùng với việc tìm hiểu về ngôn ngữ SQL, chúng em xin giới thiệuứng dụng của SQL vào hệ thống quản lý sách cũ giúp cửa hàng quản lý côngviệc dễ dàng hơn Trong để tài, chúng em xin giới thiệu cách xây dựng cơ sở
dữ liệu và quản lý dữ liệu bằng những câu lệnh SQL từ đó ta có hiểu cơ bản
về việc xây dựng cơ sở dữ liệu quản lý sách cũ
Trang 5CHƯƠNG 1Tìm hiểu về mô hình quy trình thác nước
1.1 Giới thiệu về mô hình
Mô hình thác nước (Waterfall model) là Mô hình Quy trình đầu tiênđược giới thiệu Nó cũng được gọi là mô hình vòng đời tuần tự tuyến tính Nórất đơn giản để hiểu và sử dụng Trong mô hình thác nước, mỗi giai đoạn phảiđược hoàn thành trước khi giai đoạn tiếp theo có thể bắt đầu và không có sựchồng chéo trong các giai đoạn
Waterfall là mô hình quy trình đầu tiên và nổi tiếng nhất được giới thiệu,với cách tiếp cận Vòng đời phát triển hệ thống (SDLC) lâu đời nhất, được sửdụng để phát triển phần mềm
Mô hình thác nước minh họa quá trình phát triển phần mềm theo dòngtuần tự tuyến tính Điều này có nghĩa là bất kỳ giai đoạn nào trong quá trìnhphát triển chỉ bắt đầu nếu giai đoạn trước đó hoàn thành Trong mô hình thácnước, các pha không chồng lên nhau
1.2 Các pha trong mô hình
- Thu thập và phân tích yêu cầu (Requirement Analysis): Tất cả các yêucầu có thể có của hệ thống được phát triển đều được ghi lại trong giaiđoạn này và được ghi lại trong tài liệu đặc tả yêu cầu để phục vụ chocác giai đoạn sau
- Thiết kế hệ thống (System Design): Các thông số kỹ thuật yêu cầu từgiai đoạn đầu được nghiên cứu trong giai đoạn này và thiết kế hệ thốngđược chuẩn bị Thiết kế hệ thống này giúp xác định các yêu cầu phầncứng và hệ thống cũng như giúp xác định kiến trúc hệ thống tổng thể
- Thực hiện (Implementation): Với đầu vào từ thiết kế hệ thống, hệ thốngđược phát triển đầu tiên trong các chương trình nhỏ gọi là đơn vị, đượctích hợp trong giai đoạn tiếp theo Mỗi đơn vị được phát triển và kiểmtra chức năng của nó (hay còn có thể được gọi là Kiểm thử đơn vị)
- Tích hợp và Kiểm thử (Integration and Testing): Tất cả các đơn vị đượcphát triển trong giai đoạn triển khai được tích hợp vào một hệ thống saukhi thử nghiệm của mỗi đơn vị Sau khi tích hợp, toàn bộ hệ thốngđược kiểm tra xem có bất kỳ lỗi và hỏng hóc nào không (giai đoạn nàycòn được gọi là kiểm thử tích hợp)
- Triển khai hệ thống (Deployment of system): Sau khi kiểm tra chứcnăng và phi chức năng được thực hiện; sản phẩm được triển khai trongmôi trường khách hàng hayđược tung ra thị trường
- Bảo trì (Maintenance): Có một số vấn đề xảy ra trong môi trường kháchhàng Để khắc phục những vấn đề đó, các bản vá lỗi được phát hành.Ngoài ra để nâng cao sản phẩm một số phiên bản tốt hơn được pháthành Bảo trì được thực hiện để mang lại những thay đổi này trong môitrường khách hàng
Trang 6Hình 1.1 Các pha trong mô hình thác nước
1.3 Ưu điểm và nhược điểm của mô hình
Ưu điểm: Cho phép thiết lập một lịch trình với các thời hạn cho từng giai
đoạn phát triển và một sản phẩm, và có thể tiến hành từng giai đoạn của môhình quy trình phát triển Sự phát triển di chuyển từ ý tưởng, thông qua thiết
kế, thực hiện, thử nghiệm, cài đặt, khắc phục sự cố và kết thúc là vận hành vàbảo trì Mỗi giai đoạn phát triển diễn ra theo thứ tự nghiêm ngặt Một số ưuđiểm chính của Mô hình thác nước như sau:
• Đơn giản, dễ hiểu và sử dụng
• Dễ dàng quản lý do độ cứng của mô hình
• Mỗi giai đoạn có các phân phối cụ thể và một quy trình xem xét
• Các giai đoạn được xử lý và hoàn thành cùng một lúc
• Hoạt động tốt cho các dự án nhỏ hơn, nơi các yêu cầu được hiểu rất rõ
• Các giai đoạn được xác định rõ ràng
• Các mốc quan trọng được hiểu rõ
• Dễ dàng sắp xếp các công việc
• Quá trình và kết quả được ghi chép đầy đủ
Nhược điểm: Nó không cho phép phản ánh hoặc sửa đổi nhiều Một khi
ứng dụng đang trong giai đoạn thử nghiệm, rất khó để quay lại và thay đổimột cái gì đó không được ghi chép đầy đủ hoặc được nghĩ đến trong giai đoạnkhái niệm Những nhược điểm chính của Mô hình thác nước như sau:
• Không có phần mềm đang hoạt động nào được sản xuất cho đến cuối vòng đời
• Lượng rủi ro cao và không chắc chắn
• Không phải là một mô hình tốt cho các dự án phức tạp và hướng đối tượng Mô hình kém cho các dự án dài và đang diễn ra Không phù
Trang 7hợp với các dự án mà các yêu cầu có nguy cơ thay đổi từ trung bình đến cao
• Vì vậy, rủi ro và sự không chắc chắn là cao với mô hình quy trình này
• Rất khó để đo lường sự tiến bộ trong các giai đoạn
• Không thể đáp ứng các yêu cầu thay đổi
Ứng dụng: Mỗi phần mềm được phát triển đều khác nhau và đòi hỏi phải
tuân theo một cách tiếp cận SDLC phù hợp dựa trên các yếu tố bên trong và bên ngoài Một số dự án phần mềm thích hợp với mô hình Waterfall như:
• Các yêu cầu được ghi chép rất đầy đủ, rõ ràng và cố định
• Mô tả (định nghĩa) về sản phẩm ổn định
• Công nghệ được hiểu và không mang tính năng động
• Không có yêu cầu mơ hồ
• Có sẵn các nguồn lực dồi dào với kiến thức chuyên môn cần thiết để
hỗ trợ sản phẩm
• Dự án ngắn hạn
Trang 8CHƯƠNG 2: Tìm hiểu về SQL
2.1 SQL là gì?
SQL hay Structured Query Language là ngôn ngữ truy vấn có cấu trúc
Nó là một ngôn ngữ, là tập hợp các lệnh để tương tác với cơ sở dữ liệu Dùng
để lưu trữ, thao tác và truy xuất dữ liệu được lưu trữ trong một cơ sở dữ liệuquan hệ Trong thực tế, SQL là ngôn ngữ chuẩn được sử dụng hầu hết cho hệ
cơ sở dữ liệu quan hệ Tất cả các hệ thống quản lý cơ sở dữ liệu quan hệ(RDMS) như MySQL, MS Access, Oracle, Postgres và SQL Server… đều sửdụng SQL làm ngôn ngữ cơ sở dữ liệu chuẩn
Hầu như công ty nào lớn cũng cần xây dựng một hệ thống để lưu trữ cơ
sở dữ liệu Mọi thứ trong cơ sở dữ liệu này sẽ được diễn tả ra thành nhiềubảng, có mối quan hệ với nhau Để truy vấn và lấy dữ liệu từ các bảng nàynhằm tổng hợp thành thông tin nào đó, người ta dùng đến SQL thông qua cáccâu query
2.2 Nguồn gốc
a Nguồn gốc phát triển
SQL bắt đầu từ những năm 1970, khi các kỹ sư của IBM là DonaldChamberlin và Raymond Boyce thiết kế phiên bản đầu tiên để tương tác vàlấy dữ liệu được lưu trữ trong hệ thống cơ sở dữ liệu của công ty Họ gọi nó làSEQUEL, mặc dù sau đó họ buộc phải thay đổi nó do các vấn đề bản quyền
b Lịch sử phát triển
1970 - Tiến sĩ Edgar F "Ted" Codd của IBM được biết đến như là cha
đẻ của các cơ sở dữ liệu quan hệ Ông mô tả một mô hình quan hệ cho
cơ sở dữ liệu
1974 - Đã xuất hiện Structured Query Language.
1978 - IBM đã làm việc để phát triển các ý tưởng của Codd và đưa ra
một sản phẩm có tên System / R
1986 - IBM đã phát triển nguyên mẫu đầu tiên của cơ sở dữ liệu quan
hệ và được tiêu chuẩn hóa bởi ANSI Cơ sở dữ liệu quan hệ đầu tiênđược phát hành bởi Relational Software sau này được gọi là Oracle
2.3 Tại sao sử dụng SQL
• Cho phép truy cập dữ liệu trong các hệ thống quản lý cơ sở dữ liệu quan hệ
• Cho phép mô tả dữ liệu
• Cho phép xác định dữ liệu trong cơ sở dữ liệu và thao tác dữ liệu đó
Trang 9• Cho phép nhúng trong các ngôn ngữ khác sử dụng mô-đun SQL, thưviện và trình biên dịch trước.
• Cho phép tạo và thả các cơ sở dữ liệu và bảng
• Cho phép tạo chế độ view, thủ tục lưu trữ, chức năng trong cơ sở dữ liệu
• Cho phép thiết lập quyền trên các bảng, thủ tục và view
2.4 Cách SQL hoạt động
Việc thực thi SQL được chia thành 3 giai đoạn chính:
1 Biên dịch (phân tích cú pháp, kiểm tra ngữ nghĩa), ghép nối
2 Tối ưu hoá
3 Thực thi
Biên dịch - phân tích cú pháp: Câu lệnh truy vấn được mã hóa thành
các từ riêng lẻ với các mệnh đề thích hợp
Biên dịch - kiểm tra ngữ nghĩa: Kiểm tra xác nhận tính hợp lệ của
câu lệnh khớp với danh mục của hệ thống Giai đoạn này kiểm tra xem truyvấn có hợp lệ hay không, nó cũng xác nhận quyền hạn của người dùng đểthực thi câu lệnh
Biên dịch - ghép nối: Tạo biển diễn nhị phân tương ứng cho câu lệnh
đã nhập Ở giai đoạn này, câu lệnh đã được biên dịch, bây giờ nó sẽ được gửiđến máy chủ cơ sở dữ liệu để tối ưu hóa và thực thi
Tối ưu hóa: Tạo thuật toán tối ưu nhất cho mã byte được tạo ở trên.
Tính năng này còn được gọi là Query Optimizer hoặc Relational Engine
Thực thi: Máy sẽ lấy mã code đã được tối ưu và thực thi nó
SQL STATEMENT > Parsing >Binding > Query Optimization > QueryExecution > Result
2.5 Một số câu lệnh SQL hay dùng
Bên cạnh quy trình hoạt động, nhiều người dùng mới cũng băn khoăn vềvấn đề các câu lệnh thường dùng trong SQL là gì Có một số lệnh căn bản màdeveloper có thể thực hiện với cơ sở dữ liệu quan hệ như CREATE, SELECT,INSERT, UPDATE, DELETE và DROP Dựa trên bản chất của từng lệnh màchúng được chia thành các nhóm lệnh khác nhau
Đầu tiên là nhóm Ngôn ngữ dữ liệu Data Definition Language (DDL).Nhóm này bao gồm 3 lệnh cơ bản là CREATE, ALTER và DROP:
• Lệnh CREATE cho phép người dùng tạo ra một bảng mới hoặc các đốitượng khác trong cơ sở dữ liệu mà bạn đang thao tác
• Lệnh ALTER cho phép sử đổi đối tượng cơ sở dữ liệu bất kỳ trong cơ
sở dữ liệu hiện có như một bảng biểu cụ thể
Trang 10• Lệnh DROP cho phép developer xóa toàn bộ bảng hay các đối tượngkhác trong cơ sở dữ liệu đang thao tác.
Nhóm thứ hai là Ngôn ngữ thao tác dữ liệu Data Manipulation Language(DML) Nó gồm 4 lệnh cơ bản dưới đây:
• Lệnh SELECT cho phép trích xuất các bản ghi cụ thể từ một hay nhiềubảng khác nhau
• Lệnh INSERT cho phép người dùng tạo ra một bản ghi mới trong cơ sở
dữ liệu hệ thống
• Lệnh UPDATE cho phép chỉnh sửa các thông tin, bản ghi trong cơ sở
dữ liệu
• Lệnh DELETE cho phép xoá bản ghi khỏi cơ sở dữ liệu hệ thống
Nhóm cuối cùng là Ngôn ngữ điều khiển dữ liệu Data Control Language(DCL) Đặc điểm của nhóm là cho phép người dùng thực hiện các quyền để
xử lý cơ sở dữ liệu hệ thống Nó gồm 2 lệnh cơ bản là GRANT và REVOKE
• Lệnh GRANT cung cấp cho người dùng một quyền cụ thể nào đó đểthực hiện điều khiển cơ sở dữ liệu
• Lệnh REVOKE lấy lại các quyền được cấp cho người dùng trước đó
2.6 Những cú pháp truy vấn hay dùng với SQL
Một số cú pháp truy vấn dữ liệu đơn giản với cơ sở dữ liệu có sử dụngngôn ngữ SQL
• Thuật toán sử dụng mệnh đề AND OR cần sự kết hợp của nhiều điềukiện khác nhau trong ngôn ngữ SQL Để tạo ra thuật toán này, bướcđầu tiên là tạo cú pháp SELECT cot1, cot2, cotN Tiếp đó, bạn tạoFROM ten_bang và cuối cùng là WHERE (dieu_kien_1) AND(dieu_kien_2) AND (dieu_kien_N)
• Cú pháp có sử dụng mệnh đề WHERE để tương tác với cơ sở dữ liệu
hệ thống Cú pháp này được thực hiện khi bạn muốn xác định điều kiện
để lấy một số dữ liệu trong bảng Bước 1, hãy tạo cú pháp SELECTcot1, cot 2, cotN Bước hai, bạn gõ FROM ten_bang và hoàn tất bằng
cú pháp WHERE (dieu_kien)
• Mệnh đề Distinct được tạo ra bằng cách thực hiện lần lượt các thao tácsau: SELECT DISTINCT cot1, cot2, cotN; FROM ten_bang và cuốicùng là WHERE (dieu_kien)
Trang 11• Mệnh đề Group By được sử dụng trong SQL với một số cú pháp kháphức tạp Bước 1, bạn tạo ra cú pháp SELECT cot1, cot2 sau đó tạoFROM ten_bang Tiếp đó, bấm WHERE (dieu_kien) và GROUP BYcot1, cot2 Cuối cùng kết thúc bằng cú pháp ORDER BY cot1, cot2.
• Mệnh đề ORDER BY được tạo ra để truy xuất thông tin về ngôn ngữSQL Bước đầu tiên, bạn tạo cú pháp SELECT danh_sach_cot Sau đólần lượt bấm FROM ten_bang và (WHERE dieu_kien) Cuối cùng là(ORDER BY cot1, cot2, cotN) (ASC | DESC)
• Cú pháp truy vấn Select để xác định các cột giá trị mà bạn muốn lấytrong bảng Bạn chỉ cần nhập SELECT cot1, cot2, cotN FROMten_bang Muốn xác định thao tác của các cột, nhập SELECT * FROMten_bang
• Truy vấn INSERT sử dụng ngôn ngữ SQL để xác định các cột chèn dữliệu Bạn nhập cú pháp sau INSERT INTO TABLE_TEN (cot1, cot2,cot3, …cotN) VALUES (giaitri1, giaitri2, giaitri3, …giaitriN) Muốnthực hiện thao tác trên tất cả các cột, bạn chỉ cần nhập INSERT INTOTABLE_TEN VALUES (giaitri1, giaitri2, giaitri3, giaitriN)
• Cú pháp truy vấn Update trong cơ sở dữ liệu có sử dụng ngôn ngữ SQLđược tạo ra bằng cách nhập lần lượt UPDATE: ten_bang; SETcot1=giaitri1, cot2=giaitri2, cotN=giaitriN và cuối cùng là WHERE(dieu_kien)
2.7 SQL làm việc với các bảng dữ liệu
Mỗi mệnh đề nối trong ngôn ngữ SQL cũng giống như một phép nốitrong quan hệ toán đại số Nó kết hợp nhiều cột từ một hoặc một số bảng khácnhau của cơ sở dữ liệu quan hệ và tạo nên một tập hợp được lưu dưới dạngbảng Mỗi JOIN là một phương tiện để để người dùng kết hợp các cột bằngcách sử dụng giá trị chung
JOINS giúp bạn hoàn thành nhiều hoạt động liên quan tới cơ sở dữ liệuphức tạp Đồng thời, bạn sẽ có nhiều lợi thế hơn khi sở hữu khả năng thao tácvới các truy vấn JOIN với độ chính xác cao Có 4 JOIN chính để kết hợp dữliệu là JOIN INNER, JOIN chỗ nối bên trái, JOIN đúng và JOIN đầy đủ.THAM GIA là một lệnh SQL của mệnh đề FROM trong các truy vấn mà bạnđang sử dụng để xác định bảng bạn truy cập Có một số khóa chính và khoángoại mà bạn cần nắm được trước khi nối các bảng:
Trang 12• Phím chính là những mã định danh duy nhất của mỗi hàng trongbảng và rất phổ biến với cơ sở dữ liệu có một cột là Id (customerID,emailID, EmployeeID) được chỉ định làm khóa chính.
• Phím ngoại là các cột trong bảng được chỉ định kết nối với khóachính trong bảng khác
Nếu bạn muốn có một bảng chỉ có những người dùng đã thực hiện hànhđộng, kết nối bên trong sẽ kết hợp các cột trên một thứ nguyên chung (N cộtđầu tiên) Khi bạn muốn có một bảng chứa toàn bộ dữ liệu của người dùng vàchỉ hành động mà họ đã thực hiện, bạn sử dụng kết nối trái để nối bảng lại vớinhau Phép nối này sẽ kết hợp các cột trên một thứ nguyên chung (N cột đầutiên) Đồng thời trả về toàn bộ hàng từ bảng đầu tiên với các hàng phù hợptrong bảng liên tiếp
Mỗi phép kết nối hoạt động như một phép nối trái và điểm khác biệt duynhất là thao tác trong bảng cơ sở Đối với phép ghép nối bên trái, bảng 1 đượccoi là bảng cơ sở trong quá trình ghép với bảng bên phải Phép nối ghép nàycần được thực hiện dựa trên một thứ nguyên chung là N cột đầu tiên khi cóthể Đồng thời trả về các hàng phù hợp trong bảng đầu tiên từ bảng bên phải
Trang 13CHƯƠNG 1: Ứng dụng của SQL vào hệ thống quản lí hiệu sách
cũ
2.8 Tổng quan
Công nghệ ngày một trở nên phát triển và trở thành một phần thiết yếucủa cuộc sống Với việc phát triển của công nghệ con người đã tiết kiệm đượcnhiều thời gian và công sức hơn trong việc sản xuất và quản lí hàng hóa Việcquản lí cũng ngày một tiện dụng hơn với sự hỗ trợ của công nghệ Trong đómột phần không thể thiếu là các phần mềm quản lí tiện ích chạy trên các thiết
Mục tiêu của đề tải:
- Quản lý doanh thu
- Quản lý việc nhập xuất hàng hoá
- Cho phép đặt hàng online và thanh toán thông qua web
- Quản lý đơn hàng
Quản lý các sách nên đọc, lưu ý khi mua sách cho khách hàng
Trang 142.10 Phân tích hệ thống
2.10.1Hoạt động của hệ thống
Hiệu sách sẽ thu mua hàng từ các nguồn cung cấp Khi có nhu cầu nhậphàng hiệu sách tìm hiểu các thông tin chi tiết về các loại sách muốn nhập từnhà cung cấp Thông tin về sách muốn nhập gồm có: tên sách, thế loại sách,nhà xuất bản, giá…Nếu hiệu sách có nhu cầu muốn nhập các loại mặt hàngnày cửa hàng phải gửi đơn đặt hàng từ các nguồn cung cấp Sau đó tiến hànhlàm báo giá các loại sách lên hệ thống này cho khách hàng
Hiệu sách nhập sách thông qua biên lai thanh toán tiền và phiếu nhập Sau
đó sẽ ghi vào sổ nhập kho
Hiệu sách sẽ đáp ứng nhu cầu mua sách online của khách hàng bằng việcgiao hàng qua bên vận chuyển với 2 hình thức thành toán:
+ Chuyển khoản ngân hàng (Thực hiện thanh toán vào ngay tài khoảnngân hàng của chúng tôi Đơn hàng sẽ đươc giao sau khi tiền đãchuyển.)
+ Trả tiền mặt sau khi nhận được hàng (Thanh toán sau khi nhận đượchàng)
Sau đó hiệu sách viết đơn đặt hàng và sẽ giao hàng cho khách và viết hoáđơn thanh toán kèm theo biên bản giao hàng Sau đó ghi vào sổ xuất khoThông tin về sách: tên sách, thể loại sách, nhà phát hàng, hình ảnh, sốlượng còn sẽ được cập nhật lên hệ thống
2.10.2Các yêu cầu chức năng
Ở phần trang chủ có logo của nhà sách, có liên kết với facebook của nhàsách
Có ô tìm kiếm sản phẩm, biếu tượng giỏ hàng
Khi hover vào giỏ hàng thì hiện ra thông tin sản phẩm và tổng đơn hàngcần thanh toán
Phần sản phẩm bên dưới khi ấn vào sẽ chuyển sang ảnh preview sản phẩm,sản phẩm có đẩy đủ ảnh, tên, giá tiền
Khi ấn vào sản phẩm, khách hàng sẽ thấy được nội dung của cuốn sách vànút “Thêm vào giỏ hàng” Ngoài ra còn có thêm những mô tả, đánh giá vềchất lượng sản phẩm
Phẩn menu phụ có các thông tin liên kết
Phần thông tin thanh toán có yêu cầu tên, địa chỉ, số điện thoại, ghi chúcủa khách hàng Hiển thị thông tin thanh toán, yêu cầu các hình thức thanhtoán
Có bản đồ vị trí, những liên kết với các trang mạng xã hội của nhà sách
2.10.3Các yêu cầu phi chức năng
- Hiệu suất (thời gian phản hồi, thông lượng, …)
- Khả năng mở rộng
Trang 152.11 Mô hình hoá dữ liệu
2.11.1 Các yêu cầu về dữ liệu
Danh mục: gồm mã danh mục, tên danh mục Mỗi danh mục có thể có
0, 1 hoặc nhiều danh mục con Mỗi danh mục có thể là danh mục concủa 0 hoặc 1 danh mục khác
Bài viết: gồm mã bài viết, tên bài viết, ảnh minh hoạ, ngày đăng, nộidung, trả lời Một bài viết có thế giới thiệu về 0,1 hoặc nhiều quyểnsách Mỗi quyển sách có thể được giới thiệu bởi 1 bài viết
Sách: gồm mã sách, tên sách, ảnh minh hoạ, tên tác giả, giới thiệu, đơngiá, mô tả, đánh giá Mỗi quyển sách chỉ thuộc 1 danh mục Mỗi danhmục có thể có 0, 1 hoặc nhiều quyển sách
Nhà xuất bản: gồm mã nhà xuất bản, tên nhà xuất bản Mỗi nhà xuấtbản có thế có 1 hoặc nhiều quyển sách Mỗi quyển chỉ thuộc một nhàxuất bản
Đơn hàng: gồm mã đơn hàng, tên đơn hàng, đơn giá, số lượng, tiền vậnchuyển, hình thức thanh toán, ngày đặt, ghi chú Mỗi đơn hàng có thể
Trang 16có 1 hoặc nhiều quyển sách Mỗi quyển sách có thể có 0, 1 hoặc nhiềuđơn hàng
Khách hàng: gồm mã khách hàng, tên khách hàng, quốc gia, địa chỉ, sốđiện thoại Một khách hàng có 1 hoặc nhiều đơn hàng Mỗi đơn hàng
có thể mua bởi 1 khách hàng
2.12 Mô hình hoá chức năng
Trang 183) Xem sách theo danh mục:Cho phép khách hàng xem sách theo từng
danh mục
4) Xem chi tiết sách: Cho phép khách hàng xem thông tin chi tiết về các
sách
5) Xem sách cũ: Cho phép khách hàng xem sách cũ
6) Xem sách xưa: Cho phép khách hàng xem sách xưa
7) Xem danh mục bài viết: Cho phép khách hàng xem danh mục của các
11) Xem giỏ hàng: Cho phép khách hàng xem giỏ hàng
12) Quản lí giỏ hàng: Cho phép khách hàng thêm hàng vào giỏ, xóa một
mặt hàng trong giỏ, sửa số lượng hàng trong giỏ và xóa toàn bộ giỏ hàng
13) Thanh toán: Cho phép khách hàng đặt mua các mặt hàng trong giỏ
Trang 192.12.2Các use case thứ cấp
Hình 3.2: Use Case thứ cấp
1) Bảo trì danh mục: Cho phép người quản trị xem, thêm, sửa, xóa thông
tin trong bảng DANHMUC
2) Bảo trì sách: Cho phép người quản trị xem, thêm, sửa, xóa thông tin
trong bảng SACH
3) Bảo trì bài viết: Cho phép người quản trị xem, thêm, sửa, xóa thông tin
trong bảng BAIVIET
4) Bảo trì nhà xuât bản: Cho phép người quản trị xem, thêm, sửa, xóa
thông tin trong bảng NXB
5) Quản lý đơn hàng (xem đơn hàng, xem chi tiết đơn hàng, sửa trạng
thái đơn hàng): Cho phép người quản trị xem thông tin trong bảngDONHANG và bảng CHITIETDH, sửa trạng thái của đơn hàng trongbảng DONHANG, xóa thông tin trong bảng DONHANG vàCHITIETDH
6) Quản lý khách hàng: : Cho phép người quản trị xem, sửa trạng thái,
xóa thông tin trong bảng KHACHHANG
Trang 202.13 Mô hình cơ sở dữ liệu
Trang 21Hình 3.6: Bảng bài viết
Bảng 3.7: Bảng nhà xuất bản
Bảng 3.8: Bảng đơn hàng
Hình 3.9: Bảng khách hàng