Community
 
Aggiungi lista preferiti Aggiungi lista nera Invia ad un amico
------------------
Crea
Profilo
Blog
Video
Sito
Foto
Amici
   
 
 







OBJECT ORIENTED DESIGN







Guide of OBJECT ORIENTED DESIGN




The Object-Oriented Page
Large, well researched list of OO issues, languages, projects, and links. Excellent resource.

  • Dylan : The brings you the Dylan FAQ, examples code, some historical design notes and the complete language reference manual from Apple, from where you will learn about the Dylan object-oriented dynamic language, essentially based in objects and functions (a class of objects too), and with a cosmical class heterarchy (all derive from 'object')

  • is an very interesting Bertrand Meyer's article that try to communicate to the reader the high importance of Designing by Contract, as a key concept in Object Orientation

  • Object-Oriented Analysis, Design, and Modeling: BON : is a short (1 page) summary on the Business Object Notation, strongly based in three main concepts (succinctly exposed): Seamlessness, Reversibility and Software Contracting (one of the ideas behind Eiffel)

  • Booch : , a tutored overview of the Grady Booch's Object Oriented Design method

  • Schneider maintain this Booch reference and tutorial, with design examples (a minigolf game, actually)

  • Sintropy : is a 'second-generation object-oriented analysis and design method developed at Object Designers Ltd, UK', as described in the interesting book ' Designing Object Systems: Object-Oriented Modelling with Sintropy '



    Data Structures and Algorithms with Object-Oriented Design ...
    A web text by Bruno R. Preiss of the University of Waterloo.

  • Data Structures and Algorithms with Object-Oriented Design Patterns in C++ Data Structures and Algorithms with Object-Oriented Design Patterns in C++ Bruno R



    Data Structures and Algorithms with Object-Oriented Design ...
    Book by Bruno R. Preiss. Online version, source code, demos, errata.



    A Functional Pattern System for Object-Oriented Design
    Content description, abstract and table of contents, by Thomas Kühne.

  • div table { font-family: Arial, Helvetica, sans-serif; font-size: small; } -->   FPS     Functional Pattern System FPS - Functional Pattern System A Functional Pattern System for Object-Oriented Design , Hamburg, Germany, 1999

  • Design patterns inspired by functional programming concepts can advance object-oriented design

  • This thesis promotes the idea that concepts from the world of functional programming can be captured with design pattern descriptions

  • The functional patterns are evaluated for their impact on language design and a new approach to a dual-paradigm language is presented

  • Content Description This book integrates the vital areas of object-orientation, functional programming, design patterns, and language design

  • The most important concepts from functional programming are captured with six design patterns

  • Pattern Description Function Object Black-box behavior parameterisation Lazy Object Evaluation-by-need semantics Value Object Immutable values Void Value Abandoning null references Transfold Combining internal & external iteration Translator Homomorphic mapping with multi-dispatch functions These patterns can be used with any object-oriented language to advance software design





  • info: OBJECT ORIENTED DESIGN


    Photo by www.halfpricecomputerbooks.com


    Cetus Links: 16604 Links on Objects and Components / Object ...
    Collection of links on OOAD methods.

  • Object-Oriented Analysis & Design: Methods Intro 'What is a methodology; and who needs one anyway? Is a methodology a notation; or a process; or neither; or both? Many practitioners mislead themselves into believing they are using a methodology, when all they are using is its notation

  • On the other hand, a notation is an important component of a methodology and cannot be selected arbitrarily, as we and others have pointed out - it needs to be designed for optimal useability

  • Mitchell) (Visible Systems) (sd&m) (SIGS) (Gero Scholz) (Yonat Sharon) (Yonat Sharon) (Software Development magazine) (Yonat Sharon) (Yonat Sharon) (Peter Hruschka) (Intellicorp) (Intellicorp) (Intellicorp) (Intellicorp) (Part One) (Part Two) (Part Three) (Part Four) (Part Five) (Martin Fowler) (University of Karlsruhe) (Object Mentor) (Object International) (Object News) (Fingar Learning Associates) (AWL) (Yonat Sharon) (Computer Literacy) (Software Methods & Tools) (AWL) (Interactive) Applying UML and Patterns : An Introduction to OO Analysis and Design (Craig Larman) (Craig Larman) (Objects by Design) (Peter Coad) (Scott W

  • Ambler) (Ian Graham, Len Graham) (Information Conceptual Modeling) (Use Case Maps User Group) (Use Case Maps User Group) (OMG) (FAST e.V.) (GI-FG 2.1.9) (Evaluation of Modeling Methods in Systems Analysis and Design) (Conceptual Modeling) (Modellierung betrieblicher Informationssysteme) (Rigorous OO Methods) (SPIN Workshop on Model Checking of Software) (Workshop on Practical Aspects of Model Checking) (Workshop on Theoretical Aspects of Model Checking) (A


    Cetus Links: 16604 Links on Objects and Components / Object ...
    Collection of links on OOAD tools.

  • Object-Oriented Analysis & Design: Tools Intro 'CASE tools offer many benefits for developers building large-scale systems

  • As spiraling user requirements continue to drive system complexity to new levels, the CASE tools enable us to abstract away from the entanglement of source code, to a level where architecture and design become more apparent and easier to understand and modify

  • As developers interact with portions of a system designed by their colleagues, they must quickly seek a subset of classes and methods and assimilate an understanding of how to interface with them

  • In a similar sense, management must be able, in a timely fashion and from a high level, to look at a representation of a design and understand what's going on


    IMPLEMENTATION OF OBJECT-ORIENTED DESIGN WITH FORTRAN LANGUAGE IN ...
    By J. Qiang, R. Ryne, and S. Habib R. Ryne. [PDF]


    The Object Oriented Programming Web
    Directory of programming and computer science tutorials. A fast and easy to use programmer's reference.

  • Benefits


    Photo by karl.soop.org


    Object Oriented Analysis and Design Using UML
    A white paper that takes a look at the Unified Modeling Language notation, by Mark Collins-Cope.

  • Object Oriented Analysis and Design Using UML 1

  • Introduction You’re proficient in C++, Java or another OO language, you’re designing class hierarchies, using inheritance, and manipulating complex pointer relationships to store the necessary links between your classes

  • Perhaps you’re feeling the need for a more formal notation to express your designs - using something that is language independent, and that enables you to consider the important aspects of design leaving the detail for later

  • Alternatively, perhaps you’re a Project Manager, looking to formalise the OO design process a little to make sure you’re getting the most from your move to C++/Java or a similar language

  • In this paper, I take a look at the UML (Unified Modelling Language) notation for Object Oriented Analysis and Design - the emerging standard designed by Booch, Rumbaugh and Jacobson, each of whom previously had their own notations published independently

  • This can be shown more clearly by the following instance diagram (instance diagrams are used to assist in understanding and clarifying Object Models - they also give quite a hint as to how relationships can be implemented in C++!): Figure 3 - Instance Diagram Showing Branch and Account objects By now, you may be beginning to see how Object Models can assist the analysis/design process


    Design of Object-Oriented Real-time Systems
    Goal: develop method to design real-time systems that: is practical for large scale, complex systems; includes support of OO techniques to achieve reuse in ...

  • Design of Object-Oriented Real-time Systems Design of Object-Oriented Real-time Systems In this directory you will find several papers that have been written as part of the DOORS (Design of Object-Oriented Real-time Systems) project at, Ottawa Canada

  • You will also find several papers from a related project called Formal Methods in Design that builds upon some of the ideas from DOORS

  • The general objective of DOORS is to develop a method for the design of real-time (RT) systems that: is practical for systems of large scale and complexity; includes support of object-oriented (OO) techniques for achieving reuseability in implementations; helps with visualizing and testing design concepts during the early stages when the big decisions are being made

  • This output will be useful to designers of real-time systems to help them do their job better, and to designers of future tools (including future versions of ObjecTime) to help them identify the capabilities required

  • Important tasks are: development of a new design method that focuses on a concept we call timethreads, the method is called Timethread-Driven design; visualization techniques for OO frameworks and design guidelines for frameworks; research into integrating the ideas of our design method into CASE tools; and new visualization techniques for displaying the structure and behaviour of a large system in a limited screen area


    The Karlsruhe Library of Algorithms and Data Structures (Karla)
    An object-oriented library of data structures and algorithms designed for reuse for Sather-K.

  • The Karlsruhe Library of Algorithms and Data Structures (Karla) The Kar lsruhe L ibrary of A lgorithms and Data Structures ( Karla ) is an object-oriented library of data structures and algorithms designed for reuse

  • The main goal of this project is to design a reliable object-oriented library of algorithms and data structures

  • Further design goals include flexibility and efficiency

  • In order to achieve the design goals, we constructed Karla by consequently using the mechanisms of refinement, specialization and genericity of classes

  • In the implementation phase, we identified and consequently employed several design patterns

  • In addition to the library itself, we have designed a comprehensive information and configuration tool that allows for navigation in the library structure and the definition of projects

  • Availability The design of Karla is independent of a specific language

  • Overview There are several papers outlining the design rationale, documentation rules etc

  • Karla: Design Rationale Karla: Usage for Beginners


    object oriented consulting, CORBA training & object oriented ...
    Delivers object technology consulting training, mentoring, and permanent placements.

  • object oriented consulting, CORBA training & object oriented design and analysis

  • SYSNETICS can also provide your staff with Training in a variety of different disciplines and topics such as CORBA Training (Introduction & Advanced), OOAD Training   (Object Technology Overview, Use Cases and Analysis, Design and Design Patterns), Project Management (Managing OO Projects, Object Technology Overview) and others

  • webmaster@sysnetics.com object oriented consulting, CORBA training & object oriented design and analysis

  • OBJECT ORIENTED DESIGN ?



    Object-Oriented Software Construction, Second Edition
    By Bertrand Meyer; Prentice Hall PTR, 1997, ISBN 0136291554, 2nd edition, has CD-ROM. Reference on all aspects of OO: design principles, techniques, DbC, ...

  • OVERVIEW Object-Oriented Software Construction, second edition is the comprehensive reference on all aspects of object technology, from design principles to O-O techniques, Design by Contract, O-O analysis, concurrency, persistence, abstract data types and many more

  • Its width and breadth of scope is impressive, from object-oriented techniques like Design by Contract and inheritance, to methodology issues like patterns and class design, to advanced issues like concurrency and persistence

  • Craig Patchett, from an on-line review at amazon.com: A definitive guide to object oriented programming and design

  • It is even more attractive because it presents a technique of object-oriented design


    Building bug-free OO software: An introduction to Design by Contract
    Advanced use of assertions for clearer specifications and greater software reliability. By OO guru Bertrand Meyer, creator of Eiffel.

  • Building bug-free O-O software: An introduction to Design by Contract(TM) Eiffel Software is the pioneer of Design by Contract and the Component Revolution

  • For a more detailed look at Design by Contract and how it can make your code more reliable read this document or watch the

  • Upcoming: A two day session, Eiffel and Design by Contract™ by Dr

  • The seminar brochure in PDF format is available at: Overview The notion of Design by Contract is central in the systematic approach to object-oriented software construction, as embodied in the Eiffel method

  • This article introduces such a method, known as Design by Contract

  • Under the Design by Contract theory, a software system is viewed as a set of communicating components whose interaction is based on precisely defined specifications of the mutual obligations -- contracts

  • The benefits of Design by Contract include the following: A better understanding of the object-oriented method and, more generally, of software construction

  • The Design by Contract theory, then, suggests associating a specification with every software element

  • This has the advantage that the specification language is embedded in the design and programming language (here Eiffel), whereas formal specification languages are typically non-executable or, if they are executable, can only be used for prototypes


    Christopher Alexander: An Introduction for Object-Oriented Designers
    A review of Christopher Alexander's major texts, interspersed with remarks about the architect's methodological and pragmatic concerns and software design.

  • Christopher Alexander: An Introduction for Object-Oriented Designers SUNY Oswego / NY CASE Center Last Content Change: 11 December 1993 (Reformatted 2 January 1997) Contents Introduction Software developers lament ``If only software engineering could be more like X ...'' , where X is any design-intensive profession with a longer and apparently more successful history than software

  • In part because it is considered as much artistry as engineering, writings about architecture have most extensively explored and argued out the basic underpinnings of design

  • Even within this context, the ideas of the architect Christopher Alexander stand out as penetrating, and bear compelling implications for software design

  • Alexander is increasingly well-known in object-oriented (OO) design circles for his influential work on ``patterns''

  • This paper considers patterns within a broader review of Alexander's prolific writings on design

  • The format is mainly topical, roughly in historical order, interspersed and concluded with remarks about connections to software design

  • Alexander's central premise, driving over thirty years of thoughts, actions, and writings, is that there is something fundamentally wrong with twentieth century architectural design methods and practices


    Introducing Demeter and its Laws
    Adaptive Programming - specifying the connections between objects as loosely as possible. Makes programs more flexible, more resilient to change, ...

  • It is a design-style rule for object-oriented programs

  • There are also several design patterns for adaptive programming

  • The Demeter tools for Java make use of ' Adaptive Visitors ' objects which are AP analogs of the 'Visitor' pattern from the now famous Design Patterns book by the 'gang of four' (or GoF): Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides

  • They present a bunch of design/programming guidelines and rules for writing classes and class libraries to make them into reusable class frameworks (usable by client subclasses as well as 'normal' clients)


    Pattern tools
    Tool support for object-oriented (design) patterns.

  • Tool support for object-oriented (design) patterns This page gives some information about the patterns tools we have worked on at the

  • Background I believe that patterns make it possible to talk about (and perhaps also think about) designs on a higher level of abstraction

  • In early design it is enough to know that you're using a pattern at some point

  • design patterns vs

  • language-idioms) it should be possible to combine and glue together patterns into a design that can be mapped to different programming languages

  • They suggest a general solution and give you freedom as to how to put them in the design and how to implement them

  • the design level: where you see the structure of your design in terms of classes, methods, association and inheritance relationships, etc

  • The fragment model/database store the program being developed as a graph of design elements such as classes, method definitions, inheritance relations, etc.

  • The suite of design elements can be extended easily through the introduction of new fragment types

  • Design patterns are also design elements and represented as fragments


    DBMS - June 1996 - Object-Oriented Analysis and Design
    A June 1996 article by Michael Gora comparing several major methodologies.

  • Object-Oriented Analysis and Design By Michael Gora DBMS , May 1996 The good, the bad, and the ugly of OOAD methodologies, and various approaches to using them

  • This implies that an OO analysis and design (OOAD) methodology should be an effective guide to applying these tools to business problems

  • My most common approach to OO methodology involves fairly strict adherence to OO design and construction guidelines as appropriate to a particular language, but a very loose and flexible approach to OO analysis

  • The architecture of the EIS/DSS system we designed was based on LISP-based OO and artificial intelligence (AI) systems that Brown created for NASA and the Department of Defense while he was at Mitre

  • For the last three years, however, almost all my technical work (that is, some of the analysis and all of the design and development) has been object oriented

  • According to Donald Firesmith in his book Dictionary of Object Technology (SIGS Books, 1995), analysis is 'the development activity consisting of the discovery, modeling, specification and evaluation of requirements, ' while OO analysis is 'the discovery, analysis and specification of requirements in terms of objects with identity that encapsulate properties and operations, message passing, classes, inheritance, polymorphism and dynamic binding.' Firesmith also states that OO design is 'the design of an application in terms of objects, classes, clusters, frameworks and their interactions.' In comparing the definition of traditional analysis with that of OOAD, the only aspect that is really new is thinking of the world or the problem in terms of objects and object classes


    Object Oriented Programming in C
    Paul Field's fine, clear paper, published in C Vu 4:1 (November 1991), on how to use an object-like discipline with a procedural language.

  • It seems to be a common myth that you need an object-oriented language to implement an object-oriented design and, although languages such as C++ and Smalltalk provide many features that encourage this style of design, you can benefit equally well from the use of objects in imperative languages such as C

  • Although this article has concentrated on the use of C to implement an object-oriented design, there are advantages of using an object-oriented language

  • If you are interested in object-oriented programming I would suggest playing with a real object-oriented language such as Smalltalk (there is a PD version called 'Little Smalltalk' that I believe is available on various micros including the Archimedes and probably the IBM PC and Macintosh) - even if you still use C to implement your object-oriented designs you will have a much better feel for defining objects from the problem requirements in the first place

  • Finally, and perhaps most importantly, beware the dogma of object-oriented design


    Classic Design Pattern Solutions
    A collection of patterns that can be used to describe classic solutions to common object oriented design problems.

  • Design Patterns Design patterns form a cohesive language that can be used to describe classic solutions to common object oriented design problems

  • By using design patterns to solve programming problems, the proper perspective on the design process can be maintained

  • These pattern discussions, except for the Null and Model-View-Controller patterns are adapted from the classic text, Design Patterns by Gamma, Helm, Johnson and Vlissides (Addison Wesley Longman, 1995


    Home @CallCenter