Ngôn ngữ BASIC (Beginner’s All Purpose Symbolic Instruction Code) đã có từ năm 1964. BASIC rất dễ học và dễ dùng. Trong vòng 15 năm đầu, có rất nhiều chuyên gia Tin Học và công ty tạo các chương trình thông dịch (Interpreters) và biên dịch (Compilers) cho ngôn ngữ làm BASIC trở nên rất phổ thông. Năm 1975, Microsft tung ra thị trường sản phẩm đầu tay Microsoft BASIC và tiếp đó Quick BASIC (còn gọi là QBASIC) thành công rực rỡ. Quick BASIC phát triển trong nền Windows nhưng vẫn khó khăn khi tạo giao diện kiểu Windows. Sau đó nhiều năm, Microsoft bắt đầu tung ra 1 sản phẩm mới cho phép ta kết hợp ngôn ngữ dễ học BASIC và môi trường phát triển lập trình với giao diện bằng hình ảnh (Graphic User Interface GUI) trong Windows. Đó là Visual Basic Version 1.0 Trước khi ra đời ngôn ngữ này ta không có 1 giao diện bằng hình ảnh (GUI) với một IDE (Integrated Development Environment) giúp các chuyên gia lập trình tập trung công sức và thì gìờ vào các khó khăn liên hệ đến doanh nghiệp của mình. Mỗi người phải tự thiết kế giao diện qua thư viện có sẵn Windows API (Application Programming Interface) trong nền Windows. Điều này tạo ra những trở ngại không cần thiết làm phức tạp việc lập trình. Visual Basic giúp ta bỏ qua những hệ lụy đó, chuyên gia lập trình có thể tự vẽ cho mình giao diện cần thiết trong ứng dụng (application) 1 cách dễ dàng và như vậy, tập trung nổ lực giải đáp các vần đề cần giải quyết trong doanh nghiệp hay kỹ thuật. Ngoài ra, còn nhiều công ty phụ phát triển thêm các khuôn mẫu (modules), công cụ (tools, controls) hay ứng dụng (application) phụ giúp dưới hình thức VBX cộng thêm vào giao diện chính càng lúc càng thêm phong phú. Phiên bản 6.0 cung ứng 1 phương pháp mới nối với Cơ Sở Dữ Liệu (Database) qua sự kết hợp của ADO (Active Data Object). ADO còn giúp các chuyên gia phát triển mạng nối với Cơ Sở Dữ Liệu (Database) khi dùng Active Server Pages (ASP). Bộ Microsoft Visual Studio.NET (đến nay đã phát hành Visual Studio.NET 2008) bao gồm vừa mọi công cụ yểm trợ lập trình và ngôn ngữ lập trình .NET, tỷ như: Visual Basic.NET (VB.NET), C (C Sharp), Visual C++.NET và Visual J.NET và hỗ trợ .NET Framework 3.0. Một trong những công cụ quan trọng là Microsoft Visual Studio.NET Integrated Development Environment (IDE). IDE giúp ta lập trình Visual Basic.NET (VB.NET) dễ dàng, thoải mái và thích thú. IDE không những cung cấp mọi công cụ lập trình cần thiết không thể tìm thấy ở một ứng dụng (application) soạn nguồn mã thông thường bằng chữ (text editors) mà còn giúp kiểm tra nguồn mã (code checking) hay tạo giao diện Windows thích hợp và hiển thị, truy tìm các tập tin liên hệ đến dự án (project) và nhiều thứ khác nữa. Tuy nhiên, VB phiên bản 6.0 (VB6) không cung ứng tất cả các đặc trưng của kiểu mẫu ngôn ngữ lập trình khuynh hướng đối tượng (Object Oriented Language OOL) như các ngôn ngữ C++, Java. Thay vì cải thiện hay vá víu thêm thắc vào VB phiên bản 6.0, Microsoft đã xoá bỏ tất cả làm lại từ đầu các ngôn ngữ lập trình mới theo kiểu OOL rất hùng mạnh cho khuôn nền .NET Framework. Đó là các ngôn ngữ lập trình Visual Basic.NET và C (gọi là C Sharp). Sau đó, nhiều ngôn ngữ lập trình khác cũng thay đổi theo tỷ như smalltalk.NET, COBOL.NET, … làm Công Nghệ Tin Học trở nên phong phú hơn, đa dạng hơn.
LỜI MỞ ĐẦU VB.NET là một trong 25 ngôn ngữ lập trình của NET được cung cấp bởi NET Framework và CLR VB.NET khác hẳn VB6 và thật sự chuyển mình thành 1 ngôn ngữ lập trình OOL chính yếu không khác gì với mọi ngôn ngữ lập trình khác như C#, C++, J++, trong môi trường xây dựng đủ mọi ứng dụng cho nền Windows và quan trọng hơn cả là việc học VB.NET dễ dàng hơn VB.NET được chọn là ngôn ngữ lập trình cho các trang ASP.NET Nếu bạn thích, bạn có thể dùng C# hay C++ thay vì VB.NET cho mọi bài tập trong khóa, sự chuyển đổi qua lại giữa các ngôn ngữ lập trình là điều có thế vì sự khác biệt phần lớn là về cú pháp (syntax) chứ không khác nguyên tắc và cấu trúc lập trình Thật sự, đây là ngôn ngữ lập trình mới và rất lợi hại, không những lập nền tảng vững chắc theo kiểu mẫu đối tượng như các ngôn ngữ lập trình hùng mạnh khác đã vang danh C++, Java mà còn dễ học, dễ phát triển và còn tạo mọi cơ hội hoàn hảo để giúp ta giải đáp những vấn đề khúc mắc khi lập trình CHƯƠNG I: GIỚI THIỆU CHUNG VỀ VB.NET I.1 Sơ lược về lịch sử của VB.NET Ngôn ngữ BASIC (Beginner’s All Purpose Symbolic Instruction Code) đã có từ năm 1964 BASIC rất dễ học và dễ dùng Trong vòng 15 năm đầu, có rất nhiều chuyên gia Tin Học và công ty tạo các chương trình thông dịch (Interpreters) và biên dịch (Compilers) cho ngôn ngữ làm BASIC trở nên rất phổ thông Năm 1975, Microsft tung ra thị trường sản phẩm đầu tay Microsoft BASIC và tiếp đó Quick BASIC (còn gọi là QBASIC) thành công rực rỡ Quick BASIC phát triển trong nền Windows nhưng vẫn khó khăn khi tạo giao diện kiểu Windows Sau đó nhiều năm, Microsoft bắt đầu tung ra 1 sản phẩm mới cho phép ta kết hợp ngôn ngữ dễ học BASIC và môi trường phát triển lập trình với giao diện bằng hình ảnh (Graphic User Interface - GUI) trong Windows Đó là Visual Basic Version 1.0 Trước khi ra đời ngôn ngữ này ta không có 1 giao diện bằng hình ảnh (GUI) với một IDE (Integrated Development Environment) giúp các chuyên gia lập trình tập trung công sức và thì gìờ vào các khó khăn liên hệ đến doanh nghiệp của mình Mỗi người phải tự thiết kế giao diện qua thư viện có sẵn Windows API (Application Programming Interface) trong nền Windows Điều này tạo ra những trở ngại không cần thiết làm phức tạp việc lập trình Visual Basic giúp ta bỏ qua những hệ lụy đó, chuyên gia lập trình có thể tự vẽ cho mình giao diện cần thiết trong ứng dụng (application) 1 cách dễ dàng và như vậy, tập trung nổ lực giải đáp các vần đề cần giải quyết trong doanh nghiệp hay kỹ thuật Ngoài ra, còn nhiều công ty phụ phát triển thêm các khuôn mẫu (modules), công cụ (tools, controls) hay ứng dụng (application) phụ giúp dưới hình thức VBX cộng thêm vào giao diện chính càng lúc càng thêm phong phú Phiên bản 6.0 cung ứng 1 phương pháp mới nối với Cơ Sở Dữ Liệu (Database) qua sự kết hợp của ADO (Active Data Object) ADO còn giúp các chuyên gia phát triển mạng nối với Cơ Sở Dữ Liệu (Database) khi dùng Active Server Pages (ASP) Bộ Microsoft Visual Studio.NET (đến nay đã phát hành Visual Studio.NET 2008) bao gồm vừa mọi công cụ yểm trợ lập trình và ngôn ngữ lập trình NET, tỷ như: Visual Basic.NET (VB.NET), C# (C Sharp), Visual C++.NET và Visual J#.NET và hỗ trợ NET Framework 3.0 Một trong những công cụ quan trọng là Microsoft Visual Studio.NET Integrated Development Environment (IDE) IDE giúp ta lập trình Visual Basic.NET (VB.NET) dễ dàng, thoải mái và thích thú IDE không những cung cấp mọi công cụ lập trình cần thiết không thể tìm thấy ở một ứng dụng (application) soạn nguồn mã thông thường bằng chữ (text editors) mà còn giúp kiểm tra nguồn mã (code checking) hay tạo giao diện Windows thích hợp và hiển thị, truy tìm các tập tin liên hệ đến dự án (project) và nhiều thứ khác nữa Tuy nhiên, VB phiên bản 6.0 (VB6) không cung ứng tất cả các đặc trưng của kiểu mẫu ngôn ngữ lập trình khuynh hướng đối tượng (Object Oriented Language - OOL) như các ngôn ngữ C++, Java Thay vì cải thiện hay vá víu thêm thắc vào VB phiên bản 6.0, Microsoft đã xoá bỏ tất cả làm lại từ đầu các ngôn ngữ lập trình mới theo kiểu OOL rất hùng mạnh cho khuôn nền NET Framework Đó là các ngôn ngữ lập trình Visual Basic.NET và C# (gọi là C Sharp) Sau đó, nhiều ngôn ngữ lập trình khác cũng thay đổi theo tỷ như smalltalk.NET, COBOL.NET, … làm Công Nghệ Tin Học trở nên phong phú hơn, đa dạng hơn I.2 Sơ lược về Visual Basic.NET Visual Basic.NET (VB.NET) là ngôn ngữ lập trình khuynh hướng đối tượng (Object Oriented Programming Language) do Microsoft thiết kế lại từ con số không Visual Basic.NET (VB.NET) không kế thừa VB6 hay bổ sung, phát triển từ VB6 mà là một ngôn ngữ lập trình hoàn toàn mới trên nền Microsoft ’s NET Framework Do đó, nó cũng không phải là VB phiên bản 7 Thật sự, đây là ngôn ngữ lập trình mới và rất lợi hại, không những lập nền tảng vững chắc theo kiểu mẫu đối tượng như các ngôn ngữ lập trình hùng mạnh khác đã vang danh C++, Java mà còn dễ học, dễ phát triển và còn tạo mọi cơ hội hoàn hảo để giúp ta giải đáp những vấn đề khúc mắc khi lập trình Hơn nữa, dù không khó khăn gì khi cần tham khảo, học hỏi hay đào sâu những gì xảy ra bên trong … hậu trường OS, Visual Basic.NET (VB.NET) giúp ta đối phó với các phức tạp khi lập trình trên nền Windows và do đó, ta chỉ tập trung công sức vào các vấn đề liên quan đến dự án, công việc hay doanh nghiệp mà thôi I.3 Sơ lược về NET NET là tầng trung gian giữa các ứng dụng (applications) và hệ điều hành (OS) Tầng NET cung cấp mọi dịch vụ cơ bản giúp ta tạo các công dụng mà ứng dụng (application) đòi hỏi, giống như hệ điều hành cung cấp các dịch vụ cơ bản cho ứng dụng (application), tỷ như: đọc hay viết các tập tin (files) vào dĩa cứng (hard drive), … Tầng này bao gồm 1 bộ các ứng dụng (application) và hệ điều hành gọi là NET Servers Như vậy, NET gần như là một bộ sưu tập (collection) các nhu liệu và khái niệm kết hợp trộn lẫn nhau làm việc nhằm tạo giải đáp các vấn đề liên quan đến thương nghiệp của ta Trong đó: Tập hợp các đối tượng (objects) được gọi là NET Framework và Tập hợp các dịch vụ yểm trợ mọi ngôn ngữ lập trình NET gọi là Common Laguage Runtime (CLR) Các thành phần cơ bản của NET: User Applications NET Framework.NET Servers NET Devices Hardware Components I.3.1.NET Servers Mục tiêu chính của NET là giúp ta giảm thiểu tối đa công việc thiết kế hệ thống tin học phân tán (distributed system) Đa số công việc lập trình phức tạp đòi hỏi đều được thực hiện ở hậu phương (back end) trong các máy cung cấp dịch vụ (servers) Microsoft đã đáp ứng với bộ sưu tập ‘.NET Enterprise Servers’, bộ này chuyên trị và yểm trợ mọi đặc tính (features) hậu phương cần có cho một hệ thống tin học phân tán (distributed system) Bộ sưu tập ‘.NET Enterprise Servers’ bao gồm: * Server Operationg Systems: MS Windows Server, Advanced Server và Data Center Server * Clustering và Load Balancing Systems: MS Application Center, MS Cluster Server * Database System: MS SQL Server (SQL đọc là sư cô, … à không, ’si cồ’) * E-Mail System: MS Exchange Server * Data-transformation engine trên cơ sở XML: MS Biz Talk Server * Accessing Legacy Systems: Host Integration Server Tất cả các máy server này cung cấp mọi dịch vụ cần thiết cho các ứng dụng (application) về NET và là nền tảng xây dựng hệ thống Tin Học cho mọi dự án lập trình I.3.2 NET Framework Đối với Visual Basic.NET (VB.NET), tất cả mọi thứ đều thay đổi tận gốc rễ Một trong những thành phần quan trọng của NET là NET Framework Đây là nền tảng cho mọi công cụ phát triển các ứng dụng (application) NET NET Framework bao gồm: * Môi trường vận hành nền (Base Runtime Environment) * Bộ sưu tập nền các loại đối tượng (a set of foundation classes) * Môi trường vận hành nền (Base Runtime Environment) hoạt động giống như hệ điều hành cung cấp các dịch vụ trung gian giữa ứng dụng (application) và các thành phần phức tạp của hệ thống Bộ sưu tập nền các loại đối tượng (a set of foundation classes) bao gồm 1 số lớn các công dụng đã soạn và kiểm tra trước, tỷ như: giao lưu với hệ thống tập tin (file system access) hay ngay cả các quy ước về mạng (Internet protocols), … nhằm giảm thiểu gánh nặng lập trình cho các chuyên gia Tin Học Do đó, việc tìm hiểu NET Framework giúp ta lập trình dễ dàng hơn vì hầu như mọi công dụng đều đã được yểm trợ Ta xem NET Framework như là một tầng công dụng trừu tượng cung cấp dịch vụ trên hệ điều hành (nhìn dưới khía cạnh cung cấp dịch vụ): User Applications NET Framework Hệ điều hành (OS) Device Drivers Harware Components (Cương liệu) Để mọi ngôn ngữ lập trình sử dụng được các dịch vụ cung cấp bởi NET Framework, Microsoft tạo ra 1 tiêu chuẩn chung cho ngôn ngữ lập trình gọi là Common Language Specifications (CLS) Tiêu chuẩn này giúp các chương trình biên dịch (compilers) làm việc hữu hiệu Microsoft sáng chế ra Visual Basic.NET (VB.NET), Visual C++.NET và C# (đọc là C Sharp) cho nền NET Framework và cũng không quên phổ biến rộng rãi CLS trong Công Nghệ Tin Học giúp các ngôn ngữ lập trình khác làm việc trong nền NET, tỷ như: COBOL.NET, Smalltalk.NET, … .NET Framework bao gồm: Môi trường vận hành nền (Base Runtime Environment) Bộ sưu tập nền các loại đối tượng (a set of foundation classes) Môi trường vận hành nền (Base Runtime Environment) hoạt động giống như hệ điều hành cung cấp các dịch vụ trung gian giữa ứng dụng (application) và các thành phần phức tạp của hệ thống Bộ sưu tập nền các loại đối tượng (a set of foundation classes) bao gồm 1 số lớn các công dụng đã soạn và kiểm tra trước, tỷ như: giao lưu với hệ thống tập tin (file system access) hay ngay cả các quy ước về mạng (Internet protocols), nhằm giảm thiểu gánh nặng lập trình cho các chuyên gia Tin Học Để mọi ngôn ngữ lập trình sử dụng được các dịch vụ cung cấp bởi NET Framework, Microsoft tạo ra 1 tiêu chuẩn chung cho ngôn ngữ lập trình gọi là Common Language Specifications (CLS) Tiêu chuẩn này giúp các chương trình biên dịch (compilers) làm việc hữu hiệu Microsoft sáng chế ra Visual Basic.NET (VB.NET), Visual C++.NET và C# (đọc là C Sharp) cho nền NET Framework và cũng không quên phổ biến rộng rãi CLS trong Công Nghệ Tin Học giúp các ngôn ngữ lậptrìnhkhác làm việc trong nền.NET,như:COBOL.NET,Smalltalk.NET I.3.2.1 Lợi ích của NET Framework • Các thao tác muốn thực hiện trên nền Windows, như data access, windowing, nối mạng hay ngay cả mọi công dụng đa dạng của Win32 API (Application Programming Interface) đều có thể vận dụng dễ dàng qua kiểu mẫu đối tượng (objects) rất đơn giản (simple object model) • Ngôn ngữ lập trình VB.NET đã được hiện đại hóa, bao gồm nhiều classes và mọi đặc trưng (features) của 1 ngôn ngữ lập trình kiểu OOP, không thua kém gì C++, J++ hay C#, • Việc quản lý memory được nâng cấp và tinh vi hơn nhằm bảo đảm các ứng dụng bị té hay cư xử tệ bạt (badly behaved component or application) không ảnh hưỡng gì đến các ứng dụng khác • ASP.NET được dùng để thay thế ASP, đồng thời cung cấp các trang Web được biên dịch giúp tiến trình xử lý các yêu cầu từ Client browser hiệu quả hơn Hơn nữa, còn bao gồm nhiều thành phần soạn sẵn (pre-written components) gọi là Server Control dùng trong các HTML Form và giao diện (user interface) làm việc phát triển mạng thêm dễ dàng và đầy hứng thú • Các ngôn ngữ lập trình được phác thảo để làm việc gần nhau hơn, do đó nguồn mã của VB.NET, C++, C#, có thể sử dụng trộn lẫn với nhau rất thoải mái, tỷ như ta có thể viết mã cho 1 class với VB.NET rồi kế thừa 1 class khác mà mã là C# hay C++, sau đó vẫn 'debug' ngon lành giữa các ngôn ngữ lập trình khác nhau đó I.3.2.2 Phương pháp làm việc của NET Framework • Ðiều kỳ thú nhất trong cấu trúc NET Framework là các nguồn mã của VB.NET hay C# không biên dịch thành mã thi hành gốc (native executable code) mà lại qua trung gian một ngôn ngữ khác gọi là IL (Intermediate Language) trước khi chạy thật sự • Nguồn mã có thể biên dịch thành IL đó còn được gọi là managed code, điều này khiến cho các ngôn ngữ lập trình của NET hoạt động (hay tác động) qua lại (hổ tương - interoperation) với nhau, cho phép ta vận dụng mọi đặc trưng của NET mà không cần phải viết lại các nguồn mã dùng ngôn ngữ lập trình khác • Nguyên tắc của IL cũng tương tự như Java, nhưng khác ở chổ Java là crossplatform independence còn NET là cross-language independence Cũng cần phải nhắc ở đây, Microsoft vẫn mở rộng vòng tay cho việc phát triển NET trên các nền (platform) khác trong tương lai I.3.2.3 Xây dựng chương trình trong NET FRAME: .NET Framework cho ta ba cách để dùng giao diện với chương trình áp dụng, đó là Windows Forms (có khi được gọi tắt là WinForms), Web Forms và Console applications I.3.2.3.1 Sự quan trọng của Windows Forms ? Cách dùng thanh công cụ sẽ được hướng dẫn tùy từng dự án (project) Tuy nhiên, 1 cách tổng quát, thanh công cụ mặc định (default) bao gồm như sau (theo thứ tự từ trái qua phải): • New Project • Add Item • Open File • Save (lưu trữ form hay module đang dùng) • Save All (lưu trữ mọi forms, modules, đang dùng hay đang mở) • Cut • Copy • Paste (sẽ hiển lộ sau khi ta nhấp nút Cut hay Copy) • Undo • Redo • Navigate Backward (lướt lui) • Navigate Forwards (lướt tới) • Nút Start để chạy thử ứng dụng trong IDE • Build Configuration (bố trí xây dựng ứng dụng) trong IDE Ở đây, cho ta biết bố trí hiện dùng là Debug • Truy tìm tập tin (Find in files) • và cuối cùng, nút Toolbar Options để hiển thị thêm các công cụ phụ thuộc khác IV.3.3: Hộp công cụ (Toolbox) Nhấp đơn hộp công cụ nằm phía bên tay trái window thiết kế như hình sau Hộp công cụ bao gồm: • Hộp Data • Hộp Components • Hộp Windows Forms • Hộp Clipboard Ring • Hộp Gerneral Chương V: Khác biệt cơ bản giữa Visual Basic.Net với Visual Basic 6 0 V.1: Những ưu điểm của VB.NET so với VB 6: - Giao diện được thiết kế lại đẹp hơn và dễ dùng - Có thể tương tác với những ngôn ngữ khác - Cú pháp trong sáng hơn dễ hiểu - Hướng đối tượng - Đã có nhiều cải tiến chẳng hạn như overload - Cơ chế đánh dấu sai mã (debug) Những khác biệt cơ bản giữa VB.Net với VB6 V.2: TIÊU CHÍ SO SÁNH VB6 VB.Net Tính thừa kế Không cung cấp tính thừa kế Thực hiện kế thừa đầy đủ cho phép lớp con riêng dẫn xuất các thuộc tính và phương thức từ lớp cơ bản được viết bằng ngôn ngữ Net C++ hay C# Khả năng tương tác - Dùng các kiểu biến khác với C++ và Java, làm cho các ứng dụng viết bằng ngôn ngữ VB và C++ khó tương tác với nhau - Không có khả năng kết hợp tính năng từ những lớp khác Các kiểu biến nhất quán với C++ và C# trên nền CLR Tạo tập tin EXE nhưng lệ thuộc vào các thư viện Tạo tập tin EXE có thể chạy không cần đến các thư viện V.3: VÍ DỤ VỀ VB.NET: Xây dựng một ứng dụng đơn giản với application windows Tạo ứng dụng DLL hỗ trợ Việc triển khai khó khăn vì phải phân phối không chỉ tập tin EXE mà cả các thư viện DLL DLL hỗ trợ Phân luồng Không thể tận dụng hết tính năng phân luồng có trong COM Cho phép phân luồng linh động tăng tính khả năng mở cho ứng dụng Code : Private Sub btnClick Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClickMe.Click MessageBox.Show("Chàomừng&tbxName.Text&"đếnvớiKhóaHọcCơBảnVisualBasic NET","Welcome") End Sub KẾT LUẬN * Mặc dù VB.NET là một phiên bản kế tiếp của VB 6, nhưng nó thật sự là một hướng đi khác cho việc phát triển ứng dụng * VB.NET chuyển sang tập trung vào phát triển các ứng dụng cho môi trường đa tầng hoặc các ứng dụng web Khi đó, đây là một sự thay đổi hướng đi hoàn toàn mới, hơn là một sự thêm vào những đặc điểm mới cho phiên bản đang tồn tại sẵn * VB đã được thiết kế lại để dễ dàng phát triển hơn một cách nhanh chóng các ứng dụngkiểunày * VB.NET cũng được tích hợp đầy đủ với những ngôn ngữ Microsoft NET khác Bây giờ chúng ta có thể sử dụng ngôn ngữ pha trộn đó hỗ trợ cho việc phát triển Web và các ứng dụng đa tầng một cách dễ dàng * Để cung cấp việc truy cập đầy đủ vào platform và để chắc chắn rằng VB đã chuyển sang phát triển ứng dụng Web, nó phải xây dựng được một platform mới hoàn hảo Để có được đầy đủ các tiện ích này, các dự án VB 6 cần được nâng cấp lên VB.NET * Một lần nữa, thông qua sự khác biệt hoàn toàn tự nhiên này, việc nâng cấp không chỉ đơn giản như mở một dự án từ VB 6 trong VB.NET và chạy nó Mặc dù VB.NET đã cung cấp một wizard cho công việc này, và nó tự động làm việc này khá tốt,nhưng có một vài điều mà các nhà phát triển nên kiểm tra và làm một cách thủ công Đó là những hạn chế của Vb.Net.Tuy nhỏ nhưng hy vọng sẽ sớm được khắc phục được để VB.Net trở thành một ngôn ngữ hoàn hảo BẢNG PHÂN CÔNG CÔNG VIỆC: PHẠM THỊ TƯƠI: LỜI MỞ ĐẦU + CHƯƠNG 1 KHỔNG VĂN TRỌNG: CHƯƠNG 2 ĐÀO ANH TUẤN: CHƯƠNG 3 VŨ KHẮC TUỆ:CHƯƠNG 4 NGUYỄN VĂN TÙNG: CHƯƠNG 5 + KẾT LUẬN