Index

12 Temmuz 2007



INDEX

GENERAL INFORMATİON ABOUT INFORMATION and MIS

INFORMATION

THE MANAGEMENT INFORMATION SYSTEM

GENERAL INFORMATİON ABOUT SOFTWARE.

SYSTEMS SOFTWARE

OPERATİNG SYSTEMS

MEMORY MANAGEMENT

PROCESSİNG TASK MANAGEMENT

MULTITASKING

MULTITHREADING

TIME-SHARING

USER INTERFACE

CURRENT OPERATING SYSTEMS

PC-DOS AND MS-DOS

WİNDOWS

OS/2

APPLE COMPUTER OPERATING SYSTEMS

UNIX

UTILITY PROGRAMS

DIAGNOSTIC UTILITIES

ANTIVIRUS UTILITIES

DESKTOP ORGANİZERS

FILE MANAGEMENT UTILITIES

DATA COMPRESSION UTILITIES

OTHER TYPES OF UTILITIES

COMMUNICATIONS SOFTWARE

3.4.1 MICROCOMPUTER COMMUNICATION SOFTWARE

DATABASE MANAGEMENT SYSTEMS

MICROCOMPUTER DBMS PACKAGES

4. APPLICATION SOFTWARE

4.1 GENERATIONS OF PROGRAMMING LANGUAGES

4.1.1FIRST GENERATION: MACHINE LANGUAGE

4.1.2 SECOND GENERATION: ASSEMBLY LANGUAGES

4.1.2.1 ADVANTAGES AND DİSADVANTAGES OF ASSEMBLY LANGUAGES

4.1.3THIRD GENERATION: HIGH-LEVEL LANGUAGES

4.1.3.1 Ada

4.1.3.2 ALGOL

4.1.3.3 APL

4.1.3.4 BASİC

4.1.3.5 C

4.1.3.6 COBOL

4.1.3.7 FORTRAN

4.1.3.8 PASCAL

4.1.3.9PL/1

4.1.3.10 ADVANTAGES AND DISADVANTAGES OF HIGH LEVEL LANGUAGES

4.1.4 FOURTH GENERATION LANGUAGES

4.1.4.1 ADVANTAGES AND DISADVANTAGES OF FOURTH GENERATİON LANGUAGES.

4.1.5OBJECT ORIENTED PROGRAMMING LANGUAGES

4.1.5.1 C++

4.2CLASSES OF PROGRAMMING LANGUAGES

LANGUAGE TRANSLATOR PROGRAMS

WORD PROCESSİNG SOFTWARE

SPREADSHEET SOFTWARE

FILE MANAGEMENT SOFTWARE

PERSONAL INFORMATION MANAGEMENT SOFTWARE

DATABASE MANAGEMENT SOFTWARE

GRAPHİCS SOFTWARE

PRESENTATION GRAPHIC SOFTWARE

MULTİMEDİA SYSTEMS

STATİSTİCAL SOFTWARE

PROJECT MANAGEMENT SOFTWARE

DESKTOP PUBLISHİNG SOFTWARE

DESKTOP ORGANIZER SOFTWARE

TRAINING AND TUTORIAL SOFTWARE

EXPERT SYSTEMS SOFTWARE

COMPATIBLE AND INTEGRATED SOFTWARE

HORİZONTALLY AND VERTİCALLY COMPATİBLE SOFTWARE

INTEGRATED SOFTWARE

OFFICE AUTOMATION SOFTWARE

GROUPWARE

WHAT IS GROUPWARE?

WHAT IS CSCW?

HOW IS GROUPWARE DESIGN DIFFERENT FROM TRADITIONAL USER INTERFACE DESIGN?

WHY IS GROUPWARE DESIGN WORTH PAYING ATTENTION TO IN THE FIRST PLACE?

GROUPWARE APPLICATIONS.

ASYNCHRONOUS GROUPWARE

SYNCHRONOUS OR REALTIME GROUPWARE

GROUPWARE DESİGN ISSUES.

ADD-ON SOFTWARE

INDUSTRY-SPECİFİC SOFTWARE

FUNCTIONALLY SPECIFIC SOFTWARE

MANAGING SOFTWARE ASSETS

5.1 WHAT IS SOFTWARE ASSET MANAGEMENT?

5.2 STEPS IN SOFTWARE LIFECYCLE

5.3 SOFTWARE LICENCE RECONCILIATION-COMPLIANCE

5.4 APPLICATION SERVICE PROVIDER.

5.4.1 INFORMATION ABOUT ASP.

5.4.2 WEB APPLICATION HOSTING PROVIDER

5.4.3 WHY CHOOSE HOSTED SOLUTIONS?

5.4.4 THE ASP DIFFERENTIATORS

5.4.5 EAM ASPs

5.4.6 HOW TO CHOOSE AN ASP SERVICE?

5.4.7 INDUS ASP

HOW SOFTWARE ASSET MANAGEMENT IMPACTS PROFITABILITY

SUPPLEMENTS

RESOURCES

GENERAL INFORMATION ABOUT INFORMATION and MIS

1.1) INFORMATION:

Information is a sign or set of signs which predispose a person to action. It is

distinguished from data, because data are not a stimulus to action but merely a string of

characters or un-interpreted patterns. For example, symbols(data) stored in a file cabinet

or computer base represent data. A computer printout which a manager reads but whose

significance cannot be interpreted because the figures are unorganized represents data.

On the other hand, an organized analysis of sales or a graphical trend line of costs will

affect the behavior of the manager and therefore is information.

Management decision making, a step taken which leads to action, is based upon

information. Uncertainty about the future and lack of knowledge about the current

situation cause the manager to seek information. Information may therefore be further

defined as organized data which reduce uncertainty in decision making.

The rapidly changing environment and the increasing size and complexity of

managed systems have increased the managersÂ’ need for information. The cost of poor

decisions has become exorbitant. The premium for really good strategic decisions in turn

has become enormous. There is clearly a necessity for a good system to supply managers

with timely, appropriate and concise information in all types of organizations.

1.2) THE MANAGEMENT INFORMATION SYSTEM:

The system which monitors and retrieves data from the environment, which

captures data from transactions and operations within the firm and which filters,

organizes and selects data and presents them as information to managers is called the

management information system(MIS). Managers have always sought and utilized

information. In the past, they have been forced to rely on miscellaneous –haphazard–

sources. They processed the information on a personal basis, so that different managers

operated on different perceptions about their environment.

Three changes are now occurring in progressive companies;

Management has become system-oriented and more sophisticated in

management techniques.

Information is planned for and made available to managers as needed.

A system of information ties planning and control by managers to operational systems of implementation.

The combined result of these concepts is the management information

systems(MIS). The purpose of an MIS is to raise the process of managing from the level

of piece meal spotty information, intuitive guesswork and isolated problem solving to the

level of system insights, system information, sophisticated data processing and systems

problem solving. Managers have always had ‘sources’ of information; the MIS provides a

system of information. It thus is a powerful method for aiding managers in solving

problems and making decisions.

The MIS is related to three components; managers, operating systems and

information. The system which captures both internal and external data and converts

them to information for management decision making is the MIS. While all workers

make decisions, managersÂ’ decisions are concerned with planning for, directing and

controlling work groups. Individual workers make decisions for directing their own work

rather then the work of others. In addition, managers make decisions on long-term and

broader-scale issues then do the individual machine operators, clerks, technicians,

professionals and staff consultants.

The MIS not only provides information to assist managers in making decisions

but it also may be designed to provide decisions for repetitive classes of problems. The

MIS, by providing a common set of data and information available to all managers,

integrates the management of the company. Thus the company as a whole may be truly

operated as a system, with all elements working toward common objectives.

The beginning of a system for providing management with information for

planning and control of the total business was the historical accounting system. This

originated with the concept of double entry book-keeping published by Luca Pacioli,

a Venetian professor of mathematics, in 1494. Three threads of historical development

have intertwined to bring about the modern MIS. These are the development of

accounting theory, the development of management theory and the introduction of the

electronic computer. Management information system development was extremely slow

until the twentieth century. With the advent of the high-speed, high-storage capacity

electronic computers at mid-century, the development and application of MIS concepts

soared.

One of the most important effects of MIS on the companies is the increasing

globalization. The latest technology of MIS made the companies independent from time

and place. With the effect of technology and MIS, a global economy has emerged, the

structure of organizations has changed and became flatter, flexibility and empowerment

increased. The companies managed to be closer to their customers by being able to

follow each different customersÂ’ needs, which leads to mass customization. When

industrial economies changed to knowledge and information based economies,

knowledge and information started to be perceived as the most important and strategic

asset of a company. Those changes lead the emergence of the digital firm, which is

defined by Laudon (2002) as:

‘‘ Organization where nearly all significant business processes and relationships with

customers, suppliers and employees are digitally enabled and key corporate assets are

managed through digital meansÂ’Â’ (pg.6)

2. GENERAL INFORMATİON ABOUT SOFTWARE:

Information systems rely on software resurces in the form of programs and

procedures to help computer hardware and end users transform data resources into a

variety of information products. Software is needed to accomplish the input, processing,

output, storage and control activities of information systems.

The general category of software includes two kinds of programs: systems

software and applications software. Systems software is the set of programs designed to

coordinate the activities and functions of the hardware and various programs throughout

the computer system. A particular systems software package works only for a spesific

CPU desing and class of hardware. The combination of a spesific hardware configuration

and systems software package is sometimes known as a computer system platform.

To carry out the tasks of a computer system, systems software works together

with applications software, which consists of programs that help users to solve particular

computing problems. Applications software earns its name because it applies the power

of the computer to help users perform spesific tasks and solve well-defined problems.

The needs and priorities of an overall information system determine the capabilities that

applications software must give to a computer system. As with hardware, software

capabilities should create a balanced set of essential functions within performance, cost,

control and complexity limits.

During the past decades, the complexity of tasks that can be accomplished by

software products increased dramatically. That increase effected the cost structures of

software using companies and made them allocate bigger percents of their financial

resources into software products.

See supplement-1 for summarized information about software.

3. SYSTEMS SOFTWARE

Systems software controls the basic operations of computer hardware and supports the application programsÂ’ problem solving capabilities. For example; one common type of applications program helps the user to create and edit written documents. This document handling capability need some way to allow a user to save document files on disk. The applications program accomplishes this and similar basic operations by activating systems software commands.

Of course, it would be possible to design an applications program that included it on sequence of instructions to operate the disk drive and keep track of stored files. But that arrangement would waste vast amounts of system resources because every application for a particular hardware configuration would have to include the same instructions. Systems software avoids this unnecessary duplication by providing a centralized source for instructions like these. The part of systems software that translates commands of users and applications programs into hardware activities is called the operating system. Systems software also includes utility programs.

3.1) OPERATING SYSTEMS:

An operating system is a set of computer programs that control hardware devices to support usersÂ’ computing needs. The operating system forms a sort of interface between the hardware and application software and between the hardware and user. It works like a chauffeur, who operates automotive hardware as instructed by an important passenger; the operating system takes instructions from an applications program and controls hardware to carry out those instructions.

Many of the collection of programs that make up the operating system enter RAM immediately when a computer starts to operate.

3.1.1) MEMORY MANAGEMENT:

Another important function of operating systems, memory management, allows software to use the storage capacity in RAM. The operating system controls how programs access memory, and it maximizes memory capacity. Efficient memory management works to promote effective execution of program instructions and to speed processing.

This memory management function is important because computer systems include many types of memory. For example, the operating system MS-DOS, which runs on many personal computers, divides RAM into four categories:

1. Conventional memory takes up the first 640 KB of RAM.

2. Upper memory goes from 640 KB, where conventional memory stops, to 1 MB (1,024 KB).

3. Extended memory goes from 1 MB to the upper physical limits of the CPU, anywhere from 16 MB to 4 GB.

4. Finally, expanded memory is RAM capacity that exceeds the processor’s normal retrieval and storage abilities. To access expanded memory, the computer uses a special program within the operating system called the expanded memory manager (EMM).

Some operating systems offer a virtual memory capability, which allocates space on disk to supplement the immediate, functional memory capacity of RAM. Virtual memory then swaps segments of program instructions as needed between memory and one or more disks. The number of program segments held in RAM depends upon the sizes of those segments and the computer’s RAM capacity.

Virtual memory can speed overall processing activities by keeping instructions for essential program functions in relatively fast RAM and leaving instructions that the CPU needs less frequently on disk to be called as needed. Assume that the written instructions for a computer program would fill ten pages. If the computer were to store only a segment of this program, perhaps the first few pages, in RAM, it might also be able to store another program segment from some other program there. Virtual memory allows the computer to store currently needed pages of a number of programs in RAM, while the rest of these programs wait on the disk—a concept called paging.

3.1.2) PROCESSING TASK MANAGEMENT:

An operating system must also include instructions for managing all processing tasks. This task-management function allocates computer system resources to make the best use of those assets. Task-management software can permit one user to run several programs or processing activities at one time (multitasking and multithreading). It can also allow several users to share a single computer (time-sharing).

3.1.2.1) MULTITASKING:

An operating system with multitasking capabilities allows a user to run more than one application at the same time. For example, the manager at a Benny’s Bagels store might need to create a report on that outlet’s purchases of ingredients for bagel dough. The manager could complete this work effectively if the computer could run an inventory control program to provide data, a spreadsheet program to carry out calculations, and a word processing program to write the report text, all at the same time. Multitasking would allow all three programs to share data and results. Important tables and analysis from the inventory control program could provide input directly into the word processing program.

3.1.2.2) MULTITHREADING:

Multithreading is basically multitasking within a single application, so that several parts of one program can work at once.

Multithreading might allow the manager at Benny’s to work on two different spreadsheets at once, possibly printing one while entering data in another.

Multitasking and multithreading can save users considerable time and effort. By offering these capabilities, an operating system allows a user to keep a number of programs open and running together. Each application can affect the output of the others by sharing data and results, and the user can easily make changes.

3.1.2.3) TIME-SHARING:

Time-sharing allows access to a computer system by more than one user at a time. For example, the computer system at the Benny’s Bagels headquarters might allow the managers of all 15 outlets to enter data about weekly sales at the same time. In fact, time-sharing allows thousands of people to simultaneously use an on-line computer service to get various types of information, from valuable business news to recipes for carrot cake.

Operating systems for large computer systems, like mainframes, usually allow for time-sharing. Because personal computer operating systems usually serve the needs of single users, they do not require capabilities for managing multiple-user tasks.

3.1.3) USER INTERFACE:

One of the most important functions of any operating system is to provide a user interface, which incorporates the routines that give one or more individuals access to and command of the computer system. The user interface of an operating system has a powerful effect on the experience of using applications software. A simpler, more intuitive user interface helps more people to make effective use of a computer system.

Early computer systems offered only command-based user interfaces, which require users to enter text commands to direct the computer to perform basic activities. For example, the MS-DOS command ERASE FILE1 would cause the computer system to erase a file called FILE1 from a particular disk. More complicated tasks require longer, more involved commands. For example, this command

COPY C:DOCUMENTSMINUTES.JUN A:

would locate a file named MINUTES.JUN within a subdirectory called DOCUMENTS on Drive C: and duplicate it on a diskette in Drive A:. Omission or misplacement of a single backslash, space, colon, or period would leave the operating system completely unable to interpret the command. The user must learn and conform to the often-confusing demands of a command-based user interface.

In contrast, a graphical user interface (GUI), pronounced goo-ey, displays pictures called icons on the screen to represent document files and application programs. The user can control and launch applications and send other commands to the computer system simply by pointing and clicking with a mouse. Many people find that GUIs are easier to learn and use than command-based user interfaces, because the users intuitively grasp the. functions represented by the icons. They often prefer to select choices from menus than to type complicated commands.

Alan Kay and his colleagues at Xerox’s Palo Alto Research Center pioneered techniques of displaying overlapping windows and icons in a user interface. Today, the most widely used graphical user interface is Windows by Microsoft. As the name suggests, Windows dedicates a window, or a portion of the display screen, to a specific application. Windows offers a multitasking capability, running and displaying several windows, and therefore several applications, at once. Following this reasoning, some people refer to all GUIs, even those not developed by Microsoft/ as windows interfaces.

Applications written for graphical user interfaces cannot run under command-based user interfaces, but applications written for command-based systems often can run in GUIs. However, a program can maximize the capabilities of a GUI only if it includes the graphics and point-and-click command routines of that kind of interface.

3.2) CURRENT OPERATING SYSTEMS:

Early computer operating systems provided adequate support for basic functions required by users and their applications. These systems software packages could accept keyboard input and store files on disk, but they offered few of the functions and features that today’s users expect. A modern operating system must provide flexible ways to organize and control files. In particular, it must include an attractive user interface based on intuitive, easily understandable actions.

3.2.1) PC-DOS and MS-DOS:

IBM released its Personal Computer in 1981 with an operating system called Personal Computer Disk Operating System (PC-DOS). Microsoft developed PC-DOS and released its own nearly identical operating system for IBM-compatible microcomputers under the name Microsoft Disk Operating System (MS-DOS). Since the 1980s, these operating systems have been popular for IBM PCs and compatible systems.

MS-DOS and other command-based operating systems perform functions for users in response to typed commands. Users enter commands like COPY to duplicate files, RENAME to change file names, DIR to generate a listing of files in a directory, and FORMAT to prepare a new disk to store files.

3.2.2) WINDOWS

Microsoft eventually recognized that many users would prefer a GUI’s point-and-click operations over the sometimes complicated command strings of MS-DOS. In the mid-1980s, personal computers began to gain new hardware capabilities, including faster CPUs and larger RAM capacities, that would need to run GUIs, and Microsoft released Windows. The original version of this software (Windows 2.0) ran together with MS-DOS. It created a shell that converted user input through a graphical interface into MS-DOS commands. Windows 3.0 and 3.1 gained rapid acceptance in the industry and are still popular.

Newer versions of Windows, including Windows 95 and Windows NT, are fully functional operating systems; they interact directly with computer hardware without any need for MS-DOS commands. The user initiates actions by clicking icons with a mouse button. Windows 95 also has plug and play capabilities, the operating system makes any necessary changes to the system configuration to accommodate new hardware.

Windows NT provides a complete, GUI-based operating system that can run DOS or Windows applications on networks of personal computers connected through telecommunications links. Microsoft developed Windows NT primarily for business users. It offers portability to a variety of hardware platforms, including powerful workstations and multiprocessing systems. Its centralized security system helps IS administrators to monitor various system resources. Windows CE has been developed to be used with handheld personal computers.

3.2.3) OS/2:

In 1988, IBM announced a new operating system called Operating System 2 (OS/2) to compete with Windows and to take advantage of the expanded capabilities of more powerful personal computers. OS/2 requires at least 8 MB of RAM, at least 5 MB of hard-disk capacity, and a powerful CPU. These hardware resources allow it to offer functions like system monitoring, multitasking, and virtual memory. OS/2 also features a graphical user interface, and it even performs some functions of applications software like communications and database management. It can run applications written for MS-DOS and Windows in addition to those designed specifically for OS/2. More recently, IBM introduced OS/2 Warp, which adds excellent multitasking and memory management capabilities along with strong technical support.

3.2.4) APPLE COMPUTER OPERATING SYSTEMS:

IBM Personal Computers and compatible platforms traditionally use processors manufactured by Intel Corporation and DOS or Windows as operating systems. In contrast, personal computers from Apple Computer typically use Motorola processors and a proprietary Apple operating system. Although IBM and compatible computers hold the largest share of the business PC market, Apple computers also have attracted loyal users. Apple computers have especially strong followers in the graphics, design, and publishing industries.

Apple introduced the Macintosh computer in 1984, offering the first commercial availability of a graphical user interface and a mouse in addition to a keyboard. Other computers at the time ran under command-based interfaces with only keyboards for input. The rest of the industry quickly moved to offer GUI capabilities because of their ease of use. The Macintosh remains the most popular Apple system for business applications.

System 7.5, the current version of the Macintosh operating system, supports sophisticated control of computer system resources within a simple, graphical interface that users find easy to learn and use. The Macintosh operating system offers many outstanding capabilities to handle graphics and color, virtual memory, and multitasking. The toolbar gives access to useful features like database access simply by clicking icons with a mouse. Some powerful business applications run under the Macintosh operating system, among them Microsoft Word word processing, Excel and Lotus 1-2-3 spreadsheet programs, Illustrator and Freehand art design programs, and Photoshop photo editor. Networking and Internet access are also easily accomplished.

3.2.5) UNIX:

In the 1970s, AT&T developed a powerful operating system called Unix for minicomputers. At that time, federal government regulations prohibited AT&T from competing in the computer marketplace, so it could not market Unix. That limitation changed in the 1980s, when suspicion against monopolies led to the breakup of AT&T and the elimination of many federal regulations on its activities. Since then, Unix has gained some support as an operating system. Unix is a portable operating system with versions that can run on many computer platforms from personal computers to mainframe systems. Unix benefits companies using both small and large computer systems, because it provides compatibility with different types of hardware. Also, it allows users to operate many kinds of computers while learning only one operating system.

3.3) UTILITY PROGRAMS:

Along with the functional capabilities of the operating system, systems soft ware also includes utility programs to perform additional useful functions like merging and sorting sets of data and keeping track of computer jobs as they run. New computer systems often include some installed utility programs. You can purchase additional utility programs after you begin working with your computer and recognize your needs.

3.3.1) DIAGNOSTIC UTILITIES:

Some utilities help with system management needs. Diagnostic utilities help personal computer users to identify the causes of problems with their systems and to optimize the functions of RAM, disk drives, and other components. One popular diagnostic utility package is Norton Utilities. This program can help identify disk problems and suggest solutions. It also offers a defragmentation program, which will optimize system performance by rearranging blocks of data on the hard disk for quick retrieval.

3.3.2) ANTIVIRUS UTILITIES:

Another category of utilities is antivirus utilities. They protect against infection by known computer viruses (destructive programs that can destroy data, programs, or even operating systems). Virus utilities check hard disks, diskettes, and computer memory for viruses and remove them when found. Symantec and Virex are two leading antivirus utilities.

3.3.3) DESKTOP ORGANIZERS:

Many desktop organizers pop up as needed to make calculations, store notes, make phone calls, schedule appointments, and more without disrupting the functions of other applications. While working in your other programs, you can call up a desktop organizer, perform a desired task, and then return to your initial application.

3.3.4) FILE MANAGEMENT UTILITIES:

Help users of some computers to display the full contents of files created on completely different computer systems and software packages. For example, Outside In for Windows, published by Systems Compatibility Corporation, allows an IBM-compatible system to view a file created on a Macintosh. The Macintosh operating system provides the reverse function through its MacLink extension.

3.3.5) DATA COMPRESSION UTILITIES:

Help take advantage of available storage capacity. Compressed files take up less space on disks, so they take up less memory. When a compressed file is needed, the utility’s decompression routines place the expanded versions in RAM. Data compression utilities can almost double the amount of data you can store on a disk, increasing capacity without additional hardware costs.

3.3.6) OTHER TYPES OF UTILITIES:

Many other types of utilities are also available. File synchronization utilities update files stored on different computers to ensure that all versions match. Screen capture programs such as PixelPop, from Imageset Corp., save a current screen display to a disk file or print it. Backup utilities automatically allow you to back up your hard disk. One utility, from Eloquent Technology, can even translate text to speech. The software can be programmed to convey emotions like excitement and boredom by varying pitch level and other variables. It can also simulate accents, such as a Southern drawl or a Midwestern twang.

3.4) COMMUNICATIONS SOFTWARE

Communications software is really an extension of the operating system of a computer. Communications software provides the additional logic for the computer system to control a variety of communications equipment. The computer can then communicate with, letÂ’s say, display terminals located far from the CPU. Communications software supervises such functions as communicating with remote terminals, monitoring communications equipment and lines, managing traffic on communications lines, logging and analyzing communications traffic, and diagnosing communications problems.

On mainframe computers,communications software is a collection of programs costing many thousands of dollars and involving a host of peripheral equipment.On microcomputers ,communications software is designed to permit a microcomputer to “talk” to a mainframe,a minicomputer,or another microcomputer from a remote location,or to connect to a group of microcomputers in a room or building.

Of particular importance to many managers is software that will allow their office microcomputers to communicate with their organizationÂ’s mainframes and also let them use their home microcomputers as remote workstations.

3.4.1) MICROCOMPUTER COMMUNICATION SOFTWARE:

Modern information systems rely heavily on telecommunications networks, which

provide electronic communication links between end user workstations, other computer

systems and databases. This requires control programs called telecommunication

monitors. They are used by a main computer(called the host) or in telecommunications

control computers. Such as front-end processors and network servers.

Telecommunications monitors and similar programs perform such functions as

connecting or disconnecting communication links between computers and terminals,

automatically checking terminals for input/output activity, assigning priorities to data

communications requests from terminals and detecting and correcting transmission

errors. Thus, they control and support the data communications activities occurring in a

telecommunications network.

Telecommunications software packages for microcomputers provide several of

the control functions just mentioned. Such packages can connect a microcomputer

equipped with a modem to public and private networks. Communications control

packages such as Crosstalk, Access and Smartcom provide microcomputer users with

several major communications capabilities:

Terminal Emulation: The microcomputer can act as a generic dumb terminal

that can only send, receive and display data one line at a time. It can also act as a generic

intelligent terminal and transmit, receive and store entire files of data and programs.

Finally, some packages allow a microcomputer to emulate (act like) a specific type of

smart terminal, especially those used with large computer systems.

File Transfer: Files of data and programs can be downloaded from a host

computer to a microcomputer and stored on a disk or files can be uploaded from the

microcomputer to a host computer. Some programs allow files to be transferred

automatically between unattended computer systems.

Telecommunication packages for microcomputers are fairly easy to use. Once you

load the program, you are usually provided with a display that asks you to set

communications parameters (transmission speed and mode, type of parity, etc.). Then

you dial the computer system or network you want or have it done automatically for

you. Most networks will provide you with a series of prompts or menus to guide you in

sending or receiving messages, information and files.

3.5) DATABASE MANAGEMENT SYSTEMS:

A database management system (DBMS) is a set of computer programs that

controls the creation, maintenance and use of the database of users and computer-using

organizations. A DBMS is a system of software package that helps users use the

integrated collections of data records and files known as databases. It allows different

user application programs to easily access the same database. A DBMS also simplifies

the process of retrieving information from databases in the form of displays and reports.

Instead of having to write computer programs to extract information, users can ask simple

questions in a query language. Thus, any DBMS packages provide fourth-generation

languages (4GLs) and other application development features. Examples of popular

mainframe packages are DB2 by IBM and Oracle by Oracle Corporation.

Database management system packages can be used for both micro, mini

and mainframe computers. Lets evaluate its usage in microcomputers:

3.5.1) MICROCOMPUTER DBMS PACKAGES:

Microcomputer versions of file management and database management programs

have become so ppular that they are now viewed as general-purpose application programs

like word processing and spreadsheet packages. These packages come in many different

forms. Some are file management programs that use ‘flat file’ or ‘filing card’ structures.

These programs maintain data in single files whose fields are permanently fixed. Flat-file

systems are good for certain limited tasks, such as compiling club membership lists.

Microcomputer database management packages, such as dBASE IV by Ashton

Tate and R:base my Microri, typically use a more flexible kind of database structure-the

relational model. Relational database management systems are easy to understand and

use. A relational DBMS allows a user to think of data as arranged in tables, with the

records as rows and the fields as columns. This simple tabular structure is a major benefit

of the relational database model.

Database management programs allow end users to set up databases of files and

records on their personal computer systems and quickly store data and retrieve

information. Most DBMS packages can perform four primary tasks:

Database Creation: Define and organize the content, relationships and structure

of the data needed to build a database.

Database Interrogation: Access the data in a database to support various

information processing assignments. This typically involves information retrieval

and report generation. Thus, you can selectively retrieve and display information

and produce printed reports and documents.

Database Maintenance: Add, delete, update, correct and protect the data in a database.

Application Development: Develop prototypes of data entry screens, queries,

Forms, reports and labels for a proposed application. Use a 4GL or application

Generator to develop program code.

4. APPLICATION SOFTWARE

Application programs perform specific data or text processing functions.For example,word processing and payroll programs are application programs.Programmers who develop application programs are called application programmers.To develop programs,application programmers use a programming language or other development software.

Many of the application programs used by organizations that have mainframe or minicomputer systems were written and developed by the application programmers employed in the data processing departments of those organizations.That is,the programs were developed in-house.In other cases,the software was custom written by consultants or programmers external to the organization.Custom-written software is often very expensive,but like in-house developed software ,it may be the only way the organization can secure the kind of software it needs to do its work.

Increasingly,the application programs used on mainframes and especially the programs used on minicomputers and microcomputers are produced by professional software development companies.These commercially developed software application programs are purchased off-the-shelf by computer users to satisfy their specific application needs.Commercially developed application software programs are called canned programs or commercial software.

Two sources of application and system utility programs for microcomputers are shareware and freeware.Shareware is relatively inexpensive software that is often produced by individuals or mom-and-pop vendors and distributed on the honor system through electronic bulletin boards.Prices for shareware software packages may range from $5 to $50.There are thousands of shareware programs that can be of great benefit to small businesses and even major corporations.If you use these programs,however,be certain to pay the small fee to the developers.Freeware,or public domain software,is similar to shareware except that freeware programs are entirely free.

Regardless of the source,application programs are always written for a specific operating system.An important feature of any operating system,then,is the quantity and diversity of application programs that have been written for it.The set of application programs written for any one operating system is often reffered to as the library of application programs for that operating system.An operating system with a large library of application programs available.

At the same time,many software companies develop different versions of the same application software program for many operating systems.Software that is available for many operating systems allows you to use what appears to be the same application program regardless of the computer system you have.You may use a mainframe computer at times and a minicomputer or microcomputer at other times or even switch between different types of microcomputers at your home and office.Thus,you may not have to learn how to operate several word processors simply because you must switch computer systems from time to time.An organization that adopts different versions of one software program,such as a word processor,for its many computer systems saves training time and allows personnel to move easily from one job assignment and location to another.

4.1) GENERATIONS OF PROGRAMMING LANGUAGES:

4.1.1) FIRST GENERATION: MACHİNE LANGUAGES:

Machine languages are the most basic level of programming languages. In the

early stages of computer development, all program instructions had to be written using

binary codes unique to each computer. This type of programming involves the difficult

task of writing instructions in the form of strings of binary digits (ones and zeros) or other

number systems. Programmers must have a detailed knowledge of the internal operations

of the specific type of CPU they are using. They must write long series of detailed

instructions to accomplish even simple processing tasks. Programming in machine

language requires specifying the storage locations for every instruction and item of data

used. Instructions must be included for every switch and indicator used by the program.

These requirements make machine language programming a difficult and error-prone

task.

A machine language program to add two numbers together in the CPU of a

specific computer and store the result might take the form shown in Supplement 2,

Machine Language table. Like many computer instructions, these instructions consist of

an operation code which specifies what is to be done, and an operand, which specifies the

address of the data or device to be operated upon.

4.1.2) SECOND GENERATION: ASSEMBLY LANGUAGES:

Assembly languages are the next level of programming languages. They were

developed to reduce the difficulties in writing machine language programs. The use of

assembler languages requires language translator programs called assemblers, which

allow a computer to convert the instructions of such languages into machine

instructions. Assembly languages are frequently called symbolic languages, because

symbols are used to represent operation codes and storage locations. Convenient

alphabetic abbreviations called mnemonics(memory aids) and other symbols are used to

represent operation codes, storage locations and data elements. For example, the

computation X= Y+Z in an assembly language program might take the form shown in

supplement 2.

4.1.2.1) ADVANTAGES AND DISADVANTAGES OF ASSEMBLY LANGUAGES:

In an assembly language, alphabetic abbreviations that are easier to remember are

used in place of the actual numeric addresses of the data. This greatly simplifies

programming, since the programmer does not need to know the exact storage locations of

data and instructions. However, assembly language is still machine oriented, because

assembly language instructions correspond closely to the machine language instructions

of the particular computer model being used. Also, note that each assembly instruction

corresponds to a single machine instruction, and that the same number of instructions are

required in both illustrations.

Assembly languages are still widely used as a method of programming a

computer in a machine-oriented language. Most computer manufacturers provide an

assembly language that reflects the unique machine language instruction set of a

particular line of computers. This feature is particularly desirable to system programmers

who program systems software(as opposed to application programmers, who program

applications software), since it provides them with greater control and flexibility in

designing a program for a particular computer. They can then produce more efficient

software, that is, programs that require a minimum of instructions, storage and CPU time

to perform a specific processing assignment.

4.1.3) THIRD GENERATION: HIGH-LEVEL LANGUAGES:

High-level languages are also known as complier languages. The instructions of

High-level languages are called statements and closely resemble human language or the

standard notation of mathematics. Individual high-level language statements are actually

macro instructions; that is, each individual statement generates several machine

instructions when translated into machine language by high-level language translator

programs called compliers or interpreters.

High-level language statements resemble the phrases or mathematical expressions

required to express the problem or procedure being programmed. The syntax

(vocabulary, punctuation and grammatical rules) and the semantics (meanings) of such

statements do not reflect the internal code of any particular computer. For example, the

computation X= Y+Z would be programmed in the high-level languages of FORTRAN

and COBOL as shown in supplement 2, high-level language table. This table also

illustrates how close to the English language high-level language statements can be.

4.1.3.1) ADA:

A high-level programming language developed in the late 1970s and early 1980s

for the United States Defense Department. Ada was designed to be a general-purpose

language for everything from business applications to rocket guidance systems. One of its

principal features is that it supports real-time applications. In addition, Ada incorporates

modular techniques that make it easier to build and maintain large systems. Since 1986,

Ada has been the mandatory development language for most U.S. military applications.

In addition, Ada is often the language of choice for large systems that require real-time

processing, such as banking and air traffic control systems. Ada is named after Augusta

Ada Byron (1815-52), daughter of Lord Byron, and Countess of Lovelace. She helped

Charles Babbage develop programs for the analytic engine, the first mechanical

computer. She is considered by many to be the world’s first programmer.

Ada was developed as a standard ‘high-order language’ to replace COBOL and

FORTRAN. It resembles an extension of Pascal.

4.1.3.2) ALGOL (ALGOrithmic Language):

An international algebraic language designed primarily for scientific and

mathematical applications. It is widely used in Europe in place of FORTRAN.

4.1.3.3) APL:

Short for A Programming Language, a programming language noted for its

ability to generate matrixes — data elements presented in rows and columns — and its

brevity. The language shortens programs by including loops, or repeated functions,

within its fundamental instructions. Created in the early 1960s by Ken Inverson, the

language once used only a non-standard character set, including some Greek, but now

can be expressed with ISO standardized characters. The language is used on both small

computers and mainframes.

4.1.3.4) BASİC:

Acronym for Beginner’s All-purpose Symbolic Instruction Code. BASIC, which

is a simple procedure-oriented language widely used for interactive programming on

time-sharing systems and for personal computing, developed by John Kemeney and

Thomas Kurtz in the mid 1960s at Dartmouth College, is one of the earliest and simplest

high-level programming languages. During the 1970s, it was the principal programming

language taught to students, and continues to be a popular choice among educators.

Despite its simplicity, BASIC is used for a wide variety of business applications.

There is an ANSI standard for the BASIC language, but most versions of BASIC include

many proprietary extensions. Microsoft’s popular Visual Basic, for example, adds many

object-oriented features to the standard BASIC.

Recently, many variations of BASIC have appeared as programming, or macro,

languages within applications. For example, Microsoft Word and Excel both come with a

version of BASIC with which users can write programs to customize and automate these

applications.

4.1.3.5) C:

A high-level programming language developed by Dennis Ritchie at Bell Labs

in the mid 1970s. Although originally designed as a systems programming language, C

has proved to be a powerful and flexible language that can be used for a variety of

applications, from business programs to engineering. C is a particularly popular language

for personal computer programmers because it is relatively small — it requires less

memory than other languages.

The first major program written in C was the UNIX operating system, and for

many years C was considered to be inextricably linked with UNIX. Now, however, C is

an important language independent of UNIX.

Although it is a high-level language, C is much closer to assembly language than

are most other high-level languages. This closeness to the underlying machine language

allows C programmers to write very efficient code. The low-level nature of C, however,

can make the language difficult to use for some types of applications.

4.1.3.6) COBOL:

COBOL is an acronym for Common Business Oriented Language and was the

first language developed as a tool for business applications in the sixties. Both the

programmers and business analysts found this language to be easier to understand and

read. A COBOL program reads more like an essay in English rather than a computer-

based language. People are beginning to realize just how many legacy systems are written

in COBOL. There are billions of lines of code written in COBOL.” (EarthWeb)

Object Orientation is the big new programming paradigm of these days. COBOL

2000 will provide full support for the constructs of Object Oriented Programming (OOP).

Superficially, the role of OOP in COBOL 2000 is similar to that of Structured

Programming in COBOL 85. There is, however, a very important difference: While

Structured Programming was meant to be an alternative to traditional, “spaghetti-

oriented” programming, believed to be simply a better programming style, OOP will not

replace conventional programming, but will be used just for specific programming tasks,

for which it is better suited. Traditional COBOL programming will not go away, but will

be complemented by new language features for defining classes and objects.” (Fujitsu

Software)

4.1.3.7) FORTRAN:

FORTRAN is a powerful program language that allows you to perform numerical

calculations at an incredibly high speed. To write a program using FORTRAN you

prepare your FORTRAN code, which consists of sequence of instructions using the

commands and syntax of the FORTRAN language, using a text editor. The department

maintains several text editors on the UNIX system (emacs, epoch, NEdit, dxnotepad,

pico, etc…). Once your program is ready, you run the FORTRAN compiler giving your

program as input. On the departmental UNIX system this is accomplished by means of

the command

% f77 myfile.f

This will translate your FORTRAN commands into machine code and generate an

executable file (the name FORTRAN derives from FORmula TRANslator). As the

compiler processes your code it generates error messages and warnings, informing you of

mistakes in your code. These can range from simple typos to more subtle errors involving

the nature of the variables used in the program.

Once the mistakes have been corrected and your program compiles without error, the

FORTRAN compiler will produce an executable file. On the departmental system this

has the default name a.out. The executable consists of a sequence of instructions written

in machine code. Typing

% a.out

will cause the machine to execute these instructions.

Writing FORTRAN code requires learning the FORTRAN programming language. This

can be accomplished in a matter of days or years depending on the sophistication of the

code you wish to write, and your degree of familiarity with other programming languages

(e.g.. C). The department of Computer Science offers a number of courses in various

programming languages, which includes FORTRAN. However it is entirely possible to

attain a high degree of accomplishment through self study, and there are a number of

excellent books which offer considerable practical instruction in the use of FORTRAN.

FORTRAN compilers are available for almost all platforms. While programs

written in FORTRAN are in principle portable between various machines, provided they

have a FORTRAN compiler, many compilers contain extensions to the standard

FORTRAN 77, which allow one to take advantage of particular aspects of the

architecture. Also, each compiler will have a large number of compiler options which

allow you to fine tune the executable for a particular problem. These can result in

dramatic increases in the efficiency of the resultant executable. These are machine and

compiler specific and are listed in the compiler manuals and, on UNIX systems, in the

man pages. Type

% man f77

In addition to the FORTRAN compiler there are a large number of tools and

libraries that add considerable functionality to the FORTRAN programming

environment. These include editors (emacs has a FORTRAN mode for example),

debuggers (quite legal and very useful) and math libraries (see for example NAG and

numerical recipes).

4.1.3.8) PASCAL:

Pronounced pass-kal, a high-level programming language developed by Niklaus

Wirth in the late 1960Â’s . Pascal was developed as a powerful successor to ALGOL and

designed specifically to incorporate structured programming concepts. The language is

named after Blaise Pascal, a seventeenth-century French mathematician who constructed

one of the first mechanical adding machines.

Pascal is best known for its affinity to structured programming techniques. The

nature of the language forces programmers to design programs methodically and

carefully. For this reason, it is a popular teaching language.

Despite its success in academia, Pascal has had only modest success in the

business world. Part of the resistance to Pascal by professional programmers stems from

its inflexibility and lack of tools for developing large applications.

To address some of these criticisms, Wirth designed a new language called

Modula-2. Modula-2 is similar to Pascal in many respects, but it contains additional

features.

4.1.3.9) PL/1(Programming Language/1):

A general-purpose language developed to combine some of the features of

COBOL, FORTRAN, ALGOL and other special languages. It is a flexible language used

for business and scientific applications.

4.1.3.10) ADVANTAGES AND DİSADVANTAGES OF HIGH-LEVEL

LANGUAGES:

A high-level language is obviously easier to learn and understand than an

Assembly language. Also, high-level languages have less rigid rules, forms and syntaxes,

so the potential for error is reduced. However, high-level language programs are usually

less efficient than assembly language programs and require a greater amount of computer

time for translation into machine instructions. Since most high-level languages are

machine independent, programs written in a high-level language do not have to be

programmed when a new computer is installed and computer programs do not have to

learn a new language for each computer they program. The most widely used language

include COBOL for business application programs, BASİC for microcomputer end users

and FORTRAN for scientific and engineering applications. (See supplement 3)

4.1.4) FOURTH GENERATION LANGUAGES:

The term fourth-generation language is used to describe a variety of programming

Languages that are nonprocedural and conversational than prior languages. These

languages are called fourth-generation languages (4GLs) to differentiate them from

machine languages (first generation), assembly languages (second generation) and high-

level languages (third generation). It should be noted that some industry observers have

begun to use the term fifth-generation language to describe languages using artificial

intelligence techniques to accomplish results for users.

Most fourth-generation languages are nonprocedural languages that encourage

users and programmers to specify the results they want, while the computer determines

the sequence of instructions that will accomplish those results. Users and programmers

no longer have to spend a lot of time developing the sequence of instructions the

computer must follow to achieve a result. Thus, fourth generation languages have helped

simplify the programming process. Natural languages are 4GL that are very close to

English or other human languages. Research and development activity in artificial

intelligence (AI) is developing programming languages that are as easy to use as ordinary

conversation in oneÂ’s native tongue. Supplement Y outlines some of the major

differences between 3GL and 4GLÂ’s.

4.1.4.1) ADVANTAGES AND DISADVANTAGES OF FOURTH GENERATION

LANGUAGES:

There are major differences in the ease of use and technical sophistication of 4GL

products. For instance, INTELLECT and CLOUT are natural query languages that

impose no rigid grammatical rules, while SQL and FOCUS require concise structured

statements. However, the ease of use of 4GLs is gained at the expense of some loss in

flexibility. It is frequently difficult for an end user to override some of the pre-specified

formats or procedures of 4GL. Also, the machine language code generated by a program

developed by a 4GL is frequently much less efficient (in terms of processing speed and

amount of storage capacity needed) than a program written in a language like COBOL.

Major failures have been reported in some large transaction processing applications

programmed in a 4GL. These applications were unable to provide reasonable response

times when faced with a large amount of realtime transaction processing and end user

inquiries. However, 4GLs have shown great success in and user and departmental

applications without a high volume of transaction process.

4.1.5) OBJECT ORIENTED PROGRAMMING LANGUAGES:

In an even newer development, object-oriented programming (OOP) languages group program instructions and data into modules called objects that perform individual processing tasks. By grouping, or encapsulating, relevant program steps and data, an object captures a routine for performing a particular function or task. The object can then become part of many different processing routines that require that function. For example, one company uses OOP to computerize the way companies sell and deliver their products without shutting down entire programs

In effect, each object represents a limited-function application program. A complete object-oriented program combines objects with desired characteristics to perform processing required by the user. Objects in such a group can work effectively together because they acquire some characteristics of other objects in the same group through a process called inheritance,

Programmers create applications using object-oriented programming languages in much the same way that construction crews assemble buildings using prefabricated parts like window and door units. A carpenter adds an entry and exit capability to a wall by installing a complete door-and-jamb assembly, saving the trouble of making a door on-site and hanging it in a site-built jamb. In much the same way, a programmer can give a data-input capability to a payroll program simply by including an object with the required instructions. By combining existing objects for much of a program’s processing steps, the programmer can avoid the time and expense of writing new instructions for those tasks. An object can even direct a computer to execute programs or to retrieve and manipulate data from outside that object.

4.1.5.1) C++:

C++ is an “object oriented” language. Object oriented programming is a reaction

to programming problems that were first seen in large programs being developed in the

70s. All object oriented languages try to accomplish three things as a way of thwarting

the problems inherent in large projects: (1) object oriented languages all implement “data

abstraction” in a clean way using a concept called “classes”; (2) all object oriented

languages try to make parts of programs easily reusable and extensible; (3) object

oriented languages try to make existing code easily modifiable without actually changing

the code.

Since C++ is an object oriented language, it possesses the three object oriented

benefits discussed above. C++ adds two other enhancements of its own to clean up

problems in the original C language or to make programming in C++ easier than it is in

C: (1) C++ adds a concept called “operator overloading”; (2) C++ also cleans up the

implementation of several portions of the C language, most importantly I/O and memory

allocation.

C++ solves many other problems as well. For example, it solves the “common

code replicated in many places” problem by letting you factor out common code in a third

dimension. It solves the “I want to change the parameter type passed into a function

without changing the function” problem by letting you overload the same function name

with multiple parameter lists. It solves the “I want to make a tiny change to the way this

works, but I don’t have the source for it” problem, and at the same time it also solves the

“I want to redo this function completely but not change the rest of the library” problem

using inheritance. It makes the creation of libraries much cleaner. It drastically improves

the maintainability of code. And so on”.

4.2) CLASSES OF PROGRAMMING LANGUAGES:

In an even newer development, object-oriented programming (OOP) languages group program instructions and data into modules called objects that perform individual processing tasks. By grouping, or encapsulating, relevant program steps and data, an object captures a routine for performing a particular function or task. The object can then become part of many different processing routines that require that function. For example, one company uses OOP to computerize the way companies sell and deliver their products without shutting down entire programs

In effect, each object represents a limited-function application program. A complete object-oriented program combines objects with desired characteristics to perform processing required by the user. Objects in such a group can work effectively together because they acquire some characteristics of other objects in the same group through a process called inheritance.

Programmers create applications using object-oriented programming languages in much the same way that construction crews assemble buildings using prefabricated parts like window and door units. A carpenter adds an entry and exit capability to a wall by installing a complete door-and-jamb assembly, saving the trouble of making a door on-site and hangin

Kategori: Bilim


Rasgele...