A functional requirement defines a function of a software system or its component. A function is described as a set of inputs, the behavior and outputs.

Functional requirements may be calculations, technical details, data manipulation and processing, and other specific functionality that define what a system is supposed to accomplish[15]. R1: Module EnrolmentStudents will be able to enroll in a particular module. R2: The application will be able to retrieve questions from the serverThe system will provide a client and server connection. Students can retrieve the questions from the server using the WAP technology. R3: The system will provide a password systemThe system will require registration to obtain username and password of students for them to access the system. R4: Get module assessment correction feedbackThe system will provide a client and server connection.

Students can get and view a feedback about the module for which they have been assessed. R5: The system will provide a GUI interface menu for the studentThe students can freely choose the required menu for navigating along the system. 3.1.2: Non-Functional Requirements A Non-Functional requirement specifies criteria that can be used to judge the operation of a system, rather than specific behaviors.

This should be contrasted with functional requirements that define specific behavior or functions. In general, Non-Functional requirements define how a system is supposed to be. Non-Functional requirements are often called qualities of a system[16]. The Non-Functional requirements of the system to be developed are listed below: The application that will be developed should have a nice graphical user interface.

The mobile devices should be able to cope with exceptions that arise. Invalid inputs must not cause the system to crash. 3.2: ALTERNATIVE WAYS OF SOLVING THE PROBLEMNow, there is a need to find a way about how to develop this application and use it through a mobile device. However, there is no alternative way to solve this problem.

To illustrate this fact, if we develop the mobile assessment application to be used on a PC or laptop, HTML would have been used for web development where students can access the application through their pc or laptop. But, it would not be accessible via a mobile phone as specific existing markup languages have been designed to be used for mobile web development such as WML. 3.3: PROPOSED SOLUTIONThe most suitable and best way to develop the application is by using the existing markup language which is used for mobile web development such as WML.

Justification for proposed solution: At the present time, every student own a mobile phone and students can access the system anywhere and at anytime through their mobile phone that supports WML pages. 3.4: DETAILED DESCRIPTION OF THE SYSTEMThe system that will be designed is concerned with the development of a WAP mobile assessment system for students to access specific questions for a module and then correctly answer these questions to test their knowledge from their mobile phone. The system will be developed by using WAP technology such as Wireless Markup Language (WML). WML is a markup language that has been designed for devices that implement the Wireless Application Protocol (WAP) specification.

Moreover, it is the first markup language for wireless devices. The role of WML in mobile internet applications is the same as that of HTML in web applications. But, WAP sites are written in WML while web sites are written in HTML. The system will allow students to: Enroll for a particular module View the questions for a specific module on their mobile phone Retrieve questions and assess themselves by answering these questions which will be in various formats. One of the format includes Multiple Choice Questions (MCQ).

Get feedback about the assessment of that particular module on their mobile phone. However, students will have to register themselves where they will be required to write a username and password. Then, they will use this username and password to gain access to the mobile module assessment system. 3.4.

1: The WAP Programming ModelThe WAP Programming Model is similar to the Web programming model with matching extensions but it accommodates the characteristics of the wireless environment. The WAP programming model is based largely on the Web programming model. But how does the WAP gateway work with HTML? In some situations, the data services or content located on the web server is HTML-based. Some WAP gateways could be made to convert HTML pages in to a format that can be displayed on wireless devices, But as HTML was not really designed for small screens, the WAP protocol defines its own markup language, the Wireless Markup Language(WML), which adheres to the XML standard and is designed to enable powerful applications within the constraints of handheld devices.

In HTML, there are no functions to check the validity of user input or to generate messages and dialog boxes locally. To overcome this limitation , JavaScript was developed. Similarly, to overcome the same restrictions in WML, a new scripting language known as WMLScript has been developed. 3.5: EVALUATION OF TOOLS3.5.

1: WML Emulators 3.5.1.1: WAP PROOF 2008 Professional version 4.2.0327 Brief descriptionWAP PROOF is an emulator of a WAP browser for Microsoft Windows, a universal WML and xHTML intended for designers of mobile content.

It is designed for the preview and debugging of mobile websites. Strengths:It works over HTTP as an ordinary HTML browser. It has the most of its features, such as using bookmarks, changing the document encoding, offline working. Several mobile devices (Alcatel, Motorola, Nokia, Sagem, Samsung, Siemens, Sony Ericson) are emulated, do the mobile site can be tested. The emulator supports WML, Xhtml, html and Chtml documents. It is similar to a real mobile browser request, so WAP PROOF can be used for the development of resources being sensitive to the user-agent.

Support of non-latin encodings (Hebrew, Cyrillic, Arabic, Greek). Low price compared to similar commercial WAP emulators. GET and POST methods access to server. Weaknesses:Problems with �accesskey∙ attribute and with keyboard events are fixed, but the latest version overcome this problem. Some problems faced with fonts in Windows Vista.

3.5.1.2: Klondike WAP Browser Brief descriptionKlondike looks like a Web Browser and is therefore very easy to use for beginners. Local WML files can be accessed easily. Strengths:Surf through sites and local pages that utilize the WAP (Wireless Application Protocol) which is used by Internet-enabled mobile phones.

Include use of functions such as character entities, text input and validation, single and multiple selection boxes, variable substitution, deck-card task and event shadowing, desk access control, GET and POST methods, variable escaping, times and BMPs and BMP anchors. Weaknesses:The engine is specifically designed for operating systems running on small devices with very limited memory. Memory allocation requirements during runtime. 3.5.1.

3: Yospace Brief descriptionIt is a mobile application innovator and platform provider allowing digital publishers, mobile application developers and mobile operators to rapidly and affordably deliver mobile video services[12]. Strengths:It supports basic markup language such as WML and xHTML MP to server generated code. Widsets, SMS, gateway and server set up are also covered. Weaknesses:It is expensive to buy the full version. 3.

5.1.4: WinWap Brief descriptionWinWap is a WML browser that works on any computer with a 32-bit windows installed. WinWap Technologies is specialized in software technologies for mobile internet browsing and multimedia messaging (MMS).

Strengths:It allows you to use WAP services on your windows PC. The browser is a mobile internet browser that emulates the way you would use the mobile internet services on built-in browser of a smartphone. Installation is easy. You will not encounter so much difficulties with the emulator as it is easy to use and understand.

Weaknesses:Windows mobile versions are available separately. Some telecom operators require that you connect your mobile phone to your computer/PDA and use it to get access to the telecom operator specific services. 3.5.2: Web Server Services Software3.

5.2.1: EasyPHP version 5.3.2 Strengths:It is a complete software package that allows you to use all the power and the flexibility that dynamic languages like PHP offer. Easy to install and run apache.

Efficient use of databases (MySql). An easy development tool for your website or applications. Weaknesses:It may be prompted to change some variables in the apache configuration file. 3.

5.2.2: CERN Server Strengths:It is a generic public domain full-featured hypertext server. Weaknesses:The server runs on mostly Unix platforms. It requires caching of documents that results in faster response times.

3.6: CHOICE OF FINAL TOOLS3.6.1: WML Emulator After analyzing the strengths and weaknesses of the different WML emulators to develop the application, I have come to a conclusion that WAP PROOF 2008 professional version 4.2.

0327 will be the most appropriate. Justification for choosing WAP PROOF 2008 professional version 4.2.0327WAP PROOF is an emulator of a WAP browser for Microsoft Windows which is designed for the preview and debugging of mobile websites.

Through the use of the WAP emulator, mobile-oriented (WML, XHTML, Chtml, and HTML) pages can be viewed exactly as if they have been opened by a real mobile phone and switch between various mobile devices by few mouse clicks. Furthermore, the HTTP request sent by this WAP emulator is similar to a real mobile browser request, thus WAP PROOF can be used to develop resources that are sensitive to the user-agent. WAP PROOF can even be used to validate the syntax of WML or Xhtml documents, debug the interactive WAP pages, and check the HTTP traffic between the browser and the server. The error diagnostics is descriptive and all the debugging information is accessible.

3.6.2: Web Server Services Software After a thorough investigation on the web services software, EasyPHP has been chosen as it has many advantages than that of CERN server. Justification for choosing EasyPHP(version 5.3.2)This web server software has been chosen on the basis that I have some previous knowledge on EasyPHP software as I have used it for the development of a website in the �Web Technologies� module.

With prospect to that, I have decided to use this software for server in order to test the WML pages on localhost. 3.7: FUNCTIONAL MODELING OF THE SYSTEMSystem models are graphical representations that describe the problem to be solved and the system which is to be developed. To view the system from different perspectives, four models have been put forward: Use Case diagrams to show how the student and the administrator are interacting with the system.

Data Flow diagrams to show the flow of data about how the student will interact with the mobile assessment system.