Chapter 3 Software Two major types of software 1. Application Software - Programs designed for a...
-
Upload
milton-esmond-nicholson -
Category
Documents
-
view
221 -
download
0
Transcript of Chapter 3 Software Two major types of software 1. Application Software - Programs designed for a...
Chapter 3Software
• Two major types of software
• 1. Application Software - Programs designed for a specific purpose
• 2. System Software - Programs that manage the resources and operations of the computer system
Software Trends
• The trend in software is moving away from customized software designed for a specific company or organization
• Getting away from symbolic code
• Moving away from procedural programming languages
Software Trends
• Trend is towards the use of pre-written off-the-shelf software
• Use of natural style languages
• Visual interface, Object Oriented
Reasons for Current Trends
• Software developers have assembled software ‘suites’ that bundle several applications together
• Designed for ease of use and multiple functions
• Most recent trend is towards the offering of application software packages over the Internet
Application Software
• Two types of application software
• 1. General purpose - word processors, spreadsheets, database management programs, graphics, web browsers, email packages, groupware
• 2. Software suites combine several general purpose applications
The Suite Advantage
• Often called productivity suites
• Less expensive than separate purchases
• Most suites use a common graphical interface (same look , feel)
• Work together (import, export data)
Disadvantages of Suites
• Experts argue that most users never use the additional features
• Suites take up a lot of hard disk space and usually need high amounts of RAM
• Suites generally work slower than a stand alone application (because of integration)
Integrated Packages
• Integrated packages like Microsoft Works are a multifunction single application
• Disadvantage is the lack of features available in suites
Web Browsers
• Latest and greatest piece of application software
• Offer the ability to connect to the Internet and use Internet technology for additional purposes
• Fast becoming the universal piece of application software
Email Software
• Has changed the way people communicate
• Allows for messages to be sent to individual recipients or many at one time
• Can be secure message (password or encrypting)
• Allows for file attachment to message
• Can allow for remote access
Word Processors and Desktop Publishing
• Packages that allow for the creation, editing, revision, and printing of text based documents
• Can be converted easily to HTML format for web application
• Incorporate utilities such as grammar checkers, spelling checks, word usage, etc
Desktop Publishing
• Application software that allows for production of newsletters, books, manuals
• Allows for designing of page layout to work around non traditional page forms
• Allows for importing and formatting of images, graphics
Electronic Spreadsheets
• Program used for numerical analysis, planning, and modeling
• Can be used as database
• Very powerful business tool that can be easily customized by the end user
Database Management
• A database management application allows for the organized storage of data
• Allows for:– database development– database interrogation (queries)– database updates (acid functions)– protection of data– application development
Presentation Graphics
• Used to develop multimedia presentations
• Allow for the use of images, pictures, etc
• Easy to use
• Very effective teaching tool
• Can be used for web sites (must be transformed into HTML)
Hypermedia Technology
• Electronic documents that contain multiple forms of media
• Require use of specialized programming languages such as JAVA for development
• Creates links within HTML pages
Personal Information Managers
• Popular for end users
• Require no difficult programming
• Electronic calendar, appointment manager, schedule book
• Good for scheduling meetings within an organization
• May have an email link
Groupware
• Collaborative work software
• Central theme is to make group work possible and to remove barriers
• Allow for work folders where project documents are stored for access by project workers
System Software
• Manages the operation of the computer
• Link between hardware and application software
• Two main types of System Software– System management– System development
System ManagementSoftware
• Programs that manage hardware, software, and data resources of a system
• Four main types– Operating systems– Network management programs– DBMS– System Utilities
System DevelopmentSoftware
• Programs that aid in the development of custom software application
• Three basic forms– Translators and compilers– Programming tools– CASE (computer assisted software
engineering)
Operating System
• Single most important software package in a system
• Manages CPU
• Controls inputs, outputs, and system operation
• Directs system resources to maximize
• Allows for use of peripheral devices
Five Functions of Operating System
• Provides user interface
• Manages resources
• Manages tasks
• Manages files
• Provides for support (help screens) and utilities
User Interface
• Allows for communication and direction by the user to load programs, access and manage files
• Three main types:– Command driven– Menu driven– Graphical User Interface
User Interface
• The trend is towards graphical interfaces that make system commands appear simple
Resource Management
• The operating system controls programs that manage many system functions including:– CPU– Memory– Secondary storage– I/O devices
File Management
• The operating system controls the creation, storage, accessing of and management of files in the system
• Keeps track of the physical location of files on disks and other secondary storage devices
Task Management
• The operating system allows the computer to accomplish multiple tasks seemingly at the same time
• Multitasking
• Time sharing
Popular Operating Systems
• MS-DOS
• Windows 95/98/2000
• Windows NT
• OS/2
• UNIX
• LINUX
• Macintosh 7
System Development Software
• Programs are instruction sets
• Programs are written in many different programming languages
• There has been a definite evolution in programming languages
• There are five main categories of programming languages
Machine Language
• Basic level of programming language
• Written using binary code
• Very complicated and time consuming
• Very error prone
Assembler Languages
• Second generation of programming languages
• Usually called Symbolic languages
• Simpler to write than machine code
• Had to be used with a particular machine
High-Level Languages
• Third generation language
• COBOL, BASIC, FORTRAN
• Easier to learn because of orientation towards natural language
• Machine independent
• Must be compiled or translated into machine code by the software
4GL
• More conversational than others
• Simplifies programming tasks
• Use nonprocedural language
• Natural language
• Somewhat less flexible than some languages
Object Oriented Languages
• Links data elements and procedures together
• Languages include Visual Basic, C, C++, Java
• Easier to use
• Can use same object in multiple programs
HTML and Java
• HTML is a page defining language used for internet technology systems
• Java is an object oriented language
• Java was designed for real time uses
• Java code can contain small application programs within large programs called applets and/or JavaBeans
Language Translators
• Necessary to convert programming languages into machine code
• Assemblers - translate symbolic code
• Compilers - translate high level languages
• Interpreters - Execute instructions one level at a time