1DS18EC135 Internship Report

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 23

Software Development Internship

CHAPTER 1: ABOUT THE COMPANY

IBM, in full International Business Machines Corporation, is a leading American computer


manufacturer, with a major share of the market both in the United States and abroad. Its headquarters are
in Armonk, New York.

It was incorporated in 1911 as the Computing-Tabulating-Recording Company in a consolidation of three


smaller companies that made punch-card tabulators and other office products. The company assumed its
present name in 1924 under the leadership of Thomas Watson, a man of considerable marketing skill who
became general manager in 1914 and had gained complete control of the firm by 1924. Watson built the
then-floundering company into the leading American manufacturer of punch-card tabulating systems used
by governments and private businesses. He also developed a highly disciplined and competitive sales
force that adapted the company’s custom-built tabulating systems to the needs of particular customers.

In 1933 IBM purchased Electromatic Typewriters, Inc., and thereby entered the field of electric
typewriters, in which it eventually became an industry leader. During World War II, IBM helped
construct several high-speed electromechanical calculators that were the precursors of
electronic computers. But the firm refrained from producing these electronic data-processing
systems until Watson’s son, Thomas Watson, Jr., became president of the company in 1952 and
sponsored an all-out push into that field. Having entered the computer field, IBM’s size allowed it to
invest heavily in development. This investment capability, added to its dominance in office-
calculating machines, its marketing expertise, and its commitment to repair and service its own
equipment, allowed IBM to quickly assume the predominant position in the American computer
market. By the 1960s it was producing 70 percent of the world’s computers and 80 percent of those
used in the United States.

Dept. of ECE , DSCE, Bangalore Page 1


Software Development Internship

HISTORY AND OPERATIONS

In 2002 IBM sold its magnetic hard drive business for $2.05 billion to the Japanese electronics firm
of Hitachi, Ltd. Under the terms of the sale, IBM agreed to continue producing hard drives with Hitachi
for three years in a joint venture known as Hitachi Global Storage Technologies. In 2005 Hitachi took full
control of the joint venture and IBM stopped building a device that it had invented in 1956. In December
2005 IBM sold its personal computer division to the Lenovo Group, a major Chinese manufacturer. In
addition to cash, securities, and debt restructuring, IBM acquired an 18.9 percent stake in Lenovo, which
acquired the right to market its personal computers under the IBM label through 2010. With these
divestitures, IBM shifted away from manufacturing so-called commodity products in order to concentrate
on its computer services, software, supercomputer, and scientific research divisions. Since 2000, IBM has
placed one of its supercomputers consistently at or near the top of the industry’s list of most powerful
machines as measured by standardized computation tests. In addition to producing supercomputers for
governments and large corporations, IBM’s supercomputer division, in cooperation with the Toshiba
Corporation and the Sony Corporation of Japan, designed the Cell Broadband Engine. Developed over a
four-year period beginning in 2001, this advanced computer chip has multiple applications, from
supercomputers to Toshiba high-definition televisions to the Sony Playstation 3 electronic game system.
IBM also designed the computer chips for the Microsoft Corporation Xbox 360 and the Nintendo
Company Wii game systems. IBM became the first company to generate more than 3,000 patents in one
year (2001) and, later, more than 4,000 patents in one year (2008). The company now holds more than
40,000 active patents, which generate considerable income from royalties.

FOUNDERS

Charles Ranlett Flint[1] (January 24, 1850 – February 26, 1934) was the founder of the Computing-
Tabulating-Recording Company which later became IBM. For his financial dealings, he earned the
moniker "Father of Trusts".
In 1911, he formed the Computing-Tabulating-Recording Company through the amalgamation (via stock
acquisition) of four companies: The Tabulating Machine Company, International Time Recording
Company, Computing Scale Company of America, and the Bundy Manufacturing
Company. Amalgamation was unusual at the time - Flint described it as an "allied" consolidation. In

Dept. of ECE , DSCE, Bangalore Page 2


Software Development Internship

1924, CTR was re-christened as International Business Machines. Flint served on the board of directors
of IBM until he retired in 1930.

Thomas John Watson Sr.[2] (February 17, 1874 – June 19, 1956) was an American businessman who
served as the chairman and CEO of IBM. He oversaw the company's growth into an international force
from 1914 to 1956. Watson developed IBM's management style and corporate culture from John Henry
Patterson's training at NCR. He turned the company into a highly effective selling organization, based
largely on punched card tabulating machines. A leading self-made industrialist, he was one of the richest
men of his time and was called the world's greatest salesman when he died in 1956.
Charles Ranlett Flint, who had engineered the amalgamation (via stock acquisition) forming
the Computing-Tabulating-Recording Company (CTR) found it difficult to manage the five companies.
He hired Watson as general manager on May 1, 1914, when the five companies had about 1,300
employees. Eleven months later he was made President when court cases relating to his time at NCR were
resolved. Within four years revenues had been doubled to $9 million. In 1924, he renamed CTR to
International Business Machines. Watson built IBM into such a dominant company that the federal
government filed a civil antitrust suit against it in 1952. IBM owned and leased to its customers more
than 90 percent of all tabulating machines in the United States at the time. When Watson died in 1956,
IBM's revenues were $897 million, and the company had 72,500 employees.

PRODUCTS OFFERED BY IBM[3]


IBM Storage
 IBM FlashSystem
 Software-defined storage
 Data Protection
 Tape Storage
 Storage Area networks
 IBM Storage A-Z

Dept. of ECE , DSCE, Bangalore Page 3


Software Development Internship

IBM Z
 IBM z15
 IBM Z hardware
 IBM Z operating systems
 IBM Z software
 IBM Z technologies
 IBM products A-Z

IBM Power Systems


 Scalable Servers
 Accelerated computing
 Power Systems operating systems
 Enterprise Business Servers
 Power Systems Software

IBM LinuxOne
 LinuxONE III
 All LinuxONE servers

IBM Spectrum Computing


 IBM Spectrum Deep Learning Impact
 IBM Watson Machine Learning Accelerator

Dept. of ECE , DSCE, Bangalore Page 4


Software Development Internship

IT INFRASTRUCTURE SERVICES OFFERED[4]

ASSEMBLY AND TEST SERVICES


Assembly and Test Services from IBM are optimized to deliver differentiation in high-complexity
package solutions for semiconductor fabless providers, integrated device manufacturers (IDMs), and
original equipment manufacturers (OEMs).

LAB SERVICES
IBM Lab Services is uniquely positioned to help IBM clients through a full IT infrastructure lifecycle of
strategy and planning, architecture and design, and implementation and optimization. We offer proven
expertise for a wide range of IT infrastructure services for IBM Power Systems, IBM Z, and LinuxONE
systems, and IBM Storage.

PLATFORM TEST SERVICES


Platform Test Services are contained within the development lab for IBM servers, operating systems, and
related software, and consists of several teams whose scope spans IBM Z and Power Systems running
AIX and IBM i.

IBM PRODUCT DESIGN AND ENGINEERING SERVICES


IBM Product Design and Engineering Services offers a wide range of comprehensive design services by
highly trained teams of IBM professionals experienced in product development engineering.

IT ECONOMICS SERVICES
Companies — large and small — are looking for ways to simplify operations and reduce IT costs while
meeting the demands of their business.  IBM offers a no-charge economics study of your IT environment
to determine the most effective technical and economical solution for your business.

Dept. of ECE , DSCE, Bangalore Page 5


Software Development Internship

CHAPTER 2: ABOUT THE DEPARTMENT

SOFTWARE DEVELOPMENT

Software development refers to a set of computer science activities dedicated to the process of
creating, designing, deploying and supporting software. Software itself is the set of instructions
or programs that tell a computer what to do. It is independent of hardware and makes computers
programmable. Software engineers apply engineering principles to build software and systems to
solve problems. They use modeling language and other tools to devise solutions that can often be
applied to problems in a general way, as opposed to merely solving for a specific instance or
client. Software engineering solutions adhere to the scientific method and must work in the real
world, as with bridges or elevators. Their responsibility has grown as products have become
increasingly more intelligent with the addition of microprocessors, sensors and software. Not
only are more products relying on software for market differentiation, but their software
development must be coordinated with the product’s mechanical and electrical development
work. The work of software development isn’t confined to coders or development teams.
Professionals such as scientists, device fabricators and hardware makers also create software
code even though they are not primarily software developers. Nor is it confined to traditional
information technology industries such as software or semiconductor businesses. In fact,
according to the Brookings Institute , those

Dept. of ECE , DSCE, Bangalore Page 6


Software Development Internship

businesses “account for less than half of the companies performing software development”.
Software developers have a less formal role than engineers and can be closely involved with
specific project areas — including writing code. At the same time, they drive the overall software
development lifecycle — including working across functional teams to transform requirements
into features, managing development teams and processes, and conducting software testing and
maintenance.

Dept. of ECE , DSCE, Bangalore Page 7


Software Development Internship

CHAPTER 3: TASKS PERFORMED

INTRODUCTION TO SOFTWARE DEVELOPMENT

Software development is the process of conceiving, specifying,


designing, programming, documenting, testing, and bug fixing involved in creating and
maintaining applications, frameworks, or other software components. Software development
involves writing and maintaining the source code, but in a broader sense, it includes all processes
from the conception of the desired software through to the final manifestation of the software,
typically in a planned and structured process. Software development also includes research, new
development, prototyping, modification, reuse, re-engineering, maintenance, or any other
activities that result in software products. Developing software typically involves the following
steps:

 Selecting a methodology to establish a framework in which the steps of software


development are applied. It describes an overall work process or roadmap for the project.
Methodologies can include Agile development, DevOps, Rapid Application
Development (RAD), Scaled Agile Framework (SAFe), Waterfall and others. (See the
glossary.)
 Gathering requirements to understand and document what is required by users and other
stakeholders.
 Choosing or building an architecture as the underlying structure within which the
software will operate.

Dept. of ECE , DSCE, Bangalore Page 8


Software Development Internship

 Developing a design around solutions to the problems presented by requirements, often


involving process models and storyboards.
 Building a model with a modeling tool that uses a modeling language like SysML or
UML to conduct early validation, prototyping and simulation of the design.
 Constructing code in the appropriate programming language. Involves peer and team
review to eliminate problems early and produce quality software faster.
 Testing with pre-planned scenarios as part of software design and coding — and
conducting performance testing to simulate load testing on the applicatio.
 Managing configuration and defects to understand all the software artifacts
(requirements, design, code, test) and build distinct versions of the software. Establish
quality assurance priorities and release criteria to address and track defects.
 Deploying the software for use and responding to and resolving user problems.
 Migrating data to the new or updated software from existing applications or data sources
if necessary.
 Managing and measuring the project to maintain quality and delivery over the
application lifecycle, and to evaluate the development process with models such as the
Capability Maturity Model (CMM).

TYPES OF SOFTWARES
There are three basic types of softwares:

System software to provide core functions such as operating systems, disk management,
utilities, hardware management and other operational necessities.

Programming software to give programmers tools such as text editors, compilers, linkers,
debuggers and other tools to create code.

Application software (applications or apps) to help users perform tasks. Office productivity
suites, data management software, media players and security programs are examples.

Dept. of ECE , DSCE, Bangalore Page 9


Software Development Internship

Applications also refers to web and mobile applications like those used to shop on Amazon.com,
socialize with Facebook or post pictures to Instagram.1

A possible fourth type is embedded software. Embedded systems software is used to control
machines and devices not typically considered computers — telecommunications networks, cars,
industrial robots and more. These devices, and their software, can be connected as part of
the Internet of Things (IoT).

OBJECTIVE
The main objective of the Internship is to learn more about software development so that we can
fulfil the client needs for a customized software. Also we should be able to build good quality
software and help in their maintenance and proper running.

TOOLS USED
VISUAL STUDIO CODE
Visual Studio Code (famously known as VS Code) is a free open-source text editor by
Microsoft. VS Code is available for Windows, Linux, and macOS. Although the editor is
relatively lightweight, it includes some powerful features that have made VS Code one of the
most popular development environment tools in recent times.

VS Code supports a wide array of programming languages from Java, C++, and Python to CSS,
Go, and Dockerfile. Moreover, VS Code allows you to add on and even creating new extensions
including code linters, debuggers, and cloud and web development support.

The VS Code user interface allows for a lot of interaction compared to other text editors. To
simplify user experience, VS Code is divided into five main regions:

• The activity bar

• The side bar

• Editor groups

Dept. of ECE , DSCE, Bangalore Page 10


Software Development Internship

• The panel

• The status bar

VISUAL STUDIO COMMUNITY EDITION


Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is
used to develop computer programs, as well as websites, web apps, web services and mobile
apps. Visual Studio includes a code editor supporting IntelliSense (the code
completion component) as well as code refactoring. The integrated debugger works both as a
source-level debugger and a machine-level debugger. Other built-in tools include a code profiler,
designer for building GUI applications, web designer, class designer, and database
schema designer. Visual Studio supports 36 different programming languages and allows the
code editor and debugger to support (to varying degrees) nearly any programming language,
provided a language-specific service exists. Built-in languages include C, C++, C+
+/CLI, C#, F#, JavaScript, TypeScript, XML, XSLT, HTML, and CSS. The most basic edition of
Visual Studio, the Community edition, is available free of charge. The slogan for Visual Studio
Community edition is "Free, fully-featured IDE for students, open-source and individual
developers".

GITHUB
GitHub, Inc. is a provider of Internet hosting for software development and version control using
Git. It offers the distributed version control and source code management (SCM) functionality of
Git, plus its own features. It provides access control and several collaboration features such as
bug tracking, feature requests, task management, continuous integration and wikis for every
project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.

It is commonly used to host open-source projects. As of November 2021, GitHub reports having
over 73 million developers and more than 200 million repositories (including at least 28 million
public repositories). It is the largest source code host as of November 2021.

Dept. of ECE , DSCE, Bangalore Page 11


Software Development Internship

HTML
HTML is a markup language used for structuring and presenting content on the World Wide
Web. It stands for Hyper Text Markup Language. It is the standard markup language for creating
Web pages. HTML describes the structure of a Web page. HTML consists of a series of
elements. HTML elements tell the browser how to display the content.
The HyperText Markup Language or HTML is the standard markup language for documents
designed to be displayed in a web browser. It can be assisted by technologies such as Cascading
Style Sheets (CSS) and scripting languages such as JavaScript.
Web browsers receive HTML documents from a web server or from local storage and render the
documents into multimedia web pages. HTML describes the structure of a web page
semantically and originally included cues for the appearance of the document.
HTML elements are the building blocks of HTML pages. With HTML constructs, images
and other objects such as interactive forms may be embedded into the rendered page.
HTML provides a means to create structured documents by denoting structural semantics
for text such as headings, paragraphs, lists, links, quotes and other items. HTML elements
are delineated by tags, written using angle brackets. Tags such as <img /> and <input />
directly introduce content into the page. Other tags such as <p> surround and provide
information about document text and may include other tags as sub-elements. Browsers do
not display the HTML tags but use them to interpret the content of the page.

HTML can embed programs written in a scripting language such as JavaScript, which
affects the behavior and content of web pages. Inclusion of CSS defines the look and
layout of content. The World Wide Web Consortium (W3C), former maintainer of the
HTML and current maintainer of the CSS standards, has encouraged the use of CSS over
explicit presentational HTML since 1997. A form of HTML, known as HTML5, is used to
display video and audio, primarily using the <canvas> element, in collaboration with
javascript.

CSS
CSS is used with HTML to create and format content structure. It is responsible for

Dept. of ECE , DSCE, Bangalore Page 12


Software Development Internship

colours, font properties, text alignments, background images, graphics etc.

Dept. of ECE , DSCE, Bangalore Page 13


Software Development Internship

CSS stands for Cascading Style Sheets. CSS describes how HTML elements are to be
displayed on screen, paper, or in other media CSS saves a lot of work. It can control the
layout of multiple web pages all at once External stylesheets are stored in CSS files.

Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation
of a document written in a markup language such as HTML. CSS is a cornerstone
technology of the World Wide Web, alongside HTML and JavaScript.
CSS is designed to enable the separation of presentation and content, including layout,
colours, and fonts. This separation can improve content accessibility; provide more
flexibility and control in the specification of presentation characteristics; enable multiple
web pages to share formatting by specifying the relevant CSS in a separate .css file, which
reduces complexity and repetition in the structural content; and enable the .css file to be
cached to improve the page load speed between the pages that share the file and its
formatting.
Separation of formatting and content also makes it feasible to present the same markup
page in different styles for different rendering methods, such as on-screen, in print, by
voice (via speech-based browser or screen reader), and on Braille-based tactile devices.
CSS also has rules for alternate formatting if the content is accessed on a mobile device.

The name cascading comes from the specified priority scheme to determine which style rule
applies if more than one rule matches a particular element. This cascading priority scheme is
predictable. The CSS specifications are maintained by the World Wide Web Consortium
(W3C). Internet media type (MIME type) text/css is registered for use with CSS by RFC 2318
(March 1998). The W3C operates a free CSS validation service for CSS documents.

MySQL

 MySQL is a relational database management system


 MySQL is open-source

Dept. of ECE , DSCE, Bangalore Page 14


Software Development Internship

 MySQL is free
 MySQL is ideal for both small and large applications
 MySQL is very fast, reliable, scalable, and easy to use
 MySQL is cross-platform
 MySQL is compliant with the ANSI SQL standard
 MySQL was first released in 1995
 MySQL is developed, distributed, and supported by Oracle Corporation
 MySQL is named after co-founder Monty Widenius's daughter: My

Dept. of ECE , DSCE, Bangalore Page 15


Web Development Internship

CHAPTER 4: WORK DONE IN THE COMPANY


Software development is all the rage today. It has become essential for businesses to have a high
functioning software or web application to cater to the digital requirements of customers. Almost
all companies, no matter the field of operation, are focusing on creating a well-designed software
for marketing their services. Most of the companies require a resource management software for
their proper planning and efficient use of resources. From small businesses to big industries
everyone requires billing and other type of software, and it is companies like Aptean that provide
them with these services.

Fig 1: Software Development Life Cycle

Dept. of ECE, DSCE, Bangalore Page 16


Web Development Internship

The 7 Phases of Software Development Life Cycle are:

Stage 1: Planning and Requirement Analysis

Requirement analysis is the most important and fundamental stage in SDLC. It is performed by the
senior members of the team with inputs from the customer, the sales department, market surveys and
domain experts in the industry. This information is then used to plan the basic project approach and to
conduct product feasibility study in the economical, operational and technical areas.

Planning for the quality assurance requirements and identification of the risks associated with the
project is also done in the planning stage. The outcome of the technical feasibility study is to define the
various technical approaches that can be followed to implement the project successfully with minimum
risks.

Stage 2: Defining Requirements

Once the requirement analysis is done the next step is to clearly define and document the product
requirements and get them approved from the customer or the market analysts. This is done through
an SRS (Software Requirement Specification) document which consists of all the product requirements
to be designed and developed during the project life cycle.

Stage 3: Designing the Product Architecture

SRS is the reference for product architects to come out with the best architecture for the product to be
developed. Based on the requirements specified in SRS, usually more than one design approach for the
product architecture is proposed and documented in a DDS - Design Document Specification.

This DDS is reviewed by all the important stakeholders and based on various parameters as risk
assessment, product robustness, design modularity, budget and time constraints, the best design
approach is selected for the product.

A design approach clearly defines all the architectural modules of the product along with its
communication and data flow representation with the external and third party modules (if any). The
internal design of all the modules of the proposed architecture should be clearly defined with the
minutest of the details in DDS.

Dept. of ECE, DSCE, Bangalore Page 17


Web Development Internship

Stage 4: Building or Developing the Product

In this stage of SDLC the actual development starts and the product is built. The programming code is
generated as per DDS during this stage. If the design is performed in a detailed and organized manner,
code generation can be accomplished without much hassle.

Developers must follow the coding guidelines defined by their organization and programming tools
like compilers, interpreters, debuggers, etc. are used to generate the code. Different high level
programming languages such as C, C++, Pascal, Java and PHP are used for coding. The programming
language is chosen with respect to the type of software being developed

Stage 5: Testing the Product

This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are
mostly involved in all the stages of SDLC. However, this stage refers to the testing only stage of the
product where product defects are reported, tracked, fixed and retested, until the product reaches the
quality standards defined in the SRS

Stage 6: Deployment in the Market

Once the product is tested and ready to be deployed it is released formally in the appropriate market.
Sometimes product deployment happens in stages as per the business strategy of that organization. The
product may first be released in a limited segment and tested in the real business environment (UAT-
User acceptance testing). Then based on the feedback, the product may be released as it is or with
suggested enhancements in the targeting market segment.

Stage 7: Maintenance of the product

Once when the client starts using the developed systems, then the real issues come up and requirements
to be solved from time to time. This procedure where the care is taken for the developed product is
known as maintenance.

Dept. of ECE, DSCE, Bangalore Page 18


Web Development Internship

RESULTS
This is the result of one of the assignments given to us in which we have to make a responsive web
page using html and css. The web page should generate insigts in real time and we used react.js
and node.js for it.

Administrative Console – User Analysis View

Dept. of ECE, DSCE, Bangalore Page 19


Web Development Internship

Administrative Console – Dashboard

Insights View

Dept. of ECE, DSCE, Bangalore Page 20


Web Development Internship

Importance of Software Development


Software Development is important because it helps businesses to differentiate from one another and
be more competitive. It can make businesses highly innovative, improve customer experience, feature-
rich products, market faster and make business operations more efficient, safe and productive.

Software Development is also important because it is prevalent and used in every other task. In the era
of digitalization, it is the software that stores, integrates, and centralizes the data so we can access it.
Also, Software developments hold an account for the security and protection of your data.

There are lots of advantages and enhancements that we can gain through software development.
Among them, here are the top 5 reasons why software development is important for your business.

Dept. of ECE, DSCE, Bangalore Page 21


Web Development Internship

ADVANTAGES OF SOFTWARE DEVELOPMENT

 Promote your business Software development takes your business to the next level. It helps to
promote your business and spread awareness about your brand. It lets your brand be visible
throughout the world.

 Improve sales and services Having a digital presence of your business through software
development can skyrocket your sales. It allows you to expand your business worldwide.
Besides, it is essential to know what your customers think about your brand, products, and
services. For this, you must have an online platform so your customers can easily reach out to
you.

 Direct communication Software development is the only way that lets you communicate
directly with your end customers. It is also the fastest and easiest way to spread your brand
awareness.

 Increase customer engagement and satisfaction Online marketing done with the help of
marketing software helps in increasing customer loyalty and delivers better customer
engagement. Businesses need to have a good marketing strategy to provide better customer
satisfaction and retain their customers.

 Helps in marketing your business Software development is the best and most efficient way to
apply on-the-go marketing without spending extra time, money, and effort. You can reach
customers at any point in the world.

Dept. of ECE, DSCE, Bangalore Page 22


Web Development Internship

CONCLUSION

Internship was successfully carried out and ended in a duration of 6 weeks in the domain of
Software Development that helped me to understand Industry work culture and usage of modern
tools like HTML5, CSS3, react.js and node .js to solve complex problems. The first and second
week was about understanding the basic fundamentals of corporate work culture and learning
proper soft skills and work etiquettes The next 4 weeks were learning of various courses and
concept such as fundamentals of HTML, CSS, react.js and node.js. Various assignments helped
me in gaining a better insight and actually applying the learned concept to real life examples.
From then on the on boarding process into specific team started out along with gaining the
knowledge about azure boards. Then I got to know about the Carbon Design System and its
functioning. I also learned about how to properly use visual studio for debugging certain code of
writing a good code. I will try to give my best in this internship and gain as much knowledge and
experience as I can to help me in my future.

REFERENCES
1. Charles Ranlett Flint https://en.wikipedia.org/wiki/Charles_Ranlett_Flint

2. Thomas J. Watson Sr. https://en.wikipedia.org/wiki/Thomas_J._Watson

3. IT infrastructure products by IBM https://www.ibm.com/it-infrastructure/products

4. IT infrastructure services offered https://www.ibm.com/it-infrastructure/services

Dept. of ECE, DSCE, Bangalore Page 23

You might also like