Chapter 6 System and Application Software Introduction Software is the collection of computer programs and related data that provide the instructions that tell a computer what to do. Software is intangible, meaning it “cannot be touched”. Two types of Software 1.System Software 2.Application Software
System Software Refers to the files and programs that make up your computer’s operating system. They provide and maintain a platform for running application software. System software runs at the most basic level of your computer, it is called “low-level” software. Most important types of System software are:
Computer BIOS and device firmware: Which provide basic functionality to operate and control the hardware connected to or built into the computer. Utility Software: Which helps to analyze, configure, optimize and maintain the computer like file manager, Anti-virus and disk cleaners. Operation System: Is a program to run other programs on a computer Is the most important program for computer. Is considered the backbone of a computer, managing both software and hardware resources.
Operating system are responsible for everything form the control and allocation of memory to recognizing input from external devices and transmitting output to computer displays. They also manage files on computer hard drives and control peripherals like printers and scanners. It is an interface between your computer and the outside world.
OS provides an interface to monitor, keyboard, mouse and other parts using what is referred to as “drivers”. Example: When you install a new printer or other piece of hardware, your system will ask you install more software called a driver(like video card, sound card,etc).
Example for Operating System Windows 7, Windows Vista, Windows 2003, Windows XP, Windows 2000, Linux, Unix and Mac
Programming Languages Programming Languages are syntax, grammar and symbols that are used to give instructions to a computer. i.e, it is a language designed to describe a set of consecutive actions to be executed by a computer. It is a practical way for us to give instructions to a computer.
Generations of Programming Languages First Generation Language (or) Machine language It is a computer(machine) language. It is the lowest level programming language and the only language the computer can understand. All the commands and data values are given in zeros and ones.
2. Second Generation Languages (or) Assembly Languages These are symbolic programming languages that use symbolic notation to represent machine language instructions. They are also called low-level languages because they are so closely to the machines.
3. Third Generation Languages (or) High Level Languages Somewhere between natural languages and machine languages. They were developed to make the programming process more efficient. Examples: C,C++, Visual Basic, FORTRAN, COBOL 4. Fourth Generation Languages: These languages are easy to use and more like natural languages. Example: SQL(Structured Query Language)
5. Fifth Generation Languages: Referred to as Object Oriented Languages. In these languages, a program is no longer a series of instructions, but a collection of objects. These objects contains data and operations(instructions). These objects are created by the class concept. Examples: C++, Java, Ada and SmallTalk.
Except First Generation Languages (Machine Language), all languages need one of the following translators to convert them to the machine language. Assemblers: are programs to convert an assembly language(source code) into a machine language(object code or target code).
2. Compilers: Are programs which reads a source program created by a programmer, and then converted it into a set of instructions known as the object code or the machine code. The object program is in a form that a computer can understand and execute directly.
Introduction to Databases A database is a set of data that has a regular structure and is organized in such a way that a computer can easily find any desired information A database management system (DBMS) is a software that has been created to allow the efficient use and management of databases. Example: MS-Access and ORACLE
Database Model It is a theory or specification describing how a database is structured and used (like: Hierarchical DB model, Network DB model, Relational DB model, Entity-relationship, Object-relational DB model, Object DB model) Relational DB model: is the most popular model of database it is the way of organizing data in a way that appears to the user to be stored in a series of interrelated tables
Relational Database Model data are structured into tables (i.e., "relations") consisting of rows and columns. Each row contains a single record comprised of individual data elements (or "attributes") organized in columns containing elements of the same kind according to the rules defined for that column.
Relational Database Model - Example
Benefits of Relational Database Model The benefits of a database that has been designed according to the relational model are numerous. Some of them are: Simplicity This provides a more simple structure than those that were being before it. The table structure is an intuitive organization familiar to most user. Relatively easy for users to understand. Easy to retrieve, insert, update and delete data from tables by using SQL (Structural Query Language), this is an easy and human readable language
Benefits of Relational Database Model Have an excellent security; a relational database supports access permissions, which allow the database administrator to implement need based permissions to the access of the data in database tables. Flexibility: The relational database model is naturally scalable and extensible, providing a flexible structure to meet changing requirements and increasing amounts of data.
Primary Key: The column (or combination of columns) in a table with unique value is referred to as primary key. NULL values or empty is not allowable values for the primary key. We indicate the primary key in the table by underlining the column name Foreign Key A foreign key is a column in a table used to reference a primary key in another table. The foreign and primary keys may be with the same column name or not, but they must be the same domain (data type and range of values)