Chapter 4 Software
Enterprise Software
Helps companies or businesses to manage an organizational Data Flow like ERP (Enterprise Resource Planning) CRM (Customer Relationship Management) and FMS (Financial System)
Educational Software
Helps organization or university to offer some specific and filtered information on some topic or knowledge
Database Software
Helps the business to store, manage and retrieve data in the right manner especially if the organization has a large number of clients
2nd Gen Programming Language
Assembly Languages -Uses mnemonics code that consists of very short words
Microsoft Windows
- A series of software operating systems and graphical user interfaces produced by Microsoft. Windows-Operating System to control and manage computer activities -Based on graphical user interface ~ easier to use -Support multitasking, networking, multimedia
Commercial-off-the-Shelf Software (COTS)
-Also known as pre-packaged or pre-written software -The purchase of products that are standard manufactured products rather than customized. -You do not technically own the software - you are paying for the right to use the software (a license), and the amount of money you pay usually increases with the number of users. -Commercial-off-the-shelf (COTS) software and services are built and delivered usually from a third party vendor. -COTS can be purchased, leased or even licensed to the general public. -Purchasers have no control over schedule, specifications, or evolution, and no access to source code or internal documentation. -Product vendor retains the intellectual property rights of the software.
Intergrated Packages
-Combine the functions of several programs into a package -Leaves out many features and functions that are in individual packages and software suites
Task Management
-Controls which task gets access to the CPU, and for how long -Can allocate CPU time to a particular task or interrupt the CPU at any time to substitute a higher priority task -Supports preemptive and cooperation multi-tasking and multi-processing.
Function Specific Application
-Function specific or special purpose application software is a type of software created to execute one specific task. -Designed to carry out a specific set of tasks, usually in line with the requirements of a paying customer. -Software that is tailored to industry. -Perform specific information processing jobs for end users. -Thousands of these packages support specific applications of end-users. -i.e calculators, media players, calendar programs, camera, chess.
Memory Management Programs
-Keep track of where data and programs are stored -Subdividing memory into a number of section -Swap parts of programs and data between memory and secondary storage -Providing virtual memory to process large programs and greater amounts of data than the capacity of its memory
Stand-Alone O/S or Desktop O/S
-Located on computer's hard disk and control a single desktop computer -i.e. DOS, Windows 7, Mac O/S, Ubuntu
Network O/S
-Located on one of the connect computer's hard disk known as network server -Control and coordinate computers that are networked or linked together. -i.e. Windows NT server, UNIX, Linux
System Software
-Manages and supports operations of computer systems and networks -Programs or computer instructions that manage and support a computer system and its information processing activities -Designed to operate the computer hardware and to provide and maintain a platform for running application software
Types of System Support Programs
-Network management -Application server -Database manager -Collaboration tools -Development tools
Cold Boot
Process of starting a computer that has been turned off
Program as know
Software
System Development Programs
-Program that helps users develop IS programs and procedures and then prepare user programs for computer processing Also known as programming software i.e. language translator and editors, CASE and programming tools
General Purpose Application
-Programs that perform common information processing jobs for end users. -Refers to computer applications that are not designed for a particular business, industry or department -A type of application that can be used for a variety of tasks and not limited to one particular function Example: Software Suites, Integrated Package, Web Browsers, Word Processing, Spreadsheets, Database, Managers Presentation Graphics, Personal Information Managers Groupware
Shareware
-Proprietary software which is provided (initially) free of charge to users, who are allowed and encouraged to make and share copies of the program, which helps to distribute it. -Shareware is often offered as a download from an Internet website or as a compact disc included with a magazine. -They may not require an initial up-front payment, all are intended to generate revenue in one way or another. -The software itself may be limited in functionality or be time-limited. Or it may remind the user that payment would be appreciated. -Sharewares give users a chance to try the software before buying it.
Custom Software
-Software that is specially developed for some specific organization or other user. -A computer program or application or Web site written specifically for the company, according to the company's way of doing business. -The company own the rights to the software, and it does not pay additional fees to add users. They are free to resell the software to any other party. -Custom software can be used to combine features from other packages with the features that the company needs, or it can enable it to instantly access the information they need in a format that makes sense for them.
Activities carried out Operating Systems (OS)
-Start and shut down a computer or mobile device -Provide a user interface -Manage programs -Manage memory -Coordinate tasks -Configure devices -Monitor performance -Establish an Internet connection -Provide file management and other device or media-related tasks -Updating operating system software -Control a network -Administer security
Starting Computer And Mobile Devices
-The process of loading an OS into the computer's main memory is called Booting
Language Translator Programs
-Translate instructions written in programming languages into machine 1.Assembler -Translates assembler language statement 2.Compiler -Translates high-level language statements 3. A compiler that translates and executes each statement in a program, one at a time.
Embedded O/S
-Use for handheld devices like smartphones -Entire O/S is stored within or embedded in the device -i.e. Mobile O/S, Windows mobile, Symbian (Nokia), Android.
The source code is translated into object code using:
-compiler -interpreter
UNIX
-computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs -Operating System for all types of computers, which is machine independent and support multi-user processing and multitasking and networking. -Used in both servers and workstations and can run on mainframes, midrange, and PCs
OS/2 (Operating system/2)
-created by Microsoft and IBM for IBM PCS that can take advantage of the 32-bit microprocessor -support multitasking and networking -has its own graphical user interface and desktop and server version -require memory intensive applications
Examples of System Control Programs
-operating systems, Computer BIOS, firmware, device driver
5 Basic Functions in the operation a computer system
-providing a user interface -resource management -task management -file management -Utilities and support services
Primary function of the BIOS
-to load and start an operating system. -the first job for the BIOS is to initialize and identify system devices and other hardware. -Then locates software held on a peripheral device (designated as a "boot device"), such as a hard disk or a CD, and loads and executes that software, giving it control of the PC.
Three main types of user interface
1. Command-Driven #Command Line Interface (DOS/UNIX Prompt) 2. Menu-Driven #Choose the command on the menu 3. Graphical User Interfaces (GUI) #Icons, bars, button, boxes, other images
System Management Programs divided into two:
1.System Control Programs 2.System Support Programs
Booting involves four steps:
1.Turn the computer on 2.Diagnostic routines test main memory, CPU, and other hardware. 3.Basic Input/Output System (BIOS) programs are copied to main memory. -BIOS contains instructions for operating the hardware. -The computer needs those instructions to operate the hardware and find a copy of the OS. 4.Boot program obtains the OS and loads it into the computer's main memory
Software
A collection of computer programs and related data that provide the instructions telling a computer what to do and how to do.
Database Management System (DBMS)
A database is a collection of data organized in a manner that allows access, retrieval, and use of the data -Database software allows users to create, access, and manage a database
Device drivers
A device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device. Works with the O/S to allow communication between the device and the rest of the computer system. Acts as a translator between a hardware device and the applications or operating systems that use it.
Utility Software
A kind of system software designed to help analyze, configure, optimize and maintain the computer Example: Disk storage utilities ~ manage the storage like HDD, FDD, CD Disk defragmenters ~ detect computer files whose contents are broken across several locations on the hard disk, and move the fragments to one location to increase efficiency. Disk partitions ~ divide an individual drive into multiple logical drives Backup utilities ~ make a copy of all information stored on a disk, and restore either the entire disk or selected files Disk compression ~ compress/uncompress the contents of a disk, increasing the capacity of the disk. Anti-virus utilities ~ scan for computer viruses. Registry cleaners ~ clean and optimize the Windows registry by removing old registry keys that are no longer in use. Network utilities ~ analyze the computer's network connectivity, configure network settings, check data transfer or log events.
Licensing Software
A legal instrument governing the use or redistribution of software Involves the underlying: -Intellectual property rights -Copyright -Trademark, Trade secrets -Contract law i.e. Uniform Commercial Code (UCC)
Programming
A list of instructions for the computer to follow to process data Six Step Procedures 1. Program specification 2. Program design 3. Program code 4. Program test 5. Program documentation 6. Program maintenance
Low-Level Programming Languages
A programing language that provides little or no abstraction from a computer's instruction set architecture
Very High-Level Programming Languages
A programming language with a very high level of abstraction, used primarily as a professional programmer productivity tool
High-Level Programming Languages
A programming language with strong abstraction from the details of the computer Makes the the language user-friendly
Programming Languages
An artificial language designed to express computations that can be performed by a machine, particularly a computer Can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human communication Many programming languages have some form of written specification of their syntax (form) and semantics (meaning) The syntax is the form of arrangement of symbols and characters typical to a particular language. The semantics deal with the meaning that a set of characters convey when arranged in a particular way. Low-Level Programming Languages, High-Level Programming Languages, Very High-Level Programming Languages
Software suites
An example of general-purpose application software Most widely used productivity packages are bundled together as software suites Productivity packages are a category of applications dedicated to helping accomplish specific jobs such as documents, databases, presentations, spreadsheets, charts and graphs
Operating System (OS)
An integrated system of programs that - manages the operations of CPU/Processor, -controls the input/output, storage resources, and activities of the computer system -provides support services as the computer executes application programs
Warm Boot
Computer is already on and you restart it without turning off the power
Computer Language Translation Programs
Convert programming languages into machine language
DOS
Disk Operating System (DOS) -operating system for older IBM and IBM-compatible PCs between 1981 and !995. Advantages: -ease of use ~ user interface (command line interface Disadvantages: -Do not support multitasking -Limits program use of memory to 640 kilobytes
Multitasking
Handling more the one program concurrently -OS directs processor to alternate time on each program until processing is complete
Simulation Software
Helps the company to stimulate physical and abstracts systems finding in fields of researches and entertainment like flight simulators and scientific simulators
3rd Gen Programming Language
High level procedural languages (3GLs) -resembles human language
Freeware
Is a proprietary software that is available for use at no monetary cost. Covered by copyright and anyone can download from the Internet and use for free Example: Skype, Adobe Acrobat Reader, Yahoo messenger, MSN messenger
Open-Source Software
Is software whose source code is available for modification or enhancement by anyone
LindowsOS
Linspire/LindowsOS, was a commercial operating system based on Debian GNU/Linux and later Ubuntu. - The first "Broadband OS" -Built to take full advantage of broadband technology. -Designed to fully utilize the world of tomorrow, where internet connectivity is bountiful and cheap, and computers are ubiquitous
1st Gen Programming Language
Machine Languages -The basic language or the computer all 0s and 1s
Examples of System Support Programs
Network Management Programs, DBMS, System Utility Programs, Performance Monitors and Security Monitors
Macintosh
OS for Apple Macintosh computer that support multitasking -First commercially successful personal computer to feature a mouse and a graphical user interface. -Has access to the internet and has powerful graphics and multimedia capabilities
Firmware
Often used to denote the fixed, usually rather small, programs and data structures that internally control various electronic devices. It provides basic functionality to operate and control the hardware connected to or built into the computer. -Low-level software often stored on electrically programmable memory devices Fixed, usually small programs and data structures that internally control various electronic devices.
File Management
Part of the Operating System that : 1.Controls the creation, deletion, and access of files and programs 2.Keeps track of physical location on storage devices 3.Maintains directories of information about the location and characteristics of stored files 4.The file system arranges files in a hierarchical manner -Top level is directories (folders) -Subdirectories come below folders 5.Find files using their pathname. Example C:/MyDocuments/Termpaper/section1.doc
Task Management
Part of the operating system that helps accomplish the computing tasks of end users
Resource Management
Part of the operating system that manages the hardware and networking resources of a computer system -Includes CPU, memory, secondary storage devices, telecommunications, and input/output peripherals
Application Software
Performs information processing tasks for end users
Programming Software
Software packages that help programmers develop computer programs 1.Programming Language Translator -Programs that translate other programs into machine language instruction codes that computers can execute 2.Programming Language Editor -Known as programming tools that help programmers write programs by providing program creation and editing capabilities
5th Gen Programming Language
Problem and Constraint Languages (5GL) -natural language Used mainly in artificial intelligence research to allow a person to provide a system with a problem and some constraints, and then request for solution. example: Prolog, OPS5(Official Production System), and Mercury
System Control Programs
Program that manages or controls the use of hardware, software, network and data resources of computer systems during the execution of the various information processing jobs of users.
A person who write a program is known as a
Programmer / Software Engineer
Process of writing programs
Programming
System Development Programs
Programs that helps users develop IS programs and procedures and then prepare user programs for computer processing
System Support Programs
Programs that supports the operations, management and users of a computer system by providing a variety of support services Examples: Utility Software, Network Management, Application Server, Database manager, Collaboration tools, Development tools
System Support Programs
Supports the operations, management and users of a computer system by providing a variety of support services.
4th Gen Programming Language
Task-oriented languages (4GLs) -Problem-oriented language
Source Code
The part of software that most computer users don't ever see; it's the code computer programmers can manipulate to change how a piece of software-a "program" or "application"-works. Programmers who have access to a computer program's source code can improve that program by adding features to it or fixing parts that don't always work correctly
User Interface (UI)
The part of the operating system that allows us to communicate with it so that we can load programs, access files, and accomplish other task.
Interpreter
Translates a high level language into assembly or machine language. Used to translate each source code statement one at a time into machine code during execution and executes it Examples include BASIC, LISP, Perl, Python, MATLAB, Ruby
Compiler
Translates source code into machine code called object code Translates a high level language into an assembly or machine language. Examples: Ada, ALGOL, COBOL, FORTRAN, PL/I, C/C++
Programming Tools
help programmers identify and minimize errors while programming -Graphical programming interfaces -programming editors -debuggers CASE Tools -A combination of many programming tools into a single application with a common interface -Used in different stages of the systems development process
BIOS (Basic Input/Output System)
is a standard defining a firmware interface. It is built into the PC