Cần góp ý về database với đề tài "Quản lý chung cư"

Theo bạn thì quản lý chung cư là quản lý những gì?
Bạn đã tưởng tượng ra phần mềm nó trông ra sao chưa, có chức năng gì chẳn hạn

2 Likes

Theo mô hình trên thì giữa mỗi nhân viên và căn hộ phải có 1 hợp đồng. Theo mình biết trong thực tế không phải như vậy, chỉ có 1 hợp đồng giữa căn hộ và ban quan lí.

Cơ bản nhất, bạn nên note ra role và function của từng đó như thế nào :slight_smile: Sau đó up lên mọi người sẽ góp ý. Bạn đăng hình diagram này lên rồi hỏi, mọi người sẽ không trả lời đúng cái bạn đang “muốn” người khác góp ý đâu.

1 Like

Chắc trường cũng không yêu cầu nhiều
về thực tế quản lý chung cư có khá nhiều vấn đề, mình có thể nêu ra một số thứ như sau:

  • Quản lý 1 chung cư hay nhiều chung cư?
  • Có bao nhiêu vai trò trong cái chung cư? (nhân viên, cư dân, ban điều hành…)
  • Chung cư có cho thuê dịch vụ gì hay không? (ví dụ như cho thuê bể bơi làm pool party)
  • 1 cư dân có thể mua/thuê nhiều căn được không?
  • HĐ được kí giữa cư dân và nhân viên như trên thì khi nhân viên nghỉ làm sẽ như thế nào?
  • Hệ thống có quản lý phương tiện di chuyển của cư dân hay không?
  • Hệ thống có chức năng trưng cầu dân chủ hay không? (1 dạng voting 1 vấn đề gì đó cho cả block/floor)

    còn nhiều nữa mình không tiện viết ra đây, nhưng ở giới hạn của 1 đề tài thì bạn có thể tham khảo và phân tích những thứ trên để có thể làm cho đề tài phong phú hơn.

Đối với database trên thì mình suggest làm lại bằng tiếng Anh, không phải mình chê Tiếng Việt, mà thực tế tiếng Anh sẽ có đa số từ gọn hơn và khi đi làm cũng sẽ là tiếng Anh dễ tiếp cận hơn.

Nên phân tích xem đã là cư dân/nhân viên thì có thể đăng nhập vào hệ thống hay không?

database như trên theo cá nhân mình thấy là khá sơ sài, có thể xuất phát từ kinh nghiệm không đủ, hoặc có thể do giới hạn thời gian của đề tài không cho phép phân tích nhiều hơn.

Dù sao cũng chúc bạn may mắn :smiley:

2 Likes

đây chỉ là bài tập lớn của môn csdl thôi ạ, xây dựng database sao cho hợp lí để viết lệnh SQL nên e chỉ cần mn góp ý như một bài tập đơn giản thôi ạ

Cậu nên đưa bọn tớ phân tích yêu cầu phần mềm trước.

Cậu có thể thấy database schema của cậu rất nhiều vấn đề. Tớ có thể đưa ra vài ví dụ cơ bản:

  • Cậu đang làm “quản lý chung cư” hay “quản lý bán chung cư”?
    “Nhân viên” mà liên quan tới hợp đồng chung cư thì đó có thể là nhân viên môi giới. Nó không có liên quan tới “quản lý chung cư”.
  • Tại sao cậu không cần quan tâm tới CCCD của nhân viên? Nếu có ai đó không có CCCD thì sao? Họ có thể dùng passport hay không?
  • Tại sao một căn hộ chỉ có thể đứng tên 1 cư dân?
  • “Hợp đồng” làm thế nào để note lại “trạng thái thanh toán”? Làm sao cậu biết tiến độ thanh toán thế nào rồi?
    Dù vậy, tớ không nghĩ “Hợp đồng” là thứ cần trong việc quản lý chung cư.
  • “Trạng thái” của căn hộ là gì? Tại sao nó cần thiết.
  • Chung cư cho thuê thì sao? Schema này dường như không thể hỗ trợ việc cho thuê.

Về quản lý chung cư, cậu nên trả lời các câu hỏi mà @wiolka1592_animalspi liệt kê. Đó là vấn đề thực tế, mà tớ hi vọng cậu viết phần mềm để thử giải quyết các vấn đề đó.

Về cơ bản, cậu hoàn toàn có thể viết phần mềm với bất cứ database schema nào. Cơ mà, mấu chốt của phần mềm là để giải quyết một vấn đề, và tớ thấy cậu còn chưa hiểu vấn đề của cậu (nếu cậu nhận là cậu đã biết, cậu có thể đưa bọn tớ phân tích yêu cầu phần mềm của cậu, để bọn tớ biết chính xác cậu đang làm gì). Muốn có một database schema hợp lý, cậu phải đi từ yêu cầu phần mềm (hay cậu phải biết cậu đang giải quyết vấn đề gì).

Và, một phần mềm có kỹ thuật dở tệ (dữ liệu được viết lên file, code tất cả trong 1 class…) nhưng giải quyết được vấn đề, chắc chắn tốt hơn một phần mềm sử dụng công nghệ tối tân, nhưng chẳng giải quyết được vấn đề gì cả.
Vậy nên, khi cậu bảo vệ bài tập lớn này, giảng viên chắc chắn sẽ hỏi yêu cầu phần mềm của cậu trước. Tớ không chắc cậu sẽ có được điểm tốt nếu như cậu giải quyết sai vấn đề.

Hope it helps!

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?