Object-Oriented Software Engineering: Using UML, Patterns, and Java: Solutions to Exercises
© 2004 Prentice Hall November 14, 2003
A subsystem team is completely responsible for the development of a subsystem.A cross-functional team is made out
of liaison of subsystem teams and is responsible for support tasks, such as documentation and configuration
management. Also, the system architecture can is often defined by a cross-functional team made out of liaison from
all subsystem teams.
3–9 As many critical communication events are planned (e.g., client reviews, project reviews, peer reviews), why is
there still a need for unplanned communication events (e.g., request for clarification, request for change, issue
resolution)?
There are many reasons for unplanned communication. Some of the more important ones are:
• Reduce latency: While developers could wait for the next project review to request clarification on their tasks or
on interfaces provided by other teams, this would slow down development significantly and introduce much
rework (e.g., correcting code that was developed under incorrect assumptions).
• React to unexpected events: Any system of a realistic size cannot be completely specified and understood a
priori. This results in requirements and design changes during development, which often have to be
communicated and negotiated among several stakeholders. While change processes can be set in place to manage
this communication, much unplanned and informal communication complements the formal communication
events to motivate, clarify, understand, gauge, and negotiate the underlying issues introduced by the change.
•Team building: Formal communication events are rarely conducive to a team atmosphere. It is during unplanned
and informal events that participants get know each other and form a community working towards a common
goal.
3–10 Select a random working day in your work week. Log all activities that qualify as communication activities
(e.g., talking to friends over coffee, obtaining information from a fellow student, providing information,
negotiating, advertising, browsing the web). Which fraction of your working day does communication
represent?
Typically, the fraction of the day spent of communication can easily reach 50% or more. However, there will be a
wide variance in the numbers reported by the students, depending on whether or not they are currently doing project
work.
3–11 You are a member of the user interface team. You are responsible for designing and implementing forms
collecting information about users of the system (e.g., first name, last name, address, E-mail address, level of
expertise). The information you are collecting is stored in the database and used by the reporting subsystem.
You are not sure which fields are required information and which are optional. How do you find out?
This is an open-ended question whose purpose is to have the student think of all the communication paths available.
The side effect of this question is that the student will also have to think about the information sources associated with
a project. A correct answer should contain at least two of the following points:
• The user interface team member should first check the requirements analysis document, described in Chapter 1.
• If the answer is not in the requirements analysis document, or if the answer is not clear, the document is
incomplete or does not exist yet, in which case the user interface team member should ask the responsible analyst
on the project. This is a request for change or a request for clarification.
• If the analyst does not have the answer, he or she should investigate with a potential user and possibly get
approval from the client. This is also a request for clarification.
• In all cases, the answer should eventually make its way into the requirements analysis document.
3–12 You have been reassigned from the user interface team to the database team due to staff shortages and
replanning. The implementation phase is well underway. In which role would you be most proficient given your
knowledge of the user interface design and implementation?
Liaison of the database team to the user interface team.