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 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.
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 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.
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 |