10/8: software what is software? –types of software system software: operating systems...
TRANSCRIPT
![Page 1: 10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082819/56649f305503460f94c4a264/html5/thumbnails/20.jpg)
Choosing the Right Software
• Appropriateness
• Efficiency
• Compatibility
• Support