XÂY DỰNG PHẦN MỀM XEM ĐIỂM THI CỦA SINH VIÊN THEO MÔ HÌNH CLIENT SERVER

23 1.4K 14
XÂY DỰNG PHẦN MỀM XEM ĐIỂM THI CỦA SINH VIÊN THEO MÔ HÌNH CLIENT SERVER

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP. HCMKHOA CÔNG NGHỆ THÔNG TINBÁO CÁO ĐỒ ÁNXÂY DỰNG PHẦN MỀM XEM ĐIỂM THI CỦA SINH VIÊN THEO MÔ HÌNH CLIENT SERVERMôn học: LẬP TRÌNH MẠNGGiáo viên hướng dẫn: ĐẶNG NHÂN CÁCHThành viên của nhóm:1.Phan Quang Hà2.Trần Hữu Tài.3.Phạm Hồng Ân4.Phạm Quốc Tuấn5.Huỳnh Sơn TùngNăm học 2008 – 2009

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP. HCM KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN XÂY DỰNG PHẦN MỀM XEM ĐIỂM THI CỦA SINH VIÊN THEO MÔ HÌNH CLIENT SERVER Môn học: LẬP TRÌNH MẠNG Giáo viên hướng dẫn: ĐẶNG NHÂN CÁCH Thành viên của nhóm: 1. Phan Quang Hà 2. Trần Hữu Tài. 3. Phạm Hồng Ân 4. Phạm Quốc Tuấn 5. Huỳnh Sơn Tùng Năm học 2008 – 2009 Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 1 Mục lục Mục lục 2 1.Tóm tắt hệ thống:_____________________________________________________________________3 Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 2 Chương I: Giới thiệu 1. Tóm tắt hệ thống: -Nhu cầu hiện nay là tra cứu điểm kiểm tra, điểm thi kết thúc, điểm giữa kì của đông đảo sinh viên trong các trường ĐH-CĐ cũng như phụ huynh muốn biết điểm trong quá trình học tập của con em mình. -Hiện nay việc này thường được làm bằng tay như các khâu kiểm duyệt, in bảng điểm nên rất mất thời gian. Trung bình sinh viên cần chờ trong một ngày để nhận kết quả. -Dựa trên nhu cầu đó chúng tôi đã ra mắt phần mềm tra cứu điểm học tập trực tuyến này. Với chương trình này bạn có thể theo dõi điểm của sinh viên một cách dễ dàng và nhanh chóng. 2. Nguyên tắc nghiệp vụ: - Server được chạy trên máy server của trường, do cán bộ trường điều khiển. - Client là cài đặt trên các máy cá nhân, có kết nối với mạng của trường. Client gửi mã số sinh viên lên server và hiển thị kết quả trả về. 2.1 Use case Các use case của chương trình Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 3 2.2 Sequence Diagram Xem điểm thi ở client Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 4 Khởi động và đóng server Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 5 Tương tác giữa client và server 2.3 Cơ sở dữ liệu để quản lý thông tin học sinh Tại máy server, chúng ta tiến hành cài đặt cơ sở dữ liệu để quản lý điểm học sinh, ở đây dùng SQL server 2008. Sau khi phân tích các chức năng của hệ thống, nhóm chúng em đã tiến hành phân tích cơ sở dữ liệu và đưa ra 5 table như sau: 1. Table SINHVIEN bao gồm các thuộc tính sau: a. MSSV b. HOTEN c. QUEQUAN d. LOP (references MALOP) e. NGAYSINH 2. Table LOP bao gồm các thuộc tính sau: a. MALOP b. MAKHOA (references MAKHOA) 3. Table KHOA bao gồm các thuộc tính sau: a. MAKHOA Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 6 b. TENKHOA 4. Table MONHOC bao gồm các thuộc tính sau: a. MAMH b. TENMH 5. Table CHITIETMH bao gồm các thuộc tính sau: a. MASV (references MSSV từ table SINHVIEN) b. MAMH (references MAMH từ table MONHOC) c. DIEMTHILAN1 d. DIEMTHILAN2 Sơ đồ mối quan hệ giữa các table Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 7 Chương II: Cơ sở lý thuyết 1.Kết nối: -Kết nối client-server theo giao thức TCP dựa trên ngôn ngử C#. -Đối tượng kết nối cần hai thông số địa chỉ và cổng. -Server: +Class sử dụng: TcpListener,TcpClient. . TcpListener chấp nhận một kết nối tới và trả về kiểu TcpClient. .Hai class đều không có hàm send dữ liệu. TcpClient có hàm trả về dòng đọc ghi dữ liệu text. .Ngoài ra có thể sử dụng class Socket, có phương thức nhận và gữi chuổi byte. +Khởi tạo kết nối: TcpListener server = new TcpListener(IPAddress.Parse(ip_add_string), port); +Bắt đầu lắng nghe và chấp nhận kết nối từ client: server.Start(); TcpClient client = server.AcceptTcpClient(); .Client là socket kết nối tới máy khách. +Gữi nhận dữ liệu: .Dòng ghi đọc dữ liệu: StreamReader Sr = new StreamReader(client.GetStream()); StreamWriter Sw = new StreamWriter(client.GetStream()); .Thao tác gữi nhận: String ketqua = Sr.ReadLine(); Sw.WriteLine(“Thông tin cần gữi”); +Kết thúc và đóng kết nối: Server.Close(); -Client: +Class sử dụng: TcpClient. +Khởi tạo và kết nối: TcpClient client = new TcpClient();: IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(ip), 1234); client.Connect(ipe); .IPEndPoint chứa thông tin địa chỉ cần kết nối tới. .Có thể kết nối bằng các tham số khác như string address, int port, IPAddress. Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 8 +Gữi nhận dữ liệu: tương tự phía server. +Kết thúc và đóng kết nối: client.Close(); 2.Đa tiến trình: -Class sử dụng: System.Threading. -Một tiến trình được khởi tạo khi có một kết nối đến khi có một kết nối từ client đến. Tiến trình này phụ trách giao tiếp với client này. Thao tác gữi, nhận dữ liệu được thực hiện trên tiến trình này. -Khởi tạo: Thread thr = new Thread(new ThreadStart(Void ham_thread)); Thr.Start(); Ví dụ: thr = new Thread(new ThreadStart(ConnectionThread)); thr.Start(); -Kết thúc: Thr.Abort(); -Các hàm khác: Thr.Sleep(int time); Thr.Resume(); 3.Hàm ủy quyền: -Chức năng: ủy quyền cho một đối tượng khác thực hiện chức năng của đối tượng truyền. -Hàm ủy quyền được sử dụng khi chương trình cần một tiến trình khác thực hiện các hàm của nó (ví dụ: form cha cần nhận dữ liệu từ form con). -Trong phạm vi đề tài này, hàm ủy quyền được dùng để thực hiện hàm khi đang ở một thread khác. -Hàm được ủy quyền phải cùng dạng với khai báo của hàm ủy quyền (tham số và kiểu trả về). -Khai báo: [modifier] delagate (return_type) void_name(argurments); Ví dụ: private delegate void dlgAddStatus(string s); Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 9 -Truyền ủy quyền: truyền như một tham số khi khởi tạo đối tượng. Formcon mh = new Formcon(AddStatus); //AddStatus là một hàm được khai báo trên Formcha. -Sử dụng hàm ủy quyền: +Khai báo delagate đồng dạng hàm được ủy quyền. private delegate void dlgAddStatus(string s); +Khai báo biến delagate đại diện cho hàm. dlgAddStatus abc = AddStatus; //AddStatus là hàm được truyền trong tham số khởi tạo phía trên. -Khi đang ở một thread khác mà gọi hàm của thread khởi tạo ta cần : +Invoke delagate này tại thread chính. if (this.lstStatus.InvokeRequired) { //Thực thi hàm ủy quyền trên thread tạo ra hàm này. this.Invoke(new delagate_name(void_name), parameter[]); } +Ví dụ: if (this.lstStatus.InvokeRequired) { this.Invoke(new dlgAddStatus(AddStatus), s); } 4.Kết nối csdl: -Mô hình kết nối ADO.Net. -Các đối tượng và cách sử dụng: +Thư viện: System.Data System.Data.SqlClient + SqlConnection: tạo kết nối đến sql server. .Khởi tạo: SqlConnection sql_con = new SqlConnection(sql_string); //Sql_string: chuổi kết nối chứa thông tin server, database và đăng nhập. .Kết nối và đóng kết nối: sql_con.Open(); sql_con.Close(); Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 10 [...]... frmXemTT được khởi tạo, client gởi mã sinh viên lên server có IP đã nhập, nếu IP sai sẽ thông báo cho client, hoặc server chưa khởi chạy cũng sẽ thông báo và tắt client, yêu cầu mở lại client - Nếu kết nối tới server thành công, client sẽ chờ server trả về chuỗi thông báo là có truy xuất thông tin sinh viên với mã sinh đó được hay không, nếu được sẽ bắt đầu nhận lần lượt các thông tin cũng như điểm của. .. kết = “qlsv” Server= ”.”, user=”sa”, Kết nối Hiển thị MessageBox “Click Ok nối pass=”1234”, database thành công để chạy server. ”,“Kết nối thành Trả kết = “qlsv” Client send “sv1” Thông báo công” (pass) Client thông báo không tìm được quả cho cho client sinh viên (Pass) client không tìm thấy sinh viên Thống báo Client hiển thị bảng điểm của sinh quả cho tìm thấy và viên Phan Quang Hà (pass) client gữi... điểm của server và hiển thị lên frmXemTT, nếu không sẽ đóng frmXemTT, hiển thị lại frmClient, thông báo yêu cầu user kiểm tra và nhập lại mã sinh viên cho đúng Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 12 frmXemTT - Kết quả nhận được từ server đều được hiển thị đầy đủ trên frmXemTT, riêng Chương điểm, nếu điểm thi lần 2 không có hoặc chưa nhập sẽ thêm vào là chưa có dữ liệu 2 Server: - frmServer... bảng thứ i của dataset // dS.Tables[i].Rows[j].Columns : tập các cột trong dòng thứ j của bảng thứ i trong dataset Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 11 Chương III: Hiện thực chương trình 1 Client: - frmClient hiện ra khi khởi chạy client User sẽ nhập vào IP của server, nhập vào Mã sinh viên cần xem thông tin frmClient - Sau khi nhập xong sẽ nhấn nút Xem, frmClient đóng, hiện ra frmXemTT Trong... Quang Hà (pass) client gữi bảng Trả kết Client send “sv0005” điểm của sinh viên 1.2 Client: Test case Nhập ip Nhập ip Input value Expect Output value “ip_máy server value Báo lổi Client thông báo: “Ip sai Đóng “127.0.0.1” nhập sai ip Kết nối Client. ” (pass) Client kết nối đến server và gữi Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 15 msv cho server (pass) Client hiển thông báo: “Không tìm thấy... khởi chạy server Ấn nút Start, nhập thông tin cần thi t cho Chương kết nối database, kiểm tra kết nối và đóng form Sau đó chờ cho client kết nối đến Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 20 Hình 5.2.1 Chạy server Hình 5.2.1 Server chờ đợi kết nối 2.3 Client Client cài đặt bằng file setup.exe trong thư mục cài đặt, sau đó chạy xemdiemClient.exe trong thư mục cài đặt, nhập IP của server (!?),... SQL Server 2008 -Vào thư mục Setup \Server double click setup.exe click Install để hoàn thành cài đặt server Hình 5.1.1 Cài đặt server Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 17 -Vào thư mục Setup \Client double click setup.exe click Install để hoàn thành cài đặt client Hình 5.1.2 Cài đặt client Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 18 2.Sử dụng: 2.1 Cài đặt cơ sở dữ liệu trên server. .. từ client, tao ra 2 dòng dữ liệu gởi và nhận Khi đã có kết nối sẽ nhận mã sinh viên từ client gởi lên, dùng mã sinh viên đó truy vấn thông tin sinh viên từ cơ sở dữ liệu, đưa vào dataset Nếu dataset không có dữ liệu thì gởi chuỗi “false” về client, còn có thì gởi chuỗi “true” sau đó gởi lần lượt từ dữ liệu trong bảng dữ liệu của dataset trên về client Khi gởi xong tất cả sẽ đóng luôn kết nối với client. .. “msv_01” thành công Không tìm thấy mã sinh viên. ” (pass) tin sinh Client hiển thị bảng điểm của thông tin Nhập msv “sv0005” viên này Hiển thị Phan Quang Hà (pass) sinh viên sv0005 2.Nhận xét: -Không có từng test case riêng cho các thông tin trong chuổi kết nối vì chỉ test được tính đúng sai của chuổi kết nối -Chưa có biện pháp test hàm getDS(string msv) Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING... nhập mã sinh viên cho đúng sau đó nhấn OK để xem kết quả mà server gởi về Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 21 Hình 5.2.1 Thực thi tại client Đồ án môn LẬP TRÌNH MẠNG – NETWORK PROGRAMMING 22 Chương VI: Tổng kết -Chương trình có thể phát triển thêm các các nội dung sau: +Form nhập kết nối thân thi n hơn, cho phép người dùng chọn database từ cơ sở dữ liệu +Công cụ quản lý thông tin sinh (Thêm,

Ngày đăng: 16/10/2014, 12:52

Từ khóa liên quan

Mục lục

  • Mục lục

    • 1. Tóm tắt hệ thống:

Tài liệu cùng người dùng

Tài liệu liên quan