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.