Mô hình Cơ sở dữ liệu của chương trình thi trắc nghiệm trên Webketoan

  • Thread starter Đào Việt Cường
  • Ngày gửi
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear all
-------
Có thể có những điểm chưa được trong chủ đề này, song tôi cũng có gắng trình bày một số hiểu biết của mình về cách thức để xây dựng một chương trình bằng MS Access.
Có thể nói, thời gian qua box EFC được hâm nóng lên bởi đề tài: Cùng nhau xây dựng chương trình thi chắc nghiệm trên máy vi tính. Vấn để trở lên được nhiều người quan tâm không phải ở tính độc đáo của nó là thiết kế trên MS Excel mà là mục đích rất "cộng đồng": nhằm hỗ trợ cho các thành viên nhận thức sâu sắc hơn công việc kế toán mà mình đang làm.

Trước khi bắt tay vào khảo sát ứng dụng thi trắc nghiệm, tôi xin có ý kiến như vậy. Có thể sự hiểu biết của tôi là hạn chế, nhưng không vì thế mà tôi ngại bày tỏ quan điểm của mình, rất mong các bạn góp ý!

-------------------

Tóm lại là:

Mục tiêu: Xây dựng mô hình CSDL chương trình thi trắc nghiệm trên MS Access

Mong mọi người tham gia đóng góp ý kiến xây dựng chủ đề này cùng Cường
 
Sửa lần cuối bởi điều hành viên:
Khóa học Quản trị dòng tiền
S

StonyHeartedMan

Guest
2/10/04
306
2
0
Hà nội
www.vnuni.net
Đào Việt Cường nói:
Dear all
-------
Chủ đề này lập ra không làm kém phần sôi nổi của các EFCer, mà quan điểm cá nhân tôi cho rằng môi trường làm việc của MSE rất năng động nhưng nó không đáp ứng được các yêu cầu của một ứng dụng mang tầm cỡ Webketoan(!). Bởi các lý do sau đây:
1. Không hỗ trợ môi trường nhiều người dùng:
Vấn đề truy cập được đề cập trong cả hai trường hợp: Cập nhật đề thi - đáp án và tổ chức thi trắc nghiệm.
Yêu cầu này là cơ bản vì hệ thống cần thiết phải cho phép nhiều người cùng truy cập, làm việc một lúc. Số đông càng làm việc hiệu quả đến đâu thì khối kiến thức được cập nhật vào chương trình càng "đồ sộ" bấy nhiêu.

Bây giờ h2h này mới biết sự khác biệt này đấy Cường ạ. Đến tận bây giờ rồi h2h thực sự ko biết là Access (hay ai đó nói thêm là cả DBF (fox) nữa là ... chạy được trên mạng với nhiều người cùng truy cập mà Excel ko chạy được - NẾU KO SHARE THƯ MỤC.... :), còn foxpro thì ko copy về local PC để xử lý...). Còn nếu chạy kiểu share thư mục thì nói làm quái gì (thằng nào chả giống nhau). Mấy cái món này đều là desktop files cả mà (Access file muốn attact tables hay open w/ share thì cũng phải nhìn thấy file nằm đâu đó trên local network). Muốn sharing resources kiểu desktop files thì phải share thư mục (vì có phải client/server đâu). Còn nhiều người truy cập hay ko thì là do cách viết chứ ko phải là không làm được.

Đào Việt Cường nói:
2. Khả năng bảo mật kép, có nhiều rủi ro về lỗi chương trình
Khả năng bảo mật ở đây được hiểu là phân cấp quyền hạn cho người sử dụng. Điều này quan trọng đối với bất cứ ứng dụng môi trường nhiều người dùng, đặc biệt đối với một chương trình nhằm phổ biến kiến thức cho mọi người.
Nếu so sánh đặc điểm này giữa MSE với MSA thì rõ ràng MSA có nhiều ưu điểm hơn hẳn. Việc sử dụng MSA database cũng đảm bảo tính tương thích và ổn định hơn.

Phân quyền cho người dùng là do mình có làm hay ko chứ ko phải là do Access hay XYZ nào đó.

Đào Việt Cường nói:
3. Khả năng nâng cấp và chuyển đổi cơ sở dữ liệu của chương trình:
Có thể nói, MSA là một hệ Quản trị cơ sở dữ liệu (DBMS- Database Menager System) trung gian giữa các DBMS khác nhau. Cơ sở dữ liệu của MSA được hỗ trợ bởi nhiều nhà cung cấp (Providor). Do đó người phát triển có thể chuyển đổi dễ dàng nhiều định dạng cơ sở dữ liệu khác nhau (*.xls, *.dbf,...). Đặc biệt cấu trúc và kiểu dữ liệu của MSA rất phù hợp với một số DBMS hiện đại đang được sử dụng phổ biến hiện nay - MS SQL Server, My SQL, Oracle... Nắm bắt được đặc điểm này, cho phép chúng ta yên tâm triển khai bằng MSA, trong trường hợp CSDL phình to,không đảm bảo về mặt lưu trữ có thể chuyển đổi sang DBMS hiện đại hơn.
Vì những lý do này, tôi cho rằng, lựa chọn giải pháp và công nghệ quyết định phần lớn công việc phát triển ứng dụng tin học. Trong phạm vi nào thì ứng dụng sẽ có tầm cỡ như thế!
Trước khi bắt tay vào khảo sát ứng dụng thi trắc nghiệm, tôi xin có ý kiến như vậy. Có thể sự hiểu biết của tôi là hạn chế, nhưng không vì thế mà tôi ngại bày tỏ quan điểm của mình, rất mong các bạn góp ý!

Nếu design đúng thì ngay cả database = text (hay bất cứ kiểu flat file nào_ cũng có thể chuyển đổi lên bất cứ hệ quản trị C/S nào cũng được.

Đáng ra có thể phân tích kiểu khác thì rất ổn. Nhưng lại phân tích ko thực sự đúng 1 tý nào. Tiếc quá!

Thực sự Access khác Excel ở chỗ Access là 1 trong các ứng dụng thuộc MS Office (vẫn giống Excel ở điểm này - nhưng ko phải môi trường lập trình thực sự (vì ko có compiler riêng)) nhằm đáp ứng nhu cầu xây dựng các "tài liệu" có cấu trúc dữ liệu (tables) có quan hệ và các cấu trúc khác nhằm quản lý thông tin lưu trữ trong tài liệu đó (như query, forms, reports, macro...). Vì mục tiêu là nhắm vào việc quản lý thông tin (dữ liệu) có quan hệ nên MS ACCESS đương nhiên là tiện và mạnh hơn MS Excel hay cái gì khác về lĩnh vực quản lý thông tin dưới dạng có cấu trúc (CSDL). (Chú ý: MS Excel về bản chất là Bảng tính chứ ko phải sinh ra để quản lý CSDL nên đừng có so sánh nhé).

Tuy nhiên, những ai khai thác và tận dụng hết mọi tính năng của 1 ứng dụng trong MS Office (như MS Excel chẳng hạn) thì họ có thể xây dựng thành một công cụ đủ mạnh để nhằm phục vụ cho một mục tiêu cụ thể nào đó của mình (chỉ có điều họ có đủ mạnh hay ko, nhất là trong môi trường ms office nói chung thì việc vận dụng các thế mạnh của VBA với các APIs của windows như thế nào thì lại là 1 chuyện hoàn toàn khác.)

Hê hê, lần này là lần thứ n nào đó rồi là tôi đã từng nói: Mọi người KHÔNG NÊN so sánh giữa winword với winrar nữa vì 2 PM đó có 2 mục tiêu hoàn toàn khác nhau (cũng như so sánh Access với Excel cũng vậy thôi - nếu ko thì M$ nó bundle cả Access với Excel vào MS Office (not MS Enterprise) làm gì).

Làm thì cứ tiếp tục làm chứ đừng so sánh thế này Cường ạ. (Vì đã so sánh cái gì thì phải làm cho nó đúng để mọi người khỏi hiểu nhầm).
 
Sửa lần cuối bởi điều hành viên:
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear all,
-------
Theo em, ban đầu lên hình dung đối tượng sử dụng chương trình là các thành viên Webketoan và cuộc thi thì ngoài việc tổ chức thi thực sự, chương trình còn cho phép mọi người chắc nghiệm lại kiến thức của mình. Do đó chương trình phải vừa đảm bảo ràng buộc toàn vẹn, nhưng cũng phải rất linh hoạt cho người tự chọn đề tự thi.

Now,
-----
Trước tiên, chúng ta cùng khảo sát một lớp học của Webketoan.
Theo hình dung của em thì lớp học ảo bao gồm rất nhiều thành phần, lứa tuổi và nghề nghiệp khác nhau. Việc đăng làm học viên cũng không nhất thiết là phải học thực sự mà chỉ là đăng ký để thi hoặc tự kiểm tra.
Để khảo sát cơ cấu lớp học này, chúng ta cần lập một danh sách học viên. Danh sách học viên cần ghi nhận tối thiểu các thông tin cơ bản như:
+ Họ tên học viên
+ Giới tính
+ Tuổi
+ Nghề nghiệp
+ Địa chỉ
Các thông tin này sẽ hữu ích, giúp chúng ta sau mỗi kỳ thi có thể thống kê theo các tiêu chí trên. (Nếu ai thấy thiếu tiêu chí nào thì đề nghị bổ sung).
Sau khi thu thập và lập danh sách học viên (có thể học viên tự đăng ký vào danh sách), chúng ta cần xây dựng mô hình lớp học, trong đó phải nêu rõ ai sẽ phụ trách lớp học đó. Có thể mở lớp học theo theo từng thời kỳ. Ngoài ra, cần quy định sĩ số lớp cho mỗi lớp học, ví dụ:
+ Lớp học VBA cơ bản đợt 1 - chương trình đào tạo thí điểm do Đông Nguyên Bình phụ trách, bắt đầu từ ngày 1/4/2006 đến ngày 30/4/2006, sĩ số lớp: 15
+ Lớp học VBA nâng cao đợt 1 - chương trình đào tạo thí điểm do anh Lê Văn Duyệt phụ trách, bắt đầu từ ngày 1/4/2006 đến ngày 30/4/2006, sĩ số lớp: 5.
Sau khi xây dựng lớp học, chúng ta cần xắp xếp lớp cho học viên. Có thể sẽ phải xác định mục tiêu của chương trình đào tạo/ khóa học khi xếp lớp. Việc xác định mục tiêu đào tạo sẽ giúp cho lớp học trở lên cụ thể và phù hợp hơn khi các học viên đăng ký vào lớp.
Đó là công việc chuẩn bị ban đầu.
Theo các bạn, chúng ta đã có bao nhiêu thực thể trong mô hình này? Từ việc xác định thực thể, chúng ta sẽ xây dựng được mô hình cơ sở dữ liệu và các quan hệ ràng buộc hợp lý.
 
Sửa lần cuối:
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear anh 2
----------
Em quen mấy cái bài cứ trích ngang như thế này rồi anh ạ, bác luyện cho em mà!
Thôi khỏi quan tâm đến Database nhé, vì đây là chủ đề "Mô hình" cơ mà. Và nếu muốn đơn giản thì chỉ cần bỏ ra 8.000 VND là có cả bộ sưu tập, có cả mã nguồn, muốn sản phẩm đóng gói hoàn chỉnh cũng có luôn.

Come on!
--------
Em muốn bàn tiếp về mô hình lớp học này, em rất muốn biết ý kiến của các bác, lớp học tổ chức như vậy đã được chưa?
Em tạm thời đưa ra mô hình đơn giản như trên. Chưa thấy ai góp ý nên hôm nay em xin đưa ra các thực thể và thuộc tính trong mô hình này luôn:
1. Học viên:
+ Họ tên học viên
+ Giới tính
+ Tuổi
+ Nghề nghiệp
+ Địa chỉ
2. Lớp học
+ Mô tả mục tiêu lớp học
+ Họ tên giảng viên (người phụ trách)
+ Sĩ số lớp
+ Ngày bắt đầu
+ Ngày kết thúc
3. Khóa học (Hay mục tiêu đào tạo):
+ Mô tả mục tiêu của khóa đào tạo
4. Tổ chức đăng ký và xếp lớp:
+ Cấp cho học viên Số báo danh (khi vào lớp
+ Học viên nào đăng ký?
+ Học ở lớp nào?
+ Đang ký vào khóa đào tạo nào?
Chúng ta sẽ tiếp tục bàn về quy tắc và quan hệ giữa các thực thể này!
 
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear anh 2,
-----------
Đã không quan tâm thì kệ nó bác nhé!
Thôi thì em mô tả theo cách hình dung của em về mô hình tổ chức thi chắc nghiệm như thế này vậy. Theo em biết thì bác phải có cả một đội quân phân tích thiết kế để làm việc này. Có gì chưa đúng bác cứ chất vấn và bổ sung cho em:
1. Mục đích ứng dụng:
- Tổ chức thi, kiểm tra kiến thức kế toán và tin học cho các thành viên Webketoan
- Là cái kho (tàng) kiến thức về kế toán và tin học ứng dụng công tác kế toán của Webketoan
- (bổ sung thêm vào đây)
2. Chức năng:
- Cập nhật danh sách và thống kê các thành viên quan tâm và đăng ký
- Xây dựng và cập nhật khối kiến thức về kế toán và tin học cho các thành viên bằng các câu hỏi và trả lời theo hình thức chắc nghiệm
- Hỗ trợ việc sắp xếp lớp và lịch thi phù hợp với các lớp học Online do Webketoan tổ chức.
- Thống kê và báo cáo kết quả các kỳ thi, đánh giá chất lượng từng khóa đào tạo.
- (bổ sung thêm vào đây)
3. Các chức năng cụ thể:
Đang được bàn trong chủ đề này
 
Sửa lần cuối:
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
Cái bài viết: E-learning Course Design thì ko liên quan gì lắm đến chủ đề. Nhưng đọc qua rồi xem cách nó viết bài mới thấy hay. Dĩ nhiên mục tiêu của mình thì đơn giản hơn nhiều nhưng xem ra mình cũng nên học cách nó tổ chức 1 vấn đề gì đó. Nhỉ? :).

Tiếp tục đi Cường.
 
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Ô hay, anh này kỳ ghê!
-----------------------
Sao lại cứ "Tiếp tục đi Cường" nhỉ. Bác cho em xin ý kiến của bác xem nào!
Bác có thấy phần mô tả của em
2. Lớp học
+ Mô tả mục tiêu lớp học
là em là không hợp lý không: Thực ra em viết sai, chỉ là mô tả lớp học thôi - nghĩa là nêu rõ lớp học thực hiện theo chương trình đào tạo nào. Lẽ ra lỗi này bác phải bắt cho em mới phải.
Nhưng thôi, bác không hỏi thì em hỏi bác vậy:
- Bộ đề thi sẽ bao gồm những nội dung gì?
Theo em chắc sẽ phải phân loại đề thi, phân loại câu hỏi và đáp án. Chắc cũng phải biết đề thi thuộc lĩnh vực nào nữa.
Bác cho em biết đi, chả nhẽ lại mình em nghiên cứu thì còn gọi gì là "cùng nhau" nữa...
 
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
Anh nghĩ đơn giản hơn Cường ạ. Anh viết sơ qua phần đó trả lời anh Duyệt rồi. Ý "đơn giản" của anh là đừng nghĩ gì đến e-learning vội mà làm 1 cái cực đơn giản thôi.

Bài toán:
Chị Dung đang có 1 bộ câu hỏi. Chị ấy cần một phần mềm nho nhỏ để (chạy trên một máy cũng được, dĩ nhiên truy cập từ xa (vẫn kiểu share file) cũng ko có gì khác nhiều lắm vì chỉ cần quản lý attach table rồi mỗi lần học viên đăng nhập thì tạo ra 1 session là xong - nhưng theo anh tạm thời ko cần care đến chuyện này lắm):
- Nhập câu hỏi đó vào thành 1 CSDL về câu hỏi
- Cho phép 1 người học viên (có lẽ chẳng cần khai báo gì nhiều ngoài cái Họ tên) cần kiểm tra kiến thức thì người đó Login vào chương trình và chọn bộ câu hỏi để tiến hành thi trắc nghiệm.
- Khi kết thúc thi trắc nghiệm, chương trình thông báo kết quả từ tổng quan (được mấy điểm, mục nào được bao nhiêu %,...) đến chi tiết (review lại những câu đã trả lời --> câu nào sai/đúng, và tại sao)

Đấy, đơn giản vậy thôi, từ đó hãy "phân tích" (dùng từ này sợ to tát quá) nhưng cụ thể là từ yêu cầu của "khách hàng" như trên, ta sẽ xây dựng ứng dụng ntn, v.v...

Đơn giản thế thôi Cường ạ, đừng quá phức tạp hóa vấn đề làm gì. Cứ làm nhỏ mà có còn hơn là làm to rồi bỏ đấy (quan trọng là cách làm 1 bài toán như thế nào). Vì thế vụ A-Access anh mới nói làm phải xác định scope sao cho khả thi đã, v.v....

Đây chỉ là đưa ra một ví dụ nhỏ để biết cách xử lý bài toán trên Access thế nào thôi. Nếu em thay đổi scope như thế thì có lẽ em thử "thiết kế" lại xem sao.

To hoangvudb, chắc tại cậu chưa đọc bài viết của tôi mà tôi đã xóa. Mục tiêu của box access KHÔNG CHỈ LÀ CÓ NGAY TỨC THÌ 1 SẢN PHẨM CỦA NƠI KHÁC, mà là: thực hành nghiệp vụ kế toán (tự mỗi thành viên thực hiện) trên access (chứ ko phải đi dùng/mua sản phẩm của người khác).

So sánh với các yêu cầu của bác, em thấy cũng không thấy khác nhau là mấy.

Không cần nhiều đâu, chỉ cần đơn giản thôi. Cứ làm đi. Nhỏ còn chưa làm thì to làm sao mà làm. Quan trọng nhất là thực hiện chứ ko vẽ ra rồi ...để đấy. Vì thế thà có nhỏ còn hơn là ko. Anh thấy mô tả như vậy là quá đủ để làm rồi. Em mà lại tiếp tục chờ đợi thì... I sure luôn, còn lâu mới ra 1 cái gì.

P/S: To Cường, đừng hy vọng quá nhiều vào ai tham gia hay ko ở bất kỳ việc gì, có thì đóng góp, ko có thì thôi. Nhất là anh (ko nhớ anh viết gì khi nói là ko làm mod à? anh chỉ guideline cho đừng sai quá thôi, kể cả việc A-Access cũng vậy, nếu tham gia thì chỉ tham gia buổi đầu sao cho mọi người làm đúng hướng thôi, no detail, no coding... vì còn nhiều việc phải làm lắm)
 
Sửa lần cuối:
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear anh 2,
----------
Dường như trong cuộc nói chuyện nào chỉ có anh em mình là "to mồm" nhất thì phải. Em rất muốn mọi người cùng tham gia để củng cố các kiến thức cơ bản của MSA. Nói gì thì nói, có học hành hẳn hoi còn phải ôn, huống hồ là em chả được học hành gì, lâu ngày quên hết...
Cho nên nói chủ đề này không liên quan đến kế toán cũng đúng. Song em muốn qua mô hình nhỏ này chúng ta có thể hình dung về cách thức để ứng dụng MSA vào kế toán.
Các vấn đề em đề cập đều rất cụ thể và rõ ràng, ai cũng có thể góp ý được. Em cố gắng cho mọi người thấy ứng dụng MSA không có gì phức tạp, MSA không phải là cái mà người ta nghĩ đến: phải lập trình.
Nhưng xem ra trong các mô tả của em, do còn thiếu kinh nghiệm nên có thể chưa được rõ ràng. So sánh với các yêu cầu của bác, em thấy cũng không thấy khác nhau là mấy.
Thôi,
-----
Để tập trung vào chủ đề và có tính khả thi cao hơn, theo em chúng ta nên mời những người có nhu cầu thực sự đóng góp ý kiến. Nếu có ý kiến của chị Dung và anh Duyệt vào đây nữa thì phạm vi và chức năng của ứng dụng sẽ rõ ràng hơn.
 

Xem nhiều

Webketoan Zalo OA