software theory presentation
DESCRIPTION
TRANSCRIPT
Software Theory
2 Diploma 5
14 August 2007
Alex Murch
Marangu TC
2
What is software?
• Software is a set of instructions that works with computer hardware to perform tasks. These tasks are also called “operations.”
HardwareSoftwareYou (the user)
3
Software is like a cassette…
Software
4
Types of software
1. System software– Operating system (O.S.)– Basic input/output system (BIOS)
2. Application software– Word processing– Spreadsheet– Database
5
System Software
CPU
Hard Disk
Memory
MonitorMouse
Keyboard
Scanner
CameraApplication Software
Software working with hardware
6
Basic input/output system
• The software that tests hardware on startup, starts the operating system and supports the transfer of data among hardware devices– Stored in read-only memory– Almost invisible to regular users
7
Operating System
• The software that controls the allocation and usage of hardware resources such as memory, central processing unit (CPU) time, disk space and peripheral devices
8
O.S. Examples
• Microsoft Windows (95, 98, ME, 2000, XP)
• Linux
• UNIX
• Solaris*
9
Functions of the O.S.
• Coordinate processing
• Manage system memory
• Control peripheral devices– (monitor, mouse, keyboard, etc)
• Looks for problems (malfunctions)
• Manages files on the hard disk drive
10
O.S. Classification (1/4)
• Real-time operating system (R.T.O.S.)– Exact timing of operations
11
O.S. Classification (2/4)
• Single user, single task– Simple devices like cell phones
12
O.S. Classification (3/4)
• Single user, multi-tasking– Allows user to do many things at one time– Used with most desktop and laptop computers– Example: Windows XP
Single user, multi-tasking O.S.
1 user 1 computer
Word processor
Spreadsheet
Picture editor
Internet browser
Many tasks
13
O.S. Classification (4/4)
• Multi-user operating system– Many users share system resources– Example: Solaris thin client
Multi-user O.S.
14
Discussion
What is the BEST kind of operating system?
15
Application Software
• Where does it fit in?
Computer Hardware
BIOS
Operating System
Application Software
You (the user)
16
Types of Application Software
• Word processor• Spreadsheet• Presentation• Database• Email client• Web browser
• Desktop publishing• Accounting• Web development• Graphics and imaging• Programming• Etc…
17
Word Processor Software
• Microsoft Word
• OpenOffice.org Writer*
• StarWriter
• Lotus Ami Pro
• Corel WordPerfect
18
Spreadsheet Software
• Microsoft Excel
• OpenOffice.org Calc*
• StarCalc
• Quattro Pro
• Lotus 1-2-3
19
Presentation Software
• Microsoft PowerPoint
• OpenOffice.org Impress*
• StarImpress
• KPresenter
20
Database Software
• Microsoft Access
• OpenOffice.org Base*
• MySQL
• Sybase
• Oracle
• FileMaker
21
Web Browser Software
• Mozilla Firefox
• Opera
• Netscape Navigator
• Safari
• Microsoft Internet Explorer
22
Graphical User Interface (G.U.I.)
• Most application software uses a G.U.I.
• Definition:– A graphical user interface is a visual
environment that represents programs, files and options with graphical images on the screen
23
G.U.I. Example
24
Advantages of G.U.I.
• Less work for the user– User can simply point and click with the mouse
• Easier/faster to learn
• Hides program complexity from the user
• Simplifies multi-tasking– Easy to perform multiple tasks at once
25
Disadvantages of G.U.I.
• Not all software functions are available
• Slower performance– Text-based systems work faster
26
Free / Open Source Software
• What is it?– Software that is freely available for use– Design engineering is transparent
• Not patented and not for profit
• Example– OpenOffice.org
• Discussion: Why use open source software?
27
Software Development Cycle
Analysis
Design
Programming
Testing
Implementation
Further Development
28
Software Analysis
• Software project outline
• Discussions with software users
• Work is performed by systems analysts
29
Software Design
• Project is broken down into smaller sections– And even smaller sub-sections
• Detailed specifications are created
• Programming language is selected
• Work is performed by systems analysts
30
Programming
• Software design is programmed
• Specific programming language is used
• Work is performed by programmers
31
Testing
• Complete testing of all program functions
• Errors (bugs) are noted and reported back to– Systems analysts who check program logic– Programmers who check syntax
32
Implementation
• Software is installed for use
• Usually starts with group of advanced users– Small group size– Called a “pilot group”
• Errors are reported back to analysts and programmers
33
Further Development
• After software is released to a large group of users
• More error/bug fixing
• Design/efficiency improvements
34
Discussion
1. How is the software development cycle like lesson planning?
2. Compare open source software to lesson plans – are there advantages to sharing your work?