476,228 research outputs found

    Ethics in Public Relations: Responsible Advocacy

    Get PDF
    A growing segment of the market have begun teaching Systems Analysis and Design using an object-oriented approach. This new approach has been widely recognized as the future of the analysis and design market by students and instructors. Building on the well renowned Systems Analysis and Design in a Changing World, Third Edition by John Satzinger, Robert Jackson and Stephen Burd, the authors have recreated this object-oriented text for anyone looking for this new approach. All texts are accompanied by a free 120-day trial version of Microsoft Project 2003 to give students a hands-on experience with this new softwar

    Working notes of the KI \u2796 Workshop on Agent Oriented Programming and Distributed Systems

    Get PDF
    Agent-oriented techniques are likely to be the next significant breakthrough in software development process. They provide a uniform approach throughout the analysis, design and implementation phases in the development life cycle. Agent-oriented techniques are a natural extension to object-oriented techniques, but while there is a whole pIethora of analysis and design methods in the object-oriented paradigm, very little work has been reported on design and analysis methods in the agent-oriented community. After surveying and examining a number of well-known object-oriented design and analysis methods, we argue that none of these methods, provide the adequate model for the design and analysis of multi-agent systems. Therefore, we propose a new agent-specific methodology that is based on and builds upon object-oriented methods. We identify three major models that need to be build during the development of multi-agent applications and describe the process of building these models

    C++, objected-oriented programming, and astronomical data models

    Get PDF
    Contemporary astronomy is characterized by increasingly complex instruments and observational techniques, higher data collection rates, and large data archives, placing severe stress on software analysis systems. The object-oriented paradigm represents a significant new approach to software design and implementation that holds great promise for dealing with this increased complexity. The basic concepts of this approach will be characterized in contrast to more traditional procedure-oriented approaches. The fundamental features of objected-oriented programming will be discussed from a C++ programming language perspective, using examples familiar to astronomers. This discussion will focus on objects, classes and their relevance to the data type system; the principle of information hiding; and the use of inheritance to implement generalization/specialization relationships. Drawing on the object-oriented approach, features of a new database model to support astronomical data analysis will be presented

    Working notes of the KI '96 Workshop on Agent Oriented Programming and Distributed Systems

    Get PDF
    Agent-oriented techniques are likely to be the next significant breakthrough in software development process. They provide a uniform approach throughout the analysis, design and implementation phases in the development life cycle. Agent-oriented techniques are a natural extension to object-oriented techniques, but while there is a whole pIethora of analysis and design methods in the object-oriented paradigm, very little work has been reported on design and analysis methods in the agent-oriented community. After surveying and examining a number of well-known object-oriented design and analysis methods, we argue that none of these methods, provide the adequate model for the design and analysis of multi-agent systems. Therefore, we propose a new agent-specific methodology that is based on and builds upon object-oriented methods. We identify three major models that need to be build during the development of multi-agent applications and describe the process of building these models

    Working notes of the KI '96 Workshop on Agent Oriented Programming and Distributed Systems

    Get PDF
    Agent-oriented techniques are likely to be the next significant breakthrough in software development process. They provide a uniform approach throughout the analysis, design and implementation phases in the development life cycle. Agent-oriented techniques are a natural extension to object-oriented techniques, but while there is a whole pIethora of analysis and design methods in the object-oriented paradigm, very little work has been reported on design and analysis methods in the agent-oriented community. After surveying and examining a number of well-known object-oriented design and analysis methods, we argue that none of these methods, provide the adequate model for the design and analysis of multi-agent systems. Therefore, we propose a new agent-specific methodology that is based on and builds upon object-oriented methods. We identify three major models that need to be build during the development of multi-agent applications and describe the process of building these models

    The object binary interface: C++ objects for evolvable shared class libraries

    Get PDF
    Object-oriented design and object-oriented languages support the development of independent software components such as class libraries. When using such components, versioning becomes a key issue. While various ad-hoc techniques and coding idioms have been used to provide versioning, all of these techniques have deficiencies - ambiguity, the necessity of recompilation or re-coding, or the loss of binary compatibility of programs. Components from different software vendors are versioned at different times. Maintaining compatibility between versions must be consciously engineered. New technologies such as distributed objects further complicate libraries by requiring multiple implementations of a type simultaneously in a program. This paper describes a new C++ object model called the Shared Object Model for C++ users and a new implementation model called the Object Binary Interface for C++ implementors. These techniques provide a mechanism for allowing multiple implementations of an object in a program. Early analysis of this approach has shown it to have performance broadly comparable to conventional implementations

    Object-oriented design methodologies for software systems

    Get PDF
    PhD ThesisIn the last few years, demand for object-oriented software systems has increased dramatically, and it is widely accepted that present software engineering methodologies are unable to cope with the needs of that demand. The object-oriented paradigm has promised to revolutionise software development, and it has been seen as an attempt to extend and apply the techniques of encapsulation and inheritance, not only in the implementation phase but also during the design and system analysis phases of the software development process. As a result, several methodologies have recently arisen to support software development based on an object-oriented approach. This thesis is concerned with object-oriented design methodologies for software systems and addresses four points. First, a classification scheme for object-oriented development methodologies is proposed and their problems and limitations are pointed out. Second, a general methodology for objectoriented design (called MOOD) is presented. MOOD is unrelated to any programming language, yet is capable of being used to design a variety of object-oriented software systems. In particular, MOOD allows the creation of a design mainly in terms of classes, objects and inheritance, and the representation of a design graphically by a set of class hierarchy diagrams, composition diagrams, object diagrams and operation diagrams. Third, the thesis puts software development into a new perspective, by proposing an alternative software life cycle model which links system analysis, domain analysis, design and implementation to form a coherent object-oriented software development life cycle model that takes reusability into account during the design phase. Lastly, a prototype of an environment which supports MOOD has been developed and is described.CAPES (Brazilian Federal Agency for Postgraduate Education)

    Automating Reuse for Systems Design

    Get PDF
    Reuse is as an important approach to conceptual object-oriented design. A number of reusable artifacts and methodologies to use these artifacts have been developed that require the designer to select to a certain level of granularity and a certain paradigm. This makes retrieval and application of these artifacts difficult and prevents the simultaneous reuse of artifacts at different levels of granularity. The purpose of this research, therefore, is to develop an actionable approach to lowering barriers to reuse. The approach is materialized in automating the conceptual design stage of the systems development process by reusing a new kind of design artifacts, which we call design fragments, which are synthesized with analysis patterns. The goal of the study includes the development of machine learning algorithms generating reusable design fragments and effectively storing/retrieving them

    Generating a Catalog of Unanticipated Schemas in Class Hierarchies using Formal Concept Analysis

    Get PDF
    International audienceContext: Inheritance is the cornerstone of object-oriented development, supporting conceptual modeling, subtype polymorphism and software reuse. But inheritance can be used in subtle ways that make complex systems hard to understand and extend, due to the presence of implicit dependencies in the inheritance hierarchy. Objective: Although these dependencies often specify well-known schemas (i.e., recurrent design or coding patterns, such as hook and template methods), new unanticipated dependency schemas arise in practice, and can consequently be hard to recognize and detect. Thus, a developer making changes or extensions to an object-oriented system needs to understand these implicit contracts defined by the dependencies between a class and its subclasses, or risk that seemingly innocuous changes break them. Method: To tackle this problem, we have developed an approach based on Formal Concept Analysis. Our FoCARE methodology (Formal Concept Analysis based-Reverse Engineering) identifies undocumented hi- erarchical dependencies in a hierarchy by taking into account the existing structure and behavior of classes and subclasses. Results: We validate our approach by applying it to a large and non-trivial case study, yielding a catalog of Hierarchy Schemas, each one composed of a set of dependencies over methods and attributes in a class hierarchy. We show how the discovered dependency schemas can be used not only to identify good design practices, but also to expose bad smells in design, thereby helping developers in initial reengineering phases to develop a first mental model of a system. Although some of the identified schemas are already documented in existing literature, with our approach based on Formal Concept Analysis (FCA), we are also able to identify previously unidentified schemas
    corecore