Welcome in Object Modeling! This web site is dedicated to the object-oriented software technology. Here are discussed some of the most powerful techniques concerning the object oriented analysis and design (OOA/OOD) methods for software construction, UML and design patterns, and object-oriented system testing. Poking around the Object Modeling Landscape, you will find technical papers, books reviews (mostly only in italian at the moment), many interesting links and other resources related to the OO world.

The Mission

The mission of the site is to promote the divulgation of principles and techniques related to object-oriented software design. The most ambitious intent is to share ideas, considerations, critics and personal experiences about software engineering.

Approach focalized on principles, techniques, and experiences

All material published in this pages is the result of my professional experiences as author and consultant. The approach embraced in Object Modeling is focalized on principles, techniques and design methods, giving the contents suitable for the practitioners in the field of object-oriented design, programming and testing. Besides them, however, students in these fields with a basic understanding of the programming fundamentals and interested to the software modeling themes can find in Object Modeling good starting points and usefull ideas to share.

Software design is a fundamentally human activity!

Software design does not obey at the deterministic and rigorous law of the physics world. The design itself is in part technique and technology, and in part style and creativity. Software, moreover, is inherently complex because so complex are the problem we try to solve as engineers. Due to this strong coupling between the problem and the (software) solution, a system software often is very difficult to properly design in order to meet the user requirements. The aim of the site is to give guidelines related to object-oriented design usefull to better manage the complexity of modern applications. Providing guidelines is a process that is - at least in part - the results of personal experience, sense of style, and attitudes. So don't take each guideline as a dogma. Many of them represent contradictory forces; you should consider the final solution as a balancing act, not a blind application of a fast rule. Another risk for a software engineer is to be tied up on obsolete methodologies. Espescially in the computer world, change and innovation are not always synonym of progress. Dispite of the many tool vendor that pose the tool (the machine) as the centre of gravity, the more powerful tool to master for a practitioner is the mind. To build successful quality systems, to know how better design and, for extension, how better think, is essential. The true center of gravity is the software engineer that interiorize the creative process of development. He is the fulcrum around which techniques, principles and methodologies are provided.

A balance between technology and engineering

Object Modeling is conceived with a perspective that is inspired by the constant research of an ideal point of balance between "old" and "new", between technology and solid software engineering principles. There is a tension between the need to keep the software knowledge updated, and the ability to interiorize (and remember) the key-concepts of software engineering. Only with this two-fold perspective we can fix principles and strategies to make not only better designs, but eventually to make better designers too!


View My Guestbook
Sign My Guestbook

menu Home

Last Updates Feedback Versione Italiana