SlideShare a Scribd company logo
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 1 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 2 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 3 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 4 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 5 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 6 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 7 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 8 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 9 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 10 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 11 | P a g e
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 User
Registration
Guest users can register on this web application by providing the
required user details. Users at the time have registration have to
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.
Member Login
Users can use the login ID and password sent to their email id to
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
Project Creation &
Posting
Clients can anytime create projects and post it online on E-
Freelancing which will be viewed by all the freelancers and Bidding
process can be started on these projects
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 12 | P a g e
View Projects
Open for Online
Bidding
Freelancers could be able to see only those projects whose date &
time of closing the bidding process is still to come and currently
bidding is going on. Projects whose bidding time is over will not be
displayed as available projects
Online Project
Bidding
Freelancers can browse for the projects open for bidding and they
can place their own bid amount. It must be noted that the new bid
amount should be at least 2% lesser than the previous Bid value on
that project.
Edit & Update
profile
Both Clients and Freelancers will have the privilege to edit their
profile details and update it anytime and any number of times. This
data is to be viewed by the Clients at the time of project allotment.
View Reports
Freelancer may see reports regarding their project allotments to
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.
Notifications
Freelancers and Clients get notified for any messages received to
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.
Upload/Download
Freelancer’s
Resume
Freelancers have the facility to upload their current resumes online
and Clients on the other hand will be able to download resumes
uploaded by Freelancers. This enhances and improves the hiring
procedure of freelancers for projects.
Password Change
& Recovery
Though the users get their Login ID & Password via email, they will
have the privilege to change their password anytime by following a
safe procedure. In case users forget their password, it can be
recovered by using the “Password Recovery” feature.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 13 | P a g e
Feedback
The freelancers can also send feedback to the admin for certain
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
View Current
Bidding Status on
Projects
E-Freelancing will have a vast accessibility via internet and thus,
until the bidding is open for a particular project, the project will face
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
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 payment which the client can do to E-Freelancing for the
facilities provided
1.8.3 ADVANCED FEATURES
FEATURES DESCRIPTION
Online
Certification
Test
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
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.
Dash Board
Both the users, clients and freelancers, will get the facility of a dashboard
where they can see their profile details, and details related to other
activities they performed.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 14 | P a g e
1.8.3 SPECIAL FEATURES
FEATURES DESCRIPTION
Chatting
Client & Freelancer would be able to do test chatting by using this
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.
File Transfer &
Sharing via Email
At the time of project posting, Clients do not provide the full project
specification. Once the project bidding is completed, Clients will have
the privilege to send/transfer the SRS of the project to their
Freelancers for better understanding of the project.
Discussion Board
Discussion board is a place where users see details of all their major
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 15 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 16 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 17 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 18 | P a g e
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
authorization
for each user
The users visiting the website will be asked for a secure
username and password which will be provided to them only
if they sign in using a valid email address and the username
must be unique
Centralized
Database
This will be used to handle all the data of almost every activity
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 19 | P a g e
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
all activities
Reports will be generated for most of the activities and thus,
the
user will be able to keep track of their activities by seeing their
reports
Profile
Creation &
Updating
The users, both, client and freelancer will be asked to provide
details so that a complete profile could be created and it can be
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
Payment
Gateway
Integration
The developer will try his best to implement this functionality
in the system so that the users can be availed with a payment
facility too for their projects.
Table 2: Recommended Solution for Identified Problems
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 20 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 21 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 22 | P a g e
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.
0
2,000,000
4,000,000
6,000,000
8,000,000
Registered Users Projects Posted
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 23 | P a g e
 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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 24 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 25 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 26 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 27 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 28 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 29 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 30 | P a g e
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
Population (Year
2013)
Internet Users
(Year 2000)
Internet Users
(Year 2012)
Facebook
Users
(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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 31 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 32 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 33 | P a g e
 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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 34 | P a g e
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).
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 35 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 36 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 37 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 38 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 39 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 40 | P a g e
 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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 41 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 42 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 43 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 44 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 45 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 46 | P a g e
 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]
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 47 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 48 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 49 | P a g e
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
Table 5 Risk Analysis
0
1
2
3
4
5
6
7
8
Requirement
Change
Hardware Failure New Technology Developer's Health
Issues
Unclear
Requirements
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 50 | P a g e
RISK ASSESSMENT RISK CONTROL
No. Risk
Identification
Risk Analysis Risk
Priority
Risk Management
Probability Impact Exposure
1 Due to New
Technology
0.7 7 4.9 1 A proper training should be conducted
prior to development phase
2 Requirement
Changes
0.5 8 4.0 2 Proper procedure should be defined to
handle requirement changes
3 Unclear
Requirements
0.4 7 2.8 3 Requirement analysis should be done
and performed well
4 Hard/Softwar
e Failure
0.4 9 3.6 4 Back up of data should be maintained
regularly.
5 Developer’s
Health Issues
0.3 9 2.7 5 Weekends can be utilized for overtime
work. Working conditions should be
comfortable since beginning.
Table 6 Risk Assessment & Control
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 51 | P a g e
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
Diagram
Architecture
Design
Interface
Design
Navigation
Design
Database
Design
Figure 14 Design Strategy Used
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 52 | P a g e
6.2.1 USE CASE DIAGRAMS
USE CASE DIAGRAM AND SPECIFICATION: E-FREELANCING
Admin
Register/Login
*
*
Reports Management
Payment
*
*
*
*
Project
Creation/Updation/Deletion
*
*
Online
Certification Exam
Online Project
Binding
Chat
*
*
*
*
Client
*
*
*
*
*
*
*
*
*
*
Freelancer
*
*
*
*
*
*
*
*
*
*
Discussion Forum
*
*
*
*
*
*
Figure 15 Use Case - E-Freelancing
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 53 | P a g e
Use Case Name: Client
Client
Post Project
*
*
Payment via Credit
Card
View Reports
*
*
*
*
Login
*
*
View Project
Register
Payment via Debit
Card
«extends»
Payment
«extends»
*
*
<<include>>
<<include>>
<<include>>
Select report type
View Bid Details
*
*
Chat with
Freelancer
«extends»
Check notification
*
*
«uses»
Read
Delete
«extends»
«extends»
Figure 16 Use Case- Client
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 54 | P a g e
USE CASE NAME: FREELANCER
Freelancer
View Project
*
*
Browse Project
View Reports
*
*
*
*
Login
*
*
View Profile
Register
Complete
Certification Test
Bid on Project
«extends»
*
*
<<include>>
<<include>>
<<include>>
Select report type
See project
allotment report
*
*
Chat with Client
«extends»
Check notification
*
*
Read
Delete
«extends»
«extends»
<<include>>
<<include>>
Figure 17 Use Case- Freelancer
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 55 | P a g e
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:
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 56 | P a g e
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
Client
Fill & Submit
Profile Details
*
*
Create Acocunt &
Notify User
Validate Profile
Details
Enter Email ID
Generate Password &
send Confirmation mail to
user
*
*
*
*
<<include>>
*
*
Freelancer
*
*
*
*
Table 7 Sub Use Case - Registration
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 57 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 58 | P a g e
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
Client
Create Project
*
*
View Projects
Login
«uses»
«uses»
Enter Project
Details
Store Project
details into database
*
*
Update Project
View Bid Status
View Bidder Details
«extends»
«extends»
«extends»
*
*
<<include>>
Table 8 Sub Use Case - Project Creation & Updating
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 59 | P a g e
Use Case
Name:
Online Certification Test Use Case ID: UC- eF3
Scope: E-Freelancing
Level: User Goal
Primary
Actors:
Administrator, Freelancers
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
Guarantee:
After finishing the certification test, the freelancer is able to see the
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:
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 60 | P a g e
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
Client
Create Test
*
*
Take Test
Update Question
Details
Select Exam
Category
*
*
Select Exam
Category
Cancel Test
View Reports
«extends»
*
*
<<include>>
System under
discussion
Store Question
Details in Database
*
*
Freelancer
*
*
<<include>>
«extends»
Enter Question
Details
<<include>>
Table 9 Sub Use Case-Online Certification Test
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 61 | P a g e
Use Case
Name:
Online project Bidding Use Case ID: UC- eF4
Scope: E-Freelancing
Level: User Goal
Primary
Actors:
Client, Freelancers
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
Condition
 Available projects, if any, are displayed and their current bid status can be
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
Guarantee:
Upon successful bid submission, the freelancer is able to see his/her name
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 62 | P a g e
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
Freelancer
Browse Available
Projects
*
*
Check Current Bid
on Projects
Validate Bid Amount
*
*
*
*
System under
discussion
*
*
Client
*
*
View Project
Details
*
*
Place New Bid
«extends»
Get Notification
*
*
«extends»
Table 10 Sub Use Case- Online Project Bidding
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 63 | P a g e
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
Guarantee:
A payment slip is either generated or displayed to the user after a
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 64 | P a g e
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
Occurrence
Payment can be done once only after the successful bidding process
is conducted.
Sub Use Case: Payment
Client
Select Amount
*
*
Receive Payment &
Generate Receipt
Receive Payment By
System
*
*
*
*
System under
discussion
*
*
Freelancer
Select Payment Type
* *
Receive Payment
Notification/Receipt
Payment via Debit
Card
«extends»
Payment via Credit
Card
«extends»
Table 11 Sub Use Case - Payment
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 65 | P a g e
Use Case Name: Report Management Use Case ID: UC- eF6
Scope: E-Freelancing
Level: User Goal
Primary
Actors:
Admin, Clients, Freelancers
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
Guarantee:
A crystal report is generated showing the details very clearly.
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 66 | P a g e
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
Freelancer
Select Report Type
*
*
View Report
Generate Report
*
*
*
*
*
*
Client
*
*
Table 12 Sub Use Case - View Report
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 67 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 68 | P a g e
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
Client
Create new Post
*
*
View all Posts
Login
«uses»
«uses»
Enter Post Details
Store Post details
into database
*
*
Delete Post
Read Post
Post a comment
«extends»
«extends»
«extends»
*
*
<<include>>
System under
discussion
Store all comments
*
*
Freelancer
*
*
*
*
Table 13 Sub Use Case- Discussion Forum
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 69 | P a g e
6.2.2 ACTIVITY DIAGRAMS
REGISTRATION: ACTIVITY DIAGRAM
CLIENT / FREELANCER ADMINISTRATOR
SYSTEM
Fill User Details
Submit Validate Details
CreateAccount
Get Password via email
Complete Registration
Registration
Complete
Start
<<Data Store>>
register
[Invalid]
[Valid]
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 70 | P a g e
LOGIN: ACTIVITY DIAGRAM
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 71 | P a g e
PROJECT BIDDING: ACTIVITY DIAGRAM
CLIENT SYSTEM
FREELANCER
Create Project
Enter Proposed Bid
Enter New Bid
Submit Bid
Receive Notification
Bidding
Complet
e
Start
[Invalid]
[New bid 2% less
than previous bid]
Browse Projects open
for Bidding
Check Current Bid
<<Data Store>>
projects
Enter New Bid
See Bid Details
Close Bidding on
Bid Time
Completion
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 72 | P a g e
ONLINE EXAM: ACTIVITY DIAGRAM
FREELANCER ADMIN
SYSTEM
Select Category
Start Exam
Complete Test
Count as correct
answer
View Test Result
Start
[Correct]
Get Questions
Select Answer
<<Data Store>>
tbl_quest_bank
Validate Answer
Exam Successfully
completed
Calculate & Display Result
Create Question
Sets
Count as wrong
answer
[Wrong]
[Pass]
[Fail]
Online CertificationTest
Complete
<<Data Store>>
User_certification
Update Question
Sets
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 73 | P a g e
REPORT VIEWING: ACTIVITY DIAGRAM
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 74 | P a g e
PAYMENT: ACTIVITY DIAGRAM
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 75 | P a g e
DISCUSSION FORUM: ACTIVITY DIAGRAM
CLIENT / FREELANCER SYSTEM
Create new Post
Submit Post Details
Read Post &
comments
Notify Post owner about
new comment
Stop
Start
Yes
View Discussion Forum
Select Post
<<Data Store>>
Forum
Post a comment
If posts exists
No
<<Data Store>>
ForumComments
Store new comment
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 76 | P a g e
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.
User
Register GUI :Mail send
Enter User Details
Validate Details
Invalid Details
Store User Details
Send Password to user’s mailbox
:DataBase :
register
Notify User to Check Mail
Details Validated
getMessage("Failed")
Figure 18 Sequence Diagram – Registration
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 77 | P a g e
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.
User
LOGIN GUI
USERHOME
GUI
Enter Username
VALIDATe(username,
Password)
[Invalid Details]
putSession[“Username”]
Redirect
:DataBase :
register
Enter Password
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.
CLIENT
Post Project
GUI
1. Enter Project Name
8. See Project Details
5. Store new Project
:DataBase :
Bidding
2. Enter Project Details
6. Submit Proposed Bid Amount
:DataBase :
project
3. Validate Details
4. Invalid Project Details
7. Display Project Bid Status
Figure 20 Sequence Diagram: Post Project
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 78 | P a g e
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.
FREELANCER
BIDIDNG GUI
1. Browse/Search
projects
3. Display projects available for Bidding
6. Validate Bid Amount
:DataBase :
register
7. [Bid amount not 2% less
than previous Bid]
2. Check for Available Projects
4. Check Current Bid
5. Place new Bid
8. Valid Bid Amount 10.Store New Bid
Authentication
getMessage
setMessage(Bid Failed)
setMessage(Bid Placed)
Figure 21 Sequence Diagram: Project Bidding
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 79 | P a g e
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.
CLIENT
CREATE EXAM
GUI
1. Select Exam Category
3. Store Question Set
:DataBase :
tbl_quest_bank
2, Add Question Details
with options & answer
4.GetMessage(“Question Set Created”)
FREELANCER
EXAM START
GUI
1. Select Exam Category
8. Show remaining time
for finishing exam
5. Get Questions for selected category
:DataBase :
tbl_quest_bank
2. Start Exam
6. Submit Proposed Bid Amount
3. Generate Exam ID
4. Display Exam ID
6. Display Exam Questions
7. Start Countdown Timer for each question
9. Get Questions
10. Submit Answers
VALIDATION
CHECK
11. Validate answer
12. Return Validation
Result
13. Generate Report
Card
:DB :
Status
14. Set Eligibility Status
Figure 22 Sequence Diagram: Online Certification Test
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 80 | P a g e
6.3 CLASS DIAGRAM
+createUser() : void
-sendEmail() : void
Register
+validateUser() : void
Signin
+createQuest() : void
create_exam
+getFreelancer() : void
Freelancer_list
+getFeed() : void
-count : int
Feedback
+getClient() : void
Client_list
+setUser() : void
Admin_Home
1 *
1
1
*
1
*
+result() : string
+sql() : string
+getDProjectData() : void
f_home
+s() : string
+ConvertImageToByteArray() : void
+getData () : void
+updateAcademics() : void
+updateWork() : void
+updateAddress() : void
+CheckFileType() : bool
+uploadResume() : void
-InsertUpdateData() : bool
+upload_image() : void
+retrieve_img() : void
Fprofile
+dayleft() : int
+hourleft() : int
+minleft() : int
+currentBid() : int
+newBid() : int
+status() : string
+BidTime() : void
+validateBid() : void
+Bid_Project() : void
+getBidder() : void
Project_detail_view
+n() : int
+attempt() : int
+correct() : int
+wrong() : int
+correct_ans() : int
+wrong_ans() : int
+result() : string
+option() : string
+count() : int
+num1() : int
+ans() : string
+getId() : void
+getQues() : void
+correctanswer() : void
+changeQuestion() : void
+certify() : void
exam
+result() : string
+sql() : string
+getData() : void
+getDate() : void
DashBoard
+totalCount() : int
+setUser() : void
Bid_projects
+getData() : void
+setData() : void
Project_View
-s() : string
+filepath() : string
+filename() : string
+ext() : string
+contenttype() : string
-InsertUpdateData() : bool
+fetchResume() : void
ResumeAdd
+AddGlobalChatMsg() : void
+addGlobalChat_Complete() : void
+ContentLoaded() : void
+updateChatArea() : void
+getGlobalChat() : void
+getGlobalChat_Complete() : void
+AngularScope() : void
ChartStart
+CreateUser() : void
+UserCreated() : void
ChatRules
1
1
1
1
1
*
1
1
1
*
1
1
+result() : string
+sql() : string
+getNotify() : void
Client_home
+pid() : int
+gteGridDetails() : void
MyProjects
+dayleft() : int
+hours() : string
+min() : void
+days() : void
+hourleft() : int
+minleft() : int
+dd1() : string
+dd2() : string
+getData() : void
+getBidder() : void
+setBidder() : void
Project_Detail
+getDetails() : void
+sendFile() : void
FileShare
+getDetails() : void
+downloadResume() : void
-GetData() : void
+download() : void
Bidder Detail
+st() : string
+getGridDetails() : void
+setUser() : void
notification
+createProject() : void
create_project
1
*
+getData() : void
client_profile
1
1
*
1
*
1
*
1
*
+result() : string
+sql() : string
+getData() : void
+getDate() : void
DashBoard
1
1
+createPost() : void
+getPostData() : void
+getData() : void
+dt : string
-id : int
+result : string
+sql : string
Forum
1
1
Figure 23 Class Diagram
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 81 | P a g e
6.4 ENTITY RELATIONSHIP DIAGRAM
Client
Username
email password
Project_id
duration
Create
Profile
Sec
HighSec Degree
Post
Projects
Bid_enddate
Details
Category
Project_name
Posting_date
Hour_pay
Create
Admin
username
password
Add
Questions
Answer
QuesID Options
Category
Question
F_name
Country
L_name
Work
Company
DegreePeriod
WorkPeriod
Contact
Image
Freelancer
email
password
F_name
Country
L_name
Exam
examID
eligibility
examDate
examScore
HAS
Gives
First_bid
Payment
receipient
amount
paymentID
date
Makes
receives
Notification
notificationID
Status
notification
date
Checks
Checks
Feedback
feedbackID
Status
feedback
date
receive
sends
1
1
1
1
1
N
N
1
M
N
N M
M
N
1
N
1
N
1
N
Bids On
N
M
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.”
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 82 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 83 | P a g e
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
Form
Test Remedy
1 NF No row of data should contain repeating
group of data and there should be no
non-atomic attributes or nested
relations.
New relations should be formed
with non-atomic values removed
or decomposed into two or more
sub-attributes.
2NF A table to be normalized to 2NF should
already be in 1NF and there must be no
partial dependency of any column on
primary key.
The table should be further
decomposed and a new relation
should be formed for each partial
key along with its dependent
attributes.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 84 | P a g e
3 NF Every non-prime attribute of the table
must be dependent on the primary key.
The table must be in 2NF. There should
be no transitive dependency.
The table should be decomposed
and a new relation should be
formed that includes the non key
attributes which functionally
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 85 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 86 | P a g e
 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
Transitive dependency
examID examDate examScore
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 87 | P a g e
6.6 DATA DICTIONARY
Table
Number
01
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
Description
The table has one to one relationship with profile table.
Table
Number
02
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
Description
This table has relationship with profile table
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 88 | P a g e
Table
Number
03
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
Description
This table has relationship with table “Bidding” &
“user_project_table”
Table
Number
04
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
Description
This table is used for fetching questions at the time of online
certification test.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 89 | P a g e
Table
Number
05
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
Description
This table is has relationship with profile table
Table
Number
06
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
Description
This table has relationship with tbl_eligibility
Table
Number
07
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 90 | P a g e
Relationship
Description
This table has relationship with profile table and tbl_exam
Table
Number
08
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
Description
This table has relationship with “profile”:table and “project” table
Table
Number
09
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
Description
This table has a relationship with “project” and “profile” table
Table
Number
10
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 91 | P a g e
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
Description
This table has relationship with the tables : Project, Bidding, Feedback,
tbl_eligibility, Forum
Table
Number
11
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
Description
This table has relationship with “profile” table
Table
Number
12
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 92 | P a g e
Date datetime No
Foreign key FeedbackID
Relationship
Description
This table has relationship with “profile” table
Table
Number
13
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
Description
This table has a relationship with “profile” table and “ForumComments”
table
Table
Number
14
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
Description
This table has a relationship with “profile” table and “ForumComments”
table
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 93 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 94 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 95 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 96 | P a g e
 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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 97 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 98 | P a g e
7.1.2 TECHNICAL ASPECTS: TOOLS USED FOR MODELLING & IMPLEMENTATION
S.no Development and
Programming IDE’s
Purpose
1 Microsoft Visual Studio
2012
Used as the primary IDE for all coding and
designing purpose.
2 Microsoft SQL Server2008 Used as the backend database to store the details of
operations performed over the system
3 Google Chrome
Mozilla Firefox 2.0/3.0/3.6
Used as the primary and secondary browsers
respectively for all web activities during
development and debugging of the system.
Table 16 Technical Aspects- Development Tools
S.no Case and Documentation
Tools
Purpose
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 99 | P a g e
7.2 IMPLEMENTATION APPROACH FOLLOWED
START
INPUT SYSTEM
DESIGN DOCUMENTS
CREATE DATABASE IN MS SSQL
SERVER 2008
CREATE SYSTEM ARCHITECTURE
IMPLEMENT MODULES AND
CREATE CLASSES
INTEGRATE SYSTEM
IF MODULE’S
IMPLEMENTATION COMPLETE
OUTPUT ALL
DOCUMENTS FOR
SYSTEM TESTING
END
YES
NO
Figure 24 Implementation Approach
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 100 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 101 | P a g e
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.
2. Validators has been applied on the text fields to validate user data
<asp:RequiredFieldValidator
ID="RequiredFieldValidator3"
<asp:RegularExpressionValidator
ID="RegularExpressionValidator1" runat="server"
Creating an SMTP Server using SmtpClient
class of package “System.Net”
Using the Random class to define a set
formed by combination of alphabets and
numeric values
Using the package System.Net
and System.Mail to send email
by the system
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 102 | P a g e
runat="server"
ControlToValidate="email"
Display="Dynamic" ErrorMessage="* Field
cannot be left blank" Font-Bold="True"
Font-Italic="True" ForeColor="#FF3300">
</asp:RequiredFieldValidator>
ControlToValidate="email" Display="Dynamic"
ErrorMessage="* Email address is in wrong
format" Font-Bold="True" Font-Italic="True"
ForeColor="#FF3300"
ValidationExpression="w+([-+.']w+)*@w+([-
.]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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 103 | P a g e
Solution Found for the above problem
Problem identified in using Ajax toolkit controls
Solution For the above problem
The <appSettings>> attribute in the
Web.Config file needed to add a new key
for altering the Validation Settings
The system displayed error and asked the
developer to add a ScriptResourceMapping for
controlling the UnobtrusiveValidationMode of
the webpage
A asp control <ToolkitScriptManager> was
added to the master page which allowed
Ajax controls over the web pages
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 104 | P a g e
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.
After adding ToolkitScriptManager, the developer
had to modify the Register directive of the
master pages and added a tag prefix asp for the
AjaxControlToolKit
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 105 | P a g e
Solution for the above problem
1. Identifying the user by the role they have selected at the time of registration
2. Check for the authentication of the user
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
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
Using the username and password, the
system checks the role of the user and
decides the user category
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 106 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 107 | P a g e
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.
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 108 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 109 | P a g e
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:
MODIFIED CODE SNIPPET:
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.
Display the Project details along
with the bidding status.
Current bid is shown along with the
bidder’s name and bidding time.
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
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 110 | P a g e
SELECT * FROM [project] WHERE ([bid_enddate] >= @bid_enddate) ORDER BY [project_id]
Access Bidder’s name from the Grid view control
ERROR CODE SNIPPET:
Error found:
MODIFIED CODE SNIPPET:
Validate the new bid enteredby the freelancer. It should be at least 2% less than the previous bid
amount.
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)
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.
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.
Problems are being faced in reading the
bidder’s name from the 1st
row and 3rd
column
of the grid view control used to display details
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 111 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 112 | P a g e
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
An Exam ID is
generated for each
test
A countdown timer keeps
counting and displaying the
remaining time for this question
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.
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 113 | P a g e
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.
When the “save answer” button is clicked, the correctness of the selected answer is to be checked
A JavaScript “Timer” has been created
to implement the countdown timer for
each individual question during the
exam
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
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 114 | P a g e
After the completion of the exam, the report card should be generated
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
For every correct answer,
the freelancer gets one
marks
Wrong answer selection
increases the counter
for wrong answer by 1
The report card is generated
after each completion of test
and the result is declared as
either PASS or FAIL
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 115 | P a g e
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.
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.
Notification of total
number of unread
messages are displayed
Option to read and
delete
notifications
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 116 | P a g e
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
CODE SNIPPENTS SHOWING THE IMPLEMENTATION
The .asmx file represents the
addressable entry point for Web
services.
Two JavaScript files has been created
to implement the chat feature
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 117 | P a g e
CODE SNIPPET SHOWING THE GLOBAL CHAT METHOD DEFINITION
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
The GlobalChat methods getGlobalChat() &
getGlobalChat_Complete() reads and sets the
message as arguments and calls the
ChatServices methods under the WebService
directive
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 118 | P a g e
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.
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 119 | P a g e
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:
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
This can be used to search for
posts using keyword search
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 120 | P a g e
MODIFIED CODE SNIPPET:
Problems faced in binding Repeater control with database values
ERROR CODE SNIPPET:
MODIFIED CODE SNIPPET:
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
The EnableSanitization property of HTMLEditorExtender
was turned false which did not required the configuring
of this provider property
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
the binding of each column fetched by the SQL Data Source
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 121 | P a g e
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 user is not the
member of this
system, he can fill the
necessary details and
create his account in
this system
If already a member,
then user can click this
link-button and can
enter the login details
User can
register being a
client or a
freelancer &
become a
member
After clicking this button,
user can create the account
in this system & become a
member
User must accept the
terms & conditions or
else he can’t register
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 122 | P a g e
7.4.2 MODULE: PROFILE CREATION & UPDATING
7.4.3 MODULE: EXAM CATEGORY
User can see their profile
details already stored in the
database
Options to
edit and
update user
profile
User can even change
their profile photo
from here
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 123 | P a g e
7.4.4 MODULE: EXAM
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.
Unique Exam ID &
Username of the user
Time at which exam was started
Timer showing
the remaining
time left for the
questions to be
attempted
Question and the
options to be read &
must be attempted
by the user to move
on to next question
User clicks button to
save the attempted
questions
Note: User must attempt the first question but
the other questions can be left blank which will
be marked as wrong answer
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 124 | P a g e
7.4.5 MODULE: PROJECT DETAILS OF 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
All the details of
the project
posted by the
client
Project ID of the
client
Details of a
freelancer
On clicking this link-
button, user can
download the
resume
Downloading starts,
as the user clicks
“See Resume”
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 125 | P a g e
7.4.7 MODULE: PROJECT ALLOTMENT
7.4.8 MODULE: PROJECT POSTED BY THE CLIENT
The view button
shows the details
of the project
including the
details of the
freelancer who
has placed the
closing bid
Client can download the resume of
freelancer for more details.
Project SRS can be mailed to the Freelancer
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
Project
allotment
status. It
can be
changed
only once
Clients can see their
project’s online bidding
& allotment status
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 126 | P a g e
7.4.9 MODULE: CHAT
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.
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 127 | P a g e
7.4.10 MODULE: DISCUSSION FORUM
Create new post for Discussion Forum
View Forum Posts
Read Post & Post a 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
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
The Post details can
be viewed by
selecting the
“Discussion Forum”
option from the
provided menu bar
Selected
post title
along
with its
details
mention
ed as
header
Text Area enabled with HTML Editor
Extender can be used to post a new
comment
List of all the
comments
posted for
this thread
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 128 | P a g e
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.
Downloading MS SQL Server 2008
http://www.microsoft.com/en-in/download/details.aspx?id=30682
By clicking on this
link, this IDE can
be downloaded
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 129 | P a g e
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
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.
Double Click to start
installation process
of Visual Studio
2012
Double click to start
the installation of
MS SQL Server 2008
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 130 | P a g e
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 131 | P a g e
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:
Figure 25 Testing Strategy Hierarchical Plan
Testing Plan
Unit Testing
Black Box
Testing
White Box
Testing
Interaction
Testing
System
Testing
GUI testing
Usability
Testing
Compatibility
Testing
User
Acceptance
Testing
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 132 | P a g e
Method Application Area Start Date End Date
Unit
Testing
Test the functionalities of each method
and modules by using the black-box
testing and White box testing method.
Errors, including minor errors related
to user data input and data validations,
found during this method were properly
identified and solved.
F
U
N
C
T
I
O
N
A
L
I
T
Y
28 Feb ‘14 12 Mar ‘14
Integration
Testing
Once the functionalities of each module
are tested successfully, the modules are
now integrated together and the
developer used integration testing to
check the module’s inter-connectivity.
13 Mar ‘14 28 Mar ‘14
System
Testing
The developer does GUI testing to
check the appropriateness of the user
interface of the presented system.
User interface
[GUI]
31 Mar ‘14 11 Apr ‘14
This web-application is tested on
different web browsers and operating
systems to ensure its compatibility with
different platforms
Compatibility
The developer conducts usability
testing to check how the system
follows the usability engineering
principles.
Usability
User
Acceptance
Testing
The developer asked different users to
use the system and provide necessary
inputs to check the user acceptability
User
Acceptance 14 Apr ‘14 18 Apr ‘14
Table 18 Types of Testing
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 133 | P a g e
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)
Mr. Anshul Mehra (User)
Admin, Client & Freelancer’s each modules
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)
Mr. Anshul Mehra (User)
System tested on different platforms for
compatibility check
User
Acceptance
Developer (Piyush Kumar)
Mr. Anshul Mehra (User1)
Mr. Satyam Dubey (User2)
User input range in all text fields in overall
system and their validations
Table 19 List of Testers
8.1.3 HARDWARE & SOFTWARE REQUIRED FOR TESTING
Hardware Software
At least 2 Laptops or PCs should be
available and connected to internet
 Windows XP/7/8
 Microsoft Visual studio 2012
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 134 | P a g e
 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)
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 135 | P a g e
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
page. Click Submit
button without filling
the details
The system should show
the error messages for all
the textboxes left blank
Error message
“Field cannot be left
empty” is displayed
Pass
1.2 Fill all details but do
not select the role
System should ask the
user to select a role to
complete the registration
process
System do not allow
registration and asks
the user to select
role
Pass
1.3 Fill all details but do
not check the
checkbox for terms &
conditions
System should display an
error message asking user
to accept the T&C of E-
Freelancing
user is asked to
accept the T&C of
E-Freelancing
Pass
1.4 Fill all details, check
the checkbox for
T&C and click on
submit button.
Registration should be
allowed and user must get
a message to visit their
mail box to get the
password
Message displayed
“Registration
successful. Visit
your email account
for login ID &
Password”
Pass
1.5 Open email account
and check inbox
A new mail should be
there having the Login ID
and Password
Email received by
email account
efreelancingproject
@gmail.com
confirming the
registration and
having a Login ID &
Password
Pass
Table 21 Unit Test: Registration
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 136 | P a g e
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.
no
Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Open login page and
click on login button
without filling
credentials
The system should show
the error messages for the
text boxes left blank
Error message
“Username &
Password field cannot
be left empty” is
displayed
Pass
1.2 Enter any wrong
username and
password
System should prompt an
error message and ask
user to fill details again
Error message is
shown “Either
username or password
is wrong”
Pass
1.3 Enter correct
username and
password but all in
capital letters
System should allow
login and user should be
redirected to the user’s
homepage
System shows an error
message saying
“Either username or
password is wrong”
Fail
(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
username and
password as received
by the email from the
system after
registration
Login should be allowed
to the user and user
should be redirected to
their respective home
pages
System accepts the
login id and password
and access are granted.
User is redirected to
the homepage
Pass
Table 22 Unit Test: Login
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 137 | P a g e
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
Name
Password Change & Recovery
Conducted By Developer (Piyush Kumar)
Objective Test the Change password & recovery module of Client & Freelancer
MODULE EXECUTION
S.
no
Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Go to login page and
select option “forgot
password”
User should be redirected
to password recovery
interface and ask user to
answer a security question
User is redirected to
password recovery
page and a security
question is asked
Pass
1.2 Provide a wrong
answer for the security
question
System should display
error message: answer not
correct. Please try again
System showed error
message and asked
user to answer again
Pass
1.3 Provide the correct
answer for the security
question
User’s password should
be displayed along with
option to change password
User’s password is
shown and is asked if
user wants to change
password
Pass
1.4 User provides a new
password and clicks
on Confirm Change
Password button
User’s password is
changed and notified back
with a message that
password is changed and
mail is also sent via email
User gets a email
notification of
password change
Pass
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 138 | P a g e
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.
no
Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Select “Post Project”
option from the client’s
menu at the homepage
and click on submit
button without filling
details
Client should get list of
error messages and
should be asked to fill
the project details before
submit
Client is not able to
post project and gets
error messages to fill
details in text fields
Pass
1.2 Submit all fields with
valid details and click
on enter button
Project should be posted
and client should be
notified about the
successful project
creation
Project posted
successfully and client
is notified
Pass
1.3 Select Update project
option from menu and
select a project to
update
Project details should be
already filled in text
boxes and user should
be asked to make
changes before updating
Textboxes are filled
with already stored
project details and
client is able to make
updation
Pass
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 139 | P a g e
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
Name
View “My Projects” – Client’s Module
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”
option from the
menu on Client’s
Homepage
A list of all projects
posted by that client is
displayed in a table with
a button for every project
to view the project’s
details
A table is displayed
showing the list of all
the projects posted by
the user and a button
to view details of the
projects
Pass
1.2 Click on View
Details Button for
any one project
The client should be able
to see the details of the
project including the
bidding details
The client is able to
see all the details
related to the project
Pass
1.3 Click on “View”
button on bidding
details table
Client should get a link
to see bidder’s profile
details
Clients gets a link to
see the details of the
current freelancer
bidding on his/her
project
Pass
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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 140 | P a g e
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
and select from
menu “View
Projects in Bidding”
option
Only those projects should
be displayed on which
bidding is still open and
bidding end date & time is
ahead than the present
date & time
A list of all the
projects stored in the
database is displayed,
including projects on
which bidding is
closed
Fail
(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
interest click on
“view details
button”
Freelancer should be able
to see the project details
and current bidding status
Freelancer is able to see
project details with
current bid status and the
remaining time left on
that project for bidding to
end
Pass
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 141 | P a g e
1.3 Submit a bid amount
greater than or equal
to the current bid
being displayed
System should show error
message and ask user to
enter valid bid amount
Bid is submitted and
displayed as the new bid
Fail
(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
which is at least 2%
less than previous
bid value
Bid amount should be
allowed and submitted
Freelancer is able to submit
the bid as the new lowest bid
on that project
Pass
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.
no
Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Just after 1st
login into the
system as
freelancer, click
System should not allow the
user to submit bid until the
user gets certified as eligible
freelancer after passing the
Freelancer is not able
to submit bid and is he
is asked to get certified
before submitting
Pass
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 142 | P a g e
on View Projects
and attempt to
make a bidding
on the project
online certification test bidding
1.2 Start the
certification test
Question should be displayed.
Exam ID should be shown
and countdown timer must be
running for that question
Exam ID is generated
and a countdown timer
of 2 minutes starts for
the 1st
question
Pass
1.3 Do not provide
any answer for
the 1st
question
The system after completion
of 2 minutes of test asks users
to provide an answer else test
won’t be continued
System prompts a
message asking user to
select an answer
Pass
1.4 Provide correct
answers and just
one wrong
answer out of
total questions
and complete the
test
The system should generate a
report card of the exam and
result should be “PASS”
The system generates a
report card indicating
the test result as
“PASS”
Pass
1.5 Go to bidding
page of projects
and try
submitting a new
bid
Freelancer’s bid should be
submitted as a new bid value
Freelancer is able to
submit his bid amount
Pass
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)
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 143 | P a g e
1.1 Open “My Profile”
from menu items
User profile should open
and page should have
links to edit profile
User profile opens with
edit buttons to edit
profile details
Pass
1.2 Enter valid details in
all text fields and
click on save button
Profile should get
updated and user must
be notified
“Profile Updated
Successfully” message
is displayed
Pass
1.3 Select option
“Change profile
photo” from just
below the profile
photo
User should be able to
change photo and user
profile photo should get
changed
User is able to change
profile photo
successfully but the
new profile image is
not being displayed
Fail
(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
open the login page
in two different
browsers
Login page should open
in both browser
Result as expected by
the developer
Pass
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 144 | P a g e
1.2 Sign as client in one
browser and
freelancer in the other
User login should be
allowed with different
roles in the two browsers
Both client and
freelancer login is
allowed
Pass
1.3 Select chat option in
both the browsers to
establish chat
between client and
freelancer
Users should be directed
to the chat start page and
asked to enter desired
chat room name
Users got redirected
to chat start page and
are asked to enter a
desired chat name
Pass
1.4 Enter chat name and
click on “Start chat”
button
Users should be able to
communicate and send
messages to one another
Client and freelancer
were able to see each
other’s message on
their own screen in
different browsers
Pass
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
option from the edit
profile interface
File can be easily fetched
from the storage device
and only .docx and .pdf
format files should be
allowed
All file type are
allowed to be
fetched from the
database
Fail
(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
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 145 | P a g e
again carried out and this time test result came as expected.
1.2 Click on submit
save button
Resume should get uploaded Resume upload is
successful
Pass
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
interface and
click on submit
button
System should prompt
error message
User gets an error
message and asked
to write feedback
subject & body
Fail
1.2 Fill details
properly and
click on submit
button
Feedback should be sent
to admin and user is
notified
Feedback sent and
user gets
confirmation
message
Pass
Conclusion: Feedback module tested and no errors were found.
Table 31 Unit Test: Feedback
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 146 | P a g e
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.
no
Steps Result Expected Actual output Result
(Pass/Fail)
1.1 Go to Forum and
select option
“Start a new post”
User should be able to
see the screen having
certain blank fields to fill
post details. New post
should be successfully
done.
User is able to post a new
thread into the discussion
forum.
Pass
1.2 Select
“Discussion
Forum” option
from the menu
bar
The discussion forum
should display list of all
the threads (posts) posted
by the users of E-
Freelancing.
User is able to see the list
of all posts in the forum
and option to post new
comment is also visible
Pass
1.3 Try to post a new
comment.
New comment must be
posted successfully
User’s new comment is
displayed in the comment
list for that specific post
and the comment count is
increased by 1.
Pass
1.4 Enter any
technical
keyword in the
search bar on the
right corner. For
example: type
“technology” or
“bidding” or
“exam”
All posts having any
such word as whole or as
a part of it, in its title
will be displayed in the
forum posts list.
User typed “technology”
and got few posts having
the term “technology” in
the post’s title.
Pass
Conclusion: Discussion Forum Module is successfully tested and is working error free.
Table 32 Unit Test: Discussion Forum
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 147 | P a g e
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);
E-FREELANCING
PT1081156 Asia Pacific Institute of Information Technology 148 | P a g e
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
K
B
C
I
E
D F
H
J
M
M
A
G
R1
R2
R3
R4
R5
R6
1 XAX
2 XCDEK
3 XCFK
4 XCMGHJK
5 XCMGIJK
6 XCMGHJMJK
7 XCMGIKMJK
Referring to the figure Cyclomatic Complexity
Paths, each circle in the figure are called the flow
graph nodes (N) which represents one or more
procedural statements. The arrows are called
edges (E) or links which represents the flow of
control.
The edges must terminate at a node, even if the
node does not represent any of the procedural
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
coming out of it is called the predicate node (P).
Figure 26 Flow Graph
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 149
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
A = True, C= False
Session not found and the IF
Statement X is to be checked again
Pass
XCDEK
C= True, A= False, D=Client’s
username, E=Bidding time
Session found. Procedural
Statement E is executed
Pass
XCFK
C=True, F= current datetime of
computer
Procedural statement F reads the
current value of Date and time from
the system
Pass
XCMGHJK
C=True, M= Bidder’s name, Eligibility
= true, Bid Amount = True
Eligibility status of Bidder fetched
from database = “Eligible” and Bid
amount = true. Bidding allowed.
Pass
XCMGIJK
C=True, M= Bidder’s Name,
Eligibility= False
Eligibility status of Bidder fetched
from database = “Not Eligible”.
Bidding not allowed.
Pass
XCMGHJMJK
C=True, M= Bidder’s name, Eligibility
= true, Bid amount = invalid
Eligibility status of Bidder fetched
from database = “Eligible” but Bid
amount = false. Bidding not
allowed.
Pass
XCMGIKMJK
C=True, M= Bidder’s Name,
Eligibility= False, Bid amount =
invalid
Eligibility status of Bidder fetched
from database = “Not Eligible” and
Bid amount = false. Bidding not
allowed.
Pass
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 150
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
Name
Integration of modules (Login + Post Project + View Project + See
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
with valid ID
and password
Login should be allowed
and user must be able to
see the menu at homepage
Result as expected Pass
1.2 Try posting a
new project
Project should be posted
online and client must be
redirected to View Project
details page
Result as expected Pass
1.3 Check bidding
details
Client must be able to see
the current bid on his/her
project, current bidder and
the following bidder’s
name
Bidding details is
displayed
Pass
1.4 Check
notifications (if
any)
Client must get notified
about all unread messages
and notifications received
Notification received
but includes
notification even
about unread
messages
Fail
(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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 151
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
Name
Integration of modules (Login + Browse Projects + View Project
Detail+ See Bid Details + Submit Bid) + Logout)
Conducted
By
Developer (Piyush Kumar)
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
into the
system
Freelancer should be
allowed login and should
be able to browse through
the menu provided
Freelancer is able to
login and browse the
menu items at the
homepage and
session maintained
well
Pass
1.2 Browse for
bid open
projects and
view details
Only those projects must
be displayed on which
bidding is still open and
details can be viewed
Result as expected.
Freelancer is able to
see project details
Pass
1.3 Submit bid New bid must be validated
properly and submitted as
new current bid
Result as expected Pass
Conclusion: Integration Successful
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 152
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
Name
Integration of modules (Online Exam + Feedback + Admin) for
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 and try
creating a
question set
Admin can successfully
create a new question set
Question set is
successfully created
Pass
1.2 Login as
Freelancer and
start test
Questions created by
admin should be displayed
in proper format with
timers for each question
Result similar to that
of expectations.
Timers working well
for all questions
Pass
1.3 Try sending
feedback to
admin
regarding
question
category and
question set
Feedback should be sent
by freelancer and received
by admin
Admin is able to
view the feedback
sent by Freelancer
Pass
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
Name
Integration of modules Report Viewing
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 153
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
category
Report category must be
displayed and selected
Result as expected Pass
1.2 Click on
generate report
Requested report must be
generated and displayed to
user
Crystal report
generation is
successful
Pass
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
Name
GUI Testing Test Case Number GT-eF1
Performed by Piyush Kumar (Developer)
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 154
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
Buttons
Do all buttons have proper text on them?  Yes
Do they indicate the appropriate action?  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)?
 Yes
Text Boxes 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?
 Yes
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
Design
Is the screen layout helpful to the user in
searching for particular function availability?
 Yes
Are the graphics and texts properly arranged
and easy to use?
 Yes
Combo
boxes
Are they placed at right positions?  Yes
Do they have appropriate values?  Yes
Do the values change performing
accordingly?
 Yes
Color Are the colors used consistent throughout the
system?
 Yes
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 155
Are the colors giving too much strain to the
eyes?
 Yes 
Are the colors appealing?  Yes
Form
Labels
Do the label sizes and lengths are appropriate.
 Yes
Are the labels given proper text so that they
describe properly what they meant?
 Yes
Are the form labels’ lengths sufficient to
accommodate common screen solution?
 Yes
Messages Are the error messages clear and descriptive? Yes
Do the error messages having non-useful
information?
 Yes 
Fonts Are the used fonts consistent throughout the
system?
 Yes
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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 156
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 157
Figure 27 Compatibility Testing – Web Browsers
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.
0
2
4
6
8
10
Google
Chrome
Mozilla
Firefox
Opera NetScape Internet
Explorer
Web Browser Compatibility
0
2
4
6
8
10
Windows XP Windows 7/8 Linux
Operating System Compatibility
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 158
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.
no
Name Designation Relevancy to
the system
Justification for system
1 Mr. Anshul
Mehra
Student Admin Module He has good knowledge about
using computers and thus, he
can identify the flaws and
goods in the admin module
2 Mr. Abhishek
Tiwari
Asst. System
Analyst (India
Bulls)
Client Module He works in an IT company
and thus, he is well known to
the requirements of a Client
and that given in the project
3. Mr. Satyam
Dubey
IT Graduate Freelancer
Module
A IT student can very well give
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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 159
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 
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 160
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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 161
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 162
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 163
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:
The modules of this system have been accessed based on the success criteria defined.
System
Requirements
Functional
Requirements
Ease of Use Project
Documentation
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 164
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
Microsoft Visual Studio 2012
Y
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 &
Password
Y
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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 165
Allow freelancer to upload resume & Client to
download it
Y
Assist users with proper help by providing tooltips
on controls over the system interface
Y
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 166
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 167
 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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 168
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 169
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 170
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].
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 171
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].
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 172
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 173
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 174
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 175
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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 176
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:
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 177
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
groups of people who had no idea of
bidding either online or offline.
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.
People having their own business
sometimes indulged themselves in
using sites like Facebook or twitter.
Sufficient Idea(55%)
Very Little (25%)
No Idea(20%)
Almost Everyday (65%)
Sometimes (15%)
Very Rarely (20%)
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 178
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.
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
over online project outsourcing. But
still those who are active internet users,
they have no problem in using online
project outsourcing facilities. Some of
the respondents had no idea of online
outsourcing and some had just partial
trust over such procedures. Majority of
the respondents favored online project
outsourcing.
Only Once (40%)
More than a Single Time(30%)
Never(30%)
Yes,
Completely(40%)
Yes, But
Partially(25%)
No(10%)
No idea about
online
outsourcing(20%)
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 179
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
by a project developer.
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.
Database Concepts(30%)
Testing(15%)
Documentation & Implementation(25%)
Web-Designing(30%)
Application(20%)
Program Solution& Debugging(35%)
Basic Logo Design(15%)
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 180
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.
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.
Email(30%)
Text Chatting(35%)
Discussion Board(25%)
2 days(60%)
3 days(15%)
Less than 24 hours(20%)
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 181
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.
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.
Simple(25%)
Very Hard(10%)
Partially Hard(20%)
Mixed(45%)
Online Payment(65%)
Cash on Delivery(35%)
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 182
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%)
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 183
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.
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
0%
10%
20%
30%
40%
50%
< 1 day 1-2 Days Max = 2 Days Atleast 3 Days
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 184
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.
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.
0
1
2
3
4
5
6
7
8
Basic Projects Web Solution Databse & Network
Solutions
Major bulky projects
0
1
2
3
4
5
6
7
Java Core .NET Framework Operating systems Database Systems
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 185
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.
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.
0
2
4
6
8
10
Very much trustworthy Partial reliability Do not trust Little trust
0
5
10
15
Debit/Credit card
payment
Pay via Cheque Cash Deposit Hand to hand payment
0
2
4
6
8
10
Subjective pattern Objective pattern MCQs Others
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 186
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 187
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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 188
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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 189
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 190
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 191
 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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 192
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:
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 193
 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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 194
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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 195
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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 196
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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 197
 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/
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 198
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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 199
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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 200
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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 201
 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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 202
 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.
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 203
 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
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 204
APPENDIX H: LOG SHEETS
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 205
APPENDIX I: FAST TRACK ETHICAL FORM
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 206
APPENDIX J: SAMPLE QUESTIONNAIRE
& INTERVIEW (FILLED)
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 207
APPENDIX K: GANTT CHART

More Related Content

PPTX
Blockchain Technology ppt project.pptx
PPTX
CATCH-UP-FRIDAYS_ORIENTATION-PRESENTATION.pptx
DOCX
Ngo management system.
PDF
CHEd Memorandum Order No. 20 s2013 - General Education Curriculum
PPTX
e-commerce web site project
DOCX
đồ án 2.docx
PDF
RapportPFE_IngenieurInformatique_ESPRIT
PPTX
DEVSECOPS.pptx
Blockchain Technology ppt project.pptx
CATCH-UP-FRIDAYS_ORIENTATION-PRESENTATION.pptx
Ngo management system.
CHEd Memorandum Order No. 20 s2013 - General Education Curriculum
e-commerce web site project
đồ án 2.docx
RapportPFE_IngenieurInformatique_ESPRIT
DEVSECOPS.pptx

What's hot (20)

PDF
Sdd template
PDF
Final document of software project
DOCX
Student database management system PROJECT
PDF
Property management system database
DOC
Hostel management system srs
DOCX
Computer science internship report
PDF
Smart attendance system using facial recognition
DOC
Software design specification
PDF
Speech recognition project report
PDF
Android College Application Project Report
PDF
SDD-FinalYearProject
PPTX
SRS Document For Instagram
DOCX
srs for railway reservation system
PDF
SRS for student database management system
DOCX
Final project report of a game
DOC
Software Design Description (SDD) sample
DOCX
Software requirements specification
DOC
Online Shopping System Test case Writing
PDF
Chat Application [Full Documentation]
DOC
Football League Management System Final Year Report
Sdd template
Final document of software project
Student database management system PROJECT
Property management system database
Hostel management system srs
Computer science internship report
Smart attendance system using facial recognition
Software design specification
Speech recognition project report
Android College Application Project Report
SDD-FinalYearProject
SRS Document For Instagram
srs for railway reservation system
SRS for student database management system
Final project report of a game
Software Design Description (SDD) sample
Software requirements specification
Online Shopping System Test case Writing
Chat Application [Full Documentation]
Football League Management System Final Year Report
Ad

Similar to E-FREELANCING - MAJOR/FINAL YEAR PROJECT DOCUMENTATION (20)

PDF
Strategic Technology Roadmap Houston Community College 2005
PDF
It project development fundamentals
PDF
4 g americas developing integrating high performance het-net october 2012
PDF
Tellurium 0.6.0 User Guide
PDF
FCC Interop Board Final Report 05 22 12
PDF
A Real Time Application Integration Solution
PDF
Protective Device Coordination
PDF
Staff Report and Recommendations in Value of DER, 10-27-16
PDF
Unigraphics Full.......
PDF
Graduation Report
PDF
Cub cadet 8404 tractor service repair manual
PDF
Cub cadet 8354 tractor service repair manual
PDF
Cub cadet 8354 tractor service repair manual
PDF
Cub cadet 8404 tractor service repair manual
PDF
Cub cadet 8404 tractor service repair manual
PDF
Cub cadet 8404 tractor service repair manual
PDF
Cub cadet 8354 tractor service repair manual
PDF
Cub cadet 8354 tractor service repair manual
Strategic Technology Roadmap Houston Community College 2005
It project development fundamentals
4 g americas developing integrating high performance het-net october 2012
Tellurium 0.6.0 User Guide
FCC Interop Board Final Report 05 22 12
A Real Time Application Integration Solution
Protective Device Coordination
Staff Report and Recommendations in Value of DER, 10-27-16
Unigraphics Full.......
Graduation Report
Cub cadet 8404 tractor service repair manual
Cub cadet 8354 tractor service repair manual
Cub cadet 8354 tractor service repair manual
Cub cadet 8404 tractor service repair manual
Cub cadet 8404 tractor service repair manual
Cub cadet 8404 tractor service repair manual
Cub cadet 8354 tractor service repair manual
Cub cadet 8354 tractor service repair manual
Ad

Recently uploaded (20)

PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Introduction to Artificial Intelligence
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
history of c programming in notes for students .pptx
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Nekopoi APK 2025 free lastest update
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Transform Your Business with a Software ERP System
PDF
Design an Analysis of Algorithms I-SECS-1021-03
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Introduction to Artificial Intelligence
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
history of c programming in notes for students .pptx
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Odoo POS Development Services by CandidRoot Solutions
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Nekopoi APK 2025 free lastest update
Wondershare Filmora 15 Crack With Activation Key [2025
How to Migrate SBCGlobal Email to Yahoo Easily
Design an Analysis of Algorithms II-SECS-1021-03
Understanding Forklifts - TECH EHS Solution
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Transform Your Business with a Software ERP System
Design an Analysis of Algorithms I-SECS-1021-03

E-FREELANCING - MAJOR/FINAL YEAR PROJECT DOCUMENTATION

  • 1. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 1 | P a g e 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
  • 2. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 2 | P a g e 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
  • 3. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 3 | P a g e 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
  • 4. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 4 | P a g e 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
  • 5. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 5 | P a g e 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
  • 6. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 6 | P a g e 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
  • 7. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 7 | P a g e 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.
  • 8. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 8 | P a g e 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.
  • 9. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 9 | P a g e 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
  • 10. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 10 | P a g e 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.
  • 11. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 11 | P a g e 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 User Registration Guest users can register on this web application by providing the required user details. Users at the time have registration have to 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. Member Login Users can use the login ID and password sent to their email id to 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 Project Creation & Posting Clients can anytime create projects and post it online on E- Freelancing which will be viewed by all the freelancers and Bidding process can be started on these projects
  • 12. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 12 | P a g e View Projects Open for Online Bidding Freelancers could be able to see only those projects whose date & time of closing the bidding process is still to come and currently bidding is going on. Projects whose bidding time is over will not be displayed as available projects Online Project Bidding Freelancers can browse for the projects open for bidding and they can place their own bid amount. It must be noted that the new bid amount should be at least 2% lesser than the previous Bid value on that project. Edit & Update profile Both Clients and Freelancers will have the privilege to edit their profile details and update it anytime and any number of times. This data is to be viewed by the Clients at the time of project allotment. View Reports Freelancer may see reports regarding their project allotments to 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. Notifications Freelancers and Clients get notified for any messages received to 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. Upload/Download Freelancer’s Resume Freelancers have the facility to upload their current resumes online and Clients on the other hand will be able to download resumes uploaded by Freelancers. This enhances and improves the hiring procedure of freelancers for projects. Password Change & Recovery Though the users get their Login ID & Password via email, they will have the privilege to change their password anytime by following a safe procedure. In case users forget their password, it can be recovered by using the “Password Recovery” feature.
  • 13. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 13 | P a g e Feedback The freelancers can also send feedback to the admin for certain 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 View Current Bidding Status on Projects E-Freelancing will have a vast accessibility via internet and thus, until the bidding is open for a particular project, the project will face 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 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 payment which the client can do to E-Freelancing for the facilities provided 1.8.3 ADVANCED FEATURES FEATURES DESCRIPTION Online Certification Test 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 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. Dash Board Both the users, clients and freelancers, will get the facility of a dashboard where they can see their profile details, and details related to other activities they performed.
  • 14. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 14 | P a g e 1.8.3 SPECIAL FEATURES FEATURES DESCRIPTION Chatting Client & Freelancer would be able to do test chatting by using this 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. File Transfer & Sharing via Email At the time of project posting, Clients do not provide the full project specification. Once the project bidding is completed, Clients will have the privilege to send/transfer the SRS of the project to their Freelancers for better understanding of the project. Discussion Board Discussion board is a place where users see details of all their major 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.
  • 15. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 15 | P a g e 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.
  • 16. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 16 | P a g e 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
  • 17. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 17 | P a g e 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.
  • 18. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 18 | P a g e 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 authorization for each user The users visiting the website will be asked for a secure username and password which will be provided to them only if they sign in using a valid email address and the username must be unique Centralized Database This will be used to handle all the data of almost every activity 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
  • 19. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 19 | P a g e 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 all activities Reports will be generated for most of the activities and thus, the user will be able to keep track of their activities by seeing their reports Profile Creation & Updating The users, both, client and freelancer will be asked to provide details so that a complete profile could be created and it can be 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 Payment Gateway Integration The developer will try his best to implement this functionality in the system so that the users can be availed with a payment facility too for their projects. Table 2: Recommended Solution for Identified Problems
  • 20. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 20 | P a g e 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
  • 21. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 21 | P a g e 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.
  • 22. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 22 | P a g e 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. 0 2,000,000 4,000,000 6,000,000 8,000,000 Registered Users Projects Posted
  • 23. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 23 | P a g e  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.
  • 24. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 24 | P a g e 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
  • 25. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 25 | P a g e 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.
  • 26. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 26 | P a g e 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.
  • 27. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 27 | P a g e 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
  • 28. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 28 | P a g e 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
  • 29. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 29 | P a g e 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
  • 30. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 30 | P a g e 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 Population (Year 2013) Internet Users (Year 2000) Internet Users (Year 2012) Facebook Users (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
  • 31. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 31 | P a g e 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.
  • 32. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 32 | P a g e 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
  • 33. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 33 | P a g e  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.
  • 34. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 34 | P a g e 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).
  • 35. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 35 | P a g e 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
  • 36. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 36 | P a g e 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
  • 37. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 37 | P a g e 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
  • 38. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 38 | P a g e 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
  • 39. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 39 | P a g e 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.
  • 40. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 40 | P a g e  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
  • 41. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 41 | P a g e 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.
  • 42. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 42 | P a g e 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.
  • 43. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 43 | P a g e 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.
  • 44. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 44 | P a g e 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
  • 45. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 45 | P a g e 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
  • 46. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 46 | P a g e  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]
  • 47. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 47 | P a g e 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.
  • 48. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 48 | P a g e 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.
  • 49. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 49 | P a g e 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 Table 5 Risk Analysis 0 1 2 3 4 5 6 7 8 Requirement Change Hardware Failure New Technology Developer's Health Issues Unclear Requirements
  • 50. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 50 | P a g e RISK ASSESSMENT RISK CONTROL No. Risk Identification Risk Analysis Risk Priority Risk Management Probability Impact Exposure 1 Due to New Technology 0.7 7 4.9 1 A proper training should be conducted prior to development phase 2 Requirement Changes 0.5 8 4.0 2 Proper procedure should be defined to handle requirement changes 3 Unclear Requirements 0.4 7 2.8 3 Requirement analysis should be done and performed well 4 Hard/Softwar e Failure 0.4 9 3.6 4 Back up of data should be maintained regularly. 5 Developer’s Health Issues 0.3 9 2.7 5 Weekends can be utilized for overtime work. Working conditions should be comfortable since beginning. Table 6 Risk Assessment & Control
  • 51. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 51 | P a g e 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 Diagram Architecture Design Interface Design Navigation Design Database Design Figure 14 Design Strategy Used
  • 52. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 52 | P a g e 6.2.1 USE CASE DIAGRAMS USE CASE DIAGRAM AND SPECIFICATION: E-FREELANCING Admin Register/Login * * Reports Management Payment * * * * Project Creation/Updation/Deletion * * Online Certification Exam Online Project Binding Chat * * * * Client * * * * * * * * * * Freelancer * * * * * * * * * * Discussion Forum * * * * * * Figure 15 Use Case - E-Freelancing
  • 53. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 53 | P a g e Use Case Name: Client Client Post Project * * Payment via Credit Card View Reports * * * * Login * * View Project Register Payment via Debit Card «extends» Payment «extends» * * <<include>> <<include>> <<include>> Select report type View Bid Details * * Chat with Freelancer «extends» Check notification * * «uses» Read Delete «extends» «extends» Figure 16 Use Case- Client
  • 54. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 54 | P a g e USE CASE NAME: FREELANCER Freelancer View Project * * Browse Project View Reports * * * * Login * * View Profile Register Complete Certification Test Bid on Project «extends» * * <<include>> <<include>> <<include>> Select report type See project allotment report * * Chat with Client «extends» Check notification * * Read Delete «extends» «extends» <<include>> <<include>> Figure 17 Use Case- Freelancer
  • 55. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 55 | P a g e 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:
  • 56. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 56 | P a g e 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 Client Fill & Submit Profile Details * * Create Acocunt & Notify User Validate Profile Details Enter Email ID Generate Password & send Confirmation mail to user * * * * <<include>> * * Freelancer * * * * Table 7 Sub Use Case - Registration
  • 57. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 57 | P a g e 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.
  • 58. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 58 | P a g e 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 Client Create Project * * View Projects Login «uses» «uses» Enter Project Details Store Project details into database * * Update Project View Bid Status View Bidder Details «extends» «extends» «extends» * * <<include>> Table 8 Sub Use Case - Project Creation & Updating
  • 59. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 59 | P a g e Use Case Name: Online Certification Test Use Case ID: UC- eF3 Scope: E-Freelancing Level: User Goal Primary Actors: Administrator, Freelancers 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 Guarantee: After finishing the certification test, the freelancer is able to see the 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:
  • 60. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 60 | P a g e 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 Client Create Test * * Take Test Update Question Details Select Exam Category * * Select Exam Category Cancel Test View Reports «extends» * * <<include>> System under discussion Store Question Details in Database * * Freelancer * * <<include>> «extends» Enter Question Details <<include>> Table 9 Sub Use Case-Online Certification Test
  • 61. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 61 | P a g e Use Case Name: Online project Bidding Use Case ID: UC- eF4 Scope: E-Freelancing Level: User Goal Primary Actors: Client, Freelancers 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 Condition  Available projects, if any, are displayed and their current bid status can be 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 Guarantee: Upon successful bid submission, the freelancer is able to see his/her name 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.
  • 62. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 62 | P a g e 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 Freelancer Browse Available Projects * * Check Current Bid on Projects Validate Bid Amount * * * * System under discussion * * Client * * View Project Details * * Place New Bid «extends» Get Notification * * «extends» Table 10 Sub Use Case- Online Project Bidding
  • 63. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 63 | P a g e 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 Guarantee: A payment slip is either generated or displayed to the user after a 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
  • 64. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 64 | P a g e 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 Occurrence Payment can be done once only after the successful bidding process is conducted. Sub Use Case: Payment Client Select Amount * * Receive Payment & Generate Receipt Receive Payment By System * * * * System under discussion * * Freelancer Select Payment Type * * Receive Payment Notification/Receipt Payment via Debit Card «extends» Payment via Credit Card «extends» Table 11 Sub Use Case - Payment
  • 65. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 65 | P a g e Use Case Name: Report Management Use Case ID: UC- eF6 Scope: E-Freelancing Level: User Goal Primary Actors: Admin, Clients, Freelancers 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 Guarantee: A crystal report is generated showing the details very clearly. 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
  • 66. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 66 | P a g e 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 Freelancer Select Report Type * * View Report Generate Report * * * * * * Client * * Table 12 Sub Use Case - View Report
  • 67. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 67 | P a g e 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.
  • 68. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 68 | P a g e 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 Client Create new Post * * View all Posts Login «uses» «uses» Enter Post Details Store Post details into database * * Delete Post Read Post Post a comment «extends» «extends» «extends» * * <<include>> System under discussion Store all comments * * Freelancer * * * * Table 13 Sub Use Case- Discussion Forum
  • 69. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 69 | P a g e 6.2.2 ACTIVITY DIAGRAMS REGISTRATION: ACTIVITY DIAGRAM CLIENT / FREELANCER ADMINISTRATOR SYSTEM Fill User Details Submit Validate Details CreateAccount Get Password via email Complete Registration Registration Complete Start <<Data Store>> register [Invalid] [Valid]
  • 70. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 70 | P a g e LOGIN: ACTIVITY DIAGRAM
  • 71. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 71 | P a g e PROJECT BIDDING: ACTIVITY DIAGRAM CLIENT SYSTEM FREELANCER Create Project Enter Proposed Bid Enter New Bid Submit Bid Receive Notification Bidding Complet e Start [Invalid] [New bid 2% less than previous bid] Browse Projects open for Bidding Check Current Bid <<Data Store>> projects Enter New Bid See Bid Details Close Bidding on Bid Time Completion
  • 72. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 72 | P a g e ONLINE EXAM: ACTIVITY DIAGRAM FREELANCER ADMIN SYSTEM Select Category Start Exam Complete Test Count as correct answer View Test Result Start [Correct] Get Questions Select Answer <<Data Store>> tbl_quest_bank Validate Answer Exam Successfully completed Calculate & Display Result Create Question Sets Count as wrong answer [Wrong] [Pass] [Fail] Online CertificationTest Complete <<Data Store>> User_certification Update Question Sets
  • 73. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 73 | P a g e REPORT VIEWING: ACTIVITY DIAGRAM
  • 74. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 74 | P a g e PAYMENT: ACTIVITY DIAGRAM
  • 75. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 75 | P a g e DISCUSSION FORUM: ACTIVITY DIAGRAM CLIENT / FREELANCER SYSTEM Create new Post Submit Post Details Read Post & comments Notify Post owner about new comment Stop Start Yes View Discussion Forum Select Post <<Data Store>> Forum Post a comment If posts exists No <<Data Store>> ForumComments Store new comment
  • 76. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 76 | P a g e 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. User Register GUI :Mail send Enter User Details Validate Details Invalid Details Store User Details Send Password to user’s mailbox :DataBase : register Notify User to Check Mail Details Validated getMessage("Failed") Figure 18 Sequence Diagram – Registration
  • 77. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 77 | P a g e 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. User LOGIN GUI USERHOME GUI Enter Username VALIDATe(username, Password) [Invalid Details] putSession[“Username”] Redirect :DataBase : register Enter Password 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. CLIENT Post Project GUI 1. Enter Project Name 8. See Project Details 5. Store new Project :DataBase : Bidding 2. Enter Project Details 6. Submit Proposed Bid Amount :DataBase : project 3. Validate Details 4. Invalid Project Details 7. Display Project Bid Status Figure 20 Sequence Diagram: Post Project
  • 78. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 78 | P a g e 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. FREELANCER BIDIDNG GUI 1. Browse/Search projects 3. Display projects available for Bidding 6. Validate Bid Amount :DataBase : register 7. [Bid amount not 2% less than previous Bid] 2. Check for Available Projects 4. Check Current Bid 5. Place new Bid 8. Valid Bid Amount 10.Store New Bid Authentication getMessage setMessage(Bid Failed) setMessage(Bid Placed) Figure 21 Sequence Diagram: Project Bidding
  • 79. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 79 | P a g e 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. CLIENT CREATE EXAM GUI 1. Select Exam Category 3. Store Question Set :DataBase : tbl_quest_bank 2, Add Question Details with options & answer 4.GetMessage(“Question Set Created”) FREELANCER EXAM START GUI 1. Select Exam Category 8. Show remaining time for finishing exam 5. Get Questions for selected category :DataBase : tbl_quest_bank 2. Start Exam 6. Submit Proposed Bid Amount 3. Generate Exam ID 4. Display Exam ID 6. Display Exam Questions 7. Start Countdown Timer for each question 9. Get Questions 10. Submit Answers VALIDATION CHECK 11. Validate answer 12. Return Validation Result 13. Generate Report Card :DB : Status 14. Set Eligibility Status Figure 22 Sequence Diagram: Online Certification Test
  • 80. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 80 | P a g e 6.3 CLASS DIAGRAM +createUser() : void -sendEmail() : void Register +validateUser() : void Signin +createQuest() : void create_exam +getFreelancer() : void Freelancer_list +getFeed() : void -count : int Feedback +getClient() : void Client_list +setUser() : void Admin_Home 1 * 1 1 * 1 * +result() : string +sql() : string +getDProjectData() : void f_home +s() : string +ConvertImageToByteArray() : void +getData () : void +updateAcademics() : void +updateWork() : void +updateAddress() : void +CheckFileType() : bool +uploadResume() : void -InsertUpdateData() : bool +upload_image() : void +retrieve_img() : void Fprofile +dayleft() : int +hourleft() : int +minleft() : int +currentBid() : int +newBid() : int +status() : string +BidTime() : void +validateBid() : void +Bid_Project() : void +getBidder() : void Project_detail_view +n() : int +attempt() : int +correct() : int +wrong() : int +correct_ans() : int +wrong_ans() : int +result() : string +option() : string +count() : int +num1() : int +ans() : string +getId() : void +getQues() : void +correctanswer() : void +changeQuestion() : void +certify() : void exam +result() : string +sql() : string +getData() : void +getDate() : void DashBoard +totalCount() : int +setUser() : void Bid_projects +getData() : void +setData() : void Project_View -s() : string +filepath() : string +filename() : string +ext() : string +contenttype() : string -InsertUpdateData() : bool +fetchResume() : void ResumeAdd +AddGlobalChatMsg() : void +addGlobalChat_Complete() : void +ContentLoaded() : void +updateChatArea() : void +getGlobalChat() : void +getGlobalChat_Complete() : void +AngularScope() : void ChartStart +CreateUser() : void +UserCreated() : void ChatRules 1 1 1 1 1 * 1 1 1 * 1 1 +result() : string +sql() : string +getNotify() : void Client_home +pid() : int +gteGridDetails() : void MyProjects +dayleft() : int +hours() : string +min() : void +days() : void +hourleft() : int +minleft() : int +dd1() : string +dd2() : string +getData() : void +getBidder() : void +setBidder() : void Project_Detail +getDetails() : void +sendFile() : void FileShare +getDetails() : void +downloadResume() : void -GetData() : void +download() : void Bidder Detail +st() : string +getGridDetails() : void +setUser() : void notification +createProject() : void create_project 1 * +getData() : void client_profile 1 1 * 1 * 1 * 1 * +result() : string +sql() : string +getData() : void +getDate() : void DashBoard 1 1 +createPost() : void +getPostData() : void +getData() : void +dt : string -id : int +result : string +sql : string Forum 1 1 Figure 23 Class Diagram
  • 81. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 81 | P a g e 6.4 ENTITY RELATIONSHIP DIAGRAM Client Username email password Project_id duration Create Profile Sec HighSec Degree Post Projects Bid_enddate Details Category Project_name Posting_date Hour_pay Create Admin username password Add Questions Answer QuesID Options Category Question F_name Country L_name Work Company DegreePeriod WorkPeriod Contact Image Freelancer email password F_name Country L_name Exam examID eligibility examDate examScore HAS Gives First_bid Payment receipient amount paymentID date Makes receives Notification notificationID Status notification date Checks Checks Feedback feedbackID Status feedback date receive sends 1 1 1 1 1 N N 1 M N N M M N 1 N 1 N 1 N Bids On N M 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.”
  • 82. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 82 | P a g e 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.
  • 83. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 83 | P a g e 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 Form Test Remedy 1 NF No row of data should contain repeating group of data and there should be no non-atomic attributes or nested relations. New relations should be formed with non-atomic values removed or decomposed into two or more sub-attributes. 2NF A table to be normalized to 2NF should already be in 1NF and there must be no partial dependency of any column on primary key. The table should be further decomposed and a new relation should be formed for each partial key along with its dependent attributes.
  • 84. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 84 | P a g e 3 NF Every non-prime attribute of the table must be dependent on the primary key. The table must be in 2NF. There should be no transitive dependency. The table should be decomposed and a new relation should be formed that includes the non key attributes which functionally 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
  • 85. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 85 | P a g e 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.
  • 86. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 86 | P a g e  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 Transitive dependency examID examDate examScore 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.
  • 87. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 87 | P a g e 6.6 DATA DICTIONARY Table Number 01 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 Description The table has one to one relationship with profile table. Table Number 02 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 Description This table has relationship with profile table
  • 88. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 88 | P a g e Table Number 03 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 Description This table has relationship with table “Bidding” & “user_project_table” Table Number 04 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 Description This table is used for fetching questions at the time of online certification test.
  • 89. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 89 | P a g e Table Number 05 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 Description This table is has relationship with profile table Table Number 06 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 Description This table has relationship with tbl_eligibility Table Number 07 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
  • 90. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 90 | P a g e Relationship Description This table has relationship with profile table and tbl_exam Table Number 08 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 Description This table has relationship with “profile”:table and “project” table Table Number 09 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 Description This table has a relationship with “project” and “profile” table Table Number 10 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
  • 91. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 91 | P a g e 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 Description This table has relationship with the tables : Project, Bidding, Feedback, tbl_eligibility, Forum Table Number 11 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 Description This table has relationship with “profile” table Table Number 12 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
  • 92. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 92 | P a g e Date datetime No Foreign key FeedbackID Relationship Description This table has relationship with “profile” table Table Number 13 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 Description This table has a relationship with “profile” table and “ForumComments” table Table Number 14 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 Description This table has a relationship with “profile” table and “ForumComments” table
  • 93. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 93 | P a g e 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
  • 94. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 94 | P a g e 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
  • 95. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 95 | P a g e 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.
  • 96. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 96 | P a g e  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
  • 97. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 97 | P a g e 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
  • 98. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 98 | P a g e 7.1.2 TECHNICAL ASPECTS: TOOLS USED FOR MODELLING & IMPLEMENTATION S.no Development and Programming IDE’s Purpose 1 Microsoft Visual Studio 2012 Used as the primary IDE for all coding and designing purpose. 2 Microsoft SQL Server2008 Used as the backend database to store the details of operations performed over the system 3 Google Chrome Mozilla Firefox 2.0/3.0/3.6 Used as the primary and secondary browsers respectively for all web activities during development and debugging of the system. Table 16 Technical Aspects- Development Tools S.no Case and Documentation Tools Purpose 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
  • 99. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 99 | P a g e 7.2 IMPLEMENTATION APPROACH FOLLOWED START INPUT SYSTEM DESIGN DOCUMENTS CREATE DATABASE IN MS SSQL SERVER 2008 CREATE SYSTEM ARCHITECTURE IMPLEMENT MODULES AND CREATE CLASSES INTEGRATE SYSTEM IF MODULE’S IMPLEMENTATION COMPLETE OUTPUT ALL DOCUMENTS FOR SYSTEM TESTING END YES NO Figure 24 Implementation Approach
  • 100. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 100 | P a g e 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
  • 101. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 101 | P a g e 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. 2. Validators has been applied on the text fields to validate user data <asp:RequiredFieldValidator ID="RequiredFieldValidator3" <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" Creating an SMTP Server using SmtpClient class of package “System.Net” Using the Random class to define a set formed by combination of alphabets and numeric values Using the package System.Net and System.Mail to send email by the system
  • 102. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 102 | P a g e runat="server" ControlToValidate="email" Display="Dynamic" ErrorMessage="* Field cannot be left blank" Font-Bold="True" Font-Italic="True" ForeColor="#FF3300"> </asp:RequiredFieldValidator> ControlToValidate="email" Display="Dynamic" ErrorMessage="* Email address is in wrong format" Font-Bold="True" Font-Italic="True" ForeColor="#FF3300" ValidationExpression="w+([-+.']w+)*@w+([- .]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
  • 103. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 103 | P a g e Solution Found for the above problem Problem identified in using Ajax toolkit controls Solution For the above problem The <appSettings>> attribute in the Web.Config file needed to add a new key for altering the Validation Settings The system displayed error and asked the developer to add a ScriptResourceMapping for controlling the UnobtrusiveValidationMode of the webpage A asp control <ToolkitScriptManager> was added to the master page which allowed Ajax controls over the web pages
  • 104. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 104 | P a g e 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. After adding ToolkitScriptManager, the developer had to modify the Register directive of the master pages and added a tag prefix asp for the AjaxControlToolKit
  • 105. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 105 | P a g e Solution for the above problem 1. Identifying the user by the role they have selected at the time of registration 2. Check for the authentication of the user 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 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 Using the username and password, the system checks the role of the user and decides the user category
  • 106. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 106 | P a g e 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.
  • 107. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 107 | P a g e 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. 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.
  • 108. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 108 | P a g e 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.
  • 109. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 109 | P a g e 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: MODIFIED CODE SNIPPET: 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. Display the Project details along with the bidding status. Current bid is shown along with the bidder’s name and bidding time. 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 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.
  • 110. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 110 | P a g e SELECT * FROM [project] WHERE ([bid_enddate] >= @bid_enddate) ORDER BY [project_id] Access Bidder’s name from the Grid view control ERROR CODE SNIPPET: Error found: MODIFIED CODE SNIPPET: Validate the new bid enteredby the freelancer. It should be at least 2% less than the previous bid amount. 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) 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. 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. Problems are being faced in reading the bidder’s name from the 1st row and 3rd column of the grid view control used to display details
  • 111. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 111 | P a g e 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.
  • 112. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 112 | P a g e 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 An Exam ID is generated for each test A countdown timer keeps counting and displaying the remaining time for this question 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. 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
  • 113. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 113 | P a g e 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. When the “save answer” button is clicked, the correctness of the selected answer is to be checked A JavaScript “Timer” has been created to implement the countdown timer for each individual question during the exam 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 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
  • 114. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 114 | P a g e After the completion of the exam, the report card should be generated 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 For every correct answer, the freelancer gets one marks Wrong answer selection increases the counter for wrong answer by 1 The report card is generated after each completion of test and the result is declared as either PASS or FAIL
  • 115. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 115 | P a g e 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. 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. Notification of total number of unread messages are displayed Option to read and delete notifications
  • 116. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 116 | P a g e 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 CODE SNIPPENTS SHOWING THE IMPLEMENTATION The .asmx file represents the addressable entry point for Web services. Two JavaScript files has been created to implement the chat feature
  • 117. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 117 | P a g e CODE SNIPPET SHOWING THE GLOBAL CHAT METHOD DEFINITION 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 The GlobalChat methods getGlobalChat() & getGlobalChat_Complete() reads and sets the message as arguments and calls the ChatServices methods under the WebService directive
  • 118. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 118 | P a g e 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.
  • 119. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 119 | P a g e 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: 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 This can be used to search for posts using keyword search 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
  • 120. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 120 | P a g e MODIFIED CODE SNIPPET: Problems faced in binding Repeater control with database values ERROR CODE SNIPPET: MODIFIED CODE SNIPPET: 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 The EnableSanitization property of HTMLEditorExtender was turned false which did not required the configuring of this provider property 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 the binding of each column fetched by the SQL Data Source
  • 121. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 121 | P a g e 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 user is not the member of this system, he can fill the necessary details and create his account in this system If already a member, then user can click this link-button and can enter the login details User can register being a client or a freelancer & become a member After clicking this button, user can create the account in this system & become a member User must accept the terms & conditions or else he can’t register
  • 122. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 122 | P a g e 7.4.2 MODULE: PROFILE CREATION & UPDATING 7.4.3 MODULE: EXAM CATEGORY User can see their profile details already stored in the database Options to edit and update user profile User can even change their profile photo from here 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
  • 123. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 123 | P a g e 7.4.4 MODULE: EXAM 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. Unique Exam ID & Username of the user Time at which exam was started Timer showing the remaining time left for the questions to be attempted Question and the options to be read & must be attempted by the user to move on to next question User clicks button to save the attempted questions Note: User must attempt the first question but the other questions can be left blank which will be marked as wrong answer
  • 124. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 124 | P a g e 7.4.5 MODULE: PROJECT DETAILS OF 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 All the details of the project posted by the client Project ID of the client Details of a freelancer On clicking this link- button, user can download the resume Downloading starts, as the user clicks “See Resume”
  • 125. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 125 | P a g e 7.4.7 MODULE: PROJECT ALLOTMENT 7.4.8 MODULE: PROJECT POSTED BY THE CLIENT The view button shows the details of the project including the details of the freelancer who has placed the closing bid Client can download the resume of freelancer for more details. Project SRS can be mailed to the Freelancer 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 Project allotment status. It can be changed only once Clients can see their project’s online bidding & allotment status
  • 126. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 126 | P a g e 7.4.9 MODULE: CHAT 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. 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
  • 127. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 127 | P a g e 7.4.10 MODULE: DISCUSSION FORUM Create new post for Discussion Forum View Forum Posts Read Post & Post a 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 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 The Post details can be viewed by selecting the “Discussion Forum” option from the provided menu bar Selected post title along with its details mention ed as header Text Area enabled with HTML Editor Extender can be used to post a new comment List of all the comments posted for this thread
  • 128. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 128 | P a g e 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. Downloading MS SQL Server 2008 http://www.microsoft.com/en-in/download/details.aspx?id=30682 By clicking on this link, this IDE can be downloaded 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
  • 129. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 129 | P a g e 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 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. Double Click to start installation process of Visual Studio 2012 Double click to start the installation of MS SQL Server 2008
  • 130. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 130 | P a g e 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
  • 131. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 131 | P a g e 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: Figure 25 Testing Strategy Hierarchical Plan Testing Plan Unit Testing Black Box Testing White Box Testing Interaction Testing System Testing GUI testing Usability Testing Compatibility Testing User Acceptance Testing
  • 132. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 132 | P a g e Method Application Area Start Date End Date Unit Testing Test the functionalities of each method and modules by using the black-box testing and White box testing method. Errors, including minor errors related to user data input and data validations, found during this method were properly identified and solved. F U N C T I O N A L I T Y 28 Feb ‘14 12 Mar ‘14 Integration Testing Once the functionalities of each module are tested successfully, the modules are now integrated together and the developer used integration testing to check the module’s inter-connectivity. 13 Mar ‘14 28 Mar ‘14 System Testing The developer does GUI testing to check the appropriateness of the user interface of the presented system. User interface [GUI] 31 Mar ‘14 11 Apr ‘14 This web-application is tested on different web browsers and operating systems to ensure its compatibility with different platforms Compatibility The developer conducts usability testing to check how the system follows the usability engineering principles. Usability User Acceptance Testing The developer asked different users to use the system and provide necessary inputs to check the user acceptability User Acceptance 14 Apr ‘14 18 Apr ‘14 Table 18 Types of Testing
  • 133. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 133 | P a g e 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) Mr. Anshul Mehra (User) Admin, Client & Freelancer’s each modules 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) Mr. Anshul Mehra (User) System tested on different platforms for compatibility check User Acceptance Developer (Piyush Kumar) Mr. Anshul Mehra (User1) Mr. Satyam Dubey (User2) User input range in all text fields in overall system and their validations Table 19 List of Testers 8.1.3 HARDWARE & SOFTWARE REQUIRED FOR TESTING Hardware Software At least 2 Laptops or PCs should be available and connected to internet  Windows XP/7/8  Microsoft Visual studio 2012
  • 134. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 134 | P a g e  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)
  • 135. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 135 | P a g e 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 page. Click Submit button without filling the details The system should show the error messages for all the textboxes left blank Error message “Field cannot be left empty” is displayed Pass 1.2 Fill all details but do not select the role System should ask the user to select a role to complete the registration process System do not allow registration and asks the user to select role Pass 1.3 Fill all details but do not check the checkbox for terms & conditions System should display an error message asking user to accept the T&C of E- Freelancing user is asked to accept the T&C of E-Freelancing Pass 1.4 Fill all details, check the checkbox for T&C and click on submit button. Registration should be allowed and user must get a message to visit their mail box to get the password Message displayed “Registration successful. Visit your email account for login ID & Password” Pass 1.5 Open email account and check inbox A new mail should be there having the Login ID and Password Email received by email account efreelancingproject @gmail.com confirming the registration and having a Login ID & Password Pass Table 21 Unit Test: Registration
  • 136. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 136 | P a g e 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. no Steps Result Expected Actual output Result (Pass/Fail) 1.1 Open login page and click on login button without filling credentials The system should show the error messages for the text boxes left blank Error message “Username & Password field cannot be left empty” is displayed Pass 1.2 Enter any wrong username and password System should prompt an error message and ask user to fill details again Error message is shown “Either username or password is wrong” Pass 1.3 Enter correct username and password but all in capital letters System should allow login and user should be redirected to the user’s homepage System shows an error message saying “Either username or password is wrong” Fail (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 username and password as received by the email from the system after registration Login should be allowed to the user and user should be redirected to their respective home pages System accepts the login id and password and access are granted. User is redirected to the homepage Pass Table 22 Unit Test: Login
  • 137. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 137 | P a g e 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 Name Password Change & Recovery Conducted By Developer (Piyush Kumar) Objective Test the Change password & recovery module of Client & Freelancer MODULE EXECUTION S. no Steps Result Expected Actual output Result (Pass/Fail) 1.1 Go to login page and select option “forgot password” User should be redirected to password recovery interface and ask user to answer a security question User is redirected to password recovery page and a security question is asked Pass 1.2 Provide a wrong answer for the security question System should display error message: answer not correct. Please try again System showed error message and asked user to answer again Pass 1.3 Provide the correct answer for the security question User’s password should be displayed along with option to change password User’s password is shown and is asked if user wants to change password Pass 1.4 User provides a new password and clicks on Confirm Change Password button User’s password is changed and notified back with a message that password is changed and mail is also sent via email User gets a email notification of password change Pass 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
  • 138. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 138 | P a g e 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. no Steps Result Expected Actual output Result (Pass/Fail) 1.1 Select “Post Project” option from the client’s menu at the homepage and click on submit button without filling details Client should get list of error messages and should be asked to fill the project details before submit Client is not able to post project and gets error messages to fill details in text fields Pass 1.2 Submit all fields with valid details and click on enter button Project should be posted and client should be notified about the successful project creation Project posted successfully and client is notified Pass 1.3 Select Update project option from menu and select a project to update Project details should be already filled in text boxes and user should be asked to make changes before updating Textboxes are filled with already stored project details and client is able to make updation Pass 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
  • 139. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 139 | P a g e 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 Name View “My Projects” – Client’s Module 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” option from the menu on Client’s Homepage A list of all projects posted by that client is displayed in a table with a button for every project to view the project’s details A table is displayed showing the list of all the projects posted by the user and a button to view details of the projects Pass 1.2 Click on View Details Button for any one project The client should be able to see the details of the project including the bidding details The client is able to see all the details related to the project Pass 1.3 Click on “View” button on bidding details table Client should get a link to see bidder’s profile details Clients gets a link to see the details of the current freelancer bidding on his/her project Pass 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
  • 140. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 140 | P a g e 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 and select from menu “View Projects in Bidding” option Only those projects should be displayed on which bidding is still open and bidding end date & time is ahead than the present date & time A list of all the projects stored in the database is displayed, including projects on which bidding is closed Fail (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 interest click on “view details button” Freelancer should be able to see the project details and current bidding status Freelancer is able to see project details with current bid status and the remaining time left on that project for bidding to end Pass
  • 141. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 141 | P a g e 1.3 Submit a bid amount greater than or equal to the current bid being displayed System should show error message and ask user to enter valid bid amount Bid is submitted and displayed as the new bid Fail (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 which is at least 2% less than previous bid value Bid amount should be allowed and submitted Freelancer is able to submit the bid as the new lowest bid on that project Pass 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. no Steps Result Expected Actual output Result (Pass/Fail) 1.1 Just after 1st login into the system as freelancer, click System should not allow the user to submit bid until the user gets certified as eligible freelancer after passing the Freelancer is not able to submit bid and is he is asked to get certified before submitting Pass
  • 142. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 142 | P a g e on View Projects and attempt to make a bidding on the project online certification test bidding 1.2 Start the certification test Question should be displayed. Exam ID should be shown and countdown timer must be running for that question Exam ID is generated and a countdown timer of 2 minutes starts for the 1st question Pass 1.3 Do not provide any answer for the 1st question The system after completion of 2 minutes of test asks users to provide an answer else test won’t be continued System prompts a message asking user to select an answer Pass 1.4 Provide correct answers and just one wrong answer out of total questions and complete the test The system should generate a report card of the exam and result should be “PASS” The system generates a report card indicating the test result as “PASS” Pass 1.5 Go to bidding page of projects and try submitting a new bid Freelancer’s bid should be submitted as a new bid value Freelancer is able to submit his bid amount Pass 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)
  • 143. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 143 | P a g e 1.1 Open “My Profile” from menu items User profile should open and page should have links to edit profile User profile opens with edit buttons to edit profile details Pass 1.2 Enter valid details in all text fields and click on save button Profile should get updated and user must be notified “Profile Updated Successfully” message is displayed Pass 1.3 Select option “Change profile photo” from just below the profile photo User should be able to change photo and user profile photo should get changed User is able to change profile photo successfully but the new profile image is not being displayed Fail (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 open the login page in two different browsers Login page should open in both browser Result as expected by the developer Pass
  • 144. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 144 | P a g e 1.2 Sign as client in one browser and freelancer in the other User login should be allowed with different roles in the two browsers Both client and freelancer login is allowed Pass 1.3 Select chat option in both the browsers to establish chat between client and freelancer Users should be directed to the chat start page and asked to enter desired chat room name Users got redirected to chat start page and are asked to enter a desired chat name Pass 1.4 Enter chat name and click on “Start chat” button Users should be able to communicate and send messages to one another Client and freelancer were able to see each other’s message on their own screen in different browsers Pass 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 option from the edit profile interface File can be easily fetched from the storage device and only .docx and .pdf format files should be allowed All file type are allowed to be fetched from the database Fail (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
  • 145. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 145 | P a g e again carried out and this time test result came as expected. 1.2 Click on submit save button Resume should get uploaded Resume upload is successful Pass 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 interface and click on submit button System should prompt error message User gets an error message and asked to write feedback subject & body Fail 1.2 Fill details properly and click on submit button Feedback should be sent to admin and user is notified Feedback sent and user gets confirmation message Pass Conclusion: Feedback module tested and no errors were found. Table 31 Unit Test: Feedback
  • 146. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 146 | P a g e 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. no Steps Result Expected Actual output Result (Pass/Fail) 1.1 Go to Forum and select option “Start a new post” User should be able to see the screen having certain blank fields to fill post details. New post should be successfully done. User is able to post a new thread into the discussion forum. Pass 1.2 Select “Discussion Forum” option from the menu bar The discussion forum should display list of all the threads (posts) posted by the users of E- Freelancing. User is able to see the list of all posts in the forum and option to post new comment is also visible Pass 1.3 Try to post a new comment. New comment must be posted successfully User’s new comment is displayed in the comment list for that specific post and the comment count is increased by 1. Pass 1.4 Enter any technical keyword in the search bar on the right corner. For example: type “technology” or “bidding” or “exam” All posts having any such word as whole or as a part of it, in its title will be displayed in the forum posts list. User typed “technology” and got few posts having the term “technology” in the post’s title. Pass Conclusion: Discussion Forum Module is successfully tested and is working error free. Table 32 Unit Test: Discussion Forum
  • 147. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 147 | P a g e 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);
  • 148. E-FREELANCING PT1081156 Asia Pacific Institute of Information Technology 148 | P a g e 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 K B C I E D F H J M M A G R1 R2 R3 R4 R5 R6 1 XAX 2 XCDEK 3 XCFK 4 XCMGHJK 5 XCMGIJK 6 XCMGHJMJK 7 XCMGIKMJK Referring to the figure Cyclomatic Complexity Paths, each circle in the figure are called the flow graph nodes (N) which represents one or more procedural statements. The arrows are called edges (E) or links which represents the flow of control. The edges must terminate at a node, even if the node does not represent any of the procedural 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 coming out of it is called the predicate node (P). Figure 26 Flow Graph
  • 149. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 149 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 A = True, C= False Session not found and the IF Statement X is to be checked again Pass XCDEK C= True, A= False, D=Client’s username, E=Bidding time Session found. Procedural Statement E is executed Pass XCFK C=True, F= current datetime of computer Procedural statement F reads the current value of Date and time from the system Pass XCMGHJK C=True, M= Bidder’s name, Eligibility = true, Bid Amount = True Eligibility status of Bidder fetched from database = “Eligible” and Bid amount = true. Bidding allowed. Pass XCMGIJK C=True, M= Bidder’s Name, Eligibility= False Eligibility status of Bidder fetched from database = “Not Eligible”. Bidding not allowed. Pass XCMGHJMJK C=True, M= Bidder’s name, Eligibility = true, Bid amount = invalid Eligibility status of Bidder fetched from database = “Eligible” but Bid amount = false. Bidding not allowed. Pass XCMGIKMJK C=True, M= Bidder’s Name, Eligibility= False, Bid amount = invalid Eligibility status of Bidder fetched from database = “Not Eligible” and Bid amount = false. Bidding not allowed. Pass
  • 150. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 150 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 Name Integration of modules (Login + Post Project + View Project + See 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 with valid ID and password Login should be allowed and user must be able to see the menu at homepage Result as expected Pass 1.2 Try posting a new project Project should be posted online and client must be redirected to View Project details page Result as expected Pass 1.3 Check bidding details Client must be able to see the current bid on his/her project, current bidder and the following bidder’s name Bidding details is displayed Pass 1.4 Check notifications (if any) Client must get notified about all unread messages and notifications received Notification received but includes notification even about unread messages Fail (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.
  • 151. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 151 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 Name Integration of modules (Login + Browse Projects + View Project Detail+ See Bid Details + Submit Bid) + Logout) Conducted By Developer (Piyush Kumar) 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 into the system Freelancer should be allowed login and should be able to browse through the menu provided Freelancer is able to login and browse the menu items at the homepage and session maintained well Pass 1.2 Browse for bid open projects and view details Only those projects must be displayed on which bidding is still open and details can be viewed Result as expected. Freelancer is able to see project details Pass 1.3 Submit bid New bid must be validated properly and submitted as new current bid Result as expected Pass Conclusion: Integration Successful
  • 152. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 152 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 Name Integration of modules (Online Exam + Feedback + Admin) for 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 and try creating a question set Admin can successfully create a new question set Question set is successfully created Pass 1.2 Login as Freelancer and start test Questions created by admin should be displayed in proper format with timers for each question Result similar to that of expectations. Timers working well for all questions Pass 1.3 Try sending feedback to admin regarding question category and question set Feedback should be sent by freelancer and received by admin Admin is able to view the feedback sent by Freelancer Pass 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 Name Integration of modules Report Viewing
  • 153. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 153 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 category Report category must be displayed and selected Result as expected Pass 1.2 Click on generate report Requested report must be generated and displayed to user Crystal report generation is successful Pass 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 Name GUI Testing Test Case Number GT-eF1 Performed by Piyush Kumar (Developer)
  • 154. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 154 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 Buttons Do all buttons have proper text on them?  Yes Do they indicate the appropriate action?  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)?  Yes Text Boxes 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?  Yes 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 Design Is the screen layout helpful to the user in searching for particular function availability?  Yes Are the graphics and texts properly arranged and easy to use?  Yes Combo boxes Are they placed at right positions?  Yes Do they have appropriate values?  Yes Do the values change performing accordingly?  Yes Color Are the colors used consistent throughout the system?  Yes
  • 155. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 155 Are the colors giving too much strain to the eyes?  Yes  Are the colors appealing?  Yes Form Labels Do the label sizes and lengths are appropriate.  Yes Are the labels given proper text so that they describe properly what they meant?  Yes Are the form labels’ lengths sufficient to accommodate common screen solution?  Yes Messages Are the error messages clear and descriptive? Yes Do the error messages having non-useful information?  Yes  Fonts Are the used fonts consistent throughout the system?  Yes 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
  • 156. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 156 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.
  • 157. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 157 Figure 27 Compatibility Testing – Web Browsers 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. 0 2 4 6 8 10 Google Chrome Mozilla Firefox Opera NetScape Internet Explorer Web Browser Compatibility 0 2 4 6 8 10 Windows XP Windows 7/8 Linux Operating System Compatibility
  • 158. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 158 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. no Name Designation Relevancy to the system Justification for system 1 Mr. Anshul Mehra Student Admin Module He has good knowledge about using computers and thus, he can identify the flaws and goods in the admin module 2 Mr. Abhishek Tiwari Asst. System Analyst (India Bulls) Client Module He works in an IT company and thus, he is well known to the requirements of a Client and that given in the project 3. Mr. Satyam Dubey IT Graduate Freelancer Module A IT student can very well give 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
  • 159. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 159 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 
  • 160. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 160 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
  • 161. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 161 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.
  • 162. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 162 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.
  • 163. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 163 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: The modules of this system have been accessed based on the success criteria defined. System Requirements Functional Requirements Ease of Use Project Documentation
  • 164. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 164 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 Microsoft Visual Studio 2012 Y 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 & Password Y 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
  • 165. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 165 Allow freelancer to upload resume & Client to download it Y Assist users with proper help by providing tooltips on controls over the system interface Y 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.
  • 166. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 166 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.
  • 167. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 167  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
  • 168. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 168 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.
  • 169. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 169 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.
  • 170. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 170 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].
  • 171. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 171 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].
  • 172. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 172 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.
  • 173. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 173 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.
  • 174. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 174 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.
  • 175. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 175 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
  • 176. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 176 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:
  • 177. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 177 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 groups of people who had no idea of bidding either online or offline. 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. People having their own business sometimes indulged themselves in using sites like Facebook or twitter. Sufficient Idea(55%) Very Little (25%) No Idea(20%) Almost Everyday (65%) Sometimes (15%) Very Rarely (20%)
  • 178. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 178 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. 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 over online project outsourcing. But still those who are active internet users, they have no problem in using online project outsourcing facilities. Some of the respondents had no idea of online outsourcing and some had just partial trust over such procedures. Majority of the respondents favored online project outsourcing. Only Once (40%) More than a Single Time(30%) Never(30%) Yes, Completely(40%) Yes, But Partially(25%) No(10%) No idea about online outsourcing(20%)
  • 179. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 179 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 by a project developer. 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. Database Concepts(30%) Testing(15%) Documentation & Implementation(25%) Web-Designing(30%) Application(20%) Program Solution& Debugging(35%) Basic Logo Design(15%)
  • 180. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 180 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. 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. Email(30%) Text Chatting(35%) Discussion Board(25%) 2 days(60%) 3 days(15%) Less than 24 hours(20%)
  • 181. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 181 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. 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. Simple(25%) Very Hard(10%) Partially Hard(20%) Mixed(45%) Online Payment(65%) Cash on Delivery(35%)
  • 182. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 182 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%)
  • 183. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 183 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. 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 0% 10% 20% 30% 40% 50% < 1 day 1-2 Days Max = 2 Days Atleast 3 Days
  • 184. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 184 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. 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. 0 1 2 3 4 5 6 7 8 Basic Projects Web Solution Databse & Network Solutions Major bulky projects 0 1 2 3 4 5 6 7 Java Core .NET Framework Operating systems Database Systems
  • 185. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 185 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. 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. 0 2 4 6 8 10 Very much trustworthy Partial reliability Do not trust Little trust 0 5 10 15 Debit/Credit card payment Pay via Cheque Cash Deposit Hand to hand payment 0 2 4 6 8 10 Subjective pattern Objective pattern MCQs Others
  • 186. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 186 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.
  • 187. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 187 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
  • 188. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 188 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
  • 189. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 189 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.
  • 190. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 190 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.
  • 191. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 191  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
  • 192. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 192 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:
  • 193. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 193  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.
  • 194. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 194 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.
  • 195. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 195 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
  • 196. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 196 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
  • 197. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 197  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/
  • 198. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 198 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
  • 199. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 199 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
  • 200. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 200 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
  • 201. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 201  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.
  • 202. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 202  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.
  • 203. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 203  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
  • 204. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 204 APPENDIX H: LOG SHEETS
  • 205. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 205 APPENDIX I: FAST TRACK ETHICAL FORM
  • 206. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 206 APPENDIX J: SAMPLE QUESTIONNAIRE & INTERVIEW (FILLED)
  • 207. E-FREELANCING Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 207 APPENDIX K: GANTT CHART