1. [16 points] The numbering scheme used by company A to manage the versions of system X follows
the pattern: software_name.major.minor[.fix][- configuration]. Based on this
scheme, the company has produced multiple versions of X according to the timeline below.
a) [3 points] How many versions of X have been produced so far? Justify your answer.
b) [3 points] How many configurations of X, in terms of assembled components, are currently being
commercialized? Justify your answer.
c) [3 points] What is the minimal and the maximal number of releases made by company A regarding
X, considering that at least its baselines are always released for customers? Justify your answer.
d) [3 points] Which major version of X looks more reliable? Justify your answer.
e) [4 points] Consider that a given customer M of company A updates software X whenever a new
version is available (pay attention to the timeline). If any minor change adds 1 feature to X and any
major change adds 5 features to X, how many features were added to the version of X currently
used by M since the first release (do not consider the first version of X as a change)? Justify your
2. [11 points] A given company B currently employs three software developers. They are making
modifications to the components 𝑌 1 and 𝑌 2 of software Y according to bugs and change requests made
by the costumers of B. This company has been using a new version control tool that allows employees
to simultaneously work on the same system components. This tool maintains the components integrity
(changes are not overwritten) by guarantying that a new version is always created when someone sends
source-code back to the centralized repository. By analyzing the sequence of check-out and check-in
events in the table below, label the software versions created after day 3.
3. [20 points] The ultra-skilled software development team of company C wants to estimate the effort and
the nominal development time (in months) to produce software Z. According to the requirements
specified, Z will be very large (approximately 500KLOC). Choose the most appropriated LOC-based
model among the ones listed below considering that C wants to minimize development costs. After
that, to estimate the nominal development time use the Walston-Felix model (T = 2.5E0.35). Next, find
how many developers should work on this project to deliver it according to estimated nominal
development time. Finally, find what would be the team size that would maximize the productivity of
this company, reducing the nominal development time of software Z as much as possible (for this
productivity calculation, use as average productivity 3,000 LOC/person-month, productivity loss = 5%,
and full interaction between team members).