ch 3 computer software

46
COMPUTER SOFTWARE CHAPTER 3 1 Course Instructor : Engr Sarama Kamal

Upload: umarshaikh

Post on 17-Nov-2015

227 views

Category:

Documents


0 download

DESCRIPTION

Softwares.

TRANSCRIPT

PowerPoint Presentation

COMPUTER SOFTWARECHAPTER 3 1Course Instructor : Engr Sarama Kamal

1Course Instructor : Engr Sarama Kamal

TopicsIntroduction to Software Applications Software and TypesApplications Software Classification : Ownership and Distribution RightsSystem Software and TypesProgramming Languages (generations/classifications, high vs low level languages, query languages(4gl ), web languages), Language Translators (compilers, interpreters, assemblers)2Course Instructor : Engr Sarama Kamal

SoftwareSoftware is a generic term for organized collections of computer data and instructions, often broken into two major categories: System software that provides the basic non-task-specific functions of the computer. System software is responsible for controlling, integrating, and managing the individual hardware components of a computer systemApplication software which is used by users to accomplish specific tasks.

3Course Instructor : Engr Sarama Kamal

The Relationship4Course Instructor : Engr Sarama Kamal

Classifications of Software5Course Instructor : Engr Sarama Kamal

Custom software(also known asbespoke softwareortailor-made software) issoftwarethat is speciallydevelopedfor some specific organization or other user. Utility softwareissystem softwaredesigned to help analyze, configure, optimize or maintain a computer5Course Instructor : Engr Sarama Kamal

Spheres of InfluencePersonalInformation systems that serve the needs of an individual userWorkgroupTwo or more people who work together to achieve a common goalEnterpriseInformation systems that support the firm in its interaction with its environment.

6Course Instructor : Engr Sarama Kamal

To collaborate on common tasks, workgroup members can have meetings, talk on the telephone, send faxes, and distribute memos. Group members can also use workgroup information systems to help them collaborate.

6Course Instructor : Engr Sarama Kamal

Spheres of Influence

7Course Instructor : Engr Sarama Kamal

Application Software Course Instructor : Engr Sarama Kamal8

Common SoftwaresWord Processing Software:Allows users to create, edit a document. Example: MS Word, Word Pad etc.Spreadsheet Software:Allows users to create document and perform calculation. Example: Excel, Lotus1-2-3 etc.Database Software:Allows users to store and retrieve vast amount of data. Example: MS Access, MySQL, Oracle etc.Presentation Graphic Software:Allows users to create visual presentation. Example: MS Power PointMultimedia Software:Allows users to create image, audio, video etc. Example: Real Player, Media Player etc.

9Course Instructor : Engr Sarama Kamal

Application Software Classification Ownership and Distribution10Course Instructor : Engr Sarama Kamal

OwnershipCommercial Software:Installation in number of computers is specified by the software vendor/producer. User only buys the license to use it. User does not buy the software. He/she may not be allowed to install a software more than one machine.A demo version of software may exist for free but demo version does not include all the key components of the software.

11Course Instructor : Engr Sarama Kamal

Ownership(contd)Shareware:May be free of charge or the software company may charge a nominal fee. Users can download these kinds of software from the Internet. Example: Real Player full version, MP3 player full version, different games downloaded from he Internet, Winzip, Cuteftp, Getright, etc12Course Instructor : Engr Sarama Kamal

Ownership(contd)Freeware:Software that are given away for free by the vendor/producer. Example: Adobe PDF, Google Talk, yahoo messenger, MSN messenger, etc

13Course Instructor : Engr Sarama Kamal

Ownership(contd)Open Source Software :The term Open Source is very close to freeware but not identical to it. We say this because, the source code of an open-source software is readily available to users 2 but under a copyright, and one is freely allowed to re-distribute the software.The concept of open-source program relies on the fact that a user can review a source-code for eliminating possible bugs in it.EXAMPLE : Android OS

14Course Instructor : Engr Sarama Kamal

Ownership(contd)Crippleware : Some software are offered as freeware but with very limited features or with the major feature missing. These arereferedto as Crippleware. Example : Realplayer trial version, MP3 player trial version

15Course Instructor : Engr Sarama Kamal

The Components of System SoftwareOperating system - the principal component of system software

Device drivers - help the computer control peripheral devices

Utility programs - support, enhance, or expand existing programsExamples of utility programs are antivirus software, backup software and disk tools.

Course Instructor : Engr Sarama Kamal

16Operating system (OS) - the master system of programs that manage the basic operations of the computer. Also called the software platform.Course Instructor : Engr Sarama Kamal

OS- What does it do ?17Course Instructor : Engr Sarama Kamal

The Operating System: What It DoesBooting - the process of loading an operating system into a computers main memory

Course Instructor : Engr Sarama Kamal

18

Course Instructor : Engr Sarama Kamal

BOOTINGWhen you turn on the machine, programs called diagnostic routines test the main memory, the central processing unit, and other parts of the system to make sure they are running properly. Next, BIOS (for basic input/output system) programs are copied to main memory and help the computer interpret keyboard characters or transmit characters to the display screen or to a disk. Then the boot program obtains the operating system, usually from the hard disk, and loads it into the computers main memory, where it remains until you turn the computer off.19Course Instructor : Engr Sarama Kamal

The Operating System: What It DoesCPU ManagementSupervisor (kernel) - program which remains in main memory while the computer is running, and directs other nonresident programs to perform tasks that support application programs

20Course Instructor : Engr Sarama Kamal

20The central component of the operating system is the supervisor.

The OS also manages memory via:

Partitioning - division of memory into separate areas called partitions, each of which can hold a program or data.

Foreground/background - division of memory into higher priority (foreground) and lower priority (background) areas.

Queues - temporary line-ups for programs waiting to be executed.Course Instructor : Engr Sarama Kamal

The Operating System: What It DoesFile ManagementA file is (1) a named collection of data (data file), or (2) a program (program file) that exists in a computers secondary storage.

Move

Rename

Delete

Copy

Back up

21Course Instructor : Engr Sarama Kamal

21A file is (1) a named collection of data (data file), or (2) a program (programfile) that exists in a computers secondary storage.Course Instructor : Engr Sarama Kamal

File Management

22Course Instructor : Engr Sarama Kamal

The Operating System: What It DoesTask Management

Hold down CTRL, ALT and DEL keys to open the Task Manager

Course Instructor : Engr Sarama Kamal

23Time-slicing - the apportionment of tiny slices of time (fractions of a second) to various tasks, which allows time sharing to take place.

Two possible approaches to multiprocessing:

Coprocessing - the controlling CPU works together with specialized microprocessors called coprocessors, each of which handles a particular task.

Parallel processing - several full-fledged processors work together on the same tasks, sharing memory.Course Instructor : Engr Sarama Kamal

The Operating System: What It Does

Security management

Formatting (initializing) a disk - the process of preparing that disk so that it can store data or programs

24Course Instructor : Engr Sarama Kamal

24Shoulder surfer Course Instructor : Engr Sarama Kamal

Other System Software: Device Drivers & Utility ProgramsDevice drivers - specialized software programs that allow input and output devices to communicate with the rest of the computer system

Course Instructor : Engr Sarama Kamal

25

Course Instructor : Engr Sarama Kamal

Utilities: Service ProgramsBackup utility - program which makes a duplicate copy of the information on your hard disk

Data-recovery utility - program which restores data that has been physically damaged or corrupted

26Course Instructor : Engr Sarama Kamal

26Utilities - programs which perform tasks related to the control and allocation of computer resources.

FACTOID: Now that recordable CDs (CD-Rs) and rewritable CDs (CD-RWs) are becoming more and more common, backup utilities are being created to back up files onto them. Backup NOW! by NTI is one such utility.Course Instructor : Engr Sarama Kamal

Utilities: Service ProgramsAntivirus software - program that scans hard disks, floppy disks, and memory to detect viruses

Data compression utility - program which removes redundant elements, gaps, and unnecessary data from a computers storage space so that less space (fewer bits) is required to store or transmit data

27Course Instructor : Engr Sarama Kamal

27

Course Instructor : Engr Sarama Kamal

Utilities: Service ProgramsFragmentation - the scattering of portions of files about the disk in nonadjacent areas, thus greatly slowing access to the files

Defragmenter utility - program that finds all the scattered files on your hard disk and reorganizes them as contiguous files

Course Instructor : Engr Sarama Kamal

28

Course Instructor : Engr Sarama Kamal

Utilities: Service ProgramsDisk scanner and disk cleanup utilities:

Detect & remove unnecessary files

Detect & correct disk problems

Course Instructor : Engr Sarama Kamal

29

Course Instructor : Engr Sarama Kamal

What is a (programming) language?A program needs to be written in a languageThere are many programming languagesLow-level :understandable by a computerHigh-level :needs a translatorC++ is a high level programming language A sequence of instructionsA program(in computer language)An algorithm (in human language)

30Course Instructor : Engr Sarama Kamal

30High-level lang., easy

Low-level, hardCourse Instructor : Engr Sarama Kamal

Levels/Generations of Programming Languages1st Generation Programming language (1GL)Machine Language: 0s or 1s2nd Generation Programming language (2GL)Assembly Language : Mnemonics 3rd Generation Programming language (3GL)High-Level Languages ; (procedure oriented or Object Oriented)4th Generation Programming language (4GL)Very-High-Level Languages 5th Generation Programming LanguageNatural LanguagesCSC141 Introduction to Computer ProgrammingCSC141 Introduction to Computer Programming

Lecture - 2CSC141 Introduction to Computer Programming31

Machine language (1GL)The lowest level of language.The language used to program the first-generation computers.The instructions in 1GL are made of binary numbers, represented by 1s and 0s.1s and 0s correspond to the on and off states of electrical switches.Suitable for the understanding of the machine but very much difficult to interpret and learn by the human programmer.CSC141 Introduction to Computer Programming

Assembly language (2GL)Low-level language that allows a programmer to use abbreviations or easily remembered words instead of numbers.These Observations are called Mnemonics. These Mnemonic are Opcode and OperandsFor Example: ADDAX, BXMOVCX, AXINCCXOp-code;ADD, MOV, INC OperandsAX, BX,CX

CSC141 Introduction to Computer Programming

Assembly language (2GL)Programmer can write instructions faster but it is still not an easy language to learn.Drawback: The language is specific to a particular processor family and environment. (Machine Dependent Language)Assembler A program that translates the assembly language program into machine language.

CSC141 Introduction to Computer Programming

High Level languages (3GL)A High-Level Language is an English-like language.It is a refinement of a second-generation programming language. It allowed users to write in familiar notation, rather than numbers or abbreviations.Most High-level languages are not Machine Dependent.Translator for High-level languages is either a Compiler or an Interpreter.Examples of High-level languages:FORTRONCOBOLBASICC and C++

CSC141 Introduction to Computer Programming

Very-High-Level Languages (4GL)4GLs are much more user-oriented and allow programmers to develop programs with fewer commands compared with 3GLs.Saves a lot of time.4GLs consist of report generators, query languages, application generators, and interactive database management systemSelect*from(TABLE 1)For example:RPG III (Report Generator)SQL (Structured Query Language)NOMAD and FOCUS (DBMS)CSC141 Introduction to Computer Programming

Natural Languages (5GL)Two typesOrdinary Human Languages; like English.Programming language that use human language to give people a more natural connection with computers. 5GLs are designed to make the computer solve a given problem without the programmer. CSC141 Introduction to Computer Programming

An example:

Machine binary languageLow-level assembly High-level 38Course Instructor : Engr Sarama Kamal

How to translate?Examples of language translators:Microsoft Visual C++, Eclipse, g++A program written in high-level programming language (for example, C++ program)A low-level (machine/binary language) program that is understandable by a computer (for example, a PC)LANGUAGE TRANSLATOR (for example, Visual C++)

39Course Instructor : Engr Sarama Kamal

AssemblerAn assembler is a program that translates the mnemonic codes used in assembly language into the bit patterns that represent machine operations. 40

Course Instructor : Engr Sarama Kamal

CompilerA compiler turns the source code that you write in a high-level language into object code (machine code) that can be executed by the computer.The compiler is a more complex beast than the assembler. It may require several machine operations to represent a single high-level language statement.

41SourceProgramCompiler

Error messages

TargetProgram

InputOutputCourse Instructor : Engr Sarama Kamal

Interpreter

Interpreters translate the source code at run-time. The interpreter translates statements one-at-a-time as the program is executed.Interpreters are often used to execute high-level language programs whilst they are being developed since this can be quicker than compiling the entire program. The program would be compiled when it is complete and ready to be released.

42InterpreterSourceProgramInputOutput

Error messagesCourse Instructor : Engr Sarama Kamal

Concept CheckPlace the following software into its correct category:Computer Game This is built for a human user, therefore it is application softwareVirus Scanner This is built to make the computer run better, therefore it is system software

Course Instructor : Engr Sarama Kamal43

Assignment 1 Submission 12th March, 15Question 1 : Define Telecommuting.Question 2: Define computer(system) clock. Differentiate in between the 24 hour clock and the computers clock.Question 3 : Define a computer processor(CPU).Question 4 :Differentiate in between bit, byte and nibble.Question 5 :Define cache memory. How is it different from RAM ? Question 6 : What do u understand by the terms computer bus, register , port and connector ? Course Instructor : Engr Sarama Kamal44

Question 7 : Define Machine Cycle and explain the following diagram

Course Instructor : Engr Sarama Kamal45

Assignment 1 Submission 12th March, 15Quiz 1 on 12th March, 2015 Time : 40 minutes. (11 30 12 10) Course Instructor : Engr Sarama Kamal46

References Introduction to Information Technology Stacey C Sawyer Introduction to Computers by Peter Norton 7th edition

Course Instructor : Engr Sarama Kamal47