• Like
Project Title
Upcoming SlideShare
Loading in...5
Uploaded on


  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Final Year Proposal Form 2006/2007 Student Name: XXX XXX Stream (CSSA/SDIS/DKM): SDIS Project Title An Online Development Environment (ODE). ~ Web Application Summary (approx 200 words) The main concept behind this project is educational. The web application will initially consist of a C# compiler that will allow users to compile their projects online. The web application can potentially consists of many other compilers (VB.NET compiler, Java compiler), to give the user the ability to compile code written in a variety of different languages. The user can select any programming language via a drop down list. The user would be able to, manage his projects online. Each user will have a personal directory in the server’s file system. There will be a directory tree structure that will allow him/her to select a project, and source code. A source code can be written directly into a textbox within the web application, and saved. It can also be uploaded by the user. The user will be able to view any errors after a compilation, If there were any. Once a project is compiled successfully, the user will be able to download the “executable (.exe)”, or “assembly (.dll)” file. However, applications will not be allowed to run at server. The web application will also provide means for the user to document his/her code, and save the documentation. The document can be saved in various formats (Text, Word Document, PDF, etc). The web application will also integrate a help mechanism that will aid the user in case of compiler errors. This will involve the use of web APIs. There will be a search engine that will allow users to search other users’ code. The author of the code will be able to mark his project as public/private, as in, share it with others users or disable sharing. This will be a server based web application. The end-user will only need an internet browser that supports JavaScript, such as Internet Explorer. The user would have to be registered, in order to user the ODE (Online Development Environment). This project is the first of its kind. Since it will simulate an IDE (Integrated Development Environment); I decided to call it an Online Development Environment.
  • 2. Final Year Proposal Form 2006/2007 Background (and References) Integrated Development Environments, such as Visual Studio and My Eclipse, have been used widely in software development, as a tool for managing and compiling source code. However, all the IDE’s developed so far; need to be installed into the developer’s computer system. Also, most amateur programmers do not have the ability to set up IDE’s, let alone, installing external packages to enhance the IDE. This project offers a major solution to the IT development world. The user of the web application wouldn’t worry about anything besides writing the code. The ODE will manage all the codes, documentations and libraries at the backend. The user can store his data securely and can access the code remotely, from any machine. The main purpose behind this web application is educational. Beginners can learn how to program instantly, without the need of installing any compiler. The web application will provide links to tutorials. The main reference for developing this project will be books and search engines. A close investigation of AJAX (Asynchronous JavaScript and XML) will make this web application a breakthrough.
  • 3. Final Year Proposal Form 2006/2007 Proposed Approach I will have three stages in my approach to this project.  Research and Design  Implementation  Testing and evaluation Research and Design A number of key decisions will have to be made early in the design process. I have decided to use ASP.NET with C#, to develop this web application, since I have been doing a lot of developing in these 2 technologies during my work experience as a developer at Microsoft. I will use Microsoft SQL Server, as the back end database. The software development methodology is still to be decided. Research will involve the following:  Any freely available libraries I can use for the project (i.e. AJAX.NET)  The complexity of creating each method if necessary/relevant  Amount of useful available information  Amount of time required to implement each method  The range of support available to me Implementation The web application will be complex in term of linking all the different functionality together. In this case, the project will have to be split into different parts, and developed separately. For this methodology to be adapted properly, the web application has to be designed carefully, so that the different parts can be joined without any issues. For the implementation, the Visual Studio.NET 2005 IDE, will be the development tool of choice. I assume that code snippets from existing projects, will be used extensively for the development of this project. Testing and Evaluation There will be two main categories of testing for this project; logical and security. The web application should be reliable and secure. The logical test will ensure that the web application is running as expected. The user should be able to write, save, compile, search and download a source code. The security life cycle should ensure that only registered users can access the resources of the web application. It should also draw a fine line which determines what user has what access. Private projects shouldn’t be accessed by unauthorised users. Security sins such as SQL Injections, Denial of Service attacks, etc, should be considered during the testing phase.
  • 4. Final Year Proposal Form 2006/2007 Evaluation Criteria The project will be measured on the basis of the following: 1. Quality of the project 2. Security 3. Overall design 4. Implementation the functionality correctly 5. Code quality and robustness 6. Good user manual 7. Usability Deliverables  Project dissertation and user manual  Source code for the project  Test data for demonstration Priority Features: • Secure user login/registration/email activation system • Ability to compile and manage C# projects online • Managing documents online • A windows Service (external application), to send emails. • Search engine • Ability to upload code. • Feedback system Secondary Features: • Application localisation • Ability to compile project written in VB.NET and JAVA • A text editor, that will colour C# keywords as typed in. • Eliminating post-backs, using AJAX throughout the whole web application (it’s highly unlikely I’ll get this feature done).
  • 5. Final Year Proposal Form 2006/2007 Technical Requirements The following requirements are only needed by the main hosting server:  Microsoft SQL Server 2005  IIS Server  Various API’s (AJAX, Graphs, etc)  XML The development machine will need the following, in association with the requirements above:  Visual Studio .NET 2005 The user will only need an internet browser that supports JavaScript. However, since this project will be developed and tested mostly with Internet Explorer, it is the recommended browser. Project Plan October 2005: High level architecture view, of how the sub systems will work and connect with the each other. How the user will interact wit the system. November 2005: Reading. Providing enough background work has been done, outlay of the program code itself, and basic. The algorithms used should also be implemented in pseudo code at this stage. The security layer should be designed at this stage. December 2005: Coding/documenting/implementing/unit testing January 2006: Coding/documenting/implementing/unit testing February 2006: Expectation date for first beta of program with priority features implemented. Bug fixing. Test plan will be re-evaluated as necessary. March 2006: Second beta, and final release, possibly with Secondary feature set. Bug fixing, documenting, gathering results.
  • 6. Final Year Proposal Form 2006/2007 April 2006: Finishing touches to program. End of project evaluation. Lecturer Comments Student Signature Date Lecturer Signature Date