Fypfinal e Freelancing 210405163027
Fypfinal e Freelancing 210405163027
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
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
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
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.
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.
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.
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.
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
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
FEATURES DESCRIPTION
Guest users can register on this web application by providing the
required user details. Users at the time have registration have to
Guest User
Registration select the role they want for- either Client or Freelancer. An auto
generated alphanumeric password will be sent to the user’s email id
which will be used during login.
Users can use the login ID and password sent to their email id to
Member Login login to the system. The system will identify the user as Client or
Freelancer and take them to their respective home pages. Admin can
use their already defined user ID & Password to login into the
system
Clients can anytime create projects and post it online on E-
Project Creation & Freelancing which will be viewed by all the freelancers and Bidding
Posting
process can be started on these projects
Freelancers could be able to see only those projects whose date &
View Projects time of closing the bidding process is still to come and currently
Open for Online
Bidding bidding is going on. Projects whose bidding time is over will not be
displayed as available projects
Freelancers can browse for the projects open for bidding and they
Online Project can place their own bid amount. It must be noted that the new bid
Bidding
amount should be at least 2% lesser than the previous Bid value on
that project.
Both Clients and Freelancers will have the privilege to edit their
Edit & Update profile details and update it anytime and any number of times. This
profile
data is to be viewed by the Clients at the time of project allotment.
Freelancer may see reports regarding their project allotments to
View Reports them, project lists and many more. Similarly, clients can see reports
like total projects posted yet, freelancer’s contacted via E-
Freelancing and many more reports. Crystal reports will be
generated for showing reports.
Freelancers and Clients get notified for any messages received to
Notifications them either by the system or by any other user of E-Freelancing.
Freelancers get notified about new projects posted online and open
for bidding and upon bid closing on such projects in which they have
submitted the lowest bid. Clients get notifications when any
freelancer places new bid on their projects.
Freelancers have the facility to upload their current resumes online
Upload/Download and Clients on the other hand will be able to download resumes
Freelancer’s
Resume uploaded by Freelancers. This enhances and improves the hiring
procedure of freelancers for projects.
Though the users get their Login ID & Password via email, they will
Password Change have the privilege to change their password anytime by following a
& Recovery
safe procedure. In case users forget their password, it can be
recovered by using the “Password Recovery” feature.
The freelancers can also send feedback to the admin for certain
Feedback updation while they conduct the online certification test. This
feedback feature will enable the admin of the system to manage the
question set for online certification test functionality
E-Freelancing will have a vast accessibility via internet and thus,
View Current until the bidding is open for a particular project, the project will face
Bidding Status on
Projects numbers of biddings every moment. Thus, the bidding status will
keep changing according to the bidding frequency. This feature will
enable users to refresh page any time and see the most recent bid
value and the bidder’s name.
Payment Gateway This module will perform the payment process of the website. This
Integration is one of the most important modules as this will serve as the
medium of payment which the client can do to E-Freelancing for the
facilities provided
FEATURES DESCRIPTION
A freelancer’s eligibility to participate in a bidding process will be
decided by using this functionality. A short test will have to be given by
Online
Certification the freelancer where questions will be related to the website’s policy of
Test work and the programming language selected by the freelancer. This test
will be mandatory for every freelancer willing to participate in the online
bidding of the projects.
Both the users, clients and freelancers, will get the facility of a dashboard
Dash Board where they can see their profile details, and details related to other
activities they performed.
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.
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.
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.
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.
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
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.
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.
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.
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.
SOLUTION DESCRIPTION
Unique The users visiting the website will be asked for a secure
authorization username and password which will be provided to them only
for each user if they sign in using a valid email address and the username
must be unique
Centralized This will be used to handle all the data of almost every activity
Database in the database of the system. Making a centralized database
will help the developer to easily find and remove errors (if
any)
Online This is the main functionality of the project where clients will
Online Test This will act like a filter for those freelancers who have no
sufficient knowledge and have signed in to the website
for project bidding. Freelancers qualifying in this test will be
allowed to bid in the projects.
Safe Online The developer will try his best to implement this functionality
Payment in the system so that the users can be availed with a payment
Gateway facility too for their projects.
Integration
Table 2: Recommended Solution for Identified Problems
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.
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
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.
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
8,000,000
6,000,000
4,000,000
2,000,000
0
Registered Users Projects Posted
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
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.
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.
“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.
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.
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:
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:
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.
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.
For doing the market research, the following websites has been chosen:
www.freelanceer.com
www.oDesk.com
www.workana.com
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
decided to implement those missing functionalities in the proposed system and facilitate
the clients and freelancers with more advanced features and experience.
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.
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:
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
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:
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
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.
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.
4.1.1 QUESTIONNAIRE
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.
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.
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.
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).
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.
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.
Slow, costly and cumbersome due to significant structure and tight controls.
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.
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
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
need a proper planning to be done. All this can be only done if the developer follows the
SPIRAL model.
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.
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
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:
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:
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.
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.
Code-behind logic
It is browser independent
Data types
Namespaces
Exception handling
The developer has decided to use ASP.NET with c# as the web development platform that
would be implemented during the system development process.
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.
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.
Conclusion: Seeing the facts about the Microsoft SQL Server, the developer has decided
to use this database engine for the system development.
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.
Duration: 2 week
Tasks: The project definition includes the following tasks to be completed:
2. Project Planning
Duration: 4 weeks
Tasks: Project planning requires the following tasks to be covered one after the other:
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.
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.
5. Prototyping
Duration: 5 weeks
Creating Prototypes
Evaluate Prototype feedbacks
Prototype Evaluation
Test Plans
Unit Testing
Integration Testing
System Testing
Critical Evaluation
[Note: The Gantt chart is attached in the appendices. Please refer to Appendix K for the
Gantt chart of the project]
CHAPTER 5- ANALYSIS
For conducting the primary research, the developer has used the two fact-finding
techniques:
1) Questionnaire
2) Interview
3) Observation
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.
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.
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.
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.
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.
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.
Register/Login
*
* *
*
*
*
Project *
Creation/Updation/Deletion *
* Client
*
*
Online Project
Binding
* *
* *
*
*
Online
* Certification Exam
* *
Admin *
*
* * *
Reports Management
* *
*
*
*
* Freelancer
* Payment
*
*
Chat
*
*
*
Discussion Forum *
Post Project
* Register
<<include>>
<<include>>
Login
* *
* <<include>>
*
Payment via Debit
* Card
View Project «extends»
Client*
*
*
* «extends»
Payment Payment via Credit
* Card
* «uses»
View Reports Select report type
* «extends»
Chat with
View Bid Details
Freelancer
* «extends» Read
Check notification
«extends»
Delete
View Project
* Register
<<include>>
<<include>>
Login
* *
* <<include>>
*
*
View Profile cl u de>> Complete
Freelancer
* <<in Certification Test
*
*
* «extends»
Bid on Project
* Browse Project
* <<include>>
View Reports Select report type
* «extends»
See project
Chat with Client
allotment report
* «extends» Read
Check notification
«extends»
Delete
2. The primary actors then enter their details and other credentials.
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:
1. The user will have to wait until the server becomes functional again.
2: The registration details are not to be entered again. It is already present in the system’s
database.
Special Requirements: The registration interface design should be very much
consistent and clear so that the user can understand the
requirements needed during registration process.
Frequency of Occurrence Could be continuous.
Sub Use Case: Registration
Enter Email ID
>>
cl u d e
<<in
Fill & Submit
Profile Details
*
*
*
Validate Profile
* Details *
*
*
Client *
Generate Password &
send Confirmation mail to
user
*
Create Acocunt &
* Notify User
*
Freelancer
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.
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.
Special Requirements: The GUI provided for project creation should be very much precise
and should not take much of the user’s time for posting a new
project.
Frequency of Occurrence Client can post any number of projects one by one.
Sub Use Case: Project Creation & Updating
Enter Project
> Details
cl ude>
<<in
Create Project
*
«uses» *
Store Project
details into database
*
Login
«uses»
*
«extends»
* Update Project
View Projects
*
Client
«extends»
Use Case Online Certification Test Use Case ID: UC- eF3
Name:
Scope: E-Freelancing
Level: User Goal
Primary Administrator, Freelancers
Actors:
Actors and description
Administrator Administrator creates new question sets for conducting the online test.
Freelancers Freelancers get certified by passing the online test and only certified
freelancers are allowed to participate in project biddings.
Precondition Freelancer must login to the system using a valid email ID and
password.
Freelancers select the exam category before starting the exam.
Post Condition Upon successful login, freelancers are able to give the online test.
Success After finishing the certification test, the freelancer is able to see the
Guarantee: report card displaying total questions attempted, total correct and
wrong answers, final result of the exam i.e., PASS or FAIL.
Main Success Scenario(Basic Flow):
1. The freelancer selects the category of exam to be taken.
2. A countdown times starts and the question is displayed with four different options.
3. The user selects one correct option out of the four provided. The user is not able to go to
next question until he/she answers the first question.
4. As soon as the freelancer submits answer to one question, next question is displayed.
5. After completion of the test, report card is generated and result is displayed.
Alternate Flows/Extensions:
At any instance, if system fails:
1. 1. The user will have to restart the system and give the test again.
2. The freelancer should go back to the exam start page and select a different exam category.
3. The freelancer should send feedback/message to admin to add questions for that particular
type of exam category.
At any instance, if the server in which the web based application is stored fails:
1. The user will have to wait until the server becomes functional again.
2: Certification test can be conducted at any moment when the server is working properly.
Special Requirements: Each question must be having their individual
countdown timer running for them.
Questions should be clear and not too lengthy.
Questions must be objective type.
Frequency of Occurrence Only once in a day.
Sub Use Case: Online Certification Test
Select Exam
e>> Category
clud
<<in
Create Test
Enter Question
*
<<include>> Details *
*
* Store Question
Update Question
Details in Database
* Details
* System under
discussion
Client
Select Exam
e>>
clud Category
<<in
Take Test
* «extends»
«extends»
* Cancel Test
*
Use Case Online project Bidding Use Case ID: UC- eF4
Name:
Scope: E-Freelancing
Level: User Goal
Primary Client, Freelancers
Actors:
Actors and description
Clients Clients want to view projects posted by them and see the current bidding status
on their projects.
Freelancers Freelancers browse for projects available for online bidding, check current
bid and place a new bid amount.
Precondition There must be projects posted by clients whose bidding time duration is
still not ended and are open to online bidding by freelancers.
Post Available projects, if any, are displayed and their current bid status can be
Condition seen by the freelancers as well as clients.
Freelancers are able to submit their bid amount which should be at least
2% less than the previous bid value.
Success Upon successful bid submission, the freelancer is able to see his/her name
Guarantee: as the new bidder and the current bid is replaced by the new bid.
Main Success Scenario(Basic Flow):
1. 1. The client/freelancer is able to browse available projects and check current bid status.
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.
2. The user should logout of the system and re-login after a few minutes. This might be a problem
due to server failure.
At any instance, if the server in which the web based application is stored fails:
1. The user will have to wait until the server becomes functional again.
2. In order to check the current bid, the users will have to browse the project again and see the
project details.
Special Requirements: Only those projects should be visible to users
which are open for online bidding and
projects on which bidding time is over should
not be displayed.
Frequency of Occurrence Bidding is allowed to be done frequently one
after another until there are projects
available.
Sub Use Case: Online Project Bidding
Browse Available
Projects
* «extends»
View Project
Details
* *
* «extends» Place New Bid
* *
*
Freelancer Check Current Bid
on Projects
* *
System under
* discussion
Validate Bid Amount
* Get Notification
*
*
*
Client
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
payment.
Special Requirements: The payment gateway should be secured from any loss of money
during transactions.
The system should not save the card details and account passwords
provided by the user.
Frequency of Payment can be done once only after the successful bidding process
is conducted.
Occurrence
Sub Use Case: Payment
Select Amount
Receive Payment By
System
* *
Freelancer
Use Case Name: Report Management Use Case ID: UC- eF6
Scope: E-Freelancing
Level: User Goal
Primary Admin, Clients, Freelancers
Actors:
Actors and description
Clients Clients want to view reports regarding the projects posted by him/her, and
reports including other details falling under any special category.
Freelancers Freelancers can see reports of the exam they have taken projects
available and their biddings placed. This also includes reports related
to their profile details.
Admin Admin can see reports indicating the total registrations, project
postings, project biddings and exams taken by the users registered on
the website.
Precondition User must select the report type before selecting to view the report.
Post Condition The system generates a crystal report for the user showing all the
details asked by the user.
Success A crystal report is generated showing the details very clearly.
Guarantee:
Main Success Scenario(Basic Flow):
1. User selects the view report option from the menu bar provided at the user’s homepage which
can be seen only after a successful login into the system.
2. A window is opened where the user is asked to select the report type to be generated.
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
*
*
* *
*
*
View Report
*
*
Client
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.
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 Login *
Store all comments
«uses» System under
discussion
*
* View all Posts
«extends»
*
Delete Post
* «extends»
«extends»
Freelancer
Read Post
Post a comment
Start
CreateAccount
Complete Registration
Registration
Complete
Start
Create Project
[Invalid]
Close Bidding on
See Bid Details Bid Time
Completion
Bidding
Complet
e
Start
Update Question
Sets
Get Questions
Complete Test
[Correct]
[Wrong]
Exam Successfully
completed
Calculate & Display Result
<<Data Store>>
Online CertificationTest
User_certification
Complete
Start
No
Create new Post
If posts exists
Stop
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.
:DataBase :
Register GUI :Mail send
register
User
Details Validated
Invalid Details
getMessage("Failed")
:DataBase : USERHOME
LOGIN GUI
register GUI
User
Enter Username
Enter Password
VALIDATe(username,
Password)
putSession[“Username”]
[Invalid Details]
Redirect
getMessage(Invalid Details)
Login Failed
CLIENT
3. Validate Details
This is certainly one of the most critical functionality of the system which requires several
validation events to occur in sequence and also several notifications and messages are to be
conveyed to the user during the online project bidding process. This sequence diagram will
serve as a layout for the developer to implement Bidding in the proposed system, exactly
following the same sequence as depicted by the bidding sequence diagram.
:DataBase :
BIDIDNG GUI
register
Authentication
FREELANCER
1. Browse/Search
projects
2. Check for Available Projects
setMessage(Bid Failed)
2. Start Exam
3. Generate Exam ID
4. Display Exam ID
5. Get Questions for selected category
Register Admin_Home
Freelancer_list Client_list
Forum +result() : string
+dt : string +sql() : string
-id : int +getNotify() : void
+getFreelancer() : void +getClient() : void
+result : string
+sql : string 1
+createPost() : void 1
+getPostData() : void *
+getData() : void
1
1
create_project
1
1 client_profile
f_home
+createProject() : void
Fprofile +getData() : void *
+result() : string 1 1
+sql() : string
+s() : string
FileShare MyProjects
+getDProjectData() : void
1 +ConvertImageToByteArray() : void
* 1
1 +getData () : void +getDetails() : void
+updateAcademics() : void +pid() : int
ResumeAdd +sendFile()* : void
+updateWork() : void +gteGridDetails() : void
+updateAddress() : void
-s() : string 1 +CheckFileType() : bool Bidder Detail 1
+filepath() : string +uploadResume() : void *
+filename() : string -InsertUpdateData() : bool
+ext() : string +upload_image() : void +getDetails() : void Project_Detail
*
+contenttype() : string +retrieve_img() : void
+downloadResume() : void
-InsertUpdateData() : bool
+fetchResume() : void Project_View
-GetData() : void +dayleft() : int
1 +download() : void +hours() : string
+getData() : void +min() : void
+setData() : void notification +days() : void
exam
+hourleft() : int
Bid_projects +st() : string +minleft() : int
+n() : int
+getGridDetails() : void +dd1() : string
+attempt() : int
+correct() : int +totalCount() : int +setUser() : void +dd2() : string
+wrong() : int
Project_detail_view
+setUser() : void +getData() : void
+correct_ans() : int +getBidder() : void
+wrong_ans() : int 1 1
DashBoard +setBidder() : void
+result() : string +dayleft() : int
+option() : string +hourleft() : int
+count() : int +minleft() : int DashBoard +result() : string
+num1() : int +currentBid() : int +sql() : string
+ans() : string +newBid() : int +getData() : void
+result() : string +getDate() : void
+getId() : void +status() : string +sql() : string
+getQues() : void +BidTime() : void +getData() : void
+correctanswer() : void +validateBid() : void +getDate() : void
+changeQuestion() : void +Bid_Project() : void
+certify() : void +getBidder() : void ChartStart
1
1
* 1 1 +AddGlobalChatMsg() : void
+addGlobalChat_Complete() : void
ChatRules +ContentLoaded() : void
+updateChatArea() : void
+getGlobalChat() : void
+CreateUser() : void +getGlobalChat_Complete() : void
+UserCreated() : void +AngularScope() : void
Contact Company
F_name 1 Create
1
Client
Username Profile 1
1
L_name M DegreePeriod
M
Checks WorkPeriod
Country Image Create
notificationID
Status
Makes N
amount date
Notification
Post N
paymentID email
N Checks password
date notification 1 1
Payment
N M Freelancer F_name
receipient
receives 1
1 L_name
Project_id Hour_pay
duration M
Project_name sends Country
Bids On
N feedback
Category
N
Gives
Projects
Details N date
N Feedback
Posting_date N
Exam eligibility
Status
Bid_enddate
receive
First_bid feedbackID examScore
examDate
password HAS examID
Admin 1
username
Add Question
Questions
Category
QuesID Answer
Options
The Entity Relationship diagram is made after properly identifying all the entities and their
attributes. The developer could not find any weak entity as all the entities identified had
some unique column. This ERD shows the relationship between the entities of the database
“eFreelance.”
profile
notifications
user_certification
Feedback
Forum
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.
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:
Ensure data dependency makes some useful sense and data is logically stored in tables
tblResumes
Converting the un-normalized table “project” to its First Normal From (1NF)
Un-Normalized table
project
project_id Details
User_project_table
project_id username
Converting the un-normalized table “profile” to its First Normal From (1NF)
Un-Normalized table
profile
addressProfile
Table “user_certification” is in 1NF but not in 2NF due to the presence of partial
dependency in the table.
FD2
FD3
To remove this partial functional dependency, column eligibility must be moved to a new
table along with username as the Primary Key.
tbl_eligibility
tbl_exam
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
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.
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.
Table 02
Number
Table Name tblResumes
Description Stores the resume of the freelancers
Attribute Data Type Size[Bytes] Allow Null
Username varchar 50 No
Name varchar 50 No
ContentType varchar 50 No
Data varbinary MAX No
Primary key username
Relationship This table has relationship with profile table
Description
Table 03
Number
Table Name Project
Description Keep data of all the projects posted by client
Attribute Data Type Size[Bytes] Allow Null
project_id int No
project_name nvarchar 30 No
Category nvarchar 50 No
posting_date datetime No
bid_enddate datetime No
Duration int No
hour_pay int No
first_bid int No
Primary key project_id
Relationship This table has relationship with table “Bidding” &
Description “user_project_table”
Table 04
Number
Table Name tbl_quest_bank
Description Question set created by admin are stored here
Attribute Data Type Size[Bytes] Allow Null
ques_id int No
Category varchar 20 No
Question varchar 100 No
opt1 varchar 100 No
opt1 varchar 100 No
opt3 varchar 100 No
opt4 varchar 100 No
Answer varchar 100 No
Primary key ques_id
Relationship This table is used for fetching questions at the time of online
Description certification test.
Table 05
Number
Table Name notifications
Description This table is used to store the notifications and notification status
Attribute Data Type Size[Bytes] Allow Null
notificationID int No
username varchar 30 No
notification varchar 100 No
Date Datetime No
status varchar 10 No
Primary key notificationID
Foreign Key username
Relationship This table is has relationship with profile table
Description
Table 06
Number
Table Name tbl_exam
Description The exam results are stored in this table
Attribute Data Type Size[Bytes] Allow Null
examID varchar 11 No
examDate datetime No
examScore varchar 30 No
Primary key examID
Relationship This table has relationship with tbl_eligibility
Description
Table 07
Number
Table Name tbl_eligibility
Description
Attribute Data Type Size[Bytes] Allow Null
username varchar 30 No
examID varchar 11 No
eligibility varchar 30 No
Primary key Username + examID
Relationship This table has relationship with profile table and tbl_exam
Description
Table 08
Number
Table Name user_project_table
Description The users who have posted project , their username and the project id is
saved in this table
Attribute Data Type Size[Bytes] Allow Null
username nvarchar 30 No
project_id int No
Primary key username + project_id
Relationship This table has relationship with “profile”:table and “project” table
Description
Table 09
Number
Table Name Bidding
Description The bidding details are stored and retrieved from this table. It gets updated
every time a freelancer submits bid on the project
Attribute Data Type Size[Bytes] Allow Null
project_id int No
current_bid int No
bidder varchar 50 No
Date_of_bid datetime No
second_bidder varcahr 30 No
Primary Key project_id
Foreign Key bidder
Relationship This table has a relationship with “project” and “profile” table
Description
Table 10
Number
Table Name Profile
Description The profile details of the users are saved and updated in this table
Attribute Data Type Size[Bytes] Allow Null
Username varchar 30 No
Table 11
Number
Table Name addressProfile
Description This table stores address of each users editing their personal data on E-
Freelancing
Attribute Data Type Size[Bytes] Allow Null
username varchar 30 No
Address1 varchar 30 Yes
Address2 varchar 30 Yes
PINcode int Yes
DegreeYear varchar 10 Yes
Foreign key username
Relationship This table has relationship with “profile” table
Description
Table 12
Number
Table Name Feedback
Description The feedback details are saved in this project
Attribute Data Type Size[Bytes] Allow Null
FeedbackID int No
Sender varchar 30 No
Subject varchar 30 No
Feedback varchar 100 No
Date datetime No
Foreign key FeedbackID
Relationship This table has relationship with “profile” table
Description
Table 13
Number
Table Name Forum
Description The discussion forum’s posts are to be stored in this table
Attribute Data Type Size[Bytes] Allow Null
ForumID int No
username varchar 30 No
Title varchar 100 No
message varchar MAX No
Date datetime No
Primary key ForumID
Relationship This table has a relationship with “profile” table and “ForumComments”
Description table
Table 14
Number
Table Name ForumComments
Description The discussion forum’s posts and the comments received on those posts
are to be stored in this table
Attribute Data Type Size[Bytes] Allow Null
CommentID int No
ThreadID int No
username varchar 30 No
comment varchar MAX No
Date datetime No
Primary key CommentID + ThreadID + username
Relationship This table has a relationship with “profile” table and “ForumComments”
Description table
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.
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.
Usability aspect
Technical Aspect
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.
START
INPUT SYSTEM
DESIGN DOCUMENTS
NO
IF MODULE’S
IMPLEMENTATION COMPLETE
YES
INTEGRATE SYSTEM
OUTPUT ALL
DOCUMENTS FOR
SYSTEM TESTING
END
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.
2. Validators has been applied on the text fields to validate user data
<asp:RequiredFieldValidator <asp:RegularExpressionValidator
ID="RequiredFieldValidator3" ID="RegularExpressionValidator1" runat="server"
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.
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.
A comparison is being made here which ensures that the projects that are being retrieved from
the database is having their bid ending date and time greater than the present date and time.
Those projects are considered to be open for online bidding process.
Access Bidder’s name from the Grid view control Problems are being faced in reading the
bidder’s name from the 1st row and 3rd column
ERROR CODE SNIPPET:
of the grid view control used to display details
Error found:
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
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
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
After the completion of the exam, the report card should be generated
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
2. Display notifications to concerned clients when freelancer submits a bid amount on a project.
3. Add users to the chat session and display the messages sent by the users instantly.
Solution for the above problem
1. Manage all the projects that are open for bidding and keep the freelancers notified about the
current bid openings.
2. Display notifications to concerned clients when freelancer submits a bid amount on a project.
The above two problems were handled by the user through a very effective coding technique
where the developer used to set the status of the notification message as Read/Unread. At the
login of the user, the system used to check the status of all the messages in the database for that
concerned used. If any message is found to be unread, a notification is displayed which indicates
the count of total number of unread message. These unread messages can be read from the
notifications page which links from the menu item ”Notifications “ under “My Zone”
3. Add users in the chat session and redirect user to the chat page
Two JavaScript files has been created
to implement the chat feature
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.
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)”;
If already a member,
then user can click this
link-button and can
enter the login details
Options to
edit and
update user
User can even change
profile
their profile photo
from here
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.
Project ID of the
client
All the details of
the project
posted by the
client
The clients can view even those projects on which bidding has been already closed. In that case,
the client can see the winning bidder’s profile and download his/her resume which helps him
further to decide whether to allot him project or not.
If the project is still undergoing the bidding process, the time left for the completion of bidding
is displayed.
Details of a
freelancer
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.
Selected
post title List of all the
along comments
with its posted for
details this thread
mention
ed as
header
Text Area enabled with HTML Editor
Extender can be used to post a new
comment
7.5 TECHNICAL MANUAL
The technical manual documents instructions for installation of important tools necessary
for carry out the operations of this system. Development of this system required an IDE
support and some other tools discussed below. There are three major parts in technical
documentation
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
Microsoft Visual Studio 2012 & Microsoft SQL Server 2008 can be downloaded from the
official website of Microsoft which is www.microsoft.com. Downloading this IDE is
completely free of cost and the license to use this IDE is provided by Microsoft at the time
of download.
By clicking on this
link, this IDE can
be downloaded
http://www.microsoft.com/en-in/download/details.aspx?id=30682
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
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.
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)
Although it is a fact that software quality testing is an expensive and a time-taking activity,
yet it is suggested to conduct a proper testing prior to deploying the system for the other
users as this may lead to errors and bugs at a later stage and costing may potentially
increase much higher than that of the testing. The following table briefly illustrates the
various testing methods conducted by the developer:
Testing Plan
User
Interaction System
Unit Testing Acceptance
Testing Testing
Testing
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)
Hardware Software
Windows XP/7/8
At least 2 Laptops or PCs should be
available and connected to internet Microsoft Visual studio 2012
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
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.
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:
1.2 Fill all details but do System should ask the System do not allow Pass
not select the role user to select a role to registration and asks
complete the registration the user to select
process role
1.3 Fill all details but do System should display an user is asked to Pass
not check the error message asking user accept the T&C of
checkbox for terms & to accept the T&C of E- E-Freelancing
conditions Freelancing
1.2 Enter any wrong System should prompt an Error message is Pass
username and error message and ask shown “Either
password user to fill details again username or password
is wrong”
1.3 Enter correct System should allow System shows an error Fail
username and login and user should be message saying
password but all in redirected to the user’s “Either username or
capital letters homepage password is wrong”
(Measures taken to remove error found in step 1.3) The developer referred back to the page
Signin.aspx.cs and discovered that login is performed for case-sensitive data input. Developer
changed the coding in such a way that username & password can be not case-sensitive.
1.4 Enter correct Login should be allowed System accepts the Pass
username and to the user and user login id and password
password as received should be redirected to and access are granted.
by the email from the their respective home User is redirected to
system after pages the homepage
registration
Table 22 Unit Test: Login
8.2.1.1.3 Unit Test Case & Description for module: Password Change & Recovery
1.2 Provide a wrong System should display System showed error Pass
answer for the security error message: answer not message and asked
question correct. Please try again user to answer again
1.3 Provide the correct User’s password should User’s password is Pass
answer for the security be displayed along with shown and is asked if
question option to change password user wants to change
password
1.4 User provides a new User’s password is User gets a email Pass
password and clicks changed and notified back notification of
on Confirm Change with a message that password change
Password button password is changed and
mail is also sent via email
Conclusion: No error found in this module and user is very well able to use this functionality
for password change and recovery.
Table 23 Unit Test: Password Recovery & Change
8.2.1.1.4 Unit Test Case & Description for module: Post Project & Update
1.2 Submit all fields with Project should be posted Project posted Pass
valid details and click and client should be successfully and client
on enter button notified about the is notified
successful project
creation
1.3 Select Update project Project details should be Textboxes are filled Pass
option from menu and already filled in text with already stored
select a project to boxes and user should project details and
update be asked to make client is able to make
changes before updating updation
Conclusion: This module resulted positive test results with no error found. Module is error free
and can be now integrated with the system.
Table 24 Unit Test: Project Create & Update
8.2.1.1.5 Unit Test Case & Description for module: View “My Projects” -Client
1.2 Click on View The client should be able The client is able to Pass
Details Button for to see the details of the see all the details
any one project project including the related to the project
bidding details
1.3 Click on “View” Client should get a link Clients gets a link to Pass
button on bidding to see bidder’s profile see the details of the
details table details current freelancer
bidding on his/her
project
Conclusion: Client is able to use this system flawlessly and no errors were found during the
testing of this module.
Table 25 Unit Test: My Projects
8.2.1.1.6 Unit Test Case & Description for module: Online Project Bidding
(Measures taken to eradicate error found in step 1.1) The developer referred back to
Project_View.aspx web form and checked the coding done in the SqlDataSource1 for fetching the
project list. It was found that all the projects were being fetched and no validation was applied to
filter projects according to their bid ending date. The developer configured the SqlDataSource1
in such a way that only projects whose bid end date is greater than the present date time should
be fetched from the database and projects on which bidding is closed will not be displayed to the
freelancer any more.
1.2 Select a project of Freelancer should be able Freelancer is able to see Pass
interest click on to see the project details project details with
“view details and current bidding status current bid status and the
button” remaining time left on
that project for bidding to
end
1.3 Submit a bid amount System should show error Bid is submitted and Fail
greater than or equal message and ask user to displayed as the new bid
to the current bid enter valid bid amount
being displayed
(Measures taken to eradicate error found in step 1.3) The coding done on the click event of
“Submit” button on Project_detail_view.aspx.cs is checked. The developer found that no proper
validation check was given validating the bid amount. The developer applied proper validation
which ensures that the new bid amount must be at least 2% lesser than the previous bid and if
freelancers try to bid a greater value, error message will be displayed.
1.4 Submit a bid amount Bid amount should be Freelancer is able to submit Pass
which is at least 2% allowed and submitted the bid as the new lowest bid
less than previous on that project
bid value
Conclusion: Errors identified in step 1.1 & 1.3 were solved and eradicated from the module
successfully. Module is error-free now.
Table 26 Unit Test: Online Project Bidding
8.2.1.1.7 Unit Test Case & Description for module: Online Certification Test
1.3 Do not provide The system after completion System prompts a Pass
any answer for of 2 minutes of test asks users message asking user to
the 1st question to provide an answer else test select an answer
won’t be continued
1.4 Provide correct The system should generate a The system generates a Pass
answers and just report card of the exam and report card indicating
one wrong result should be “PASS” the test result as
answer out of “PASS”
total questions
and complete the
test
1.5 Go to bidding Freelancer’s bid should be Freelancer is able to Pass
page of projects submitted as a new bid value submit his bid amount
and try
submitting a new
bid
Conclusion: Online Certification Exam tested well and no error was found.
Table 27 Unit Test: Online Certification Test
8.2.1.1.8 Unit Test Case & Description for module: Profile Editing & Updating
1.1 Open “My Profile” User profile should open User profile opens with Pass
from menu items and page should have edit buttons to edit
links to edit profile profile details
1.2 Enter valid details in Profile should get “Profile Updated Pass
all text fields and updated and user must Successfully” message
click on save button be notified is displayed
1.3 Select option User should be able to User is able to change Fail
“Change profile change photo and user profile photo
photo” from just profile photo should get successfully but the
below the profile changed new profile image is
photo not being displayed
(Step taken to remove error identified in step 1.3): The ImageHandler.hs file was re-checked
for errors. The code was not able to fetch the image data from database using the session id
“user”. The session id was re-created as “username” and above step was repeated. Test passed
this time.
Conclusion: Error was found in ImageHandler.hs page and was resolved soon. Profile Creation
& Updating functionality now works error free.
Table 28 Unit Test: Profile Creation & Updation
1.2 Sign as client in one User login should be Both client and Pass
browser and allowed with different freelancer login is
freelancer in the other roles in the two browsers allowed
1.3 Select chat option in Users should be directed Users got redirected Pass
both the browsers to to the chat start page and to chat start page and
establish chat asked to enter desired are asked to enter a
between client and chat room name desired chat name
freelancer
1.4 Enter chat name and Users should be able to Client and freelancer Pass
click on “Start chat” communicate and send were able to see each
button messages to one another other’s message on
their own screen in
different browsers
Conclusion: The chat functionality is working impeccably well and testing results are positive.
8.2.1.1.10 Unit Test Case & Description for module: Upload Resume- Freelancer
(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
again carried out and this time test result came as expected.
1.2 Click on submit Resume should get uploaded Resume upload is Pass
save button successful
Conclusion: The error detected in this module was successfully resolved and now resume
upload functionality works error free.
Table 30 Unit test: Upload Resume
1.2 Fill details Feedback should be sent Feedback sent and Pass
properly and to admin and user is user gets
click on submit notified confirmation
button message
8.2.1.1.12 Unit Test Case & Description for module: Discussion Forum
1.2 Select The discussion forum User is able to see the list Pass
“Discussion should display list of all of all posts in the forum
Forum” option the threads (posts) posted and option to post new
from the menu by the users of E- comment is also visible
bar Freelancing.
1.3 Try to post a new New comment must be User’s new comment is Pass
comment. posted successfully displayed in the comment
list for that specific post
and the comment count is
increased by 1.
1.4 Enter any All posts having any User typed “technology” Pass
technical such word as whole or as and got few posts having
keyword in the a part of it, in its title the term “technology” in
search bar on the will be displayed in the the post’s title.
right corner. For forum posts list.
example: type
“technology” or
“bidding” or
“exam”
Conclusion: Discussion Forum Module is successfully tested and is working error free.
Table 32 Unit Test: Discussion Forum
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.
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.
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.
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);
Flow Graph
S. no Cyclomatic Complexity Paths X
1 XAX R1
R5
2 XCDEK A C
3 XCFK
4 XCMGHJK
5 XCMGIJK B
D F M
6 XCMGHJMJK
7 XCMGIKMJK R2
G
1. V(G) = E - N + 2
2. V(G) = P + 1
Thus, the Cyclomatic complexity of the given graph can be calculated as follows:
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.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 149
E-FREELANCING
1.3 Check bidding Client must be able to see Bidding details is Pass
details the current bid on his/her displayed
project, current bidder and
the following bidder’s
name
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 150
E-FREELANCING
8.2.2.2 Integration of modules (Login + Browse Projects + View Project Detail+ See
Bid Details + Submit Bid) + Logout)
1.2 Browse for Only those projects must Result as expected. Pass
bid open be displayed on which Freelancer is able to
projects and bidding is still open and see project details
view details details can be viewed
1.3 Submit bid New bid must be validated Result as expected Pass
properly and submitted as
new current bid
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 151
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 152
E-FREELANCING
All the modules are integrated and integration testing is performed successfully
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 153
E-FREELANCING
Objective To check the GUI of the integrated system to ensure that the
system is having a clean and understandable GUI ad is user
friendly
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 154
E-FREELANCING
Yes
Are the colors giving too much strain to the
eyes?
Are the colors appealing? Yes
After learning how to use, how proficiently can the client perform?
2. To what extent you find the web pages of the system are consistent?
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 155
E-FREELANCING
□ Yes □ No
5. How much do you rate the usability of the system in terms of response time for different
LEARNABILITY
□ 1 hour □ 1.5 – 2 hours □ 2 – 4 hours □ more than 4 hours
10 Person ..
USABILITY
□ Poor □ Average □ Satisfactory □ Excellent
To test the compatibility of the system on different browsers and Operating systems,
developer has carried out compatibility testing.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 156
E-FREELANCING
10
8
6
4
2
0
Google Mozilla Opera NetScape Internet
Chrome Firefox Explorer
10
8
6
4
2
0
Windows XP Windows 7/8 Linux
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 157
E-FREELANCING
Acceptance Testing
Form Id UAT-eF1 Test Date 14/04/2014
Tester Name Mr. Anshul Mehra Duration 2 hours
Functionality Testing
Category Rating
Poor Average Good Best
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 158
E-FREELANCING
Registration/Login
Manage Client & Freelancer Profile
Receive Notifications & Feedback
Project Status Management
Create & Update Exam
Reports Management
System Usability & Response Time
Additional Comments: All provided functionalities are working properly. Developer can
make improvements in few categories.
Table 37 Result of Acceptance Testing- Test Case #1
Acceptance Testing
Form Id UAT-eF2 Test Date 15/04/2014
Tester Name Mr. Abhishek Tiwari Duration 2 hours
Functionality Testing
Category Rating
Poor Average Good Best
Registration & email validation check
Login
Project Creation & Posting
Get Project Bid Status
View Current Bidder’s Profile
Notification Checks
Profile Management
Dashboard Usability
Chatting with Freelancer
Search Freelancers
Fetch Freelancer’s Resumes & CV
Discussion Forum
Make Payment
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 159
E-FREELANCING
Reports Management
System Usability & Response Time
Additional Comments: Overall system is good. Response time of system is a bit slow
which may be due to server traffic. Functionalities provided are working properly.
Table 38 Result of Acceptance Testing- Test Case #2
Acceptance Testing
Form Id UAT-eF2 Test Date 18/04/2014
Tester Name Mr. Satyam Dubey Duration 2 hours
Functionality Testing
Category Rating
Poor Average Good Best
Registration & email validation check
Login
Profile Management
Dashboard Usability
Online Certification Test
Notification Checks
View projects open for Online Bidding
View Current Bidding status
Bid on project
Chatting with Client
Upload Current Resume
Discussion Forum
Send Feedback to admin
Reports Management
System Usability & Response Time
Additional Comments: The system very well satisfies the user’s requirements. System
usability and efficiency can be improved. Functionalities provided are working properly.
Table 39 Result of Acceptance Testing- Test Case #3
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 160
E-FREELANCING
The testing process of E-Freelancing has been completed successfully. As it is known that
testing is the most crucial and time taking phase of all the phases of software development.
Testing also helped the developer to ensure that the system development satisfies all the
user requirements and user acceptance is guaranteed.
Unit testing, using black box testing technique helped the developer to identify the
minutest errors which could have been not found without this testing technique. Those
identified errors were solved and the test case was performed again to guarantee the test
case success. For white box testing, the developer framed certain test plans based on the
details of the implementation of programming language, coding techniques and the
programming style followed.
Integration testing further helped the developer to confirm the betterment of the inter-
connection of the modules of E-Freelancing. The developer found very few errors in
system integration and those errors were eradicated efficiently.
System testing was divided into three steps – GUI testing, Usability Testing &
Compatibility Testing. The developer tested the system to confirm that the system designs
have well been converted into the real working system. The systems compatibility with
different platforms and its usability goals achieved properly.
Finally, the developer tested the system for its user acceptability. The system was given
to end users other than the developer and they were asked to use all the functionalities of
the given module and check if they could find any error or lack in providing user
satisfaction. The test revealed that the system is satisfying all the user needs and is
fulfilling the user expectations very well.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 161
E-FREELANCING
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.
Though just after conducting the user acceptance testing, the developer had concluded that
this system is very much beneficial to the targeted users, it is still important to critically
evaluate the whole system and present the evaluation result.
Clients will be able to post their projects online and freelancers on the other hand will be
able to view projects and place bid on them. Upon bidding completion, the clients will be
able to send their project SRS to the freelancer via email. In the early situations, clients
used to give ads for their project in news papers or articles, bearing extra burden of
increased advertising cost. This becomes an expensive way to get projects done. E-
Freelancing will be able to simplify the project of e-bidding and freelancing.
Bidding and Project posting are not the only benefits provided by E-Freelancing. The users
registered on this web-application will be able to send and receive notifications, send
feedback to admin as well as view reports according to the need. Profile management and
Chatting via instant messages at runtime are the few other benefits which the targeted users
can easily use by registering over this web application.
E-Freelancing has reduced a lot of manpower requirements and has even improved the
project bidding process by making it online and transparent.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 162
E-FREELANCING
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.
The modules of this system have been accessed based on the success criteria defined.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 163
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 164
E-FREELANCING
It can be observed by the above evaluation of the devised parameters that the project E-
Freelancing has nearly met all its success criteria and the project definitely has its potential
benefits for its users.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 165
E-FREELANCING
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.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 166
E-FREELANCING
Project referrals can be sent to friends via promoting project details on social
networking sites
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
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
Throughout the project development period, the developer had undergone extensive
research and study process which lead the developer to learn a lot of new programming
concepts of C#. The developer has gained sufficient knowledge of using Ajax & JavaScript
technologies and their implementation in real time projects. Although it took much of the
developer’s time, but finally the developer learned to use SMTP servers and integrate it
web applications developed in c# in ASP.NET. Learning about timer creation and using it
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 167
E-FREELANCING
to invoke events at runtime in a web application is also a great academic success for the
developer.
Other than above mentioned new technologies, the developer has also learned the basic
skills of project management which will be definitely going to help him in a long way.
Under the supervision of Mr. Arun Choudhary and guidance by Mrs. Priyanka Sachdeva,
the developer has achieved new dimensions of project development. The developer has
gone through various nuances of Software Engineering including principles and practices
of software production. After gaining enough skills in project development, the developer
is now confident to enter an IT industry where these skills will be very helpful to him.
At the last it can be said that under proper guidance of Mr. Arun Choudhary & Mrs.
Priyanka Sachdeva, developer has made such an innovative project which is really
beneficial to its targeted users.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 168
E-FREELANCING
REFERENCES
BOOKS
1) HERBERT SCHILDT. (2008). C# 3.0 The Complete Reference 3rd edition. Osborne
Media: McGraw-Hill.
2) STEPHEN WALTHER. (2009) C# ASP.NET 3.5 UNLEASHED. Dorling Kindersley:
Pearson Education.
3) AGGARWAL, K.K. SINGH, YOGESH. (2008). Software Engineering, Third Edition.
New Age International Publisher, New Delhi.
4) DANIEL MB(ed) (2008), Software Engineering for Modern Web Applications
Methodologies & Technologies. IGI Global, USA.
5) SHELLY, G.B., CASHMAN, T.J. & ROSENBLATT, H.J. (2005) System Analysis and
Design (5th or 6th Edition). Course Technology.
6) DAVID B. HERTZ. (1983). Risk Analysis and Its Applications. 2nd Edition. John Wiley &
Sons Ltd.
7) JOHN DINGLE. (1997). Project Management, Orientation for Decision Makers. 3rd
Edition. Butterworth-Heinemann.
8) DEITEL, P. J. & DEITEL, H. (2011). C# 2010 for Programmers. 4th edition. Upper
Saddle River, N. J.: Prentice Hall.
9) BEAUDOUIN-LAFON, M., KARSENTLY, A. “Transparency and Awareness in Real-
Time Groupware Systems”, UIST proceedings, 1992, 171-180
10) REID, E., “Electronic Chat: Social Issues on Internet Relay Chat”, Media Information
Australia, 67, 1993, 62-79
11) WIEMANN, J., KNAPP, M., “Turn-Taking in Conversations”, Journal of Communication,
25, 1975, 75-92
12) R. MAHY, “Benefits and Motivation for Session Mode Instant Messaging,” draft-mahy-
simple-why-session-mode-01.txt, Feb. 2005.
13) WHITTEN, J & BENTLEY, L & DITTAM, K. (2002). System Analysis & Design. 5th
edition. New Delhi: Tata McGraw-Hill.
14) BURNSTEIN, I 2002, Practical Software Testing: A process oriented approach. Springer-
Verlag, USA.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 169
E-FREELANCING
15) GLENFORD, J, COREY, S, TOM, B & TODD M (EDS) (2004). The art of Software
Testing. 2nd edition. Wiley USA.
16) HUGHES, BOB. COTERREL, MIKE. (2005). Software Project Management, Third
Edition. McGraw-Hill, New Delhi.
17) PRESSMAN, ROGER S. (2005). Software Engineering, Sixth Edition.McGraw-Hill,
Singapore.
18) BOOCH, G., RUMBAUGH, J. AND JACOBSON, I. (1998). Unified Modeling Language
User Guide. Addison-Wesley Object Technology Series.
19) CONNOLY, T AND BEGG, C (2004). Database Systems, 3rd edition, Pearson edication,
USA.
WEBSITES
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 170
E-FREELANCING
11. ASHISH RAMTEKE. (2013). Send Email from gmail using C#. Available from:
http://www.csharptutorial.in/2013/03/Csharp.Net-How-To-Send-email-from-gmail-using-
c-sharp.html. [Accessed: 12th Feb 2014].
12. ARCHITECT (2011). IIS SMTP Service.[Online] Available from:
http://www.emailarchitect.net/webapp/smtpcom/developers/smtpservice.asp. [Accessed:
24th Jan 2014].
13. TUTORIALSPOINT. (2014). ASP.NET - Web Services.[Online] Available from:
http://www.tutorialspoint.com/asp.net/asp.net_web_services.htm. [Accessed: 23rd Feb
2014].
14. MSDN Library. (2014). Web Services with ASP.NET.[Online] Available from:
http://msdn.microsoft.com/en-us/library/ms972326.aspx. [Accessed: 23rd Feb 2014].
15. NEWMAN (2013). Normalization of Database. Available from:
http://www.studytonight.com/dbms/database-normalization.php. [Accessed:2nd January
2014].
16. REHMAN ZAFAR. (2012). What is Software Testing? What are the types of Testing?.
Available from: http://www.codeproject.com/Tips/351122/What-is-software-testing-What-
are-the-different-ty. [Accessed: 20th March 2014].
17. EDWARD RULEZ. (2010). SDLC- Waterfall Model. Available from:
http://www.tutorialspoint.com/sdlc/sdlc_waterfall_model.htm. [Accessed: 17th Nov
2013].
JOURNALS
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 171
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
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 172
E-FREELANCING
Questionnaires that were distributed among the respondents are given below:
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 173
E-FREELANCING
7) What would be the best mode of communication between a Freelancer and a Client?
□ Phone call
□ Email
□ Text Chatting
□ Face-to-face conversation
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.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 174
E-FREELANCING
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:
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 175
E-FREELANCING
to provide details of their IT skills. This question’s answer can be used to make
that column more relevant so that when clients search the website for specific
developers, they may easily get a few.
ANSWER:
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 176
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 177
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 178
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 179
E-FREELANCING
7) What would be the best mode of communication between a Freelancer and a Client?
□ Phone call
□ Email
□ Text Chatting
□ Face-to-face conversation
ANALYSIS GRAPHICAL REPRESENTATION
It has been analyzed by the developer that
most respondents preferred either phone call
or text chatting on equal levels or else face-to-
face conversation. Email has been given the
least priority for communication as they do
not get immediate response and it takes much
of the respondent’s time.
Email(30%)
Text Chatting(35%)
Discussion Board(25%)
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 180
E-FREELANCING
Simple(25%)
Very Hard(10%)
Partially Hard(20%)
Mixed(45%)
Online Payment(65%)
Cash on Delivery(35%)
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 181
E-FREELANCING
Yes(70%) No(30%)
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 182
E-FREELANCING
1) What should be the maximum time limit for a project’s online bidding?
Analysis of the answers received:
Most people agreed on the fact that online bidding is a very crucial step and it should be
quick. If bidding is scheduled to continue for long, it may lead to lack of interest of the
bidders in the project as a number of projects are available online. So, the bidding time
duration should not be more than two complete days. After two days, bidding should be
stopped and the client & freelancer must be able to contact each other.
50%
40%
30%
20%
10%
0%
< 1 day 1-2 Days Max = 2 Days Atleast 3 Days
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 183
E-FREELANCING
8
7
6
5
4
3
2
1
0
Basic Projects Web Solution Databse & Network Major bulky projects
Solutions
7
6
5
4
3
2
1
0
Java Core .NET Framework Operating systems Database Systems
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 184
E-FREELANCING
10
8
6
4
2
0
Very much trustworthy Partial reliability Do not trust Little trust
15
10
0
Debit/Credit card Pay via Cheque Cash Deposit Hand to hand payment
payment
10
8
6
4
2
0
Subjective pattern Objective pattern MCQs Others
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 185
E-FREELANCING
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.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 186
E-FREELANCING
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.
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.
Often it happens that clients, wishing to get their projects developed; don’t get appropriate
developer who would dedicatedly work for them. E-Freelancing will enable clients to hire
a suitable freelancer for their project through this website. Since the freelancers must
already have passed an online test in order to bid for a project, the client will be satisfied
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 187
E-FREELANCING
by the quality of freelancer they are hiring for their projects. This system will allow client’s
access to a broad group of freelancers all over around and user satisfaction will be
guaranteed.
What will be the main challenge for you in building the project?
After conducting a basic research regarding E-Freelancing, few things have been listed as
the main challenges that will be faced during the project development. The main
challenges of this system are listed below:
Discussion Forum
This would be a very efficient means of sharing of new ideas and talks about market
situations and domain related discussions. Users of the system will be able to post new
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 188
E-FREELANCING
threads which can be viewed by other users and these posts will be subjected to comments
from other users as well.
New technologies like Ajax, Web services, are to be implemented and since the developer
is new to these, a detailed study is required. Further, during the project development, the
developer might face problems in project’s implementation. Research regarding new
technologies and their implementation techniques is going on.
What new ideas and theory will you need to learn to build the system?
The new technologies mentioned above are to be known and learnt very well. During the
course of implementation of the project, the developer will learn how to make an efficient
and user-friendly system. The pros and cons of the current existing systems will be taken
into consideration and in this project all the drawbacks of the existing system will be
removed.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 189
E-FREELANCING
Title: E-FREELANCING
These days organizations belonging to every field of work are getting dependent on their
technical employees for any IT related project work or else they need to hire developers
and programmers from somewhere for which they need to make huge payments. Even we
see people search for programmers and developers either to make a website for them or
create any application for their business or ask to perform many more such tasks. All these
problems have a very appropriate solution- Online freelancing. There are a few online
freelancing websites which offer such facilities to hire freelancers online but they do not
guarantee that the developer being hired is completely efficient and able to take that
project. The hiring process of contractors over the existing system is very complex. The
clients are not able to see the complete profile of the available freelancers before the hiring
process starts. Even it is difficult for the freelancers to collect sufficient information from
the website about the clients who are hiring them. This often leads the clients in turmoil
with incompetent developer and the allotted task remains undone. This system will work to
remove such problems and offer people a website which would make the freelancing and
hiring of freelancers a simplified process. The efficiency of the developers will already be
checked by an online test and the price of the projects will be based on online bidding of
the projects.
Rationale
With over 8 million users, you can hire a freelancer to do your contract work at a fraction
of the cost. Whether you need PHP developers, web designers, or content writers, you can
outsource jobs within minutes. Browse through hundreds of skills including copywriting,
data entry, and graphic design or more technical areas like coding HTML, programming
MySQL, and designing CSS. Are you an entrepreneur just starting a company? Find a
quality graphic designer to create a logo to your specifications. Are you looking to grow
your business online? Don't have a website or mobile app? Not a problem, we have
thousands of web developers waiting to hear from you. This accelerates your businesses
growth by giving you the talent you need when you need it.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 190
E-FREELANCING
Tangible Benefits
Ease of access to hire freelancers online will save client’s time to complete the project. The
online bidding of the projects may be useful in limiting the time for bidding and hence this
also saves sufficient time to a lot project to a freelancer. The bidding process will further
reduce the cost of the project.
Not only the clients but also the freelancers will be get benefits from this website.
Availability of projects online will prevent the freelancers from being jobless and it will
serve as a source of income to them. A freelancer can be hired for more than one project
according to the bidding value and hence, more projects will result in more monetary gain.
Intangible Benefits
Both the client and the freelancer being hired will be satisfied with the services provided
by E-Freelancing. The client will have to give less effort in finding an appropriate
freelancer for their projects. The bidding process will ultimately bring the development
cost low enough satisfying the budget requirement of the clients. Further the freelancer
bidding for the projects online will bid up to a level to which they are comfortable. The
freelancer signing up in E-Freelancing has to pass an online test based on their
qualifications. This assures the clients that the freelancers they are hiring for their project
are qualified enough to complete the project.
Target Audience
Any organization or individual who is willing to get their IT related projects made in a
minimum amount possible can use this website and get a suitable developer hired.
Individual working as professional project developers in any organization may also use
this online freelancing service to earn extra money. Freelancers, students having good
knowledge about project development and website designing can use this website as a
source of extra income. All other technical professionals can also make use of this website.
Nature of Challenge
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:
This is a stage which every freelancer will have to pass in order to be eligible to participate
in the online bidding of the projects. This will a very challenging task to implement as lots
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 191
E-FREELANCING
of questions has to be uploaded to the database and at the time of test, those questions will
be directly taken from the database. There will be timer running for each question being
displayed during the test. If the specified question time expires the question will
automatically get changed and a new question will be displayed for with a new timer
running. Marks will have to be calculated and then decision will be taken whether the
freelancer is passed or failed.
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.
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.
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.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 192
E-FREELANCING
Make the complete use of Ajax and JQuery tools so that the system can be made user
friendly, following all the Human Computer Interaction principles.
Implement a secure and bug free payment gateway so that neither the clients nor the
freelancer should face any kind of payment related problems.
Implement a successful and transparent online bidding process for the projects.
Conduct an online test for the freelancers which would be in a very standardized format
and having standard questions which only a well qualified project developer/programmer
will able to pass.
After a client hires a freelancer, a new feature i.e., online chatting will be enabled between
them which will make sharing of ideas and project related doubt clearances easy.
The discussion board will further encourage idea sharing between the freelancers signed up
to the website.
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.
An HCI based website – Here people can register and login themselves as a client or
freelancer as per their choice. Further they will be able to login to the site and enjoy the
services offered.
A very well formatted documentation of the project, having all its contents clearly
elaborated in it. This documentation will also serve as a user manual of the project system.
CORE FEATURES
1. Login module – Users can login to E-Freelancing website either as a Client, who can create
and post projects, or as a freelancer who can bid for the projects.
2. Search module – Just by providing certain keywords, related jobs can be easily searched
out from the website.
3. Profile creation and updating – Users will be asked to create their profile which can be set
to Show/Hide from other users as per their choice. The freelancers and the clients will be
able to see their profiles if required based on which decision on project selection and
submission can also be taken. This created profile can be updated by the user at any time.
4. Profile viewing – Both client and the freelancer will be able to see the profile of each other
when required.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 193
E-FREELANCING
5. Project creation and posting – This facility is availed only for the clients. The clients can
create projects and post the project online where the project will be set for bidding and its
details can be seen easily.
6. Online project bidding – The projects that has been posted to the website can be set for
online bidding. This will be allowed by the clients and bidding will be done by the
freelancers willing to take that specific project.
7. Payment Gateway Integration – This module will perform the payment process of the
website. This is one of the most important modules as this will serve as the medium of
money transfer from the clients to the freelancers.
8. Reporting module – Users can see desired reports by selecting the report type.
9. Feedback – Freelancers can send feedback to admin regarding the online certification test
level and quality of questions.
ADVANCED FEATURES
1. Online Certification test – A short test will have to be given by the freelancer where
questions will be related to the website’s policy of work and the programming language
selected by the freelancer. This test will be mandatory for every freelancer willing to
participate in the online bidding of the projects.
2. Dashboard – This will help the users to view all their profile activities and details.
Extra features are also been implemented to the functions in order to provide better
interactivity and usability to the system, those features are:
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.
Since the project incurs different modules namely, Bidding, chatting, online test, and
discussion board etc., the scope of the project has been limited to certain functionalities.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 194
E-FREELANCING
Though the developer will make all possible efforts to implement all the key features
keeping in mind the needs and requirements of the users, certain limitations are as follows:
The options provided to the users in customizing the background of the website will be
limited to few options.
The chat conversations between the client and the freelancer will not be saved. It means the
website is just facilitating an online communication mode between the two user profiles
and no saved record can be maintained.
The questions provided for online test will be limited to specific areas of programming
languages as most of the programming languages follow similar concepts and all database
related queries apply to the similar concepts.
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.
Hardware
The hardware specifications of the developer’s personal computer for the project’s
development are:
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 195
E-FREELANCING
Software
In order to develop the project, the developer will require certain software as a project
development tool, counting from the operating system to the user interactivity
enhancement tools:
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
User Involvement
Certain group of persons will be regularly contacted during the project development for
providing suggestions and opinions, feedbacks over design and working of the system.
They can also help the developer during the testing phase of the project. The users
involved may be:
Students
Any individual interested to work as a freelancer
Organizations having IT works
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 196
E-FREELANCING
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.
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.
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.
Internet
The websites which may frequently be used during the development are:
http://www.w3cschools.org/
http://www.aspnetbook.com/basics/aspnet_basics.php
http://www.asp.net/
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 197
E-FREELANCING
Magazines
Chips, Digits are magazines that frequently release articles related to outsourcing, web
designing and various other related technologies.
People
Supervisor
Friends
Lecturer
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)
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.
SPIRAL MODEL
Spiral model is a combination of iterative development process model and sequential linear
development model i.e. waterfall model with very high emphasis on risk analysis. It allows
for incremental releases of the product, or incremental refinement through iteration around
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 198
E-FREELANCING
the spiral. The Spiral model is also known as the spiral lifecycle model which combines
the features of the prototyping model and the waterfall model. In this model, we can easily
adjust the software development with the required changes. We create prototypes in every
stage which enables us to roll back only a few steps in case of any mistake or error
detected. It is a circular view of the software lifecycle.
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.
DEVELOPMENT PLAN
This project will be done using the SPIRAL methodology where the whole project will be
broken down into different modules and will be done according to the different phases of
the methodology.
Project Start date: 16th August 2013
Project end date: 3rd May 2014
Total Duration for project completion: 36 Weeks 6 days
9. Project Definition
Duration: 2 week
Tasks: The project definition includes the following tasks to be completed:
Generation of idea related to the project
Selection of the project’s title
Feasibility Studies
Draft Proposal Form
10. Project Planning
Duration: 4 weeks
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 199
E-FREELANCING
Tasks: Project planning requires the following tasks to be covered one after the other:
Work Breakdown Structure
Schedule and Time Estimation
Critical Path Method
Gantt Chart
Project Proposal Form
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 201
E-FREELANCING
A discussion board is to be made which will have questions and answers, ideas posted to it.
Its creation will be challenging for the developer and is too comparatively not an easy task.
White-box testing – White box testing is a test for the conceptual implementations of the
system where the coding and technicality of the system is tested. This type of testing
allows the user to access the system along with its inner codes. This will help the user to
know the system deeply and can better understand the inner functionality or working of the
system. This test will be performed by a supervisor.
Black-box testing - Black box testing is done to test the system’s functionality and it is like
an operational test for the system where the tester tests every function of the system. This
test will be done by the developer during the development process and by the Supervisor
during the project evaluation.
To accomplish the mentioned testing strategies, these types of testing are to be applied:
Usability Testing –it will test the usability of the system. It basically considers the user
interface design, familiarity, user acceptance and how the system recovers from an error.
Tester: End user, supervisor.
GUI Testing – The graphical user interface of the system will be tested to check if there is
any error in the appearance of the screen designs, controls over the screen, etc.
Tester: Developer, supervisor, end user.
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 202
E-FREELANCING
Compatibility Testing – The system will be tested on different operating systems and
software.
Tester: Developer, end user.
Evaluation on Success Criteria
The project evaluation done jointly by the project supervisor, developer and the end users
will be considered for measuring the success criteria of the project:
1. Meet user requirements – A project’s success is confirmed only when it meets all the user
requirements successfully. This is a very important aspect to decide if a project is
succeeded or failed.
Evaluator: Supervisor, End users
2. Level of Content – It shows how well the information and content is available in the
system and how much deep the contents are.
Evaluator: Supervisor, End users
3. System Functionality – Functionality is determined by the working of the system. The
system functionality such as the payment gateway integration, online bidding and test,
profile management are to be evaluated.
Evaluator: Supervisor, End users, Developer
4. System Usability – The evaluator may check the system’s usability by checking the
systems recoverability, accessibility and familiarity to the users.
Evaluator: Supervisor, End users
5. Project Management – How well the scheduling has been followed and how well the
project duration and requirements has been fulfilled managing both time and development
cost. These are to be evaluated by the evaluator.
Evaluator: Supervisor
6. Research and Analysis – The developer is required to do a good amount of research and
analysis before and even during he course of project development. The evaluator will
check this whether the research done meets the satisfactory line of project success or not.
Evaluator: Supervisor
7. Documentation – a very well formatted documentation is to be done which should not have
any grammatical mistake in it and the content should be clearly specified.
Evaluator: Supervisor
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 203
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 204
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 205
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 206
E-FREELANCING
Supervisor: Mr. Arun Choudhary | Advisor: Mrs. Priyanka Sachdeva | Piyush Kumar Page 207