Types of software
Software types
- Application software
Performs information processing tasks for end users
- System software
Manages and supports operations of computer systems and networks
Application software
- General purpose
Programs that perform common information processing jobs for end users
E.g., word processing, spreadsheet, etc.
Also called productivity packages
- Application-specific
Programs that support specific applications of end users
E.g., electronic commerce, customer relationship management, etc.
Software classifications
- Classify based on how it was developed
- Custom software
Software applications that are developed within an organization for use by that organization
- COTS software
Commercial Off-the-shelf (COTS)
Software developed with the intention of selling the software in multiple copies
- Why would you choose Custom over COTS?
- Why would you choose COTS over Custom?
Software Suites
- Software suites integrate software packages
Advantages:
- Cost less than buying individual packages
- All have a similar GUI
- Work together well
Disadvantages
- Features not used by all users
- Take a lot of disk space
Integrated Packages
- Integrated packages
- Combine the functions of several programs into one package
- E.g., Microsoft Works, AppleWorks
Advantages:
- Many functions for lower price and smaller disk space
Disadvantage
- Limited functionality
Web Browser
- Software applications that support navigation through the point-and-click resources of the Web
- Surfing the web
- Becoming a universal software platform for Internet-based applications
- Microsoft Explorer, Netscape Navigator, Firefox, Opera or Mozilla
E-mail, Instant Messaging and Weblogs
- 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
Word processing and Desktop publishing
- Word processing
- Create, edit, revise and print documents
- E.g., Microsoft Word, Lotus WordPro and Corel WordPerfect - Desktop Publishing
- Produce printed materials that look professionally published
- E.g., Adobe PageMaker, Microsoft Publisher and QuarkXPress
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
- E.g., Microsoft PowerPoint, Lotus Freelance, Corel Presentations
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
- E.g., Lotus Notes, Novell GroupWise, Microsoft Exchange
Sources of Software
Proprietary and Off-the-Shelf Software
Software : for sale/free/rent
- Commercial software:
- proprietary software or package software
- Copyright : exclusive legal right
- Software license : the right to use
- You don’t buy software: you buy a license to
use the software under the terms
of the licensing agreement
- Licensed to protect the vendor’s property right
- Public-domain software
- not protected by copyright
- For ex: open source software
Software : for sale, for free or for rent ?
- Shareware
- distributed free of charge but requires users to make a monetary contribution to
continue using it
- Freeware
- Copyright software that is distributed free of charge
- Rentalware
- The users lease software
- Pirated software # counterfeit software
System software
- Software that manages and supports a computer system
- System management programs
- Programs that manage hardware, software, network, and data resources
- E.g., operating systems, network management programs,
database management systems, systems utilities
- Systems development programs
- Programs that help users develop information system
programs
programs
Operating System
Integrated system of programs that
- Manages the operations of the CPU
- Controls the input/output and storage resources and
activities of the computer system
- Provides support services as computer executes
applications programs
Operating System basic functions
User Interface
- Part of the operating system that allows you to communicate with it
- Three main types:
- Command-driven
- Menu-driven
- Graphical user interfaces (GUI)
Resource management
- Part of operating system that manages the hardware and networking resources of a computer system
- Includes CPU, memory, secondary storage device,
telecommunications, and input/output peripherals
telecommunications, and input/output peripherals
- Virtual memory
and magnetic disks
Multitasking
Popular Operating Systems
Other system software
Machine Languages
Fourth-Generation Languages
File management
- Part of the operating system that controls the creation, deletion, and access of files of data and programs
Task Management
- Part of the operating system that manages the accomplishment of computing tasks of the end users
Multitasking
- Task management approach that allows for several tasks to be performed in a seemingly simultaneous fashion
- Assigns only one task to CPU but switches between tasks so quickly looks like executing all programs at once - Also called multi programming or time-sharing
Popular Operating Systems
- Windows
- GUI, multitasking, networking, multimedia
- Microsoft’s operating system
- Different versions manage servers
- Unix
- Multitasking, multiuser, network-managing
- Portable – can run on mainframes, midrange and PCs
- Linux
- Low-cost, powerful reliable Unix-like operating system
- Open-source
- MAC OS X
- Apple operating system for the iMac
- GUI, multitasking, multimedia
Other system software
- Utilities
- Miscellaneous housekeeping functions
- Example, Norton utilities includes data backup, virus protection, data compression, etc.
- Performance monitors
- Programs that monitor and adjust computer system to keep them running efficiently
- Security monitors
- Programs that monitor and control use of computer systems to prevent unauthorized
use of resources
Programming Languages
Machine Languages
- First-generation languages
- All program instructions had to be written using binary codes unique to each computer
- Programmers had to know the internal operations of the specific type of CPU
Assembler Languages
- Second-generation languages
- Symbols are used to represent operation codes and storage locations
- Need language translator programs to convert the instructions into machine instructions
- Used by systems programmers (who program system software)
High-Level Languages
- Third-generation languages
- Instructions that use brief statements or arithmetic expressions
- Macro instructions: each statement generates several machine instructions when translated by compilers or interpreters
- Easier to learn than assembler
- Machine independent
- Less efficient than assembler
Fourth-Generation Languages
- Variety of programming languages that are non procedural and conversational
- Non procedural – users specify results they want while computer determines the sequence of instructions that will accomplish those results
- Natural Language – very close to English or other human language
Object-Oriented Languages
- Most widely used software development languages today
- Easier to use and more efficient for graphics-oriented user interfaces
- Reusable: can use an object from one application in another application
- E.g., Visual Basic, C++, Java
Web Languages
- HTML
- A page description language that creates hypertext documents for the Web
- XML
- Describes the contents of Web pages by applying identifying tags or contextual labels to the data in Web documents
- Java
- Object-oriented programming language that is simple, secure and platform independent
- Java applets can be executed on any computer
Web Services
- Software components
- based on a framework of Web and object-oriented standards and technologies
- for using the Web
- to electronically link the applications of different users and different computing platforms
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
- Java is interpreted
No comments:
Post a Comment