Dissertation

Published on November 2016 | Categories: Documents | Downloads: 63 | Comments: 0 | Views: 1107
of 105
Download PDF   Embed   Report

Ginalyear dissertation, a software development process.

Comments

Content

The UNIVERSITY of GREENWICH MEDWAY SCHOOL OF ENGINEERING DEPARTMENT OF COMPUTING AND COMMUNICATIONS ENGINEERING

BSc IN INFORMATION COMMUNICATION AND TECHNOLOGY DISSERTATION MAIN REPORT

Business Project years 1 & 2 Employee Database

Project Supervisor: Dr Y. L. Tan Submission Date: Thursday, 05 May 2011. By: M. Cisilotto

DISSERTATION REPORT May 5, 2011

Abstract

The objective of the project was to use e-learning principles in order to build an online system to hold job postings as part of the Business project for years 1 and 2 courses in the Business Information Technology and Management students of the University of Greenwich (BITE) department. This new system will replace the previous existent version. The system was developed using the ‘v-model’, this method was chosen because it links software development and testing until the final result was achieved. The structural design involved the use mostly of PHP and HTML pages to store information in the database (MySQL). The application has two levels of access, which limit the functionality of the system for each type of user. Second year students will form groups or ‘companies’ which can create and post new jobs and view the applicants for the jobs they posted. First year’s students or the ‘employees’ can only see the jobs posted by the second years and apply towards by posting CVs. All users will have access to a logbook which will record their day-today activities, and these records will be used as part of the assessment as well as material for pedagogical research.

Contents
Page ii

DISSERTATION REPORT May 5, 2011 Definition of Terms and Abbreviations ..................................................................vi CHAPTER 1................................................................................................................1 INTRODUCTION......................................................................................................1
1.1: Overview.....................................................................................................................1 1.2: Dissertation Report Structure.......................................................................................2

CHAPTER 2................................................................................................................3 LITERATURE REVIEW..........................................................................................3
2.1: Introduction.................................................................................................................3 2.2: E- Learning..................................................................................................................3 2.3: Collaborative Learning................................................................................................4

2.3.1: How collaborative learning can help in the student’s career?....................5 2.3.2: How to make team learning successful ......................................................5 2.3.3: Best ways to Learn......................................................................................6
2.4: What is Computer-supported collaborative learning?..................................................7

2.4.1: Why use Computer-supported collaborative learning (CSCL)...................7 2.4.2: Computers and education............................................................................8 2.4.3: E-learning at a distance...............................................................................8 2.4.4: Designing technology to support CSCL...................................................10 CHAPTER 3..............................................................................................................11 TECHNICAL BACKGROUND..............................................................................11
3.1: Apache Server............................................................................................................11 3.2: HTML........................................................................................................................11 3.3: CSS............................................................................................................................11 3.4: PHP............................................................................................................................12 3.5: Data Storage...............................................................................................................13

3.5.1: Databases..................................................................................................13 3.5.2: MySQL.....................................................................................................14 3.5.3: PHPMyAdmin..........................................................................................14 3.5.4: Data Security.............................................................................................14 CHAPTER 4..............................................................................................................15 REVIEW OF PREVIOUS WORK.........................................................................15
4.1: Introduction...............................................................................................................15

Page iii

DISSERTATION REPORT May 5, 2011
4.2: Screenshots................................................................................................................15 4.3: Conclusion.................................................................................................................17

CHAPTER 5..............................................................................................................18 SYSTEM REQUIREMENTS..................................................................................18
5.1: Requirements.............................................................................................................18 5.2: Functional Requirements...........................................................................................18 5.3: Non-Functional Requirements...................................................................................19 5.4: Conclusion.................................................................................................................19

CHAPTER 6..............................................................................................................20 SYSTEM DESIGN....................................................................................................20
6.1: GUI Design................................................................................................................21 6.1.1: General Layout.......................................................................................................22 6.2: Database Design........................................................................................................22 6.2.1: Table: Login.........................................................................................................23 6.2.2: Table: Post_activity................................................................................................24 6.2.3: Table: Post_job.......................................................................................................25 6.2.4: Table: Upload........................................................................................................25 6.4: Conclusion.................................................................................................................26

CHAPTER 7..............................................................................................................26 SYSTEM IMPLEMENTATION.............................................................................26
7.1: The Login System......................................................................................................27 7.2: Querying the Database...............................................................................................29 7.3: Problems with the System..........................................................................................30 7.3.1: Description of the problem...................................................................................30 7.3.2: Strategy................................................................................................................31 7.4: System Screen-Shoots of the System.........................................................................31

7.4.1: Year 2 Students Screen-shoots.................................................................32 7.4.2: Year 1 Students Screen-shoots.................................................................34 7.4.3: Log Book screen shoots for all students...................................................37
7.5: Conclusion.................................................................................................................38

CHAPTER 8..............................................................................................................39 TESTING...................................................................................................................39
8.1: Black Box Testing.....................................................................................................39

Page iv

DISSERTATION REPORT May 5, 2011 8.1.1.: Text Areas...............................................................................................44 8.1.2: Password Fields.......................................................................................44 8.1.3: Text Fields...............................................................................................44
8.2: Usability Test.............................................................................................................44 8.4: Conclusion.................................................................................................................45

CHAPTER 9..............................................................................................................45 CONCLUSION.........................................................................................................45
9.1: Achievements ...........................................................................................................45 9.2: Evaluation..................................................................................................................46 9.3: Future Development...................................................................................................47

BIBLIOGRAPHY.....................................................................................................47 APPENDIX I – TIME PLAN...................................................................................51 APPENDIX II – SOURCE CODE..........................................................................54
1-default.css......................................................................................................................54 2- index.php......................................................................................................................57 3-year1homepage.php.......................................................................................................60 4- year2homepage.php......................................................................................................62 5-add_job.php...................................................................................................................65 6-file_upload.php..............................................................................................................66 7-loginproc.php.................................................................................................................69 8-logout.php......................................................................................................................70 10-post_activity.php.........................................................................................................71 11-post_activity1.php........................................................................................................72 12-post_job2.php..............................................................................................................75 13-show_activitiesbystudent.php......................................................................................79 14-show_job2.php.............................................................................................................83 15-show_job22.php...........................................................................................................86 16-show_jobsbynameCO.php...........................................................................................90 17-show_jobsbynameCO2.php.........................................................................................93 18-upload.php and config.inc............................................................................................97

Page v

DISSERTATION REPORT May 5, 2011

Definition of Terms and Abbreviations
CSCL Computer-supported collaborative learning
CSS Cascading Style Sheets DBMS Database Management System GUI Graphical User Interface HTML Hypertext Mark-up Language

HTTP Hypertext Transfer Protocol
MySQL Database system supporting JDBC RDBMS Relational Database Management System
F1-F10 Functional Requirements, refer to section 5.2. NF1-NF6 Non-Functional Requirements, refer to section 5.3.

PHP Hypertext Processor SQL Structured Query Language, related to databases URL Universal Resource Locator

Page vi

DISSERTATION REPORT May 5, 2011

CHAPTER 1 INTRODUCTION

1.1: Overview
The project proposes a creation of a system to help the collaboration between first and second year students in the BITE department who will form companies to carry out one of a series of real business projects that the BITE team has identified in the area. These are real projects suggested by real business and as such the results will be given to business concerned. This system is required to substitute the original existent system. The main reason for this is that the original system is not user-friendly (ease of use). The second year students will lead the teams on a collaborative way basis, making sure they have the correct set of collaborators. The first year students need to work at getting into the right group through using their CV’s and ‘interview’ skills. The web application and database will serve to:  Hold jobs posted by year two students,  Hold CV’s posted by first year students;  Record student’s activities on an individual diary. This project involves the use of e-learning related skills. Leung says the following about e-learning ‘Learners and teaching professionals are attracted by the many benefits of e-learning, such as the flexibility of learning anywhere, at any time and at an individualized pace.’ ( Leung, 2003).

Page 1

DISSERTATION REPORT May 5, 2011

1.2: Dissertation Report Structure
The report is divided in eight chapters, a bibliography and three appendices. The following paragraphs briefly describe each chapter. Chapter 2 Chapter 3: Chapter 4: Chapter 5: Chapter 6: Chapter 7: Chapter 8: Chapter 9: Is a review of the literature covered to provide information to do this project. It’s a review of all technical background used to complete this project. Is a review of the previous work done, with screen shots and the reasons of the proposed new System. This chapter deals with the proposed System Requirements in terms of its Functional and Non-Functional Requirements. This describes the Design of the system in terms of GUI and database. This part refer to the Implementations in the system, also show shows some screen shots of the final system. Describes the tests conducted on the system as a whole system and a usability test as well. This concludes this report by discussing the project’s achievements, and evaluation of the work done a suggestion for future development. BIBLIOGRAPHY This section refers to all material used to do this project. APPENDIX I – Shows a Project Plan and Gantt Chart of planned work and TIME PLAN with the time spent in each phase of the project. APPENDIX II – All the source code for this project. SOURCE CODE

Page 2

DISSERTATION REPORT May 5, 2011

CHAPTER 2 LITERATURE REVIEW

2.1: Introduction
There are many ways to reach a solution to this project; this chapter will review the literature used on this project which supported it to accomplish the final result.

2.2: E- Learning
“An e-learning model may combine online technologies, campus-based delivery, and distance learning” (Volery & Lord, 2000). Learners receive their learning resources over the web, which can include multimedia interactions, on-line feedback, and they play a more active role in the learning process. (Leung, 2003). Students today are growing up in a digital age, communicating and learning via technology now more than ever before. To prepare students for future success, schools are implementing technology to enhance the teaching and learning experience and renovate education. Educators, policy-makers, and IT leaders agree, however, that simply adding computers to the classroom in order to achieve this is not enough. To actually renovate learning for the digital natives, schools must mix technology tools that can extend the education knowledge and connect the classroom with the 21st century. While technology is an instrument used by educators, it is not a replacement for the impact every member of the education system has on learner success. Technology need simplify these relations. A whole learning atmosphere is required in which students; teachers, administrators, and parents can without difficulty communicate and collaborate with each other, share secure information, and, ultimately, access a world of knowledge beyond classroom walls. (Henshaw, 2010).

Page 3

DISSERTATION REPORT May 5, 2011

2.3: Collaborative Learning
Collaborative learning is a situation in which two or more people learn or attempt to learn something together. Usually, students are working in groups, equally searching for understanding, solutions, or meanings, or creating a product. Collaborative learning activities differ broadly, but most centre on students’ investigation or use of the course material, not merely the teacher’s demonstration or explanation of it. (Dillenbourg, P., 1999) More precisely, collaborative learning is centred on the model that knowledge can be created in a population where associates vigorously interact by sharing experiences. (Chiu, M. M., 2000). Put in a different way, collaborative learning brings up a methodology in which learners take part in common tasks where each individual depends on and is responsible to each other. Collaborative learning is heavily embedded in Vygotsky’s opinions that there exists an inherent social nature of learning which is shown through his theory of zone of proximal development. (Chiu, M. M., 2008) Often, collaborative learning is used as an umbrella term for a variety of methods in education that include joint intellectual strength by students or students and teachers. (Mitnik, R., Recabarren, M., Nussbaum, M., & Soto, A. ,2009). Consequently, collaborative learning is regularly showed when groups of students work together to search for understanding, significance, or results or to produce an artefact of their learning. Additionally, collaborative learning redefines traditional student-teacher connection in the classroom which consequences in controversy over whether this model is more helpful than damaging. (Chiu, M. M., 2008). Usually these activities can include collaborative writing, group projects, joint problem solving, debates, study teams, and other activities. (Leigh B., MacGragor T., 1992)

Page 4

DISSERTATION REPORT May 5, 2011

2.3.1: How collaborative learning can help in the student’s career?
There are many positive means of teaching groups and individuals, and collaborative learning as a teaching philosophy tries to address both. Collaborative learning is concerning in choosing to work with a group to expand one’s awareness of a particular topic or condition. Usually coaching students at various levels to together achieve a single goal. The idea is that they will be successful or fail together. In a deeper attitude, the success of collaborative learning as a teaching philosophy can be perceived as a way to help poor performing students to progress as they work equally with high performing students. On this way this method works well in the classroom, around small group tasks. As soon as it changes into larger situations, it might be defined as cooperative learning. The difference between the two teaching ideas is that collaborative learning is dedicated on the students’ accomplishments where cooperative learning is frequently a teacher aimed atmosphere that emphasis on the interaction among teachers and students. The terms are sometimes exchangeable as teachers are surely involved in the collaborative learning ideal, too. A critical feature of the collaborative learning idea is that it absences exclusion. Children are not divided by skills, interests or successes. They are grouped together so that they can learn from each other’s skills and knowledge. This brings up a profounder understanding of diverse cultures, way of life, and perceptions. Frequently intelligent students in fact learn to some degree from the regular or poor student. (Collaborative Learning Org, 2011)

2.3.2: How to make team learning successful
Team learning can be very effective if it’s planned right. On the other hand, a poor class strategy or absence of accountability for those in the group can influence tragedy. Satisfactory to get the full profits of the group learning atmosphere a few principles must to be met.

Page 5

DISSERTATION REPORT May 5, 2011 The groups have to be correctly formed and managed. Typically, the group should be no bigger than five to seven students. There also requirements to be a uniform distribution of member individualities. In other words, four good succeeding students positioned with one poor student will not nurture a good learning atmosphere or create reasonable outcomes. Probable the poor performer will remain to underachieve as the odd out. Students must be made independently responsible for organizing their separate work for the group project, allocating time and determination to the group project, and work together in a positive way. Consequently, the individual components have to be the same for each student. The best way to escape team struggle is to make projects that encourage group decision making in simple methods. If too complex the poorer students will fall behind. The overlying idea in team learning is about the teamwork. Academics are surely key, but so is the life classes that are learned when students are likely to work together and accomplish together. Finally, the distinctive characteristics of each team participant should bring effects to the project that will make it effective. Teachers have to stress commitment by the whole group and permit the learners to use free will in finishing the project. In this way, the students occupy in a collaborative learning model that tolerates them to teach and learn from each other. (Collaborative Learning Org, 2011)

2.3.3: Best ways to Learn
Every person learns in a different way. Indeed, there are a few things that regularly appear to be the preeminent ways to learn. We’ve all have heard that some people learn best visually, some by doing, some by hearing, some by experiencing, and so onwards. These are correct, but the top situations may be a little wider than just one sense approaching into play. (Collaborative Learning Org, 2011)

Page 6

DISSERTATION REPORT May 5, 2011 The most important feature in learning is that the student has to want to learn. When individuals want to learn to some degree, they do. Learning by doing is certainly one of the best methods to learn. It’s about sample and error, training, and making errors. Without even become conscious of it, youngsters learn like this every single day. All people learn over feedback. Humans adore positive strengthening, so if the feedback is good, people will make better efforts to study, and they’ll recall what they got correct. Humans are a feeling species, so we have feelings about all we do. Lastly, people need to be capable to make sense of what they are learning. If it doesn’t have a vibrant method that can be absorbed, it won’t be learned. Our minds certainly category out what is beneficial and build on that while leaving what isn’t essential. Consequently, we factually are assimilating the information upcoming. The task has to be understandable in order for it to be learned. (Collaborative Learning Org, 2011)

2.4: What is Computer-supported collaborative learning?
Computer-supported collaborative learning (CSCL) is a developing division of the learning sciences concerned with reviewing how individuals can learn together with the assistance of computers. The inclusion of collaboration, computer intermediation and distance education has problematized the very concept of learning and called into question predominant suppositions around how to study it. (Stahl, G., Koschmann, T., & Suthers, D., 2006).

2.4.1: Why use Computer-supported collaborative learning (CSCL)
Because is a pedagogical method in which learning profits using social interaction with a computer or over the Internet. This type of education is categorized by the

Page 7

DISSERTATION REPORT May 5, 2011 sharing and construction of knowledge between members by using technology as their main means of communication. CSCL can be applied in online and classroom learning atmospheres. (Hmelo-Silver, C.E. 2006)

2.4.2: Computers and education
Computers in the teaching space are frequently seen with doubt. They are understood by criticisers as dull and anti-social, a sanctuary for geeks and a mechanical, inhumane method of training. CSCL is centred on precisely the reverse idea: it suggests the development of new software and applications that carry learners together and that can propose creative activities of intelligent exploration and social contact. CSCL arose in the 1990s in response to software that enforced students to learn as lonely persons. The exciting prospective of the Internet to link people in new ways delivered an incentive for CSCL study. As CSCL advanced, unexpected obstacles to designing, propagating and excellently taking advantage of new educational software became more and more obvious. A renovation of the complete idea of learning was necessary, including important modifications in schooling, teaching and being a student. (Stahl, G., Koschmann, T., & Suthers, D., 2006).

2.4.3: E-learning at a distance
CSCL is often combining with e-learning, the group of instruction through computer networks. E-learning is frequently driven by an innocent belief that classroom content can be digitized and dispersed to a great numbers of learners with little persistent association of teachers or other costs, such as buildings and transportation. There are an amount of complications with this opinion. First, it is basically not true that the posting of content, such as slides, texts or videos, creates a compelling lesson. Such content may deliver significant resources for

Page 8

DISSERTATION REPORT May 5, 2011 students, just as textbooks at all times have, on the other hand they can only be current in a superior motivational and interactive context. (Stahl, G., Koschmann, T., & Suthers, D., 2006). Second, online lessons needs at least as much work by human teachers as schoolroom teaching. Not only requisite the tutor to organize materials and make them accessible by computer, the educator must stimulate and lead each pupil, through on-going interaction and a sense of social presence. Whereas online lessons permit students from about everywhere in the world to take part, also it permits lecturers to work from anywhere with Internet connectivity. Third, CSCL stresses collaboration between the scholars, so that they are not only responding in separation to posted resources. The learning takes place mostly through collaborations amid students. Scholars pick up by expressing their questions, following lines of inquiry together, teaching each other and seeing how others are learning. Computer support for such teamwork is vital to a CSCL methodology to elearning. Motivating and supporting useful student contact is difficult to attain, without skilful preparation, organization and implementation of program, pedagogy and technology. Fourth, CSCL is also worried with face-to-face (F2F) relationship. Computer support of education and does not continuously take the form of an online communication intermediate; the computer support may include, for example, a computer reproduction of a scientific idea or a shared interactive demonstration. In this case, the collaboration emphases on the creation and investigation of the recreation or demonstration. On the other hand, a group of learners might use a computer to surf over information on the Internet and to talk over, discuss, collect and exhibit what they found collaboratively(Stahl, G., Koschmann, T., & Suthers, D., 2006).

Page 9

DISSERTATION REPORT May 5, 2011

2.4.4: Designing technology to support CSCL
The aim for design in CSCL is to create artefacts, events and situations that enrich the practices of group meaning making. Rapid progresses in computer and communication skills in latest decades, alike the Internet, has intensely altered the ways in which we work, play, and learn. As the title of a comment by LeBaron (2002) proposes, “Technology does not exist independent of its use.” Substitute ‘activities, artefacts, and environments’ for ‘technology’ and the message continues the same—these elements themselves cannot define different forms of training, but are as an alternative created within practice. An environment for an anticipated form of practice becomes such through the organized actions of its natives. Equal activities are only made detectable as such in the ways that participants turn to them as ordered forms of combined action. Design of software for CSCL, consequently, must be attached with analysis of the significances constructed in developing practice. Values reflect past experience and are open to infinite negotiation and re-evaluation. (Stahl, G., Koschmann, T., & Suthers, D., 2006).

Page 10

DISSERTATION REPORT May 5, 2011

CHAPTER 3

TECHNICAL BACKGROUND
There are many methods to develop this web system; this chapter is a description of each technical element which helped building the final system.

3.1: Apache Server
Apache is a free, fully configurable Web server and one of the most popular servers available at the moment. This server is used to store the webpages, which will be accessed only by the administrator of the system. FilleZila will be used to transfer the final files to the server and is a fast, reliable, and secure FTP/SFTP client. “Apache emphasises a variety of features, many employed as compiled modules which extend the core functionality. These can range from server-side programming language backing to authentication schemes. Some usual language interfaces support Perl, Python, Tcl, and PHP.”(Wikipedia, 2011)

3.2: HTML
HTML is an easy language to use. You don't have to be a programmer to use it. It's a way of describing how the text and images should be displayed to the user, similar in to a magazine editor's markup symbols.

3.3: CSS

Page 11

DISSERTATION REPORT May 5, 2011 “Cascading Style Sheets (CSS) are straightforward files that manage the visual appearance of a Web page without compromising its structure. Using CSS one can control font size, font colour, link colour, and many other attributes of a web page, reducing a page's file size. CSS is a very popular language. Sometimes used only to format text, or as a substitute for HTML tables. Without CSS, HTML is used to create all aspects of a site and tables upon tables are created, to the point that the site’s code becomes hard to navigate and edit through. This cause the increase the files size and results in an extra time to the page to load. Nowadays visitors want pages that load almost instantly. (NF3)

3.4: PHP
PHP is very useful if dealing with dynamic text embedded into static text and correspondingly for incorporating web pages with databases. It is a server-side scripting language and all the work is done on the server. If you require embed dynamic text into static text, you’ll come across with PHP being very useful. It was designed for this, and it excels at it. PHP is also very beneficial for incorporating web pages with databases.

Figure 1. Description of how PHP works (webucator, 2011)

Page 12

DISSERTATION REPORT May 5, 2011 “As shown in the figure 1, the PHP interpreter processes the page, communicating with file systems, databases, and email servers as necessary, and then delivers a web page to the web server to return to the browser.” (webucator, 2011)

3.5: Data Storage
Data storage is required to maintain the system, records needs to be stored and easily thought and retrieved. The main data storage reviewed here is the database.

3.5.1: Databases
“MySQL is a database management system (DBMS) for relational databases, for that reason MySQL is an RDBMS (Relational Database Model System).” 2005) By incorporating a database into a web application, some of the data created by PHP can be retrieved from MySQL (Figure 2). This additionally moves the site’s contents from a static (hard-coded) to a flexible one and flexibility is the key to a dynamic web site. (Ullman, 2005) (Ullman,

Figure 2. Ilustration of the database working. (DatabaseJournal,2011)

Page 13

DISSERTATION REPORT May 5, 2011

3.5.2: MySQL
MySQL is a simple and powerful language to manipulate database systems (F7). The syntax is easy to use and complex searches can be done easily. There are five important commands or queries to create databases and tables (Ullman, 2005) Create – creates tables and databases. Select – allows the retrieval of information from one or more tables from the database. Insert – allows the insertion of new information into a table on the database. Update –allows the change of information already on the database. Delete –allows the deletion of data existing in a database table.

3.5.3: PHPMyAdmin
PHPMyAdmin is a tool written in PHP meant to control the administration of MySQL over the World Wide Web. It can complete numerous jobs such as creating, modifying or deleting databases, tables, fields or rows; performing SQL statements; or handling users and permissions.(phpMyAdmin, 2011)

3.5.4: Data Security
The system will be password protected (NF4), and all users will have access to their own data (F10). The only exception will be administrator that will have full access to the system. The passwords will be stored on the database that will be encrypted using the md5 (Message-Digest algorithm 5). MD5 is an extensively used cryptographic hash function with a 128-bit (16-byte) hash value and is also frequently used to check the integrity of files. (RFC 1321, 2011)

Page 14

DISSERTATION REPORT May 5, 2011

CHAPTER 4

REVIEW OF PREVIOUS WORK

4.1: Introduction
This section will review the previous webpage, starting with screenshots on figures 3 and 4, and concluding with some recommendations for improvement.

4.2: Screenshots

Figure 3. Screenshot of website main login page.

Page 15

DISSERTATION REPORT May 5, 2011

Figure 4. Screenshot after login

The screen shots on the figures 3 and 4 shows the existing system, one of the requirements for developing a new system is a existing system is not very attractive to the users. One of the reasons to develop a new system is because the actual system is not very appealing for the users and also after the users login to the next level is not very clear in what to do. Bellow it’s a table listing some benefits and drawbacks from the actual system and way the need for developing a new website.

Page 16

DISSERTATION REPORT May 5, 2011

System Properties Functionality clear for first time user Overall Usability and user friendliness Page Load Speed Accessibility from anywhere Use of Cascading Style Sheets (CSS) Table1. Actual System properties

Actual state of system

Key: How the properties reflect on this system? Not very good Good

4.3: Conclusion
The table 1 represents the major system properties, and where it could have some improvements. After reviewing the actual system, it’s clear the need of developing a new website. Whereas it’s a good structured website it’s lacking in user friendliness and also the first users are not very clear in what to do as soon they log in.

Page 17

DISSERTATION REPORT May 5, 2011

CHAPTER 5

SYSTEM REQUIREMENTS

5.1: Requirements
After analysing the existing system, the new system is described here as user cases. Use Cases are descriptions of steps or actions between a user and a software system. Below is drawn in a tabular format the use cases in order to make it more presentable these diagrams represents the functionality of the system by the user’s point of view. The functional requirements (what the system supposed to do) are numbered from F1 to F10 and non-functional (how the product should be implemented) requirements from NF1 to NF6

5.2: Functional Requirements
Functional Requirements Users Level 1 (year 1 students) Users Level 2 (Year 2 students) ☺ ☺ The table below is representing the use cases and the functional system requirements of the system to clarify the project. Use cases are used to represent the steps or actions between the system user and the system itself. User Level 3 (Administrator) Page 18

Post Jobs Edit posted jobs

F1 F2

-

DISSERTATION REPORT May 5, 2011 View posted jobs Apply for Jobs Upload CVs Create and delete users View and modify the main system database Set new levels to users Use the system at University, home or away Access to personal Information F3 F4 F5 F6 F7 F8 F9 F10 ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺ ☺

Table 1. Functional Requirements and use cases

5.3: Non-Functional Requirements
The following have been set as properties of the system in a non-functional term: NF1 The system is designed in a way that is understandable by new users, even unfamiliar with the system. NF2 System will run in different browsers NF3 The design will be easy to maintain and future upgrade NF4 The system will be secure with different levels of access to users NF5 The system will be documented in order to aid NF3 NF6 The system will run in different platforms ( different browsers) Table 2. Non- Functional Requirements As the system will be on the internet certain data will be stored on a database on the main server. The system will be written in PHP, due to its portability and objectoriented capabilities. This style is adopted in order to ensure that the users can reach the system from any machine connected to the internet (functional use requirement F9) and also portable across multiple platforms (non-functional requirement NF6).

5.4: Conclusion

Page 19

DISSERTATION REPORT May 5, 2011 This section deals with the user requirements in the system, the table 1 represents the use cases for the functional requirements and the table 2 represents the nonfunctional requirements of the system. The tabular format was chosen the make easier to understand.

CHAPTER 6

SYSTEM DESIGN

Page 20

DISSERTATION REPORT May 5, 2011 This section covers the design of the system in terms of GUI, database, and also illustrates some aspects of users levels. The time plan for this project has been visually expressed in the V-Model style in software engineering, this model can be considered as an extension to the waterfall model, the V-Model differs from the waterfall model on the testing phase, whereas the waterfall model follows phase by phase and testing on the end of the system, the V-Model each life cycle phase is associated with a test. The V-Model has been chosen for this project because if there is any mistake on the system development it’s easy to detect earlier than if using the waterfall model where

6.1: GUI Design
The graphical user interface was designed taking into consideration Nielsen’s Usability Heuristics (Nielsen, 1993), as one of the conditions to develop the web application is to ensure the user-friendliness. The Figure 6 illustrates the initial layout used in the design process.

Area where the contents of the web site changes.

Figure 6. General GUI Design

Page 21

DISSERTATION REPORT May 5, 2011 6.1.1: General Layout

All the pages have been developed using CSS, to keep the layout similar throughout the system and making easier to maintain and change the layout of the website and also reinforce the system requirement (NF3). All the windows have a grey colour background, overlaid with a white background. The fonts used are Arial, Helvetica or sans-serif (either one is present on the local system). The font-size is set to 12px. There are three HTML header sizes (H1, H2, H3) assigned conditional to the importance of the information displayed on the web site. Figure 7 reviews the information above.

MENU LOGO

AREA WHERE THE CONTENTS CHANGE

LINKS

Figure 7. The layout of components in the system.

6.2: Database Design

Page 22

DISSERTATION REPORT May 5, 2011 The figures 8 and 9 show the design for the database tables. The tables have been normalized to minimize the unnecessary repetition. “The purpose of database normalization is to break down relations with anomalies in order to create smaller, well-structured relations.”(Wikipedia,2011)

Login us ernam e* c_id com pany_id* s_name email password year_id

post_activity id* a_description a_details company_id* c_details

**log in.us ernam e

*Log in.com pany_id

post_job id* job_title description company_id

**log in.us ernam e

upload id* title description data filenam e filesize file_type

**log in.us ernam e

Figure 8. Tables Login,post_activity, post_job and upload.

TAB K : LES EY DatabaseTable 1 Prim aryK ey(R eferenced)** FieldTable1 AnotherFieldTablke 1 DatabaseTable 2 Prim aryK ey(NotR eferenced)* FieldTable2 R eferences AnotherFieldTablke 1

Table.F ield**

Figure 9. Database Design Tables Key

6.2.1: Table: Login
This table holds information on each user registered by the administrator on the database. The information stored are the company id, username, student name, e-

Page 23

DISSERTATION REPORT May 5, 2011 mail, password and year id (identifies the level of access the user have). The ID for this table is generated automatically by the system.

6.2.2: Table: Post_activity
This table holds the posts done by all the students, this is a log book used to control the students day-to-day activities. This table has five fields described on the table 3. Table Field id a_description Description This is an auto increment field. This field is the activity description ID, the activity main page will have a drop down menu and each activity will have an ID that is stored on the database. It goes from a1 to a12. a01=Traveling for business a02=Team meeting a03=Analysis a04=Research a05=Drafting documentation a06=General administration a07=Writing up meeting a08=Preparing documentation for client a09=Drafting and sending emails a10=Telephone conversation(put who in notes) a11=Information elicitation interviews a_details company_id c_details a12=Meeting with client This field is a text box where the students can describe their activities. This is the company ID number and is referred to the table login. This is a drop down menu where each activity has an id from c01 to c05

Page 24

DISSERTATION REPORT May 5, 2011 c01=Face-to-face c02=Mobile-Phone c03=E-mail c04=Electronic chat/Facebook c05=No team communication Table 4. Description of the post_activity table on the database

6.2.3: Table: Post_job
This table will hold the jobs that will be posted by the year 2 students; the field id is the primary key the table 5 will describe each field of the database table. Table Field id Description This field is the primary key and also is an auto increment field, where the system generates automatic the id with every new file job_title uploaded. This field holds the title of the job that all students and the system administrator will see as a list online with a link to each particular description job. This field is a description of the job that will be uploaded to the database. This is visible to all users but only the year 1 students can company_id apply for the jobs by uploading CVs to specific jobs. This field holds the company id; this field is also referred to the

company id on the login table. Table 5. Description of the post_job table on the database.

6.2.4: Table: Upload

Page 25

DISSERTATION REPORT May 5, 2011 This table holds the files uploaded by the students of year 1; these files are only text files, as the students have to post CVs for each job they apply for. These files are stored on the database and only year 2 students or the administrator can see then. The table 6 will describe each field of the database table. Table Field Description id Is an auto increment field, where the system generates automatic the id title description data filename filesize file_type with every new file uploaded. This field is for the students to name the file there is uploading as convenient to then. A brief description of the file uploaded. This is the type of data uploaded. Here is used longblob that ranges up to 4G. This field holds the name of the file uploaded, not the same as the title, here is the actual file name. This field holds the actual size of the size uploaded into database. This field holds the type of file uploaded to the database, on the system

is only allowed the text files. Table 6. Description of the upload table on the database.

6.4: Conclusion
The system is designed using the v model, this model is used because it enables to the system to be tested along with the development. This helps to detect errors earlier, and prevent extra costs and delays on the project. The GUI is based on the Nielsen’s Heuristics, and is done this way to aid a better user interface design and create a user friendly website.

CHAPTER 7

SYSTEM IMPLEMENTATION

Page 26

DISSERTATION REPORT May 5, 2011

7.1: The Login System
The login system has been implemented using PHP script; this language is used in HTML pages. The login page have two levels of access, one for year one and another for year two. This levels have been created by modifying the login.proc file as it shows on the figure 10, it has been added a new header function giving two options of login as it shows highlighted on the figure 10. When a user logs in and is year 1 the year_id established on the database table login as it shows on the figure 8, it goes to years 1 only page, and when a user logs in with year id equals 2 it goes to years two webpage, otherwise it goes back to main login page. The function that connects to the database (hostname, login, username and password) is kept on a separate file from the login.proc called config.inc, this is done this way to protect these details, figure 11 shows this file. <?php // Inialize session session_start(); // Include database connection settings include('config.inc'); // Retrieve username and password from database according to user's input $login = mysql_query("SELECT * FROM login WHERE (username = '" . mysql_real_escape_string($_POST['username']) . "') and (password = '" . mysql_real_escape_string(md5($_POST['password'])) . "')"); // Check username and password match if (mysql_num_rows($login) == 1) { // Set username session variable $_SESSION['username'] = $_POST['username']; $row = mysql_fetch_assoc($login);

Page 27

DISSERTATION REPORT May 5, 2011 if($row['year_id']==1) { // Jump to secured page } else { // Jump to secured page for first year students header('Location: year2homepage.php'); } } else { // Jump to login page header('Location: index.php'); } mysql_free_result($login); ?> Figure 10. Login.proc file source code. <?php $hostname = 'localhost'; $username = 'root'; $password = '131520'; // Connect to host mysql_connect($hostname, $username, $password) or DIE('Connection to host is failed, perhaps the service is down!'); // Select the database mysql_select_db($dbname) or DIE('Database name is not available!'); // Your MySQL hostname. // Your database username. // Your database password. for second year students header('Location: year1homepage.php');

$dbname = 'business_project'; // Your database name.

Page 28

DISSERTATION REPORT May 5, 2011 ?> Figure 11. Source code for the login.proc file

7.2: Querying the Database
The project required a construction of a set of tools to make connection and manipulating the database. A selection of MySQL specific queries have been used to do this specific job. In order to access the database the same query is used to all pages developed, making easy to maintain and future upgrade (NF3). Below highlighted on figure 12 is an example on how the PHP files are written. <?php # ensure all fields have entries if( $s_id and $a_description and $a_details) { # connect to MySQL $conn=@mysql_connect("localhost", "root", "131520") or die("Err:Conn"); # select the specified database $rs=@mysql_select_db("business_project", $conn) or die("Err:Db"); # create the query $sql="insert into post_activity (s_id, a_description, a_details) values ( \"$s_id\", \"$a_description\", \"$a_details\" )"; # execute the query

Page 29

DISSERTATION REPORT May 5, 2011 $rs1=mysql_query($sql,$conn); # confirm the added record details print "<head></head><body><b>Record for $s_id successfully added to the database</b></body>"; } ?> Figure 12. Database Query

7.3: Problems with the System
All the information that is used by the system is input via HTML forms. These forms were sometimes in single pages and sometimes over several pages. In order to pass this forms information to the database PHP is used and a way to keep the users records is needed (which is one of main problems encountered on this project). As the HTTP is a stateless technology, meaning that each individual HTML page is an isolated entity. HTTP has no method for tracking users or holding variables as somebody go across a site. Using a web scripting language like PHP, it disables the statelessness of the web. From a few options to choose, the most used ones are cookies and sessions. (Ullman, 2005)

7.3.1: Description of the problem
One of the main problems was doing the login page were the users needed to have levels of access and when a user login and navigates for through the pages the server could track the user, and make custom personalization to the specific user, and the most important only the users with login and password could see through the web pages. Cookies and session could be used to do this job; sessions improve upon cookies, letting the web application to store and retrieve far more information than cookies.

Page 30

DISSERTATION REPORT May 5, 2011

7.3.2: Strategy
The use of sessions was chosen to overcome this problem. This like cookies is a method of making data available to multiple pages of a web site. The principle of a session is that data is stored on the server, not in the web browser, and a session identifier is used to locate a particular user’s record (session data). This session identifier is normally stored in the web browser via a cookie, but the sensitive data itself―like the user’s ID, name, and so on―always remains on the server. So why use session if cookies work fine? Firstly because sessions are more secure in that all the recorded information is stored on the server and not continually sent back and forth between the server and the client. Secondly, some users reject cookies or turn then off completely. Sessions, while designed to work with cookie, can function without them. (Ullman, 2005) The figure 13 shows the use of a session starting by calling the session_start() function. This session tell the PHP to either begin a new session or use the existing one, on this case will use the use the existent session. // Inialize session session_start(); // Check, if username session is NOT set then this page will jump to login page if (!isset($_SESSION['username'])) { header('Location: index.php'); } Figure 13. The use of session.

7.4: System Screen-Shoots of the System

Page 31

DISSERTATION REPORT May 5, 2011

Figure 14. Main Page (login page)

7.4.1: Year 2 Students Screen-shoots

Page 32

DISSERTATION REPORT May 5, 2011

Figure 15. Year 2 students Login showing the user name and the company they belong to.

Figure 16. Year 2 students posting a job page

Page 33

DISSERTATION REPORT May 5, 2011

Figure 17. List of jobs posted by the year 2 students

Figure 18. Job Details Year 2 students can see the jobs they posted.

7.4.2: Year 1 Students Screen-shoots

Page 34

DISSERTATION REPORT May 5, 2011

Figure 19. Login as studend of year 1

Figure 20. List of jobs available.

Page 35

DISSERTATION REPORT May 5, 2011

Figure 21. Description of the job.

Figure 22. CVs upload page.

Page 36

DISSERTATION REPORT May 5, 2011

Figure 23. File being uploaded.

7.4.3: Log Book screen shoots for all students

Figure 24. Log Book page

Page 37

DISSERTATION REPORT May 5, 2011

Figure 25. Log Book page 2

7.5: Conclusion
This chapter described the tools used to access the database and how the information will be transferred from the user to the database. Also the main problem while doing this project and finishing with the screen shoots of the finished system.

Page 38

DISSERTATION REPORT May 5, 2011

CHAPTER 8

TESTING
Testing has been performed in order to ensure that the system would accomplish its functions as set out in the requirements. There are two different ways of testing a system, the white-box testing were requires the access the source code, and the black-box testing, which looks at what the system is supposed to do. On this testing the specific knowledge of the application's code/internal structure and programming knowledge in general is not required. On this system the black box testing, usability testing and data integrity testing will be performed.

8.1: Black Box Testing
Test No 01 Validation on login form for all students If any input is blank it should return to login page If a field is left blank and the users submits the system will go back to 02 Validation on login form input details for all 03 students Validation on register form If details match those in the database, then it logs in, otherwise it goes back to login page If any input is blank it should return an error message initial page Validation compares against details in the database, stays at login page otherwise An error messages does not shows if there is a blank field Fail Pass Description Expected result Actual result Pass/ Fail Pass

Page 39

DISSERTATION REPORT May 5, 2011 04 Year 2 students log in to the system and company name shows on the 05 welcome page Year 2 students log in to the system and company name shows on the 06 welcome page Year 2 students can save jobs to 07 the database Year 2 students can save jobs to 08 the database All users are able to see a list of jobs saved on the database If year 2 students fill the form the information is saved on the database If year 2 students fill the form the information is saved on the database All the jobs saved on the database are called from the database and displayed on a list with links to each specific job All the information is not saved on the database. All the information is saved on the database. All the jobs saved on the database are called from the database and displayed on a list without links to each specific job. Error message: “cannot connect to the 09 All users are able to see a list of jobs saved on the database All the jobs saved on the database are called from the database and displayed on a list with database”. All the jobs saved on the database are called from the database and Pass Fail Pass Fail If year 2 students login to The company name the system the company they belong displays on the top of the page does shows on top of the page Pass If year 2 students login to The company name the system the company they belong displays on the top of the page do not show, and an error message appears Fail

Page 40

DISSERTATION REPORT May 5, 2011 links to each specific job displayed on a list with links to each 10 All users can click on the jobs links and see the job description, but only year 1 students can apply to the jobs 11 posted Only text files are allowed for upload, not pictures or other 12 files Year 1 students uploading files Only text files are allowed for upload, if trying to download a different file it shows an error message When year 1 students apply for a specific job, the CV can be uploaded and saved on the 13 Year 1 students uploading files database. When year 1 students apply for a specific job, the CV can be uploaded and saved on the 14 Validation on entry form All users can post on the log book session database If any input is blank it should return an error message All information entered on the forms on the log book session is sent to the database Any blank fields does not return an error message Information entered on the forms of the log book session is not sent to the Fail Fail The file is saved on the temp file and them to the database Pass All users can click on the jobs links and see the job description, but only year 1 students can apply to the jobs posted specific job All users can click on the jobs links and see the job description, only showing the apply button for year 1 students When trying to download a different type of file an error message display. The file is saved on the temp file instead of the database Fail Pass Pass

Page 41

DISSERTATION REPORT May 5, 2011 database 15 All users can post on the log book session All information entered on the forms on the log book session is sent to the database Information entered on the forms of the log book session is not sent to the database and error message displays that cannot connect 16 All users can post on the log book session All information entered on the forms on the log book session is sent to the database 17 All users can post on the log book session All information entered on the forms on the log book session is sent to the database to the database. Information entered on the forms, shows that has been send to the database but is not in the database Information entered on the forms, shows that has been send to the database but is not saved in the database and a blank 18 All users can post on the log book session 19 When users login and can see their posts 20 on the log book Removing jobs All information entered on the forms on the log book session is sent to the database Users’ login and can see their posts on the log book. If a job is not needed anymore only the site administrator can delete page displays. Information entered on the forms, is send and saved to the database. Users’ login and can see their posts on the log book. Jobs are deleted from the database. Pass Pass Pass Fail Fail Fail

Page 42

DISSERTATION REPORT May 5, 2011 the jobs via database.

21

Adding new user

Users will be added by the system administrator via phpMyAdmin

Users will be added by the system administrator via phpMyAdmin User’s information added to the database.

Pass

22

Users information

All the users’ information will be added by the website administrator via phpMyAdmin, including the password which will be stored using md5 encryption. Only the system administrator can edit the users account details via pfpMyAdmin. Wen logout button is pressed, it logs the user out

Pass

23

Edit account

Users information can be edited.

Pass

24

Logout

When logout button is pressed, it logs the user out of the system. If user is not logged the system, they are redirected to the login page Error message: no SMTP server setup

Pass

25

Entering the system without logging in

If a user tries to enter the and they are logged out, it should take them to the

Pass

system via a certain page, in and try to enter

26

login page Forgot password When user enters their email, it sends them an email with their password

Fail

Page 43

DISSERTATION REPORT May 5, 2011

8.1.1.: Text Areas
All text area applied in the system, the user does not have to enter anything on them, they are compulsory for the process to continue. This is done this way because of lack of knowledge of doing in a different way; this could be a possible improvement for the future work.

8.1.2: Password Fields
Password fields are used when logging in the system. Password fields always need to be filled. The main test that is done on them is whether the user has entered any value and whether the value entered for the combination of two field’s (username and password) match with the database.

8.1.3: Text Fields
Text fields are very important information into the system. As the text area the user does not have to enter anything on them, they are compulsory for the process to continue. This also could be a possible improvement for the future work.

8.2: Usability Test
Usability testing was conducted by allowing users to test the system. Because the system was not ready on the time planned it couldn’t be tested by all the students, instead friends have been used to do this testing. Initially users complained that the login page did not have any way of recovering the password in case of forgetting it. If a user forgets a password the system administrator has to re send the password via e-mail again. The system has been done this way because was required that the users login with the university user IDs, but

Page 44

DISSERTATION REPORT May 5, 2011 could be changed in the future allowing the students to create their usernames and passwords. Another idea suggested was to display an error message or a warning if any entry was not entered on the login and all the other forms on the system, this could be added later into the system. Overall, the usability of the system was OK. There are a few problems with the forms and error display messages that would call for a redesign in order to make the system better. The placement of error or warning messages would benefit the system as a whole.

8.4: Conclusion
Testing the text fields, password fields and text areas have been conducted in order to validate the data to be kept on the database. The main reason for a black box testing is to test the functionality of the system as a whole. Also these tests are used to demonstrate that the input is properly accepted and output is correctly produced, and that the integrity of external information is maintained. (Product Developers, 2011)

CHAPTER 9

CONCLUSION

9.1: Achievements
There were several objectives to be accomplished on this project which most of them successfully completed. The main achievements were:

Page 45

DISSERTATION REPORT May 5, 2011 • • • • • Creation of a system that not only works but also is user friendly. Implementation of a set of Query classes to access and manipulate the database. Used the learned skills during the last two years and apply the technology of PHP, CSS, HTML, MySQL, Apache Server, between other. Developed a database were users can save their data securely. Use the principle of e-learning to aid the development of the system.

9.2: Evaluation
Certainly this project could not have been more exciting, sometimes being challenged to the limit of your abilities to improve yourself and do better. Many times working under pressure, but all of this is a part of learning and makes this project even more special. The work was mostly gone according to the plan, with some problems when passing the system from the local server where it was being developed to the University server; this caused a big problem and result in not delivering the project on time required by the students. This was very frustrating but did not permit the failure of the project. The opportunity to research into e-learning and collaborative learning patterns and use it to aid the development of this project was very interesting. E-learning was one of the principles of this project as the system being online on the World Wide Web, delivering student’s information and playing an active role in the way they learn. The use of collaborative learning ideology also was very important because this project had an effect on the year one and two students which were working in a collaborative way to reach the end of their project. It was very interesting also, to read about Computer-supported collaborative learning which is an emerging branch of the learning sciences concerned with studying how

Page 46

DISSERTATION REPORT May 5, 2011 people can learn together with the help of computers.(Stahl, G., Koschmann, T., & Suthers, D., 2006).

9.3: Future Development
If the work had to start again, it could be better in many ways. Firstly in the login page a way of recovering a lost or forgotten password could be included, as well as error messages or warning messages if any field left in blank. The text field boxes could be improved by adding a word count and when reaching the limit of the words a warning message could be displayed. The most important step, when looking into the future, is maybe that this project should be implemented by creating back end structure were the website administrator did not have to go in the phpMyAdmin to add, edit or delete users. Furthermore when a year 2 student posted a job a button to edit or delete the job posted could be added to facilitate in case or mistakes done when posting a job.

BIBLIOGRAPHY
Berge, Z., & Collins, M.P. (Eds.). (1995). Computer-mediated communications and the online classroom, Vol. III: Distance Learning. Cresskill, NJ: Hampton Press. Cahoon, B. (1998). New directions for adult and continuing education, summer, No. 78, Adult Learning and the Internet. San Francisco: Jossey-Bass. Chiu, M. M. (2000). Group problem solving processes: Social interactions and individual actions. Journal for the Theory of Social Behavior, 30, 1, 27-50.600-631.

Page 47

DISSERTATION REPORT May 5, 2011

Chiu, M. M. (2008). Flowing toward correct contributions during groups' mathematics problem solving: A statistical discourse analysis. Journal of the Learning Sciences, 17 (3), 415 - 463. Chiu, M. M. (2008). Effects of argumentation on group micro-creativity. Contemporary Educational Psychology, 33, 383 – 402. CodeBetter[online].Available:http://codebetter.com/blogs/raymond.lewallen/archive/ 2005/07/13/129114.aspx [Accessed 23 April,2010]. Collaborative0Learning0Org.[online].Available: April,2010]. Collis, B. (1996). Tele-learning in a digital world: The future of distance learning. New York: International Thomson Computer Press. Cyrs, T.E. (Ed.). (1997). New directions in teaching & learning, fall, No. 71, Teaching & learning at a distance: What it takes to effectively design, deliver, & evaluate programs. Database0Journal.0[Online],0Available:http://www.databasejournal.com/features/my sql/article.php/1402281/Build-Your-Own-Database-Driven-Website-Using-PHP-MySQL-Pt-4.htm [Accessed 27 March 2010]. Daily Blog Tips. [Online], n.d. Available: http://www.dailyblogtips.com/userfriendly-website/ [Accessed 28 November 2010]. http://collaborative[Accessed 15

learning.org/collaborative-learning-as-a-teaching-philosophy.html

Page 48

DISSERTATION REPORT May 5, 2011 Dillenbourg, P. (1999). Collaborative Learning: Cognitive and Computational Approaches. Advances in Learning and Instruction Series. New York, NY: Elsevier Science, Inc. Eastman, D.V. (1995). Alone but together: Adult distance study by computer conferencing. Cresskill, NJ: Hampton Press. Henshaw, P. (2010) ICT and the future of education [Online], Available from http://www.sec-ed.co.uk/downloads/dell.pdf [Accessed 28 October 2010]. Hmelo-Silver, C.E. (2006). Analyzing collaborative learning: Multiple approaches to understanding processes and outcomes. Proceedings of the 7th international conference on Learning sciences, USA, 1059-1065. ISBN:0-8058-6174-2 Hockinson, [Online]. Available: http://www.hockinson.com/index.php?s=32

[Accessed 28 November 2010] HTMLOrg, [Online]. Available: http://html5.org/ [Accessed 28 November 2010] Leung, Hareton K. N.(2003) 'Evaluating the Effectiveness of e-Learning', Computer Science Education, 13: 2, 123 — 136 Leigh b., MacGregor T. (1992). Collaborative Learning: A Sourcebook for Higher Education. National Centre on Postsecondary Teaching, Learning, and Assessment at Pennsylvania State University. Mitnik, R., Recabarren, M., Nussbaum, M., & Soto, A. (2009). Collaborative Robotic Instruction: A Graph Teaching Experience. Computers & Education, 53(2), 330-342. Nielsen, J. (1993). “Usability Engineering” – Academic Press

Page 49

DISSERTATION REPORT May 5, 2011

phpMyAdmin,

[Online].

Available:

http://www.phpmyadmin.net/home_page/

[Accessed 28 April 2010] Porter, L.R. (1997). Creating the virtual classroom: Distance learning with the internet. New York: Wiley Computer Publishing, John Wiley & Sons, Inc. Product Developers, [Online]. Available: http://productdevelop.blogspot.com/

[Accessed 05 April 2010] RFC 1321, section 3.4, "Step 4. Process Message in 16-Word Blocks", page 5. Stahl, G., Koschmann, T., & Suthers, D. (2006). Computer-supported collaborative learning: An historical perspective. In R. K. Sawyer (Ed.), Cambridge handbook of the learning sciences (pp. 409-426). Cambridge, UK: Cambridge University Press. Ullman, L. (2005). PHP and MySQL for Dynamic Web Sites. New York: Peachpit Press, University0of0Edunburgho[Online],0n.d.0Available:0www.projects.ed.ac.uk/.../Pr ojectProposal20067_UWS.doc [accessed 28 November 2010]. Volery, T., & Lord, D. (2000). Critical success factors in online education. International Journal of Educational Management, 14(5), 216–223. WebCT homepages. (2002). [Online] http://www.webct.com [Accessed 10 April 2011]. Webopedia0homepages(2011).0[Online]0Available:http://www.webopedia.com/TE RM/A/Apache_Web_server.html [Accessed 10 April 2011].

Page 50

DISSERTATION REPORT May 5, 2011 Webucator0homepages(2011).0[Online]0Available:0http://www.learnphptutorial.com/ [Accessed 10 April 2011]. Whittington, D. (2000). Evaluating three years’ use of virtual university. Quality Assurance in Education, 8(1), 48–52. Wikipedia0[Online],0n.d.0Available:http://en.wikipedia.org/wiki/VModel_(software_development) [Accessed 28 November 2010]. WMTips.0[Online],0n.d.0Available:0WikipediaOhttp://www.wmtips.com/css/advant ages-using-css.htm [Accessed 28 November 2010].

APPENDIX I – TIME PLAN
TIME PLAN BREAKDOWN

PROJECT PLAN
Project Name: Business Project for Years 1&2 Database Project Manager: Maria Cisilotto Planned Start Date:25/10/2010 Planned Finish Date:05/05/2011

Page 51

DISSERTATION REPORT May 5, 2011
ID Summary Task Name INITIATION Establish Project Requirements Duration 2 weeks Duration Start Finish

1 1.1 1.1.1 1.1.2 1.1.3 1.1.4 2
2.2

Mon 25/10/2011

Mon 08/11/2010

Identify Project Scope Identify Project Structure Identify Project Processes Document Project Requirements
PLANNING Create Project Plan 1 week Tue 02/11/2010 Tue 09/11/2010

2.1.1 Identify Phases 2.1.2 Identify Activities 2.1.3 Identify Tasks 2.1.4 Document Project Plan 3 EXECUTION 3.1 Build/Design Deliverables 3.1.1 System Design/ Layout 2 weeks 3.1.2 Database and back-end development(Use of DFD and ERD)2 weeks 3.1.3 Testing the back-end development 1 day 3.1.4 Back-end modifications 2 days 3.1.5 Testing the back-end Modifications 1 day 3.1.6 Project Designs 2 weeks 3.1.7 Front-end development 1 day 3.1.8 Testing front-end development 1 day 3.1.9 Front-end modifications 1 day 3.1.10 Testing front-end modifications 1 day 3.1.11 Students Activities Monitoring page development 1 Week 3.1.12 Testing Students Activities Monitoring page 1 day 3.1.13 Students Activities Monitoring page modifications 2 days 1.1.14 Testing Students Activities Monitoring page modifications 1 day 3.1.15 Test Project Deliverables 2 days
3.1.16

Mon 15/11/2010 Tue 14/12/2010 Tue 28/12/2010 Wed 29/12/2010 Tue 04/01/2011 Thu 06/01/2011 Mon 24/01/2011 Wed 26/01/2011 Thu 27/01/2011 Mon 31/01/2011 Mon 24/01/2011 Tue 01/02/2011 Wed 02/02/2011 Fri 04/02/2011 Mon 07/02/2011
Mon 15/11/2010

Mon 29/11/2010 Tue 28/12/2010 Wed 29/12/2010 Fri 31/12/2010 Wed 05/01/2011 Thu 20/01/2011 Tue 25/01/2011 Thu 27/01/2011 Fri 28/01/2011 Tue 01/02/2011 Mon 31/01/2011 Wed 02/02/2011 Fri 04/02/2011 Sat 05/02/2011 Wed 09/02/2011
Wed 09/02/2011

4 4.1 4.1.1 4.1.2

Implement Project Deliverables CLOSURE Perform Project Closure Evaluation Project Final Report

63 days

1 day 1 day

Mon 14/02/2011 Wed 16/02/2011

Tue 15/02/2011 Thu 17/02/2011

Page 52

DISSERTATION REPORT May 5, 2011
TASK ID TASK 1 TASK 2 TASK 3 TASK 4 TASK 5 TASK 6 TASK 7 TASK 8 TASK 9 TASK 10 TASK 11 TASK 12 TASK 13 TASK 14 TASK 15 TASK 16 TASK 20 TASK 21 TASK 22
Task Name System Design/ Layout Database and back-end development(Use of DFD and ERD) Testing the back-end development Back-end modifications Testing the back-end Modifications Project Designs Front-end development Testing front-end development Front-end modifications Testing front-end modifications Students Activities Monitoring page development Testing Students Activities Monitoring page Students Activities Monitoring page modifications Testing Students Activities Monitoring page modifications Start Date 15/11/10 14/12/10 28/12/10 29/12/10 4/1/11 6/1/11 24/1/11 26/1/11 27/1/11 31/1/11 24/1/11 1/2/11 2/2/11 4/2/11 7/2/11 10/3/11 15/11/10 28/03/2011 28/03/2011 Duration (days) 14 14 1 2 1 14 1 1 1 1 7 1 2 1 2 1 64 1 1 End Date 29/11/2010 28/12/2010 29/12/2010 31/12/2010 05/01/2011 20/01/2011 25/01/2011 27/01/2011 28/01/2011 01/02/2011 31/01/2011 02/02/2011 04/02/2011 05/02/2011 09/02/2011 11/03/2011 09/02/2011 29/03/2011 29/03/2011

Test Project Deliverables
Implement Project Deliverables Implement Project Deliverables Evaluation Project Learning outcomes

Gantt chart

Page 53

DISSERTATION REPORT May 5, 2011

APPENDIX II – SOURCE CODE

1-default.css
/* Main Layout Styles */ body {background: #EBEBEB; font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #666;} .right {float: right;} .left {float: left;} img {border: none;} ul, li {margin: 0; padding: 0; list-style: none;} form {margin: 0; padding: 0;} a {color:#0088B5; font-weight: bold; } a:hover {color: #0078A0; } #container {width: 930px; padding: 15px; -moz-border-radius: 13px; background: #fff; margin: 10px auto; overflow: auto;} #content {width: 930px; overflow: auto;} #header {width: 930px; height: 55px;} .logo {margin: 15px; float: left;} ul#toplinks {float: right; color: #999; margin: 0; padding: 0; list-style: none;} ul#toplinks li {float: right; margin: 3px 0 0 10px;} ul#toplinks a { color: #999; font-weight: normal;} ul#toplinks a:hover { color: #666; font-weight: normal;} #nav {padding: 0; width: 910px; background: #008DBC

url(images/bg_nav.png) repeat-x bottom; padding: 9px 0 10px 20px; -moz-borderradius: 10px; color: #fff; height: 12px; margin: 15px 0;}

Page 54

DISSERTATION REPORT May 5, 2011 #nav li {padding-right: 20px; float: left; display: block;} #nav a {color: #fff; text-decoration: none; font-weight: normal;} #nav a:hover {color: #33CCFF;} #footer {width: 960px; text-align: center; margin: 10px auto; padding-bottom: 15px; clear: both;} #footer ul {width: 380px; margin: 0 auto;} #footer li{float: left; margin-right: 20px;} #footer li a{color: #999;} /* Homepage Styles */ #topbox color: #fff;} #topbox h4 {color: #fff; font-size: 20px; letter-spacing: -1px; margin: 0; padding: 0 0 5px 0; } #topbox input {border: 1px solid #0093C4; padding: 3px 3px; width: 230px;} #topbox select {margin-left: 3px;} #topbox .btn {padding: 3px 5px; background: #004055; color: #fff; border: none; -moz-border-radius: 3px; position:absolute; margin-left: 5px; cursor: pointer; width: 60px; font-size: 11px;} #topbox .btn:hover {background: #005773; } #tbleft {float: left; width: 450px; padding: 15px 0 0 10px;} #tbleft .tld {width: 75px;} #tbright {font-size: 12px; float: right; width: 390px; border-left: 1px solid #00ACE5; padding-left: 15px;} #tbright #boxleft {float: left; width: 225px;} #tbright input {width: 145px; margin: 5px 0 0 5px;} {width: 890px; padding: 20px; -moz-border-radius: 10px;

background: #00ACE6 url(images/bg_fptopbox.png) repeat-x bottom; overflow: auto;

Page 55

DISSERTATION REPORT May 5, 2011 #tbright p {float: right; margin: 0; padding: 0;} #tbright p.link {float: left; margin: 13px 0 0 10px; font-size: 11px; padding: 0;} #tbright a {color: #fff; text-decoration: underline;} ul#promobox {width: 930px; position: relative; float: left; margin-bottom: 15px;} ul#promobox p {margin: 0; padding: 0;} ul#promobox li {width: 270px; padding: 20px 10px 20px 20px; float: left; background: #008DBC url(images/bg_promo1.png) repeat-x bottom; margin: 15px 15px 0 0; -moz-border-radius: 10px; color: #fff; } ul#promobox ul {margin: 0 0 10px 0;} ul#promobox li ul li {margin: 5px 0 0 0; background: url(images/bullet.png) no-repeat left center; padding: 0 0 0 10px; width: 250px;} ul#promobox li h3 {line-height: 1; color: #fff; letter-spacing: -1px; font-size: 25px; float: left; margin: 0; padding: 0 0 3px 0;} ul#promobox li .pricebox {line-height: 1; float: right; textalign: center; padding-right: 10px;} ul#promobox li .pricebox .lrg {line-height: 1; letter-spacing: -1px; font-size: 35px; font-weight: bold; margin: 0; padding: 0;} ul#promobox a {background: #004055; color: #fff; margin: 15px 10px 0 0; padding: 5px 10px; text-decoration: none; -moz-border-radius: 5px; font-weight: normal;} ul#promobox a:hover {background: #005773;} .jobslist { background:none !important; padding:0 !important; float:none !important; margin-top: 20px !important; } .promobox2 { width: 500px !important; background:#008DBC !important; padding: 20px 10px 20px 20px !important; float:middle !important; margin: 15px 10px 0 0 !important; } .promobox3 { width: 300px !important; background:#008DBC !important; padding: 20px 10px 20px 20px !important; float:middle !important;

Page 56

DISSERTATION REPORT May 5, 2011 margin: 15px 10px 0 0 !important; } ul#promobox ul#promobox li.three li.two{background: {margin-right: 0; background: #00ACE6 #09C1FF

url(images/bg_promo2.png) repeat-x bottom;} url(images/bg_promo3.png) repeat-x bottom;} #newsbox {width: 575px; padding: 20px; background: #f7f7f7; float: left; -moz-border-radius: 10px;} #newsbox p {margin: 0; padding: 0;} #newsbox h5 {font-size: 25px; letter-spacing: -1px; color: #006C91; margin: 0; padding: 0; line-height: 1;} #newsbox h6 a {font-size: 14px; letter-spacing: -1px; color: #006C91; margin: 0; padding: 0; line-height: 1;} #newsbox h6 {margin-bottom: 2px; padding: 0; line-height: 1;} #newsbox li {margin-top: 15px; line-height: 1.5em;} #newsbox .rss a{float: right; margin: 3px 8px 0 0; color: #999; fontweight: normal;} #quotes {width: 260px; padding: 20px; float: right; background: #09C1FF url(images/bg_promo3.png) repeat-x bottom; -moz-border-radius: 10px; color: #fff;} #quotes p {margin: 0; padding: 0;} #quotes h3 {line-height: 1; letter-spacing: -1px; font-size: 25px; margin: 0; padding: 0;} #quotes li {margin-top: 17px; font-size: 17px; font-weight: bold; letter-spacing: -1px;} #quotes a {float: left; color: #fff; padding: 0; margin-top: 15px;}

2- index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

Page 57

DISSERTATION REPORT May 5, 2011 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Business Project</title> <link rel="stylesheet" type="text/css" href="default.css"/> </head> <body> <div id="container"> <div id="header"> <ul id="toplinks"> </ul> <img src="uni_logo.jpg" width="168" height="68" alt="Logo" /></div> <div id="nav"> <ul> <li><a href="index.php">Home</a></li> <li><a href="content.html">Contact </a></li> </ul> </div> <div id="topbox"> <div id="tbleft"> <h4> Welcome to the Business Project Webpage</h4> </div> <div id="tbright"> <form method="POST" action="loginproc.php"> <div id="boxleft"> <p><label for="username">Username:</label><input name="username" type="text" value="" id="username" /></p> <p><label for="password">Password:</label><input

Page 58

DISSERTATION REPORT May 5, 2011 type="password" name="password" value="" id="password" /></p> </div> <div id="boxright"> <input name="Login" type="submit" class="btn" value="submit" style="position: relative;"/></div> </form> </div> </div> <p>&nbsp;</p> <div id="newsbox"> <h5>Introduction to the Project</h5> <ul> <li> <h6><a href="content.html">Project Overview:</a></h6> <p>This project is unique in that is designed to allow collaboration between 1st and 2nd years students in the BITE department,</p> </li> <li> <h6><a href="content.html">News story title would go here</a></h6> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p> </li> <li> <h6><a href="content.html">News story title would go here</a></h6> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p> </li> </ul> </div> <p>&nbsp;</p> <img src="medway2.jpg" alt="Logo" /></p>

Page 59

DISSERTATION REPORT May 5, 2011 </div> <p>&nbsp;</p> </div> <div id="footer"> <ul> <li><a href="http://www2.gre.ac.uk">University Of Greenwich</a></li> <li><a href="https://portal.gre.ac.uk/cp/home/displaylogin">Student Portal</a></li> <li><a href="http://wwww.gre.ac.uk/students/get">GET</a></li> </ul> </div> </body> </html>

3-year1homepage.php
<?php // Inialize session session_start(); // Check, if username session is NOT set then this page will jump to login page if (!isset($_SESSION['username'])) { header('Location: index.php'); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Page 60

DISSERTATION REPORT May 5, 2011 <title>Hosting Template</title> <link rel="stylesheet" type="text/css" href="default.css"/> </head> <body> <div id="container"> <div id="header"> <ul id="toplinks"> <li><a href="logout.php">Logout</a></li> </ul> <img src="uni_logo.jpg" width="168" height="68" alt="Logo" /></div> <div id="nav"> <ul> <li><a href="index.php">Home</a></li> <li><a href="content.html">Contact </a></li> </ul> </div> <ul id="promobox"> <p><b>Username: <b><?php echo $_SESSION['username']; ?></b><p> <li> <p><a href="show_jobsbynameCO.php" title="Post Jobs">Jobs Available</a></p> </li> <li> <p><a href="post_activity1.php" title="Log Book">Log Book</a><a Logs</a></p> </li> <p>&nbsp;</p> <img src="medway2.jpg" alt="Logo" /></p> </ul> </div> href="show_activitiesbystudent.php" title="See Logs">See

Page 61

DISSERTATION REPORT May 5, 2011 <div id="footer"> <ul> <li><a href="http://www2.gre.ac.uk">University Of Greenwich</a></li> <li><a href="https://portal.gre.ac.uk/cp/home/displaylogin">Student Portal</a></li> <li><a href="http://wwww.gre.ac.uk/students/get">GET</a></li> </ul> </div> </body> </html>

4- year2homepage.php
<?php // Inialize session session_start(); // Check, if username session is NOT set then this page will jump to login page if (!isset($_SESSION['username'])) { header('Location: index.php'); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Hosting Template</title>

Page 62

DISSERTATION REPORT May 5, 2011 <link rel="stylesheet" type="text/css" href="default.css"/> </head> <body> <div id="container"> <div id="header"> <ul id="toplinks"> <li><a href="logout.php">Logout</a></li> </ul> <img src="uni_logo.jpg" width="168" height="68" alt="Logo" /></div> <div id="nav"> <ul> <li><a href="index.php">Home</a></li> <li><a href="content.html">Contact </a></li> </ul> </div> <ul id="promobox"> <p><b>Username: <b><?php echo $_SESSION['username']; ?></b><p> Company ID: <?php # connect to MySQL $connection = @mysql_connect("localhost", "root", "131520") or die(mysql_error()); # select the specified database $result = @mysql_select_db("business_project", $connection) or die(mysql_error()); # set up table name $table_name = "post_job"; # create the query

Page 63

DISSERTATION REPORT May 5, 2011 $sql company_id"; # execute the query $result = mysql_query($sql,$connection) or die(mysql_error()); #create a list block of results while( $row = mysql_fetch_array($result)) { $company_id = $row['company_id']; } echo $company_id; ?> <li> <p><a </li> <li> <p><a href="post_activity1.php" title="Log Book">Log Book</a><a Logs</a></p> </li> <p>&nbsp;</p> <img src="medway2.jpg" alt="Logo" /></p> </ul> </div> <div id="footer"> <ul> <li><a href="http://www2.gre.ac.uk">University Of Greenwich</a></li> href="show_activitiesbystudent.php" title="See Logs">See href="post_job2.php" title="Post Jobs">Post Jobs</a><a href="show_jobsbynameCO2.php" title="See Jobs">Jobs Posted</a></p> = "SELECT company_id FROM $table_name ORDER BY

Page 64

DISSERTATION REPORT May 5, 2011 <li><a href="https://portal.gre.ac.uk/cp/home/displaylogin">Student Portal</a></li> <li><a href="http://wwww.gre.ac.uk/students/get">GET</a></li> </ul> </div> </body> </html>

5-add_job.php
<?php # ensure all fields have entries if($job_title and $description) { # connect to MySQL $conn=@mysql_connect("localhost", "root", "131520") or die("Err:Conn"); # select the specified database $rs=@mysql_select_db("business_project", $conn) or die("Err:Db"); # create the query $sql="insert into post_job (job_title, description) values (\"$job_title\", \"$description\" )"; # execute the query $rs1=mysql_query($sql,$conn); # confirm the added record details

Page 65

DISSERTATION REPORT May 5, 2011

print "<head></head><body><b>Record for $job_title successfully added to the database</b></body>"; } ?>

6-file_upload.php
<?php // Inialize session session_start(); // Check, if username session is NOT set then this page will jump to login page if (!isset($_SESSION['username'])) { header('Location: index.php'); } ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Hosting Template</title> <link rel="stylesheet" type="text/css" href="default.css"/>

Page 66

DISSERTATION REPORT May 5, 2011 </head> <body> <div id="container"> <div id="header"> <ul id="toplinks"> <li><a href="logout.php">Logout</a></li> </ul> <img src="uni_logo.jpg" width="168" height="68" alt="Logo" /></div> <div id="nav"> <ul> <li><a href="index.php">Logout</a></li> <li><a href="year1homepage.php">Main Menu</a></li> </ul> </div> <ul id="promobox">

<p><b>Username: <b><?php echo $_SESSION['username']; ?></b><p>

<div id="promobox">

<title>PHP <table> <tr>

File

Upload</title><form

action='upload.php'

method='POST'

enctype='multipart/form-data'>

<td>Title:</td> <td><input type='text' name='form_title'></td> </tr> <tr>

Page 67

DISSERTATION REPORT May 5, 2011 <td>Description:</td> <td><textarea name='form_description' cols='35' rows='5'></textarea></td> </tr> <tr> <td></td> <td> <?php require_once "phpuploader/include_phpuploader.php"; //Step 2: Create Uploader object. $uploader=new PhpUploader(); //Step 3: Set a unique name to Uploader $uploader->Name="myuploader"; //Step 4: Render Uploader $uploader->Render(); ?> </td> </tr> <tr> <td></td> <td><input type='submit' name='submit' value='submit'></td> </tr> </table> </form> </li> </ul> </div> <div id="footer"> <ul> <li><a href="http://www2.gre.ac.uk">University Of Greenwich</a></li>

Page 68

DISSERTATION REPORT May 5, 2011 <li><a href="https://portal.gre.ac.uk/cp/home/displaylogin">Student Portal</a></li> <li><a href="http://wwww.gre.ac.uk/students/get">GET</a></li> </ul> </div> </body></html>

7-loginproc.php
<?php // Inialize session session_start(); // Include database connection settings include('config.inc'); // Retrieve username and password from database according to user's input $login = mysql_query("SELECT * FROM login WHERE (username = '" . mysql_real_escape_string($_POST['username']) . "') and (password = '" . mysql_real_escape_string(md5($_POST['password'])) . "')"); // Check username and password match if (mysql_num_rows($login) == 1) { // Set username session variable $_SESSION['username'] = $_POST['username']; $row = mysql_fetch_assoc($login); if($row['year_id']==1) { // Jump to secured page for second year students header('Location: year1homepage.php');

Page 69

DISSERTATION REPORT May 5, 2011 } else { // Jump to secured page for first year students header('Location: year2homepage.php'); } } else { // Jump to login page header('Location: index.php'); } mysql_free_result($login); ?>

8-logout.php
<?php // Inialize session session_start(); // Delete certain session unset($_SESSION['username']); // Delete all session variables // session_destroy(); // Jump to login page header('Location: index.php'); ?>

Page 70

DISSERTATION REPORT May 5, 2011

10-post_activity.php
<?php # ensure all fields have entries if($a_description and $a_details and $c_description and $c_details) { # connect to MySQL $conn=@mysql_connect("localhost", "root", "131520") or die("Err:Conn"); # select the specified database $rs=@mysql_select_db("business_project", $conn) or die("Err:Db"); # create the query $sql="insert into post_activity (a_description, a_details, c_description, c_details) values (\"$a_description\", \"$a_details\", \"$c_description\", \"$c_details\" )"; # execute the query $rs1=mysql_query($sql,$conn); # confirm the added record details print "<head></head><body><b>Record for $a_description successfully added to the database</b></body>"; }

Page 71

DISSERTATION REPORT May 5, 2011

?>

11-post_activity1.php
<?php // Inialize session session_start(); // Check, if username session is NOT set then this page will jump to login page if (!isset($_SESSION['username'])) { header('Location: index.php'); } ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Hosting Template</title> <link rel="stylesheet" type="text/css" href="default.css"/> </head> <body> <div id="container"> <div id="header"> <ul id="toplinks"> <li><a href="logout.php">Logout</a></li>

Page 72

DISSERTATION REPORT May 5, 2011 </ul> <img src="uni_logo.jpg" width="168" height="68" alt="Logo" /></div> <div id="nav"> <ul> <li><a href="index.php">Home</a></li> <li><a href="year2homepage.php">Main Menu</a></li> <li><a href="content.html">Contact </a></li> </ul> </div> <ul id="promobox">

<p><b>Username: <b><?php echo $_SESSION['username']; ?></b><p> <div id="promobox"> <li class='promobox3'> <form method="get" action="post_activity.php"> <b>Enter your Activity Record</b> <pre> <select name="a_description"> <option value="a01">Traveling for bussiness</option> <option value="a02">Team meeting</option> <option value="a03">Analysis</option> <option value="a04">Research</option> <option value="a05">Drafting documentation</option> <option value="a06">General administration</option> <option value="a07">Writing up meeting</option> <option value="a08">Preparing documentation for client</option> <option value="a09">Drafting and sending emails</option> <option value="a10">Telephone conversation(put who in notes)</option>

Page 73

DISSERTATION REPORT May 5, 2011 <option value="a11">Information elicitation interviews</option> <option value="a12">Meeting with client</option> <option value="Choose" selected>Please Select...</option> </select> Activity Description: <textarea name="a_details" rows="20" cols="34"> </textarea> </pre> <li> <b>Main Type of Communication during your Activity</b> <pre> <select name="c_description"> <option value="c01">Face-to-Face</option> <option value="c02">Mobile-Phone</option> <option value="c03">E-mail</option> <option value="c04">Electronic Chat/Facebook etc</option> <option value="c05">No Team Communication</option> <option value="Choose" selected>Please Select...</option> </select> Activity Description: <textarea name="c_details" rows="20" cols="30"> </textarea> </pre> </li> <br /> <img src="unicollage.jpg" alt="Logo" /></p> <p align="center"><input type="submit" value="Submit" class="btn"></p>

Page 74

DISSERTATION REPORT May 5, 2011 </form> </ul> </div> <div id="footer"> <ul> <li><a href="http://www2.gre.ac.uk">University Of Greenwich</a></li> <li><a href="https://portal.gre.ac.uk/cp/home/displaylogin">Student Portal</a></li> <li><a href="http://wwww.gre.ac.uk/students/get">GET</a></li> </ul> </div> </body> </html>

12-post_job2.php
<?php // Inialize session session_start(); // Check, if username session is NOT set then this page will jump to login page if (!isset($_SESSION['username'])) { header('Location: index.php'); } ?>

Page 75

DISSERTATION REPORT May 5, 2011 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Hosting Template</title> <link rel="stylesheet" type="text/css" href="default.css"/> </head> <body> <div id="container"> <div id="header"> <ul id="toplinks"> <li><a href="logout.php">Logout</a></li> </ul> <img src="uni_logo.jpg" width="168" height="68" alt="Logo" /></div> <div id="nav"> <ul> <li><a href="index.php">Home</a></li> <li><a href="year2homepage.php">Main Menu</a></li> <li><a href="content.html">Contact </a></li> </ul> </div> <ul id="promobox">

<p><b>Username: <b><?php echo $_SESSION['username']; ?></b><p> Company ID:

<?php # connect to MySQL

Page 76

DISSERTATION REPORT May 5, 2011 $connection = @mysql_connect("localhost", "root", "131520") or die(mysql_error()); # select the specified database $result = @mysql_select_db("business_project", $connection) or die(mysql_error()); # set up table name $table_name = "post_job"; # create the query $sql company_id"; # execute the query $result = mysql_query($sql,$connection) or die(mysql_error()); #create a list block of results while( $row = mysql_fetch_array($result)) { $company_id = $row['company_id']; } echo $company_id; ?> <div id="promobox"> <li class='promobox2'> <form method="get" action="add_job.php"> <!-- <div align="left"> <div align="center">--><b>Enter a New Record</b> <pre><!--</pre> = "SELECT company_id FROM $table_name ORDER BY

Page 77

DISSERTATION REPORT May 5, 2011 <pre> --> <div align="left"><pre> Job Title: <input type="text" name="job_title" size="40"> </pre> <!--</pre> <pre> --> Job Description: <textarea name="description" rows="15" cols="60"> </textarea></div>

</pre> <div align="center"> <input type="submit" value="Submit" class="btn"> </div> </form> </li> <br /> <br /> <img src="unicollage.jpg" alt="Logo" /></p> </ul> </div> <div id="footer"> <ul> <li><a href="http://www2.gre.ac.uk">University Of Greenwich</a></li> <li><a href="https://portal.gre.ac.uk/cp/home/displaylogin">Student Portal</a></li>

Page 78

DISSERTATION REPORT May 5, 2011 <li><a href="http://wwww.gre.ac.uk/students/get">GET</a></li> </ul> </div> </body> </html>

13-show_activitiesbystudent.php
<?php // Inialize session session_start(); // Check, if username session is NOT set then this page will jump to login page if (!isset($_SESSION['username'])) { header('Location: index.php'); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Hosting Template</title> <link rel="stylesheet" type="text/css" href="default.css"/> </head> <body> <div id="container">

Page 79

DISSERTATION REPORT May 5, 2011 <div id="header"> <ul id="toplinks"> <li><a href="logout.php">Logout</a></li> </ul> <img src="uni_logo.jpg" width="168" height="68" alt="Logo" /></div> <div id="nav"> <ul> <li><a href="index.php">Home</a></li> <li><a href="year2homepage.php">Main Menu</a></li> <li><a href="content.html">Contact </a></li> </ul> </div> <ul id="promobox">

<p><b>Username: <b><?php echo $_SESSION['username']; ?></b><p> Company ID: <?php # connect to MySQL $connection = @mysql_connect("localhost", "root", "131520") or die(mysql_error()); # select the specified database $result = @mysql_select_db("business_project", $connection) or die(mysql_error()); # set up table name $table_name = "post_job"; # create the query $sql company_id"; = "SELECT company_id FROM $table_name ORDER BY

Page 80

DISSERTATION REPORT May 5, 2011 # execute the query $result = mysql_query($sql,$connection) or die(mysql_error()); #create a list block of results while( $row = mysql_fetch_array($result)) { $company_id = $row['company_id']; } echo $company_id; ?> <?php # connect to MySQL $connection = @mysql_connect("localhost", "root", "131520") or die(mysql_error()); # select the specified database $result = @mysql_select_db("business_project", $connection) or die(mysql_error()); # set up table name $table_name = "post_activity"; # create the query $sql = "SELECT a_id, username, s_name, FROM $table_name ORDER BY s_name"; # execute the query $result = mysql_query($sql,$connection) or die(mysql_error());

Page 81

DISSERTATION REPORT May 5, 2011 #create a list block of results $activity_list = "<ul>"; while( $row = mysql_fetch_array($result)) { $a_id = $row['a_id']; $username = $row['username']; $s_name = $row['s_name']; $activity_list .= "<p align='center'><li> <a } $activity_list .= "</ul>"; print "<head><TITLE> Business href=\"show_job.php?a_id=$a_id\"><font color=\"#ffffff\"><p align=center>$username, $s_name</a>";

webpage</TITLE></head><body><H1>List of Jobs available:</H1> <P>Select a job from the list below, to view the full description and apply:</P><b><p><strong> $activity_list</b></body>"; ?> </div> <div id="footer"> <ul> <li><a href="http://www2.gre.ac.uk">University Of Greenwich</a></li> <li><a href="https://portal.gre.ac.uk/cp/home/displaylogin">Student Portal</a></li> <li><a href="http://wwww.gre.ac.uk/students/get">GET</a></li> </ul> </div> </body> </html>

Page 82

DISSERTATION REPORT May 5, 2011

14-show_job2.php
<?php // Inialize session session_start(); // Check, if username session is NOT set then this page will jump to login page if (!isset($_SESSION['username'])) { header('Location: index.php'); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Hosting Template</title> <link rel="stylesheet" type="text/css" href="default.css"/> </head> <body> <div id="container"> <div id="header"> <ul id="toplinks"> <li><a href="logout.php">Logout</a></li> </ul> <img src="uni_logo.jpg" width="168" height="68" alt="Logo" /></div>

Page 83

DISSERTATION REPORT May 5, 2011 <div id="nav"> <ul> <li><a href="index.php">Home</a></li> <li><a href="year1homepage.php">Main Menu</a></li> <li><a href="content.html">Contact </a></li> </ul> </div> <ul id="promobox"> <p><b>Username: <b><?php echo $_SESSION['username']; ?></b><p> <?php # set up table name $table_name = "post_job"; $db_name = "business_project"; # connect to MySQL $connection = @mysql_connect("localhost", "root", "131520") or die(mysql_error()); # select the specified database $db = @mysql_select_db($db_name, $connection) or die(mysql_error()); # create the query $chk_id = "SELECT id FROM $table_name WHERE id = '$_GET[id]'"; $chk_id_res = @mysql_query($chk_id,$connection) or die(mysql_error()); $chk_id_num = mysql_num_rows($chk_id_res); # check for valid results if (chk_id_num != 0) { #if not valid, redirect to menu

Page 84

DISSERTATION REPORT May 5, 2011 header("Location: http://127.0.0.1/securedpage.php"); exit; } else { #if valid, get information $sql = "SELECT company_id, job_title, description FROM $table_name WHERE id = '$_GET[id]'"; $result = @mysql_query($sql,$connection) or die(mysql_error()); # get results for display while ($row = mysql_fetch_array($result)) { $company_id = $row['company_id']; $job_title = $row['job_title']; $description = $row['description']; } } print" <HTML> <HEAD> <TITLE> Job Details:</TITLE> </HEAD> <BODY> <H1> Job Details for Company $company_id </H1> <H2>$job_title </H2> <p><strong> </strong><br><br> $description</p> <p class=link>&nbsp;</p> <a href=file_upload.php title=Apply class=btn>Apply</a> <a href=show_jobsbynameCO.php title=Apply class=btn>Back to Jobs</a> <p class=link>&nbsp;</p>

Page 85

DISSERTATION REPORT May 5, 2011

</BODY>" ?> </ul> </div> <div id="footer"> <ul> <li><a href="http://www2.gre.ac.uk">University Of Greenwich</a></li> <li><a href="https://portal.gre.ac.uk/cp/home/displaylogin">Student Portal</a></li> <li><a href="http://wwww.gre.ac.uk/students/get">GET</a></li> </ul> </div> </body> </html>

15-show_job22.php
<?php // Inialize session session_start(); // Check, if username session is NOT set then this page will jump to login page if (!isset($_SESSION['username'])) { header('Location: index.php'); }

Page 86

DISSERTATION REPORT May 5, 2011 ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Hosting Template</title> <link rel="stylesheet" type="text/css" href="default.css"/> </head> <body> <div id="container"> <div id="header"> <ul id="toplinks"> <li><a href="logout.php">Logout</a></li> </ul> <img src="uni_logo.jpg" width="168" height="68" alt="Logo" /></div> <div id="nav"> <ul> <li><a href="index.php">Home</a></li> <li><a href="securedpage.php">Main Menu</a></li> <li><a href="content.html">Contact </a></li> </ul> </div> <ul id="promobox">

<p><b>Username: <b><?php echo $_SESSION['username']; ? ></b><p> Company ID:

Page 87

DISSERTATION REPORT May 5, 2011 <?php # connect to MySQL $connection = @mysql_connect("localhost", "root", "131520") or die(mysql_error()); # select the specified database $result = @mysql_select_db("business_project", $connection) or die(mysql_error()); # set up table name $table_name = "post_job"; # create the query $sql company_id"; # execute the query $result = mysql_query($sql,$connection) or die(mysql_error()); #create a list block of results while( $row = mysql_fetch_array($result)) { $company_id = $row['company_id']; } echo $company_id; ?> <?php # set up table name $table_name = "post_job"; $db_name = "business_project"; = "SELECT company_id FROM $table_name ORDER BY

Page 88

DISSERTATION REPORT May 5, 2011 # connect to MySQL $connection = @mysql_connect("localhost", "root", "131520") or die(mysql_error()); # select the specified database $db = @mysql_select_db($db_name, $connection) or die(mysql_error()); # create the query $chk_id = "SELECT id FROM $table_name WHERE id = '$_GET[id]'"; $chk_id_res = @mysql_query($chk_id,$connection) or die(mysql_error()); $chk_id_num = mysql_num_rows($chk_id_res); # check for valid results if (chk_id_num != 0) { #if not valid, redirect to menu header("Location: http://127.0.0.1/securedpage.php"); exit; } else { #if valid, get information $sql = "SELECT company_id, job_title, description FROM $table_name WHERE id = '$_GET[id]'"; $result = @mysql_query($sql,$connection) or die(mysql_error()); # get results for display while ($row = mysql_fetch_array($result)) { $company_id = $row['company_id']; $job_title = $row['job_title']; $description = $row['description']; } } print" <HTML>

Page 89

DISSERTATION REPORT May 5, 2011 <HEAD> <TITLE> Job Details:</TITLE> </HEAD> <BODY> <H1> Job Details for Company $company_id </H1> <H2>$job_title </H2> <p><strong> </strong><br><br> $description</p> <p class=link>&nbsp;</p> <a href=show_jobsbynameCO.php title=Apply class=btn>Back to Jobs</a> <p class=link>&nbsp;</p>

</BODY>" ?> </ul> </div> <div id="footer"> <ul> <li><a href="content.html">Terms &amp; Conditions</a></li> <li><a href="content.html">Privacy Policy</a></li> <li><a href="content.html">System Status</a></li> </ul> </div> </body> </html>

16-show_jobsbynameCO.php

Page 90

DISSERTATION REPORT May 5, 2011 <?php // Inialize session session_start(); // Check, if username session is NOT set then this page will jump to login page if (!isset($_SESSION['username'])) { header('Location: index.php'); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Hosting Template</title> <link rel="stylesheet" type="text/css" href="default.css"/> </head> <body> <div id="container"> <div id="header"> <ul id="toplinks"> <li><a href="logout.php">Logout</a></li> </ul> <img src="uni_logo.jpg" width="168" height="68" alt="Logo" /></div> <div id="nav"> <ul> <li><a href="index.php">Home</a></li> <li><a href="year1homepage.php">Main Menu</a></li> <li><a href="content.html">Contact </a></li>

Page 91

DISSERTATION REPORT May 5, 2011 </ul> </div> <ul id="promobox"> <p><b>Username: <b><?php echo $_SESSION['username']; ?></b><p> <?php # connect to MySQL $connection = @mysql_connect("localhost", "root", "131520") or die(mysql_error()); # select the specified database $result = @mysql_select_db("business_project", $connection) or die(mysql_error()); # set up table name $table_name = "post_job"; # create the query $sql = "SELECT id, company_id, job_title FROM $table_name ORDER BY job_title"; # execute the query $result = mysql_query($sql,$connection) or die(mysql_error()); #create a list block of results $job_list = "<ul>"; while( $row = mysql_fetch_array($result)) { $id = $row['id']; $company_id = $row['company_id'];

Page 92

DISSERTATION REPORT May 5, 2011 $job_title = $row['job_title']; $job_list } $job_list .= "</ul>"; print "<head><TITLE> Business webpage</TITLE></head><body> <P>Select ?> </ul> </div> <div id="footer"> <ul> <li><a href="http://www2.gre.ac.uk">University Of Greenwich</a></li> <li><a href="https://portal.gre.ac.uk/cp/home/displaylogin">Student Portal</a></li> <li><a href="http://wwww.gre.ac.uk/students/get">GET</a></li> </ul> </div> </body> </html> a job from the list below, to view the full description:</P><p><strong> $job_list</body>"; .= "<li class='jobslist'><a href=\"show_job2.php? id=$id\">$job_title</a></li>";

17-show_jobsbynameCO2.php
<?php // Inialize session session_start();

Page 93

DISSERTATION REPORT May 5, 2011

// Check, if username session is NOT set then this page will jump to login page if (!isset($_SESSION['username'])) { header('Location: index.php'); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Hosting Template</title> <link rel="stylesheet" type="text/css" href="default.css"/> </head> <body> <div id="container"> <div id="header"> <ul id="toplinks"> <li><a href="logout.php">Logout</a></li> </ul> <img src="uni_logo.jpg" width="168" height="68" alt="Logo" /></div> <div id="nav"> <ul> <li><a href="index.php">Home</a></li> <li><a href="year2homepage.php">Main Menu</a></li> <li><a href="content.html">Contact </a></li> </ul> </div> <ul id="promobox">

Page 94

DISSERTATION REPORT May 5, 2011 <p><b>Username: <b><?php echo $_SESSION['username']; ?></b><p> Company ID: <?php # connect to MySQL $connection = @mysql_connect("localhost", "root", "131520") or die(mysql_error()); # select the specified database $result = @mysql_select_db("business_project", $connection) or die(mysql_error()); # set up table name $table_name = "post_job"; # create the query $sql company_id"; # execute the query $result = mysql_query($sql,$connection) or die(mysql_error()); #create a list block of results while( $row = mysql_fetch_array($result)) { $company_id = $row['company_id']; } echo $company_id; ?> <?php # connect to MySQL $connection = @mysql_connect("localhost", "root", "131520") = "SELECT company_id FROM $table_name ORDER BY

Page 95

DISSERTATION REPORT May 5, 2011 or die(mysql_error()); # select the specified database $result = @mysql_select_db("business_project", $connection) or die(mysql_error()); # set up table name $table_name = "post_job"; # create the query $sql = "SELECT id, company_id, job_title FROM $table_name ORDER BY job_title"; # execute the query $result = mysql_query($sql,$connection) or die(mysql_error()); #create a list block of results $job_list = "<ul>"; while( $row = mysql_fetch_array($result)) { $id = $row['id']; $company_id = $row['company_id']; $job_title = $row['job_title']; $job_list } $job_list .= "</ul>"; print "<head><TITLE> Business webpage</TITLE></head><body> <P>Select a job from the list below, to view the full description:</P><p><strong> $job_list</body>"; .= "<li class='jobslist'><a href=\"show_job22.php? id=$id\">$job_title</a></li>";

Page 96

DISSERTATION REPORT May 5, 2011 ?>

</ul> </div> <div id="footer"> <ul> <li><a href="http://www2.gre.ac.uk">University Of Greenwich</a></li> <li><a href="https://portal.gre.ac.uk/cp/home/displaylogin">Student Portal</a></li> <li><a href="http://wwww.gre.ac.uk/students/get">GET</a></li> </ul> </div> </body> </html>

18-upload.php and config.inc
Upload.php <?php require_once "phpuploader/include_phpuploader.php" ?> <?php include ("config.inc"); $desc=$_POST['form_description']; $title=$_POST['form_title']; $result=MYSQL_QUERY("INSERT INTO uploads (title,description, data) ". "VALUES ('$title','$desc','$data')"); $id= mysql_insert_id(); //Gets the GUID of the file based on uploader name $fileguid=$_POST["myuploader"]; echo $fileguid;

Page 97

DISSERTATION REPORT May 5, 2011 if($fileguid) { //get the uploaded file based on GUID if($mvcfile) { //Gets the name of the file. echo($mvcfile->FileName); //Gets the temp file path. echo($mvcfile->FilePath); //Gets the size of the file. echo($mvcfile->FileSize); //Copys the uploaded file to a new location. $mvcfile->CopyTo("http://localhost/Blue/uploads"); //Moves the uploaded file to a new location. $mvcfile->MoveTo("http://localhost/Blue/uploads"); //Deletes this instance. $mvcfile->Delete(); } } ?> Config.inc <?php $hostname = 'localhost'; $username = 'root'; $password = '131520'; // connect to host mysql_connect($hostname, $username, $password) or DIE('Connection to host is failed, perhaps the service is down!'); // Select the database // Your MySQL hostname. // Your database username. // Your database password. $dbname = 'business_project'; // Your database name.

Page 98

DISSERTATION REPORT May 5, 2011 mysql_select_db($dbname) or DIE('Database name is not available!'); ?>

Page 99

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close