Abstract
Naked objects is an approach to systems design in which core business objects show directly through to the user interface, and in which all interaction consists of invoking methods on those objects in the noun-verb style. One advantage of this approach is that it results in systems that are more expressive from the viewpoint of the user: they treat the user like a problem solver, not as merely a process-follower. Another advantage is that the 1:1 mapping between the user's representation and the underlying model means that it is possible to auto-generate the former from the latter, which yields benefits to the development process. The authors have designed a Java-based, open source toolkit called Naked Objects which facilitates this style of development. This paper describes the design and operation of the toolkit and its application to the prototyping of a core business system. Some initial feedback from the project is provided, together with a list of future research directions both for the toolkit and for a methodology to apply the naked objects approach.
- Java Core Reflection. 1997, Sun Microsystems.Google Scholar
- Collins, D., Designing Object-oriented User interfaces. 1995, Redwood City, CA: Benjamin/Cummings. Google ScholarDigital Library
- Gamma, E., et al., Design Patterns --- Elements of Reusable Object Oriented Software. 1995, Reading, MA: Addison-Wesley. Google ScholarDigital Library
- Hutchins, E., J. Hollan, and D. Norman, Direct Manipulation Interfaces, in User Centered System Design: New Perspectives on Human-Computer Interaction, D. Norman and S. Draper, Editors. 1986, Lawrence Erlbaum: Hillsdale, NJ.Google Scholar
- Ingalls, D., et al. Back to the Future: The story of Squeak. in OOPSLA'97. 1997: Association of Computing Machinery. Google ScholarDigital Library
- Kay, A., User Interface: A Personal View, in The Art of Human-Computer Interface Design, B. Laurel, Editor. 1990, Addison-Wesley: Reading, MA. p. 191-207.Google Scholar
- Kay, A., The early history of SmallTalk, in History of Programming Languages, T. Bergin and R. Gibson, Editors. 1996, Addison-Wesley / ACM Press: Reading, MA. Google ScholarDigital Library
- Krasner, G. and S. Pope, A cookbook for using the Model-View-Controller user interface paradigm in Smalltalk-80. Journal of Object Oriented Programming, 1988(j): p. 26-49. Google ScholarDigital Library
- Laurel, B., Computers as Theatre. 1991, Reading, MA: Addison-Wesley. Google ScholarDigital Library
- Pawson, R., J.-L. Bravard, and L. Cameron, The Case for Expressive Systems. Sloan Management Review, 1995(Winter 1995): p. 41-48.Google Scholar
- Raskin, J., The Humane Interface. 2000, Reading, MA: Addison-Wesley / ACM Press.Google Scholar
- Smith, R., J. Maloney, and D. Ungar. The Self-4.0 User Interface: Manifesting a System-wide Vision of Concreteness, Uniformity, and Flexibility. in OOPSLA '95. 1995: Association of Computing Machinery. Google ScholarDigital Library
- Van Harmelen, M., ed. Object Modelling and User Interface Design. 2001, Addison-Wesley: Reading, MA. Google ScholarDigital Library
Index Terms
- Naked objects: a technique for designing more expressive systems
Recommendations
Naked Objects
OOPSLA '02: Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsNaked Objects is an open-source Java-based framework designed specifically to encourage the creation of business systems from behaviourally-complete business objects. In fact, with the Naked Objects framework you have no alternative but to make your ...
Naked Objects
An object should model some aspect of the business domain, not just its attributes and associations, but all behaviors that might be required of it. The paper discusses the separation of process and data in object oriented designs. It considers Naked ...
Agile development using naked objects
XP'03: Proceedings of the 4th international conference on Extreme programming and agile processes in software engineeringNaked objects are core business objects that are exposed directly to the user, by means of a suitable framework. As well as offering benefits to the finished system, the use of naked objects also facilitates the use of agile development techniques. In ...
Comments