Các tính năng và triết lý phát triển Python là một ngôn ngữ lập trình đa hình: lập trình hướng đối tượng và hướngcấu trúc được hỗ trợ đầy đủ, và có 1 số tính năng của ngôn ngữ hỗ trợ lập
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰCKHOA CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI:
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦNNGÔN NGỮ LẬP TRÌNH PYTHON
XÂY DỰNG WEBSITE BÁN LAPTOP
Sinh viên thực hiện : TRẦN TRUNG KIÊN
ĐÀO TIẾN ĐỨCGiảng viên hướng dẫn : TRẦN THỊ MINH THU
Trang 2PHIẾU CHẤM ĐIỂMSinh viên thực hiện:
STT Họ và tên Nội dung thực hiện Điểm Chữ ký
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ PYTHON 2
1.1 Giới thiệu 2
1.2 Các tính năng 2
1.3 Lý do chọn Python 2
CHƯƠNG 2: TỔNG QUAN VỀ ĐỀ TÀI 5
2.1 Khảo sát và đặt vấn đề 5
2.2 Mục tiêu 11
2.3 Đối tượng và phạm vi nghiên cứui 11
2.4 Công nghê ̣s dụng 11
CHƯƠNG 3: THIẾT KẾ 14
3.1 Thiết kế Use-case 14
3.2 Thiết kế Database 14
3.3 Thiết kế giao diện 14
KẾT LUẬN 21
TÀI LIỆU THAM KHẢO 22
Trang 4LỜI MỞ ĐẦUTrong thời đại công nghệ số hiện nay, việc s dụng các công cụ và ứng dụng
trực tuyến đã trở thành một xu hướng không thể tránh khỏi trong các hoạt động
kinh doanh Chính vì vậy, việc xây dựng một trang web bán hàng hiệu quả là vô
cùng quan trọng, đặc biệt trong lĩnh vực kinh doanh laptop Một trang web bán
hàng tốt không chỉ giúp khách hàng dễ dàng tìm kiếm và mua sắm sản phẩm mà
còn giúp các doanh nghiệp trong ngành kinh doanh laptop tiếp cận khách hàng một
cách nhanh chóng và hiệu quả hơn thông qua kênh bán hàng trực tuyến
Vì lý do trên, nhóm chúng em quyết định chọn đề tài “ xây dựng website bánlaptop” cho môn học lập trình python này Trang web của chúng em được thiết kế với giao diện đơn giản, dễ s dụng và tối ưu hóa cho việc tìm kiếm sản phẩm
Đồng thời, chúng em cũng đã tích hợp các tính năng quản lý sản phẩm, đơn hàng
và thanh toán an toàn, đảm bảo sự tiện lợi và an toàn cho khách hàng
Mặc dù đã rất cố gắng để hoàn thành công việc, nhưng do thời gian có hạn
và thiếu kinh nghiệm cũng như kỹ năng còn chưa thành thạo nên việc phân tích,
thiết kế và lập trình còn nhiều thiếu sót, chúng em mong thầy cô sẽ góp ý, bổ sung
để em có thể hoàn thiện báo cáo tốt hơn nữa
Chúng em xin chân thành cảm ơn!
Trang 5CHƯƠNG 1: TỔNG QUAN VỀ PYTHON1.1 Giới thiệu
Python đã được hình thành vào cuối những năm 1980 và được bắt đầu thực
hiện vào tháng 12/1989 bởi Guido van Rossum tại CWI tại Hà Lan như là người kế thừa của ngôn ngữ ABC (tự lấy cảm hứng từ SETL) có khả năng x lý ngoại lệ và
giao tiếp với hệ điều hành Amoeba Van Rossum là tác giả chính của Python, vàvai trò trung tâm của ông tiếp tục trong việc quyết định hướng phát triển của
Python được phản ánh trong tiêu đề mà cộng đồng Python dành cho ông “Độc
tàinhân từ cho cuộc sống” (benevolent dictator for life) (BDFL)
Python 2.0 được phát hành vào ngày 16/10/2000, với nhiều tính năng chính
mới bao gồm một bộ dọn rác đầy đủ và hỗ trợ Unicode Với phiên bản này, quá
trình phát triển đã được thay đổi và trở thành minh bạch hơn và được cộng đồng
ủng hộ
Python 3.0 (còn được gọi là Python 3000 hoặc Py3k), một bản phát hànhlớn,
không tương thích ngược, được phát hành vào ngày 03/12/2008 sau một thời gian
dài th nghiệm Nhiều trong số các tính năng chính của nó đã được điều chỉnh để
tương thích ngược với Python 2.6 và 2.7 Các tính năng và triết lý phát triển
Python là một ngôn ngữ lập trình đa hình: lập trình hướng đối tượng và hướngcấu trúc được hỗ trợ đầy đủ, và có 1 số tính năng của ngôn ngữ hỗ trợ lập trình
theo chức năng và lập trình hướng khía cạnh (Aspect-oriented programming).Nhiều mô hình khác được hỗ trợ bằng việc s dụng các phần mở rộng, bao gồmthiết kế theo hợp đồng (design by contract) và lập trình luận lý
Các trang như Mozilla, Reddit, Instagram và PBS đều được viết bằngPython Ngôn ngữ lập trình Python được dùng vào các mục đích
Phát triển web (trên máy chủ)
Phát triển phần mềm
Tính toán một cách khoa học
Trang 61.2 Các tính năng
Phân tích dữ liệu và học máy với mã Python
Với lượng dữ liệu ngày càng tăng mà chúng ta có ngày nay, điều quan trọng
là phải s dụng nó trong quá trình ra quyết định Với công nghệ máy học và phân
tích dữ liệu, chúng ta có thể đạt được mục đích này Bạn sẽ thích thú khi biết rằng
ngôn ngữ lập trình Python là động lực đằng sau việc thu thập, tổ chức và thao tác
dữ liệu này
Phát triể n web và phát triểnn phần mềm
Ngôn ngữ Python cũng giúp phát triển web và phát triển phần mềm Nó hỗ trợ nhiều khung như Pyramid, Django và Flask Các khung này đã góp phần tạo ra cáctrang web nổi tiếng như Spotify, Reddit và Mozilla Với quản lý nội dung, ủy
quyền và truy cập cơ sở dữ liệu, các phiên bản khác nhau của ngôn ngữ lập trình
Python là ngôn ngữ hàng đầu để phát triển web
Tự động hóa hoặc viết kịch bản bằng mã Python
Tạo mã để hoàn thành các tác vụ tự động được gọi là viết kịch bản Bạn cóthể
s dụng Python cho mục đích này Việc s dụng kịch bản thường được thựchiện
trong các công việc lặp đi lặp lại Mã Python có thể giúp bạn tự động hóa quytrình
Nó giúp tiết kiệm thời gian, tài nguyên và công sức thủ công
Kiểm thử phần mềm và tạo nguyên mẫu
Theo dõi lỗi, kiểm soát tòa nhà, phát triển web, phát triển phần mềm và kiểm
tra phần mềm là những khía cạnh quan trọng mà Python có thể x lý Với mãPython để giải cứu bạn, thời gian cần thiết cho tất cả các hoạt động này có thể
được giảm xuống mức tối thiểu, do đó cho phép bạn tập trung vào những gì cần
thiết
Trang 71.3Lý do chọn Python
Dễ học
Python rất đơn giản và dễ học Cú pháp rõ ràng và sự phụ thuộc vào ngôn
ngữ tiếng Anh khiến nó trở nên dễ hiểu Do đó, việc áp dụng nó để thực hiện các
tác vụ khác nhau như phát triển phần mềm trở nên tương đối đơn giản hơn
Hiện nay ngôn ngữ Python được xếp hạng thứ 3 trong Top 10 các ngôn ngữ lập trình phổ biến nhất đang được thế giới s dụng (Bảng xếp hạng năm 2022)
Theo thống kê từ top 39 trường giảng dạy khoa học máy tính thì đa phần các
trường s dụng ngôn ngữ Python để giảng dạy
Trang 8Không giống như các ngôn ngữ khác, bạn có thể tìm thấy cộng đồng hỗ trợ tích cực cho ngôn ngữ Python Vì vậy, trong quá trình phát triển phần mềm của
giai đoạn tự động hóa, nếu bạn phát hiện ra một số vấn đề, bạn có thể lên diễn đàn
và tìm kiếm sự trợ giúp chuyên nghiệp Sự hiện diện của một cộng đồng như vậyđảm bảo bạn tìm thấy câu hỏi cho tất cả các vấn đề của mình liên quan đến
Python
Cung cấp môi trường linh hoạt
Với mã Python, bạn không phải giới hạn bản thân trong một trường cụ thể
Nó được mô tả là một trong những ngôn ngữ lập trình có mục đích chung có thể
được s dụng trong phát triển web, phát triển phần mềm hoặc giải pháp tự động,
bất kể mức độ phức tạp hoặc miền
Nhiều thư viện và khung có sẵn
Theo thời gian, Python Software Foundation đã phát triển nhiều thư viện và
Trang 9viết mã từ đầu để phát triển phần mềm, do đó cho phép bạn tiết kiệm thời g
CHƯƠNG 2: TỔNG QUAN VỀ ĐỀ TÀI2.1 Khảo sát và đặt vấn đề
2.1.1 Khảo sát
2.1.1.1 Khảo sát hiện trạng cửa hàng
Giới thiệu chung
• Tên ca hàng: LAPTOP
• Tổng số nhân viên: 18 người
• Thời gian làm việc:
Trang 10-Chủ cửa hàng : Là bộ phận có chức vụ cao nhất trong ca hàng, chịu trách
nhiệm tổ chức và đưa ra những phương án phát triển cho ca hàng X lí và đưa racác quyết định trong ca hàng các tình huống xảy ra trong ca hàng
- Bộ phận bán hàng : Là bộ phận tư vấn, tiếp nhận yêu cầu từ khách hàng và x líhóa đơn thanh toán của khách hàng
- Bộ phận kho : Tiếp nhận yêu cầu của chủ ca hàng về việc nhập hàng kiểm
tra số lượng, chất lượng hàng nhập Chuyển hàng vào kho
Trang 11Vào cuối tuần làm việc bộ phận kho sẽ kiểm tra kho vật liệu thống kê xem
mặt hàng nào sắp hết để thông báo cho chủ ca hàng gi yêu cầu nhập hàng cho
các nhà cung cấp
Sau khi nhận thông tin, chủ ca hàng sẽ liên hệ cho các nhà cung cấp gi yêu
cầu nhập hàng Hàng nhập sẽ được bộ phận kho kiểm tra chất lượng và số lượng
Nếu hàng đúng, đủ số lượng và chất lượng sẽ được chuyển vào kho Sau đó
bộ phận kho sẽ xuất phiếu nhập cho bộ phận nhập hàng thanh toán cho nhà cung
cấp
- Quy trình bán hàng:
Sản phẩm được trưng bày tại ca hàng, khách hàng có thể chọn những loạisản phẩm bằng cách tự chọn từ quán hay thông qua tờ bảng giá Khi khách hàng
mua hàng, bộ phận bán hàng trao đổi thông tin cùng khách hàng, chịu trách nhiệm
hướng dẫn, làm đơn đặt hàng ( trong trường hợp khách hàng mua) Sau khi tiếp
nhận yêu cầu trên bộ phận này sẽ làm hóa đơn và thanh toán tiền Khách hàng cóthể lựa chọn hình thức thanh toán bằng tiền mặt hoặc chuyển khoản
Ưu nhược điểm của hệ thống hiện tại
Ưu điểm
- Đơn giản , dễ s dụng không yêu cầu cao về trình độ tin học
- Giá cả thấp, kinh phí đầu tư vào việc quản lý không cao
Nhược đ i ể m
- Do dùng sổ sách và excel nên hệ thống quản lý còn thủ công, đơn giản với
dữ liệu lớn dễ gây thất thoát, nhầm lẫn, việc sao lưu phục hồi dữ liệu khó khăn
- Tốn nhiều thời gian gây khó khăn trong việc quản lý đồng bộ
- Tìm kiếm, sa chữa, thêm thông tin, lập báo cáo thống kê khó khăn
- Tốc độ x lý chậm
- Mức độ chuyên môn hóa với công việc của nhân viên chưa cao gây lãng phí
Trang 12Với hệ thống quản lý như trên thì ca hàng sẽ gặp nhiều khó khăn trong việc
quản lý, buôn bán Từ đó đặt ra một bài toán cho ca hàng làm sao để tăng năng
suất làm việc, giảm thời gian, tăng hiệu quả, giảm bớt nhân công Việc nâng cấp hệthống quản lý là vô cùng thiết thực và cấp bách Đặc biệt với tốc độ gia tăng nhanh
về số lượng khách hàng, mặt hàng
2.1.1.2. Khảo sát các hệ thống tương tự
Hiện nay việc bán hàng qua mạng không còn xa lạ gì đối với mọi người,
không thể phủ nhận lợi ích mà việc bán hàng online mang lại.Chính điều đó nên đã
có các rất nhiều các ca hàng đã có cho mình một trang web riêng và người muakhông cần phải đến tận ca hàng để mua hàng mà chỉ cần truy cập trang web bán
hàng là có thể lựa chọn những mặt hàng cần thiết để mua, như thế sẽ tiết kiệm rất
nhiều thời gian, không những thế việc thanh toán cũng được trực tuyến và nhanh
chóng hơn thế nữa khách hàng đặt hàng sẽ được giao hàng đến tận nơi trong
khoảng thời gian ngắn sau khi đặt hàng
Web bán laptop được tạo ra nhằm cung cấp cho những nguời yêu thích mua
sắm trong một môi trường tương tác cũng như tìm hiểu, cập nhật những tin tứcmới nhất về các mặt hàng
Giao diện: Đơn giản, đẹp mắt, dễ thao tác trên màn hình, phù hợp cho mọi đốitượng khách hàng
Sản phẩm: Đa dạng mẫu mã sản phẩm, hình ảnh sản phẩm chân thực, dễ phânloại để người dùng dễ tìm kiếm và lựa chọn
2.1.2 Đặt vấn đề
Để ca hàng có thể tăng sự cạnh tranh và doanh thu cũng như tối ưu hệ thống
mua bán và kiểm soát của ca hàng thì ca hàng cần phải có một trang web để làm
điều đó
2.2 Mục tiêu
Khi xây dựng một website đầu tiên phải hình dung chúng ta cần phải thiết kế cái gì cho website của mình Không có chủ định và mục tiêu rõ ràng thì cả website
đó trở nên sai lầm, lan man và cuối cùng đi tới một hướng khó có thể trở lại Chính
vì vậy, thiết kế cẩn thận và định hướng rõ là chìa khóa hướng tới thành công của
việc xây dựng một website
2.3 Đối tượng và phạm vi nghiên cứu
Trang 132.3.1 Đối tượng nghiên cứu
+ Khách hàng tiềm năng: Đối tượng khách hàng mà website này hướng đến,
bao gồm các yêu cầu, nhu cầu và thói quen mua hàng của họ
+ Quản trị viên: Đối tượng quản trị viên sẽ quản lý các tính năng và dữ liệu
trên website, bao gồm các danh mục sản phẩm, giá cả, đơn hàng, thông tin liên hệ
+ Nhà cung cấp: Đối tượng nhà cung cấp sẽ cung cấp các sản phẩm và dịch
vụ cho website, bao gồm thông tin sản phẩm, giá cả và quản lý đơn hàng
+ Quản lý sản phẩm: quản lý thêm, cập nhật, xoá, tìm kiếm sản phẩm
+ Quản lý hãng sản xuất : quản lý thêm, sa, xóa, tìm kiếm hãng sản xuất
+ Quản lý thông tin liên hệ : quản lý nhập, cập nhật, xoá thông tin liên hệ
+ Phân trang
+ Quản lý đơn hàng, chi tiết đơn hàng
2.4 Công nghê ̣sử dụng
+ Công cụ: Visual Studio Code
+ Cơ sở dữ liêu: SQLite
+ Ngôn ngữ lập trình : Python
Trang 14CHƯƠNG 3: THIẾT KẾ3.1Thiết kế biểu đồ
3.1.1 Biểu đồ Usecase cho hệ thống
Biểu đồ usecase tổng quát gồm có khách hàng và người quản trị hệ thống
- Khách hàng khi tương tác với trang web thì có thể thực hiện các công việc sau
+ Xem các loại sản phẩm mà ca hàng hiện có
+ Tìm kiếm sản phẩm
+ Đặt hàng qua mạng
+ Gi thông tin yêu cầu tới ca hàng
- Người quản trị hệ thống (admin) thực hiện các công việc sau trong hệ thống :
+ Quản lý trang website
Hình 3.1 Biểu đồ Use-Case cho hệ thống
Trang 153.1.2 Biểu đồ Use case tổng quát cho admin
Hình 3.2: Use case tổng quát cho admin
Trang 16+ Mục đích: Đảm bảo xác thực người dùng, người quản lý và các yêu cầu về bảo
mật của hệ thống
+ Tác nhân: Người dùng, người quản lý
Trang 17+ Tóm lược: Người dùng (Người quản lý) muốn vào hệ thống thì phải cung cấpthông tin là tài khoản và mật khẩu đăng nhập vào hệ thống Hệ thống sẽ kiểm tra
thông tin xem người dùng có đúng là thành viên của hệ thống không, nếu dùngUsername, Password không đúng, hệ thống thông báo thông tin đăng nhập sai Nếuthông tin đăng nhập chính xác, thông báo đăng nhập thành công và chuyển đến
- Bước 2: Hệ thống kiểm tra thông tin đăng nhập sau đó trả về kết quả Nếu
kết quả kiểm tra thông tin là thiếu hoặc không chính xác, hệ thống thông báo lỗi và
quay lại bước 1 Ngược lại, chuyển qua bước 3
Trang 18-Bước 3: Hiển thị giao diện của người dùng sau khi đăng nhập Kết thúc hoạt
động đăng nhập
3.1.4Chức năng quản lý sản phẩm
- Biểu đồ use case
Hình 3.4: Use case quản lý sản phẩm
- Đặc tả use case
+ Tác nhân: Quản lý
+ Mô tả: Mỗi khi tác nhân s dụng hệ thống quản lý thì cần thực hiện chức năng đăngnhập vào hệ thống Sau đó tác nhân sẽ lựa chọn các yêu cầu quản lý sản phẩm mà mìnhmong muốn
-Biểu đồ hoạt động của chức năng quản lý thêm sản phẩm
- Tên chức năng: Thêm sản phẩm
- Mô tả tóm tắt: Cho phép người dùng thêm sản phẩm mà mình mong muốn
Trang 19- Bước 1: Người dùng chọn chức năng thêm mặt hàng
- Bước 2: Hệ thống sẽ hiển thị giao diện thêm mặt hàng
- Bước 3: Người dùng nhập đầy đủ các thông tin trong form thêm mặt hàngrồi chọn xác nhận
- Bước 4: Hệ thống ghi nhận thông tin của mặt hàng
- Bước 5: Sau khi ghi nhận thông tin và thông báo kết quả, người dùng có tiếptục thao tác hay không Nếu người dùng tiếp tục, quay lại bước 3 Nếu người dùng
chọn kết thúc, chuyển qua bước 6
- Bước 6: Kết thúc
-Biểu đồ hoạt động của chức năng quản lý sửa sản phẩm
Trang 20-Bước 1: Người dùng chọn chức năng sa thông tin mặt hàng
-Bước 2: Hệ thống sẽ hiển thị giao diện sa thông tin mặt hàng
-Bước 3: Người dùng nhập đầy đủ các thông tin trong form sa mặt hàng rồichọn xác nhận
-Bước 4: Hệ thống ghi nhận thông tin của mặt hàng
- Bước 5: Sau khi ghi nhận thông tin và thông báo kết quả, người dùng có
tiếp tục thao tác hay không Nếu người dùng tiếp tục, quay lại bước 3 Nếu người
dùng chọn kết thúc, chuyển qua bước 6
-Bước 6: Kết thúc
-Biểu đồ hoạt động của chức năng quản lý xóa sản phẩm
Trang 21-Bước 1: Người dùng chọn chức năng xoá mặt hàng
-Bước 2: Hệ thống sẽ hiển thị giao diện xoá mặt hàng
-Bước 3: Người dùng chọn các mặt hàng cần xoá rồi xác nhận
-Bước 4: Hệ thống xoá các mặt hàng đã chọn ra khỏi hệ thống
- Bước 5: Người dùng có tiếp tục thao tác hay không Nếu người dùng tiếp
tục, quay lại bước 3 Nếu người dùng muốn kết thúc, chuyển qua bước 6
-Bước 6: Kết thúc
- Hoạt động tìm kiếm mặt hàng
Trang 22-Bước 1: Người dùng chọn chức năng tìm kiếm mặt hàng
-Bước 2: Hệ thống sẽ hiển thị danh sách mặt hàng
-Bước 3: Người dùng nhập điều kiện tìm kiếm trong mục tìm kiếm mặt hàng
rồi chọn xác nhận
- Bước 4: Hệ thống sẽ tìm và hiển thị các mặt hàng thoả mãn điều kiện tìm
kiếm
- Bước 5: Nếu người dùng tiếp tục, quay lại bước 3 Nếu người dùng
chọn kết thúc, chuyển qua bước 6
-Bước 6: Kết thúc