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
TỔNG QUAN VỀ PYTHON
Giới thiệu
Python được phát triển vào cuối những năm 1980, bắt đầu từ tháng 12/1989 do Guido van Rossum thực hiện tại CWI, Hà Lan Ngôn ngữ này ra đời như một sự kế thừa của ngôn ngữ ABC, với cảm hứng từ SETL, và có khả năng xử lý ngoại lệ cũng như giao tiếp với hệ điều hành Amoeba Van Rossum là tác giả chính và vẫn giữ vai trò quan trọng trong việc định hướng phát triển của Python.
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, hỗ trợ lập trình hướng đối tượng và hướng cấu trúc một cách đầy đủ Ngoài ra, Python còn tích hợp một số tính năng của lập trình theo chức năng và lập trình hướng khía cạnh Người dùng có thể mở rộng ngôn ngữ này để hỗ trợ nhiều mô hình khác, bao gồm thiết kế theo hợp đồng và lập trình luận lý.
Các trang như Mozilla, Reddit, Instagram và PBS đều được viết bằng Python 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ủ)
Tính toán một cách khoa học
Lên kịch bản cho hệ thống
Các tính năng
Phân tích dữ liệu và học máy với mã Python
Trong bối cảnh dữ liệu ngày càng gia tăng, việc sử dụng dữ liệu trong quá trình ra quyết định trở nên thiết yếu Công nghệ máy học và phân tích dữ liệu giúp chúng ta đạt được mục tiêu này Đặc biệt, ngôn ngữ lập trình Python đóng vai trò quan trọng trong việc thu thập, tổ chức và xử lý dữ liệu hiệu quả.
Phát triể n web và phát triểnn phần mềm
Ngôn ngữ Python là một công cụ mạnh mẽ trong phát triển web và phần mềm, hỗ trợ nhiều khung như Pyramid, Django và Flask Những khung này đã đóng góp vào việc xây dựng các trang web nổi tiếng như Spotify, Reddit và Mozilla Python cung cấp tính năng quản lý nội dung, ủy quyền và truy cập cơ sở dữ liệu, giúp nâng cao hiệu suất và tính linh hoạt trong phát triển ứng dụng.
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
Viết kịch bản là quá trình tạo mã để tự động hóa các tác vụ, và Python là ngôn ngữ lập trình lý tưởng cho mục đích này Kịch bản thường được sử dụng để thực hiện các công việc lặp đi lặp lại, giúp tiết kiệm thời gian và công sức Sử dụng mã Python có thể tối ưu hóa quy trình làm việc của bạn một cách hiệu quả.
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
Python là một công cụ mạnh mẽ để 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 Sử dụng mã Python giúp giảm thiểu thời gian cho các hoạt động này, cho phép bạn tập trung vào những nhiệm vụ quan trọng hơn.
Lý do chọn Python
Python là một ngôn ngữ lập trình đơn giản và dễ học, với cú pháp rõ ràng và sự phụ thuộc vào ngôn ngữ tiếng Anh, giúp người dùng dễ dàng hiểu và áp dụng Nhờ vào những đặc điểm này, việc sử dụng Python để phát triển phần mềm và thực hiện các tác vụ khác trở nên dễ dàng 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
Cung cấp hỗ trợ cộng đồng tích cực
Python có một cộng đồng hỗ trợ tích cực, khác biệt so với các ngôn ngữ lập trình khác Trong quá trình phát triển phần mềm và tự động hóa, nếu bạn gặp vấn đề, bạn có thể dễ dàng tìm kiếm sự trợ giúp chuyên nghiệp trên các diễn đàn Sự hiện diện của cộng đồng này đảm bảo rằng bạn sẽ tìm thấy câu trả lời cho mọi thắc mắc 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ể.
Ngôn ngữ lập trình này được coi là một trong những ngôn ngữ lập trình đa năng, có thể áp dụng trong phát triển web, phát triển phần mềm và giải pháp tự động, không phụ thuộc vào độ phức tạp hay lĩnh vực sử dụng.
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à viết mã từ đầu để hỗ trợ việc phát triển phần mềm, giúp tiết kiệm thời gian cho lập trình viên.
TỔNG QUAN VỀ ĐỀ TÀI
Khảo sát và đặt vấn đề
2.1.1.1 Khảo sát hiện trạng cửa hàng
• Tổng số nhân viên: 18 người
• Doanh thu hàng tháng: 900.000.000 VNĐ
• Địa chỉ: 41 Khúc Thừa Dụ, Phường Dịch Vọng, Quận Cầu Giấy, Hà Nội
Hình 1.1: Hình ảnh về ca hàng laptop
Chủ cửa hàng là vị trí cao nhất trong cửa hàng, có trách nhiệm tổ chức và phát triển các chiến lược kinh doanh Họ xử lý và đưa ra quyết định cho những tình huống phát sinh trong cửa hàng, đảm bảo hoạt động hiệu quả và thành cô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.
Mặt hàng kinh doanh chủ yếu của ca hàng là các loại LAPTOP của một số hãng sản xuất nổi tiếng như DELL, HP , MACBOOK
Cuối tuần, bộ phận kho sẽ tiến hành kiểm tra và thống kê kho vật liệu để xác định các mặt hàng sắp hết Việc này nhằm thông báo cho chủ cửa hàng về nhu cầu nhập hàng từ các nhà cung cấp.
Sau khi nhận thông tin, chủ cửa hàng sẽ liên hệ với các nhà cung cấp để gửi yêu cầu nhập hàng Bộ phận kho sẽ tiến hành kiểm tra chất lượng và số lượng của hàng nhập.
Khi hàng hóa được xác nhận đúng, đủ số lượng và chất lượng, chúng sẽ được chuyển vào kho Tiếp theo, bộ phận kho sẽ xuất phiếu nhập để bộ phận nhập hàng thực hiện thanh toán cho nhà cung cấp.
Khách hàng có thể chọn sản phẩm tại cửa hàng thông qua việc tự chọn hoặc tham khảo bảng giá Bộ phận bán hàng sẽ hỗ trợ khách hàng trong việc hướng dẫn và lập đơn đặt hàng khi có nhu cầu mua Sau khi tiếp nhận yêu cầu, bộ phận này sẽ thực hiện hóa đơn và tiến hành thanh toán, với các hình thức thanh toán linh hoạt như tiền mặt hoặc chuyển khoản.
- Đơ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.
Hệ thống quản lý hiện tại sử dụng sổ sách và Excel, dẫn đến quy trình còn thủ công và đơn giản Điều này khiến cho việc xử lý dữ liệu lớn trở nên khó khăn, dễ gây thất thoát và nhầm lẫn Ngoài ra, việc sao lưu và phục hồi dữ liệu cũng gặp nhiề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.
- 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í.
Hệ thống quản lý hiện tại đang gặp nhiều khó khăn trong việc quản lý và buôn bán, điều này đặt ra thách thức cho cửa hàng trong việc tăng năng suất làm việc, giảm thời gian và hiệu quả, đồng thời giảm bớt nhân công Việc nâng cấp hệ thống quản lý trở nên thiết thực và cấp bách, đặc biệt khi số lượng khách hàng và mặt hàng đang gia tăng nhanh chóng.
2.1.1.2 Khảo sát các hệ thống tương tự
Việc bán hàng qua mạng hiện nay đã trở nên phổ biến và mang lại nhiều lợi ích cho cả người bán lẫn người mua Nhiều cửa hàng đã xây dựng trang web riêng, giúp khách hàng dễ dàng lựa chọn sản phẩm mà không cần đến tận nơi Điều này không chỉ tiết kiệm thời gian mà còn cho phép thanh toán trực tuyến nhanh chóng Hơn nữa, khách hàng sẽ nhận được hàng hóa giao tận nơi chỉ trong thời gian ngắn sau khi đặt hàng.
Website bán laptop được thiết kế để phục vụ những người đam mê mua sắm, mang đến một không gian tương tác thú vị và giúp họ cập nhật những thông tin mới nhất về các sản phẩm.
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 đối tượ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ân loạ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 đó
Mục tiêu
Khi xây dựng một website, việc hình dung rõ ràng về thiết kế là rất quan trọng Nếu không có mục tiêu và chủ định cụ thể, website sẽ trở nên lộn xộn và khó khăn để điều chỉnh sau này Do đó, thiết kế cẩn thận và định hướng rõ ràng là chìa khóa dẫn đến thành công trong việc phát triển website.
Đối tượng và phạm vi nghiên cứui
+ 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 đóng vai trò quan trọng trong việc quản lý các tính năng và dữ liệu trên website, bao gồm việc điều chỉnh danh mục sản phẩm, cập nhật giá cả, theo dõi đơn hàng và quản lý thông tin liên hệ.
Nhà cung cấp là đối tượng chịu trách nhiệm cung cấp sản phẩm và dịch vụ cho website, bao gồm việc cung cấp thông tin chi tiết về sản phẩm, giá cả và quản lý đơn hàng một cách hiệu quả.
+ Tìm kiếm sản phẩm, hãng sản phẩm
+ Đăng nhập và đăng ký để đặt hàng
+ Thông tin liên hệ của ca 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ệ
+ Quản lý đơn hàng, chi tiết đơn hàng
+ Công cụ: Visual Studio Code
+ Cơ sở dữ liêu: SQLite.
+ Ngôn ngữ lập trình : Python
Công nghê ̣s dụng
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ó.
+ 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 :
Hình 3.1 Biểu đồ Use-Case cho hệ thống
THIẾT KẾ
Thiết kế giao diện
Danh sách hãng sản xuất
Trang chi tiết sản phẩm