Understand Quran: An Interactive Android Application

5 downloads 0 Views 2MB Size Report
Table 3 Documentation of Course Introduction Use Case . ..... According to research people learn 60% through visuals and 20% though sound re-cording.
Understand Quran: An Interactive Android Application

Submitted by Muhammad Dawood Muhtarram Shah

Supervisor Engr. Syed Zafar Ali Shah

DEPARTMENT OF COMPUTER SOFTWARE ENGINEERING UNIVERSITY OF ENGINEERING AND TECHNOLOGY PESHAWAR, PAKISTAN

Understand Quran: An Interactive Android Application

By Muhammad Dawood Muhtarram Shah

A thesis presented to the University of Engineering and Technology, Peshawar in partial fulfillment for the degree requirement of Bachelor of Science in Computer Software Engineering 2016 Peshawar, Khyber Pakhtunkhwa, Pakistan

AUTHOR'S DECLARATION I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. It is further declared that I have fulfilled all the requirements in line with the Quality Assurance guidelines of the Higher Education Commission. I understand that my thesis may be made electronically available to the public.

i

Abstract The Quran is a guide to humanity, revealed by Almighty God, Allah to the Prophet Muhammad (peace be upon him). Since none of us want to be misguided, it is paramount not only to read or recite the Quran, but to understand and implement it in our lives as well. But unfortunately today the situation of non-Arab Muslims is that, almost 90% of them do not understand even a single page of the Quran. The aim of this effort is to make the process of understanding of the Quran easy for all its viewers and to encourage them to recite it again and again with understanding and to help them interact with the Quran. Through this ‘Understand Quran’ application we will try to teach the most commonly used words by Muslims in their daily prayers and supplication as well as the fundamentals of Arabic Grammar that will be of great help in understanding the Quran. Another important feature of this app is the way the Arabic Grammar is taught. A new simple yet powerful technique of TPI (Total Physical Interaction) is introduced to teach different forms of verbs, nouns, and pronouns. With TPI the words can easily be understand, remember and recall. This app has three level, level 1, level 2 and level 3, each has 32, 39 and 39 lessons respectively. By the end of these levels, the user will be able to familiar with more than 70% of the Quranic words and in the result the understanding of the Quran will become extremely easy.

ii

Acknowledgements First of all we are extremely thankful to Almighty Allah for making us capable of completing this work. We are really thankful to our extremely dedicated supervisor, Engr. Syed Zafar Ali Shah, for his support and guidance throughout this work. His valuable comments and directions have made this work complete and have helped us learn a lot. He helped us broaden our knowledge of research and made us capable to complete this task. We would also like to acknowledge the support Qari Muhammad Zakria who helped us a lot to accomplish this task. We are also thankful to all the participants who helped us to evaluate the application.

iii

Dedication We want to dedicate our project to all those persons who made us able to successfully complete our project, they are our loving parents and caring teachers, whose support and prayers are always sources of success for us.

iv

Table of Contents AUTHOR'S DECLARATION ........................................................................................................ i Abstract ........................................................................................................................................... ii Acknowledgements ........................................................................................................................ iii Dedication ...................................................................................................................................... iv Table of Contents ............................................................................................................................ v List of Figures .............................................................................................................................. viii List of Tables ................................................................................................................................. ix List of Acronyms ............................................................................................................................ x Chapter 1 .

INTRODUCTION................................................................................................ 1

1.1 Background ........................................................................................................................... 1 1.1.1 Importance of understanding Quran ............................................................................... 1 Chapter 2 .

LITERATURE REVIEW ........................................................................................ 4

2.1 Mobile Application for Learning Arabic Language .............................................................. 6 Chapter 3 .

METHODOLOGY .............................................................................................. 8

Chapter 4 .

REQUIREMENT ................................................................................................ 10

4.1 Business Opportunity and Customer Needs ........................................................................ 10 4.2 Business Objectives and Success Criteria ........................................................................... 10 4.3 Business Risks ..................................................................................................................... 11 4.4 User Classes and Characteristics ......................................................................................... 11 4.5 Operating Environment ....................................................................................................... 12 4.6 Design and Implementation Constraints ............................................................................. 12 4.7 Assumptions and Dependencies .......................................................................................... 12 4.8 System Features................................................................................................................... 12 4.8.1 Different levels ............................................................................................................. 12 4.8.2 Lessons in each Level ................................................................................................... 12 4.8.3 Sub parts of Lesson....................................................................................................... 13 4.8.4 Lesson Introduction ...................................................................................................... 13 4.8.5 New Lesson .................................................................................................................. 13 4.8.6 Quranic Examples......................................................................................................... 13 v

4.8.7 Text Label ..................................................................................................................... 13 4.8.8 Teacher Animation ....................................................................................................... 13 4.8.9 Sound Recording .......................................................................................................... 13 4.8.10 Student Character ....................................................................................................... 13 4.9 Functional Requirements..................................................................................................... 14 4.10 External Interface Requirements ....................................................................................... 15 4.10.1 User Interface ............................................................................................................. 15 4.10.2 Hardware Interfaces .................................................................................................... 17 4.10.3 Software Interfaces ..................................................................................................... 17 4.11 Nonfunctional Requirements............................................................................................. 17 4.11.1 Performance Requirements......................................................................................... 17 4.11.2 Safety Requirements ................................................................................................... 18 4.11.3 Security Requirements ................................................................................................ 18 4.11.4 Software Quality Attributes ........................................................................................ 18 4.12 Figures ............................................................................................................................... 19 4.12.1 Context Diagram......................................................................................................... 19 4.12.2 Data Flow Diagram (DFD) ......................................................................................... 20 4.12.3 Activity Diagram ........................................................................................................ 21 4.12.4 Use Case Diagrams ..................................................................................................... 22 Chapter 5 SOFTWARW QUALITY ENGINEERING ................................................................ 31 5.1 Android Testing................................................................................................................... 31 5.2 Black Box Testing ............................................................................................................... 31 5.2.1 Dependencies: ............................................................................................................... 31 5.2.2 Cyclic Dependency: ...................................................................................................... 32 5.3 Inspection ............................................................................................................................ 33 5.3.1 Android Studio Automated Inspection Support (Lint Tool): ....................................... 33 5.4 Fault Tolerance .................................................................................................................... 38 5.5 Test Cases ............................................................................................................................ 39 5.5.1 Load Teacher Animation Test Case: ............................................................................ 39 5.5.2 Load Student Image Test Case: .................................................................................... 40 5.5.3 Load Arabic Word Test Case: ...................................................................................... 42 vi

5.5.4 Load Urdu Translation Test Case ................................................................................. 43 5.5.5 Play Sound Test Case: .................................................................................................. 44 Chapter 6 FUTURE WORK AND CONCLUSION ..................................................................... 47 6.1 CONCLUSION ................................................................................................................... 47 6.2 FUTURE WORK ................................................................................................................ 47 REFERENCES ............................................................................................................................. 48

vii

List of Figures Figure 1 Application Main Screen ...................................................................................................... 15 Figure 2 List of Lesson in a Specific Level ........................................................................................ 15 Figure 3 Lesson Introduction .............................................................................................................. 16 Figure 4 New Lesson the Teacher Teaches through TPI .................................................................... 16 Figure 5 Context diagram ................................................................................................................... 19 Figure 6 Data Flow Diagram .............................................................................................................. 20 Figure 7 Activity Diagram .................................................................................................................. 21 Figure 8 Use Case Diagrams............................................................................................................... 22 Figure 9 Classes Dependency ............................................................................................................. 32 Figure 10 Cyclic Dependencies .......................................................................................................... 32 Figure 11 Block Diagram Of lint Tool ............................................................................................... 34 Figure 12 lint Tool Inspection Result ................................................................................................. 35 Figure 13 After Fixing Accessibility Issues........................................................................................ 36 Figure 14 Correctness Issues Fixed .................................................................................................... 37 Figure 15 All Issues Fixed ................................................................................................................. 37 Figure 16 StudentAnimationTest Test Case Result ............................................................................ 40 Figure 17 LoadStudentAnimation Test Case Results. ........................................................................ 42 Figure 18 LoadArbicWord Test Case Results .................................................................................... 43 Figure 19 LoadUrduWord Test Case Results ..................................................................................... 44 Figure 20 SoundLoad Test Case Results. ........................................................................................... 46

viii

List of Tables Table 1 Functional Requirement ......................................................................................................... 14 Table 2 Use Cases and Actors ............................................................................................................ 22 Table 3 Documentation of Course Introduction Use Case ................................................................. 23 Table 4 Select Level Use Case Documentation .................................................................................. 24 Table 5 Select Level 1 Use Case Documentation ............................................................................... 25 Table 6 Select Level 2 Use Case Documentation ............................................................................... 26 Table 7 Select Level 3 Use Case Documentation ............................................................................... 27 Table 8 Select Lesson Introduction Use Case..................................................................................... 28 Table 9 Select New Lesson Use Case Documentation ....................................................................... 29 Table 10 Application Normal Flow .................................................................................................... 38 Table 11 Flow In Case Of Failure....................................................................................................... 39 Table 12 Load Teacher Animation Test Case..................................................................................... 39 Table 13 Load Student Image ............................................................................................................. 41 Table 14 Load Arabic Word ............................................................................................................... 42 Table 15 Load Urdu Translation Test Case ........................................................................................ 43 Table 16 Play Sound Test Case .......................................................................................................... 45

ix

List of Acronyms TPI

Total Physical Interaction

HCI

Human Computer Interaction

NLP

Neuro-linguistic programming

UI

User Interface

Dpi

dots per inch

x

Chapter 1.

INTRODUCTION

1.1 Background The Quran is the most often-read book in the world. Revealed by God to the Prophet Muhammad (peace be upon him) in the 7th century, and revered by Muslims as being God’s final Scripture and Testament, its words have been lovingly recited, memorized, and implemented by Muslims of every nationality ever since. The faithful are inspired, consoled often moved to tears by its eloquence and poetic imagery, especially when recited aloud. And yet, the Quran is unique in being the only Scripture that is free of scientific inaccuracies, whose historical authenticity can be verified, and whose text has been so carefully preserved that just one authorized version (in Arabic) exists. Approximately the length of the New Testament, the Qur’an is also the only holy book that can be memorized in its entirety by people of all ages and intellectual abilities, including non-Arabic speakers, which Muslims consider to be one of its miracles. 1.1.1 Importance of understanding Quran The Quran is a guide to humanity, since none of us want to be misguided, it is paramount not only to read or recite the Quran, but to understand and implement it in our lives as well. Muslims believe Quran to be the word of Allah. The most important reason to read and understand Quran with meaning is that it’s the word and guidance from Allah to mankind. When we work in an office we have to follow the rules and regulations of the company, same is the case with Quran. We are the creation and we must follow the rules and regulations laid down by the Creator. In order to do that we need to follow Quran since it is the only divine book in its original form. After realizing this extremely crucial fact in our heart, we may not need to remind ourselves the importance to hold on to Allah’s book and to seek the ultimate guidance from it. Allah states that anyone who truly believes that there is a life after this life (hereafter) also believes in this book. Allah mentions in Quran: “Indeed, this Qur’an leads on to an appropriate and secure path. It gives the good news to those who perform righteous deeds, that theirs is a great reward! And we have prepared a painful punishment for those who do not believe in the afterlife.” Chapter 17, Verse 9 & 10

1

As the purpose of revelation of the Holy Quran is pondering which is very clear from the following passages of the Holy Quran: “(This is) a Scripture that We have revealed unto thee, full of blessing, that they may ponder its revelations, and that men of understanding may reflect.” [Al-Qur’an, 38:29] “Will they then not meditate on the Quran, or are there locks on the hearts?” [Al-Qur’an, 47:24] Now it is very obvious that one can ponder only after he understands it. For example: You read newspapers or stories, you don’t need to look back to understand the message. Can you read a book of math's or science like that? What you do while reading math or science is pondering. You think carefully about it for some time to understand it. In the Holy Quran, there is a grave warning for those who ignore pondering, as in the following passage: “And the Messenger (Muhammad, PBUH) will say (on the day of Judgment): O my Lord! Lo! Mine own folk make this Quran of no account” [Al-Qur’an, 25:30]. Scholars say that to leave Qur’an is not to do any of these (The rights of Quran): 

Believe in it



Read it



Understand it



Ponder its verses



Act upon it



Spread it

We Muslims are facing difficulties due to our social and economic conditions around the world. The reason in that we are not following the rules and regulation of Islam. Allah says in the holy Quran “But whosoever turns away from My reminder, verily, for him is a life of hard-ship” [AlQur’an, 20:124] But whosoever turns away from My Reminder, This means, "Whoever opposes my command and what I have revealed to My Messenger, then he has turned away from it, neglected it and taken his guidance from other than it.'' verily, for him is a life of hardship, meaning, his life will be hard in this world. He will have no tranquility. Rather, his chest will be constrained and in 2

difficulty due to his misguidance. Even if he appears to be in comfort outwardly and he wears whatever he likes, eats whatever he likes and lives wherever he wants, he will not be happy. For verily, his heart will not have pure certainty and guidance.

He will be in agitation,

bewilderment and doubt. He will always be in confusion and a state of uncertainty. This is from the hardship of life [1]. In order to make our life happy we have to learn and understand the meaning of the Quran and bring it in our lives .As we know that the holy Quran is in Arabic, which is not our native language or national language and learning a new language is not an easy task. Research show that almost 99% of non-Arabic Muslims in different part of the world don’t understand 1% of Holy Quran [2]. In order to understand Quran, one need to know Arabic language. A lot of work has been done for non-Arab to learn Arabic for understanding Quran. But learning Arabic grammar is considered to be very tough practice.

3

Chapter 2.

LITERATURE REVIEW

Understanding Quran is the concern of Muslims specially non-Arabs, from the very beginning of Islam. Peoples put efforts in different dimensions, like how to recite the Holy Quran, translations of it to different languages and start teaching Arabic to non-Arabs. With the growing interest in teaching the Arabic language, concerned institutions start to take an interest in this field by developing various learning aids such as readable books, audio tapes, CDs or specialized sites on the internet. Widely used courses to teach the Arabic language to non-native speakers are given below. “The Arabic language book for the youth” focus on to provide student an overview of Arabic language, this include language syntax, semantics and vocabulary. 30 conversational text were there in the book to improve student conversational power and 8 reading texts were there to improve reading power. For learning Arabic grammar 110 of the basic structures of Arabic grammar were there in the book. To learning vocabularies there were 445 words from Arabic language use in daily life along with real expression, so that student easily learn the words [3]. The series of “I love Arabic” was the first visual approach for learning Arabic language. The series designed consist of four stages. Each stage consist of a book for the student, a book for daily exercises, a manual for the teacher, a number of audio and visual animation were there with the course to support teacher in explaining the concept effectively because human learn 80% through visual animation. The series enables the learner to practice four skills including reading, writing, speaking and listening. The series also provide training for language element such as language phonetics, semantics and structures. The series topics were from the Arabic Islamic culture and the world cultures. The topics selected for the course were related to the child worlds of interest’s such as hobbies, play time, life at home and school, relationships with relatives, friends and neighbors; it discusses the world of animals and plants, and the external universe through various modes such as in conversations, Islamic stories, songs, narrations, linguistic games, and meaningful entertainment to state the etiquette and basic scientific facts. The series focus were on approximately 1500 words spread across the four levels; the first two stages were concentrated on basic Arabic vocabularies, the Arabic phonetic system with all its different phenomena were there in the first two stages [4]. 4

The series of teaching Arabic for the non-native speakers is considered as the first complete course to teach Arabic language and concepts of the Islamic science. The course was designed by more than fifty teachers, experts and specialist. The course contain thirty seven text for learner, with five manuals for the teacher and eight lexicons. The course is published under the supervision of the institution for Arabic language education in the Islamic university of Imam Muhammad bin Saud. The book is made up of levels beginning from the primary introduction of the language and its letters to the linguistics descriptions. The book aimed to qualify the learner to join Arabic universities in studying the Islamic law “sharia‟, Arabic language, and the literature [5]. “The Arabic language in your hands” come in seven books. Three books are designed for students based on their expertise level; the beginner level for new student learning Arabic, the intermediate level for student who know language basic and advanced level for expert. The series does not ignore teacher role as well, three books are designed for teacher as well containing the structures and guidelines of teaching language to the non-native speakers. One of the book for vocabularies, used in the six book [6]. In 1998 a website www.understandquran.com was launched which provide an easy way of understanding Quran. In 2000 a booklet was published consisting of 80% of words of Quran and also a booklet on grammars. In 2004 a book of 60 lessons was published. In 2005 Dr. Abdur Rahim Abdul Aziz offer an online course and 4000 people of 50 different countries beneficiary from it [1]. The course consist of two levels level1 and level2. In level1 you will learn approximately 125 new words that occur in the Qur’an more than 40,000 times. In level2 you will learn an additional 125 words that occur in the Qur’an more than 15,000 times. Each level can be taught in 10 hours. Therefore, 70% of the Quranic words can be learned in 20 hours of teaching! After taking this course, the understanding of the Qur’an becomes extremely easy. As a result in a typical line of the Qur’an, you may need to know only two or three new words [2]. In 2011 Mufti Abu Lubaba Shah Mansoor published a book consist of three levels. After completing that course user will be able to understand 90% of the Quran [7].

5

2.1 Mobile Application for Learning Arabic Language As our primary concern is to facilitate the learning of Quran through smart phone devices (android application) as these devices have emerge as magical tool for all aged learners, making the learning material easily accessible any time at fingertip with lowest or no cost at all [8]. Mobile learning has shown positive impact on acquiring Islamic education, research has shown that over 40% of the people who had never read the Quran started reading it because it was on their mobiles, available in their language of choice and a click away [9]. Reciting the holy Quran from mobile do not need ablution one can touch the Quran in mobile without ablution, one can recite the Quran from mobile during journey. myQuran app was featured during Ramadan on CBS News regarding how Muslims are adopting the latest technology by using their favorite app to enhance their Islamic knowledge [9]. App Stores of Nokia, Black Berry, iPhone, Android have launched many Quranic Apps which enables the user to download Holy Qur’an in audiovisual form in many languages including Arabic text, Quran recitation, Translation and Tafseer in different languages. Asan Tarjuma Quran app available on Android store provide user support to easily understand the meaning and translation of the holy Quran. Some of the popular apps such as Quran in Urdu S60 for Nokia mobiles, provides quran in Arabic text along with its translation in Urdu language with multilingual user interface and Tajweed rules in a very simple way [10]. uQuran from Black Berry offers the full Quran in the beautiful Uthmani font with an easy to use and intuitive user interface. It also offers verse by verse translation and recitation along with easy to manage and view bookmarks [11]. Quran Tafseer in Apple itunes contains five tafsir books in Arabic including Tafsir Ibn Katheer, Tafsir At-Tabari, Tafsir Al-Baghwi , Tafsir As-Saady, Tafsir Al-Moyasar [12]. Quran Android for Android devices provides Quran text, with full English translations, page navigations, full screen mode, toggle for Arabic and English Surah names, lock screen orientation, searching, and the size of the translation text [13]. myQuran is a unique and powerful application that enables us to study the Quran at many levels with quranic root words [14]. Quran Study workbook is designed to work for Apple devices. It provides Quran root word with their detailed description. However such a feature (Root words and there meanings) is not yet seen in Android devices. Therefore the proposed research aims to develop an Android app that would provide root words in Quran and their meanings in English in addition to derivations and how many times these 6

words exist in Quran. This facilitates a learner with an excellent insight into understanding of the Holy Quran, hence learning Quran’s vocabulary becomes easy. For instance, there are almost 2000 root words in Holy Quran if an individual learns 10 words in a day, by 6 months all 2000 words will be memorized [15]. The Classical Arabic of Quran is one of the most versatile and dynamic language [16]. To understand the Qur’an one needs to learn Quran’s Arabic words with its root meanings. It is much easier for non-Arab speakers to remember one root word with its meaning, which enables them to know the meaning of many words which comes from the same source [17].

7

Chapter 3.

METHODOLOGY

Now day’s computer and mobile technology play a very important role in every field of life. The current era is the information era and it is the responsibly of every individual to keep up with the information era. Learning through multimedia and virtual reality play a very important role in computer assisted language learning in order to improve the learning process. The term “Multimedia learning” means the presentation of material using both moving images and sounds. Mayer and Mereno (1980) found that learning through multimedia (animation and sounds) is much better that learning by reading [18]. Learning a foreign language is difficult because of its relation to cognition, culture and physiological factors. Cognition is the process of gaining knowledge. Gaining of knowledge depends on human perception, if the perception is correct then we can change the action. The perception can be changed using Neuro linguistic programming), Neuro stands for nerves system means what is actually in our mind. We are getting the information by using our five senses. The information that we are get are visuals, sounds, feelings, smell and taste. Linguistic means language or communication, this includes both verbal and non-verbal communication. Programming refer to those pattern of thinking or behavior that we are processing in the mind during communication. By nature the human brain is responding very quickly either it is desirable or not but just respond, using NLP what we are doing is to re-program human mind and respond effectively. The unique feature of the application is that it is based on commonly used words in daily recitation. Another important feature of the application is the way in which Arabic grammar is thought. A new powerful and simple technique of TPI has been introduced for learning nouns, pronouns and verbs. TPI stands for total physical interaction ) means that using all your senses i.e. you see through your eye the animation on the screen , hear the audio recording, think over each word what message Allah give us in the word, say it, and show it practically by doing yourself. A well know golden rule I lis-ten, I forgot, I see, I remember, I practice, I learn, I teach, I master. Using TPI we have ensured this golden rule in the application. When a user learn new words in the les-son before moving onward to the next lesson he will practice the word through TPI. Let consider an example regarding importance of TPI, If a student memorize two Arabic words ‫(هُو‬meaning he), ‫هم‬ (meaning they) after some time the meaning of ‫هُو‬become the meaning of ‫هم‬, because the student 8

is memorize the word there is no expression involve. But in case of TPI when user say the word ‫(هُو‬He), point the index finger of your right hand to the right, so that the person is sitting on your right side. TPI when user say the word ‫(هى‬she), point the index finger of your left hand to the left, so that the girls is sitting on your left side. Human brain have two type left brain and the right brain. When a person memorize something the memorized stuff is stored in the left brain. But human emotion are stored in the right brain. When student learn a lesson through emotion both parts of brain are used in the learning process. Using TPI when someone point to another emotion is there, in that case both parts of brain is used as a result learnability is increased. The holy Quran is easy to understand as Allah says in the Holy Quran. “Allah has deliberately made the Quran easy”. [Al-Qur’an, 54:22] As Allah says in the Holy Quran that Quran is easy to understand then how can we say that Quran is difficult? Let discuss how Quran is easy; we can understand this by knowing that how many words are there is the holy Quran. According to Madina Mushaf total pages in the Holy Quran are 600 and there are 15 lines per page. The total words per line are 9. If we do the calculation, the total words per page are 130 approximately. If we multiply the words per page to the total number of pages we get the total words in the holy Quran, which are 78000. If we remove the repetitions the total word become 17000. By applying grammar the total word become 4500. The focus of the application is on to learn these 4500 words. The application consist of three modules, in module 1 and module 2 there are 42 lessons, each lesson have three parts, The lesson introduction, the new lesson, Quranic examples of the words leant in the lesson. In first two module user will learn more than 150 words which are repeated 42000 times in the holy Quran, we can say that user will learn more that 50% of the Holy Quran. In module 3 user will learn additional 140 words which are repeated 15000 times in the Holy Quran.

9

Chapter 4.

REQUIREMENT

4.1 Business Opportunity and Customer Needs Today the socioeconomics life of Muslims is not good. They are facing difficulties in different parts of worlds. The reason for this is we are not following the platform given to us by Allah. The platform for us is defined in the Holy Quran, and almost 90% of non-Arab Muslims do not understand 1% of the Holy Quran [2], even if they know some of the words of the holy Quran, they cannot understand the meaning of the Quranic verses. Quran is most widely read book in the world but in addition to that it is one which is least understood. If a person do not know the platform then how can he follow the plat-form? It is very important and necessary for the current generation to learn the Holy Quran with understanding due to two main reason. 1) The onslaught of materialism and obscenity in the media, especially now a day the internet is the main source for that. 2) Attach on Islam and the Holy prophet (SAW) through different techniques. Once user learn the Holy Quran along with Hadith and Seerah of Holy Prophet (SAW) and his companion he will know the platform and will try to follow the platform of The Holy Prophet (SAW) and his companion. He will able to avoid wrong doing and reform his life. He will not deceive anyone and help other. By doing good deeds, he will present Islam to people in different area of world, a religion of peace, Joy and security. He will be effective in addressing misconception about Islam and follow the Holy Quran Instruction “invite all to the way of your Allah with wisdom and beautiful preaching”. 4.2 Business Objectives and Success Criteria BO-1: Being a Muslim we say prayers five times a days, in the prayer we repeat at least 100 to 200 words or 10 verses of the Holy Quran. By knowing these words one will be able to familiarize himself/herself with the semantics of Arabic language and will not need any special practice. BO-2: User will immediately feel the improvement in their life especially in Salah in term of atattention, concentration and attachment with Allah . BO-3: He will realizing the benefit of the application after completing the first lesson. SC-1: The app is based animation based along with sound recording and total physical interaction. According to research people learn 60% through visuals and 20% though sound re-cording. 10

SC-2: For learning the course stuff user have a golden chance for that. He will practice the words daily during prayer. SC-3: Arabic speaker can easily learn Urdu though the application. SC-3: The application is developed for android OS. According to surveymonkey, Raymond James Research android has captured 49.3% of smartphone market. 4.3 Business Risks RI-1: The animation used in the app is not of high Quality due to problem of small memory and processing power of smart phone devices. RI-2: The application is developed only for Urdu language speaker to understand the holy Quran which is not an international language as a result the application covered area is smaller. RI-3: Illiterate users, will face difficulty in using the smart Quran application. RI-4: The application is running only on landscape mode, people who are not use to with landscape mode will face difficulty in using the application. RI-5: People using devices will low storage cannot use the application, due to low storage problem. 4.4 User Classes and Characteristics Children:

Normally children like visuals, for small children special visual animation are

included in the app so that a special image of a specific words is produced in the mind of children’s. School Student: School colleges and university student can take advantages from the course they can learn course through animation also there is a label at the top included in the app containing the word along with meaning. Aged People: Aged people having low visual power can also learn the course. Sound recording for each lesson is included in the app so that they can know the pronunciation and meaning of the words though sound recording.

11

4.5 Operating Environment 1. The smart Quran learning application will run on all the devices using android OS. 2. In android market there is a lot of fragmentation. The screen density of devices vary from company to company the application will run on mobile, 7 inch tablet and 10 inch tablet. 4.6 Design and Implementation Constraints 1. The application design will follow the HCI design guidelines. 2. The application layout will be universal i.e. the layout will not disturb on different mobile devices with different screen density. 3. The coding style will be MVC based. 4. The application will be mobile application, especially developed for android OS, due to the reason of large market share. 5. There will be no internet connection required. 4.7 Assumptions and Dependencies 1. The application will be available on google play store for all smart phone users. 2. The user knows English. 3. The user has sufficient knowledge of basic Arabic alphabets. 4. The user has sufficient knowledge of Urdu language. 5. The user has basic knowledge of using smart phone. 4.8 System Features The smart Quran learning application will provide following functionalities to the users. 4.8.1 Different levels In the application there are three levels. 4.8.2 Lessons in each Level In level one and level two there are 44 lessons. In level three there are fifty lesson. 12

4.8.3 Sub parts of Lesson Each lesson in level one and level two consist of three sub parts. Part one is for lesson introduction, Part two is for new lesson and Part three is for Quranic examples. 4.8.4 Lesson Introduction In lesson introduction a table is shown for the words to be taught in that lesson. In table different color scheme is used for identifying different pronouns. 4.8.5 New Lesson In new lesson teacher will teach the lesson through TPI. 4.8.6 Quranic Examples In Quranic examples the examples of the newly taught words from the Holy Quran will be there. Different color scheme is used for highlighting the word in the verse of Holy Quran along with Translation. 4.8.7 Text Label In new lesson a text label is there for the new word the teacher teaches. 4.8.8 Teacher Animation Teacher teaches the lesson through TPI, for this different animation are there for showing different sign for different words. 4.8.9 Sound Recording Sound recording is there for the words the teacher teaches. 4.8.10 Student Character Student Character is there to which the teacher point in order to graphically show the meaning of the words the teacher teaches.

13

4.9 Functional Requirements Table 1 list the functional requirement of the application, means what functionality the application will provide to the user. In the application a teacher character will be there for teaching the lessons to the student. The teacher will teach the lesson using TPI. Specially designed animation will be there for each words the teacher teaches. Table 1 Functional Requirement Id

Functional Requirements

Priority

FR 1

A teacher character for teaching the lesson.

1

FR 2

Student character to which the teacher will point.

1

FR 3

Different sign for different words the teacher teaches.

1

FR 4

The application will consist of three different levels.

1

FR 5

Each level will consist of different lessons.

2

FR 6

Each lesson will consist of three part lesson introduction, new lesson, Quranic Examples.

2

FR 7

In each lesson, teacher will teach the lesson through TPI.

1

FR 8

Audio recording will be there for teaching the lesson.

1

FR 9

Different color scheme will be used for different pronouns.

1

FR 10

A label is there for the word teacher teach currently.

1

14

4.10 External Interface Requirements 4.10.1 User Interface The User Interface is following the HCI and Google material design guidelines. Figure 1 show the main screen from which user have to select a level of their choice.

Figure 1 Application Main Screen User after Selecting a Specific Level, list of lesson in that level will be shown to the user as shown in the Figure 2

Figure 2 List of Lesson in a Specific Level

15

In each Lesson User have the choice to select Either Lesson Introduction or New Lesson. User after Selecting Lesson Introduction will get following results as shown in Figure 3. When user select New Lesson will get following results as shown in Figure 4.

Figure 3 Lesson Introduction Figure 4 show the result of actual lesson the user have selected from a specific level. A teacher and student character are there to visually teach the word to the user.

Figure 4 New Lesson the Teacher Teaches through TPI

16

4.10.2 Hardware Interfaces 1. The smart Quran learning application will run on all Android devices having minimum screen density of 240dpi. 2. The phone need a memory of at least 50MB to install the application. 3. The device need to have good GPU in order to show quality results. 4.10.3 Software Interfaces 1. The smart Quran learning application will operate on all android devices having API version greater than 15. 2. The layout of smart Quran learning is universal, the layout will not disturb on all smart phone devices. 3. The application design is following HCI design guidelines. 4. The application coding is following MVC pattern. 5. The software used for developing the application is Android Studio version 1.5. 6. The application design is following Google Material design guidelines. 4.11 Nonfunctional Requirements 4.11.1 Performance Requirements NFR1 The system interface should be clearer and easy to use. NFR2 User can navigate through different screen using the application back button or mobile back button. NFR3 The application is not using internet service and should be available 24/7. NFR4 The application will run smoothly and will not crashes. NFR5 The application will respond in less that ½ of a second after user perform some action. NFR6 The application is not using image as a background for different screen, due to that performance is improved.

17

4.11.2 Safety Requirements NFR7 The application will take user to the screen at which the application crashes. NFR8 The application failure rate must be as low as possible. NFR9 In case of failure, the application should be recovered to its original state within 30 seconds. 4.11.3 Security Requirements NFR10 The application must run properly on all smartphone devices. NFR11 The application must not overwrite any other application data. NFR12 The application will not share user information with anyone else . 4.11.4 Software Quality Attributes 1. The application should available to user 24/7. 2. The system should run smoothly on different smartphone devices and would not crashes. 3. Application should recovers itself to its original state in less than 30 second.

18

4.12 Figures 4.12.1 Context Diagram Figure 5 show context diagram of the application. When the application launched, user have to select one of the course level after selecting any of the specific level the data related to that level will be loaded and presented to the user. User then have to select one of the lesson from the list of lessons.

Figure 5 Context diagram

19

4.12.2 Data Flow Diagram (DFD) Figure 6 show the data flow diagram of the application. When the application start user have to select from the two option either the course Introduction or Select one of the course levels. After selecting one from the option the data related to that will load from the data source and the data will be presented to the user.

Figure 6 Data Flow Diagram

20

4.12.3 Activity Diagram Figure 7 show the Activity Diagram of the application. When the application launched user will take decision, to select either one of the course level or course Introduction. After selecting one of the course level a list of lesson will be shown to the user. Then user have to select either new lesson, or lesson introduction. After that user will then move to the next lesson or next level or may be close the application.

Figure 7 Activity Diagram

21

4.12.4 Use Case Diagrams The following use cases and primary actors are identified for the smart Quran Learning Application. Figure 8 show the Use Case diagram of the project.

Figure 8 Use Case Diagrams

Table 2 Use Cases and Actors Primary Actor User

Use Cases 1. Couse Introduction 2. Select Level 3. Select Level 1 4. Select Level 2 5. Select Level 3 6. Select Lesson Introduction 7. Select New Lesson

22

Table 3 Documentation of Course Introduction Use Case Use Case ID: 1 Use Case Name: Course Introduction Created By: Muhammad Dawood and Muhtarram shah Date Created: June 02, 2016 Actors: User Description: User download the Smart Quran Learning application from the google play store and install on the phone. User will open the application by clicking on the application icon. After application loading there will be option to the user select level of your choice or select Couse Introduction Preconditions: 1. User must have Android smart phone, having minimum screen density of 240dpi. 2. The application need a memory of at least 50MB to install on the phone. Postconditions: 1. Data related to course introduction will be loaded from Data Source. Normal Flow: 1. User Click on application icon to launch the application. 2. User Select course Introduction. 3. Course detail will be presented to user in the form of text along with sound recording for explain the text. Alternative Flows: Application crashes: 1. Show the reason of crash to the user in the form of toast message. Exceptions: Low memory Exception 1. The phone memory is not enough to launch the application and application is terminated unsuccessfully. Priority: High Frequency of Use: The system is available 24 hours and user can use the application at any time.

23

Table 4 Select Level Use Case Documentation Use Case ID: 2 Use Case Name: Select Level Created By: Muhammad Dawood and Muhtarram shah Date Created: June 02, 2016 Actors: User Description: User download the Smart Quran Learning application from the google play store and install on the phone. User will open the application by clicking on the application icon. After application loading there will be option to the user select level of your choice, when user select a specific level that level will be loaded. Preconditions: 1. This Use Case extends the Select Level1, Select Level2 and Select Level3 Use Cases. 2. User must have Android smart phone, having minimum screen density of 240dpi. 3. The application need a memory of at least 50MB to install on the phone. Postconditions: 1. Data related to a specific level selected by user will load from data source. Normal Flow: 1. User Click on application icon to launch the application. 2. User Select a Level of their choice from the level shown to the user. 3. Data of specific level selected by user is load from the data source. Alternative Flows: Application crashes: 1. Show the reason of crash to the user in the form of toast message. Exceptions: Low memory Exception 1. The phone memory is not enough to launch the application and application is terminated unsuccessfully. Priority: High Frequency of Use: The system is available 24 hours and user can use the application at any time.

24

Table 5 Select Level 1 Use Case Documentation Use Case ID: 3 Use Case Name: Select Level 1 Created By: Muhammad Dawood and Muhtarram shah Date Created: June 02, 2016 Actors: Inherited from Select Level Use Case. Description: User open the application by clicking on the application icon. After application loading there will be option to the user select level of your choice, when user select Level1 the new window will pop up. In that window user have to select a lesson of their choice from level1. Preconditions: 1. User must have Android smart phone, having minimum screen density of 240dpi. 2. The application need a memory of at least 50MB to install on the phone. Postconditions: 1. Data of level 1 will be loaded from the data source. 2. New window will pop up and all the lesson of level1 will be shown in a list. Normal Flow: 1. User will select level1 from the selection. 2. Data of level1 is loaded from the data source. 3. All the lesson of level one in shown in the form of list. Alternative Flows: Application crashes: 1. Show the reason of crash to the user in the form of toast message. Exceptions: Low memory Exception 1. The phone memory is not enough to launch the application and application is terminated unsuccessfully. Priority: High Frequency of Use: The system is available 24 hours and user can use the application at any time.

25

Table 6 Select Level 2 Use Case Documentation Use Case ID: 4 Use Case Name: Select Level 2 Created By: Muhammad Dawood and Muhtarram shah Date Created: June 02, 2016 Actors: Inherited from Select Level Use Case. Description: User open the application by clicking on the application icon. After application loading there will be option to the user select level of your choice, when user select Level1 the new window will pop up. In that window user have to select a lesson of their choice from level2. Preconditions: 1. User must have Android smart phone, having minimum screen density of 240dpi. 2. The application need a memory of at least 50MB to install on the phone. Postconditions: 1. Data of level2 will be loaded from the data source. 2. New window will pop up and all the lesson of level2 will be shown in a list. Normal Flow: 1. User will select level2 from the selection. 2. Data of level2 is loaded from the data source. 3. All the lesson of leve2 one in shown in the form of list. Alternative Flows: Application crashes: 1. Show the reason of crash to the user in the form of toast message. Exceptions: Low memory Exception 1. The phone memory is not enough to launch the application and application is terminated unsuccessfully. Priority: High Frequency of Use: The system is available 24 hours and user can use the application at any time.

26

Table 7 Select Level 3 Use Case Documentation Use Case ID: 5 Use Case Name: Select Level 3 Created By: Muhammad Dawood and Muhtarram shah Date Created: June 02, 2016 Actors: Inherited from Select Level Use Case. Description: User open the application by clicking on the application icon. After application loading there will be option to the user select level of your choice, when user select Level3 the new window will pop up. In which all the lesson of level3 is shown in the form of list. Preconditions: 1. User must have Android smart phone, having minimum screen density of 240dpi. 2. The application need a memory of at least 50MB to install on the phone. Postconditions: 1. Data of level3 will be loaded from the data source. 2. New window will pop up and all the lesson of level3 will be shown in a list. Normal Flow: 1. User will select level3 from the selection. 2. Data of level3 is loaded from the data source. 3. All the lesson of leve3 one in shown in the form of list. Alternative Flows: Application crashes: 1. Show the reason of crash to the user in the form of toast message. Exceptions: Low memory Exception 1. The phone memory is not enough to launch the application and application is terminated unsuccessfully. Priority: High Frequency of Use: The system is available 24 hours and user can use the application at any time.

27

Table 8 Select Lesson Introduction Use Case Use Case ID: 6 Use Case Name: Select Lesson Introduction Created By: Muhammad Dawood and Muhtarram shah Date Created: June 02, 2016 Actors: Select Level1 and Select Level2 will Call Select Lesson Introduction Description: User will select level of their choice from the level section menu. After selecting a specific level, a list of lesson related to that level will load. In each lesson there are two option either the user will select the lesson introduction or new lesson. After selecting new lesson a new window will pop up. In that window there will be a teacher character who will teach the words through TPI. Preconditions: 1. User must have Android smart phone, having minimum screen density of 240dpi. 2. The application need a memory of at least 50MB to install on the phone. 3. User must have selected one of the level. 4. List of lesson in a given level must be loaded successfully. Postconditions: 1. Data of new lesson will load from data source. 2. A table will be displayed on the screen for the new words the teacher teaches. 3. New window will pop up and all the lesson of level3 will be shown in a list. Normal Flow: 1. User will select one of the lesson from the lesson list. 2. User will select introduction from the selection. 3. Data of the selected lesson will load from the data source. 4. Words related to the lesson will be shown in the form of table. 5. Sound recording be there, to explain table words. Alternative Flows: Application crashes: 1. Show the reason of crash to the user in the form of toast message. 2. Words not load properly. Exceptions: Low memory Exception 28

1. The phone memory is not enough to launch the application and application is terminated unsuccessfully. Priority: High Frequency of Use: The system is available 24 hours and user can use the application at any time.

Table 9 Select New Lesson Use Case Documentation Use Case ID: 7 Use Case Name: Select New Lesson Created By: Muhammad Dawood and Muhtarram shah Date Created: June 02, 2016 Actors: Select Level1, Select Level2 and Select Level3 will Call Select New Lesson. Description: User open the application by clicking on the application icon. After application loading there will be option to the user select level of your choice, when user select Level3 the new window will pop up. In which all the lesson of level3 is shown in the form of list. Preconditions: 1. User must have Android smart phone, having minimum screen density of 240dpi. 2. The application need a memory of at least 50MB to install on the phone. 3. User must have selected one of the level. 4. List of lesson in a given level must be loaded successfully. 5. User will select one of the lesson from list of lessons. Postconditions: 1. Data of lesson will load from data source. 2. A table will be displayed on the screen for the new words the teacher teaches. 29

3. New window will pop up and all the lesson of level3 will be shown in a list. Normal Flow: 1. User will select New Lesson from the lesson list. 2. Data of the selected lesson will load from the data source. 3. Teacher will teach the lesson words using TPI. 4. Sound recording will be there along with animation. Alternative Flows: Application crashes: 1. Show the reason of crash to the user in the form of toast message. 2. Words not load properly. 3. Student character or teacher character fail to load. Exceptions: Low memory Exception 1. The phone memory is not enough to launch the application and application is terminated unsuccessfully. 2. Animation fail to Load Priority: High Frequency of Use: The system is available 24 hours and user can use the application at any time.

30

Chapter 5 SOFTWARW QUALITY ASSURANCE Quality of a software can be tested through different techniques i.e. testing, inspection, formal verification, defect prevention, fault tolerance etc. In this chapter we will discuss those techniques which we have used to test the quality of our software system. 5.1 Android Testing Android provide integrated framework that help you to test all aspect of your app. Android test support library provide tools to test the app on both emulator and physical device. A special framework called Espresso is develop to test android UI component such as ListView, GridView, and all other view. Also Espresso provide you analytics about the app memory usage and processing power usage. 5.2 Black Box Testing 5.2.1 Dependencies: In order to check the dependencies of one class on another, in Android Studio we have to follow the following steps: Go to Analyze from Analyze select Analyze Dependencies. This will show the list of classes on which a given class depends. Results: Figure 9 show the classes dependency. In the figure above the MainActivity on the left side depends on the classes at the right side. In order to ensure High Quality it is necessary to make the dependencies small. In the example screenshot above the MainActivity depends only on the ResourcePool custom class act as a model class for the application.

31

Figure 9 Classes Dependency 5.2.2 Cyclic Dependency: In order to check the dependencies of one class on another, in Android Studio we have to follow the following steps: Go to Analyze from Analyze select Analyze Cyclic Dependencies. This will show the list of classes on which a given class depends. Results: Figure 10 show the Cyclic Dependencies.

Figure 10 Cyclic Dependencies 32

5.3 Inspection Inspection is very important for any application. Inspection is conducted in different stages of SDLC. At testing stage Inspection focus on verification that the source code correspond to coding rules. Poorly written code can impact the efficiency, reliability and performance of an application. In inspection we focus on to resolve structural dependencies, if structural dependencies is not resolved this the maintenance of application become too complex. For example, string.xml file in android contain the string resources, if there were empty string in the file, it takes up memory space and processing power is wasted for unintended work. Other structural issues, such as use of deprecated elements or API calls that are not supported by the target API versions, might lead to code failing to run correctly. 5.3.1 Android Studio Automated Inspection Support (Lint Tool): Android Studio provides support for automated code inspection. Special scanning tool called Lint that can help you to easily identify and correct problems with the structural quality of your code, without having to execute the app or write any test cases. Each problem detected by the tool is reported with a description message and a severity level, so that you can quickly prioritize the critical improvements that need to be made. You can also configure a problem's severity level to ignore issues that are not relevant for your project, or raise the severity level. You can run the lint tool from command line as well as from android studio development environment. The Lint tool provide support to the developer for ensuring Accessibility, correctness, performance , security, usability and internationalization of code standard. Figure 11 show Block Diagram of lint tool.

33

Figure 11 Block Diagram Of lint Tool 5.3.1.1 Application source Files: These are actually the source code of your application this is passed as input to lint tool for detecting the problem. 5.3.1.2 Lint.xml: This file is used to specify any lint check that you want to exclude from your project based on their severity level. 5.3.1.3 Lint Tool: Lint tool check for structural problem in the application is report it to the developer in the event logs. User after checking the alert from lint tool will fixed the problem. Procedure: In order to do inspection in Android Studio, follow the following steps: Go to Analyze from Analyze select Inspect Code.

34

Result: After start inspecting the code we will get information about different issues the app have. Figure 12 show lint tool inspection result. The different issues that the app have are given below.

Figure 12 lint Tool Inspection Result

Accessibility: Accessibility is important features for user having visual or physical disabilities. A normal user can easily understand the use of application different controls through their label or clue. However people having visual disabilities have problem to use application. In order to make application usable for people having disabilities we need to add accessibility features to the application. Lint is a powerful tool which provide the support for testing Accessibility of application.

35

Results: In Figure 9 there were 9 accessibility issues after fixing that the accessibility disappear from the inspection results as shown in the Figure 13.

Figure 13 after Fixing Accessibility Issues

Correctness: The goal of correctness is to make program correct by fixing the errors. Result: From Figure 12, there were 98 correctness issues after fixing that now the issues are only 2 as shown in Figure 14

36

Figure 14 Correctness Issues Fixed

Internationalization: This means that the layout will not disturb either it is using LTR or RTL. Result: Before fixing this there were internationalization issues in the layout as shown in Figure 12, after fixing that, now the Internationalization disappear from the Lint results as shown in Figure 15.

Figure 15 All Issues Fixed Performance: By performance we means that we should not have to waste the CPU cycles. CPU cycles are wasted when processing on NULL object or when there are problems in the layouts.

37

Results: Before fixing the source code there were more than 300 performance error as shown in Figure 12, after fixing that the total errors reduced to 2 as shown in Figure 15.

Usability: Usability means that application will be easy to use, means that the UI will be design in a right manner and the icon of the app will be of specific size based on device resolution. Results: Before fixing the source code there were more than 46 usability error after fixing that the total errors reduced to 1 as shown in Figure 15. 5.4 Fault Tolerance The ability of system to respond to hardware or software failure. The fault tolerance of the application is that with the application throw an exception the application recover itself in less that minute. The crash may be due to out of memory because the application needs more memory. In that case application exits and restart again, take user to its currently running task at which the application fails. To make an application fault tolerant we have added redundant code to the project which increase the application size but quality is improved highly with this. Let discuss the application fault tolerance. Table 10 show Normal Flow of Application,

Table 11 represent the flow in case of failure. Table 10 Application Normal Flow steps

Description

1

User select one of the course level.

2

List of lessons of the selected level is shown to the user in the form of list.

3

User select One of the lesson and start learning the lesson

38

Table 11 Flow In Case Of Failure steps

Description

1

Application throw out of memory exception

2

Application is finished and memory is released

3

Restart the application and take user to its original task that he was performing before the application crash.

5.5 Test Cases 5.5.1 Load Teacher Animation Test Case: Table 12 show the documentation of the Load Teacher Animation Test Case. The goal of this test case is to check whether the teacher animation load properly or not. If the animation load properly the test case will be successful and if not the test case will be fail. Table 12 Load Teacher Animation Test Case Test Case Id

Test-01

Functional Requirement

Load teacher animation.

Test Description

To test this function, will the application load teacher animation or not?

Steps

Pass two input to the test case the animated image and the ImageView to which the image will load.

Expected Result

Teacher animation will load to the ImageView.

Actual Result

Teacher animation loaded successfully

39

Execution: To execute this test case select TeacherAnimationTest module from the Run configuration of android studio, and run the project, after executing the test case we get the following result as shown in the Figure 16

Figure 16 StudentAnimationTest Test Case Result

5.5.2 Load Student Image Test Case: Table 13 show the documentation of the Load Teacher Animation Test Case. The goal of this test case is to check whether the student animation load properly or not. If the animation load properly the test case will be successful and if not the test case will be fail.

40

Table 13 Load Student Image Test Case Id

Test-02

Functional Requirement

Load Student Image

Test Description

To test this function, will the student image load properly or not?

Steps

Pass two input to the test case the student image and the ImageView to which the image will load.

Expected Result

Student image load successfully.

Actual Result

Student image was loaded successfully

Execution: To execute this test case select StudentAnimationTest module from the Run configuration of android studio, and run the project, after executing the test case we get the following results as shown in Figure 17

41

Figure 17 LoadStudentAnimation Test Case Results. 5.5.3 Load Arabic Word Test Case: Table 14 show the documentation of the Load Arabic Word Test Case. The goal of this test case is to check whether the Arabic words load properly or not. If the words load properly the test case will be successful and if not the test case will be fail. Table 14 Load Arabic Word Test Case Id

Test-03

Functional Requirement

Load Arabic word from data source

Test Description

To test whether this function will load the Arabic word successfully or not from data source?

Steps

To test this pass the Arabic text and the label to which the text will load.

Expected Result

Arabic text will load successfully.

Actual Result

Arabic text has loaded successfully

42

Execution: To execute this test case select LoadArabicWordsTest module from the Run configuration of android studio, and run the project, after executing the test case we get the following results as shown in Figure 18.

Figure 18 LoadArbicWord Test Case Results 5.5.4 Load Urdu Translation Test Case Table 12Table 15 show the documentation of the Load Urdu Word Test Case. The goal of this test case is to check whether the Urdu words load properly or not. If the words load properly the test case will be successful and if not the test case will be fail. Table 15 Load Urdu Translation Test Case Test Case Id

Test-04

Functional Requirement

Load Urdu translation from data source

Test Description

To test whether this function will load the Arabic word Urdu translation successfully or not from data source?

43

Steps

To test this pass the Urdu text and the label to which the text will load.

Expected Result

Urdu text will load successfully.

Actual Result

Urdu text has loaded successfully

Execution: To execute this test case select LoadUrduWordsTest module from the Run configuration of android studio, and run the project, after executing the test case we get the following results as shown in the Figure 19.

Figure 19 LoadUrduWord Test Case Results

5.5.5 Play Sound Test Case: Table 16 show the documentation of the Play Sound Test Case. The goal of this test case is to check whether the Arabic words load properly or not. If the words load properly the test case will be successful and if not the test case will be fail.

44

Table 16 Play Sound Test Case Test Case Id

Test-05

Functional Requirement

Sound Playing

Test Description

To test whether this function will play sound or not?

Steps

Passing sound to the test case and it will check the sound playing.

Expected Result

The sound will play successfully.

Actual Result

Sound has played successfully.

Execution: To execute this test case select SoundLoadTest module from the Run configuration of android studio, and run the project, after executing the test case we get the following results as shown in the Figure 20.

45

Figure 20 SoundLoad Test Case Results.

46

Chapter 6

FUTURE WORK AND CONCLUSION

6.1 CONCLUSION The Quran is a guide to humanity, revealed by Almighty God, Allah to the Prophet Muhammad (peace be upon him). Since none of us want to be misguided, it is paramount not only to read or recite the Quran, but to understand and implement it in our lives as well. The aim of this effort was to make the process of understanding of the Quran easy for all its viewers and to encourage them to recite it again and again with understanding and to help them interact with the Quran. Through this ‘Understand Quran’ application we have tried to teach the most commonly used words by Muslims in their daily prayers and supplication as well as the fundamentals of Arabic Grammar that will be of great help in understanding the Quran. The application also have implemented a new simple yet powerful technique of TPI (Total Physical Interaction) is introduced to teach different forms of verbs, nouns, and pronouns. With TPI the words can easily be understand, remember and recall. This app has three level, level 1, level 2 and level 3, each has 32, 39 and 39 lessons respectively. By the end of these levels, the user will be able to familiar with more than 70% of the Quranic words and in the result the understanding of the Quran will become extremely easy. The application was found very useful and easy for learning and interaction as we have tested it on teenagers and the results were very satisfactory. 6.2 FUTURE WORK Although the app currently is very effective for user, but we will try to enhance its usability by adding examples from the holy Quran. Level 4 will also be added with which the level of Quranic vocabulary will be increased to 90%.

47

REFERENCES

[1] t. Kathir, Tafsir, Ibne Kathir, Egyptian, 1956. [2] r. a. abdur, Understand the Qur’an & Salah THE EASY WAY, India: understand quran, 2005. [3] M. I. e. a. Siniy, Al-Arabia Lil-nashie’n, The Saudi Ministery of education, 1983. [4] M. I. e. a. Siniy, Uhibbu Al-Arabia, Arab Bureau of Education for the Gulf States, 1980. [5] G. o. Authors, Ta’lim Al-Arabia, Institute for Arabic Language Teaching, University of Imam Muhammad bin Saud, 1994. [6] A. I. e. a. Al-Fawzan, Al-Arabia Bayna Yadaika, Arabic for all Press, 2004. [7] M. A. L. Shah Mansoor, Qurani Arbi Seekeyie Asan Tareeqe Ke Sath. [8] J. B. B. u. Schneidawind, USA , Today, November 23 ,1992. [9] "BrotherSoft," [Online]. Available: http://mobile.brothersoft.com/quran-reader-. [Accessed Monday june 2016]. [10] my Quran, "app store," [Online]. Available: https://itunes.apple.com/us/app/myquran-read%20understand-apply/id373788478?mt=8. [Accessed friday june 2016]. [11] "OVI store," Nokia, [Online]. Available: http://store.ovi.com/content/80067?clickSource. [Accessed friday june 2016]. [12] "BlackBerryWorld,"

Black

Berry,

[Online].

Available:

http://appworld.blackberry.com/webstore/conte. [Accessed friday june 2016]. [13] "iTune Store," Apple, [Online]. Available: http://itunes.apple.com/us/app/quran-tafsir-. [Accessed friday june 2016]. [14] "Amazon," Amazon, [Online]. Available: http://www.amazon.com/ahmedre-Quran-. [Accessed friday june 2016]. 48

[15] "Google

Play,"

Google,

[Online].

Available:

https://play.google.com/store/apps/details?id=com.salik.myQuranlite. [Accessed friday june 2016]. [16] "eMuslim," [Online]. Available: http://emuslim.com/quran/Lughat.asp. [Accessed friday june 2016]. [17] H. Wehr, The Hans Wehr Dictionary of Modern Written Arabic, US, NY : Spoken Language Serves, Inc., Ithaca, NY, 1993. [18] K. John, A dictionary and Glossary. [19] R. Mayer and A. Moreno, "Split-attention effect in multimedia learning," evidence for dual processing systems in working memory. Journal of Educational Psychology., vol. 90, pp. 312-320, 1998.

49

Suggest Documents