Project Information Group 4

Title of the Project:

Introduction:I. Project Proposal

1)Introduction

Today, the world is becoming a global village. So, for many people, it is more than necessary to learn multi-languages for their different needs. It may be impossible for all the learners to attend the regular classes for this purpose. So, it is inevitable for them to seek help from web. So, we intend to develop a tool which can teach a language, which can provide more user friendly options. We are initially concentrating on Spanish language. As it is the second most spoken language by native speakers ,it may be necessary for others to interact with them in Spanish . To let the user learn Spanish we are assuming that the user already know English language.

2) Project Goal and Objectives
 Overall goal
Our overall goal in developing this tool is to let the user learn Spanish language more interactively by using different exciting features we provide.

 Specific objectives (problem statement)
The problems involved with present system are..
a) The user may not have time to attend regular classes in class room.
b) Though if he attend it may be impossible for the teacher to monitor every one individually.
c) The present tools which are already present does not make user to interact with the system. He may feel boring by reading and learning the language and thus may lose interest to learn.

 So, we are going to develop a tool which resolves all these stated and many more unstated problems. We make users learning experience exciting by introducing video tutorials, pronunciation tools, pictorial teaching methodology, regular tests, forums to participate in, mobile downloadable course work to practice in leisure time, listening to his own pronunciation, reminders about the course work if he is not participating in it.

3) Project background and related work:

The project is fresh and new through its methods of developing and making the users interact with the website. Though some services exist already the procedures we took up is totally new and innovative. Some services took up teaching of different languages at one time. Our project aims at developing the software such that the user is more interacted with the system, he/she involves more into the system. Though the language learning softwares already exist, the credit to our project lies in developing the new modes of teaching using current radical technologies and using more innovative ideas like learning through multimedia.

 Works done by others: this project will not continue any work done by others. The whole project is fresh. Though the domains of the already existing projects and our project coincide a bit, the freshness of the project and techniques are wholly developed to change the trend that is going on in developing the same softwares in various visual patterns. The whole system of learning a language through the website requires a refreshment with new techniques which is done explicitly in our project with continuous research on how to learn new languages.
 There are some softwares that are already developed and indeed all of them are clones to one another. All the work that is done is specifically a mere change of database and user application interfaces but not techniques involved in evolving the software and techniques for teaching the software.
 Relationship is completely negative in the context of matching. The only relationship is the domain on which the older projects and proposed project work is same i.e. making the user learn and adapt to the new language. Infact the relationship goes null as we are using the service oriented architecture.

4) General plan of the work:

 Proposed system: the system proposes a modern day technique to teach a language (Spanish as for now we thought) to the users who are variably in touch of the language. Not every user is a naïve or a professional in every field. Different levels exist in case of the language known. Here user is freely allowed to know what level he knows the language. This is done by a simple test if he selects any option other than “naïve” [a beginner]. The teaching pattern also differentiates our project from general projects. We used particular developed techniques to make the user interested rather than just learning for some purpose. The rate of interception of the knowledge increases rapidly if he is doing the work with will and entertainment. We tried our best for making it the most innovative and interactive. We indeed make it a modern day project as we intend to develop services for each functionality of the project so that the user can use what services he want. Infact we can also use these services for any future requirements.

 Domain analysis: the domain is simple if we are developing the software for a single variety of users. But for our project where we encounter users with different levels of knowledge the domain is varying in all dimensions from designing the course materials, making the exams, making the users interactive and making them interested towards learning the language. Now the domain is more complex. The analysis goes like this: users are not at the same level of knowledge, so we need to design separate course tools or say course structure for every user. Developing such structure may seem not that impossible but developing a structure dynamically is some what complex. So analyzing this we shift our project towards the service oriented architecture which is loosely coupled so that the components can be arranged dynamically at users will.

 Requirements analysis: there are some rapid changes from the moment we thought of the project till today where we are proposing a system. Similarly the requirements may even change at a position when we are deploying the tool to users. So we took as many requirements as possible to the date. During design more requirements can be included as we are using the agile processing techniques. The requirements are taken from the various types of users and users who are using some of these softwares so that we can explore the problems they are already facing. A detailed research is done to know how much valuable the interaction is, for users.

 Stakeholders: there are two stake holders in this project. A learner (user) who’ll register to our website for learning the language. An administrator who’ll set all the users requirements basing on his selections in the background.

 Risk management: we employ various technologies to manage the risks that may evolve. The major risk that can be seen during the development of the project is about keeping the user interactive all the time during the course. To manage this risk we use an abstracted course content mechanism. In this mechanism we’ll not grant the user the total access over the course content but indeed we’ll keep him guessing what the next modules are going to be. We also employ a technique called LOOK UP (as we call it). The look up technique allows us not to generate all the exciting multimedia at a single instance to the user but rather it’ll employ a slow poison technique where the user will always be curious till the end of the course.

 Description of procedures and methods: Procedures and methods we employ are
• A registration procedure that’ll let the new users to login into the system after finishing the basic formalities. It’ll employ various methods in it such as login detail specifications in specified formats etc.
• Then the user will be guided through the procedure for selecting the course type based on his requirements and knowledge level. The knowledge is retrieved by a small testing method inside the system.
• The procedure of communication is what that runs through the whole system in every module. A forum method is used to apply the procedure.
• Various other methods and procedures are defined for the user (learner) like alerting procedures etc.
• User can run the download procedure to download a part of course content to install into the mobile so that he can use it the whole day.
• The administrators also have some procedures like assigning the course materials, setting the course content, asking for a test etc… through various methods that are specifically developed for serving those particular situations.

 Expected outcomes and success criteria: the output which we aim is a naïve to become a professional in Spanish without spending a whole lot of bucks and valuable time over just learning. Though the output of the system is as simple as that it involves keeping the user intact till the course end which indeed is the most complex. We achieve this using various interactive and entertaining learning techniques. The success of this project lies in our techniques we develop to make the users intact to the course till the end. The project can be successfully completed within the deadlines.
 Technological and architectural requirements: we use certain high level technologies in the back end to improve the performance and simple technological requirements at the front end so that it’s easy for the users to implement.
The technologies being used:
 .NET framework 3.5
 SQL database.
 Web server.
 Various API services.
 Language pronunciation applications.
 Video display applications.
 Voice recognition and analysis tools like voice recorder and wavelength matcher.
 Mailing tools like e-mail account.
 Mobile alerter like phone calls or messages etc.

The architectural requirements:

 The architecture is wholly developed in various models.
 The basic model is SOA. It includes C-S architecture too.
 It’s an application that basically uses the services.
 We develop some more required services.
 All these services are called upon basing on the user requirements.

II. Project Plan

1) Requirement Specifications:

Functional Requirements:

The whole system contains seven functionalities.

The first one is selecting the course type. Here user can select specific type of schedule according to his convenience. For example, if he needs a crash course he can select 30 day package or else he can chose from other packages present in the system. By including this feature we are allowing user to select his own way learning by not imposing our way of teaching. Including this option will satisfy our proposed goal.

The second functionality is translation. If a user wants to know Spanish conversion of English word or vice-versa he can just know by entering the word in the specified textbox. On including this feature user can speak instantly in Spanish, may be for emergency conversation or just for fun.

The other functionality is providing some files for downloading. User can download some words and voice messages in order to store in his mobile device in order to practice in free time. This is one of the advanced features which makes our product unique from other products. By this the user can do continuous practice of course work.

The next important feature is exam taking. The user should take tests on regular basis in order to get his feed back .

The user will receive notifications through e-mail and mobile regarding his progress in course work, he will also receive if the user is lagging in his schedule.

The other most important feature is providing of forums. All users can interact with each others using this forum regarding their doubts, the administrator/teacher also clarifies their doubts using this forum. This makes users more interactive with each other. They can communicate with each other in Spanish using this feature. The teacher may monitor these conversations and may post comments on their conversation(regarding language).

Non-Functional Requirements:
The whole system will be residing on a server with high speed internet capability. The user must be registered with the web site to use this service. The software developed assumes Visual Studio to be installed. The server should contain MS SQL Server 2005.

Technical Requirements
o Hardware Requirement:
 Operating System: Windows 98 SE, XP, 2000, NT, 2003
 Processor: Intel Pentium with 1.88 MHz or greater
 Memory: 128 MB
 Browser: Internet Explorer 5.5 or higher
 High-Speed Internet Connection
o Software Requirement:
 Visual Studio 2005
 Back End: Microsoft SQL Server 2005
 WAP Simulator: To simulate the WAP Site that is accessible to the user to lookup the driving directions after scheduling the game.

Business process and work flow analysis:

The basic flow sequence is as follows.
The user will register with the “learn Espanol”. He’ll get the login credentials from the server. The user logs in into the system. He selects his knowledge mode. Basing on the mode the services are dynamically employed to display his course content. He can select he mode dynamically. The user then starts the learning course. In between the course he can ask for support anytime to the administrators through available forum. Help modules are sent to serve him. During the entire course the system dynamically updates the course content and includes various activities. At the end of course the learner will ask the system to take the test at any moment of time. So the tests are innumerably generated for the user. At the final test the user is totally tested for the course he took. Then the result and suggestions are given. He is also requested a feed back. The admin has also the work flow intermittent to the user’s flow as shown.

• Technology (Feasibility Study)
o We will use C#.Net as the Front End. We will use Web Forms to extract information from the user at the registration time.
o This information will be stored at the server using SQL Server 2005.
o We will use some services which are already available for pronunciation, video displaying.

2) Framework Specification:
Assumptions: The basic assumptions which we include are:
• The user understands proper English in order to not have any communication gap between the project features and applications. The project is made for those who want to learn the language: Spanish, as the project is basically made in English we assume that the user understands English.
• We assume that the user has the basic navigation skills in the project we are making.
• We assume that the basic requirements such as internet facility, media playing files and all such parameters are present in every system
Assumptions are the basic needs to build a model for a system, from where the methodologies, algorithms, designing pattern and architecture come out.

Principles: The user will be able to learn the course under proper guidance from the project. These are the few principles which are included:
• The Language we are teaching doesn’t include foul words and does not lead to improper language usage.
• The main principle is to successfully teach the user the language (Spanish) under the package selected by the user.
• The language being taught should be able to help the user to use it efficiently.
• The product should be flexible and eco friendly in all environments.
• The product should be completely following the basic laws of SOA.
Methodologies: The basic methodologies used are:
1) Agile Processes
2) SOA (software oriented Architecture) is strictly maintained.

Architectural Diagram Details:
The architectural diagrams basically comprises of components, services and functional blocks of the entire project. Users are always a part of the architectural diagram. In the architecture diagram shown below we have included services like translation service (the service used to translate the language), mobile alert service (so that the user can update few tutorials onto his mobile), notification service (used for basic notifications),user profiling service, course management service(provides the user to opt for his own course work) and a language converting service.

We have included tools as an important block only because the tools act an active role in our project. The tools we mentioned are:

• Voice recording tool: This enables the user to record his pronunciation and compare it with the actual pronunciations.
• Pronunciation tools: This tool provides us with voice outputs with the actual word pronunciations i.e., the user can select a word for which he will be able to hear the pronunciation through this tools.
• Video Displaying tools: A tool which provides certain media files such as video clippings to teach the users expressions of the language.
• We have included communication as a layer which elaborates all through the architectural diagram because communication is a medium which is very much required in each and every step of our project.

The two important components included in the architectural diagram are:

• User Interface components: This component basically deals with the user interfaces which are incorporated in the system. The user interaction with the project is done using this project.
• Authentication components: The authentication of the user, administrator in order to provide security and authentication services these components are included.
World Wide Web is also an important block of the diagram

Architectural Diagram:

3) System Specification:
The basic purpose to create our project is to teach a user a language thoroughly for which we have used a certain set of services:
Primary Services:
• Word to word conversion services:here if the user ask for a word to be converted to Spanish ,this service will convert the word into the specific language.
• Word to Picture synchronization: here the language is taught using certain pictures for teaching words,for this the service can be creayed
• Mobile update service: Here the user can upload few tutorials into his mobile so that he can learn where ever he wants ,for this we ll require a service which enables us to upload data to a mobile.

Existing Services:
• Igoogle provides a service which allows us to convert a word from any language to any language.
• A few Translation services are also present.
New Services to be built:
• Picture and word recognizer is necessary for which we will have to create a service.
• Mobile updates is an important service for which we are searching for existing services or we might create for a new services.
• Downloading of certain tutorials to system will be created as a new service.

The New Services to be built are described below using use case diagrams:

Use Case for the project.

Sequence diagrams for various services.

Service Specification:
Use Case Name: Login
Priority High
Trigger Login Button
Precondition User must be already registered in the web site.
Basic Path 1. User enters login details
2. Login details compared with database values.
3. User get access to the site.
Alternate Path N/A
Postcondition User is on the home page.
Exception Path 1. If user credentials are failed system does not log him in.
2. Server failure.

Actors Learner

Use Case Name: Course Selection
Priority Essential
Trigger Menu selection
Precondition User must logged in
Basic Path 1. After login to the page. User have to select the menu button and then Course Selection.
2. Then user can select the level of course.
Alternate Path N/A
Postcondition Then user will assign to the course that he selected.
Exception Path If there is a connection failure the Departmental Server returns to the wait state

Other
Actors Learner

Use Case Name: Services
Priority Essential
Trigger Menu selection
Precondition After selecting the menu user have to select the which service he want.
Basic Path 1. User has to the menu button.
2. From menu he has to select the service type which he wants to get.
Alternate Path N/A
Postcondition After selecting the service he will access to that service from administrator.
Exception Path Server Failure
Other
Actors Learner

Use Case Name: Communication
Priority Not Essential
Trigger Menu selection
Precondition User must be already logged in.
Basic Path 1. First select the menu button.
2. Then select the type of communication.
Alternate Path N/A
Postcondition User will get access to communicate with the administrator.
Exception Path Server Failure.
Other
Actors Learner, Administrator.

Use Case Name: Functionality of Website
Priority Essential
Trigger Access to the Server.
Precondition User must be the Administrator.
Basic Path 1. Get access to the website.
2. Add functionality or Update the website.
Alternate Path N/A
Postcondition Website gets Updated.
Exception Path Access problems to the server.
Other
Actors Administrator.

Use Case Name: Data Base
Priority Essential
Trigger Access to the database.
Precondition Only Administrator can update the database.
Basic Path 1. Access to the Database.
2. Made changes to Database.
Alternate Path N/A
Postcondition Database changed or Updated.
Exception Path Database problems.
Other
Actors Administrator.

4.Plan by services.
Number Milestone Name Milestone Description

Timeline

Week no.
from the start
of the project
1 Detailed Requirement Analasys Gathering the requirements,familiarizing with the technology 1
2 System and Design specification Gathering requirements which are necessary for design phase. 1-2
3 Core Design Web pages and business logic are to be developed. 3-4
4 Increment-1
Implementation-phase-1 with necessary coding Course selection,Registration Services are to be implemeted 4-5
5 Increment-2.Implementation – Phase 2 Implementation of pronunciation, video embedding,forums 5-7
6 Increment-3.Implementation – Phase 3 Implementation of Testing service,mobile alerts,email alerts. 7-8
7 Testing Testing of individual and whole project. 9-10
8 Deployment, maintenance,documentation Issues found during the previous milestone are fixed and the system is ready for the final review. 10-11

Manpower requirements and responsibilities

4 students can complete this in 11weeks.

Resposibilities:

B.K Prashanth Pelluri - Designing Web Forms,forum services,e-mail notifications.
L.Nikhil – Implemeting course selection service,development service
V.Srikanth- Implemeting Pronunciation service,mobile services
S.Srujan Kumar- Implemting Media services and testing.

The other work is to be done in group.

By

Group 4.

**Video link of the Project:*http://www.youtube.com/watch?v=TclK9kgmp7g

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License