FOC - COMPUTER SOFTWARE (Unit 2)–16 marks with answers

FUNDAMENTALS OF COMPUTING & COMPUTER PROGRAMMING

UNIT II

COMPUTER SOFTWARE

16 MARKS



1. Give the categories of Software with example? (JAN 2009/ MAY 2009)

SOFTWARE TYPES

Application Software:

Application Software is a set of programs for a specific application. Application software

is useful for word processing, accounting, and producing statistical report, Graphics, Excel and Data Base. Programming languages COBOL, FORTRAN, C++,VB, VC, Java

Types of Application Software

Application software enables users to perform the activities and work that computers were designed for. The specific type of application used depends on the intended purpose, and there are application programs for almost every need.

(a) Individual application software refers to programs individuals use at work or at home. Examples include word processing, spreadsheet, database management, and desktop publishing programs.

(b) Collaboration software (also called groupware) enables people at separate PC

workstations to work together on a single document or project, such as designing a new automobile engine.

(c) Vertical application software is a complete package of programs that work together

to perform core business functions for a large organization. For example, a bank might have a mainframe computer at its corporate headquarters connected to conventional terminals in

branch offices, where they are used by managers, tellers, loan officers, and other employees.

All financial transactions are fed to the central computer for processing. The system then generates managers’ reports, account statements, and other essential documents.

Other Application Software Models

Shareware: Shareware is software developed by an individual or software publisher who retains ownership of the product and makes it available for a small “contribution” fee. The voluntary fee normally entitles users to receive online or written product documentation and technical help.

Freeware: Freeware is software that is provided free of charge to anyone wanting to use it. Hundreds of freeware programs are available, many written by college students and

professors who create programs as class projects or as part of their research.

Open Source Software: An open source software program is software whose programming code is owned by the original developer but made available free to the general public, who is

encouraged to experiment with the software, make improvements, and share the

improvements with the user community

Application Software for Individual Use

The thousands of application programs that individuals use to perform computing tasks at work and at home can be grouped into four types:

• Productivity software

• Software for household use

• Graphics and multimedia software

• Communication software

Productivity Software

Productivity software is designed to improve efficiency and performance on the job and at home, and is the largest category of application software for individual use.

Word Processing A word processing program can be used to create almost any kind of printed document. Word processors are the most widely used of all software applications because they

are central to communication. Whatever the type of document created with a word processing program, the essential parts of the procedure remain the same:

• create (enter) text

• edit the text

• format the document

• save and print the file

Desktop Publishing

Desktop publishing (DTP) software allows users to create impressive documents that include text, drawings, photographs, and various graphics elements in full color. Professional- quality publications can be produced with DTP software. Textbooks such as this one may be designed and laid out with a desktop publishing application such as PageMaker, QuarkXpress, or Adobe InDesign.

Spreadsheets

Spreadsheet software is an electronic version of the ruled worksheets accountants used in the past. Spreadsheet software provides a means of organizing, calculating, and presenting financial, statistical, and other numerical information. Businesses find spreadsheets particularly useful for evaluating alternative scenarios. By entering various data values and formulas into a spreadsheet, questions can be answered quickly and accurately.

For the individual user, spreadsheets fulfill many purposes, including:

• preparing and analyzing personal or business budgets

• reconciling checkbooks

• analyzing financial situations

• tracking and analyzing investments

• preparing personal financial statements

• estimating taxes

Database Management

In a computerized database system, data are stored in electronic form on a storage medium, such as hard or floppy disks or CDs. A database is a collection of data organized in one or more tables consisting of individual pieces of information, each located in a field, and a collection of related fields, each collection making up one record (see Figure 5-1). A commercial database program typically allows users to create a form for entering data. A user can design an electronic form to make entering information into the database easier. The information entered using such a form will become a record in a table. Users can add, remove, or change the stored data.

Presentation Graphics

Presentation graphics software allows users to create computerized slide shows that combine text, numbers, animation, graphics, sounds, and videos. A slide is an individual document that is created in presentation graphics software. A slide show may consist of any number of individual slides. For example, an instructor may use a slide show to accompany a lecture to make it more engaging and informative. Microsoft PowerPoint and Corel Presentations are two popular presentation software programs.

Software for Household Use

Numerous software applications designed for use in the household are available for purchase. Among the many products available are applications for managing personal finances, preparing tax returns, preparing legal documents, playing games, and education and reference.

Graphics and Multimedia Software

Graphics and multimedia software allows both professional and home users to work with graphics, video, and audio. A variety of applications software is focused in this area, including painting and drawing software, image-editing software, video and audio editing software, Web authoring software, and computer-aided design (CAD) software. Communications Software

One of the major reasons people use computers is to communicate with others and to retrieve and share information. Communications software allows users to send and receive e- mail, browse and search the Web, engage in group communications and discussions, and participate in videoconferencing activities.

1. Automatic Multimedia Tagging Software

2. Advances in Speech Recognition Software

3. Pattern Recognition Software

4. Distributed Computing

System Software:

(1) When you switch on the computer the programs written in ROM is executed which activates different units of your computer and makes it ready for you to work.

(2) This set of programs can be called system software.

(3) System software are general programs designed for performing tasks such as controlling all operations required to move data into and out of the computer

(4) System Software allows application packages to be run on the computer.

(5) Computer manufactures build and supply this system software with the computer system.

An operating system is the most important piece of software on a personal computer. The

location of the operating system identifies the boot drive for the personal computer, which is typically the hard drive. Once started, the operating system manages the computer system and performs functions related to the input, processing, output, and storage of information, including:

• Managing main memory, or RAM

• Configuring and controlling peripheral devices

• Managing essential file operations, including formatting or copying disks, and renaming or deleting files

• Monitoring system performance

• Providing a user interface



2. State different language translators and explain their functions?

(a) Compiler:

A compiler is a computer program (or set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language, often having a binary form known as object code).

(b) Loader:

In a computer operating system, a loader is a component that locates a given program (which can be an application or, in some cases, part of the operating system itself) in offline storage (such as a hard disk), loads it into main storage (in a personal computer, it's called random access memory), and gives that program control of the computer (allows it to execute its instruction s).

A program that is loaded may itself contain components that are not initially loaded into main storage, but can be loaded if and when their logic is needed. In a multitasking operating

system, a program that is sometimes called a dispatcher juggles the computer processor's time among different tasks and calls the loader when a program associated with a task is not already in main storage.

(c) Linker:

Also called link editor and binder, a linker is a program that combines object modules to form an executable program. Many programming languages allow you to write different pieces of code, called modules, separately. This simplifies the programming task because

you can break a large program into small, more manageable pieces. Eventually, though, you need to put all the modules together. This is the job of the linker. In addition to combining

modules, a linker also replaces symbolic addresses with real addresses. Therefore, you may need to link a program even if it contains only one module.

The linkage editor accepts two major types of input:

• Primary input, consisting of object decks and linkage editor control statements.

• Additional user-specified input, which can contain both object decks and control statements, or load modules. This input is either specified by you as input, or is incorporated automatically by the linkage editor from a call library.

Output of the linkage editor is of two types:

• A load module placed in a library (a partitioned data set) as a named member

• Diagnostic output produced as a sequential data set.

• The loader prepares the executable program in storage and passes control to it directly.

(d) Interpreter:

An interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language. An interpreter may be a program that either

Ø executes the source code directly

Ø translates source code into some efficient intermediate representation (code) and immediately executes this

Ø explicitly executes stored precompiled code made by a compiler which is part of the interpreter system

(e) Assembler:

An assembler translates an assembly language source program into machine codes. Though the assembly language is the symbolic representation of machine codes, a computer cannot understand it. After translating the assembly language program into machine codes by the assembler, the program becomes ready for the execution.



3. Explain in detail the steps involved in Software Development Process?

Software development life cycle model is also called as waterfall model which is followed by majority of systems. This software development life cycle process has the following seven stages in it namely

1. System Requirements Analysis

2. Feasibility study

3. Systems Analysis and Design

4. Code Generation

5. Testing

6. Maintenance

7. Implementation

1. System Requirements Analysis:

The first essential or vital thing required for any software development is system. Also the system requirement may vary based on the software product that is going to get developed. So a careful analysis has to be made about the system requirement needed for the development of the product. After the analysis and design of the system requirement phase the system required for the development would be complete and the concentration can be on the software development process.

2. Feasibility study:

After making an analysis in the system requirement the next step is to make analysis of the software requirement. In other words feasibility study is also called as software requirement analysis. In this phase development team has to make communication with customers and make analysis of their requirement and analyze the system. By making analysis this way it would be possible to make a report of identified area of problem. By making a detailed analysis on this area a detailed document or report is prepared in this phase which has details like project plan or schedule of the project, the cost estimated for developing and executing the system, target dates for each phase of delivery of system developed and so on. This phase is the base of software development process since further steps taken in software development life cycle would be based on the analysis made on this phase and so careful analysis has to be made in this phase.

3. Systems Analysis and Design:

This is an important phase in system development .Here analysis is made on the design of the system that is going to be developed. In other words database design, the design of the architecture chosen, functional specification design, low level design documents, high level design documents and so on takes place. Care must be taken to prepare these design documents because the next phases namely the development phase is based on these design documents. If a well structured and analyzed design document is prepared it would reduce the time taken in the coming steps namely development and testing phases of the software development life cycle.

4. Code Generation:

This is the phase where actual development of the system takes place. That is based on the design documents prepared in the earlier phase code is written in the programming technology chosen. After the code is developed generation of code also takes place in this phase. In other words the code is converted into executables in this phase after code generation.

5. Testing:

A software or system which is not tested would be of poor quality. This is because this is the phase where system developed would be tested and reports are

prepared about bugs or errors in system. To do this testing phase there are different

levels and methods of testing like unit testing, system test and so on. Based on the need the testing methods are chosen and reports are prepared about bugs. After this process the system again goes to development phase for correction of errors and again tested. This process continues until the system is found to be error free. To ease the testing process debuggers or testing tools are also available.

To develop reliable and good quality Program/Software we need to follow the following 5 steps :

1. Requirement Specification.

2. Analysis.

3. Design.

4. Implementation.

5. Verification and testing.



4. Write a short note on evolution of Internet? (FEB2009/FEB2010)

• The Internet is a network of networks

• Computer users on the Internet can contact one another anywhere in the world

• In Internet a huge resource of information is accessible to people across the world

• Information in every field starting from education, science, health, medicine, history, and geography to business, news, etc. can be retrieved through Internet

• You can also download programs and software packages from anywhere in the world

• In 1969 Department of Defense (DOD) of USA started a network called ARPANET (Advanced Research Projects Administration Network )

• Around 1970, NSFNET (National Science Foundation Network) was created. With the advancement of modern communication facilities,

• By 1990 many computers were looking up to NSFNET giving birth to Internet

• Internet is not a governmental organization.

• The ultimate authority of the Internet is the Internet Society.

• This is a voluntary membership organization whose purpose is to promote global information exchange.

• Internet has more than one million computers attached to it.

• Ten years of research brought Local Area Ethernet Networks (LANs) and workstations were developed to get connected to LAN.

• Computers connected to ARPANET used a standard or rule to communicate with each other with NCP (National Control Protocol).

• Protocol is a network term used to indicate the standard used by a network for communication.

• Rapid change in information technology suppressed NCP and brought TCP/IP (Transmission Control Protocol/Internet Protocol) in to the world of networking

• The Internet is a rare example of a large democracy with no state of head, no official censors, no bosses, and no board of directors. Nobody controls the Internet and in principle, any computer can speak to any other computer, as long as it obeys the technical rules of the TCP/IP protocol.

• This freedom of Internet helped it to move out of its original base in military and research institutions, into elementary and high schools, colleges, public libraries, commercial sectors.



5. Explain various types of Internet Connections?

(a) Cable Modem Broadband

A connection through an ordinary coax cable through your digital cable provider is the

easiest and most common way to connect to the Internet at high speeds. Most connections average about 400K/second download and 128K upload. Cable's largest advantage is its availability and ability to produce multiple upstreams (when sending). The biggest downside to a cable connection is the slow-downs you'll experience during gluts of service when several people are sharing the network. Expect to pay around $40 per month for this service.

(b) Digital Subscriber Link (DSL)

This is a connection using your phone line and a special modem. You have to be within so

many feet of a phone station "hub" and your line has to be of a newer type to qualify. Good portions of the population (especially in urban areas) match these criteria and can get a DSL connection. The modem uses a sound frequency well above the human ear's limits and will not interfere with normal telephone operation. Most connections average about 400-650K per second in download (some are faster) while anywhere from 128-256K in upload speed is available as well. The biggest downside to this type of connection is the availability. The biggest boon to this technology is its reliability and that network slow-downs are less common than with a cable connection.

(c) Satellite (HST)

This is the most expensive alternative for getting a high-speed connection to the Internet.

These come in two varieties, 1-way and 2-way. One-way satellites are like television receivers: they only accept signals. You'll still have to use your modem to connect for uploads. A 2-way connection, however, both sends and receives and is telephone-free. Average speeds for this type of connection are 600K and higher for download and 128K for the upload. Averages tend to be higher because there are far fewer users on the network to slow things down. The biggest up side to this technology is that it is available just about everywhere. The biggest downside to this type of connection is two-fold: price and reliability. Expect to spend $600 or more for the equipment and another $50 or more a month for the connection.



6. Define various Internet Terminologies? (At least 15 terms) (MAY 2009)

1. Modem

2. Web page

3. Web browser

4. Web site

5. Blogs

6. Home page

7. URL

8. IP Address

9. ISP

10. WWW

11. Intranet

12. Internet protocol

13. Domain Name System

14. Web sever

15. Email

16. Email Address

17. Hyperlink

18. Usenet

19. Internet Search Engine

20. Internet Chat



7. Explain various Internet applications?

(or)

Explain the Internet services in detail. (MAY 2009 / FEB2010)

1. World Wide Web:

World Wide Web is abbreviated as WWW, web or W3. This is a multimedia service which is most popular on internet. WWW content displays as a page. Along with text formatted in various fonts, styles, colors, and sizes, the pages may also contain pictures, images, animation, sound, video, movies in a single interface. The WWW is the fast growing part of the internet.

2. Rich Internet Application

Rich Internet Applications (RIA) are web applications that have the features and functionality of traditional desktop applications. RIA's typically transfer the processing necessary for the user interface to the web client but keep the bulk of the data (i.e maintaining the state of the program, the data etc) back on the application server.

RIA's typically:

• run in a web browser, or do not require software installation

• run locally in a secure environment called a sandbox

3. Electronic Mail (E-mail)

E-mail is the fast, easy and inexpensive way to communicate with other internet users around the world. E-mail can also be used to send or receive documents, images, audio-video etc., as an attachment along with the mail.

4. File Transfer Protocol:

FTP is a method of transferring files from one computer to another, connected on the internet. It is system of rules and software program that enables user to transfer information between computers. The uploading and downloading of files from the remote computer is possible using FTP if the remote machine access is permitted.

5. Telnet:

The word ‘telnet’ is derived by combining the words telecommunication and network. Telnet is a protocol which provides the capability to log onto a remote computer. Hence it is called a

‘remote login’. When you connect your computer to another computer using telnet, we can interact with another computer. The computer on which we are working is called as a local

computer.

6. Internet Relay Chat: (IRC):

IRC is the service provided by the internet to allow users on the internet to communicate and carry on conversations with other users via the computer. The simultaneous online conversations with other users from anywhere in the world are possible using IRC. Requirements for IRC:

1. The users for communication must be connected to the internet at the same time.

2. They must run the right software.

3. They must actively participate in chatting

Types of conversations:

Public

Allows every user in the channel to see what the user types.

Private

Allows to see messages only to two users who may or may not be on same channel.

Examples: mIRC, Virc, LeafChat.

7. Chatting and Instant Messaging:

The users on the internet communicate with each other by tying in real time. This is called chatting. The chat programs allow chatting.

Advantages of chatting:

• It is quite cheap.

• Unlike E-mail, it is done on real time.

• Unlike IRC, the user does not need to have any special software to connect to any caht rooms.

8. Internet Telephony:

The internet telephony is used to exchange telephonic information using internet. It needs hardware and software. When the internet is used as a transmission medium with requested hardware and software for telephone calls, it is called ‘internet telephony’.

It consists of:

End Devices: Traditional telephones or audio equipped personal computers.

Gatekeepers: provide call admission control, bandwidth management; address translation, authentication and user location.

Voice Over Internet Protocol (VOIP): This is required for communication.

9. Video Conferencing:

The video conferencing system allows the users at remote locations to communicate using a combination of text, audio and video information. Thus, it enables direct face-to-face communication across networks.

Types:

Point-to-point: It allows communication between two parties at remote locations.

Multi-point: It allows communication which involves more than two parties.

Communication Tools:

• Camera

• Visual Display

• Audio System

• Microphones

• Loud Speakers

• Compression

• User Interface

• Control System

10. Commerce through Internet:

Electronic communication technologies are used to transmit business information and transact business. This type of business model is called electronic Commerce or E-commerce or EC. Buying and selling of goods and services online is called E-commerce.

The information is exchanged digitally to conduct the business which includes Electronic

Data Interchange (EDI) AND Electronic Funds Transfer (EFT).

Advantages of E-commerce:

• It has established an electronic global worldwide market.

• The market operates 24 hours and 365 days a year.

• Organizations and individuals are able to market goods and services.

• The purchasing is supported by secure facilities such as digital signature and encryption.

11. Newsgroups: (Usenet):

Newsgroups are international groups which concentrate on a particular topic and try to gather information about the topic. Newsgroups usually describe topical discussion groups and not the traditional ‘News’. Thus newsgroups provide a source of information. For any particular topic, the interested people write news on that topic and post the written information or articles to the newsgroups. The other interested people can read, reply and comment on them.

Thus, newsgroups act as a medium through which users can get information, they can take part in the discussion on the interested topic and can ask questions from the internet community.

12. Mailing Lists (List server):

The mailing list is a method of internet communication which enables people with similar interests from all over the world to communicate and share information with each other. The administration of the mailing list groups is performed by software called ‘list server’.

A list server continuously observes for incoming mail on a certain mailbox. If any message is received, the listener forwards it to a list of other addresses. The user must have an

E-mail account and list server software loaded on his computer. The user has to send a

message from his E-mail account to the desired list server located on computer networks throughout the world. When the user subscribes to a list server, messages from the other

subscribers are automatically sent to his/her E-mail address.


8. Brief the major problems encountered in the software system?

(a) Correctness:

The correctness of the software system refers to

• Agreement of program code with specification.

• Independence of the actual application of the software system.

(b) Reliability

Reliability of a software system is defined as the probability that this system fulfills a

function for a specified number of input trails under specified input conditions in a specified time interval.

Also if the test produces the lower error rate the system is reliable. The error rate depends on the frequency of inputs and on the probability that an individual input will lead to error.

(c) User Friendliness

Adequacy

• The input required for the user should be limited to only what is necessary.

• The performance offered by the software system should be adapted to extensibility.

• The results that a software system delivers should be output in a clear and well- structured form and be easy be interpret.

Learnability

• The user interface should present more information as close to reality as possible and permit efficient utilization of the software’s failures.

• The user manual should be structured clearly and simply.

(d) Robustness

A software system is robust if the consequences of an error in its operation, in the input, or in the hardware, in relation to a given application, and inversely proportional to the probability of the occurrence of this error in the given application.

(e) Maintainability

The maintainability of the software depends on

• Readability

• Extensibility

• Testability

(f) Readability

It depends on

• Form of representation

• Programming style

• Consistency

• Structure of the program

• Programming language used

• Quality of documentation

• Tools available for inspection

(e) Extensibility

It depends on

• Structure of the software system

• Readability of the code

• Availability of program documentation

• Implementation program

(f) Testability

Allows to debugging of the program during execution. It depends on

Modularity: well structured programs suitable for stepwise testing

Structuredness: Useful for systematic testing of all components.

(g) Efficiency

Ability of a software system to fulfill its purpose with the best possible

utilization of all necessary resources (time, storage, transmission, channels and peripherals)

(h) Portability

A software system which can be adapted to run on computers other than the one which it was designed.

It depends on

i. Degree of hardware independence ii. Implementation language

iii. Specialized system functions

iv. Hardware properties

v. System dependent elements are collected in easily interchangeable program components.