Transcript Software
1
Information technology
Lecture 3: Software (44
slides)
Lecturer:
Prof. Anatoly Sachenko
2
Lecture Overview
Software Types
System Software
Operating Systems
Applications Software
Graphical User Interface
Software Development Process
Programming Languages
3
Software Types – SW Definition
SOFTWARE
is the aggregate of the programs which
are running by computer system
It is an integral part of the computer system
Programs at Computer in contrast to HW are
intangible and it’s classified as a SW
It said sometimes: a HW is Iron and a SW is a
soft Iron
Area of computer application is determined by
installed software there
Computer itself does not possess knowledge in any
application domain
All these knowledge are concentrated in the
computer SW
SW of the modern computers includes a
tremendous number of programs
4
Software Types - Classification
All
software can be classified into the three
categories:
Software
Application
software
System
software
Software
tools
5
Software Types – Functions and Distinct
Application
SW is intended for a direct running of user tasks
For example SW for payroll preparation
System SW or Operating System SW are controlling the whole
recourses and operations of a computer OR the computers
group which are united into network
SW Tools simplify the new programs design for a computer
As opposed to the Application SW the Operating Systems SW
and SW Tools have no direct contribution to satisfy a user
Nowadays a border breaks between SW categories and we
should separate just two of them:1- System SW or Operating
Systems SW, 2- SW Application
Operating Systems have a prime place within System SW
6
System Software - Utilities
Utilities - is the important class of the system
programs with the auxiliary purposes
They either extend and complement the proper
possibilities of the OS or solve independent
important tasks
The types of utilities:
Control programs, testing and diagnostics
Used for functioning verification of the
computer devices
Also used for fault location in the process of
exploitation
Specifies a reason and place of it’s disrepair
(continued on the next slide)
7
System Software – Utilities (continued)
Programs-drivers
- extend possibilities of the
operating system for input-output management
They allows connecting to the computer new
devices or non-standard use of present ones
Programs-packers (archives)
Allow to write down information on disks
more densely, and also to unite the copies of a
few files in one archived file
Anti-virus programs - intended for prevention of
infection and liquidation of existent viruses in
the computer
(continued on the next slide)
8
System Software – Utilities (continued)
Programs
for optimisation and quality control
of the disk space
Software for information retrieval, formatting,
and data protection
Communication programs - organise an
exchange of information between computers
Programs for memory mapping - provide more
flexible use of main memory
Recording programs
so on
9
System Software – Operating Systems
Operating System is a complex of the associate
systems SW which organise an interaction between
an user & computer as well as SW running
OS is a coordinating link between HW and SW
running from one side, and a user from other side
It’s called as a SW continuation of Control Unit
OS is saved into external storage-hard disc
It
reads off from hard disc and saves into RAM
during computer switch on
This
process is named as a OS download
10
Operating Systems Functions
Functions
of the Operating System:
Running of dialog with an user
Data input-output and management
Scheduling and organization of the programs
running process
Resources allocation - RAM and cache,
processor, peripheral devices
Running initiation of the programs
Various auxiliary operations of service
Information transmission between the different
internal devices
Software support of the peripheral units-display,
keyboard, hard disc, printer and other
11
Operating Systems - 4 Main Classes
1 - Single-user single-task OS
Support just one keyboard and can run one
task only
2-Single-user single-task OS with the background
printing
Allows to run one additional task oriented for
data printing basically
It’s accelerating work during printing of the
data large volumes
(continued on next slide)
12
Operating Systems - 4 Main Classes
(continued)
3 - Single-user multitask OS
Provides a parallel running of a few tasks for
one user
For example, it is possible to connect a
computer with a few printers and each of
them will work for own task
4 - Multi-user multitask OS
Allows to run the several tasks for a several
users at just one computer
It looks as a very complicated OS that requires
the considerable machine resources
13
Operating systems: File System
File
is the ordered aggregate of any data placed on
an external storage
It’s storable , transmitted and processed as a single
whole
File can contain the program, numeric data, text,
coded image and other
File system is a tool for organisation of files storage
in some medium
Files are implemented physically in the external
storage: magnetic discs or CD
Each file occupies some number of memory blocks,
its usual length is 512 bytes
14
Operating systems: File system
(continued)
Files
are served by OS special module named
the driver of the file system
Every file has his name, incorporated in a
directory — table of files contents.
Directory – it’s named sometimes as a folder is accessible to the user through the OS
command language
Directory may have own name and it
can be
saved in other directory with the common files
forming the hierarchical files (see next slide)
15
Operating systems: Example of
Hierarchical File system
16
Operating Systems: Shells
Shells
are the SW, created for simplification of work
with the difficult programmatic systems, such, for
example, as DOS
It transforms a bulky command user interface in a
friendly graphic one
It gives an user a comfortable access to the files and
vast services
Norton Commander was the most popular shell in the
past
MS-Windows 3.х and Norton Navigator were used as
well
17
Operating Systems – Microsoft’s
Common OS
Windows 2000 Professional is a new generation
operating system for the business use at the most
computers - from portable to servers
It is the best for commercial activity in Internet
Windows XP (Home and Professional), Vista
New OS’ based on the Windows 2000 for the
both home and business use.
Windows CE 3.0 is the OS for mobile computing
devices: palm computers, digital pagers, cellular
phones, DVD
Supports the Internet and e-mail and it’s
running with the various microprocessors
18
Operating System Software - Microsoft’s
Common OS (continued)
The Unix operating system was created in Bell
Telephone Laboratories
It’s a multitasking OS, able to provide the
simultaneous work for a huge amount of users
Linux – OS based on UNIX platform
It’s a powerful and free system that includes:
decentralised development group
broad testing during the development process
independence of one tool from another one
Disadvantage: absence of installation unified
procedure
19
Applications Software – Word Processors
Word Processors are used for data input and
editing with the following functions:
Text lines editing
Usage possibility of
different character
fonts
Printing-down and
transfer part of text
from one place to
another or from one
document to another
(continued on the next slide)
20
Applications Software - Word Processors
(continued)
Context
search and replacement of text parts
Task of arbitrary interline intervals
Self-instructed carry of words on a new line
Automatic pagination
Processing and numeration of foot-notes
Aligning the edges of indention
Tables creation and diagrams construction
Word spell checking and synonyms selection
Construction of contents tables and subject
indexes
Unsealing of geared-up text on a printer in the
necessary number of copies, etc
21
Applications Software – Graphics SW
Graphics editors Graphics Software are the
programs, intended for the automation of graphic
images construction on the computer display
Provides the possibilities of drawing lines,
curves, coloration of screen areas, creation of
inscriptions different fonts and etc
Most editors allows to process images, received
from scanners, and also to output the pictures in
such kind, that they could be plugged into a
document, geared-up by a text editor
Some editors allow to get representing threedimensional objects, their sections, turns,
models of frameworks, etc
22
Applications Software – Graphics SW
(continued)
The
most popular editors are Photoshop (left)
for raster graphics and Corel DRAW (right) for
vector graphics.
23
Applications Software – Graphics SW
(continued)
It allows to draw in the contour lines some
three-dimensional objects like an example below
24
Applications Software – Spreadsheets
Spreadsheet is a rectangular table (or grid) of Info
consisting of lines and columns which content a
numerical data, formulas or text
Value in the numerical cage of table can be either
written or expected to be calculated in the proper
formula
A formula can be addresses to other cages as
well
A set of the associate programs for processing of
spreadsheets is named sometimes as a Tabular
processor
MS Excel is the most popular one (see next slide)
25
26
Applications Software – Spreadsheets
(continued)
Note: if the new value is recorded into some cage of
table from a keyboard the new values are counted
also in all those cages with data-dependent on this
cage
Spreadsheets are a comfortable tool for running
of the book-keeping and statistical calculations
Examples: Payroll, budget and etc
There are the hundreds of the
embedded
mathematical functions and algorithms of data
processing in every Spreadsheets package
Spreadsheets have in-built reference system
Multi-dimensional tables allow to make a
selection in Database according proper criterion
27
Applications Software – Databases
A computer database is a structured collection of
records or data that is stored in a computer system
so that a computer program or person using a
query language can consult it to answer queries
The records retrieved in answer to queries are
Info that can be used to make decisions info
The computer program used to manage and query
a database is known as a database management
system (DBMS)
DBMS is a complex set of software programs
that controls the organization, storage,
management, and retrieval of data in a database
28
Applications Software – Databases
(continued)
DBMS accepts requests for data from the
application program and instructs the operating
system to transfer the appropriate data
Modern DBMS enable to operate with a text and
graphic information as well as voice fragments and
video clips
Simplicity of DBMS usage allows to create the new
databases without additional programming, just
using the embedded functions only
Popular DBMS - Oracle,DB2, Microsoft Access (see
example on next slide), MS SQL Server
29
30
Applications Software – Web Browsing
Web
browser is a software application that enables a user to
display and interact with text, images, videos, music and other
information typically located on a Web page at a website on
the World Wide Web or a local area network
Text and images on a Web page can contain hyperlinks to
other Web pages at the same or different website
Web browsers allow a user to quickly and easily access
information provided on many Web pages at many websites by
traversing these links
Web browsers format HTML (hypertext markup language)
Info for display, so the appearance of a Web page may differ
between browsers
Some of the Web browsers available for personal computers
include Internet Explorer, Mozilla Firefox, Safari, Opera, and
Netscape
31
Applications Software –Desktop
Publishing
Desktop
publishing (also known as DTP) combines a personal
computer and page layout software to create publication
documents on a computer for either large scale publishing or
small scale local economical multifunction peripheral output
and distribution
Users create page layouts with text, graphics, photos and
other visual elements using software such as QuarkXPress,
Adobe InDesign, the free Scribus, Microsoft Publisher, Apple
Pages and (to some extent) any graphics software or word
processor that combines editable text with images
For small jobs a few copies of a publication might be
printed on a local printer
For larger jobs a computer file can be sent to a vendor for
high-volume printing
Term DTP is commonly used to describe page layout skills
32
Applications Software – Accounting
Accounting
software records and processes
accounting transactions within functional modules
such as accounts payable, accounts receivable,
payroll, and trial balance
It functions as an accounting information system
It may be developed in-house by the company
using it, may be purchased from a third party, or
may be a combination of a third-party application
SW package with local modifications
It varies greatly in its complexity and cost
Main Categories are: personal accounting, low end,
mid market, high end, vertical market, hybrid
solutions
33
Applications Software – Integrated
Packages
Integrated packages are the set of a few software
products, incorporated in a single comfortable
instrument
Most of them include text editor, organiser,
spreadsheet, DBMS, tools for e-mail support,
program for creation presentation, graphic, etc.
Example: integrated package for books writing,
containing illustrations. It contains:
Text editor
Orthographic proof-reader on 80000 words
Texts confluence program
Automatic search and replacement
Telecommunication tools
Spreadsheet etc
34
Applications Software - Organizers
Organisers is the programs -electronic assistant
Allow effectively disposing of working hours,
financial means, etc
Possess possibility of regular actions
automation, drafting of the personal and groups
time-tables, meetings planning, keep a diary
Contains calendar, clock, calculator, etc
Lotus Organizer is a notebook, broken to the
section-by-section: calendar, list of businesses,
address and public-call book, planner, notebook,
list of memorable dates (see example on the next
slide)
35
36
Graphical User Interface – What is it?
User Interface (or Human Machine Interface) is the
aggregate of means by which people (users)
interact with a particular machine, device,
computer program or other complex tool (system)
Graphical User Interface (GUI) is a type of user
interface which allows people to interact with a
computer and computer-controlled devices
It employs the graphical icons, visual indicators
or special graphical elements called "widgets",
along with text, labels or text navigation to
represent Info and actions available to a user
Actions are usually performed through direct
manipulation of the graphical elements
37
Graphical User Interface - Widget Toolkit
In computer programming, widget (or control) is
an interface element by which user interacts with
computer, such as a window or a text box
Widgets are sometimes qualified as virtual to
distinguish it from its physical counterparts
e.g. virtual buttons that can be clicked with a
mouse cursor
vs. physical buttons that can be pressed with
a finger
Widgets are often packaged together in widget
toolkit or widget library or GUI toolkit
Programmers use widgets to build graphical
user interfaces (GUIs)
38
Graphical User Interface – Specific
Applications
Touch
screen point of sale software used by wait staff in busy
restaurants
Self-service checkouts used in some retail stores..
ATMs
Airline self-ticketing and check-in
Information kiosks in public spaces like train stations and
museums
Monitor/control screens in embedded industrial applications
which employ a real time operating system (RTOS)
The latest cell phones and handheld game systems also employ
application specific touch screen GUIs
Cars: GPS navigation, touch screen multimedia centers, and
even on dashboards of the newer cars
Zooming User Interface (ZUI) which is a logical advancement
on the GUI, blending some three-dimensional movement with
two-dimensional or "2.5D" vector objects
39
Software Development Process
SW process or Software life cycle can be stated:
Software
Development
Maintenance
Modification
It’s documenting for maintenance & enhancement
SW programs don’t wear out, they are needed to
be modified because of possible changes& errors
SW development phase includes the main stages:
Analysis
Design
Implementation or coding
Testing
40
Software Development – Main Stages
Analysis
determinates the users needs and asks on a
question: what a developing SW system must do?
Then the requirements to a developing program are
formed and formalized as well as the exact
specification of the functions (tasks) which the
program must execute
Design determines the structure of the SW System
and asks on question: how it will run the posed tasks
It’s accepted that a modular structure is the best for
SW program system
Implementation or coding includes the code design,
design of data files and BD development
Programming languages are used there (see next
slides)
41
Software Development – Testing
Testing is tied with a coding because each program
module has to be tested after its code was designed
A current program version is systematically
tested as the errors presence is normal in most
situations
It’s practically impossible to develop a real
Testing process can be divided into:
Verification in normal conditions
Verification in extreme conditions
Verification in exceptional situations
Program debugging is the errors search and
removal process in program which produces on its
testing results by a computer
42
Programming Languages
A programming language is an artificial language
that can be used to control the behavior of a
machine, particularly a computer
C is a general-purpose, block structured, procedural,
imperative computer programming language
developed in 1972 by Dennis Ritchie at the Bell
Telephone Laboratories for use with the Unix
C++ is a general-purpose programming language
with high-level and low-level capabilities
It is a multi-paradigm language supporting
procedural programming, data abstraction and
object-oriented programming
43
Programming Languages (continued)
Perl
is a dynamic programming language created by
Larry Wall and first released in 1987
Perl borrows features from a variety of languages
including C, shell scripting , AWK and Lisp
PHP is a reflective programming language originally
designed for producing dynamic web pages
Assembly language is a low-level language for
programming computers
It implements a symbolic representation of the
numeric machine codes and other constants
needed to program a particular CPU architecture
44
References
European Computer Driven Licence, Syllabus version 4.0, 2006.
Lecture Notes. Fundamentals of Informatics (e-version). Based on
a book by L.Z.Shaucukova. Informatics (in Russian). Moscow,
2002. – 420 p. (translated and edited by Anatoly Sachenko).
William Stallings. Computer Organization and Architecture:
Designing for Performance (6th edition). Prentice Hall , 2002, 750
p.
Tucker (Editor-in-Chief), R. Cupper, F.P. Deek, and R. Noonan
(Editorial advisors), Computer Science Handbook, Second edition,
CRC Press, 2004, 2752 p.
Hysa B., Piekoszewska B., Rakowiecka K., Sobota M., SołtysikPiorunkiewicz A., Zdonek D., Zdonek I., : Laboratorium z
podstaw informatyki w zarządzaniu. Część II. Wprowadzenie do
MS Windows. MS Word. Wydawnictwo PŚ. Gliwice 2003. Skrypt
nr 2324.
Kowalczyk G.: Word 2000 PL. Ćwiczenia praktyczne. Helion,
Gliwice 2000.
J. Glenn Brookshear. Computer science an overview, Sixth edition,
Addison Wesley, 2001, 688 p.