Title: Computer Software
1CHAPTER 3
2THE STORED PROGRAM CONCEPT
- COMPUTER IS A BINARY SYSTEM
- PROGRAM A set of instructions telling the
computer what to do - INSTRUCTION Individual step or operation in a
program - MACHINE LANGUAGE Translated instruction
understood by particular model of computer
3KEY TYPES OF SOFTWARE
- APPLICATION SOFTWARE Programs written to
accomplish particular tasks for computer users - SUPPORT SOFTWARE or SYSTEM SOFTWARE Programs
that support application software in producing
needed output. Does not directly produce output
needed by users
4Spheres of Influence Application Software
- Two or more people who work together to achieve
a - common goal
- Systems that support information sharing, group
- scheduling, group decision making, and
conferencing
Workgroup
Personal
Enterprise
- programs that support
- the firm in its
- interaction with its
- environment
- order entry, billing
- programs that serve the
- needs of an individual user
- word processing,
- spreadsheets, databases,
- e-mail
5Application SoftwareGeneral-Purpose vs.
Application-Specific
- General-purpose application programs programs
that perform common information processing jobs
for end users - Examples include
- Word processing
- Spreadsheet
- Database management
- Graphics
- Web browsers
- Electronic mail
- Groupware
- Application-specific programs that direct the
processing required for a particular use - Examples include
- Business Applications - accounting, sales
management, eCommerce - Science and Engineering Applications research
and development - Personal Applications
- Education and Entertainment Applications
6Web Browsers
7Application Suites
- Software suites are a combination of the most
widely used productivity packages that come
bundled together - Suites integrate software packages for web
browsing, word processing, spreadsheets,
presentation graphics, database management,
personal information management, and more - Examples Microsoft Office, Lotus SmartSuite, and
Corel WordPerfect Office
8Groupwarehelps teams work together to accomplish
group assignments
- Groupware products (Lotus Notes, Novell
GroupWise, Microsoft Exchange, Netscape
Communicator) support collaboration through - Electronic Mail
- Discussion groups and databases
- Scheduling
- Task management
- Data, audio, and videoconferencing
- Internet, corporate intranets and extranets to
make collaboration possible on a global scale by
virtual teams located anywhere in the world. - Joint web page development
- Publish project news and progress reports
- Working jointly on documents stored on web servers
9EVOLUTION OF PROGRAMMING LANGUAGE
- 1st Generation Machine language - binary
language designed for particular computer - 2nd Generation Assembly language - substituted
mnemonic operation codes and addresses,
translated to machine language by assembler - 3rd Generation Procedural language - FORTRAN,
COBOL, C - translated to machine language by
compiler or interpreter. Example COBOL - 4th Generation Nonprocedural language. Tell what
to do, not how to do it, order not important.
Translate to machine language by compiler or
interpreter. Example FOCUS
10OTHER LANGUAGES
- NATURAL LANGUAGES User types in or speaks
English, computer evolves program - HYPERTEXT MARKUP LANGUAGE (HTML) Code used to
develop World Wide Web (WWW) pages and sites - eXtensible Markup Language (XML) Used for data
exchange on WWW -
11HTML, XML and Java
- HTML and Java have become vital tools for
building multimedia web pages, web sites, and
web-based applications - HTML is a page description language that creates
hypertext or hypermedia documents - XML describes the contents of web pages by
applying identifying tags or contextual labels to
the data in web documents - Java
- is an object-oriented programming language
- is computing platform independent
- Is designed for realtime, interactive, web-based
network applications - Java applications consist of small application
programs called applets, which can be executed by
any computer and any operating system anywhere in
a network
12OBJECT-ORIENTED PROGRAMMING (OOP)
- COMPUTER PROGRAMMING BASED ON CREATING, USING SET
OF OBJECTS Object combines data and methods (or
chunks of programs) - EXAMPLES C, Smalltalk, Java
13Categories of Programming Languages
14Programming Language Translation
15Programming Languages Terminology
- Language translator
- Systems software that converts a programmers
source code into its equivalent in machine
language. - Source code
- High-level program code written by the
programmer. - Object code
- Another name for machine language code.
48
16SUPPORT (SYSTEMS) SOFTWARE
- OPERATING SYSTEMS Helps maximize work done,
eases workload of users - JOB CONTROL LANGUAGE Allows users to communicate
with operating systems - MULTIPROGRAMMING Large computers can run
multiple programs simultaneously. Time-driven
approach is time-sharing - MULTITASKING Allows small computers to work on
several programs interactively - VIRTUAL MEMORY Allows computer to run portions
of a large program as required, saving use of
main memory - MULTIPROCESSING Multiple CPUs divide workload,
increases efficiency
17Functions of an Operating System
18OPERATING SYSTEMSa set of programs that control
the hardware and acts as an interface with
application programs
19User Interface
- User Interface
- A function of the operating system that allows
individuals to access and command the computer. - Command-Based User Interface
- A particular user interface that requires text
commands be given to the computer to perform
basic activities. - Graphical User Interface (GUI)
- A user interface that uses pictures (icons) and
menus displayed on the screen to send commands to
the computer system.
20GRAPHICAL USER INTERFACE (GUI)
- MOUSE A standard pointing device
- ICON Graphic or label on screen associated with
task or operation - 32-BIT OPERATING SYSTEM Operating system handles
32 bits at a time - CLICKING MOUSE ON ICON INITIATES TASK
21Software Concepts
- Virtual Memory
- Memory that allocates space in secondary storage
to supplement the immediate, functional memory
capacity of RAM. - Paging
- A function of virtual memory that allows the
computer to store currently needed pages in RAM
while the rest of these programs wait in
secondary storage.
22Utility Programs
- merge and sort sets of data,
- keep track of computer jobs being run,
- compress files of data before they are stored or
transmitted over a network, and - perform other important tasks.
23SOURCES OF OPERATING SYSTEMS
- PROPRIETARY Written for particular computer
class or system. Examples Windows 98, Windows
2000 - OPEN SYSTEM Not tied to specific platform.
Examples UNIX, Linux - NETWORK OPERATING SYSTEM (NOS) Manages network
resources, local area networks
24DATABASE MANAGEMENT SYSTEM (DBMS)
- SUPPORT SOFTWARE USED TO CREATE, MANAGE, AND
PROTECT ORGANIZATIONAL DATA - DBMS Software that manages a database, works
with operating system to store and modify data
and to make data accessible in authorized ways
25TYPES OF DBMSs
- HIERARCHICAL Data arranged in a top-down,
organization chart fashion - NETWORK Data arranged like cities on a highway
systems, often with multiple paths between pieces
of data - RELATIONAL Data arranged into simple tables, and
records are related by storing common data in
each of the associated tables
26FILING METHODS
- INDEXED SEQUENTIAL ACCESS METHOD (ISAM)
- EACH RECORD IDENTIFIED BY KEY
- GROUPED IN BLOCKS AND CYLINDERS
- KEYS IN INDEX
- VIRTUAL STORAGE ACCESS METHOD (VSAM)
- MEMORY DIVIDED INTO AREAS INTERVALS
- DYNAMIC FILE SPACE
- VSAM WIDELY USED FOR RELATIONAL DATABASES
- DIRECT FILE ACCESS METHOD
27COMPONENTS OF DBMS
- DATA DEFINITION LANGUAGE Defines data elements
in database - DATA MANIPULATION LANGUAGE Manipulates data for
applications - DATA DICTIONARY/DIRECTORY Formal definitions of
all variables in database, controls variety of
database contents
28Database (Access / Approach / Paradox) Stores,
manipulates, and retrieves data
(Figure 4.10)
28
29STRUCTURED QUERY LANGUAGE (SQL)
- EMERGING STANDARD
- DATA MANIPULATION LANGUAGE
- FOR RELATIONAL DATABASES
30ADVANTAGES OF RELATIONAL DBMS
- NEW DATA ELEMENTS CAN EASILY BE ADDED AS NEW
NEEDS ARISE - NEW RELATIONSHIPS CAN BE CREATED AS NEW
QUERY/REPORTING NEEDS CHANGE - FEWER DATA CONSISTENCY PROBLEMS DUE TO LESS
REDUNDANT DATA STORAGE - MORE USER FRIENDLY TOOLS
31COMPUTER-AIDED SOFTWARE ENGINEERING (CASE)
- HELPS AUTOMATE SOFTWARE DEVELOPMENT Used by
computer professionals to help automate software
development - MAY INCLUDE
- upper-CASE (requirements definition and design)
- lower-CASE (code generation)
- I-CASE or integrated-CASE
32CHANGING NATURE OF SOFTWARE
- MORE HARDWIRING OF SOFTWARE AND MORE MICROCODE
- MORE COMPLEXITY OF HARDWARE/SOFTWARE ARRANGEMENTS
- LESS CONCERN WITH MACHINE EFFICIENCY
- MORE PURCHASED APPLICATIONS AND MORE PORTABILITY
OF THESE APPLICATIONS FROM ONE COMPUTER PLATFORM
TO ANOTHER
33CHANGING NATURE OF SOFTWARE
- MORE PROGRAMMING USING OBJECT-ORIENTED AND VISUAL
LANGUAGES, IN LARGE PART BECAUSE OF EMPHASIS ON
GUIs - MORE EMPHASIS ON APPLICATIONS THAT RUN ON
INTRANETS AND THE INTERNET - MORE USER DEVELOPMENT
- MORE USE OF PERSONAL PRODUCTIVITY SOFTWARE ON
MICROCOMPUTERS, ESPECIALLY PACKAGES WITH A GUI
34Trends in Computer Software
Trend Toward Easy-to-Use Multipurpose
Network-Enabled Application Packages for
Productivity and Collaboration
User-written programs Machine languages
Packaged programs Symbolic languages
Operating systems High-level languages
DBMS Fourth-generation languages Microcomputer
packages
Natural object- oriented languages Multipurpos
e graphic-interface network-enabled
expert-assisted packages
Trend Toward Visual or Conversational
Programming Languages and Tools
35CHAPTER 3