Chapter 4. Computer Software

Download as pdf or txt
Download as pdf or txt
You are on page 1of 40
At a glance
Powered by AI
The key takeaways are that there are different types of software classified based on purpose and availability, and an overview of software history and programming languages is provided.

The main types of software discussed are system software and application software, and examples like operating systems, utility software, desktop applications, and web applications are mentioned.

Some important programming languages mentioned include FORTRAN, COBOL, Pascal, C, C++, and others.

Outlines

Software
Chapter 4: History
Types
 Classification based on purpose
Computer Software o System & Application Software

 Classification based on availability/copyright


Status
o Shareware, Freeware, Open source

Programming Languages
 Machine, Assembly & high level languages
 Compilation and interpretation
 Algorithm
 Pseudocode
Dr. Rahman Ali, University of  Flowchart
Peshawar.
[email protected]
 Graphical Programming

Mr. Asmat Ali, GHSS Mingora Artificial Intelligence


Swat.
[email protected] Information System
Software
• Computer program.
• A set of instructions that tells the computer what to
do and how to do.
• Enable user to interact with hardware.
• A piece of hardware is useless without software.

Management Information System – by Dr. Rahman Ali & Asmat Ali 3


Software
 History
 Alan Turing was the first man who introduced the theory of software.
 Claude Shannon explained how binary logic can be used to program a computer.
The computer programs in the 1940’s were written directly in machine language.
 1957: The first programming language FORTRAN was introduced by IBM.
 1962: COBOL.
 Other programming languages like Pascal, C and C++.
 1970’s: Unix OS and the Unix-based Mac OS X were introduced.
 1980: Bill Gates and his co-workers introduced DOS OS.
 1980’s: Richard Stallman worked on the open source GNU project which led to the
development of Linux OS.
 1985: The first Windows OS was developed which was evolved over time from
Windows 1.0 to Windows 10.

Management Information System – by Dr. Rahman Ali & Asmat Ali 4


Types of Software
1. Classification Based on Purpose
• Two broad categories based on Purpose, System Software and Application
Software.

Operating System

System Software Utility Software

……
Software

Desktop Application

Application
Web Application
Software

……
Management Information System – by Dr. Rahman Ali & Asmat Ali 5
Types of Software
a. System Software
• Provides platform to other software programs.
• Controls and works with hardware.
• Enables the hardware tools to work together:
 Transferring data between memory and disks.
 Transferring data between memory and CPU.
 Rendering output to output devices.
 Receiving input form input devices.

• Examples:
 Operating system
 System development programs
 Device drivers

Management Information System – by Dr. Rahman Ali & Asmat Ali 6


System Software
 Types of System S/W
• Operating System
 Functions: Booting, Interfacing, Resource, Memory and process Management,
Security
 Types: Batch, Timesharing, Distributed, Network, Real-time, Embedded
 Others OS: Windows, OS X, UNIX, Linux and Chrome OS, Mobile category contains
Google Android, Apple iOS

• BIOS
 Basic input/output system.
 Stored on an EPROM.
 A program that gets computer started when we turn it on.

• Firmware BIOS Chip


 A piece of software embedded in a hardware.
 Directly controls any single hardware.
• Networking software
 It is the software that facilitates and interacts with a computer network.

Management Information System – by Dr. Rahman Ali & Asmat Ali 7


System Software
• Shell
 Interface between user and the OS.
 MS DOS, Ubuntu terminal and graphical user interface etc.
 Types
◦ CLI
◦ GUI

Management Information System – by Dr. Rahman Ali & Asmat Ali 8


System Software
• Device Drivers
 A program that operates and controls a particular device.

Management Information System – by Dr. Rahman Ali & Asmat Ali 9


System Software
 Types of System S/W (continued…)
• Translator
 Translates a program from high level language to machine
language.
o Assembler.
o Interpreter.
o Compiler.

• Networking Software
 Facilitates and interacts with computer network.
 Supports the creation and operation of network.

Management Information System – by Dr. Rahman Ali & Asmat Ali 10


System Software
 Utility Software
• Programs distributed with OS but not a part of OS.
o Firewall
o Backup utility
o Data Compression Tools
o Archive Managers
o Disk Defragmenters
o ScanDisk
o Disk utilities and more.

Introduction
ManagementTo Information & ICT –– by
Computer System by Dr.
Dr. Rahman
Rahman Ali
Ali &
& Asmat
Asmat Ali
Ali 11
System Development Software
 System development software are tools that are used to write new software and
ensure it is working correctly.
 Tools that are classified as following:
• Editor:
 These are text editors where we write the program.
• Compiler:
 These are tools that transform the code we write in programming language into machine
language that the processor can understand.
• Interpreter:
 It works like compiler but translates one statement of the source code at a time and
directly executes the program.
• Debugger:
 It is a software tool that is used to test and find errors (bugs) in a program. Software
developers use debuggers to debug the code they write. A debugger provides a higher
level of control over the program execution so that it can be stopped according to specific
conditions. Debugger tries to point out the error in a program when it cashes.
 IDE:
 It stands for “Integrated Development Environment”. It is a software suite (a collection of
related programs) that provides a complete development environment to the developers.

Management Information System – by Dr. Rahman Ali & Asmat Ali 12


Types of Software
b. Application Software
• A computer program designed to perform a specific task or a group of
coordinated tasks.
• Not necessary for the basic functionality of computer.
• General purpose or special purpose.
• Broad category with thousands of different software tools.

Management Information System – by Dr. Rahman Ali & Asmat Ali 13


Application Software
 Types of Application S/W

• Desktop Application
 Runs stand-alone on a desktop or laptop computer.

• Application Suite
 More than one different but relevant applications bundled together.
 E.g. MS Office (Word, Excel, Access and PowerPoint etc.)

• Mobile Application
 Designed for use on mobile devices, e.g. android and iPhone.
 May be native app or hybrid app.

• Web Application
 Designed to be delivered over the web through a web browser.
 Stored on a remote server.

Management Information System – by Dr. Rahman Ali & Asmat Ali 14


Application Software
 Types of Application S/W (continued…)

• Enterprise Software
 Designed to address the needs of a large organization.
 Often runs in a distributed environment.

• Content Access Software


 Designed to access content without editing it.
 Media players, web browsers.

• Educational Software
 Designed for use by educators and students, e.g. for delivering tests.

• Simulation Software
 Simulate physical or abstract systems.
 Used in education and research.

Management Information System – by Dr. Rahman Ali & Asmat Ali 15


Application Software
 Types of Application S/W (continued…)

• Media Development Software


 Graphic art tools, video composers etc.
 Generates electronic media.

• Product Engineering Software


 Tools used to develop software programs.
 IDE, editor, compiler and more.

• General Purpose Software


 Programs used for multiple purposes.
 Spreadsheet applications, word processors, communication software and more.

• Special Purpose Software


 Customized software.
 Designed to meet a person or organization’s unique demands.
Management Information System – by Dr. Rahman Ali & Asmat Ali 16
Types of Software
2. Classification by Copyright Status
• Availability or copyright status.
• Four main categories, shareware, freeware, free software and open source
software.

 Shareware
 Trial software.
 Full functionality for a short period of time or limited functionality unless a license is
purchased.

 Freeware
 Freely available without any payment.
 Copyrighted, i.e. can’t be illegally distributed.

Management Information System – by Dr. Rahman Ali & Asmat Ali 17


Types of Software
2. Classification by Copyright Status (continued…)

 Free Software
 Freely available.
 Free to use, copy and distribute.
 Should be redistributed with original terms of use.

 Open Source Software


 Similar to freeware.
 Source code made available to view and analyze how it was created.
 Can be modified and extended by adding additional modules.

Management Information System – by Dr. Rahman Ali & Asmat Ali 18


Software Copyrights and Piracy
 Software Copyrights:
• Copyrights:
 Protection of any piece of work to protect it from being
used, reproduced and distributed illegally.
• Software developers use copyrights to prevent
unauthorized copying of their software.
• Each user needs to be licensed for each computer using
the program.

 Software Piracy
• Illegal use of software
 Copying
 Distributing to unlicensed users.
 Selling copyrighted software.
 Installing on more devices than the user is licensed for.
 Sharing login credentials of a web application.
Management Information System – by Dr. Rahman Ali & Asmat Ali 19
Programming Languages
• A language used to write computer programs.
• Allows the programmer to instruct the computer.
 Machine language
 Low level languages
 High level languages
• Desktop and other applications development:
 C/C++
 Java
 C#
 Visual Basic
 Python and more.
• Web designing and development:
 HTML and CSS
 Java Script
 PHP
 ASP.NET
 JSP
Management Information System – by Dr. Rahman Ali & Asmat Ali 20
Programming Languages
 Machine Language
• Collection of binary digits (bits).
• Directly executed by CPU without compilation.
• Only language computer understands; programs written in any other language
must first be transformed into machine code.

Management Information System – by Dr. Rahman Ali & Asmat Ali 21


Programming Languages
 Low Level Language
• Close to machine language.
• Little or no abstraction of programming concepts.
• Human readable and understandable form.
• Easier to write programs.
• Example:
 Assembly language, transformed to machine code by an assembler.

Management Information System – by Dr. Rahman Ali & Asmat Ali 22


Programming Languages
 High Level Language
• Provides strong abstraction from the details of the computer.
• Generally independent of the underlying architecture of computer.
• Automates and hides some aspects, e.g. memory management.
• Natural language elements; easier to understand and program.
• Compiled to machine code before execution.

Management Information System – by Dr. Rahman Ali & Asmat Ali 23


Programming Languages
 Object Oriented Language
• An object oriented language is a high level language that implements objects
and their associated procedures to create software.
• Object oriented programming introduces the concept of class. For each entity
under consideration, we create a class which includes the data and the
functions related to the entity.

Introduction
ManagementTo Information & ICT –– by
Computer System by Dr.
Dr. Rahman
Rahman Ali
Ali &
& Asmat
Asmat Ali
Ali 24
Programming Languages
 Fourth Generation Language
• 4th generation languages (4GLs) are considered to have support
for database management, report generation, mathematical
optimization, GUI creation and web development.
• These languages designed to reduce the time, effort and cost of
software development.
• They are closer to human language than the earlier generation
languages like Java, C++ and C# etc. which are third generation
languages.
• For example a 4GL command may look something like “FIND ALL
RECORDS WHERE NAME IS ‘ALI’”.

Management Information System – by Dr. Rahman Ali & Asmat Ali 25


Programming Languages
 Compilation and Interpretation

• Compilation
 Converts program in high level language into machine language.
 The whole program is converted to
machine code as a whole.
 Produces a list of errors and warnings
if any.
 Doesn’t run the program.

• Interpretation
 Converts program into machine code.
 Reads the programs line by line, transforms and executes.
 Stops if any error found.
 Slower than compilation.

Management Information System – by Dr. Rahman Ali & Asmat Ali 26


Algorithm
• Step by step method to solve a particular problem.
• Series of instructions to carry out an operation.
• The step by step solution is transformed to computer program by programmers.

Management Information System – by Dr. Rahman Ali & Asmat Ali 27


Pseudocode
• The detailed, human readable description of a program.
• Described in natural language.
• Provides a template for what the programmers have to program.
• Ensures to meet the clients requirements.
• No standard, the style varies from designer to designer.
 Example:

Management Information System – by Dr. Rahman Ali & Asmat Ali 28


Flow Chart
• The diagrammatic representation of an algorithm or a process.
• Represents the sequence of activities involved in the process.
• Comprised of different elements:
 Different type of boxes, interconnected by arrows.

Management Information System – by Dr. Rahman Ali & Asmat Ali 29


Flow Chart
 Example:
 Divide a given number by 2 repeatedly until the quotient is less than 1.

Management Information System – by Dr. Rahman Ali & Asmat Ali 30


Graphical User Interface
• The interface between user and electronic devices comprised of visual elements.
• Introduced by Xerox Palo Alto research lab in the 1970’s.
• Faster way to interact with computer.
• Elements
 Widget, for displaying a collection.
 Tabs, to switch between windows.
 Interaction elements like cursor,
pointer etc.
 Button
 Window
 Menu
 Icon
 Checkbox and radio button
 Labels
 Dropdown list
 Textbox and text area.

Management Information System – by Dr. Rahman Ali & Asmat Ali 31


Graphical Programming
• Uses visual blocks to code instead of text.
• Easier for non-programmers to implement algorithms.
• A flow of the app describing:
 Entities.
 Relations.
 User interactions.
 What happens to data at each stage

• This flow is converted to a working


software by the programming tool.
• Example:
• Scratch (scratch.mit.edu), online
programming tool for children to
create projects using a block like
interface.

Management Information System – by Dr. Rahman Ali & Asmat Ali 32


Artificial Intelligence
• The creation of machines and programs that intelligently work and react like
humans.
• Imitate the intelligence and decision making capabilities of humans.
• Understand the environment and take actions to maximize the chances to reach
a solution.

• Address various problems like:


 Knowledge engineering
 Problem solving
 Machine learning
 Reasoning
 Speech recognition
 Machine translation.

Management Information System – by Dr. Rahman Ali & Asmat Ali 33


Information System
• An organized combination of hardware, software, people, data resources,
infrastructure, policies and procedures to facilitate control, decision making and
planning in an organization.
• A software that helps an organization in various aspects related to the
organization.

People
 Basic Components
 People Technology Hardware
 Software
Information
 Hardware System
 Network
Data Software
 Data resources.
Networking

Management Information System – by Dr. Rahman Ali & Asmat Ali 34


Information System
 Basic Activities
 Input of data
 Processing of data
 Output of data
 Storage of data
 Control of system performance.

Management Information System – by Dr. Rahman Ali & Asmat Ali 35


The Need for Programming
• Only hardware is of no use
 Need an operating system and some application programs to make use of hardware.

• Machine language is tedious


 The early computers were operated this way. It is very tedious, almost a non-practical
way to interact with computers.

• Interface
 Programming languages are an interface between humans and machines.

• Problem solving
 Health
 Business
 Governance
 Education
 Scientific research and more.

Management Information System – by Dr. Rahman Ali & Asmat Ali 36


Social and Legal Issues
• The software engineer needs to understand and deal with a number of issues,
such as:

• The impact of software


 A program may have adverse effects e.g.
 Malware
 A social network, not well managed.

• Reliance on software
 A vast majority of modern day machines rely on software.
 The solutions developed should be reliable, virus-free and efficient.

• Acknowledging the property of others


 Use work of others only if allowed.
 Acknowledge the original creator.

Management Information System – by Dr. Rahman Ali & Asmat Ali 37


Social and Legal Issues
• Copyrights
 Illegal use of software.
 Distribution for financial gain.

• Use of Networks
 Licenses allow use of software on a single device.
 Purchase network license to use it on several machines over a network.

• Software market
 Determine and fulfill the needs of customers.
 Understand and consider social, legal and ethical issues while developing marketing
strategies.

Management Information System – by Dr. Rahman Ali & Asmat Ali 38


References

 Ali, R. & Ali, A. (2018). Chapter 4: Computer Software. Management


Information System (MIS) – 1st Edition (pp. 61-84). Muhalla Jangi, Qissa
Khawani, Peshawar, Pakistan: Al-ilum Publications.
Thanks!
Any Questions
?

You might also like