13.07.2015 Views

universiti teknologi malaysia - Faculty of Electrical Engineering - UTM

universiti teknologi malaysia - Faculty of Electrical Engineering - UTM

universiti teknologi malaysia - Faculty of Electrical Engineering - UTM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

UNIVERSITI TEKNOLOGI MALAYSIADECLARATION OF THESIS / UNDERGRADUATE PROJECT PAPER AND COPYRIGHTAuthor’s full name :MOHD AZHARI BIN MOHD DAUDDate <strong>of</strong> birth : 22 JUN 1986Title : POSTGRADUATE ONLINE SYSTEM (FORM SUBMISSION SUBSYSTEM)Academic Session : 2008/2009I declare that this thesis is classified as :CONFIDENTIALRESTRICTEDOPEN ACCESS(Contains confidential information under the Official SecretAct 1972)*(Contains restricted information as specified by theorganisation where research was done)*I agree that my thesis to be published as online open access(full text)I acknowledged that Universiti Teknologi Malaysia reserves the right as follows :1. The thesis is the property <strong>of</strong> Universiti Teknologi Malaysia.2. The Library <strong>of</strong> Universiti Teknologi Malaysia has the right to make copies for the purpose<strong>of</strong> research only.3. The Library has the right to make copies <strong>of</strong> the thesis for academic exchange.Certified by:SIGNATURESIGNATURE OF SUPERVISOR860622295545 DR. MUHAMMAD NADZIR BIN MARSONO(NEW IC NO. /PASSPORT NO.)NAME OF SUPERVISORDate: 15 May 2009 Date : 15 May 2009NOTES : * If the thesis is CONFIDENTIAL or RESTRICTED, please attach with the letter fromthe organisation with period and reasons for confidentiality or restriction.


I certify that I have read this report, and in my opinion, it is fully adequate, inscope and quality, as a project report for the Bachelor <strong>of</strong> <strong>Engineering</strong> (Computer).Signature : ....................................................Name : DR. MUHAMMAD NADZIR MARSONODate : 15 May 2009


POSTGRADUATE ONLINE SYSTEM:FORM SUBMISSION SUBSYSTEMMOHD AZHARI BIN MOHD DAUDA report submitted in partial fulfillment <strong>of</strong> theRequirements for the award <strong>of</strong> the degree <strong>of</strong>Bachelor <strong>of</strong> <strong>Engineering</strong> (Computer)<strong>Faculty</strong> <strong>of</strong> <strong>Electrical</strong> <strong>Engineering</strong>Universiti Teknologi MalaysiaMAY 2009


Specially dedicated to my parents,Mohd Daud Bin Mat Min and Hasemah Bte AhmadMy siblings and my fellow friends,Who have been supporting me all these years.ii


ivAcknowledgementIn the Name <strong>of</strong> Allah, the Most Merciful, the Most Compassionate,The completion <strong>of</strong> this project would not have been possible without theendless support and hard work <strong>of</strong> many individuals, who had rendered their assistantin various aspects and contributed directly and indirectly to the successful <strong>of</strong> myproject.I am deeply indebted to my supervisor, Dr Muhammad Nadzir Marsono, whohelps in stimulating suggestions and also give me a never ending support in thisproject. His guidance helped me in all the time in the project and writing <strong>of</strong> this report.Special thanks to my friend, Rozuan bin Mat Adam, who helped me inunderstanding the programming languages used in this project. My sincereappreciation extends to my course mate and others who have provided me assistancein various occasions, for giving suggestions, views and indirect helps.Here, I also would like to thanks my parents for the endless encouragementsupport and advises that helps in completing this project.Thank You.


vAbstractPostgraduate Online System is an online web system that was developed tohelp managing the Postgraduate Community <strong>of</strong> <strong>Electrical</strong> <strong>Engineering</strong> <strong>Faculty</strong>activities. Most <strong>of</strong> the system functions were focused on student managing activities.Student’s project forms still need to be submitted manually as the system only providethe form templates available to download by the users. This project entitlePostgraduate Online System (Form Submission Subsystem), is to add the capability <strong>of</strong>the system to manage the form submission process <strong>of</strong> the community virtually. Thesubsystem uses the same interface and architecture as the real Postgraduate OnlineSystem. Iterative development method was chosen as the project is to upgrade the realsystem by adding new operating functions. The functions were developed and testedas standalone application program and then is embedded to the main system tooperate as one whole system with dynamically interacted with the database system.The subsystem is designed to be user friendly. The upgraded system is to improvedthe community activities as it save times and energy, it also encourage the communityto work in a paperless environment.


viAbstrakSistem Pascasiswazah Dalam Talian dibangunkan untuk membantu komunitipascasiswazah fakulti kejuruterann elektrik dalam aktiviti hal ehwal pentadbiran.Kebanyakan fungsi sistem yang telah dibangunkan memfokuskan fungsi-fungsi untukmemudahkan hal pengurusan pelajar. Proses penghantaran borang masih perludilakukan secara manual, dimana sistem atas talian sedia ada hanya menyediakanservis muat turun templat borang yang perlu dihantar. Projek ini, SistemPascasiawazah Dalam Talian Subsistem Penyerahan Borang, adalah untuk menaiktaraf sistem sedia ada supaya dapat berfungsi sebagai medium proses penyerahanborang secara maya. Kaedah pembangunan secara lelaran digunakan untukmembangunkan sistem ini di mana kaedah ini membolehkan pembangunan sistemboleh biperbaiki dalam fasa pembangunan. Subsistem dibangunkan denganmenggunakan antaramuka yang sama dengan sistem sedia ada. Fungsi-fungsi barudibangunkan dan diuji sebagai sistem berasingan sebelum ia diumpukkan ke dalamsistem sedia ada dan di hubungkan dengan pengkalan data sistem sedia ada.Subsistem yang dibangunkan hendaklah mesra pengguna di mana, ia mudahdifahami oleh pengguna . Penambahbaikan sistem ini adalah untuk meningkatkanlagi efisiensi komuniti pasca siswazah fakulti kejuruteraan elektrik.


viiTABLE OF CONTENTCHAPTER TITLE PAGEDEDICATIONDECLARATIONACKNOWLEDGEMENTABSTRACTTABLE OF CONTENTLIST OF TABLESLIST OF FIGURESLIST OF APPENDICESiiiiiivvvixxixii1 INTRODUCTION 11.1 Introduction 11.2 Problem Statement 11.3 Objective 21.4 Scope 31.5 Report Organization 42 LITERATURE REVIEW 52.1 Introduction 52.2 Manual Process <strong>of</strong> Form Submission 62.3 Research on the present system 62.3.1 Student Function in Present system 72.3.2 Lecturer Function in Present system 72.3.3 Coordinator Function in Present system 82.3.4 Admin Function in Present system 92.3.5 Super Admin Function in Present system 102.4 S<strong>of</strong>tware used in the development 112.5 Chapter Summary 14


viii3 METHODOLOGY 153.1 Chapter Overview 153.2 Development Method 163.2.1 Communication Phase 173.2.2 Planning Phase 173.2.3 Modeling Phase 183.2.4 Development Phase 183.2.5 Implementation Phase 193.3 S<strong>of</strong>tware and Hardware requirement 193.3.1 Hardware specification 193.3.2 S<strong>of</strong>tware Requirement 193.4 Chapter Summary 204 SYSTEM DESIGN 214.1 Chapter overview 214.2 System design Architecture 214.3 System Design Flow 224.3.1 Use case diagram 224.4 System Interface design 284.5 Database design 304.6 Chapter Summary 325 IMPLEMENTATION AND DEVELOPMENT 335.1 Introduction 335.2 Implementation 335.2.1 Implementation <strong>of</strong> Uploading module 345.2.2 Implementation <strong>of</strong> Validating module 355.2.3 Implementation <strong>of</strong> Retrieving module 365.3 System Testing 375.3.1 Input Testing 385.3.2 Output Testing 385.3.3 System Flow Testing 385.4 Chapter Summary 39


ix6 CONCLUSION 406.1 Achievement 406.2 Problems Encountered 406.3 Suggestion for future development and upgrade 41REFERENCES 43APPENDICES 44 - 87


xLIST OF TABLETABLE NO. TITLE PAGE3.1 Development S<strong>of</strong>tware 204.1 Student Use case functions 244.2 Lecturer Use case functions 264.3 Coordinator Use case functions 284.4 Database Table ‘Form’ 304.5 Database Table ‘researchstudent’ 314.6 Database Table ‘department’ 315.1 User Access level in the modules 335.2 Functions in the modules 34


xiLIST OF FIGURESFIGURE NO. TITLE PAGE2.1 Student Use case Diagram 72.2 Lecturer Use case Diagram 82.3 Coordinator Use case Diagram 92.4 Admin Use case Diagram 102.5 Super Admin Use case Diagram 113.1 Iterative development flow diagram 164.1 System Architecture 224.2 Student Use case Diagram 234.3 Lecturer Use case Diagram 254.4 Coordinator Use case Diagram 274.5 System Interface 294.6 Example <strong>of</strong> Student Interface 295.1 Upload Interface 355.2 Upload Error Message 355.3 View Form and Validate Form 365.4 Download Form dialog box 37


xiiLIST OF APPENDICESAPPENDIX TITLE PAGE1 Appendix A 442 Appendix B 50


CHAPTER IINTRODUCTION1.1 IntroductionAs the computerized system provide services that are high security, low riskand super fast, using online and networking service can increase productivity <strong>of</strong> anorganization. In the community <strong>of</strong> FKE postgraduate, an online system wasdeveloped to manage the community activity. This online system provide servicessuch as data recording for the Management department, form downloads andupdating personal data. Most <strong>of</strong> the forms that are downloaded still need to beprocessed manually. Since that online system exist in the community, it is a wastethat manual process still been practice in the management <strong>of</strong> the organization.1.2 Problem StatementService provided by the current postgraduate online system are onlyfocusing on administration system, as example subsystem to register new user,registering new subject, assigning the students to supervisor.As the student finish their form such as project synopsis form or projectabstract form, etc, the student had to pass up the form to the supervisor to bechecked. Supervisors who will decide whether the form was completed as desiredor still the form need to be revised. Then the approved form then will be send to the


2coordinator <strong>of</strong> the department to be distributed to other lecturers as evaluators <strong>of</strong>the forms. After being evaluated the forms then will be again sent to the coordinatorfor the marks to be recorded.In the manual process, amounts <strong>of</strong> forms will be passed to the lecturessimultaneously, coordinator and evaluators, resulting one or two forms might beslipped away from others. This problem can be avoided almost completely withstoring the forms virtually.The forms that been processed will be kept in the database. The data willexist in the system database as if the administrator or the super administratordoesn’t touch or delete the data. Data backup also possible if needed. Finding theprevious year project will be easy as typing keyword only and only if the data stillexist in the database.1.3 ObjectiveThe aim <strong>of</strong> this project is adding the current Postgraduate Online Systemcapability with the form submission and tracking specifically this project involves:1) Getting detailed information on how the form submissions were donemanually. This is important as the subsystem will be developed similarly asthe process <strong>of</strong> form submission were done manually.2) Designing the form submission subsystem process for FKE postgraduateonline system Additional features might necessary in this virtual process <strong>of</strong>subsystem, the subsystem must be designed carefully according to therequirement specified.


33) Developing the form submission subsystem for FKE postgraduate onlinesystem. Manual process <strong>of</strong> the form will completely be replaced with thesystem developed from the form downloaded till the marks recorded.4) Embedding the subsystem developed into the current system. Developedsystem must be combined with the current existing system.5) Conducting whole system test with the developed subsystem embedded.The system that is being developed is a subsystem <strong>of</strong> the present system itwill be deployed in the current existing system for the community use.1.4 ScopeThe whole system will only be used by the postgraduate community. Users<strong>of</strong> the FKE postgraduate online system are postgraduate student, lecturers anddepartment’s coordinator.The subsystem only will be deployed and tested at localhost by using pseudoID to login into the system. Real user login ID such as individual student or lecturerlogin ID will not be used in the testing phase as this information are classified asconfidential information by the faculty.The form submission system will be developed as a subsystem <strong>of</strong> FKEpostgraduate system, not as a standalone system. Form subsystem will beembedded into the current FKE postgraduate system for the future use <strong>of</strong> the FKEpostgraduate community.


41.5 Report OrganizationIn this chapter the problem statement, project objective and project scopewere discussed. Chapter 2 <strong>of</strong> this report contains the literature review <strong>of</strong> the projectwhere the current system were studied and comprehended. Methodology used inthis project is discussed in Chapter 3.this includes the development method,development phase and modeling phase. Chapter 4 focused on the system design.System architecture and other design process are explained in this chapter. Chapter5 covers the system implementation and development process. System developmentprocess is justified clearly in this chapter. Future works and suggestion for thedeveloped systems were discussed in the last chapter <strong>of</strong> the report, Chapter 6.


CHAPTER IILITERATURE REVIEW2.1 IntroductionLiterature review was done to get initial information about the project. Theresearch includes requirement engineering as the client desired for the system to bedeveloped. In this section several studied will be explain as the process <strong>of</strong> gettingsystem basic properties for real system development. The future system design mayvary as the research <strong>of</strong> the system requirement will continue while the system isunder development progress. This project design also depends on the creativity <strong>of</strong>the developer.Under this section, research on the s<strong>of</strong>tware used will be explained roughlyto get understanding from the customer or client. This includes the technologies andprogramming languages that will be implemented in the subsystem for thedevelopment. Information that is obtained from the client might not be fullyimplemented in the system where as only several important properties might beconsidered for the system development.Present systems studied were also will be explain roughly for the developerto understand the present system. This is important to make sure that thesubsystem that will be developed will have no crash, violation or conflict when itwas deployed in the present system. Literature review also will be used as thedocumentation <strong>of</strong> the whole system for future development and future updates.


62.2 The Manual Process <strong>of</strong> Form SubmissionThe manual process <strong>of</strong> the form submission was studied. The process isfound to be similar with the undergraduate student Final Year Projectadministration. As studied, Forms in the process will be passed to one and otherindividuals. The manual system seem a bit complicated and time consuming as theindividuals had to pass up the forms to another person from other person.Firstly students have to download the desired form from the system. As theform was filled the student had to see their supervisor to get the form checked andapproved. Approved form was then delivered to the coordinator. Coordinator willthen choose the evaluators for the forms, as this process goes on the forms willagain be passed to the evaluators. Evaluated forms then will again be sent to thecoordinator from the evaluators as the coordinator records the mark for eachstudent’s forms.2.3 Research on the present systemThe FKE postgraduate online system architecture and database wereobtained from the webmaster <strong>of</strong> the system, Dr Muhammad Nadzir Marsono. Thearchitecture <strong>of</strong> the system was studied and analyzed. MySQL database <strong>of</strong> thepresent system were identified and the system instruction and coding wereanalyzed. Real system database such as admin, lecturer and student account loginID were not included as it were classified as <strong>UTM</strong>’s <strong>Faculty</strong> <strong>of</strong> <strong>Electrical</strong><strong>Engineering</strong> confidential information. Dummy login ID was created for thedeveloper to identify system’s flow process.


7UpdateInfostudentFormFigure 2.1: Student Use case diagram2.3.1 Students function in the present systemIn the present system student only have two main functions. The firstfunction is to update his/her pr<strong>of</strong>ile that includes Metric number, Name, Programcode and others. The second function is to download forms, but still the forms needto be submitted manually to their supervisor2.3.2 Lecturers function in the present system.The function included in the lecturer’s level mode is almost the same asstudent’ where the lecturer have additional function to change their login passwordunder ‘update info’ submenu. There is also additional submenu to view the studentthat they supervised, categorized by their study mode.


8UpdateInfoChangePwdLecturerStudentListFormFigure 2.2: Lecturer Use case diagram2.3.3 Coordinator functionsCoordinator manages each <strong>of</strong> the progress under one department on thepostgraduate community. In the system Schedule, FinalExamTable andSeminarTable are included. Forms list function is available for the coordinator tocheck the forms; form editing is disabled in this user level.


9ScheduleFinalXmTblCoordinatorFormStudentListSeminarTblFigure 2.3: Coordinator Use case diagram2.3.4 Admin functions.Admin account will be used for <strong>of</strong>fice work purposed. In the admin userlevel basic admin functions were included, for example registering new user andsubject. Admin also had capability to monitor the user in the system. List <strong>of</strong> studentfunction was included for the convenience <strong>of</strong> the admin to modify the studentdatabase. Admin also has special function to enable or disable certain submenu asincluded in the POS configuration function.


10NewStudentNewSubjectSudentListAdminConfigChangePwdProjectTitleFormFigure 2.4: Admin Use case diagram2.3.5 Super Admin functionsSuper admin only had 3 functions that are Registration, List <strong>of</strong> programmeand list <strong>of</strong> subject. Under registration menu super admin can register newprogramme and encrypt existing user password.


11NewProgrmPwdEncryptSuperAdminProgrmListSubjListFigure 2.5: Super admin Use case diagram2.4 S<strong>of</strong>tware used in the developmentSince that this project is to upgrade an existing online system, research onthe technology used in the existing system must be conducted. Technology usedincludes programming languages, database used and interface design technology.


121) PHPPHP is the Web development language written by and for Webdevelopers.PHP is a server‐side scripting language designed specifically for theWeb. Within an HTML page, Web designer can embed PHP code that will beexecuted each time the page is visited.PHP code is interpreted at the Web serverand generates HTML or other output that the visitor will see. PHP is an OpenSource product. Programmer or web designer have access to the source code.Individuals can use it, alter it, and redistribute it all without charge.PHP is an <strong>of</strong>ficial module <strong>of</strong> Apache HTTP Server, the market‐leading freeWeb server that runs about 67 percent <strong>of</strong> the World Wide Web (according to thewidely quoted Netcraft Web server survey). This means that the PHP scriptingengine can be built into the Web server itself, leading to faster processing, moreefficient memory allocation, and greatly simplified maintenance.Like Apache Server, PHP is fully cross‐platform, meaning it runs native on Unix,Windows and Mac OS X.2) MySQLMySQL is a, relational database management system (RDBMS). A database thatenableefficiently store, search, sort, and retrieve data. MySQL server controlsaccess data to ensure that multiple users can work with it concurrently, It alsoprovide fast access to the database, and ensure that only authorized users can obtainaccess. It uses SQL (Structured Query Language), the standard database querylanguage worldwide. MySQL is an Open Source license.


133) WAMP serverWAMP stand for Windows, APACHE, MySQL and PHP. It is a completeintegration <strong>of</strong> Windows operating system, APACHE server application, MySQLdatabase function and PHP scripting language. WAMP include phpMyAdminwhich provides a graphical interface for the MySQL database manager. Apache is aweb server, that allows people with web browsers like Internet Explorer or Firefoxto connect to a computer and see information there as web pages. WAMP is an opensource application. WAMP act as a dummy server to test the subsystem that beingdeveloped, since it is open source s<strong>of</strong>tware, testing on a server will be costless.4) Dreamweaver 8Adobe Dreamweaver is a web development application created by AllaireSystems. Dreamweaver is a cross platform application means that it is availableboth Mac and Windows operating systems (wikipedia). Latest version <strong>of</strong> thiss<strong>of</strong>tware support technologies such as CSS, JavaScript, and server‐side scriptinglanguages and frameworks including ASP.NET, ColdFusion, JavaServer Pages, andPHP. Dreamweaver has clean HTML code and sophisticated support for the latestHTML options (such as Dynamic HTML).Dreamweaver has the ability to hide the HTML code details <strong>of</strong> pages fromthe user, it also user friendly as non website programmer can build their own webdesign with the s<strong>of</strong>tware.It also makes adding high‐end features for creatingdatabase driven Web sites easier. It also has some site management tools, such asthe ability to find and replace lines <strong>of</strong> text or code by whatever parameters specifiedacross the entire site, and a feature for creating templates for multiple pages withsimilar structures


142.5 Chapter SummaryIn the literature review researches had been done to obtain information onthe project. Initial research on the technology, programming languages were doneas these elements plays a very important to complete the project.Analysis on the present system was done to get the first picture <strong>of</strong> thesystem function and the system flows. The research on the present system will beused as a referenced and some element <strong>of</strong> the present system will be used in thedevelopment project <strong>of</strong> the subsystem. The researches on the system also contributethe list on advantages and disadvantages on the current system that might be usefulfor the future updates and development.Researches on several programming languages and database also weredone. PHP and MySQL were chosen in the development project. Both technologieswere used widely in the globe by the web designer as both technologies were underopen source license.


CHAPTER IIIMETHODOLOGY3.1 Chapter OverviewMethodology is a guideline for a project to make sure that it will bedeveloped systematically. The project must be completed on time and mostimportantly the project must be developed accordingly to the specification specifiedby the costumer or client.This chapter explains details information about the methodology used todevelop this project. This include the Methodology that will be used, Justificationon why the methodology chosen, progress planning and the requirement <strong>of</strong> theproject3.2 Development methodThis project uses iterative and incremental development method. Iterativedevelopment is a rework scheduling strategy in which time is set aside to revise andimprove parts <strong>of</strong> the system. This method allows the developer to take advantage <strong>of</strong>what was being learned during the development <strong>of</strong> earlier system. This method isthe most suitable method since that the project was to develop a subsystem for thepresent system.


16In the iteration process, project control list were created to guide theprogress <strong>of</strong> the task need to be performed. Project control list should include newfeatures to be implemented in the present system.Initial systeminformationProject planning andanalysisProjectDevelopmentEvaluation, systemfinalizationSystem prototypetestingImplementationand deployment onreal systemFigure 3.1: Iterative development flow diagram3.2.1 Communication PhaseCommunication phase includes selection <strong>of</strong> the project, this project title weresuggested by Dr. Muhammad Nadzir Marsono as the webmaster <strong>of</strong> the FKEpostgraduate online system. In the first meeting the project was reviewed,explanations on the present system were given by Dr Muhammad Nadzir. Roughexplanations on the subsystem to be developed were obtained. The webmaster alsogives a simple brief on the technology used in the present system.


173.2.2 Planning phaseThis phase covers the plan <strong>of</strong> developing the subsystem. Planning <strong>of</strong> theproject must be specified systematically, this is important for the systemdevelopment to be completed on time and identifying whether the system meets therequirement as the webmaster requested1) In this phase project objective were set to make sure that future developmentgoes as the client requested.2) Scope <strong>of</strong> the project were identify to shrink up the general informationgather from the communication phase3) Draft <strong>of</strong> the future project progress were constructed, milestone for theproject development were set.4) This is necessary for the project to keep track <strong>of</strong> the future progress for theproject development.3.2.3 Modeling phaseIn the modeling phase, present system were firstly been identify. Use casediagram were constructed for each user level <strong>of</strong> the system. Detail function for eachuser level were then translated into Object‐class diagram. Attributes that wereinherited by users were then identified.Identifying these attributes was necessary because the developed subsystemmight use the same attributes for the user as example student metric number, formname, etc. The current system flow were also analyzed, means that the functions <strong>of</strong>each user level were identify. Database table that created in the current system thenwere studied as the process flow <strong>of</strong> the system were studied as if where the functionaccess or modified the data in the database table.


18As needed information <strong>of</strong> the present system was obtained, rough systemdesign was constructed. The design is just to get the first picture <strong>of</strong> the subsystemflow process. Users attributes <strong>of</strong> the present system that will be used in thesubsystem were then being identify and listed.3.2.4 Development phaseDetail subsystem structure is designed in this phase, information that hadbeen studied before is interpreted in this phase. The development phase alsoinvolved system testing. In the development progress the system was developed asa standalone system before the implementation phase; where the system will beemerge to the current system as a subsystem. In system testing a new database tabledata was constructed completely similar to the current system. Not all the databasetable was used in the system test, only selected database table was used as thedummy to test the system prototype.3.2.5 Implementation phaseAs all process <strong>of</strong> development phase were completed, combined, tested andapproved by the client, the system then again will be tested. This test is necessary tomake sure that the system work as desired. The system will be given to thewebmaster to be tested, to confirms that the system meet the specifications andrequirements that were given earlier in the communication phase. FKEpostgraduate online system will be operating under a client‐server.


193.3 S<strong>of</strong>tware and Hardware RequirementThe s<strong>of</strong>tware and hardware used in the system development must bespecified as it was most important entity in the project development. This partexplains the detail about s<strong>of</strong>tware and hardware required for the systemdevelopment.3.3.1 Hardware SpecificationFKE postgraduate system is a client‐server based system. It will need aserver computer to act as a server, where the data were stored and the system waskept. Users have to access the system through the web browser from a desktop oroperating system supported.Minimum requirement for the server is the server system with Pentium 4 3.2GHz processor or equivalent, 250 GB hard disk storage for the data storage and512mb RAM memory. While the minimum system for the clients is a desktopsystem equipped with Pentium II processor or equivalent, 64mb RAM size memoryand 7 GB for the storage.3.3.2 S<strong>of</strong>tware requirementS<strong>of</strong>tware requirement for developing the system are states in the Table 3.1.


20Table 3.1: Development S<strong>of</strong>twareS<strong>of</strong>twareWAMP ServerFunctionsOpen source s<strong>of</strong>tware that act asa server for the systemPHPProgramming language thatwere used in the development <strong>of</strong>the systemMySQLAn Open source s<strong>of</strong>tware thatwere used to create the databasefor the systemMacromedia Dreamweaver 8Advanced s<strong>of</strong>tware fordesigning the interface <strong>of</strong> thesystemMozilla FirefoxWeb browser, act as medium touse the developed system3.4 Chapter SummaryThis chapter covers the methodology used for the project development. Thisincludes the project developments planning, s<strong>of</strong>tware and hardware requirement.Method <strong>of</strong> development <strong>of</strong> the subsystem also was chosen in this chapter.Development phase also discussed in implementing the method in the systemdevelopment.


CHAPTER IVSYSTEM DESIGN4.1 Chapter OverviewSystem design phase is the most important part <strong>of</strong> the system development.Detailed system design can produce a very efficient system for the users. Systemarchitecture and design method will result in how the system will be managed orupgraded in the future development. Functions <strong>of</strong> the system will be shown in the Usecase diagram. The database architecture is also discussed in this chapter.4.2 System Design ArchitectureThe Post Graduate online System is developed as a client/server architecturewhere a host will be set as a server and another host as a client. In the client/serverarchitecture, client will request to access the database. The interaction between clientand database will be controlled by a server, where all the database and services werekept. This means that server will be acting as a medium for the client to interact withthe database. System architecture is shown in the Figure 4.1.


22Figure 4.1: System Architecture4.3 System Design FlowSystem design flow is for comprehending the functions that were included inthe system design. Use case diagrams are used as the system design flow to explain theflow <strong>of</strong> the system and how the subsystem should function.4.3.1 Use case DiagramThe current Postgraduate Online System consists <strong>of</strong> six user access level;1. Super Admin2. Admin3. Coordinator4. Lecturer5. Student.In the use case diagrams, actor and their functions will be shown. Actorwill be described as users’ access level.This project is mainly about to upgrade the


23current existing system with the new developed subsystem that is Form Submissionsubsystem. From the current Postgraduate Online System, only functions <strong>of</strong> threeactors will be upgraded that is Student, Lecturer and Coordinator. Form submissionsubsystem is developed to interact with the existing system, means that it needs to beembedded with the Postgraduate Online System to work a functioning system.UdateInfoFormsUploadFormStudentUpdateFormDownloadFormCheckForm StatusForm Submission functionsFigure 4.2: Student Use case Diagram


24Table 4.1: Student Use Case FunctionsFunctionsDescriptionUpdateInfoFormsUploadFormIn this function, student can update theirpersonal information such as contact, idnumber, etcThis menu is for selecting supervisor,although the function name is form, it is nota part <strong>of</strong> form submission subsystemUploadForm will be used by the user toupload their form to the databaseUpdateFormDownloadFormThis function will be activated as the systemwas requested to upload the existing filelocation in the database table.Function to download the uploaded fileCheckFormStatusStatus <strong>of</strong> the uploaded form will be shownin this function.Figure 4.2 and Table 4.1 shows the complete functions <strong>of</strong> the student accesslevel in the Postgraduate Online System. In this user access level four new functions areadded for the Form Submission Subsystem.


25UpdateInfoChangePwdStudentListLecturerFormStatusDownloadFormViewFormOnlineValidateFormForm Submission functionsFigure 4.3: Lecturer Use Case Diagram


26Table 4.2: Lecturer Use Case FunctionsFunctionDescriptionUpdateInfoFunctions for the lecturer to update their currentinformation including contact address, roomnumber, etcChangePwdThis function to allows lecturer to change theirpasswordStudentListFormStatusStudentList function will list the student who isunder lecturer supervision.Uploaded file by the supervised student statuswill be shown in this functionDownloadFormEnable lecturers to download their student formsfrom the databaseViewFormOnline This function allows the lecturer to view theirstudent uploaded file directly using the internetbrowser.ValidateForm ValidateForm is included with theViewFormOnline function. Allows lecturer tovalidate their student’s forms.For the lecturer access level, four functions were added as the Form submissionsubsystem. The function includes downloading file, viewing file and validating theirstudent uploaded forms.


27ScheduleFinalExamTableStudentListCoordinatorSeminarTableCheckValidatedFormDownloadFormViewFormOnlineForm Submission functionsFigure 4.4: Coordinator Use Case Diagram


28Table 4.3: Coordinator Use Case FunctionsFunctionDescriptionScheduleFinalExamTableFunction <strong>of</strong> current Postgraduate Online System thatallows the coordinator to view seminar schedule table forstudent projects.Final exam table can be view using this table.StudentListStudent list <strong>of</strong> the coordinator department can be viewedby this functionSeminarTableSeminar Table editing is available through this functionCheckValidatedFormValidated form except the form with ‘rejected’ and‘pending’ status will be viewed.DownloadFormEnable the coordinator to download the form availableViewFormOnlineThis functions allows the coordinator to view thevalidated form directly from the internet browserIn the coordinator access level, only basic functions were added. The functionsare checking validated form from the lecturers, downloading and viewing the forms.4.4 System Interface designInterface design is a critical criterion in designing a system. The system interfaceis a medium where the users interact with the system database. The interface must beuser friendly. Interface design need to be dynamic and user friendly where user caneasily understand how the system works and learn to use the system effectively. In this


29project, the previous interfaces are reused. All other function were left untouched withthe new subsystem were merged to the system.Figure 4.5: System InterfaceFigure 4.6: Example <strong>of</strong> Student Interface


304.5 Database DesignDatabase is where all <strong>of</strong> the system information are kept and stored. InPostgraduate Online System, database tables are builds with SQL programminglanguages using MySQL that is included with The WAMP server. Table shownTable 4.4: Database table ‘Form’ColumnNameIdFormNameFilefilenameFilesizeFiletypeTitleStudent_idsup_idnoStatusTimeDescriptionThis field is the primary key <strong>of</strong> the table; it isan auto increment field. This column will beused to fetch theFileFromName will stored the forms in the formalname ex : RPP1‐1, RPP1‐2, etcContent <strong>of</strong> file will be saved in this column,data will be stored as Binary Large Objectdata.The file name will be kept here fordownloading and viewing in the futureThe uploaded file size (bytes) will be storedhereThe file type, to identify the file type is storedhere. Only application/pdf type file will bestoredThis Column will be fill by the student ProjectTitle.Student id number <strong>of</strong> the uploader will bestored in this columnStudent supervisor id number will be fetchand stored in this columnStatus <strong>of</strong> the file uploaded is set referring tothis column. Default value <strong>of</strong> this column is‘Pending’Using NOW( ) function for storing the timewhen a file was uploaded.TypeIntVarcharMediumblobVarcharVarcharVarcharVarcharVarcharVarcharVarcharVarchar


31Table 4.4 shows a MySQL table form, for Form submission subsystem. Thistable stores information <strong>of</strong> the uploaded file. Fetching on storing files will be using thisdatabase table. Other existing database tables that are reused in the development <strong>of</strong> theForm Submission Subsystem are department, researchstudent and lecturer. Each <strong>of</strong>reused database tables is discussed below. In the researchstudent table, three columnswere used. That is shown in the Table 4.5 below.Table 4.5: Database table ‘researchstudent’Column Name Explanation TypeStudent_idno This filed is used to identify Varcharthe form uploader id.Student_name Name is fetched from this Varcharcolumn for various used in theinterfaceSup_idnoSupervisor id no were obtainusing this columnVarcharDepartment table is by the Coordinator access level to view lecturers under hisdepartment. The column dept contain abbreviation for each department in the<strong>Electrical</strong> <strong>Engineering</strong> <strong>Faculty</strong>. The department table is then will be linked with thelecturer table to fetch the information <strong>of</strong> the lecturers within the same department <strong>of</strong>the coordinator.Table 4.6: Database table ‘Department’Functions Explanations TypeDeptContain abbreviation <strong>of</strong> thedepartment in <strong>Electrical</strong><strong>Engineering</strong> <strong>Faculty</strong>.Varcar


324.6 Chapter SummaryIn this chapter, the system design were discussed. This includes the systemdesign architecture, System Design flow, Interface design and Database design for thesystem. Next chapter will be focused on the system implementation process, where thesystem were developed and tested.


CHAPTER VIMPLEMENTATION AND DEVELOPMENT5.1 IntroductionIn this chapter, development process <strong>of</strong> the system will be discussed. Thesubsystem is devided to sseveral type <strong>of</strong> module to specify the developmentprocedure in developing the system. The modules are Uploading, Validating andRetrieving Files. Detail explanation also will be included in this chapter.5.2 ImplementationIn the Form Submission Subsystem, three users’ access level functions willbe upgraded. These user access levels have different function in the Module andphases. Table below shows the phases and users that involves in the phases.Table 5.1: Users access level in the modulesUploading Validating Retrieving Files‐Student ‐Lecturer/Supervisor ‐Student‐Lecturer‐Coordinator


34Table 5.2: Functions in the modulesUploading Validating Retrieving Files‐Upload Files‐Update Files‐View form Online‐Validate Form‐Form Status‐Download Files‐View form online5.2.1 Implementation <strong>of</strong> uploading module.For this Module, students will be requested to upload the forms to thedatabase. The template <strong>of</strong> the forms is available for download at the main sites <strong>of</strong>Postgraduate Online system. The template that available to download is providedin Micros<strong>of</strong>t Word format document. Student need to convert the filled downloadeddocument to the PDF format document.Files uploaded need to be in the PDF format, PDF format files is a really highreliable file in security, where the file content cannot be altered or changed. Thesystem will detect the uploaded file type and reject the file if the file type is not‘application/pdf’. Updating file function will be activated if the user alreadyuploaded a file with the same form name in the system as the system detects thefiles using the student ID number.Because <strong>of</strong> the maximum file size <strong>of</strong> the mediumblob data type is limited to16 Megabytes; the system will return an error message if the chosen upload file sizeexceeds 16 Megabytes. Means, student is only allowed to upload file that is less than16 Megabytes.


35Figure 5.1: Upload interfaceFigure5.2: Upload error message5.2.2 Implementation <strong>of</strong> Validating ModuleThis system can only be used by the lecturer or supervisor. A form that hasbeen uploaded by the student is given a default status that is ‘Pending’. The lecturercan change this status to ‘Approved’, ‘Checked’ or ‘Rejected’. Lecturers can onlychange their students form only once. The validated form will result the system toproduce a message notifying the lecturer that the current form has been validated.


36Validating Module has to be dynamic, where the lecturer can read the fileand validate the form at the same window in their internet browser. To implementthis interface, HTML frame command functions were used to split the internetbrowser allowing the browser to view validating page and form application pages.Figure 5.3: View form online and Validate5.2.3 Implementation <strong>of</strong> file retrieving modulesThe form submission subsystem must allows the user to retrieve the data orfile that were uploaded to the database.In this module the most important data t<strong>of</strong>etch from the database is stored in the mediumblob datatype column, File. Thiscolumn stores the data <strong>of</strong> the PDF file uploaded in the binary format.This module involves calling header function in HTML command to fetchand translate the data to a data type that can be comprehend by the Internetbrowser.For downloading function, the HTML header funtion is used to get the filename and file size. If this command is not included the downloading file will notworks.


37Figure 5.4: Download Form dialog box5.3 System TestingSystem testing is a critical phase in developing a system. This phaseindentify error in output and input. Testing phase is also where the developervalidates the system with the clients whether the system works as desired by theclient or not. This is really important to comfirms that the system that has beendevoloped meet the requirment specify by the client or not.5.3.1 Input TestingInput testing is a very crucial phase where developers verify the input thathad been inserted by the users to the database through the system is a valid input.In this system for example the uploaded file type, if the file type is not PDF thesystem should reject and produce an error message. In this testing various type <strong>of</strong>input were tried and tested. Invalid data input were also tried, system works welldisplaying the error messages.


385.3.2 Output TestingThis test is to identify error produced when the system tries to fetch the datafrom the database. The system was given a function to fetch the desired data andwas tested whether it will produce the desired output or error messages if it failedto works properly.In this testing the most difficult and challenging part is to fix the header <strong>of</strong>the uploaded file to enable the view from online function. The header <strong>of</strong> HTMLcommand clash with the include header file resulting the include header to beabandon in the view form online function.In the downloading function the same problem occurred as the system failsto fetch file size and file name resulting blank file with PHP type were downloaded.Other output problem is mainly because <strong>of</strong> misused <strong>of</strong> command Queryin MySQLprogramming. This error then was fixed till it produced the output desired.5.3.3 System flow testingSystem testing in term <strong>of</strong> flow had been made. This is important to identifythat the system flows is correct and stable. In this phase, function and link locationwere tested as they were placed in the right module and been verify so that it willnot create problem to the user in the future. The developed system flexibility werealso been studied so that the system developed can be considered user‐friendly anddynamic to the end user. During the system development, testing is frequentlydone. After testing and upgrading were implemented, the system seems to operatemore dynamic and user friendly.


395.4 Chapter SummaryIn this chapter the method <strong>of</strong> system development and implementation werediscussed. Development is divided into modules helps to give the initial visual <strong>of</strong>the project, resulting smooth works during the development phase. Through thismethod improvement made can be visualized clearly.


CHAPTER VICONCLUSION6.1 AchievementThis project is to upgrade the current Postgraduate Online System with thenew developed Form Submission subsystem. Through this project, basic andadvanced knowledge <strong>of</strong> HTML, PHP and MySQL were learned and obtained. Theproject also enhances the capability <strong>of</strong> the Postgraduate Online System to managethe form submission process virtually. PDF file format were chosen as it isinvulnerable to the most internet attack, means that the uploaded files content areimpossible to be altered in the attack session.6.2 Problem EncounteredThe current Postgraduate Online System were developed to assist thepostgraduate community in their academic and <strong>of</strong>fice management activities. Noproper documentation <strong>of</strong> the system were made by the previous developer. Acertain amount <strong>of</strong> time were spend to comprehend the system flow and to identifythe information that can be use to interact the new developed subsystem with thecurrent system.


41Problem in deciding the file storing method also had been encoutered wherethe uploaded file is to be stored in the server as an independent file or; to be storedas the Binary Large Object (BLOB) data in the database.The PostgraduateSubsystem were not yet being deployed in the faculty server as the data <strong>of</strong> thecurrent semester activities is still on‐going.6.3 Suggestion for Future Development and UpgradeSystem development process will continues time as requirement for thesystem may be changed overtime. The Postgraduate Online System’s formsubmission subsystem can be improved such as:a) Interacting the Post graduate Online System with the AcademicManagement System (Aimsweb)Aimsweb manages student registration system, with the integration <strong>of</strong> thePostgraduate Online System; only students that have registered the subjectfor the semester will be using the system.b) Improving the system’s securityAdvanced security file type might be developed by the developer in thefuture. Improvement <strong>of</strong> this feature should be considered to make sure thatthe files that were uploaded are properly secured.c) Adding a notification systemThe development <strong>of</strong> notification system should be considered as it will alertthe appropriate users about current update <strong>of</strong> his activities in the system.Users can be alerted by e‐mail or SMS.


42d) Including marking scheme in the systemThis function is to mark and validate properly the uploaded file, certainadditional feature such as comment on the uploaded file could be added forthe user to interact in improving their documents.


43REFERENCES1.) Janine Warner. Dreamweawer 8 for dummies, Wiley Publishing, Inc, 20062.) Janine Warner. Dreamweawer CS3 for dummies, Wiley Publishing, Inc,20073.) Luke Willing and Laura Thomson. PHP and MySQL Web Development, SAMS,20014.) Silberchatz Galvin Gange. Operating System Concept, 7 th edition. John Wiley &Sons. Inc, 2005.


43APPENDIX A1.1 User manual for Student Access levelStudent will be requested to log in at the main page <strong>of</strong> the site using theiruser ID and Password provide by the system administrator to access the studentmenu page. In the student menu page the Student header will be displayed. Studentheader contains the functions that can be accessed by the student. The functions <strong>of</strong>Form Submission sub system that were included in the header are:• Form Upload• Download Form• From Status1.1.1 Form UploadThis menu will be used by the student to upload their form in PDF format tothe system database. Student will be requested; to choose the desired form type tobe uploaded, to fill the project title <strong>of</strong> the forms and student also will be requestedto locate the form file location on their local drives to be uploaded to the systemdatabase.Figure 1.1 : Form Upload Interface


441.1.2 Download FormDownload form menu was included for the student to retrieve their ownuploaded forms that were previously stored in the system database. Student canonly download their own uploaded file.Figure1.2: Form Download Menu1.2 Form StatusStatus <strong>of</strong> the student’s recent uploaded forms will be displayed here.Student can keep on track <strong>of</strong> their uploaded form status on this page.Figure 1.3: Form Status page


451.2 User Manual for Lecturer Access levelIn the Postgraduate Online System, lecturers take a role as the formvalidators for their student uploaded form. Three main functions were created forthe lecturer to play their role in the system• Validate form• View Form Online• Download Form1.2 Validate formWhen lecturers click on this function link, the internet browser will openForm file using external application, ‘Adobe Reader’. To use this function, the hostmust have the application installed. Form Validate header will be available on thetop <strong>of</strong> the pages.Figure 1.4: Lecturer’s Student Form MenuForm validate function


46Form validate functionFigure 1.5: Validate Form and View Form online page1.2.1 View Form OnlineLecturer user access level can view their student form directly in their webbrowser. To enable this function, Adobe Reader must be installed.Figure 1.6: View Form online page


471.2.2 Download FormLecturer can keep their student uploaded file by downloading it to theirlocal drives by using this function.Figure 1.7: Download Form popup messagebox1.3 User Manual for Coordinator Access LevelCoordinators are the lecturers assigned by their department to manage thedepartment activities. In the postgraduate community, coordinators are the onewho responsible to arrange the student seminar or presentation. Coordinatorrequires the approval from the lecturer who is the supervisor <strong>of</strong> the students topresent their project. The form submission subsystem helps the coordinators to findthe forms that were approved by the department lecturers. Included functions forthe coordinator access level are:• View Form Online• Download Form1.3.1 View Form OnlineThis function is similar to the lecturer access level view form online.Modification were made from the lecturer access level View Form Online so thatonly validated forms with ‘Approved’ or ‘Validated’ status will be viewed.


48Figure 1.8: Coordinator check form pageFigure 1.9: Coordinator View Form Online page


491.3.2 Download FormCoordinator can download the forms uploaded by the student who is undertheir department for future reference or backup.Figure 1.10: Coordinator Download Forms.


51APPENDIX BStudent header coding(Studentheader.inc)MyPostgraduatePostgraduate<strong>Faculty</strong> <strong>of</strong> <strong>Electrical</strong><strong>Engineering</strong>Update Info


52FormsRPP1-1RPP1-1


53-Final Exam Timetable -Lock End -->Form UploadUpload FormDownload FormForm ListForm Status


54Form Status


55Form Upload page (Uploadform1.php)&nbsp;Form nameRP1-1RP1-2RP1-3RP2-1RP2-2RP2-3Project TitleFile*PDF formated file only


56&nbsp;height: 10px;">


57Upload process coding (Upload.php)&nbsp;


58$fileName =mysql_real_escape_string($_FILES['uploadedfile']['name']);$fileType =mysql_real_escape_string($_FILES['uploadedfile']['type']);$fileSize = $_FILES['uploadedfile']['size'];$content= mysql_real_escape_string(file_get_contents($_FILES['uploadedfile']['tmp_name']));*/if($fileType=='application/pdf'){if($formvld==0){/*if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'],$target_path)){*/echo "The file ". basename($_FILES['uploadedfile']['name'])." has been uploaded as ". basename($_POST['FormName'])." form in the database";echo "Form Uploaded at ";echo date("H:i, jS F");//$data =addslashes(fread(filesize($_FILES['uploadedfile'])));FormUpload($_POST['FormName'],$content,'',$_POST['ProjectTitle'],get_sup_idno($_SESSION['idno']),$fileName,$fileSize,$fileType,$_SESSION['idno']);/*}else{echo "There was an error uploading the file,please try again!";}*/else{}echo "Form " .$_POST['FormName']."already exist in thedatabase ";echo "Do you want to delete and replace it with currentuploaded file?";?>


59height: 10px;">


60Contact Us - <strong>Faculty</strong> <strong>of</strong> <strong>Electrical</strong> <strong>Engineering</strong>, UniversitiTeknologi Malaysia &copy


61Student download page coding (Donlod.php)&nbsp;


62//mysql_result($result);mysql_close($link);?>height: 10px;">


63$id=$_GET['id'];$sql = "SELECT File,filename,filetype,filesize FROM form WHEREid=$id";$result = @mysql_query($sql,$link);$file = @mysql_result($result,0, "File");$name = @mysql_result($result,0, "filename");$Type = @mysql_result($result,0,"filetype");$size = @mysql_result($result,0,"filesize");/*$query = "SELECT filename, filetype, filesize, File " ."FROM form WHERE Title = '$Title'";$result=mysql_query($query, $link) or die('Error, query failed');list($name, $type, $size, $content)=mysql_fetch_array($result);*/header("Content-type: ".$Type);header("Content-length: ".$size);header("Content-Disposition: attachment; filename=".$name);;header("Content-Description: PHP Generated Data");echo $file;}@mysql_close($link);?>


64Form status page(Studentform.php)&nbsp;


65?>height: 10px;">


66Lecturer header (Headerlecturer.inc)MyPostgraduatePostgraduate<strong>Faculty</strong> <strong>of</strong> <strong>Electrical</strong><strong>Engineering</strong>UpdateUpdate InfoChange PasswordFormsRPPP 3-1


67while($prow=mysql_fetch_array($list_result)){?>-Seminar Timetable- Final Exam Timetable -lock end-->


68List <strong>of</strong> Research Student Master (TC) Student Lecturer student list (FormStudent.php)


69}else{}?>flushMemberSession();header("Location: index.php");List <strong>of</strong> PhD Students Student NameList <strong>of</strong> Research Master Students


70$bil=1;if(mysql_num_rows($list_result)!=0){?>height: 10px;">


71


72Lecturer’s student form page (Lecturerform.php)List <strong>of</strong> Forms


73echo " ( Viewonline/Validate )\n";echo " ( Download)\n";echo " \n";}}//mysql_result($result);mysql_close($link);?>height: 10px;">


74}else{}flushMemberSession();header("Location: index.php");?>Untitled Document


75go back tostudent form list Update form's Status :


76


77Viewform online (Viewformonline.php)


78Coordinator header coding (Headercoordinator.inc)MyPostgraduatePostgraduate<strong>Faculty</strong> <strong>of</strong> <strong>Electrical</strong><strong>Engineering</strong>List <strong>of</strong> StudentsResearchPhDResearchMasterTaught Course (TC) MasterTC & Research MasterFormsRP 1-1


79RP 1-2RP 1-3RP 2-1RP 2-2RP 2-3RP 3-1SchedulesProject1Project2Research (Master & PhD)Seminar Timetable


80Final Exam Timetable Main-Campus(Skudai)Off-Campus(Penang)Off-Campus (Kulim)Off-Campus (Kuala Lumpur)Off-Campus (Warfare)Form Check FormsCoordinator’s lecturer list (Getdept.php)


81}?>flushMemberSession();header("Location: index.php");align="center">


82 &nbsp;Contact Us - <strong>Faculty</strong> <strong>of</strong> <strong>Electrical</strong> <strong>Engineering</strong>, UniversitiTeknologi Malaysia &copy


83Coordinator’s student list (coordinatorstu.php)List <strong>of</strong> PhD Students {Student Name


84}?>List <strong>of</strong> Research Master Students Student Nameheight: 10px;">


85 &nbsp;Contact Us - <strong>Faculty</strong> <strong>of</strong> <strong>Electrical</strong> <strong>Engineering</strong>, UniversitiTeknologi Malaysia &copy


86Coordinator forms page (Co<strong>of</strong>orm.php)&nbsp;


87echo " ( Download)\n";echo " \n";}}//mysql_result($result);mysql_close($link);?>height: 10px;">

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!