Скачать презентацию Computer software Software types Types Application software Скачать презентацию Computer software Software types Types Application software

Computer software.pptx

  • Количество слайдов: 120

Computer software Computer software

Software types Types Application software Task Meet business needs Sub- Vertical Types software Horizontal Software types Types Application software Task Meet business needs Sub- Vertical Types software Horizontal software Users Business people Systems-development software Systems software Develop software Manage computer environment Computer languages CASE tools Computer professionals Systems utilities Network Operating & systems kernel manage ment Business people Computer professionals

Horizontal software crosses industry types to perform functions common in all or most industries. Horizontal software crosses industry types to perform functions common in all or most industries.

Vertical software meets application needs within a single industry or industry group. Vertical software meets application needs within a single industry or industry group.

Vertical software Performs tasks common to a specific industry, such as real estate development, Vertical software Performs tasks common to a specific industry, such as real estate development, or a function within an industry, such as government contracting for defense contractors and accounting for advertising agencies. Information needs are often very specific to an industry or even a branch of an industry.

For example, managers of continuous manufacturing processes such as chemical production or oil refining, For example, managers of continuous manufacturing processes such as chemical production or oil refining, have different information needs and so require different software than managers of discrete manufacturing processes, such as assembly of automobiles or consumer goods.

A generic manufacturing package will very likely not satisfy either group. Airline and railroad A generic manufacturing package will very likely not satisfy either group. Airline and railroad managers, although both in the transportation industry, have unique information needs and require different software for tracking baggage or ticketing passengers. Prada software is clearly vertical software, as it would be useless in a non -retail environment.

Vertical software cannot capture a mass market because it addresses specialty needs. Its manufacturers Vertical software cannot capture a mass market because it addresses specialty needs. Its manufacturers generally distribute it through non-retail channels, such as consulting firms, integrators and value added resellers.

Consulting firms Are firms with expertise in application areas such as architectural planning or Consulting firms Are firms with expertise in application areas such as architectural planning or government contracting. Accenture’s Global Chemical Industry group, eg, has worked with companies such as Dow, Du. Pont, Elemica, Poly. One and Ticona to help them select and implement their vertical software.

Integrators, are companies that package software and hardware to meet a customer’s specification. Schumberger. Integrators, are companies that package software and hardware to meet a customer’s specification. Schumberger. Sema, eg, tied together hardware and software for the computer systems used at 2002 Winter Olympic Games;

Value added resellers (VARs) are companies that represent the manufacturer and have personnel trained Value added resellers (VARs) are companies that represent the manufacturer and have personnel trained by the manufacturer and authorized to customize the software. Eg, Information Technology Inc. , headquartered in Lincoln, Nebraska, is a VAR for NCR Corporation’s payment and check-processing systems.

Vertical software costs more than mass-marketed software because vertical software developers need to recover Vertical software costs more than mass-marketed software because vertical software developers need to recover their instrument over very few sales and because the vendors have higher selling costs.

In evaluating vertical software, managers should focus on whether the software supports the way In evaluating vertical software, managers should focus on whether the software supports the way their company conducts its business. Companies that lack resources to purchase or develop customized software sometimes change their business practices to fit with available software

Others, particularly those who have the resources and whose business practices blaze new trails Others, particularly those who have the resources and whose business practices blaze new trails to create a competitive advantage, need to obtain or create software that supports the way they do business.

Managers who buy vertical software must also consider the quality and availability of support Managers who buy vertical software must also consider the quality and availability of support and customization. They must believe that the software vendor can respond to their unique needs and that the vendor has enough installations to guarantee its existence for many years.

Because businesses rely on vertical software in their daily operations, vendors must respond rapidly Because businesses rely on vertical software in their daily operations, vendors must respond rapidly to emergencies and to requests for changes in the software’s design. Failure of the software or of its vendors can have disastrous consequences for businesses.

The Make versus Buy decision A company can acquire vertical software in three ways: The Make versus Buy decision A company can acquire vertical software in three ways: - Purchase packaged software from a software manufacturer and use it without modification; - Purchase software that can be customized; - Develop the software from scratch, creating custom software.

Managers and other users can purchase a large variety of uncustomized vertical software products Managers and other users can purchase a large variety of uncustomized vertical software products for all types of computers through retail outlets or directly from software developers. Known as packaged or commercial off-the-shelf (COTS) software, these uncustomized software packages exist for a wide range of applications and industries.

Eg, Chem. SW Inc. of Fairfield, California develops and sells COTS software called CISPro Eg, Chem. SW Inc. of Fairfield, California develops and sells COTS software called CISPro Desktop that tracks and manages a company’s inventory and use of chemicals. Campaign Associates of Manchester, New Hampshire develops and sells Gift. Maker Pro, a donor management system for organizations that do fundraising.

Packaged software has three major advantages: low price, extensive features, high reliability. Packaged software has three major advantages: low price, extensive features, high reliability.

These advantages arise from the software’s use by multiple companies. In general, the more These advantages arise from the software’s use by multiple companies. In general, the more popular the software is, the greater these advantages become. Packaged software often benefits from the large number of users who have tested the software in a variety of environments. This widespread use decreases the likelihood that the software will have major defects and will omit desired features.

Disadvantages It can create a dependency on the software manufacturer. Once a company installs Disadvantages It can create a dependency on the software manufacturer. Once a company installs one vendor’s vertical software, it will incur heavy costs in licensing, training, and work redesign if it changes to another vendor, as a result, the vendor can charge high prices for upgrades and support.

In addition, whenever business managers want a new feature, they can only ask and In addition, whenever business managers want a new feature, they can only ask and wait for a future software release. Finally, a company that purchases packaged software does not own it. It just has a license to use it.

That license may come with many restrictions, such as limitations on the § number That license may come with many restrictions, such as limitations on the § number of people who can use it at once, § how many copies can be made, and § whether or not software can be customized.

Customized software Most vertical software requires some degree of customization. Packaged software usually provides Customized software Most vertical software requires some degree of customization. Packaged software usually provides options during installation and may offer and options menu from which authorized users can change set-up features. But, many users require more options than can possible be set in this fashion. Customized software modifies packaged software with computer programs specifically designed to a customer’s specifications.

Two questions managers should ask about customized software: • Who performs the customization? • Two questions managers should ask about customized software: • Who performs the customization? • How is the software customized?

? The software original developer or VAR? or The buyer of the software can ? The software original developer or VAR? or The buyer of the software can perform the customization?

In most cases, the original developers of the software do not want to divert In most cases, the original developers of the software do not want to divert their product focus by performing individual customizations. Frequently, they partner with a VAR who not only represents their software but has also been authorized to customize it.

A company that chooses to customize software on its own probably does so because A company that chooses to customize software on its own probably does so because it believes that it would be harder for a VAR to learn about its specific needs than it would be for the company to understand the software well enough to customize it.

Two alternatives for customizing software. One alternative is to change the code that was Two alternatives for customizing software. One alternative is to change the code that was written by the original software developer. This technique is rarely used because most software developers consider their code to be proprietary and will not release it to their customers or VARs. Also, few developers will customize their own code.

A more common approach is to use application programming interfaces (APIs) that are provided A more common approach is to use application programming interfaces (APIs) that are provided with the original software. An API allows one program to communicate with another. A typical communication might be, “don’t do task because I (the custom program) need to do it”, “do this task using the following data” or “do this task using a specific alternative method rather than the way it’s usually done”.

Developers who want to provide users with an option to customize their software typically Developers who want to provide users with an option to customize their software typically provide a rich set of APIs to allow their software to be customized easily and flexibly.

Customized vertical software may suffer from a disproportionate number of software bugs, situations where Customized vertical software may suffer from a disproportionate number of software bugs, situations where the software doesn’t work as expected or desired. While developers of packaged software spend a great deal of time and effort designing and testing their software, custom software developers can’t test their products as much because only one company uses it.

Customized software also can’t readily accommodate new releases without being totally customized again. As Customized software also can’t readily accommodate new releases without being totally customized again. As a result, companies using customized software do not benefit from the software manufacturer’s continuing development efforts. A company may spend a lot to add a feature that the manufacturer might include in its next release for a minimal upgrade fee.

Organizations develop their own software, known as custom software, from scratch rather than use Organizations develop their own software, known as custom software, from scratch rather than use or customize packaged software for three reasons:

 • No packages software meets the required specifications and modifying existing software is • No packages software meets the required specifications and modifying existing software is too difficult; • The company plans to resell the custom software at a profit; • Custom software may provide the company with a competitive advantage by providing services for customers, increasing management’s knowledge and ability to make good decisions, reducing costs, improving quality, and providing other benefits.

Custom software is expensive to produce, costly to maintain, subject to bugs, and usually Custom software is expensive to produce, costly to maintain, subject to bugs, and usually takes many years to develop.

Custom software Not only does this development delay the benefits but it also reduces Custom software Not only does this development delay the benefits but it also reduces the value of the software, as company needs and competitive environment change constantly.

Custom software Finally, if software developers can mimic the key features of the software’s Custom software Finally, if software developers can mimic the key features of the software’s design and resell it to a company’s competitors, they may quickly dilute any competitive advantage the company has gained. As a result, the development and use of custom software has fallen out of favor, and most companies seek packaged or customizes software whenever possible.

Integrating vertical software One of the greatest challenges that companies face in using vertical Integrating vertical software One of the greatest challenges that companies face in using vertical software is integrating the applications of different software vendors. Companies can avoid this integration problem by purchasing software that is already integrated and that performs all or most of the functions that the company needs from a single vendor.

Such software, called enterprise resource planning (ERP) software, provides seamless support for the operational Such software, called enterprise resource planning (ERP) software, provides seamless support for the operational and administrative processes of a company. It integrates diverse activities internal and external to the company, supports many languages and many currencies, and helps companies integrate their operations at multiple sites and business units.

Most ERP applications are customized products The major vendors begin with an application template Most ERP applications are customized products The major vendors begin with an application template that is pre-customized by industry. Then, the vendors, consultants, or the company purchasing the software further customize it to meet individual company needs. Although the ERP vendors build their software to minimize the amount of customization and to simplify the customization process, most large companies will spend anywhere from 100 to 500% of the cost of the software for its customization.

An alternative approach to vertical software integration is to use a middleware product. Middleware An alternative approach to vertical software integration is to use a middleware product. Middleware is software that coordinates application software by processing the output of one product so that it can be fed automatically into another product as input.

Horizontal software addresses tasks that are common to users in all or almost all Horizontal software addresses tasks that are common to users in all or almost all industries. Managers should understand the options for horizontal software and help find software that best meets their needs. Typically, information systems professionals and corporate purchasing agents rather than business managers assume responsibility for selecting and buying horizontal application packages.

They may purchase these packages in volume or purchase a single-site license for the They may purchase these packages in volume or purchase a single-site license for the entire organization. They often value a low price and good terms over the particular features offered by competing packages. Horizontal software appeals to a mass market. Its developers and manufacturers can sell it at a relatively low price and still recover their costs. They can distribute it low cost through retail outlets and mail order houses.

Two common types of horizontal software office automation and business function application software. Two common types of horizontal software office automation and business function application software.

office automation software Many vendors sell several types of office automation software in a office automation software Many vendors sell several types of office automation software in a single package called an office suite, such as Microsoft’s Office or Sun’s Star suite. Most office suites include word processing, spreadsheet, database management and presentation graphics software. Some may also include scheduling and electronic mail software.

Vendors sell their suite products at a significant discount relative to the prices of Vendors sell their suite products at a significant discount relative to the prices of the components they include. The components present a common look and feel to the user and can easily exchange information with one another. Eg, someone working on a document in the word processor can include tables and charts created with the spreadsheet and presentation graphics software.

Office automation software is also sold as integrated office software. Integrated office software compresses Office automation software is also sold as integrated office software. Integrated office software compresses several office automation packages into a single program. Microsoft Works, eg, consists of software for word processing, spreadsheet, database management, and scheduling. Integrated software does not make the user switch between programs to use different functions as a suite does. Integrated software also costs less than a suite and can be so inexpensive that computer manufacturers package it for free with their hardware. However, integrated office software offers les functionality than similar software in a suite.

Word Processing Word processing software, such as Microsoft’s Word and Corel’s Wordperfect, assists users Word Processing Word processing software, such as Microsoft’s Word and Corel’s Wordperfect, assists users in creating, modifying, and printing text-based documents. These documents many include graphics and other non-textual elements, although presentation graphics software and desktop publishing software work better for creating documents that are visual than textual.

Spreadsheet software, such as Microsoft’s Excel, calculates tabular information containing interdependent values and helps Spreadsheet software, such as Microsoft’s Excel, calculates tabular information containing interdependent values and helps automate the process of performing repeated calculations. Managers can use spreadsheets to track budgeted amounts, calculate pay increments, or support other analytical activities.

Database management software, such as IBM’s DB 2 and Microsoft’s Access, allow users to Database management software, such as IBM’s DB 2 and Microsoft’s Access, allow users to store, organize, and retrieve data of any type. Database management software generates screens for data entry, cross references data of different types, and retrieves data meeting a selected set of criteria and in a specified sorted order.

Workflow software controls the flow of electronic documents and activities between workers or group Workflow software controls the flow of electronic documents and activities between workers or group of workers. Workflow software can generate documents or mail in response to certain conditions, route documents, request that users add their digital signature, notify managers of tasks done late or improperly, and select free workers from among a pool to perform certain processes. It can also help managers document and redesign their processes. In this respect, workflow software has many applications beyond office automation.

Presentation graphics software, such as Microsoft’s Power. Point and Lotus’s Freelance, helps people without Presentation graphics software, such as Microsoft’s Power. Point and Lotus’s Freelance, helps people without graphics training produce professional-looking slides, overheads, or prints to support their presentations.

Electronic mail software allows users send messages to other users and to attach documents Electronic mail software allows users send messages to other users and to attach documents and other data to their messages. It organizes messages into folders, supports the creation and use of personal and organizational telephone directories, and provides various mail handling options, such as setting priority and acknowledgement of receipt.

Scheduling Software Scheduling software helps automate the maintenance of appointment calendars and to do Scheduling Software Scheduling software helps automate the maintenance of appointment calendars and to do lists. This software reminds users of appointments and activities they have entered with a visual and audio prompt. Users can schedule periodic appointments with a single entry. Scheduling software also helps people share calendars and can automatically suggest appointment dates and times for a set of networked users. It can organize to-do lists by date due, project and other characteristics.

Business functions applications Vendors sell horizontal software to address many types of functional activities Business functions applications Vendors sell horizontal software to address many types of functional activities common to many industries. These activities include :

sales force management, human resources management, inventory management bookkeeping, customer support, project management, production sales force management, human resources management, inventory management bookkeeping, customer support, project management, production of marketing materials.

Eg, HRM Software, headquartered in London, has sold its Execu. TRACK software to such Eg, HRM Software, headquartered in London, has sold its Execu. TRACK software to such varied companies as printer manufacturer Lexmark International, food company H. J. Heinz, and media company Cox Enterprises. Execu. TRACK is horizontal software for leadership development, succession planning, and employee competency management.

Purchasing Horizontal Software In evaluating a horizontal software package, buyers consider not only the Purchasing Horizontal Software In evaluating a horizontal software package, buyers consider not only the quality of the software, but also the quality of the vendor or manufacturer, the quality of its documentation, and the availability of ancillary materials, such as textbooks and training courses.

The stability and market position of a software manufacturer affect the likelihood of continued The stability and market position of a software manufacturer affect the likelihood of continued development and support of its products and the continued availability of third-party auxiliary software and publications.

The quality and responsiveness of a manufacturer’s technical support staff are important, even for The quality and responsiveness of a manufacturer’s technical support staff are important, even for organizations that have excellent internal support staffs. Often only the software manufacturer can diagnose the causes of problems, find ways to work around the difficulties, and, if necessary, fix them. Buyers can use trade magazines and the WWW as primary sources of information about a vendor’s market share and support quality.

Buyers also assess • manufacturer’s policies and • pricing for support and upgrades. Vendors Buyers also assess • manufacturer’s policies and • pricing for support and upgrades. Vendors are different in the length of time for which they provide free technical support, as well as in the price of technical support after this period.

Some vendors offer a money-back guarantee to unhappy users of their products. Most vendors Some vendors offer a money-back guarantee to unhappy users of their products. Most vendors provide free access to an electronic bulletin board for sharing information about known flaws or bugs, ways of working around problems, and upgrade release notices.

Other vendors provide bulletin boards that users can use to talk with other users Other vendors provide bulletin boards that users can use to talk with other users about their experiences with the product. Buyers should consider the hours of the vendor’s technical support, particular if the vendor is located in a distant time zone.

Buyers in an organization that uses several different types of computer systems (eg, IBM Buyers in an organization that uses several different types of computer systems (eg, IBM mainframe, IBM PC, and Macintosh) or several different types of systems software should assess whether the horizontal software can run all systems.

The organization benefits from the lack of retraining needed to use horizontal software on The organization benefits from the lack of retraining needed to use horizontal software on different computers. In addition, the computers’ hardware and systems software can be changed without affecting the users’ ability to perform their work.

Horizontal software commands a higher selling price when used on multi-user computers and servers, Horizontal software commands a higher selling price when used on multi-user computers and servers, although the price per user, often called the price per seat, will be lower than that of similar software sold for individual use. Software vendors may offer site licenses.

These allow an organization the right to use a specified number of copies of These allow an organization the right to use a specified number of copies of the licensed software or to give a certain number of users access to a single copy of the software at a discount relative to the price of an individual license. Sometimes, in exchange for this discount, the vendor requires all contact to pass through a single representative at the organization’s site and provides only a single copy of software documentation.

Systems Software Systems software performs tasks to manage the devices and resources of a Systems Software Systems software performs tasks to manage the devices and resources of a computer and its network. Systems software includes the following types:

The operating system kernel (ядро операционной системы) consists of computer programs that perform the The operating system kernel (ядро операционной системы) consists of computer programs that perform the most basic housekeeping. Resource allocation, and resource monitoring functions for a computer. The kernel operates with a minimum of user input or control. No computer can operate without it.

Systems utilities allow computer owners and users to perform basic maintenance and resource control Systems utilities allow computer owners and users to perform basic maintenance and resource control functions. A computer can operate without systems utilities, although users would find it extremely cumbersome.

Network and systems management software allows computer professionals to monitor and control computer and Network and systems management software allows computer professionals to monitor and control computer and network resources.

The Operating System Kernel, programs: • start the computer when user turns the power The Operating System Kernel, programs: • start the computer when user turns the power switch on, • find and initiate application programs the user wants to run, • transfer input to the application program and data from the program to output, storage, and network devices.

The operating system refers to software packaged with the operating system kernel. Traditionally, it The operating system refers to software packaged with the operating system kernel. Traditionally, it includes many utilities, some network and system management software, and even some horizontal software. Exactly where the kernel ends and the system and network management utilities begin is often unclear.

Multiple users or multiple tasks the operating system must keep the data and commands Multiple users or multiple tasks the operating system must keep the data and commands of each task and user separate while it provides an opportunity for sharing information among them.

For example, A sales manager, can run a monthly sales report at the same For example, A sales manager, can run a monthly sales report at the same time that a warehouse manager checks the inventory of a particular product.

The operating system allows systems administrators to establish the rules and priorities for sharing The operating system allows systems administrators to establish the rules and priorities for sharing computer resources. A customer credit request, eg, might temporarily delay completion of a sales report because the credit request, with the computer waiting has a higher priority.

Application software calls on operating system kernel to request computer resources such as memory, Application software calls on operating system kernel to request computer resources such as memory, storage, the network, or the display unit. These system calls vary among operating systems, making changes and upgrade difficult.

UNIX was designed as such common operating system. When first introduced, UNIX was the UNIX was designed as such common operating system. When first introduced, UNIX was the proprietary software of AT&T, although it ran on several different types of computers. AT&T provided licenses at relatively little cost to vendors who wanted to modify it for other computers. In spite of UNIX’s portability, users found that the versions of UNIX provided by their hardware manufacturers often lacked consistency with AT&T standard and with one another. As a result, it remained difficult to develop application software that ran on different types of computers.

LINUX A variant of UNIX called LINUX became popular in the late 1990 s. LINUX A variant of UNIX called LINUX became popular in the late 1990 s. a Finnish graduate student, Linus Torvalds, developed the software and purposely disclaimed any rights to it, leaving it in public domain, with the condition that its code and all future versions developed from it remain open to view and change

WINDOWS 7 Windows 7 Starter (available only pre-installed on netbook class PCs) Windows 7 WINDOWS 7 Windows 7 Starter (available only pre-installed on netbook class PCs) Windows 7 Home Basic Windows 7 Home Premium Windows 7 professional Windows 7 Enterprise • Windows 7 Ultimate

Compatibility Windows XP was redesigned for application and hardware compatibility with products made for Compatibility Windows XP was redesigned for application and hardware compatibility with products made for older versions of Windows even MS-DOS games and graphics applications. Windows 7, like Vista carries the same compatibility over in its 32 -bit versions, but Windows 7 64 -bit versions have abandoned that legacy. There are ways around this, using Virtual PC, eg, so you do not have to jettison your favorite Windows 9 x or DOS programs in Windows 64 -buit versions.

Several companies, most notably Red Hat and Caldera, modified the software and then created Several companies, most notably Red Hat and Caldera, modified the software and then created versions having the same system calls and user interface to operate on many different types of computers. As a result developers can easily create software that will run on many types of computers under Linux.

Systems Utilities Systems utilities operate primarily under user control and provide basic resource management Systems Utilities Systems utilities operate primarily under user control and provide basic resource management functions, such as the ability to copy or back up files, change file names, or sort data. Most vendors of operating systems include many system utilities as an integral part of their operating system software.

A variety of systems utilities are available to purchase or free to augment or A variety of systems utilities are available to purchase or free to augment or improve the systems utilities included with an operating system. Eg, Adobe and Real. Networks provide free software to read files produced in their proprietary formats.

Utility Archiving Systems utilities Description Allows users to remove data to a permanent storage Utility Archiving Systems utilities Description Allows users to remove data to a permanent storage medium, such as disk, may compress and / or encrypt the data for improved storage capacity and security. May maintain an archive history and do incremental as well as complete archiving Diagnostics Allows the user to diagnose problems with various parts of the computer, including files created and used by the operating system. Font Provides type fonts to change the shape of characters. Some extenders font extenders allow the user to edit, rotate, shade, and manipulate fonts in many ways. Keyboard Allow keys on a keyboard to be reassigned and specified modifiers keystrokes to act as shortcuts to words and phrases.

Utility Description Miscellaneous Programs to capture and recall screen displays; programs to recover data Utility Description Miscellaneous Programs to capture and recall screen displays; programs to recover data that has been erased; programs to allow you to use a mouse in place of arrow keys for programs that do not support a mouse. Displays moving designs on your screen if the computer has not been used for a period of time. May prevent others from using the computer without knowing a password. Keeps unauthorized users from using your computer or from accessing your data; encrypts data so that they cannot be read or profitably stolen; checks the integrity of your data and / or programs to make sure that they have not been altered. Read documents created by a variety of software packages and saved in special formats. Screen savers Security Viewers virus checkers Identify and eliminate computer viruses.

Network and Systems Management Network management software monitors the state of a company’s network Network and Systems Management Network management software monitors the state of a company’s network and the devices connected to it. This software can provide real-time displays of the traffic on various parts of the network relative to the network capacity, as well as reports that show patterns of usage over time. These reports allow network service management to anticipate capacity shortages and to plan for hardware upgrades in a rational manner.

Network management software can also query the status of the devices connected to the Network management software can also query the status of the devices connected to the network, including workstations, printers, routers, switches, hubs, scanners, and many other shared equipment. The software can automatically adjust network parameters so as to avoid malfunctioning devices. Eg, the software can route jobs for an out-ofservice printer to a printer designated as its standby.

Systems management software monitors the state of a particular computer. Technical specialists generally run Systems management software monitors the state of a particular computer. Technical specialists generally run this software on key system servers such as file servers, network servers, or Internet servers. Systems management software can identify what programs are running, how much of the computer’s resources they use, and why certain performance problems have arisen.

Systems management software can alert management to impending problems and can provide periodic reports Systems management software can alert management to impending problems and can provide periodic reports to document usage and performance. It can prioritize and schedule the running of programs that are not time-critical. Systems management software can identify and remove temporary files that abnormally terminated programs have left.

Systems-Development Software Although most managers rely on IS professionals to create or change software, Systems-Development Software Although most managers rely on IS professionals to create or change software, they should know that each type of computer recognizes and responds to a different set of instructions. Computer programs organize and sequence these instructions. Programmers use computer languages, such as C, C++, Java, Visual Basic to create a single computer program that performs the same task on different computers. Programs written in such languages can be translated into the language of the target computer before being run.

Computer languages differ in the level of abstraction, whether they are procedural or non Computer languages differ in the level of abstraction, whether they are procedural or non -procedural, and whether they are command / data oriented or object oriented.

Language translation method A language translator translates software from the language used by software Language translation method A language translator translates software from the language used by software developers into a computer’s language (known as machine language) and so lets developers use a common language for software designed for many different types of computers. Each computer translates the same software into instructions that it alone can use.

Two types of language translators exist: compilers and interpreters Two types of language translators exist: compilers and interpreters

Compilers A compiler, such as one used for C, COBOL, FORTRAN, PASCAL, translates a Compilers A compiler, such as one used for C, COBOL, FORTRAN, PASCAL, translates a program, called source code, written in the developer’s language into computer code called an object module. A linker combines object modules that perform related tasks with alreadycompiled object code from a library of commonly used functions to create a program called an executable module, or a load module

A user can load the executable into a computer and run it. The computer A user can load the executable into a computer and run it. The computer running the executable does not need a copy of the compiler because the program has already been translated. Many languages allow a program to link or unlink an object module as the program runs, a feature called dynamic linking.

Interpreters An interpreter, such as one used for BASIC, translates language commands into computer Interpreters An interpreter, such as one used for BASIC, translates language commands into computer code one instruction at a time and then executes each instruction before translating the next instruction. The user simply loads the interpreter into the computer and runs it. The interpreter treats the source code as data, reading, translating and obeying its commands.

Interpreters have two major advantages relative to compilers First, the developer can distribute his Interpreters have two major advantages relative to compilers First, the developer can distribute his source code to anyone who has an interpreter. The same source code will run on any computer and in any operating system. This makes interpreted languages, such as Java. Script and HTML, ideal for programming Web pages.

In contrast, a developer using a compiled language must create executable modules for each In contrast, a developer using a compiled language must create executable modules for each combination of computer type and operating system.

Second, an interpreter offers a friendly environment for the software developer. The developer can Second, an interpreter offers a friendly environment for the software developer. The developer can interrogate the interpreter about the state of the program, reset data values, and continue or restart the program

In contrast, every time a developer makes a change in a compiled-language program, it In contrast, every time a developer makes a change in a compiled-language program, it must be recompiled and re-linked before testing and using.

Interpretive languages also have several disadvantages. An interpreted program runs slower than a similar Interpretive languages also have several disadvantages. An interpreted program runs slower than a similar compiled program because it must be translated while it runs. A user running an interpreter program must have a copy of the interpreter on her computer while a user running a compiled program does not need a copy of a compiler. Users of interpreted programs must have access to the source code to run the programs; thus, protecting interpreted software from piracy is much harder than protecting compiled software.

Some languages such as BASIC and LISP exist in both interpretive and compiled forms. Some languages such as BASIC and LISP exist in both interpretive and compiled forms. Developers can develop their software using the interpretive form of the language and distribute their software in the compiled form, but the compiled programs can’t run on any computer.

Other languages, such as Java, compile source code into an intermediate code that preserves Other languages, such as Java, compile source code into an intermediate code that preserves much of the source language in a highly compact, incomprehensible form, yet still requires an interpreter. This solution allows the program to remain proprietary, yet run on any computer. It also speeds program execution, although not to the extent of a compiled language.

of languages of languages

Languages can be Procedural Non-procedural Languages can be Procedural Non-procedural

Procedural languages Procedural languages

Structured approach to programming Sequence Structured approach to programming Sequence

Decision Decision

Do while loop Do while loop

Non-procedural languages Such as SQL (Structured Query Language) require the software developer to state Non-procedural languages Such as SQL (Structured Query Language) require the software developer to state an outcome he desires. The language processor determines the instructions to give the computer to achieve this outcome.

SQL (Structured Query Language), an excerpt from a program SQL (Structured Query Language), an excerpt from a program

Object oriented languages: In object-oriented, focus is on real world objects which interact with Object oriented languages: In object-oriented, focus is on real world objects which interact with each other. Objects in turn have state, attributes & operations.

Prolog The system decides the way to solve the problem, including the sequences of Prolog The system decides the way to solve the problem, including the sequences of instructions that the computer must go through to solve it. It is easier to say what we want done and leave it to the computer to do it for us. Since a major criterion in the commercial world today is speed of performance, Prolog is an ideal prototyping language. Its concept makes use of parallel architectures. It solves problems by searching a knowledge base (or more correctly a database) which would be greatly improved if several processors are made to search different parts of the database.

CASE Computer-assisted software engineering tools are software products that apply engineering principles to the CASE Computer-assisted software engineering tools are software products that apply engineering principles to the design, development and maintenance of software products. Visuial Studio. Net

A layered view of software A layered view of software