Computer Software

advertisement
Chapter 4
Computer Software
Learning Objectives
1.
2.
3.
4.
5.
Describe several important trends occurring in computer
software.
Give examples of major types of application and system
software.
Explain the purpose of several popular software
packages for end user productivity and collaborative
computing.
Define and describe the functions of an operating
system.
Describe the main uses of computer programming
software, tools, and languages
Software
A single program or a collection of programs
which performs many task and/or system
related functions
Two types of software:
– Application
– System
Application Software
•
•
•
•
Personal Information Manager
Groupware
Organizational
Inter-organizational
Personal Information Manager and
Groupware
• Personal Information Manager (PIM)
– Software for end user productivity and
collaboration
– Store information about clients, schedules,
manage appointments, manage tasks
– E.g., Lotus Organizer, Microsoft Outlook
• Groupware
– Software that helps workgroups collaborate on
group assignments
– E-mail, discussion groups, databases,
videoconferencing
Organizational & Interorganizational
Organizational
They assist typical organizational tasks
– Payroll, TPS
– ERP,CRM
– Web-based management systems
Inter-organizational
They provide links or cooperation between
organizations
– B2B system
– EDI, SCM
Overview of Computer Software
Computer
Software
Application
Software
General
Purpose
Application
Programs
ApplicationSpecific
Programs
System
Software
System
Management
Programs
System
Development
Programs
Software development
• Custom software
– Software applications that are developed within an
organization for use by that organization
• COTS software
– Commercial Off-the-shelf (COTS)
• Classify based on how it was developed
– Software developed with the intention of selling the
software in multiple copies
• Outsourced software
Software Development Selection
• Why would you choose ?
– Custom (in source)
– COTS (off-the-shelf)
– outsourced?
General-Purpose
Application Programs
Software Suites and Integrated
Packages
Oracle E-Business Suite
Word
Processor
Word
WordPro
Corel
WordPerfect
Office
WordPerfect
Spreadsheet
Excel
1-2-3
Quattro Pro
StarCalc
Presentation
Graphics
PowerPoint
Freelance
Presentations
StarImpress
Database
Manager
Access
Approach
Paradox
StarBase
Personal Info.
Manager
Outlook
Organizer
Corel Central
StarSchedule
Programs
Microsoft
Office
Lotus
SmartSuite
Sun
Star Office
StarWriter
Electronic Spreadsheets and
Presentation Graphics
• Electronic Spreadsheets
– Worksheet of rows and columns
– Used for calculations and charts
– E.g., Lotus 1-2-3, Microsoft Excel, Corel
QuattroPro
• Presentation Graphics
– Convert numeric data into graphics displays
– Prepare multimedia presentations including
graphics, photos, animation, and video clips
General-Purpose
Application Programs
• Web Browsers
• Electronic Mail and Instant
Messaging (IM)
• Word Processing and Desktop
Publishing
• Electronic Spreadsheets
• Database Management
• Presentation Graphics
• Personal Information Managers
• Groupware – Collaboration
Software
General-Purpose
Application Programs
Application Service Providers
(ASPs)
System Software:
Computer System Management
Software Interface Between End Users and
Computers
End Users
Application Software
System Software
Computer
Hardware
System Software
• Operating Systems
• Utility software
• Network Software
Operating Systems
The User Interface
• Command-Driven
• Menu-Driven
• Graphical User Interface
OS contain two parts
Supervisory
– Stays in main memory
Transient
– Can be swapped back and forth from secondary
memory
Operating Systems
User
Interface
End User Systems
and Network
Communications
Resource
Management
Task
Management
File
Management
Utilities
and Other
Functions
Managing
the Use of
Hardware
Resources
Managing the
Accomplishment
Of Tasks –
Managing
Data and
Program
Files
Providing
a Variety of
Support
Services
Operating Systems
Resource Management
–Virtual Memory
File Management
Task Management
–Multitasking,
–Multiprocessing
–Multi-user programming
Popular Operating Systems
•
•
Windows
–
–
–
GUI, multitasking, networking, multimedia
Microsoft’s operating system
Different versions manage servers
–
–
–
–
–
Vista
Windows XP
Windows NT
Windows Server 2003
Windows 2000
Unix
–
–
Multitasking, multiuser, network-managing
Portable – can run on mainframes, midrange and PCs
– Solaris by Sun
– AIX by IBM
Popular Operating Systems
•
Linux
–
–
–
Low-cost, powerful reliable Unix-like operating system
Open-source
Free
–
–
–
–
Freeware
Novell SUSE Linux
Red Hat
VA Linux
• MAC OS X
–
–
Apple operating system for the iMac
GUI, multitasking, multimedia
Programming Languages
Machine Languages
Use Binary Coded Instructions
1010
1011
1100
11001
11010
11011
Assembler Languages
Use Symbolic Coded Instructions
LOD Y
ADD Z
STR X
Programming Languages
High-Level Languages
Use Brief Statements or Arithmetic
BASIC: X = Y + Z
COBOL: COMPUTE X = Y + Z
Fourth-Generation Languages
Use Natural and Nonprocedural
Statements
SUM THE FOLLOWING NUMBERS
Objects
What are objects?
Programming Languages
Object-Oriented Languages
Withdraw
(amount)
Current
Account
Balance
Deposit
(amount)
Savings Account Object
Object-oriented Programming
Languages
Web Languages and Services
HTML
XML
JAVA
– Platform Independence
– Program Applets
JAVA2 Enterprise Edition
Microsoft .NET Software
Language Translator Programs
Translate instructions written in programming
languages into machine language
• Assembler
– translates assembler language statements
• Compiler
– translates high-level language statements
• Interpreter
– compiler that translates and executes each
statement in a program one at a time
Errors (Bugs)
• Logical
• Syntax
• Execution
E-mail, Instant Messaging and
Weblogs
• E-mail
– Software to communicate by sending and receiving messages and
attachments via the Internet, intranet or extranet
• Instant messaging (IM)
– Receive electronic messages instantly
• Weblog or blog
– A personal website in dated log format
– Updated with new information about a subject or range
of subjects
• Myspace
Programming Languages
J2EE and .NET Compared
Program Development Process
• Determine Program specs
– Work with users
– I/O layout
– Processing requirements
• Use Program Planning Tools
– Analyze the problem using
•
•
•
•
Flow Charts
Pseudo code
Structured charts
CASE tools
Programming Development Process
• Code and enter Program
– Code program’s logic into programming language
• Compile the program
– Test for errors (syntax, run execution)
• Test the program for correctness (GIGO)
– Processing
– Robustness
• Documentation
FLOW CHARTS
• Symbolic representation of program’s logic
• Pre defined symbols are used to analyze
program’s logic
Programming Logic
• Sequence
• Selection
• Looping (Iteration)
• Case 2/p128
Download