100% found this document useful (1 vote)
174 views23 pages

Hangman Game Design Document

The document provides a software design description (SDD) for a Hangman game application created by three students at COMSATS University Islamabad, Abbottabad Campus. The SDD includes sections on the design methodology, system overview with architectural and process flow diagrams, design models including class, sequence, and data flow diagrams, data design with a data dictionary, algorithm descriptions, a software requirements traceability matrix, and details on the human interface design with screen images. The application allows users to play a Hangman game to guess words across different categories, with the goal of learning new vocabulary words and facts through gameplay.

Uploaded by

Muhammad Sheraz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
174 views23 pages

Hangman Game Design Document

The document provides a software design description (SDD) for a Hangman game application created by three students at COMSATS University Islamabad, Abbottabad Campus. The SDD includes sections on the design methodology, system overview with architectural and process flow diagrams, design models including class, sequence, and data flow diagrams, data design with a data dictionary, algorithm descriptions, a software requirements traceability matrix, and details on the human interface design with screen images. The application allows users to play a Hangman game to guess words across different categories, with the goal of learning new vocabulary words and facts through gameplay.

Uploaded by

Muhammad Sheraz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
  • Revision History
  • Design Methodology and Software Process Model
  • System Overview
  • Introduction
  • Architectural Design
  • Design Models [along with descriptions]
  • Process Flow/Representation
  • Data Design
  • Algorithm & Implementation
  • Software Requirements Traceability Matrix
  • Human Interface Design
  • Screen Images
  • Appendix

COMSATS University Islamabad,

Abbottabad Campus

SOFTWARE DESIGN
DESCRIPTION
(SDD DOCUMENT)

for
<HANGMAN>
Version 1.0

By
Ali Shozab Siddiqui CIIT/FA19-BCS-020/ATD
Sheraz Khan CIIT/FA19-BSE-160/ATD
Khurram Safi CIIT/FA19-BSE-147/ATD

Supervisor
Mam Nudrat Habib

Bachelor of Science in Computer Science (20xx-20xx)

1
Table of Contents
Revision History.............................................................................................................................3
1. Introduction..............................................................................................................................5
2. Design Methodology and software process model................................................................5
3. System Overview......................................................................................................................5
3.1 Architectural Design...................................................................................................................5
3.2 Process Flow/Representation......................................................................................................5
4. Design Models [along with descriptions]...............................................................................5
5. Data Design...............................................................................................................................6
5.1 Data Dictionary..........................................................................................................................6
6. Algorithm & Implementation.................................................................................................6
7. Software Requirements Traceability Matrix........................................................................6
8. Human Interface Design..........................................................................................................7
8.1 Screen Images.............................................................................................................................7
8.2 Screen Objects and Actions..............................................................................................................7
9. Appendix I................................................................................................................................7

2
Revision History
Name Date Reason for changes Version
Modes Implementation of easy mode and 3 levels
Jira Jira report submission

3
Application Evaluation History

Comments (by committee) Action Taken


*include the ones given at scope time both in doc and
presentation
Implementation of easy mode with 3 levels Yes
Jira report submission Yes

Supervised by
<Supervisor’s Name>

Signature______________

4
Introduction
The game is made on the basic concept of hangman. A word is given at random for the player to guess.
They have a total of 10 chances to guess the word. If the users guess the word correctly, they receive a
couple of coins and if they run out of chances than they lose the level and coins from their total score.
When the word is guessed correctly the game will display its meaning and some basic information for
the user. By this way the user will learn and have fun at the same time.

Scope

The game is still in the early stages. So, there are not many words in each category. The library is
however not small now. It has approximately over 120 words in its vocabulary. It also has 150+ facts and
figures about the words to educate the user. The game is being further updated. The game will have a
wider vocabulary in the future. Also, more categories will be added. To make the game more fun bonus
levels will be added. The user will have more to learn and increase their general knowledge more.

Design methodology and software process model

We have used Object-oriented design (OOD) which is the process of using an object-
oriented methodology to design an application.

We have developed this Android Application using agile methodology. Reason behind agile
methodology is because our project functionalities are dependent on each other, and we also
need to improve functionalities after user feedback. So, agile development methodology used to
minimize risk while adding new functionality or changing previous functionalities. In this
method, we developed this project in iterations which contain addition of the new functionalities.

 System overview
Give a general description of the functionality, context and design of your project.
Provide any background information if necessary.

5
Architectural design

Deployment Diagram

6
Process flow/Representation
Provide a representation of the flow of MAJOR processes of your system in the form of an
activity diagram. DO NOT CREATE ACTIVITY DIAGRAMS FOR LOGIN OR SIGN-UP
UNLESS THEY INVOLVE SIGNIFICANT COMPLEXITY. Include only the major
processes.

Design models [along with descriptions]


The applicable models may include:

7
Class Diagram

8
Sequence Diagram

a. Correctly guess a character but still need to continue playing

9
b. Correctly guess a character and win

c. Incorrectly guess a character but still need to continue playing

d. Painting the body parts

10
e. The game is lost when the noose is drawn 

 State Transition Diagram

11
Data Flow Diagram

 Schematic diagram (Hardware projects only)


 Timing diagram (Hardware projects only)

12
Insert applicable system models here.

You should be clear about all the concepts used in your diagrams for example for class diagram
you should know about aggregation, composition, and inheritance/generalization. Also ensure
visibility of all diagrams.

Class diagram and associated models shall only be necessary for object-oriented approach. In
case of procedural, create a DFD. Data flow diagram should be extended to 2-3 levels. It should
clearly list all processes, their sources/sinks and data stores.

Note: System design should be complete in all aspects. Create any/all diagrams if you need
to. A DFD can also be supplemented by a State Transition Diagram depending on the
nature of the project.

Hardware projects can include Schematic diagram, System block diagram, timing
diagram, Flow charts as replacement of sequence diagram/ Data flow diagram AFTER
CONSULTATION WITH THEIR SUPERVISORS. Choice of models must be properly
justified.

Data design 
Explain how the information domain of your system is transformed into data structures.
Describe how the major data or system entities are stored, processed, and organized.

List any databases or data storage items.

Data dictionary
Alphabetically list the system entities or major data along with their types and descriptions. If
you provided a functional description, list all the functions and function parameters. If
you provided an OO description, list the objects and its attributes, methods
and method parameters.

Algorithm & Implementation


In this section, we take a closer look at what each component does in a more systematic way.
Provide a summary of your algorithm for each function listed in procedural description language
(PDL) or pseudo code.

If you gave an OO description, summarize each object member function for all the objects


listed in PDL or pseudo code. Describe any local data when necessary.

Software requirements traceability matrix


This section should contain a table that summarizes how each software requirement has been met
in this document. The tabular format permits one-to-one and one-to-many relationships to be
shown.

13
Table 1 Requirements Traceability Matrix
Req. Number Ref. Item Design Component Component Items
FR01 Class Diagram ClassName FunctionName(s)
OR
FR01 DFD DiagramNumber/Level FunctionName(s)

Human interface design 
Describe the functionality of the system from the user’s perspective. Explain how the user will
be able to use  your system to complete  all the  expected  features and  the  feedback 
information that will be displayed for the user.

14
Screen images

15
16
17
18
19
20
21
8.2 Screen objects and actions
A discussion of screen objects and actions associated with those objects

Appendix I
 How to design using UML (OOP): For guidance please follow the instructions mentioned
in the link: [Link]

 How and when to design ER diagrams: For guidance please follow the instructions
mentioned in the link:
[Link]

22
 Data flow diagrams: For guidance please follow the instructions mentioned in the link
and book:
o [Link]
o Software Engineering –A Practitioner’s approach by Roger Pressman
 Architecture diagram: For guidance please follow the instructions mentioned in the link
and book:
o Ian Sommerville – Software Engineering 9th Edition– Chapter 6

23

Common questions

Powered by AI

Class diagrams and state transition diagrams play crucial roles in the architectural design of the Hangman game. Class diagrams illustrate the system's classes, their attributes, methods, and the relationships between them, which is essential for object-oriented approaches. State transition diagrams provide a dynamic view of the system states and the transitions among these states, which is crucial for understanding game flow and logic transitions when a player makes a guess .

Incorporating a state transition diagram alongside a data flow diagram is important because it complements the static view of data processes with a dynamic view of system behavior. Such diagrams provide insights into how the system transitions between states, which is crucial in the game where player actions lead to different outcomes and states, enriching the understanding of game mechanics .

Data design is pivotal as it transforms the information domain into structured data by defining how data structures represent the major data or system entities. This involves organizing and storing data effectively, listing databases or data storage mechanisms. The data dictionary details system entities or major data types and their descriptions, further supporting systematic data management .

Process flow representations contribute to comprehension by visually mapping out the major processes in the Hangman game system. They clarify how data and actions flow through the system, identify key system processes, and ensure logical sequencing, which is pivotal in understanding system operations and identifying potential bottlenecks or areas for optimization .

Strategic decisions involve selecting vocabulary that enhances educational value, aligns with user interests, and increases complexity progressively. Adding categories requires assessing user preferences, ensuring diversity for broad appeal, and potentially incorporating thematic elements to enrich the gameplay narrative, thereby retaining user engagement and educational benefit .

The software requirements traceability matrix plays a significant role in ensuring the Hangman game meets design specifications by mapping each software requirement to its corresponding design component. This facilitates tracking of how requirements are implemented, ensuring all are addressed and nothing is overlooked during development .

The agile methodology supports the development of the Hangman game by allowing for iterative development that incorporates user feedback for functionality improvements. Agile development is chosen because project functionalities are dependent on each other, and improvements are needed after user feedback. This approach minimizes risks while adding new functionality or changing previous ones, enhancing the overall user experience .

The human interface design enhances user interaction by presenting system functionality from the user's perspective. It provides users with intuitive ways to use the system to complete tasks and receive feedback. This involves screen images and associated actions that are systematic and user-friendly, ensuring users can easily navigate and understand the game dynamics and outcomes .

The implementation of game levels influences the gameplay experience by introducing varying difficulty levels that cater to different user skills. It allows for a progressive challenge as users improve, maintaining engagement and providing opportunities for learning and earning rewards such as coins, thereby making the game interactive and educational .

Major considerations for defining data structures in the data dictionary include specifying system entities or major data types and providing descriptions for each. This includes listing objects, attributes, methods, and method parameters if using an object-oriented approach, which is critical for ensuring clarity and proper data organization during game development .

COMSATS University Islamabad, 
Abbottabad Campus
SOFTWARE DESIGN
DESCRIPTION 
(SDD DOCUMENT)
for
<HANGMAN>
Version 1.0
By
Ali
Table of Contents
Revision History...........................................................................................
Revision History
Name
Date
Reason for changes
Version
Modes 
Implementation of easy mode and 3 levels
Jira
Jira report submis
Application Evaluation History
Comments (by committee)
*include the ones given at scope time both in doc and 
presentation
Ac
Introduction
The game is made on the basic concept of hangman. A word is given at random for the player to guess. 
They have
Architectural design 
Deployment Diagram
6
Process flow/Representation
Provide a representation of the flow of MAJOR processes of your system in the form of an
activity
Class Diagram
8
Sequence Diagram
a. Correctly guess a character but still need to continue playing
9
b. Correctly guess a character and win
c. Incorrectly guess a character but still need to continue playing
d. Painting the bo

You might also like