0% found this document useful (0 votes)
194 views

Chapter 4. Computer Software

Uploaded by

Ahmad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
194 views

Chapter 4. Computer Software

Uploaded by

Ahmad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

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