You are on page 1of 71

Specification for PANDALANG

A Mobile App for Teaching Modern Languages to 13-16year Olds

Version 1.7

Team 13 Specification for PANDALANG

Document Information

Project: A Mobile App for Teaching Modern Languages to 13-16year Olds Prepared by: Team 13 Document version no: 1.7 Document version date: 23/4/2012

Version History
Version No 1.0 Revised By All Members Description Draft Spec Compiled individual parts Domain Analysis (update) 9.8 Changes (added) Solution requirements (update) High level overview (update) Project Plan (Update)

1.1

Eleni & Aleksandra


Andrew Ali Elliot Robert

1.2 1.3 1.4 1.5 1.6 1.7

Executive summary + Purpose (update) System Architecture Final

Mahmoud
All Members

Team 13 Specification for PANDALANG

Contents
Executive summary ................................................................................................................................. 3 Project Purpose ................................................................................................................................... 4 1. Domain Analysis .............................................................................................................................. 5 1.1 Background to Task ................................................................................................................. 5

1.2 Research ........................................................................................................................................ 6 2 Team Roles and Deliverables ............................................................................................................. 10 2.1 Team Roles and Responsibilities ................................................................................................. 10 2.2 Team Deliverables....................................................................................................................... 11 3 Project plan ........................................................................................................................................ 12 4 Software/Hardware Used .................................................................................................................. 13 4.1 Development............................................................................................................................... 13 4.2 - Running Solution ....................................................................................................................... 13 5 References .................................................................................................................................... 14

6 Definition of Terms ............................................................................................................................ 14 7 Solution requirements ....................................................................................................................... 15 7.1 Functional requirements............................................................................................................. 15 7.2 Non-functional requirements ..................................................................................................... 17 8 Other constraints ............................................................................................................................... 18 8.1 Assumptions ................................................................................................................................ 18 8.2 Constraints and Dependences .................................................................................................... 18 9 Software design ................................................................................................................................. 19 9.1 Overview of what software will do and not do .......................................................................... 19 9.3 System Architecture .................................................................................................................... 21 9.4 High level Overview ................................................................................................................... 24 9.5 Activity Diagrams ........................................................................................................................ 35 9.6 Test Plan ...................................................................................................................................... 41 9.7 GUI, Human Interface Views ....................................................................................................... 43 9.8 Changes ....................................................................................................................................... 52 10 Graphical works ............................................................................................................................... 53 Appendix ............................................................................................................................................... 56

Team 13 Specification for PANDALANG

Executive summary
The purpose of this specification is to outline how our team has interpreted the task assigned to us by the Newcastle University School of Education, Communication and Languages. We have been asked, as a team to design and create a mobile application, aimed to help 13-16 year old students learn modern languages. This document will outline what we intend to deliver as a team and how we will meet our deliverables. Domain Analysis This section outlines the research we found during the early stages of our planning. We looked at and tested various language applications that exist today to find their best attributes. We discuss why our application will be able to find a gap in the market through its system benefits. Roles and Deliverables This section is split into two sub-sections. 2.1 gives an overview of the team structure we decided to work under, the different roles we assigned each other and the responsibilities that come with those roles. Some of us have the same role as others and some have multiple roles, however we are still working towards a common goal. 2.2. Considers the collective, team deliverables. Project plan The project plan shows the dates where tasks should be undertaken and what tasks shall run concurrently. Hardware and Software The platforms to be used for developing and running our solution Solution requirements What the program will and will not do and the level of their importance. Other considerations A list of things we believe the project brief document has left ambiguous. These include assumptions of the user and assumptions of the devices involved. This section also states the constraints and dependencies we will face making this application.

Team 13 Specification for PANDALANG

Project Purpose
Given our interpretation of the brief [8] the purpose of this project is to build a mobile application for smartphone users that will give students a personal language learning space. The product we create should improve the students vocabulary and grammar in one or more foreign languages. Our challenge is to take learning languages out of the classroom to make it fun, easy, interesting and interactive. As a team we aim to fulfill all of our specified requirements to the best of our ability. By working cohesively in a team open to any suggestions, we have been able to utilise our ingenuity and really let loose throughout the creativity phases of the application process. Our managerial structure consists of a flat hierarchy, where no-one has the final say, but decisions are left to a majority vote. Even though this is in effect, as a team we are highly cooperative and usually can find the answer to our problems before having to make the decision on a vote. The market for Language applications is relatively untouched. There does not seem to be many market leaders who stand out and can distinguish themselves as ahead of the rest. This could be because our customer is very specific (aimed at children of 13-16 years of age) and this differentiates us from other language applications. As a team, we aim to target individuals as well as groups of students, i.e. classes, of which the students may enroll in and receive the updates of the application from their specific teacher. We believe this will appeal to the students as well as the teachers as now students are able to take with them what they have learnt in the classroom out into the smartphone world. We understand that our job is making the application and a teachers jo b is to supply the teaching material, therefore we providing the teaching material would not be allocatively efficient. We have however provided default material for each of the tutorials. We have decided our ultimate goal is to create a learning language application which students will want to use repeatedly and reinforce their classroom learning. Ultimately we want the App to maintain students enthusiasm through its: interactive qualities; creative but simple-to-use interface design; a catchy name and mascot; various games and challenges with high score attributes; tests to challenge their written skills and monitor their progress over time; and offer feedback to their work. As a group, we are looking to deliver the advanced deliverables by pushing our abilities, and in order to do that, we have set realistic goals and objectives on different levels.

Team 13 Specification for PANDALANG

1. Domain Analysis
1.1 Background to Task
For most schools in the UK, taking a modern foreign language other than English at GCSE level is compulsory. According to Cambridge Assessment Research Division, the three main languages taught in Schools in the UK are French, German and Spanish. French and German has seen big decreases in numbers of students over the past years. However, the popularity of Spanish continues to grow, and it is set to overtake [1] German as the second most commonly taught language after French. We have therefore chosen our primary language to teach will be Spanish, but our app will further support French and German. Furthermore, the number of smartphone owners in the EU-5 (UK, France, Germany, Spain and Italy) grew 41% between 2009 and 2010, to 60.8 [2] million subscribers, according to a June 2010 report from comScore. In the UK 48 per cent of teenagers own a smartphone compared to just 27 per cent of adults according to [3] Ofcoms latest Communications Market Report.

The mobile app which provides learning on the go is a tool that will complement classroom-based teaching. It is not there to replace face-to-face teaching with a real classroom teacher who provides immediate feedback to questions. Rather it can be used 24/7 anywhere in order to enhance, improve and aid in the learning of the language. While textbooks and class quizzes may be boring and tedious, the app aims to engage the user by providing interactive exercises and as well as fun games. It can be used as a revision tool or a learning tool and even as a dictionary that can aid the student with their homework. Ideally it should be used on the go, so while the student is travelling home to and from school, or is on holiday. We want to make a system which connects the teachers to the students outside of the classroom in ways other than homework tasks, which require sitting down at a desk. The teachers do not constitute users of the app but will be able to use the website in order to monitor student progress as well as update the content of the app by adding new tutorials, tips, tests and exercises.

Team 13 Specification for PANDALANG

1.2 Research
Background research involved researching existing language apps on the android and iPhone market on the web. Our analysis consisted mainly of various screen shots of the existing apps illustrating tutorials, games, menus and even screen shots of virtual tutors. This was to gain an idea of the overall layout, theme and design of other language-teaching apps. Reading peer reviews of users of each of the apps on the web was also very useful. Team members with an android or iPhone further downloaded some of these apps to play around with them in order to gain ideas for further functionality that our app may offer. We looked for example at the setting options available to the user to tinker. We want our app to integrate the most useful tools that apps on the current market have. Here are two case studies of existing apps: Busuu is an app that complements an online community for language learning, busu.com
Developers: Busuu Online S.L.

Advantages It is free to install (see disadvantages) Learning progress can be Fig.1 Multiple choice question synchronized with your profile on busuu.com, the famous online community for learning languages with over 10,000,000 users Comprehensive audio-visual learning material with photos and recordings by native speakers. Offers nine different language courses Covers 150 different topics using day-to-day situations Extensive vocabulary - over 3,000 words and key phrases Includes reading comprehension and writing exercises Provides facilities to video chat with other members. Fig.2 Learning topics Speech recording facilities to improve pronunciation.

Team 13 Specification for PANDALANG

Disadvantages Although it is free to install only a small amount of content is available and you have to pay for full content once you have downloaded the app. Written exercises are corrected by online community who may or may not be fully grasped with the language and so feedback may be poor, incorrect or inconsistent. While social interaction creates motivation in user, it may also constitute a distraction. A user may prefer to learn alone and may not have that option if people are constantly video chatting with them. Some may be too polite to decline a video call while others may be too shy to even initiate one removing any benefits. Some users state that it is unsuitable for complete beginners.

User feedback is generally positive; users enjoyed the apps interactive aspect. However there were unanimous complaints about the apps 'free' status as being a little deceptive and [4] that the prices of further content is too high.

Basic Spanish For Dummies iPhone App is application


created by worldwide known publisher of books for dummies.

Advantages Phrases divided into different categories with basic phrases like greetings, numbers, calendar and directions Ability to connect to Facebook to share words with your friends Flash cards in same categories as phrases good way to learn vocabulary Dictionary Spanish to English and English to Spanish For all phrases there is ability to listen to pronunciation Ability to create your own list of favourite and useful phrases Videos in Spanish to learn language through them

Team 13 Specification for PANDALANG

Disadvantages App is not free (0.99$) It contains only basics of the language Users claims about confusing phrases and not appropriate translation of some words Only available on iPhones Does not include any kind of tests or tutorials also does not have games

To summarise the features we identified from our research to be the most useful that we may wish to integrate in our app, they are: A translator that translates whole phrases from the foreign language to English and vice versa.

Fig. 4 Virtual tutor happy with users scores

a friendly virtual Fig. 3 Translation Facility character who acts as Fig. 3 Translation motivators, as well as a friend, and tutor you through the different aspects of the app. This motivated us to brainstorm ideas for a mascot who would accompany the user throughout their learning experience. As a mascot he would further establish a memorable brand image for our application whose name itself was actually inspired by our mascot.

Team 13 Specification for PANDALANG

A tool that would allow the user to save useful and most used phases in his/her favourites so that they are easily accessible. Of course, apart from these tools that were inspired from our research, we also wish to create tools that offer functionality beyond that of the conventional apps in the market.

Here is collection of some screen shots from our research:


Fig. 5 Favourites

Further research was done on the structuring and display of the content by visiting specific websites that teach, and or assess foreign language for kids ages 13 to 16. The obvious place [5], to look was GCSE revision websites such as BBC GCSE Bitesize S-cool[6] and o2learn GCSE[7]

Team 13 Specification for PANDALANG

2 Team Roles and Deliverables


2.1 Team Roles and Responsibilities
As a team we have come up with and assigned the following roles to members to match their personal strengths and areas of interest in the project. We decided on implementing a team hierarchy in which team members oversee and are in charge of separate areas of the project and a project leader who oversees the project as a whole. The roles are set out below: 2.1.1 Project Leader (Robert Reid-Kay) Monitors progress on team deliverables Ensures work is submitted before deadlines Manages and arranges official and unofficial team meetings Monitors that team roles and responsibilities are being fulfilled Team Chair (Robert Reid-Kay) Leads formal meetings Provides an agenda and structure for each meeting Lead Developer (Ali Ersenal) Oversees the overall coding and design of the application Distributes coding tasks to other members Provides support to team members regarding coding and design Issues and enforces soft deadlines Junior Developer (Andrew Gerrie, Eleni Mamalaki, Mahmoud Moshtagh Ali Shahi, Aleksandra Szczepanska) Complete programming of the application through implementing parts of code set by the lead developer. Report to lead developer on progress of tasks Meeting hard and soft implementation deadlines Lead designer (Mahmoud Moshtagh Ali Shahi) Plans the software and its architecture Plans GUI and user menus Minutes Taker (Elliot Newton) Takes notes during official meetings Compiles notes into minutes Posts minutes from weekly meetings on team shared web space Technical Writer(Eleni Mamalaki) Provide documents to assist team members writing documentation with understanding the technical coding side of the project. Check documentation to ensure technical terminology and project specifics are correct. Database designer(Andrew Gerrie)

2.1.2

2.1.3

2.1.4

2.1.5

2.1.6

2.1.7

2.1.8

10

Team 13 Specification for PANDALANG

Designs the overall database providing documentation Implements SQL and layout Provides an easy to use interface to input data 2.1.9 Documentation writer(Robert Reid-Kay, Elliot Newton) Writes up the bulk of the documentation for the project Checks and formats documentation by the team to ensure it is all uniform and correct Work with the technical writer if they require assistance 2.1.10 Lead tester(Mahmoud Moshtagh Ali Shahi) Provides testing documents Devises test plan Assigns out testing assignments to other members of the team Reports bugs and errors found to the lead developer 2.1.11 Submission leader(Elliot Newton) Carries out final spelling, grammar and format checks before submission of work Oversees the submission of work ensuring that it is on time

2.2 Team Deliverables


All of these will be delivered as final pieces by the 27th of April 2012(unless otherwise stated): Completed application for mobile devices using android OS in the Java programming language which will: o Be an interactive learning environment providing tutorials, tests and games to assist learning a new language o Have a default language of Spanish but with options to include French and German o Provide a personal learning account to follow progress. Also we will include a teacher account that can be assigned students to follow and can create new content for these students within the app. o Include a wide range of words and phrases to translate each in different preset categories. A website that runs alongside the Mobile application which will: o Allow users to login and check their progress through a language o Provide information to new and potential users o Provide support to existing users A database of words and phrases in the languages that can have new content added to it. Project documentation which will include o A project specification outlining the project (to be submitted by the 23rd April 2012) o Proof of testing and test data o The project code, annotated and easily readable o Troubleshooting and help documents to assist users with the product after release

11

Team 13 Specification for PANDALANG

3 Project plan

12

Team 13 Specification for PANDALANG

4 Software/Hardware Used

4.1 Development
Hardware(Android Development) Samsung Galaxy S2(Testing), Android version: 2.3.7 Micro-usb cable for testing(is used to deploy the application on to the device). Computer with at least 512 Megabytes of RAM(If using Android emulator, at least 2 Gigabytes of RAM and a multi-core processor.). Software(Android Development) Operating System : Windows XP, Vista, Windows 7, MAC OS X 10.5.8 or later, Linux Eclipse IDE 3.7.1 with Subclipse and ADT plugins. Subversion Android SDK r16

Hardware(Web/Database Development) Computer with at least 512 Megabytes of RAM Internet Connection(Not needed if you develop on a local server).

Software(Web/Database Development) JetBrains PhpStorm 3.0 PhpMyAdmin MySQL Workbench Dropbox TortoiseSVN XAMPP

4.2 - Running Solution


Android Application An Android device with version 2.3 or greater. Constant data connection

Web Application Operating System : Windows XP, Vista, Windows 7, MAC OS X 10.5.8 or later, Linux Internet connection Modern browser with JavaScript support. 13

Team 13 Specification for PANDALANG

5 References
1. Some issues on the uptake of Modern Foreign Languages at GCSE, Carmen L. Vidal Rodeiro, 2. 3. 4.
[June 2009] http://www.cambridgeassessment.org.uk/ (Last accessed site 18th November 2011) Mobile Devices [March 2012], http://www.newmediatrendwatch.com/markets-bycountry/18-uk/154-mobile-devices (Last accessed site 20th March 2012) The Communications Market [August 2011], http://stakeholders.ofcom.org.uk/market-dataresearch/market-data/communications-market-reports/cmr11/ (Last accessed site 20th March 2012) Learn Spanish with busuu.com!, Busuu Online S.L., https://play.google.com/store/apps/details?id=com.busuu.android.es&feature=more_from _developer#?t=W251bGwsMSwxLDEwMiwiY29tLmJ1c3V1LmFuZHJvaWQuZXMiXQ.. (last accessed site 20th November 2011) BBC Bite Size, [2012] http://www.bbc.co.uk/schools/gcsebitesize/french (Last accessed site 20th March 2012) S-cool, [2012] http://www.s-cool.co.uk/gcse/french (Last accessed site 23rd March 2012) o2learn GCSE, [2012] https://www.o2learn.co.uk/ (Last accessed site 15th March 2012) Project Brief 2011/2012, CSC2015 Software Engineering Team Project, Newcastle University

5. 6. 7. 8.

Websters New World tm Spanish grammar handbook [GAIL STEIN]


fig.1 (see reference 4 above) fig.2 (see reference 4 above) fig.3 Translatar, by Vandroid, http://www.mobile-13.com/2011/04/download-babelfish-voicespanish-for-android/ fig.4 Kanji Tutor, by Karl Ostmo, https://play.google.com/store/apps/details?id=com.kostmo.kanji&hl=en fig. 5 Favourites screenshot, by Codegent http://apps.opera.com/en_gb/learn_japanese_phrasebook.html

6 Definition of Terms
3G Phones with 3G allow wide-area wireless mobile Internet access App An application is a program designed to perform a specific function directly for the user. CSS Cascading Style Sheets - this is a style sheet language used to describe the layout of web pages. HTML Hypertext Mark-up Language We use this to code web pages Java The widely renowned object orientated programming language we are using to write our application. PHP This is a scripting language for use in databases and web development. OS Operating System - examples include Windows, Linux and Android. This allows users to interact with the hardware in the computer/mobile device and is necessary to run applications. UI stands for User Interface. This is how the user interacts with the device. USB Universal Serial Bus used to transfer data easily between devices

14

Team 13 Specification for PANDALANG

Wi-Fi Phones may connect to the internet via a wireless network

7 Solution requirements
7.1 Functional requirements
Requirement Priority (H, M, L) 7.1.1 Mobile application FR1 - The application will be runnable on a mobile device FR2 - The user will be able to login to their own personal area H Yes Will allow the user to use the application anywhere. Supplier compliance Comment

Yes

Allow tracking of individual user progress and statistics. Implement a personal learning environment Will be provided for a list of topics and can be created by teacher accounts through the website. Will be linked in with the content from a subjects tutorials Will allow users to look up specific words and phrases

FR3 - Provide tutorials to teach new content to user

Yes

FR4- Provide exercises and test

Yes

FR5- Provide dictionary of words with search function FR6 Useable on real device

Yes

Yes

The app can be used on a phone and not just simulated on a computer User will be told if the answer they submitted is right or wrong. Statistics can be tracked on the website. The default teaching language of the application will be Spanish but we will implement French and German once the Spanish version is complete.

FR6 - Provide feedback

Yes

FR7 - Provide MultiLanguage support

Yes

15

Team 13 Specification for PANDALANG FR8 Exercises (games) M Yes Along with tests this will test a user ability in a fun and interactive way Will not be checked by the system relies on a teacher user to check it and give feedback.

FR9 - Students can submit written essays to be checked if they are linked with a teacher in the system

Yes

FR10 - Provides content and alerts based on the users location

No

Though a nice feature we are sceptical about the real world need and functionality of this feature. This is a feature we would implement once all of our high priority requirements are fulfilled.

FR11 - Allows testing of spoken language through voice recognition API and the application 7.1.2 Website FR12 - Allow users to login to personal area

No

Yes

Will link in to a users account and allow them to track progress. Uses can view their test results and progress over time for the activity screen provided on the website. Will allow teachers to create tutorials and tests and input words and phrases to the system for users who are linked to them. Will allow schools and classes to connect

FR13 - Allow tracking of personal progress over time.

Yes

FR14 - Allow teacher accounts to create content

Yes

FR15 - Allow users to connect with a teacher account

Yes

16

Team 13 Specification for PANDALANG

7.2 Non-functional requirements


Requirement Importance Comments Used by (System or User) User

NF 1- Software Documentation

We shall make sure we are logging our programming progress throughout creation of the application. We will use subversion The app will not make use for very small text sizes or button so those with bad eyesight should still be able to use the app. The ability to speech text by some parts of the app will also help here Passwords and encrypted before sending. Remember will only remember the user for a day before asking them to login again.

NF2 Usability

User

NF3 - Security

System

NF4 - Reliability

If a data connection is long the app System will continue to function once the data connection is reconnected

17

Team 13 Specification for PANDALANG

8 Other constraints
8.1 Assumptions
Users will: Be aged 13-16 studying foreign languages at a GCSE or (GCSE based) level. Be currently studying in a school or in an environment such that the app isnt their only source of teaching. Have the basic ability to use a smart phone. Have access to a computer for web browser based features. Users agree to terms set out by third providers for which this app uses APIs (Google etc.).

The device will: Run Android at least version 2.3.3 Have internet access for at least the first use (3G, Wi-Fi or otherwise), this is to download remote content to the phone. In general terms the device conforms to the Compatibility Definition Document (Version 2.3 2010).

8.2 Constraints and Dependences


Constraints: App will only run on android, there is no support for other devices at this time. Issues with child protection, data protection lie out of the scope of this project and are the responsibility of a separate legal department, belonging to the school etc. Although all basic (common sense) security measures are considered and implemented in development. Content should be provided by schools, or could be sold to school from third party content providers. Although this app will come with content, it is out of our remit to provide content for the entire GCSE syllabus.

Dependences: A Data connection (3G, Wi-Fi or otherwise) will be required to be able to view tutorials and complete quizzes, get content for games etc. Google API access will be required for some features such as the translate option in extras menu this dependency should come with most android devices as standard.

18

Team 13 Specification for PANDALANG

9 Software design
9.1 Overview of what software will do and not do
The system has two types of users, students and teachers. Its consists of an application (installed on the mobile phone) and a website. The features of which are explained individually below: Features of the application Tutorials: This feature can teach student-users different subjects implemented by teacher-users such as numbers, time, transport, colours. Each of these subjects can be chosen as an option within the tutorials category on the application. All of them follow the same template of having 1- Subject name 2- Description 3- Relevant words and their meanings 4- Relevant phrases and their meanings and 5- The teaching content. Words in tutorials can be pronounced by clicking on them. Tests: This feature measures the users knowledge on the subjects taught in the tutorials section. Just like tutorials tests also have their own template which contains 1- Subject name 2- Level of difficulty 3- 20 questions of different types (5 multiple choice, 5 filling the gaps, 5 matching the words and phrases, 5 short answers). One of the special things about test section is that once the user has done a test the results will be stored on the applications website. In addition tests are generated by picking the random questions from the database which fit the right category and the right difficulty. Exercises: This section gives an opportunity to the user to practice and refresh his/her knowledge by providing an entertaining atmosphere. Exercise section includes save the panda, a game which asks user true/false questions and if questions are answered correctly the panda will be released from the cage. Extras: This part of the software includes some useful features. Translation is one of the features which can be used when user needs to know the meaning of a word or phrase in different situations. Another feature of this part is favourites list. Favourite list allows user to choose words and phrases that he/she finds useful from the tutorial section. By marking these words as favourite they will be automatically added to this list where you can access them faster. The last feature of this section is personal record which connects user to the online website provided by this application where mainly he/she can see how he/she has performed on the tests and figure out the weaknesses and strengths fields.
19

Team 13 Specification for PANDALANG

Options: This section allows you to choose the language that you are willing to learn among the choices provided. Help: This section only provides the instructions on how to use each section within the application. The website: The website is not part of the mobile application; however it acts as a link through the application from students to teachers. Teacher-Users will have the ability to monitor performance and participation of the students that only are in their class. Through the website, teachers can manage information which will be downloaded onto their respective students applications tests and tutorials. It is not compulsory for each Student-User account to be registered to a Teacher-User account. For a student to get any new material he/she has to register to a teacher account to use their uploaded material. The material by a teacher is uploaded using a given template we have made. These new learning materials can be downloaded on students mobile application. Student-Users are not able to do as much on the website. They can view their personal performance records so they are aware of their strengths and weaknesses when progressing through the applications features. If a student account is not registered on a class there is a section where they can find their teacher and register their account. A student can have more than one teacher and they can also remove any teacher their account is registered to. The help section on the website is used to direct student users through the features of the application. Unlike the teacher account, the student account will not have accesses to other students personal records for obvious reasons of privacy. There is an about us section on website that talks a bit about the developers of the application and the website itself. Unlike the teacher account, the student account will not have accesses to other students personal records for obvious reasons of privacy.

20

Team 13 Specification for PANDALANG

9.3 System Architecture


This system is made of three main parts. First part is the application software which is installed on mobile phone, the second part is a database online and the third part is a website which is connected to the database and can be accessed via internet. Any user must have a log in account on the website to use this product and there are two types of users for this product: - Teachers who use the website only - Students who use the application on mobile phone and the website The relationships between users and different parts of product are shown below:

2 1 3

KEY: Relationship number 1 = R-1, Relationship number 2 = R-2 etc. Each relationship (connection) is represented as an arrow within this diagram. These connections are numbered to be able to describe processes happening between two nodes. * The relationship between a student-user and a teacher-user is optional (More details found in next section) Features such as tutorials, exercises and tests within this application initially have some sets of learning material downloaded from default teacher user (PandaLang). However new learning materials can be added to these original set by the teachers through the website by following the given templates. For a teacher user to upload new material using website routes taken would be, first entering the new material into his account on his computer R-6 then the information getting passed onto web server R-3 and finally getting stored in

21

Team 13 Specification for PANDALANG

database R-1. Also when the new material is being downloaded on application it first gets on the web server from database R-1 and then it goes on the application R-4 *The relationship between student-user and teacher-user (R-5, R-3, R-1 + R-1, R-2) is optional. That is to allow students to choose whichever teacher account they would like to connect with. However if a student wants to connect himself/herself to a teacher account in order to receive new materials they would need to register to that teachers class. This involves finding the name of the teachers account by searching it on website while logged in and when the teacher is found they can enter the specific password set by the teacher so that the student will have access to the new material. In addition once the student is connected to a teacher account the teacher can check the status of student by looking at his/her personal record. Teachers can also remove students from their class. R-5, R-3, R-1 and R-4 in the diagram above show the process of student-user logging in on the application (The username and password entered on the app must be checked with the database to identify if they are correct). R-6, R-3, R-1 and R-2 also show the same process as R-6 when teacher-users or student-users enter their username and password on the website. The database is one of the most important parts of the system when it comes to the security aspect. Therefore to work on the strength of the security within this system programmers need to work on R-1. One of the processes that happens in R-3 is that the personal record of student gets updated on website (Things like test results will be added in personal record by the app) R-6, R-3, R-1+ R-1 and R-2 also show the process of teachers checking each students personal record. R-6, R-3, R-1 + R-1 and R-2 show the direct usage of website by student for things like checking the personal record or searching for teacher to make a connection. R-5 shows the direct usage of app by student.

22

Team 13 Specification for PANDALANG

The diagram below shows how editable materials are stored in database based on Subjects:

Tutorials

Exercises

Subject

Tests

Beginner

Intermediate

Advance

At first a subject has to be initialised within a class in order to implement each sub category belonging to it (tutorials exercises and tests).

23

Team 13 Specification for PANDALANG

9.4 - High level Overview


Our system is made up of 3 main components. Database Website Mobile Application

Database
Database stores information about students(which classes they are enrolled in, tutorials they have completed, test and exercise results, favourite words or phrases) and teachers(classes, subjects, tutorials, tests, words and phrases they have created, the classes they are currently teaching). We are using MySQL as our DBMS.

24

Team 13 Specification for PANDALANG

Database Diagram

Figure 9.4-1

25

Team 13 Specification for PANDALANG

Website
Users create their accounts using the website. There are two types of accounts: Students and Teachers, student account is needed to use the mobile application. Using the website, teachers are able to create any number of classes. After creating a class, teachers create subjects for that particular class. Then they insert(or create) words and phrases associated with that subject and generate tutorials or tests for the subject using built-in editors. Teachers are also able to track their prospective students progress. Student users can use the website to enrol in a new class or track their progress. Server-side has been developed using the PHP programming language. PHP scripts also provide the interface between the mobile application and the database.

26
Figure 9.4-2

Team 13 Specification for PANDALANG

Figure 9.4-3

27

Team 13 Specification for PANDALANG

Website UML Diagrams

Figure 9.4-4

28

Team 13 Specification for PANDALANG

Figure 9.4-5

29

Team 13 Specification for PANDALANG

Figure 9.4-6

Figure 9.4-7

30

Team 13 Specification for PANDALANG

Figure 9.4-8

Mobile Application

The application was developed for Google's Android platform. Provides tools and materials which support the language learning process, students can go through tutorials, complete tests and exercises. Results of these activities are stored in the database (which allows students or teachers to track progress). Java programming language has been used to develop the mobile application. Requests and responses are handled using JSON.

31

Team 13 Specification for PANDALANG

Mobile Application UML Diagrams

Figure 9.4-9

32

Team 13 Specification for PANDALANG


Figure 9.4-10

Figure 9.4-11

33

Team 13 Specification for PANDALANG

34

Team 13 Specification for PANDALANG

9.5 Activity Diagrams


The following activity diagrams show the dynamic behaviour of the system. APPLICATION ACTIVITY DIAGRAMS Log in Activity Diagram Shape Definition Activities Decisions Reference start (initial state) of the workflow End (final state)

Main Menu Activity Diagram

35

Team 13 Specification for PANDALANG Exercises Activity Diagram Tests Activity Diagram

Extras Activity Diagram

Options Activity Diagram

36

Team 13 Specification for PANDALANG

WEBSITE ACTIVITY DIAGRAMS Log in Activity Diagram

37

Team 13 Specification for PANDALANG

Student Menu Activity Diagram

38

Team 13 Specification for PANDALANG Teacher Menu Activity Diagram

39

Team 13 Specification for PANDALANG

Edit Class Activity Diagram

40

Team 13 Specification for PANDALANG

9.6 Test Plan


Throughout the programing process, there will always be testing to make sure the program works reliably. However as code is introduced from different programmers and linked together, there is always the possibility for errors. Before releasing the program publicly it is important that it will comply with the set of tests outlined below.

Everyday Student actions Test Login into app with correct user name and password Login into app without correct user name and password Create user on website Expected Outcome Successful login Unsuccessful login user is given error message User created, unless they already exist in which case alert user Website should be functional Successful if they are enrolling in a class that exists The mark to be correct Should be viewable with images etc. and favoriteing a word works. Change class in options menu should allow change of language. Translate some text try in both English to language X and X to English and for different classes i.e. Spanish, French etc. Actual Outcome User gains access to app User is told to reenter details User is only created if they enter a new username Works in IE, Firefox and chrome Students can enroll Marks are updated and viewable Viewable Users can enroll in many classes Can translate to and from all languages.

Website on many browsers Enroll in class using website Perform tests Use tutorial Enroll in more than one class Translate text

Everyday Teacher Actions Test Check student test scores Create class Create test and tutorials Expected Outcome All scores should be displayed and correct as displayed in student accounts Created and useable by students Created and useable by the classes that are assigned to them Actual Outcome Viewable on website Is useable by students Students can access all tests, tutorials that theyre enrolled in.

41

Team 13 Specification for PANDALANG

Extreme Student Actions Test Login and use same account on many devices Remove app from phone Expected Outcome Data should stay on consistent Actual Outcome User data stored remote so isnt an issue. Data stays on the database

User data should stay on database

Extreme Teacher Actions Test Many teachers sharing same account and making edits Expected Outcome Data should stay on consistent Actual Outcome Generally true can be issue if teachers edit same tutorial newest submit will stick Students remain

Delete a class

Students should remain just their link to the class thats removed

Security Tests Test SQL injection via login screen Intercept password Phone is stolen and reported to admins Expected Outcome Should have no effect on data, not possible to have an effect on data in the database Password should be encrypted so should have no meaning will just be garbled text Person with the stolen phone should have no access to app; the users data will remain secure. Admin shall change password in database manually. Actual Outcome Told user does not exist, correct outcome Password is encrypted Password can be changed data is secure

42

Team 13 Specification for PANDALANG

9.7 GUI, Human Interface Views


In this section each part of the app is individually shown as a screen shot. The very first thing appearing on mobile apps screen is the login screen as shown below.

Once a student has created an account on the website he/she can then log into the app, whereupon he would face the menu shown below.

43

Team 13 Specification for PANDALANG

Main menu (shown after successful login)

Help opens up a page where there is an explanation on how to use different features of the application.

1. Help screen( accessed from main menu)

44

Team 13 Specification for PANDALANG

Options will take you to a page which looks like this:

2. Options screen (accessed from main menu)

Extras section will look like this:


Translator Favourites Personal Record

45

Team 13 Specification for PANDALANG

Translator

5. Translator takes text from top input and translator to language mentioned in the output box below (accessed from extras menu)

Personal Record would take you to the page on the website which will be shown later in website interface. Favourites:
Favourite Words Favourite Phrases

After getting into the list of favourite words/phrases the user also has the choice removing words from the list by clicking on the unfavourite button.
Example word Example word Example word Unfavourite (button) Unfavourite (button) Unfavourite (button)

46

Team 13 Specification for PANDALANG

6. Favourites screen shows words chosen by user for later reference (accessed from extras menu) Tests:
Choose The Category for your test

Basics Bank/Money Colours Greetings Hotel Numbers Time Transport Sightseeing Shopping Food

47

Team 13 Specification for PANDALANG

After choosing the category the user would need to choose the difficulty level Beginner
Intermediate Advance

Once the level of difficulty is chosen the test would be generated which will have 20 questions as explained in section 9.1 Exercises: At first a game is chosen from the list of games within the Exercises section.
Hangman Save the panda Picture matching (Maybe)

The second step is then choosing a category


Basics Bank/Money Colours Greetings Hotel Numbers Time Transport Sightseeing Shopping Food

Next, the game would run based on its principles. Hangman would take a random word from the list words within the chosen category and the user needs to guess the word by

48

Team 13 Specification for PANDALANG

guessing the letters that exist in the word. Save the panda asks true or false questions relevant to the knowledge based on chosen category. Picture matching asks the user to match the words within a category to the most appropriate picture within the choices given (needs pictures prepared for each word beforehand). Tutorials: The first step in tutorials section is to choose the category which the user wants to learn
Basics Bank/Money Colours Greetings Hotel Numbers Time Transport Sightseeing Shopping Food

Afterwards the chosen tutorial would be presented in the format below: Subject: For Example (adjectives)

Description: Adjectives in Spanish change according to the sex of the noun that they are related to for example the word camisa in Spanish means shirt which is a feminine noun and if we want to give this word an adjective such as black then the adjective also has to be feminine. The word for black in Spanish is negra therefore a black shirt in Spanish would be called la camisa negra.

Relative Words: Negra = Feminine Black Negro = Masculine Black Favourite+ (button) Favourite+

49

Team 13 Specification for PANDALANG Roja = Feminine Red Rojo = Masculine Red Favourite+ Favourite+

Relative Phrases: Mi camisa blanca = my white shirt Favourite+

Once you add a word or a phrase to favourites the favourite sign would appear in front the word (it can be a heart shape). Also the words would be pronounced if the user clicks on them. The websites interface: //Once user opens the website the first page he/she would face is the entry page. The entry page contains some advertisement about the app, the logo and the log in box. Screen shots of each account type on different parts of website are shown below. The websites interface for Student-Account: After logging in a student account, the user would get on the first page which is called home. Home
Hi Username Teachers Help About Us

Edit details:

Changing password

Tutorials done:

3 in total

(Transportation, Food, Colours)

Transportation: Total number of tests done: Total number of Correct answers: Total number of Wrong answers: 5 70 30

50

Team 13 Specification for PANDALANG Last test: Subject: Total number of Correct answers: Total number of Wrong answers: Colours 12 8

As it can be seen there are three other choices of pages at the top apart from the home. Home represents the personal record. It includes total number of tests done, total number of correct answers and total number of wrong answers for each subject as well as the result of the very last test done.

This is how the page teachers would look like on the website:
Home Teachers Help About Us

Searching for a Teacher :

Enter name Find (button)

List of teachers:

Teacher1 (link) Teacher2 (link) Teacher3 (link)

Remove (Button) Remove (Button) Remove (Button)

Once the name of the teacher is entered and find button is clicked if the teacher is not found the appropriate message would be printed if found the options connect and cancel will be given to the user. In addition if the teacher has set password for the class a gap would be provided for the student to enter the password and if the password is wrong the

51

Team 13 Specification for PANDALANG

appropriate message would be printed otherwise the website would notify the user about the successful connection. Clicking on each teachers name would take the user to the page were list of downloadable packages provided by the teacher can be found. Each package is represented by its category followed by the subject (e.g. Tutorial, sports or Tutorial, colours (extension)). The remove button removes the connection between the users account and the chosen teacher. (Website Examples shown in Appendix 1)

9.8 Changes
9.8.1 Based on comments Remove panda from some background on the application as this could make text difficult to read. Change the colours on the website, so the app and website are the colour scheme to allow for continuity between the two. Favourites originally would save words under nouns and verbs changed to group both verbs and nouns as words and a new a second option phrases to allow to user the ability to favourite more content. Mouse over help feature added on website, so teachers and students quickly can find out what a feature does

9.8.2 Required Removal of dictionary option (7.1.1 FR5) once the translator was added this feature became irrelevant, as the translator allows students to look up any word(s) that the user requires in the opposite language. Use Bing API for translating as Google no longer offered theirs for free.

52

Team 13 Specification for PANDALANG

10 Graphical works
During the research and analysis phase, as a team we came to the conclusion in order to make students interact and connect with the application we should introduce a digital companion, which acts as the tutor and student mentor. We began by designing 4 different mascots, and coming down to a group decision on which would be best. The four options included a penguin, a cactus, a snake and a panda. The Panda won on a majority vote. With the decision to make the Panda our mascot, came the ideas for a new theme and name for our application. The new name is fairly self-explanatory, PandaLang, as in a Panda teaching languages. Running on the theme of pandas, we decided to make the background colour and graphics the setting of a Pandas den in the middle of a bamboo forest, with the colour scheme green and yellow. The Panda will act as a guide to Student users, as it will sit in the corner of the screen for a lot of the time. We would like to make the students see the panda as a friend and encourager. Therefore, at specific points, its features will change. For example it will display different emotions when the student is doing tests and quizzes, or when there is an error in the system. For every right answer, the panda will be jumping around and excited and for every wrong answer the panda could look more disappointed and upset. Fig.1 This is the default look for the Panda

Fig.2 The Panda when it is teaching French!

Fig.3 And this is the Panda when it is teaching Spanish!

53

Team 13 Specification for PANDALANG

These are some examples of the different emotions the Panda will display in the application. Fig.4 Upset Panda // Fig.5 Angry Panda For when an answer is answered incorrectly

Fig.6 Kung Fu Panda // Fig.7 Poised Panda For when a high score is scored. Caption: that kicked ass!

54

Team 13 Specification for PANDALANG

Fig.8 Surprised and confused Panda:

Fig.9 Happy Panda For a perfect score or a really good answer:

55

Team 13 Specification for PANDALANG

Appendix Appendix 1 (Website Screen shots)

The screen after successful logging in is shown below.

56

Team 13 Specification for PANDALANG

The android application can be downloaded by clicking on the android application button.

Clicking on profile button would take user to the page shown below where he/she can see the details about his/her account as well as editing password.

57

Team 13 Specification for PANDALANG

Clicking on my classes section on the home page would show the user all the classes initialised by him/her.

Inside the classes looks like this:

58

Team 13 Specification for PANDALANG

By clicking on view button teacher can see list of his students and by choosing any of the students he/she can see how the student has performed or the student can be removed from the class:

59

Team 13 Specification for PANDALANG

Students performance on a certain subject:

A class can have as many subjects as desired and they all are listed and the user can edit their content by clicking on view/edit class content and choosing the subject:

60

Team 13 Specification for PANDALANG

61

Team 13 Specification for PANDALANG

Words and phrases:

62

Team 13 Specification for PANDALANG

63

Team 13 Specification for PANDALANG

Tutorial:

64

Team 13 Specification for PANDALANG

Test:

65

Team 13 Specification for PANDALANG

66

Team 13 Specification for PANDALANG

67

Team 13 Specification for PANDALANG

68

Team 13 Specification for PANDALANG

69

Team 13 Specification for PANDALANG

70