UML được dùng để xác định, hình dung, sửa đổi, xây dựng và tài liệuhó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ô
Trang 1ĐẠ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:
TP Hồ Chí Minh, tháng 01 năm 2013
Trang 2LỜ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ôngnghệ 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ệcngà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ấtphứ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ầucủ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 gameUFOInvaders 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
Trang 3LỜ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 chochú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àikhô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
Trang 4NHẬN XÉT
(Của giảng viên hướng dẫn)
Trang 5
MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU VỀ UML 1
1.1 CÁC GIẢI PHÁP HIỆN NAY 1
1.2 TẠI SAO CHỌN 1
1.3 NGÔN NGỮ UML 2
1.3.1 Tổng quan 2
1.3.2 Nội dung 4
1.3.3 Công cụ 6
CHƯƠNG 2 GIỚI THIỆU ĐỀ TÀI 7
2.1 CÁC LOẠI PHẦN MỀM 7
2.2 TẠI SAO CHỌN 7
2.3 MÔI TRƯỜNG PHÁT TRIỂN 7
2.4 CÔNG CỤ 7
CHƯƠNG 3 MÔ HÌNH HÓA 8
3.1 SƠ ĐỒ TÌNH HUỐNG SỬ DỤNG 8
3.1.1 Main menu 8
3.1.2 Game play 9
3.1.3 Option screen 10
3.1.4 Pause screen 10
3.2 SƠ ĐỒ TRÌNH TỰ 11
3.2.1 Main menu 11
3.2.2 Game play 11
3.2.3 Playing game 12
3.2.4 Option screen 13
3.2.5 Help screen 13
3.2.6 About screen 14
3.2.7 Pause screen 14
3.2.8 Get extra 15
3.3 SƠ ĐỒ LỚP 16
3.3.1 Sơ đồ các lớp screen 16
Trang 63.3.2 Sơ đồ các lớp object 17
3.3.2 Sơ đồ Enum 18
3.3.4 Sơ đồ lớp của game 19
3.4 SƠ ĐỒ HOẠT ĐỘNG 20
3.5 SƠ ĐỒ TRẠNG THÁI 20
CHƯƠNG 4 NỘI DUNG GAME 21
4.1 CHẾ ĐỘ CHƠI 21
4.2 ĐIỀU KHIỂN 21
4.3 MÀN HÌNH CHƠI 21
4.4 CẤP ĐỘ 21
4.5 ĐỘ KHÓ 21
4.7 VẬT PHẨM 22
4.8 UFO 22
4.9 ÂM THANH 22
4.10 ĐA NHIỆM 22
4.11 MENU CHÍNH 23
4.12 MENU OPTION 23
4.13 MENU ABOUT 23
4.14 MENU HELP 23
4.15 MENU PAUSE 23
4.16 THOÁT GAME 23
KẾT LUẬN 24
TÀI LIỆU THAM KHẢO 25
Trang 7MỤC LỤC HÌNH ẢNH
Hình 1.1 Lịch sử kí hiệu và phương pháp hướng đối tượng 3
Hình 1.2 Sơ đồ các loại sơ đồ UML 5
Hình 3.1 Sơ đồ tình huống sử dụng lúc vào Menu chính 8
Hình 3.2 Sơ đồ Use case khi chơi 9
Hình 3.3 Sơ đồ Use Case của option screen 10
Hình 3.4 Sơ đồ Use Case của Pause screen 10
Hình 3.5 Sơ đồ trình tự của main menu 11
Hình 3.6 Sơ đồ trình tự của màn hình chơi 11
Hình 3.7 Sơ đồ trình tự khi đang chơi 12
Hình 3.8 Sơ đồ trình tự của option screen 13
Hình 3.9 Sơ đồ trình tự trong Help screen 13
Hình 3.10 Sơ đồ trình tự của help screen 14
Hình 3.11 Sơ đồ trình tự trong pause screen 14
Hình 3.12 Sơ đồ trình tự khi nhận extra gifts 15
Hình 3.13 Sơ đồ lớp các screen 16
Hình 3.14 Sơ đồ lớp các đối tượng 17
Hình 3.15 Sơ đồ lớp các enum 18
Hình 3.16 Sơ đồ lớp các lớp của game 19
Hình 3.17 Sơ đồ hoạt động của game 20
Hình 3.18 Sơ đồ trạng thái 20
Trang 8CHƯƠNG 1 CHƯƠNG 2 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ềunà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
Trang 91.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óadù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 đốitượ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 2000UML được chấp nhận bởi tổ chức tiêu chuẩn thế giới ISO như là tiêu chuẩncô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ệuhó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 trongsuốt vòng đời phát triển phần mềm và qua nhiều công nghệ thực hiện khácnhau
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ềmUML đượ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
Trang 10Hình 1.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àotháng 1 năm 1997 Trong cùng tháng đó UML Partners đã thành lâpSemantics Task Force, để hoàn thành các đặc tả và kết hợp chúng với cáctiê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 usecase được sử dụng bắt nguồn từ Objectory và các kí hiệu thành phần bắtnguồ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 đếnUML 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ớiUML với mục đích UML sẽ hỗ trợ các phương pháp đó Ngoài ra UMLcũng được sự đóng góp từ nhiều 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
Trang 111.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ềmhướ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ếtnhữ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 radự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
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 baogồm sơ đồ trình tự, sơ đồ hoạt động và sơ đồ trạng thái máy
Trang 121.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.2 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
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
Trang 13 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
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,…
Trang 14CHƯƠ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ịchTrong đó 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
Visual Studio 2012
Trang 15CHƯƠ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.3 Sơ đồ tình huống sử dụng lúc vào Menu chính
Trang 163.1.2 Game play
Hình 3.4 Sơ đồ Use case khi chơi
3.1.3 Option screen
Trang 17Hình 3.5 Sơ đồ Use Case của option screen
3.1.4 Pause screen
Hình 3.6 Sơ đồ Use Case của Pause screen
Trang 19Hình 3.9 Sơ đồ trình tự khi đang chơi
Trang 22Hình 3.14 Sơ đồ trình tự khi nhận extra gifts
Trang 233.3 SƠ ĐỒ LỚP
3.3.1 Sơ đồ các lớp screen
Hình 3.15 Sơ đồ lớp các screen
Trang 243.3.2 Sơ đồ các lớp object
Hình 3.16 Sơ đồ lớp các đối tượng
3.3.2 Sơ đồ Enum
Trang 25Hình 3.17 Sơ đồ lớp các enum
3.3.4 Sơ đồ lớp của game
Trang 26Hình 3.18 Sơ đồ lớp các lớp của game
Trang 28Có 2 loại vũ khí: Laze và photon Mỗi loại còn có 3 cấp độ mạnh yếu khác nhau.
4.7 VẬT PHẨM
Có 5 loại vật phẩm khác nhau: đạn photon, vũ khí, điểm, đạn laze, máu
Đạn photon: Khi phi thuyền ăn được đạn photon thì số đạn photon của phi thuyền sẽtăng thêm 25 đạn và được thưởng 30 điểm
Trang 29Vũ khí: Khi phi thuyền ăn được vũ khi thì vũ khi photon sẽ được nâng cấp lên mứccao hơn cho tới khi đạt tối đa.
Điểm: Người chơi sẽ tăng được 100 điểm nếu phi thuyền ăn được vật phẩm này.Đạn laze: Khi phi thuyền ăn được đạn laze thì số đạn laze sẽ tăng thêm 40 và ngườichơi được cộng 40 điểm
Máu: Phi thuyền sẽ được tăng 40 máu nếu nhận được vật phẩm này
4.8 UFO
Game có 3 loại UFO là Bạc, Cam và Đỏ Mỗi UFO có lượng máu, cách bắn đạn, cách
di chuyển và điểm cộng khác nhau
4.9 ÂM THANH
Game hỗ trợ nhiều loại âm thanh khác nhau:
Nhạc nền
Âm thanh đạn photon bắn
Âm thanh đạn laze bắn
Âm thanh lúc UFO hay phi thuyền chết
Âm thanh lúc tăng điểm
Âm thanh lúc nhặt được vật phẩm
Âm thanh khi game over
Âm thanh đổi vũ khí
4.10 ĐA NHIỆM
Phi thuyền có thể vừa di chuyển vừa bắn đạn vừa ăn được vật phẩm trong cùng mộtthời điểm Điều đó có nghĩa là nhiều hành động có thể xảy ra một thời điểm trên mànhình
Trang 304.16 THOÁT GAME
Khi đang ở Menu chính, người chơi sẽ thoát game bằng cách nhấn phím Back trên điện thoại
Trang 31KẾT LUẬN
Mặc dù còn nhiều thiếu sót nhưng mô hình hóa đã giúp chúng em có một cách nhìntổng quan về các quy trình thực hiện một công việc có hệ thông và chặt chẽ Qua nó,tất cả các công việc đều được hệ thống hóa bởi người phân tích và thiết kế, giúp chóngười thực thi có thể hiểu những việc cần làm một cách trực quan hơn, công việc trởnên suôn sẻ và dễ dàng thực hiện
Tuy nhiên, việc lựa chọn mô hình thích hợp cho công việc cũng gặp đôi chút khókhăn Từ yêu cầu của người sử dụng tới ngôn ngữ của người thiết kế không đồng nhấtdẫn đến một số sai sót trong khâu thiết kế khiến hiệu quả công việc chưa đạt tới mức
Trang 32TÀI LIỆU THAM KHẢO
Tiếng Việt :
[1] Giáo trình UML
[2] Nguyễn Ngọc Bình Phương – Thái Thanh Phong, Các phương pháp lập trình
C#, Nhà xuất bản giao thông vận tải