15.04.2018 Views

programming-for-dummies

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 5: Managing Large<br />

Projects with Software Engineering<br />

In This Chapter<br />

Choosing your software engineering method<br />

Using CASE to automate software engineering<br />

The pluses and minuses of software engineering<br />

Writing a small program is easy. You just type your program in an editor<br />

and shove your source code through a compiler. If you find any problems,<br />

dig through the source code, fix the problem, and recompile the whole<br />

thing all over again. No matter how many bugs pop up in your program,<br />

chances are good your program is small enough so you can hunt any bugs<br />

and wipe them out without much trouble.<br />

What happens if you need to write a massive program to control the flight of a<br />

satellite in orbit or an automatic safety system <strong>for</strong> monitoring a nuclear plant?<br />

Unlike simple programs that can consist of a few hundred lines of code, massive<br />

<strong>programming</strong> projects can contain millions of lines of code. How can you<br />

create such a large program, let alone debug, test, and maintain it?<br />

That’s where software engineering comes into play. Just as it’s much easier<br />

to pitch a pup tent by yourself than it is to construct a skyscraper on your<br />

own, it’s also easier to write a simple program by yourself, but nearly impossible<br />

to write a million-line program all by yourself.<br />

When you have to write a huge program, you probably can’t do it alone, so<br />

you need to work with a team of programmers and coordinate your ef<strong>for</strong>ts.<br />

Even be<strong>for</strong>e you write a single line of code, you need a plan <strong>for</strong> creating the<br />

program from the start. Just as no one starts welding I-beams together to<br />

build a skyscraper without making plans first, no one tackles a massive software<br />

project without a lot of planning ahead of time.<br />

Software engineering is about creating guidelines to help people consistently<br />

write reliable programs within a reasonable amount of time. The fact that governments<br />

and Fortune 500 companies routinely start massive software projects<br />

with no plans (and often abandon them after never getting them to work<br />

despite spending millions of dollars) is proof that software engineering is a<br />

nice term that often gets completely ignored in the real world.

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

Saved successfully!

Ooh no, something went wrong!