GithubHelp home page GithubHelp logo

fit-hcmus-k21 / my-shop Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 1.0 20.23 MB

☘️ windows programming | practical project 01

License: Boost Software License 1.0

C# 99.57% TSQL 0.43%
my-shop windows-programming

my-shop's People

Contributors

thanhngan22 avatar

Forkers

thinhtrannt

my-shop's Issues

Đặc tả yêu cầu

Mô tả yêu cầu ở mức chi tiết

– Yêu cầu chức năng: mô tả ứng xử, có sự tương tác giữa user và system
– Yêu cầu phi chức năng: mô tả ràng buộc của phần mềm


Cấu trúc hoá yêu cầu

– Phân loại, gom nhóm
– Thể hiện mối liên hệ giữa các yêu cầu

Cần có

– Ngữ cảnh (context)
– Ứng xử/ ràng buộc (behaviors/ constraints)
– Có thể kiểm chứng được (testable)


Đặc tả dùng template uml


Kế hoạch phát triển

1. Phân tích yêu cầu:

  • Xác định các tính năng: yêu cầu - chi tiết
  • Xác định các ràng buộc kỹ thuật, bao gồm framework, csdl và mô hình dự án

2. Thiết kế phần mềm:

  • Xây dựng sơ đồ csdl và mô hình dữ liệu
  • Thiết kế UI:
    • sketch : brainstorm
    • wireframe : Balsamiq
    • mockup: AxureRP, Microsoft Blend for VS

3. Cài đặt

  • Cấu hình dự án theo mô hình
  • Xây dựng và cấu hình csdl
  • Xây dựng UI
  • Phát triển các tính năng

Yêu cầu đồ án

My Shop

🎯 Tạo ra ứng dụng quản lí cơ bản, hỗ trợ bán hàng

A. Mô tả

Viết chương trình quản lí việc bán hàng cho một cửa hàng nhỏ. Bạn có thể chọn một trong các chủ đề gợi ý sau:

  1. Laptop
  2. Điện thoại di động
  3. Sách
  4. Chủ đề nào mà bạn muốn

Các chức năng cơ sở (5 điểm)

Cơ sở dữ liệu sử dụng: SQL Server (hoặc CSDL quan hệ tùy chọn tương đương như Postgres/MySQL/MariaDB/MongoDB…) hoặc CSDL mà bạn muốn.

1. Màn hình đăng nhập (0.25 điểm)

  • Cho nhập username và password để đi vào màn hình chính. Có chức năng lưu username và password ở local để lần sau người dùng không cần đăng nhập lại. Password cần được mã hóa.

  • Cho phép cấu hình thêm thông tin như server, tên database kết nối.

2. Màn hình dashboard (0.25 điểm)

Cung cấp tổng quan về hệ thống đang quản lí, ví dụ:

  • Có tổng cộng bao nhiêu sản phẩm đang bán

  • Có tổng cộng bao nhiêu đơn hàng mới trong tuần / tháng

  • Liệt kê top 5 sản phẩm đang sắp hết hàng (số lượng < 5)

  • Ví dụ một dashboard thường thấy sẽ như thế này:
    image

3. Quản lí hàng hóa (1.5 điểm)

  • Import dữ liệu gốc ban đầu (loại sản phẩm, danh sách các sản phẩm) từ tập tin Excel hoặc Access.
  • Thao tác với Loại sản phẩm: Xem danh sách, Thêm, Xóa, Cập nhật
  • Thao tác với Sản phẩm
    • Xem danh sách theo Loại sản phẩm
      • Có phân trang
      • Sắp xếp theo tiêu chí
    • Xem chi tiết một sản phẩm
      • Xóa, cập nhật sản phẩm
    • Thêm mới một sản phẩm
  • Cho phép tìm kiếm sản phẩm theo tên
  • Cho phép lọc lại sản phẩm theo khoảng giá

4. Quản lí các đơn hàng (1.5 điểm)

  • Tạo ra các đơn hàng
  • Cho phép xóa một đơn hàng, cập nhật một đơn hàng
  • Cho phép xem danh sách các đơn hàng có phân trang, xem chi tiết một đơn hàng
  • Tìm kiếm các đơn hàng từ ngày đến ngày

5. Báo cáo thống kê (1 điểm)

  • Báo cáo doanh thu và lợi nhuận theo ngày đến ngày, theo tuần, theo tháng, theo năm (vẽ biểu đồ)
  • Xem các sản phẩm và số lượng bán theo ngày đến ngày, theo tuần, theo tháng, theo năm (vẽ biểu đồ)

6. Cấu hình (0.25 điểm)

  • Cho phép hiệu chỉnh số lượng sản phẩm mỗi trang
  • Cho phép khi chạy chương trình lên thì mở lại màn hình cuối mà lần trước tắt

7. Đóng gói thành file cài đặt (0.25 điểm)

  • Cần đóng gói thành file exe để tự cài chương trình vào hệ thống

Các chức năng gợi ý nâng cao (Tự chọn để được 5 điểm)

  • Sử dụng một thiết kế giao diện tốt lấy từ pinterest (0.5 điểm)
  • Làm rối mã nguồn (obfuscator) chống dịch ngược (0.25 điểm)
  • Thêm chế độ dùng thử - cho phép xài full phần mềm trong 15 ngày. Hết 15 ngày bắt đăng kí (mã code hay cách kích hoạt nào đó) (0.5 điểm)
  • Báo cáo các sản phẩm bán chạy trong tuần, trong tháng, trong năm (1 điểm)
  • Bổ sung khuyến mãi giảm giá (1 điểm)
  • Quản lí khách hàng (1 điểm)
  • Sử dụng giao diện Ribbon (0.25 điểm)
  • Backup / restore database (0.5 điểm)
  • Tổ chức theo mô hình 3 lớp (1 điểm)
  • Chương trình có khả năng mở rộng động theo kiến trúc plugin (1 điểm)
  • Sử dụng mô hình MVVM (1 điểm)
  • Sử dụng Dependency injection (1 điểm)
  • Sử dụng DevExpress / Telerik / Kendo UI (1 điểm)
  • Có khả năng cập nhật tính năng mới qua mạng sử dụng ClickOnce(0.5 điểm)
  • Sử dụng thư viện WinUI mới (1 điểm)
  • Kết nối API Rest API (1 điểm)
  • Kết nối GraphQL API (1 điểm)
  • Tự động thay đổi sắp xếp hợp lí các thành phần theo độ rộng màn hình (0.5 điểm)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.