12 research outputs found
A Meta Model for Software Architecture Conformance and Quality Assessment
Software architecture and design suffer from a lack of documented knowledge on how different architectural styles influence software quality. Existing software quality models do not allow engineers to evaluate whether a given software system adequately implements the basic principles of the chosen architectural style, and which architectural properties and best practices beyond these principles contribute to the system's quality. In this paper, I present a meta quality model for software architectures, which can be used not only as a knowledge-base to easily compare architectural styles based on their impact on software quality, but also to increase efficiency of architectural quality analysis by leveraging existing modeling concepts and tools. An experiment performing an architecture assessment using a quality model for the SOA architectural style not only showed that the approach is applicable in practice, but also indicated a reduction of manual effort compared to other architecture assessment approaches
Conceptualizing Quality in Software Industry
This paper investigates the different software quality perceptions from the different stakeholders’ perspectives and presents a critique to previously developed quality models and measurement theory frameworks associated. It emphasizes the rationale beyond the selection of the Goal Question Metric (GQM) as an evaluation method for the development of the software project with the desired quality needs satisfying the software system. Then it ends up with several concluding remarks that pinpoint the main discussion points and offers guidance for further research
A Comprehensive Model of Usability
Abstract. Usability is a key quality attribute of successful software systems. Unfortunately, there is no common understanding of the factors influencing usability and their interrelations. Hence, the lack of a comprehensive basis for designing, analyzing, and improving user interfaces. This paper proposes a 2-dimensional model of usability that associates system properties with the activities carried out by the user. By separating activities and properties, sound quality criteria can be identified, thus facilitating statements concerning their interdependencies. This model is based on a tested quality meta-model that fosters preciseness and completeness. A case study demonstrates the manner by which such a model aids in revealing contradictions and omissions in existing usability standards. Furthermore, the model serves as a central and structured knowledge base for the entire quality assurance process, e.g. the automatic generation of guideline documents
Mantenibilidad y evolutividad en el software libre y de código abierto
El presente trabajo parte del objetivo general de elaborar criterios para evaluar aspectos técnicos de productos F/OSS (Software Libre y de Código Abierto) como posibles bases o componentes para el desarrollo de aplicaciones.
Una de las características más importantes de este tipo de software es la disponibilidad pública del código; en muchos casos, además, también se dispone de amplia información sobre .el desarrollo del producto. Las licencias bajo las cuales se distribuyen habi- tualmente los productos F/OSS no sólo habilitan sino que alientan a la reutilización y/o modificación de las aplicaciones.
Al momento de plantearse el desarrollo con F/OSS, sin embargo, es frecuente encontrar que la información pública de la cual se dispone es incompleta, deficitaria o desactualizada; además, nada sabemos a priori respecto de la facilidad o dificultad que supondrá realizar cambios en un código desarrollado por una comunidad.
Estos aspectos representan limitaciones de peso para la reutilización del F/OSS. Resulta necesario, entonces, desarrollar modelos, criterios y herramientas que permitan evaluar las características de productos y proyectos F/OSS, y al mismo tiempo proveer a la comunidad de desarrollo de elementos que posibiliten atender la demanda de mantenibilidad.Tesis digitalizada en SEDICI gracias a la colaboración de la Biblioteca de la Facultad de Informática.Facultad de Informátic
Mantenibilidad y evolutividad en el software libre y de código abierto
El presente trabajo parte del objetivo general de elaborar criterios para evaluar aspectos técnicos de productos F/OSS (Software Libre y de Código Abierto) como posibles bases o componentes para el desarrollo de aplicaciones.
Una de las características más importantes de este tipo de software es la disponibilidad pública del código; en muchos casos, además, también se dispone de amplia información sobre .el desarrollo del producto. Las licencias bajo las cuales se distribuyen habi- tualmente los productos F/OSS no sólo habilitan sino que alientan a la reutilización y/o modificación de las aplicaciones.
Al momento de plantearse el desarrollo con F/OSS, sin embargo, es frecuente encontrar que la información pública de la cual se dispone es incompleta, deficitaria o desactualizada; además, nada sabemos a priori respecto de la facilidad o dificultad que supondrá realizar cambios en un código desarrollado por una comunidad.
Estos aspectos representan limitaciones de peso para la reutilización del F/OSS. Resulta necesario, entonces, desarrollar modelos, criterios y herramientas que permitan evaluar las características de productos y proyectos F/OSS, y al mismo tiempo proveer a la comunidad de desarrollo de elementos que posibiliten atender la demanda de mantenibilidad.Tesis digitalizada en SEDICI gracias a la colaboración de la Biblioteca de la Facultad de Informática.Facultad de Informátic
Traceability und Entwurfsentscheidungen für Software-Architekturen mit der Quasar-Methode
Today software maintenance plays an important role for the success of
software development projects, because existing systems have to be adapted
to frequently changing needs and requirements. The concept of traceability
helps to understand the development activities during the changes of a
software system by linking the different artifacts via traceability links.
However, traceability has to be integrated into the design methods.In this
thesis the development steps of the architectural design method Quasar are
evaluated. The Quasar method provides only a low support for the design of
graphical user interfaces and therefore, it is extended concerning this
aspect. The activities of Quasar are refined by additional activities to
fill the gaps in the method and to facilitate traceability. The extended
Quasar method is applied for the development of the architecture and the
graphical user interface of a business information system. The design
decisions in this process are described and the corresponding traceability
links are established. A special emphasis while designing the user
interface is also placed on the consideration of usability guidelines and
principles. The extended method is evaluated during the development
activities for the business information system.Die Wartung von Software spielt heutzutage eine wichtige Rolle, da
bestehende Systeme häufig an sich ändernde Bedürfnisse und Anforderungen angepasst werden müssen. Mit dem Konzept der Traceability können Entwicklungsschritte eines Softwaresystems nachvollzogen werden, indem die Artefakte der verschiedenen Schritte über Traceability-Links miteinander verknüpft werden.In der vorliegenden Arbeit wird das Vorgehen nach der Architekturentwurfsmethode Quasar kritisch untersucht. Quasar bietet unzureichende Unterstützung für die Erstellung von graphischen Benutzerschnittstellen und wird diesbezüglich erweitert. Die einzelnen Aktivitäten von Quasar werden außerdem durch zusätzliche Aktivitäten verfeinert, um ein präzise beschriebenes Vorgehen zu erreichen. Zusätzlich wird Quasar um eine Zuordnung von Traceability-Links ergänzt. Die Architektur der grafischen Benutzerschnittstelle der Beispielanwendung eines betrieblichen Informationssystems wird unter Verwendung der
erweiterten Quasar-Methode sowie auf Basis des SalesPoint-Frameworks neu entwickelt. Die getroffenen Entwurfsentscheidungen werden dokumentiert und Traceability-Links erstellt. Besondere Beachtung bei der Erstellung der Benutzerschnittstelle wird auch der Einhaltung von softwareergonomischen Richtlinien geschenkt, um gute Ergonomie zu erreichen. Die weiterentwickelte Methode wird bei der Entwicklung dieser Beispielanwendung eingesetzt und dabei evaluiert.Ilmenau, Techn. Univ., Diplomarbeit, 200
Quality Goal Oriented Architectural Design and Traceability for Evolvable Software Systems
Softwaresysteme werden heute z.B. aufgrund sich ändernder Geschäftsprozesse
oder Technologien mit häufigen Veränderungen konfrontiert. Die Software und
speziell ihre Architektur muss diese Änderungen zur dauerhaften Nutzbarkeit
ermöglichen.Während der Software-Evolution können Änderungen zu einer
Verschlechterung der Architektur führen, der Architekturerosion. Dies
erschwert oder verhindert weitere Änderungen wegen Inkonsistenz oder
fehlendem Programmverstehen. Zur Erosionsvermeidung müssen Qualitätsziele
wie Weiterentwickelbarkeit, Performanz oder Usability sowie die
Nachvollziehbarkeit von Architekturentwurfsentscheidungen berücksichtigt
werden. Dies wird jedoch oft vernachlässigt.Existierende Entwurfsmethoden
unterstützen den Übergang von Qualitätzielen zu geeigneten
Architekturlösungen nur unzureichend aufgrund einer Lücke zwischen Methoden
des Requirements Engineering und des Architekturentwurfs. Insbesondere gilt
dies für Weiterentwickelbarkeit und die Nachvollziehbarkeit von
Entwurfsentscheidungen durch explizite Modellabhängigkeiten.Diese Arbeit
präsentiert ein neues Konzept, genannt Goal Solution Scheme, das
Qualitätsziele über Architekturprinzipien auf Lösungsinstrumente durch
explizite Abhängigkeiten abbildet. Es hilft somit, Architekturlösungen
entsprechend ihrem Einfluss auf Qualitätsziele auszuwählen. Das Schema wird
speziell hinsichtlich Weiterentwickelbarkeit diskutiert und ist in ein
zielorientiertes Vorgehen eingebettet, das etablierte Methoden und Konzepte
des Requirements Engineering und Architekturentwurfs verbessert und
integriert. Dies wird ergänzt durch ein Traceability-Konzept, welches einen
regelbasierten Ansatz mit Techniken des Information Retrieval verbindet.
Dies ermöglicht eine (halb-) automatische Erstellung von Traceability Links
mit spezifischen Linktypen und Attributen für eine reichhaltige Semantik
sowie mit hoher Genauigkeit und Trefferquote.Die Realisierbarkeit des
Ansatzes wird an einer Fallstudie einer Software für mobile Serviceroboter
gezeigt. Das Werkzeug EMFTrace wurde als eine erweiterbare Plattform
basierend auf Eclipse-Technologie implementiert, um die Anwendbarkeit der
Konzepte zu zeigen. Es integriert Entwurfsmodelle von externen CASE-Tools
mittels XML-Technologie in einem gemeinsamen Modell-Repository, wendet
Regeln zur Linkerstellung an und bietet Validierungsfunktionen für Regeln
und Links.Today software systems are frequently faced with demands for changes, for
example, due to changing business processes or technologies. The software
and especially its architecture has to cope with those frequent changes to
permanently remain usable.During software evolution changes can lead to a
deterioration of the structure of software architectures called
architectural erosion, which hampers or even inhibits further changes
because of inconsistencies or lacking program comprehension. To support
changes and avoid erosion, especially quality goals, such as evolvability,
performance, or usability, and the traceability of design decisions have to
be considered during architectural design. This however often is
neglected.Existing design methods do not sufficiently support the
transition from the quality goals to appropriate architectural solutions
because there is still a gap between requirements engineering and
architectural design methods. Particularly support is lacking for the goal
evolvability and for the traceability of design decisions by explicit model
dependencies.This thesis presents a new concept called Goal Solution
Scheme, which provides a mapping from goals via architectural principles to
solution instruments by explicit dependencies. Thus it helps to select
appropriate architectural solutions according to their influence on quality
goals. The scheme is discussed especially regarding evolvability, and it is
embedded in a goal-oriented architectural design method, which enhances and
integrates established methods and concepts from requirements engineering
as well as architectural design. This is supplemented by a traceability
concept, which combines a rule-based approach with information retrieval
techniques for a (semi-) automated establishment of links with specific
link types and attributes for rich semantics and a high precision and
recall.The feasibility of the design approach has been evaluated in a case
study of a software platform for mobile robots. A prototype tool suite
called EMFTrace was implemented as an extensible platform based on Eclipse
technology to show the practicability of the thesis' concept. It integrates
design models from external CASE tools in a joint model repository by means
of XML technology, applies rules for link establishment, and provides
validation capabilities for rules and links