XÂY DỰNG HỆ THỐNG QUẢN LÝ THI CÔNG CHỨC, VIÊN CHỨC TỈNH QUẢNG NAM

61 0 0
XÂY DỰNG HỆ THỐNG QUẢN LÝ THI CÔNG CHỨC, VIÊN CHỨC TỈNH QUẢNG NAM

Đ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

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...

Trang 1

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

Trang 2

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:

ThS NGUYỄN VĂN KHƯƠNG

Quảng Nam, ngày 14 tháng 04 năm 2017

Trang 3

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

Trang 4

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.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

Trang 5

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.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 

Trang 6

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 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 

Trang 7

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 

 

Trang 8

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 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 

Trang 9

DANH MỤC TỪ VIẾT TẮT Từ viết tắt Từ viết đầy đủ

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

+ 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

Trang 14

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

Trang 15

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

Trang 16

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ý:

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

Trang 17

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

Trang 18

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

năng của hệ thống Vũ Lê Thục Nhi

Đã xong Xây dựng biểu

Vũ Lê Thục Nhi Đã xong và thu được biểu đồ luồng dữ liệu

Trang 19

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

+ 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, 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

Trang 20

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à

Trang 21

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

Trang 22

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)

Trang 23

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 triển dựa trên C Nếu chúng ta quyết định sẽ học Java sau này, chúng ta sẽ tìm được nhiều cái mà học từ C# có thể được áp dụng Điểm giống nhau C# và Java là cả hai cùng biên dịch ra mã trung gian: C# biên dịch ra MSIL còn Java biên dịch ra bytecode Sau đó chúng được thực hiện bằng cách thông dịch hoặc biên dịch just-in-time trong từng máy ảo tương ứng

Tuy nhiên, trong ngôn ngữ C# nhiều hỗ trợ được đưa ra để biên dịch mã ngôn ngữ trung gian sang mã máy C# chứa nhiều kiểu dữ liệu cơ bản hơn Java và cũng cho phép nhiều sự mở rộng với kiểu dữ liệu giá trị Ví dụ, ngôn ngữ C# hỗ trợ kiểu liệt kệ (enumerator), kiểu này được giới hạn đến một tập hằng được định nghĩa trước, và kiểu dữ liệu cấu trúc đây là kiểu dữ liệu giá trị do người dùng định nghĩa Tương tự như Java, C# cũng từ bỏ tính đa kế thừa trong một lớp, tuy nhiên mô hình kế thừa đơn này được mở rộng bởi tính đa kế thừa nhiều giao diện.

Trang 24

2.2.3 Các kiểu dữ liệu

Tương tự như C++ hay Java, C# chia thành hai tập hợp kiểu dữ liệu chính: Kiểu xây dựng sẵn (built- in) mà ngôn ngữ cung cấp cho người lập trình và kiểu được người dùng định nghĩa (user-defined) do người lập trình tạo ra

C# phân tập hợp kiểu dữ liệu này thành hai loại: Kiểu dữ liệu giá trị (value) và kiểu dữ liệu tham chiếu (reference) Việc phân chi này do sự khác nhau khi lưu kiểu dữ liệu giá trị và kiểu dữ liệu tham chiếu trong bộ nhớ Đối với một kiểu dữ liệu giá trị thì sẽ được lưu giữ kích thước thật trong bộ nhớ đã cấp phát là stack Trong khi đó kiểu dữ liệu tham chiếu như các đối tượng được cấp phát trên heap Khi một đối tượng được cấp phát trên heap thì địa chỉ của nó được trả về, và địa chỉ này được gắn đến một tham chiếu

Bảng 2.1: Kiểu dữ liệu xây dựng sẵn

Trang 25

- Chọn một kiểu định sẵn

Tuỳ vào từng giá trị muốn lưu trữ mà ta chọn kiểu cho phù hợp Nếu chọn kiểu quá lớn so với các giá trị cần lưu sẽ làm cho chương trình đòi hỏi nhiều bộ nhớ và chạy chậm Trong khi nếu giá trị cần lưu lớn hơn kiểu thực lưu sẽ làm cho giá trị các biến bị sai và chương trình cho kết quả sai

- Kiểu dữ liệu do người dùng định nghĩa

Tất cả kiểu dữ liệu do người dùng định nghĩa ngoài trừ kiểu cấu trúc điều là kiểu dữ liệu tham chiếu Một số kiểu dữ liệu do người dùng định nghĩa gồm:

+ object: đây là kiểu dữ liệu cơ sở chứa tất cả kiểu dữ liệu khác trong C# + string: kiểu dữ liệu chuỗi ký tự

+ class: kiểu dữ liệu class

+ delegate: kiểu dữ liệu chuyển giao + interface: kiểu dữ liệu giáo tiếp + array: kiểu dữ liệu mảng

2.2.4 Các toán tử

Toán tử được kí hiệu bằng một biểu tượng dùng để thực hiện một hành động Các kiểu dữ liệu cơ bản của C# như kiểu nguyên hỗ trợ rất nhiều các toán

tử như toán tử gán, toán tử toán học, logic

Các phép toán +, -, *, / là một ví dụ về toán tử Áp dụng các toán tử này lên các biến kiểu số ta có kết quả như việc thực hiện các phép toán thông thường

int a = 10; int b = 20;

int c = a + b; // c = 10 + 20 = 30

Trang 26

Bảng 2.2: Các nhóm toán tử trong C#

 Toán tử gán (=)

Toán tử gán (=) Toán tử này cho phép thay đổi các giá trị của biến bên phải toán tử bằng giá trị bên trái toán tử

 Nhóm toán tử toán học

C# dùng các toàn tử số học với ý nghĩa theo đúng tên của chúng như: + (cộng), – (trừ) * (nhân) và / (chia) Tùy theo kiểu của hai toán hạng mà toán tử trả về kiểu tương ứng Ngoài ra, còn có toán tử % (lấy phần dư) được sử dụng trong các kiểu số nguyên

 Các toán tử tăng và giảm

C# cũng kế thừa từ C++ và Java các toán tử: +=,-=, *=, /= , %= nhằm làm đơn giản hoá Nó còn kế thừa các toán tử tiền tố và hậu tố (như biến++, hay ++biến) để giảm bớt sự cồng kềnh trong các toán tử cổ điển

Trang 27

 Các toán tử quan hệ

Các toán tử quan hệ được dùng để so sánh hai giá trị với nhau và kết quả trả về có kiểu Boolean Toán tử quan hệ gồm có: == (so sánh bằng), != (so sánh khác), > (so sánh lớn hơn), >= (lớn hơn hay bằng), < (so sánh nhỏ hơn), <= (nhỏ hơn hay bằng)

 Các toán tử logic

Các toán tử logic gồm có: && (và), || (hoặc), ! (phủ định) Các toán tử này được dùng trong các biểu thức điều kiện để kết hợp các toán tử quan hệ theo một ý nghĩa nhất định

 Thứ tự các toán tử

Đối với các biểu thức toán, thứ tự ưu tiên là thứ tự được qui định trong toán học Còn thứ tự ưu tiên thực hiện của các nhóm toán tử được liệt kê theo bảng dưới đây

Bảng 2.3: Thứ tự ưu tiên của các nhóm toán tử

Trang 28

 Toán tử tam phân Cú pháp:

<biểu thức điều kiện>? <biểu thức 1>: <biểu thức 2>; Ý nghĩa:

 Nếu biểu thức điều kiện đúng thì thực hiện biểu thức 1  Nếu sai thì thực hiện biểu thức 2

2.2.5 Cấu trúc rẽ nhánh

 Câu lệnh if… else … Cú pháp:

Ghi chú: Khối lệnh là một tập các câu lện trong cặp dấu “{…}” Bất kỳ nơi

đâu có câu lệnh thì ở đó có thể viết bằng một khối lệnh

Biểu thức logic là biểu thức cho giá trị dúng hoặc sai (true hoặc false) Nếu

“biểu thức logic” cho giá trị đúng thì “khối lệnh” hay “khối lệnh 1” sẽ được thực

thi, ngược lại “khối lệnh 2” sẽ thực thi Một điểm khác biệt với C++ là biểu thức trong câu lệnh if phải là biểu thức logic, không thể là biểu thức số

Trang 29

 Câu lệnh switch case

Biểu thức lựa chọn là biểu thức sinh ra trị nguyên hay chuỗi Switch sẽ so sánh biểu_thức_lựa_chọn với các biểu_thức_hằng để biết phải thực hiện với khối lệnh nào Lệnh nhảy như break, goto…để thoát khỏi câu switch và bắt buộc

Khối_lệnh sẽ được thực hiện cho đến khi nào biểu thức còn đúng Nếu ngay từ đầu biểu thức sai, khối lệnh sẽ không được thực thi

Trang 30

Khác với while khối lệnh sẽ được thực hiện trước, sau đó biệu thức được

kiểm tra Nếu biểu thức đúng khối lệnh lại được thực hiện

2.3 NGÔN NGỮ SQL

2.3.1 Giới thiệu

SQL là viết tắt của Structured Query Language, là ngôn ngữ truy vấn mang tính cấu trúc Nó được thiết kế để quản lý dữ liệu trong một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) SQL là ngôn ngữ cơ sở dữ liệu, được sử dụng để tạo, xóa trong cơ sở dữ liệu, lấy các hàng và sửa đổi các hàng, … Tất cả DBMS như MySQL, Oracle, MS Access, Sybase, Informix, Postgres và SQL Server sử dụng SQL như là ngôn ngữ cơ sở dữ liệu chuẩn SQL là cần thiết để:

+ Tạo cơ sở dữ liệu, bảng và view mới

+ Để chèn các bản ghi vào trong một cơ sở dữ liệu + Để xóa các bản ghi từ một cơ sở dữ liệu

+ Để lấy dữ liệu từ một cơ sở dữ liệu

Với SQL, chúng ta có thể truy vấn Database theo nhiều cách khác nhau, bởi sử dụng các lệnh, người dùng có thể truy cập dữ liệu từ RDBMS, SQL cho phép người dùng miêu tả dữ liệu, định nghĩa dữ liệu trong một Database và thao tác nó khi cần thiết Cho phép người dùng tạo, xóa Database và bảng, cho phép người dùng tạo view, Procedure, hàm trong một Database, cho phép thiết lập quyền truy cập vào bảng, thủ tục và view

SQL (Structured Query Language) là ngôn ngữ truy vấn dữ liệu được sử dụng cho các hệ quản trị cơ sở dữ liệu quan hệ Ngôn ngữ SQL chuẩn được đưa

Ngày đăng: 24/04/2024, 02:15

Từ khóa liên quan

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

Tài liệu liên quan