ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO MÔ HÌNH HÓA
MÔ HÌNH HÓA GAME UFO INVADERS
Môn học: Phương pháp mô hình hóa
Lớp: SE101.D11
Giáo viên hướng dẫn: P.GS TS VŨ THANH NGUYÊN
Sinh viên thực hiện:
NGÔ XUÂN CƯỜNG 10520077
VŨ VĂN LÝ 10520085
HUỲNH NGỌC HIỆP 10520128
NGUYỄN TẤN HOAN 10520135
TP. Hồ Chí Minh, tháng 01 năm 2013
LỜI MỞ ĐẦU
Trong xu thế phát triển của thế giới với sự bùng nổ mạnh mẽ của nghành công nghệ
thông tin. Nhu cầu phần mềm sẽ giúp con người hiệu quả hơn trong công việc ngày càng cao.
Kéo theo đó là những khó khăn của người lập trình phần mềm. Sẽ rất phức tạp nếu như bạn
xây dựng một phần mềm nào đó mà không làm nó theo một mô hình nhất định cho dù bạn
giỏi đến mức nào. Mô hình hóa rất mạnh trong việc thiết kế phần mềm. Người thiết kế sẽ
phân tích yêu cầu của khách hàng và chuyển đổi nó thành ngôn ngữ chuyên ngành giúp cho
người lập trình dễ hiểu làm làm đúng yêu cầu của họ.
Nội dung báo cáo sẽ trình bày cụ thể các bước mô hình hóa với mô hình game
UFOInvaders. Báo cáo gồm những chương sau:
CHƯƠNG 1: GIỚI THIỆU VỀ UML
CHƯƠNG 2: GIỚI THIỆU ĐỀ TÀI
CHƯƠNG 3: MÔ HÌNH HÓA
CHƯƠNG 4: NỘI DUNG GAME
LỜI CẢM ƠN
Trong khoảng thời gian thực hiện đề tài này, chúng em đã nhận được sự giúp đỡ, chỉ
bảo tận tình của thầy cô bộ môn. Chúng em xin gửi lời cảm ơn sâu sắc đến quý thầy cô. Đặc
biệt xin chân thành cảm ơn P.GS TS Vũ Thanh Nguyên cũng là giảng viên phụ trách trực
tiếp giảng dạy chúng em - là người hướng dẫn, cung cấp cho chúng em những tài liệu và tạo
điều kiện thuận lợi giúp đỡ chúng em để hoàn thành đề tài một cách tốt nhất.
Chúng em cũng gửi lời cảm ơn đến bạn bè đã giúp đỡ chúng em hoàn thành đề tài này.
Do thời gian và kiến thức có hạn nên mặc dù đã cố gắng hết khả năng nhưng đề tài không thể
nào tránh khỏi những thiếu sót. Rất mong được sự đóng góp của quý thầy cô để đề tài này
hoàn chỉnh hơn.
Nhóm sinh viên thực hiện
Ngô Xuân Cường
Vũ Văn Lý
HuỳnhNgọc Hiệp
Nguyễn Tấn Hoan
NHẬN XÉT
(Của giảng viên hướng dẫn)
MỤC LỤC
MỤC LỤC HÌNH ẢNH
CHƯƠNG 1. GIỚI THIỆU VỀ UML
1.1. CÁC GIẢI PHÁP HIỆN NAY
Hiện nay để mô hình hóa một hệ thống thì có rất nhiều ngôn ngữ được
sử dụng, ví dụ như:
• Cây hành vi (Behavior Trees)
• Business Process Modeling Notation (BPMN).
• Flowchart
• Fundermental Modeling Concepts (FMC)
• Unified Modeling Language (UML)
• Service – Oriented Modeling Framework (SOMF)
• AADL
• Specification and Description Language (SDL)
1.2. TẠI SAO CHỌN
Tuy hiện nay có rất nhiều ngôn ngữ để mô hình hóa hệ thống nhưng
chúng em chọn ngôn ngữ UML bởi vì nó có nhiều thuận lợi cho việc
mô hình hóa đề tài của chúng em. Một số lợi ích của UML như:
• Bạn biết chính xác những gì bạn nhận được.
• Bạn sẽ có chi phí phát triển thấp hơn.
• Phần mềm của bạn sẽ thực hiện giống như bạn mong muốn. Ít
biến cố hơn.
• Các quyết định đúng được thực hiện trước khi bạn viết code,
điều này sẽ giảm chi phí gia tăng.
• Chi phí để bảo trì sẽ thấp hơn.
• Làm việc với các nhà phát triển mới sẽ dễ dàng hơn.
• Giao tiếp giữa lập trình viên là tác động bên ngoài có hiệu quả
hơn.
GVHD: P.GS TS VŨ THANH NGUYÊN 25
1.3. NGÔN NGỮ UML
1.3.1. Tổng quan
UML (Unified Modeling Language) là ngôn ngữ chuẩn mô hình
hóa dùng trong thiết kế phần mềm theo hướng đối tượng. Nó bao
gồm các ký hiệu đồ họa để tạo ra các mô hình trực quan của phần
mềm hướng đối tượng.
UML được phát triển bởi Grady booch, Ivar Jacobson và
JimRumbaugh và những năm 1990. Nó đã được qua bởi Object
Management Group (OMG) vào năm 1997 và được quản lý bởi tổ
chức này từ đó. Năm 2000 UML được chấp nhận bởi tổ chức tiêu
chuẩn thế giới ISO như là tiêu chuẩn công nghiệp cho mô hình hóa hệ
thống phần mềm.
UML được dùng để xác định, hình dung, sửa đổi, xây dựng và tài
liệu hóa hệ thống phần mềm.Nó kết hợp từ mô hình dữ liệu (sơ đồ
mối quan hệ thực thể ), mô hình kinh doanh (luồng công việc), mô
hình đối tượng và mô hình hóa thành phần. Nó có thể được sử dụng
với tất cả các quy trình trong suốt vòng đời phát triển phần mềm và
qua nhiều công nghệ thực hiện khác nhau.
UML cung cấp một cách tiêu chuẩn để hình dung bản thiết kế của
hệ thống, nó bao gồm các yếu tố:
• Hoạt động ( activities)
• Actor
• Quy trình kinh doanh
• Cơ sở dữ liệu lược đồ
• Trình bày ngôn ngữ lập trình
• Tái sử dụng các thành phần của phần mềm
UML được mở rộng với 2 cơ chế tùy biến : cấu hình và khuôn
mẫu.
1.1.1. Lịch sử
UML được phát triển kể từ nửa sau thập kỉ 90 và được bắt nguồn
từ phương pháp hướng đối tượng được phát triển vào cuối năm 1980
và đầu 1990.
GVHD: P.GS TS VŨ THANH NGUYÊN 25
Hình 1. Lịch sử kí hiệu và phương pháp hướng đối tượng
Dưới sự lãnh đạo của Three Amigos, một tập đoàn quốc tế được
gọi là đối tác của UML Partners được thành lập vào năm 1996 để
hoàn thành các đặc tả về UML. Bản nháp của đặc tả UML 1.0 được
đề xuất tới OMG vào tháng 1 năm 1997. Trong cùng tháng đó UML
Partners đã thành lâp Semantics Task Force, để hoàn thành các đặc tả
và kết hợp chúng với các tiêu chuẩn khác.
Các kí hiệu của UML chịu chi phối bởi các kí hiệu OMT . Các kí hiệu
use case được sử dụng bắt nguồn từ Objectory và các kí hiệu thành
phần bắt nguồn từ Booch được tích hợp với các phần còn lại, Nhưng
sự tích hợp đó tương đối yếu về ngữ nghĩa học trong UML 1.1 và
không ổn định cho đến UML 2.0. Các niệm từ nhiều phương pháp OO
khác cũng tích hợp yếu với UML với mục đích UML sẽ hỗ trợ các
phương pháp đó. Ngoài ra UML cũng được sự đóng góp từ nhiều
GVHD: P.GS TS VŨ THANH NGUYÊN 25
người khác. Kết quả cuối cùng UML trở nên rất hữu ích trong nhiều
vấn đề kĩ thuật.
Từ UML 1.1 cho tới nay đã được cải tiến đáng kể. Sau đó UML
2.0 đã chính thức được thong qua bởi OMG vào năm 2005.
1.3.2. Nội dung
1.3.2.1. Phương pháp phát triển phần mềm
UML không phải là một phương pháp phát triển bởi chính nó, tuy
nhiên nó được thiết kế để phù hợp với các phương pháp phát triển
phần mềm hướng đối tượng cùng thời (ví dụ như OMT, phương
pháp Booch, Objectory). Kể từ khi UML được mở ra, một số
phương pháp đã đúc kết những điểm thuận lợi của những kí hiệu
mới này, một số thì được tạo ra dựa trên UML.
1.3.2.2. Mô hình hóa
Điều quan trọng là phải phân biệt được sự khác nhau giữa
UML và các sơ đồ của hệ thống. Các sơ đồ là các hình đại diện
cho một phần mô hình hệ thống.
Sơ đồ UML tiêu biểu cho 2 cái nhìn khác nhau của mô hình hệ
thống:
• Cái nhìn tĩnh (static view): Nhấn mạnh cấu trúc tĩnh sử
dụng các thực thể, thuộc tính, sự hoạt động và mối quan
hệ. Cái nhìn tĩnh bao gồm sơ đồ lớp và sơ đồ kiến trúc hỗn
hợp.
• Cái nhìn động (behavior view): Nhấn mạnh các hành vi
động của hệ thống bằng cách biễu diễn sự cộng tác giữa các
thực thể và sự thay đổi của trạng thái nội của các thực thể.
Cái nhìn này bao gồm sơ đồ trình tự, sơ đồ hoạt động và sơ
đồ trạng thái máy.
GVHD: P.GS TS VŨ THANH NGUYÊN 25
1.3.2.3. Tổng quan về sơ đồ
UML 2.2 có 14 loại sơ đồ chia làm 2 loại.
Hình 1. Sơ đồ các loại sơ đồ UML
1.3.2.4. Sơ đồ cấu trúc
Sơ đồ cấu trúc nhấn mạnh các vật là phải có mặt trong hệ thống
được mô hình hóa. Kể từ khi sơ đồ cấu trúc đại diện cho cấu trúc,
chúng được sử dụng rộng rãi trong các tài liệu thiết kế hệ thống.
• Sơ đồ lớp: Mô tả cấu trúc của một hệ thống bằng cách biễu
diễn các lớp, thuộc tính và mối quan hệ giữa các lớp của hệ
thống.
• Sơ đồ thành phần: Mô tả cách một hệ thống phần mềm
được phân ra thành các thành phần và biểu diễn sự phụ
thuộc giữa các thành phần.
GVHD: P.GS TS VŨ THANH NGUYÊN 25
• Sơ đồ cộng tác: Mô tả cấu trúc nội của một lớp và sự cộng
tác mà cấu trúc này có thể làm được.
• Sơ đồ triển khai: Mô tả về phần cứng sử dụng trong môi
trường thực thi và triển khai hệ thống và sự triển khai giả
tưởng trên phần cứng.
• Sơ đồ đối tượng: Mô tả môt cái nhìn hoàn chỉnh hay cục bộ
của cấu trúc của ví dụ mô hình hệ thống tại một thời điểm
cụ thể.
• Sơ đồ gói: Mô tả cách một hệ thống được phân ra thành các
nhóm logic bằng cách biễu diễn sự phụ thuộc giữa các
nhóm.
• Sơ đồ tiểu sử:
1.3.2.5. Sơ đồ hành vi
Sơ đồ hành vi nhấn mạnh những cái phải xảy ra trong hệ thống
được mô hình hóa.
• Sơ đồ hoạt động: Mô tả dòng chảy công việc của các thành
phần trong hệ thống được thực thi từng bước một.
• Sơ đồ trạng thái máy UML: Mô tả trạng thái và sự chuyển
tiếp trạng thái của hệ thống.
• Sơ đồ tình huống sử dụng: Mô tả các chức năng được cung
cấp bởi hệ thống trong giới hạn của các actor, các mục tiêu
được đại diện là tình huống sử dụng, và các sự phụ thuộc
giữa các tình huống sử dụng.
1.3.2.6. Sơ đồ tương tác
Sơ đồ tương tác là một tập hợp con của sơ đồ hành vi, nhấn mạnh
dòng chảy của sự kiểm soát và dữ liệu giữa các vật trong hệ thống
được mô hình hóa.
• Sơ đồ liên lạc (Communication diagram): Biểu diễn sự
tương tác giữa các đối tượng và các bộ phận giới hạn của
tin nhắn theo trình tự. Chúng đại diện của sự kết hợp thông
tin lấy từ sơ đồ lớp, trình tự, và tình huống sử dụng mô tả
cả cấu trúc tĩnh và hành vi động của hệ thống.
• Sơ đồ tương tác tổng quan (Interaction overview diagram):
Cung cấp tổng quan trong đó các nút là các sơ đồ liên lạc.
GVHD: P.GS TS VŨ THANH NGUYÊN 25
• Sơ đồ trình tự (Sequence diagram): Biễu diễn cách các đối
tượng giao tiếp lẫn nhau. Và nó cũng chỉ ra vòng đời của
một đối tượng phụ thuộc tới những thông điệp đó.
• Sơ đồ phối hợp thời gian (Timing diagrams): Là dạng đặc
biệt của sơ đồ cộng tác nơi mà tập trung vào rang buộc thời
gian.
1.3.3. Công cụ
Một số công cụ UML nổi tiếng được sử dụng là: IBM Rational
Rose, Visual Paradigm, MagicDraw UML, Microsoft Visio,…
GVHD: P.GS TS VŨ THANH NGUYÊN 25
CHƯƠNG 2. GIỚI THIỆU ĐỀ TÀI
2.1. CÁC LOẠI PHẦN MỀM
Hiện nay có rất nhiều loại dự án phần mềm được chia thành nhiều loại
như:
• Phần mềm hệ thống: ví dụ như Windows, Linux,…
• Phần mềm ứng dụng: ví dụ như là phần mềm văn phòng, phần
mềm doanh nghiệp, phần mềm giáo dục, phần mềm tiện ích,
game,…
• Phần mềm chuyển dịch: trình biên dịch, trình thông dịch
Trong đó chỉ có phần mềm ứng dụng là phù hợp với sinh viên, bởi vì
chi phí thấp và chúng em đã chọn đề tài về phần mềm trò chơi (game).
2.2. TẠI SAO CHỌN
Chúng em đã chọn đề tài mô hình hóa là game, bởi vì những lí do sau
đây:
• Chúng em có thế mạnh về lập trình game, cho nên chúng em có
thể chọn một game đơn giản để mô hình hóa nó.
• Hiện nay vấn đề mô hình hóa game ứng dụng di động còn ít
người nghiên cứu nên chúng em muốn đào sâu tìm hiểu.
• Cuối cùng là chúng em muốn lắng nghe, tiếp thu ý kiến của
thầy về vấn đề này để có thể hoàn thiện kỹ năng thiết kế.
•
2.3. MÔI TRƯỜNG PHÁT TRIỂN
Môi trường phát triển được sử dụng để phát triển đề tài là Windows
Phone 7 với ngôn ngữ C# và công cụ hỗ trợ XNA 3.0.
2.4. CÔNG CỤ
Do trong nhóm có nhiều người và mỗi người sở hữu một công cụ nên
chúng em sử dụng 3 công cụ để hoàn thành mô hình cho game.
• Visual Paradigm for UML 10.0.
• Microsoft Visio 2010.
GVHD: P.GS TS VŨ THANH NGUYÊN 25
• Visual Studio 2012.
GVHD: P.GS TS VŨ THANH NGUYÊN 25
CHƯƠNG 3. MÔ HÌNH HÓA
3.1. SƠ ĐỒ TÌNH HUỐNG SỬ DỤNG
3.1.1. Main menu
Hình 3. Sơ đồ tình huống sử dụng lúc vào Menu chính
GVHD: P.GS TS VŨ THANH NGUYÊN 25
3.1.2. Game play
Hình 3. Sơ đồ Use case khi chơi
GVHD: P.GS TS VŨ THANH NGUYÊN 25
3.1.3. Option screen
Hình 3. Sơ đồ Use Case của option screen
3.1.4. Pause screen
Hình 3. Sơ đồ Use Case của Pause screen
GVHD: P.GS TS VŨ THANH NGUYÊN 25
3.2. SƠ ĐỒ TRÌNH TỰ
3.2.1. Main menu
Hình 3. Sơ đồ trình tự của main menu
3.2.2. Game play
Hình 3. Sơ đồ trình tự của màn hình chơi
GVHD: P.GS TS VŨ THANH NGUYÊN 25
3.2.3. Playing game
Hình 3. Sơ đồ trình tự khi đang chơi
GVHD: P.GS TS VŨ THANH NGUYÊN 25
3.2.4. Option screen
Hình 3. Sơ đồ trình tự của option screen
3.2.5. Help screen
Hình 3. Sơ đồ trình tự trong Help screen
GVHD: P.GS TS VŨ THANH NGUYÊN 25
3.2.6. About screen
Hình 3. Sơ đồ trình tự của help screen
3.2.7. Pause screen
Hình 3. Sơ đồ trình tự trong pause screen
GVHD: P.GS TS VŨ THANH NGUYÊN 25
3.2.8. Get extra
Hình 3. Sơ đồ trình tự khi nhận extra gifts
GVHD: P.GS TS VŨ THANH NGUYÊN 25
3.3. SƠ ĐỒ LỚP
3.3.1. Sơ đồ các lớp screen
Hình 3. Sơ đồ lớp các screen
GVHD: P.GS TS VŨ THANH NGUYÊN 25
3.3.2. Sơ đồ các lớp object
Hình 3. Sơ đồ lớp các đối tượng
GVHD: P.GS TS VŨ THANH NGUYÊN 25