Tải bản đầy đủ (.pdf) (61 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.39 MB, 61 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

UBND TỈNH QUẢNG NAM

<b>TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN </b>

------

<b>VŨ LÊ THỤC NHI </b>

<b>XÂY DỰNG HỆ THỐNG QUẢN LÝ </b>

<b>THI CƠNG CHỨC VIÊN CHỨC TỈNH QUẢNG NAM </b>

<b>KHỐ LUẬN TỐT NGHIỆP ĐẠI HỌC</b>

<b>Quảng Nam, tháng 04 năm 2017 </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THƠNG TIN </b>

<b>-------KHĨA LUẬN TỐT NGHIỆP </b>

<i><b>Tên đề tài: </b></i>

<b>XÂY DỰNG HỆ THỐNG QUẢN LÝ </b>

<b>THI CÔNG CHỨC VIÊN CHỨC TỈNH QUẢNG NAM </b>

Sinh viên thực hiện:

<i><b>ThS. NGUYỄN VĂN KHƯƠNG </b></i>

<b>Quảng Nam, ngày 14 tháng 04 năm 2017 </b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>LỜI CẢM ƠN </b>

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

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>MỤC LỤC </b>

<b>PHẦN I: MỞ ĐẦU ... 1 </b>

<b>1. LÝ DO CHỌN ĐỀ TÀI ... 1 </b>

<b>2. MỤC TIÊU CỦA ĐỀ TÀI ... 1 </b>

<b>3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU ... 1 </b>

<b>4. PHƯƠNG PHÁP NGHIÊN CỨU ... 2 </b>

<b>5. CẤU TRÚC ĐỀ TÀI ... 2 </b>

<b>PHẦN II: NỘI DUNG ... 3 </b>

<b>CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG CỦA HỆ THỐNG VÀ XÁC LẬP DỰ ÁN ... 3 </b>

<b>1.1. KHẢO SÁT HIỆN TRẠNG ... 3 </b>

<b>1.2. XÁC LẬP DỰ ÁN ... 7 </b>

<b>1.2.1. Hạn chế của hệ thống hiện tại ... 7 </b>

<b>1.2.2. Yêu cầu (mục tiêu) của hệ thống mới ... 7 </b>

<b>1.4.2. Điều kiện mua và lắp đặt thiết bị ... 8 </b>

<b>1.4.3. Công tác huấn luyện sử dụng HT ... 8 </b>

<b>1.4.4. Công việc bảo trì ... 8 </b>

<b>1.4.5. Kế hoạch triển khai dự án ... 9 </b>

<b>CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ... 10 </b>

<b>2.1. MICROSOFT VISUAL STUDIO 2013... 10 </b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>3.1.1. Biểu đồ phân cấp chức năng FDD ... 24 </b>

<b>3.1.2. Mô tả chi tiết chức năng ... 24 </b>

<b>3.2.2. Chuyển từ mơ hình ER về mơ hình R ... 29 </b>

<b>3.2.3. Cơ sở dữ liệu của hệ thống ở mức vật lý ... 30 </b>

<b>3.2.5. Bảng cơ sở dữ liệu ... 30 </b>

<b>CHƯƠNG 4: CHƯƠNG TRÌNH DEMO ... 38 </b>

<b>4.1. CÔNG CỤ TRIỂN KHAI ... 38 </b>

<b>4.2 CÁC CHỨC NĂNG ĐƯỢC CÀI ĐẶT TRONG CHƯƠNG TRÌNH .... 38 </b>

<b>4.3. MỘT SỐ GIAO DIỆN CỦA CHƯƠNG TRÌNH DEMO ... 39 </b>

<b>PHẦN III: KẾT LUẬN ... 51 </b>

<b>TÀI LIỆU THAM KHẢO ... 52 </b>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>DANH MỤC HÌNH ẢNH </b>

<b>Hình 1.1. Danh sách thí sinh đăng ký dự thi ... 3 </b>

<b>Hình 1.2. Bảng ghi tên thí sinh ... 4 </b>

<b>Hình 1.3. Danh sách thí sinh dự thi ... 4 </b>

<b>Hình 1.4. Giấy báo dự thi ... 5 </b>

<b>Hình 1.5. Danh sách thí sinh nộp bài ... 6 </b>

<b>Hình 3.1: Biểu đồ phân cấp chức năng ... 24 </b>

<b>Hình 3.2: Biểu đồ DFD ở mức ngữ cảnh ... 25 </b>

<b>Hình 3.3: Biểu đồ DFD ở mức đỉnh ... 25 </b>

<b>Hình 3.4: Biểu đồ DFD ở mức dưới đỉnh Cập nhập dữ liệu ... 25 </b>

<b>Hình 3.5: Biểu đồ DFD ở mức dưới đỉnh Xử lý trước khi thi ... 26 </b>

Hình 4.1. Giao diện chức năng đăng nhập ... 39 

<b>Hình 4.2. Giao diện chính của chương trình ... 39 </b>

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

<b>Hình 4.4. Giao diện ngành dự tuyển của chức năng cập nhập ... 40 </b>

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

<b>Hình 4.6. Giao diện chức năng cập nhập đơn vị dự tuyển ... 41 </b>

<b>Hình 4.7. Giao diện vị trí việc làm của chức năng cập nhập ... 42 </b>

<b>Hình 4.8. Giao diện chức năng cập nhập phịng thi ... 42 </b>

<b>Hình 4.9. Giao diện địa điểm thi của chức năng cập nhập ... 43 </b>

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

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

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 <b>khi thi ... 45 </b>

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

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

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>Hình 4.15. Giao diện nhập điểm của chức năng xử lý thi vòng 1 ... 47 </b>

<b>Hình 4.16. Giao diện xem điểm của chức năng xử lý thi vịng 1 ... 47 </b>

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

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

<b>Hình 4.19. Giao diện nhập điểm của chức năng xử lý thi vịng 2 ... 49 </b>

<b>Hình 4.20. Giao diện xem điểm của chức năng xử lý thi vòng 2 ... 49 </b>

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

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

<b> </b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>DANH MỤC BẢNG </b>

<b>Bảng 1.1. Bảng phân công nhiệm vụ và tiến độ thực hiện : ... 9 </b>

<b>Bảng 2.1: Kiểu dữ liệu xây dựng sẵn ... 15 </b>

<b>Bảng 3.4. CSDL bảng ma trinh do chuyen mon ... 31 </b>

<b>Bảng 3.5. CSDL bảng chuyen nghanh dao tao ... 32 </b>

<b>Bảng 3.6. CSDL bảng ma vi tri viec lam ... 32 </b>

<b>Bảng 3.7. CSDL bảng dia diem thi ... 33 </b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>DANH MỤC TỪ VIẾT TẮT Từ viết tắt </b> <i><b>Từ viết đầy đủ </b></i>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>PHẦN I: MỞ ĐẦU </b>

<b>1. LÝ DO CHỌN ĐỀ TÀI </b>

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ý ln ln cần phải nắm rõ lý lịch, q 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 thố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à

<b>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 khố luận tốt nghiệp. </b>

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

<b>2. MỤC TIÊU CỦA ĐỀ TÀI </b>

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

<b>3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU </b>

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

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>4. PHƯƠNG PHÁP NGHIÊN CỨU </b>

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

<b>5. CẤU TRÚC ĐỀ TÀI </b>

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

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>PHẦN II: NỘI DUNG </b>

<b>CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG CỦA HỆ THỐNG VÀ XÁC LẬP DỰ ÁN </b>

<b>1.1. KHẢO SÁT HIỆN TRẠNG </b>

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.

<i>Hình 1.1. Danh sách thí sinh đăng ký dự thi </i>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="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.

<i>Hình 1.2. Bảng ghi tên thí sinh </i>

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

<i>Hình 1.3. Danh sách thí sinh dự thi </i>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="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 bố 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,…

<i>Hình 1.4. Giấy báo dự thi </i>

+ 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

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="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.

<i>Hình 1.5. Danh sách thí sinh nộp bài </i>

Sau khi hồ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.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>1.2. XÁC LẬP DỰ ÁN </b>

<i><b>1.2.1. Hạn chế của hệ thống hiện tại </b></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ý.

<i><b>1.2.2. Yêu cầu (mục tiêu) của hệ thống mới </b></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.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<i><b>1.4.2. Điều kiện mua và lắp đặt thiết bị </b></i>

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 ngun nên địi hỏi máy tính có cấu hình càng cao càng tốt).

<i><b>1.4.3. Công tác huấn luyện sử dụng HT </b></i>

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.

<i><b>1.4.4. Cơng việc bảo trì </b></i>

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 .

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<i><b>1.4.5. Kế hoạch triển khai dự án </b></i>

<i>Bảng 1.1. Bảng phân công nhiệm vụ và tiến độ thực hiện : </i>

Thời gian Công việc thực

năng của hệ thống. <sup>Vũ Lê Thục Nhi </sup>

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

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

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>CHƯƠNG 2: CƠ SỞ LÝ THUYẾT </b>

<b>2.1. MICROSOFT VISUAL STUDIO 2013</b>

 

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

<b>2.2. NGÔN NGỮ C# </b>

<i><b>2.2.1. Giới thiệu </b></i>

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.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="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:

<b>- C# là ngôn ngữ đơn giản </b>

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

<b>- C# là ngôn ngữ hiện đại </b>

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à

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="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 tồ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++.

<b>- C# là ngôn ngữ hướng đối tượng </b>

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.

<b>- C# là ngơn ngữ mạnh mẽ và cũng mềm dẻo </b>

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.

<b>- C# là ngơn ngữ ít từ khóa </b>

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

<b>- C# là ngơn ngữ hướng module </b>

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.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="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ả.

<b>- C# sẽ là một ngơn ngữ phổ biến </b>

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

<i><b>2.2.2. Ngôn ngữ C# và các ngôn ngữ khác </b></i>

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)

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="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 hồ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.

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<i><b>2.2.3. Các kiểu dữ liệu </b></i>

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.

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

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<b>- Chọn một kiểu định sẵn </b>

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.

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

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:

<b>+ 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ự. </b>

<b>+ class: kiểu dữ liệu class. </b>

<b>+ 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. </b>

<i><b>2.2.4. Các toán tử </b></i>

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

<b>tử như toán tử gán, toán tử toán học, logic.... </b>

Các phép toán +, -, *, / là một ví dụ về tố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 tốn thơng thường.

int a = 10; int b = 20;

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

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<i><b>Bảng 2.2: Các nhóm tốn tử trong C# </b></i>

 Tố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 tốn tử tốn học

C# dùng các tồ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. Ngồi ra, cịn có tố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 hố. 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.

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="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. Tố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 tố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 tốn học. Cịn thứ tự ưu tiên thực hiện của các nhóm tốn tử được liệt kê theo bảng dưới đây.

<i>Bảng 2.3: Thứ tự ưu tiên của các nhóm tốn tử </i>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="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.

<i><b>2.2.5. Cấu trúc rẽ nhánh </b></i>

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

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

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

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

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

<b>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ố. </b>

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="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.

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

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

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

<b>2.3. NGÔN NGỮ SQL </b>

<i><b>2.3.1. Giới thiệu </b></i>

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

</div>

×