Upload
grace-bailey
View
226
Download
3
Embed Size (px)
Citation preview
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
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
Why Do We Use Software?• Provides a way for us to use the hardware;
• Provides a bridge between the user & hardware.
SystemSoftware
ApplicationSoftware
System Software• Operating system
– Schedules computer events– Allocates computer resources – Monitors events
• Language translators– Interpreters– Compilers
• Utility programs– Routine operations– Manages data
Multiprogramming: CPU• Running more than one program at a time using
the same CPU.
• Multitasking: multiprogramming on a single-user PC.
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
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
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
GUI: Graphical User InterfaceOperating system uses:
• Graphic icons (icons, buttons, bars, boxes)
• Mouse– To issue commands– To make selections
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
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
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
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.
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.
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
Fourth Generation Languages• Can be employed by end users
• Nonprocedural
• Can develop applications quickly
• Natural languages
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
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
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
Choosing the Right Software
• Appropriateness
• Efficiency
• Compatibility
• Support