Chapter 5. Project Management

advertisement
Chapter 5. Project Management
EXERCISES
--------
5.1 Explain why the intangibility of software
systems poses special problems for software project
management.
5.2 Explain why the best programmers do not always make the best software managers. You may
find it helpful to base your answer on the list of management activities in Section 5.1.
5.3 Explain why the process of project planning is iterative and why a plan must be continually
reviewed during a software project.
5.4 Briefly explain the purpose of each of the sections in a software project plan.
5.5 What is the critical distinction between a milestone and a deliverable?
5.6 Figure 5.15 sets out a number of activities, durations and dependencies. Draw an activity
chart and a bar chart showing the project schedule.
5.7 Figure 5.5 gives task durations for software project activities. Assume that a serious,
unanticipated setback occurs and instead of taking 10 days, task T5 takes 40 days. Revise
the activity chart accordingly, highlighting the new critical path. Draw up new bar charts
showing how the project might be reorganized.
5.8 Using reported instances of project problems in the literature, list management difficulties
that occurred in these failed programming projects. (I suggest that you start with Brooks's
book, as suggested in Further Reading.)
Figure 5.15 Task
durations and
dependencies
Chapter 5 Exercises 113
Task Duration (days) , Dependencies
T1 10
T2 15 TI
13 10 TI, T2
T4 20
T5 10
T6 IS 13, T4
17 20 13
T8 35 17
T9 15 T6
TlO 5 T5, T9
TIl 10 T9
TI2 20 TlO
Tl3 35 13, T4
Tl4 10 T8, 19
T15 20 Tl2, Tl4
Tl6 10 TIS
5.9 In addition to the risks shown in Figure 5.11, identify six other possible risks that could arise
in software projects.
5.10 Fixed-price contracts, where the contractor bids a filxed price to complete a system
development, may be used to move project risk from client to contractor. If anything goes
wrong, the contractor has to pay. Suggest how the use of such contracts may increase the
likelihood that product risks will arise.
5.11 You are asked by your manager to deliver software to a schedule that you know can only be
met by asking your project team to work unpaid overtime. All team members have young
children. Discuss whether you should accept this dl~mand from your manager or whether you
should persuade your team to give their time to thE! organisation r,ather than to their families.
What factors might be significant in your decision?
5.12 As a programmer, you are offered a promotion to p roject management but you feel that you
1
can make a more effective contribution in a technic,al rather than a managerial role. Discuss
whether you should accept the promotion.
Chapter 12 Distributed Architectures
EXERCISE
-----
12.1 Explain why distributed systems are inherently more scalable
than centralised systems. What
are the likely limits on the scalability of the system?
12.2 What is the fundamental difference between a fat-client and a thin-client approach to
client-server systems development? Explain why the use of Java as an implementation
language blurs the distinction between these approaches.
Chapter 12 • Exercises 291
Your customer wants to develop a system for stock information where dealers can access
information about companies and can evaluate various investment scenarios using a
simulation system. Each dealer uses this simulation in a different way, according to his or her
experience and tile type of stocks in question. Suggest a client-server architecture for this
system that shows where functionality is located. Justify the client-server system model that
you have chosen
By making reference to th,e application model shown in Figure 12.4. discuss problems that
might arise when converting a 1980s mainframe legacy system for insurance policy
processing to a client-server architecture.
What are the basic facilities that must be provided by an object request broker?
Explain why the use of distributed objects with an object request broker simplifies the
implementation of scalable client-server systems. Illustrate your answer with an example.
How is the CORBA IDL USE!d to support communications between objects that have been
implemented in different programming languages? Explain why this approach may cause
performance problems if there are radical differences between the languages used for object
implementation.
Using (l distributed object approach, propose an architecture for a national theatre booking
system where users can check seat availability and book seats at a group of theatres. The
system should support ticket returns so that people may return their tickets for last-minute
resale to other customers.
Give two advantages and two disadvantages of decentralised and semi-centralised peer-topeer
architecturE's.
What are the advantages of dynamic binding in a service-oriented system?
For the in-car information system, explain why it is best that the in-car software
communicates with an aggregation service rather than directly with the information services.
You should conSider iSSUE!S such as communication reliability in formulating your answer.
The development of service-oriented computing has been based on the early specification
and adoption of standards. Discuss the general role of standardisation in supporting and
restricting competition and innovation in the software market.
Chapter 23. Software Testing
EXERCISES
23.1 Explain why testin1: can only detect the presence of errors, not their absence.
23.2 Compare top-down and bottom-up integration and testing by discussing their advantages and
disadvantages for architectural testing, demonstrating a version of the system to users and
for the practical implementation and observation of tests. Explain why most large system
integration, in practice, has to use a mixture of top-down and bottom-up approaches.
23.3 What is regression testing? Explain how the use of automated tests and a testing framework
such as JUnit simplifies regression testing.
23.4 Write a scenario that could be used as the basis for deriving tests for the weather station
system that was used as an example in Chapter 14.
23.5 Using the sequence diagram in Figure 8.14 as a scenario, propose tests for the issue of
electronic items in the L1BSYS system.
23.6 What are the problems in developing performance tests for a distributed database system
such as the L1BSYS system?
23.7 Explain why interface testing is necessary even when individual components have been
extensively validated through component testing and program inspections.
23.8 Using the approach discussed here for object testing, design test cases to test the states of
the microwave oven whose state model is defined in Figure 8.5.
23.9 You have been asked to te'st a method called catWhiteSpace in a Paragraph object that, within
the paragraph, replaces se!quences of blank characters with a single blank character. Identify
testing partitions for this E!xample and derive a set of tests for the catWhiteSpace method.
23.10 Give three situations wher,e the testing of all independent paths through a program may not
detect program errors.
Download