software basics

Post on 13-Jan-2015

5.666 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Software BasicsIntroduction to Computer Science

2007-2008

4626. Introd to Computer Science

Aims

• Describing main sw categories and their relationship

• Explaining relationship between algorithms and programs

• Discussing factors that make apps useful

• Describing the role of operative systems

• Outlining the evolution of interfaces

4626. Introd to Computer Science

How the sw works?

algorithm

thinks thinks

Problem: natural language is ambiguous

thinks

4626. Introd to Computer Science

How the sw works?

thinks

writes

algorithm

thinks thinks

program… but

computers can’t

understand that

4626. Introd to Computer Science

How the sw works?

thinks

writesalgorithm

thinks thinks

program(source code)

executable(binary code)

generates

4626. Introd to Computer Science

Example

1. Ask the user for a number

2. Multiply it by 2

3. Show the result on the screen

Algorithm

4626. Introd to Computer Science

Example

#include <stdio.h>

void main(){

int num, double;

printf( “Enter a number: “ );scanf( “%d”, &num );double = num * 2;printf(“Twice %d is %d\n”, num, double );

}

Source code

4626. Introd to Computer Science

Example010110011101110000001000001111010001111011111000101111100010001001001111001001101011100001111001001101011000110111001001100111100010110011100010001011011011011010111010010100011111000011001000111000100011101111000101010010100100110011111110011100111000111110111110110100011100001110000100101111010011110110010011100001101110

Binary code

4626. Introd to Computer Science

Development software

Softwareclassification

Applicationsoftware

Systemsoftware

Softwareclassification

4626. Introd to Computer Science

Development software

• Assisting programmers to write software

• Typical tools

Text editor

Debugger

IDE

Compiler

4626. Introd to Computer Science

Application software

• Why do we use application sw?

• visual metaphors of the real world

• extend human capabilities

(pictures from tecnomarketer)

4626. Introd to Computer Science

Application software

• Examples: accounting, library cataloguing or restaurant management

• limited market (high cost)

• sometimes developed for just one customer

Vertical market

Specific software for a sector

4626. Introd to Computer Science

Application software• Common applications

• Used in many fields (home, office, education, administration….)

• Sold separately or in a package (suite)

Suites

Apps that “work well together”

4626. Introd to Computer Science

Application software

• Set of applications sold in a block

• Easy earning

• Limited functionality (but enough)

• Cheaper

Integrated packages

Share the same environment

4626. Introd to Computer Science

System software

• Manages communications between hw & sw

• Abstraction from hw details(virtual machine)

(source: FFP Basic http://iaf-bs.de)

4626. Introd to Computer Science

Device drivers

• Communicates computer and I/O devices

• Extends computer (open architecture)

• Brokers to access the device

• You can get them

• included in the OS

• provided with the device (install CD)

• owned by a third company (buy it)

4626. Introd to Computer Science

Operative systems

• brokers between users/programs & Hw

• isolations layer

• programs compatibility

• main tasks

• ease the use of the computer

• use the software efficiently

4626. Introd to Computer Science

OS functions

• communications with peripherals (I/O)

• process management (multitasking)

• memory management (protection & virtual mem)

• resource monitoring for accounting and safety

• file system management

• network communication coordination

4626. Introd to Computer Science

Utility programs

• System maintenance tools

• Executed apart from OS

• We can find them…

• incorporated into the OS (disk defrag)

• provided by others (antivirus)

4626. Introd to Computer Science

Additional considerations

• instructions about how to install them

• tutorials

• reference manuals

• help files

• on line help systems

• support services, FAQ

Documentation

4626. Introd to Computer Science

Additional considerationsUpgrading

4626. Introd to Computer Science

Additional considerations

• periodically, companies sell new versions

• reasons: improvements, bugs, adaptation to other SW (OS)

• versions identified by numbers(decimals for minor changes)

• right to free updates during a period

Upgrading

4626. Introd to Computer Science

Additional considerations

• constraints about computer and resources

• examples: CPU, memory, free HD space

• operative systems (Windows, MacOS, Linux)

• sometimes, version:Windows 95, 98, NT, Me, 2000, XP, Vista..

Compatibility

Hardware Software

4626. Introd to Computer Science

Additional considerations

• you don’t buy sw, you buy a license

• individual and corporative licenses

• main limitation: number of computers and right to copy (backup)

• EULA (End User License Agreement)

• license terms

• disclaimer terms (limited liability)

Licensing

4626. Introd to Computer Science

Additional considerations

• proprieraty

• shareware

• demo

• adware

Distribution

• freeware

• open source / free software

• semi free

• public domain

4626. Introd to Computer Science

User interface• character console:

command line (MSDOS)

• graphical user interface (GUI)

• visual concepts

• controls individual points on the screen

• Apple MacOS (1984)

• metaphors. desktop, folders, documents…

• active elements:

• icons

• buttons

• windows

• scrolling bars

4626. Introd to Computer Science

MS-DOS

4626. Introd to Computer Science

Windows 3.11

4626. Introd to Computer Science

Windows 95

4626. Introd to Computer Science

Windows XP

4626. Introd to Computer Science

Windows Vista

4626. Introd to Computer Science

Linux

4626. Introd to Computer Science

Mac OS X (Leopard)

4626. Introd to Computer Science

File system management

• specific folders for user’s documents

• search tools by name or content(Google Desktop)

• Specific tools for special files (iTunes)

4626. Introd to Computer Science

Multi-user OSUNIX

• preferred OS for mainframes & workstations

• versions: Solaris (Sun), HP-UX (HP), Aix (IBM) IRIX (Silicon Graphics)

Linux

• Unix versions for PCs

• Distributions: Ubuntu, Suse, RedHat…

top related