Lecture 1 - What Is SE
Lecture 1 - What Is SE
What is software?
• Software is a set of instructions, data or programs
used to operate computers and execute specific tasks.
• It is the opposite of hardware, which describes the
physical aspects of a computer.
• Software is a generic term used to refer to
applications, scripts and programs that run on a
device.
What is software?
• The two main categories of software are application
software and system software.
• An application is software that fulfills a specific need
or performs tasks.
• System software is designed to run a computer's
hardware and provides a platform for applications to
run on top of.
What is software engineering?
• Software engineering is defined as a process of
analyzing user requirements and then designing,
building, and testing software application which will
satisfy those requirements.
• IEEE, in its standard 610.12-1990, defines software
engineering as the application of a systematic,
disciplined, which is a computable approach for the
development, operation, and maintenance of
software.
• Fritz Bauer defined it as ‘the establishment and used
standard engineering principles. It helps you to obtain,
economically, software which is reliable and works
efficiently on the real machines’.
• Boehm defines software engineering, which involves,
‘the practical application of scientific knowledge to
the creative design and building of computer
programs. It also includes associated documentation
needed for developing, operating, and maintaining
them.’
Who are software engineers?
• Software engineers are computer science professionals who
use knowledge of engineering principles and programming
languages to build software products, develop computer
games, and run network control systems.
• According to the US Department of Labor, there were well
over 1.4 million people employed as software developers in
2021.
• As more and more of us rely on smart devices, the number
of software developers will only increase, with job outlook
predicted to grow at 25 percent by 2031.
What Does a Software Engineer Do &
Types of Software Engineers
• The software engineering field is broad.
• Developers have different sets of technical expertise,
from building computer information systems to
maintaining network security to creating customer
facing web pages.
• There are two primary types of software engineers:
applications software developers and systems
software developers.
Applications Software Developers
• Overview
• Client-focused
• Design software for the end user to interact with
• Develop applications for iOS, Android, Windows, Linux,
and more
• Conduct requirements analysis
• Improve software and release updates regularly
• Front-end or back-end?
• Both
• Who they work with
• Graphic designers, project managers, marketers, and
customer success staff
Systems Software Developers
• Overview
• Build operating systems and networks for user-facing applications
• Responsible for both the hardware and software needs
• Integrate disparate software products onto one platform
• Often serve as general IT managers or systems architects
• Design and enforce IT standards
• Maintain IT documentation and update to new technologies
• Front-end or back-end?
• Mostly back-end
• Who they work with
• Data science professionals, senior systems architects,
development teams, and senior management
Software Engineering Jobs and Salaries