BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM ĐỒ ÁN MÔN HỌC XÂY DỤNG GAME CỜ VUA Môn CÔNG CỤ PHÁT TRIỂN PHẦN MỀM Ngành CÔNG NGHỆ THÔNG TIN Mục lục CHƯƠNG 1 TỔNG QUAN 1 1 Giới thiệu đề tài 3 1[.]
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM ĐỒ ÁN MÔN HỌC XÂY DỤNG GAME CỜ VUA Mơn : CƠNG CỤ PHÁT TRIỂN PHẦN MỀM Ngành : CÔNG NGHỆ THÔNG TIN Mục lục CHƯƠNG TỔNG QUAN 1.1 Giới thiệu đề tài 1.2 Ý tưởng CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Tổng quan HTML .4 2.1.2 Phân loại website .5 2.1.3 Cú pháp khai báo 2.1.4 Thuộc tính thẻ .7 2.1.5 Ưu điểm 2.2 CSS 2.3 Javscript 2.3.1 Tầm quan trọng Javscript 10 2.4 Template thiết kế website 11 2.4.1 Có dạng Template 12 2.5 Các công nghệ áp dụng 12 2.5.1 Front end 12 2.5.2 Các công cụ khác 12 2.5.3 Jira 14 2.5.3.1 Tính Jira gì? .14 2.5.3.2 Vì nên dùng Jira? .15 2.5.3.3Các thành phần Jira .15 2.5.3.4 Ưu điểm Jira gì? 15 2.5.3.5 Nhược điểm Jira gì? 16 2.5.3.6 Các thuật ngữ cần biết sử dụng Jira 16 CHƯƠNG KẾT QUẢ THỰC NGHIỆM 18 3.1 Giao diện 18 CHƯƠNG KẾT LUẬN 20 4.1 Kết đạt 20 1.1 Giới thiệu đề tài Cờ vua (tiếng Anh: chess), trước gọi cờ quốc tế, trị chơi quốc tế mơn thể htao trí tuệ cho người chơi Ngày nay, cờ vua trò chơi phổ biến giới với hàng triệu người nhà riêng, câu lạc bộ, trực tuyến, từ xa giải đấu Trị chơi diễn bàn cờ hình vuông gồm hàng (đánh số từ đến 8) cột (đánh chữ từ a đến h), tạo 64 hình vng với màu đậm nhạt xen kẽ nhau, với người chơi có màu nhạt hàng cuối bên tay phải ngồi vào bàn chơi cờ Mỗi người bắt đầu ván cờ với 16 quân cờ quân sau đối phương xong nước Các quân cờ bên bao gồm tốt, mã, tượng, xe, hậu vua Người cầm quân trắng đầu tiên; người cầm quân đen sau Các quân hậu xe gọi quân nặng, tượng mã gọi quân nhẹ Truyền thống thi đấu cờ xuất từ kỉ XVI Ngày nay, cờ vua cơng nhận mơn thể thao thức Ủy ban Olimpic Quốc tế Các nhà lý thuyết sáng tạo nhiều chiến thuật chiến lược kể từ bắt đầu có cờ vua Nhiều khía cạnh nghệ thuật tìm thấy cờ Một mục tiêu ban đầu nhfa khoa học máy tính tạo nên máy tính biết đánh cờ vua Cờ vua ngày bị ảnh hưởng rõ ràng chương trình chơi cờ khả chơi cờ trực tuyến 1.2 Ý tưởng • Thiết kế trò chơi thân thiện • Giao diện đơn giản, gần gũi với người chơi CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Tổng quan HTML HTML viết tắt Hyper Text Markup Language (ngôn ngữ đánh dấu siêu văn bản) HTML cho phép người dùng tạo cấu trúc hóa thành phần trang web đoạn văn, tiêu đề, liên kết, trích dẫn, bảng biểu Các phần tử HTML khối trang web HTML, đại diện thẻ đánh dấu (tag) Thẻ đánh dấu HTML chứa nội dung ‘paragraph’, ‘heading’, ‘table’ Trình duyệt khơng hiển thị thẻ HTML dùng chúng để hiển thị nội dung trang HTML tạo Tim Berners-Lee, nhà vật lý viện nghiên cứu CERN Thụy Sĩ Ông đưa ý tưởng hệ thống siêu văn Internet Siêu văn nghĩa văn chứa liên kết đến văn khác mà người dùng truy cập Ông xuất phiên HTML vào năm 1991, bao gồm 18 thẻ HTML Sau đó, ngơn ngữ HTML có thêm nhiều thẻ thuộc tính để đánh dấu văn Theo tài liệu tham khảo HTML Element Reference Mozilla Developer Network, có khoảng 140 thẻ HTML, bao gồm số thẻ lỗi thời, khơng cịn trình duyệt đại hỗ trợ Một trang web tập tin chứa thông tin hiển thị cho người sử dụng trang web lưu trữ máy chủ web đảm bảo ln có sẵn Internet cho người sử dụng Máy chủ web máy tính sử dụng để lưu trữ, xử lý trả kết phía client để hiển thị trình duyệt Và trình duyệt web hiển thị trang web sử dụng giao thức HTTP/HTTPS 2.1.2 Phân loại website 1/ Website tĩnh Là website phần quản trị nội dung Nội dung trang web định trình thiết kế Thiết kế website tĩnh sử dụng HTML (HTML = Hyper Text Markup Language), JavaScript CSS 2/ Website động Là website có phần quản trị nội dung Nội dung trang web tạo mới, cập nhật xoá dựa vào phần quản trị Thiết kế website động sử dụng HTML, JavaScript, CSS, ngơn ngữ lập trình web (PHP, Java, DotNet,…) sở liệu • Cấu trúc trang web với html Kết hiển thị trình duyệt 2.1.3 Cú pháp khai báo 2.1.4 Thuộc tính thẻ Các thẻ HTML có thuộc tính Thuộc tính cung cấp thêm thơng tin cho thẻ Thuộc tính ln ln định thẻ mở Cách khai báo thuộc tính: name=”value” 2.1.5 Ưu điểm Ngơn ngữ sử dụng rộng lớn có nhiều nguồn tài nguyên hỗ trợ cộng đồng sử dụng cực lớn Sử dụng mượt mà hầu hết trình duyệt Có q trình học đơn giản trực tiếp Mã nguồn mở hoàn toàn miễn phí Markup gọn gàng đồng Chuẩn web vận hành World Wide Web Consortium (W3C) Dễ dàng tích hợp với ngơn ngữ backend PHP Node.js 2.2 CSS CSS viết tắt từ Cascading Style Sheets, dùng để trang trí, định dạng, bố cục cho trang web, khơng có ý nghĩa việc thể nội dung CSS file có phần mở rộng là.css, nhiệm vụ tách riêng phần định dạng (style) khỏi nội dung trang HTML Khi sử dụng CSS dễ dàng quản lý nội dung trang HTML, dễ điều khiển phần định dạng, đặc biệt tốn thời gian code hay chỉnh sửa, giả sử bạn có ~100 file HTML có tiêu đề nhau, bạn muốn tất trang HTML có tiêu đề thay đổi sang màu xanh, CSS thực việc thay đổi với dòng code CSS viết tắt Cascading Style Sheets CSS mô tả cách phần tử HTML hiển thị hình phương tiện khác CSS hữu ích tiện lợi Nó kiểm sốt tất trang website Các stylesheet lưu trữ dạng tập tin CSS Cú pháp Ví dụ : 2.3 Javscript - JavaScript (viết tắt JS) ngơn ngữ lập trình kịch phía máy khách, mã lệnh thực thi trình duyệt người dùng - JavaScript sử dụng rộng rãi việc kết hợp với HTML/CSS để thiết kế web động JavaScript chứa thư viện tiêu chuẩn cho object, ví dụ như: Array, Date, Math, yếu tố cốt lõi ngơn ngữ lập trình như: tốn tử (operators), cấu trúc điều khiển (control structures), câu lệnh JavaScript mở rộng cho nhiều mục đích việc bổ sung thêm object; ví dụ: Client-side JavaScript - JavaScript phía máy khách, JavaScript mở rộng cách cung cấp object để quản lý trình duyệt Document Object Model (DOM) Ví dụ, phần mở rộng phía máy khách cho phép ứng dụng tác động tới yếu tố trang HTML phản hồi giống tác động người dùng click chuột, nhập form, chuyển trang Server-side JavaScript - JavaScript phía Server, JavaScript mở rộng cách cung cấp thêm đối tượng cần thiết để để chạy JavaScript máy chủ Ví dụ, phần mở rộng phía server cho phép ứng dụng kết nối với sở liệu (database), cung cấp thông tin cách liên tục từ yêu cầu tới phần khác ứng dụng, thực thao tác với tập tin máy chủ JavaScript Java giống lại khác khác Ngơn ngữ JavaScript có lẽ giống giống với ngôn ngữ Java JavaScript khai báo static khơng có "tính mạnh kiểu" (strong type checking) Java Cú pháp (syntax) lập trình, đặt tên cơng thức xây dựng điều khiển lưu lượng (control-flow) JavaScript phần lớn dựa theo ngơn ngữ lập trình Java, lý JavaScript đổi tên từ LiveScript thành JavaScript Ngược lại với hệ thống thời gian biên dịch (compile-time) Java lớp xây dựng khai báo, JavaScript hỗ trợ tảng hệ thống thời gian chạy dựa số lượng nhỏ loại liệu đại diện cho số, boolean liệu chuỗi JavaScript có mơ hình phổ biến mơ hình đối tượng dựa ngun mẫu (prototype-based) thay mơ hình đối tượng dựa lớp (classbased) Các mơ hình dựa nguyên mẫu cung cấp khả thừa kế động; nghĩa là, kế thừa khác cho đối tượng khác JavaScript hỗ trợ phương thức (function) không khai báo Phương thức thuộc tính (property) đối tượng, thực thi phương thức định kiểu (loosely typed methods) JavaScript ngôn ngữ tự so với Java Bạn khơng cần khai báo tất biến (variable), lớp (class) phương thức (method) Bạn không cần quan tâm cho dù phương thức public, private protected, bạn khơng cần phải implement interfaces Biến, tham số (parameters), kiểu trả phương thức (function return) không cần phải rõ ràng 2.3.1 Tầm quan trọng Javscript 10 - JavaScript ngơn ngữ lập trình phổ biến bậc giới ba ngơn ngữ khơng thể thiếu lập trình viên web o HTML o CSS o JavaScript - Cũng bạn thấy qua ví dụ phía trên, JavaScript mang đến cho Nếu trang web mà khơng có JavaScript trang web thật nhàm chán vơ vị 2.3.2 Hạn chế Javascript - JavaScript ngơn ngữ lập trình phổ biến bậc giới ba ngôn ngữ thiếu lập trình viên web o HTML o CSS o JavaScript - Cũng bạn thấy qua ví dụ phía trên, JavaScript mang đến cho Nếu trang web mà khơng có JavaScript trang web thật nhàm chán vô vị 2.4 Template thiết kế website Template thiết kế Web nhiều bố cục trang đơn thường có tên gọi ngắn theme (chủ đề hay giao diện) Trong thiết kế Website, template hiểu mẫu Web có sẵn sử dụng để định cho kiểu Giao diện hay loại trang Website cụ thể Nó kiểu Website xây dựng hết kích thức phần thơng tin, hình ảnh, sidebar… bạn cần tải thông tin lên thành trang Website hoàn chỉnh Template thiết kế Website nhiều loại, đa dạng, nhà thiết kế đăng tải bán liên tục trang bán template, với ngân sách từ 20$ – 50$, bạn tìm 11 thấy hàng ngàn mẫu bố cục giao diện Website có sẵn theo lĩnh vực mà mong muốn Và, việc sử dụng nguồn template có sẵn mang lại vài ích lợi cho cơng ty đơn vị thiết kế Website như: Tiết kiệm thời gian thực (chỉ cần chỉnh sửa thay đổi yếu tố nội dung cho phù hợp) Tiết kiệm chi phí (chỉ tốn phí mua template + cơng chỉnh sửa) Không phải tự nghĩ ý tưởng cho tất trang Web Không phải thiết kế lại từ đầu Sở hữu nhiều tính năng, kiểu bố cục thú vị độc đáo Cập nhật xu hướng thiết kế Website Sản phẩm đảm bảo Có nhiều mẫu mã đa dạng để lựa chọn 2.4.1 Có dạng Template Thường Template dùng cho nhiều trang Website khác Và trang Website dùng nhiều Template khơng giống cho Nếu để ý kỹ chút bạn thấy trang Website bán hàng giới thiệu doanh nghiệp chứa nhiều Template khác nhau, thiết kế theo nhiều dạng khác nhau, với màu sắc không giống nhau, xếp cách khác nhau, với thông tin khác nhau… 2.5 Các công nghệ áp dụng 2.5.1 Front end Ngôn ngữ : HTML , CSS , Javascript 2.5.2 Các công cụ khác Github 12 Hình 2.1 Quản lí source code Github Hình 2.2 Commit dự án 13 Hình 2.3 Commit dự án Github Desktop 2.5.3 Jira Jira ứng dụng theo dõi quản lý lỗi, vấn đề dự án, phát triển để làm quy trình trở nên dễ dàng cho tổ chức JIRA thiết kế với trọng tâm vào kết cơng việc, sử dụng linh hoạt sử dụng 2.5.3.1 Tính Jira gì? Quản lý, theo dõi tiến độ dự án Quản lý lỗi, tính năng, cơng việc, cải tiến vấn đề Tìm kiếm nhanh chóng với lọc JIRA Query Language Xây dựng quy trình làm việc tương thích với yêu cầu dự án Cung cấp nhiều loại báo cáo thống kê với nhiều loại biểu đồ khác phù hợp với nhiều loại hình dự án, nhiều đối tượng người dùng Dễ dàng tích hợp với hệ thống khác (như Email, Excel, RSS…) Có thể chạy hầu hết tảng phần cứng, hệ điều hành sở liệu 14 2.5.3.2 Vì nên dùng Jira? Dễ dàng lựa chọn nhiều loại dự án với mục đích khác Dễ dàng lên kế hoạch, phân chia nhiệm vụ cho thành viên Tạo quy trình làm việc hiệu Dễ dàng quản lý nhiều dự án phần mềm lúc Bộ lọc JIRA Query Language giúp tìm kiếm nhanh chóng Dễ dàng đưa báo cáo phân tích tình hình dự án cách nhanh chóng, xác hiệu Hơn 950 add-on mang đến tính nâng cao Giao diện thân thiện, rõ ràng, dễ thao tác, thích hợp với đối tượng người sử dụng 2.5.3.3 Các thành phần Jira Roles: Xác lập role dự án, Mục xác nhận tham gia vào dự án, người add vào role tạo Resource Allocation project team sau Nhiều người vào role Issue: tasks, bugs, features hay type khác project work Project: Chức dùng để phân quyền approve worklog cho thành viên dự án Ai team lead group approve worklog cho member group Project management quyền approve cho toàn thành viên dự án C Component sản phẩm dự án Ở nhập tất sản phẩm dự án lấy từ file kế hoạch doanh số Nếu dự án làm theo Scrum Product Sprint tương ứng Workflow: Là quản trị JIRA, bạn cấu hình gây nên quy trình làm việc, điều kiện, xác nhận, sau chức Trang cung cấp nhìn tổng quan bước cho phần công việc bạn Priority: Là mức độ ưu tiên defect Có mức , chọn theo datalist Status: Đại diện cho vị trí vấn đề workflow Resolution 2.5.3.4 Ưu điểm Jira gì? Jira có chức phân quyền chi tiết, không phân quyền dự án chung, mà phân quyền nhiệm vụ, giúp team công nghệ bảo vệ thơng tin độc quyền Dễ dàng tích hợp với hệ thống khác (như Email, Excel, RSS,…) Hệ thống module công cụ phát triển bổ trợ cho phép tùy biến, mở rộng tích hợp Jira vào hệ thống 15 Jira phát triển sử dụng chuẩn HTML thử nghiệm với tất trình duyệt phổ biến Có thể chạy hầu hết tảng phần cứng, hệ điều hành sở liệu Mỗi hình Jira có phiên in đảm bảo việc luân chuyển cứng cách dễ dàng Có thể tích hợp trực tiếp với code môi trường phát triển, cơng cụ hồn tồn phù hợp với developer 2.5.3.5 Nhược điểm Jira gì? Chi phí cao, sau ngày dùng thử doanh nghiệp có quy mơ lớn tốn nhiều chi phí: $10 tháng dành cho tối đa 10 tài khoản; từ 11-100 tài khoản $7/tài khoản/tháng Tốn nhiều thời gian công sức để setup nên phát huy tối ưu hiệu với dự án lớn, không phù hợp với dự án vừa nhỏ (dưới tháng) Ngôn ngữ tiếng Anh với nhiều thuật ngữ khó sử dụng Quy trình làm việc phức tạp địi hỏi phải tìm hiểu kỹ lưỡng Tóm lại, Jira phần mềm quản lý dự án đặc thù, lựa chọn hoàn hảo cho team làm việc theo phương pháp Agile, đặc biệt team công nghệ phát triển phần mềm 2.5.3.6 Các thuật ngữ cần biết sử dụng Jira Jira phần mềm với nhiều thuật ngữ công nghệ: Sprint: Một vòng lặp ngắn hạn (lý tưởng 2-4 tuần) mà đội phát triển thực đầy đủ công việc cần thiết lập kế hoạch, phân tích yêu cầu, thiết kế, triển khai phần nhỏ sản phẩm Backlog: Danh sách tập hợp user stories, bugs tính cho sản phẩm sprint Scrum: Một phương pháp Agile, nơi sản phẩm xây dựng theo lần lặp lặp lại sprint Scrum of Scrums: Một kỹ thuật để mở rộng quy mô Scrum, dự án đa đội – theo truyền thống gọi program management Board: Công cụ dùng để hiển thị hoạt động cơng việc quy trình làm việc cụ thể Nó thay đổi thích ứng với phương pháp Agile khác (ví dụ, bảng Scrum hiển thị công việc di chuyển từ product backlog đến sprint backlog, 16 bảng Kanban thường có quy trình làm việc ba bước: To do, In Progress, Done) Hình 2.4 Phân quyền Jira 17 CHƯƠNG KẾT QUẢ THỰC NGHIỆM 3.1 Giao diện Hình 3.1 Giao diện chơi game 18 Hình 3.2 Giao diện chơi game 19 CHƯƠNG KẾT LUẬN 4.1 Kết đạt - Xây dựng trò chơi đơn giản với người chơi, hiểu cách thức làm việc xây dựng chức đề - Hiểu cách thức làm việc nhóm Github Jira File đính kèm: https://drive.google.com/file/d/1w2EnAQBW5_SoS9bM5CPxsvmp7ioA_KTi/view? usp=sharing 20 ... cạnh nghệ thuật tìm thấy cờ Một mục tiêu ban đầu nhfa khoa học máy tính tạo nên máy tính biết đánh cờ vua Cờ vua ngày bị ảnh hưởng rõ ràng chương trình chơi cờ khả chơi cờ trực tuyến 1.2 Ý tưởng... thống thi đấu cờ xuất từ kỉ XVI Ngày nay, cờ vua công nhận môn thể thao thức Ủy ban Olimpic Quốc tế Các nhà lý thuyết sáng tạo nhiều chiến thuật chiến lược kể từ bắt đầu có cờ vua Nhiều khía... phải ngồi vào bàn chơi cờ Mỗi người bắt đầu ván cờ với 16 quân cờ quân sau đối phương xong nước Các quân cờ bên bao gồm tốt, mã, tượng, xe, hậu vua Người cầm quân trắng đầu tiên; người cầm quân