Xây dựng chương trình quản lý thi trong trường học phổ thông (1 người xem)

  • Thread starter Thread starter chibi
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

Nguyên văn bởi smbsolutions
OK. Tôi sẽ chờ xem! :D. Nếu hết tuần 16-20/7 mà có ít nhất 2 người đưa ra kết quả làm việc theo sự phân công của trưởng nhóm, không có 1 lời ca thán là "tôi đang rất bận" thì coi như là tôi sai (RẤT hy vọng là TÔI SAI :)).
Lời động viên ngược mà lại có tác dụng rất lớn!
Và quan trọng hơn, bạn chibi định làm 1 mình à?
Mới chỉ có nhóm trưởng, chưa có nhóm viên. Không làm 1 mình thì làm với ai đây?
Với chibi:
-Hoan nghênh, dù bận bạn cũng đã khởi động.
-Về cấu trúc của chương trình: theo mình nên gọn và đơn giản để dễ sử dụng, miễn là phục vụ được công việc. Sau này, chúng ta có thể thêm bớt cho phù hợp với thực tế công tác ở từng trường. Đó là lý do không cần phải làm chi tiết quá.
-Về phương pháp: Hiện nay chưa có nhóm hỗ trợ cho bạn. Có lẽ trước hết nên kêu gọi sự tham gia của các thành viên. Đăng ký như cà fê-offline vậy (nhưng nói rõ là không có cà-fê). Nếu người đăng ký không đủ, bạn có thể mời thêm. Bạn định thời hạn cho việc đăng ký.(Tiện đây nói luôn: cho mình đăng ký 1 suất). Sau khi có nhóm rồi, bạn chia nhỏ công việc ra và phân công cho từng người.
-Về thời gian: Chúng ta quyết tâm làm ( đây còn là 1 hình thức học tập nữa) nhưng cũng không cần phải vội vàng. Làm sao mà công việc đừng bị trì trệ, nó luôn phải tiến triển dù chậm.
Mong các bạn hưởng ứng chương trình này.
 
Gửi các bạn.
Xin mời các bạn tham gia xây dựng chương trình này.
Thời gian: Hạn chót 24h ngày 25/7/2007
Nội dung: “Có tham gia” và ý kiến đóng góp về cấu trúc và cách tổ chức của file dữ liệu đã nêu trong bài #38
 
ThuNghi đã viết:
Bạn SmbSolutions ới, cho tôi hỏi 1 vấn đề này.
Tôi muốn dữ liệu đưa vào 1 sh Data, theo bạn có nên đặt 1 field là 1 name không ví dụ, tb_ngayht, tb_soct...Vậy khi update dữ liệu vào thì có chậm đáng kể, thay vì Range(Ai:Xi).value =
mà phải
range(tb_ngayht).cells(i,1).value
range(tb_soct).cells(i,1).value
Cám ơn nhiều, do tôi muốn làm vậy để khi có edit cấu trúc của sh data thì không ảnh hưởng code.
cái "tb_" tức là prefix của từ "Table", nếu bạn làm trong Excel thì nó tương đương với Sheet.
Còn từng field trong table thì tương đương với các cột của 1 sheet trong excel, thường thì bạn nên dùng tiếng anh hoặc tiếng việt không dấu.

Ví dụ:

Sheet: tb_Employee
Các cols: ID (Auto Increment), Code (UniqueIndex), FirstName, MiddleName, LastName, DOB, v.v...

Đó là cách đặt tương đối chuẩn rồi :). Còn chuyện Update như bạn nói thì tớ ko rõ trong Excel làm như thế nào nhưng Update thì có nhiều kiểu lắm. Nào là Update (gõ) trực tiếp vào Sheet (Như Đào Việt Cương hay thích làm), nào là Update từ Win Form. Khi đó bạn có thể dùng lệnh For cho hết các fields trên form rồi dùng ClipString gì đó để "paste" vào Current edit row trong Sheet (mình ko làm Excel nên ko rõ làm cụ thể như thế nào) nhưng chắc cũng ko khó lắm đâu.

Cheers!
 
Lần chỉnh sửa cuối:
TuanVNUNI đã viết:
Không cần phải giải nghĩa chi tiết tại đây. Hãy tìm sách để đọc thêm, dù sách cũ nó cũng là trí tuệ của các nhà khoa học. Hãy tôn trọng!
Đọc thêm món này cho vui đi (do 1 chú sinh viên đang thực tập làm đề tài cung cấp tài liệu này).

Bản Hướng Dẫn Viết báo cáo cho Project "System Development" ( Kết hợp của 4 môn Software Engineering + System Analysis And Desgin + Information Management + Project Management )
Chỉ là ai thích thì down thôi. Miễn thắc mắc về tài liệu là có phù hợp với diễn đàn hay ko. Cũng chả thấy nơi nào trên diễn đàn có thể post cái này cho phù hợp nên nhân tiện lúc trao đổi vấn đề này thì tôi share để ai quan tâm thì đọc tham khảo.

Cũng gần hết 1 tuần rồi đấy, chắc những gì tôi dự đoán cũng đúng thôi. :(
 

File đính kèm

Lần chỉnh sửa cuối:
smbsolutions đã viết:
Đọc thêm món này cho vui đi (do 1 chú sinh viên đang thực tập làm đề tài cung cấp tài liệu này).

Chỉ là ai thích thì down thôi. Miễn thắc mắc về tài liệu là có phù hợp với diễn đàn hay ko. Cũng chả có nơi nào post cái này nên nhân tiện trao đổi vấn đề này thì share để tham khảo.

Cũng gần hết 1 tuần rồi đấy, chắc những gì tôi dự đoán cũng đúng thôi. :(

Cảm ơn bạn đã cung cấp thêm cho mọi người tài liệu để tham khảo!
Vấn đề dự đoán của bạn về thành công của dự án thì những ai tham gia tương đối lâu trên diễn đàn này cũng đã nghĩ đến như vậy. Công việc này thực sự không dễ thực hiện! Tôi chỉ muốn mọi người đã có ý tưởng, thấy nó thực sự thiết thực cho công việc cũng như nghiên cứu của chính mình thì hãy cố gắng làm, cho dù chưa ra được SP thì những người thực hiện đã học thêm được nhiều điều.
 
Xin được tiếp tục chủ đề này cùng các bạn.
Tôi gửi lên đây hệ thống menu của chương trình, xin ý kiến đóng góp của các bạn. (Pass=123)
 

File đính kèm

Xin cho giải pháp đánh mã học sinh. Mã học sinh được đánh tự động sau khi nhập thêm, đảm bảo không trùng với các mã đã từng có.
 
tb_Pupil
- ID (Long, PK, Auto Increase) <-- ID (Long) is used to join with other tables, not joining by code.
- Code (Varchar(20), Not Null, Unique Index) <-- Code can be modified (ex: 01010001, 01010002,...,01020001,01020002,...), no need to generate automatically, should be checked for duplicate row when saving (before insert or update)
- FirstName, MiddleName, LastName
- ...

A pupil can be recognized not only by code but also by many other properties like at any time: School, Class, etc....
 
Lần chỉnh sửa cuối:
chibi đã viết:
Xin cho giải pháp đánh mã học sinh. Mã học sinh được đánh tự động sau khi nhập thêm, đảm bảo không trùng với các mã đã từng có.
Một trường chỉ có khoảng 3.000 HS trong 1 năm học;
Thông thường chỉ có thể: Cấp I +cấp II hay Cấp II & cấp III;
Một HS chỉ học tại trướng trong 6 - 8 năm là cùng;
Kết luận của mình:
Mã sẽ là: A001, A002 , A999, B001, . . . . .
 
Theo mình Cách đánh Mã số học sinh của các trường như sau (Nếu không chính xác thì các thầy cô thông cảm nhé)
Gồm 12 ký tự
1/ 2 ký tự mã thành phố (VD : Hà nội (01) ; TPHCM (02) ;...)
2/ 2 ký tự mã Quận/Huyện (VD : Quận 1 (01) ; Quận 2 (02) ;...)
3/ 2 ký tự mã trường trong Quận/Huyện :
+ Cấp 1 - trường A : AA
--------- trường B : AB ...
+ Cấp 2 - trường A : BA
--------- trường C : AC ...
+ Cấp 3 - trường A : CA
--------- trường E : CE ...
4/ 2 ký tự của năm Vào trường (VD 2006 (06) ; 2007 (07)...)
5/ 4 ký tự cuối cùng là số thứ tự của số học sinh vào trường
của năm học đó.
*** Nghe qua, thấy phức tạp thật. Nhưng mình nghĩ nếu có bảng Code cụ thể thì khi thực hiện trên cả nước chắc rằng không có học sinh nào trùng mã số. Tất nhiên mỗi học sinh sẽ ôm mã số đó, kể cả khi nghỉ học hay chuyển trường (Giống như số CMND)

VD cụ thể :
* 1 học sinh AAA mang mã số 0201BD060001
02 : TP.HCM
01 : Quận 1
BD : Trường PTTH D - cấp 3
06 : Năm vào trường 2006
0001 : Số thứ tự của học sinh AAA

TDN
 
tedaynui đã viết:
Theo mình Cách đánh Mã số học sinh của các trường như sau (Nếu không chính xác thì các thầy cô thông cảm nhé)
Gồm 12 ký tự
1/ 2 ký tự mã thành phố (VD : Hà nội (01) ; TPHCM (02) ;...)
2/ 2 ký tự mã Quận/Huyện (VD : Quận 1 (01) ; Quận 2 (02) ;...)
3/ 2 ký tự mã trường trong Quận/Huyện :
+ Cấp 1 - trường A : AA
--------- trường B : AB ...
+ Cấp 2 - trường A : BA
--------- trường C : AC ...
+ Cấp 3 - trường A : CA
--------- trường E : CE ...
4/ 2 ký tự của năm Vào trường (VD 2006 (06) ; 2007 (07)...)
5/ 4 ký tự cuối cùng là số thứ tự của số học sinh vào trường
của năm học đó.
*** Nghe qua, thấy phức tạp thật. Nhưng mình nghĩ nếu có bảng Code cụ thể thì khi thực hiện trên cả nước chắc rằng không có học sinh nào trùng mã số. Tất nhiên mỗi học sinh sẽ ôm mã số đó, kể cả khi nghỉ học hay chuyển trường (Giống như số CMND)

VD cụ thể :
* 1 học sinh AAA mang mã số 0201BD060001
02 : TP.HCM
01 : Quận 1
BD : Trường PTTH D - cấp 3
06 : Năm vào trường 2006
0001 : Số thứ tự của học sinh AAA

TDN
Nếu chỉ có 1 trường:

9.000 học sinh * 100 năm tồn tại = 900.000 học sinh
-> 000001; 000002; 000003; 000004 . . . .
(6 Ký tự)

Nếu xét trên cả nước :15.000 trường (AAA; AAB; AAC . . . . )
-->AAA000001; AAB000002 . . . ABC000001; AB000002
(9 ký tự)

Còn các chỉ tiêu khác thì đã có các field tương ứng quản lý rồi.
Thêm vào đủ trong mã thì có mà chết vì biết bao giờ mới đủ đây.

CMND mà ghi cả nhóm máu, thuận tay nào . . thì toi
 
Học sinh đó đổi quận, đổi trường, đổi vùng, đổi tất cả thì cái mã số đó coi như chả có ý nghĩa gì. Không tự nhiên mà số CMT toàn số là số. Miễn là Unique Index là được. Vấn đề này giống vấn đề của việc đặt mã hàng hóa mà Ms Thơm đã từng đặt ra.

Còn muốn khoa học thì đơn giản nhất là lấy theo thời gian đăng ký ban đầu:
yyyymmddhhss##### (eg: 20070723144300001)
 
Các chuyên gia thân mến!
Tôi xin tham gia ý kiến với các bạn thế này:

Dự án của các bạn lớn quá, thực tế để tổ chức thi cho Toàn quốc, các Tỉnh hay các Huyện (khối trung học cơ sở) thì người ta đã có "chương trình làm" cả rồi các bạn ạ. Tôi chỉ mong các bạn quan tâm đến một dự án nhỏ hơn với qui mô là 1 trường phổ thông với trên dưới 1000 học sinh/khối là tốt rồi. Hãy đơn giản đi những cái không cần thiết. Với qui mô như vậy tôi nghĩ dự án của các bạn sẽ sớm thành hiện thực hơn. Chúng tôi-những nhà giáo sẽ cám ơn các bạn rất nhiều.
 
nmhungcncm đã viết:
Các chuyên gia thân mến!
Tôi xin tham gia ý kiến với các bạn thế này:

Dự án của các bạn lớn quá, thực tế để tổ chức thi cho Toàn quốc, các Tỉnh hay các Huyện (khối trung học cơ sở) thì người ta đã có "chương trình làm" cả rồi các bạn ạ. Tôi chỉ mong các bạn quan tâm đến một dự án nhỏ hơn với qui mô là 1 trường phổ thông với trên dưới 1000 học sinh/khối là tốt rồi. Hãy đơn giản đi những cái không cần thiết. Với qui mô như vậy tôi nghĩ dự án của các bạn sẽ sớm thành hiện thực hơn. Chúng tôi-những nhà giáo sẽ cám ơn các bạn rất nhiều.
Chương trình này hướng tới đối tượng chính là trường trung học. Chương trình này không ớn đến mức như bạn nghĩ đâu.
Hiện nay nhiều trường đã có chương trình quản lý học sinh, tích hợp phần quản lý thi và thời khoá biểu. Ngặt một lỗi giá hơi cao (Khoảng 6 triệu), với khoản tiền này thì các trường nhỏ ở vùng nông thôn chỉ có cách là bán máy vi tính đi để mua phần mềm. Vì thế tôi muốn xây dựng chương trình này dành cho các trường THPT, THCS.
 
Gửi các bạn.
Chương trình này với mục tiêu chính là quản lý thi của 1 trường trong 1 năm học. Vì thế mã học sinh không đòi hỏi đến mức phải phức tạp quá, chỉ cần 0001 đến hết là đủ. Vấn đề là tự động tạo ra khi có hs mới và không trùng với mã đã từng có, không cho phép sửa.
 
chibi đã viết:
Gửi các bạn.
Chương trình này với mục tiêu chính là quản lý thi của 1 trường trong 1 năm học. Vì thế mã học sinh không đòi hỏi đến mức phải phức tạp quá, chỉ cần 0001 đến hết là đủ. Vấn đề là tự động tạo ra khi có hs mới và không trùng với mã đã từng có, không cho phép sửa.

Tạo mã không được đơn giản thế đâu bạn ơi. Đã đưa tin học vào quản lý thì phải thể hiện được tính khoa học chứ. Nhìn vào 0001->...->N-1->N chỉ nói lên STT mà thôi.
Tạo mã phải theo đối tượng quản lý. Nếu đặt Mã = Tỉnh+TP+Quận/Huyện+... thì nó phù hợp với ngành Thống kê. Nhìn vào mã làm sao để nhà quản lý có thể nhận biết đặc điểm của đối tượng quản lý.
Cách đặt tên của tôi (dựa theo cách đặt của trường tôi hiện nay, số mã hiện nay là 10, tạm không thay đổi được vì lý do phần mềm).

Mã SV(12)= Khóa(3) + Hệ đào tạo(2) + Khoa(2) + Lớp(2) + STT(3)
006010102001

Mã này để quản lý nội bộ trong trường. Mã của hệ thống của toàn Quốc đã có Bộ GD & DT làm rồi.

(Trường tôi có 20 Khoa+Ban đào tạo, số lượng HS+SV khoảng hơn 20.000)
 
Lần chỉnh sửa cuối:
Tôi nhất trí với quan điểm của bạn CHIBI ở bài #55.
Cũng có thể vì tôi không biết rành về EX nên thấy nó phức tạp, nhưng tôi tạm cho mình là người trong cuộc- đối tượng mà các bạn đang bàn cách giúp đỡ, tôi thấy rằng: tổ chức 1 kì thi bình thường ( kiểm tra định kì trong năm học) thì cần gì phải quan tâm tới địa bàn cư trú của học sinh, thông tin của học sinh theo tôi chỉ cần: Mã học sinh, Họ Tên, giới tính, năm sinh, lớp là đủ, sau đó là kết quả thi các môn. Phần thống kê số liệu : có thống kê các loại điểm:kém(0-3.4), yếu(3.5-4.9), trung bình(5-6.4),khá:(6.5-7.9), giỏi(8-10), các thống kê này theo khối - theo lớp - theo môn - theo giới tính để nhà trường cũng như giáo viên có cơ sở để tính điểm, báo cáo, đánh giá thi đua. Các số liệu trên cũng là yêu cầu của cấp trên khi yêu cầu cấp dưới báo cáo các bạn ạ.
Thực tế cấp trên cũng yêu cầu báo cáo đối tượng học sinh thuộc diện chính sách nữa nhưng tôi thấy không cần thiết đưa vào danh sách vì số lượng không nhiều có thể làm thủ công được và giảm bớt cột khi thiết lập bản in.
Tôi xin có vài ý như vậy, mong các chuyên gia cho ý kiến. Xin cám ơn
 
Gửi tất cả.
Các bạn hãy giúp tôi phần nhập mã tự động vào dữ liệu. Mã do các bạn tự đặt, dữ liệu test gồm mã, họ tên
Yêu cầu: Mã không trùng nhau, không được sửa, có cùng độ dài, không trùng với mã đã từng nhập (tức là dù đã xoá dòng cũ đi thì mã mới cũng không trùng với mã đã xóa). Nhập ngay trên sheet không dùng form.
 
- Đặt mã tự động không khó, tuy nhiên muốn triển khai thì phải xem cấu trúc của mã thế nào (để cho ra mã tiếp theo tự động)
- Mã không được trùng (kể cả đã xóa) : Nếu chưa xóa thì chỉ cần dùng countif là xem có trùng hay không. Tuy nhiên xóa đi rồi thì lấy gì mà so sánh. Vì vậy mã phải dựa vào thời gian nhập, vì dù có xóa hay không xóa thì mã này không bao giờ bị trùng.

Bạn nên up file VD trong đó có bộ mã của bạn, mọi người sẽ giúp. Như thế nó sẽ phù hợp với chương trình của bạn hơn.

Chứ để tự mọi người, mỗi người mỗi ý, chẳng giải quyết được vấn đề gì đâu.
 
Tham gia về mã HS cái!

Xin mạn phép chủ đề tài, kết luận về mã HS như sau:
Mã gồm 4 kí tự: Không nên dùng toàn kí số, lúc đó sẽ khó trong việc xử lý các số 0001,. . . .
Để tiện chúng ta thống nhất như A000, A001, A002, . . . . Như vậy CSDL sẽ có thể 26.000 HS; Nếu dài quá 4 kí tự thì một khi tìm kiếm sẽ lâu, nhất là vùng sâu, xa chúng ta cần quan tâm ưu tiên!;
:=\+
Để tự động hóa việc nhập mã này, như hàm countif() cũng đạt;
Cách #: dùng hàm Max()+1 để hiện ra tại sheet nhập liệu như Chibi nói (cũng có thể viết hàm người dùng lúc này để nó hỗ trợ tìm & nhập cho ta mã 1 cách tự động). Điều này access & êxcel đều trong tầm tay;
(Về nhập tự động mã HS xin chủ đề tài kết luận ngay luôn phw cách, nha!)


@$@!^%
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom