CHƯƠNG 1. Lý do chọn đề tài Hiện nay, công nghệ thông tin được xem là một ngành mũi nhọn của các quốc gia, đặc biệt là các quốc gia đang phát triển, tiến hành công nghiệp hóa và hiện đại hoá như nước ta. Sự bùng nổ thông tin và sự phát triển mạnh mẽ của công nghệ kỹ thuật số, yêu cầu muốn phát triển thì phải tin học hoá vào tất cả các ngành các lĩnh vực. Cùng với sự phát triển nhanh chóng về phần cứng máy tính, các ứng dụng ngày càng trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quả cho con người.
Các ứng dụng hiện nay ngày càng mô phỏng được rất nhiều nghiệp vụ khó khăn, hỗ trợ cho người dùng thuận tiện sử dụng, thời gian xử lý nhanh chóng, và hỗ trợ von người trong việc gải trí rất tốt. Do vậy mà trong việc phát triển ứng dụng, sự đòi hỏi không chỉ là sự chính xác, xử lý được nhiều nghiệp vụ thực tế mà còn phải đáp ứng các yêu cầu khác như về tốc độ, giao diện thân thiện. Việc lựa chọ đề tài ‘xây dựng ứng dụng game caro’ được chúng em lên ý tưởng dựa trên cơ sở môn lập trình mạng được học trên lớp. chúng em thấy rằng việc ứng dụng kết thức của môn này vào việc xây dựng game caro là một lợi thế rất lớn.
Mục tiêu nghiên cứu Xây dựng một ứng dụng hoàn thiện về giao diện và tối ưu về chức năng. Ứng dụng sẽ giúp người dùng dễ dàng truy cập, kết nói với máy khác và thực kiện chơi game. Ứng dụng phát triên với một số chức năng cơ bản như tạo phòng thường, tạo phòng có mật khẩu, phần chat, tìm phòng, đầu hàng, tính điểm,… - Xây dựng một hệ thống mới phù hợp, dể hiểu, dể sử dụng cho người dùng phần mềm. - Giúp bản thân có thêm khả năng sáng tạo, tư duy thông qua thiết kế giao diện tương tác với người dùng, vận dụng kiến thức bản thân vào thực tiễn.
Nhiệm vụ nghiên cứu Phần mềm này được tạo ra nhằm mục đích giải trí với game caro, tạo môi trường tương tác qua internet. Phương pháp và phạm vi nghiên cứu Phương pháp nghiên cứu: - Tham khảo, nghiên cứu thêm các tài liệu trên trang web, trang báo, tìm hiểu tình hình thực trạng của đề tài. - Tìm hiểu các đề tài của các anh chị khóa trước đã làm hoặc tìm hiểu qua sách báo, trang mạng liên quan đến đề tài nghiên cứu. - Quan sát, học tập cách chơi caro từ đó ứng dụng vào game một cách hợp lý.
Phương tiện nghiên cứu - Nghiên cứu cơ sở lý thuyết về phân tích và thiết kế hệ thống thông tin. - Hệ quản trị CSDL và ngôn ngữ lập trình Java. - Sử dụng các công cụ eclip để lập trình, thiết kế giao diện. - Sử dụng hệ quản trị cơ sở dữ liệu MySQL để quản trị cơ sở dữ liệu cho đề tài.
Xác định những yêu cầu hệ thống 1. Yêu cầu chức năng Hệ thống bao gồm: - Quản lý tài khoản người dung. - Đăng nhập và đăng kí tài khoản. - Tạo phòng chơi có mật khẩu và không mật khẩu.
Những người quản lý thông tin được cập nhật chính xác, những người thay đổi, những người có quyền lợi thì dễ dàng truy cập để theo dõi thông tin. Hệ thống hoạt động một cách tự động. Yêu cầu phi chức năng Về thiết bị: - Phần cứng: máy tính, mạng để phục vụ cho việc trao đổi dữ liệu và truy cập dễ dàng. - Ứng dụng có thiết kế giao diện đẹp mà đơn giản, không rườm rà.
- Dễ sử dụng đối với người dùng. - Bố cục các phần của ứng dụng rõ ràng. Kết quả đề tài Hoàn thiện ứng dụng về mặt giao diện và một số chức năng cơ bản. Ứng dụng hoàn thiện tạo nên một mối liên hệ mới giữa hai máy tính với nhau với đầy ddue chức năng như: - Quản lý tài khoản người dung.
- Đăng nhập và đăng kí tài khoản. - Tạo phòng chơi có mật khẩu và không mật khẩu. Công cụ thiết kế ứng dụng 2. - Eclipse là gì? Eclipse là 1 công cụ hỗ trợ lập trình mã nguồn mở được phát triển bởi IBM.
Eclipse như một môi trường phát triển Java tích hợp (IDE), với Eclipse chúng ta có thể mở rộng hơn mã nguồn bằng cách chèn thêm các plugins cho project (PDE- Plug-in Development Environment). Mặc dù Eclipse được viết bằng ngôn ngữ lập trình Java, nhưng việc sử dụng nó không hạn chế chỉ cho ngôn ngữ Java. Ví dụ, Eclipse hỗ trợ sẵn hoặc có thể cài thêm các plugins để hỗ trợ cho các ngôn ngữ lập trình như C/C + + và COBOL. Ngoài ra, còn rất nhiều ngôn ngữ khác như PHP, Groovy,.
Eclipse còn hỗ trợ cho lập trình viên code theo các mô hình phát triển như MVC, tạo thêm các lib hỗ trợ phát triển phần mềm. - Ưu, nhược điểm của eclipse Ưu điểm Tạo thuận lợi cho tích hợp liền mạch các công cụ bên trong mỗi một và xuyên qua nhiều kiểu nội dung và các nhà cung cấp công cụ khác nhau. Hỗ trợ việc xây dựng nhiều công cụ. Hỗ trợ một tập hợp không hạn chế các nhà cung cấp công cụ, bao gồm cả các nhà cung cấp phần mềm độc lập (ISV).
Hỗ trợ các công cụ thao tác các kiểu nội dung bất kỳ (bao gồm cả HTML, Java, C, JSP, EJB, XML, và GIF). Hỗ trợ cả môi trường phát triển ứng dụng GUI lẫn không dựa trên GUI. Chạy trên nhiều hệ điều hành, bao gồm cả Windows và Linux. Lợi dụng tính phổ biến của ngôn ngữ Java để viết các công cụ.
Do sử dụng SWT/JFace nên có lẽ load nhanh hơn Nhược điểm Cài đặt phức tạp Tốn phần cứng máy Eclipse cũng khá tốn bộ nhớ máy để cài đặt nên hiện nay eclipse đã khắc phục bằng phiên bản Eclipse Luna, không cần cái đặt 11 Tốn bộ nhớ máy: chạy eclipse cũng khá tốn bộ nhớ máy tính nên để sử dụng nó máy của bạn cũng cần có cấu hình tương đối cao Thiếu tính nhất quán vì có nhiều plugins quá Hình 2 - 1: Công cụ lập trình Eclipse 12 2. Công cụ quản trị cơ sở dữ liệu MySQL. MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. Người dùng có thể tải về MySQL miễn phí từ trang chủ. MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,. MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ Node.js, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl,. Ngôn ngữ thiết kế ứng dụng 2. Ngôn ngữ chính lập trình ứng dụng java. Java là một trong những ngôn ngữ lập trình hướng đối tượng.
Nó được sử dụng trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di động. Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem năm 1991. Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng, và có tên là Oak. Java được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun 13 MicroSystem.
Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (Write Once, Run Anywhere – WORA). Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó. Đặc điểm Tương tự C++, hướng đối tượng hoàn toàn. Trong quá trình tạo ra một ngôn ngữ mới phục vụ cho mục đích chạy được trên nhiều nền tảng, các kỹ sư của Sun MicroSystem muốn tạo ra một ngôn ngữ dễ học và quen thuộc với đa số người lập trình.
Vì vậy họ đã sử dụng lại các cú pháp của C và C++. Ngôn ngữ lập trình Java thuộc loại ngôn ngữ thông dịch. Chính xác hơn, Java là loại ngôn ngữ vừa biên dịch vừa thông dịch. Cơ chế thu gom rác tự động: Khi tạo ra các đối tượng trong Java, JRE sẽ tự động cấp phát không gian bộ nhớ cho các đối tượng ở trên heap.
Đa luồng: Java hỗ trợ lập trình đa tiến trình (multithread) để thực thi các công việc đồng thời. Đồng thời cũng cung cấp giải pháp đồng bộ giữa các tiến trình (giải pháp sử dụng priority…). Hình 2 - 4: Ngôn ngữ lập trình Java 14 2. Ngôn ngữ thiết kế hệ thống UML UML (Unified Modeling Language) là ngôn ngữ dành cho việc đặc tả, hình dung, xây dựng và làm tài liệu của các hệ thống phần mềm.
UML tạo cơ hội để viết thiết kế hệ thống, bao gồm những khái niệm như tiến trình nghiệp vụ và các chức năng của hệ thống.Cách xây dựng các mô hình trong UML phù hợp mô tả các hệ thống thông tin cả về cấu trúc cũng như hoạt động. Cách tiếp cận theo mô hình của UML giúp ích rất nhiều cho những người thiết kế và thực hiện hệ thống thông tin cũng như những người sử dụng nó; tạo nên một cái nhìn bao quát và đầy đủ về hệ thống thông tin dự định xây dựng. Cách nhìn bao quát này giúp nắm bắt trọn vẹn các yêu cầu của người dùng; phục vụ từ giai đoạn phân tích đến việc thiết kế, thẩm định và kiểm tra sản phẩm ứng dụng công nghệ thông tin. Hình 2 - 6: Ngôn ngữ thiết kế hệ thống UML UML sử dụng một hệ thống ký hiệu thống nhất biểu diễn các Phần tử mô hình (model elements).
Tập hợp các phần tử mô hình tạo thành các Sơ đồ UML (UML diagrams).