15.04.2018 Views

programming-for-dummies

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

108<br />

Software Engineering Methods<br />

Software Engineering Methods<br />

In the early days of computer <strong>programming</strong>, a single <strong>programming</strong> genius<br />

might create a program. However, relying on the inspiration and creativity of<br />

a single genius isn’t a way to run a business. If the <strong>programming</strong> genius dies<br />

or quits, the company selling that program won’t know how to fix or update<br />

the program later.<br />

So the idea behind software engineering is to remove a company’s dependence<br />

on a single <strong>programming</strong> genius and establish a systematic method <strong>for</strong><br />

creating software that can be done with an army of competent programmers<br />

rather than a single inspired <strong>programming</strong> wizard.<br />

Over the years, computer scientists have created a variety of software engineering<br />

methods, which all have advantages and disadvantages. No matter<br />

which software engineering method is popular today or tomorrow, the goals<br />

are always the same:<br />

✦ Make it easy to write large computer programs within a reasonable<br />

period of time.<br />

✦ Create software that works reliably.<br />

Writing large programs is hard enough. Being able to create large programs<br />

within a strict deadline is much harder and making sure the software can be<br />

trusted to work reliably is even tougher. Software engineering methods try to<br />

solve these problems in various ways with different results, ranging from<br />

complete success (rare) to abysmal failures (more common than you might<br />

like to think).<br />

Designing a program with the waterfall model<br />

The waterfall model of software engineering divides the task of creating a<br />

large software project into distinct parts with each part being fully completed<br />

be<strong>for</strong>e the other part can even begin.<br />

Typically, the waterfall method divides a software project into four parts, as<br />

shown in Figure 5-1:<br />

✦ Analysis<br />

✦ Design<br />

✦ Implementation<br />

✦ Testing<br />

The idea behind the waterfall method is to complete tasks one at a time so<br />

that you’re always focusing on a single task.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!