Book contents
CHAPTER 3 - LARGE-SCALE DEVELOPMENT
Published online by Cambridge University Press: 06 July 2010
Summary
Creating great software is hard, but it's even harder when you try to do it in a scope of a large system. The good news is programming tools and methods have improved; the bad news is the average size of a software system is growing all the time. Increasing competition in the software business has pushed the software houses to deliver more and more feature-rich systems that provide users with innovative user interface solutions and better capacity than the systems in the past. This push is evident in software development and the average size of software projects increases year after year.
We consider a software system to be large if its size exceeds 200,000 lines of code. Such systems have two characteristic properties that bring special flavor to their development. First, they are far more complex than single applications; second, they tend to be evolutionary by nature.
The complexity is often considered an inherent factor in any software development, but for a small exercises such as “Hello world” it is not the case. Complexity is when you are debugging a poorly structured distributed system with some dozens of thousands of classes. Systems that are developed for years as a series of consecutive system releases are called evolutionary systems. The development of new functionality is mostly carried out by modifying the existing design. An evolutionary system is not considered complete if there are new market needs to evolve it. The releases in the field are in maintenance phase but there are continuous development efforts on-going to create new releases on the basis of existing ones.
- Type
- Chapter
- Information
- Tried and True Object DevelopmentIndustry-Proven Approaches with UML, pp. 185 - 262Publisher: Cambridge University PressPrint publication year: 1998