Đồ Án Lập trình CGI với ngôn ngữ Perl trên Linux

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Bống Hà, 2/5/13.

  1. Bống Hà

    Bống Hà New Member

    Bài viết:
    5,424
    Được thích:
    2
    Điểm thành tích:
    0
    Xu:
    0Xu

    TÓM TẮT NỘI DUNG ĐỒ ÁN

    Đồ án này được chia làm 6 chương:

    - Chương I: Tổng quan về đề tài, giới thiệu các vấn đề sẽ đưa ra nghiên cứu trong đề tài. Giới thiệu hệ điều hành Linux, công nghệ CGI ứng dung trên Linux, và ngôn ngữ Perl cùng với bài toán sẽ đưa ra giải quyết.
    - Chương II: Công nghệ CGI: gồm khái niệm, các thành phần của CGI và cách thức lập trình với CGI trong môi trường Linux. Trong chương này có đưa ra một số ví dụ về các CGI scrips được viết bằng ngôn ngữ Perl và C để làm nổi bật tính không phụ thuộc ngôn ngữ lập trình của CGI
    - Chương III: Nghiên cứu lập trình với ngôn ngữ Perl. Khái niệm về biến, mảng . trong Perl được đưa ra xem xét ở đây. Đặc biệt là mảng liên hợp (assosiative array - hash ) và một số hàm chuển của Perl trong thao tác với mảng liên hợp .
    - Chương IV: Phân tích bài toán quản lý sinh viên tại trường Đậi học kỹ thuật Đà nẵng. Khảo sát các thành phần của hệ thống, các nguyên tắc quản lý, các đối tượng khai thác hệ thống. Mô hình hoá và giải quyết bài toán bằng ngôn ngữ Perl theo công nghệ CGI trên môi trường Linux.
    - Chương V: Kết quả thực hiện chương trình.
    - Chương VI: Kết luận, nêu những kết quả đạt được về lý thuyết, thực tiễn, những hạn chế, tính khả thi và hướng phát triển của đề tài .

    MỤC LỤC

    MỤC LỤC 3
    TỔNG QUAN VỀ ĐỀ TÀI 5
    I. Tình hình sử dụng Linux 5
    II. CGI và Linux 6
    III. Ngôn ngữ Perl 6
    IV. Mục tiêu đồ án 6
    CGI 7
    I. Tổng quan về CGI 7
    I.1. CGI là gì ? 9
    I.1.1 Khái niệm Gateway 9
    I.1.2 Common Gateway Interface 10
    I.2 Tại sao dùng CGI ? 11
    II Lập trình với CGI 12
    II.1 Lựa chọn ngôn ngữ 12
    II.1.1 C/C++(Unix, Linux, Windows, Macintosh) 12
    II.1.2 Perl (Unix, Linux, Windows, Macintosh) 13
    II.1.3 Visual Basic (chỉ dùng trên môi trường Windows) 13
    II.2 Những vấn đề cơ bản trong lập trình CGI 13
    II.2.1 Chương trình ví dụ 13
    II.2.2 Outputting CGI 15
    II.2.2 Sơ lược về HTML Forms 17
    II.2.2.1 Thẻ FORM 19
    II.2.2.2 Trường text và Password 19
    II.2.2.3 Nút Reset và Submit 19
    II.2.2.4 Tham chiếu một số tags 19
    II.2.3 Input CGI 20
    Tóm lại 27
    III. Cài đặt và chạy chương trình CGI 28
    III.1 Cấu hình Server để chạy CGI 28
    III.2 Cài đặt CGI trên server UNIX 29
    III.3 Chạy chương trình CGI 30
    NGÔN NGỮ PERL 31
    I. Giới thiệu 31
    II. Biến trong Perl 32
    II.1 Biến vô hướng(Scalar variables) 33
    II.2 Khối lệnh và các cấu trúc điều khiển 33
    II.3 Phạm vi của biến 35
    II.4 Luật trích dẫn 36
    III. Mảng và mảng liên hợp 38
    III.1 Mảng 38
    III.2 Mảng liên hợp ( associative array - hashes ) 41
    PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 43
    I. Đặt vấn đề 43
    I.1 Dẫn nhập 43
    I.2 Yêu cầu 43
    I.3 Các đối tượng khai thác hệ thống 44
    I.3.1 Phòng đào tạo và công tác chính trị 44
    I.3.2 Các vị giáo vụ khoa 44
    I.3.3 Sinh viên, gia đình sinh viên ( người dùng trên mạng) 44
    I.3.4 Những thuận lợi và khó khăn 44
    a) Thuận lợi 44
    b) Khó khăn 44
    II. Phân tích hệ thống 45
    II.1 Khảo sát hệ thống 45
    II.2 Sơ đồ dòng dữ liệu 46
    II.3 Từ điển dữ liệu 49
    II.4 Mô hình thực thể kết hợp 51
    II.5 Mô hình nhị nguyên 52
    III. Xây dựng chương trình 53
    III.1 Chọn công cụ 53
    III.2 Xây dựng mô hình Logic dữ liệu 54
    III.3 Các thủ tục xử lý trong chương trình 54
    1. Module nhập danh sách lớp mới ( nhapds.cgi ) 54
    2. Module tìm kiếm sinh viên ( timkiem.cgi ) 54
    3. Module xem danh sách ( xem_danh_sach1.cgi ) 55
    4. Module xem điểm ( xem_diem.cgi ) 55
    KẾT QUẢ THỰC HIỆN CHƯƠNG TRÌNH 56
    I. Xây dựng môi trường hệ thống 56
    II. Chạy chương trình 56
    KẾT LUẬN 60
    I. Những kết quả đạt được 60
    I.1 Lý thuyết 60
    I.2 Thực tiễn 60
    II. Tính khả thi 60
    III. Hạn chế 61
    IV. Hướng phát triển 61
    TÀI LIỆU THAM KHẢO 62
    PHỤ LỤC 63
    I. Module nhapds.cgi 63
    II. Module xemdanhsach.cgi 65
    III. Module xemdiem.cgi 67
    IV. Module timkiem.cgi 69

    Chương I

    TỔNG QUAN VỀ ĐỀ TÀI

    I. Tình hình sử dụng Linux

    Linux được xem là một hiện tượng trong lĩnh vực hệ điều hành vài năm gần đây. Báo chí, các diễn đàn, các phòng nói chuyên trực tuyến trên mạng, chương trình "Tìm kiếm tương lai" của VTV3 Đài truyền hình Việt nam .Thậm chí cả chương trình "Khoa học vui" cho trẻ em của VTV1 cũng đều đã có bài đăng tải về Linux.
    Vậy thì Linux là gì vậy ? Linux là một hệ điều hành giống như bao hệ điều hành khác. Nhưng nó có nhiều tính năng mạnh mà không có ở một số hệ khác. Chúng ta, chắc ai cũng đã biết về một hệ điều hành tiền bối - UNIX. Khác với các hệ điều hành của Microsoft, UNIX không rễ sử dụng với những người mới làm quen, không được thân thiện cho lắm, nhưng bù vào đó Unix là một hệ điều hành đa nhiệm thực sự, được viết ra để hỗ trợ cho nhiều người sử dụng, nó tận dụng được tối đa nguồn lực khần cứng của máy tính chính vì vậy Unix có thể chạy tốt trên một số máy tính với cấu hình rất hạn chế. Khả năng kết nối và điều hành mạng rất tốt, có thể đóng vai trò phục vụ trong hầu hết các ứng dụng Internet hiện nay. Unix là một môi trường lập trình lý tưởng cho các nhà lập trình viên chuyên nghiệp.
    Linux mang dòng máu của Unix, được phát triển bởi Sun MicroSystem. Linux có đầy đủ các tính năng vốn có của Unix và Linux đã thân thiện và dễ sử dụng hơn thông qua hệ thống X-Window. ở các nước Châu Âu, đặc biệt là Pháp, Linux được đặc biệt yêu mến và sử dụng rộng rãi. Điều này cũng dễ giải thích do những tính năng tiến bộ của Linux: tính bảo mật cao, hệ thống kết nối mở, tích hợp nhiều công nghệ mới, nhiều ngôn ngữ lập trình được bao hàm trong hệ thống .
    Ở nước ta, Linux được biết đến trong vòng khoảng 3 năm trở lại đây. Chúng ta đã biết, máy tính được sử dụng thực sự rộng rãi ở nước ta trong khoảng 10 năm nay, thời điểm mà các hệ điều hành của Microsoft đang thống trị - DOS, Windows 3.x. Theo truyền thống thì việc thay đổi một hệ điều hành là chuyện tương đối khó ở nước ta, phải đào tạo lại lớp người sử dụng, phải thay đổi hệ thống phần mềm .Hơn nữa Linux không phải dễ sử dụng cũng như quảnt rị hệ thống. Chính vì vậy, hiện nay ở nước ta Linux chỉ được sử dụng ở trong các môi trường xí nghiệp mang tính chuyên môn cao, còn với người dùng máy tính PC thì Linux mới chỉ mang tính khái niệm, "có biết nhưng chưa dùng".
    II. CGI và Linux
    Sự phát triển của Internet đã giúp chúng ta gần nhau hơn trong mọi lĩnh vực, bất kể khoảng cách và ngày đêm. Nhưng những Web server trên Internet đa số chỉ phục vụ các dịch vụ mang tính truyền thông ở mức vĩ mô. Các ứng dụng để khai thác cơ sở dữ liệu để phục vụ trong các bài toán quản lý, quảng cáo, diễn đàn, nói chuyện trực tuyến trên mạng, các dịch vụ tìm kiếm nhanh . đều đòi hỏi người dùng phải viết chương trình.
    CGI (Common Gateway Interface) là một công nghệ giúp mở rộng khả năng của Web server để giải quyết các bài toán mang tính đặc thù và có thể vận hành trên mạng. Việc chọn ngôn ngữ cho lập trình CGI ít bị hạn chế do tính mềm dẻo của nó và chỉ cần tuân thủ vài nguyên tắc, chúng ta có thể viết một chương trình CGI.
    Chúng ta có thể sử dụng công nghệ CGI để áp dụng cho lập trình trong mọi hệ điều hành, miễn là hệ điều hành đó có thể kết nối mạng và có một phần mềm Web server chạy trên đó. Linux là một hệ điều hành mạng, có thể đóng vai trò phục vụ trong nhiều dịch vụ đang có hiện nay (WWW, FTP, Telnet, Wais .). Hơn nữa, Linux cung cấp một Web server nổi tiếng mang tên Apache Server, phiên bản mới nhất 1.1.5. Web server này hỗ trợ lập trình CGI rất mạnh.
    III. Ngôn ngữ Perl
    Perl (Practical Extraction and Reporting Language) có nhiều ưu điểm của một ngôn ngữ lập trình có cấu trúc giống như C , Pascal . Song trên thực tế Perl là một ngôn ngữ diễn dịch (Interpreted language) có nhiều ưu điểm trong lập trình CGI. Thao tác xử lý chuỗi mạnh, có khả năng làm việc tốt với các biến môi trường, dễ lập trình, dễ gỡ rối . Hơn nữa Perl được tích hợp bên trong Linux.
    IV. Mục tiêu đồ án
    Cùng với sự gợi ý của giáo viên hướng dẫn và nhận thức của bản thân về khả năng và tầm quan trọng của các lĩnh vực đã trình bày ở trên, tôi quyết định chọn hướng nghiên cứu cho đồ án tốt nghiệp như sau:
    - Hiện thực và cài đặt hệ điều hành Linux
    - Nghiên cứu công nghệ CGI
    - Lập trình CGI với ngôn ngữ Perl
    Cuối cùng để minh họa cho kết quả nghiên cứu, tôi chọn và giải quyết bài toán: "Quản lý điểm sinh viên trường Đại học kỹ thuật Đà Nẵng" với ý tưởng như sau:
    - Giúp phòng đào tạo quản lý điểm sinh viên của trường Đại học kỹ thuật
    - Giúp cha mẹ sinh viên có thể biết được những thông tin về con mình kỳ nào, học môn gì, mấy điểm thông qua mạng Internet. Góp phần gắn kết mối liên lạc giữa gia đình và nhà trường.
    - Đơn giản hoá việc liên lạc giữa các giáo vụ khoa và phòng đào tạo trong việc nộp điểm và cập nhật điểm cho sinh viên qua mỗi học kỳ.
     

    Các file đính kèm:

Đang tải...