Software
Business Computer Applications
Software Applications
1. What is software?2. System Software3. Application Software4. New Software Tools and
Approaches
Two Major Types of Software
• System software– a set of generalized programs – manages the resources of the computer
(e.g., CPU, input/output/storage devices)
– mediates between application software and computer hardware
• Application software– programs to perform specific functions
specified by end users (e.g. Excel, Word, Access, PowerPoint, IE)
– Application software must work through the system software to operate the computer
Users
System software
Application software
Systems software
Hardware
Relationship between Software & Hardware
Relationships between User, Software and Hardware
HardwareHardware SystemSoftware
SystemSoftware
ApplicationSoftware
ApplicationSoftware
UserUser
2. Types of System Software
• Operating System (OS)• Language Translators (compiler or
interpreter)• Utility Programs• Device drivers
Three Major Functions of Operating System
• allocates and assigns system resources– memory and input/output management
• schedules the use of computer resources and computer jobs– prioritization of jobs
• monitors computer system activities– tracking status of jobs– performs error control– provides system security
Capabilities of Operating System
• Multiprogramming– A method of executing multiple
programs concurrently using the same computer
– Two or more programs are active at the same time, but they do not use the same computer resources simultaneously• Ex: CPU executing one program while
input/output needs of other programs are serviced
– switching among programs occurs rapidly giving the impression that all programs are executing simultaneously
Multiprogramming
OP
ER
AT
ING
SY
ST
EM
OP
ER
AT
ING
SY
ST
EM
UNUSED MEMORYUNUSED MEMORY
PROGRAM 1PROGRAM 1
TRADITIONAL SINGLE-TRADITIONAL SINGLE-PROGRAM SYSTEMPROGRAM SYSTEM
OP
ER
AT
ING
SY
ST
EM
OP
ER
AT
ING
SY
ST
EM
UNUSED MEMORYUNUSED MEMORY
PROGRAM 1PROGRAM 1
PROGRAM 2PROGRAM 2
PROGRAM 3PROGRAM 3
MULTIPROGRAMMING MULTIPROGRAMMING ENVIRONMENTENVIRONMENT
Capabilities of Operating System (cont’d)
• Multitasking– multiprogramming on single-user machine
(e.g. PC)– writing a letter with Word while using
Excel
• Multiprocessing– Two or more parallel processors in system– Program can be divided to be processed
by multiple CPUs– Can process large programs more rapidly
(e.g., supercomputing)
Capabilities of Operating System (cont’d)
• Virtual storage– primary memory appears to be larger than
it really is to the user
– technique for handling programs efficiently – dividing programs into small fixed-portions
(pages) or variable-length portions (segments) with only a small portion stored in primary memory at one time
– CPU is utilized more fully– large size & number of programs can be
executed
Capabilities of Operating System (cont’d)
• Time sharing– sharing of computer resources by
many users simultaneously by spending a fixed amount of CPU time (e.g. time slice of 2 milliseconds) on each user before moving to the next user
– as CPU operates in nanoseconds, much work can be accomplished within 2 milliseconds
Time Sharing
Types of Operating Systems
• Mainframe OSs (OS/390, OS/360)– for room-sized computers
• Server OSs (Windows/Mac OS/Linux Server)– For computers that serve multiple users at
once over a network and allow the users to share hardware and software resources
• Multiprocessor OSs (Windows Vista, Windows Server 2008)– connect multiple CPUs into a single system– often these are variations on the server
operating systems, with special features for communication and connectivity.
Types of Operating Systems (cont’d)
• Personal Computer OSs (Windows 3.1, 95, 98, 2000, Me, XP, Vista, 7, Mac OS X, Linux)– provide a good interface to a single user– widely used for word processing,
spreadsheets, and Internet access.• Real-Time OSs (VxWorks, QNX)
– Used in industrial process control systems, where they collect data about the production process and use it to control machines in the factory (e.g. if a car is moving down an assembly line, certain actions must take place at certain instants of time, if a welding robot welds too early or too late, the car will be ruined.).
Types of Operating Systems (cont’d)
• Embedded OSs (PalmOS, Windows Mobile)– for handheld PCs, wireless devices.– run on PDAs (personal digital assistants) -
small computer that fits in a shirt pocket and performs a small number of functions such as an electronic address book and memo pad.
– run also on the computers that control devices that are not generally thought of as computers, such as TV sets, microwave ovens, and mobile telephones.
– have size, memory, and power restrictions.
Types of Operating Systems (cont’d)
• Smart Card OSs– smallest OSs running on smart cards, which are
credit card-sized devices containing a CPU chip.– have very severe processing power and
memory constraints.– some of them can handle only a single
function, such as electronic payments, but others can handle multiple functions on the same smart card.
– Java applets (small programs) may be downloaded to the card and interpreted by the JVM (Java Virtual Machine). This may lead to multiprogramming and the need to schedule them.
PC Operating Systems
• DOS (PC-DOS, MS-DOS)– for old PCs, no multitasking, command
driven• Windows series for PCs (95, 98, Me)
– streamlined GUI, multitasking, networking• Windows NT (Windows 2000, XP, Vista, 7)
– for PCs, workstations, servers, multitasking/processing, intensive networking
Windows Vista
Windows Vista Desktop and Gadgets
Microsoft Windows Vista Start Menu
Windows 7
My Computer, similarly to Windows Vista, shows capacity and free space of disk
drives…
Windows 7 Control Panel
Windows 7 Gadgets
Windows Media Player
Windows 7 Start Menu
Windows Live - Photo Gallery
Windows Live – Movie Maker
Pictures Library
Improved apps –
Calculator &
WordPad
Improved apps –Paint & PowerShell
Windows Solution Center is now lacking
firewall…
It’s more easy now to switch on/off system icons
…
Theme selection /
Display settings
Internet Explorer 8 with tabbed
browsing, Live e-mail, blogging, and
translation services…
PC Operating Systems (cont’d)
• IBM’s OS/2– for PCs, multitasking, networking
• Unix– for powerful PCs, workstations,
minicomputers– multitasking, multi-user processing,
networking• Linux (Mandriva, SUSE, Fedora, Ubuntu…)
– free, reliable alternative to Unix and Windows NT
– provides source code that can be modified by developers (open source software)
• Macintosh OS X– for Macintosh, multitasking, networking,
powerful multimedia capabilities
Windows Server 2008
Utility Programs
• Prewritten programs that can be shared by all users of a computer system and can be used rapidly in many different applications when requested
• Used for routine, repetitive tasks– Copying, setting up new files,
deleting old files, formatting diskettes
3. Application Software
• Primarily concerned with accomplishing the tasks of end users
• Many different languages (e.g. FORTRAN, COBOL, C, C++) can be used to develop application software.
Microsoft Office 2007
Microsoft Word 2007
Microsoft PowerPoint
2007
Microsoft Excel 2007
Microsoft Access 2007
One-to-many relations
between tables in relational
DBMS (Microsoft Access)…
Select Query involving two
tables (Microsoft Access)…
Microsoft Publisher
2007
Microsoft Visio 2007
Microsoft Office Accounting Pro 2008
Ready-to-use accounting
software for small and medium-size
enterprises (SMEs)…
Includes quick navigation pane,
Chart of Accounts, typical documents, reports, and more!
Microsoft OneNote 2007
Microsoft Office Mac 2008
Alternative Office Suits
IBM Lotus Symphony
Open Office.org
3
OpenOffice.org 3 is a free, open-
source alternative to commercial
office suits; is available as a part of Linux
distributions or separately for
other OS…
OpenOffice.org Base Java-
powered DBMS…
OpenOffice.org Calc spreadsheet
is a free alternative to
Microsoft Excel…
Writer word processor can be used instead of Microsoft Word…
…and OpenOffice.org Impress instead of Microsoft PowerPoint
Other OpenOffice.org apps: Draw &
Math
Language Translators
• Called a compiler or interpreter– Translates programs in human
readable (high-level) languages (e.g. COBOL, C) into machine language that the computer can execute
– In other words, Source code Object code
• Source code: the program in the high-level language before translation into machine language (object code)
Language Translators (Cont’d)
• Different compiler is required for different type of source code
• A Fortran compiler cannot compile a program written in COBOL source code
Generations of Programming Languages
• First generation languages (from 40s)– machine language– programming in binary digits (O and
1)
• Second generation languages (from early 50s)– assembly language– using language-like acronyms and
words instead of binary digits
Assembly Language
• Use acronyms such as add, sub, and load
• Example: to add two numbers stored in memory 1 and memory 2– load M1,reg1– add M2, reg1
• Compiler will then convert the statements into machine language
Generations of Programming Languages (cont’d)
• Third generation languages (mid 50s – mid 70s): high-level languages– instructions that closely resemble human
language or standard notation of mathematics
– easier to learn but less efficient requiring a greater amount of translation time
– Programs became easier to create and more widely used for scientific and business problems.
– e.g. FORTRAN, COBOL, BASIC, PASCAL, C
Generations of Programming Languages (cont’d)
• Fourth generation languages (4GL, mid 70s ~)– can be employed directly by end users or
less-skilled programmers– can enhance the productivity of
programmers– nonprocedural or less procedural than
previous languages (procedural languages requiring specification of the sequence of steps, procedures)
– specify what has to be accomplished rather than how to accomplish a task
Examples of 4GL
• Query languages– retrieve specific information from
databases or files– e.g. SQL
• PC tools– General-purpose, productivity-promoting
application packages developed for PCs– word processing, spreadsheet, data
management, presentation graphics, e-mail, web browser, groupware
– E.g. MS Word, Excel, Access, Netscape, Lotus Notes
Groupware
• provides functions and services that support the collaborative activities of work groups
• enhances collaboration by allowing the exchange of ideas electronically
• includes software for information-sharing, electronic meetings, scheduling and e-mail distribution
New Programming Approaches
• Object-Oriented Programming (OOP)– software development approach that
combines data and procedures into a single unit called an object
– promotes reusable code through concepts such as encapsulation and inheritance
– reduces Time And Cost Of Writing Software
• Visual Programming– construction of programs by selecting and
arranging programming objects (drag-and-drop) rather than by writing program code
– e.g. Visual Basic
Java
• An object-oriented programming language used to create miniature programs called ‘applets’ designed to reside on network servers
• A user can download only the software functions and data (applets) necessary to perform a specific task, e.g. analyzing the revenue– Companies might not need to purchase
thousands of copies of commercial software on individual computers.
• Can run on any computer and operating system, even on a smart cellular phone– No need to worry about IT environments
(platform independent)
HTML and XML
• HTML– Page description language for
creating Web pages– Describes only the display
format of a document
• XML– General-purpose language
describing the structure of a document, supporting links to multiple documents, and allowing data to be manipulated
– Designed to improve delivery of Web documents
– Can be used for both Web and non-Web application
4. New software tools and approaches
• Open source is an approach to design, development, and distribution offering practical accessibility to a product's source code.
• Open source software (OSS) projects are built and maintained by a network of volunteer programmers.
4. New software tools and approaches
• Examples of open source products are:– Linux operating system, a free, open-
source Unix-like OS.– OpenOffice.org office suite, which
includes word processor, spreadsheet, DBMS, and presentation graphics software.
– Mozilla Firefox Internet browser.– Apache HTTP Server.
Top Related