Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 130 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
130
Dung lượng
913,5 KB
Nội dung
GIỚI THIỆU
1.Mục đích của chương trình
Ngày nay với sự phát triển mạnh mẽ của nghành công nghệ thông tin thì nhu
cầu học hỏi nâng cao kiến thức ngày càng tăng. Đặc biệt đối với những sinh viên
nghành tin học thì việc nâng cao kiến thức để đáp ứng yêu cầu của công việc là
một điều cần thiết. Quátrình học hỏi này luôn gắn liền với máy tính cá nhân.
Trong điều kiện hiện nay khi mà hầu hết các sinh viên không trang bò cho mình
một máy tính hoặc nếu có thì cũng không tham gia các tiện ích của máy tính như
mạng Intenet thì việc học trở nên khó khăn với sự thay đổi từng ngày của các
công nghệ cũng như kỹ thuật.
Để giải quyết tình trạng trên khoa CNTT trường Đại Học Kỹ Thuật Tp Hồ
Chi Minh đã cố gắng trang bò cho các phòng máy để tạo điều kiện cho các sinh
viên thựctập máy.
Nhưng vấn đề cũng phải đặt ra là làm sao tạo điều kiện tốt nhất cho các sinh
viên thựctập cũng như cũng như sử dụng hết công suất của phòng máy. Đồng
thời cũng cần phải quản lý một số lượng lớn các sinh viên của khoa ra vào phòng
máy để thựctập và bảo vệ cơ sở vật chất đã được trang bò mà ở đây là các máy
tính. Ngòai ra cũng cần phải giám sát chặt chẽ các họat động của sinh viên trong
phòng máy để ngăn ngừa tình trạng quấy phá máy server. Cuối cùng là khi phân
phối lòch đăngký của từng sinh viên cũng cần đảm bảo sự công bằng, hợp lý và
tính tự do của sinh viên.
2.Nhiệm vụ
Từ mục đích được nêu ra ở trên ta thấy cần thiết phải xâydựngmột chương
trình thựchiệnviệcđăngkýgiờthựctậpqua Web. Chươngtrình này phải có
tính năng như sau :
Đối với sinh viên chươngtrình phải cho phép sinh viên đăngký máy
và tự động phân phối máy cho sinh viên đó và trả kết quả về lại cho sinh
viên.
Và có những công cụ để trợ giúp người quản lý phòng máy theo dõi
được tiến trìnhthựctập của từng sinh viên cũng như quản lý các tình trạng
của các máy tính thuộc phòng máy.
Cung cấp một công cụ tự động để kiểm tra chính xác rằng một sinh
viên vào giờ đó đã thực hành đúng như lòch đăngký hay không.
Trong giới hạn của đề tài này chưa thựchiện phần tự động kiểm tra sinh viên
có được phép thựctậpđúnggiờ và đúng máy của mình hay không.
3.Các ứng dụng trên mạng Internet
3.a.Ích lợi của mạng Internet
Trao đổi dữ liệu đã trở thành một phần căn bản của nghành máy tính.
Trong giới khoa học thì trao đổi dữ liệu trên mạng cũng cần thiết bởi vì nó
cho phép các nhà khoa học gởi dữ liệu và chươngtrình đến một
supercomputer từ xa để xử lí, hoặc tìm kiếm kết quả và thựchiệnviệc trao
đổi thông tin của những người cùng quan tâm đến vấn đề khoa học. Trong nền
kinh tế hiện nay mạng máy tính ngày càng trở nên quan trọng với sự phát
triển của thương mại điện tử. Người ta có thể thựchiện các cuộc mua bán qua
mạng mà không cần phải tới siêu thò, thựchiện các giao dòch chuyển tiền
ngay tại nhà mình. Đối với lónh vực văn hóa, giáo dục và giải trí mạng máy
tính cũng cung cấp nhiều tiện ích ví dụ như dạy học từ xa, hoặc có thể
download một bài hát ưa thích về máy của mình hoặc thựchiện các cuộc trò
chuyện qua hay cũng có thể gởi thư cho một người nào đó bằng email.
3.b.Các ứng dụng trên mạng Internet
Sau đây sẽ giới thiệu về các ứng dụng được sử dụng rộng rãi trên mạng
Internet.
Thư điện tử ( Electronic mail )
Electronic mail cho phép người sử dụng sọan thảo một lá thư và gởi
chúng đến một cá nhân hay mộ nhóm người nào đó. Electronic mail cũng
cho phép người sử dụng đọc những lá thư của người khác gởi cho họ.
Truyền file ( File transfer )
Mặc dù thỉnh thoảng thì người sử dụng truyền file bằng cách sử dụng
electronic mail nhưng chỉ để gởi các file text ngắn. Dòch vụ truyền file cho
phép người sử dụng nhận và gởi một file chươngtrình hoặc dữ liệu lớn.
Hệ thống sẽ có cách để kiểm tra các người sử dụng được phép hoặc là
ngăn ngừa sự truy cập.
Remote login
Đây là một ứng dụng rất hay của mạng Internet, remote login cho
phép người sử dụng ngồi trên một máy và kết nối đén một máy từ xa và
thiết lập mộtquátrình login tương tác. Người sử dụng giao tiếp với máy
tính từ xa qua bàn phím và màn hình của mình còn các công việc tính toán
thì thựchiện trên máy mà họ kết nối vào.
World Wide Web – WWW
WWW là một kiến trúc cho phép truy cập vào các tài liệu liên kết
được phân bố rộng rãi trên hàng triệu máy tính trên mạng Internet. Các tài
liệu này cũng rất đa dạng từ những trang tài liệu thông thường cho đến
những hình ảnh âm thanh cũng như các công cụ để trao đổi dữ liệu qua
World Wide Web. Mô hình CGI được sử dụng để giao tiếp với Web
server cho phép mở rộng các chức năng của Web server.
Ứng dụng mà chúng em hiệnthực cũng là một ứng dụngWeb thực
hiện theo mô hình CGI. Nó cho phép một sinh viên thông qua mạng
Internet có thể thựcviệcđăngkýgiờthựctập của mình một cách dễ dàng.
Đồng thời cũng cho phép quản lý các thông tin về phòng máy và sinh
viên quaWeb đây là một hình thức quản trò cơ sở dữ liệu qua mạng.
PHẦN A PHÂN TÍCH
CHƯƠNG I CÁC VẤN ĐỀ CÓ LIÊN QUAN
1.Thực tế tình hình sử dụng máy tại khoa Công Nghệ Thông
Tin trường Đại Học Kỹ Thuật –Tp Hồ Chí Minh.
Hiện nay khoa có ba phòng máy dành cho sinh viên thực tập. Mỗi phòng máy
có khoảng 30 máy.
Các sinh viên thuộc khoa có làm Luận văn tốt nghiệp, Thựctập tốt
nghiệp hoặc Đồ án môn học, muốn sử dụng máy phải đăngký với người
quản lí phòng máy và được sắp xếp máy để sử dụng.
Các máy thuộc của khoa đều nối mạng nên việc sử dụng các phần
mềm khá dể dàng. Tuy nhiên về Hệ Điều Hành thì có một số máy có cài
Solaris(có cài Windows) và một số máy cài Windows(Không cài Solaris).
Mỗi sinh viên của khoa đều được cấp một account, sinh viên muốn sử
dụng được máy phải sử dụng account của mình (như ở phòng máy số 2),
tuy nhiên các máy ở phòng số 1, số 3 chưa làm được như vậy.
Hiện nay khoa có hệ thống các máy sử dụng NIS+ của Solaris để
quản lí account của sinh viên, sinh viên ngồi ở bất cứ máy nào trên hệ
thống máy của khoa đều có thể login vào với một account và đều sử dụng
một home, nên rất thuận tiện cho việcthựctập của sinh viên.
Việc quản lí số giờ sử dụng máy cho sinh viên hiện nay không đựoc
hợp lí nên có tình trạng một số sinh viên sử dụngquá số giờ cho phép của
sinh viên đó và ngược lại một số sinh viên không có máy sử dụng.
Số lượng sinh viên của khoa hiện nay rất nhiều , bao gồm nhiều loại
hình đào tạo (Chính Qui,Kỹ Sư 2,Giáo Viên ,Cao Đẳng).
Thời gian bắt đầu và kết thúc học kỳ của mỗi loại hình đào tạo (Chính
Qui, Kỹ Sư 2, Giáo Viên, Cao Đẳng) có sự chênh lệnh nên thời gian sử
dụng máy của mỗi loại hình đào tạo cũng khác biệt với nhau. Do đó
thường thì phòng máy luôn có nhóm sinh viên làm đề tài sử dụng máy cao
điểm một cách liên tục.
Tùy theo đề tài sinh viên đang làm thuộc loai hình gì (thực tập tốt
nghiệp ,luận văn tốt nghiệp,đồ án môn học) mà số giờ sử dụng máy sẽ
được cấp sẽ khác nhau.
Nếu trong cùng một khoảng thời gian 1 sinh viên làm cùng lúc 2 loại
hình (vừa thựctập tốt nghiệp và đồ án môn học) thì chỉ được tiêu chuẩn
máy của một loại hình có số giờ lớn hơn.
Không có sự ưu tiên giữa các loại hình đào tạo (Chính Qui, Kỹ Sư 2,
Giáo Viên, Cao Đẳng) về sự sắp xếp lòch đăngký cũng như số ca được
cấp giữa các loại hình đào tạo này.
Tuy nhiên có sự ưu tiên về số ca sử dụng máy giữa các loại hình Luận
văn tốt nghiệp, Thựctập tốt nghiệp, Đồ án môn học.
2.Các vấn đề cần đặt ra đối với mộtchươngtrìnhđăngký và
xếp máy cho sinh viên.
Sinh viên sử dụngchươngtrình để đăngký và được xếp máy nếu máy
còn trống.
Sau khi xếp máy cho sinh viên sẽ lưu các thông tin cần thiết vào
database, để hệ thống giám sát việc sử dụng máy của sinh viên sẽ truy
xuất database này và cho phép sử dụng nếu xét thấy việc login của sinh
viên đó là đúng.
Việc xếp máy cho sinh viên sao cho sinh viên ít phải thay đổi máy khi
sử dụng các ca liên tiếp.
Sau xếp máy cho sinh viên thì các máy còn lại có số ca trống ít bò phân
mảnh nhất.
Sinh viên đăngký được máy mình mong muốn (hệ điều hành và
chương trình chạy trên máy đó).
Sinh viên được phép thay đổi lòch đăngký của mình.
Administrator sẽ phân bổ tài nguyên có được như thế nào để đảm bảo
mọi sinh viên đều có thể sử dụng máy và tài nguyên của phòng máy được
sử dụng với hiệu suất cao nhất.
Administrator có một số công cụ để giám sát việc sử dụng máy của
sinh viên trước hoăc sau đó .
Administrator có thể thu hồi một số máy vào các thời điểm nhất đònh.
3.Một số khó khăn khi thựchiện các vấn đề trên
Thông thường mỗi đề tài mà sinh viên thựchiên ,sẽ được làm trên một
môi trường hệ điều hành nào đó và cần một số phần mềm nào đó. Tất nhiên
điều này sẽ ảnh hưởng đến việcđăngký máy thựctập của sinh viên ,chẳng
hạn sinh viên sẽ đăngký vào những máy có cài những chươngtrình mà sinh
viên cần để làm đề tài chứ không đăngký vào những máy không có chương
trình này. Như vậy để phân bổ máy thích hợp cho sinh viên chúng ta cần phải
lưu giữ các thông tin về mỗi máy, chẳng hạn như hệ điều hành, phần mềm
được cài đặt trên máy đó. Nhưng trên thực tế là chúng ta không biết trước sự
phân bổ chẳng hạn các đề tài yêu cầu về môi trường hệ điều hành cũng như
những phần mềm nào. Hơn nữa những điều này đối với mỗi máy có thể
thường xuyên thay đổi nên để lưu giữ và cập nhật những thông tin này vào
trong database là một điều hết sức khó khăn. Tuy nhiên chúng ta hoàn toàn
có thể tổ chức các máy theo cách mà hiện nay chúng ta đã làm ở phòng máy
số 2, đó là về hệ điều hành mỗi máy gồm có Windows và Solaris còn các
phần mềm ứng dụng đã được cài đặt sẵn trên Server, hoặc sinh viên có thể
cài đặt thêm các phần mềm mình cần sử dụng.
Vì vậy đề tài của chúng ta sẽ thựchiện trên giả thiết rằng :các máy là như
nhau về mọi mặt .
Do các học kỳ ở các loại hình đào tạo lệch nhau về thời gian bắt đầu
và kết thúc. Thường thì chu kỳ của các loại hình là một năm do đó ngay từ
đầu năm nếu Administrator không có thông tin về sinh viên sử dụng máy của
năm đó thì việc phân bổ giờthựctập sẽ không thể chính xác được.
Vấn đề sử dụng tài nguyên với hiệu suất cao nhất điều đó có nghóa là
tất cả các máy đều được sử dụng vào mọi thời điểm. Điều này dẫn đến vấn
đề khi có một nhóm sinh viên mới đăngký sử dụng máy thì phải có một số ca
máy nhất đònh còn trống cho nhóm đó (Thu hồi lại một số máy, khi tất cả các
máy đó điều đã có sinh viên sử dụng trước đó mà vẫn chưa hết thời gian thực
tập của các sinh viên đó).
Một giải pháp để phòng máy đạt hiệu suất cao là vào các thời điểm
phòng máy còn máy trống Administrator có thể cho phép các sinh viên đăng
ký sử dụng máy, tuy nhiên các máy này có thể bò thu hồi vào các thời điểm
cần thiết .
Để tạo sự linh động cho sinh viên đăngký (lòch đăngký ở các tuần có
thể khác nhau). Nếu sinh viên đăngký lại ở các tuần sau (lúc cao diểm của
phòng máy) có thể sẽ không được chấp nhận (do hết máy).
Như vậy tùy vào tình hình thực tế sử dụng máy mà sinh viên nên chọn
cách đăngký phù hợp (đăng ký đều ở các tuần hoặc đăngký dồn vào một số
tuần nhất đònh). Việc này hoàn toàn tùy thuộc vào sinh viên chứ bản thân
chương trình chỉ khuyến cáo cho sinh viên biết mà thôi.
Việc tính số ca sử dụng máy để phân bổ cho sinh viên chỉ đảm bảo
nếu tất cả các sinh viên đăngký đều đặn vào các tuần thì mọi sinh viên đều
có máy sử dụng.
Khi Administrator thu hồi máy vì một lý do nào đó. Bản thân chương
trình có thể tự động sắp xếp lại các máy, sinh viên sẽ bò xoá các ca có máy bò
thu hồi và sẽ được chuyển đến đăngký các máy khác. Lúc đó sinh viên sẽ
nhận được lòch mới hoặc login vào trang đăngký để biết lòch mới.
Nếu thời gian bắt đầu ,kết thúc của mỗi ca có sự thay đổi thì rất khó
khăn cho việc tìm kiếm các sinh viên sử dụng máy trong một khoảng thời gian
nào đó vì lúc này ta không thể biết các ca trước khi thay đổi có thời gian bắt
đầu, kết thúc bằng bao nhiêu.
Tập tin thể hiện mối liên quan giữa sinh viên làm đề tài được cung cấp
bởi phòng Đào Tạo của trường, tuy nhiên hiện nay format của các tập tin dữ
liệu này vẫn chưa được cung cấp một cách đầy đủ.
4.Các điều kiện cần thiết để xâydựngchương trình
Tất cả các máy là như nhau ,các sinh viên không cần phải đăng ký
phần mềm để sử dụng cũng như vò trí của phòng máy.
Có những đề tài phải sử dụng hai máy,sinh viên được phép sử dụng 2
máy (sẽ sắp xếp cho sinh viên hai máy), sinh viên không cần phải đăng ký
hai máy. Tuy nhiên số ca sử dụng của sinh viên thì vẫn được tính như là sử
dụng một máy
Mỗi tuần có 6 ngày sinh viên được thựctập ,mỗi ngày có 6 ca máy,
khoảng thời gian sử dụng máy của mỗi ca là 2 giờ. Ca đầu tiên bắt đầu từ 8h.
Vào đầu năm học Administrator phải có một số thông tin nhất đònh
các hệ số đối với từng loại hình (LVTN, ĐAMH, TTTN… ).
thời gian bắt đầu và kết thúc của từng loại hình (LVTN, ĐAMH, TTTN)
và khóa thựchiện (chính khóa).
số lượng sinh viên của từng loại hình (LVTN, ĐAMH, TTTN) và khóa
thực hiện (chính khóa).
số lượng máy hiện có.
Từ Database của phòng đào tạo Administrator có thể nhận được tập
tin dữ liệu theo một format biết trước. Điều này hoàn toàn có thể thực hiện
được vì hiện nay các DBMS điều có kèm theo các công cụ cho phép
Inport/Export các file dữ liệu vào database và ngược lại từ các file dữ liêu ta
có thể đưa vào các table (DBMS Oracle có kèm theo công cụ SQL *Loader ).
CHƯƠNG II PHÂN TÍCH VÀ ĐƯA RA GIẢI PHÁP
HIỆN THỰC
1.Phân tích chiến lược sắp xếp.
Khi nhận lòch đăngký của sinh viên chúng ta có thể:
Nhận lòch và tìm các máy trống thích hợp rồi sắp xếp
ngay.
Trong quátrình tìm hiểu và phân tích chúng em nhận thấy với cách sắp xếp
này có những điểm không hợp lí như sau:
Thông thường các sinh viên đều muốn đăngký sớm để được lòch đăng
ký hợp lí (không bò tách các ca đăngký liên tiếp trên một máy). Do đó có
thể xảy ra tình trạng vào đầu mỗi đợt thựctập sẽ có rất nhiều sinh viên
đăng ký (có thể đăngký tại phòng máy của khoa) nên rất lộn xộn.
Mặt khác với cách sắp xếp này nếu số lượng sinh viên đăngký cùng
một thời điểm nhiều sẽ dẫn đến tình trạng Web Server sẽ quá tải do nhận
quá nhiều yêu cầu từ Browser và thực thi các yêu cầu này. Có thể để giải
quyết việcđăngký đồng thời chúng ta phải dùngmột cơ chế lock các
table của database lại ,như vậy việcđăngký cho sinh viên sẽ bò chậm đi
rất nhiều.
Khi chúng ta sắp xếp cho một lòch đăngký của sinh viên thì chắc chắn
rằng việc sắp xếp như vậy sẽ không thể tối ưu được. Tuy chúng ta có thể
thực hiện công việc giải phân mảnh máy trống ở mỗi thời điểm trước khi
sắp xếp, nhưng kèm theo với công việc này là việc chúng ta phải thông
báo đến các sinh viên việc thay đổi máy của các sinh viên đó. Nếu việc
giải phân mảnh này thường xuyên xảy ra thì việc thông báo đến sinh viên
sẽ trở ngại (do sinh viên nhận được quá nhiều thông báo trong một ngày
về việc thay đổi máy).
[...]... cho phép đăngký (bắt đầu đăngký đến kết thúcđăng ký) thì sẽ được sắp xếp lòch đăngký vào cuối ngày kết thúcđăngký Với cách sắp xếp này chươngtrình sẽ nhận được nhiều lòch sau đó mới sắp xếp Trong thời gian chươngtrình sắp xếp nếu sinh viên đăngký sẽ không được xếp tức thời (cho dù sau thời điểm kết thúcđăng ký) mà chỉ nhận lòch đăngký mà thôi, việc nhận lòch đăngký thì không ảnh hưởng đến... hiện bằng ca và thứ trong tuần Một ngày có 6 ca và một tuần có 6 ngày thựctập như vậy trong một tuần có 36 ca.Ta đánh số ca từ 1 đến 36 để thể hiệnviệcđăngký của sinh viên trong 1 tuần Do đó mỗi sinh viên chỉ thực hiệnmột đề tài để đăngký sử dụng máy Mỗi đề tài thuộc một loại hình :luận văn tốt nghiệp ,thực tập tốt nghiệp , đồ án môn học … Mỗi đề tài được thựchiện bởi chính khóa sinh viên làm... nghiệp, đồ án môn học, thựctập tốt nghiệp ) Việcđăngký sử dụng máy của sinh viên dựa vào quan điểm : Sinh viên sẽ được cấp một số ca nhất đònh cho cả đợt thực tập, sinh viên được phép tuỳ ý đăngký trong số ca đó và trong thời gian cho phép thựctập Do đó có thể dẫn đến khả năng sinh viên không có máy để sử dụng vào một số tuần đăngký dồn, việc này rất khó giải quyết một cách triệt để vì đây... thể để trên một máy nào đó khác với Web Server Tạo ra được lòch sắp xếp hợp lý (lòch thựctập của sinh viên ít bò tách ra trên nhiều máy và sau khi sắp xếp các ca còn trông ít bò phân mảnh) Tạo tâm lý cho sinh viên đăngký không tập trung vào một thời điểm Việcđăngký của sinh viên có hai thời điểm quan trọng mà chúng ta cần chú ý đến đó là: Sinh viên đăngký trong đợt đăngkýthựctập quy đònh... các máy còn trống sau khi đăngký ít bò phân mảnh Đối với các trường hợp đăngký lần đầu cho một đợt thựctập ta nhận các lòch đăngký của sinh viên rồi sắp 1 lần Như vậy với giả thiết đó ta sẽ có các lòch đăngký của các sinh viên và các máy trống Để đảm bảo sắp xếp các ca liên tiếp (gọi là liên ca) cho sinh viên trên cùng một máy,ta sẽ thựchiệnviệc ánh xạ các liên ca đăngký của sinh viên vào các... nhau có thể đăngký đề tài của các khóa khác 2.Phân tích và đưa ra các mối quan hệ giữa các thực thể Hiện nay theo quy chế tín chỉ mỗi sinh viên có thể làm nhiều đề tài trong cùng một học kỳ Tuy nhiên khi đăngký sử dụng máy sinh viên chỉ được đăngký dựa theo tiêu chuẩn của đề tài nào có số ca cho phép sử dụng lớn nhất Việc thể hiệnmột ca đăngký của sinh viên trong một tuần được thể hiện bằng ca... mới đăngký của sinh viên chọn ra được liên ca (máy tương ứng) tốt nhất để đăngký cho sinh viên Lúc đăngký (thao tác INSERT vào TABLE dangky ) nếu nhận được mã lỗi trả về ( ràng buộc tính duy nhất –tức là đã có một sinh viên đăngký trước đó ) thì thựchiệnviệc chọn máy tiếp theo và tiếp tục đăngký cho đến lúc được mới thôi (nếu đã xét hết máy mà không đăngký được thì kết quả là không đăngký được)... hơn dư 3, chọ n liên ca 123456 7.a.Viết một số hàm chính bằng mã giả Dưới đây chỉ là đoạn chươngtrình bằng mã giả mô tả ý tưởng của giải thuật,tuy nhiên để hiện thựcchươngtrình cần thựchiện nhiều chươngtrình con ,và nhiều cấu trúc dữ liệu phức tạp để hổ trợ cho công việc sắp xếp Tổ chức dữ liệu Danh sách các sinh viên đăngký được sắp theo thứ tự đăngký của sinh viên(theo dạng các ca liên... đăngký sẽ xác đònh được các ca không đăngký được ngay tức thời và sẽ đăngký lại Chờ đến một thời gian nhất đònh rồi hãy sắp xếp Với cách sắp xếp này sinh viên sẽ không biết được các ca mà mình không đăngký được để từ đó đăngký lại (chỉ biết được sau một thời gian nhất đònh) Ưu điểm của cách sắp xếp này : Chúng ta hoàn toàn có thể chủ động cho việc sắp xếp vào giờ Server rảnh rỗi Chương trình. .. một lúc có thể cac sinh viên này đều được nhận được cùng một máy trống Tuy nhiên khi đăngký thì chỉ có một máy trông được đăngký mà thôi, ở đây vấn đề giao dòch đồng thời phải được giải quyết Khi sinh viên gởi lòch đăngký đến chương trình, chương trình sẽ so sánh và lấy ra được các ca sinh viên mới đăngký của sinh viên,các ca cũ không có trong lòch này sẽ bò xoá đi Lần lượt xét đến các ca mới đăng . phải xây dựng một chương
trình thực hiện việc đăng ký giờ thực tập qua Web. Chương trình này phải có
tính năng như sau :
Đối với sinh viên chương trình. cũng là một ứng dụng Web thực
hiện theo mô hình CGI. Nó cho phép một sinh viên thông qua mạng
Internet có thể thực việc đăng ký giờ thực tập của mình một cách