1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng game cờ caro trên ngôn ngữ java theo hướng cấu phần

15 29 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 0,97 MB

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO BÀI TẬP LỚN PHÁT TRIỂN PHẦM MỀM THEO CẤU PHẦN Đề tài: Xây dựng game cờ caro ngôn ngữ java theo hướng cấu phần Giáo viên hướng dẫn : Nguyễn Thái Cường Nhóm thực : Nhóm 19 Lớp : ĐH-KTPM4 – K10 Thành viên thực : Đào Hồng Nhung Đỗ Thị Thêu Đặng Thị Thơ Hà Nội, 2018 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO BÀI TẬP LỚN PHÁT TRIỂN PHẦM MỀM THEO CẤU PHẦN Đề tài: Xây dựng game cờ caro ngôn ngữ java theo hướng cấu phần Giáo viên hướng dẫn : Nguyễn Thái Cường Nhóm thực : Nhóm 19 Lớp : ĐH-KTPM4 – K10 Thành viên thực : Đào Hồng Nhung Đỗ Thị Thêu Đặng Thị Thơ Hà Nội, 2018 LỜI NĨI ĐẦU Nói đến cơng nghệ thơng tin hình dung đến mơi trường phát triển động vào bậc giới Nó áp dụng vào mặt đời sống, xã hội người, từ công việc giải trí Cùng với phát triển vượt bậc CNTT, người làm nên sản phẩm hữu ích để phục vụ cho đời sống tiêu biểu phải nói đến ngành giải trí Hiện có nhiều chương trình game đời mang tính giải trí mạnh mẽ thú vị, nhiên chương trình nhỏ mang tính trí tuệ chiếm phần lĩnh vực Một chương trình phải nói đến chương trình chơi cờ, đại diện “Trò chơi cờ caro” Một loại cờ nhiều người u thích tính đơn giản, thú vị trị chơi Chương trình viết ngơn ngữ Java, loại ngơn ngữ có tính tương tác mạnh với cơng cụ có sẵn giúp cho người lập trình dễ dàng phát triển ứng dụng nhanh thuận lợi Nhóm chúng em nhóm sinh viên với kinh nghiệm lập trình chưa có nhiều, kiến thức hạn hẹp, kĩ nhiều hạn chế nhận giúp đỡ tận tình thầy Nguyễn Thái Cường bạn lớp, nhóm em cố gắng hồn thành xong tập lớn Tuy nhiên tập lớn cịn nhiều thiếu xót lỗi mong nhận đóng góp tích cực người để nhóm em hồn thiện tốt Nhóm em xin chân thành cảm ơn! Hà Nội, ngày … tháng 11 năm 2018 Nhóm sinh viên thực hiện! Tóm tắt tập lớn Đề tài: Xây dựng game cờ caro ngôn ngữ java theo hướng cấu phần Nội dung tập lớn gồm có chương: Chương Tổng quan ngôn ngữ Java lập trình hướng cấu phần - Nêu loại ứng dụng BTL, ngôn ngữ sử dụng, đặc điểm kiểu ứng dụng ngơn ngữ lập trình Kiến thức tổng quát cấu phần, cách xây dựng kiểu ứng dụng theo cấu phần Chương Phân tích thiết kế hệ thống game cờ caro - Chức chương trình, phân bố chức theo modul (cấu phần), phân rã chức dựa theo cấu phần Phân tích thiết kế dựa vào UML Chương 3: Thực nghiệm kết qua Nêu ngắn gọn cách xây dựng chương trình từ mã nguồn (sử dụng command line công cụ) Cần rõ cấu phần xây dựng MỤC LỤC Trang DANH MỤC HÌNH Trang PHẦN I MỞ ĐẦU Tên đề tài Xây dựng game cờ caro ngôn ngữ java theo hướng cấu phần Lý chọn đề tài Game cờ caro nói quen thuộc với người lứa tuổi đặc biệt sinh viên, học sinh Cách chơi game dễ, đơn giản: bạn cần tích vào ô vuông “X” “O” cho chữ “X” “O” đứng liền tạo thành hàng thẳng , dọc, chéo, ngang bạn thắng Chính lối chơi đơn giản khơng phức tạp không bị nhàm chán nên cờ caro trở nên phổ biến sống Mục đích Làm quen với ngôn ngữ, câu lệnh số cơng nghệ Nhằm giải trí nhẹ nhàng cho căng thẳng, nâng cao trí tuệ Mục tiêu Hiểu kiến thức hướng cấu phần Cách xây dựng chương trình theo hướng cấu phần Phân tích thiết kế hệ thống UML Phân tích thành phần cho game Phương pháp thực Thu thập nghiên cứu tài liệu Phương pháp mô tả Phương pháp lập kế hoạch Phương pháp phân tích Phương pháp thiết kế Ngơn ngữ lập trình: Java Cơng cụ: IntelliJ IDEA PHẦN II PHẦN NỘI DUNG Chương Tổng qt ngơn ngữ Java lập trình hướng cấu phần 1.1 Ngơn ngữ lập trình Java 1.1.1 Khái niệm chung Java công nghệ xây dựng ứng dụng phần mềm có vị trí lớn năm cuối kỉ 20, đầu kỉ 21 Nó coi cơng nghệ mang tính cách mạng khả thi việc tạo ứng dụng có khả chạy thống nhiều tảng mà cần biên dịch lần Đặc điểm bật: - Máy ảo Java (JVM - Java Virtual Machine) - Thông dịch - Độc lập - Hướng đối tượng - Đa nhiệm - đa luồng (MultiTasking - Multithreading) - Khả chuyển (portable) - Hỗ trợ mạnh cho việc phát triển ứng dụng 1.1.2 Java Swing Java Swing phần Java Foundation Classes (JFC) sử dụng để tạo ứng dụng Window-Based Nó xây dựng AWT (Abstract Windowing Toolkit) API viết hồn tồn Java Khơng giống AWT, Java Swing cung cấp thành phần (Component) gọn nhẹ độc lập tảng Javax.swing Package cung cấp lớp cho Java Swing chẳng hạn JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JcolorChooser Cấu trúc thứ bậc lớp Java Swing Sơ đồ cung cấp cho bạn nhìn tổng quan cấu trúc theo thứ bậc lớp Java Swing Hình 1.1 Cấu trúc thứ bậc Java Swing Các phương thức sử dụng phổ biến lớp Component Trong bảng sau, liệt kê số phương thức thường sử dụng Java Swing Phương thức Miêu ta public void add(Component c) Thêm thành phần thành phần khác public void setSize(int width,int height) Thiết lập kích cỡ thành phần Public void setLayout(LayoutManager m) Thiết lập Layout Manager cho thành phần public void setVisible(boolean b) Thiết lập tính nhìn thấy (visible) thành phần Theo mặc định false Có hai cách để tạo Frame: - Bởi tạo đối tượng lớp Frame (quan hệ kết hợp - Association) Bởi kế thừa lớp Frame (quan hệ kế thừa - inheritance) Phương thức setBounds(int xaxis, int yaxis, int width, int height) sử dụng để thiết lập vị trí button Giới thiệu Swing Control Mỗi UI (User Interface) bao gồm ba mặt chính: - Các phần tử UI: Đó phần tử nhìn thấy chủ yếu mà người dùng cuối nhìn thấy tương tác với GWT cung cấp nhiều phần tử đa dạng từ tới nâng cao Chúng ta giới thiệu chúng chương - Layout: Chúng định nghĩa cách phần tử UI nên tổ chức hình cung cấp đối tượng L&F (là viết tắt Look and Feel) cuối tới GUI (Graphical User Interface) Phần trình bày chương Layout - Hành vi: Đó kiện xảy người dùng tương tác với phần tử UI Phần trình bày chương Xử lý kiện Mỗi SWING control kế thừa thuộc tính từ cấu trúc thứ bậc lớp Component Lớp Component Java Swing Lớp Component lớp abstract cho điều khiển UI mà khơng có menu SWING Component biểu diễn đối tượng với biểu diễn đồ họa Sau cú pháp để khai báo lớp: public abstract class Component extends Object implements ImageObserver, MenuContainer, Serializable Lớp Component có Constructor có tên protected Component() Nó sử dụng để tạo Component Lớp Component bao gồm trường sau: static float BOTTOM_ALIGNMENT: Hằng dễ dàng sử dụng cho getAlignmentY static float CENTER_ALIGNMENT: Hằng dễ dàng sử dụng cho getAlignmentY getAlignmentX static float LEFT_ALIGNMENT: Hằng dễ dàng sử dụng cho getAlignmentX static float RIGHT_ALIGNMENT: Hằng dễ dàng sử dụng cho getAlignmentX static float TOP_ALIGNMENT: Hằng dễ dàng sử dụng cho getAlignmentY Các phần tử Swing UI Bảng liệt kê danh sách control sử dụng phổ biến thiết kế GUI sử dụng SWING ST T Control & Miêu ta Lớp JLabel Một đối tượng JLabel thành phần để đặt text vào Container Lớp JButton Lớp tạo button gán nhãn Lớp JTable Lớp JTable sử dụng để hiển thị liệu ô bảng hai chiều 10 Lớp Graphics Lớp cung cấp nhiều phương thức để lập trình đồ họa Lớp JColorChooser Một JColorChooser cung cấp pane gồm control thiết kế phép người dùng thao tác lựa chọn màu Lớp JCheck Box Một JCheckBox thành phần đồ họa mà trạng thái on (true) off(false) Lớp JRadioButton Lớp JRadioButton thành phần đồ họa mà trạng thái on (true) off (false) nhóm Lớp JList Một thành phần JList biểu diễn cho người dùng danh sách item Lớp JComboBox Một thành phần JComboBox biểu diễn cho người dùng menu lựa chọn 10 JTextField Một đối tượng JTextField thành phần text cho phép chỉnh sửa dòng text đơn 11 Lớp JTextArea 11 Một đối tượng JTextArea thành phần text cho phép sửa đổi text có nhiều dịng 12 Lớp ImageIcon Một ImageIcon control trình triển khai Icon Interface mà tô màu Icon từ Image 13 Lớp JScrollbar Một Scrollbar control biểu diễn thành phần scroll bar người dùng khả lựa chọn từ dãy giá trị 14 Lớp JOptionPane JOptionPane cung cấp tập hợp dialog box chuẩn mà gợi ý người dùng giá trị thông báo cho họ 15 JFileChooser Một JFileChooser control biểu diễn dialog window từ người dùng lựa chọn file 15 Lớp JProgressBar Thanh tiến trình hiển thị phần trăm hoàn thành tác vụ diễn 17 Lớp JSlider Một JSlider cho phép người dùng lựa chọn giá trị từ dãy cụ thể 18 Lớp JSpinner Một JSpinner trường input dòng đơn, cho phép người dùng lựa chọn số giá trị đối tượng từ dãy qua xếp 12 JPanel container (thùng chứa) dùng để chứa đối tượng tương tự JFrame nhiên khơng phải JFrame Dễ hiểu bạn hình dùng ngơi nhà JFrame, phòng ngủ, phòng khách, phòng ăn JPanel, tức JFrame chứa JPanel, JPanel lại chứa đối tượng chí JPanel khác Tạo Jpanel Chúng ta có Phương thức khởi tạo JPanel hay dùng là: JPanel(): Tạo JPanel với Layout mặc định FlowLayout JPanel(LayoutManager layout): Tạo JPanel với Layout định 1.2 Lập trình hướng cấu phần 1.2.1 Khái niệm lập trình hướng cấu phần - Lập trình hướng cấu phần (COP – Component Oriented Programming) cho phép chương trình xây dựng lên từ cấu trúc phần mềm có sẵn, việc tái sử dụng, tự chữa khối mã máy tính Các thành phần phải tuân theo tiêu chuẩn định, bao gồm giao diện, kết nối, phát triển triển khai cấu phần theo nhiều hình dạng kích cỡ khác nhau, từ cấu phần ứng dụng kích cỡ nhỏ giao dịch trung gian trực tiếp, cấu phần khổng lồ bao chứa chức mở rộng Về nguyên tắc, cấu phần tái sử dụng độc lập với ngữ cảnh, nói cách khác, sử dụng lúc, nơi Các ngơn ngữ sử dụng lập trình hướng cấu phần: Visual Basic, Delphi, C#, Java… 1.2.2 Nguyên tắc hướng cấu phần Từ “cấu phần” dùng ngành cơng nghiệp máy tính thời gian dài Có điều thực tế, khái niệm cấu phần xuất xung quanh từ trước máy tính đời Mặc dù có nhiều định nghĩa khác phần mềm hướng cấu phần, nguyên tắc phần mềm cấu phần giống cũ từ định nghĩa khác Các nguyên tắc công nghệ phần mềm hướng cấu phần nói chung lập trình hướng cấu phần nói riêng Nguyên tắc 1: Cách phân tích thành phần đại diện trừu tượng Chiến lược hiệu để giải vấn đề lớn phức tạp khoa học máy tính “phân chia xử lý” Một ý tưởng phát triển phần mềm hướng cấu phần tạo module phần mềm mà tự khép kín có khả độc lập triển khai Do nhà phát triển phần mềm khác làm việc thành phần độc lập khác mà không cần phải giao tiếp với nhiều, thành phần làm việc liền mạch với Ngoài ra, giai đoạn trì phần mềm, thay đổi số thành phần mà không ảnh hưởng đến tất thành phần khác • Tải FULL (file word 29 trang): bit.ly/2Ywib4t Dự phòng: fb.com/KhoTaiLieuAZ 13 Khi phân tách hệ thống, phân tách yếu tố thành phần riêng biệt số cách sau: - Mỗi thành phần mức chi tiết - Mỗi thành phần giải cách độc lập - Các triển khai thành phần tích hợp để đáp ứng yêu cầu hệ thống Sự trừu tượng cách để phân chia sản phẩm cách thay đổi mức chi tiết xem xét Các thành phần phần mềm cố gắng che giấu số chi tiết để cung cấp thông tin cần thiết cho khách hàng thông qua giao diện họ Chiến lược trừu tượng hóa sau phân chia thành kiểu điển hình trình phát triển phần mềm Sự phân chia sử dụng để phân mảnh phần mềm thành thành phần mà kết hợp với nhằm giải vấn đề đặt Sự trừu tượng hỗ trợ đưa lựa chọn tốt cho thành phần Khoa học máy tính trải qua trừu tượng hóa khác Thủ tục trừu tượng cho phép phân chia vấn đề thành đơn vị chức độc lập Dữ liệu trừu tượng kiểu liệu gói gọn đối tượng với tập hợp hoạt động đặc trưng cho hành vi đối tượng Nguyên tắc 2: Có thể dùng lại nên đạt trình độ khác Phần mềm tồn tài nhiều hình thức khác suốt trình kỹ phát triển phần mềm Tại mơ hình giai đoạn phân tích, đặc tả yêu cầu xem hình thức phần mềm Trong giai đoạn thiết kế, thiết kế kiến trúc thiết kế chi tiết tài liệu phần phần mềm Mã nguồn giai đoạn thực thực thi triển khai code đến khách hàng chắn Do đó, phần mềm dùng lại, bao gồm việc tái sử dụng sản phẩm phần mềm định dạng khác Có năm hình thức thành phần phần mềm, cụ thể là: thành phần đặc tả, thành phần giao diện, thành phần thực hiện, thành phần cài đặt thành phần đối tượng Mỗi hình thức thành phần phần mềm tái sử dụng giai đoạn khác vịng đời phần mềm • Ngun tắc 3: Phát triển phần mềm hướng cấu phần tăng độ tin cậy phần mềm Với tiến nhanh chóng phần cứng máy tính, độ tin cậy cao, mạnh mẽ rẻ phần cứng có sẵn cho ứng dụng khác Độ tin cậy hệ thống tính tốn chủ yếu dựa vào tin cậy phận phần mềm Phát triển phần mềm hướng cấu phần lập trình hướng thành phần cung cấp cách có hệ thống để đạt hệ thống đáng tin cậy Do trừu tượng thành phần hệ thống tích hợp thành phần, dễ dàng nhiều để xác nhận yêu cầu quan trọng xác minh an toàn cho hệ thống hướng thành phần Mặt khác, thành phần tái sử dụng thường kiểm nghiệm qua trình xác nhận sử dụng thực tế thời gian dài, đó, chất lượng yên tâm • Tải FULL (file word 29 trang): bit.ly/2Ywib4t Dự phòng: fb.com/KhoTaiLieuAZ 14 Nguyên tắc 4: Phát triển phần mềm hướng cấu phần tăng xuất phần mềm Phần mềm hướng cấu phần xây dựng cách lắp ráp tái sử dụng thành phần có phát triển từ đầu lần – tái sử dụng thay làm Quá trình nhanh nhiều so với việc phát triển ứng dụng từ đầu hầu hết trường hợp • Nguyên tắc 5: Phát triển phần mềm hướng cấu phần thúc đẩy tiêu chuẩn phần mềm Như Clemens Czyoerski mô tả, thị phần để phát triển, thành phần tiêu chuẩn phải đạt chỗ Tiêu chuẩn sử dụng để tạo thỏa thuận chi tiết kỹ thuật giao diện vững chắc, tạo điều kiện cho hiệu thành phần đảm bảo COP mơ hình lập trình mới, “plugand-play” trở thành thực phát triển phần mềm thành phần phần cứng 1.2.3 Tại COP quan trọng? • Với lập trình hướng cấu phần, người ta tiến hành lập trình theo phương thức sau: - Xây dựng thư viện thành phần, thành phần thực công việc xác định Khi cần phát triển phần mềm cụ thể, người ta cần chọn thành phần có sẵn thư viện để ghép lại với Người lập trình phát triển thêm thành phần cần mà chưa có thư viện COP cung cấp phương thức cao mức độ trừu tượng Có số lượng ngày lớn thành phần tái sử dụng thư viện hỗ trợ việc phát triển ứng dụng cho lĩnh vực khác COP có mục tiêu chính: giải phức tạp, quản lý thay đổi, tái sử dụng - Giai phức tạp: Chúng ta sống giới phức tạp thời đại bùng nổ thơng tin Theo nhóm nghiên cứu trường đại học Berkeley năm 2000, “Thế giới sản xuất từ đến hai exabytes (exabytes = 1018bytes) thơng tin năm, khoảng 250 MB cho người đàn ông, người phụ nữ đứa trẻ trái đất Như khoa học máy tính, kích thước độ phức độ phức tạm tăng lên đáng kể Và thật may mắn, COP cung cấp cách hiệu để đối phó với phức tạp phần mềm: phân chia chinh phục Quan lý thay đổi: Thay đơi vốn có ngành công nghiệp công nghệ phần mềm Các yêu cầu người dùng thay đổi, thay đổi thông số kỹ thuật, thay đổi nhân sự, thay đổi công nghệ, thay đổi ngân sách nhiều nguyên nhân thay đổi khác Một nguyên tắc kỹ thuật phần mềm để nhấn mạnh tầm quan trọng quản lý thay đổi Điều quan trọng cần nhấn mạnh - 15 5191819 ... Đề tài: Xây dựng game cờ caro ngôn ngữ java theo hướng cấu phần Nội dung tập lớn gồm có chương: Chương Tổng quan ngơn ngữ Java lập trình hướng cấu phần - Nêu loại ứng dụng BTL, ngôn ngữ sử dụng,... Trang PHẦN I MỞ ĐẦU Tên đề tài Xây dựng game cờ caro ngôn ngữ java theo hướng cấu phần Lý chọn đề tài Game cờ caro nói quen thuộc với người lứa tuổi đặc biệt sinh viên, học sinh Cách chơi game. .. - - BÁO CÁO BÀI TẬP LỚN PHÁT TRIỂN PHẦM MỀM THEO CẤU PHẦN Đề tài: Xây dựng game cờ caro ngôn ngữ java theo hướng cấu phần Giáo viên hướng dẫn : Nguyễn Thái Cường Nhóm thực : Nhóm 19 Lớp

Ngày đăng: 09/09/2021, 14:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w