This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
The LMS allows staff to apply, cancel, withdraw and route their leave application electronically. Employees are allowed to check their leave balance and print current year leave records through this system. Leave applications are automatically routed via email to the employees' supervisors for approval.
Software Development Approach
Open Database Connectivity (ODBC) Application Program Interface (API) standard interface will be used in this project for the LMS application and web server to access different database servers who are ODBC compliant database without making any coding changes. ODBC provides a product-independent interface to relational and other tabular data.
Figure 2.1 Open Database Connectivity (ODBC)
Software Standard and Design
A structured methodology called software development life cycle (SDLC) which is synonymous with software process as well as software engineering, is used in the LMS development from the conception phase to the delivery and end of life in this project.
Objectives of SDLC
To apply software engineering practices in the development of software product
Project Description, Scope & Planning
Functional Requirements & Specification
There are several different SDLC models adopted for systems engineering projects. The different lifecycle approaches used by these models are fundamentally different in aspects of system engineering work organisation. The two approaches which I have evaluated are:
Sequential: Project work is completed within one monolithic cycle, with implementation of each of the requirement analysis, design, coding, testing and support stages only once. Progress is in a linear manner as predefined milestones are achieved, it will pass on to the next sequential stage.
Incremental: Project functionality is segregated into a number of distinct deliverable increments. As each increment is completed, it is delivered to the customer, so the system grows in functionality at each release.
After much deliberation, I had chosen the sequential (waterfall) model over incremental model. No doubt incremental model has the advantage of delivering the system earlier to customer with constant feedback, but the water model works best in a stable environment where the Vilbert Network Resource had most of the system requirements known from the existing manual leave system. This had allowed me to start earlier on the system design phase by shortening the time spent in the feasibility and requirement analysis stages. This had helped me in meeting the tight schedule for this LMS project.
As depicted in Figure 2.2, the model shows a systematic and disciplined process which makes planning and developing the LMS in successive phases. Immediate rectification to the system is possible with feedback restricted to adjacent phases. With no phases overlap, it ensures visible progress and clarity of tasks. The main disadvantage of this model is expensive rework, if earlier user needs analysis is not adequate. This I have overcome this by doing extensive needs and requirement gathering through different channels and stakeholders at the Vilbert Network Resource.
Figure 2.2 The Waterfall Model
Analysis and Selection of Software Platform
WAMP is an acronym that stands for Windows, Apache, MySQL, and PHP (or Perl or Python). It is a Web development platform that defines the Operating System (Windows), Web Server (Apache), database (MySQL), and scripting language (PHP, Perl, or Python). 
Before WAMP, we can use XAMPP which is a cross-platform initiative aimed at delivering the web server Apache, the database MySQL, the server-side technology PHP, and the programming language Perl to developers regardless of operating system. 
WampServer  is a Windows web development environment. It allows you to create web applications with Apache, PHP and the MySQL database. It also comes with phpMyAdmin to easily manage your databases. WampServer installs automatically (installer), and its usage is very intuitive. You will be able to tune your server without even touching the setting files. WampServer is the only packaged solution that will allow you to reproduce your production server. Once WampServer is installed, you have the possibility to add as many Apache, MySQL and PHP releases as you want.
WampServer also has a tray icon as shown in Figure 2.2, to manage your server and its settings. It consists of all the tools necessary for developing and testing dynamic and database driven websites on your local machine.
(Refer to Appendix 5 for WampServer Installation Guide)
An overview of the two market leaders in web server was evaluated for this project:
In a market as shown in Figure 2.3, almost 50% of the web servers in the world are using Apache technology. Thus the technology is considered to be mature and reliable enough to be used in this LMS, with flexibility in between platforms.
Figure 2.3 - Web server software market share (July 2009) 
This is the most popular server on the Internet and is developed and maintained by an open community of developers under the Apache Software Foundation. Apache is highly configurable with many compiled modules available, ranging from server side programming support to authentication schemes. Perl, Python and PHP are supported, along with authentication modules such as mod_access, mod_auth, and mod_digest.
Internet Information Services (IIS)
The main competitor to Apache is Microsoft's IIS Server or System. This is a set of Internet based services for Windows machines that were originally part of Windows NT as an option pack and were then integrated with Windows Server, XP Professional and Vista Professional. It includes servers for FTP, SMTP, NNTP and HTTP.
Ultimately, I chose Apache to be my web server as it is open source and has the proven record of pairing with PHP scripting language very well.
Server Scripting Language
PHPÂ is a widely-used general-purpose server-side scripting language that is especially suited for dynamic web development and can be embedded into HTML which draws the static part of the web page (template). 
PHP is an open source scripting language that is combined with HTML, either by embedding it within a Web document or by using it as a file that is processed alongside it, but on the server side. PHP is well suited for Web development particularly because of its ability to allow dynamic interaction with a Web page, building it up as real-time data is processed. 
One of the most important reasons I choose PHP is that it is flexible and has a shorter learning curve (easy to learn) than other scripting languages with a number of convenient features. It also works very well on a variety of web servers and operating systems (Unix-like platforms, Windows, and Mac OS).  Furthermore, Adobe Dreamweaver CS4 software (my choice for LMS) has rich features for working with PHP development; lastly PHP coexists with other open source movements from Linux, Apache, and MySQL, which makes the overall development experience from operating system (OS) to web server to database to server side web technology totally free.
A relational database management system (RDBMS) is a complex software program, which purpose is to store, manage, and retrieve data as quickly and reliably as possible. 
Shortlisted are the RDBMS platforms which I am evaluating for this project are:
Microsoft SQL Server, although probably not as robust as Oracle, is easy to install on Windows machines, and it provides the capabilities and features of an enterprise-class RDBMS product. It can be driven from Visual Studio .NET, as well as from Enterprise Manager and Query Analyzer. SQL Server can be used to learn SQL, triggers, and stored procedures. If the RDBMS is not driven by local circumstances and there is a choice, SQL Server is the recommended choice.
MySQL is an open-source RDBMS product that is receiving increased attention and market share in the world. It is a free (for non-commercial use), fast and reliable database. Another important advantage is that many web hosting providers offer access to a MySQL database, which makes your life easier when going live with the LMS. The capabilities of MySQL are continually being upgraded, and it can now write stored procedures, and support for triggers is included beginning with MySQL 5.0.2.
From the evaluation (formal surveys and real-world practice) of the two RDBMS, MySQL is the truly the leading database choice for PHP-driven projects.  This has made MySQL undeniably my choice as the back-end database when developing the LMS.
Web Design Software
For the web design and development (User Interface - UI) of the LMS, I am developing it with Adobe Dreamweaver (DW) CS4 software which has become the industry's leading web development environment. 
The reasons why I am using DW are:
WYSIWYG (What You See Is What You Get) coding interface
Create rich and powerful web applications
The software needed to execute this project is:
Table 2.1 Software Selections
WampServer 2.0i  consists of:
Apache web server (ver. 2.2.11)
MySQL database server (ver. 5.1.36)
PHP scripting language (ver. 5.3.0)
Creation of the database management system, web server and dynamic web application.
Microsoft Project 2007
Project scheduling tool to create Gantt Chart.
Microsoft Visio 2007
Drawing of Workflows & E-R Diagram
Microsoft Office 2007 Professional
For reporting and documentation purposes
Adobe Dreamweaver CS4
For design of dynamic web site