MỞ ĐẦU Phần mềm trò chơi đường lên đỉnh Olympia là một sân chơi đầy sáng tạo và cũng quan trọng trong việc dạy và học. Tuy nhiên, trong thực tiễn hiện nay thì đây là việc chưa được quan tâm và coi trọng một cách đầy đủ. Hầu hết các trường THPT [1] không tổ chức trò chơi đường lên đỉnh Olympia trong dạy học, một số trường có tổ chức nhưng làm một cách hời hợt và chưa thực sự lôi cuốn được đông đảo học sinh tham gia, một số khác đã thực hiện nhưng lại đưa ra những câu hỏi thực tế, khách quan nhưng chưa phổ biến. Từ những vấn đề trên, với mong muốn góp một phần nhỏ vào việc nâng cao chất lượng dạy và học tốt hơn nên tôi đã chọn đề tài “Xây dựng phần mềm tổ chức trò chơi Đường lên đỉnh Olympia cho trường THPT [1] Chu Văn An”.
Mục tiêu đề tài Xây dựng phần mềm thực tế để dễ dàng hỗ trợ cho học sinh trong việc học cũng như là giúp các em có một nơi vừa là giải trí và học hỏi nhau, giúp cho việc phát triển tư duy cũng như tự khẳng định chính mình trong biển thức vô hạng. Xây dựng được bốn vòng thi: Khởi động, vượt chướng ngại vật, tăng tốc, về đích. Đối tượng nghiên cứu và phạm vi nghiên cứu a. Đối tượng nghiên cứu Phần mềm sẽ phục vụ tác nghiệp cho các tác nhân liên quan: - Người điều khiển chương trình - Thí sinh - Người dẫn chương trình - Máy chiếu b.
Phạm vi nghiên cứu Dành cho học sinh trường THPT [1] Chu Văn An. Phương pháp nghiên cứu Khảo sát những thiếu sót của các phần mềm hiện nay. Tìm hiểu cấu trúc cuộc thi đường lên đỉnh Olympia để xây dựng phần mềm và bám sát với thực tế. Tìm ra các phương pháp hiệu quả để chọn lọc các các phương pháp có thể thực hiện được.
SVTH: Nguyễn Trần Anh Tuấn 1 Xây dựng phần mềm tổ chức cuộc thi “Đường lên đỉnh Olympia” cho trường Trung Học Phổ Thông Chu Văn An 4. Giải pháp công nghệ a.Ngôn ngữ lập trình Sử dụng ngôn ngữ C# - .Net Framework Ngôn ngữ lập trình Visual basic b. Công cụ hổ trợ Adobe XD : Thiết kế giao diện 5. Cấu trúc đồ án MỞ ĐẦU Giới thiệu tổng quan về đề tài, các kết quả nghiên cứu liên quan đến đề tài.Trình bày lý do chọn đề tài, mục tiêu của đề tài, phương pháp nghiên cứu và giải pháp công nghệ hỗ trợ xây dựng đề tài.
Trình bày tóm tắt nội dung của các chương tiếp theo. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Giới thiệu về ngôn ngữ, và trình bày tổng quan về việc sử dụng các phần mềm hổ trợ xây dựng phần mềm, các công cụ thường xuyên sử dụng để xây dựng nền tảng cho bài toán. Mô tả một số công nghệ mới hổ trợ phát triển phần mềm. CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG Phân tích các tác nhân và chức năng của từng tác nhân, yêu cầu phi chức năng của hệ thống.
Xây dựng kịch bản usecase, vẽ sơ đồ và phát thảo các giao diện. CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH Trình bày kết quả của dự án. Mô tả tổng quan diao diện và giải thích những chức năng trên giao diện. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận chung cho các chương trong đồ án.
Trình bày những vấn đề đã giải quyết đồng thời trình bày các vấn đề chưa giải quyết và cách khắc phục. Nêu lên hướng giải quyết trong tương lai. SVTH: Nguyễn Trần Anh Tuấn 2 Xây dựng phần mềm tổ chức cuộc thi “Đường lên đỉnh Olympia” cho trường Trung Học Phổ Thông Chu Văn An Chương 1 CƠ SỞ LÝ THUYẾT 1. C# là gì? C# là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội ngũ kỹ sư dẫn đầu là Andres Hejlsberg và Scott Wiltamuth của Microsoft vào năm 2000.
Nó là một ngôn ngữ được xây dựng dựa trên nền tảng của C++ và Java. Nhờ vậy mà chúng hầu như đều có cấu trúc chương trình khá giống nhau. Một số cải tiến của nó đó chính là cấu trúc được rút gọn sao cho dễ nhớ và đơn giản hơn. Ngôn ngữ lập trình C# được các chuyên gia nhận xét là loại ngôn ngữ thuần hướng các đối tượng.
So với những loại ngôn ngữ lập trình khác thì C# sử dụng lượng từ khóa ít hơn rất nhiều. Nhờ đặc điểm này mà các lập trình viên đều thuận tiện hơn rất nhiều cho việc xây dựng lên các đối tượng dành riêng cho mình. C# được thiết kế cho các ngôn ngữ chung cơ sở hạ tầng (Common Language Infrastructure – CLI), trong đó bao gồm các mã (ExecuBảng Code) và môi trường thực thi (Runtime Environment) cho phép sử dụng các ngôn ngữ cao cấp khác nhau trên đa nền tảng máy tính và kiến trúc khác nhau. Những đặc điểm cơ bản của C# Nhắc đến C#, thì mình không thể bỏ qua các đặc trung cơ bản của nó.
Với những đặc điểm độc đáo dưới dây, C# đang có xu hướng được ứng dụng phổ biến và thường xuyên hơn trong phát triển ứng dụng. C# có những đặc điểm như sau: - Hướng đối tượng (nó sở hữu cả 4 tính chất quan trọng) o Tính kế thừa o Tính đóng gói o Tính trừu tượng o Tính đa hình SVTH: Nguyễn Trần Anh Tuấn 3 Xây dựng phần mềm tổ chức cuộc thi “Đường lên đỉnh Olympia” cho trường Trung Học Phổ Thông Chu Văn An - Ít từ khóa (thể hiện ở cơ bản của C# là ít từ khóa) từ khóa được dùng trong ngôn ngữ chỉ nhằm mô tả thông tin, tuy ít từ khóa C# vẫn rất mạnh mẽ cho các lập trình viên thực hiện mọi nhiệm vụ. - Hiện đại, đơn giản. SocketTCP là gì? Trong lập trình, Socket là một API (Application Programming Interface) cung cấp các phương thức để giao tiếp thông qua mạng.
Đây cũng chính là điểm cuối tại liên kết truyền thông 2 chiều (two-way communication) và biểu diễn kết nối giưa Server-Client. Những lớp Socket hiện đang ràng buộc với một cổng Port [5] (thể hiện là một con số cụ thể) để những tầng TCP hoàn toàn có thể định đanh được ứng dụng mà dữ liệu gửi đến. Kết nối Server-Client như thế nào? Khi được chạy, Server cần được xác định rõ địa chỉ IP [4] và sẽ “lắng nghe” trên một Port [5] cụ thể. Server sẽ nằm trong trạng thái này cho đến khi client gửi đến một yêu cầu kết nối.
Sau khi được server chấp nhận, một connection sẽ hình thành cho phép server và client giao tiếp với nhau. Cụ thể hơn, các bước tiến hành trên server và client mà ta cần thực hiện sử dụng giao thức TCP/IP [4] trong C# (có thể chạy server và client trên cùng một máy): Server: - Tạo một đối tượng System.TcpListener để bắt đầu “lắng nghe” trên một cổng cục bộ. SVTH: Nguyễn Trần Anh Tuấn 4 Xây dựng phần mềm tổ chức cuộc thi “Đường lên đỉnh Olympia” cho trường Trung Học Phổ Thông Chu Văn An - Đợi và chấp nhận kết nối từ client với phương thức AccepSocket(). Phương thức này trả về một đối tượng System.Socket dùng để gửi và nhận dữ liệu.
- Thực hiện giao tiếp với client. Thực hiện giao tiếp với clientThông thường quy trình này sẽ được đặt trong một vòng lặp (lặp lại bước 2) để chấp nhận nhiều kết nối cùng lúc (sử dụng Thread) hoặc các kết nối lần lượt.1: Mô hình kết nối Server-Client 1. Những ưu điểm Server-client là gì? - Có khả năng chống tải qua mạng - Đảm bảo toàn vẹn dữ liệu khi có sự cố xảy ra - Dễ dàng mở rộng hệ thống mạng - Chỉ cần chung định dạng giao tiếp mà không cần chung nền tảng là có thể hoạt động được SVTH: Nguyễn Trần Anh Tuấn 5 Xây dựng phần mềm tổ chức cuộc thi “Đường lên đỉnh Olympia” cho trường Trung Học Phổ Thông Chu Văn An - Cho phép tích hợp các kỹ thuật hiện đại như GIS, mô hình thiết kế hướng đối tượng,…. - Cho phép tích hợp các kỹ thuật hiện đại như GIS, mô hình thiết kế hướng đối tượng,….
Những nhược điểm của Server-client là gì? - Auto config: tự động cấu hình thay cho bạn, chỉ cần bắt đầu code và chạy là được - Xây dựng các bean dựa trên annotation thay vì XML - Server Tomcat được nhúng ngay trong file JAR build ra, chỉ cần chạy ở bất kì đâu java chạy được 1. VBA là gì? VBA là viết tắt của Visual Basic Application, là ứng dụng lập trình cơ bản trong Microsoft Office. Đây là ngôn ngữ rất cơ bản mà ai cũng có thể học và sử dụng được, có thể lập trình cho những công việc hàng ngày mình vẫn làm để giúp nó trở nên tự động hơn, nhanh hơn, gọn hơn và đẹp hơn. Lập trình VBA hiển thị thông tin và các hàm điều khiển hiệu ứng Animation trong file PowerPoint để Server có thể điều khiển thông qua các hàm đã xây dựng này(code viết bằng ngôn ngữ lập trình Visual Basic).
Khi chạy các đoạn lệnh đó thì máy tính sẽ tự động thực hiện theo những gì đã được viết. Visual Studio Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft. Microsoft Visual Studio còn được gọi là "Trình soạn thảo mã nhiều người sử dụng nhất thế giới ", được dùng để lập trình C++ và C# là chính. Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang web, các ứng dụng web và các dịch vụ web.
Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft như Windows API, Windows Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight. Nó có thể sản xuất cả hai ngôn ngữ máy và mã số quản lý. SVTH: Nguyễn Trần Anh Tuấn 6 Xây dựng phần mềm tổ chức cuộc thi “Đường lên đỉnh Olympia” cho trường Trung Học Phổ Thông Chu Văn An Visual Studio bao gồm một trình soạn thảo mã hỗ trợ IntelliSense cũng như cải tiến mã nguồn. Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức độ mã nguồn và gỡ lỗi mức độ máy.
Công cụ tích hợp khác bao gồm một mẫu thiết kế các hình thức xây dựng giao diện ứng dụng, thiết kế web, thiết kế lớp và thiết kế giản đồ cơ sở dữ liệu. Nó chấp nhận các plug-in nâng cao các chức năng ở hầu hết các cấp bao gồm thêm hỗ trợ cho các hệ thống quản lý phiên bản (như Subversion) và bổ sung thêm bộ công cụ mới như biên tập và thiết kế trực quan cho các miền ngôn ngữ cụ thể hoặc bộ công cụ dành cho các khía cạnh khác trong quy trình phát triển phần mềm. Ngoài ra còn có những thiết kế như: Windows Forms Designer được sử dụng để xây dựng GUI sử dụng Windows Forms; bố trí có thể được xây dựng bằng các nút điều khiển bên trong hoặc khóa chúng vào bên cạnh mẫu.