8 research outputs found

    Object-Oriented Software Design Metrics

    Get PDF
    The adoption of the Object-Oriented paradigm is expected to help produce better and cheaper software. The main concepts of this paradigm, namely, inheritance, encapsulation, information hiding or polymorphism, are the keys to foster reuse and achieve easier maintainability. However, the use of constructs that support those concepts can be more or less intensive, mainly depending on the designer ability. Advances in quality and productivity need to be correlated with the use of those constructs. Therefore, we need to evaluate them quantitatively to guide OO design. The availability of these metrics should allow comparison of different systems or different implementations of the same system, thus helping to derive some design heuristics that could/should be included in design tools. Those heuristics would at least be a valuable help to new staff members. "Blind" choice (or creation) is dangerous, so a set of common requirements for metrics and corresponding rationale was introduced, which includes the need for formal definition, language independence, dimensionlessness, ease of calculation and early obtainability. A suitable metrics set named MOOD was then proposed. We believe that these metrics can help in setting OO design standards at the organization level, helping OO practitioners to guide their development process and, hopefully, leaving them in a cheerful MOOD..

    Fuzzy based component reusability evaluation approach to support component based software development

    Get PDF
    One of the contributions of Component Based Software Development (CBSD) is the reuse of software components across multiple systems by software developers. However, the developers often face a difficulty to determine the reusability of the components during the component selection process. Similarly, the component developers also have a problem to measure the component reusability during component development. Nowadays, even though many studies have been conducted in this field, which the researchers suggested many approaches with metrics but they still lack in empirical confirmation and evidences. Therefore, the aim of this study is to investigate and develop the component reusability evaluation approach to support CBSD. The proposed approach, which is called Component Reusability Evaluation Approach (CREA), is supported by the developed automated tool (CREATool) that may automate the reusability evaluation. CREA is then evaluated by applying five Java component in this approach and CREATool to the selected software components. The results from the application approach and then validated with results from the controlled experiment using statistical analysis. The results indicated that CREA able to provide an acceptable reusability measure, which it is confirmed by similarity results between evaluation using statistical analysis through the controlled experiment and by applying the CREATool. It shows that the proposed approach could be used as an alternative approach in component reusability evaluation. Although the developed approach are not intended to make a holistic and an ultimate decision whether the components can be reused or not, but it is useful enough to be considered as a guide for both component users and developers in making decisions related to reusable components

    Redocumentation through design pattern recovery:: an investigation and an implementation

    Get PDF
    In this thesis, two methods are developed in an aid to help users capture valuable design information and knowledge and reuse them. They are the design pattern recovery (DPR) method and pattern-based redocumentation (PBR) method. The DPR method is for matching up metrics of patterns with patterns themselves in order to capture valuable design information. Patterns are used as a container for storing the information. Two new metrics, i.e., p-value and s-value are introduced. They are obtained by analysing product metrics statistically. Once patterns have been detected from a system, the system can be redocumented using these patterns. Some existing XML (extensible Markup Language) technologies are utilised in order to realise the PRB method. Next, a case study is carried out to validate the soundness and usefulness of the DPR method. Finally, some conclusions drawn from this research are summarised, and further work is suggested for the researchers in software engineering

    Modelo de calidad para el software orientado a objetos

    Get PDF
    El software ha obtenido en la actualidad una gran importancia en todos los ámbitos de la vida cotidiana. Es indudable que la calidad del software juega un papel fundamental en todo desarrollo informático, aunque en ocasiones no se le presta la suficiente atención, quizás debido a los relativamente escasos trabajos relacionados con este tema desarrollados hasta la fecha. En el presente trabajo, se plantea la necesidad de un modelo de calidad completo. Para cubrir esta necesidad se presenta un nuevo modelo de calidad, obtenido tras un estudio pormenorizado de los modelos de calidad existentes, centrado en el paradigma orientado a objetos. Este modelo de calidad muestra cómo la calidad del software se descompone en una serie de factores y éstos, a su vez, se descomponen en un conjunto de criterios medibles utilizando medidas. El modelo incluye un amplio conjunto de medidas, diseñadas especialmente para su aplicación dentro del paradigma orientado a objetos. Para completar el modelo, se ha diseñado un sencillo método de aplicación de este modelo de calidad para que pueda ser utilizado de una forma simple por los desarrolladores de sistemas informáticos orientados a objetos. El modelo de calidad definido se ha validado realizando un juego de experimentos. Estos experimentos han consistido en la aplicación del modelo sobre una serie de desarrollos orientados a objetos. Los resultados obtenidos han demostrado su utilidad práctica para determinar tanto la calidad global de los sistemas, como para identificar aquellas partes del sistema susceptibles de ser mejoradas. Con este trabajo, se llena un importante hueco existente en esta área, pues, en primer lugar, no existen modelos de calidad completos para la orientación a objetos. En segundo lugar, aunque hay medidas para la orientación a objetos, no se han asociado a los atributos que determinan la calidad del software, por lo que su utilidad, tal cual fueron definidas, resulta bastante cuestionable. Para finalizar, nunca se ha asociado un modelo de calidad con una método de aplicación, por lo que su utilidad quedaba considerablemente mermada, quedando a expensas de la habilidad y experiencia del Ingeniero del Software que lo utilizara

    Über die Anwendung des service-orientierten Architekturstils auf heterogene Anwendungslandschaften

    Get PDF
    This thesis investigates the application of the service-oriented architectural style in the context of industrial enterprises. This style provides a commonly perceived paradigm for organizing distributed software systems. However, beyond general attention to this style, there are only few descriptions of the difference between service orientation and more mature styles, such as component orientation. This dissertation argues that the service-oriented style is an approach that centralizes control over distributed functionality that is provided by the application systems of an organization. This means that service orientation is a paradigm for application integration. Moreover, we argue that it is not possible to fully formalize the inherent principles of service orientation as part of an architectural style description. In fact, soft design principles are a differentiator of this style. These principles, however, are rarely applied in the context of industrial enterprises. This is why we analyze how such design principles could be objectively described and what attention should be paid to them. This analysis is performed by categorizing the potential benefits of this style and assigning the respective underlying principles to the identified benefits. Subsequently, a reference architecture is defined on the basis of these findings. This architecture focuses on structuring service-oriented applications - so-called composite applications. In order to apply the defined reference architecture in the context of actual projects, we describe a design methodology for composite applications. This design methodology focuses on using business processes for designing various types of services and on describing their interconnections by the reference architecture. To achieve this, a service design algorithm is included that derives services from business processes by incorporating the results of a statistical analysis of service design principles. The result of this methodology is a platform-independent design of a composite application. It considers the restrictions of the application landscape in which a composite will be deployed. To permit the realization of composite applications, we informally map the platform-independent reference architecture to a platform that is widely used in industrial enterprises. This mapping is, together with the design methodology and the reference architecture, applied to an industry-scale use case. This way, the applicability of the concepts is demonstrated.Diese Dissertation untersucht, wie der service-orientierte Architekturstil von großen Konzernen angewandt werden kann. Dieser Architekturstil strukturiert verteilte Systeme. Neben allgemeiner Aufmerksamkeit sind jedoch nur wenige Beschreibungen verfügbar, die zeigen, wie sich dieser Stil von anderen - so z.B. von dem der Komponentenorientierung - absetzt. Die vorliegende Arbeit beschreibt, dass der service-orientierte Stil ein Ansatz zur Kontrollzentralisierung ist. Dabei zentralisiert er die Kontrolle über die Funktionalität, die von den Applikationssystemen einer Organisation bereitgestellt wird. Daher kann er auch als Integrationsansatz verstanden werden. Zusätzlich ist es nicht möglich, alle Prinzipien des service-orientierten Stils als Architekturstil zu beschreiben. Tatsächlich stellen weiche Designprinzipien das Alleinstellungsmerkmal dieses Stils dar. Diese Prinzipien werden allerdings von großen Organisationen kaum angewendet. Diese Dissertation untersucht deshalb den Stellenwert der einzelnen Prinzipien und beschreibt, wie sie objektiviert werden können. In dieser Untersuchung werden die möglichen Vorteile dieses Architekturstils zunächst kategorisiert. Danach werden diesen potentiellen Vorteilen die Prinzipien zugewiesen, die zu ihrer Erlangung beitragen. Auf Basis dieser Analyse wird danach eine Referenzarchitektur erstellt. Diese Architektur beschreibt eine Struktur für service-orientierte Applikationen, so genannte composite applications, die es erlaubt weiche Designprinzipien zu berücksichtigen. Um diese Referenzarchitektur auf reelle Problemstellungen anwenden zu können, wird außerdem eine Methodik zum Design von composite applications beschrieben. Im Fokus dieser Methodik steht es, Geschäftsprozesse als Ausgangspunkt für das Design von Services zu benutzen und deren Verbindungen zu beschreiben. Dabei orientiert sie sich an den möglichen Verbindungen, die von der Referenzarchitektur definiert werden. Um dies zu erreichen ist außerdem ein Algorithmus für das Design von Services enthalten. Dieser Algorithmus leitet aus Geschäftsprozessen Services ab und berücksichtigt dabei die Ergebnisse einer statistischen Auswertung, die die Wiederverwendbarkeit von Services als Untersuchungsziel hat. Das Ergebnis dieser Methodik ist das plattformunabhängige Design einer composite application. Dieses Design ist an einem Geschäftsprozess orientiert, berücksichtigt aber auch die Einschränkungen der Systemlandschaft, in der die Applikation betrieben werden soll. Um auf der Basis eines solchen Designs eine composite application erstellen zu können, ist weiterhin eine informelle Abbildung der plattformunabhängigen Architektur auf eine häufig eingesetzte Plattform in der Arbeit beschrieben. Zusammen mit der Methodik und der Referenzarchitektur wird diese Abbildung dann auf ein industrielles Fallbeispiel angewandt. Auf diese Weise wird die Anwendbarkeit der beschriebenen Konzepte demonstriert
    corecore