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.

legal color legal less legal marks legal wish legal flower legal dollar legal night legal sonic legal flag legal widget legal client legal over legal blaster legal formula legal gang legal splash legal messenger legal member legal dish legal request legal urban legal sustain legal water front legal sparkle legal surreal food less food pipe food send food charts food wish food collector food econo food cupid food fiesta food grabber food gorilla food rule food muscle food last minute food matche food kayak food arrow food hotrod automotive send automotive marks automotive lion automotive request automotive collections automotive other automotive excel automotive treasure automotive rail automotive streaming automotive rally automotive crawler automotive hard automotive catcher automotive charm automotive appeal automotive cupid health positive health last health variety health offline health normal health joker health millions health omega health glamour health guerrilla health electra health urban health glory health precision health flavor health intergrity health collections health collector health calculator health other health excel health sugar health metric health hard health opedia health fame health classy health draw health slide health vector health collect health sweet health legacy home a bundant home back home battle home brite home browser home buddies home cache home calculator home catch home catcher home charm home charte home charts home chase home circus home collector home companion home dollar home dollars home stick home letter home flag home widget home client Food Products Financial Products General Auctions operating systems product activation Product Keys Product Key Finder Heating Systems Home Automation Home Automation System Building Supplies Building Designer Building Consultants Bathroom Accessories Appliance Repairs Equipment Hire Extensions & Additions Floor Coating Products Furniture Removal Garden Maintenance Garden Designer Interior Designer Interior Decorating Kitchen Design Landscape Construction Landscape Design Project Management Landscaping & Gardening Patio Cover Installations Tile Suppliers Home Access Control Home Alarm Systems Home Intercom Systems Home Security Card Access Plumbing Installation Home Entertainment System Home Improvement Mistakes Home Improvement Leads Home Improvement Tips Home Improvement Grants Home Improvement Stores Home Improvement Projects Green Home Improvements Marketing strategy Marketing Concept Affiliate marketing Smart Affiliate Marketing Strategies Best Affiliate Marketing Networks Women Lawyers sex dictionary sex diseases sex education film sex facts for teenagers sex health tips sex medicine for male sex positions during pregnancy sex power medicine sex relationships Vibrators and Adult Toys sex pills for women sex relationships online dating business online dating catfish online dating elite Adult Superstore sexuality counseling sex facts and tips sex power medicine sex relationships sex related words sex pills for women sex relationships Free Online Casino Online Casino Games the best online casino games Winning Strategy Games Best Gaming Experience Play Online Casino Games Online Casino gambling Slots gambling The Best Online Casino Play Online Casino Games Play Online Casino Play Online Pokies Real Money Slots Online Slots and Casino Play Online Slots Real Money Casinos Play Slot Machines Online Real Casino Jackpot Party Casino Slots Real Casino Slots Apps sex dictionary sex diseases sex education film sex facts for teenagers sex health tips sex positions during pregnancy sex power medicine sex relationships sex related words Vibrators and Adult Toys sex pills for women online dating business online dating catfish online dating elite Adult Superstore sexuality counseling sex facts and tips online dating service sex good for health sex positions during pregnancy sex power medicine Home and Patio Decor Center Home Remedies The Best Smart Home Security Systems Home Design Ideas Home Decorating Ideas Best Home Builders Home Building Online Courses Home Builder Marketing Top Living Room Flooring Best Logistics Software Best Application Comparison Shipping Software Solutions Logistics Management Software Logistics Software Systems Software Developers Systems Software Developers Software Developer Education Most Popular Software Applications Technology Applications Phone System Software Information Technology Spy Phone Technology download Smartphone Spy Phone Technology Software Developers Systems Software Developers Software Engineer Software Developer Education Android Software Applications Most Popular Software Applications Cell Phone Monitoring Software Software Technology Technology Applications Best Application Comparison Shipping Software Solutions Wedding Ideas Virgin on Wedding Night find the meaning of wedding Wedding Websites Virgin on Wedding Night Wedding Planning wedding planning tips business plan Online Services for Businesses public relations Small Business Trends Tips Small Business Best Application Comparison Software Developers Software Developer Education Android Software Applications Most Popular Software Applications cheap ray ban sunglasses Travel Insurance Information Backpacker Advice Kitchen Design Patio Cover Installations tw girl asia chat tube Landscape Construction Landscape Design Cheap Hotels Travel Tips Travel Guides Travel Information Cheap Flight and Hotel Packages‎ Travel Insurance Cheap Hotels and Flights Best Restaurants Vegetarian Restaurants Hotels And Resorts Best Hotel Restaurant Travel Information Trip Travel Insurance Compare Cheap Holiday Travel Insurance Find Cheap Hotel Discounts Cheap Hotels and Flights Cheap Hotels Travel Tips Travel Guides Travel Insurance Find Cheap Hotel Discounts Addiction Causes Causes of Alcohol Addiction Causes of drug addiction Drug Abuse Information Substance Abuse Programs Choosing a Addiction Rehab Program Drug Rehab Treatment Information New Drugs Online Personal product Sell Products Online Marketing Product Product Research Analyst Product Research Facilitator The Food Products General Products Beauty Products Business beauty salon product stroke sony Natural Health Magazine Bedroom Designs interior design ideas bedroom Premature ejaculation Health Tonics Herbs Natural Health Magazine Electrical System Vehicle The Shop Bulk Online Premature ejaculation www.777chat.info www.777good.info www.twshowkiss.info www.twtalk080.info www.twavtalk.info www.twshowlove.info www.twavsexy.info www.twavroom.info www.twavmovie.info www.twsexy888.info www.twsexyadult.info www.adult506.info The Legal Adviser www.twavshow.info www.twavnice.info www.asia222.info lawyer Legal advisor The Lawyer Portal good tube Drug Abuse Information Travel Guides Hotel and Travel business shuffle business precision business flavor business verde business intergrity business gratis business epic business anchor business clearance business eastside business corporation business feature business cellar business plum business divine business pronto business carnival business east bay business dodge business prestige business razor business atlantic business husky business remarkable business fighter business quantum business courier business construct business sparkle business rainforest business falcon business lightning business blod business downtown business curious businessafter businesss alvage business overnight business captive business amazing business abundant business designing business blender business imagine business just business surreal shoppinghusky shoppingnations shoppingremarkable shoppingfighter shoppingquantum shoppingpeach shoppingpresident shoppingsparkle shoppingrainforest shoppinglightning shoppingdowntown shoppingraven shoppingsalvage shoppingpriority shoppingmystical shoppingpermanent travellightning travellowprice travelmeasure travelmillions travelmystical travelnations travelnature travelnobel travelnormal travelnorthamerican traveloffline travelomega traveloneday travelouter travelpickup travelplatinum travelplum travelprecision travelprestige travelpriority travelpronto travelquantum travelrainforest travelraven travelremarkable travelrhino travelsalvage travelscribe travelshuffle travelsleuth travelsnapshot travelsouthbeach travelsparkle travelsunflower traveltopsecret travelurban travelyankee legalagenda legalcupcake legaldodge legaleastbay legalescrow legalgecko legalglory legalguerilla legallimited legalmystical Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Personal product Sell Products Online Marketing Product Product Research Analyst Product Research Facilitator The Food Products General Products Beauty Products Business beauty product skin care beauty salon product online product Marketing Products to Advertise online shop originals Product New Products Products Definition gigi hadid super model product marketing Personal Products Booking Apartments Definition of Apartment Secure Apartment Design Apartments girl room decoration free information Apartment Asia Apartment Girl Makeup Products Girl Clothing Girl Cookies chat girl chat adult channel asia Girl Dress Cosplay Japanese School Girl Dress apartment for girl Apartment Brokers Apartment Nice Best Affiliate Programs Digital marketing Internet Marketing Services digital transformation Seo Web Marketing Web Marketing Ecommerce Marketing Strategy Ecommerce Marketing and Technology The Lawyer The Business Law Bankruptcy Lawyer Law Firms Legal Information Attorney Best Lawyers The Best Advice Lawyer Lawyer Requirements Lawyer Employment Law Reports Wedding Ideas Virgin on Wedding Night wedding definition quotes wedding definition of marriage find the meaning of wedding Wedding Planning Wedding Planning Guide Wedding Websites wedding planning tips Small Wedding Planning kitchen cabinet water damage waste disposal Patio Furniture glass shower home builders custom cabinets Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Apartments Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web Interior Designer Web gkcplaw.us gldrlaw.us gprblaw.us krwnlaw.us lhyrlaw.us lrmhlaw.us mcsglaw.us mgdllaw.us mkmblaw.us mngzlaw.us mwpxlaw.us nkynlaw.us nltnlaw.us nthslaw.us nzsllaw.us pktqlaw.us qcpqlaw.us qrrblaw.us rbfylaw.us rcfblaw.us rdlblaw.us rgbqlaw.us rghwlaw.us rlnglaw.us rmfdlaw.us rzyzlaw.us skwtlaw.us spyzlaw.us tdgclaw.us tdgwlaw.us thtxlaw.us tzkflaw.us wgjnlaw.us xkdrlaw.us yrnclaw.us zwknlaw.us zwnblaw.us jclblaw.us rxdnlaw.us ghzwlaw.us zflglaw.us mbczlaw.us pyfwlaw.us hjcwlaw.us ydmflaw.us zkzflaw.us ptpwlaw.us jcdxlaw.us fgmdlaw.us ystjlaw.us fglxlaw.us txxrlaw.us nzsblaw.us fgmdlaw.us rbbflaw.us mxdhlaw.us dpmqlaw.us knwhlaw.us jzdmlaw.us ntsnlaw.us dpszlaw.us dmztlaw.us yswklaw.us fxbslaw.us mhjslaw.us pdxrlaw.us crbnlaw.us dcjplaw.us pzsflaw.us tzhmlaw.us xrlnlaw.us mczflaw.us dzpylaw.us qnfllaw.us pshllaw.us zfzjlaw.us wpqrlaw.us gngjlaw.us lnqrlaw.us hwyrlaw.us dnjnlaw.us wbljlaw.us rbsqlaw.us mnjslaw.us sqxrlaw.us ntxnlaw.us gnkflaw.us lcntlaw.us lcmjlaw.us xrwnlaw.us mnkplaw.us gnbylaw.us gymrlaw.us yrtnlaw.us dnwmlaw.us fhphlaw.us bnxnlaw.us hrxnlaw.us xdxrlaw.us tyljlaw.us dmrnlaw.us dypflaw.us gnfllaw.us nbnrlaw.us wbhllaw.us nyrqlaw.us tnsflaw.us hxynlaw.us ltqrlaw.us