Different Types of Computer Repair Services

Our dependency towards technology is increasing day by day. Even a minor problem in the operating system disrupts our life and hampers our work. With the development of new technology, there also comes many technical problems such as virus infections, spyware attacks on the operating system, networks issues, and hardware failures. Therefore, fast and efficient troubleshooters are always needed to fix all your technical problems without disabling your work.

With the indispensable use of computers in our daily lives, we can not imagine encountering an issue that will leave us without our personal computers thus; We seek to have the computer service immediately. But due to the busyness of life, it is not possible for us to go to a computer service centers every time and get the system repaired leaving you days without a computer. Seeing today's need, there are many efficient and fast troubleshooters available online that will solve your problem in a fraction of time. Many of us do not understand need for professional computer repair services and try to solve the system related problem by themselves. Before going to any of the computer repair service sites, it is very important to be aware of the various types of services that are offered by the computer repair service centers:

1. IT services like network installation and configuration (LAN / WAN setup).

2. Virus & spyware removal. Installation of anti-virus software for a proactive approach to external attacks.

3. Hardware repair: Laptop / Mac / PC, printer, scanner, motherboard; CD / DVD ROM installation etc.

4. Problems related to Website development and presentation, graphic designing

5. Firewall and email security setup.

6. Windows OS installation and troubleshooting

7. Data backup and recovery

8. Tutorials to employees for solving small problems in-house

So, These are some of the services offered by the service providers. Before hiring any of the online computer repair services, it is very important to check the various types of services offered by them. So that you do not need to switch to different computer repair services sites for different services. It is also very important to check that there is a team of expert technicians for solving computer related problems individually, as this will help in solving the problem fast and efficiently. It is better to switch to such online computer repair services that you avail with the guarantee of fixing the problem fast else money back. As such, promises will pressurize the technicians to work efficiently and fix the problem quickly.

Posted in general | Comments Off on Different Types of Computer Repair Services

How to Repair DBF Files by Using DBF Recovery Software

As a computer user you must have heard about a DBF file or some of you have used it. DBF is a database file format used by various database software programs, such as: Visual FoxPro, Clipper, dbFast, CodeBase, MultiBase, dbXL, Arago and similar database programs. A database file is a collection of data organized in a tabular form. A DBF file can be easily opened, edited and saved by any of these database programs therefore, this file format is very popular among computer users.

The most common use of a database file is to store a large amount of data and information. The file is widely used in almost every sector, such as: corporate and educational sectors to store the data and information. It has become an essential file format for an individual and an organization.

Where this file format is very useful for users on the other hand, it may create some serious problems as well. Sometimes a DBF file may become inaccessible or invalid due to corruption. DBF is not immune to corruption; in fact, this file format is prone to corruption due to its large size and complex file structure. It might be easily corrupted due to various reasons, such as: virus attacks, malfunction in database application, hard disk drive failure, software collision, unexpected cancellation of DBF, human errors and many more. These are some common reasons which can play an important role in database file corruption.

While opening a corrupt DBF file you may receive some error messages something like these:

  • “File .dbf does not exist”.
  • “The fields in table did not match the entries in the database”.
  • “Access to table disabled due to previous error”.
  • “Database file appears corrupt: Page is of wrong type.
  • “Corrupt table”/ “index header”.
  • “Filename .dbf has become corrupted”.

These are some common errors which frequently take place at the time of corruption. For example: you are working on your DBF file, everything is fine. But all of a sudden your database application (Visual FoxPro or other) starts hanging. You have no other option other than restarting the system. But when you restart your system and open the same DBF file, in which you were working earlier, it does not open or you get an error message saying the file is corrupted or damaged. This must be very frustrating situation for any user since all the hard work will go into the vain. All the data and information stored in the file might be lost forever. You have to re-create the file, which might not be possible in some cases.

In such critical state a BKF file will definitely help you. If you have backed up the database file (which is now corrupted), then you can easily restore it from the BKF file. But sometimes the BKF file may not be available or corrupted or invalid. In this situation you can use third-party DBF recovery software. This is one of the most efficient and effective solutions to fix corrupt DBF files. The DBF recovery software is designed to repair an extremely corrupted DBF file and to restore maximum data from it. It is highly capable to resolve or fix all the errors from corrupted DBF files. The software supports all popular database applications, such as: dBase III, dBase IV, dBase V, Visual FoxPro, Clipper, dBFast, CodeBase, MultiBase, dBXL and Arago. The best feature of the software is its self-describing user interface. It requires no technical knowledge or skills to use this software. Any tech savvy and a novice user can easily and comfortably use this software to repair corrupted DBF files. The DBF Recovery software is available with free demo version. Users can download the demo version before buying the full software. This helps users to examine the features and performance.

Posted in general | Comments Off on How to Repair DBF Files by Using DBF Recovery Software

The Importance Of Excel In The Workplace

Excel is perhaps the most important computer software program used in the workplace today. That’s why so many workers and prospective employees are required to learn Excel in order to enter or remain in the workplace.

From the viewpoint of the employer, particularly those in the field of information systems, the use of Excel as an end-user computing tool is essential. Not only are many business professionals using Excel to perform everyday functional tasks in the workplace, an increasing number of employers rely on Excel for decision support.

In general, Excel dominates the spreadsheet product industry with a market share estimated at 90 percent. Excel 2007 has the capacity for spreadsheets of up to a million rows by 16,000 columns, enabling the user to import and work with massive amounts of data and achieve faster calculation performance than ever before.

Outside the workplace, Excel is in broad use for everyday problem solving.

Let’s say you have a home office. You can use Excel to calculate sales tax on a purchase, calculate the cost of a trip by car, create a temperature converter, calculate the price of pizza per square inch and do analysis of inputted data. You can track your debt, income and assets, determine your debt to income ratio, calculate your net worth, and use this information to prepare for the process of applying for a mortgage on a new house. The personal uses for Excel are almost as endless as the business uses for this software – and an Excel tutorial delves into the practical uses of the program for personal and business use.

The use of spreadsheets on computers is not new. Spreadsheets, in electronic form, have been in existence since before the introduction of the personal computer. Forerunners to Excel and Lotus 1-2-3 were packages such as VisiCalc, developed and modeled on the accountant’s financial ledger. Since 1987, spreadsheet programs have been impacting the business world. Along the way, computerized spreadsheets have become a pervasive and increasingly effective tool for comparative data analysis throughout the world.

Today, end users employ Excel to create and modify spreadsheets as well as to author web pages with links and complex formatting specifications. They create macros and scripts. While some of these programs are small, one-shot calculations, many are much more critical and affect significant financial decisions and business transactions.

Widely used by businesses, service agencies, volunteer groups, private sector organizations, scientists, students, educators, trainers, researchers, journalists, accountants and others, Microsoft Excel has become a staple of end users and business professionals.

The beauty of Excel is that it can be used as a receiver of workplace or business data, or as a calculator, a decision support tool, a data converter or even a display spreadsheet for information interpretation. Excel can create a chart or graph, operate in conjunction with Mail Merge functions, import data from the Internet, create a concept map and sequentially rank information by importance.

Excel offers new data analysis and visualization tools that assist in analyzing information, spotting trends and accessing information more easily than in the past. Using conditional formatting with rich data display schemes, you can evaluate and illustrate important trends and highlight exceptions with colored gradients, data bars and icons.

Indeed, Excel can be customized to perform such a wide variety of functions that many businesses can’t operate without it. Excel training has become mandatory in many workplaces; in fact, computer software training is a must for any workplace trying to keep up with the times.

Let’s say you’re an employer with 97 workers, 17 of whom called in sick today, and you want to know the percentage represented by absentees. Excel can do that. You can learn Excel and use it to determine the ratio of male to female employees, the percentage of minorities on the payroll, and the ranking of each worker by compensation package amount, including the percentages of that package according to pay and benefits. You can use Excel to keep track of production by department, information that may assist you in future development plans. You can create additional spreadsheets to track data on vendors and customers while maintaining an ongoing inventory of product stock.

Let’s say you want to know your business production versus cost. You don’t have to be a math wiz – you just have to learn Excel. Excel allows you to input all of the data, analyze it, sort it according to your customized format, and display the results with color, shading, backgrounds, icons and other gimmicks that offer time-saving assistance in later locating precisely the information desired. If this spreadsheet is for presentation purposes, Excel helps you put it together in such a visually appealing way that the data may seem to pop and sparkle.

The single most important thing an employer may do is learn Excel – it is one of the most essential tools of the workplace.

Excel and Microsoft are trademarks of Microsoft Corporation, registered in the U.S. and other countries. Lotus is a registered trademark of International Business Machines Corporation in the U.S. and/or other countries.

Posted in general | Comments Off on The Importance Of Excel In The Workplace

The Importance Of Excel In The Workplace

Excel is perhaps the most important computer software program used in the workplace today. That’s why so many workers and prospective employees are required to learn Excel in order to enter or remain in the workplace.

From the viewpoint of the employer, particularly those in the field of information systems, the use of Excel as an end-user computing tool is essential. Not only are many business professionals using Excel to perform everyday functional tasks in the workplace, an increasing number of employers rely on Excel for decision support.

In general, Excel dominates the spreadsheet product industry with a market share estimated at 90 percent. Excel 2007 has the capacity for spreadsheets of up to a million rows by 16,000 columns, enabling the user to import and work with massive amounts of data and achieve faster calculation performance than ever before.

Outside the workplace, Excel is in broad use for everyday problem solving.

Let’s say you have a home office. You can use Excel to calculate sales tax on a purchase, calculate the cost of a trip by car, create a temperature converter, calculate the price of pizza per square inch and do analysis of inputted data. You can track your debt, income and assets, determine your debt to income ratio, calculate your net worth, and use this information to prepare for the process of applying for a mortgage on a new house. The personal uses for Excel are almost as endless as the business uses for this software – and an Excel tutorial delves into the practical uses of the program for personal and business use.

The use of spreadsheets on computers is not new. Spreadsheets, in electronic form, have been in existence since before the introduction of the personal computer. Forerunners to Excel and Lotus 1-2-3 were packages such as VisiCalc, developed and modeled on the accountant’s financial ledger. Since 1987, spreadsheet programs have been impacting the business world. Along the way, computerized spreadsheets have become a pervasive and increasingly effective tool for comparative data analysis throughout the world.

Today, end users employ Excel to create and modify spreadsheets as well as to author web pages with links and complex formatting specifications. They create macros and scripts. While some of these programs are small, one-shot calculations, many are much more critical and affect significant financial decisions and business transactions.

Widely used by businesses, service agencies, volunteer groups, private sector organizations, scientists, students, educators, trainers, researchers, journalists, accountants and others, Microsoft Excel has become a staple of end users and business professionals.

The beauty of Excel is that it can be used as a receiver of workplace or business data, or as a calculator, a decision support tool, a data converter or even a display spreadsheet for information interpretation. Excel can create a chart or graph, operate in conjunction with Mail Merge functions, import data from the Internet, create a concept map and sequentially rank information by importance.

Excel offers new data analysis and visualization tools that assist in analyzing information, spotting trends and accessing information more easily than in the past. Using conditional formatting with rich data display schemes, you can evaluate and illustrate important trends and highlight exceptions with colored gradients, data bars and icons.

Indeed, Excel can be customized to perform such a wide variety of functions that many businesses can’t operate without it. Excel training has become mandatory in many workplaces; in fact, computer software training is a must for any workplace trying to keep up with the times.

Let’s say you’re an employer with 97 workers, 17 of whom called in sick today, and you want to know the percentage represented by absentees. Excel can do that. You can learn Excel and use it to determine the ratio of male to female employees, the percentage of minorities on the payroll, and the ranking of each worker by compensation package amount, including the percentages of that package according to pay and benefits. You can use Excel to keep track of production by department, information that may assist you in future development plans. You can create additional spreadsheets to track data on vendors and customers while maintaining an ongoing inventory of product stock.

Let’s say you want to know your business production versus cost. You don’t have to be a math wiz – you just have to learn Excel. Excel allows you to input all of the data, analyze it, sort it according to your customized format, and display the results with color, shading, backgrounds, icons and other gimmicks that offer time-saving assistance in later locating precisely the information desired. If this spreadsheet is for presentation purposes, Excel helps you put it together in such a visually appealing way that the data may seem to pop and sparkle.

The single most important thing an employer may do is learn Excel – it is one of the most essential tools of the workplace.

Excel and Microsoft are trademarks of Microsoft Corporation, registered in the U.S. and other countries. Lotus is a registered trademark of International Business Machines Corporation in the U.S. and/or other countries.

Posted in general | Comments Off on The Importance Of Excel In The Workplace

Examining Computer Hardware Components

1. Checking the Screen or Monitor
The screen of your computer or monitor has pixels. These pixels have three colors: Red, green and blue. Pixels can often be damaged or stop functioning properly displaying only one color or just being black.

There is an online tool to check for bad pixels called "CheckPixels" The test at CheckPixels will display your three main colors mentioned above and if a pixel is dead, it will show as a black spot and if a pixel is glowing a different color ( Malfunctioning) you will see that too.

2. Checking the Keyboard
The keyboard might not seem important as a hardware component, but it is used in almost all tasks and taken for granted. For laptop users, the keyboard is very important. If one has to send the laptop away for repair the entire computer must go with it. There is also an online test tool available to test all your keyboard keys called "KeyboardTester".

3. Checking the Disk Drive (HDD & SSD)
Your HDD / SSD has your operating system and most of your applications and files. Having your HDD / SDD completely healthy is very important. This is most imperative when dealing with a used computer since you have no awareness of the previous history or care of the used computer and its HDD / SDD.

Different tools are available to check the condition and health of the HDD / SDD.

HDSentinel is one you can use for your HDD. The left hand side of the screen will display drives connected the computer. Health is the main parameter to look for. HD Sentinel will explain the meaning of the health percentages and the steps that you should take based on the results. As an example, you should not throw out your HDD just because of a few bad disk sectors and IO errors.

SSDlife is another tool specifically for an SSD. It also shows health in percentages and the expected life of the drive. Similar to hard disks, bad sectors can occur in SSDs.

4. Checking the Processing Units (CPU & GPU)

The main components that do all the processing are the Central Processing Unit (CPU) and the Graphics Processing Unit (GPU). These are the components that allow you to run your office applications and your games. These are also essential components to ensure are in perfect working order. So it is necessary that these two components should be in perfect condition. For testing both, we use CPU speed test

For testing your GPU, the tool.Base Mark Web 3.0 works just fine.

5. Checking the Random Access Memory (RAM)

RAM is the one essential component that has the most immediate impact on your computers performance. MemTest from HCI Design is a great tool to check your unused memory for errors. Identifying and fixing errors with your RAM is important. Errors in RAM cause the infamous "blue screen of death". Boot problems can also be attributed to RAM errors.

Conclusion
Besides the hardware component tests above, you should also check your Ethernet ports and connection, wireless connection from the wireless card (internal or external), HDMI, DVI and USB connections using available cabling and devices.

Posted in general | Comments Off on Examining Computer Hardware Components

What Does a Salesforce Developer Do?

A Salesforce developer is tasked with handling and customizing the Salesforce software suite. This software is designed to help any business with customer relationship management. It handles almost any aspect of customer relationship management (CRM) with a number of products that are designed to help you maximize your business potential. A Salesforce developer can help you to combine all aspects of your business into an efficient force in the marketplace. From your business itself, the technology it uses, and the customers your business relies on, the software is there to help you with all your CRM needs.

So what exactly does a Salesforce developer to?

To put it simply, a Salesforce developer helps to customise this software to make customer relationship management more efficient. By making your CRM more efficient, this allows you to develop and maintain the relationships with your customers – which is a vital part of every business. The software contains several different applications that allows for a great deal of flexibility for your business – and there are many opportunities for customisation if you employ the help of a Salesforce developer.

Here are some of these applications:

Sales Cloud: Sales Cloud is the number 1 CRM app in the world and millions of businesses have used it to enhance their customer relations and grow their products. By taking advantage of cloud computing technology Sales Cloud is able to do more for you than other CRM apps.

Service Cloud: Service Cloud is all about helping you develop customer connections. By utilizing cloud technology Service cloud can help you improve your customer service centres and enhance your social media marketing efforts.

Marketing Cloud: Marketing Cloud is an all-in-one social networking suite. This product will help you build a social network from the ground up or can be used to improve on any social network you already have created.

Salesforce Platform: This product is perfectly designed to help you create apps for any purpose you need. A Salesforce developer can create amazing social apps, innovative real time apps, and take advantage of the growing mobile market with mobile apps. Apps are the next wave of marketing and a Salesforce developer can help you get on top.

Chatter: This product is designed to help you improve communication not only within your business but with your customers as well. By using Chatter you can collaborate and communicate with each other no matter where you are.

Work.com: This product is to help you get more out of your business by making employees more efficient and maximizing their time and talents. Again, you can talk to a Salesforce developer to ask if they can help you make the most of this product.

Whilst the above information gives some idea of what the software and a Salesforce developer can do for you, the best thing to do is to give it a try. Once you have everything set up and rolling you will be asking yourself why you didn’t do this sooner.

Once you’ve got to grips with the software, it’s time to think about making it work for your business. It’s really powerful, but to make the most of it, it’s advisable to employ the services of a Salesforce developer. Then you’ll really be unlocking its potential.

Posted in general | Comments Off on What Does a Salesforce Developer Do?

Define Computer Hardware

It is quite well known that the working of the computer is dropped by hardware and software. One can define computer hardware as the electronic, magnetic, and electric devices that carry out the computing functions. Hardware is the physical components of the computer like microprocessor, hard disks, RAM, and motherboard. The peripheral devices such as monitor, mouse, keyboard, printer, and speakers can also be included in the list of hardware parts. The programs that run on the computers like Windows, C ++, and Photoshop are the software parts of the computer. A good example for an easy understanding of hardware-software definition is music CDs. The actual compact disk is the hardware, while the songs and music in the CD are the software parts.

There is another way to define computer hardware. Hardware devices are the executors of the commands provided by software applications. For example, let us see what happens when you click the print button of the web browsing software. The software application provides a command to the processor, which is the central part of all computer hardware. Processor in turn checks for an attached printer. If the printer is ready, the software will get a positive response from the processor. Then the software application provides instruction to the printer via the processor to print the web page. In that sense, hardware parts are the foot soldiers and software applications are the commanders in the digital operation that takes place within a computer.

The main player of computer hardware is unduly the microprocessor. It is the sun in the solar system of computer hardware devices. It is the central component and all other components work around it. It is an integrated chip on which a number of functions are incorporated. Two specifications determine its efficiency. One is its processing speed, which is measured in gigahertz. The other is its bit rate. Commonly available processors are 32 bit and 64 bit. The bit rate is a measure of the efficiency of a processor to carry out multiple operations at the same time.

One can not define computer hardware without mentioning the two types of memory used in computers. One is permanent memory. It refers to the magnetic storage capacity of hard disk. It is measured in gigabytes. The second is RAM or random access memory. This memory is able to store data only when the computer is switched on. The memory will lose all the data when the computer is switched off.

Another important product that one should mention when one defines computer hardware is motherboard. It is the electric and electronic circuit board on which all the other components are inserted. There are several other kinds of products such as sound card, video card, network card, and modem that complete the hardware spectrum.

Posted in general | Comments Off on Define Computer Hardware

How Car Mechanics Use Technology

Do you know why it’s important to find a good mechanic or a good repair shop to repair your car? The reason: it could save you hundreds of dollars in parts and labor! When we say a “good mechanic” or a “good repair shop”, we’re referring to mechanics who are equipped with the latest technology. You don’t want to entrust your car to a shop with outdated machinery and equipment because it will take longer to arrive at a diagnosis. And the longer a mechanic takes to make a diagnosis, the larger your bill for labor!

Remember that car mechanics charge by the hour.

Car repairs can cover any one or a combination of the following (note that this is not a complete repair list).

• Air conditioning checks

• Air bag checks

• Electrical wiring

• Cables

• Clutch service and repair

• Transmission repair

• Wheel Alignment

• Suspension

• Brakes

• Heating system

• Oil and lubrication

• Battery

• Power windows

Much of the troubleshooting that mechanics use to diagnose a problem is facilitated by car repair technology.

Ever noticed how some lights on your panel come on when something’s wrong? In most cases, an experienced mechanic will know immediately what the problem is, but there are instances where it will take sophisticated technology to lead to an accurate diagnosis.

Sophisticated technology comes in many forms and one popular one is troubleshooting software. Companies like Auto Tech have a software program that car owners can use to find out what is ailing their vehicle.

Most car owners who were cynical about software programs before should seriously consider purchasing a reliable car troubleshooting software program. For instance, some programs start out by asking you to input your car make and model number, the year of the car and what kinds of equipment it has. The software features a large database of information about all cars in the market and a car owner simply follows the steps when prompted. It employs what the industry calls a “tree diagnosis” where logical steps take you through the entire diagnosis process.

After you’ve keyed in your car’s profile, you use the drop down menu to choose the symptoms that your car is exhibiting. For instance, if you choose “squealing brakes”, the program mimics the squealing of brakes and if that’s the sound you hear, you confirm it and the program recommends a series of steps.

You may not really want to use a troubleshooting software, but imagine how much time and money you could save if you spoke to the mechanic intelligently, letting him know that you’re in the know.

Students who are studying towards certification buy certain tools of the trade. A couple of examples are Snap On and Mac Tools. These two are the most popular in the United States and Canada.

Mechanics now have a wide range of technology tools to help them understand car problems better: digital multimeters (electronic measuring), boroscopes (testing heat exchangers), fuel diagnostic testers (testing and balancing fuel injectors) and other such new technologies.

New car mechanic technologies help shorten the learning curve and speed up diagnosis so that the car owner isn’t saddled with too many labor hours.

Posted in general | Comments Off on How Car Mechanics Use Technology

Advantages and Disadvantages of Biometric Time and Attendance Software

First of all let me ask you what you understand by time and attendance software? Have you ever been asked to log in as soon as you enter office and the main gate of the office has a Biometric machine that takes in your finger prints and allows you to enter the office premise? Yes, these are the time and attendance software being installed in a company.

Biometrics consists of methods for uniquely identifying a person (human being) by his/her physical or behavioral traits. There are many biometric software available in market for such purpose and their use is widely known. One such use is Biometric time and attendance management software.

Those days are gone when we had to punch in cards or sign into a register to tell the other person that we are present. Just as paper checking has been changed from manual to computerized, identifying a person and letting him in your office has been changed from manual to biometrics.

There are many benefits of having such methodology in your office. Such as:

• Accurate timing: When a person looks at his watch and enters the time there is a slight chance that he may see the wrong timing and write. Whereas with biometric time and attendance software there is no possibility of such mistake. The user does not need to see or check the time, it automatically gets logged in.

• Less error: There is no scope of human error here.

• Profit to company: If it’s accurate and correct the company will definitely gain from it.

As everything has a good and bad side this too has its disadvantages, such as:

• Extra cost to company: Biometric software and machine cost a lot more, so installing such software need a good investment money wise.

• Extra management: Remember when every employee is logging his own timing when he comes or leaves; there is no extra management here. But, if you are putting a machine there has to be taken some care of it.

Biometrics time and management software is really helpful when creating payrolls for employees. Once a definite timing has been registered you don’t need to think twice before creating the employees pay.

Many homes are also using such kind of software to have a safe and secure home. Biometric software is really helpful when you need security in your home as well as in office. There are many companies all over the world providing such biometric time and attendance software. You just need to keep an eye on the technologies and websites that are providing you these.

Posted in general | Comments Off on Advantages and Disadvantages of Biometric Time and Attendance Software

Why Do We Need Software Engineering?

To understand the necessity for software engineering, we must pause briefly to look back at the recent history of computing. This history will help us to understand the problems that started to become obvious in the late sixties and early seventies, and the solutions that have led to the creation of the field of software engineering. These problems were referred to by some as “The software Crisis,” so named for the symptoms of the problem. The situation might also been called “The Complexity Barrier,” so named for the primary cause of the problems. Some refer to the software crisis in the past tense. The crisis is far from over, but thanks to the development of many new techniques that are now included under the title of software engineering, we have made and are continuing to make progress.

In the early days of computing the primary concern was with building or acquiring the hardware. Software was almost expected to take care of itself. The consensus held that “hardware” is “hard” to change, while “software” is “soft,” or easy to change. According, most people in the industry carefully planned hardware development but gave considerably less forethought to the software. If the software didn’t work, they believed, it would be easy enough to change it until it did work. In that case, why make the effort to plan?

The cost of software amounted to such a small fraction of the cost of the hardware that no one considered it very important to manage its development. Everyone, however, saw the importance of producing programs that were efficient and ran fast because this saved time on the expensive hardware. People time was assumed to save machine time. Making the people process efficient received little priority.

This approach proved satisfactory in the early days of computing, when the software was simple. However, as computing matured, programs became more complex and projects grew larger whereas programs had since been routinely specified, written, operated, and maintained all by the same person, programs began to be developed by teams of programmers to meet someone else’s expectations.

Individual effort gave way to team effort. Communication and coordination which once went on within the head of one person had to occur between the heads of many persons, making the whole process very much more complicated. As a result, communication, management, planning and documentation became critical.

Consider this analogy: a carpenter might work alone to build a simple house for himself or herself without more than a general concept of a plan. He or she could work things out or make adjustments as the work progressed. That’s how early programs were written. But if the home is more elaborate, or if it is built for someone else, the carpenter has to plan more carefully how the house is to be built. Plans need to be reviewed with the future owner before construction starts. And if the house is to be built by many carpenters, the whole project certainly has to be planned before work starts so that as one carpenter builds one part of the house, another is not building the other side of a different house. Scheduling becomes a key element so that cement contractors pour the basement walls before the carpenters start the framing. As the house becomes more complex and more people’s work has to be coordinated, blueprints and management plans are required.

As programs became more complex, the early methods used to make blueprints (flowcharts) were no longer satisfactory to represent this greater complexity. And thus it became difficult for one person who needed a program written to convey to another person, the programmer, just what was wanted, or for programmers to convey to each other what they were doing. In fact, without better methods of representation it became difficult for even one programmer to keep track of what he or she is doing.

The times required to write programs and their costs began to exceed to all estimates. It was not unusual for systems to cost more than twice what had been estimated and to take weeks, months or years longer than expected to complete. The systems turned over to the client frequently did not work correctly because the money or time had run out before the programs could be made to work as originally intended. Or the program was so complex that every attempt to fix a problem produced more problems than it fixed. As clients finally saw what they were getting, they often changed their minds about what they wanted. At least one very large military software systems project costing several hundred million dollars was abandoned because it could never be made to work properly.

The quality of programs also became a big concern. As computers and their programs were used for more vital tasks, like monitoring life support equipment, program quality took on new meaning. Since we had increased our dependency on computers and in many cases could no longer get along without them, we discovered how important it is that they work correctly.

Making a change within a complex program turned out to be very expensive. Often even to get the program to do something slightly different was so hard that it was easier to throw out the old program and start over. This, of course, was costly. Part of the evolution in the software engineering approach was learning to develop systems that are built well enough the first time so that simple changes can be made easily.

At the same time, hardware was growing ever less expensive. Tubes were replaced by transistors and transistors were replaced by integrated circuits until micro computers costing less than three thousand dollars have become several million dollars. As an indication of how fast change was occurring, the cost of a given amount of computing decreases by one half every two years. Given this realignment, the times and costs to develop the software were no longer so small, compared to the hardware, that they could be ignored.

As the cost of hardware plummeted, software continued to be written by humans, whose wages were rising. The savings from productivity improvements in software development from the use of assemblers, compilers, and data base management systems did not proceed as rapidly as the savings in hardware costs. Indeed, today software costs not only can no longer be ignored, they have become larger than the hardware costs. Some current developments, such as nonprocedural (fourth generation) languages and the use of artificial intelligence (fifth generation), show promise of increasing software development productivity, but we are only beginning to see their potential.

Another problem was that in the past programs were often before it was fully understood what the program needed to do. Once the program had been written, the client began to express dissatisfaction. And if the client is dissatisfied, ultimately the producer, too, was unhappy. As time went by software developers learned to lay out with paper and pencil exactly what they intended to do before starting. Then they could review the plans with the client to see if they met the client’s expectations. It is simpler and less expensive to make changes to this paper-and-pencil version than to make them after the system has been built. Using good planning makes it less likely that changes will have to be made once the program is finished.

Unfortunately, until several years ago no good method of representation existed to describe satisfactorily systems as complex as those that are being developed today. The only good representation of what the product will look like was the finished product itself. Developers could not show clients what they were planning. And clients could not see whether what the software was what they wanted until it was finally built. Then it was too expensive to change.

Again, consider the analogy of building construction. An architect can draw a floor plan. The client can usually gain some understanding of what the architect has planned and give feed back as to whether it is appropriate. Floor plans are reasonably easy for the layperson to understand because most people are familiar with the drawings representing geometrical objects. The architect and the client share common concepts about space and geometry. But the software engineer must represent for the client a system involving logic and information processing. Since they do not already have a language of common concepts, the software engineer must teach a new language to the client before they can communicate.

Moreover, it is important that this language be simple so it can be learned quickly.

Posted in general | Comments Off on Why Do We Need Software Engineering?