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 kê 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 FileNewProject.
+ 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
+ Chọn File New để tạo các lớp (class) và màn hình giao diện (JFrame) 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 lần liên tiếp sẽ
phải vào tù.
• Người chơi bị vào tù sẽ phải di chuyển quân cờ của mình đến ô thăm tù. Khi 
người chơi ra khỏi tù sẽ xuất phát từ ô đó thay vì vạch xuất phát.
• Có ba cách để ra tù: 1, Gieo được hai viên xúc xắc trùng nhau. 2, Trả một khoản 
tiền bảo lãnh cho ngân hàng (giá trị khoản tiền được quy định khác nhau tùy phiên 
bản). 3, Dùng thẻ ra tù miễn phí (nhận được do bốc thăm thẻ khí vận/cơ hội hoặc 
mua lại từ người chơi khác)
• Người chơi đang ở trong tù nếu đã thử 3 lần mà vẫn không gieo được hai viên 
xúc xắc trùng nhau thì bắt buộc phải trả tiền bảo lãnh cho ngân hàng để ra tù.
• Để xây được nhà trên một mảnh đất nào đó, người chơi phải sỡ hữu toàn bộ các 
mảnh đất của nhóm màu đó. Ví dụ: Một người chơi muốn xây nhà trên khu đất màu 
đỏ, người đó phải có trong tay tất cả các mảnh đất màu đỏ khác trên bàn cờ.
• Để xây được khách sạn người chơi trước tiên phải xây 4 căn nhà, đến căn nhà thứ
5 sẽ tự động đổi thành khách sạn.
• Mỗi lần đi qua vạch xuất phát người chơi sẽ được nhận một khoản tiền.
• Một khi đã mua đất, người chơi không thể bán lại cho ngân hàng nhưng có thể 
bán hoặc trao đổi với người chơi khách, hoặc đem đi cầm cố ở ngân hàng (với giá 
thấp hơn giá mua).
• Khi một mảnh đất đang bị cầm cố, người chơi nào dừng chân trên mảnh đất đó 
không phải trả phí.
3.2. Sơ đồ Use case
Báo cáo CNPM nâng cao Page 12
- Mô tả:
 Use Case Nhập thông tin người chơi:
 Điều kiện: không.
 Dòng sự kiện chính: 
 Ngay sau khi trò chơi bắt đầu, màn hình nhập thông tin người chơi sẽ hiện lên 
để người chơi nhập tên và thêm người chơi đó vào.
 Dòng sự kiện phụ: không.
 Dòng sự kiện khác:
 Tên người chơi không được là một chuỗi rỗng. Nếu người chơi nhập chuỗi 
rỗng, trò chơi sẽ không cho thêm vào người chơi đó.
 Khi người chơi bấm nút 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 người chơi bấm nút End 
Turn. Sau đó lượt chơi của người khác sẽ bắt đầu
Báo cáo CNPM nâng cao Page 13
 Dòng sự kiện phụ: 
 Sau khi người chơi đã di chuyển đến vị trí mới, tùy theo loại ô cờ mà người 
chơi có khả năng dừng ngay Go; đi đến ô Jail; dừng tại ô Jail; dừng tại ô Free 
Parking; trả tiền thuê cho chủ ô cờ; lấy thẻ từ Community Chest hoặc Chance;
hoặc mua 1 ô cờ có thể giao dịch được.
 Dòng sự kiện khác: không.
 Use Case Đi qua Trạm khởi hành:
 Điều kiện: 
 Đang là lượt của người chơi.
 Người chơi đã đổ xí ngầu.
 Dòng sự kiện chính: 
 Nếu người chơi đi qua Go hoặc đi đến Go sau khi di chuyển thì người chơi 
được cộng $200.
 Dòng sự kiện phụ: không.
 Dòng sự kiện khác:
 Nếu người chơi đi qua Go vì bị đưa vào ô Jail thì người chơi không được tiền.
Người chơi bị đưa vào ô Jail do bốc phải thẻ Go to Jail hoặc đi đến ô Go to 
Jail.
 Use Case Vào tù:
 Điều kiện: 
 Đang là lượt của người chơi.
 Người chơi đã đổ xí ngầu.
 Người chơi đi đến ô Go to Jail.
 Dòng sự kiện chính: 
 Người chơi bị đưa đến ô Jail. Khi người chơi bị đưa đến ô Jail thì được gọi là 
“vào tù”.
 Dòng sự kiện phụ: không.
 Dòng sự kiện khác: không. 
 Use Case Thăm tù:
 Điều kiện: 
 Đang là lượt của người chơi.
 Người chơi đã đổ xí ngầu.
 Người chơi đi đến ô Jail.
 Dòng sự kiện chính: 
 Người chơi thăm tù. Không có sự kiện nào xảy ra cho người thăm tù. 
 Dòng sự kiện phụ: không.
 Dòng sự kiện khác: không. 
 Use Case Đến Bãi đỗ xe:
 Điều kiện: 
Báo cáo CNPM nâng cao Page 14
 Đang là lượt của người chơi.
 Người chơi đã đổ xí ngầu.
 Người chơi đi đến ô Free Parking.
 Dòng sự kiện chính: 
 Không có sự kiện nào xảy ra cho người đi đến ô Free Parking. 
 Dòng sự kiện phụ: không.
 Dòng sự kiện khác: không. 
 Use Case Mua đất trống:
 Điều kiện: 
 Đang là lượt của người chơi.
 Người chơi đã đổ xí ngầu.
 Người chơi đi đến một ô cờ có thể giao dịch được.
 Dòng sự kiện chính: 
 Trò chơi này có 3 loại ô cờ có thể giao dịch được: ô bất động sản, ô sân bay và
ô dịch vụ. Ô có thể giao dịch được khi không có chủ. Khi người chơi đi đến ô 
cờ có thể giao dịch được, người chơi có thể mua ô này bằng cách bấm nút 
Purchase. Số tiền người chơi phải trả bằng với giá trị của ô đó. Thông tin 
người chơi được hiển thị trên bàn cờ được rerfresh để hiển thị lại các ô và số 
tiền người chơi đang có. 
 Dòng sự kiện phụ: không.
 Dòng sự kiện khác:
 Không có sự kiện nào xảy ra nếu người chơi không đủ tiền mua ô đó.
 Ô sân bay và dịch vụ có cùng 1 giá. 
 Use Case Mua nhà:
 Điều kiện: 
 Đang là lượt của người chơi.
 Người chơi chưa đổ xí ngầu.
 Người chơi độc quyền một hay nhiều nhóm màu.
 Dòng sự kiện chính: 
 Khi một người chơi sở hữu tất cả ô cờ trong 1 nhóm màu thì người chơi này 
được gọi là độc quyền nhóm màu đó. Người chơi có thể xây nhà trên các ô bất
động sản có cùng 1 nhóm màu mà người chơi độc quyền bằng cách bấm nút 
Buy House trước khi người chơi đổ xí ngầu. Giá tiền của 1 căn nhà phụ thuộc 
vào ô cờ. Sau khi mua nhà, trạng thái của người chơi được cập nhật và hiển 
thị trên bàn cờ.
 Dòng sự kiện phụ:
 Khi nút Buy House được nhấn, một dialog sẽ hiện ra. Người chơi chọn nhóm 
màu độc quyền và số nhà muốn mua trong dialog. Sau khi nhấn nút OK, 
người chơi trả phí và nhà được tạo ra. Tất cả ô bất động sản trong nhóm màu 
được chọn phải có cùng số nhà.
 Dòng sự kiện khác:
Báo cáo CNPM nâng cao Page 15
 Không có sự kiện nào xảy ra nếu người chơi không đủ tiền.
 Người chơi có thể xây tối đa 4 căn nhà trong cùng 1 ô cờ. 
 Use Case Trả tiền thuê:
 Điều kiện: 
 Đang là lượt của người chơi.
 Người chơi đã đổ xí ngầu.
 Người chơi đi đến một ô cờ thuộc sở hữu của người chơi khác.
 Dòng sự kiện chính: 
 Người chơi trả tiền thuê cho chủ ô cờ. Tỉ giá tiền thuê phụ thuộc vào loại ô cờ 
người chơi đi đến.
 Dòng sự kiện phụ:
 Tiền thuê 1 ô bất động sản được định nghĩa trong thuộc tính bất động sản. Mỗi
ô cờ có thể có mức thuê khác nhau. Nếu ô cờ nằm trong nhóm màu độc quyền
của chủ ô cờ thì tiền thuê tăng gấp đôi.
 Nếu ô cờ là ô dịch vụ, người chơi trả tiền thuê theo kết quả xí ngầu. Nếu chủ ô
cờ sở hữu 1 ô dịch vụ thì người chơi trả số tiền thuê gấp 4 lần kết quả xí ngầu.
Nếu sở hữu 2 ô thì gấp 10 lần.
 Nếu ô cờ là ô sân bay và chủ ô cờ sở hữu N ô sân bay thì số tiền thuê người 
chơi cần trả là $25*2
N-1
.
 Dòng sự kiện khác:
 Nếu người chơi không đủ tiền trả thì sẽ phá sản. Người chơi phải trao tất cả ô 
cờ có thể trao đổi được cho chủ ô cờ, và không còn trong màn chơi nữa. 
 Use Case Lấy thẻ:
 Điều kiện: 
 Đang là lượt của người chơi.
 Người chơi đã đổ xí ngầu.
 Người chơi đi đến ô cơ hội.
 Dòng sự kiện chính: 
 Trò chơi này có 2 loại thẻ: Community Chest và Chance. Khi người chơi đi 
đến ô cơ hội, một thẻ ngẫu nhiên sẽ được phát cho người chơi. Người chơi 
thực hiện theo những gì ghi trên thẻ, trạng thái người chơi sẽ được cập nhật và
hiển thị.
 Dòng sự kiện phụ:
 Nếu thẻ cho phép người chơi thu được 1 số tiền, số tiền đó sẽ được trao cho 
người chơi.
 Nếu thẻ nói rằng người chơi bị mất 1 số tiền, số tiền đó sẽ được trừ vào người 
chơi.
 Nếu là thẻ vào tù, người chơi sẽ bị đưa đến Jail ngay lập tức.
 Nếu thẻ yêu cầu người chơi đi đến 1 ô nào đó, người chơi sẽ được đưa đến ô 
đó ngay lập tức.
 Dòng sự kiện khác:
Báo cáo CNPM nâng cao Page 16
Nếu người chơi không đủ tiền trả thì sẽ phá sản. Tất cả ô cờ có thể trao đổi được 
trở thành vô chủ, và người chơi không còn trong màn chơi nữa.
 Use Case Đổ xí ngầu:
 Điều kiện: 
 Đang là lượt của người chơi.
 Dòng sự kiện chính: 
 Người chơi đổ xí ngầu bằng cách nhấn vào nút Roll Dice. Xí ngầu sẽ nhảy và 
cho biết giá trị bằng bao nhiêu. Trò chơi này sử dụng 2 xí ngầu 6 mặt.
 Dòng sự kiện phụ: không.
 Dòng sự kiện khác: không.
 Use Case Đổi lượt chơi:
 Điều kiện: 
 Đang là lượt của người chơi.
 Người chơi đã đổ xí ngầu và đi đến ô cờ mới.
 Dòng sự kiện chính: 
 Người chơi đổ xí ngầu bằng cách nhấn vào nút Roll Dice. Xí ngầu sẽ nhảy và 
cho biết giá trị bằng bao nhiêu. Trò chơi này sử dụng 2 xí ngầu 6 mặt.
 Dòng sự kiện phụ: không.
 Dòng sự kiện khác: không.
 Use Case Xem thông tin:
 Điều kiện: không.
 Dòng sự kiện chính: 
 Người chơi có thể xem trạng thái bao gồm tên, số tiền và bất động sản trên 
bàn cờ. Thuộc tính của những ô cờ bao gồm tên, chủ sở hữu, số nhà đang có 
và giá tiền cũng được hiển thị trên bàn cờ.
 Dòng sự kiện phụ: không.
 Dòng sự kiện khác: không.
 Use Case Ra tù:
 Điều kiện:
 Đang là lượt của người chơi.
 Người chơi chưa đổ xí ngầu.
 Người chơi đang bị vào tù.
 Dòng sự kiện chính: 
 Trước khi người chơi đổ xí ngầu, người chơi có thể bấm nút Get Out of Jail. 
Khi bấm nút, người chơi trả $50 và không còn ở tù nữa. Người chơi có thể đổ 
xí ngầu để được 2 số nút giống nhau, khi đó người chơi sẽ được ra tù.
 Dòng sự kiện phụ: không.
 Dòng sự kiện khác:
Báo cáo CNPM nâng cao Page 17
 Nếu người chơi không đổ được 2 nút giống nhau và không đủ tiền trả thì sẽ 
phá sản. Tất cả ô cờ có thể trao đổi được trở thành vô chủ, và người chơi 
không còn trong màn chơi nữa.
 Use Case Giao dịch:
 Điều kiện:
 Đang là lượt của người chơi.
 Người chơi chưa đổ xí ngầu.
 Dòng sự kiện chính: 
 Người chơi có thể yêu cầu người chơi khác bán ô có thể giao dịch được. Nếu 
người chơi muốn giao dịch với người chơi khác thì bấm nút Trade. Dialog 
giao dịch sẽ hiện lên cho người chơi chọn người muốn giao dịch, ô cờ người 
chơi muốn giao dịch và số tiền người chơi muốn trả. Sau đó 1 dialog sẽ hiện 
lên để xác nhận. Nếu người bán chọn Yes thì ô cờ sẽ được bán theo thỏa thuận
giao dịch.
 Dòng sự kiện phụ: không.
 Dòng sự kiện khác:
 Nếu người chơi bấm nút Cancel, dialog sẽ đóng và giao dịch bị hủy.
 Nếu người chơi không đủ tiền, giao dịch bị hủy bỏ.
 Nếu người bán không đồng ý thỏa thuận, giao dịch bị hủy bỏ.
3.3. Màn 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 4 button để di chuyển 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 tên mặc định).
- 4 Button “Add Player” : xác nhận tên người chơi cùng với nhân vật đại diện 
(phải có ít nhất 2 người chơi).
- Button “Shuffle players”: Xáo trộn thứ tự người chơi.
- Button “Start 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 thời ẩn đi nút Shuffle 
Players và hiện nút Start game.
-
- Biến cố 3: Khi người chơi nhấp nút Start Game sẽ bắt đầu trò chơi với tên và 
hình ảnh đại diện của người 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: Đổ 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 sản (nếu có).
- Button Sell : Bán tài sản cho những người chơi khác.
- Button Build: Xây nhà hoặc khách sạn trên khu đất đã mua.
3.3.3.2. Mô tả xử lý:
- Biến cố 1: Xảy ra khi người dùng nhấp vào nút 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