Download Series of statements or instructions to the computer System software

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Programming language wikipedia , lookup

Object-oriented programming wikipedia , lookup

Compiler wikipedia , lookup

Abstraction (computer science) wikipedia , lookup

Go (programming language) wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Software quality wikipedia , lookup

Software bug wikipedia , lookup

Transcript
TYPES OF SOFTWARE
• Software program: Series of statements
or instructions to the computer
• System software: Generalized
programs, manages computer’s resources
• Application software: Programs written
to perform functions specified by end
users
TYPES OF SOFTWARE
The Major Types of Software
TYPES OF SOFTWARE
System Software and PC Operating Systems
Operating system
• System software
• Manages and controls computer
TYPES OF SOFTWARE
System Software and PC Operating Systems
Functions of the operating system
• Allocates and assigns system resources
• Schedules use of computer resources
• Monitors computer system activities
• Provides locations in primary memory for
data and programs
• Controls the input and output devices
Single program
and Multitasking


The simplest form is multi-tasking. What this really means is that the
programs are taking turns with the processor. It allows a single user
to have the spreadsheet and the word processor open at the same
time, and even more. Now the user can see to copy data from one to
the other. Much better!!
The computer must decide on how many time slices each program
gets. The active program gets the most. Next is programs that are
doing things but which aren't the foreground program. Last is
programs that are open but aren't doing anything. They need a little
bit of time every now and then to see if they are supposed to do
something yet.
Time-Sharing and Multi-processing

The next step up in complexity is multiple users. On a network
several users can be using the same computer or even the same
program on that computer. This is called time-sharing.

If a computer has multiple CPUs, it can do multiprocessing. Rather
than a single CPU giving out turns to various programs, the
different CPUs can work simultaneously. Speed increases
immensely. Of course cost does, too!

It is possible for a computer to use more than one operating
system through the use of virtual machines."Virtual" means it's not
really there. But programs written for different operating systems
are fooled into thinking their required operating system is present.
TYPES OF SOFTWARE
System Software and PC Operating Systems
Multitasking
• Multiprogramming capability of singleuser operating systems
Virtual Storage
• Handles programs more efficiently by
dividing the programs into small fixed or
variable length
TYPES OF SOFTWARE
Virtual Storage
TYPES OF SOFTWARE
System Software and PC Operating Systems
Time Sharing
• Sharing of computer resources by many
users simultaneously
Multiprocessing
• Executing two or more instructions
simultaneously in a single computer using
multiple central processing units
TYPES OF SOFTWARE
System Software and PC Operating Systems
Language translation and utility
software
• Translates high-level language programs
into machine language
TYPES OF SOFTWARE
PC Operating Systems and Graphical User Interfaces
• GUI
• Microsoft’s Windows 98
• Windows Millennium Edition (Windows
Me)
• Windows 2000
TYPES OF SOFTWARE
PC Operating Systems and Graphical User Interfaces
• Windows XP
• UNIX
• Linux
Programming Languages
Machine Language. The lowest
level programming language,
composed of binary digits.
First-generation language.
Machine language; the level of
programming languages actually
understood by CPU.



Assembly language. A lower-level
programming language that is slightly more
user-friendly than machine language.
Second- generation language. Assembly
language; requires that each statement be
translated into machine language through use
of on assembler.
Assembler. A system software program that
translates an assembly language program into
machine language.



Procedural languages. User-oriented
programming languages, which require
programmers to specify step by step how the
computer must accomplish a task.
Third-generation languages. The first level of
higher-level programming languages, which are
closer to natural language and therefore easier
for programmers to use.
Compiler. Software program that translates an
entire high-level language program into object
code at once.
Interpreter. A compiler that translates and
executes one source program statement at a
time.
Nonprocedural languages. A type of high-level
language that enables user to specify the
desired result without having to specify the
detailed procedures needed for achieving the
result.
Fourth–generation language (4GLs). A type of
high-level programming languages, which can
be used by nontechnical users to carry out
specific functional tasks.
TYPES OF SOFTWARE
Assembly language
TYPES OF SOFTWARE
FORTRAN
TYPES OF SOFTWARE
COBOL
TYPES OF SOFTWARE
Fourth-Generation Languages and PC Software Tools
• Fourth-generation language:
Employed directly by end users
• Natural languages: Close to human
language
TYPES OF SOFTWARE
Fourth-Generation Languages and PC Software Tools
• Query languages: Provides immediate
on-line answers to requests
• Application software packages and
PC software tools: Word Processing
Software, Spreadsheets, Data
Management Software
TYPES OF SOFTWARE
Spreadsheet Software
TYPES OF SOFTWARE
Data Management Software
CONTEMPORARY TOOLS FOR SOFTWARE DEVELOPMENT
Object-Oriented Programming
Object-oriented programming
• Approach to software development that
combines data and procedures into a
single object
Visual programming
• Construction of software programs by
selecting and arranging programming
objects
CONTEMPORARY TOOLS FOR SOFTWARE DEVELOPMENT
Class, subclasses, and overriding
CONTEMPORARY TOOLS FOR SOFTWARE DEVELOPMENT
Java
• Programming language
• Delivers the software functionality needed
for a particular task
• Runs on any computer and operating
system
CONTEMPORARY TOOLS FOR SOFTWARE DEVELOPMENT
Hypertext Markup Language (HTML) and XML
• Hypertext Markup Language (HTML):
Page description language, creates Web
pages and other hypermedia documents
• XML (eXtensible Markup Language):
General-purpose language, supports links
to multiple documents, used for both Web
and non-Web applications and provides
more flexible and adaptable data
identification
Hardware Technology Requirements for Electronic Commerce and Digital Firm
• Capacity planning: Process of
predicting the computing power
• Scalability: Ability of a computer,
product, or system to expand and to serve
without breaking down
Total Cost of Ownership (TCO) of Technology Assets
• Designates the total cost of owning
technology resources
• Includes initial purchase costs, cost of
hardware and software upgrades,
maintenance, technical support, and
training