software basics

35
Software Basics Introduction to Computer Science 2007-2008

Upload: miguel-rebollo

Post on 13-Jan-2015

5.664 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Software Basics

Software BasicsIntroduction to Computer Science

2007-2008

Page 2: Software Basics

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

Page 3: Software Basics

4626. Introd to Computer Science

How the sw works?

algorithm

thinks thinks

Problem: natural language is ambiguous

thinks

Page 4: Software Basics

4626. Introd to Computer Science

How the sw works?

thinks

writes

algorithm

thinks thinks

program… but

computers can’t

understand that

Page 5: Software Basics

4626. Introd to Computer Science

How the sw works?

thinks

writesalgorithm

thinks thinks

program(source code)

executable(binary code)

generates

Page 6: Software Basics

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

Page 7: Software Basics

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

Page 8: Software Basics

4626. Introd to Computer Science

Example010110011101110000001000001111010001111011111000101111100010001001001111001001101011100001111001001101011000110111001001100111100010110011100010001011011011011010111010010100011111000011001000111000100011101111000101010010100100110011111110011100111000111110111110110100011100001110000100101111010011110110010011100001101110

Binary code

Page 9: Software Basics

4626. Introd to Computer Science

Development software

Softwareclassification

Applicationsoftware

Systemsoftware

Softwareclassification

Page 10: Software Basics

4626. Introd to Computer Science

Development software

• Assisting programmers to write software

• Typical tools

Text editor

Debugger

IDE

Compiler

Page 11: Software Basics

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)

Page 12: Software Basics

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

Page 13: Software Basics

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”

Page 14: Software Basics

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

Page 15: Software Basics

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)

Page 16: Software Basics

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)

Page 17: Software Basics

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

Page 18: Software Basics

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

Page 19: Software Basics

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)

Page 20: Software Basics

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

Page 21: Software Basics

4626. Introd to Computer Science

Additional considerationsUpgrading

Page 22: Software Basics

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

Page 23: Software Basics

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

Page 24: Software Basics

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

Page 25: Software Basics

4626. Introd to Computer Science

Additional considerations

• proprieraty

• shareware

• demo

• adware

Distribution

• freeware

• open source / free software

• semi free

• public domain

Page 26: Software Basics

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

Page 27: Software Basics

4626. Introd to Computer Science

MS-DOS

Page 28: Software Basics

4626. Introd to Computer Science

Windows 3.11

Page 29: Software Basics

4626. Introd to Computer Science

Windows 95

Page 30: Software Basics

4626. Introd to Computer Science

Windows XP

Page 31: Software Basics

4626. Introd to Computer Science

Windows Vista

Page 32: Software Basics

4626. Introd to Computer Science

Linux

Page 33: Software Basics

4626. Introd to Computer Science

Mac OS X (Leopard)

Page 34: Software Basics

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)

Page 35: Software Basics

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…