Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Bengali Braille to Text Translator
Final Project Report
Minhas Kamal
BSSE 0509
Institute of Information Technology
Univers...
Bengali Braille to Text Translator
Final Project Report
Submitted by
Minhas Kamal
Roll: BSSE-0509
Student of BSSE 8th Seme...
Bengali Braille to Text Translator
Minhas Kamal
Approved:
Signature Date
Supervisor: Dr. Mohammad Shoyaib
________________...
LETTER OF TRANSMITTAL
15th
November, 2016.
BSSE 4th
Year Exam Committee
Institute of Information Technology
University of ...
i
Executive Summary
Braille is a specialized writing system for visually impaired people,
where raised dots on embossed pa...
ii
Acknowledgements
By the grace of Almighty Allah I have completed my report on Software
Requirements Specification of Be...
iii
Contents
Introduction....................................................................................................
iv
2.6 Class-Based Model.....................................................................................................
v
6.2.1 Pre-Processing.......................................................................................................
1
Chapter-1
Introduction
1.1 Preamble
Braille is a specialized writing system for visually impaired people, where raised
d...
2
1. Enhance and filter input image
2. Detect dots
3. Recognize patterns
4. Map patterns to characters
5. Write output to ...
3
Chapter-2
Software Requirement
Specification
2.1 Introduction
This is the Software Requirements Specification (SRS) for ...
4
2.2 Inception
Our Requirements Engineering starts with Inception phase. Its goal is to identify
parallel needs and confl...
5
2.2.1.3 Recognizing Multiple Viewpoints
We have collected these view points by discussing with the teachers, visually
im...
6
iv. Make final decision about the requirements
Common Requirements:
 User friendly interface
 Easy to use
Conflicting ...
7
2.3 Elicitation
Elicitation helps the customer to define the requirement more specifically. This
phase faces many proble...
8
2.3.3.1 Normal Requirements
Objectives and goals that are stated during the meeting with the customers are
Normal Requir...
9
2.3.3.3 Exciting Requirements
Features that go beyond the customer's expectations are called Exciting
Requirements. They...
10
table, where each unique code relates to only one character) and plain text file is
generated. This text file contains ...
11
2.4 Scenario-Based Model
The user’s point of view is used to describe Scenario-Based Model. In SRS this is
the first mo...
12
2.4.2 Use Case Description
In this section Use Case Scenario will be elaborated to Use Case Diagram,
Description, Activ...
13
2.4.2.1 Bengali Braille to Text Translator
Here Figure-2.4.2.1 is the detailed form of level-0:
14
2.4.2.1.1 Use Case: Image Acquisition
Primary Actor: User.
Secondary Actor: Scanner, Braille Processing Template.
Goal ...
15
Figure 2.4.2.1.1a is the Activity Diagram of Image Acquisition-
16
Figure 2.4.2.1.1b is the Swim-Lane Diagram of Image Acquisition-
17
2.4.2.1.2 Pre-Processing
Pre-Processing phase can be divided into five sub-phases. Figure-2.4.2.1.2 shows
this:
18
2.4.2.1.2.1 Use Case: Enhancement
Primary Actor: User.
Secondary Actor: Braille Processing Template.
Goal in Context: I...
19
Figure 2.4.2.1.2.1a is the Activity Diagram of Enhancement-
20
Figure 2.4.2.1.2.1b is the Swim-Lane Diagram of Enhancement -
21
2.4.2.1.2.2 Use Case: Noise Reduction
Primary Actor: User.
Secondary Actor: Braille Processing Template.
Goal in Contex...
22
Figure 2.4.2.1.2.2a is the Activity Diagram of Noise Reduction-
23
Figure 2.4.2.1.2.2b is the Swim-Lane Diagram of Noise Reduction-
24
2.4.2.1.2.3 Use Case: Connectivity Improvement
Primary Actor: User.
Secondary Actor: Braille Processing Template.
Goal ...
25
Figure 2.4.2.1.2.3a is the Activity Diagram of Connectivity Improvement-
26
Figure 2.4.2.1.2.3b is the Swim-Lane Diagram of Connectivity Improvement-
27
2.4.2.1.2.4 Use Case: Quantization
Primary Actor: User.
Secondary Actor: Braille Processing Template.
Goal in Context: ...
28
Figure 2.4.2.1.2.4a is the Activity Diagram of Quantization-
29
Figure 2.4.2.1.2.4b is the Swim-Lane Diagram of Quantization-
30
2.4.2.1.3 Translation
Further section of Translation system creates three sub-systems:
31
2.4.2.1.3.1 Use Case: Segmentation
Primary Actor: User.
Secondary Actor: Braille Processing Template.
Goal in Context: ...
32
Figure 2.4.2.1.3.1a is the Activity Diagram of Segmentation-
33
Figure 2.4.2.1.3.1b is the Swim-Lane Diagram of Segmentation-
34
2.4.2.1.3.2 Use Case: Pattern Recognition
Primary Actor: User.
Secondary Actor: Braille Processing Template, Braille Pa...
35
Figure 2.4.2.1.3.2a is the Activity Diagram of Pattern Recognition-
36
Figure 2.4.2.1.3.2b is the Swim-Lane Diagram of Pattern Recognition-
37
2.4.2.1.3.3 Use Case: Raw Text Generation
Primary Actor: User.
Secondary Actor: Braille Processing Template, Braille Pa...
38
Figure 2.4.2.1.3.3a is the Activity Diagram of Raw Text Generation-
39
Figure 2.4.2.1.3.3b is the Swim-Lane Diagram of Raw Text Generation-
40
2.4.2.1.4 Post-Processing
Post-Processing has two major phases, Figure 2.4.2.1.4-
41
2.4.2.1.4.1 Use Case: Spell Check
Primary Actor: User.
Secondary Actor: Braille Processing Template, Domain Word List.
...
42
Figure 2.4.2.1.4.1a is the Activity Diagram of Spell Check-
43
Figure 2.4.2.1.4.1b is the Swim-Lane Diagram of Spell Check-
44
2.4.2.1.4.2 Use Case: Clean and Generate Output
Primary Actor: User.
Secondary Actor: Braille Processing Template.
Goal...
45
Figure 2.4.2.1.4.2a is the Activity Diagram of Clean and Generate Output-
46
Figure 2.4.2.1.4.2b is the Swim-Lane Diagram of Clean and Generate Output-
47
2.5 Data Model
When software requires interfacing with a database or complex data structures
need to be constructed and...
48
image files alias of braille writing rejected
computer represents the whole
system
rejected
scanned images alias of bra...
49
algorithm an attribute of braille
processing template
rejected
parameter an attribute of braille
processing template
re...
50
2.5.2 Data Objects and Attributes
This is a brief view of all attributes we have found so far:
51
2.5.3 Conclusion
Data objects found here have no relationship to each other. These data objects
will be stored in a fil...
52
2.6 Class-Based Model
The objects that the system will manipulate, the operations that will be applied to
the objects a...
53
12 embossed paper 1 Problem Space
13 tactile alphabet 1 Problem Space
14 paper 1 Problem Space
15 scanner 1, 2 Problem ...
54
44 algorithm 3 Solution Space (represents all
procedures)
45 parameter 7 Solution Space (represents all
parameters of t...
55
2.6.3 Attribute Selection
Here in Table-2.6.3 we find attributes for selected classes.
Table-2.6.3 Attribute Selection
...
56
2.6.4 Defining Methods
In this section we find all the verbs from usage scenario and include necessary
external verbs i...
57
19 run post processing yes
20 run spell checking yes
21 store word out of scope
22 run cleaning procedure yes
23 automa...
58
create_plain_text() is
generate plain text
from code
Post-
Processing
check_spell()
generate_final_output()
generate_fi...
59
2.6.5 Class Diagram
We have shown here (Figure- 2.6.5), how the classes interact together to
accomplish certain goal.
60
2.6.6 Class Card
Class card represents a graphical view of responsibility and collaborator for each
class.
61
2.7 Behavioral Model
When the system is perceived in terms of states and transitions, it is called
Behavior Modeling. I...
62
apply quantization User
extract braille pattern User
convert braille to code User Braille Pattern Code
map code to char...
63
2.7.2 State Transition Diagram
State Transition Diagram represents active states for each class and the events
(trigger...
64
2.7.3 Sequence Diagram
The way events cause transitions from object to object as a function of time is
represented by S...
65
66
67
68
69
70
71
72
73
74
75
Chapter-3
Architectural Design
3.1 Introduction
In the architectural design, structures of data and program components ...
76
3.3 Archetypes
The sable elements of BBTT are being showed here-
77
3.4 Architectural Mapping Using Data Flow Diagram
Figure 3.4.1 represents DFD of BBTT at level-1.
Now, we have further ...
78
79
80
81
82
83
Chapter-4
User Interface Design
4.1 Introduction
In this chapter first we will analyze expected user of our system and ...
84
4.3 User Profile
After analyzing the user we came up with the following user profile-
• Age: 14 to 70
• Gender: N/A
• P...
85
4.4 User Interface
After running the system user will view the start window showed in Figure 4.4.1.
From here he can st...
86
If user chooses to run Braille to Text Translation process then he will see following
interface (Figure 4.4.2).
If the ...
87
88
89
While running the Pre-Processing phase the window showed in Figure 4.4.7 will
appear.
After pressing the next button Fi...
90
User can also run Translation phase. At the beginning he will see window just like
shown in Figure 4.4.7. Then customiz...
91
In Braille Processing Template Generation Phase, Figure 4.4.3, Figure 4.4.4, and
Figure 4.4.5 are shown sequentially. T...
92
93
Chapter-5
Testing
5.1 Introduction
This chapter contains test cases for all primary components of Bengali Braille to Te...
94
TC-1.3 - Input Directory  valid
directory path
- Next  click
System proceeds to
next stage
Pass
TC-1.4 - Cancel  cli...
95
invalid algorithm
- Next  click
TC-2.6 - Cancel click Show confirmation
dialog
Pass After
confirmation,
process is
ca...
96
- Use Default Map  selected
- Next  click
TC-3.6 - Min Dot Size is smaller than
Max Dot Size
- Selected Pattern Recog...
97
- Custom Word List File Path 
empty
- Next  click
TC-4.4 - Spell Checking  is checked
- Use Custom Word List  is
se...
98
dialog confirmation,
process is
canceled, and
main opening
window is
shown.
5.2.6 Test Case 6: Braille to Text Translat...
99
- Next  click
TC-6.6 - Input Directory  valid
directory path
- Use Template  selected
- Use Default Template 
selec...
100
Chapter-6
User Manual
6.1 Introduction
The user manual is intended to provide assistance to the user, so that he can r...
101
The menu bar contains 2 menus- Operations and Help. Operations menu has 5
menu options- Braille to Text Translation, P...
102
2. Select the Input Braille Image Directory by selecting an image of the
directory. Click the Next button and Pre-Proc...
103
6.2.2 Translation
Steps:
1. From the Operations menu click on the menu item Translation. Now the
Translation Initializ...
104
105
4. Now select your Output Text Directory and click on the Run button. The
process will start running. Now wait for som...
106
107
3. If you want to run Spell Checking, then select it. You can use default
Bengali Word List provided with the software...
108
2. Click on the Add button to add image pre-processing methods. Select
process and algorithm for each method. Then cli...
109
110
5. Now select your Output Braille Processing Template File and click on the
Run button. The process will start running...
111
2. Select the Input Braille Image Directory by selecting an image of the
directory.
If you want to use a predefined te...
112
3. Now, select your Output Text Directory and click on the Run button. The
process will start running. Now wait for so...
113
Chapter-7
Conclusion
From this report, readers will get a clear understanding of Bengali
Braille to Text Translator. H...
114
References
[1] Pressman, Roger S. Software Engineering: A Practitioner's Approach
(7th ed.). Boston, Mass: McGraw-Hill...
Próxima SlideShare
Cargando en…5
×

Final Project Report- Bengali Braille to Text Translator

1.757 visualizaciones

Publicado el

Complete Project Report on software project- Bengali Braille to Text Translator. Chapters- Software Requirement Specification (SRS), Architectural Design, User Interface Design, Testing, User Manual.

Created in 4th year of Bachelor of Science in Software Engineering (BSSE) course at Institute of Information Technology, University of Dhaka (IIT, DU).

Publicado en: Software
  • If we are speaking about saving time and money this site ⇒ www.WritePaper.info ⇐ is going to be the best option!! I personally used lots of times and remain highly satisfied.
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • You have to choose carefully. HelpWriting.net offers a professional writing service. I highly recommend them. The papers are delivered on time and customers are their first priority. This is their website: HelpWriting.net
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

Final Project Report- Bengali Braille to Text Translator

  1. 1. Bengali Braille to Text Translator Final Project Report Minhas Kamal BSSE 0509 Institute of Information Technology University of Dhaka 15 November, 2016
  2. 2. Bengali Braille to Text Translator Final Project Report Submitted by Minhas Kamal Roll: BSSE-0509 Student of BSSE 8th Semester Institute of Information Technology University of Dhaka Supervised by Dr. Mohammad Shoyaib Associate Professor Institute of Information Technology University of Dhaka Submission Date 15th November, 2016
  3. 3. Bengali Braille to Text Translator Minhas Kamal Approved: Signature Date Supervisor: Dr. Mohammad Shoyaib _____________________ _____________________ Committee Member: Dr. Kazi Muheymin-Us-Sakib _____________________ _____________________ Committee Member: Dr. Md. Shariful Islam _____________________ _____________________ Committee Member: Rezvi Shahariar _____________________ _____________________ Committee Member: Asif Imran _____________________ _____________________ Committee Member: Amit Seal Ami _____________________ _____________________
  4. 4. LETTER OF TRANSMITTAL 15th November, 2016. BSSE 4th Year Exam Committee Institute of Information Technology University of Dhaka Sir, I have prepared the final report of the project- Bengali Braille to Text Translator. The main purpose of this report is to summarize my project work. This report covers each step that I followed to complete the system. Sincerely Yours, Minhas Kamal Roll: BSSE-0509 Student of BSSE 8th Semester Institute of Information Technology University of Dhaka Enclosure: Final Project Report
  5. 5. i Executive Summary Braille is a specialized writing system for visually impaired people, where raised dots on embossed paper are used as tactile alphabet. The tool Bengali Braille to Text Translator will take in scanned image of Bengali Braille writing, apply pattern recognition, and translate it to text. The user does not need much theoretical or technical skill to run this software. The document contains SRS, Architectural Design, User Interface Design, Testing, and User Manual.
  6. 6. ii Acknowledgements By the grace of Almighty Allah I have completed my report on Software Requirements Specification of Bengali Braille to Text Translator. I am grateful to my supervisor Dr. Mohammad Shoyaib for his direction throughout the working time. It was almost impossible for me to complete the Final Project Report document without him. I am also thankful to the teachers and students of The Institute of Education and Research, University of Dhaka. They greatly helped me in collecting information among all business.
  7. 7. iii Contents Introduction.......................................................................................................................... 1 1.1 Preamble.............................................................................................................................................1 1.2 Purpose ...............................................................................................................................................1 1.3 About the Project................................................................................................................................1 1.4 Project Schedule .................................................................................................................................2 Software Requirement Specification...................................................................................... 3 2.1 Introduction ........................................................................................................................................3 2.2 Inception .............................................................................................................................................4 2.2.1.1 Identifying Stakeholders ...............................................................................................................4 2.2.1.2 Asking the First Questions ............................................................................................................4 2.2.1.3 Recognizing Multiple Viewpoints..................................................................................................5 2.2.1.4 Working towards Collaboration....................................................................................................5 2.2.2 Conclusion........................................................................................................................................6 2.3 Elicitation ............................................................................................................................................7 2.3.1 Eliciting Requirements .....................................................................................................................7 2.3.2 Collaborative Requirements Gathering ...........................................................................................7 2.3.3 Quality Function Deployment..........................................................................................................7 2.3.3.1 Normal Requirements...................................................................................................................8 2.3.3.2 Expected Requirements................................................................................................................8 2.3.3.3 Exciting Requirements ..................................................................................................................9 2.3.4 Usage Scenario.................................................................................................................................9 2.3.5 Elicitation Work Product................................................................................................................10 2.4 Scenario-Based Model ......................................................................................................................11 2.4.1 Use Case Scenario..........................................................................................................................11 2.4.2 Use Case Description .....................................................................................................................12 2.4.2.1 Bengali Braille to Text Translator................................................................................................13 2.4.2.1.2 Pre-Processing..........................................................................................................................17 2.4.2.1.3 Translation ...............................................................................................................................30 2.4.2.1.4 Post-Processing........................................................................................................................40 2.5 Data Model .......................................................................................................................................47 2.5.1 Data Object Selection.....................................................................................................................47 2.5.2 Data Objects and Attributes ..........................................................................................................50 2.5.3 Conclusion......................................................................................................................................51
  8. 8. iv 2.6 Class-Based Model............................................................................................................................52 2.6.1 General Classification.....................................................................................................................52 2.6.2 Selection Characteristics................................................................................................................54 2.6.3 Attribute Selection.........................................................................................................................55 2.6.4 Defining Methods ..........................................................................................................................56 2.6.4.1 Verb List ......................................................................................................................................56 2.6.4.2 Selected Methods.......................................................................................................................57 2.6.5 Class Diagram.................................................................................................................................59 2.6.6 Class Card.......................................................................................................................................60 2.7 Behavioral Model..............................................................................................................................61 2.7.1 Identifying Events...........................................................................................................................61 2.7.2 State Transition Diagram ...............................................................................................................63 2.7.3 Sequence Diagram .........................................................................................................................64 Architectural Design ............................................................................................................ 75 3.1 Introduction ......................................................................................................................................75 3.2 Context Diagram ...............................................................................................................................75 3.3 Archetypes ........................................................................................................................................76 3.4 Architectural Mapping Using Data Flow Diagram.............................................................................77 User Interface Design .......................................................................................................... 83 4.1 Introduction ......................................................................................................................................83 4.2 User Analysis.....................................................................................................................................83 4.3 User Profile........................................................................................................................................84 4.4 User Interface ...................................................................................................................................85 Testing ................................................................................................................................ 93 5.1 Introduction ......................................................................................................................................93 5.2 Test Cases..........................................................................................................................................93 5.2.1 Test Case 1: Process Initialization..................................................................................................93 5.2.2 Test Case 2: Pre-Processing Customization ...................................................................................94 5.2.3 Test Case 3: Translation Customization.........................................................................................95 5.2.4 Test Case 4: Post-Processing Customization..................................................................................96 5.2.5 Test Case 5: Process Running.........................................................................................................97 5.2.6 Test Case 6: Braille to Text Translation Initialization.....................................................................98 User Manual...................................................................................................................... 100 6.1 Introduction ....................................................................................................................................100 6.2 User Manual for Bengali Braille to Text Translator.........................................................................100
  9. 9. v 6.2.1 Pre-Processing..............................................................................................................................101 6.2.2 Translation ...................................................................................................................................103 6.2.3 Post-Processing............................................................................................................................105 6.2.4 Template Generation...................................................................................................................107 6.2.5 Braille to Text Translation............................................................................................................110 Conclusion......................................................................................................................... 113 References ........................................................................................................................ 114
  10. 10. 1 Chapter-1 Introduction 1.1 Preamble Braille is a specialized writing system for visually impaired people, where raised dots on embossed paper are used as tactile alphabet. For example- Fig. 1 represents Bengali ‘আ’.The system was adapted from a military method of night time message passing, and quickly became popular. Now, almost every major language in the world has its own braille format. Figure 1: A Braille Cell with 6 dots Representing- ‘আ’ The primary goal of this project is creating a reliable Bengali Braille Character recognition tool named- Bengali Braille to Text Translator (BBTT). 1.2 Purpose This is the final report for Bengali Braille to Text Translation. The document contains Software Requirement Specification, Architectural Design, User Interface Design, Testing, and User Manual. This document will help in maintenance of the software. It will be used as the base document for the system’s future extension. The report will also help user for understanding the system. 1.3 About the Project Braille to Text Translator Takes in images of Braille writing and converts it to simple text format. The project’s main purpose it to help teachers to be able to evaluate exam papers written in Braille without learning Braille. Followings are the major steps of our Braille recognition method-
  11. 11. 2 1. Enhance and filter input image 2. Detect dots 3. Recognize patterns 4. Map patterns to characters 5. Write output to a text file 1.4 Project Schedule Task Name Start Date End Date Duration Bengali Braille to Text Translation 07-17-16 11-11-16 86d Project Abstract 07-17-16 07-24-16 6d Studying 07-17-16 07-22-16 6d Project Abstract Submission 07-24-16 07-24-16 0 Project Proposal 07-24-16 08-14-16 16d Initial Requirement Analysis 07-24-16 07-29-16 6d Project Planning 07-31-16 08-12-16 11d Proposal Submission 08-14-16 08-14-16 0 Application Design 08-14-16 10-07-16 41d Software Requirement Analysis 08-14-16 09-02-16 16d Software Design 09-04-16 09-09-16 6d Application Design Document Submission 09-11-16 09-11-16 0 Mock UI Design 09-11-16 10-07-16 21d Application Development 09-11-16 11-13-16 46d Software Development 09-11-16 11-04-16 41d Software Testing and Debugging 09-25-16 11-11-16 36d Final Project and Report Delivery 11-13-16 13-15-2016 0
  12. 12. 3 Chapter-2 Software Requirement Specification 2.1 Introduction This is the Software Requirements Specification (SRS) for the tool- Bengali Braille Character Recognizer. The document contains detailed functional, non-functional, and support requirements for the project. It also establishes a requirements baseline for the development of the system. The SRS serves as the official means of communicating user requirements to the developer [1]. It provides a common reference point for both the developer team and stakeholder community. This document’s content may evolve over time as users and developers work together in developing the system. But its fundamental output will remain unchanged.
  13. 13. 4 2.2 Inception Our Requirements Engineering starts with Inception phase. Its goal is to identify parallel needs and conflicting requirements among the stakeholders of a project. The foundation was established by following the subsequent factors- 2.2.1.1 Identifying Stakeholders Any person, group, or organization which will affect or be affected by the system directly or indirectly is a stakeholder. It includes both project developers and end- users. Here only client side stakeholders will be focused. Although, we intend to develop Bengali Braille to Text Translator for public use, we are currently building it for using only in the Institute of Education and Research (IER), University of Dhaka premises. For this reason, we have selected the stakeholders from the scope of IER only. We have identified following stakeholders for our project: 1. Teachers of IER: Teachers working with visually impaired student at IER are our primary client side stakeholders. They will directly interact with the system. 2. Visually Impaired Students of IER: Although the visually impaired students will not interact with the system directly, but they are the biggest group affected by the system. The software will process their writing and convert it to text. 3. General Students of IER: Visually normal students will also use the software. But they will not be using it for the same reason as the teachers. 2.2.1.2 Asking the First Questions First set of context-free questions focuses on the client side stakeholders and tries to reveal overall project goals and benefits. Now we ask question to help us gaining a better understanding of problem, and to allow customers to voice their perceptions about the solution.
  14. 14. 5 2.2.1.3 Recognizing Multiple Viewpoints We have collected these view points by discussing with the teachers, visually impaired students, and general students of IER. 1. Teachers of IER: a. Full control of the system b. Low cost c. Minimum error rate d. Handing batch of images e. Intuitive user interface f. Ability to see intermediate results 2. Visually Impaired Students of IER: a. Error free solution b. Process double sided writing c. Special character recognition ability 3. General Students of IER: a. Easy to use b. User friendly interface c. Easy to install d. Work with any scanner e. No need of theoretical or technical knowledge f. Fast processing 2.2.1.4 Working towards Collaboration Every stakeholder has his own set of requirements from his point of view. We followed following steps to merge these requirements: i. Identify the common and conflicting requirements ii. Categorize the requirements iii. Take priority points for each requirement from stakeholders and on the basis of this voting prioritize the requirements
  15. 15. 6 iv. Make final decision about the requirements Common Requirements:  User friendly interface  Easy to use Conflicting Requirements:  Low cost and process double sided writing  Fast and minimum error rate  Full control of the system and no need of theoretical or technical knowledge Final Requirements: We have finalized following requirements for the system through categorization and prioritization process:  Easy to use  User friendly interface  Users with theoretical and technical knowledge will be able to fully customize and control the system  Users with no technical knowledge will be able to use templates (created by specialists) for running the system  Minimize error rate  Can work with any scanner 2.2.2 Conclusion Inception phase strongly supported us in establishing basic understanding about Bengali Braille to Text Translator. It also helped us to identify people who will be benefited by the software. However, most importantly it established a preliminary communication with the stakeholders.
  16. 16. 7 2.3 Elicitation Elicitation helps the customer to define the requirement more specifically. This phase faces many problems like- problems of scope, problems of volatility, and problems of understanding. To overcome these problems, we have worked in an organized and systematic manner. 2.3.1 Eliciting Requirements Unlike Inception, where Question and Answer approach is used, Elicitation makes use of a requirements elicitation format that combines the elements of problem solving, elaboration, negotiation, and specification. It requires the cooperation of a group of end-users and developers to elicit requirements. 2.3.2 Collaborative Requirements Gathering There are many different approaches to collaborative requirements gathering. Each approach makes use of a slightly different scenario. We followed the subsequent steps to do it: i. Meetings were conducted with teachers and students of IER, DU. They were questioned about their requirements and expectations from the tool. ii. They were asked about the problems they are facing with exam papers written in Braille. We also inquired regarding the efficiency of the current process. iii. At last we selected our final requirement list from these meetings. 2.3.3 Quality Function Deployment The technique which translates the needs of the customer into technical requirements for software is called Quality Function Deployment (QFD). QFD concentrates on maximizing customer satisfaction from the Software Engineering process. With respect to our project the following requirements are identified by QFD-
  17. 17. 8 2.3.3.1 Normal Requirements Objectives and goals that are stated during the meeting with the customers are Normal Requirements. Our project’s Normal Requirements are: 1. User can customize the work sequence, and store the configuration for future use. 2. Will be able to run the tool and get output with only single ‘run’ button. 3. User can view result from each level of Braille to text translation process. 4. User will be able to run different types of image enhancement and other pre-processing algorithms to improve input image quality. 5. There will be a spell checking system, which will minimize error rate. 6. There will be some default configuration templates available with the software. 7. User will also be able to select different pattern recognition algorithms for recognizing Braille patterns on the basis of his need. 2.3.3.2 Expected Requirements Expected Requirements are implicit to the system. These requirements may be so fundamental that the customers do not explicitly state them. Expected Requirements of our project are: 1. The system will be able to support all popular image formats like- JPG, JPEG, PNG, and so on. 2. User will be able to process both single image and batch of images of Braille writing. 3. The user interface of the system shall be easy to use. It will make use of drop-down boxes, radio buttons, and other selectable fields wherever possible instead of fields that require the user to type in data.
  18. 18. 9 2.3.3.3 Exciting Requirements Features that go beyond the customer's expectations are called Exciting Requirements. They prove to be very satisfying when present- 1. The user interface should provide appropriate error messages for invalid input as well as tool-tips and help. 2. The system will also be able to work with multiple languages of Braille writing. 2.3.4 Usage Scenario Bengali Braille to Text Translator Bengali Braille Character Recognizer is a tool that will take scanned image of Braille writing, run different types of image-preprocessing techniques, translate Braille to text through pattern recognition, and apply text correction procedures for final output. Braille is a specialized writing system for visually impaired people. Here raised dots on embossed paper are used as tactile alphabet [3] [4]. These papers will be scanned with a scanner, and resulting image files will be stored in the computer. At first, the user will select scanned images of Braille writing. Now, different types of image enhancement processes will be run. These image enhancement processes will improve Braille patterns and make it distinguishable from the background. After that, various noise reduction algorithms will be applied for reducing artifacts and improve pattern quality. For further development of Braille dots, connectivity improvement and quantization will be applied. In the second section, Braille is translated to text. Firstly, Braille patterns are extracted from the image. Then these patterns are converted to code- Braille Pattern Code (BPC- each dot of Braille character is encoded in ‘1’ and ‘0’). Now these resulting codes are mapped with Code to Character Map (CCM-like a hash
  19. 19. 10 table, where each unique code relates to only one character) and plain text file is generated. This text file contains probable raw characters for the Braille image. In the post processing stage, spell checking will be performed for minimizing error rate. Here, words for spell checking process will be stored in a Domain Word List (DWL) file. Lastly, a cleaning procedure will produce the final text file. All these steps, settings, algorithms and their parameters can be automated using a configuration file- Braille Processing Template (BPT). Some templates (BPT) will be available to the user in default with the system. Users will also be able to define customized template. 2.3.5 Elicitation Work Product Our elicitation work product includes:  Statement of our requirements for Bengali Braille to Text Translator  A bounded statement of scope for our solution  Set of usage scenarios  A list of clients, users, and other stakeholders who participated in requirement specification process
  20. 20. 11 2.4 Scenario-Based Model The user’s point of view is used to describe Scenario-Based Model. In SRS this is the first modeling phase. So, it serves as an input for the creation of other models. 2.4.1 Use Case Scenario With the advancement of requirements gathering, functionalities and responsibilities of the software starts to materialize. The following Table-2.4.1 enlists primary components of the system: Table-2.4.1 Use Case Scenario Level-0 Level-1 Level-2 Actors Bengali Braille to Text Translator Pre-Processing Image Acquisition User, Scanner Enhancement User, Braille Processing Template Noise Reduction User, Braille Processing Template Connectivity Improvement User, Braille Processing Template Quantization User, Braille Processing Template Translation Segmentation User, Braille Processing Template Pattern Recognition User, Braille Processing Template, Braille Pattern Code Raw Text Generation User, Braille Processing Template, Code to Character Map Post- Processing Spell Check User, Braille Processing Template, Domain Word List Clean and Generate Output User, Braille Processing Template
  21. 21. 12 2.4.2 Use Case Description In this section Use Case Scenario will be elaborated to Use Case Diagram, Description, Activity Diagram, and Swim-Lane Diagram. Figure-2.4.2 is the Use Case Diagram of level-0 for Bengali Braille to Text Translator (BBTT):
  22. 22. 13 2.4.2.1 Bengali Braille to Text Translator Here Figure-2.4.2.1 is the detailed form of level-0:
  23. 23. 14 2.4.2.1.1 Use Case: Image Acquisition Primary Actor: User. Secondary Actor: Scanner, Braille Processing Template. Goal in Context: Use scanner to scan Braille writing and initialize the system. Scenario: 1. Place Braille writing sheets in scanner. 2. Scan and store images. 3. Input images into the system. 4. Select Braille Processing Template (BPT) if necessary. Exceptions: 1. System failure. 2. Error in scanner connection. Priority: Moderate, may be implemented. When Available: First increment. Frequency of Use: Several times per week.
  24. 24. 15 Figure 2.4.2.1.1a is the Activity Diagram of Image Acquisition-
  25. 25. 16 Figure 2.4.2.1.1b is the Swim-Lane Diagram of Image Acquisition-
  26. 26. 17 2.4.2.1.2 Pre-Processing Pre-Processing phase can be divided into five sub-phases. Figure-2.4.2.1.2 shows this:
  27. 27. 18 2.4.2.1.2.1 Use Case: Enhancement Primary Actor: User. Secondary Actor: Braille Processing Template. Goal in Context: Improve Braille patterns and make it distinguishable from the background. Scenario: 1. Select image enhancement algorithm. 2. Set parameters. 3. Run process and store result. Exceptions: 1. System failure. 2. Image file size is too large. 3. Unsupported image file format. Priority: Moderate, may be implemented. When Available: Second increment. Frequency of Use: Several times per day.
  28. 28. 19 Figure 2.4.2.1.2.1a is the Activity Diagram of Enhancement-
  29. 29. 20 Figure 2.4.2.1.2.1b is the Swim-Lane Diagram of Enhancement -
  30. 30. 21 2.4.2.1.2.2 Use Case: Noise Reduction Primary Actor: User. Secondary Actor: Braille Processing Template. Goal in Context: Reducing artifacts and improve pattern quality. Scenario: 1. Select noise reduction algorithm. 2. Set parameters. 3. Run process and store result. Exceptions: 1. System failure. 2. Unsupported image file format. Priority: Moderate, may be implemented. When Available: Second increment. Frequency of Use: Several times per day.
  31. 31. 22 Figure 2.4.2.1.2.2a is the Activity Diagram of Noise Reduction-
  32. 32. 23 Figure 2.4.2.1.2.2b is the Swim-Lane Diagram of Noise Reduction-
  33. 33. 24 2.4.2.1.2.3 Use Case: Connectivity Improvement Primary Actor: User. Secondary Actor: Braille Processing Template. Goal in Context: Improve Braille writing patterns. Scenario: 1. Select algorithm. 2. Run process and store result. Exceptions: 1. System failure. 2. Image file size is too large. 3. Unsupported image file format. Priority: Moderate, may be implemented. When Available: Second increment. Frequency of Use: Several times per day.
  34. 34. 25 Figure 2.4.2.1.2.3a is the Activity Diagram of Connectivity Improvement-
  35. 35. 26 Figure 2.4.2.1.2.3b is the Swim-Lane Diagram of Connectivity Improvement-
  36. 36. 27 2.4.2.1.2.4 Use Case: Quantization Primary Actor: User. Secondary Actor: Braille Processing Template. Goal in Context: Improve Braille writing patterns. Scenario: 1. Set parameters. 2. Run process and store result. Exceptions: 1. System failure. 2. Unsupported image file format. Priority: Moderate, may be implemented. When Available: Second increment. Frequency of Use: Several times per day.
  37. 37. 28 Figure 2.4.2.1.2.4a is the Activity Diagram of Quantization-
  38. 38. 29 Figure 2.4.2.1.2.4b is the Swim-Lane Diagram of Quantization-
  39. 39. 30 2.4.2.1.3 Translation Further section of Translation system creates three sub-systems:
  40. 40. 31 2.4.2.1.3.1 Use Case: Segmentation Primary Actor: User. Secondary Actor: Braille Processing Template. Goal in Context: Extract Braille patterns from the image. Scenario: 1. Select segmentation procedure. 2. Set parameters. 3. Run process. 4. Store resulting binary image. Exceptions: 1. System failure. 2. Unsupported image file format. 3. Big image file. Priority: Essential, must be implemented. When Available: Third increment. Frequency of Use: Several times per day.
  41. 41. 32 Figure 2.4.2.1.3.1a is the Activity Diagram of Segmentation-
  42. 42. 33 Figure 2.4.2.1.3.1b is the Swim-Lane Diagram of Segmentation-
  43. 43. 34 2.4.2.1.3.2 Use Case: Pattern Recognition Primary Actor: User. Secondary Actor: Braille Processing Template, Braille Pattern Code. Goal in Context: Convert Braille patterns to code. Scenario: 1. Select pattern recognition procedure. 2. Set parameters. 3. Run process. 4. Store code in text file. Exceptions: 1. Image with no Braille pattern. 2. System failure. 3. Big image file. Priority: Essential, must be implemented. When Available: Fourth increment. Frequency of Use: Several times per day.
  44. 44. 35 Figure 2.4.2.1.3.2a is the Activity Diagram of Pattern Recognition-
  45. 45. 36 Figure 2.4.2.1.3.2b is the Swim-Lane Diagram of Pattern Recognition-
  46. 46. 37 2.4.2.1.3.3 Use Case: Raw Text Generation Primary Actor: User. Secondary Actor: Braille Processing Template, Braille Pattern Code, Code to Character Map. Goal in Context: Generate plain text file. Scenario: 1. Select Braille Pattern Code file. 2. Select Code to Character Map file. 3. Run process. 4. Store result in text file. Exceptions: 1. Invalid pattern code. 2. System failure. Priority: Essential, must be implemented. When Available: Fifth increment. Frequency of Use: Several times per day.
  47. 47. 38 Figure 2.4.2.1.3.3a is the Activity Diagram of Raw Text Generation-
  48. 48. 39 Figure 2.4.2.1.3.3b is the Swim-Lane Diagram of Raw Text Generation-
  49. 49. 40 2.4.2.1.4 Post-Processing Post-Processing has two major phases, Figure 2.4.2.1.4-
  50. 50. 41 2.4.2.1.4.1 Use Case: Spell Check Primary Actor: User. Secondary Actor: Braille Processing Template, Domain Word List. Goal in Context: Minimizing error rate. Scenario: 1. Select raw text file. 2. Select Domain Word List file. 3. Run process. 4. Store corrected result in text file. Exceptions: 1. System failure. Priority: Moderate, may be implemented. When Available: sixth increment. Frequency of Use: Several times per day.
  51. 51. 42 Figure 2.4.2.1.4.1a is the Activity Diagram of Spell Check-
  52. 52. 43 Figure 2.4.2.1.4.1b is the Swim-Lane Diagram of Spell Check-
  53. 53. 44 2.4.2.1.4.2 Use Case: Clean and Generate Output Primary Actor: User. Secondary Actor: Braille Processing Template. Goal in Context: Generate final text file. Scenario: 1. Select raw text file. 2. Run cleaning process. 3. Store result in text file. Exceptions: 1. System failure. Priority: Essential, must be implemented. When Available: Last increment.
  54. 54. 45 Figure 2.4.2.1.4.2a is the Activity Diagram of Clean and Generate Output-
  55. 55. 46 Figure 2.4.2.1.4.2b is the Swim-Lane Diagram of Clean and Generate Output-
  56. 56. 47 2.5 Data Model When software requires interfacing with a database or complex data structures need to be constructed and manipulated, data model is performed as part of overall requirements modeling. 2.5.1 Data Object Selection Data objects are representation of information which has different attributes. Table-2.5.1 enlists all nouns from Usage Scenario and marks potential data objects: Table-2.5.1 Data Object Selection Noun Attributes Description Remark bengali braille character recognizer represents the whole system rejected image alias of braille writing rejected braille writing input for the system rejected image- preprocessing technique alias of algorithm rejected text alias of text file rejected pattern recognition alias of algorithm rejected final output output for the system rejected braille alias of braille writing rejected system alias of bengali braille character recognizer rejected visually impaired people out of scope rejected raised dots out of scope rejected embossed paper out of scope rejected tactile alphabet out of scope rejected paper alias of embossed paper rejected scanner a device, external entity rejected
  57. 57. 48 image files alias of braille writing rejected computer represents the whole system rejected scanned images alias of braille writing rejected image enhancement process alias of algorithm rejected section out of scope rejected braille pattern alias of braille writing rejected background out of scope rejected noise reduction algorithm alias of algorithm rejected artifact out of scope rejected pattern quality out of scope rejected braille dots alias of braille writing rejected connectivity improvement alias of algorithm rejected quantization alias of algorithm rejected code an attribute of braille pattern code rejected braille pattern code id, code potential data object accepted braille character alias of braille writing rejected code to character map code, character potential data object accepted hash table alias of braille code to character map rejected text file alias of final output rejected braille image alias of braille writing rejected stage alias of algorithm rejected spell checking alias of algorithm rejected error rate out of scope rejected domain word list word, frequency potential data object accepted cleaning procedure alias of algorithm rejected step alias of algorithm rejected setting alias of braille processing template rejected
  58. 58. 49 algorithm an attribute of braille processing template rejected parameter an attribute of braille processing template rejected configuration file alias of braille processing template rejected braille processing template algorithm, parameters potential data object accepted template alias of braille processing template rejected user no separated authentication system required rejected system alias of braille writing rejected customized template alias of bengali braille character recognizer rejected
  59. 59. 50 2.5.2 Data Objects and Attributes This is a brief view of all attributes we have found so far:
  60. 60. 51 2.5.3 Conclusion Data objects found here have no relationship to each other. These data objects will be stored in a file system and will work independently. So there is no Data Object Relational Diagram here. For this same reason no E-R Diagram or Schema Diagram exists for this project.
  61. 61. 52 2.6 Class-Based Model The objects that the system will manipulate, the operations that will be applied to the objects and relationships between the objects are represented by Class-Based Modeling. It also defines the collaborations that occur between the classes. 2.6.1 General Classification Analysis classes can be marked by one of the following ways: 1. External Entity 2. Thing 3. Occurrence 4. Role 5. Organizational Unit 6. Place 7. Structure Table-2.6.1 General Classification No. Noun General Classification Remark 1 bengali braille character recognizer 2 Problem Space (represents whole system) 2 image 2, 7 Problem Space 3 braille writing NULL Problem Space 4 image-preprocessing technique 3, 7 Solution Space (same as- 25) 5 text 2, 7 Problem Space 6 pattern recognition 3 Solution Space 7 final output 7 Problem Space 8 braille Null Problem Space 9 system 2 Problem Space (represents whole system) 10 visually impaired people 1 Problem Space 11 raised dots 1 Problem Space
  62. 62. 53 12 embossed paper 1 Problem Space 13 tactile alphabet 1 Problem Space 14 paper 1 Problem Space 15 scanner 1, 2 Problem Space 16 image files 1, 2 Problem Space 17 computer 1, 2, 7 Problem Space (represents whole system) 18 scanned images 1, 2 Problem Space 19 image enhancement process 3 Solution Space 20 section NULL Problem Space 21 braille pattern 1, 2 Problem Space 22 background NULL Problem Space 23 noise reduction algorithm 3 Solution Space 24 artifact NULL Problem Space 25 pre-processing 3 Solution Space 26 braille dots 1, 2 Problem Space 27 connectivity improvement 3 Solution Space 28 quantization 3 Solution Space 29 code NULL Problem Space 30 translation 3 Solution Space 31 braille character NULL Problem Space 32 code to character map 4, 7 Solution Space 33 hash table 4, 7 Solution Space (same as- 32) 34 text file 1, 2 Problem Space 35 braille image 1, 2 Problem Space 36 post-processing 3 Solution Space 37 spell checking 3 Solution Space 38 error rate NULL Problem Space 39 domain word list 4, 7 Solution Space 40 cleaning procedure 3 Solution Space 41 step NULL Problem Space 43 setting 4, 7 Solution Space (same as- 47)
  63. 63. 54 44 algorithm 3 Solution Space (represents all procedures) 45 parameter 7 Solution Space (represents all parameters of the system) 46 configuration file 4, 7 Solution Space (same as- 47) 47 braille processing template 4, 7 Solution Space 48 template 4, 7 Solution Space (same as- 47) 49 user 1, 4 Solution Space 50 system 2 Problem Space (represents whole system) 51 customized template 4, 7 Solution Space (same as- 47) 2.6.2 Selection Characteristics Coad and Yourdon suggest six selection characteristics that should be used to consider each potential class for inclusion in the analysis model: 1. Retained Information 2. Needed Services 3. Multiple Attributes 4. Common Attributes 5. Common operations 6. Essential Requirements Table-2.6.2 Selection Characteristics No. Potential Class Characteristics Remarks 1 pattern recognition 1, 2, 3, 6 No
  64. 64. 55 2.6.3 Attribute Selection Here in Table-2.6.3 we find attributes for selected classes. Table-2.6.3 Attribute Selection No. Class Attributes 1 User selected_algorithm_List, initialized_parameters 2 Pre-Processing image_input_file_list, output_image_path_list 3 Translation image_list, code_data, text_data, code_to_character_map 4 Post-Processing Input_text_data, output_file_path 2 image enhancement process 1, 2, 3 No 3 noise reduction algorithm 1, 2, 3 No 4 pre-processing 1, 2, 3, 4, 5, 6 Yes 5 connectivity improvement 1, 2, 3 No 6 quantization 1, 2, 3 No 7 translation 1, 2, 3, 4, 5, 6 Yes 8 code to character map 1, 2, 6 No 9 post-processing 1, 2, 3, 4, 5, 6 Yes 10 spell checking 1, 2, 3 No 11 domain word list 1, 2 No 12 cleaning procedure 1, 2, 3 No 13 braille processing template 1, 2 No 14 user 1, 2, 3, 4, 5, 6 Yes
  65. 65. 56 2.6.4 Defining Methods In this section we find all the verbs from usage scenario and include necessary external verbs in a list. Then we select useful verbs as methods. 2.6.4.1 Verb List In Table-2.6.4.1 we list all verbs from usage scenario. Table-2.6.4.1 Verb List No. Verb Remarks 1 take scanned image out of scope 2 run image pre-processing yes 3 translate braille to text yes 4 apply text correction yes (same as- run post- processing) 5 scan paper out of scope 6 store image out of scope 7 select image out of scope 8 run image enhancement yes 9 improve braille pattern yes (same as- run image enhancement) 10 make distinguishable yes (same as- run image enhancement) 11 apply noise reduction yes 12 improve connectivity yes 13 run quantization yes 14 extract braille pattern yes 15 convert braille pattern to code yes 16 map code to character yes (same as- convert braille pattern to code) 17 generate plain text from code yes 18 contain character out of scope
  66. 66. 57 19 run post processing yes 20 run spell checking yes 21 store word out of scope 22 run cleaning procedure yes 23 automate whole process no need 24 customize braille processing template yes 2.6.4.2 Selected Methods From the verb list of Table-2.6.4.1 we have selected following methods (Table- 2.6.4.2) for classes. Table-2.6.4.2 Selected Methods Class Methods Remarks User pre_process() translate() post_process() customize_braille_processing _template() pre_process() is run image pre-processing, translate() is translate braille to text, post_process() is run post-processing Pre-Processing enhance_image() reduce_noise() improve_connectivity() run_quantization() enhance_image() is run image enhancement, reduce_noise() is apply noise reduction Translation apply_segmentation() recognize_braille_pattern() create_plain_text() apply_segmentation() is extract braille pattern, recognize_braille_patt ern() is convert braille pattern to code,
  67. 67. 58 create_plain_text() is generate plain text from code Post- Processing check_spell() generate_final_output() generate_final_output () is run cleaning procedure
  68. 68. 59 2.6.5 Class Diagram We have shown here (Figure- 2.6.5), how the classes interact together to accomplish certain goal.
  69. 69. 60 2.6.6 Class Card Class card represents a graphical view of responsibility and collaborator for each class.
  70. 70. 61 2.7 Behavioral Model When the system is perceived in terms of states and transitions, it is called Behavior Modeling. It is also known as State Modeling, State Machines, or State Transition Matrix. This requires both identifying all of the interesting states of being that software or its components are likely to be in. And also, at a high level, abstracting what events are likely to cause software or its components to change between states of being. 2.7.1 Identifying Events Here we have identified events from the Usage Scenario, and listed their corresponding initiators and collaborators in Table-2.7.1. Table-2.7.1 Identifying Events Event Initiator Collaborator take scanned image of Braille writing User Scanner run different types of image- preprocessing techniques User translate Braille to text through pattern recognition User Braille Pattern Code, Code to Character Map apply text correction procedures User Domain Word List select scanned images of Braille writing User run image enhancement User apply noise reduction User improve connectivity User
  71. 71. 62 apply quantization User extract braille pattern User convert braille to code User Braille Pattern Code map code to character User Braille Pattern Code, Code to Character Map check spell User Domain Word List run cleaning procedure User automate the configuration User Braille Processing Template customize template User Braille Processing Template
  72. 72. 63 2.7.2 State Transition Diagram State Transition Diagram represents active states for each class and the events (triggers) that cause changes between these active states. Here Figure-2.7.2 provides diagram for the actor- User.
  73. 73. 64 2.7.3 Sequence Diagram The way events cause transitions from object to object as a function of time is represented by Sequence Diagram. Figure-2.7.3.1 to Figure-2.7.3.11 represents Sequence Diagrams for all major events of this project.
  74. 74. 65
  75. 75. 66
  76. 76. 67
  77. 77. 68
  78. 78. 69
  79. 79. 70
  80. 80. 71
  81. 81. 72
  82. 82. 73
  83. 83. 74
  84. 84. 75 Chapter-3 Architectural Design 3.1 Introduction In the architectural design, structures of data and program components are represented that are required to build Bengali Braille to Text Translator (BBTT). We have also considered the structure, properties, and inter-relationships of the components of the system. 3.2 Context Diagram In Context Diagram (Figure 3.2b), we have defined external entities that BBTT interacts with, as well as the nature of interaction. Figure 3.2a shows the Data Flow Diagram of BBTT at level-0.
  85. 85. 76 3.3 Archetypes The sable elements of BBTT are being showed here-
  86. 86. 77 3.4 Architectural Mapping Using Data Flow Diagram Figure 3.4.1 represents DFD of BBTT at level-1. Now, we have further sectioned each transformation node of the level-1 DFD, and have designed their respective Architectural Diagrams. Figure 3.4.1.1a to Figure 3.4.1.5a represents DFD and Figure 3.4.1.1b to Figure 3.4.1.5b are their Architectural Diagrams.
  87. 87. 78
  88. 88. 79
  89. 89. 80
  90. 90. 81
  91. 91. 82
  92. 92. 83 Chapter-4 User Interface Design 4.1 Introduction In this chapter first we will analyze expected user of our system and make a user profile out of it. Then we will design user interface depending on the user profile. 4.2 User Analysis Our expected user-base comprised of teachers or students of Institute of Education and Research, Dhaka University. We found following features in our users- • Users are educated and comfortable with English language. • Ready to adapt new technology through training. • Does not need any knowledge of Braille. • Does not require to be acquainted with the underlying technology of the software. • Users are acquainted with modern technology. • The age may range from 18 to 60 years. • Users will normally work with this system in office hours; however they may also use it whenever required. • If the user makes mistakes there will not be any harmful result.
  93. 93. 84 4.3 User Profile After analyzing the user we came up with the following user profile- • Age: 14 to 70 • Gender: N/A • Physical ability: Operate a computer (ability to see and move hand) • Education: Read and write English • Goal: To translate Braille writing to text • Syntactic Knowledge: Not required • Semantic Knowledge: Not required to run the system, required for customization • Personality: N/A • Cultural or Ethnic Background: N/A
  94. 94. 85 4.4 User Interface After running the system user will view the start window showed in Figure 4.4.1. From here he can start any process.
  95. 95. 86 If user chooses to run Braille to Text Translation process then he will see following interface (Figure 4.4.2). If the user chooses to use a template he will be directly promoted to Run Braille to Text Translation Process window (Figure 4.4.6); or he will have to customize all processes through interfaces represented in Figure 4.4.3, Figure 4.4.4, and Figure 4.4.5.
  96. 96. 87
  97. 97. 88
  98. 98. 89 While running the Pre-Processing phase the window showed in Figure 4.4.7 will appear. After pressing the next button Figure 4.4.3 shows up. Then user defines the configuration and comes to Pre-Process running window (Figure 4.4.8).
  99. 99. 90 User can also run Translation phase. At the beginning he will see window just like shown in Figure 4.4.7. Then customization (Figure 4.4.4) comes. Finally user selects output directory and runs process (Figure 4.4.6). While running Post-Processing phase Figure 4.4.9 is showed first. Then Figure 4.4.5 comes. Post-Processing running window is also like the Figure 4.4.6.
  100. 100. 91 In Braille Processing Template Generation Phase, Figure 4.4.3, Figure 4.4.4, and Figure 4.4.5 are shown sequentially. Then the window Figure 4.4.10 runs the process.
  101. 101. 92
  102. 102. 93 Chapter-5 Testing 5.1 Introduction This chapter contains test cases for all primary components of Bengali Braille to Text Translator. Here we have conducted black box testing for the system. The objective of these tests is to deliver confirmation to the system’s quality. 5.2 Test Cases Following list contains primary components which are to be tested.  Process Initialization  Pre-Processing Customization  Translation Customization  Post-Processing Customization  Process Running  Braille to Text Translation Initialization 5.2.1 Test Case 1: Process Initialization Pre-Condition: Input directory has to be prepared. Post-Condition: Process Customization window is shown. Test Case: Test Case ID Input Expected Output Pass/ Fail Comment TC-1.1 - Input Directory  empty - Next  click Display warning message Pass TC-1.2 - Input Directory  invalid directory path - Next  click Display warning message Pass
  103. 103. 94 TC-1.3 - Input Directory  valid directory path - Next  click System proceeds to next stage Pass TC-1.4 - Cancel  click Show confirmation dialog Pass After confirmation, process is canceled, and main opening window is shown. 5.2.2 Test Case 2: Pre-Processing Customization Pre-Condition: Input directory is selected. Post-Condition: Process Running window is shown, or system enters into Translation Configuration stage. Test Case: Test Case ID Input Expected Output Pass/ Fail Comment TC-2.1 - Next  click System proceeds to next stage Pass User may not want any kind of Pre-Processing TC-2.2 - Selected Process  empty - Next  click System proceeds to next stage Pass TC-2.3 - Selected Process  valid process - Selected Algorithm  empty - Next  click System proceeds to next stage Pass TC-2.4 - Selected Process  valid process - Selected Algorithm  valid algorithm - Next  click System proceeds to next stage Pass TC-2.5 - Selected Process  valid process - Selected Algorithm  System proceeds to next stage Pass
  104. 104. 95 invalid algorithm - Next  click TC-2.6 - Cancel click Show confirmation dialog Pass After confirmation, process is canceled, and main opening window is shown. 5.2.3 Test Case 3: Translation Customization Pre-Condition: Input directory is selected. Post-Condition: Process Running window is shown, or system enters into Post- Processing Configuration stage. Test Case: Test Case ID Input Expected Output Pass/ Fail Comment TC-3.1 - Min Dot Size is greater than Max Dot Size - Next  click Display warning message Pass TC-3.2 - Selected Pattern Recognition Algorithm  empty - Next  click Display warning message Pass TC-3.3 - Use Custom Map  selected - Custom Map File Path  empty - Next  click Display warning message Pass TC-3.4 - Use Custom Map  selected - Custom Map File Path  invalid file path - Next  click Display warning message Pass TC-3.5 - Min Dot Size is smaller than Max Dot Size - Selected Pattern Recognition Algorithm  valid algorithm System proceeds to next stage Pass
  105. 105. 96 - Use Default Map  selected - Next  click TC-3.6 - Min Dot Size is smaller than Max Dot Size - Selected Pattern Recognition Algorithm  valid algorithm - Use Custom Map  selected - Custom Map File Path  valid map file path - Next  click System proceeds to next stage Pass TC-3.7 - Cancel click Show confirmation dialog Pass After confirmation, process is canceled, and main opening window is shown. 5.2.4 Test Case 4: Post-Processing Customization Pre-condition: Input directory is selected. Post-condition: Process Running window is shown. Test Case: Test Case ID Input Expected Output Pass/ Fail Comment TC-4.1 - Spell Checking is not checked - Next  click System proceeds to next stage Pass TC-4.2 - Spell Checking  is checked - Use Default Bengali Word List  is selected - Next  click System proceeds to next stage Pass TC-4.3 - Spell Checking  is checked - Use Custom Word List  is selected Display warning message Pass
  106. 106. 97 - Custom Word List File Path  empty - Next  click TC-4.4 - Spell Checking  is checked - Use Custom Word List  is selected - Custom Word List File Path  invalid file path - Next  click Display warning message Pass TC-4.5 - Spell Checking  is checked - Use Custom Word List  is selected - Custom Word List File Path  valid file path - Next  click System proceeds to next stage Pass TC-4.6 - Cancel click Show confirmation dialog Pass After confirmation, process is canceled, and main opening window is shown. 5.2.5 Test Case 5: Process Running Pre-condition: Input directory is selected and customization has to be prepared. Post-condition: After running the whole process, a message is shown regarding the success or failure of the process, and then opening window appears. Test Case: Test Case ID Input Expected Output Pass/ Fail Comment TC-5.1 - Output Directory  empty - Next  click Display warning message Pass TC-5.2 - Output Directory  not empty - Next  click Process starts running Pass TC-5.3 - Cancel click Show confirmation Pass After
  107. 107. 98 dialog confirmation, process is canceled, and main opening window is shown. 5.2.6 Test Case 6: Braille to Text Translation Initialization Pre-condition: Input directory has to be prepared. Post-condition: Translation Process Customization window or Process Running window is shown. Test Case: Test Case ID Input Expected Output Pass/ Fail Comment TC-6.1 - Input Directory  empty - Next  click Display warning message Pass TC-6.2 - Input Directory  invalid directory path - Next  click Display warning message Pass TC-6.3 - Use Template  selected - Use Custom Template  selected - Custom Template File  empty - Next  click Display warning message Pass TC-6.4 - Use Template  selected - Use Custom Template  selected - Custom Template File  invalid - Next  click Display warning message Pass TC-6.5 - Input Directory  valid directory path - Customize  selected System proceeds to next stage Pass
  108. 108. 99 - Next  click TC-6.6 - Input Directory  valid directory path - Use Template  selected - Use Default Template  selected - Next  click System proceeds to next stage Pass TC-6.7 - Input Directory  valid directory path - Use Template  selected - Use Custom Template  selected - Custom Template File  valid file path - Next  click System proceeds to next stage Pass TC-6.8 - Cancel click Show confirmation dialog Pass After confirmation, process is canceled, and main opening window is shown.
  109. 109. 100 Chapter-6 User Manual 6.1 Introduction The user manual is intended to provide assistance to the user, so that he can run the system effectively. Screen shots of the user interface have been provided for users to better understand the process. 6.2 User Manual for Bengali Braille to Text Translator Figure XX shows the view that will appear after running the software. Here in the middle there are 3 buttons- Run Braille to Text Translation, Create Braille Processing Template, and Read Instruction.
  110. 110. 101 The menu bar contains 2 menus- Operations and Help. Operations menu has 5 menu options- Braille to Text Translation, Pre Processing, Translation, Post Processing, and Template Generation. The button Run Braille to Text Translation and the menu item Braille to Text Translation perform the same activity. Create Braille Processing Template button and Template Generation menu item also are identical in functionality. Help menu contains Instruction and About menu item. The Read Instruction button of opening view and menu item Instruction does the same thing. So, covering function-alities of the menu items will also cover functionalities of the main view buttons. 6.2.1 Pre-Processing Steps: 1. From the Operations menu click on the menu item Pre-Processing. In Pre- Processing, first the Pre-Processing Initialization window is shown (Figure 6.2.1.1).
  111. 111. 102 2. Select the Input Braille Image Directory by selecting an image of the directory. Click the Next button and Pre-Processing Customization window will come (Figure 6.2.1.2). 3. Click on the Add button to add image pre-processing methods. Select process and algorithm for each method. Then click Next button and Pre- Processing Running window will come (Figure 6.2.1.3). 4. Now select your Output Braille Image Directory and click on the Run button. The process will start running. Now wait for some time and a message box will pop up to confirm the outcome of your process. If the process is successful then you will get a directory of processed images.
  112. 112. 103 6.2.2 Translation Steps: 1. From the Operations menu click on the menu item Translation. Now the Translation Initialization window is shown (Figure 6.2.2.1). 2. Select the Input Braille Image Directory by selecting an image of the directory. Click the Next button and Translation Customization window will come (Figure 6.2.2.2). 3. Enter value into Min Dot Size and Max Dot Size, which the means minimum and maximum diameter of a dot. Select a Pattern Recognition Algorithm and Code to Character Map File. The map file contains relationship between pattern and character. You can either use the Default Bengali Map File or your own Custom Map File. Click button- Next to proceed to the Translation Running stage (Figure 6.2.2.3).
  113. 113. 104
  114. 114. 105 4. Now select your Output Text Directory and click on the Run button. The process will start running. Now wait for some time and a message box will pop up to confirm the outcome of your process. If the process is successful then you will get a directory of text files. 6.2.3 Post-Processing Steps: 1. From the Operations menu click on the menu item Post-Processing. In Post-Processing, first the Post-Processing Initialization window is shown (Figure 6.2.3.1). 2. Select the Input Text File Directory by selecting a text file of the directory. Click the Next button and Post-Processing Customization window will come (Figure 6.2.3.2).
  115. 115. 106
  116. 116. 107 3. If you want to run Spell Checking, then select it. You can use default Bengali Word List provided with the software, or use your own Custom Word List. Now click on the Next button and Post-Processing Running window will come (Figure 6.2.3.3). 4. Now, select your Output Text Directory and click on the Run button. The process will start running. Now wait for some time and a message box will pop up to confirm the outcome of your process. If the process is successful then you will get your final output in the directory of text files. 6.2.4 Template Generation Steps: 1. From the Operations menu click on the menu item Template Generation. In this process, first the Pre-Processing Customization window is shown (Figure 6.2.4.1).
  117. 117. 108 2. Click on the Add button to add image pre-processing methods. Select process and algorithm for each method. Then click Next button and Translation Customization window will come (Figure 6.2.4.2). 3. Enter value into Min Dot Size and Max Dot Size, which the means minimum and maximum diameter of a dot. Select a Pattern Recognition Algorithm and Code to Character Map File. The map file contains relationship between pattern and character. You can either use the Default Bengali Map File or your own Custom Map File. Click button- Next to proceed to the Post-Processing Customization stage (Figure 6.2.4.3). 4. If you want to run Spell Checking, then select it. You can use default Bengali Word List provided with the software, or use your own Custom Word List. Now click on the Next button and Template Generation Running window will come (Figure 6.2.4.4).
  118. 118. 109
  119. 119. 110 5. Now select your Output Braille Processing Template File and click on the Run button. The process will start running. Now wait for some time and a message box will pop up to confirm the outcome of your process. If the process is successful then you will get a BPT file. 6.2.5 Braille to Text Translation Steps: 1. From the Operations menu go to the menu option Braille to Text Translation or click Run Braille to Text Translation from the main view. Then Braille to Text Translation Initialization Window will come (Figure 6.2.5.1).
  120. 120. 111 2. Select the Input Braille Image Directory by selecting an image of the directory. If you want to use a predefined template for running the system, then check the Use Template option. Now you can use Default Template provided with the software, or your own Custom Template. Or, if you want to customize the whole process then check the Customize option. Click button- Next and Pre-Processing Customization window will come (Figure 6.2.1.2). The functionality is exactly like we did in Pre- Processing phase. Then comes the Translation Customization window (Figure 6.2.2.2). Functionality is exactly like Translation phase. Then Post- Processing Customization window comes. Again functionality is same as Post-Processing phase. Now click on the Next button and Braille to Text Translation Running window will come (Figure 6.2.5.2).
  121. 121. 112 3. Now, select your Output Text Directory and click on the Run button. The process will start running. Now wait for some time and a message box will pop up to confirm the outcome of your process. If the process is successful then you will get your final output in the directory of text files.
  122. 122. 113 Chapter-7 Conclusion From this report, readers will get a clear understanding of Bengali Braille to Text Translator. He will know how the software works and how to effectively use it. Software developers can use the document for getting an insight of the underlying technology. The report will work as a base document for the making any improvement to the software. Users will get overall knowledge of the software product from the report. The user manual section will help them to run the software. Hopefully, this document can also help other software engineering students as well as practitioners. I have tried my best to complete the document. I believe that the readers will find it helpful. I am very delighted to submit the Final Project Report on Bengali Braille to Text Translator.
  123. 123. 114 References [1] Pressman, Roger S. Software Engineering: A Practitioner's Approach (7th ed.). Boston, Mass: McGraw-Hill. ISBN 0-07-285318-2. [2] Ralph, Paul. "The illusion of requirements in software development." Requirements Engineering 18.3 (2013): 293-296. [3] W. David, A. Adler. “A Picture of Louis Braille.” New York, McGraw Hill, 1999. [4] Durre, K.P., W. Tuttle. “A Universal Computer Braille Code for Literacy and Scientific Texts.”International Technology Conference, 1991.

×