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