1 Lecture 3: Software (44 slides) Lecturer: Prof. Anatoly Sachenko Information technology.

44
Lecture 3: Software (44 slides) Lecturer: Prof. Anatoly Sachenko Information technology

Transcript of 1 Lecture 3: Software (44 slides) Lecturer: Prof. Anatoly Sachenko Information technology.

1

Lecture 3: Software (44 slides)

Lecturer:

Prof. Anatoly Sachenko

Information technology

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 systemIt is an integral part of the computer system

Programs at Computer in contrast to HW are intangible and it’s classified as a SWIt said sometimes: a HW is Iron and a SW is a

soft IronArea of computer application is determined by

installed software thereComputer itself does not possess knowledge in any

application domainAll these knowledge are concentrated in the

computer SWSW of the modern computers includes a

tremendous number of programs

4

All software can be classified into the three categories:

Software

Applicationsoftware

Systemsoftware

Softwaretools

Software Types - Classification

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 userFor 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

wholeFile can contain the program, numeric data, text,

coded image and otherFile system is a tool for organisation of files storage

in some medium Files are implemented physically in the external

storage: magnetic discs or CDEach 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 DOSIt transforms a bulky command user interface in a

friendly graphic oneIt gives an user a comfortable access to the files and

vast servicesNorton Commander was the most popular shell in the

pastMS-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 groupbroad testing during the development processindependence 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 three-dimensional 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 editorOrthographic proof-reader on 80000 wordsTexts confluence programAutomatic search and replacementTelecommunication toolsSpreadsheet 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 counterpartse.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:

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

SoftwareDevelopment

Maintenance Modification

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 tasksIt’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 developmentProgramming 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

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

Programming Languages (continued)

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łtysik-Piorunkiewicz 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.