SDD (Hangman)
SDD (Hangman)
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
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
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.
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.
7
Class Diagram
8
Sequence Diagram
9
b. Correctly guess a character and win
10
e. The game is lost when the noose is drawn
11
Data Flow Diagram
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.
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.
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: http://agilemodeling.com/artifacts/
How and when to design ER diagrams: For guidance please follow the instructions
mentioned in the link:
http://people.inf.elte.hu/nikovits/DB2/Ullman_The_Complete_Book.pdf
22
Data flow diagrams: For guidance please follow the instructions mentioned in the link
and book:
o http://www.agilemodeling.com/artifacts/dataFlowDiagram.htm
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