Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN ---------- VŨ LÊ THỤC NHI XÂY DỰNG HỆ THỐNG QUẢN LÝ THI CÔNG CHỨC VIÊN CHỨC TỈNH QUẢNG NAM KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 04 năm 2017 UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN --------- KHÓA LUẬN TỐT NGHIỆP Tên đề tài: XÂY DỰNG HỆ THỐNG QUẢN LÝ THI CÔNG CHỨC VIÊN CHỨC TỈNH QUẢNG NAM Sinh viên thực hiện: VŨ LÊ THỤC NHI MSSV: 2113021027 CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN KHÓA: 2013 – 2017 Cán bộ hướng dẫn ThS. NGUYỄN VĂN KHƯƠNG Quảng Nam, ngày 14 tháng 04 năm 2017 LỜI CẢM ƠN Lời đầu tiên, em xin chân thành cảm ơn quý thầy cô trong khoa Công nghệ thông tin cũng như các quý thầy cô đang giảng dạy và công tác tại trường Đại học Quảng Nam đã truyền đạt những kiến thức quý báu cho chúng em trong những năm học vừa qua. Đặc biệt, em xin chân thành cảm ơn Thầy giáo ThS. Nguyễn Văn Khương khoa Công nghệ thông tin, trường đại học Quảng Nam đã tận tình hướng dẫn, giúp đỡ và động viên em trong suốt thời gian thực hiện khoá luận tốt nghiệp. Để có được kết quả như ngày hôm nay, em rất biết ơn gia đình đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất trong suốt quá trình học tập cũng như quá trình thực hiện đề tài khoá luận này. Và cũng xin chân thành cám ơn các bạn sinh viên trong khoa Công nghệ thông tin khóa K13, đặc biệt là các bạn lớp DT13CTT01 đã ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được trong quá trình nghiên cứu. Một lần nữa xin chân thành cám ơn Quảng Nam, ngày 04 tháng 04 năm 2017 Sinh viên thực hiện Vũ Lê Thục Nhi MỤC LỤC PHẦN I: MỞ ĐẦU .............................................................................................. 1 1. LÝ DO CHỌN ĐỀ TÀI .................................................................................... 1 2. MỤC TIÊU CỦA ĐỀ TÀI ................................................................................ 1 3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU .................................................. 1 4. PHƯƠNG PHÁP NGHIÊN CỨU ..................................................................... 2 5. CẤU TRÚC ĐỀ TÀI ......................................................................................... 2 PHẦN II: NỘI DUNG ......................................................................................... 3 CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG CỦA HỆ THỐNG VÀ XÁC LẬP DỰ ÁN ......................................................................................................... 3 1.1. KHẢO SÁT HIỆN TRẠNG ........................................................................ 3 1.2. XÁC LẬP DỰ ÁN ........................................................................................ 7 1.2.1. Hạn chế của hệ thống hiện tại ..................................................................... 7 1.2.2. Yêu cầu (mục tiêu) của hệ thống mới ......................................................... 7 1.2.3. Các giải pháp và tính khả thi ....................................................................... 7 1.3. PHẠM VI VÀ HẠN CHẾ CỦA DỰ ÁN .................................................... 8 1.3.1. Phạm vi ........................................................................................................ 8 1.3.2. Hạn chế ........................................................................................................ 8 1.4. KẾ HOẠCH TRIỂN KHAI DỰ ÁN........................................................... 8 1.4.1. Dự kiến ........................................................................................................ 8 1.4.2. Điều kiện mua và lắp đặt thiết bị ................................................................ 8 1.4.3. Công tác huấn luyện sử dụng HT ................................................................ 8 1.4.4. Công việc bảo trì ......................................................................................... 8 1.4.5. Kế hoạch triển khai dự án ........................................................................... 9 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ................................................................ 10 2.1. MICROSOFT VISUAL STUDIO 2013.................................................... 10 2.2. NGÔN NGỮ C .......................................................................................... 10 2.2.1. Giới thiệu ................................................................................................... 10 2.2.2. Ngôn ngữ C và các ngôn ngữ khác ......................................................... 13 2.2.3. Các kiểu dữ liệu......................................................................................... 15 2.2.4. Các toán tử................................................................................................. 16 2.2.5. Cấu trúc rẽ nhánh ...................................................................................... 19 2.3. NGÔN NGỮ SQL ....................................................................................... 21 2.3.1. Giới thiệu ................................................................................................... 21 2.3.2. Cấu trúc lệnh ............................................................................................. 22 CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ............................ 24 3.1. PHÂN TÍCH CHỨC NĂNG ..................................................................... 24 3.1.1. Biểu đồ phân cấp chức năng FDD ............................................................ 24 3.1.2. Mô tả chi tiết chức năng ............................................................................ 24 3.1.3. Biểu đồ ngữ cảnh (biểu đồ DFD ở mức ngữ cảnh) ................................... 25 3.1.4. Biểu đồ DFD ở mức đỉnh .......................................................................... 25 3.1.5. Biểu đồ DFD ở mức dưới đỉnh ................................................................. 25 3.2. THIẾT KẾ HỆ THỐNG ............................................................................ 27 3.2.1. Biểu đồ thực thể-mối quan hệ ER ............................................................. 27 3.2.1.1. Đặc tả các thực thể ................................................................................. 27 3.2.1.2. Biểu đồ ER ............................................................................................. 28 3.2.2. Chuyển từ mô hình ER về mô hình R ....................................................... 29 3.2.3. Cơ sở dữ liệu của hệ thống ở mức vật lý .................................................. 30 3.2.5. Bảng cơ sở dữ liệu ..................................................................................... 30 CHƯƠNG 4: CHƯƠNG TRÌNH DEMO ....................................................... 38 4.1. CÔNG CỤ TRIỂN KHAI .......................................................................... 38 4.2 CÁC CHỨC NĂNG ĐƯỢC CÀI ĐẶT TRONG CHƯƠNG TRÌNH .... 38 4.3. MỘT SỐ GIAO DIỆN CỦA CHƯƠNG TRÌNH DEMO ...................... 39 PHẦN III: KẾT LUẬN ..................................................................................... 51 TÀI LIỆU THAM KHẢO ................................................................................ 52 DANH MỤC HÌNH ẢNH Hình 1.1. Danh sách thí sinh đăng ký dự thi ......................................................... 3 Hình 1.2. Bảng ghi tên thí sinh ............................................................................. 4 Hình 1.3. Danh sách thí sinh dự thi ....................................................................... 4 Hình 1.4. Giấy báo dự thi ...................................................................................... 5 Hình 1.5. Danh sách thí sinh nộp bài .................................................................... 6 Hình 3.1: Biểu đồ phân cấp chức năng ............................................................... 24 Hình 3.2: Biểu đồ DFD ở mức ngữ cảnh ............................................................ 25 Hình 3.3: Biểu đồ DFD ở mức đỉnh .................................................................... 25 Hình 3.4: Biểu đồ DFD ở mức dưới đỉnh Cập nhập dữ liệu ............................... 25 Hình 3.5: Biểu đồ DFD ở mức dưới đỉnh Xử lý trước khi thi ............................ 26 Hình 3.6: Biểu đồ DFD ở mức dưới đỉnh Xử lý vòng 1 ..................................... 26 Hình 3.7: Biểu đồ DFD ở mức dưới đỉnh Xử lý vòng 2 ..................................... 26 Hình 3.8: Biểu đồ DFD ở mức dưới đỉnh Thống kê ........................................... 27 Hình 3.9. Biểu đồ E-R ......................................................................................... 28 Hình 3.10. Mô hình R.......................................................................................... 29 Hình 3.11. Mô hình quan hệ................................................................................ 30 Hình 4.1. Giao diện chức năng đăng nhập .......................................................... 39 Hình 4.2. Giao diện chính của chương trình ....................................................... 39 Hình 4.3. Giao diện cập nhập dữ liệu thí sinh của chức năng cập nhập ............. 40 Hình 4.4. Giao diện ngành dự tuyển của chức năng cập nhập ............................ 40 Hình 4.5. Giao diện chuyên ngành đào tạo của chức năng cập nhập ................. 41 Hình 4.6. Giao diện chức năng cập nhập đơn vị dự tuyển .................................. 41 Hình 4.7. Giao diện vị trí việc làm của chức năng cập nhập .............................. 42 Hình 4.8. Giao diện chức năng cập nhập phòng thi ............................................ 42 Hình 4.9. Giao diện địa điểm thi của chức năng cập nhập ................................. 43 Hình 4.10. Giao diện bố trí phòng thi của chức năng xử lý trước khi thi ........... 43 Hình 4.11. Giao diện phân phòng thi của chức năng xử lý trước khi thi............ 44 Hình 4.12. Giao diện danh sách thí sinh theo phòng của chức năng xử lý trước khi thi ................................................................................................................... 45 Hình 4.13. Giao diện thông tin cho thí sinh của chức năng xử lý trước khi thi.. 45 Hình 4.14. Giao diện nhập danh sách nộp bài của chức năng xử lý thi vòng 1.. 46 Hình 4.15. Giao diện nhập điểm của chức năng xử lý thi vòng 1 ...................... 47 Hình 4.16. Giao diện xem điểm của chức năng xử lý thi vòng 1 ....................... 47 Hình 4.17. Giao diện phân phòng thi của chức năng xử lý thi vòng 2 ............... 48 Hình 4.18. Giao diện nhập danh sách nộp bài của chức năng xử lý thi vòng 2.. 48 Hình 4.19. Giao diện nhập điểm của chức năng xử lý thi vòng 2 ...................... 49 Hình 4.20. Giao diện xem điểm của chức năng xử lý thi vòng 2 ....................... 49 Hình 4.21. Giao diện chức năng TK số lượng thí sinh dự tuyển các đơn vị ...... 50 Hình 4.22. Giao diện chức năng TK số lượng thí sinh dự tuyển các ngành ....... 50 DANH MỤC BẢNG Bảng 1.1. Bảng phân công nhiệm vụ và tiến độ thực hiện : ................................. 9 Bảng 2.1: Kiểu dữ liệu xây dựng sẵn .................................................................. 15 Bảng 2.2: Các nhóm toán tử trong C................................................................. 17 Bảng 2.3: Thứ tự ưu tiên của các nhóm toán tử .................................................. 18 Bảng 3.1. CSDL bảng dangnhap ......................................................................... 30 Bảng 3.2. CSDL bảng ma nghach cong chuc ..................................................... 31 Bảng 3.3. CSDL bảng ma nganh du tuyen .......................................................... 31 Bảng 3.4. CSDL bảng ma trinh do chuyen mon ................................................. 31 Bảng 3.5. CSDL bảng chuyen nghanh dao tao ................................................... 32 Bảng 3.6. CSDL bảng ma vi tri viec lam ............................................................ 32 Bảng 3.7. CSDL bảng dia diem thi ..................................................................... 33 Bảng 3.8. CSDL bảng phong thi2 ....................................................................... 33 Bảng 3.9. CSDL bảng ma dien uu tien ............................................................... 33 Bảng 3.10. CSDL bảng phong thi ....................................................................... 34 Bảng 3.11. CSDL bảng nhap du lieu................................................................... 34 Bảng 3.12. CSDL bảng ca thi.............................................................................. 35 Bảng 3.13. CSDL bảng ma dan toc ..................................................................... 36 Bảng 3.14. CSDL bảng don vi du tuyen ............................................................. 36 Bảng 3.15. CSDL bảng bang diem...................................................................... 36 DANH MỤC TỪ VIẾT TẮT Từ viết tắt Từ viết đầy đủ CNTT Công Nghệ Thông Tin CSDL Cơ Sở Dữ Liệu HT Hệ Thống QL Quản Lý ĐH Đại Học FDD Function Decomposition Diagram BFD Business Function Diagram DFD Data Flow Diagram ER Entity Relationship CN Cập nhập DS Danh sách TK Thống kê 1 PHẦN I: MỞ ĐẦU 1. LÝ DO CHỌN ĐỀ TÀI Hoạt động của quản lý hồ sơ công chức viên chức Tỉnh Quảng Nam luôn bị chi phối bởi nhiều vần đề trong đó thi công chức viên chức là một yếu tố quan trọng quyết định đến sự tồn tại và phát triển của đội công chức viên chức trên địa bàn Tỉnh, vì thế quản lý thi công chức viên chức là một đề tài mà gần như tất cả các Tỉnh đều quan tâm đến, bởi nó là tương lai sau này. Để trở thành một người quản lý thi công chức viên chức khôn khéo thì người làm công tác quản lý luôn luôn cần phải nắm rõ lý lịch, quá trình công tác, khen thưởng, kỷ luật của từng đối tượng để kịp thời báo cáo với cấp trên xem xét có đủ điều kiện để được thi công chức viên chức hay không. Hiện nay công tác quản lý thi công chức viên chức Tỉnh Quảng Nam đã được cũng cố. Tuy nhiên, công tác quản lý vẫn còn rất nhiều hạn chế và gặp nhiều khó khăn. Công việc quản lý được làm bằng giấy, sổ sách. Việc quản lý như thế sẽ làm hư hại hoặc thất thoát hồ sơ; công việc cập nhật và bổ sung thông tin của hồ sơ sẽ mất nhiều thời gian, công sức và tính chính xác không cao. Qua đó, ta thấy rằng vấn đề quản lý thi công chức viên chức luôn luôn là một vấn đề cấp thiết do đó em chọn đề tài “ xây dựng hệ thống quản lý thi công chức viên chức Tỉnh Quảng Nam ” để làm đề tài khoá luận tốt nghiệp. Chương trình quản lý thi công chức, viên chức này được viết dưới dạng một phần mềm tin học với mục đích quản lý thí sinh, phòng thi, điểm thi... 2. MỤC TIÊU CỦA ĐỀ TÀI Giúp tận dụng một cách hiệu quả nguồn năng lực, tiết kiệm công sức, thời gian đồng thời hạn chế sai sót trong hoạt động quản lý. 3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU - Đối tượng nghiên cứu: Thi công chức, viên chức. - Phạm vi nghiên cứu: Tỉnh Quảng Nam 2 4. PHƯƠNG PHÁP NGHIÊN CỨU - Phương pháp quan sát - Phương pháp phỏng vấn - Tìm hiểu, thu thập những tài liệu, thông tin từ đó tổng hợp, phân tích, kiểm tra đối chiếu, chọn lọc và đưa ra những thông tin có tính chính xác. - Trao đổi với giảng viên hướng dẫn. 5. CẤU TRÚC ĐỀ TÀI Nội dung nghiên cứu của đề tài này gồm 4 chương như sau: Chương 1: Khảo sát hiện trạng của hệ thống và xác lập dự án Chương 2: Cơ sở lý thuyết Chương 3: Phân tích và thiết kế hệ thống Chương 4: Chương trình demo 3 PHẦN II: NỘI DUNG CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG CỦA HỆ THỐNG VÀ XÁC LẬP DỰ ÁN 1.1. KHẢO SÁT HIỆN TRẠNG Hiện nay, các công tác chuẩn bị để thi tuyển công chức viên chức của tỉnh Quảng Nam đều được thao tác bằng tay, sử dụng công cụ chính là Excel để quản lý thông tin hồ sơ thí sinh, phòng thi, điểm… + Quản lý thí sinh đăng ký dự thi: Ngay sau khi nhận được thông báo thi tuyển công chức, viên chức từ UBND Tỉnh Quảng Nam, các thí sinh có nhu cầu sẽ làm hồ sơ đăng ký dự tuyển. Khi hết thời gian đăng ký, nhân viên sẽ tổng hợp danh sách các thí sinh đã đăng ký dự thi (gồm số thứ tự, họ tên, ngày sinh, giới tính, địa chỉ, số điện thoại,…). Từ bảng danh sách tổng hợp này, nhân viên sẽ lọc ra các thí sinh dự tuyển theo tên đơn vị dự tuyển và ngành dự tuyển. Hình 1.1. Danh sách thí sinh đăng ký dự thi 4 + Quản lý phòng thi: Từ danh sách thí sinh đã đăng ký dự thi, nếu các thí sinh đều đủ điều kiện để dự thi thì nhân viên chia thí sinh dự thi theo phòng thi. Hình 1.2. Bảng ghi tên thí sinh Sau đó phân các thí sinh dự thi này theo từng ca thi và địa điểm thi sao cho thích hợp Hình 1.3. Danh sách thí sinh dự thi 5 Sau đó, nhân viên sẽ gửi giấy báo dự thi tới địa chỉ mà thí sinh đã đăng ký trước đó. Nội dung chính trong giấy boá dự thi gồm tên thí sinh, ngày sinh, ngành dự tuyển, thuộc đơn vị, thời gian thi, phòng thi, ca thi, địa điểm thi,… Hình 1.4. Giấy báo dự thi + Quản lý danh sách thí sinh nộp bài. Theo lịch thi (gồm môn thi, thời gian thi, ca thi,…) các thí sinh nhận được giấy báo phải trình diện trước phòng thi vào đúng thời gian đã quy định. Sau khi thi xong, thí sinh phải ghi rõ số tờ đã nộp và ký vào danh sách nộp bài thì bài thi mới được cho là hợp lệ, các bài thi vi phạm quy chế, hay không ký vào danh sách nộp bài thì bị cho là không hợp lệ. Trong kỳ thi tuyển công chức, viên 6 chức, mỗi thí sinh đêu phải trải qua 2 vòng thi, vòng thi thứ nhất gồm có 3 môn thi, nếu tổng điểm của 3 môn đều đạt (theo quy định) thì thí sinh mới được phép vào thi vòng 2. Sau khi vòng 2 kết thúc, các đơn vị tuyển sinh sẽ dựa vào tổng điểm của mỗi thí sinh để đưa ra quyết định thí sinh đậu hay rớt để tuyển dụng vào. Hình 1.5. Danh sách thí sinh nộp bài Sau khi hoàn thành xong kỳ thi, các thí sinh sẽ đợi một thời gian để giáo viên chấm điểm và sẽ công bố điểm cho các thí sinh vào thời gian quy định. Các thí sinh sẽ nhận được kết quả từ các đơn vị tuyển dụng khi họ có kết luận cuối cùng. 7 1.2. XÁC LẬP DỰ ÁN 1.2.1. Hạn chế của hệ thống hiện tại - Hệ thống quản lý mang tính thủ công. - Hệ thống quản lý không chặt chẽ, qua nhiều giai đoạn chồng chéo làm tốn kém thời gian, gây khó khăn trong việc báo cáo, thống kê, in ấn. - Dễ nhầm lẫn, sai sót trong quá trình quản lý. 1.2.2. Yêu cầu (mục tiêu) của hệ thống mới - Yêu cầu quản lý: + Cập nhập thông tin. + Phân phòng. + Nhập điểm + Xử lý điểm + Xét tuyển dụng - Yêu cầu cho phép của hệ thống: + Thống kê. + In ấn. - Yêu cầu tìm kiếm thông tin mà người dùng cần tìm. 1.2.3. Các giải pháp và tính khả thi Hệ thống phải đáp ứng được các yêu cầu sau: + Nhanh chóng, chính xác, tiết kiệm thời gian cho người quản lý, đem lại hiệu quả cao. + Tự động hoá được mỗi bước trong lưu trữ và xử lý thống tin. + Đáp ứng được đầy đủ thông tin, chính xác, kịp thời. + Thuận tiện trong việc thống kê, in ấn. + Tiết kiệm được nhân lực. + Dễ sử dụng. 8 1.3. PHẠM VI VÀ HẠN CHẾ CỦA DỰ ÁN 1.3.1. Phạm vi Quản lý thi công chức viên chức tỉnh Quảng Nam. 1.3.2. Hạn chế + Hạn chế về nhân lực: Số lượng thành viên tham gia dự án còn hạn chế. + Hạn chế về thời gian 1.4. KẾ HOẠCH TRIỂN KHAI DỰ ÁN 1.4.1. Dự kiến Từ ngày 06-02-2017 đến ngày 02-04-2017 1.4.2. Điều kiện mua và lắp đặt thiết bị Thiết bị cần có: Máy vi tính thông dụng làm việc ở các văn phòng (Do phần mềm chiếm khá nhiều tài nguyên nên đòi hỏi máy tính có cấu hình càng cao càng tốt). 1.4.3. Công tác huấn luyện sử dụng HT Sau khi triển khai, thực hiện, hoàn thành dự án chúng tôi sẽ sắp xếp tổ chức một buổi huấn luyện truyền đạt cách sử dụng và các kỹ năng cần thiết để sử dụng phần mềm một cách hiệu quả nhất. 1.4.4. Công việc bảo trì Sau khi hoàn thành, phần mềm cần phải được kiểm thử theo từng năm. Bảo trì và tiến hành sửa chữa, bổ sung nếu có thay đổi . 9 1.4.5. Kế hoạch triển khai dự án Bảng 1.1. Bảng phân công nhiệm vụ và tiến độ thực hiện : Thời gian Công việc thực hiện Thành viên thực hiện Tiến độ thực hiện 06-02-2017 đến 20-02-2017 Khảo sát hiện trạng và xác lập dự án. Vũ Lê Thục Nhi Đã khảo sát xong 20-02-2017 đến 10-03-2017 Phân tích chức năng của hệ thống. Vũ Lê Thục Nhi Đã xong. Xây dựng biểu đồ chức năng nghiệp vụ và biểu đồ luồng dữ liệu. 10-03-2017 đến 25-03-2017 Phân tích dữ liệu và thiết kế hệ thống. Vũ Lê Thục Nhi Đã xong và thu được biểu đồ luồng dữ liệu của hệ thống 25-03-2017 đến 30-04-2017 Lập trình - chạy thử - bảo trì hệ thống. Vũ Lê Thục Nhi (Khi có yêu cầu từ khách hàng mới tham gia bảo trì) 10 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1. MICROSOFT VISUAL STUDIO 2013 - Microsoft visual studio 2013 là một môi trường rất mạnh và được thiết kế rất tốt. - Với môi trường VS 2013, có thể thực hiện các công việc: + Thiết kế CSDL. + Thiết kế giao diện ứng dụng. + Thiết kế web. + Thiết kế biểu tượng, hình ảnh. + Viết mã cho hầu hết các ngôn ngữ: VB.NET, C, CC++, Java, HTML, XML,… - Các phiên bảng phổ biến của VS 2013: + Visual Studio 2013 Express: là một phiên bản nhỏ gọn nhưng khá đầy đủ các tính năng, phiên bản này có thể tải về miễn phí từ website của Microsoft. + Visual Studio 2013 Professional: là phiên bản với đầy đủ các tính năng thích hợp cho các doanh nghiệp. Phần mềm này có tính phí bản quyền của Microsoft. + Visual Studio 2013 Ultimate: là phiên bản đầy đủ nhất, phù hợp với cá nhân và doanh nghiệp. Tuy nhiên phiên bản này khá nặng, đỏi hỏi cấu hình máy đủ mạnh để chạy chương trình. Phần mềm này cũng tính phí bản quyền của Microsoft. 2.2. NGÔN NGỮ C 2.2.1. Giới thiệu Ngôn ngữ C là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nó được tạo từ nền tảng phát triển hơn. Microsoft bắt đầu với công việc trong C và C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn. 11 Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java. Không dừng lại ở đó, Microsoft đưa ra một số mục đích khi xây dựng ngôn ngữ này. Những mục đích này được được tóm tắt như sau: - C là ngôn ngữ đơn giản C loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và C++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual base class). Chúng là những nguyên nhân gây ra sự nhầm lẫn hay dẫn đến những vấn đề cho các người phát triển C++. Nếu chúng ta là người học ngôn ngữ này đầu tiên thì chắc chắn là ta sẽ không trải qua những thời gian để học nó Nhưng khi đó ta sẽ không biết được hiệu quả của ngôn ngữ C khi loại bỏ những vấn đề trên. Ngôn ngữ C đơn giản vì nó dựa trên nền tảng C và C++. Nếu chúng ta thân thiện với C và C++ hoậc thậm chí là Java, chúng ta sẽ thấy C khá giống về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn. Một vài trong các sự cải tiến là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi. Để biết khi nào dùng ba toán tử này cũng phức tạp và dễ nhầm lẫn. Trong C, chúng được thay thế với một toán tử duy nhất gọi là . (dot). Đối với người mới học thì điều này và những việc cải tiến khác làm bớt nhầm lẫn và đơn giản hơn. Ghi chú: Nếu chúng ta đã sử dụng Java và tin rằng nó đơn giản, thì chúng ta cũng sẽ tìm thấy rằng C cũng đơn giản. Hầu hết mọi người đều không tin rằng Java là ngôn ngữ đơn giản. Tuy nhiên, C thì dễ hơn là Java và C++. - C là ngôn ngữ hiện đại Những đặc tính như là xử lý ngoại lệ, thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng, và bảo mật mã nguồn là những đặc tính được mong đợi trong một ngôn ngữ hiện đại. C chứa tất cả những đặc tính trên. Nếu là người mới học lập trình có thể chúng ta sẽ cảm thấy những đặc tính trên phức tạp và 12 khó hiểu. Tuy nhiên, cũng đừng lo lắng chúng ta sẽ dần dần được tìm hiểu những đặc tính qua các chương trong cuốn sách này. Ghi chú: Con trỏ được tích hợp vào ngôn ngữ C++. Chúng cũng là nguyên nhân gây ra những rắc rối của ngôn ngữ này. C loại bỏ những phức tạp và rắc rối phát sinh bởi con trỏ. Trong C, bộ thu gom bộ nhớ tự động và kiểu dữ liệu an toàn được tích hợp vào ngôn ngữ, sẽ loại bỏ những vấn đề rắc rối của C++. - C là ngôn ngữ hướng đối tượng Những đặc điểm chính của ngôn ngữ hướng đối tượng (Object-oriented language) là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình (polymorphism). C hỗ trợ tất cả những đặc tính trên. - C là ngôn ngữ mạnh mẽ và cũng mềm dẻo Ngôn ngữ C chỉ bị giới hạn ở chính bởi bản thân hay là trí tưởng tượng của chúng ta. Ngôn ngữ này không đặt những ràng buộc lên những việc có thể làm. C được sử dụng cho nhiều các dự án khác nhau như là tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bản tính, hay thậm chí những trình biên dịch cho các ngôn ngữ khác. - C là ngôn ngữ ít từ khóa C là ngôn ngữ sử dụng giới hạn những từ khóa. Phần lớn các từ khóa được sử dụng để mô tả thông tin. Chúng ta có thể nghĩ rằng một ngôn ngữ có nhiều từ khóa thì sẽ mạnh hơn. Điều này không phải sự thật, ít nhất là trong trường hợp ngôn ngữ C, chúng ta có thể tìm thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào. Bảng sau liệt kê các từ khóa của ngôn ngữ C. - C là ngôn ngữ hướng module Mã nguồn C có thể được viết trong những phần được gọi là những lớp, những lớp này chứa các phương thức thành viên của nó. Những lớp và những phương thức có thể được sử dụng lại trong ứng dụng hay các chương trình khác. 13 Bằng cách truyền các mẫu thông tin đến những lớp hay phương thức chúng ta có thể tạo ra những mã nguồn dùng lại có hiệu quả. - C sẽ là một ngôn ngữ phổ biến C là một trong những ngôn ngữ lập trình mới nhất. Vào thời điểm cuốn sách này được viết, nó không được biết như là một ngôn ngữ phổ biến. Nhưng ngôn ngữ này có một số lý do để trở thành một ngôn ngữ phổ biến. Một trong những lý do chính là Microsoft và sự cam kết của .NET Microsoft muốn ngôn ngữ C trở nên phổ biến. Mặc dù một công ty không thể làm một sản phẩm trở nên phổ biến, nhưng nó có thể hỗ trợ. Cách đây không lâu, Microsoft đã gặp sự thất bại về hệ điều hành Microsoft Bob. Mặc dù Microsoft muốn Bob trở nên phổ biến nhưng thất bại. C thay thế tốt hơn để đem đến thành công sơ với Bob. Thật sự là không biết khi nào mọi người trong công ty Microsoft sử dụng Bob trong công việc hằng ngày của họ. Tuy nhên, với C thì khác, nó được sử dụng bởi Microsoft. Nhiều sản phẩm của công ty này đã chuyển đổi và viết lại bằng C. Bằng cách sử dụng ngôn ngữ này Microsoft đã xác nhận khả năng của C cần thiết cho những người lập trình. Micorosoft .NET là một lý do khác để đem đến sự thành công của C. .NET là một sự thay đổi trong cách tạo và thực thi những ứng dụng. Ngoài hai lý do trên ngôn ngữ C cũng sẽ trở nên phổ biến do những đặc tính của ngôn ngữ này được đề cập trong mục trước như: đơn giản, hướng đối tượng, mạnh mẽ... 2.2.2. Ngôn ngữ C và các ngôn ngữ khác Chúng ta đã từng nghe đến những ngôn ngữ khác như Visual Basic, C++ và Java. Có lẽ chúng ta cũng tự hỏi sự khác nhau giữa ngôn ngữ C và nhưng ngôn ngữ đó. Và cũng tự hỏi tại sao lại chọn ngôn ngữ này để học mà không chọn một trong những ngôn ngữ kia. Có rất nhiều lý do và chúng ta hãy xem một số sự so sánh giữa ngôn ngữ C với những ngôn ngữ khác giúp chúng ta phần nào trả lời được những thắc mắc. Microsoft nói rằng C mang đến sức mạnh của ngôn ngữ C++ với sự dễ dàng của ngôn ngữ Visual Basic. Có thể nó không dễ như Visual Basic, nhưng với phiên bản Visual Basic.NET (Version 7) 14 thì ngang nhau. Bởi vì chúng được viết lại từ một nền tảng. Chúng ta có thể viết nhiều chương trình với ít mã nguồn hơn nếu dùng C. Mặc dù C loại bỏ một vài các đặc tính của C++, nhưng bù lại nó tránh được những lỗi mà thường gặp trong ngôn ngữ C++. Điều này có thể tiết kiệm được hàng giờ hay thậm chí hàng ngày trong việc hoàn tất một chương trình. Một điều quan trọng khác với C++ là mã nguồn C không đòi hỏi phải có tập tin header. Tất cả mã nguồn được viết trong khai báo một lớp. Như đã nói ở bên trên. .NET runtime trong C thực hiện việc thu gom bộ nhớ tự động. Dođiều này nên việc sử dụng con trỏ trong C ít quan trọng hơn trong C++. Những con trỏ cũng có thể được sử dụng trong C, khi đó những đoạn mã nguồn này sẽ được đánh dấu là không an toàn (unsafe code). C cũng từ bỏ ý tưởng đa kế thừa như trong C++. Và sự khác nhau khác là C đưa thêm thuộc tính vào trong một lớp giống như trong Visual Basic. Và những thành viên của lớp được gọi duy nhất bằng toán tử “.” khác với C++ có nhiều cách gọi trong các tình huống khác nhau. Một ngôn ngữ khác rất mạnh và phổ biến là Java, giống như C++ và C được phát...
NỘI DUNG
CƠ SỞ LÝ THUYẾT
- Microsoft visual studio 2013 là một môi trường rất mạnh và được thiết kế rất tốt
- Với môi trường VS 2013, có thể thực hiện các công việc:
+ Thiết kế giao diện ứng dụng
+ Thiết kế biểu tượng, hình ảnh
+ Viết mã cho hầu hết các ngôn ngữ: VB.NET, C#, C/C++, Java, HTML, XML,…
- Các phiên bảng phổ biến của VS 2013:
+ Visual Studio 2013 Express: là một phiên bản nhỏ gọn nhưng khá đầy đủ các tính năng, phiên bản này có thể tải về miễn phí từ website của Microsoft
+ Visual Studio 2013 Professional: là phiên bản với đầy đủ các tính năng thích hợp cho các doanh nghiệp Phần mềm này có tính phí bản quyền của Microsoft
Visual Studio 2013 Ultimate là phiên bản đầy đủ nhất, đáp ứng nhu cầu của cả cá nhân lẫn doanh nghiệp Với đầy đủ các tính năng, phiên bản này phù hợp cho những dự án đòi hỏi sự toàn diện và chuyên sâu Tuy nhiên, Visual Studio 2013 Ultimate có mức giá bản quyền từ Microsoft và yêu cầu cấu hình máy mạnh mẽ để chạy trơn tru.
Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nó được tạo từ nền tảng phát triển hơn Microsoft bắt đầu với công việc trong C và C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn
Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java Không dừng lại ở đó, Microsoft đưa ra một số mục đích khi xây dựng ngôn ngữ này Những mục đích này được được tóm tắt như sau:
- C# là ngôn ngữ đơn giản
C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và C++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual base class) Chúng là những nguyên nhân gây ra sự nhầm lẫn hay dẫn đến những vấn đề cho các người phát triển C++ Nếu chúng ta là người học ngôn ngữ này đầu tiên thì chắc chắn là ta sẽ không trải qua những thời gian để học nó! Nhưng khi đó ta sẽ không biết được hiệu quả của ngôn ngữ C# khi loại bỏ những vấn đề trên
Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++, thừa hưởng cú pháp và biểu thức từ những ngôn ngữ này Tuy nhiên, C# đã được cải tiến để loại bỏ sự dư thừa và đơn giản hóa cú pháp Thay vì ba toán tử phức tạp và dễ nhầm lẫn, C# sử dụng toán tử duy nhất là dấu chấm (.) Những cải tiến này giúp người mới học dễ hiểu và bớt nhầm lẫn.
Ghi chú: Nếu chúng ta đã sử dụng Java và tin rằng nó đơn giản, thì chúng ta cũng sẽ tìm thấy rằng C# cũng đơn giản Hầu hết mọi người đều không tin rằng Java là ngôn ngữ đơn giản Tuy nhiên, C# thì dễ hơn là Java và C++
- C# là ngôn ngữ hiện đại
Những đặc tính như là xử lý ngoại lệ, thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng, và bảo mật mã nguồn là những đặc tính được mong đợi trong một ngôn ngữ hiện đại C# chứa tất cả những đặc tính trên Nếu là người mới học lập trình có thể chúng ta sẽ cảm thấy những đặc tính trên phức tạp và khó hiểu Tuy nhiên, cũng đừng lo lắng chúng ta sẽ dần dần được tìm hiểu những đặc tính qua các chương trong cuốn sách này
Ghi chú: Con trỏ được tích hợp vào ngôn ngữ C++ Chúng cũng là nguyên nhân gây ra những rắc rối của ngôn ngữ này C# loại bỏ những phức tạp và rắc rối phát sinh bởi con trỏ Trong C#, bộ thu gom bộ nhớ tự động và kiểu dữ liệu an toàn được tích hợp vào ngôn ngữ, sẽ loại bỏ những vấn đề rắc rối của C++
- C# là ngôn ngữ hướng đối tượng
In object-oriented languages like C#, code is structured around objects that combine data and methods Encapsulation keeps data safe within objects Inheritance allows objects to inherit properties and methods from parent classes Polymorphism enables objects to behave differently based on their data and class These features enhance code organization, reusability, and maintainability, leading to more efficient and flexible software development.
- C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo
Ngôn ngữ C# chỉ bị giới hạn ở chính bởi bản thân hay là trí tưởng tượng của chúng ta Ngôn ngữ này không đặt những ràng buộc lên những việc có thể làm C# được sử dụng cho nhiều các dự án khác nhau như là tạo ra ứng dụng xử lý văn bản, ứng dụng đồ họa, bản tính, hay thậm chí những trình biên dịch cho các ngôn ngữ khác
- C# là ngôn ngữ ít từ khóa
C# là ngôn ngữ sử dụng giới hạn những từ khóa Phần lớn các từ khóa được sử dụng để mô tả thông tin Chúng ta có thể nghĩ rằng một ngôn ngữ có nhiều từ khóa thì sẽ mạnh hơn Điều này không phải sự thật, ít nhất là trong trường hợp ngôn ngữ C#, chúng ta có thể tìm thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào Bảng sau liệt kê các từ khóa của ngôn ngữ C#
- C# là ngôn ngữ hướng module
Mã nguồn C# có thể được viết trong những phần được gọi là những lớp, những lớp này chứa các phương thức thành viên của nó Những lớp và những phương thức có thể được sử dụng lại trong ứng dụng hay các chương trình khác
Bằng cách truyền các mẫu thông tin đến những lớp hay phương thức chúng ta có thể tạo ra những mã nguồn dùng lại có hiệu quả
- C# sẽ là một ngôn ngữ phổ biến
C# là một trong những ngôn ngữ lập trình mới nhất Vào thời điểm cuốn sách này được viết, nó không được biết như là một ngôn ngữ phổ biến Nhưng ngôn ngữ này có một số lý do để trở thành một ngôn ngữ phổ biến Một trong những lý do chính là Microsoft và sự cam kết của NET Microsoft muốn ngôn ngữ C# trở nên phổ biến Mặc dù một công ty không thể làm một sản phẩm trở nên phổ biến, nhưng nó có thể hỗ trợ Cách đây không lâu, Microsoft đã gặp sự thất bại về hệ điều hành Microsoft Bob Mặc dù Microsoft muốn Bob trở nên phổ biến nhưng thất bại C# thay thế tốt hơn để đem đến thành công sơ với Bob Thật sự là không biết khi nào mọi người trong công ty Microsoft sử dụng Bob trong công việc hằng ngày của họ Tuy nhên, với C# thì khác, nó được sử dụng bởi Microsoft Nhiều sản phẩm của công ty này đã chuyển đổi và viết lại bằng C# Bằng cách sử dụng ngôn ngữ này Microsoft đã xác nhận khả năng của C# cần thiết cho những người lập trình
Micorosoft NET là một lý do khác để đem đến sự thành công của C# NET là một sự thay đổi trong cách tạo và thực thi những ứng dụng Ngoài hai lý do trên ngôn ngữ C# cũng sẽ trở nên phổ biến do những đặc tính của ngôn ngữ này được đề cập trong mục trước như: đơn giản, hướng đối tượng, mạnh mẽ
2.2.2 Ngôn ng ữ C# và các ngôn ng ữ khác
Chúng ta đã từng nghe đến những ngôn ngữ khác như Visual Basic, C++ và Java Có lẽ chúng ta cũng tự hỏi sự khác nhau giữa ngôn ngữ C# và nhưng ngôn ngữ đó Và cũng tự hỏi tại sao lại chọn ngôn ngữ này để học mà không chọn một trong những ngôn ngữ kia Có rất nhiều lý do và chúng ta hãy xem một số sự so sánh giữa ngôn ngữ C# với những ngôn ngữ khác giúp chúng ta phần nào trả lời được những thắc mắc Microsoft nói rằng C# mang đến sức mạnh của ngôn ngữ C++ với sự dễ dàng của ngôn ngữ Visual Basic Có thể nó không dễ như Visual Basic, nhưng với phiên bản Visual Basic.NET (Version 7) thì ngang nhau Bởi vì chúng được viết lại từ một nền tảng Chúng ta có thể viết nhiều chương trình với ít mã nguồn hơn nếu dùng C#
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1.1 Bi ể u đồ phân c ấ p ch ứ c n ă ng FDD
Hình 3.1: Biểu đồ phân cấp chức năng 3.1.2 Mô t ả chi ti ế t ch ứ c n ă ng
1 Chức năng CN dữ liệu: cho phép người quản lý thêm, xoá, sửa, cập nhập thông tin
2 Xử lý trước khi thi: Bố trí và phân bổ phòng thi cho thí sinh, nhập danh sách thí sinh theo từng phòng thi
3 Xử lý vòng 1: Chức năng này cho phép người quản lý nhập danh sách thí sinh nộp bài, nhập điểm và xem điểm sau khi thí sinh hoàn thành bài thi của mình
4 Xử lý vòng 2: Tiếp tục chia lại phòng thi cho các thí sinh đã vượt qua được vòng 1, nhập danh sách thí sinh nộp bài, sau đó là nhập điểm và có thể xem lại điểm nếu cần
5 Thống kê: Thống kê số lượng thí sinh của các đơn vị hoặc thí sinh dự tuyển các ngành và in kết quả tuyển dụng khi được yêu cầu
3.1.3 Bi ể u đồ ng ữ c ả nh (bi ể u đồ DFD ở m ứ c ng ữ c ả nh)
Hình 3.2: Biểu đồ DFD ở mức ngữ cảnh 3.1.4 Bi ể u đồ DFD ở m ứ c đỉ nh
Hình 3.3: Biểu đồ DFD ở mức đỉnh 3.1.5 Bi ể u đồ DFD ở m ứ c d ướ i đỉ nh
Hình 3.4: Biểu đồ DFD ở mức dưới đỉnh Cập nhập dữ liệu
Hình 3.5: Biểu đồ DFD ở mức dưới đỉnh Xử lý trước khi thi
Hình 3.6: Biểu đồ DFD ở mức dưới đỉnh Xử lý vòng 1
Hình 3.7: Biểu đồ DFD ở mức dưới đỉnh Xử lý vòng 2
Hình 3.8: Biểu đồ DFD ở mức dưới đỉnh Thống kê
3.2.1 Bi ể u đồ th ự c th ể -m ố i quan h ệ ER
Hệ thống bao gồm các thực thể sau:
+ nhap du lieu (holot, ten, ngaysinh, dt, quequan, tdcm, cndt, dvdt,vtvl, ncc, tddt, ndt, nn, dienuutien, ut, tinhoc, pt, pt2, dieukienv1, tuyendung)
+ ca thi (macathi, tencathi, ngaythi, thoigianthi, ghichu)
+ bamg diem (madiem, SBD, diemtinhoc, diemngoaingu, diemmonchung, diemchuyennghanhlt, diemchuyennghanhtn, tongdiem, ketqua, ghichu, dieukien)
+ ma nghach cong chuc (mancc, tenmncc)
+ ma nghanh du tuyen (mandt, tenndt)
+ ma trinh do chuyen mon (matdcm, tentdcm)
+ chuyen nghanh dao tao (macndt, tencndt)
+ ma vi tri viec lam (mavtvl, tenvtvl)
+ dia diem thi (maddthi, tenddthi, diachidthi)
+ ma diem uu tien (maut, dienuutien)
+ ma dan toc (madt, tenmdt)
+ don vi du tuyen (madvdt, tendvdt)
3.2.2 Chuy ể n t ừ mô hình ER v ề mô hình R
Hình 3.11 Mô hình quan hệ 3.2.5 B ả ng c ơ s ở d ữ li ệ u
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
PK uname Nvarchar 50 Tên đăng nhập pass Nvarchar 50 Mật khẩu đăng nhập
Bảng 3.2 CSDL bảng ma nghach cong chuc
Bảng 3.3 CSDL bảng ma nganh du tuyen
Bảng 3.4 CSDL bảng ma trinh do chuyen mon
Tên bảng : ma nghach cong chuc
Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
PK mancc int Mã ngạch công chức tenmncc Nvarchar 50 Tên mã ngạch công chức
Tên bảng : ma nganh du tuyen
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
PK mandt Nvarchar 50 Mã ngành dự tuyển tenndt Nvarchar 50 Tên ngành dự tuyển
Tên bảng : ma trinh do chuyen mon
Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
PK matdcm Int 50 Ma trình độ chuyên môn tentdcm Nvarchar 50 Tên trình độ chuyên môn
Bảng 3.5 CSDL bảng chuyen nghanh dao tao
Bảng 3.6 CSDL bảng ma vi tri viec lam
Tên bảng : chuyen nghanh dao tao
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
PK macndt Int 50 Mã chuyên ngành đào tạo tencndt Nvarchar 255 Tên chuyên ngành đào tạo
Tên bảng : ma vi tri viec lam
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
PK mavtvl Nvarchar 255 Mã vị trí việc làm tenvtvl Nvarchar 255 Tên vị trí việc làm
FK madvdt int Đơn vị dự tuyển
FK mandt Nvarchar 50 Mã ngành đào tạo sltd float Sô lượng tuyển dụng
FK matdcm int Mã trình độ chuyên môn
FK macndt int Mã chuyên ngành đào tạo
Bảng 3.7 CSDL bảng dia diem thi
Bảng 3.8 CSDL bảng phong thi2
Bảng 3.9 CSDL bảng ma dien uu tien
Tên bảng : dia diem thi
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
PK maddthi int Ma địa điểm thi tenddthi Nvarchar 255 Tên địa điểm thi diachidthi Nvarchar 255 địa chỉ thi
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
(nếu có) khoá mapt int Mã phòng thi tenpt Nvarchar 255 Tên phòng thi
FK maddthi int Mã địa điểm thi sothisinh int Số thí sinh
Tên bảng : ma dien uu tien
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
PK maut int Mã ưu tiên dienuutien Nvarchar 50 Diện ưu tiên
Bảng 3.10 CSDL bảng phong thi
Bảng 3.11 CSDL bảng nhap du lieu
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
(nếu có) khoá mapt int Mã phòng thi tenpt Nvarchar 255 Tên phòng thi
FK maddthi int Mã địa điểm thi sothisinh int Số thí sinh
PK,FK macathi int Mã ca thi
Tên bảng : nhap du lieu
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả
Bảng PK gồm các trường sau: sbd (kiểu dữ liệu int) lưu số báo danh, holot (kiểu dữ liệu nvarchar(50)) lưu họ lót, ten (kiểu dữ liệu nvarchar(50)) lưu tên, ngaysinh (kiểu dữ liệu datetime) lưu ngày sinh, madt ( kiểu dữ liệu int) lưu mã dân tộc, quequan (kiểu dữ liệu nvarchar(50)) lưu quê quán, matdcm (kiểu dữ liệu int) lưu mã trình độ chuyên môn.
Bảng 3.12 CSDL bảng ca thi macndt int Mã chuyên ngành đào tạo madvdt int Mã đơn vị dự tuyển mavtvl Nvarchar 50 Mã vị trí việc làm mancc int Mã ngạch công chức matddt int Mã trình độ đào tạo mandt Nvarchar 50 Mã ngành dự tuyển mann int Mã ngoại ngữ dienuutien Nvarchar 50 diện ưu tiên maut int Mã ưu tiên mapt int Mã phòng thi vòng 1 mapt2 int Mã phòng thi vòng 2 dieukienv1 Nvarchar 255 điều kiện vòng 1 tuyendung Nvarchar 255 tuyển dụng
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
PK macathi int 50 Mã ca thi tencathi Nvarchar 255 Tên ca thi ngaythi datetime Ngày thi thoigianthi Nvarchar 255 Thời gian thi ghichu Nvarchar 255 Ghi chú
Bảng 3.13 CSDL bảng ma dan toc
Bảng 3.14 CSDL bảng don vi du tuyen
Bảng 3.15 CSDL bảng bang diem
Tên bảng : ma dan toc
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
PK madt int 50 Mã dân tộc tenmdt Nvarchar 50 Tên mã dân tộc
Tên bảng : don vi du tuyen
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả Ràng buộc
PK madvdt int 50 Mã đơn vị dự tuyển tendvdt Nvarchar 255 Tên đơn vị dự tuyển
Khóa Tên trường Kiểu dữ liệu Độ rộng Mô tả
PK madiem int Mã điểm
Bảng điểm của sinh viên FK SBD có số báo danh là:- Điểm tin học: %(diemtinhoc)- Điểm ngoại ngữ: %(diemngoaingu)- Điểm môn chung: %(diemmonchung)- Điểm chuyên ngành lý thuyết: %(diemchuyennganhlt)- Điểm chuyên ngành trắc nghiệm: %(diemchuyennghanhtn)- Tổng điểm: %(tongdiem)
CHƯƠNG TRÌNH DEMO
- Hệ thống được viết bằng ngôn ngữ C#, chạy trên môi trường Visual Studio 2013
- Cơ sở dữ liệu được cài đặt trên hệ quản trị cơ sở dữ liệu SQL server
4.2 CÁC CHỨC NĂNG ĐƯỢC CÀI ĐẶT TRONG CHƯƠNG TRÌNH
- Chức năng cập nhập bao gồm các chức năng con sau:
+ Nhập dữ liệu thí sinh
+ Cập nhập chuyên ngành đào tạo
+ Cập nhập đơn vị dự tuyển
+ Cập nhập vị trí việc làm
- Xử lý trước khi thi gồm các chức năng con sau:
+ Danh sách thí sinh theo phòng
+ Thông tin cho thí sinh
- Xử lý vòng 1 gồm các chức năng con sau:
+ Số lượng thí sinh dự tuyển các đơn vị
+ Số lượng thí sinh dự tuyển các ngành
4.3 MỘT SỐ GIAO DIỆN CỦA CHƯƠNG TRÌNH DEMO
Hình 4.1 Giao diện chức năng đăng nhập
Sau khi người dùng nhập đúng username và password, hệ thống sẽ đưa người dùng tới giao diện trang chủ của phần mềm
Hình 4.2 Giao diện chính của chương trình Đây là giao diện chính của phần mềm, thanh menu thể hiện rõ tất cả các chức năng chủ yếu cần có của phần mềm
Hình 4.3 Giao diện cập nhập dữ liệu thí sinh của chức năng cập nhập
Giao diện này cho phép người dùng nhập thông tin của thí sinh dự thi Có hai cách để nhập: Thứ nhất là nhập theo thứ tự SBD, Họ lót, Tên, v.v… vào khung trắng hoặc cách thứ hai là người dùng nhập thông tin tương ứng vào file excel, sau đó vào phần mềm ở giao diện này click vào button “chọn tệp” và chọn đường dẫn tới file excel vừa nhập rồi click vào button “Lưu” thì mọi dữ liệu trong file excel sẽ được cập nhập vào khung trắng trong giao diện
Hình 4.4 Giao diện ngành dự tuyển của chức năng cập nhập
Giao diện này khá đơn giản, chỉ gồm mã ngành dự tuyển và tên ngành dự tuyển Người dùng chỉ cần nhập đầy đủ và chính xác 2 thông tìn này vào ô màu trắng tiếp theo ở hàng cuối cùng thì hệ thống sẽ tự động lưu và cập nhập thẳng vào CSDL Tương tự, nếu người dùng cần chỉnh sửa nội dung thì click vào mã ngành dự thuyển và tên ngành dự tuyển để chỉnh sửa, sau khi hoàn thành thì hệ thống sẽ tự động lưu
Hình 4.5 Giao diện chuyên ngành đào tạo của chức năng cập nhập
Giao diện sử dụng khi chỉnh sửa thông tin mã và tên chuyên ngành đào tạo tương tự như giao diện chỉnh sửa thông tin ngành dự tuyển Tuy nhiên, chỉ có hai thông tin cần nhập là mã và tên chuyên ngành đào tạo.
Hình 4.6 Giao diện chức năng cập nhập đơn vị dự tuyển
Tương tự với cách nhập và chỉnh sửa ở trên, người dùng cần nhập đúng các thông tin mã đơn vị dự tuyển và tên đơn vị dự tuyển
Hình 4.7 Giao diện vị trí việc làm của chức năng cập nhập Ở giao diện này, người dùng nhập hay chỉnh sửa nội dung đều giống với các giao diện trên, chỉ khác là ở đây, thay vì người dùng phải nhập thông tin theo thứ tự: mã vị trí việc làm, tên chuyên vị trí việc làm… thì người dùng có thể chọn file excel có sẵn các thông tin này để đưa vào phần mềm bằng các click và button “chọn tệp” sau đó chọn đường link đến file excel cần đưa vào, ngay lập tức thông tin file excel sẽ được cập nhập vào phần mềm, tiếp theo người sử dụng click vào button “lưu” để hoàn tất công việc
Hình 4.8 Giao diện chức năng cập nhập phòng thi
Tương tự với cách làm ở giao diện vị trí việc làm, người dùng cũng có thể nhập trực tiếp vào phần mềm hoặc dừng file excel được thống kê sẵn để đưa vào phần mềm, và kết thúc công việc bằng cách click vào button “Lưu”
Hình 4.9 Giao diện địa điểm thi của chức năng cập nhập Ở giao diện này, người dùng cần nhập đầy đủ các thông tin sau: mã địa điểm thi, tên địa điểm thi, địa chỉ địa điểm thi vào ô textbox Sau khi nhập xong, người sử dụng click vào button “Lưu” để hoàn tất quá trình
Để bố trí phòng thi, người dùng lựa chọn mã địa điểm thi và chọn phòng theo thứ tự trong giao diện bố trí phòng thi Nếu phát hiện thông tin địa điểm thi không chính xác, có thể chỉnh sửa thông qua chức năng cập nhập Sau khi phân bố phòng thi xong, người dùng cần nhấn nút xác nhận để hoàn tất.
“Lưu” để lưu thông tin phòng thi vào hệ thống, sau khi phân bố phong, người dùng có thể chọn button “xem kết quả” để xem lại kết quả đã phân bố để kịp thời chỉnh sửa khi cần Ở đây, cột số thí sinh tức là số lượng thí sinh cho mỗi phòng là theo quy định, nên hệ thống sẽ xuất ra con số mặc định
Hình 4.11 Giao diện phân phòng thi của chức năng xử lý trước khi thi
Sau khi phân bố xong phần thi, người dùng phải phân ca thi cho mỗi phòng thi, ở đây hệ thống sẽ tự động phân phòng thi theo ca thi Ở giao diện này người sử dụng chỉ cần click và button “phân phòng thi” ở bên tay phải để hệ thống tự động phân phòng thi theo cơ chế lập trình sẵn của hệ thống Sau đó, người sử dụng cần chọn vào button “kiểm tra phòng thi ” nếu có nhu cầu kiểm tra hay chọn button “xoá dữ liệu phân ca thi” nếu thấy thông tin bị sai lệch, tiếp theo người sử dụng cần chọn button “Lưu chỉnh sửa ca thi” để hoàn tất các quá trình trên
Hình 4.12 Giao diện danh sách thí sinh theo phòng của chức năng xử lý trước khi thi
Giao diện này mục đích là để xem danh sách thí sinh dự thi theo phòng và theo ca thi, thuận tiện cho việc người sử quản lý theo dõi và kiểm tra để đưa ra những yêu cầu cần thiết trong hoặc trước quá trình thi công chức viên chức Muốn xem danh sách thí sinh theo phòng và theo ca thi, người sử dụng cần nhập đúng số phòng và ca thi số bao nhiêu rồi click vào button “OK”, nếu đúng ngay lập tức hệ thống sẽ đẩy dữ liệu từ CSDL ra, còn nếu sai thì sẽ có thông báo để cảnh báo người sử dụng để thay đổi
Giao diện này cho phép người sử dụng tìm kiếm thông tin của thí sinh thông qua số báo danh Sau khi nhập số báo danh và nhấn "OK", hệ thống sẽ hiển thị thông tin tìm kiếm Người dùng có thể lựa chọn in thông tin hoặc nhập lại số báo danh khác nếu không tìm thấy kết quả.
Hình 4.14 Giao diện nhập danh sách nộp bài của chức năng xử lý thi vòng 1 Để hoàn thành kỳ thi công chức viên chức, mỗi thí sinh đều phải trải qua
Người dùng có thể theo dõi tiến độ nộp bài thi của thí sinh theo phòng và ca thi tại giao diện danh sách nộp bài Để thực hiện, người dùng cần nhập chính xác thông tin phòng thi và ca thi vào ô nhập liệu Sau khi nhập đầy đủ thông tin, nếu hệ thống hiển thị thông báo yêu cầu nhập lại thì thông tin nhập vào có thể bị sai Ngược lại, nếu thông tin được xác nhận là đúng, dữ liệu sẽ được hiển thị trong khung bên cạnh.
Hình 4.15 Giao diện nhập điểm của chức năng xử lý thi vòng 1
Tiếp theo là giao diện nhập điểm, sau khi nhận được bảng điểm thì người sử dụng cần nhập chính xác số báo danh, rồi nhập điểm vào các ô tương ứng với các môn thi bên dưới Ở mỗi ô, sau khi nhập xong điểm của môn thi nào thì người sử dụng cần click vào button “nhập” để lưu điểm vào CSDL, việc này sẽ giúp hệ thống thống kê được điểm của từng thí sinh để biết được thí sinh nào được phép tiếp tục vào thi ở vòng 2 Nếu người sử dụng nhập sai điểm cho số báo danh nào đó, thì có thể click vào button “xoá dữ liệu bảng điểm cũ” rồi tiếp theo click vào button “khởi tạo bảng điểm mới” rồi nhập lại thông tin điểm