Software and Software Engineering

What is Software?

Software can be described as a collection of instruction that is executed to get desired functionalities. It is different from a program in the sense that software includes programs, documentation and operating procedures.

Characteristics of software compared to hardware

  • Software is developed, not manufactured.
  • Does not wear out.
  • Has reusable components.
  • Flexible.

Types of software

System software

Software that provides a platform to other software such as Microsoft Windows, GNU/Linux, macOS.

Application Software

Programs designed for end users like Notepad, Firefox, Media players.

Engineering/Scientific Software

Software built with techniques and formulae specific to specific scientific or engineering field, examples are MATLAB, AUTOCAD.

Embedded Software

Programs that control machines or devices such as Traffic light control mechanism, Motorcycle dashboard display.

Advertisements

Product-line Software

A group of products sharing common features that are used to satisfy specific needs of a mission like MS Office supporting home use, business use, enterprise use etc.

Web Application Software

Programs that are run on web servers and are accessed through a web browser, examples are Gmail, Facebook etc.

Artificial Intelligence Software

Software that is capable of intelligent behaviour, like in Robotics, Game Playing etc.

Legacy Software System

Software systems that were developed decades ago which becomes costly and risky to maintain and evolve.

Software Engineering

Software engineering can be defined as a systematic and disciplined engineering approach applied for building and maintaining software.

softwares engineering layers

It is a layered technology comprising

  • Quality focus is its central support element since improving the quality of process and products through quality improvement techniques is the organisation’s main focus.
  • The process layer provides a framework for the management of software project.
  • The method layer includes methods such as communication, design, coding and other technical aspects for the development of software.
  • The tools layer provides supporting tools for the Method and Process layers.
Subscribe
Notify of
guest
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Vinitha k

Thq maam