100% found this document useful (1 vote)
39 views207 pages

Fypfinal e Freelancing 210405163027

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
39 views207 pages

Fypfinal e Freelancing 210405163027

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 207

E-FREELANCING

TABLE OF CONTENTS
CHAPTER 1- INTRODUCTION TO THE PROJECT ............................................................................................ 7
1. INTRODUCTION TO THE SYSTEM .......................................................................................................... 7
1.1 PROJECT TITLE ..................................................................................................................................... 7
1.2 PROJECT ABSTRACT............................................................................................................................. 7
1.3 PROJECT BACKGROUND ...................................................................................................................... 8
1.4 PURPOSE OF THE SYSTEM ................................................................................................................... 8
1.5 RATIONAILE BEHIND THE SYSTEM ...................................................................................................... 9
1.5.1 TANGIBLE BENEFITS ..................................................................................................................... 9
1.5.2 INTANGIBLE BENEFITS .................................................................................................................. 9
1.6 TARGET AUDIENCE ............................................................................................................................ 10
1.7 BRIEF DESCRIPTION OF THE OBJECTIVES OF THE SYSTEM................................................................ 10
1.8 FEATURES & FUNCTIONALITY OF THE SYSTEM ................................................................................. 11
1.8.1 CORE FEATURES ......................................................................................................................... 11
1.8.3 ADVANCED FEATURES ................................................................................................................ 13
1.8.3 SPECIAL FEATURES ..................................................................................................................... 14
1.8.4 EVIDENCE FOR LIMITING THE PROJECT SCOPE .......................................................................... 14
1.9 PROJECT SCOPE AND DELIVERABLES ................................................................................................ 15
1.10 SUCCESS CRITERIA........................................................................................................................... 15
CHAPTER 2: PROBLEM DESCRIPTION......................................................................................................... 16
2.1 INTRODUCTION TO PROBLEM AREA ................................................................................................. 16
2.2 WHY THE PROBLEM SHOULD BE STUDIED ............................................................................................ 16
2.3 PROBLEM JUSTIFICATION...................................................................................................................... 17
2.4 NATURE OF CHALLENGE ....................................................................................................................... 18
2.5 RECOMMENDED SOLUTION .................................................................................................................. 18
CHAPTER 3: LITERATURE REVIEW .............................................................................................................. 20
3.1. JUSTIFICATION FOR CONDUCTING LITERATURE REVIEW ................................................................ 20
3.2. LITERATURE REVIEW IN THE PRESENT SCENARIO ........................................................................... 20
3.3. ACADEMIC RESEARCH ...................................................................................................................... 21
3.3.1 WEBSITES ................................................................................................................................... 21
3.3.2 RESEARCH PAPERS ..................................................................................................................... 22
3.3.3 BOOKS ........................................................................................................................................ 22

PT1081156 Asia Pacific Institute of Information Technology 1|Page


E-FREELANCING

3.3.4 JOURNAL AND WHITE PAPER REFERENCES ............................................................................... 23


3.4 DOMAIN RESEARCH .......................................................................................................................... 23
3.4.1 WHAT ACTUALLY E-FREELANCING IS?........................................................................................ 23
3.4.2 EMERGENCE OF E-FREELANCING ............................................................................................... 24
3.4.3 AREAS OF OPERATION AND ITS IMPORTANCE .......................................................................... 24
3.4.4 STATISTICS WORLDWIDE ........................................................................................................... 24
3.4.5 ADVANTAGES OF E-FREELANCING ............................................................................................. 25
3.4.6 FEATURES OF E-FREELANCING ................................................................................................... 26
3.5 FINDINGS- MARKET RESEARCH ......................................................................................................... 26
3.5.1 EXISTING SYSTEM IN THE MARKET ............................................................................................ 27
3.5.2 COMPARATIVE ANALYSIS OF THE THREE FREELANCE MARKET PLACES .................................... 28
3.5.3 CONCLUSION DERIVED FROM MARKET RESEARCH ................................................................... 28
3.6 FINDINGS – TECHNOLOGICAL FEASIBILITY ........................................................................................ 29
3.6.1 CURRENT SCENARIO................................................................................................................... 29
3.6.2 GROWTH OF USE OF COMPUTERS ............................................................................................. 29
3.6.3 WEB-DEVELOPM ENT PLATFORM .............................................................................................. 30
3.6.4 DATABASE ENGINE SELECTION .................................................................................................. 31
CHAPTER 4- RESEARCH METHODS ............................................................................................................. 32
4.1 PRIMARY RESEARCH.......................................................................................................................... 32
4.1.1 QUESTIONNAIRE ........................................................................................................................ 32
4.1.2 INTERVIEW ................................................................................................................................. 33
4.1.3 OBSERVATION ............................................................................................................................ 34
4.2 SECONDARY RESEARCH..................................................................................................................... 34
4.2.1 TECHNICAL RESEARCH ............................................................................................................... 34
4.2.2 DEVELOPMENT PLAN ................................................................................................................. 44
4.2.3 GANTT CHART ............................................................................................................................ 46
CHAPTER 5- ANALYSIS ....................................................................................................................... 47
5.1 CONCLUSION FROM ANALYSIS OF QUESTIONNAIRE ........................................................................ 47
5.2 CONCLUSION FROM ANALYIS OF INTERVIEW................................................................................... 48
5.3 CONCLUSION FROM ANALYSIS OF OBSERVATION............................................................................ 48
5.4 RISK ANALYSIS ................................................................................................................................... 49
CHAPTER 6 - SYSTEM DESIGN .......................................................................................................... 51

PT1081156 Asia Pacific Institute of Information Technology 2|Page


E-FREELANCING

6.1 DESIGN METHODOLOGY SELECTED .................................................................................................. 51


6.1.1 JUSTIFICATION FOR SELECTION OF OBJECT ORIENTED DESIGN ................................................ 51
6.2 DESIGN STRATEGY USED ................................................................................................................... 51
6.2.1 USE CASE DIAGRAMS ................................................................................................................. 52
6.3.1 SUB USE CASES ........................................................................................................................... 55
6.2.2 ACTIVITY DIAGRAMS .................................................................................................................. 69
6.2.3 SEQUENCE DIAGRAMS ............................................................................................................... 76
6.3 CLASS DIAGRAM................................................................................................................................ 80
6.4 MAPPING OF ERD TO RELATIONAL DATABASE SCHEMA .................................................................. 82
6.5 NORMALIZATION .............................................................................................................................. 83
6.5.1 WHY DATA NORMALIZATION IS REQUIRED? ............................................................................. 83
6.5.2 DESIGN METHODOLOGY USED .................................................................................................. 83
6.5.3 FIRST NORMAL FORM ................................................................................................................ 84
6.5.4 SECOND NORMAL FORM (2NF).................................................................................................. 85
6.5.5 THIRD NORMAL FORM ............................................................................................................... 86
6.6 DATA DICTIONARY ............................................................................................................................ 87
6.7 PHYSICAL DESIGN OF DATABASE ...................................................................................................... 93
CHAPTER 7: IMPLEMENTATION...................................................................................................... 95
7.1 ASPECTS FOR IMPLEMENTATION...................................................................................................... 97
7.1.1 USABILITY ASPECT ...................................................................................................................... 97
7.1.2 TECHNICAL ASPECTS: TOOLS USED FOR MODELLING & IMPLEMENTATION ............................. 98
7.2 IMPLEMENTATION APPROACH FOLLOWED ...................................................................................... 99
7.3 IMPLEMENTATION OF DIFFERENT MODULES ................................................................................. 100
7.4 USER MANUAL: E-FREELANCING .................................................................................................... 121
7.5 TECHNICAL MANUAL....................................................................................................................... 127
CHAPTER 8: TESTING ................................................................................................................................ 131
8.1 E-FREELANCING TESTING STRATEGIES ............................................................................................ 131
8.1.1 WHY TESTING SHOULD BE DONE? ........................................................................................... 133
8.1.2 WHO SHOULD DO THE TESTING?............................................................................................. 133
8.1.4 SUCCESS/FAILURE CRITERIA ..................................................................................................... 134
8.2 TESTING DESCRIPTION .................................................................................................................... 134
8.2.1 UNIT TESTING ........................................................................................................................... 134

PT1081156 Asia Pacific Institute of Information Technology 3|Page


E-FREELANCING

8.2.1.2 WHITE BOX TESTING ............................................................................................................. 147


8.2.2 INTEGRATION TESTING ............................................................................................................ 150
8.2.3 SYSTEM TESTING ...................................................................................................................... 153
8.2.3.1 PRE-CONDITION FOR CONDUCTING SYSTEM TESTING ......................................................... 153
8.2.4 USER ACCEPTANCE TESTING .................................................................................................... 158
8.2.4.1 END USERS INVOLVED IN USER ACCEPTANCE TESTING ........................................................ 158
8.3 TESTING SUMMARY ........................................................................................................................ 161
CHAPTER 9: CRITICAL EVALUATION ......................................................................................................... 162
9.1 BENEFITS OF THE SYSTEM ............................................................................................................... 162
CHAPTER 10: CONCLUSION ...................................................................................................................... 163
10.1 DEGREE OF SUCCESS ..................................................................................................................... 163
10.1.1 SUCCESS ASSESSMENT ........................................................................................................... 163
10.2 LIMITATIONS OF E-FREELANCING ................................................................................................. 166
10.3 POSSIBLE FUTURE ENHANCEMENTS ............................................................................................. 166
10.4 WHAT IF THE DEVELOPER GETS A CHANCE TO REDO THE SYSTEM? ............................................ 167
10.5 COMPUTATIONAL CHALLENGES ................................................................................................... 167
10.6 LEARNING EXPERIENCE ................................................................................................................. 167
REFERENCES .............................................................................................................................................. 169
APPENDIX A – PREPARED QUESTIONNAIRE .............................................................................................. 172
APPENDIX B – PREPARED INTERVIEW QUESTIONS ................................................................................... 175
APPENDIX C- ANALYSIS & JUSTIFICATION OF QUESTIONNAIRE ............................................................... 177
APPENDIX D- ANALYSIS & JUSTIFICATION OF INTERVIEW ........................................................................ 183
APPENDIX E- ANALYSIS & JUSTIFICATION OF OBSERVATION ................................................................... 186
APPENDIX F- PROJECT PROPOSAL FORM (PPF) ........................................................................................ 187
APPENDIX G- PROJECT SPECIFICATION FORM (PSF) ................................................................................. 190
APPENDIX H: LOG SHEETS ......................................................................................................................... 204
APPENDIX I: FAST TRACK ETHICAL FORM ................................................................................................. 205
APPENDIX J: SAMPLE QUESTIONNAIRE & INTERVIEW (FILLED) ................................................................ 206
APPENDIX K: GANTT CHART ...................................................................................................................... 207

PT1081156 Asia Pacific Institute of Information Technology 4|Page


E-FREELANCING

List of Tables
Table 1 Fair Bidding Policy .......................................................................................................................... 17
Table 2: Recommended Solution for Identified Problems.......................................................................... 19
Table 3 Comparison between methodologies ............................................................................................ 38
Table 4 Comparison between Web Development Platforms ..................................................................... 41
Table 5 Risk Analysis ................................................................................................................................... 49
Table 6 Risk Assessment & Control ............................................................................................................. 50
Table 7 Sub Use Case - Registration............................................................................................................ 56
Table 8 Sub Use Case - Project Creation & Updating.................................................................................. 58
Table 9 Sub Use Case-Online Certification Test .......................................................................................... 60
Table 10 Sub Use Case- Online Project Bidding .......................................................................................... 62
Table 11 Sub Use Case - Payment ............................................................................................................... 64
Table 12 Sub Use Case - View Report ......................................................................................................... 66
Table 13 Sub Use Case- Discussion Forum .................................................................................................. 68
Table 14 Normalization Forms .................................................................................................................... 84
Table 15Usability Aspects ........................................................................................................................... 97
Table 16 Technical Aspects- Development Tools........................................................................................ 98
Table 17 Technical Aspects - Documentation Tools ................................................................................... 98
Table 18 Types of Testing.......................................................................................................................... 132
Table 19 List of Testers ............................................................................................................................. 133
Table 20 Hardware & Software Requirements for Testing ....................................................................... 134
Table 21 Unit Test: Registration................................................................................................................ 135
Table 22 Unit Test: Login .......................................................................................................................... 136
Table 23 Unit Test: Password Recovery & Change ................................................................................... 137
Table 24 Unit Test: Project Create & Update............................................................................................ 138
Table 25 Unit Test: My Projects ................................................................................................................ 139
Table 26 Unit Test: Online Project Bidding ............................................................................................... 141
Table 27 Unit Test: Online Certification Test ............................................................................................ 142
Table 28 Unit Test: Profile Creation & Updation ...................................................................................... 143
Table 29 Unit Test: Chat ............................................................................................................................ 144
Table 30 Unit test: Upload Resume .......................................................................................................... 145
Table 31 Unit Test: Feedback .................................................................................................................... 145
Table 32 Unit Test: Discussion Forum ....................................................................................................... 146
Table 33 GUI Testing ................................................................................................................................. 155
Table 34 Question Set for Usability Testing .............................................................................................. 156
Table 35 Usability Test Response Analysis................................................................................................ 156
Table 36 End Users involved in User Acceptance Testing......................................................................... 158
Table 37 Result of Acceptance Testing- Test Case #1 ............................................................................... 159
Table 38 Result of Acceptance Testing- Test Case #2 ............................................................................... 160

PT1081156 Asia Pacific Institute of Information Technology 5|Page


E-FREELANCING

Table 39 Result of Acceptance Testing- Test Case #3 ............................................................................... 160


Table 40 Success Parameter – System Requirements .............................................................................. 164
Table 41 Success Parameter – Functional Requirements ......................................................................... 164
Table 42 Success Parameter– Ease of Use ................................................................................................ 165
Table 43 Success Parameter– Ease of Use ................................................................................................ 165
Table 44 Success Parameter- Research Analysis ...................................................................................... 165

Table of Figures
Figure 1 Statistics from www.freelancer.com ............................................................................................ 22
Figure 2 Skills in Demand ............................................................................................................................ 24
Figure 3 Registered users on elance.com ................................................................................................... 25
Figure 4 Total time spent by full-time freelancers worldwide per week.................................................... 25
Figure 5 Features of E-Freelancing ............................................................................................................. 26
Figure 6 Market Research - www.freelancer.com ...................................................................................... 27
Figure 7 Market Research- www.oDesk.com ............................................................................................ 27
Figure 8 Market Research - www.workana.com ........................................................................................ 28
Figure 9 Internet Users in the world ........................................................................................................... 29
Figure 10 Research Plan. ............................................................................................................................. 32
Figure 11 Waterfall model .......................................................................................................................... 35
Figure 12 Boehm-Spiral-Model ................................................................................................................... 37
Figure 13 Three Tier Client Server Architecture ......................................................................................... 43
Figure 14 Design Strategy Used .................................................................................................................. 51
Figure 15 Use Case - E-Freelancing ............................................................................................................. 52
Figure 16 Use Case- Client .......................................................................................................................... 53
Figure 17 Sequence Diagram – Registration ............................................................................................... 76
Figure 18 Sequence Diagram: Login............................................................................................................ 77
Figure 19 Sequence Diagram: Post Project ................................................................................................. 77
Figure 20 Sequence Diagram: Project Bidding ............................................................................................ 78
Figure 21 Sequence Diagram: Online Certification Test ............................................................................. 79
Figure 22 Class Diagram .............................................................................................................................. 80
Figure 23 Implementation Approach .......................................................................................................... 99
Figure 24 Testing Strategy Hierarchical Plan ............................................................................................ 131
Figure 25 Flow Graph ................................................................................................................................ 148
Figure 26 Compatibility Testing – Web Browsers ..................................................................................... 157
Figure 27 Compatibility Testing – Operating Systems .............................................................................. 157

PT1081156 Asia Pacific Institute of Information Technology 6|Page


E-FREELANCING

CHAPTER 1- INTRODUCTION TO THE


PROJECT

1. INTRODUCTION TO THE SYSTEM


The system being proposed by the developer is a website which represents a freelance
market place where clients can post projects and freelancers can bid for the projects. It is
system where both the freelancers and the clients will be brought under the same Roof.
This is an era where most of the people prefer to work as a free man and not under the
name of any organization. Online freelance market place is such a platform to such
freelancers where they get paid for their work and at times, this makes work more as a fun
game. Similarly, clients, which can be any organization, any group or any individual,
willing to offer their projects to be outsourced and developed by other people and that too
within a fixed budget range acceptable to both the parties. For both the above two kind of
people, the proposed system is a proper solution - “An online freelance market place”.

1.1 PROJECT TITLE

E-FREELANCING

1.2 PROJECT ABSTRACT


The system being developed will be a Web application system based on .Net framework
using C#. It is an “E-Freelancing” website which will be used by IT project developers,
clients and even IT students. The basic feature of this website will be to provide a
communication channel between a client, seeking a developer for any project, and the
developer/Freelancer, seeking for IT projects for which they will be paid. The client as
well as the freelancer is required to sign up to the website so they can be considered as the
member of the E-Freelancing website. The freelancers will have to pass an online test in
order to participate in the online bidding of the projects available on the website. The
system will also provide a chatting module and a discussion board which will be used for
communication between the clients, developers and other interested parties, in an effective
and efficient manner.

PT1081156 Asia Pacific Institute of Information Technology 7|Page


E-FREELANCING

1.3 PROJECT BACKGROUND

These days organizations belonging to every field of work are getting dependent on their
technical employees for any IT related project work or else they need to hire developers
and programmers from somewhere for which they need to make huge payments. Even we
see people search for programmers and developers either to make a website for them or
create any application for their business or ask to perform many more such tasks. All these
problems have a very appropriate solution- Online freelancing.

There are a few online freelancing websites which offer such facilities to hire freelancers
online but they do not guarantee that the developer being hired is completely efficient and
able to take that project. The hiring process of contractors over the existing system is very
complex. The clients are not able to see the complete profile of the available freelancers
before the hiring process starts. Even it is difficult for the freelancers to collect sufficient
information from the website about the clients who are hiring them. This often leads the
clients in turmoil with incompetent developer and the allotted task remains undone. This
system will work to remove such problems and offer people a website which would make
the freelancing and hiring of freelancers a simplified process. The efficiency of the
developers will already be checked by an online test and the price of the projects will be
based on online bidding of the projects.

1.4 PURPOSE OF THE SYSTEM


The purpose of the system is to facilitate the clients/organizations to post their IT related
projects over this website and this website in turn will serve as a freelance market place for
everyone. People who get logged in to the system as freelancers and who have passed the
online eligibility test will be allowed to participate in the bidding process. Thus, this
marketplace is advancement in technology trends where clients, without going anywhere in
search of freelancers will get a very suitable project developer for his/her projects and gets
it done within the minimum time duration and within a limited budget estimated.

PT1081156 Asia Pacific Institute of Information Technology 8|Page


E-FREELANCING

1.5 RATIONAILE BEHIND THE SYSTEM


With over 8 million users, you can hire a freelancer to do your contract work at a fraction
of the cost. Whether you need PHP developers, web designers, or content writers, you can
outsource jobs within minutes. Browse through hundreds of skills including copywriting,
data entry, and graphic design or more technical areas like coding HTML, programming
MySQL, and designing CSS. Are you an entrepreneur just starting a company? Find a
quality graphic designer to create a logo to your specifications. Are you looking to grow
your business online? Don't have a website or mobile app? Not a problem, we have
thousands of web developers waiting to hear from you. This accelerates your businesses
growth by giving you the talent you need when you need it.

1.5.1 TANGIBLE BENEFITS

Ease of access to hire freelancers online will save client’s time to complete the project. The
online bidding of the projects may be useful in limiting the time for bidding and hence this
also saves sufficient time to a lot project to a freelancer. The bidding process will further
reduce the cost of the project.

Not only the clients but also the freelancers will be get benefits from this website.
Availability of projects online will prevent the freelancers from being jobless and it will
serve as a source of income to them. A freelancer can be hired for more than one project
according to the bidding value and hence, more projects will result in more monetary gain.

1.5.2 INTANGIBLE BENEFITS

Both the client and the freelancer being hired will be satisfied with the services provided
by E-Freelancing. The client will have to give less effort in finding an appropriate
freelancer for their projects. The bidding process will ultimately bring the development
cost low enough satisfying the budget requirement of the clients. Further the freelancer
bidding for the projects online will bid up to a level to which they are comfortable. The
freelancer signing up in E-Freelancing has to pass an online test based on their

PT1081156 Asia Pacific Institute of Information Technology 9|Page


E-FREELANCING

qualifications. This assures the clients that the freelancers they are hiring for their project
are qualified enough to complete the project.

1.6 TARGET AUDIENCE


Any organization or individual who is willing to get their IT related projects made in a
minimum amount possible can use this website and get a suitable developer hired.
Individual working as professional project developers in any organization may also use
this online freelancing service to earn extra money. Freelancers, students having good
knowledge about project development and website designing can use this website as a
source of extra income. All other technical professionals can also make use of this website.

1.7 BRIEF DESCRIPTION OF THE OBJECTIVES OF THE SYSTEM

The main goal of this project is to develop a website which will have two main modules
operating – Client & Freelancer. The website will avail people online working as
freelancers for IT related projects. It will focus on strict bidding for projects and a secure
payment to the freelancers by the clients.
The objectives of the project are:
 Make the complete use of Ajax and JQuery tools so that the system can be made user
friendly, following all the Human Computer Interaction principles.

 Implement a secure and bug free payment gateway so that neither the clients nor the
freelancer should face any kind of payment related problems.

 Implement a successful and transparent online bidding process for the projects.

 Conduct an online test for the freelancers which would be in a very standardized format
and having standard questions which only a well qualified project developer/programmer
will able to pass.

 After a client hires a freelancer, a new feature i.e., online chatting will be enabled between
them which will make sharing of ideas and project related doubt clearances easy.

 The discussion forum will further encourage idea sharing between the freelancers signed
up to the website.

PT1081156 Asia Pacific Institute of Information Technology 10 | P a g e


E-FREELANCING

Other Learning Objectives

Besides developing a skillful hand on certain website development related tools like
ASP.NET in Microsoft Visual Studio 2012, few other technologies are also to be learnt to
enhance the user interactivity and usage:
 Learn advanced Designing concepts of Ajax, CSS & JavaScript

 Integration of SMTP server with ASP.NET application

 Integration of Payment Gateway which has to be safe & Secure

 Understand the principles of HCI & implement those in designing the interface of the web
application

 Learn about controlling timers using JavaScript concepts and implement those in designing
the online certification test

 Learn how to invoke events at runtime for implementing chat server

1.8 FEATURES & FUNCTIONALITY OF THE SYSTEM


1.8.1 CORE FEATURES

FEATURES DESCRIPTION
Guest users can register on this web application by providing the
required user details. Users at the time have registration have to
Guest User
Registration select the role they want for- either Client or Freelancer. An auto
generated alphanumeric password will be sent to the user’s email id
which will be used during login.
Users can use the login ID and password sent to their email id to
Member Login login to the system. The system will identify the user as Client or
Freelancer and take them to their respective home pages. Admin can
use their already defined user ID & Password to login into the
system
Clients can anytime create projects and post it online on E-
Project Creation & Freelancing which will be viewed by all the freelancers and Bidding
Posting
process can be started on these projects

PT1081156 Asia Pacific Institute of Information Technology 11 | P a g e


E-FREELANCING

Freelancers could be able to see only those projects whose date &
View Projects time of closing the bidding process is still to come and currently
Open for Online
Bidding bidding is going on. Projects whose bidding time is over will not be
displayed as available projects
Freelancers can browse for the projects open for bidding and they
Online Project can place their own bid amount. It must be noted that the new bid
Bidding
amount should be at least 2% lesser than the previous Bid value on
that project.
Both Clients and Freelancers will have the privilege to edit their
Edit & Update profile details and update it anytime and any number of times. This
profile
data is to be viewed by the Clients at the time of project allotment.
Freelancer may see reports regarding their project allotments to
View Reports them, project lists and many more. Similarly, clients can see reports
like total projects posted yet, freelancer’s contacted via E-
Freelancing and many more reports. Crystal reports will be
generated for showing reports.
Freelancers and Clients get notified for any messages received to
Notifications them either by the system or by any other user of E-Freelancing.
Freelancers get notified about new projects posted online and open
for bidding and upon bid closing on such projects in which they have
submitted the lowest bid. Clients get notifications when any
freelancer places new bid on their projects.
Freelancers have the facility to upload their current resumes online
Upload/Download and Clients on the other hand will be able to download resumes
Freelancer’s
Resume uploaded by Freelancers. This enhances and improves the hiring
procedure of freelancers for projects.
Though the users get their Login ID & Password via email, they will
Password Change have the privilege to change their password anytime by following a
& Recovery
safe procedure. In case users forget their password, it can be
recovered by using the “Password Recovery” feature.

PT1081156 Asia Pacific Institute of Information Technology 12 | P a g e


E-FREELANCING

The freelancers can also send feedback to the admin for certain
Feedback updation while they conduct the online certification test. This
feedback feature will enable the admin of the system to manage the
question set for online certification test functionality
E-Freelancing will have a vast accessibility via internet and thus,
View Current until the bidding is open for a particular project, the project will face
Bidding Status on
Projects numbers of biddings every moment. Thus, the bidding status will
keep changing according to the bidding frequency. This feature will
enable users to refresh page any time and see the most recent bid
value and the bidder’s name.
Payment Gateway This module will perform the payment process of the website. This
Integration is one of the most important modules as this will serve as the
medium of payment which the client can do to E-Freelancing for the
facilities provided

1.8.3 ADVANCED FEATURES

FEATURES DESCRIPTION
A freelancer’s eligibility to participate in a bidding process will be
decided by using this functionality. A short test will have to be given by
Online
Certification the freelancer where questions will be related to the website’s policy of
Test work and the programming language selected by the freelancer. This test
will be mandatory for every freelancer willing to participate in the online
bidding of the projects.
Both the users, clients and freelancers, will get the facility of a dashboard
Dash Board where they can see their profile details, and details related to other
activities they performed.

PT1081156 Asia Pacific Institute of Information Technology 13 | P a g e


E-FREELANCING

1.8.3 SPECIAL FEATURES


FEATURES DESCRIPTION
Client & Freelancer would be able to do test chatting by using this
Chatting feature of the system. The developer will try to implement this
functionality with proper care. But the conversation between the users
will not be stored by the system. This facility of E-Freelancing will be
just to provide a communication medium between its users.
At the time of project posting, Clients do not provide the full project
File Transfer & specification. Once the project bidding is completed, Clients will have
Sharing via Email
the privilege to send/transfer the SRS of the project to their
Freelancers for better understanding of the project.
Discussion board is a place where users see details of all their major
Discussion Board activities and profile details in an organized manner. The developer
will implement this feature so that Clients & Freelancer can keep track
of their activities on E-Freelancing.

1.8.4 EVIDENCE FOR LIMITING THE PROJECT SCOPE

Though the developer will make all possible efforts to implement all the key features
keeping in mind the needs and requirements of the users, certain limitations are as follows:
 The options provided to the users in customizing the background of the website will be
limited to few options

 The chat conversations between the client and the freelancer will not be saved. It means
the website is just facilitating an online communication mode between the two user
profiles and no saved record can be maintained.

 The questions provided for online test will be limited to specific areas of programming
languages as most of the programming languages follow similar concepts and all
database related queries apply to the similar concepts.

PT1081156 Asia Pacific Institute of Information Technology 14 | P a g e


E-FREELANCING

1.9 PROJECT SCOPE AND DELIVERABLES

The project introduces a very user interactive website enabling easy understanding and
working of its functionalities. Both client and freelancer will be offered a common
platform where they can set projects to bid and accept projects as a
developer/programmer respectively.
The main deliverables of this project are:
 An HCI based website – Here people can register and login themselves as a client or
freelancer as per their choice. Further they will be able to login to the site and enjoy the
services offered.

 A very well formatted documentation of the project, having all its contents clearly
elaborated in it. This documentation will also serve as a user manual of the project
system.

1.10 SUCCESS CRITERIA


The project evaluation done jointly by the project supervisor, developer and the end users
will be considered for measuring the success criteria of the project:
1. Meet user requirements – A project’s success is confirmed only when it meets all the
user requirements successfully. This is a very important aspect to decide if a project is
succeeded or failed.
2. System Functionality – Functionality is determined by the working of the system. The
system functionality such as the payment gateway integration, online bidding and test,
profile management are to be evaluated.
3. System Usability – The evaluator may check the system’s usability by checking the
systems recoverability, accessibility and familiarity to the users.

4. Project Management – How well the scheduling has been followed and how well the
project duration and requirements has been fulfilled managing both time and development
cost. These are to be evaluated by the evaluator.

5. Research and Analysis – The developer is required to do a good amount of research and
analysis before and even during the course of project development.
6. Documentation – A very well formatted documentation is to be done which should not
have any grammatical mistake in it and whole content should be clearly specified.

PT1081156 Asia Pacific Institute of Information Technology 15 | P a g e


E-FREELANCING

CHAPTER 2: PROBLEM DESCRIPTION

2.1 INTRODUCTION TO PROBLEM AREA

It is important to understand and identify the possible problem areas by analyzing various
facts and figures related to the existing and the proposed system. After conducting the
preliminary research, the developer is quite sure about the problem contexts. Still, he wants
to explore the problem areas in more details.

As the system is based on bidding process mainly, it is important for the developer to
understand the terms and conditions that are applied over the project biddings. One of the
most important things to keep in mind is that the lowest price is not always what your
prospect is looking for. More often than not, organizations are looking for experience.
There are possibilities that at the last moment of project biddings, the bid rate may get
faster and this may increase data traffic to the website. This may sometime create problems
in the bidding process of the projects.

The main areas in which the developer needs to think to identify and sort out proper
solutions are:

 Problems related to bidding of projects where bogus bidding or fake project listing for
bidding process is the most important problems.

 Payment for the project by the client to the freelancer should be safe and secured. The
freelancers must be assured that they will be paid once the project gets completed within
the given time duration.

2.2 WHY THE PROBLEM SHOULD BE STUDIED

For every project’s success, it is important to identify the problems associated with the
system and draft a proper solution for those problems so that they might not affect the
performance of the system at a later stage. This should be done prior to conducting the
literature reviews or the researches related to the technology specifications and

PT1081156 Asia Pacific Institute of Information Technology 16 | P a g e


E-FREELANCING

methodologies. The problems may arise not only due to technical faults but also due to
external agent’s involvement (DANIEL, 2009).

The developer’s intention to study about the problems clearly states that the developer
wants the proposed system to be free from all types of problems that are being faced by the
existing system. Thus, for this, a detailed study about the existing system is very much
necessary. Once the problems are identified, the developer can confidently build an error
free system.

2.3 PROBLEM JUSTIFICATION

All problems that may occur in the current system are due to improper management of user
profiles. The project developers should take care of the things like no single user can have
multiple user ID’s on the same website. This does nothing other than creating problems
and over-crowding the database of the system.

Fair Bidding Policy


 Inflating or deflating the bids by submitting bogus bid value just to help any other
person in achieving the lowest bid is illegal and a punishable offence. This
problem may effect to the fair bidding for other freelancers who really deserve to
get the project assigned to them.
 The database often gets crowded by fake registrations and fake project postings
over the website. This not only slows the processing time but also wastes the
freelancer’s time spent on bidding over fake projects.
Table 1 Fair Bidding Policy

Other than the above mentioned problems, some of the basic problems are like user’s
inefficiency to use internet or computer in a very well versed manner. This is one of the
most important problems which must be assured that users even with little knowledge of
computers can be guided well to handle the website by following the instructions provided.

PT1081156 Asia Pacific Institute of Information Technology 17 | P a g e


E-FREELANCING

2.4 NATURE OF CHALLENGE


 The foremost challenge in front of the developer is to implement a smooth online bidding
process for the projects. The total time for which the project should be kept on for bidding
is also to be decided and it should not be too long neither too short. It is important to
conduct this bidding in a very fair way without being partial to any of the freelancers
participating in the bidding process.

 Conduct an online test for the freelancers which will then decide the eligibility of the
freelancers to be able to participate in the bidding process. It is a tough task in front of the
developer because the questions should be very much standardized and a lot of questions
are to be stored in the database.

 Last but not the least; this is technically the most challenging aspect of the project
development- payment gateway integration. This will serve as a medium of payment for
the project by the client to the freelancers on completion of the project assigned.

 New technologies like Ajax, Web services, Microsoft Silverlight are to be implemented
and since the developer is new to these, a detailed study is required. Further, during the
project development, the developer might face problems in project’s implementation.
Research regarding new technologies and their implementation techniques is going on.

2.5 RECOMMENDED SOLUTION

SOLUTION DESCRIPTION
Unique The users visiting the website will be asked for a secure
authorization username and password which will be provided to them only
for each user if they sign in using a valid email address and the username
must be unique
Centralized This will be used to handle all the data of almost every activity
Database in the database of the system. Making a centralized database
will help the developer to easily find and remove errors (if
any)
Online This is the main functionality of the project where clients will

PT1081156 Asia Pacific Institute of Information Technology 18 | P a g e


E-FREELANCING

Bidding be able to put projects on online bidding and the project


allotment to the freelancers will be decided only after the
project bidding gets closed.
Reports for Reports will be generated for most of the activities and thus,
all activities the
user will be able to keep track of their activities by seeing their
reports
Profile The users, both, client and freelancer will be asked to provide
Creation & details so that a complete profile could be created and it can be
Updating updated by the user itself.

Online Test This will act like a filter for those freelancers who have no
sufficient knowledge and have signed in to the website
for project bidding. Freelancers qualifying in this test will be
allowed to bid in the projects.
Safe Online The developer will try his best to implement this functionality
Payment in the system so that the users can be availed with a payment
Gateway facility too for their projects.
Integration
Table 2: Recommended Solution for Identified Problems

PT1081156 Asia Pacific Institute of Information Technology 19 | P a g e


E-FREELANCING

CHAPTER 3: LITERATURE REVIEW


3. LITERATURE REVIEW

A literature review is a document written by someone to acknowledge the critical points of


current knowledge including substantive findings, as well as methodological and
theoretical contributions to a particular topic. It is a critical and in depth evaluation of
previous research (PRESSMAN, 2005).

3.1. JUSTIFICATION FOR CONDUCTING LITERATURE REVIEW

In order to get an overview of the topic and in case of doing a research work in less time,
literature review is conducted. The overall goal of literature review is to update the
researcher with the current scenario about the topic as well as it forms a basis for another
goal to be achieved by the researcher, such as future research which is basically the
primary research. Literature review produces a critical insight of working approach and the
existing system’s methodologies. The purpose of conducting the literature review in the
context of the proposed system is to summarize the information, ideas and arguments of
others and apart from this, the developer can also provide his critical evaluation on the
existing methodologies.

3.2. LITERATURE REVIEW IN THE PRESENT SCENARIO

E-Freelancing is a very new concept in India and it is prevalent just in the IT Sector
mainly. Nowadays people are getting intended towards this concept and this works on a
single concept:
“ The online market place to bring the contractors and clients under one roof ”.

Though it’s a new concept in India, it has been working in other developed nations from a
longer period. Thus, a large part of the researchers concerned with online project
outsourcing has tended to focus on the qualitative aspects of the project outsourcing being
done online. The literature review mainly tends to focus on the domain research and the

PT1081156 Asia Pacific Institute of Information Technology 20 | P a g e


E-FREELANCING

technological feasibility of the system. In case of domain research, the developer have to
state the literal meaning of online project outsourcing, its application and benefits from the
organization as well as developer point of view, and its knowledge sharing aspects.

Throughout the literature review, the developer talks about the system which he is intended
to develop. This system is a website which facilitates online bidding of projects, hiring
freelancers online to get projects done within shorter duration and minimum expense.
Since this concept of online project outsourcing is new in India and prevalent mostly in the
IT sectors, the developer is thus limiting his literature review to activities related to IT
sector only. He is more concerned with the ongoing research and development works
going on in the IT Sector and so, the developer wishes to make such a system which will
provide a helping hand to this industry.

3.3. ACADEMIC RESEARCH

Based upon the preliminary investigation and the existing knowledge, the developer has
summarized and produced an overall summary of his researches and findings. Prior to head
towards the primary and secondary research, the developer has intended to review his
research work with white papers, journals, articles and books related to the existing
system.

3.3.1 WEBSITES

 www.freelancer.com

This is one of the most frequently used website


for online project outsourcing and it works as a very active market place in the current
times. Since this is one of the most commonly used website, it now allows almost all kinds
of projects to be posted on this website.

PT1081156 Asia Pacific Institute of Information Technology 21 | P a g e


E-FREELANCING

8,000,000

6,000,000

4,000,000

2,000,000

0
Registered Users Projects Posted

Figure 1 Statistics from www.freelancer.com

The following two website links also work in similar manner as that of the above website.
Though the later are very new in this field, people register themselves frequently and
project posting is also actively done.

 www.workana.com
 www.oDesk.com

1. W3Schools, 2005, Introduction to ASP.Net [online]. Available from


www.w3schools/asp.net. (Accessed 30th Oct 2013).

2. http://www.ido.net/ShowArticle/54/advantages-of-aspnet-framework. Last accessed 19th


Nov 2013.

3. MSDN Library. (2014). Web Services with ASP.NET. Available:


http://msdn.microsoft.com/en-us/library/ms972326.aspx. Last accessed 23rd Feb 2014.

3.3.2 RESEARCH PAPERS

 Bee Lan Oo, Hing-Po Lo, Benson Teck-Heng Lim, (2012) "The effect of bidding &
success in bidding", Engineering, Construction and Architectural Management, Vol. 19
Iss: 1, pp.25 - 39

3.3.3 BOOKS
 Aggarwal, K.K. Singh, Yogesh. 2008. Third Edition, Software Engineering, New Age
International Publisher, New Delhi.

PT1081156 Asia Pacific Institute of Information Technology 22 | P a g e


E-FREELANCING

 Daniel MB(ed) 2008, Software Engineering for Modern Web Applications Methodologies
& Technologies, IGI Global, USA.

 John Dingle, 1997. Project Management, Orientation for Decision Makers. Edition.
Butterworth-Heinemann.

 Beaudouin-Lafon, M., Karsenty, A., “Transparency and Awareness in Real-Time


Groupware Systems”, UIST proceedings, 1992, 171-180

3.3.4 JOURNAL AND WHITE PAPER REFERENCES

 Chandrakant Parmar, 2004, Understanding .Net Framework at a glance. From:


http://www.codeproject.com/dotnet/DotNetWhitePaper.asp. Last accessed on 19th Nov
‟.13

 Jakob Nielsen, 1995, Growth of the Web [Online]. From


http://www.useit.com/alertbox/9509.html. Last accessed on 20th Nov‟ 13.

3.4 DOMAIN RESEARCH


3.4.1 WHAT ACTUALLY E-FREELANCING IS?

“A procedure where clients (one who offers the project) post their IT projects online and
set it to bidding, freelancers on the other hand, bid on those projects and the project gets
allotted to the contractor who has set the lowest bid to that project”

The projects are posted online, with all their details and are set to the bidding process.
These projects posted by the clients are visible to the freelancers. Eligible freelancers, the
one who have passed the qualifying eligibility test during profile completion over the
website, are allowed to participate in the secure bidding process. At the end of the process,
the freelancer with the lowest bid over that project is eligible to get the contract of that
project and can contact the respective client.

PT1081156 Asia Pacific Institute of Information Technology 23 | P a g e


E-FREELANCING

3.4.2 EMERGENCE OF E-FREELANCING


E-Freelancing belongs to the business industry popularly known as “The Freelance
Marketplace”. According to the research, dating back to the duration of 2001-2006, it was
very difficult for people to work as project freelancer and the same difficulty was faced by
clients who had projects with them to be completed but lack of means to find a suitable
project freelancer hampered their works. Situation changed when this concept of online
project freelancing developed and it became easier for both clients as well as the contractor
to contact each other and get projects done.

3.4.3 AREAS OF OPERATION AND ITS IMPORTANCE

The concept of online project outsourcing being new, it is only prevalent in the IT industry
and it is confined to projects related to IT and Computer based business sectors. The
business mostly includes web-based project developments and providing software
solutions to emerging IT companies.

3.4.4 STATISTICS WORLDWIDE

A large number of people register themselves to the existing systems either as a client or a
contractor. Statistics from one of the existing freelance marketplace Freelance.com says
that since its origin in 2009, about 9.1 Million users have registered themselves to the
website as active participants and almost 5.1 Million projects have been posted and set to
bidding till the current date.
Skills of freelancers mostly in demand can be perceived from the statistics below:

Figure 2 Skills in Demand

PT1081156 Asia Pacific Institute of Information Technology 24 | P a g e


E-FREELANCING

Registrations done over the existing system in last two years:

Figure 3 Registered users on elance.com

The statistics below shows the average hours spent per week by the full-time freelancers
worldwide among whom, the freelancers belonging to South America are found the most
active users:

Figure 4 Total time spent by full-time freelancers worldwide per week.

3.4.5 ADVANTAGES OF E-FREELANCING

E-Freelancing acts like a platform for knowledge sharing and providing income source to
those who are not able to come into the lime light of huge IT giants/companies.

PT1081156 Asia Pacific Institute of Information Technology 25 | P a g e


E-FREELANCING

The other advantages include:

1) Provides flexible hours of work: The freelancers can work whenever they want. They get
to choose their own hours.

2) Control over Jobs and Clients: Being a freelancer, one gets options to choose whom they
want to work with. If a freelancer doesn’t mesh well with a client’s personality or business
and payment philosophies, he/she can just pass on the opportunity and it is too easy.

3) You’re the Boss: The client as well as the freelancer is the only two people involved in the
deal of the projects. They don’t have to answer to anyone else. Making all the decisions
becomes all sole responsibility of the freelancer and the client.

3.4.6 FEATURES OF E-FREELANCING

Figure 5 Features of E-Freelancing

3.5 FINDINGS- MARKET RESEARCH

In India, no organization/individual is having their website which would facilitate online


project outsourcing. This sometimes stops the Indian freelancers to work for the clients
sitting at a very distant country and they do not participate in this business. Keeping this
fact into consideration, the developer has decided to develop a website called “E-
Freelancing” which will be totally dedicated to the Indian crowd and this will help a lot to
even to the IT companies in India to make use of this website and get projects done in the
minimum possible price.

PT1081156 Asia Pacific Institute of Information Technology 26 | P a g e


E-FREELANCING

3.5.1 EXISTING SYSTEM IN THE MARKET

For doing the market research, the following websites has been chosen:
 www.freelanceer.com

Figure 6 Market Research - www.freelancer.com

 www.oDesk.com

Figure 7 Market Research- www.oDesk.com

PT1081156 Asia Pacific Institute of Information Technology 27 | P a g e


E-FREELANCING

www.workana.com

Figure 8 Market Research - www.workana.com

3.5.2 COMPARATIVE ANALYSIS OF THE THREE FREELANCE MARKET PLACES


Features FREELANCER WORKANA ODESK
Profile Creation   
Online Test   
Text Chatting No No No
Project Bidding   
Dash Board   No
Discussion Board No No No
Payment mode Online Online Online
Reports No No No
Notifications   

3.5.3 CONCLUSION DERIVED FROM MARKET RESEARCH

After conducting the market research, the developer arrived to the conclusion that the
existing systems do provide project bidding facility but they do not have certain
functionalities which would have increased the websites efficiency. The developer has

PT1081156 Asia Pacific Institute of Information Technology 28 | P a g e


E-FREELANCING

decided to implement those missing functionalities in the proposed system and facilitate
the clients and freelancers with more advanced features and experience.

3.6 FINDINGS – TECHNOLOGICAL FEASIBILITY


3.6.1 CURRENT SCENARIO

As already discussed most of the IT companies in India as well as abroad, have lots of
projects which they give either to outside contractors or to some other organization so that
they can save their employee’s time and utilize them in something more productive. These
organizations either post their requirements over their website or use some other web
platforms. Languages like C#, PHP, etc are widely used for creating such websites.

3.6.2 GROWTH OF USE OF COMPUTERS

The users of this proposed system are required to be well versed in computers’ knowledge
and internet use. The system will fail to perform if it is handed over to a person who is not
too much familiar with computers or where internet is not working properly. The
developer, for this reason, has conducted a research to find out the areas where internet and
computers are very much in use and get a clean statistic reports for that. (Bitrebels, 2013)
The following report describes the approximate number of internet users worldwide:

Figure 9 Internet Users in the world

The above report shows that in Asia region, up to last year’s survey, the number of internet
users have increased to a great extent. This growth rate is so fast that, by April 2014, the

PT1081156 Asia Pacific Institute of Information Technology 29 | P a g e


E-FREELANCING

number of internet users in Asia will touch the 1300 million mark. Thus, the developer
does not have to worry about the computer and internet availability even in distant and
remote areas of India.
Some more research related to internet and social networking site’s users in India:

Country Estimated Internet Users Internet Users Facebook


Population (Year (Year 2000) (Year 2012) Users
2013) (Year 2013)
INDIA 1,253,873,983 5,000,000 137,000,000 80,566,680

3.6.3 WEB-DEVELOPM ENT PLATFORM

The developer had options to choose the web-development platform which could
be implemented during the system development process. The various options of
web-development platforms were:

1) PHP
2) ASP
3) ASP.NET
4) JSP

ASP.NET with C# is the most suitable language for the system development.
Some of the features availed by ASP.NET with c# are as follows:

Stylish Object oriented design: ASP.NET provides bunch of standard controls and data
controls which enables project developers to design their systems in a very efficient
manner and give the best possible professional appearance to the interface.
Protection and efficiency: Coding behind the pages is easier in ASP.NET which can be
achieved by double clicking the controls over which the command is to be applied. This
provides fast coding facility and security related problems can easily be identified and
safeguarded. This increases the efficiency of the system and makes it error free to a great
extent.
Exception handling: Exceptions can be handled very well in ASP.NET and it is not a
tough task for an efficient developer to identify the exceptions in a program and apply

PT1081156 Asia Pacific Institute of Information Technology 30 | P a g e


E-FREELANCING

exception handling concepts to it.


Easy error elimination: During the development process, the on time debugging facility
can be used to identify the errors in the program and resolve them.
Flexibility and power: ASP.NET supports most of the languages. So, working on this
platform is comparatively easier than others mentioned above. The developer can design
the system and do the programming in the language most preferred by them. This makes
ASP.NET the most flexible web-development platform.

3.6.4 DATABASE ENGINE SELECTION

Though the IT industry has provided lots of database engines which can be efficiently
attached to any kind of systems, the security level and their utility differs at some points.
The database engines that can be used for the proposed system are:

1) Microsoft Access
2) Oracle
3) MySQL
4) SQL Server 2008

The developer has undergone a detailed research and has decided to implement SQL
Server 2008 in the proposed system. SQL Server 2008 is able enough to provide more
reliability, data integrity, smooth performance, and vast scalability as compared to other
database systems. Also, apart from these, this is very secure and protection of data is
promised in SQL Server 2008.

PT1081156 Asia Pacific Institute of Information Technology 31 | P a g e


E-FREELANCING

CHAPTER 4- RESEARCH METHODS


4.1 PRIMARY RESEARCH

To gather the preliminary information in order to complete the requirement’s analysis and
give a start to the system designing, the developer conducted a primary research. Even
though the literature review and the academic research provided sufficient points favoring
the technical and domain study, it is necessary to get the end-users involved during the
development of the system.
For primary research, two different fact-finding techniques such as questionnaire and
interview were incorporated. The developer prepared a questionnaire to get required
answers to few questions which could be analyzed later. An interview was also conducted
to explore and analyze in detail the response of people belonging to a selected group.

Figure 10 Research Plan.

4.1.1 QUESTIONNAIRE

Formally, a Questionnaire can be defined as: “A form containing a set of questions,


especially one addressed to a statistically significant number of subjects as a way of
gathering information for a survey”. It consists of a list of a research or survey questions
which are asked to respondents, and designed to extract specific information. It serves four
basic purposes:
 Collect the appropriate data

 Make data comparable and amenable to analysis

 Minimize bias in formulating and asking questions

PT1081156 Asia Pacific Institute of Information Technology 32 | P a g e


E-FREELANCING

 Make questions engaging and varied

Questionnaires are restricted to two basic types of questions:

Closed ended- the researcher provides a list of suitable responses or options for the
respondent to choose from.

Open ended- the researcher doesn’t provide the respondents with any answer set from
which to choose. Rather the respondents are asked to answer in their own words.

The developer has decided to use only closed-ended questions so that this won’t require
much time of the respondents and data collection will be easier and faster. The prepared
questionnaire was distributed to 10 individuals for accessing varying views about the
system. The questions were prepared keeping in consideration the system functionalities
and user requirements.
Note: The prepared questionnaire has been put inside the appendices. Please refer to
APPENDICES SECTION A for the prepared questionnaire with justification.

4.1.2 INTERVIEW

Face -to -face interviews have a distinct advantage of enabling the researcher to establish
rapport with potential participants and therefore gain their cooperation. These interviews
yield highest response rates in survey research. They also allow the researcher to clarify
ambiguous answers and when appropriate, seek follow-up information.

The main motive of the developer behind conducting the interview is to obtain a detailed
understanding about the current system and the technology that are currently being used in
system development so that he can develop the proposed system in a more efficient
manner for the target audience and fulfill their requirements.

Note: The prepared interview question set along with proper justification to all questions
has been put under APPENDICES SECTION B. Please refer appendices for more
details.

PT1081156 Asia Pacific Institute of Information Technology 33 | P a g e


E-FREELANCING

4.1.3 OBSERVATION
 Observe how people make calculations and answer selection during an online test.

Justification: There are lots of people of preparing for online tests either for some exams
or they just do it for gaining knowledge. That group of people can be observed facing
different levels of questions and their reaction to every question either simple or hard will
be observed and the developer can analyze those observations to frame the questions he is
planning to put in the system’s online test procedure.
 Observing the features and technologies that IT professionals use to implement advanced
features in their systems.

Justification: The developer will be able to keep himself updated with the latest trend of
technologies and hence, it will be helpful to him in developing the desired system properly.
 Observing various bidding process going around in the market, either it be governmental
or private.

Justification: This will help the developer to understand how bidding process goes on and
what necessary rules are to be followed while implementing the bidding process in the
website.

4.2 SECONDARY RESEARCH

In academic research, the developer had to undergo passive studies which were conducted
from the available resource such as books, internet, journals based on web-technology and
the project related topics.

4.2.1 TECHNICAL RESEARCH

4.2.1.1 SYSTEM DEVELOPMENT METHODOLOGY

A system development methodology refers to the framework that is used to structure, plan,
and control the process of developing an information system. It can be defined as a
collection of procedures, techniques, tools and documentation aids which will help
developers in their efforts to implement a new system. For the successful implementation
of a project, a well-organized and systematic approach is very essential (Bentley, 2002).

PT1081156 Asia Pacific Institute of Information Technology 34 | P a g e


E-FREELANCING

4.2.1.2 NEED FOR A METHODOLOGY

Apart from the above purpose that it achieves, it offers various tools and techniques to
assist in analysis, design and testing in terms of detailed design of software, data flow
charts and database design. It helps to reduce the risks and also helps to minimize the
complexities of the project. It provides the developers a structured approach for project
implementation.

4.2.1.3 METHODOLOGY FOR WEB-BASED SYSTEMS

It is very important to choose the right development process model because the
development of the system and the quality control activities that need to be performed in
project is specified by the system development methodology chosen. The types of system
development methodology are that are:
1) Waterfall Model
2) Spiral Model
3) WISDM

WATERALL MODEL

Project is divided into sequential phases, with some overlap and splash back acceptable
between phases. Emphasis is on planning, time schedule, target dates, budgets and
implementation of an entire system at one time. Tight control is maintained over the life of
the project through the use of extensive written documentation. The waterfall model
ensures complete specification, user involvement and training.

Figure 11 Waterfall model

PT1081156 Asia Pacific Institute of Information Technology 35 | P a g e


E-FREELANCING

Disadvantages of Waterfall Model (Bentley, 2002):


 The major weakness of waterfall model is its inflexibility to accommodate varying
requirements.

 Slow, costly and cumbersome due to significant structure and tight controls.

 Difficult to respond to changes.

 Though this model is very helpful in measuring the progress of the system, but it fails to
identify all the problems until the system testing is raged.

 Needs are often discovered during design and coding.

Why this model is not suitable?

This model is very old and its inflexibility does not allow accommodating the new
requirements that erupt during the project development at a later stage. It fails to make
commitment at every stage of project development and also it is very difficult to entertain
any changes in the user requirements as the developer does not have complete set of
requirements prior to the start of the development process.

SPIRAL MODEL
The spiral model acts like an extension to the waterfall model as it introduces prototyping
in it. Spiral model is preferred instead of waterfall model for large and complicated
projects. Apart from that, it addresses to some of the implementation issues which affect
the waterfall methodology.
Therefore, we consider the spiral model to be more effective than any other methodologies.
It is both a prototype and incorporates it into an iterative framework that more reflect the
real world. The requirements are defined in the best possible way and a prototype will be
created to identify the associated risks with the project (WHITTEN J, 2002).
The spiral model has four phases:
1. Planning

2. Risk Analysis

3. Engineering

4. Evaluation

PT1081156 Asia Pacific Institute of Information Technology 36 | P a g e


E-FREELANCING

A software project repeatedly passes through these phases in iterations (called Spirals in
this model). The baseline spiral, starting in the planning phase, requirements is gathered
and risk is assessed. Each subsequent spiral builds on the baseline spiral.
 Requirements are gathered during the planning phase.

 In the risk analysis phase, a process is undertaken to identify risk and alternate
solutions. A prototype is produced at the end of the risk analysis phase.

 Software is produced in the engineering phase, along with testing at the end of the
phase.

 The evaluation phase allows the customer to evaluate the output of the project to date
before the project continues to the next spiral.

Figure 12 Boehm-Spiral-Model

REASONS FOR NOT USING WISDM


It is mix of common web development techniques, which emphasizes on graphically
intense hypermedia, together with traditional information system development
competencies in DB and program design. Though WISDM appears to be the best suited
methodology for website development, seeing from the Final Year Project’s point of view,
the developer is not comfortable in using WISDM because prior to the implementation of
the project, the developer will have to conduct various forms of research activities, and

PT1081156 Asia Pacific Institute of Information Technology 37 | P a g e


E-FREELANCING

need a proper planning to be done. All this can be only done if the developer follows the
SPIRAL model.

4.2.1.4 COMPARISION OF METHODOLOGIES AGAINST CRITERIA

CRITERIA WATERFALL SPIRAL WISDM


Project Management **** ***** ***
Risk Management *** **** ***
Web Framework Support *** ***** **
Object Oriented Programming **** **** **
Testing **** ***** *****
Heavy Documentation *** **** *****
Outcome at each stage **** ***** **
Table 3 Comparison between methodologies

4.2.1.5 CONCLUSION OF METHODOLOGY SELECTION RESULT

The developer had to undergo a lot of research work and after that he came to the
conclusion that
Spiral Model has been the most suitable model for the project development. The above
comparison between the methodologies clearly shows that spiral model is the best
methodology that can be applied in the project development process.

4.2.1.6 WEB-DEVELOPMENT PLATFORM SELECTION

The developer had several options of programming languages to choose from for the
development of the system. This also required a research so that the most suitable language
should be selected and implemented at the time of project development.

PHP

PHP is a server-side scripting language designed for web development but also used as a
general-purpose programming language. PHP code is interpreted by a web server with a

PT1081156 Asia Pacific Institute of Information Technology 38 | P a g e


E-FREELANCING

PHP processor module, which generates the resulting web page: PHP commands can be
embedded directly into an HTML source document rather than calling an external file to
process data. It has also evolved to include a command-line interface capability and can be
used in standalone graphical applications. PHP provides extensive database support.
Programmers can leverage this body of existing code to quickly put together advanced
applications.
Disadvantages of using PHP:

PHP suffers certain security flaws due to unknown vulnerabilities.

ASP.NET

ASP.NET stands for Active Server Pages .NET and is developed by Microsoft. ASP.NET
is used to create web pages and web technologies and is an integral part of Microsoft's
.NET framework vision. As a member of the .NET framework, ASP.NET is a very
valuable tool for programmers and developers as it allows them to build dynamic, rich web
sites and web applications using compiled languages like VB and C#.
It allows developers to build very compelling applications by making use of Visual Studio,
the development tool provided by Microsoft. ASP.NET is purely server-side technology.
Advantages that ASP.NET offers over other web development models:

 ASP.NET reduces the amount of code required to build large applications.

 It provides efficient performance by providing early binding, just in-time compilation,


native optimization, and caching services right out of the box.

 ASP.NET is a purely server-side technology. Thus, the codes generated by ASP.NET


get executed on the server before it is sent to the browser.

 The web server continuously monitors the pages. Components and application running
on it. If any memory leak or infinite loops are noticed, it immediately destroys those
activities and restarts itself.

PT1081156 Asia Pacific Institute of Information Technology 39 | P a g e


E-FREELANCING

 ASP.NET is language independent. Thus, it allows choosing the language that best
applies to the system development.

 Rich controls. ASP.NET comes with the huge collection of rich server and client side
controls that you can use to develop interactive grids, wizards, calendars, etc. What’s
great about these controls is that most of them can be used right away.

 ASP.NET pages are compiled.

 Code-behind logic

 It is browser independent

 Web-forms can be created very easily

ASP.NET with c# (DIETEL, 2011)


C# was intended by Microsoft to be a part of the ASP.NET framework. C# is suitable for
writing applications for both hosted and embedded systems, ranging from the very large
that use sophisticated operating systems, down to the very small, having dedicated
functions. C# is one of the programming languages designed for the Common Language
Infrastructure.
Some of the features availed by ASP.NET with c# are as follows:
 Stylish Object oriented design

 Protection and efficiency

 Data types

 Namespaces

 Exception handling

 Easy error elimination

 Flexibility and power

PT1081156 Asia Pacific Institute of Information Technology 40 | P a g e


E-FREELANCING

4.2.1.7 COMPARISION BETWEEN WEB-DEVELOPMENT PLATFORMS


Features ASP.NET ASP PHP JSP
Platform Windows Windows Any JSP
Platform to run IIS IIS PHP5 Apache
Response Time High Low High High
Multiple Language Support Yes No No Yes
Execution of pages Compiled Interpreted Interpreted Interpreted
Object oriented features Yes No Yes Yes
Advanced tool support Yes No No Yes
Code cleanness Yes No No Yes
Execution time High Low Low High
Debugging Easy Difficult Difficult Easy
HTML/XHTML Easy Easy Easy Easy
Implementation of AJAX Easy Low Easy Easy
AML Easy Difficult Easy Easy

Table 4 Comparison between Web Development Platforms

4.2.1.8 WEB DEVELOPMENT LANGUAGE CHOICE

The developer has decided to use ASP.NET with c# as the web development platform that
would be implemented during the system development process.

4.2.1.9 DATABASE MANAGEMENT SYSTEM RESEARCH

The reason behind conducting this research is to decide to choose the better database
system so that the developer feels comfortable in providing complete data integrity and
security. This gives a satisfaction to the developer as well as to the other users of the
system too. For conducting this research, the developer has selected database systems like
Microsoft Access, MySQL, Microsoft SQL Server and Oracle. Their implementation,
advantages and disadvantages has been taken into consideration so that selection of the
most suitable DBMS becomes easier.

PT1081156 Asia Pacific Institute of Information Technology 41 | P a g e


E-FREELANCING

Microsoft SQL Server

Microsoft SQL server is the most stable, fast, and extremely popular but affordable
database engine. This is tightly integrated with the Windows Server security settings. This
allows the database engine to get installed quickly over the existing server. It also
facilitates easy configuration of maintenance plans and backups for which no custom
scripts are required. (CONNOLLY, 2004)
Due to these reasons, people consider MS SQL Server to be the most secure database
platform.
Benefits for using Microsoft SQL Server 2008 over other database engines:
 Reliability: Unlike MS Access, with SQL Server, the clients do not deal with the tables
directly but with an intelligent data manager on the server. This in turn reads and writes
data from and adds to the tables. Data do not get hampered or affected in any way due to
power supply disconnection or network failure.

 Data Integrity: The concept of using “triggers” in SQL Server has enhanced the data
integrity parameter. Triggers can be added whenever a record is added, updated or deleted.
This occurs at the table level and thus, cannot be forgotten about, ignored by the client
machine.

 Performance: Being highly optimized, SQL server can usually perform the required data
filtering much more quickly than any other database engine.

 Network traffic: SQL Server greatly reduces the network traffic in a client/server
scenario, often by many orders of magnitude. This not only improves network reliability
but also improves the performance of other software, as there is less traffic on the network.

 Scalability: MS Access, being a file server system, has been designed for small work
groups and in scalable to perhaps 10 concurrent clients. With SQL Server client/server
architecture, thousands of concurrent users can be supported without significant
performance degradation.

PT1081156 Asia Pacific Institute of Information Technology 42 | P a g e


E-FREELANCING

Conclusion: Seeing the facts about the Microsoft SQL Server, the developer has decided
to use this database engine for the system development.

4.2.1.10 CLIENT SERVER ARCHITECTURE RESEARCH

(AGGARWAL, 2004) Client-server architecture can be referred to as a computer network


architecture in which many clients (remote processors) request and receive service from a
centralized server (host computer). The proposed system is using a client-server
architecture where one system will be acting like a client and the other connected PC will
be the server.
One-tier Client Server Architecture
If the developer uses this architecture form, he will have to install the database on every
client machine and hence, data integrity will be lost completely. Therefore, the developer
denies using this architecture system.

Two-tier client server architecture


In two-tier client/server architecture, users execute the activities on a local client which
connects over a network to the server. The client application can learn both business logic
as well as the code to display the result to the user.

Three-tier Client Server Architecture


By adding an intermediate tier to the client/server architecture, one can easily create a
three-tier architecture where the clients implements the presentation logic and the servers
implement the business login for the system.

Figure 13 Three Tier Client Server Architecture

The developer has decided to use the three-tier client-server architecture.

PT1081156 Asia Pacific Institute of Information Technology 43 | P a g e


E-FREELANCING

4.2.1.11 MODELLING LANGUAGE RESEARCH

UML (UNIFIED MODELLING LANGUAGE)

The UML is a standardized, general-purpose modeling language in which the behavior or


functions of any system can be modeled using this language. It includes a set of graphic
notation techniques which can be used to create visual models of Object-oriented software
intensive systems. UMLs provide a very standardized way to visualize a system’s
architectural blueprints. (BOOCH, 1998)
It can be used throughout the SDLC and across different technologies. This language
specifies, visualizes, constructs, and documents the artifacts of software systems.

4.2.2 DEVELOPMENT PLAN

This project will be done using the SPIRAL methodology where the whole project will be
broken down into different modules and will be done according to the different phases of
the methodology.

Project Start date: 16th August 2013


Project end date: 30th April 2014
Total Duration for project completion: 36 Weeks 4 days
1. Project Definition

Duration: 2 week
Tasks: The project definition includes the following tasks to be completed:

 Generation of idea related to the project


 Selection of the project’s title
 Feasibility Studies
 Draft Proposal Form

2. Project Planning
Duration: 4 weeks
Tasks: Project planning requires the following tasks to be covered one after the other:

 Schedule and Time Estimation


 Gantt Chart
 Project Proposal Form

PT1081156 Asia Pacific Institute of Information Technology 44 | P a g e


E-FREELANCING

3. Requirement Analysis
Duration: 6 weeks
Tasks: The Requirement Analysis phase is to be completed in order to specify thee goals,
resources to be contacted, provide specifications related to the techniques and
functionalities and a detailed analysis of all types of associated risks.

 Identify project specifications


 Project Background
 Resources required
 Techniques to be learnt
 Goals and Objectives
 Determine System Functionalities
 Identify scope of research
 Project Specification Form
 Investigation ad Research
 Analysis
 User Modeling and Profiling
 Domain analysis
 System analysis
 Risk analysis

4. System Design
Duration: 4 weeks
Tasks: This phase is the start of the implementation phase where the system’s design and
its work flow is decided and the interface, functionality and interactivity is being specified.

 Abstract Interface Design


 Screen layout
 Content Design
 Interactivity Design
 Functionality Design

5. Prototyping
Duration: 5 weeks

 Creating Prototypes
 Evaluate Prototype feedbacks

6. Production and Implementation


Duration: 5 weeks

 Coding for several functions


 Payment gateway Integration

PT1081156 Asia Pacific Institute of Information Technology 45 | P a g e


E-FREELANCING

 Implementation of online test


 Implementation of Discussion Board
 Implementation of chatting facility
 Implementation of Online bidding and project allocation to freelancer

7. Testing and Evaluation


Duration: 6 weeks

 Prototype Evaluation
 Test Plans
 Unit Testing
 Integration Testing
 System Testing
 Critical Evaluation

8. End of the Project


Duration: 4 weeks
Tasks: This involves only two tasks which lead to the project completion and its end.

 Submission of the finished product


 Presentation of the project to the Project Supervisor and Advisor.

4.2.3 GANTT CHART

[Note: The Gantt chart is attached in the appendices. Please refer to Appendix K for the
Gantt chart of the project]

PT1081156 Asia Pacific Institute of Information Technology 46 | P a g e


E-FREELANCING

CHAPTER 5- ANALYSIS
For conducting the primary research, the developer has used the two fact-finding
techniques:
1) Questionnaire
2) Interview
3) Observation

5.1 CONCLUSION FROM ANALYSIS OF QUESTIONNAIRE


1. People have sufficient idea of online bidding of products either it be any project or any
property. Only few persons were found who knew nothing about this process but had
computer related basic knowledge.

2. It was found that nowadays people from all age group starting from 13 yrs of age are active
on social networking sites.

3. The teenagers of present and the youngsters both working in private/governmental jobs
often face online exams and objective questions are preferred by most of the users.

4. People have trust in project outsourcing as it saves a lot of time which can further be
implied to other important activities. For this people look for domain specific and skilled
developers and freelancers who can make their project in the lowest possible amount.

5. Clients mainly give their minor projects in outsourcing and concentrate on their major
projects by themselves or hire developers personally without going for open project
bidding. In most of the scenarios, web and database related projects are given for
outsourcing.

6. Instant messaging and text chatting are used mostly for better communication. Email is not
used as a mode of communication but heavily used as file transfer medium.

7. Online project bidding should not be open for longer duration. It should last for a
maximum of two days and not less than that.

PT1081156 Asia Pacific Institute of Information Technology 47 | P a g e


E-FREELANCING

8. Questions asked in online test should be concise and clear. It should not be tough and no
one prefers to do lengthy calculations during an online test.

9. Online payment using debit/credit card is the most preferred mode of payment by most of
the users. Very few prefer cheque or cash payments.

[Note – Detailed Analysis of Questionnaire can be referred from Appendix-C]

5.2 CONCLUSION FROM ANALYIS OF INTERVIEW


1) Interviewees were found to be more inclined towards having less duration for a bidding
process to continue. It can be easily concluded from their response that they wanted bid on
projects to be closed by the completion of the first two days of posting of the project.
Longer duration may lead to lack of interest and time consuming.

2) Clients basically look for freelancers who can develop their minor level projects and those
mainly fall in the range of low bid projects. IT companies look for projects which can be
completed in short time duration.

3) A project developer should be highly skilled and having good knowledge about the
technology that is to be used in developing the project. Clients look for freelancers having
good knowledge of web designing and database is the most essential requirement by all
clients.

[Note – Detailed Analysis of Interview Questions can be referred from Appendix-D]

5.3 CONCLUSION FROM ANALYSIS OF OBSERVATION

1) The developer observed that people sitting for online test have to make quick decisions in
selecting the correct answer out of the options provided. Online exams mainly follow the
pattern of objective type questions and not subjective questions because lengthy
calculations or subjective work leads to time scarcity by the end of the exam.

2) IT professionals are highly skilled and trained to work on a particular type of software
development tools. Sometimes they even add plug-ins to their tool to use enhanced
features.

PT1081156 Asia Pacific Institute of Information Technology 48 | P a g e


E-FREELANCING

3) Bidding process in private companies is similar to that of tender release and acceptance in
the government and semi-government sectors. The process has certain rules already
defined which are mandatory to be followed by the participants of the bidding.

[Note – Detailed Analysis of Observation can be referred from Appendix-E]

5.4 RISK ANALYSIS


(HERTZ D. B., 1983)

IMPACT CATEGORIES PROBABILITY CATEGORIES


Level Of Consequences Range Probability Range
Negligible 0.0-3.0 Low 0.0-0.3
Marginal 3.1-7.0 Medium 0.3-0.7
Critical 7.1-9.0 High 0.7-0.9
Catastrophic 9.1-10.0 Very High 0.9-1.0
Calculation of Risk Exposure to the project:
Risk Exposure = Impact of Consequences * Probability
RISK PRIORITY CHART
8
7
6
5
4
3
2
1
0
Requirement Hardware Failure New Technology Developer's Health Unclear
Change Issues Requirements

Table 5 Risk Analysis

PT1081156 Asia Pacific Institute of Information Technology 49 | P a g e


E-FREELANCING

RISK ASSESSMENT RISK CONTROL


No. Risk Risk Analysis Risk Risk Management
Identification Priority
Probability Impact Exposure
1 Due to New 0.7 7 4.9 1 A proper training should be conducted
Technology prior to development phase
2 Requirement 0.5 8 4.0 2 Proper procedure should be defined to
Changes handle requirement changes
3 Unclear 0.4 7 2.8 3 Requirement analysis should be done
Requirements and performed well
4 Hard/Softwar 0.4 9 3.6 4 Back up of data should be maintained
e Failure regularly.
5 Developer’s 0.3 9 2.7 5 Weekends can be utilized for overtime
Health Issues work. Working conditions should be
comfortable since beginning.
Table 6 Risk Assessment & Control

PT1081156 Asia Pacific Institute of Information Technology 50 | P a g e


E-FREELANCING

CHAPTER 6 - SYSTEM DESIGN

After analysis developer has gathered sufficient information to model the system. It
provides an appropriate guidance to system implementation. The main purpose of system
design is to precisely build the system based on design requirements.

6.1 DESIGN METHODOLOGY SELECTED


There are basically two design methodologies:-

1. Function Oriented Design

2. Object Oriented Design

6.1.1 JUSTIFICATION FOR SELECTION OF OBJECT ORIENTED DESIGN


From the requirements gathered by the developer, it is clear that system needs to be
modeled in the form of classes and objects in order to achieve the technical goals for this
project. As a result, the developer concludes that E-Freelancing needs to be designed using
object oriented design principles. In order to implement it the developer opted to make use
of UML (Unified Modeling Language 2.0). (BOOCH, 1998)

6.2 DESIGN STRATEGY USED

Requirement Analysis & Modelling

Use Case Diagram Activity Diagram Sequence Diagram

Actual Design & Modelling

Class Architecture Interface Navigation Database


Diagram Design Design Design Design

Figure 14 Design Strategy Used

PT1081156 Asia Pacific Institute of Information Technology 51 | P a g e


E-FREELANCING

6.2.1 USE CASE DIAGRAMS


USE CASE DIAGRAM AND SPECIFICATION: E-FREELANCING

Register/Login
*
* *
*
*
*
Project *
Creation/Updation/Deletion *
* Client
*
*

Online Project
Binding
* *
* *

*
*
Online
* Certification Exam
* *
Admin *

*
* * *

Reports Management
* *
*
*
*
* Freelancer
* Payment
*
*

Chat
*
*
*

Discussion Forum *

Figure 15 Use Case - E-Freelancing

PT1081156 Asia Pacific Institute of Information Technology 52 | P a g e


E-FREELANCING

Use Case Name: Client

Post Project

* Register
<<include>>

<<include>>
Login
* *
* <<include>>
*
Payment via Debit
* Card
View Project «extends»
Client*
*

*
* «extends»
Payment Payment via Credit
* Card

* «uses»
View Reports Select report type

* «extends»
Chat with
View Bid Details
Freelancer

* «extends» Read
Check notification
«extends»
Delete

Figure 16 Use Case- Client

PT1081156 Asia Pacific Institute of Information Technology 53 | P a g e


E-FREELANCING

USE CASE NAME: FREELANCER

View Project

* Register
<<include>>

<<include>>
Login
* *
* <<include>>
*
*
View Profile cl u de>> Complete
Freelancer
* <<in Certification Test
*

*
* «extends»
Bid on Project
* Browse Project

* <<include>>
View Reports Select report type

* «extends»
See project
Chat with Client
allotment report

* «extends» Read
Check notification
«extends»
Delete

Figure 17 Use Case- Freelancer

PT1081156 Asia Pacific Institute of Information Technology 54 | P a g e


E-FREELANCING

6.3.1 SUB USE CASES


Use Case Name: Registration Use Case ID: UC- eF1
Scope: E-Freelancing
Level: User Goal
Primary Actors: Clients, Freelancers
Actors and description
Clients Clients register into the system so that they can post projects and
set them to online bidding.
Freelancers Freelancers register into the system so that they can browse for
projects available and place Bid on them and get the contract of
that project upon bid completion corresponding to the lowest
bid amount they placed.
Precondition  The users should have am email ID which will be used to send
password upon registration.
 The system should be connected to internet.
Post Condition Registration is performed and the user details are stored in the
database of this system.
Success Guarantee: The users can use the Login ID and password sent to their
email account to log in to the system.
Main Success Scenario(Basic Flow):
1. 1. The client/freelancer opens the Registration page of this web based application.

2. The primary actors then enter their details and other credentials.

3. The details provided by the user are validated by the system.

4. After successful details entry and subsequent validations, the system creates the account of
the users

5. The users receive their password via email at the same time which can be used to login to
the system.

Alternate Flows/Extensions:
At any instance, if system fails:
1. The user will have to restart the system and open the registration page of the system.

2. In case, system fails, the user will lose all the registration details provided by him/her and the
details have to be entered again.

At any instance, if the server in which the web based application is stored fails:

PT1081156 Asia Pacific Institute of Information Technology 55 | P a g e


E-FREELANCING

1. The user will have to wait until the server becomes functional again.
2: The registration details are not to be entered again. It is already present in the system’s
database.
Special Requirements: The registration interface design should be very much
consistent and clear so that the user can understand the
requirements needed during registration process.
Frequency of Occurrence Could be continuous.
Sub Use Case: Registration

Enter Email ID
>>
cl u d e
<<in
Fill & Submit
Profile Details
*
*

*
Validate Profile
* Details *
*
*

Client *
Generate Password &
send Confirmation mail to
user

*
Create Acocunt &
* Notify User
*
Freelancer

Table 7 Sub Use Case - Registration

PT1081156 Asia Pacific Institute of Information Technology 56 | P a g e


E-FREELANCING

Use Case Name: Project Creation & Updating Use Case ID: UC- eF2
Scope: E-Freelancing
Level: User Goal
Primary Actors: Client
Actors and description
Clients Client can use project creation interface to create and post new
project, set projects to online bidding and view project details.
Precondition Client must login to the system using a valid email ID and
password.
Post Condition Client is able to use the post project interface of the proposed
web application to create and post new projects.
Success Guarantee: Client will be notified on every successful post of project and
the project details will be displayed upon successful project
creation.
Main Success Scenario(Basic Flow):
1. 1. The client login to the system and opens the “Post Projects” page by selecting option from
the menu items provided.

2. Client fills the required project details.

3. The details provided by the user are validated by the system.

4. After successful details entry and subsequent validations, the system notifies the client about
successful project creation and the project details are displayed.

5. The client is able to see the current bidding status on his/her projects.

Alternate Flows/Extensions:
At any instance, if system fails:
1. The client will have to re-login to the system and enter the project details again.
2. If the client just wants to see the project details, he/she is not required to undergo the project
creation process again.

At any instance, if the server in which the web based application is stored fails:

1. The user will have to wait until the server becomes functional again.
2: If project is once posted, the client is not required to post the project again. Data is
already stored in the system’s database.

PT1081156 Asia Pacific Institute of Information Technology 57 | P a g e


E-FREELANCING

Special Requirements: The GUI provided for project creation should be very much precise
and should not take much of the user’s time for posting a new
project.
Frequency of Occurrence Client can post any number of projects one by one.
Sub Use Case: Project Creation & Updating

Enter Project
> Details
cl ude>
<<in

Create Project

*
«uses» *
Store Project
details into database
*

Login

«uses»
*

«extends»
* Update Project
View Projects
*
Client
«extends»

«extends» View Bid Status

View Bidder Details

Table 8 Sub Use Case - Project Creation & Updating

PT1081156 Asia Pacific Institute of Information Technology 58 | P a g e


E-FREELANCING

Use Case Online Certification Test Use Case ID: UC- eF3
Name:
Scope: E-Freelancing
Level: User Goal
Primary Administrator, Freelancers
Actors:
Actors and description
Administrator Administrator creates new question sets for conducting the online test.

Freelancers Freelancers get certified by passing the online test and only certified
freelancers are allowed to participate in project biddings.
Precondition  Freelancer must login to the system using a valid email ID and
password.
 Freelancers select the exam category before starting the exam.
Post Condition Upon successful login, freelancers are able to give the online test.
Success After finishing the certification test, the freelancer is able to see the
Guarantee: report card displaying total questions attempted, total correct and
wrong answers, final result of the exam i.e., PASS or FAIL.
Main Success Scenario(Basic Flow):
1. The freelancer selects the category of exam to be taken.

2. A countdown times starts and the question is displayed with four different options.

3. The user selects one correct option out of the four provided. The user is not able to go to
next question until he/she answers the first question.

4. As soon as the freelancer submits answer to one question, next question is displayed.

5. After completion of the test, report card is generated and result is displayed.

Alternate Flows/Extensions:
At any instance, if system fails:
1. 1. The user will have to restart the system and give the test again.
2. The freelancer should go back to the exam start page and select a different exam category.
3. The freelancer should send feedback/message to admin to add questions for that particular
type of exam category.
At any instance, if the server in which the web based application is stored fails:

PT1081156 Asia Pacific Institute of Information Technology 59 | P a g e


E-FREELANCING

1. The user will have to wait until the server becomes functional again.
2: Certification test can be conducted at any moment when the server is working properly.
Special Requirements: Each question must be having their individual
countdown timer running for them.
Questions should be clear and not too lengthy.
Questions must be objective type.
Frequency of Occurrence Only once in a day.
Sub Use Case: Online Certification Test

Select Exam
e>> Category
clud
<<in
Create Test
Enter Question
*
<<include>> Details *

*
* Store Question
Update Question
Details in Database
* Details
* System under
discussion
Client
Select Exam
e>>
clud Category
<<in

Take Test

* «extends»
«extends»

* Cancel Test
*

Freelancer View Reports


*

Table 9 Sub Use Case-Online Certification Test

PT1081156 Asia Pacific Institute of Information Technology 60 | P a g e


E-FREELANCING

Use Case Online project Bidding Use Case ID: UC- eF4
Name:
Scope: E-Freelancing
Level: User Goal
Primary Client, Freelancers
Actors:
Actors and description
Clients Clients want to view projects posted by them and see the current bidding status
on their projects.
Freelancers Freelancers browse for projects available for online bidding, check current
bid and place a new bid amount.
Precondition There must be projects posted by clients whose bidding time duration is
still not ended and are open to online bidding by freelancers.
Post  Available projects, if any, are displayed and their current bid status can be
Condition seen by the freelancers as well as clients.
 Freelancers are able to submit their bid amount which should be at least
2% less than the previous bid value.
Success Upon successful bid submission, the freelancer is able to see his/her name
Guarantee: as the new bidder and the current bid is replaced by the new bid.
Main Success Scenario(Basic Flow):
1. 1. The client/freelancer is able to browse available projects and check current bid status.

2. The freelancer is able to submit new bid amount.

3. The bid amount is validated by the system.

4. After successful details entry and subsequent validations, the system allows the new bid to
be placed and displayed as the new current bid amount for that project.

5. The client receives a notification message about the new bid placed fir his/her project.

Alternate Flows/Extensions:
At any instance, if projects are not displayed:
1. This may be due to non-availability of projects open for bidding at that moment of time.

PT1081156 Asia Pacific Institute of Information Technology 61 | P a g e


E-FREELANCING

2. The user should logout of the system and re-login after a few minutes. This might be a problem
due to server failure.
At any instance, if the server in which the web based application is stored fails:
1. The user will have to wait until the server becomes functional again.
2. In order to check the current bid, the users will have to browse the project again and see the
project details.
Special Requirements: Only those projects should be visible to users
which are open for online bidding and
projects on which bidding time is over should
not be displayed.
Frequency of Occurrence Bidding is allowed to be done frequently one
after another until there are projects
available.
Sub Use Case: Online Project Bidding

Browse Available
Projects
* «extends»

View Project
Details
* *
* «extends» Place New Bid
* *
*
Freelancer Check Current Bid
on Projects
* *
System under
* discussion
Validate Bid Amount

* Get Notification
*
*
*
Client

Table 10 Sub Use Case- Online Project Bidding

PT1081156 Asia Pacific Institute of Information Technology 62 | P a g e


E-FREELANCING

Use Case Name: Payment Use Case ID: UC- eF5


Scope: E-Freelancing
Level: User Goal
Primary Actors: Client, System under discussion, Freelancer
Actors and description
Clients Clients want to use the payment gateway provided by this system to pay
for the facilities provided by E-Freelancing. This can be considered as the
commission paid to the organization.
Freelancers Freelancers can request the system or their client for providing
them their payment for the project.
System The system receives the payment from the client and later transfers
the required amount to the freelancer
Precondition There should be projects posted by a client and bidding is
conducted successfully.
Post Condition After bidding, payment to the system’s account is easily done using
the payment gateway provided.
Success A payment slip is either generated or displayed to the user after a
Guarantee: successful payment.
Main Success Scenario(Basic Flow):
 Client goes to the payment page and selects the payment option.

 Then the client makes the payment by clicking on the payment option and receives an
electronic receipt.

Alternate Flows/Extensions:
At any instance, if system fails:
1. The user will have to restart the system and open the registration page of the system.
2. In case of system failure, the client will not be able to recover the updates that he/she has
done and has to again perform the functionality.
At any instance, if the server in which the web based application is stored fails:
For this, a recovery option should be present in the server to restore all the applications and
other files stored in the system.
An electronic receipt is not generated after making the payment.
Maybe the payment is unsuccessful. The system should prompt the user to again do the

PT1081156 Asia Pacific Institute of Information Technology 63 | P a g e


E-FREELANCING

payment.
Special Requirements: The payment gateway should be secured from any loss of money
during transactions.
The system should not save the card details and account passwords
provided by the user.
Frequency of Payment can be done once only after the successful bidding process
is conducted.
Occurrence
Sub Use Case: Payment

Select Amount

* «extends» Payment via Debit


Card

Select Payment Type «extends»


* *
*
* *
Payment via Credit
Client System under
Card
discussion
Receive Payment
Notification/Receipt *
*

Receive Payment &


Generate Receipt

Receive Payment By
System
* *

Freelancer

Table 11 Sub Use Case - Payment

PT1081156 Asia Pacific Institute of Information Technology 64 | P a g e


E-FREELANCING

Use Case Name: Report Management Use Case ID: UC- eF6
Scope: E-Freelancing
Level: User Goal
Primary Admin, Clients, Freelancers
Actors:
Actors and description
Clients Clients want to view reports regarding the projects posted by him/her, and
reports including other details falling under any special category.
Freelancers Freelancers can see reports of the exam they have taken projects
available and their biddings placed. This also includes reports related
to their profile details.
Admin Admin can see reports indicating the total registrations, project
postings, project biddings and exams taken by the users registered on
the website.
Precondition User must select the report type before selecting to view the report.
Post Condition The system generates a crystal report for the user showing all the
details asked by the user.
Success A crystal report is generated showing the details very clearly.
Guarantee:
Main Success Scenario(Basic Flow):
1. User selects the view report option from the menu bar provided at the user’s homepage which
can be seen only after a successful login into the system.

2. A window is opened where the user is asked to select the report type to be generated.

3. A crystal report is generated displaying all the required details.

Alternate Flows/Extensions:
At any instance, if system fails:
1. The user will have to restart the system and login again into the system and select the view
report option from the menu bar and then select the report type.
At any instance, if the server in which the web based application is stored fails:
1. The user will have to wait until the server becomes functional again.
2: The selected report type is not stored in the system’s database. Hence, to view report

PT1081156 Asia Pacific Institute of Information Technology 65 | P a g e


E-FREELANCING

again, the user will have to select the report type.


Special Requirements:  The report generated should be concise and clear.
 The option to select the report type should be properly
framed so that the user gets what they require.
Frequency of Occurrence Reports can be viewed any time and can be continuous.
Sub Use Case: Report Management

Select Report Type

*
*
* *

Freelancer* Generate Report

*
*
View Report
*
*

Client

Table 12 Sub Use Case - View Report

PT1081156 Asia Pacific Institute of Information Technology 66 | P a g e


E-FREELANCING

Use Case Name: Discussion Forum Use Case ID:


UC- eF7
Scope: E-Freelancing
Level: User Goal
Primary Actors: Clients, Freelancers
Actors and description
Clients/Freelancers Either of the users can create new post for the discussion forum and
post it in the forum. This post along with its comments will be visible to
all the registered users of the website. The text of the post can be
formatted and designed using the HTML Text Editor.
Precondition User must login into the system either as a Client or Freelancer.
Post Condition The discussion forum gets populated with the posts of the users
and the comments can be viewed by selecting the post from the
list. Users can also post a new comment after reading the post title
well.
Success Guarantee: The new post created by the user will be visible in the discussion
forum list as the newest post. After selecting any post title, its
contents can be read and new comments can also be posted over
the main post.
Main Success Scenario(Basic Flow):
1. 1. User selects the “Forum” option from the menu bar provided at the user’s homepage which
can be seen only after a successful login into the system.

2. 2. A new window is opened where the user can see options like create post, discussion forum,
my posts, etc.

3. 3. User can create and post a new thread into the discussion forum which can further be seen
in the forum list and can be subjected to comments by all other users of E-Freelancing.

Alternate Flows/Extensions:
At any instance, if system fails:
1. The user will have to restart the system and login again into the system. However, if posts
creation was successfully done, it can be viewed in the forum list and there is no need to create
post again.

PT1081156 Asia Pacific Institute of Information Technology 67 | P a g e


E-FREELANCING

At any instance, if the server in which the web based application is stored fails:
1. The user will have to wait until the server becomes functional again.
2: The post and comments are already stored in the database. On server’s recovery, all
those posts and their comments can be read from the discussion forum list.
Special Requirements: Discussion forum just requires the users to be the
registered users of E-Freelancing. There are not
much pre-requisites for using the discussion
forum.
Frequency of Occurrence A user can create posts any time and it can even
be multiple times a day. All the posts are liable to
multiple numbers of comments.
Sub Use Case: Discussion Forum

de>> Enter Post Details


clu
<<in

Create new Post


*
Store Post details
*
* into database
«uses»

* *
* *

Client Login *
Store all comments
«uses» System under
discussion

*
* View all Posts
«extends»
*

Delete Post
* «extends»
«extends»
Freelancer

Read Post
Post a comment

Table 13 Sub Use Case- Discussion Forum

PT1081156 Asia Pacific Institute of Information Technology 68 | P a g e


E-FREELANCING

6.2.2 ACTIVITY DIAGRAMS

REGISTRATION: ACTIVITY DIAGRAM

CLIENT / FREELANCER SYSTEM ADMINISTRATOR

Start

Fill User Details


[Invalid]

Submit Validate Details

[Valid] <<Data Store>>


register

CreateAccount

Get Password via email

Complete Registration

Registration
Complete

PT1081156 Asia Pacific Institute of Information Technology 69 | P a g e


E-FREELANCING

LOGIN: ACTIVITY DIAGRAM

PT1081156 Asia Pacific Institute of Information Technology 70 | P a g e


E-FREELANCING

PROJECT BIDDING: ACTIVITY DIAGRAM

CLIENT FREELANCER SYSTEM

Start

Create Project

Browse Projects open


Enter Proposed Bid for Bidding

Check Current Bid

Enter New Bid

<<Data Store>> Enter New Bid


projects

[Invalid]

[New bid 2% less


than previous bid]

Receive Notification Submit Bid

Close Bidding on
See Bid Details Bid Time
Completion

Bidding
Complet
e

PT1081156 Asia Pacific Institute of Information Technology 71 | P a g e


E-FREELANCING

ONLINE EXAM: ACTIVITY DIAGRAM

FREELANCER SYSTEM ADMIN

Start

Select Category Create Question


Sets

Start Exam <<Data Store>>


tbl_quest_bank

Update Question
Sets
Get Questions

Select Answer Validate Answer

Complete Test

[Correct]
[Wrong]

View Test Result


Count as correct
answer
[Fail] Count as wrong
answer
[Pass]

Exam Successfully
completed
Calculate & Display Result

<<Data Store>>
Online CertificationTest
User_certification
Complete

PT1081156 Asia Pacific Institute of Information Technology 72 | P a g e


E-FREELANCING

REPORT VIEWING: ACTIVITY DIAGRAM

PT1081156 Asia Pacific Institute of Information Technology 73 | P a g e


E-FREELANCING

PAYMENT: ACTIVITY DIAGRAM

PT1081156 Asia Pacific Institute of Information Technology 74 | P a g e


E-FREELANCING

DISCUSSION FORUM: ACTIVITY DIAGRAM

CLIENT / FREELANCER SYSTEM

Start

No
Create new Post

Submit Post Details View Discussion Forum

If posts exists

<<Data Store>> Yes


Forum
Select Post

Read Post &


comments

Notify Post owner about


Post a comment
<<Data Store>> new comment
ForumComments

Store new comment

Stop

PT1081156 Asia Pacific Institute of Information Technology 75 | P a g e


E-FREELANCING

6.2.3 SEQUENCE DIAGRAMS


This a time dependent view of the interaction between objects to accomplish a behavioral
goal of the system. The developer has used the sequence diagrams to document the
behavior of the objects in the proposed system and represent how they interact with each
other. (BOOCH, 1998)

Throughout the system, the user will be getting various kinds of messages some of which
may be either a message for successful conduct of an operation or a message notifying the
user about the process failure due to invalid actions performed. All those messages are
shown in the diagram along with the order which they follow. As depicted by the sequence
diagrams below, it should be noted that information in the diagrams is conveyed by using
horizontal (the object instances that the messages are sent to) and vertical (time sequence
of messages/call as they occur) dimensions.

USER REGISTRATION: SEQUENCE DIAGRAM


The User Registration sequence diagram defines the registration event sequences that
result in validating the provided user details, email password to user’s email id and notify
user events.

:DataBase :
Register GUI :Mail send
register

User

Enter User Details


Validate Details

Details Validated
Invalid Details

getMessage("Failed")

Store User Details

Send Password to user’s mailbox

Notify User to Check Mail

Figure 18 Sequence Diagram – Registration

PT1081156 Asia Pacific Institute of Information Technology 76 | P a g e


E-FREELANCING

LOGIN: SEQUENCE DIAGRAM


The main purpose of this diagram is to facilitate the developer to clearly define login event
sequences that result in login of system. By referring to this diagram, the developer can
focus more on the order of events rather than event of login part of the system.

:DataBase : USERHOME
LOGIN GUI
register GUI

User

Enter Username

Enter Password
VALIDATe(username,
Password)

putSession[“Username”]
[Invalid Details]
Redirect

getMessage(Invalid Details)

Login Failed

Figure 19 Sequence Diagram: Login

POST PROJECT: SEQUENCE DIAGRAM


The following sequence diagram for project posting defines the sequence of events that the
developer should focus on more while implementing this module in the proposed system.
Data is to be stored in more than one instance on project creation.

Post Project :DataBase : :DataBase :


GUI project Bidding

CLIENT

1. Enter Project Name

2. Enter Project Details

3. Validate Details

4. Invalid Project Details


5. Store new Project

6. Submit Proposed Bid Amount

7. Display Project Bid Status


8. See Project Details

Figure 20 Sequence Diagram: Post Project

PT1081156 Asia Pacific Institute of Information Technology 77 | P a g e


E-FREELANCING

PROJECT BIDDING: SEQUENCE DIAGRAM

This is certainly one of the most critical functionality of the system which requires several
validation events to occur in sequence and also several notifications and messages are to be
conveyed to the user during the online project bidding process. This sequence diagram will
serve as a layout for the developer to implement Bidding in the proposed system, exactly
following the same sequence as depicted by the bidding sequence diagram.

:DataBase :
BIDIDNG GUI
register
Authentication
FREELANCER

1. Browse/Search
projects
2. Check for Available Projects

3. Display projects available for Bidding


4. Check Current Bid

5. Place new Bid


6. Validate Bid Amount

7. [Bid amount not 2% less


than previous Bid]

setMessage(Bid Failed)

8. Valid Bid Amount 10.Store New Bid


getMessage
setMessage(Bid Placed)

Figure 21 Sequence Diagram: Project Bidding

PT1081156 Asia Pacific Institute of Information Technology 78 | P a g e


E-FREELANCING

ONLINE CERTIFICATION TEST: SEQUENCE DIAGRAM The developer have to


be too much careful while defining the event sequence of this module where several
validation messages, selection and entry of different data and data store events are to occur
in a pre-defined sequence of events as described by this sequence diagram – both for Client
and Freelancer.

CREATE EXAM :DataBase :


GUI tbl_quest_bank
CLIENT

1. Select Exam Category

2, Add Question Details


with options & answer
3. Store Question Set
4.GetMessage(“Question Set Created”)

EXAM START :DataBase : :DB :


GUI tbl_quest_bank Status
FREELANCER VALIDATION
CHECK

1. Select Exam Category

2. Start Exam

3. Generate Exam ID
4. Display Exam ID
5. Get Questions for selected category

6. Display Exam Questions

8. Show remaining time 7. Start Countdown Timer for each question


for finishing exam
6. Submit Proposed Bid Amount
9. Get Questions

10. Submit Answers


11. Validate answer
12. Return Validation
Result
13. Generate Report
Card
14. Set Eligibility Status

Figure 22 Sequence Diagram: Online Certification Test

PT1081156 Asia Pacific Institute of Information Technology 79 | P a g e


E-FREELANCING

6.3 CLASS DIAGRAM

Register Admin_Home

+createUser() : void +setUser() : void


-sendEmail() : void 1 *
1 1
1
Feedback
Signin create_exam
-count : int
+validateUser() : void +createQuest() : void +getFeed() : void
* *
Client_home

Freelancer_list Client_list
Forum +result() : string
+dt : string +sql() : string
-id : int +getNotify() : void
+getFreelancer() : void +getClient() : void
+result : string
+sql : string 1
+createPost() : void 1
+getPostData() : void *
+getData() : void
1
1
create_project
1
1 client_profile
f_home
+createProject() : void
Fprofile +getData() : void *
+result() : string 1 1
+sql() : string
+s() : string
FileShare MyProjects
+getDProjectData() : void
1 +ConvertImageToByteArray() : void
* 1
1 +getData () : void +getDetails() : void
+updateAcademics() : void +pid() : int
ResumeAdd +sendFile()* : void
+updateWork() : void +gteGridDetails() : void
+updateAddress() : void
-s() : string 1 +CheckFileType() : bool Bidder Detail 1
+filepath() : string +uploadResume() : void *
+filename() : string -InsertUpdateData() : bool
+ext() : string +upload_image() : void +getDetails() : void Project_Detail
*
+contenttype() : string +retrieve_img() : void
+downloadResume() : void
-InsertUpdateData() : bool
+fetchResume() : void Project_View
-GetData() : void +dayleft() : int
1 +download() : void +hours() : string
+getData() : void +min() : void
+setData() : void notification +days() : void
exam
+hourleft() : int
Bid_projects +st() : string +minleft() : int
+n() : int
+getGridDetails() : void +dd1() : string
+attempt() : int
+correct() : int +totalCount() : int +setUser() : void +dd2() : string
+wrong() : int
Project_detail_view
+setUser() : void +getData() : void
+correct_ans() : int +getBidder() : void
+wrong_ans() : int 1 1
DashBoard +setBidder() : void
+result() : string +dayleft() : int
+option() : string +hourleft() : int
+count() : int +minleft() : int DashBoard +result() : string
+num1() : int +currentBid() : int +sql() : string
+ans() : string +newBid() : int +getData() : void
+result() : string +getDate() : void
+getId() : void +status() : string +sql() : string
+getQues() : void +BidTime() : void +getData() : void
+correctanswer() : void +validateBid() : void +getDate() : void
+changeQuestion() : void +Bid_Project() : void
+certify() : void +getBidder() : void ChartStart
1
1
* 1 1 +AddGlobalChatMsg() : void
+addGlobalChat_Complete() : void
ChatRules +ContentLoaded() : void
+updateChatArea() : void
+getGlobalChat() : void
+CreateUser() : void +getGlobalChat_Complete() : void
+UserCreated() : void +AngularScope() : void

Figure 23 Class Diagram

PT1081156 Asia Pacific Institute of Information Technology 80 | P a g e


E-FREELANCING

6.4 ENTITY RELATIONSHIP DIAGRAM

HighSec Degree Work


email password Sec

Contact Company

F_name 1 Create
1
Client
Username Profile 1
1
L_name M DegreePeriod
M
Checks WorkPeriod
Country Image Create
notificationID
Status
Makes N
amount date
Notification
Post N
paymentID email
N Checks password
date notification 1 1
Payment
N M Freelancer F_name
receipient

receives 1
1 L_name
Project_id Hour_pay
duration M
Project_name sends Country
Bids On
N feedback
Category
N
Gives
Projects
Details N date
N Feedback

Posting_date N
Exam eligibility
Status
Bid_enddate
receive
First_bid feedbackID examScore

examDate
password HAS examID
Admin 1
username

Add Question
Questions
Category

QuesID Answer
Options

The Entity Relationship diagram is made after properly identifying all the entities and their
attributes. The developer could not find any weak entity as all the entities identified had
some unique column. This ERD shows the relationship between the entities of the database
“eFreelance.”

PT1081156 Asia Pacific Institute of Information Technology 81 | P a g e


E-FREELANCING

6.4 MAPPING OF ERD TO RELATIONAL DATABASE SCHEMA


 register

username f_name l_name email password country role Joindate


ResumeName Content Type Data

 profile

username Sec HighSec Degree DegreePeriod Work Company WorkPeriod


Address Contact image
 project

project_id username project_name category details posting_date bid_enddate duration


first_bid
 Bidding

Project_id current_bid bidder Date_of_bid Second_bidder

 notifications

NotificationID Username Notification Date Status

 user_certification

username ExamID examDate examScore eligibility

 Feedback

username feedbackID feedback Date

 Forum

ForumID OwnerID Title CreateTime Body Status

The above schema depicts the mapping into a relational database schema. The different
tables along with their attributes are shown. The primary attribute is underlined and the
arrowed line shows the relationship of foreign key of one table with the primary key of
another table.

PT1081156 Asia Pacific Institute of Information Technology 82 | P a g e


E-FREELANCING

6.5 NORMALIZATION
Normalization is a systematic approach of decomposing tables to eliminate any kind of
possible data redundancy and undesirable anomalies related to Insertion, Deletion &
Update. The decomposition of tables is followed by organizing them well into the
database. (CONNOLLY, 2004) Normalization is used mainly for two purposes:

 Eliminate redundant (useless) data

 Ensure data dependency makes some useful sense and data is logically stored in tables

6.5.1 WHY DATA NORMALIZATION IS REQUIRED?


If the tables are not normalized, it becomes highly difficult to handle and update the
database, without facing any data loss or data inconsistency. The insertion, deletion &
update anomalies become too frequent. If normalization is followed, data consistency is
maintained properly.

6.5.2 DESIGN METHODOLOGY USED


The developer has decided to follow the Top-Down design methodology which is also
known as “Design by Analysis”. In this methodology, the first step to be followed is to
group the attributes that can exist together in a natural way. The relations are then
individually analyzed and further decomposition is performed until the desirable properties
are not met. The developer has normalized the tables up to 3NF using the following
decomposition strategy.

Normal Test Remedy


Form
1 NF No row of data should contain repeating New relations should be formed
group of data and there should be no with non-atomic values removed
or decomposed into two or more
non-atomic attributes or nested
sub-attributes.
relations.
2NF A table to be normalized to 2NF should The table should be further
already be in 1NF and there must be no decomposed and a new relation
partial dependency of any column on should be formed for each partial
primary key. key along with its dependent
attributes.

PT1081156 Asia Pacific Institute of Information Technology 83 | P a g e


E-FREELANCING

3 NF Every non-prime attribute of the table The table should be decomposed


must be dependent on the primary key. and a new relation should be
formed that includes the non key
The table must be in 2NF. There should
attributes which functionally
be no transitive dependency. determine other non key
attributes.
Table 14 Normalization Forms

6.5.3 FIRST NORMAL FORM


Converting the table “register” into its First Normal Form (1NF)

username f_name l_name email password country role Joindate


ResumeName ContentType Data
 register

username f_name l_name email password country role Joindate

 tblResumes

username ResumeName ContentType Data

Converting the un-normalized table “project” to its First Normal From (1NF)

Un-Normalized table

project_id username project_name category details posting_date bid_enddate duration


first_bid
Removing all non-atomic value containing columns to another table

 project

project_id project_name category posting_date bid_enddate duration hourpay


first_bid
 Project_details

project_id Details

 User_project_table

PT1081156 Asia Pacific Institute of Information Technology 84 | P a g e


E-FREELANCING

project_id username

Converting the un-normalized table “profile” to its First Normal From (1NF)

Un-Normalized table

username Sec HighSec Degree DegreePeriod Work Company WorkPeriod


Address Contact image
Removing all non-atomic value containing columns to another table

 profile

username Sec HighSec Degree DegreeDate Work Company WorkDate


Contact image

 addressProfile

username Address1 Address2 Address3 DegreePeriod

6.5.4 SECOND NORMAL FORM (2NF)

Table “user_certification” is in 1NF but not in 2NF due to the presence of partial
dependency in the table.

username examID examDate examScore eligibility


FD1

FD2

FD3

To remove this partial functional dependency, column eligibility must be moved to a new
table along with username as the Primary Key.

PT1081156 Asia Pacific Institute of Information Technology 85 | P a g e


E-FREELANCING

 tbl_eligibility

username ExamID eligibility

 tbl_exam

username ExamID examDate examScore

Rest of the tables is already in 2NF and do not need any further action to be taken.
Developer can now move to normalize the table to their third normal form

6.5.5 THIRD NORMAL FORM

The table tbl_exam are having transitive dependency. The non-prime attribute examScore
& examDate in table tbl_exam does not depend on both the attributes of the concatenated
key. It only depends on examID.

Before 3NF normalization After 3NF normalization

username examID examDate examScore examID examDate examScore

Transitive dependency No transitive Dependency

The developer now found that after the 3NF normalization for the above table, no
transitive dependency is identified in any of the rest of the tables. All the non-prime
attributes of the tables are dependent on the primary key. So, the tables are now normalized
up to their Third Normal Form. These tables now can be used for the implementation of
the system designs into a real time working system.

PT1081156 Asia Pacific Institute of Information Technology 86 | P a g e


E-FREELANCING

6.6 DATA DICTIONARY


Table 01
Number
Table Name register
Description Stores registration data entered by the user at time of registration on E-
Freelancing
Attribute Data Type Size[Bytes] Allow Null
f_name nvarchar 20 No
l_name nvarchar 20 No
Username nvarchar 30 No
Email nvarchar 40 No
Password nvarchar 30 No
Country nvarchar 30 No
Role nvarchar 20 No
Joindate datetime No
Primary key Email+username
Relationship The table has one to one relationship with profile table.
Description

Table 02
Number
Table Name tblResumes
Description Stores the resume of the freelancers
Attribute Data Type Size[Bytes] Allow Null
Username varchar 50 No
Name varchar 50 No
ContentType varchar 50 No
Data varbinary MAX No
Primary key username
Relationship This table has relationship with profile table
Description

PT1081156 Asia Pacific Institute of Information Technology 87 | P a g e


E-FREELANCING

Table 03
Number
Table Name Project
Description Keep data of all the projects posted by client
Attribute Data Type Size[Bytes] Allow Null
project_id int No
project_name nvarchar 30 No
Category nvarchar 50 No
posting_date datetime No
bid_enddate datetime No
Duration int No
hour_pay int No
first_bid int No
Primary key project_id
Relationship This table has relationship with table “Bidding” &
Description “user_project_table”

Table 04
Number
Table Name tbl_quest_bank
Description Question set created by admin are stored here
Attribute Data Type Size[Bytes] Allow Null
ques_id int No
Category varchar 20 No
Question varchar 100 No
opt1 varchar 100 No
opt1 varchar 100 No
opt3 varchar 100 No
opt4 varchar 100 No
Answer varchar 100 No
Primary key ques_id
Relationship This table is used for fetching questions at the time of online
Description certification test.

PT1081156 Asia Pacific Institute of Information Technology 88 | P a g e


E-FREELANCING

Table 05
Number
Table Name notifications
Description This table is used to store the notifications and notification status
Attribute Data Type Size[Bytes] Allow Null
notificationID int No
username varchar 30 No
notification varchar 100 No
Date Datetime No
status varchar 10 No
Primary key notificationID
Foreign Key username
Relationship This table is has relationship with profile table
Description

Table 06
Number
Table Name tbl_exam
Description The exam results are stored in this table
Attribute Data Type Size[Bytes] Allow Null
examID varchar 11 No
examDate datetime No
examScore varchar 30 No
Primary key examID
Relationship This table has relationship with tbl_eligibility
Description

Table 07
Number
Table Name tbl_eligibility
Description
Attribute Data Type Size[Bytes] Allow Null
username varchar 30 No
examID varchar 11 No
eligibility varchar 30 No
Primary key Username + examID

PT1081156 Asia Pacific Institute of Information Technology 89 | P a g e


E-FREELANCING

Relationship This table has relationship with profile table and tbl_exam
Description

Table 08
Number
Table Name user_project_table
Description The users who have posted project , their username and the project id is
saved in this table
Attribute Data Type Size[Bytes] Allow Null
username nvarchar 30 No
project_id int No
Primary key username + project_id
Relationship This table has relationship with “profile”:table and “project” table
Description

Table 09
Number
Table Name Bidding
Description The bidding details are stored and retrieved from this table. It gets updated
every time a freelancer submits bid on the project
Attribute Data Type Size[Bytes] Allow Null
project_id int No
current_bid int No
bidder varchar 50 No
Date_of_bid datetime No
second_bidder varcahr 30 No
Primary Key project_id
Foreign Key bidder
Relationship This table has a relationship with “project” and “profile” table
Description

Table 10
Number
Table Name Profile
Description The profile details of the users are saved and updated in this table
Attribute Data Type Size[Bytes] Allow Null
Username varchar 30 No

PT1081156 Asia Pacific Institute of Information Technology 90 | P a g e


E-FREELANCING

Sec varchar 50 Yes


HighSec varchar 50 Yes
Degree varchar 50 Yes
DegreeDate datetime Yes
Work Varchar 50 Yes
Company Varchar 50 Yes
WorkDate Datetime Yes
Contact Varchar 12 Yes
Image Varbinary MAX Yes
Foreign key Username
Relationship This table has relationship with the tables : Project, Bidding, Feedback,
Description tbl_eligibility, Forum

Table 11
Number
Table Name addressProfile
Description This table stores address of each users editing their personal data on E-
Freelancing
Attribute Data Type Size[Bytes] Allow Null
username varchar 30 No
Address1 varchar 30 Yes
Address2 varchar 30 Yes
PINcode int Yes
DegreeYear varchar 10 Yes
Foreign key username
Relationship This table has relationship with “profile” table
Description

Table 12
Number
Table Name Feedback
Description The feedback details are saved in this project
Attribute Data Type Size[Bytes] Allow Null
FeedbackID int No
Sender varchar 30 No
Subject varchar 30 No
Feedback varchar 100 No

PT1081156 Asia Pacific Institute of Information Technology 91 | P a g e


E-FREELANCING

Date datetime No
Foreign key FeedbackID
Relationship This table has relationship with “profile” table
Description

Table 13
Number
Table Name Forum
Description The discussion forum’s posts are to be stored in this table
Attribute Data Type Size[Bytes] Allow Null
ForumID int No
username varchar 30 No
Title varchar 100 No
message varchar MAX No
Date datetime No
Primary key ForumID
Relationship This table has a relationship with “profile” table and “ForumComments”
Description table

Table 14
Number
Table Name ForumComments
Description The discussion forum’s posts and the comments received on those posts
are to be stored in this table
Attribute Data Type Size[Bytes] Allow Null
CommentID int No
ThreadID int No
username varchar 30 No
comment varchar MAX No
Date datetime No
Primary key CommentID + ThreadID + username
Relationship This table has a relationship with “profile” table and “ForumComments”
Description table

PT1081156 Asia Pacific Institute of Information Technology 92 | P a g e


E-FREELANCING

6.7 PHYSICAL DESIGN OF DATABASE

Database Table: register Database Table: profile

Database Table: tbl_exam Database Table: tbl_result

Database Table: Forum Database Table: ForumComments

PT1081156 Asia Pacific Institute of Information Technology 93 | P a g e


E-FREELANCING

Database Table: Project Database Table: Bidding

Database Table: notifications Database Table: tbl_resumes

Database Table: projectAllotment Database Table: user_project_table

Database Table: addressProfile Database Table: quest_bank_table

PT1081156 Asia Pacific Institute of Information Technology 94 | P a g e


E-FREELANCING

CHAPTER 7: IMPLEMENTATION
The system design part is successfully completed by the developer and now the developer
needs to move forward to the next stage i.e., Implementation. Implementation involves the
converting the presented system designs into an actual working system using certain
design and development tools.

7. IMPLEMENTATION PLAN
It was necessary to prepare an implementation plan for the project in order to ensure that
the project gets completed within the given time frame. The proposed system has been
divided into several modules which are organized by the developer in such a way that no
two modules suffer conflicts with each other. While the planning is done for the
implementation, it is always kept in mind that certain modules of the system are having
higher priority as compared to other modules and thus, these higher priority modules are
handled in a more careful manner.

Some of the steps that are required to be followed in order to complete the system on time
are:

 The very first step is to implement the database design in Microsoft SQL Server 2008.

 With the completion of the above step, the developer needs to start with the system’s
interface design which includes designing the registration and login page for the
clients as well as the freelancers, profile creation and updating.

 Next comes, the implementation of the online exam module which includes
developing an interface to create exam and conduct exam by the admin and freelancers
respectively.

 Now it is time to create the interface which would be used by the clients to create
project and post it to online bidding.

 Freelancers should be able to use an interface of online bidding to view the bid status
on several projects and post their new bid.

PT1081156 Asia Pacific Institute of Information Technology 95 | P a g e


E-FREELANCING

 Dashboard is another functionality which shows the user their details and allows them
to manage their profile.

 Upon successful completion of the project, it is time for the clients to use the payment
gateway and make online payment.

 The client will also have the facility to chat with other users available online.

An Overview of the Modules and their priority assigned by the Developer

S.No Module Name Priority Category


Administrator Module
1. Create Exam 10 High
2. Manage user profiles 9 High
3. View Reports 6 Medium
4. Manage Projects 6 Medium
Client Module
5. Registration & Login 7 Medium
6. Project Creation & Updating 8 High
7. Check Project Bid status 7 Medium
8. View Bidder Details 5 Medium
9. Chat 7 Medium
Freelancer Module
10. Registration & Login 7 Medium
11. Online Certification Test 10 High
12. Browse Projects for Bidding 7 Medium
13. Bid on projects 8 High
14. Chat 7 Medium
15. Send feedback to Admin 6 Medium
16. Dash Board 7 Medium

PT1081156 Asia Pacific Institute of Information Technology 96 | P a g e


E-FREELANCING

7.1 ASPECTS FOR IMPLEMENTATION


The developer is basically targeting the following two implementation aspects:

 Usability aspect

 Technical Aspect

7.1.1 USABILITY ASPECT


The usability aspect taken into consideration can be categorized into the following five
major components:

Principles Description
Learn ability The developer has been very much careful while implementing the
interface design of the system and the implementation of the
functionalities, keeping in mind that the system can be used easily by any
user familiar with computer’s basic knowledge. The help manuals and the
tooltips have been provided for almost every tool available on the system
so that the user can perform their task without any problem.
Efficiency Efficiency relates to the response time of actions performed over the
system including how the system handles the data entered by the user and
handling of any exceptions if occurred during the actions being
performed.
Memorability The developer has implemented the design so well that it is easier for the
users to remember the flow of the system and the developer has tried all
the possibilities to reduce the complexities of the system.
Errors Proper validation technique has been used by the developer and the errors
are being handled very efficiently. The developer has tried to develop an
error free system.

Satisfaction The most important criteria of a successful system is to achieve user


satisfaction. All the necessary module functionalities has been taken into
account to make the system efficient to give user satisfactory output.
Table 15Usability Aspects

PT1081156 Asia Pacific Institute of Information Technology 97 | P a g e


E-FREELANCING

7.1.2 TECHNICAL ASPECTS: TOOLS USED FOR MODELLING & IMPLEMENTATION

S.no Development and Purpose


Programming IDE’s
1 Microsoft Visual Studio Used as the primary IDE for all coding and
2012 designing purpose.
2 Microsoft SQL Server2008 Used as the backend database to store the details of
operations performed over the system
3 Google Chrome Used as the primary and secondary browsers
Mozilla Firefox 2.0/3.0/3.6 respectively for all web activities during
development and debugging of the system.
Table 16 Technical Aspects- Development Tools

S.no Case and Documentation Purpose


Tools
1 Microsoft Office Word 2007 To document the system report.
2 Microsoft Visio 2007 To draw the UML Designs – Use Case, Activity
diagrams, sequence diagrams
3 Microsoft Project 2007 To draw Project Gantt chart
4 Microsoft PowerPoint 2007 Prepare presentation slides.
5 Microsoft Paint Design system logo, banner and edit images used in
the system
Table 17 Technical Aspects - Documentation Tools

PT1081156 Asia Pacific Institute of Information Technology 98 | P a g e


E-FREELANCING

7.2 IMPLEMENTATION APPROACH FOLLOWED

START

INPUT SYSTEM
DESIGN DOCUMENTS

CREATE DATABASE IN MS SSQL


SERVER 2008

IMPLEMENT MODULES AND


CREATE SYSTEM ARCHITECTURE
CREATE CLASSES

NO

IF MODULE’S
IMPLEMENTATION COMPLETE

YES

INTEGRATE SYSTEM

OUTPUT ALL
DOCUMENTS FOR
SYSTEM TESTING

END

Figure 24 Implementation Approach

PT1081156 Asia Pacific Institute of Information Technology 99 | P a g e


E-FREELANCING

7.3 IMPLEMENTATION OF DIFFERENT MODULES

In this section, the module descriptions are provided which indicates how the developer
has implemented and integrated the different modules of the system. Along with this, a
short description related to the problems faced during the module implementation and a
solution for the same has also been provided.

7.3.1 Module Name: Registration

Registration Module for Clients and Freelancers


This was the first module developed by the developer. This is the most important requirement of
the system that if a user wants to make use of the complete functionalities of the system, he/she
must undergo the registration process. Only the registered users can enjoy the advantages of E-
Freelancing for which they have to provide the required user details including a valid email ID
in order to receive the password generated by the system.

Problems faced during implementation of registration module


1. The developer faced certain problems in generating a alphanumeric password and sending it to
the user’s email ID automatically when the user registers on this system.
2. Applying proper validations to check that the desired username provided by the user is unique

PT1081156 Asia Pacific Institute of Information Technology 100 | P a g e


E-FREELANCING

and not already taken by any other user.


3. Providing validations for each field that required data to be filled by the user.
Solution for the above problem
1. Sending the automatic generated password into the email id.

Using the package System.Net


and System.Mail to send email
by the system

Using the Random class to define a set


formed by combination of alphabets and
numeric values

Creating an SMTP Server using SmtpClient


class of package “System.Net”

2. Validators has been applied on the text fields to validate user data
<asp:RequiredFieldValidator <asp:RegularExpressionValidator
ID="RequiredFieldValidator3" ID="RegularExpressionValidator1" runat="server"

PT1081156 Asia Pacific Institute of Information Technology 101 | P a g e


E-FREELANCING

runat="server" ControlToValidate="email" Display="Dynamic"


ControlToValidate="email" ErrorMessage="* Email address is in wrong
Display="Dynamic" ErrorMessage="* Field format" Font-Bold="True" Font-Italic="True"
cannot be left blank" Font-Bold="True" ForeColor="#FF3300"
Font-Italic="True" ForeColor="#FF3300"> ValidationExpression="\w+([-+.']\w+)*@\w+([-
</asp:RequiredFieldValidator> .]\w+)*\.\w+([-.]\w+)*">
</asp:RegularExpressionValidator>

Pseudo code for the above module


START
IF(Member Registration) then
REDIRECT user to Registration Page
INPUT all the required fields
CLICK on SUBMIT
VALIDATE fields and check for unique User ID
IF (Success )then’
SEND the auto-generated password to the email id provided
REDIRECT user to Registration confirmation page
ELSE
REDIRECT user back to same registration Page
SHOW the Error Messages
END IF
END IF
STOP

7.3.2 Problems in using Validators control

Problems faced in using the Validators controls


ASP.NET provides a set of validation controls which can be applied for applying validations like
comparing data of two text-boxes, setting up the range validations and regular expression
validations for the text fields used.
The developer is using Ajax controls and several complications were found which took much
time to get solved.
Problems faced during implementation of Validators
Problem occurred in using Validators

PT1081156 Asia Pacific Institute of Information Technology 102 | P a g e


E-FREELANCING

The system displayed error and asked the


developer to add a ScriptResourceMapping for
controlling the UnobtrusiveValidationMode of
the webpage
Solution Found for the above problem

The <appSettings>> attribute in the


Web.Config file needed to add a new key
for altering the Validation Settings

Problem identified in using Ajax toolkit controls

A asp control <ToolkitScriptManager> was


Solution For the above problem added to the master page which allowed
Ajax controls over the web pages

PT1081156 Asia Pacific Institute of Information Technology 103 | P a g e


E-FREELANCING

After adding ToolkitScriptManager, the developer


had to modify the Register directive of the
master pages and added a tag prefix asp for the
AjaxControlToolKit
7.3.3 Module Name: Login

Login Module for Admin, Clients and Freelancers


Users of the system get access to the system privileges only after a successful login. It is a
general idea nowadays used by almost all web-based applications to use a login system to
prevent unauthorized users to access the system. Other users can also access the system but they
only have limited access to the system. This login system identifies the user as admin, client or
freelancer based on the user role they have provided at the time of registration. As it is already
mentioned, username should be unique and hence, no two users, in any case, can have the same
username.
Therefore, the system after identifying the user as the system admin, client or freelancer,
redirects them to their respective homepages. Thus, the role serves as a reference for the system
to decide the category of the user.

Problems faced during implementation of login module


1. Deciding the category of the user i.e., either they are admin, client or freelancer based on the
username and password entered by the user.
2. Validate the authentication of the user
2. Loading the correct home page and displaying the appropriate menu based on category.

PT1081156 Asia Pacific Institute of Information Technology 104 | P a g e


E-FREELANCING

Solution for the above problem


1. Identifying the user by the role they have selected at the time of registration

Using the username and password, the


system checks the role of the user and
decides the user category

2. Check for the authentication of the user

If an unauthorized user attempts to login


into the system, he/she undergoes the
strict authentication process and displays
an error message if user is not
authenticated

The developer has adopted a very efficient technique to redirect the user to their respective
homepages. The role corresponding to the username in the database is compared with string
“CLIENT” or “FREELANCER” and the user is then redirected to the homepage maintaining
the username as a session object.

Pseudo code for the above module


START
Read Username and Password provided by user
Next

PT1081156 Asia Pacific Institute of Information Technology 105 | P a g e


E-FREELANCING

For login into system


If (Username and Password validated to be true) then
SEARCH for Role
IF(category is “CLIENT”) then
Allow user to login in
Redirect User to Client’s Homepage
END IF
IF(category is “FREELANCER”) then
Allow user to login in
Redirect User to Freelancer’s Homepage
END IF
END IF
Else Re-enter credential

If (Username==”Admin” password is validated to be true) then


Redirect User to Admin’s Homepage
END IF
END IF
Else Re-enter credential
Next
End

7.3.4 Module Name: Profile Creation and Updating

Profile Creation, Posting and Updating


The client uses the interface for project creation to create new project and post it online. The
client is required to fill details required by the system and at the same time the client is asked to
enter the proposed bid amount. This is the starting bid amount the will be displayed as the
first/proposed bid amount. The freelancers when see this project will have to enter a bid amount
which should be at least 2% lesser than the previous bid amount.
Just after the project is created, the user is redirected to the project detail view page where the
client can see the project details, current bid status.

PT1081156 Asia Pacific Institute of Information Technology 106 | P a g e


E-FREELANCING

The client is required to fill these


details prior to project posting.
These details will be displayed
throughout the website as the
project details and based upon
this description, bidding process
will be conducted.

On click of submit button, the


project details are stored
corresponding to the client’s
username and the client is
redirected to the project detail
page.

Problems faced during implementation of project creation module


1. Check if the same project is not posted twice by the same client and no text field is left black
before the project is being posted.
2. Keep track of the project posting date which even serves as the time instance for the start of
bidding process on that project and keep track of the time duration of 48 hours by which the
bidding time will be over.
Solution for the above problem
1. Keep track of the posting date and the bid end date for the project
An object of the DateTime class is
created which reads and stores the
time instance from the computer
system when the project is being
posted and at the same time, the
system also calculates the Bid end
date for the project by adding 2 days
to the current date from the
computer.

PT1081156 Asia Pacific Institute of Information Technology 107 | P a g e


E-FREELANCING

2. Validators has been used to check that no field is left empty.


<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="project_details" ErrorMessage="* Field empty" Font-Bold="True" Font-
Italic="True" ForeColor="#FF3300">
</asp:RequiredFieldValidator>

Pseudo code for the above module


START
Read Username and Project name provided by client
Next
IF(No field is left empty) then
IF (Username and Project name do not exist together) then
Store project detail and post project online
Redirect Client to project detail view page
END IF
ELSE
Display error message
Redirect client back to same page
END IF
Else Re-enter credential
End

7.3.5 Module Name: Project Bidding

Project Bidding
Freelancers look for projects that are available for online bidding. If a freelancer finds any
project interesting and wants to work for that project, he/she can participate in the bidding
process but on condition that they have been certified by clearing the online test.
A freelancer can see the projects which are still undergoing the bidding process. The current bid
can be seen along with the current bidder’s name. if there is time left for the bidding, the
freelancer can submit his/her bid which should be at least 2% lesser amount that the previous bid
value. If the entered bid amount is validated to be valid, the bid is placed and it can be now seen
as the new bid amount.

PT1081156 Asia Pacific Institute of Information Technology 108 | P a g e


E-FREELANCING

Display the Project details along


with the bidding status.

Current bid is shown along with the


bidder’s name and bidding time.

Calculate and display the total time left on


the completion of the Bidding process on
the project. Submit Bid by entering a new
bid amount 2% less than previous bid.
Problems faced during implementation of project bidding module
1. Display only those projects which are open for bidding process
2. Access Bidder’s name from the grid view control
3. Validate the new bid enteredby the freelancer. It should be at least 2% less than the previous bid amount.
4. Display the current bid and the bidder’s name
Solution for the above problem
Display only those projects which are open for bidding process
ERROR CODE SNIPPET:

The system is not allowing the date to be stored


in a string variable and neither it was getting
possible to retrieve the bid_end date from the
database

MODIFIED CODE SNIPPET:


The DateTime data type cannot be explicitly converted
into data type int. thus, it was type casted into a string
data type and stored in string variable dd1.
PT1081156 Asia Pacific Institute of Information Technology 109 | P a g e
E-FREELANCING

SELECT * FROM [project] WHERE ([bid_enddate] >= @bid_enddate) ORDER BY [project_id]

A comparison is being made here which ensures that the projects that are being retrieved from
the database is having their bid ending date and time greater than the present date and time.
Those projects are considered to be open for online bidding process.

Access Bidder’s name from the Grid view control Problems are being faced in reading the
bidder’s name from the 1st row and 3rd column
ERROR CODE SNIPPET:
of the grid view control used to display details

Error found:

MODIFIED CODE SNIPPET:


Validate the new bid enteredby the freelancer. It should be at least 2% less than the previous bid
amount.

If the new bid amount is at least 2% lesser than the current


bid value, then only the new bid is considered to be valid
and is then submitted as the new current bid amount.

Displaying the current bid amount along with


the bidder’s name and the time on which this
bid was submitted.
Display the current bid and the bidder’s name
SELECT [Project_id], [current_bid], [bidder], [Date_of_bid] FROM [Bidding] WHERE ([Project_id] =
@Project_id2)

PT1081156 Asia Pacific Institute of Information Technology 110 | P a g e


E-FREELANCING

Pseudo code for the above module


START
Read Project ID from Database whose Bid end Datetime>=Current Date & Time
Next
IF(Projects Found) then
Display Project details
Display current bid amount
Display Time left on the project bid process to end
Read new bid amount
IF (New Bid amount is at least 2% less than previous bid amount) then
Submit bid and display it as new current bid amount
END IF
ELSE
Display error message
Redirect client back to same page
END IF
End

7.3.6 Module Name: Online Certification Test

Online Certification Test

It is the requirement of the system that only a certified freelancer should be allowed to participate

in the online project bidding and if a freelancer has not successfully passed the online test then

he/she should not be allowed to participate in the bidding process.

The online test is first to be created by the admin and then the question sets are stored into the

database of the system. When any freelancer requests for taking a test for a particular category

questions, the questions are fetched from the database and displayed on the screen with a

countdown timer running for each question.

PT1081156 Asia Pacific Institute of Information Technology 111 | P a g e


E-FREELANCING
A countdown timer keeps
counting and displaying the
remaining time for this question
An Exam ID is
generated for each
test

A question is displayed with four


different options and only one is to
be selected

Once this button is clicked, the selected


answer is submitted and cannot be reviewed
or rechecked.

Problems faced during implementation of online certification exam module


1. Display questions with the four options out of which one option is correct and only one option
could be selectable.
2. Timer should be running for each question and the remaining time should be displayed.
3. If the time for a particular question is over then the question should be changed automatically and the
marked answer should be considered as the user’s input.
4. After the completion of the exam, the report card should be generated
Solution for the above problem
1. Display questions with the four options out of which one option is correct and only one
option could be selectable

The question set belonging to a particular Question


ID (qid) is betched from the database of the system
along with its four options

This is the answer for this question which is later used to


check the correctness of the user’s selection from the
provided options

PT1081156 Asia Pacific Institute of Information Technology 112 | P a g e


E-FREELANCING

2. Timer should be running for each question and the remaining time should be displayed
3. If the time for a particular question is over then the question should be changed automatically and
the marked answer should be considered as the user’s input.

A JavaScript “Timer” has been created


to implement the countdown timer for
each individual question during the
exam

A timer is created which counts a time of


2 minutes for every question and if the
time is over, the system requires the
question to be changed

Remaining time is displayed


in this format

When the timer count ends for a particular


question and no time is left for that question, the
button click event is invoked due to which the
user’s selected input is considered as final or else
it is considered as a wring answer

When the “save answer” button is clicked, the correctness of the selected answer is to be checked

PT1081156 Asia Pacific Institute of Information Technology 113 | P a g e


E-FREELANCING

For every correct answer,


the freelancer gets one
marks

Wrong answer selection


increases the counter
for wrong answer by 1

After the completion of the exam, the report card should be generated

The report card is generated


after each completion of test
and the result is declared as
either PASS or FAIL

Pseudo code for the above module


START
Read Freelancer’s selection of exam category and fetch question sets
Next
IF(Questions available for that category) then
Display Question
Display Options for that question
Display remaining time for each question
Read user’s answer selection
IF (selected answer is CORRECT) then
Count 1 mark for correct answer
END IF
ELSE

PT1081156 Asia Pacific Institute of Information Technology 114 | P a g e


E-FREELANCING

Increase counter for wrong answers by 1


If(Exam Completed) then
Calculate total correct answers given
Calculate total wrong answers given
Calculate total marks and display final Result
End ID

If(result = “PASS”)
Set freelancer’s eligibility status as ELIGIBLE to participate in online bidding
END IF
Else
Set freelancer’s eligibility status as NOT ELIGIBLE to participate in online bidding
Store exam results
End
7.3.7 Module Name: Notification and Chat

Notification and Chat


Notifications are one of those modules which keeps track of the activities performed throughout
the system. When a Client posts a new project and sets the project open for bidding, all the
clients are notified about the projects that are open for bidding. On the other hand, when a
freelancer submits a bid on any project, the project owner client is notified about the submitted
bid along with the bidding details.
When project bidding is completed and the client’s project is allotted a freelancer, the clients and
the freelancers can then use the chat module of the system and send instant text messages to each
other.

Notification of total Option to read and


number of unread delete
messages are displayed notifications

Problems faced during implementation of project bidding module


1. Manage all the projects that are open for bidding and keep the freelancers notified about the
current bid openings.

PT1081156 Asia Pacific Institute of Information Technology 115 | P a g e


E-FREELANCING

2. Display notifications to concerned clients when freelancer submits a bid amount on a project.
3. Add users to the chat session and display the messages sent by the users instantly.
Solution for the above problem
1. Manage all the projects that are open for bidding and keep the freelancers notified about the
current bid openings.
2. Display notifications to concerned clients when freelancer submits a bid amount on a project.
The above two problems were handled by the user through a very effective coding technique
where the developer used to set the status of the notification message as Read/Unread. At the
login of the user, the system used to check the status of all the messages in the database for that
concerned used. If any message is found to be unread, a notification is displayed which indicates
the count of total number of unread message. These unread messages can be read from the
notifications page which links from the menu item ”Notifications “ under “My Zone”
3. Add users in the chat session and redirect user to the chat page
Two JavaScript files has been created
to implement the chat feature

CODE SNIPPENTS SHOWING THE IMPLEMENTATION

The .asmx file represents the


addressable entry point for Web
services.

PT1081156 Asia Pacific Institute of Information Technology 116 | P a g e


E-FREELANCING

Using the WebService directive lets


the system know that the
application login class is being
used.

<WebMethod()> attribute tells the system


that the method with this attribute is to be
treated as ‘Web Callable’

A new user name is being added


to the WebServices dictionary
and the GlobalChat application is
invoked which is to be used as
the user’s Chat Name

CODE SNIPPET SHOWING THE GLOBAL CHAT METHOD DEFINITION

The GlobalChat methods getGlobalChat() &


getGlobalChat_Complete() reads and sets the
message as arguments and calls the
ChatServices methods under the WebService
directive

PT1081156 Asia Pacific Institute of Information Technology 117 | P a g e


E-FREELANCING

Pseudo code for the above module


START
Read Username from Session state
Check for unread notifications for the concerned username
Next
IF(Unread Notifications found) then
Notify user about new notification received
View notification
END IF
ELSE no notification message displayed
IF(User selects chat option)
Read user’s chat name
Open chat page in new window
IF(User enters a message)
Read user’s message
Read the computer’s time
Display chat message in chat box in format {TIME: (USERNAME) : <MESSAGE>}
END IF
End

7.3.8 Module Name: Discussion Forum

Discussion Forum
Both the users- Client as Well as Freelancer can select the Forum option from the menu bar
which takes the user to the Discussion forum where user can see a list of all the posts posted by
the registered users of E-Freelancing. These posts have been categorized under specific
categories and have a title which describes the post well. These posts are subjected to be
comments and likes by the users. Users reading the post can also post a comment over the same
post.
Discussion forum is an important part of this project. It can be used to establish a good mode of
sharing of innovative ideas or spreading awareness among the members about anything related to
E-Freelancing or related issues. This feature enhances the usability of this website.

PT1081156 Asia Pacific Institute of Information Technology 118 | P a g e


E-FREELANCING

This can be used to search for


posts using keyword search

All the forum posts are displayed


in a list ordered by the newest
first. Clicking on the title will show
the comments on this post
Problems faced during implementation of discussion forum module
1. Problem while integrating the Ajax HTMLEditorExtender into a textbox which could be used in
formatting the text style
2. Problems faced in binding Repeater control with database values
3. Count and display all the likes and comments on every post.
Solution for the above problem
1. Problem in implementing Ajax HTMLEditorExtender in to text box to format text
ERROR CODE SNIPPET:

The sanitizer provider property could not be


configured in the web.config file. This was not
allowing the integration of HTMLEditorExtender
into the required textbox hence, formatting of
text could not be done if problem not solved

PT1081156 Asia Pacific Institute of Information Technology 119 | P a g e


E-FREELANCING

MODIFIED CODE SNIPPET:

The EnableSanitization property of HTMLEditorExtender


was turned false which did not required the configuring
of this provider property

Problems faced in binding Repeater control with database values


ERROR CODE SNIPPET: Repeater control showing error and not accepting
its binding with the SQL DataSource

The repeater was configured using the <ItemTemplate> tag


which allowed the binding of repeater with the data source
values and <%#Eval%> keyword tag was used to implement
MODIFIED CODE SNIPPET: the binding of each column fetched by the SQL Data Source

Count and display all the likes and comments on every post.
Problem faced:
INNER JOIN of tables “Forum” & “ForumComments” not allowed. Databound failure
occurred.
Solution to the above problem: The code written in SQL Data Source was configured and re-
written as follows:
String sql =”SELECT count(likes), count(comments) FROM Forum INNER JOIN
ForumComments ON Forum.ForumID=ForumComments.ThreadID WHERE
(Forum.ForumID= @ForumID)”;

Pseudo code for the above module


START
Select “Forum” option and go to Discussion Forum
Next

PT1081156 Asia Pacific Institute of Information Technology 120 | P a g e


E-FREELANCING

IF(Create new Post) then


Enter Post details
Submit Post
END IF
IF(Discussion Forum) Then
Display posts ordered by date
Read Post Details including total likes and comments
Read Comments on each post
Post a comment
Display new comment on Post
END IF
STOP

7.4 USER MANUAL: E-FREELANCING


7.4.1 MODULE: REGISTRATION

If already a member,
then user can click this
link-button and can
enter the login details

If user is not the


member of this
User can system, he can fill the
register being a necessary details and
client or a create his account in
freelancer & this system
become a
member
After clicking this button,
user can create the account
User must accept the in this system & become a
terms & conditions or member
else he can’t register

PT1081156 Asia Pacific Institute of Information Technology 121 | P a g e


E-FREELANCING

7.4.2 MODULE: PROFILE CREATION & UPDATING

User can see their profile


details already stored in the
database

Options to
edit and
update user
User can even change
profile
their profile photo
from here

7.4.3 MODULE: EXAM CATEGORY


Instructions
provided by the
admin & should
be followed by
the user at the
time of exam

User can select


the category as
per their
knowledge User can start the
test only after
clicking the button

PT1081156 Asia Pacific Institute of Information Technology 122 | P a g e


E-FREELANCING

7.4.4 MODULE: EXAM

Unique Exam ID &


Username of the user

Time at which exam was started

Question and the


Timer showing
User clicks button to options to be read &
the remaining
save the attempted must be attempted
time left for the
questions by the user to move
questions to be
on to next question
attempted

Note: User must attempt the first question but


the other questions can be left blank which will
be marked as wrong answer

Freelancers have to select the exam category after which they are re-redirected to the exam start
page. As soon as the exam starts, a countdown times displays the remaining time for that
particular question which is by set as 2 minutes by the developer. This means, the user is
provided with just two minutes of time duration to read the question and submit his/her answer.
It is important for the user to provide an answer for the very first question.
If the user does not do so, the exam won’t be conducted further and an error message will be
displayed to the user. Later questions cannot be skipped but if the user does not provide any
answer to the question, the next question will be displayed after the time completion and it will
be counted as one wrong answer.
After successful completion of all the questions given, the report card is generated and the
freelancer will be able to see their result. This result decides the eligibility criteria for the
freelancers to participate in a bidding process at a later stage.

PT1081156 Asia Pacific Institute of Information Technology 123 | P a g e


E-FREELANCING

7.4.5 MODULE: PROJECT DETAILS OF THE CLIENT

Project ID of the
client
All the details of
the project
posted by the
client

The clients can view even those projects on which bidding has been already closed. In that case,
the client can see the winning bidder’s profile and download his/her resume which helps him
further to decide whether to allot him project or not.
If the project is still undergoing the bidding process, the time left for the completion of bidding
is displayed.

7.4.6 MODULE: DOWNLOAD RESUME

Details of a
freelancer

Downloading starts, On clicking this link-


as the user clicks button, user can
“See Resume” download the
resume

PT1081156 Asia Pacific Institute of Information Technology 124 | P a g e


E-FREELANCING

7.4.7 MODULE: PROJECT ALLOTMENT

Clients can see their


project’s online bidding
& allotment status

The view button


Project shows the details
allotment of the project
status. It including the
can be details of the
changed freelancer who
only once has placed the
closing bid

Client can download the resume of


freelancer for more details.

Project SRS can be mailed to the Freelancer

7.4.8 MODULE: PROJECT POSTED BY THE CLIENT

On clicking this menu-


item, this page opens in
which user can see
their project ID & name

By clicking this button,


user can view other
details of the project

PT1081156 Asia Pacific Institute of Information Technology 125 | P a g e


E-FREELANCING

7.4.9 MODULE: CHAT

This is the chat box where the


clients and freelancers can send
instant text messages to one
another and have a conversation.

Messages are sent along with


the time and the sender’s name.
This is the desired chat name
which the users choose when
they start the chat functionality

This is the screen for the chatting interface which is used jointly by the Client and the freelancer
to establish a conversation between them. The chat screen will display the time at which the
message has been sent and the name of the person sending the chat message and then the
message sent.
Note: This has been already mentioned that the system will not be storing the chat conversation
details in any way. Thus, users should not consider this as a proof of conversation between them.
This functionality is added to the system to encourage a good conversation between the client
and freelancers if they do not want to disclose any other contact details of themselves.

PT1081156 Asia Pacific Institute of Information Technology 126 | P a g e


E-FREELANCING

7.4.10 MODULE: DISCUSSION FORUM

Create new post for Discussion Forum

Fill the required details which includes the category,


title of post and the content description

The HTML Editor Extender can be used to format the Post


text style to make it attractive and get attention of other
users towards the post
View Forum Posts

The Post details can


be viewed by
selecting the
“Discussion Forum”
option from the
provided menu bar

Read Post & Post a comment

Selected
post title List of all the
along comments
with its posted for
details this thread
mention
ed as
header
Text Area enabled with HTML Editor
Extender can be used to post a new
comment
7.5 TECHNICAL MANUAL
The technical manual documents instructions for installation of important tools necessary
for carry out the operations of this system. Development of this system required an IDE
support and some other tools discussed below. There are three major parts in technical
documentation

PT1081156 Asia Pacific Institute of Information Technology 127 | P a g e


E-FREELANCING

1. Download the two major tools- IDE MS Visual Studio 2012 & MS SQL Server 2008
2. Installation of the tools
3. Compile & Debug the system
4. Execution of the system

Downloading Microsoft Visual Studio 2012

Microsoft Visual Studio 2012 & Microsoft SQL Server 2008 can be downloaded from the
official website of Microsoft which is www.microsoft.com. Downloading this IDE is
completely free of cost and the license to use this IDE is provided by Microsoft at the time
of download.
By clicking on this
link, this IDE can
be downloaded

http://www.microsoft.com/en-in/download/details.aspx?id=30682

Downloading MS SQL Server 2008

Microsoft provides a direct link on its website to download MS SQL Server


2008 : http://www.microsoft.com/en-
in/download/details.aspx?id=1695

PT1081156 Asia Pacific Institute of Information Technology 128 | P a g e


E-FREELANCING

Installing the IDE and SQL Server

The downloaded IDE file contains a package of folders which includes the classes and license
agreement. There can be seen an .exe file vs_ultimate.exe. The user is required to double
click on this file to start the installation process.
Microsoft Visual Studio 2012 Ultimate. Microsoft SQL Server 2008

Double Click to start


installation process Double click to start
of Visual Studio the installation of
2012 MS SQL Server 2008

Steps for Installation:


Step 1: Unzip the .zip folder of the file downloaded from microsoft’s official website.
Step 2: Open the folder containing files and double click the <filename>.exe application
file.
Step 3: Installation process starts. User will be asked to select the preferred storage drive
to store the installation files and .dll files of the tools.

Steps for Debugging and executing the system file

Step 1: Open Visual Studio 2012 and select from menu bar to open a website.

Step 2: Insert the cd on which the system folder is saved. Browse and select to open the
system file.
Step 3: Click on Debug.
Step 4: Follow the instructions of registration and so on. User is now in a state to use the
system properly.

PT1081156 Asia Pacific Institute of Information Technology 129 | P a g e


E-FREELANCING

Executing the System in the IDE Microsoft Visual Studio 2012

Open Visual Studio 2012 and Click


on File option to browse and open
the desired website project stored
in the hard drive Select form the “View” option to view the solution
explorer which shows the contents of the web
application opened.

Select from the Tools option to connect the web


application to the database file. The attached
database can be viewed from the Server Explorer

The website is now ready for debug.


Users can select their desired web
browser from the toolbar provided
and click on Debug button. It will take
around 30 seconds to run the website
in the browser

PT1081156 Asia Pacific Institute of Information Technology 130 | P a g e


E-FREELANCING

CHAPTER 8: TESTING

The process which is incorporated to evaluate the software qualities which includes
evaluation of the software’s reliability, usability, its maintenance ability and the level of
performance it can deliver. The test results are used to make a comparison check between
the actual properties of the presented software system and the properties that are specified
in the requirement document. (GLENFORD, 2004)

8.1 E-FREELANCING TESTING STRATEGIES

Although it is a fact that software quality testing is an expensive and a time-taking activity,
yet it is suggested to conduct a proper testing prior to deploying the system for the other
users as this may lead to errors and bugs at a later stage and costing may potentially
increase much higher than that of the testing. The following table briefly illustrates the
various testing methods conducted by the developer:

Testing Plan

User
Interaction System
Unit Testing Acceptance
Testing Testing
Testing

Black Box White Box Usability Compatibility


GUI testing
Testing Testing Testing Testing

Figure 25 Testing Strategy Hierarchical Plan

PT1081156 Asia Pacific Institute of Information Technology 131 | P a g e


E-FREELANCING

Method Application Area Start Date End Date


Test the functionalities of each method F
and modules by using the black-box U
testing and White box testing method. N
Unit Errors, including minor errors related C 28 Feb ‘14 12 Mar ‘14
Testing to user data input and data validations, T
found during this method were properly I
identified and solved. O
Once the functionalities of each module N
are tested successfully, the modules are A
Integration now integrated together and the L 13 Mar ‘14 28 Mar ‘14
Testing developer used integration testing to I
check the module’s inter-connectivity. T
Y
The developer does GUI testing to User interface
check the appropriateness of the user [GUI]
interface of the presented system.
This web-application is tested on Compatibility
different web browsers and operating 31 Mar ‘14 11 Apr ‘14
System systems to ensure its compatibility with
Testing different platforms
The developer conducts usability Usability
testing to check how the system
follows the usability engineering
principles.
User The developer asked different users to User
Acceptance use the system and provide necessary Acceptance 14 Apr ‘14 18 Apr ‘14
Testing inputs to check the user acceptability
Table 18 Types of Testing

PT1081156 Asia Pacific Institute of Information Technology 132 | P a g e


E-FREELANCING

8.1.1 WHY TESTING SHOULD BE DONE?


 Testing helps in determining the success level of the system developed.

 Testing helps to make the system bug and error free

 A perfect testing technique can help the developer to meet all the user requirements in
the most efficient manner

 Furthermore, testing improves the consistency of the developed system and helps in
making the system more efficient (BURNSTEIN, 2002)

8.1.2 WHO SHOULD DO THE TESTING?


The developer alone should not be the only person to test the system. There are certain
testing standards which are fulfilled only when other users conduct the test for the system
as users other than the developer can easily discover the data input and output errors in
using the system.

Testing Type Tester Name Modules Tested


Unit Developer (Piyush Kumar) Admin, Client & Freelancer’s each modules
Mr. Anshul Mehra (User) provided in E-Freelancing
Integration Developer (Piyush Kumar) Full Integrated System
System Developer (Piyush Kumar) Full Integrated System’s GUI testing & Its
Usability
Compatibility Developer (Piyush Kumar) System tested on different platforms for
Mr. Anshul Mehra (User) compatibility check
User Developer (Piyush Kumar) User input range in all text fields in overall
Acceptance Mr. Anshul Mehra (User1) system and their validations
Mr. Satyam Dubey (User2)
Table 19 List of Testers

8.1.3 HARDWARE & SOFTWARE REQUIRED FOR TESTING

Hardware Software
 Windows XP/7/8
At least 2 Laptops or PCs should be
available and connected to internet  Microsoft Visual studio 2012

PT1081156 Asia Pacific Institute of Information Technology 133 | P a g e


E-FREELANCING

 Microsoft SQL Server 2008


 Google Chrome (Web Browser 1)
 Mozilla Firefox (Web Browser 2)
Table 20 Hardware & Software Requirements for Testing

8.1.4 SUCCESS/FAILURE CRITERIA


The success of the system is ensured if the system fulfills the standard requirements stated
in the testing and the design specifications. Some of the identified requirements which
ensure the success of the system are:

 The user interface developed should follow the standard HCI principles

 After full system integration of all the modules of E-Freelancing, the system should
perform properly

 The functionalities provided must be giving proper and required output

 Response time of the system should not be out of the acceptable range

 Inability to produce the program and database properly will cause violation of all
testing activities.

8.2 TESTING DESCRIPTION


8.2.1 UNIT TESTING

Unit testing is used to test each and every small operation that is performed in each module
of E-Freelancing. The developer conducted unit testing with the aim to test each modules
against their basic functionalities and the user requirements. (GLENFORD, 2004) This part
of the testing is basically divided into two sub-components:

 Black Box Testing (also called functional testing)

 White Box Testing (also called logical testing)

PT1081156 Asia Pacific Institute of Information Technology 134 | P a g e


E-FREELANCING

8.2.1.1 BLACK BOX TESTING


8.2.1.1.1 Unit Test Case & Description for module: Registration

Project Title E-Freelancing Testing Date 28/02/2014

Test Case ID UT-eF1 Test Duration 20 minutes


Test Case Name Registration
Conducted By Developer (Piyush Kumar)
Objective Test the registration system for the Client & Freelancer
MODULE EXECUTION
S. no Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Open the registration The system should show Error message Pass
page. Click Submit the error messages for all “Field cannot be left
button without filling the textboxes left blank empty” is displayed
the details

1.2 Fill all details but do System should ask the System do not allow Pass
not select the role user to select a role to registration and asks
complete the registration the user to select
process role

1.3 Fill all details but do System should display an user is asked to Pass
not check the error message asking user accept the T&C of
checkbox for terms & to accept the T&C of E- E-Freelancing
conditions Freelancing

1.4 Fill all details, check Registration should be


Message displayed Pass
the checkbox for “Registration
allowed and user must get
T&C and click on a message to visit their
successful. Visit
submit button. mail box to get theyour email account
password for login ID &
Password”
1.5 Open email account A new mail should be Email received by Pass
and check inbox there having the Login ID email account
and Password efreelancingproject
@gmail.com
confirming the
registration and
having a Login ID &
Password
Table 21 Unit Test: Registration

PT1081156 Asia Pacific Institute of Information Technology 135 | P a g e


E-FREELANCING

8.2.1.1.2 Unit Test Case & Description for module: Login

Project Title E-Freelancing Testing Date 28/02/2014

Test Case ID UT-eF2 Test Duration 1 hour


Test Case Name Login
Conducted By Developer (Piyush Kumar)
Objective Test the Login system for the Client & Freelancer
MODULE EXECUTION
S. Steps Result Expected Actual output Result
no (Pass/Fail)
1.1 Open login page and The system should show Error message Pass
click on login button the error messages for the “Username &
without filling text boxes left blank Password field cannot
credentials be left empty” is
displayed

1.2 Enter any wrong System should prompt an Error message is Pass
username and error message and ask shown “Either
password user to fill details again username or password
is wrong”

1.3 Enter correct System should allow System shows an error Fail
username and login and user should be message saying
password but all in redirected to the user’s “Either username or
capital letters homepage password is wrong”

(Measures taken to remove error found in step 1.3) The developer referred back to the page
Signin.aspx.cs and discovered that login is performed for case-sensitive data input. Developer
changed the coding in such a way that username & password can be not case-sensitive.
1.4 Enter correct Login should be allowed System accepts the Pass
username and to the user and user login id and password
password as received should be redirected to and access are granted.
by the email from the their respective home User is redirected to
system after pages the homepage
registration
Table 22 Unit Test: Login

PT1081156 Asia Pacific Institute of Information Technology 136 | P a g e


E-FREELANCING

8.2.1.1.3 Unit Test Case & Description for module: Password Change & Recovery

Project Title E-Freelancing Testing Date 03/03/2014

Test Case ID UT-eF3 Test Duration 1.5 hours


Test Case Password Change & Recovery
Name
Conducted By Developer (Piyush Kumar)
Objective Test the Change password & recovery module of Client & Freelancer
MODULE EXECUTION
S. Steps Result Expected Actual output Result
no (Pass/Fail)
1.1 Go to login page and User should be redirected User is redirected to Pass
select option “forgot to password recovery password recovery
password” interface and ask user to page and a security
answer a security question question is asked

1.2 Provide a wrong System should display System showed error Pass
answer for the security error message: answer not message and asked
question correct. Please try again user to answer again

1.3 Provide the correct User’s password should User’s password is Pass
answer for the security be displayed along with shown and is asked if
question option to change password user wants to change
password

1.4 User provides a new User’s password is User gets a email Pass
password and clicks changed and notified back notification of
on Confirm Change with a message that password change
Password button password is changed and
mail is also sent via email
Conclusion: No error found in this module and user is very well able to use this functionality
for password change and recovery.
Table 23 Unit Test: Password Recovery & Change

PT1081156 Asia Pacific Institute of Information Technology 137 | P a g e


E-FREELANCING

8.2.1.1.4 Unit Test Case & Description for module: Post Project & Update

Project Title E-Freelancing Testing Date 04/03/2014

Test Case ID UT-eF4 Test Duration 25 min


Test Case Name Post Project & Update
Conducted By Developer (Piyush Kumar)
Objective Test the Project creation & Updating Module of the client
MODULE EXECUTION
S. Steps Result Expected Actual output Result
no (Pass/Fail)
1.1 Select “Post Project” Client should get list of Client is not able to Pass
option from the client’s error messages and post project and gets
menu at the homepage should be asked to fill error messages to fill
and click on submit the project details before details in text fields
button without filling submit
details

1.2 Submit all fields with Project should be posted Project posted Pass
valid details and click and client should be successfully and client
on enter button notified about the is notified
successful project
creation

1.3 Select Update project Project details should be Textboxes are filled Pass
option from menu and already filled in text with already stored
select a project to boxes and user should project details and
update be asked to make client is able to make
changes before updating updation

Conclusion: This module resulted positive test results with no error found. Module is error free
and can be now integrated with the system.
Table 24 Unit Test: Project Create & Update

PT1081156 Asia Pacific Institute of Information Technology 138 | P a g e


E-FREELANCING

8.2.1.1.5 Unit Test Case & Description for module: View “My Projects” -Client

Project Title E-Freelancing Testing Date 04/03/2014

Test Case ID UT-eF5 Test Duration 1 hour


Test Case View “My Projects” – Client’s Module
Name
Conducted By Developer (Piyush Kumar)
Objective Test the “view my projects” module of the Client
MODULE EXECUTION
S. no Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Select “My Projects” A list of all projects A table is displayed Pass
option from the posted by that client is showing the list of all
menu on Client’s displayed in a table with the projects posted by
Homepage a button for every project the user and a button
to view the project’s to view details of the
details projects

1.2 Click on View The client should be able The client is able to Pass
Details Button for to see the details of the see all the details
any one project project including the related to the project
bidding details

1.3 Click on “View” Client should get a link Clients gets a link to Pass
button on bidding to see bidder’s profile see the details of the
details table details current freelancer
bidding on his/her
project

Conclusion: Client is able to use this system flawlessly and no errors were found during the
testing of this module.
Table 25 Unit Test: My Projects

PT1081156 Asia Pacific Institute of Information Technology 139 | P a g e


E-FREELANCING

8.2.1.1.6 Unit Test Case & Description for module: Online Project Bidding

Project Title E-Freelancing Testing Date 04/03/2014

Test Case ID UT-eF6 Test Duration 3 hour


Test Case Name Online Project Bidding
Conducted By Developer (Piyush Kumar)
Objective Test the Project Bidding Module of Freelancers to check the
appropriateness of bidding process and validations on bidding amount
being placed by the freelancer
MODULE EXECUTION
S. no Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Login as a freelancer Only those projects should A list of all the Fail
and select from be displayed on which projects stored in the
menu “View bidding is still open and database is displayed,
Projects in Bidding” bidding end date & time is including projects on
option ahead than the present which bidding is
date & time closed

(Measures taken to eradicate error found in step 1.1) The developer referred back to
Project_View.aspx web form and checked the coding done in the SqlDataSource1 for fetching the
project list. It was found that all the projects were being fetched and no validation was applied to
filter projects according to their bid ending date. The developer configured the SqlDataSource1
in such a way that only projects whose bid end date is greater than the present date time should
be fetched from the database and projects on which bidding is closed will not be displayed to the
freelancer any more.
1.2 Select a project of Freelancer should be able Freelancer is able to see Pass
interest click on to see the project details project details with
“view details and current bidding status current bid status and the
button” remaining time left on
that project for bidding to
end

PT1081156 Asia Pacific Institute of Information Technology 140 | P a g e


E-FREELANCING

1.3 Submit a bid amount System should show error Bid is submitted and Fail
greater than or equal message and ask user to displayed as the new bid
to the current bid enter valid bid amount
being displayed

(Measures taken to eradicate error found in step 1.3) The coding done on the click event of
“Submit” button on Project_detail_view.aspx.cs is checked. The developer found that no proper
validation check was given validating the bid amount. The developer applied proper validation
which ensures that the new bid amount must be at least 2% lesser than the previous bid and if
freelancers try to bid a greater value, error message will be displayed.
1.4 Submit a bid amount Bid amount should be Freelancer is able to submit Pass
which is at least 2% allowed and submitted the bid as the new lowest bid
less than previous on that project
bid value
Conclusion: Errors identified in step 1.1 & 1.3 were solved and eradicated from the module
successfully. Module is error-free now.
Table 26 Unit Test: Online Project Bidding

8.2.1.1.7 Unit Test Case & Description for module: Online Certification Test

Project Title E-Freelancing Testing Date 05/03/2014

Test Case ID UT-eF7 Test Duration 1 hour


Test Case Name Online Certification Test
Conducted By Developer (Piyush Kumar)
Objective The developer is interested in testing this module to see if the questions
are displayed according to the selected category and report card
generated is valid
MODULE EXECUTION
S. Steps Result Expected Actual output Result
no (Pass/Fail)
1.1 Just after 1st System should not allow the Freelancer is not able Pass
login into the user to submit bid until the to submit bid and is he
system as user gets certified as eligible is asked to get certified
freelancer, click freelancer after passing the before submitting

PT1081156 Asia Pacific Institute of Information Technology 141 | P a g e


E-FREELANCING

on View Projects online certification test bidding


and attempt to
make a bidding
on the project

1.2 Start the Question should be displayed. Exam ID is generated Pass


certification test Exam ID should be shown and a countdown timer
and countdown timer must be of 2 minutes starts for
running for that question the 1st question

1.3 Do not provide The system after completion System prompts a Pass
any answer for of 2 minutes of test asks users message asking user to
the 1st question to provide an answer else test select an answer
won’t be continued

1.4 Provide correct The system should generate a The system generates a Pass
answers and just report card of the exam and report card indicating
one wrong result should be “PASS” the test result as
answer out of “PASS”
total questions
and complete the
test
1.5 Go to bidding Freelancer’s bid should be Freelancer is able to Pass
page of projects submitted as a new bid value submit his bid amount
and try
submitting a new
bid
Conclusion: Online Certification Exam tested well and no error was found.
Table 27 Unit Test: Online Certification Test

8.2.1.1.8 Unit Test Case & Description for module: Profile Editing & Updating

Project Title E-Freelancing Testing Date 06/03/2014

Test Case ID UT-eF8 Test Duration 30 min


Test Case Name Profile Creation and Updating
Conducted By Developer (Piyush Kumar)
Objective Test the Profile editing module for the client and the freelancer and
check for proper validations
MODULE EXECUTION
S. no Steps Result Expected Actual output Result
(Pass/Fail)

PT1081156 Asia Pacific Institute of Information Technology 142 | P a g e


E-FREELANCING

1.1 Open “My Profile” User profile should open User profile opens with Pass
from menu items and page should have edit buttons to edit
links to edit profile profile details

1.2 Enter valid details in Profile should get “Profile Updated Pass
all text fields and updated and user must Successfully” message
click on save button be notified is displayed

1.3 Select option User should be able to User is able to change Fail
“Change profile change photo and user profile photo
photo” from just profile photo should get successfully but the
below the profile changed new profile image is
photo not being displayed

(Step taken to remove error identified in step 1.3): The ImageHandler.hs file was re-checked
for errors. The code was not able to fetch the image data from database using the session id
“user”. The session id was re-created as “username” and above step was repeated. Test passed
this time.
Conclusion: Error was found in ImageHandler.hs page and was resolved soon. Profile Creation
& Updating functionality now works error free.
Table 28 Unit Test: Profile Creation & Updation

8.2.1.1.9 Unit Test Case & Description for module: Chat

Project Title E-Freelancing Testing Date 07/03/2014

Test Case ID UT-eF9 Test Duration 45 min


Test Case Name Chat
Conducted By Developer (Piyush Kumar)
Objective Developer wants to check the working of the chatting module as
expected
MODULE EXECUTION
S. no Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Debug system and Login page should open Result as expected by Pass
open the login page in both browser the developer
in two different
browsers

PT1081156 Asia Pacific Institute of Information Technology 143 | P a g e


E-FREELANCING

1.2 Sign as client in one User login should be Both client and Pass
browser and allowed with different freelancer login is
freelancer in the other roles in the two browsers allowed

1.3 Select chat option in Users should be directed Users got redirected Pass
both the browsers to to the chat start page and to chat start page and
establish chat asked to enter desired are asked to enter a
between client and chat room name desired chat name
freelancer

1.4 Enter chat name and Users should be able to Client and freelancer Pass
click on “Start chat” communicate and send were able to see each
button messages to one another other’s message on
their own screen in
different browsers
Conclusion: The chat functionality is working impeccably well and testing results are positive.

Table 29 Unit Test: Chat

8.2.1.1.10 Unit Test Case & Description for module: Upload Resume- Freelancer

Project Title E-Freelancing Testing Date 10/03/2014

Test Case ID UT-eF10 Test Duration 1 hour


Test Case Name Upload Resume – Freelancers
Conducted By Developer (Piyush Kumar)
Objective Check if the upload resume button works properly and resume gets
uploaded by the freelancer
MODULE EXECUTION
S. no Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Select upload resume File can be easily fetched All file type are Fail
option from the edit from the storage device allowed to be
profile interface and only .docx and .pdf fetched from the
format files should be database
allowed

(Measures taken to solve errors found in step 1.1) After checking the click event of upload
button on the FProfile.aspx.cs page, it was found that the content type filters were not set.
Developer added code to filter the file types getting uploaded as resumes. The above test was

PT1081156 Asia Pacific Institute of Information Technology 144 | P a g e


E-FREELANCING

again carried out and this time test result came as expected.

1.2 Click on submit Resume should get uploaded Resume upload is Pass
save button successful

Conclusion: The error detected in this module was successfully resolved and now resume
upload functionality works error free.
Table 30 Unit test: Upload Resume

8.2.1.1.11 Unit Test Case & Description for module: Feedback

Project Title E-Freelancing Testing Date 11/03/2014

Test Case ID UT-eF11 Test Duration 1 hour


Test Case Name Feedback
Conducted By Developer (Piyush Kumar)
Objective Check if the feedback to admin functionality for users works
properly
MODULE EXECUTION
S. no Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Open feedback System should prompt User gets an error Fail
interface and error message message and asked
click on submit to write feedback
button subject & body

1.2 Fill details Feedback should be sent Feedback sent and Pass
properly and to admin and user is user gets
click on submit notified confirmation
button message

Conclusion: Feedback module tested and no errors were found.


Table 31 Unit Test: Feedback

PT1081156 Asia Pacific Institute of Information Technology 145 | P a g e


E-FREELANCING

8.2.1.1.12 Unit Test Case & Description for module: Discussion Forum

Project Title E-Freelancing Testing Date 12/03/2014

Test Case ID UT-eF12 Test Duration 1 hour


Test Case Name Discussion Forum
Conducted By Developer (Piyush Kumar)
Objective Check that the discussion forum displays allows users to post new
threads of topic, display post lists and allow user to post comments
MODULE EXECUTION
S. Steps Result Expected Actual output Result
no (Pass/Fail)
1.1 Go to Forum and User should be able to User is able to post a new Pass
select option see the screen having thread into the discussion
“Start a new post” certain blank fields to fill forum.
post details. New post
should be successfully
done.

1.2 Select The discussion forum User is able to see the list Pass
“Discussion should display list of all of all posts in the forum
Forum” option the threads (posts) posted and option to post new
from the menu by the users of E- comment is also visible
bar Freelancing.

1.3 Try to post a new New comment must be User’s new comment is Pass
comment. posted successfully displayed in the comment
list for that specific post
and the comment count is
increased by 1.
1.4 Enter any All posts having any User typed “technology” Pass
technical such word as whole or as and got few posts having
keyword in the a part of it, in its title the term “technology” in
search bar on the will be displayed in the the post’s title.
right corner. For forum posts list.
example: type
“technology” or
“bidding” or
“exam”
Conclusion: Discussion Forum Module is successfully tested and is working error free.
Table 32 Unit Test: Discussion Forum

PT1081156 Asia Pacific Institute of Information Technology 146 | P a g e


E-FREELANCING

8.2.1.1.15 Conclusion derived from Black Box Unit Testing

The developer concluded from the black box testing that most of the modules passed the
unit testing scenario and only a few unit test cases identified some errors in some modules
which were then properly handled and removed by the developer. Hence, Unit Testing is
successfully completed and now the developer wants to move a step forward to start white
box testing.

8.2.1.2 WHITE BOX TESTING


White box testing is a testing technique that takes into account the internal mechanism of a
system. It is also called structural testing and glass box testing. This is a security testing
technique which is mainly used to test and ensure that the implementation of the coding
part follows the intended design, and along with it, it uncovers certain exploitable
vulnerabilities. (TutorialsPoint, 2014)

White box Testing is used to examine the internal programming structure which can be
used to find the number of test cases required to support a given level of expected testing
output.

8.2.1.2.1 Why White Box Testing is required?

There are possibilities to find certain codes or may be parts of codes which may not be
fully exercised during the functional testing i.e., the black box testing and that code or the
part of codes may be surplus to the requirements of the system. White Box testing may be
helpful to find those minute errors which were not seen or missed by chance during the
unit testing process.

Module Tested: Online Project Bidding

Program logic
X Public void PageLoad(){
A if (Session["username"] == null){
B Session.Abandon(); }
C else{ SqlCommand cmdd2 = new SqlCommand("select * from user_project_table where
project_id =@id", con)}
D while (drr1.Read()){ btn_owner.Text = drr1["username"].ToString(); }
E BidTime(); }
public void BidTime() { SqlCommand cmdd = new SqlCommand("select * from project
where project_id =@id", con);

PT1081156 Asia Pacific Institute of Information Technology 147 | P a g e


E-FREELANCING

F while (drr.Read()){ String dd2 = drr["bid_enddate"].ToString(); }


public void eligibility()
{ SqlCommand cmd = new SqlCommand("select * from tbl_result where username
=@username ", con);
G while (dr.Read()) { lbl_eligibility.Text = dr["eligibility"].ToString(); }
}
H if (lbl_eligibility.Text == "Eligible") {
9 validateBid(); }
I else { Response.Write(@"<script language='javascript'>alert('You are not eligible
to place Bid.')</script>"); }
public void validateBid() {
J if (newBid <= (currentBid - (2 * currentBid) / 100))
K { Bid_Project(); }
L else { lblMessage.Text = "New Bid should be atleast 2% lesser than the previous
bid amount."; }
public void Bid_Project() {
SqlCommand cmd = new SqlCommand("update Bidding set Project_id=@id , current_bid=@cb
, bidder=@bidder , Date_of_bid=@dob, second_bidder=@bidder2 where Project_id = @id
", conn);
SqlCommand cmdd = new SqlCommand("insert into notifications values ('" +
btn_owner.Text + "','" + notify + "','" + dt + "','" + status + "')", conn);}
M public void getBidder() {
bidder_lbl.Text = Bid_view.Rows[0].Cells[2].Text; }

Flow Graph
S. no Cyclomatic Complexity Paths X

1 XAX R1
R5
2 XCDEK A C
3 XCFK
4 XCMGHJK
5 XCMGIJK B
D F M

6 XCMGHJMJK
7 XCMGIKMJK R2
G

Referring to the figure Cyclomatic Complexity E

Paths, each circle in the figure are called the flow


H I
graph nodes (N) which represents one or more R3
procedural statements. The arrows are called
edges (E) or links which represents the flow of J
R4
control. R6

The edges must terminate at a node, even if the


node does not represent any of the procedural M

statements mentioned in the code above. Regions


are the area outside the graph. Each node which
contains a condition or has two or more edges K

coming out of it is called the predicate node (P).


Figure 26 Flow Graph

PT1081156 Asia Pacific Institute of Information Technology 148 | P a g e


E-FREELANCING

Number of nodes (N) in the graph = 14

Number of predicate nodes (P) = 5

Number of edges (E) = 18

Number of Regions = R1+R2+R3+R4+R5+R6 = 6

Cyclomatic complexity V(G), for a flow graph, G, is defined in two forms:

1. V(G) = E - N + 2
2. V(G) = P + 1

Thus, the Cyclomatic complexity of the given graph can be calculated as follows:

V(G) = E-N+2 = 18-14+2 = 6

V(G) = P+1 = 5+1 = 6

Each test case is executed and compared to expected results. Once all test cases have been
completed, the tester also ensured that all statements in the program have been executed at
least once.

Path Result Found Result


XAX Session not found and the IF Pass
A = True, C= False Statement X is to be checked again
XCDEK Session found. Procedural Pass
C= True, A= False, D=Client’s Statement E is executed
username, E=Bidding time
XCFK Procedural statement F reads the Pass
C=True, F= current datetime of current value of Date and time from
computer the system
XCMGHJK Eligibility status of Bidder fetched Pass
C=True, M= Bidder’s name, Eligibility
from database = “Eligible” and Bid
= true, Bid Amount = True amount = true. Bidding allowed.
XCMGIJK Eligibility status of Bidder fetched Pass
C=True, M= Bidder’s Name,from database = “Not Eligible”.
Eligibility= False Bidding not allowed.
XCMGHJMJK Eligibility status of Bidder fetched Pass
C=True, M= Bidder’s name, Eligibility
from database = “Eligible” but Bid
= true, Bid amount = invalid amount = false. Bidding not
allowed.
XCMGIKMJK Eligibility status of Bidder fetched Pass
C=True, M= Bidder’s Name, from database = “Not Eligible” and
Eligibility= False, Bid amount = Bid amount = false. Bidding not
invalid allowed.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 149
E-FREELANCING

8.2.2 INTEGRATION TESTING


8.2.2.1 Integration of modules (Login + Post Project + View Project + See Bid Details
+ Notifications + Logout) for Client

Project Title E-Freelancing Testing Date 13/03/2014

Test Case ID UT-IT1 Test Duration 4 hours


Test Case Integration of modules (Login + Post Project + View Project + See
Name Bid Details + Notifications + Logout) for Client
Conducted By Developer (Piyush Kumar)
Objective Check the interconnectivity of the Client modules and their
working
MODULE EXECUTION
S. no Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Login as client Login should be allowed Result as expected Pass
with valid ID and user must be able to
and password see the menu at homepage

1.2 Try posting a Project should be posted Result as expected Pass


new project online and client must be
redirected to View Project
details page

1.3 Check bidding Client must be able to see Bidding details is Pass
details the current bid on his/her displayed
project, current bidder and
the following bidder’s
name

1.4 Check Client must get notified Notification received Fail


notifications (if about all unread messages but includes
any) and notifications received notification even
about unread
messages
(Measures taken to remove error identified in Step 1.4) The database table storing
notifications is configured and a new column status is included which keeps track of read
and unread messages. The users will be notified only of unread messages and
notifications.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 150
E-FREELANCING

8.2.2.2 Integration of modules (Login + Browse Projects + View Project Detail+ See
Bid Details + Submit Bid) + Logout)

Project Title E-Freelancing Testing Date 15/03/2014

Test Case ID UT-IT2 Test Duration 7 hours


Test Case Integration of modules (Login + Browse Projects + View Project
Name Detail+ See Bid Details + Submit Bid) + Logout)
Conducted Developer (Piyush Kumar)
By
Objective Check the performance of the freelancer’s bidding related modules
when they are integrated together
MODULE EXECUTION
S. no Steps Result Expected Actual output Result
(Pass/Fa
il)
1.1 Login as Freelancer should be Freelancer is able to Pass
Freelancer allowed login and should login and browse the
into the be able to browse through menu items at the
system the menu provided homepage and
session maintained
well

1.2 Browse for Only those projects must Result as expected. Pass
bid open be displayed on which Freelancer is able to
projects and bidding is still open and see project details
view details details can be viewed

1.3 Submit bid New bid must be validated Result as expected Pass
properly and submitted as
new current bid

Conclusion: Integration Successful

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 151
E-FREELANCING

8.2.2.3 Integration of modules (Online Exam + Feedback + Admin) for freelancers

Project Title E-Freelancing Testing Date 18/03/2014

Test Case ID UT-IT3 Test Duration 3 hour


Test Case Integration of modules (Online Exam + Feedback + Admin) for
Name freelancers
Conducted By Developer (Piyush Kumar)
Objective Check and ensure that exam creation and conduct works properly
MODULE EXECUTION
S. no Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Login as Admin can successfully Question set is Pass
Admin and try create a new question set successfully created
creating a
question set

1.2 Login as Questions created by Result similar to that Pass


Freelancer and admin should be displayed of expectations.
start test in proper format with Timers working well
timers for each question for all questions

1.3 Try sending Feedback should be sent Admin is able to Pass


feedback to by freelancer and received view the feedback
admin by admin sent by Freelancer
regarding
question
category and
question set

Conclusion: Integration Successful

8.2.2.4 Integration of modules Report Viewing

Project Title E-Freelancing Testing Date 28/03/2014

Test Case ID UT-IT4 Test Duration 1 hour


Test Case Integration of modules Report Viewing
Name

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 152
E-FREELANCING

Conducted By Developer (Piyush Kumar)


Objective View reports of different types for all kind of users
MODULE EXECUTION
S. no Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Select report Report category must be Result as expected Pass
category displayed and selected

1.2 Click on Requested report must be Crystal report Pass


generate report generated and displayed to generation is
user successful

Conclusion: Integration Successful

8.2.3 SYSTEM TESTING


System testing is the testing to ensure the compatibility of the system with different
environments (e.g., Operating Systems, Web Browsers). (GLENFORD, 2004) It falls
under the class of black box testing. The developer included software testing to test the
behavior of the completely integrated system based on the software requirements
specification (SRS) document. In main focus of this testing is to evaluate Business /
Functional / End-user requirements.

8.2.3.1 PRE-CONDITION FOR CONDUCTING SYSTEM TESTING


 Unit testing is done

 All the modules are integrated and integration testing is performed successfully

 As per the specification document, the system development is completed.

 Testing environment is available for testing

8.2.3.2 GUI Testing

Project Name: E-FREELANCING Testing Date 4/04/2014

Test Case GUI Testing Test Case Number GT-eF1


Name
Performed by Piyush Kumar (Developer)

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 153
E-FREELANCING

Objective To check the GUI of the integrated system to ensure that the
system is having a clean and understandable GUI ad is user
friendly

Items Questions Yes No N/A


Do all buttons have proper text on them?  Yes
Do they indicate the appropriate action?  Yes
Buttons  Yes
Do you find consistency in the texture
format of buttons used in the system?
 Yes
Are the buttons having consistent size and
shape (width & height)?
Text Boxes  Yes
Do the text boxes restrict user from adding
more text than required for the
corresponding data value?
 Yes
Are the text boxes having either tooltip or
watermark text on them?
Menu Bars Are the menu items meaningful to users?  Yes

Are the menuitems under proper menu list Yes

Items Questions Yes No N/A

Screen Is the screen layout helpful to the user in  Yes


Design searching for particular function availability?
Are the graphics and texts properly arranged  Yes
and easy to use?
Combo Are they placed at right positions?  Yes
boxes
Do they have appropriate values?  Yes
Do the values change  Yes
performing
accordingly?
Color  Yes
Are the colors used consistent throughout the
system?

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 154
E-FREELANCING

 Yes
Are the colors giving too much strain to the 
eyes?
Are the colors appealing?  Yes

Form Do the label sizes and lengths are appropriate. Yes


Labels
 Yes
Are the labels given proper text so that they
describe properly what they meant?
Are the form labels’ lengths sufficient to  Yes
accommodate common screen solution?
Messages Are the error messages clear and descriptive? Yes
Do the error messages having non-useful  Yes 
information?
Fonts  Yes
Are the used fonts consistent throughout the
system?
CONCLUSION: GUI Testing successful. GUI provided is user friendly and understandable.
Table 33 GUI Testing

8.2.3.3 Usability Testing


Usability testing is performed to the perspective of the client, to evaluate:

 How the GUI is user-friendly?

 How easily can the client learn?

 After learning how to use, how proficiently can the client perform?

 How pleasing is it to use its design?

QUESTION SET FOR CONDUCTING USABILITY TESTING


1. How much time you think you would require to learn the functionality of this system?

□ 1 hour □ 1.5 – 2 hours □ 2 – 4 hours □ more than 4 hours

2. To what extent you find the web pages of the system are consistent?

□ Poor □ Average □ Satisfactory □ Excellent


3. How much you rate to the efficiency of the system?

□ Poor □ Average □ Satisfactory □ Excellent

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 155
E-FREELANCING

4. Are all the functionality controls and texts clearly visible?

□ Yes □ No

5. How much do you rate the usability of the system in terms of response time for different

user groups of the system?

□ Poor □ Average □ Satisfactory □ Excellent

Table 34 Question Set for Usability Testing

8.2.3.3.1 Usability Testing Response Analysis

LEARNABILITY
□ 1 hour □ 1.5 – 2 hours □ 2 – 4 hours □ more than 4 hours

8 Person 1 Person -- 1 Person


CONSISTENCY
□ Poor □ Average □ Satisfactory □ Excellent
-- 1 Person 4 Person 5 Person
EFFICIENCY
□ Poor □ Average □ Satisfactory □ Excellent
-- 2 Person 5 Person 3 Person
VISIBILITY
□ Yes □ No

10 Person ..
USABILITY
□ Poor □ Average □ Satisfactory □ Excellent

-- 1 Person 3 Person 6 Person


Table 35 Usability Test Response Analysis

8.2.3.4 Compatibility Testing

To test the compatibility of the system on different browsers and Operating systems,
developer has carried out compatibility testing.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 156
E-FREELANCING

Web Browser Compatibility

10
8
6
4
2
0
Google Mozilla Opera NetScape Internet
Chrome Firefox Explorer

Figure 27 Compatibility Testing – Web Browsers

Operating System Compatibility

10
8
6
4
2
0
Windows XP Windows 7/8 Linux

Figure 28 Compatibility Testing – Operating Systems

8.2.3.4.1 Conclusion from Compatibility Testing


The developer tested the compatibility of the E-Freelancing system on different platforms
prior to deploying the system. From the testing conducted, the developer inferred that the
system is up to great extent compatible with the Microsoft Windows versions of operating
systems and it works well with the latest versions. The browser compatibility check
showed the result that the system works well with the two majorly used web browsers
namely Google Chrome and Mozilla Firefox. This was what been expected by the
developer during the implementation process and thus, the system can be said to have been
passed in compatibility check.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 157
E-FREELANCING

8.2.4 USER ACCEPTANCE TESTING


The developer has covered almost all aspects of testing mentioned above and now comes
the time to conduct the User Acceptance Testing. This testing type is performed using the
real world scenarios and perceptions relevant to the end users of this system. The end
users, other than the developer, analyze the functionalities and system usability on the
basis of various parameters. (TutorialsPoint, 2014)

8.2.4.1 END USERS INVOLVED IN USER ACCEPTANCE TESTING

S. Name Designation Relevancy to Justification for system


no the system
1 Mr. Anshul Student Admin Module He has good knowledge about
Mehra using computers and thus, he
can identify the flaws and
goods in the admin module
2 Mr. Abhishek Asst. System Client Module He works in an IT company
Tiwari Analyst (India and thus, he is well known to
Bulls) the requirements of a Client
and that given in the project
3. Mr. Satyam IT Graduate Freelancer A IT student can very well give
Dubey Module feedback on online events like
that given in the freelancer’s
module
Table 36 End Users involved in User Acceptance Testing

Acceptance Testing
Form Id UAT-eF1 Test Date 14/04/2014
Tester Name Mr. Anshul Mehra Duration 2 hours
Functionality Testing
Category Rating
Poor Average Good Best

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 158
E-FREELANCING

Registration/Login  
Manage Client & Freelancer Profile  
Receive Notifications & Feedback 
Project Status Management 
Create & Update Exam  
Reports Management  
System Usability & Response Time  
Additional Comments: All provided functionalities are working properly. Developer can
make improvements in few categories.
Table 37 Result of Acceptance Testing- Test Case #1

Acceptance Testing
Form Id UAT-eF2 Test Date 15/04/2014
Tester Name Mr. Abhishek Tiwari Duration 2 hours
Functionality Testing
Category Rating
Poor Average Good Best
Registration & email validation check 
Login 
Project Creation & Posting 
Get Project Bid Status 
View Current Bidder’s Profile 
Notification Checks 
Profile Management 
Dashboard Usability 
Chatting with Freelancer 
Search Freelancers 
Fetch Freelancer’s Resumes & CV 
Discussion Forum 
Make Payment 

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 159
E-FREELANCING

Reports Management 
System Usability & Response Time 
Additional Comments: Overall system is good. Response time of system is a bit slow
which may be due to server traffic. Functionalities provided are working properly.
Table 38 Result of Acceptance Testing- Test Case #2

Acceptance Testing
Form Id UAT-eF2 Test Date 18/04/2014
Tester Name Mr. Satyam Dubey Duration 2 hours
Functionality Testing
Category Rating
Poor Average Good Best
Registration & email validation check 
Login 
Profile Management 
Dashboard Usability 
Online Certification Test 
Notification Checks 
View projects open for Online Bidding 
View Current Bidding status 
Bid on project 
Chatting with Client 
Upload Current Resume 
Discussion Forum 
Send Feedback to admin 
Reports Management 
System Usability & Response Time 
Additional Comments: The system very well satisfies the user’s requirements. System
usability and efficiency can be improved. Functionalities provided are working properly.
Table 39 Result of Acceptance Testing- Test Case #3

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 160
E-FREELANCING

8.3 TESTING SUMMARY

The testing process of E-Freelancing has been completed successfully. As it is known that
testing is the most crucial and time taking phase of all the phases of software development.
Testing also helped the developer to ensure that the system development satisfies all the
user requirements and user acceptance is guaranteed.

Unit testing, using black box testing technique helped the developer to identify the
minutest errors which could have been not found without this testing technique. Those
identified errors were solved and the test case was performed again to guarantee the test
case success. For white box testing, the developer framed certain test plans based on the
details of the implementation of programming language, coding techniques and the
programming style followed.

Integration testing further helped the developer to confirm the betterment of the inter-
connection of the modules of E-Freelancing. The developer found very few errors in
system integration and those errors were eradicated efficiently.

System testing was divided into three steps – GUI testing, Usability Testing &
Compatibility Testing. The developer tested the system to confirm that the system designs
have well been converted into the real working system. The systems compatibility with
different platforms and its usability goals achieved properly.

Finally, the developer tested the system for its user acceptability. The system was given
to end users other than the developer and they were asked to use all the functionalities of
the given module and check if they could find any error or lack in providing user
satisfaction. The test revealed that the system is satisfying all the user needs and is
fulfilling the user expectations very well.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 161
E-FREELANCING

CHAPTER 9: CRITICAL EVALUATION

This is the process to of accessing and determining the value of, or the significance, the
worth or the quality of piece of work, which may have been presented in any book, or
journal or any academic report. This often refers to giving a judgemental verdict as up to
what extent, the findings of the presented piece of research. The developer has successfully
completed all the project development phases. Now it is time to complete a very important
phase – the Critical Evaluation of the overall project.

9.1 BENEFITS OF THE SYSTEM

How the system is useful to the targeted users?

Though just after conducting the user acceptance testing, the developer had concluded that
this system is very much beneficial to the targeted users, it is still important to critically
evaluate the whole system and present the evaluation result.

Clients will be able to post their projects online and freelancers on the other hand will be
able to view projects and place bid on them. Upon bidding completion, the clients will be
able to send their project SRS to the freelancer via email. In the early situations, clients
used to give ads for their project in news papers or articles, bearing extra burden of
increased advertising cost. This becomes an expensive way to get projects done. E-
Freelancing will be able to simplify the project of e-bidding and freelancing.

Bidding and Project posting are not the only benefits provided by E-Freelancing. The users
registered on this web-application will be able to send and receive notifications, send
feedback to admin as well as view reports according to the need. Profile management and
Chatting via instant messages at runtime are the few other benefits which the targeted users
can easily use by registering over this web application.

E-Freelancing has reduced a lot of manpower requirements and has even improved the
project bidding process by making it online and transparent.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 162
E-FREELANCING

CHAPTER 10: CONCLUSION

10.1 DEGREE OF SUCCESS


It is a well known fact that the success of a software system greatly depends upon the
appropriateness and timely delivery of the system contents with all the functional
requirements mentioned in the SRS by the developer fulfilled and deployed properly.
Degree of success is determined by analyzing the working functional model of the
developed system with those mentioned for the proposed system.

E-Freelancing had a stipulated development time of around 8 months and this time
duration lead the developer to undergo in depth extensive research in relevance to the
proposed system domain. The data derived out of the research carried out were carefully
analyzed and applied during the implementation process.

After the implementation of the system was completed, the developer also conducted a
detailed testing activity and evaluated the technicality of the system so that the system’s
efficiency could be improved to the most possible extent by the developer.

10.1.1 SUCCESS ASSESSMENT


In order to access the overall success criteria for the system, the developer has designed
certain parameters on which the success & failure of the system depends. The parameters
are as follows:

System Functional Ease of Use Project


Requirements Requirements Documentation

The modules of this system have been accessed based on the success criteria defined.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 163
E-FREELANCING

System Requirements Success Achieved (Y/N)


Apply software Engineering Principles Y
Implement N-Tier Architecture Y
Apply Design Principles Y
Application of HCI Principles Y
Application of useful packages & classes provided by Y
Microsoft Visual Studio 2012
Overall Integrated Working System Y
Table 40 Success Parameter – System Requirements

Functional Requirements Success Achieved (Y/N)


Exam Creation by Admin Y
Online Certification Test by Freelancer Y
Project Creation & Posting by Client Y
Project Search & Details View Y
Online Project Bidding by Freelancers Y
Online Payment by Clients Y
Generate & View Report Y
Online Chatting between Clients & Freelancers Y
Receive & Check Notifications Y
Freelancers can send feedback to Admin Y
Table 41 Success Parameter – Functional Requirements

Ease of Use Success Achieved (Y/N)


Allow guest users to register and get a login ID & Y
Password
Allow users to login into the system Y
Allow users to edit & Update profile data Y
Allow users to access their dashboard Y
Allow users to search & view project details Y
Provide a menu on each page for easy navigation Y

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 164
E-FREELANCING

Allow freelancer to upload resume & Client to Y


download it
Assist users with proper help by providing tooltips Y
on controls over the system interface
Table 42 Success Parameter– Ease of Use

Project Documentation Success Achieved (Y/N)


Documentation Format Y
Consistency Y
Spelling & Grammar Y
Ethical Form Y
All Chapters Provided Y
Primary Research work properly analysed Y
Log Sheets given Y
Appendices Y
Table 43 Success Parameter– Ease of Use

RESEARCH ANALYSIS Success Achieved (Y/N)


Primary Research Questionnaire Y
Primary Research Interview Y
Primary Research Observation Y
Domain Research Y
Technical Research Y
Methodology Analysis Y
Programming environment Analysis Y
Academic Research Y
Market Research Y
Table 44 Success Parameter- Research Analysis

It can be observed by the above evaluation of the devised parameters that the project E-
Freelancing has nearly met all its success criteria and the project definitely has its potential
benefits for its users.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 165
E-FREELANCING

10.2 LIMITATIONS OF E-FREELANCING

All the functionalities mentioned in the SRS have been successfully completed. But the
proposed idea had some limitations which were not included in the SRS due to some time
constraints. Those limitations are listed below:

 Back-up store of the chatting conversation cannot be done: The present system does
not keep any back of the conversation occurring between the clients and freelancers.
So, the system cannot provide its users with any proof of conversation held between
the client and freelancer.
 Client will be able to see profile details of only the current Bidder and not the
following bidder and Client cannot Bid on any project once the bidding process starts.
 Only the current bid will be displayed and not all the bids on the project
 Once a project is allotted to the freelancer, it cannot be undone.

10.3 POSSIBLE FUTURE ENHANCEMENTS

 A mobile application for android/windows OS can be added: Mobile application can


be developed for this system which would further increase the targeted audience of this
system and its accessibility would increase.
 Fund Transfer via net banking can be implemented: Online Payment is restricted to
payment by credit/debit card. If net banking facility is also allowed, it would be easier
for the clients to pay the project development fee directly to the freelancer via net
banking.
 Include description after result in Online Certification Test: This feature
enhancement will improve the level of the online test and the freelancers will know the
reason why they passed or failed in that particular exam.
 SMS notification feature can be added: It is often not possible for users to be online
every time to check if they have got any bidding related notification. Thus, SMS
notification would be easier way to notify users about new projects availability or new
project bid placed.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 166
E-FREELANCING

 Project referrals can be sent to friends via promoting project details on social
networking sites

10.4 WHAT IF THE DEVELOPER GETS A CHANCE TO REDO THE


SYSTEM?

 Use JQuery: Although the developer has designed a very user-friendly system
interface, next time, the developer would surely use JQuery techniques to make the
interface design more attractive and user friendly.
 The developer will make efforts to add feature to view saved text chatting details

10.5 COMPUTATIONAL CHALLENGES


The main challenges faced by the developer during the project development are listed
below:

 Implementation of Email Facility using SMTP server and sending attachment along
with text email
 Binding of data from SQL Data Source to the Repeater controls.
 Integrating Ajax HTML Editor Extender property into a textbox to enable text
formatting during post submissions in the discussion forum
 Convert profile image into binary data format before uploading it to the server
 Implementation of Chat Service using JavaScript & Global.asmx page
 Generation of Crystal Reports based on the report type selected by users

10.6 LEARNING EXPERIENCE

Throughout the project development period, the developer had undergone extensive
research and study process which lead the developer to learn a lot of new programming
concepts of C#. The developer has gained sufficient knowledge of using Ajax & JavaScript
technologies and their implementation in real time projects. Although it took much of the
developer’s time, but finally the developer learned to use SMTP servers and integrate it
web applications developed in c# in ASP.NET. Learning about timer creation and using it

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 167
E-FREELANCING

to invoke events at runtime in a web application is also a great academic success for the
developer.

Other than above mentioned new technologies, the developer has also learned the basic
skills of project management which will be definitely going to help him in a long way.

Under the supervision of Mr. Arun Choudhary and guidance by Mrs. Priyanka Sachdeva,
the developer has achieved new dimensions of project development. The developer has
gone through various nuances of Software Engineering including principles and practices
of software production. After gaining enough skills in project development, the developer
is now confident to enter an IT industry where these skills will be very helpful to him.

At the last it can be said that under proper guidance of Mr. Arun Choudhary & Mrs.
Priyanka Sachdeva, developer has made such an innovative project which is really
beneficial to its targeted users.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 168
E-FREELANCING

REFERENCES
BOOKS

1) HERBERT SCHILDT. (2008). C# 3.0 The Complete Reference 3rd edition. Osborne
Media: McGraw-Hill.
2) STEPHEN WALTHER. (2009) C# ASP.NET 3.5 UNLEASHED. Dorling Kindersley:
Pearson Education.
3) AGGARWAL, K.K. SINGH, YOGESH. (2008). Software Engineering, Third Edition.
New Age International Publisher, New Delhi.
4) DANIEL MB(ed) (2008), Software Engineering for Modern Web Applications
Methodologies & Technologies. IGI Global, USA.
5) SHELLY, G.B., CASHMAN, T.J. & ROSENBLATT, H.J. (2005) System Analysis and
Design (5th or 6th Edition). Course Technology.
6) DAVID B. HERTZ. (1983). Risk Analysis and Its Applications. 2nd Edition. John Wiley &
Sons Ltd.
7) JOHN DINGLE. (1997). Project Management, Orientation for Decision Makers. 3rd
Edition. Butterworth-Heinemann.
8) DEITEL, P. J. & DEITEL, H. (2011). C# 2010 for Programmers. 4th edition. Upper
Saddle River, N. J.: Prentice Hall.
9) BEAUDOUIN-LAFON, M., KARSENTLY, A. “Transparency and Awareness in Real-
Time Groupware Systems”, UIST proceedings, 1992, 171-180
10) REID, E., “Electronic Chat: Social Issues on Internet Relay Chat”, Media Information
Australia, 67, 1993, 62-79
11) WIEMANN, J., KNAPP, M., “Turn-Taking in Conversations”, Journal of Communication,
25, 1975, 75-92
12) R. MAHY, “Benefits and Motivation for Session Mode Instant Messaging,” draft-mahy-
simple-why-session-mode-01.txt, Feb. 2005.
13) WHITTEN, J & BENTLEY, L & DITTAM, K. (2002). System Analysis & Design. 5th
edition. New Delhi: Tata McGraw-Hill.
14) BURNSTEIN, I 2002, Practical Software Testing: A process oriented approach. Springer-
Verlag, USA.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 169
E-FREELANCING

15) GLENFORD, J, COREY, S, TOM, B & TODD M (EDS) (2004). The art of Software
Testing. 2nd edition. Wiley USA.
16) HUGHES, BOB. COTERREL, MIKE. (2005). Software Project Management, Third
Edition. McGraw-Hill, New Delhi.
17) PRESSMAN, ROGER S. (2005). Software Engineering, Sixth Edition.McGraw-Hill,
Singapore.
18) BOOCH, G., RUMBAUGH, J. AND JACOBSON, I. (1998). Unified Modeling Language
User Guide. Addison-Wesley Object Technology Series.
19) CONNOLY, T AND BEGG, C (2004). Database Systems, 3rd edition, Pearson edication,
USA.

WEBSITES

4. STEVE KOZYK. (2011). Advantages of ASP.NET [online]. Available from:


http://www.itegritygroup.com/asp-advantages.aspx. [Accessed 13th Oct 2013].
5. BRIAN SWEAT. (2013). Benefits of SQL Server [online]. Available from:
http://help.acctivate.com/articles/5914/. [Accessed:17th Oct 2013].
6. GEOFFREY H. WOLD, ROBERT F. SHRIVER. (1997). RISK ANALYSIS TECHNIQUES
[online]. Available from: http://www.drj.com/new2dr/w3_030.htm.[Accessed: 5th Nov
2013].
7. MINDSTREAM. (2012). Spiral model- advantages, disadvantages. Available from:
http://istqbexamcertification.com/what-is-spiral-model-advantages-disadvantages-and-
when-to-use-it/. [Accessed: 25th Oct 2014].
8. MSDN Library. (2014). Unit Testing [Online]. Available from:
http://msdn.microsoft.com/en-us/library/aa292197(v=vs.71).aspx. Last accessed 2nd April
2014.
9. JIANTAO PAN. (1999). Software Testing [Online]. Available from:
http://users.ece.cmu.edu/~koopman/des_s99/sw_testing/. [Accessed: 5th April 2014].
10. TUTORIALSPOINT. (2014). Software Testing Overview [Online]. Available from:
http://www.tutorialspoint.com/software_testing/testing_overview.htm. [Accessed: 28th
March 2014].

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 170
E-FREELANCING

11. ASHISH RAMTEKE. (2013). Send Email from gmail using C#. Available from:
http://www.csharptutorial.in/2013/03/Csharp.Net-How-To-Send-email-from-gmail-using-
c-sharp.html. [Accessed: 12th Feb 2014].
12. ARCHITECT (2011). IIS SMTP Service.[Online] Available from:
http://www.emailarchitect.net/webapp/smtpcom/developers/smtpservice.asp. [Accessed:
24th Jan 2014].
13. TUTORIALSPOINT. (2014). ASP.NET - Web Services.[Online] Available from:
http://www.tutorialspoint.com/asp.net/asp.net_web_services.htm. [Accessed: 23rd Feb
2014].
14. MSDN Library. (2014). Web Services with ASP.NET.[Online] Available from:
http://msdn.microsoft.com/en-us/library/ms972326.aspx. [Accessed: 23rd Feb 2014].
15. NEWMAN (2013). Normalization of Database. Available from:
http://www.studytonight.com/dbms/database-normalization.php. [Accessed:2nd January
2014].
16. REHMAN ZAFAR. (2012). What is Software Testing? What are the types of Testing?.
Available from: http://www.codeproject.com/Tips/351122/What-is-software-testing-What-
are-the-different-ty. [Accessed: 20th March 2014].
17. EDWARD RULEZ. (2010). SDLC- Waterfall Model. Available from:
http://www.tutorialspoint.com/sdlc/sdlc_waterfall_model.htm. [Accessed: 17th Nov
2013].

JOURNALS

1) RAYMOND B. JENNINGS III, ERICH M. NAHUM. (2006). A Study of Internet Instant


Messaging and Chat Protocols [Online]. Available from:
http://www.ldelgado.es/otros/crypt4you/study_im_protocols_and_chat.pdf. [Accessed:
January 4, 2014].
2) WALEED FARAH. (2000). A Developing a Chat Server [Online]. Available from:
http://www.ndu.edu.lb/academics/senior_projects/chatserver.pdf [Accessed: January 7,
2014].

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 171
E-FREELANCING

APPENDIX A – PREPARED QUESTIONNAIRE

CONSENT FORM: QUESTIONNAIRES


Project Title: E-Freelancing

Questionnaire ID:

Dear Respondent,
I am Piyush Kumar, a Final Year Degree (B.E. Hons.) student from Asia Pacific

Institute of Information Technology who is currently doing a Final Year Project entitled as

E-Freelancing. The purpose of this project is to help clients post their projects to the

website and set it to online bidding whereas, the freelancers on the other hand can bid for

the projects and get it done by the given time. The freelancers who sign in to the website

for online projects are required to pass an online test in order to become eligible to bid on

the projects. The objectives of the project are clear to the developer but he is not clear

about certain things that are essential in developing the project in the most user-friendly

manner.

Taking this problem into consideration, the developer has decided to carry out a research in

order to collect the user’s opinion and preferences about the proposed system. Being a user

of the system, their answers to the questions might help the developer to understand the

user requirements and this will help in making the project more user-friendly.

Anyway, thank you for taking the time to respond to this set of questionnaire. The answer

provided by you for these questionnaires will help the developer of this project to analyze

the requirements and expectations of the users and develop the system accordingly. This

will ensure complete user satisfaction and success of the project.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 172
E-FREELANCING

Questionnaires that were distributed among the respondents are given below:

1) Do you have any idea of bidding of products online/offline?


□ Sufficient Idea
□ Very Little
□ No Idea
Justification: This will help the developer know the level of bidding process to be
given in the project so that all the users using the website feel comfortable with the
procedure.

2) Do you use social networking sites like Facebook, Twitter, etc?


□ Almost everyday
□ Sometimes
□ Very rarely
□ Never
Justification: Developer of the project can get an idea of the user’s activeness on
social networking sites where chatting and use of internet is a general phenomenon

3) Have you ever faced any online test/exam?


□ Only once
□ More than a single time
□ Never
Justification: This will be used to create an idea of whether the users can be made
comfortable with complex proceedings of the online test criteria of the website or
the developer will need to make it simple for user’s easiness.

4) Do you have trust in online project outsourcing?


□ Yes, Completely
□ Yes but partially
□ No
□ No idea about online outsourcing
Justification: Just to know whether the general users trust outsourcing or not, the
answers to this question might be of great help.

5) What skills should IT project developer posses?


□ Good in web-designing
□ Good knowledge of Database
□ Good tester
□ Good in documentation and implementation of requirements

Justification: It is important to know the required skill level of the freelancers


signing up for the website. The answers to this question will be used to make a
judgment of the kind of developers allowed to sign up for the website.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 173
E-FREELANCING

6) What kind of projects should be outsourced?


□ Website □Application
□ Program solutions and debugging □ Basic logo design
Justification: This will give an idea of the kind of projects freelancers generally
look for. Most of such projects will be allowed to be published in the website for
bidding.

7) What would be the best mode of communication between a Freelancer and a Client?
□ Phone call
□ Email
□ Text Chatting
□ Face-to-face conversation
Justification: E-Freelancing will require setting a communication medium between
the freelancers and the clients. This can only be done when the developer knows
what kind of communication the users will prefer the most.

8) What should be the time limit on the online bidding of a project?


□ 1 day
□ 2 days
□ 3 days
□ Less than 24 hours
Justification: Time limit is the most important factor considered during a bidding
process. The developer of this project will analyze the answer for this question and
decision will be made for setting the time limit for bidding of projects online.

9) What should be the level of questions asked in an online test?


□ Simple and basic level
□ Hard but to a certain extent
□ Very hard
□ Both simple and hard questions mixed in ascending order
Justification: Not all freelancers can be equally intelligent. The level of questions
provided in the online test in the website will be maintained based on this answer.

10) Which payment mode do you prefer most?


□ Online Payment
□ Cash on delivery
Justification: Though E-Freelancing will offer only online payment, still to know
the user’s preferences, this question can be of great help.

11) Have you ever used credit card for payment?


□ Yes
□ No
Justification: The answer to this question will let the developer generate an idea of
the users who can involve in the online payment procedure of the website.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 174
E-FREELANCING

APPENDIX B – PREPARED INTERVIEW QUESTIONS


INTERVIEW QUESTIONS
Project Title: E-Freelancing

Interview of the Client

Interviewee :
Interviewer :
Interview Date :
Location :
Start time : End Date:
Objective :

1) What should be the maximum time limit for a project’s online bidding?
Justification: The developer will get clearer idea about the time duration that
needs to be set for the project’s bidding process on the website.
ANSWER:

2) What kind of projects does IT Company generally look for?


Justification: The project developer is planning to give a set of options to the
clients for setting the category of their projects in the website. The answers to this
question will help the developer to provide more appropriate and valid options
based on the user’s requirements.

3) What are the essential IT skills a project developer should have?


Justification: While allowing a new registration of the freelancers, they will have

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 175
E-FREELANCING

to provide details of their IT skills. This question’s answer can be used to make
that column more relevant so that when clients search the website for specific
developers, they may easily get a few.
ANSWER:

4) To what extent online bidding is a trustworthy procedure?


Justification: Winning Client’s trust is more important in this project as they have
to give details of their project and at a later stage they need to make payment also.
The developer wants to provide a fully safe and secure bidding process and also
maintaining its integrity is more important.
ANSWER:

5) Which is your most preferred mode of payment?


Justification: Winning Client’s trust is more important in this project as they have
to give details of their project and at a later stage they need to make payment also.
The developer wants to provide a fully safe and secure bidding process and also
maintaining its integrity is more important.
ANSWER:

6) What kind of questions online exam should have?


Justification: People facing the online exams are the best source to know the best
pattern of exam which should be implemented in E-Freelancing.
ANSWER:

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 176
E-FREELANCING

APPENDIX C- ANALYSIS & JUSTIFICATION OF QUESTIONNAIRE


ANALYSIS: QUESTIONNAIRE
Questionnaire for Developers & IT Company Employee

1) Do you have any idea of bidding of products online/offline?


□ Sufficient Idea
□ Very Little
□ No Idea
ANALYSIS GRAPHICAL REPRESENTATION
From the answers received, the developer
has analyzed that people belonging to IT
sector generally do have some idea of
online/offline bidding process. Majority
of the people who faced the questionnaire
said that they have sufficient idea to
participate in a bidding process and only a
few had little idea. But there were few
Sufficient Idea(55%)
groups of people who had no idea of
bidding either online or offline. Very Little (25%)
No Idea(20%)

2) Do you use social networking sites like Facebook, Twitter, etc?


□ Almost everyday □ Sometimes
□ Very rarely □ Never
ANALYSIS GRAPHICAL REPRESENTATION
To this question, users of all groups
have actively answered that they do use
social networking sites. The developer
has analyzed that about 65% of IT-
related people use these sites every
day, mainly for chatting purpose, and
only a 5% of the respondents said that
they do not use any such websites. Almost Everyday (65%)
People having their own business Sometimes (15%)
sometimes indulged themselves in Very Rarely (20%)
using sites like Facebook or twitter.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 177
E-FREELANCING

3) Have you ever faced any online test/exam?


□ Only once
□ More than a single time
□ Never
ANALYSIS GRAPHICAL REPRESENTATION
The developer has analyzed that the people
who work in IT companies or work as
freelancers have generally faced online
examinations once or more than once. But
majority of respondents said that they have
faced online exam only once. The
developer also came across few people
who have never faced any kind of online
exams.
Only Once (40%)
More than a Single Time(30%)
Never(30%)

4) Do you have trust in online project outsourcing?


□ Yes, Completely
□ Yes but partially
□ No
□ No idea about online outsourcing
ANALYSIS GRAPHICAL REPRESENTATION
The developer analyzed that the
respondents had no guaranteed trust Yes,
Completely(40%)
over online project outsourcing. But
still those who are active internet users,
they have no problem in using online Yes, But
Partially(25%)
project outsourcing facilities. Some of
the respondents had no idea of online
No(10%)
outsourcing and some had just partial
trust over such procedures. Majority of
the respondents favored online project
No idea about
outsourcing. online
outsourcing(20%)

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 178
E-FREELANCING

5) What skills an IT project developer should posses?


□ Good in web-designing
□ Good knowledge of Database
□ Good tester
□ Good in documentation and implementation of requirements
ANALYSIS GRAPHICAL REPRESENTATION
It has been analyzed that majority people
wants a developer to be skilled equally in
web-designing and must possess a quality
knowledge about database. People has not
given much preference to the testing skills but
they want a proper and well documented
handbook for the system’s being developed
Database Concepts(30%)
by a project developer. Testing(15%)
Documentation & Implementation(25%)
Web-Designing(30%)

6) What kind of projects should be outsourced?


□ Website
□ Application
□ Program solutions and debugging
□ Basic logo design
ANALYSIS GRAPHICAL REPRESENTATION
Seeing the answers received from the
respondents the developer has come to a
conclusion that projects like website and
application are equally treated by everyone
and very few people prefer to do outsourcing
for logo design. Program solutions and
debugging are considered as the top rated
topics for which generally people prefer
outsourcing and look for freelancers or other
professional project developers. Application(20%)
Program Solution& Debugging(35%)
Basic Logo Design(15%)

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 179
E-FREELANCING

7) What would be the best mode of communication between a Freelancer and a Client?
□ Phone call
□ Email
□ Text Chatting
□ Face-to-face conversation
ANALYSIS GRAPHICAL REPRESENTATION
It has been analyzed by the developer that
most respondents preferred either phone call
or text chatting on equal levels or else face-to-
face conversation. Email has been given the
least priority for communication as they do
not get immediate response and it takes much
of the respondent’s time.

Email(30%)
Text Chatting(35%)
Discussion Board(25%)

8) What should be the time limit on the online bidding of a project?


□ 1 day
□ 2 days
□ 3 days
□ Less than 24 hours
ANALYSIS GRAPHICAL REPRESENTATION
From this question’s answers, it can be
analyzed that people who post projects for
bidding or people who do project freelancing
go restless if they are asked to wait for a
longer period. Most of the respondents chose
that a project should be allowed for bidding
just for 2 days and not more than that. Very
few people wanted it to be up for 3 days.
2 days(60%)
3 days(15%)
Less than 24 hours(20%)

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 180
E-FREELANCING

9) What should be the level of questions asked in an online test?


□ Simple and basic level
□ Hard but to a certain extent
□ Very hard
□ Both simple and hard questions mixed in ascending order
ANALYSIS GRAPHICAL REPRESENTATION
The developer analyzed from this question’s
response that people neither prefer too simple
questions not too hard questions in an online
test. They want a mixture of both. Majority of
the answers favored to have a miscellaneous
type question in an online test.

Simple(25%)
Very Hard(10%)
Partially Hard(20%)
Mixed(45%)

10) Which payment mode do you prefer most?


□ Online Payment
□ Cash on delivery
ANALYSIS GRAPHICAL REPRESENTATION
It can be seen clearly from the response to this
question that online payment is considered to
be very trustworthy mode of payment and
people do not have any problem in that. Most
of the respondents have rated online payment
to be more preferable than cash on delivery
system.

Online Payment(65%)
Cash on Delivery(35%)

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 181
E-FREELANCING

11) Have you ever used credit card for payment?


□ Yes
□ No
ANALYSIS GRAPHICAL REPRESENTATION
Seeing the response to this question, the
developer has prepared an analysis that these
days’ people are too much dependent on
technology and thus, they do not prefer to
carry cash. Instead they carry credit cards for
making all types of payments.

Yes(70%) No(30%)

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 182
E-FREELANCING

APPENDIX D- ANALYSIS & JUSTIFICATION OF INTERVIEW

1) What should be the maximum time limit for a project’s online bidding?
Analysis of the answers received:
Most people agreed on the fact that online bidding is a very crucial step and it should be
quick. If bidding is scheduled to continue for long, it may lead to lack of interest of the
bidders in the project as a number of projects are available online. So, the bidding time
duration should not be more than two complete days. After two days, bidding should be
stopped and the client & freelancer must be able to contact each other.
50%

40%

30%

20%

10%

0%
< 1 day 1-2 Days Max = 2 Days Atleast 3 Days

2. What kind of projects does IT Company generally look for?


Analysis of the answers received:
The developer found that most of the IT brands that outsource projects online mainly go for
small level projects which should not take more than a month of completion time duration.
Very few respondents said that they outsource major projects and get it done via any
freelancer. The analysis showed that companies/individuals mainly post projects like website
designing or demand for database related IT solutions

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 183
E-FREELANCING

8
7
6
5
4
3
2
1
0
Basic Projects Web Solution Databse & Network Major bulky projects
Solutions

3. What are the essential IT skills a project developer should have?


Analysis of the answers received:
IT companies do not go for freelancers having good grades in their qualifying degree exams.
They look for better skills mainly Java Core, .NET Framework programming, C# and good
database knowledge.

7
6
5
4
3
2
1
0
Java Core .NET Framework Operating systems Database Systems

4. To what extent online bidding is a trustworthy procedure?


Analysis of answers received:
It was interesting to know that nowadays people trust more on internet servers and are well
known to their functional reliability. Most of the respondents favored the point that online
bidding of projects or anything is reliable and can be trusted. They also wanted to have this to
be very transparent so that there should not be any pinch of doubt or lack of trust.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 184
E-FREELANCING

10
8
6
4
2
0
Very much trustworthy Partial reliability Do not trust Little trust

5. Which is your most preferred mode of payment?


Analysis of answers received: Users do not back out when they are asked for online payment.
They in fact feel more comfortable using credit/debit cards to make certain payments instead of
doing cash payments either via bank or in person. Respondents also said that paying via
cheque/DD is an old technique now and is too time taking.

15

10

0
Debit/Credit card Pay via Cheque Cash Deposit Hand to hand payment
payment

6. What kind of questions online exam should have?


Analysis of the answers received: Interviewees were found to be more in favor of having
objective question based exams with options provided. very few people supported subjective
question patterns and MCQs.

10
8
6
4
2
0
Subjective pattern Objective pattern MCQs Others

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 185
E-FREELANCING

APPENDIX E- ANALYSIS & JUSTIFICATION OF OBSERVATION

1) Observe how people make calculations and answer selection during an online test.
Analysis: The developer observed that people sitting for test generally do not have much time
to make lengthy calculations. The exam pattern is not so tough and do not require much of
calculations or rough work to be made. Out of 4 questions they select one or more in case of
MCQs. Examinees also have to keep track of the time running for each question.

2) Observing the features and technologies that IT professionals use to implement


advanced features in their systems.
Analysis: IT professionals were observed to be using the latest version of any tool they
required to use to implement any feature in any project. Also, they used IDEs which
facilitates easy design and coding for their project. It was also observed by the developer that
there were some features which were not inbuilt in the IDE being used and new plug-in were
required to be installed on the computers to make that advanced feature applicable in the
ongoing project.

3) Observing various bidding process going around in the market, either it be


governmental or private.
Analysis: Bidding or tender filling were observed to be almost similar activities where
the new bid is always some specific amount lesser than the previous bid amount and it
continues until the bidding period is ended or the bid is force fully closed. Bidding
however is a legal process and is followed in most of the sectors. Private companies
allow bidding on projects they want to outsource for.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 186
E-FREELANCING

APPENDIX F- PROJECT PROPOSAL FORM (PPF)

E-Freelancing – Project Proposal Form

Describe the type of the system being developed?

The system being developed will be a Web application system based on .Net framework
using C#. It is an “E-Freelancing” website which will be used by IT project developers,
clients and even IT students. The basic feature of this website will be to provide a
communication channel between a client, seeking a developer for any project, and the
developer/Freelancer, seeking for IT projects for which they will be paid. The client as
well as the freelancer is required to sign up to the website so they can be considered as the
member of the E-Freelancing website. The freelancers will have to pass an online test in
order to participate in the online bidding of the projects available on the website. The
system will also provide a chatting module and a discussion board which will be used for
communication between the clients, developers and other interested parties, in an effective
and efficient manner.

Who is system being developed for?

Any organization or individual who is willing to get their IT related projects made in a
minimum amount possible can use this website and get a suitable developer hired.
Individual working as professional project developers in any organization may also use
this online freelancing service to earn extra money. Freelancers, students having good
knowledge about project development and website designing can use this website as a
source of extra income. All other technical professionals can also make use of this website.

Why is such a system required?

Often it happens that clients, wishing to get their projects developed; don’t get appropriate
developer who would dedicatedly work for them. E-Freelancing will enable clients to hire
a suitable freelancer for their project through this website. Since the freelancers must
already have passed an online test in order to bid for a project, the client will be satisfied

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 187
E-FREELANCING

by the quality of freelancer they are hiring for their projects. This system will allow client’s
access to a broad group of freelancers all over around and user satisfaction will be
guaranteed.

What will be the main challenge for you in building the project?

After conducting a basic research regarding E-Freelancing, few things have been listed as
the main challenges that will be faced during the project development. The main
challenges of this system are listed below:

 Online Certification Test for freelancers


This is a stage which every freelancer will have to pass in order to be eligible to participate
in the online bidding of the projects. This will a very challenging task to implement as lots
of questions has to be uploaded to the database and at the time of test, those questions will
be directly taken from the database. There will be timer running for each question being
displayed during the test. If the specified question time expires the question will
automatically get changed and a new question will be displayed for with a new timer
running. Marks will have to be calculated and then decision will be taken whether the
freelancer is passed or failed.

 Online Bidding of projects


Displaying projects is easy but applying a bidding concept for each will be a difficult task
for the developer. All the projects posted on the website will be set by the clients to
bidding. The freelancers who will bid the minimum amount will be considered to be
suitable and can be hired by the client to make a project.

 Online Payment on project completion


Integration of PayPal Payment Gateway will be required to facilitate the payment for the
projects to the freelancers. This money transfer will be done using credit/debit cards and
will be totally secure and safe.

 Discussion Forum

This would be a very efficient means of sharing of new ideas and talks about market
situations and domain related discussions. Users of the system will be able to post new

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 188
E-FREELANCING

threads which can be viewed by other users and these posts will be subjected to comments
from other users as well.

 New technologies like Ajax, Web services, are to be implemented and since the developer
is new to these, a detailed study is required. Further, during the project development, the
developer might face problems in project’s implementation. Research regarding new
technologies and their implementation techniques is going on.

What new ideas and theory will you need to learn to build the system?

For a successful implementation of E-Freelancing project, the developer will be required to


know in depth of SQL Server, JavaScript, Ajax and CSS3. More research is to be done to
acquire knowledge of .NET framework using C#. Reports will have to be generated for
many instances and thus, crystal report generation is yet to be learnt. The developer will
have to learn SMTP server integration in the system which can further be used from file
sharing across the system from one user to another.

The new technologies mentioned above are to be known and learnt very well. During the
course of implementation of the project, the developer will learn how to make an efficient
and user-friendly system. The pros and cons of the current existing systems will be taken
into consideration and in this project all the drawbacks of the existing system will be
removed.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 189
E-FREELANCING

APPENDIX G- PROJECT SPECIFICATION FORM (PSF)

Name: Piyush Kumar

Student ID: PT1081156

Title: E-FREELANCING

Supervisor: Mr. Arun Choudhary

SECTION B: Problems Background

Problem Context and Description of Problem Area

These days organizations belonging to every field of work are getting dependent on their
technical employees for any IT related project work or else they need to hire developers
and programmers from somewhere for which they need to make huge payments. Even we
see people search for programmers and developers either to make a website for them or
create any application for their business or ask to perform many more such tasks. All these
problems have a very appropriate solution- Online freelancing. There are a few online
freelancing websites which offer such facilities to hire freelancers online but they do not
guarantee that the developer being hired is completely efficient and able to take that
project. The hiring process of contractors over the existing system is very complex. The
clients are not able to see the complete profile of the available freelancers before the hiring
process starts. Even it is difficult for the freelancers to collect sufficient information from
the website about the clients who are hiring them. This often leads the clients in turmoil
with incompetent developer and the allotted task remains undone. This system will work to
remove such problems and offer people a website which would make the freelancing and
hiring of freelancers a simplified process. The efficiency of the developers will already be
checked by an online test and the price of the projects will be based on online bidding of
the projects.

Rationale

With over 8 million users, you can hire a freelancer to do your contract work at a fraction
of the cost. Whether you need PHP developers, web designers, or content writers, you can
outsource jobs within minutes. Browse through hundreds of skills including copywriting,
data entry, and graphic design or more technical areas like coding HTML, programming
MySQL, and designing CSS. Are you an entrepreneur just starting a company? Find a
quality graphic designer to create a logo to your specifications. Are you looking to grow
your business online? Don't have a website or mobile app? Not a problem, we have
thousands of web developers waiting to hear from you. This accelerates your businesses
growth by giving you the talent you need when you need it.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 190
E-FREELANCING

 Tangible Benefits

Ease of access to hire freelancers online will save client’s time to complete the project. The
online bidding of the projects may be useful in limiting the time for bidding and hence this
also saves sufficient time to a lot project to a freelancer. The bidding process will further
reduce the cost of the project.

Not only the clients but also the freelancers will be get benefits from this website.
Availability of projects online will prevent the freelancers from being jobless and it will
serve as a source of income to them. A freelancer can be hired for more than one project
according to the bidding value and hence, more projects will result in more monetary gain.

 Intangible Benefits

Both the client and the freelancer being hired will be satisfied with the services provided
by E-Freelancing. The client will have to give less effort in finding an appropriate
freelancer for their projects. The bidding process will ultimately bring the development
cost low enough satisfying the budget requirement of the clients. Further the freelancer
bidding for the projects online will bid up to a level to which they are comfortable. The
freelancer signing up in E-Freelancing has to pass an online test based on their
qualifications. This assures the clients that the freelancers they are hiring for their project
are qualified enough to complete the project.

Target Audience

Any organization or individual who is willing to get their IT related projects made in a
minimum amount possible can use this website and get a suitable developer hired.
Individual working as professional project developers in any organization may also use
this online freelancing service to earn extra money. Freelancers, students having good
knowledge about project development and website designing can use this website as a
source of extra income. All other technical professionals can also make use of this website.

Nature of Challenge

The main challenge of this system consists of several categories:

After conducting a basic research regarding E-Freelancing, few things have been listed as
the main challenges that will be faced during the project development. The main
challenges of this system are listed below:

 Online Test for freelancers

This is a stage which every freelancer will have to pass in order to be eligible to participate
in the online bidding of the projects. This will a very challenging task to implement as lots

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 191
E-FREELANCING

of questions has to be uploaded to the database and at the time of test, those questions will
be directly taken from the database. There will be timer running for each question being
displayed during the test. If the specified question time expires the question will
automatically get changed and a new question will be displayed for with a new timer
running. Marks will have to be calculated and then decision will be taken whether the
freelancer is passed or failed.

 Online Bidding of projects

Displaying projects is easy but applying a bidding concept for each will be a difficult task
for the developer. All the projects posted on the website will be set by the clients to
bidding. The freelancers who will bid the minimum amount will be considered to be
suitable and can be hired by the client to make a project.

 Online Payment on project completion

Integration of PayPal Payment Gateway will be required to facilitate the payment for the
projects to the freelancers. This money transfer will be done using credit/debit cards and
will be totally secure and safe.

 Discussion Forum

This would be a very efficient means of sharing of new ideas and talks about market
situations and domain related discussions. Users of the system will be able to post new
threads which can be viewed by other users and these posts will be subjected to comments
from other users as well.

New technologies like Ajax, Web services, Microsoft Silverlight are to be implemented
and since the developer is new to these, a detailed study is required. Further, during the
project development, the developer might face problems in project’s implementation.
Research regarding new technologies and their implementation techniques is going on.

SECTION C: Brief description of project objectives. (i.e. scope of proposal and


deliverables)

Goals & Objectives

The main goal of this project is to develop a website which will have two main modules
operating – Client & Freelancer. The website will avail people online working as
freelancers for IT related projects. It will focus on strict bidding for projects and a secure
payment to the freelancers by the clients.

The other objectives of the project are:

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 192
E-FREELANCING

 Make the complete use of Ajax and JQuery tools so that the system can be made user
friendly, following all the Human Computer Interaction principles.
 Implement a secure and bug free payment gateway so that neither the clients nor the
freelancer should face any kind of payment related problems.
 Implement a successful and transparent online bidding process for the projects.
 Conduct an online test for the freelancers which would be in a very standardized format
and having standard questions which only a well qualified project developer/programmer
will able to pass.
 After a client hires a freelancer, a new feature i.e., online chatting will be enabled between
them which will make sharing of ideas and project related doubt clearances easy.
 The discussion board will further encourage idea sharing between the freelancers signed up
to the website.

Project Scope and Deliverables

The project introduces a very user interactive website enabling easy understanding and
working of its functionalities. Both client and freelancer will be offered a common
platform where they can set projects to bid and accept projects as a developer/programmer
respectively.

The main deliverables of this project are:

An HCI based website – Here people can register and login themselves as a client or
freelancer as per their choice. Further they will be able to login to the site and enjoy the
services offered.

A very well formatted documentation of the project, having all its contents clearly
elaborated in it. This documentation will also serve as a user manual of the project system.

CORE FEATURES

1. Login module – Users can login to E-Freelancing website either as a Client, who can create
and post projects, or as a freelancer who can bid for the projects.
2. Search module – Just by providing certain keywords, related jobs can be easily searched
out from the website.
3. Profile creation and updating – Users will be asked to create their profile which can be set
to Show/Hide from other users as per their choice. The freelancers and the clients will be
able to see their profiles if required based on which decision on project selection and
submission can also be taken. This created profile can be updated by the user at any time.
4. Profile viewing – Both client and the freelancer will be able to see the profile of each other
when required.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 193
E-FREELANCING

5. Project creation and posting – This facility is availed only for the clients. The clients can
create projects and post the project online where the project will be set for bidding and its
details can be seen easily.
6. Online project bidding – The projects that has been posted to the website can be set for
online bidding. This will be allowed by the clients and bidding will be done by the
freelancers willing to take that specific project.
7. Payment Gateway Integration – This module will perform the payment process of the
website. This is one of the most important modules as this will serve as the medium of
money transfer from the clients to the freelancers.
8. Reporting module – Users can see desired reports by selecting the report type.
9. Feedback – Freelancers can send feedback to admin regarding the online certification test
level and quality of questions.

ADVANCED FEATURES

1. Online Certification test – A short test will have to be given by the freelancer where
questions will be related to the website’s policy of work and the programming language
selected by the freelancer. This test will be mandatory for every freelancer willing to
participate in the online bidding of the projects.
2. Dashboard – This will help the users to view all their profile activities and details.

Extra features are also been implemented to the functions in order to provide better
interactivity and usability to the system, those features are:

Special features of my system will be as follows-

A discussion board – This feature works similar to a discussion forum where freelancers
can post their ideas and queries and receive replies for the same.

Chatting – The client and the freelancer that the client has hired can chat with each other
using the chatting window. But the developer is not sure whether he will be able to show
the chat conversation after once the system is closed.

Evidence of limiting the project scope

Since the project incurs different modules namely, Bidding, chatting, online test, and
discussion board etc., the scope of the project has been limited to certain functionalities.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 194
E-FREELANCING

Though the developer will make all possible efforts to implement all the key features
keeping in mind the needs and requirements of the users, certain limitations are as follows:

 The options provided to the users in customizing the background of the website will be
limited to few options.
 The chat conversations between the client and the freelancer will not be saved. It means the
website is just facilitating an online communication mode between the two user profiles
and no saved record can be maintained.
 The questions provided for online test will be limited to specific areas of programming
languages as most of the programming languages follow similar concepts and all database
related queries apply to the similar concepts.

Other Learning Objectives

Besides developing a skillful hand on certain website development related tools like
ASP.NET in Microsoft Visual Studio 2012, few other technologies are also to be learnt to
enhance the user interactivity and usage:

 AJAX
 CSS3
 Javascript and Jquery
 Website hosting
 Learn and integrate a payment gateway which has to be very safe and secure.
 Understand all the principles of Human Computer Interaction and implement those to the
website.
 Learn and implement how to conduct an online test.

SECTION D: Brief description of the resources needed by the proposal. (i.e.


hardware, software, access to information / expertise, user involvement etc.)

Hardware

The hardware specifications of the developer’s personal computer for the project’s
development are:

 Processor :-Core i3 370M Processor 2.40 GHz


 RAM :- 3 GB
 Hard Disk Drive :- 320 GB

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 195
E-FREELANCING

Software

In order to develop the project, the developer will require certain software as a project
development tool, counting from the operating system to the user interactivity
enhancement tools:

 Windows 7 (64 Bit)


 Microsoft Office Words
 Microsoft Office Project
 Microsoft Office Visio
 Ajax toolkit
 SQL Server 2008
 Microsoft Visual Studio 2012
 Crystal reports plug-in

Access to information and Expertise

Resources will have to be contacted in order to drive in information related to this project
development. The resources may be people from different IT backgrounds, books and
magazines based on website creation. A proper primary research is to be done with the
users. This research would include:

 Interviews
 Questionnaires
 Observation

The above mentioned three different forms of research would enable the developer to
collect sufficient ideas which would help in the project development process.

Other Resources

Internet websites and forums

Journals publishing website designing related contents

User Involvement

Certain group of persons will be regularly contacted during the project development for
providing suggestions and opinions, feedbacks over design and working of the system.
They can also help the developer during the testing phase of the project. The users
involved may be:

 Students
 Any individual interested to work as a freelancer
 Organizations having IT works

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 196
E-FREELANCING

 Project Supervisor and Advisor


 Friends and other Batch mates.

SECTION E: Academic research being carried out and other information, techniques
being learnt. (i.e. what are the names of books you are going to read / data sets you
are going to use)

A proper research can lead to a project success. It is important for every developer to know
in depth of the technologies he/she is using during the project development. Interviews
with some of the professional developers may help a lot in implementing all the features of
this project.

Academic/Theoretical Research Areas

The academic research helps in developing concepts of designing which the developer will
use in making the system’s design more enhanced and interactive. This increases the
effectiveness of the project. Website designing needs to be very skillful and professional as
a vast group of professionally working people are going to use this. To learn and
understand the concepts of professional website creation, the developer needs to go
through various concepts of designing.

Technical/Programming Research Areas

Since the designing phase gets its support by academic research, the technical research will
further be required to enhance the user interactivity of the system. CSS3 and Jquery
concepts will be implemented to a great extent which does not require much of plug-ins
but skillful instead programming is to be done. Adobe photoshop7.0 will be used to design
the interactive banners and logo of the website.

Information and Resources

The books that might be used as a reference are:

 Beginning with ASP.NET 3.5 in C# 2008


 ASP.NET 3.5 Unleashed (written by Stephen Walther)
 The Complete reference to ASP.NET
 Professional ASP.NET 3.5 AJAX

Internet

The websites which may frequently be used during the development are:

 http://www.w3cschools.org/
 http://www.aspnetbook.com/basics/aspnet_basics.php
 http://www.asp.net/

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 197
E-FREELANCING

Magazines

Chips, Digits are magazines that frequently release articles related to outsourcing, web
designing and various other related technologies.

People

 Supervisor
 Friends
 Lecturer

Real World methods and practices

 Interview
 Questionnaires
 Observation
 Current Application

SECTION F: Brief description of the development plan for the proposed project. (i.e.
which software methodology and why, the major areas of functions to be developed
and the order in which developed)

Specification and reason for software methodology

The developer had two options of software methodology to select from for this project –
WISDM and SPIRAL model. After having a proper research on both these methodologies,
the developer have decided to use SPIRAL model as the software methodology that will be
used in this project’s development.

Reasons for not using WISDM

It is mix of common web development techniques, which emphasizes on graphically


intense hypermedia, together with traditional information system development
competencies in DB and program design. Though WISDM appears to be the best suited
methodology for website development, seeing from the Final Year Project’s point of view,
the developer is not comfortable in using WISDM because prior to the implementation of
the project, the developer will have to conduct various forms of research activities, and
need a proper planning to be done. All this can be only done if the developer follows the
SPIRAL model.

SPIRAL MODEL

Spiral model is a combination of iterative development process model and sequential linear
development model i.e. waterfall model with very high emphasis on risk analysis. It allows
for incremental releases of the product, or incremental refinement through iteration around

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 198
E-FREELANCING

the spiral. The Spiral model is also known as the spiral lifecycle model which combines
the features of the prototyping model and the waterfall model. In this model, we can easily
adjust the software development with the required changes. We create prototypes in every
stage which enables us to roll back only a few steps in case of any mistake or error
detected. It is a circular view of the software lifecycle.

Advantages of Spiral model:

 The risk analysis is done at a higher level and hence project associated risks can be avoided
to great extent.
 This model is good for projects having long-term development schedule and are mission-
critical.
 Spiral model is best for projects involving strong documentation and approval.
 Due to it’s after every stage prototyping, roll back and functionality addition at a later stage
is possible.
 Software is produced early in the software life cycle.

Disadvantages of Spiral model:

 Risk analysis requires highly specific expertise.


 Project’s success is highly dependent on the risk analysis phase.

 Doesn’t work well for smaller projects

DEVELOPMENT PLAN

This project will be done using the SPIRAL methodology where the whole project will be
broken down into different modules and will be done according to the different phases of
the methodology.
Project Start date: 16th August 2013
Project end date: 3rd May 2014
Total Duration for project completion: 36 Weeks 6 days
9. Project Definition
Duration: 2 week
Tasks: The project definition includes the following tasks to be completed:
 Generation of idea related to the project
 Selection of the project’s title
 Feasibility Studies
 Draft Proposal Form
10. Project Planning
Duration: 4 weeks

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 199
E-FREELANCING

Tasks: Project planning requires the following tasks to be covered one after the other:
 Work Breakdown Structure
 Schedule and Time Estimation
 Critical Path Method
 Gantt Chart
 Project Proposal Form

11. Requirement Analysis


Duration: 6 weeks
Tasks: The Requirement Analysis phase is to be completed in order to specify thee goals,
resources to be contacted, provide specifications related to the techniques and
functionalities and a detailed analysis of all types of associated risks.

 Identify project specifications


 Project Background
 Resources required
 Techniques to be learnt
 Goals and Objectives
 Determine System Functionalities
 Identify scope of research
 Project Specification Form
 Investigation ad Research
 Analysis
 User Modeling and Profiling
 Domain analysis
 System analysis
 Risk analysis
12. System Design
Duration: 4 weeks
Tasks: This phase is the start of the implementation phase where the system’s design and
its work flow is decided and the interface, functionality and interactivity is being specified.
 Navigational Design
 Abstract Interface Design
 Screen layout
 Content Design
 Interactivity Design
 Functionality Design
13. Prototyping
Duration: 5 weeks
Tasks:
 Creating Prototypes
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 200
E-FREELANCING

 Evaluate Prototype feedbacks


14. Production and Implementation
Duration: 6 weeks
Tasks:
 Coding for several functions
 Payment gateway Integration
 Implementation of online test
 Implementation of Discussion Board
 Implementation of chatting facility
 Implementation of Online bidding and project allocation to freelancer

15. Testing and Evaluation


Duration: 4 weeks
Tasks:
 Test Plans
 Unit Testing
 Integration Testing
 System Testing
 Critical Evaluation

16. End of the Project


Duration: 4 weeks
Tasks: This involves only two tasks which lead to the project completion and its end.
 Submission of the finished product
 Presentation of the project to the Project Supervisor and Advisor.
The overall duration and scheduling of the project is shown above. There are some tasks
which may overlap due to their dependency on one other. Research investigation and
Prototyping will be the two main priority tasks in this project, throughout the
implementation phase, the testing and prototyping will be carried out as it progress.

The hardest tasks and its description


 Manage a database of questionnaires for different languages and conduct an online test for
the freelancers – The mandatory certification test that is to be conducted for the freelancers
will require different sets of questions already prepared and saved in the database and these
questions are to be published on the user’s demand. This task would be a very challenging
one for the developer. New concepts are required to be known for implementing such a
feature in an online website.
 Bidding of the projects has to be done online, keeping in record the bidding list of every
project until the project has been assigned to any of the freelancers.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 201
E-FREELANCING

 A discussion board is to be made which will have questions and answers, ideas posted to it.
Its creation will be challenging for the developer and is too comparatively not an easy task.

SECTION G: Evaluation and Test Plan for the proposed project.


(i.e., what is the success criteria and how will be evaluated & implementation will be
tested, indicate the estimated size of the demonstration/test database)

How will the project be considered to be successful?


The project will be considered successful if manages to conduct the online test of the
freelancers and the online bidding of the projects.
Test plan and Strategies
Testing is a very important phase of project development. The developer will do the
system’s testing so as to assure that the system can be made error free and assure that it
meets all the user requirements. Various testing forms will be executed during the project
development at its different stages and phases. Starting from the initial point of the project
development, till it reaches to its end, the project will have to pass different forms of
testing techniques.
The test plan strategies used in this project will be:
 Unit and Integration Testing – This tests the system’s each individual modules that is being
developed. As soon as the module/unit testing is completed, based on the results acquired,
the system will be projected towards integration testing. These testing will be performed
by the developer himself.

 White-box testing – White box testing is a test for the conceptual implementations of the
system where the coding and technicality of the system is tested. This type of testing
allows the user to access the system along with its inner codes. This will help the user to
know the system deeply and can better understand the inner functionality or working of the
system. This test will be performed by a supervisor.

 Black-box testing - Black box testing is done to test the system’s functionality and it is like
an operational test for the system where the tester tests every function of the system. This
test will be done by the developer during the development process and by the Supervisor
during the project evaluation.
To accomplish the mentioned testing strategies, these types of testing are to be applied:

 Usability Testing –it will test the usability of the system. It basically considers the user
interface design, familiarity, user acceptance and how the system recovers from an error.
Tester: End user, supervisor.

 GUI Testing – The graphical user interface of the system will be tested to check if there is
any error in the appearance of the screen designs, controls over the screen, etc.
Tester: Developer, supervisor, end user.

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 202
E-FREELANCING

 Compatibility Testing – The system will be tested on different operating systems and
software.
Tester: Developer, end user.
Evaluation on Success Criteria
The project evaluation done jointly by the project supervisor, developer and the end users
will be considered for measuring the success criteria of the project:
1. Meet user requirements – A project’s success is confirmed only when it meets all the user
requirements successfully. This is a very important aspect to decide if a project is
succeeded or failed.
Evaluator: Supervisor, End users
2. Level of Content – It shows how well the information and content is available in the
system and how much deep the contents are.
Evaluator: Supervisor, End users
3. System Functionality – Functionality is determined by the working of the system. The
system functionality such as the payment gateway integration, online bidding and test,
profile management are to be evaluated.
Evaluator: Supervisor, End users, Developer
4. System Usability – The evaluator may check the system’s usability by checking the
systems recoverability, accessibility and familiarity to the users.
Evaluator: Supervisor, End users
5. Project Management – How well the scheduling has been followed and how well the
project duration and requirements has been fulfilled managing both time and development
cost. These are to be evaluated by the evaluator.
Evaluator: Supervisor
6. Research and Analysis – The developer is required to do a good amount of research and
analysis before and even during he course of project development. The evaluator will
check this whether the research done meets the satisfactory line of project success or not.
Evaluator: Supervisor
7. Documentation – a very well formatted documentation is to be done which should not have
any grammatical mistake in it and the content should be clearly specified.
Evaluator: Supervisor

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 203
E-FREELANCING

APPENDIX H: LOG SHEETS

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 204
E-FREELANCING

APPENDIX I: FAST TRACK ETHICAL FORM

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 205
E-FREELANCING

APPENDIX J: SAMPLE QUESTIONNAIRE


& INTERVIEW (FILLED)

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 206
E-FREELANCING

APPENDIX K: GANTT CHART

Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 207

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy