Chapter 4. Computer Software
Chapter 4. Computer Software
Software
Chapter 4: History
Types
Classification based on purpose
Computer Software o System & Application Software
Programming Languages
Machine, Assembly & high level languages
Compilation and interpretation
Algorithm
Pseudocode
Dr. Rahman Ali, University of Flowchart
Peshawar.
[email protected]
Graphical Programming
Operating System
……
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
• BIOS
Basic input/output system.
Stored on an EPROM.
A program that gets computer started when we turn it on.
• Networking Software
Facilitates and interacts with computer network.
Supports the creation and operation of network.
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.
• 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.
• Enterprise Software
Designed to address the needs of a large organization.
Often runs in a distributed environment.
• 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.
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.
Free Software
Freely available.
Free to use, copy and distribute.
Should be redistributed with original terms of use.
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.
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’”.
• 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.
People
Basic Components
People Technology Hardware
Software
Information
Hardware System
Network
Data Software
Data resources.
Networking
• Interface
Programming languages are an interface between humans and machines.
• Problem solving
Health
Business
Governance
Education
Scientific research and more.
• Reliance on software
A vast majority of modern day machines rely on software.
The solutions developed should be reliable, virus-free and efficient.
• 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.