Vocabulary Learning System

42
Vocabulary Learning System Project Advisor: Abdullah Al-wadud Submitted By Saad Alharbi, 432101600 Ziyad Alnasser, 432103707 Saad Albarakah 431103214 Abdullah Alkhamis, 432104864 Spring 2015

Transcript of Vocabulary Learning System

Vocabulary Learning System

Project Advisor: Abdullah Al-wadud

Submitted By

Saad Alharbi, 432101600Ziyad Alnasser, 432103707Saad Albarakah 431103214

Abdullah Alkhamis, 432104864Spring 2015

Table of Contents

1. List of figure............................................................................................................................... 2

2. Introduction................................................................................................................................ 3

3. Domain Analysis....................................................................................................................... 3

4. Risk/Constraints....................................................................................................................... 4

5. Project Plan................................................................................................................................ 5

6. Quality Assurance Plan:........................................................................................................ 6

7. Functional requirement:....................................................................................................... 7

8. None functional requirements:............................................................................................... 7

9. Use case Diagram:................................................................................................................... 8

11. Use Case Description........................................................................................................... 10

12. Entity class diagram:............................................................................................................ 16

13. Architectural style :............................................................................................................... 17

14. Design class diagram :........................................................................................................ 19

15. VOPC diagram :...................................................................................................................... 20

16. Interaction diagrams :.......................................................................................................... 24

17. Design interactions diagrams:......................................................................................... 30

18. Deployment diagram :........................................................................................................... 38

19. References :................................................................................................................................................. 39

1. List of figure

Figure1.project planFigure2.use-case diagram Figure3.entity class diagramFigure4.architectural styleFigure5.design class diagramFigure6. VOPC diagram : SearchFigure7. VOPC diagram: view previous score Figure8. VOPC diagram: test next levelFigure9. VOPC diagram: view user levelFigure10. VOPC diagram: learn by videos Figure11. VOPC diagram: learn new wordFigure12. VOPC diagram: add new wordFigure13. Interaction diagram: test next levelFigure14. Interaction diagram: view previous scoreFigure15. Interaction diagram: searchFigure16. Interaction diagram: view user levelFigure17. Interaction diagram: learn new wordsFigure18. Interaction diagram: add new wordFigure19. Interaction diagram: learn by videoFigure20. Design Interaction diagram: test next levelFigure21. Design Interaction diagram: view previous scoreFigure22. Design Interaction diagram: searchFigure23. Design Interaction diagram: view user levelFigure24. Design Interaction diagram: learn by videoFigure25. Design Interaction diagram: add new wordFigure26. Design Interaction diagram: learn new wordFigure27.deployment diagram

2. Introduction

A vocabulary learning system is a system that exists because these days where English is the most popular languages, as 2010 study shows that 359 million people speak English as their first language. English is an essential language these days because you can explore a new culture, travel the world, and access to knowledge resources. The goal of this project is to develop a website to help the users to learn new English vocabulary words.

By learning English you can explore many cultures, there are many countries which their native language is English. By learning English you can interact with them, have a coffee with someone, and learn more about their culture. Learning English will make it easier to communicate with other people and they will feel comfortable talking to you if you speak their language, they will be open to you and share more stories with you.

There are more than 50 English speaking countries, where English is either the official or the primary language. It is the third most common primary language in the world. If you want to travel to any country, you will be able to communicate with others only if you know their language. If you went to a restaurant or a shopping mall or a taxi, you can easily talk to the workers.

You can access to many knowledge resources from books or the Internet if you know English. You can learn math, chemistry, physic, and a new programing language, etc. if you know English. Most of the knowledge resource available online in English. These days all the information is just a click away on the internet. Now days so many people want to learn English and the first step to learn a new language is to enhance the vocabulary. That’s why we created this project, to solve the problem that so many people has by improving their vocabulary. We made the system friendly and easy to use, so users can find the information that they need easily. The system has many features, which include; users can register and test their level before starting the learning process. Users can learn new vocabularies in diverse categories by words and by videos. Users can interact with the system, by adding a new word and the system will be integrated with Google to check the translation.

3. Domain Analysis

Google Translation:A service provided by Google to translate part of the text or Web page to another language. Google translate provide more than 75 languages. Google translate provide alternative translation with the original translation

Pros: No need to registerSupports voice translatorFreeQuick translation

Cons: The translation isn't accurate 

Babylon:Helps to translate texts and phrases, this site includes more than 1,600 Dictionary and glossary of various fields and areas and provides more than 75 languages, the site provides access to synonyms for any word

Pros:No need to registerContains Dictionary

Cons:The translation isn't accurateNot allow voice translation

Vocabulary.com:

This site contains two parts

Section I: Challenges contains a quick-set questions on some of the words chosen Section II: the translation, gives a translator with a short description of the word.

Pros: It gives a short description of the word with translation.

Easy to use.

No need to register

Cons:not allow voice translation.

Systems Comparisons:

system

Feature

Google translation

Babylon vocabulary.com VLS

Search for word translation.

User can add new word

Easy to use

Learn by video

Categorize word

4. Risk/Constraints

We are trying to look forward into scenarios that could pose a threat to the successful outcome of our project:1-Time will be a risk in our project.2-Some group members haven’t worked together before.3-Some members of group are not familiarity with some web language program that are included in our system.

Risk No. Potential impact on project

Likelihood of occurrence

Difficulty of occurrence

Overall threat

1 High High High High

2 Medium High Medium Medium

3 Medium High Medium Medium

5. Project Plan

Figure2.project plan

6. Quality Assurance Plan:

For quality assurance, after getting each feedback for each phase, we correct the mistakes directly and we don’t start the next phase until we correct them. We discussed some of the notes with our instructor. In addition, we’ve review the whole project and we pretend that we are the instructors ourselves and never saw the project before, so we can catch all mistakes! After we finish each we made a peer review among the members, as seen in table.

Reviewed byTasksSaad Alharbi, ZiyadIntroduction

Abdullah, Saad AlbarakhDomain Analysis

Ziyad, Saad albarakhRisk/Constraints

Abdullah, ZiyadProject Plan

Abdullah AlkhamisRequirements

Ziyad, Saad AlharbiUse case diagram

All members Use case description

All members Interaction diagram

Abdullah Alkhamis, ZiyadEntity class

Ziyad, Saad AlbarakhSystem architecture

All members Design interaction diagram

7. Functional requirement:

1- A user shall be able to register to the system.2- A user shall be able to login to the system.3- The system shall test a user level before he can access the system. The test will contain 50 questions and classify the user level by following the equation: {level =1 if score <20 , level =2 if 20 =< score < 35 , level =3 otherwise}4- A user shall be able learn new words in different categories, each category shall provide the words according to his level. The categories are like animal, color , work , shopping , food , house , school, and weather etc. 5- A user shall be able to search for any words and see the translation.6- A user shall be able to add new words to the system.7- A user shall be able to test his level by taking a test of 20 questions and if his score => 15 his level will upgrade to the next level.8- A user shall be able to view his previous score.9- The system shall have one admin.10- The admin shall be able to login to the system11- The admin shall be able to view the user’s levels

8. Non-functional requirements:

1. Usability:1.1 The user shall do any operation in at most 4 steps .2.1 The user shall learn how to use the system in at most 1 hour.

2. Reliability:1.1 The system shall not fail more than one hour a month.

3. Availability:The system shall be available 24/7.

9. Use case Diagram:This diagram represent the actors and cases in the system and the relation between them , each use case shall has one primary actor

Figure3.use-case diagram

10. Use Case Description : Every use-case has an use-case specification to describe all possible flows in it. We will introduce the use-case specification for the main functionalities, see Appendix A for additional use-case specification.

UseCaseDescription

System: vocabulary learning system Students Names: Ziyad

UseCasename: view previous score UCID:1Primaryactor: user Priority: (H,M,L):MStakeholders: userGoal: this use-case allows user to see his previous score.

RelationshipsIncludes: none Extends: next level test.

Input: none

Pre-conditions :user logged in to the systemSteps :

User System

1. A user select view previous score from main page .

1.1 system display score of user previous try .

Alternative flows:1.1 if there is no previous score system display error massage .

Post-conditions : none .

Output: shows previous score to the user .

UseCaseDescriptionSystem: vocabulary learning system Students Names: Ziyad

UseCasename: search UCID:2Primaryactor: user Priority(H,M,L):HStakeholders:userGoal: this use case allows for user to search for woords

RelationshipsIncludes: add suggestionExtends:none

Input: word

Pre-conditions :the user logged in to the system .Steps :

User System

1. A user select search from the main page .

2. A user enter the word

1.1 The system asks user to enter the word.

2.1 System displays the words translation

Alternative flows:2.1 if the word not available system display error massage "sorry this word not available"

Post-conditions: none

Output: the word translations

UseCaseDescriptionSystem: vocabulary learning system Students Names: Abdullah

UseCasename: View User Level UCID:3Primaryactor: Admin Priority(H,M,L):MStakeholders: AdminGoal: This use case describes How the admin view the users levels.

RelationshipsIncludes:Extends:

Input: user ID

Pre-conditions :the Admin logged in to the system Steps :

User System

1- The Admin select view user level from the main page.

2- The user enter user name

1.1system ask admin to enter user name

2.1system display user level

Exceptional flows:If the system did not test users level . System display " ERROR massage"

Post-conditions:

Output:

Use Case System: vocabulary learning system Students Names: Abdullah

Use Case name: test next level UC ID: 4Primary actor: Priority (H,M,L): M

Stakeholders: user , admin

Goal: this use case describe haw the user will test his level to move to the next levelRelationships

Includes: Extends: view previous score

Input:

Pre-conditions: user log in to the system

StepsUse

r System

1. A User select test next level from the main page

2. A user answer the questions and submit it

1.1system display a list of 20 questions to the user

2.1 system move user to the next level and show the massage “ you moved to the next level “

Exceptional flows:#1 2.1.1 if the user score < 15 the system show the massage “sorry your score is low “Post-conditions: if this use Case successfully completed the user level will upgrade in the data base Output:

Use Case DescriptionSystem: : vocabulary learning system Students Names: saad alharbi

Use Case name: Add new words. UC ID: 5Primary actor: user Priority (H,M,L): M

Secondary actor: Google translate

Stakeholders: User, Admin.Goal: This use case describes the way in which a user adds new words to the Relationships

Includes: none Extends: none

Input: name of the word, word categories, and word’s level option.

Pre-conditions: User is logged in to the system and he’s on the main page.

Steps:

user SYSTEM

1. A User Selects ‘Add new words ‘from the main page

2.A User submits the word information.

1.1. System displays input criteria, word categories, and word’s level option.2.1. System checks if the word is correct with Google.2.2. System displays a message “the word added to the system”.

Exceptional flows: #1 2.1: If the word is already in the system, system displays a message” This word is already in the system’

#2 2.2 System displays your translation is wrong.Post-conditions: If the happy path successes, a new word added to the system.Output: None

Use Case DescriptionSystem: vocabulary learning system Students Names: saad alharbi

Use Case name: Learn new words UC ID: 6Primary actor: User Priority (H,M,L): HStakeholders: User.Goal: This use case describes the way in which a user displays the categories of the words.Relationships

Includes: none Extends: none

Input: None

Pre-conditions: User is logged in to the system and he’s on the main page.

Steps:

User System

1. A User Selects ‘Display categories ‘ from the main page

2. A User selects one category.

1.1. System displays different categories of words.

2.1. System displays the words of that category

Exceptional flows:None

Post-conditions: Output: Show the words related to the selected category.

UseCaseDescriptionSystem: vocabulary learning system Students Names: saad albarakah

UseCasename: Learn by video UCID:7

Primaryactor: user Priority(H,M,L):HStakeholders:userGoal: this use case allows for user to learn by video

RelationshipsIncludes: Extends:none

Input: word

Pre-conditions :the user logged in to the system .Steps :

User System1. A user select learn by video

from the main page

2. A user select type of video

1.1the system ask user to select video type ( leasing , writing or speaking )

2.2 the system display video

Alternative flows:

Post-conditions: none

Output:

11. Entity class diagram:

Figure3.entity class diagram

12. Architectural style :

We will develop a website system and for that we choose MVC ll style because we have two users , admin and user , and each one of them has separate modules : interface , control and DA .

Figure4.architectural style

13. Design class diagram : Based on our analysis class we identified the classes' attributes and the data type for them. Also we identified the classes' methods and the signature for them to derive the design class.

Figure5.design class diagram

14. VOPC diagram : "VIEW OF PARTICIPATING CLASSES"Here we give the system unify analysis classes in view of participant model Search

Figure6. VOPC diagram: Search

View previous score :

Figure7. VOPC diagram: view previous score

Test next Level:

Figure8. VOPC diagram: test next levelView user level :

Figure9. VOPC diagram: view user level

Learn by videos:

Figure10. VOPC diagram: learn by videos

Learn new word :

Figure11. VOPC diagram: learn new word

Add new word:

Figure12. VOPC diagram: add new word

15. Interaction diagrams : Here we will going to show some of analysis interaction diagrams. We focusing here into sequence diagrams to show the interaction flow inside the system classes. 

Test Next level :

This sequence diagram related to text next level use case.

Figure13. Interaction diagram: test next level

View previous score:This sequence diagram related to view previous score use case.

Figure14. Interaction diagram: view previous score

Search:

This sequence diagram related to search use case.

Figure15. Interaction diagram: search

View User Level :

This sequence diagram related to view user level use case.

Figure16. Interaction diagram: view user level

Learn New Words:

This sequence diagram related to learn new words use case.

Figure17. Interaction diagram: learn new words

Add new word:

This sequence diagram related to create agent account use case.

Figure18. Interaction diagram: add new word

Learn by video:

This sequence diagram related to learn by video use case.

Figure19. Interaction diagram: learn by video

16. Design interactions diagrams: These interaction diagrams based on design class diagram containing all of the attributes and all of algorithms.

Text next level: This sequence diagram related to text next level use case.

Figure20. Design Interaction diagram: test next level

View previous score :

This sequence diagram related to view previous score use case.

Figure21. Design Interaction diagram: view previous score

Search :

This sequence diagram related to search use case.

Figure22. Design Interaction diagram: search

View user level :

This sequence diagram related to view user level use case.

Figure23. Design Interaction diagram: view user level

Learn by video :

This sequence diagram related to learn by video use case.

Figure24. Design Interaction diagram: learn by video

Add new word :

This sequence diagram related to add new word use case.

Figure25. Design Interaction diagram: add new word

Learn new word :

This sequence diagram related to learn new word use case.

Figure26. Design Interaction diagram: learn new word

17. Deployment diagram : We expected to deploy the system in servers' environment as we expected that how to connect the server with the database.

Figure27.deployment diagram

18. Conclusion:

After finishing the first part of our graduation project, which include the analyses and design phases, we have learned a lot by practicing the software life cycle in one project. The discussion with our adviser and the notes from our examiners gave us good ideas and some thoughts on the project. We faced some challenges as a team but we managed to fix them. We can’t wait to implement the project and see our work in the analyses and design phases in real, not only graphs and words. We hope that it will be helpful for the users and they will be able to improve their language, so they can explore a new culture, travel the world, and access to many knowledge resources.

19. References :

1-[http://translate.google.com]

2-[ http://tarjaman.babylon.com/]

3-[ http://www.vocabulary.com/]

4-[ Exploredia,. 'How Many People In The World Speak English 2013?'. N.p., 2011. Web. 24 May 2015.]