10/8: software what is software? –types of software system software: operating systems...

20
10/8: Software • What is software? – Types of software • System software: Operating systems • Applications • Creating software – Evolution of software development – OOP, Java • Identifying software issues

Upload: grace-bailey

Post on 05-Jan-2016

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

10/8: Software• What is software?

– Types of software• System software: Operating systems

• Applications

• Creating software– Evolution of software development– OOP, Java

• Identifying software issues

Page 2: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

What is Software?Detailed instructions to control computer operation

• Program: set of instructions to the computer

• Stored: program must be in primary storage

• System software: manages computer resources

• Application software: specific business application

Page 3: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Why Do We Use Software?• Provides a way for us to use the hardware;

• Provides a bridge between the user & hardware.

SystemSoftware

ApplicationSoftware

Page 4: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

System Software• Operating system

– Schedules computer events– Allocates computer resources – Monitors events

• Language translators– Interpreters– Compilers

• Utility programs– Routine operations– Manages data

Page 5: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Multiprogramming: CPU• Running more than one program at a time using

the same CPU.

• Multitasking: multiprogramming on a single-user PC.

Page 6: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Virtual Storage: in RAM• Method of handling several programs in primary

storage

• Program divided into

– Fixed length portions (pages) or

– Variable length (segments)

• Current portions reside in primary storage

• Portions swapped out when done

Page 7: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Time Sharing: CPU• Many users share large CPU

• Time in CPU divided into slices (ex: 2 ms)

• Each user has access to CPU during slice

• Since CPU is fast, can do much during time slice

• User’s job swapped out at end of slice

Page 8: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Multiprocessing: multiple CPUs• Two or more parallel processors in system

• Program can be divided to be processed by multiple CPUs

• Can process large programs more rapidly

Page 9: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

GUI: Graphical User InterfaceOperating system uses:

• Graphic icons (icons, buttons, bars, boxes)

• Mouse– To issue commands– To make selections

Page 10: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Operating Systems: Windows• Windows 95, 98

– 32-bit OS– GUI– Multitasking– Networking

• Windows NT, Me, 2000– Bigger, more advances versions of 95 & 98

• Windows CE– Pared-down for handheld computers, wireless

communication devices

Page 11: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Operating Systems: Non-Windows• Unix

– For powerful Microcomputers to Minicomputers.– Multitasking, Multi-user Processing, Networking.– Portable to various Computer Platforms

• Linux– Free version of Unix

• Mac OS– For the Macintosh. Powerful graphics capabilities

• DOS• Palm OS

– For Palm-compatible handheld devices

Page 12: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Application Software– Word processors: MS Word– Desktop publishers: Adobe

PageMaker– Spreadsheets: MS Excel– Data management

software: MS Access, Oracle– Presentation Graphics: MS PowerPoint– Email software: Eudora– Web browsers: Netscape Navigator, Internet

Explorer– Groupware: Lotus Notes

Page 13: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Creating Software: Programming• Software must be created.

• Written in a programming language

Source code:high-level language

instructions

•Compiler:translateshigh-levelcode intomachinelanguage

Object Code:Translated

InstructionsReady for Computer.

Page 14: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Programming Languages: Generations• 1st generation. MACHINE LANGUAGE

– Since 1940s.

• 2nd generation. ASSEMBLY LANGUAGE:– mnemonics for numeric code – Since early ’50s.

• 3rd generation. HIGH-LEVEL LANGUAGES– Since mid ‘50s.

• 4th. MODERN APPLICATION PACKAGES– Since late ‘70s.

Page 15: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

High-level Languages• FORTRAN (FORmula TRANslator): Scientific,

Engineering applications

• COBOL (COmmon Business Oriented Language): Predominant for transaction processing

• BASIC (Beginners All-purpose Symbolic Instruction Code): General purpose PC language

• C and C++: Powerful PC Language for developing applications. Efficient execution; cross platform. C++ is object oriented

Page 16: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Fourth Generation Languages• Can be employed by end users

• Nonprocedural

• Can develop applications quickly

• Natural languages

Page 17: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Object-Oriented Programming• Program parts are modeled on real-world

concepts

• Combines data & procedures into a single object

• Program sends message to object to perform embedded procedure

• Object’s data encapsulated from rest of system

• Creates reusable code

• Reduces time and cost of writing software

Page 18: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Object-Oriented Programming• Visual programming

– select and arrange objects rather than write code

• Class– all objects of a class have all features of that class

• Inheritance– specific class receives features of a more general

class

• Override– subclass may override inherited method (e.g.:

Printout of an HOURLY worker pay check may differ from that of a WEEKLY worker

Page 19: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

OOP: JAVA• Sun Microsystems’ object-oriented programming

language• Applet: tiny program to execute small function• Applets downloaded from network• Run on any computer & operating system• Result saved on network, not on pc• Only network version of software needs upgrade

Page 20: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development

Choosing the Right Software

• Appropriateness

• Efficiency

• Compatibility

• Support