Starting from:

$30

ICT Assignment 1-Pacman Solved

The purpose of this assignment is to construct and document a Requirements Specification, Design, and Development Process for a classic computer game Pac-Man. You should apply, as far as possible, the software engineering techniques introduced in this course. You should employ an OO design and demonstrate capability to use advanced design patterns and tactics in your project. The following problem statement is provided. The assignment is to be conducted in groups with no more than four students in one group.

Problem Definition
Pac-Man is a classic maze action game developed and released by Namco in 1980. Please study the Wikipedia page of Pac-Man - Wikipedia for the detailed introduction of this game. You are asked to reproduce this game for computers of different platforms. All important features in the original game should be included in your design and development (please check the marking criteria for important features must be implemented in your game).

Apart from the requirements from the original game, your program should have a start up page, the start up page should contain:

The title and logo of Pac-Man
The year and course code
The list of all students in your group
An exit button
A configure button. In the configure page, a player can select normal predefined maze and randomly generated mazes.
A play button to take the player to the game
Guidance

 

The emphasis of the assignment is upon the use of best software engineering practices to produce high quality software products. The assignment has two stage submissions with 15% weight each in the final grade.

 

At the outset of the assignment you should create a plan which documents in tabular form, when you expect to complete each phase of the development process. This should include the time/date when you expect to complete the development, verification and correction of the product produced in each phase. You should also include the number of person hours that you expect to spend on each activity. Later, when each phase is completed you should record the actual time taken and when the task was completed. There should also be documentation which shows which team members were responsible for each task
Project Planning and Documentation  =
Task
Task description
 
Projection plan
Based on the template to create a project plan

1.     Project plan is reasonable and complete.

2.     The actual working hours are recorded fully.

3.     The effort and contribution table is complete with justification (if needed)
 
Version control system
The overall documentation is good regarding layout, spelling, grammar. Use screenshots to demonstrate that a version control system has been applied for the project.
 
 Requirements Analysis           =

Task
Task description
Marks
Functional requirements
All functional requirements are identified, list, and described properly in a table. Each functional requirement should have a unique functional requirement id, and it should be described clearly and completely.
 
Non-functional requirements
Applying FURPS+ to identify, list, and describe at least 5 non-functional requirements.
 
Use case diagram
Draw a use case diagram to show all use cases.

1.     All the use case diagram elements are included correctly.

2.     All functional requirements are covered

3.     All use cases are named properly (as verb + noun )

4.     Correctly use include and extend relationship
 
Full use case description
Pick up a use case and develop a complete full use case description. All the elements in a full  use case description should be presented.
 
Requirement - use case

traceability matrix
To create a traceability matrix to show the relationship between functional requirements and use cases
 
Design and software architecture  =
Task
Task description
Marks
Class diagram
Draw a complete class diagram to demonstrate your design

1.     All functional requirements are covered, all classes are identified.

2.     Important attributes and methods should be given in each class.

3.     Correctly use UML notations.

4.     Should include correct multiplicity

5.     Should include all three different types of relationship: aggregation (composition), generalization, and association
 
 
6. Use CapitalCamelCase for class names and lowerCamelCase for method names.
 
Sequence diagram
Draw a sequence diagram to show one scenario  1. Correctly use sequence diagram notation.

2.     The class names and method names must match what in the class diagram.

3.     At least one option frame or if-else frame is used properly and correctly in one sequence diagram.

4.     At least one loop frame is used properly and correctly in one sequence diagram.
 
Activity

diagram
Draw an activity diagram

1.     Correctly use activity diagram notation.

2.     Start and stop symbol must be presented correctly.

3.     At least a pair of synchronization bars are used properly and correctly in one activity diagram.

4.     At least one decision diamond is used properly and correctly in one activity diagram
 
Component and Controller

View
Draw software architecture of the system in a C&C view type:

1.     You need to explain the style of this view.

2.     The view should cover the entire system

3.     The view should be a high level enough to highlight the structure.

 
 
Implementation style view
Draw software architecture of the system in a implementation style:

1.     The folder structure should be complete and reasonable.

2.     You need to list most important files

3.     The function and key content of each folder and file need to be explained.

 
 
Deployment style view
Present the project’s software architecture in deployment styles

1.     You need to create a diagram to show the deployment setting, both hardware and software should be considered.

2.     You also need to give a list view to show the deployment environment of the project
 
 

 Video marking scheme =

Task
Task description
Marks
Video submission
You are asked to submit a video to demonstrate the execution of the prototype of the game. The video should be shorter than 20 seconds, video content beyond 20 seconds will not be assessed.

1. The video should be shorter than 20 seconds.
 
Cross platform
The video demonstrate that the game prototype can execute at least on two different platforms
 
Start up page
When the game is start, it should show a start up page, on this page it needs to display:

1.      The title and logo of Pac-Man

2.      The year and course code

3.      The list of all students in your group

4.      An exit button (must be functional)

5.      A configure button (maybe not function at this stage).

6.      A play button to take the player to the game (must be functional)

7.
 
Move Pacman
In the play screen, the pac-man can move in the maze based on key control.
 
Monster
In the play screen, the monsters can move in the maze by them selves
 
 

 

 

MARKING SCHEME -  Second stage submission 

Project Planning and Documentation  =
Task
Task description
Marks
Projection plan
Based on the template to create a project plan

1.     Project plan is reasonable and complete.

2.     The actual working hours are recorded fully.

3.     The effort and contribution table is complete with justification (if needed)
 
Automate document generation
The overall documentation is good regarding layout, spelling, grammar etc. Use screenshots to demonstrate that doxygen or other auto documentation generator has been used for the project to generate documents.
 
 

Advanced Design        =
Task
Task description
Marks
MVC

architecture design pattern
You need to apply MVC architectural design pattern in your game. You need to

1.     Briefly explain MVC

2.     Use design diagrams (part of a class diagram and or sequence diagrams) to explain how MVC implied in your design.

3.     Use relevant source code to show how MVC has been applied in implementation.

4.     Make sure the design diagrams and the source code are matching each other.
 
Two other design patterns
You need to demonstrate that you’ve applied two design patterns (not including architectural design patterns such as MVC and three tiers) in your game. For each design pattern, you need:

1.     Explain what design pattern has been applied and why to use it.

2.     Use design diagrams to demonstrate your design

3.     Use relevant source code to demonstrate your implementation 4. Make sure the code and the diagram are matching each other.

 
 
Design tactic
You need to demonstrate that you’ve applied one design tactic to improve certain quality attributes:

1.     Explain what design tactics has been applied and what quality attributes can be improved through the design tactics.

2.     Use design diagrams to demonstrate your design

3.     Use relevant source code to demonstrate your implementation

4.     Make sure the code and the diagram are matching each other.
 
Random maze generation
Study the Wikipedia page (Maze generation algorithm - Wikipedia) for random maze generation.
 
 
Use relevant design diagram and source code to demonstrate that you have successfully applied a random maze generation algorithm in your game
 
Path search algorithms
Study the Wikipedia page (A* search algorithm - Wikipedia) and

(Maze-solving algorithm - Wikipedia) to design two different monster

AI. One is dummy, that may use random search and the other one should be smarter. You need to show relevant design diagrams and souse code to demonstrate that you’ve applied at least two algorithms.
 
Testing   =
Task
Task description
Marks
Software test description
Based on the STD template, produce a software test description.

1.     You will not create a separate document, just put relevant information in the single report.

2.     You might remove some irrelevant items from the STD template.

3.     Test cases must cover all use cases
 
Software test report
Based on the STR template, produce a software test report.

1.     You will not create a separate document, just put relevant information in the single report.

2.     You might remove some irrelevant items from the STR template.

3.     Make sure all the use cases are tested (it’s fine if some of the test can’t passed).
 
 

Reflection        =
Master students need to write one page project reflection, fail to do so or the reflection doesn’t make sense could result up to 10 mark deduction.
0
 

 

Video marking scheme = 

Task
Task description
Marks
Video submission
You are asked to submit a video to demonstrate the execution of the full game. The video should be shorter than 30 seconds, video content beyond 30 seconds will not be assessed.

1. The video should be shorter than 30 seconds.
 
Cross platform
The video demonstrate that the game prototype can execute at least on two different platforms
 
Configure page
The configure page works
 
Sound and music
The game has suitable sound effect and music (could be different from original Pac-Man)
 
Eat dots function
The Pac-man eat dots function is successfully demonstrated. After touch a dot, a dot is disappear and the score increases.
 
Captured by monster
The Pac-man is killed by a monster function is successfully.

1.     When the Pac-man is capture by a monster, it will die,

2.     Another Pac-man will appear, and all monster will go back to base. The dots and power pallet should not recover when a Pac-man is dead.

3.     If all three Pac-mans are died, the game will be over
 
Power

pallet function
Power pallet function is implemented as in the original Pac-man game
 
Win condition
After a Pac-man eats all the dots, the game will display “you win”, when press a button, game back to start up page. No need to implement next level.
 
Random maze generator
A random maze generator is successfully implemented. The randomly generate maze should not contain un-reachable spot. You may need to start a new game a few times to show that mazes are definitely randomly generated
 
Game AI
Demonstrate that some monsters are dummy, just randomly move around and some monsters are smarter, they clearly know what are the good paths to catch the Pac-man
 
 

 

 

You may use following tables as templates for your project management.

 

 
Task 
 
 
Plan 
 
 
Actual 
#
Task Name
Student
Planed Time
Cumulative Time
Finished Date
Time
Cumulative Time
Finished Date
1
Project plan
Smith
2 Hours
2 Hours
17/03/20
2.5
2.5
18/3/20
 
 
Mark
3 Hours
3 Hours
17/03/20
3
3
17/3/20
 
 
Task Total
5 Hours
5 Hours
17/03/20
5.5
5.5
18/3/20
 
 
 
 
 
 
 
 
 
2
Documentation
Smith
3 Hours
5 Hours
21/03/20
2
4.5
21/3/20
 
 
Anna
2 Hours
2 Hours
20/03/20
3
3
21/03/20
 
 
Task Total
5 Hours
10 Hours
 
5
10.5
 
3
Draw Behavior Trees
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

Project Working Load Summary

 

 

 
Plan (hours) 
Actual (hours) 
Total time 
100
105
Average time per person 
20
21
Smith 
20
25
Anna 
20
15
Mark 
20
20
Joe 
15
18
Tom 
25
27
 

Individual marking adjustment table (Example)

 

Student 
Effort Level*  

(Rating from 0 – 5, the information is filled by the group)
Contribution Level* 

(Rating from 0 – 5, the information is filled by the

group)
Justification 

If a student received level rating of 3 or less, your group need to give explanation for the low level rating
Smith 
5
4
 
Anna 
5
5
 
Mark 
5
5
 
Joe 
4
3
Joe didn’t complete all the tasks assigned to him (he didn’t draw the class diagram assigned to him) and

Mark helped to complete the tasks….
 

*Level ratings, 5 = excellent, 4 = good, 3 = reasonable, 2 = poor, 1 = unacceptable, 0 = none
 

Individual score is calculated based on the score of the submission and the student’s effort level and contribution level. Suppose the submission score is S, a student’s effort’s level is e and contribution level is c. The student’s score is calculated based on the algorithm below:

 

T = e + c

 

T
Student score
7-10
S x 100%
5-6
S x 80%
3-4
S x 40%
1-2
S x 20%
0
0
 

More products