Báo cáo phân tích thiết kế phần mềm hướng đối tượng

27 1.4K 2
Báo cáo phân tích thiết kế phần mềm hướng đối tượng

Đ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

Báo cáo môn phân tích thiết kế phần mềm hướng đối tượng giáo viên hướng dẫn Trần Anh Dũng

Cộng hòa Xã hội chủ nghĩa Việt Nam Độc Lập – Tự Do – Hạnh phúc Đồ án môn: CÔNG NGHỆ PHẦN MỀM NÂNG CAO Đề tài: Tìm hiểu Eclipse Platform, áp dụng viết phần mềm game Cờ tỷ phú Nhóm 10: Nguyễn Chí Thanh – 10DH11124 Lê Minh Trung – 10DH11143 1. Tổng quan 1.1. Đặt vấn đề Hiện nay, xu hướng sử dụng phần mềm mã nguồn mở đang ngày càng được nhân rộng vì những điểm nổi bật sáng giá của nó trong khi vẫn duy trì chất lượng ngang bằng với những phần mềm được phát triển theo hướng truyền thống. Vì thế, nhu cầu phát triển phần mềm mã nguồn mở cũng ngày càng được nâng cao. Eclipse hiện đang là một trong những môi trường phát triển tích hợp (IDE) phổ biến nhất trên thế giới sử dụng mã nguồn mở, được hỗ trợ bởi một cộng đồng khổng lồ toàn cầu những người sử dụng, các nhà phát triển và các nhà nghiên cứu. 1.2. Tổng quan về Eclipse Platform Eclipse là một nền tảng phát triển mã nguồn mở dựa trên Java, có thể mở rộng được. Bản thân chỉ đơn giản là một khung công tác và một tập các dịch vụ để xây dựng ứng dụng từ các trình cắm thêm (plugin). Về cơ bản, Eclipse đã đi kèm với một bộ trình cắm thêm tiêu chuẩn trong đó có Java Development Tools (JDT). Tuy người dùng đã khá hài lòng khi sử dụng Eclipse như một môi trường phát triển Java tích hợp nhưng tham vọng của nó không dừng ở đó. Eclipse cũng có các môi trường phát triển cắm thêm (PDE - Plug-in Development Environment) dành cho người người muốn mở rộng Eclipse, cho phép xây dựng các công cụ tích hợp liên tục với môi trường Eclipse. Vì mọi thứ trong Eclipse là trình cắm thêm nên tất cả các nhà phát triển công cụ đều có một sân chơi bình đẳng để cung cấp các phần mở rộng cho Eclipse, mang lại một IDE hợp nhất, nhất quán cho người dùng. Sự bình đẳng và nhất quán này không chỉ hạn chế trong các công cụ phát triển Java. Các trình cắm thêm đã có sẵn hoặc được lập kế hoạch để hỗ trợ cho các ngôn ngữ lập trình như như JavaScript, PHP, C, C++, Cobol, Python, C#, HTML, XML. Khung công tác Eclipse cũng có thể được sử dụng làm cơ sở cho các kiểu ứng dụng khác không liên quan đến phát triển phần mềm, chẳng hạn như các hệ thống quản lý nội dung, ứng dụng mạng như Telnet, trình duyệt web. 1.3. Một số sản phẩm đã phát triển liên quan đến Eclipse Platform 1.3.1. Android Development Tools (ADT) ADT là một plugin cho Eclipse, được thiết kế để xây dựng ứng dụng Android trong một môi trường tích hợp mạnh mẽ. ADT mở rộng những tính năng của Eclipse, cho phép cài đặt nhanh chóng các dự án Android, tạo giao diện, thêm gói dựa vào Android Framework API, debug ứng dụng bằng công cụ Android SDK và xuất ra những file .apk để phân phối ứng dụng. Báo cáo CNPM nâng cao Page 2 1.3.2. Google Plugin for Eclipse (GPE) GPE là một bộ những công cụ phát triển phần mềm cho phép những nhà phát triển trên Java nhanh chóng thiết kế, xây dựng, tối ưu hóa và triển khai ứng dụng dựa trên điện toán đám mây. Báo cáo CNPM nâng cao Page 3 1.3.3. Adobe Flash Builder Adobe Flash Builder là một môi trường phát triển để xây dựng game và ứng dụng, sử dụng ngôn ngữ ActionScript và framework mã nguồn mở Flex. 1.3.4. IBM Rational Software Architect (RSA) RSA là một công cụ thiết kế, mô hình hóa và phát triển toàn diện cho phân phối phần mềm end-to-end, sử dụng UML để thiết kế ứng dụng Java và dịch vụ web. RSA được xây dựng trên nền tảng Eclipse và có thể mở rộng bằng nhiều Eclipse plugin. Báo cáo CNPM nâng cao Page 4 1.4. Mục tiêu demo, các sản phẩm có chức năng tương tự demo Ứng dụng sẽ triển khai một phiên bản máy tính của trò chơi Cờ tỷ phú. Phiên bản này sẽ giả lập trò chơi Cờ tỷ phú bằng Eclipse Platform và các bộ plugins của Eclipse Hiện nay trò chơi Monopoly đã và đang được nhiều hãng phát hành dưới nhiều phiên bản, hầu hết đã hướng tới chơi online trên trình duyệt web: - Monopoly: do hãng Pogo phát triển, tập trung vào chơi online nhiều người, có thể chơi với bạn bè nếu có tài khoản trên trang web của hãng Pogo: Báo cáo CNPM nâng cao Page 5 - Monopoly: do hãng Popcap phát triển, tập trung vào mô phỏng bàn cờ tỷ phú như thực tế, có nhiều hiệu ứng 3D bắt mắt: Báo cáo CNPM nâng cao Page 6 Hạn chế: Hiện nay những phiên bản Cờ tỷ phú đã được thương mại hóa đều không hỗ trợ đa ngôn ngữ. 1.5. Phần mở rộng, cải tiến chức năng demo - Người chơi có thể thay đổi giao diện bàn cờ; giao diện, nhân vật thân thiện, dễ sử dụng. 2. Các thành phần và phương pháp xây dựng ứng dụng 2.1. Các thành phần, đặc trưng Eclipse Platform được thiết kế và xây dựng để đáp ứng những yêu cầu sau: • Hỗ trợ việc xây dựng nhiều công cụ phát triển ứng dụng. • Hỗ trợ một bộ cung cấp công cụ không giới hạn, bao gồm những nhà phát hành độc lập (ISV). • Hỗ trợ công cụ điều khiển các loại nội dung tùy ý (ví dụ: Java, HTML, C, XML, …) Báo cáo CNPM nâng cao Page 7 • Tạo điều kiện cho các công cụ tích hợp liên tục với nhiều loại nội dung và nhà cung cấp công cụ khác nhau. • Hỗ trợ những môi trường phát triển ứng dụng sử dụng GUI và không sử dụng GUI. • Chạy được trên nhiều hệ điều hành, bao gồm Windows, LinuxTM, Mac OS X, Solaris AIX, và HP-UX. • Nhấn mạnh tính phổ biến của ngôn ngữ Java trong việc viết ra các công cụ. Vai trò chủ yếu của Eclipse Platform là cung cấp các cơ chế và quy tắc cho nhà cung cấp công cụ sử dụng để viết những bộ công cụ tích hợp liên tục. Những cơ chế này được phơi bày qua các API giao diện, lớp và phương thức được định nghĩa đầy đủ. Eclipse Platform cũng cung cấp những framework tạo điều kiện cho việc phát triển công cụ mới. Hình 1: Kiến trúc của Eclipse Platform. 2.1.1. Platform Runtime Báo cáo CNPM nâng cao Page 8 Runtime là mã định nghĩa mô hình trình cắm thêm của Eclipse, dựa trên đặc tả OSGi và quan điểm về các phần mở rộng và các điểm mở rộng. Thời gian chạy cũng cung cấp các dịch vụ bổ sung như ghi nhật ký và tương tranh. Công việc chính của Platform runtime là phát xem plugin nào đang có trong thư mục plugin của Eclipse.Mỗi plugin đều có 1 tập tin Manifest liệt những kết nối mà plugin cần. Plugin chỉ được tải vào Eclipse mỗi khi thực sự cần thiết để giảm lượng tài nguyên yêu cầu và thời gian khởi tạo. Một plugin là đơn vị nhỏ nhất của hàm trong Eclipse Platform, có thể được phát triển và phân phối riêng. Ngoại trừ Platform Runtime, tất cả tính năng của Eclipse Platform đều được đặt trong các plugin. 2.1.2. Workbench Workbench là giao diện đồ họa người dùng của Eclipse, gồm có Standard Widget Toolkit (SWT) và JFace. Eclipse không hoàn toàn bắt buộc phải sử dụng SWT hay Jface để lập trình giao diện, vẫn có thể sử dụng AWT hay SWING của Java thông qua việc cài đặt các plugin. Workbench cung cấp cho Eclipse phong cách riêng của nó. Khái niệm về các khung nhìn, các phối cảnh và những thứ giống như các trình soạn thảo được định nghĩa ở cấp độ này. Eclipse được cấu thành bởi nhiều thành phần (components), và thành phần cơ bản nhất là Eclipse Workbench. Đó chính là phần cửa sổ chính xuất hiện khi Eclipse được gọi thực thi. Workbench chỉ có một công việc đơn giản là kết nối các thành phần và các trình bổ sung lại với nhau cho phép ta làm việc hiệu quả. Hay nói cách khác, xét ví dụ về lập trình Java, Workbench không hề biết gì về biên soạn, thực thi và gỡ rối chương trình Java; nó chỉ biết cách điều hướng các dự án và tài nguyên (ví dụ tập tin và thư mục). Với những thao tác không thực hiện được, Workbench trao cho các thành phần khác; trong ví dụ trên, JDT (Java Development Toolkit) có nhiệm vụ hỗ trợ các công cụ cho phép lập trình viên biên soạn, biên dịch, thực thi và gỡ rối các chương trình Java. 2.1.3. Plugin Trình bổ sung là một thành phần (component) cung cấp một số loại dịch vụ trong khuôn khổ của Eclipse Workbench. Eclipse là một nền tảng có khả năng mở rộng cho việc xây dựng các môi trường phát triển tích hợp (IDE). Eclipse cung cấp lõi các các dịch vụ (a core of services) điều Báo cáo CNPM nâng cao Page 9 khiển một tập hợp các công cụ (tools) kết hợp với nhau để hỗ trợ các tác vụ lập trình. Các nhà cung cấp các công cụ đóng góp vào nền tảng Eclipse bằng cách gói gọn các công cụ của họ vào các thành phần có thể gắn vào (pluggable) Eclipse, được gọi là trình bổ sung Eclipse (Eclipse plug-in). Một plugin là đơn vị nhỏ nhất của hàm trong Eclipse Platform, có thể được phát triển và phân phối riêng. Ngoại trừ Platform Runtime, tất cả tính năng của Eclipse Platform đều được đặt trong các plugin. 2.1.4. Workspace Workspace chịu trách nhiệm quản lý tài nguyên người dùng được tổ chức dưới dạng Project. Mỗi Project là một thư mục con trong thư mục Workspace. Workspace bảo quản cấp thấp lịch sử những sự thay đổi tài nguyên, tránh thất thoát tài nguyên người dùng. Workspace đồng thời chịu trách nhiệm thông bào những công cụcấn thiết cho việc thay đổi tài nguyên. 2.1.5. Team Support Trang bị hệ thống quản trị để quản lý dự án của người dùng : Concurrent Versions System (CVS). 2.1.6. Help Cung cấp hệ thống tài liệu mở rộng, có thể là định dạng HTML hay XML. 2.2. Quy trình và phương pháp xây dựng ứng dụng - Bước 1: Phân tích, thiết kế sơ đồ chức năng (use case) và các kịch bản trong game. - Bước 2: Import các plugin hỗ trợ cho việc thiết kế giao diện . - Bước 3: Tạo Project + Chọn menu FileNewProject. + Hộp thoại New Project xuất hiện, chọn Java Project, bấm next. Hộp thoại New Java Project xuất hiện, đặt tên project, bấm finish để kết thúc. Workbench xuất hiện với giao diện như sau: Báo cáo CNPM nâng cao Page 10 [...]... qua lại xem các phần hướng dẫn Báo cáo CNPM nâng cao Page 19 - Biến cố 3: Xảy ra khi người chơi nhấp nút “EXIT” trò chơi sẽ hiển thị thông báo: “Do you want to exit the game ?” (Yes, No) + Yes :Thoát game + No: Không làm gì cả 3.3.2 Giao diện tạo nhân vật: Báo cáo CNPM nâng cao Page 20 - 3.3.2.1 Mô tả thành phần: 4 textbox : người chơi nhập tên đại diện theo thực tế (Nếu không phần mềm sẽ tự động lấy... RollDice, phần mềm sẽ tiến hành đổ xí ngầu và nhân vật sẽ tiến đến ô theo tổng số điểm của 2 xí ngầu Biến cố 2: xảy ra khi người chơi nhấp nút EndTurn phần mềm sẽ chuyển đến lượt người chơi kế tiếp Biến cố 3: Xảy ra khi người nhấp nút Trade, phần mềm sẽ hiện hộp thoại cho phép người chơi trao đổi tiền hoặc tài sản với những người chơi khác Báo cáo CNPM nâng cao Page 25 + Accept Trade : Đồng ý trao đổi, phần. .. chơi đã xác nhận trước đó Báo cáo CNPM nâng cao Page 22 - Biến cố 4: Khi người chơi chọn nút Help sẽ vào màn hình hướng dẫn luật chơi Biến cố 5: Xảy ra khi chơi nhấp vào nút Exit, phần mềm sẽ hiện thị thông báo “Do you want to exit the game ? ” (Yes, No) Báo cáo CNPM nâng cao Page 23 + Yes: Thoát game + No: không làm gì cả 3.3.3 Giao diện trong trò chơi - 3.3.3.1 Mô tả thành phần: Button RollDice: Đổ... trong game - Bước 4: Tiến hành cài đặt ứng dụng Bước 5: Kiểm tra và sửa lỗi Bước 6: Hoàn thành demo với phiên bản Monopoly 1.0 3 Phân tích, thiết kế, cài đặt ứng dụng 3.1 Luật chơi Trò chơi luôn vận hành với hai viên xúc xắc Báo cáo CNPM nâng cao Page 11 • Khi đổ xúc xắc, nếu kết quả của hai viên xúc xắc ra trùng nhau thì người chơi sẽ được thêm một lượt đổ nữa Nếu người chơi đổ xúc xắc trùng nhau ba... phần mềm sẽ tiến hành trao đổi tiền và tài sản giữa 2 người chơi + Decline Trade : Phần mềm sẽ hủy yêu cầu trao đổi và trở về màn hình chơi game để tiếp tục - Biến cố 4 :Xảy ra khi người chơi nhấp nút Mortgage, phần mềm sẽ tiến hành tính số tài sản hiện có, yêu cầu người chơi xác nhận và cộng vào số tiền tương đương cho người chơi để tiếp tục - Biến cố 5 : Xảy ra khi người chơi nhấp nút Redeem, phần mềm. .. Game”: bắt đầu trò chơi Button “Help”: Giúp người chơi có thể xem hướng dẫn luật chơi tại màn hình tạo nhân vật Button “Exit”: Thoát game 3.3.2.2 Mô tả xử lý: Biến cố 1: Xảy ra khi đã xác nhận ít nhất 2 người chơi thì nút “Shuffle Players” sẽ hiện lên Báo cáo CNPM nâng cao Page 21 - - Biến cố 2: Khi người dùng nhấp vào nút Shuffle Players phần mềm sẽ tiến hành xóa trộn và quy định thứ tự các người chơi Đồng... hình giao diện và mô tả thành phần 3.3.1 Giao diện khởi động: Báo cáo CNPM nâng cao Page 18 3.3.1.1 Mô tả thành phần: Gồm 3 Button: - Play Now : Người chơi chọn để vào game Help : Xem luật chơi Exit : Thoát game 3.3.1.2 Mô tả xử lý: Biến cố 1: Khi người chơi nhấp nút “PLAY NOW” sẽ vào màn hình tạo nhân vật Biến cố 2: Khi người chơi nhấp nút “Help” trò chơi sẽ mở màn hình hướng dẫn luật chơi Sử dụng các... vào số tiền tương đương cho người chơi để tiếp tục - Biến cố 5 : Xảy ra khi người chơi nhấp nút Redeem, phần mềm sẽ tiến hành trừ tiền và khôi phục lại tài sản đã cầm cố 4 Kết luận, hướng phát triển 4.1 Kết quả đạt được và hạn chế Báo cáo CNPM nâng cao Page 26 Xây dựng thành công các tính năng cơ bản của trò chơi Cờ tỷ phú bằng Eclipse Platform và bộ plugin Swing: - Giao diện đồ họa của bàn cờ, quân cờ... cáo CNPM nâng cao Page 23 + Yes: Thoát game + No: không làm gì cả 3.3.3 Giao diện trong trò chơi - 3.3.3.1 Mô tả thành phần: Button RollDice: Đổ xí ngầu Button EndTurn: Kết thúc lượt chơi, chuyển lượt chơi cho người chơi kế tiếp Báo cáo CNPM nâng cao Page 24 - - Button Trade : Trao đổi tiền hoặc tài sản với những người chơi khác Button Redeem : Khôi phục tài sản đã cầm cố Button Mortgage : Cầm cố tài... Exit, trò chơi sẽ kết thúc  Use Case Di chuyển:  Điều kiện:  Khi người chơi đã nhập thông tin người chơi  Dòng sự kiện chính:  Trò chơi được chơi theo lượt Quân cờ di chuyển dựa trên kết quả đổ xí ngầu Sự kiện xảy ra với người chơi tùy thuộc vào ô người chơi đi đến và tùy thuộc vào người chơi có đi qua Go không Vị trí và thông tin mới của người chơi được hiển thị trên bàn cờ Lượt chơi kết thúc khi . (RSA) RSA là một công cụ thiết kế, mô hình hóa và phát triển toàn diện cho phân phối phần mềm end-to-end, sử dụng UML để thiết kế ứng dụng Java và dịch. Phân tích, thiết kế, cài đặt ứng dụng 3.1. Luật chơi Trò chơi luôn vận hành với hai viên xúc xắc. Báo cáo CNPM nâng cao Page 11 • Khi đổ xúc xắc, nếu kết

Ngày đăng: 17/03/2014, 22:10

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan