Transcript Software
AN INTRODUCTION TO
INFORMATION SYSTEMS SOFTWARE
IS 340
BY
CHANDRA S. AMARAVADI
1
IN THIS PRESENTATION
Intro & types of SW
Overview of systems software
Operating systems
OS functions
Applications Software
Programming languages
Applications of programming languages
2
Software/SW Program:
Detailed instructions to the computer to control
information processing operations.
COMPUTER
OUTPUTS
INPUTS
INSTRUCTIONS
3
Operating Systems
Sw concerned
with the system
(Systems sw)
Compilers
Utility
SW
Sw for a specific
purpose/
(Applications SW
or simply
“application”)
Packaged or
“business” or COTs
Open source
Customized
5
SYSTEMS SOFTWARE
APPLICATION SOFTWARE
SYSTEM SOFTWARE
OPERATING SYSTEM
COMPILERS
UTILITY PROGRAM
HARDWARE
OPERATING SYSTEM: Software that
manages and controls system operations.
COMPILERS: Convert a program (the
“source program”) to machine code
(“object code”).
UTILITY: Perform support functions inside the computer
e.g. screen savers, file management, network management,
data conversion etc.
6
EXAMPLES OF O/S
PC Environment
Windows, Vista
Mac OS
Workstation/server
Unix, Linux
7
COMMON TASKS PERFORMED BY OS
Runs the hardware
CPU, memory etc.
Interacts/monitors users
keyboard commands
passwords etc.
8
9
APPLICATIONS SOFTWARE
Software for a specific purpose
APPLICATION SOFTWARE
SYSTEM SOFTWARE
HARDWARE
CUSTOMIZED
APPLICATIONS
Inventory
Accounting
Invoicing
…….
BUSINESS SOFTWARE
Word processing
Spreadsheet
Email
……..
10
CUSTOMIZED SOFTWARE
Software tailored to the needs of a business
“application” generally refers to “customized”
example resume processing, benefits system etc.
developed in 3rd GLs or OO languages
interface may be less finished than business
more expensive
11
Standardized software for a specific purpose
Example MS Word, Powerpoint etc.
integrated under Windows
Common “look & feel”
Point & Click -- GUI
C&P functionality for DDE
Dynamic, context dependent help
Note: DDE stands for Dynamic Data Exchange, C&P
for cut and paste
12
OPEN SOURCE SOFTWARE
publicly available or authored by the “public”
aka “public domain” or “shareware”
sometimes subscription/nominal fees
e.g. Zimbra, Winscp
downside of open source?
14
All
SW is written in a programming language.
Programming languages have evolved based on factors
such as useability, features, and application.
Initially programming languages attempted to control
machine components (e.g. memory)
As O/S evolved there was less of a need for programmers
to control machine components and more of a need to
fulfill user requirements.(e.g reporting)
15
LLL
1st e.g. Machine
2nd e.g. Assembly
HLL
3rd e.g. COBOL, C
VHLL
4th e.g. SQL, macros, Java Script
5th e.g. Prolog, Java, C++
Note: LLL = Low Level Languages; HLL = High Level Languages
VHLL = Very High Level Languages
16
17
THE FIRST TWO GENERATIONS
M/C and Assembly languages
low level
hardware dependent
high execution speed
18
ASSEMBLY CODE TO SUBTRACT
TWO NUMBERS (FYI)
N ds 1 ; first 8-bit number
M ds 1 ; second 8-bit number
P ds 1 ; third 8-bit number
sub8s ldaa N ; first number
suba M ; subtract second number
; V bit set if signed overflow
bvc SetP ; skip if no overflow
bpl floor ; is positive, should be -128
ceil ldaa #127 ; set at maximum (ceiling)
bra SetP
floor ldaa #-128; set to minumum (floor)
SetP staa P rts
19
The distinction between high level and low
level languages is based on the ratio of
the # of lines of program code to the # of
actions carried out by the system
# of program lines : system actions
For L.L.L 1:1
For H.L.L 1:10
For VHLL 1:50
20
21
CHARACTERISTICS OF 3rd GLs
languages
like COBOL & C
aka “traditional languages”; HLL
60% of installed apps.
formal - characterized by program
structure (not present in 1st, 2nd GLs)
22
CONCEPTUALIZING A PROGRAM
(A 3rd GL Program)
Data/variables
PROGRAM
INPUTS
OUTPUTS
Module1
Module3
Module2
Module4
23
EXAMPLE OF VARIABLES
FD
01
FD
01
01
01
01
01
BookMasterFile.
BMF-Record.
02 BMF-BookNum
PIC X(5).
02 BMF-BookTitle
PIC X(25).
02 BMF-AuthorName
PIC X(25).
BookSalesFile.
BSF-Record.
88 EndOfBSF VALUE HIGH-VALUES.
02 BSF-BookNum
PIC X(5).
02 BSF-Copies
PIC 99.
02 BSF-SaleStatus
PIC X.
88
NormalSale VALUE "N".
Book-Rank-TABLE.
02 BookDetails OCCURS
03 BookNum
03 BookTitle
03 AuthorName
03 BookSales
Rank
PrevBookNum
BookSalesTotal
11 TIMES.
PIC 9(5).
PIC X(25).
PIC X(25).
PIC 9(4) VALUE ZEROS.
PIC 99.
PIC X(5).
PIC 9(4).
24
EXAMPLE OF A MODULE (COBOL) -FYI
PERFORM Check_BookRank
VARYING Rank FROM 10 BY -1 UNTIL Rank < 1.
Check_BookRank.
IF BookSalesTotal >= BookSales(Rank)
MOVE BookDetails(Rank) TO BookDetails(Rank + 1)
MOVE BMF-BookNum TO BookNum(Rank)
MOVE BMF-BookTitle TO BookTitle(Rank)
MOVE BMF-AuthorName TO AuthorName(Rank)
MOVE BookSalesTotal TO BookSales(Rank)
END-IF.
25
THIRD GENERATION LANGUAGES (3rd
GL)
program is modular; has many parts
explicit declaration of variables;
data “Typing”
Acct_bal -- Numeric
Name – AlphaNumeric
use delimiters
procedural
26
THE FOURTH
GENERATION
27
Associated
with various applns. software
Scripting/”macro” language
Examples include SQL, Macro, Java script etc.
Idea is to specify only goals, not how
Provide a list of students and their current grade standing.
Across Years down Sales, COGs, margin.
28
EXAMPLES OF 4th GLs
<SCRIPT LANGUAGE="javascript">
document.write("<FONT
COLOR='RED'>This Is Red
Text</FONT>")
</SCRIPT>
Select Product.Name, Product.Price
From Product
Where Product.price > $4000
29
THE FIFTH
GENERATION – AI
LANGUAGES
30
FIFTH GENERATION LANGUAGES
(5TH GL)
involve symbolic reasoning, pattern matching
as opposed to?
uses “facts”, “predicates” and clauses
purpose of facts & predicates?
Sibling(X,Y) :- Parent_of (X,Z),
Parent_of(Y,Z).
31
FIFTH GENERATION LANGUAGES
(5TH GL) -- FYI..
PREDICATES
bank_balance(symbol, symbol)
credit_status(symbol, symbol)
FACTS
bank_balance(Mary, substantial)
credit_status(Mary, excellent)
bank_balance(Jeff, good)
bank_balance(Mark, substantial)
credit_status(Mark, good)
32
FIFTH GENERATION LANGUAGES
(5TH GL).. FYI
CLAUSES
approve_loan(X) :- bank_balance(X, substantial),
credit_status(X, good).
approve_loan(X) :- bank_balance (X, reasonable),
credit_status (X, excellent).
GOAL
approve_loan(Mark)?
approve_loan(Mary)?
approve_loan(Jeff)?
33
THE FIFTH
GENERATION –
OO LANGUAGES
34
Appln.
a collection of objects, on which actions
are taken
Classes are packaged to include data & methods
Methods are actions involving data associated w
class
Objects are grouped into classes
35
CONCEPTUALIZING AN OO
PROGRAM
PROGRAM
INPUTS
OUTPUTS
Data Class1.method
Class2.method
Data
Data Class3.method
Class4.method
Data
36
CLASSES, OBJECTS..
PROPERTIES, METHODS
Employee : John Smith
Department: Finance
Salary:
$60,000
Manager: Steve
Update Salary (new_Salary)
Change Department(new Department)
Change Manager(new Manager)
37
OBJECT ORIENTED CONCEPTS..
WINDOW
Win1
Win2
…
Win 4
Which of these are classes and which are objects?
What might be some properties of the class?
What might be methods associated with the class?
38
OBJECT ORIENTED
PROGRAMMING
Win1 = New Window
Win1.height = 10
Win1.breadth = 20
Win1.color = red
Win1.open.
Win1.resize(15,5).
Win1.close.
39
Machine independent object oriented language
introduced by Sun Microsystems (subset of C++)
uses “byte-code” or applets.
applet: tiny program to execute small function
applets sent over network.
interpreted by local interpreter.
run on any computer & operating system.
40
L.L.L are efficient from the systems point of view.
All languages need to be converted to m/c. language in
order to run on the Hardware.
Parts of O/S in Assembly.
H.L.L and V.H.L.L are convenient from the user’s point of
view.
41
1st GLs inside m/c
2nd GLs for parts of system’s sw and some
applications sw.
3rd GL’s for conventional applns.
4th GLs associated with applications sw.
5th GL’s used in AI.
OO
for conventional applns and Java for web applns.
42
FOR DISCUSSION
What does systems software do?
T/F: O/S is an example of systems software?
What are other examples of systems software?
What is the purpose of a compiler?
What are examples of 5th Generation languages?
What is the fundamental difference between 3rd & OO?
What is Java? Why is it portable?
43
44