Reviews : Java Books :
Beginning Java Objects : Chapters 2 and 3

Title: Beginning Java Objects
ISBN: 1861004176
US Price: $ 39.99
Canadian Price:
C$ 59.95
UK Price: £ 28.99
Publication Date: November 2000
Pages: 800
© Wrox Press Limited, US and UK.

Beginning Java Objects: Chapter 2
Abstraction and Modeling

What Does It Take to Be a Successful Object Modeler?

Coming up with an appropriate abstraction as the basis for a software system model requires:
  • Insight into the problem domain: ideally, you'll be able to draw upon your own real-world experience, such as your former or current experience as a student, which will come in handy when determining the requirements for the SRS.
  • Creativity: to enable us to think 'outside the box', in case the future users that we are interviewing have been immersed in the problem area for so long, that they fail to see innovations that might be made.
  • Good listening skills: as future users of the system describe how they do their jobs currently, or how they envision doing their jobs in the future, with the aid of the system that we're about to develop.
  • Good observational skills: actions often speak louder than words; just by observing users going about their daily business, we may pick up an essential detail that they have neglected to mention because they do it so routinely that it has become a habit.
But all this is not enough, we also need:
  • An organized process for determining what the abstraction should be. If we follow a proven checklist of steps for producing a model, then we greatly reduce the probability that we'll omit some important feature or neglect a critical requirement.
  • A way to communicate the resultant model concisely and unambiguously to our fellow software developers, and to the intended users of our application. While it is certainly possible to describe an abstraction in narrative text, a picture is worth 1000 words, and so the language with which we communicate a model is often a graphical notation. Throughout this book, we'll focus on the Unified Modeling Language (UML — see following figure) notation as our model communication language (you'll learn the basics of UML in Chapters 10 and 11). Think of a graphical model as a 'blueprint' of the software application to be built.
    image 7

    Summary

    In this chapter, we've learned that: