Performax: Infosys Limited
Performax: Infosys Limited
PERFORMAX
At
INFOSYS LIMITED
SUBMITTED IN PARTIAL FULFILLMENT FOR AWARD DEGREE OF
BACHELOR OF ENGINEERING
IN
The internship opportunity I had with INFOSYS LIMITED was a great chance for
learning and professional development. Therefore, I consider myself as a very lucky
individual as I was provided with an opportunity to be a part of it. I am also grateful for
having a chance to meet so many wonderful people and professionals who led me though
this internship period.
Bearing in mind previous I am using this opportunity to express my deepest gratitude and
special thanks to Mr. Azhar Naveed Khairdi (Mentor) who in spite of being
extraordinarily busy with his duties, took time out to hear, guide and keep me on the
correct path and allowing me to carry out my project at their esteemed organization and
extending during the training.
I express my deepest thanks to Kadir Vel Rajan (Batch Owner) for taking part in useful
decision & giving necessary advices and guidance and arranged all facilities to make life
easier. I choose this moment to acknowledge his contribution gratefully.
Varun Khurana
Abstract
This report describes the internship I spent at the Infosys Limited Mysore. The Global
Education Center is a leading training center for the company recruits and as such
operates under the principles governed by the company itself. The managerial structure of
the Center and responsibilities of each department, explain the specifics of the Center and
the difficulties, problems and barriers that impact the functioning of the Center.
I present an in-depth analysis of the project done at the end of the training along with
strengths and weaknesses as well as threats and opportunities available to me as identified
through a SWOT analysis. The steps required to implement the recommendations
suggested are also presented.
Finally, I presented the entire functioning of the project through the screenshots and
discuss the future scope of the project taken during the internship.
Table of Contents
LIST OF TABLES 11
Advantages of CSS 32
Advantages of JavaScript 33
Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program inputs produce valid outputs. All decision
branches and internal code flow should be validated. It is the testing of individual
software units of the application .it is done after the completion of an individual
unit before integration. This is a structural testing, that relies on knowledge of its
construction and is invasive. Unit tests perform basic tests at component level and
test a specific business process, application, and/or system configuration. Unit tests
ensure that each unique path of a business process performs accurately to the
documented specifications and contains clearly defined inputs and expected results.
61
[4] https://stackoverflow.com/ 64
[8] https://github.com/miguelgrinberg/flasky 64
LIST OF FIGURES
Page
Fig. No. Title
No.
1.1 rdgfgh 5
1.2 sdfgtr 7
1.3 dfggttg 10
1.4 ytryyy 15
2.1 Ryt6u 20
2.2 ettjyuu 31
LIST OF TABLES
Page
Table. No. Title
No.
1.1 rdgfgh 5
1.2 sdfgtr 7
1.3 dfggttg 10
1.4 ytryyy 15
2.1 Ryt6u 20
2.2 ettjyuu 31
CHAPTER 1
INTRODUCTION
The increasing use of technology in everyday life has increased efficiency and
productivity. It is because of budding technologies like artificial intelligence, robotic
process automation, and machine learning etc. that the educators today are able to
provide a personalized learning environment to the students and easily monitor their
own performance.
The following are the 6 ways in which technology is influencing the education sector:
1. Smart Feedbacks
Feedback, whether it is for the educator or tech associate, is very important to improve the
learning process. The students’ feedback gives an opportunity for the educator or tech
associate to identify gaps in their teaching efforts and do better. The teachers’
feedback allows the students to identify the areas where they need to do some extra
work. For student’s feedback, the educational institutions generally use online to
printed forms.
But this process can become more engaging and authentic with technology
implementations.
Every year a huge amount, of prospective students visit the college websites or
administrate offices to inquire about the admission process, scholarships or course
fees.
Since most questions are repetitive, chat bot’s can be used to convert this time-consuming
task of replying to each query personally into an automatic one.
This would not only save a great deal of time of the students but would also diminish the
burden of the institutions. Moreover, the students would not have to wait for getting
the reply and can participate in instant chats with these bots.
5. Better Support
The responsibility of an educational institution doesn’t end at providing a highly-qualified
faculty, well-equipped labs or better courses. It has been found that a poor student
support is one of the key reasons why students drop out of colleges. Hence, the higher
education institutions should always pay attention in providing the complete
information to the students and in communicating with them time-to-time.
RPA can offer a huge value here. RPA that help the students during the admission
processes can further be used to provide them all the necessary information about
their courses, its modules, and faculties. The bots can also act as campus guides and
help the students as they arrive at the campus. They can help the students find out
more about the scholarships, hostel facilities, library memberships, and so on.
The relevance of the project is efficient performance analysis and representation. As the
educator and tech associate to student ratio is quite low, so an educator is responsible
for educating a huge number of students. If the educator isn’t doing a good job many
students suffer. One of the great benefits of performance analysis via feedback
generated from students is that an overall area of improvement is easily identified and
saves time. Once created you’ll probably save in the long run. Hence Save Money.
Another benefit of doing so is that quality of education would improve manifolds.
1.3 PURPOSE
The purpose of the project is efficient performance analysis of educator and tech associate
via Feedbacks from the students. Since, the feedback is generated and stored in excel
sheets which are quite boring and tedious to look at. So, the excel sheet data is thus
transformed to visual representation. This would not only save a great deal of time of
the educators and their managers but would also diminish the burden of the
institutions. Moreover, the students would experience a better learning environment.
● Everyone finds it difficult while we are learning under the absence of the mentor.
● The students may despise studying if the educator isn’t good enough.
● They can help in reducing the workload of the administrative staff of the
educational institutions.
● As a result, we can expect an immense growth of the education sector, beneficiary
interactions between the students and the teachers and a superior classroom
environment. It would not only enhance the students’ learning, but would foster
vision, resilience, and inquisitiveness among educators and tech associates.
• The user is always free to learn new things with the help of this project as it
provides a connectivity to LEX.
• The project enables users to have good and user-friendly experience with
simple UI.
1.8.1 Limitations:
• Everyone finds it difficult while we are learning under the absence of the
guide.
• Many educators who are really interested to improve and learn new things
might get stuck in between and find difficult to proceed further.
• Many educators might lose interest and continue their average teaching
process because of not knowing where they lack.
1.9.1 Advantages:
● The proposed solution is an application which provides suggestions to
assist educators and tech associates for improving their teaching skills.
● PERFORMAX will query data from database, what the user is asking and
generate an appropriate response based on the queried data in the form of
graphical representation.
2.1 PERFORMAX
Literature survey is the most important step in software development process. Before
developing the tool, it is necessary to determine the time factor, economy and company
strength. Once these things are satisfied, the next step is to determine which language is to
be used for developing the tool. Once programmer starts coding, they need lots of external
support. This can be obtained by senior programmers. Before building the system, the
above consideration should be taken into account.
Google Charts is a pure JavaScript based charting library meant to enhance web
applications by adding interactive charting capability. It supports a wide range of charts.
Charts are drawn using SVG in standard browsers like Chrome, Firefox, Safari, and
Internet Explorer (IE). In legacy IE 6, VML is used to draw the graphics.
● Free to Use − Open source and is free to use for non-commercial purpose.
● Multiple axes − Not restricted to x, y axis. Supports multiple axis on the charts.
● Configurable tooltips − Tooltip comes when a user hover over any point on a
chart. Google charts provides tooltip inbuilt formatter or callback formatter to
control the tooltip programmatically.
● Date Time support − Handle date time specially. Provides numerous inbuilt
controls over date wise categories.
● External data − Supports loading data dynamically from server. Provides control
over data using callback functions.
● Take the input i.e., queries data from the database etc. which is selected by the
user through the dashboard.
● The application should search for the appropriate output with the help of data in
database available.
PERFORMAX gets the data from a CSV, which is populated from an excel sheet.
From the CSV the data is entered to the database using a program written in python.
preferences, behaviors.
● Define meaningful user groups/personas. Identify user roles and groups based on
the difference in their goals.
● Determine user goals. Build user stories around user’s needs and expectations.
● Map user groups, goals and system actions. Apply use cases for different user
groups with various goals to your system.
3.5.3 JAVASCRIPT
Java-script is the programming language of HTML and the Web. Java-script (JS) is a
lightweight interpreted or just-in-time compiled programming language
with first-class functions. While it is most well-known as the scripting language
for Web pages.
Google Charts is a pure JavaScript based charting library meant to enhance web
applications by adding interactive charting capability. It supports a wide range of
charts. Charts are drawn using SVG in standard browsers like Chrome, Firefox,
Safari, Internet Explorer (IE). In legacy IE 6, VML is used to draw the graphics.
Google Charts provides wide variety of charts. For example, line charts, spline charts,
area charts, bar charts, pie charts and so on.
● Free to Use − Open source and is free to use for non-commercial purpose.
● Configurable tooltips − Tooltip comes when a user hover over any point
on a charts. Google charts provides tooltip inbuilt formatter or callback
formatter to control the tooltip programmatically.
Example :The following code shows a simple web application that prints "Hello
World!":
app = Flask(__name__)
@app.route("/")
def hello():
3.5.9 BOOTSTRAP
● Bootstrap is a free front-end framework for faster and easier web development.
● Bootstrap includes HTML and CSS based design templates for typography, forms,
buttons, tables, navigation, modals, image carousels and many other, as well as
Generating HTML from within Python is not fun, and actually pretty cumbersome
because you have to do the HTML escaping on your own to keep the application secure.
To render a template you can use the render_template() method.
@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
CHAPTER 4
SYSTEM DESIGN AND ANALYSIS
4.1 PRELIMINARY DESIGN
A preliminary design is a design of an entire treatment facility, carried out in sufficient
detail to enable accurate estimation of the costs for constructing and operating a treatment
facility.
The below diagram represents the system architecture of Learning assistant project. The
user is allowed to request or query via a user interface i.e. dashboard. The data is stored in
the database and the output generated is rendered as a step and suggestions are displayed.
Assist Edge RPA provides technology platform to automate business processes involving
different applications across technology platforms by modelling rules into robots and
eliminates human errors. Provides E2E automation of repetitive tasks, transactions and
processes. Also automates live operational and repetitive processes in the cloud. Support
both cloud and on premise applications.
Features:
● Multi-skilled robots
Google Charts is a pure JavaScript based charting library meant to enhance web
applications by adding interactive charting capability. It supports a wide range of charts.
Charts are drawn using SVG in standard browsers like Chrome, Firefox, Safari, Internet
Explorer (IE). In legacy IE 6, VML is used to draw the graphics.
Google Charts provides wide variety of charts. For example, line charts, spline charts,
area charts, bar charts, pie charts and so on.
● Free to Use − Open source and is free to use for non-commercial purpose.
Flask is often referred to as a micro framework. It aims to keep the core of an application simple
yet extensible. Flask does not have built-in abstraction layer for database handling, nor does it
have form a validation support. Instead, Flask supports the extensions to add such functionality to
the application.
Technologies used:
● HTML
● CSS
● BOOTSTRAP
● JAVASCRIPT
5.2.1.1 HTML
HTML is the standard markup language for creating Web pages. HTML stands
for Hypertext Markup Language, and it is the most widely used language to write Web
Pages.
● Hypertext refers to the way in which Web pages (HTML documents) are linked
together. Thus, the link available on a webpage is called Hypertext.
● As its name suggests, HTML is a Markup Language which means you use
HTML to simply "mark-up" a text document with tags that tell a Web browser
how to structure it to display.
Originally, HTML was developed with the intent of defining the structure of documents
like headings, paragraphs, lists, and so forth to facilitate the sharing of scientific
information between researchers.
Now, HTML is being widely used to format web pages with the help of different tags
available in HTML language.
CSS is easy to learn and understand but it provides powerful control over the
presentation of an HTML document. Most commonly, CSS is combined with the markup
languages HTML or XHTML.
Advantages of CSS
● CSS saves time − You can write CSS once and then reuse same sheet in multiple
HTML pages. You can define a style for each HTML element and apply it to as
many Web pages as you want.
● Pages load faster − If you are using CSS, you do not need to write HTML tag
attributes every time. Just write one CSS rule of a tag and apply it to all the
occurrences of that tag. So less code means faster download times.
● Easy maintenance − To make a global change, simply change the style, and all
elements in all the web pages will be updated automatically.
● Superior styles to HTML − CSS has a much wider array of attributes than
HTML, so you can give a far better look to your HTML page in comparison to
HTML attributes.
● Global web standards − Now HTML attributes are being deprecated and it is
being recommended to use CSS. So, it’s a good idea to start using CSS in all the
HTML pages to make them compatible to future browsers.
5.2.1.3 JAVASCRIPT
Javascript is the programming language of HTML and the Web. Javascript (JS) is a
lightweight interpreted or just-in-time compiled programming language with first-class
functions. While it is most well-known as the scripting language for Web pages.
Client-side JavaScript is the most common form of the language. The script should be
included in or referenced by an HTML document for the code to be interpreted by the
browser.
It means that a web page need not be a static HTML, but can include programs that
interact with the user, control the browser, and dynamically create HTML content.
The JavaScript client-side mechanism provides many advantages over traditional CGI
server-side scripts. For example, you might use JavaScript to check if the user has
entered a valid e-mail address in a form field.
The JavaScript code is executed when the user submits the form, and only if all the
entries are valid, they would be submitted to the Web Server.
JavaScript can be used to trap user-initiated events such as button clicks, link navigation,
and other actions that the user initiates explicitly or implicitly.
Advantages of JavaScript
● Less server interaction − You can validate user input before sending the page
off to the server. This saves server traffic, which means less load on your server.
● Immediate feedback to the visitors − They don't have to wait for a page reload
to see if they have forgotten to enter something.
● Increased interactivity − You can create interfaces that react when the user
hovers over them with a mouse or activates them via the keyboard.
5.2.1.4 BOOTSTRAP
Bootstrap is the popular HTML, CSS and JavaScript framework for developing a
responsive and mobile friendly website.
Bootstrap includes all topics such as jumbotron, table, button, grid, form, image, alert,
wells, container, carousel, panels, glyphicon, badges, labels, progress bar, pagination,
pager, list group, dropdown, collapse,tabs, pills, navbar, inputs, modals, tooltip, popover
and scrollspy.
● Bootstrap is a free front-end framework for faster and easier web development.
● Bootstrap includes HTML and CSS based design templates for typography, forms,
buttons, tables, navigation, modals, image carousels and many other, as well as
optional JavaScript plugins.
● Bootstrap also gives you the ability to easily create responsive designs.
Flask is a web application framework written in Python. Armin Ronacher, who leads an
international group of Python enthusiasts named Pocco, develops it. Flask is based on
Werkzeug WSGI toolkit and Jinja2 template engine. Both are Pocco projects.
1 GET
2 HEAD
3 POST
Used to send HTML form data to server. Data received by POST method is not
cached by server.
4 PUT
Replaces all current representations of the target resource with the uploaded
content.
5 DELETE
By default, the Flask route responds to the GET requests. However, generating HTML
content from Python code is cumbersome, especially when variable data and Python
language elements like conditionals or loops need to be put. This would require frequent
escaping from HTML.
This is where one can take advantage of Jinja2 template engine, on which Flask is based.
Instead of returning hardcode HTML from the function, a HTML file can be rendered by
the render_template() function.
5.2.2.3 Session
Unlike a Cookie, Session data is stored on server. Session is the time interval when a
client logs into a server and logs out of it. The data, which is needed to be held across
this session, is stored in a temporary directory on the server.
A session with each client is assigned a Session ID. The Session data is stored on top of
cookies and the server signs them cryptographically. For this encryption, a Flask
application needs a defined SECRET_KEY.
Session object is also a dictionary object containing key-value pairs of session variables
and associated values.
● Oracle
● PL SQL
5.2.3.1 Oracle
The acronym ERP stands for enterprise resource planning. It refers to the systems and
software packages used by organizations to manage day-to-day business.
Oracle E-Business Suite is one of the most reputed ERP product which is currently
available in the market – developed by Oracle. In the world of enterprise resource
planning, very few software products have really made to the top ranks when it comes to
worldwide implementations. Based on market share – SAP, Microsoft Dynamics are the
close vendors who try to get the ERP share in almost all the regions.
5.2.3.2 PL SQL
The PL/SQL programming language was developed by Oracle Corporation in the late
1980s as procedural extension language for SQL and the Oracle relational database.
Following are certain notable facts about PL/SQL −
● PL/SQL can also directly be called from the command-line SQL*Plus interface.
● Direct call can also be made from external programming language calls to
database.
4 UI design 05/04/2019
5 Coding 06/04/2019
7 Integration 28/04/2019
9 Documentation 03/05/2019
12 Principles of Agile
10. Simplicity.
5.2.6 Scrum
Scrum is an agile way to manage a project, usually software development. Agile software
development with Scrum is often perceived as a methodology; but rather than
viewing Scrum as methodology, think of it as a framework for managing a process.
● Sprint
● Sprint Planning
● Daily Scrum
● Sprint Review
● Sprint Retrospective
Fig 5.2 Scrum Values
Fig 6.20 Refresh the data in database i.e. New csv to db tables
Fig 6.21 Log Out
Fig 6.22 Error Page
CHAPTER 7
TESTING
Functional Testing is a type of software testing whereby the system is tested against the
functional requirements/specifications. Functions (or features) are tested by feeding them
input and examining the output. Functional testing ensures that the requirements are
properly satisfied by the application. This type of testing is not concerned with how
processing occurs, but rather, with the results of processing. It simulates actual system
usage but does not make any system structure assumptions. During functional
testing, Black Box Testing technique is used in which the internal logic of the system
being tested is not known to the tester. Functional testing is normally performed during
the levels of System Testing and Acceptance Testing.
1) Security: The parameter defines how a system is safeguarded against deliberate and
sudden attacks from internal and external sources. This is tested via Security Testing.
2) Reliability:
The extent to which any software system continuously performs the specified functions
without failure. This is tested by Reliability Testing
3) Survivability:
The parameter checks that the software system continues to function and recovers itself in
case of system failure. This is checked by Recovery Testing
4) Availability:
The parameter determines the degree to which user can depend on the system during its
operation. This is checked by Stability Testing.
5) Usability:
The ease with which the user can learn, operate, prepare inputs and outputs through
interaction with a system. This is checked by Usability Testing
6) Scalability:
The term refers to the degree in which any software application can expand its processing
capacity to meet an increase in demand. This is tested by Scalability Testing.
7) Interoperability:
This non-functional parameter checks a software system interfaces with other software
systems. This is checked by Interoperability Testing.
8) Efficiency:
The extent to which any software system can handles capacity, quantity and response
time.
9) Flexibility:
The term refers to the ease with which the application can work in different hardware and
software configurations. Like minimum RAM, CPU requirements.
10) Portability:
The flexibility of software to transfer from its current hardware or software environment.
11) Reusability:
It refers to a portion of the software system that can be converted for use in another
application.
The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the
functionality of components, subassemblies, assemblies and/or a finished product it is the
process of exercising software with the intent of ensuring that the Software system meets
its requirements and user expectations and does not fail in an unacceptable manner. There
are various types of test. Each test type addresses a specific testing requirement.
7.3 WHITEBOX TESTING
White Box Testing (also known as Clear Box Testing, Open Box Testing, Glass Box
Testing, Transparent Box Testing, Code-Based Testing or Structural Testing) is a
software testing method in which the internal structure/design/implementation of the item
being tested is known to the tester. The tester chooses inputs to exercise paths through the
code and determines the appropriate outputs. Programming know-how and the
implementation knowledge is essential. White box testing is testing beyond the user
interface and into the nitty-gritty of a system.
White box testing encompasses several testing types used to evaluate the usability of an
application, block of code or specific software package. There are listed below –
● Unit Testing: It is often the first type of testing done on an application. Unit
testing is performed on each unit or block of code as it is developed. Unit Testing
is essentially done by the programmer. As a software developer, you develop a
few lines of code, a single function or an object and test it to make sure it works
before continuing Unit Testing helps identify a majority of bugs, early in the
software development lifecycle. Bugs identified in this stage are cheaper and easy
to fix.
● Testing for Memory Leaks: Memory leaks are leading causes of slower running
applications. A QA specialist who is experienced at detecting memory leaks is
essential in cases where you have a slow running software application.
Apart from above, a few testing types are part of both black box and white box testing.
They are listed as below
● White Box Penetration Testing: In this testing, the tester/developer has full
information of the application's source code, detailed network information, IP
addresses involved and all server information the application runs on. The aim is
to attack the code from several angles to expose security threats
7.4 DIFFERENT STAGES OF TESTING
input, all of the "integrated" software components that have successfully passed
integration testing and also the software system itself integrated with any applicable
hardware system(s).
System testing is a more limited type of testing; it seeks to detect defects both within the
"inter-assemblages" and also within the system as a whole. System testing is performed
on the entire system in the context of a Functional Requirement Specification(s) (FRS)
and/or a System Requirement Specification (SRS).
System testing tests not only the design, but also the behavior and even the believed
expectations of the customer. It is also intended to test up to and beyond the bounds
defined in the software/hardware requirements specification(s).
CHAPTER 8
CONCLUSION AND FUTURE SCOPE
8.1 CONCLUSION
In this application “Performax”, we have worked to facilitate performance analysis of
users such as educators or tech associates. The educator and tech associate to student ratio
is quite low, so an educator is responsible for educating a huge number of students. If the
educator isn’t doing a good job many students suffer .One of the great benefits of
performance analysis via feedback generated from students is that an overall area of
improvement is easily identified and saves time. User can also refer to the links and
suggestions for improving skills.
[2] Allen Downey, Jeff Elkner, Chris Meyers,” Learning with Python”
[4] https://stackoverflow.com/
[5] https://zenkit.com/en/blog/agile-methodology-an-overview/
[6] www.w3schools.com.
[7] www.tutorialspoint.com
[8] https://github.com/miguelgrinberg/flasky
[9] https://stackoverflow.com/