O'Reilly logo

Essentials of Software Engineering, 3rd Edition by Barbara Bernal, Orlando Karam, Frank Tsui

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

constituencies. Chapter 13 will cover some people-management issues as they relate to
different phases of a software project.
2.4 Summary
In this chapter, we have described the growth in the breadth and depth of complex soft-
ware problems and the associated software solutions. Both the technical and nontech-
nical issues—from design decomposition and communications to process, tools, and
methodology—were introduced. A typical payroll system in a large business was used as
the basis for introducing and demonstrating the real problems in large software devel-
opment and in supporting such products. Large software projects require the control of
the process, the product, and the people involved. The field of software engineering is
vital to the development and support of these large and complex systems.
2.5 Review Questions
1. Define the depth versus the breadth issue in software complexity.
2. Describe a way to simplify a complex problem.
3. List two technical concerns in developing large systems.
4. What is the maximum number of communication paths for a team of 20 people?
5. List four factors that should be considered in deciding how many postrelease
people will be needed.
2.6 Exercises
1. (a) Give an example of an increase in software size. (b) Give an example of an
increase in complexity. (c) Discuss which type of increase, in your view, is more
difficult to handle.
2. Discuss the difference between vertical and horizontal functions and the potential
interactions between the two sets.
3. What is meant by integration and why is it important to manage this effort for
large systems?
4. What are the major tasks in developing and supporting a software system?
5. (a) Write a program that reads 11 numbers, divides the sum of the first 10 num-
bers by the 11th number, and displays the result. (b) List all the questions you
had in the process of programming part (a) of this question. (c) Discuss, in your
view, what type of skills are needed to collect and specify the requirements of a
system.
6. Discuss the three areas that need to be coordinated in a large software engineer-
ing project. Is any one of them more important than the others? Explain your
conclusion.
2.6 Exercises
39
91998_CH02_Tsui.indd 39 1/5/13 6:57:59 AM

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required