Next: Waterfall model. Up: Large-scale software development. Previous: None.


Large-scale software

In this course, we have emphasized almost exclusively the details of a single programming language (Java), trying to understand the language enough to be able to write our own programs to do our simple tasks.

In the real world, the process is easily complicated by the fact that the real programs that people use aren't tiny things at all. In this class, we've written some largish programs, some even with a few hundred lines. But try comparing this to real systems that people use.

300 lines a typical lab assignment solution
7,500 lines Logisim, an educational circuit-building program
2,000,000 lines Solaris, the operating system running on our Sun computers
29,000,000 lines Windows 2000 operating system
Logisim represents a single-person effort, spanning a few weeks of development time. Even it's in a different class than our lab programs. But it bears no resemblance to a heavy-duty operating system like Solaris or Windows 2000, which involves huge teams of programmers working full-time for years on a system.

What we've been doing is what I call ``programming in the small.'' It's a necessary first step, but it's nothing like what happens in real software development projects.

What I want to do today is to introduce a general overview of the large-scale software development process, using a specific model called the waterfall model.


Next: Waterfall model. Up: Large-scale software development. Previous: None.