141 |
[pt] CATALOGANDO ANTIPADRÕES DE INJEÇÃO DE DEPENDÊNCIA EM SISTEMAS DE SOFTWARE / [en] CATALOGING DEPENDENCY INJECTION ANTI-PATTERNS IN SOFTWARE SYSTEMSRODRIGO NUNES LAIGNER 19 June 2020 (has links)
[pt] Contexto Injeção de Dependência (DI) é um mecanismo comumente aplicado para desacoplar classes de suas dependências com o objetivo de prover uma melhor modularização do software. No contexto de Java, a existência de uma especificação de DI e frameworks populares, como o Spring, facilitam o emprego de DI em projetos de software. Entretanto, más práticas de implementação de DI podem trazer más consequências, como maior acoplamento, dificultando alcançar o principal objetivo de DI. Apesar de
a literatura sugerir a existência de anti-padrões de DI, não há uma documentação detalhada de tais más práticas. Em adição, não há evidência da ocorrência e da percepção de utilidade dos mesmos do ponto de vista de desenvovedores. Objetivos Nosso objetivo é revisar os anti-padrões de DI reportados com o objetivo de analisar sua completude e propor um novo catálogo de anti-padrões de DI para Java. Método Nós propomos um catálogo contendo 12 anti-padrões de DI para Java. Nós selecionamos 4 projetos
open-source e 2 projetos closed-source que adotam um framework de DI e desenvolvemos uma ferramenta que analisa estaticamente a ocorrência dos anti-padrões de DI candidatos no código fonte das aplicações. Em adição, nós conduzimos uma pesquisa por meio de entrevistas face a face com três
desenvolvedores experientes que regularmente aplicam DI em seus projetos. Nós estendemos a pesquisa com o objetivo de obter a percepção de um conjunto de 15 desenvolvedores experientes e novatos por meio de um questionário online Resultados Ao menos 9 anti-padrões de DI apareceram frequentemente nos projetos de software analisados. Em adição, a avaliação recebida dos desenvolvedores confirmaram a relevância do catálogo. Por fim, os respondentes expressaram o desejo de refatorar as instâncias de antipadrões de DI propostas. Conclusões O catálogo contém anti-padrões de DI que ocorrem na prática e são úteis. Compartilhar com praticantes da indústria os permitirá evitar a introdução de anti-padrões em seus projetos de software. / [en] Background Dependency Injection (DI) is a commonly applied mechanism to decouple classes from their dependencies in order to provide better modularization of software. In the context of Java, the availability
of a DI specification and popular frameworks, such as Spring, facilitate DI usage in software projects. However, bad DI implementation practices can have negative consequences, such as increasing coupling, hindering the achievement of DI s main goal. Even though the literature suggests the existence of DI anti-patterns, there is no detailed documentation of such bad practices. Moreover, there is no evidence on their occurrence and perceived usefulness from the developer s point of view. Aims Our goal is to review
the reported DI anti-patterns in order to analyze their completeness and to propose and evaluate a novel catalog of Java DI anti-patterns. Method We propose a catalog containing 12 Java DI anti-patterns. We selected 4 opensource and 2 closed-source software projects that adopt a DI framework and developed a tool to statically analyze the occurrence of the candidate DI anti-patterns within their source code. Also, we conducted a survey through face to face interviews with three experienced developers that regularly
apply DI. We extended the survey in order to gather the perception of a set of 15 expert and novice developers through an online questionnaire. Results At least 9 different DI anti-patterns appeared frequently in the analyzed projects. In addition, the feedback received from the developers
confirmed the relevance of the catalog. Besides, the respondents expressed their willingness to refactor instances of anti-patterns from source code. Conclusions The catalog contains Java DI anti-patterns that occur in practice and are useful. Sharing it with practitioners may help them to avoid such anti-patterns.
|
142 |
Modellierung und automatische Validierung von Anschauungsmodellen für die buildingSMART „BIM-Klassen der Verkehrswege“ mit card_1Knäbel, Moritz 07 May 2024 (has links)
Die Bachelorarbeit untersucht die praktische Umsetzung des buildingSMART-Klassenkatalogs „BIM-Klassen der Verkehrswege“ in der Software card_1 und dessen Exportmöglichkeiten im IFC-Format. Es wird gezeigt, wie ein fiktives Anschauungsmodell einer Kreuzungsszene erstellt und mithilfe des Klassenkatalogs klassifiziert wird. Zusätzlich wurde eine Kommandozeilenanwendung entwickelt, die die mit card_1 erstellten IFC-Dateien validiert, um die korrekte Zuordnung der Klassifikationen zu überprüfen. Der Modellierungsprozess wurde in einem Modellierungshandbuch dokumentiert, das die verwendeten Methoden und Werkzeuge detailliert beschreibt. Die Ergebnisse zeigen, dass card_1 IFC-Exporte nach IFC 4 und IFC 4x1 unterstützt, jedoch nicht alle Objekte mit Geometrie versehen sind. Trotz der fehlenden Geometrie werden diese Objekte semantisch im IFC-Schema abgebildet.:1. Einleitung
2. Stand der Forschung und Technik
2.1. BIM
2.1.1. Ansätze
2.1.2. BIM im Infrastrukturbau
2.2. Klassenkatalog „BIM-Klassen der Verkehrswege 2.0“
2.2.1. Anforderungen
2.2.2. Vorgehensweise der Ausarbeitung
2.2.3. Inhalt und Struktur
2.3. IFC
2.3.1. Aufbau und Struktur
2.3.2. Versionen
2.3.3. Attributierungs- und Klassifizierungsmöglichkeiten
2.4. Modellierungssoftware card_1
2.4.1. Programmphilosophie
2.4.2. Neuer Straßenentwurf (NSE) und Fachobjektstruktur
3. Methodik
3.1. Modellierungshandbuch
3.2. Modellierung mit card_1
3.2.1. Wissensbeschaffung
3.2.2. Auswahl der Klassen
3.2.3. Datenbeschaffung
3.2.4. Modellierungsvorlage
3.2.5. Modellierung
3.2.6. Attributierung
3.2.7. Verwendete Klassen
3.2.8. IFC Export
3.3. Programmierung
4. Praktische Umsetzung
4.1. Klassifizierung und Attributierung in card_1
4.2. IFC-Exportmöglichkeiten von card_1
5. Entwicklung der Kommandozeilenapplikation
5.1. Anforderungen
5.2. Programmierung und Implementierung
5.2.1. Modellstruktur des card_1 IFC Modells
5.2.2. Genutzte Bibliotheken
5.2.3. Programmablauf
6. Ergebnisse
6.1. Anschauungsmodell in card_1
6.2. Anschauungsmodell in IFC
6.3. Herausforderungen und Limitationen
6.4. Kommandozeilenapplikation
7. Zusammenfassung und Ausblick
7.1. card_1
7.2. card_1 Modell
7.3. Erweiterung der Kommandozeilenapplikation
7.4. Klassenkatalog
8. Fazit
A. Anhang
B. Verzeichnis der digitalen Anlagen / The bachelor thesis examines the practical implementation of the buildingSMART class catalog “BIM-Klassen der Verkehrswege” in the card_1 software and its export options to the IFC format. It is shown how a fictive model of an intersection scene is created and classified using the class catalog. In addition, a command line application was developed that validates the IFC files created with card_1 in order to check the correct assignment of the classifications. The modeling process was documented in a modeling guide that describes the methods and tools used in detail. The results show that card_1 supports IFC exports to IFC 4 and IFC 4x1, but not all objects are provided with geometry. Despite the lack of geometry, these objects are semantically mapped in the IFC schema.:1. Einleitung
2. Stand der Forschung und Technik
2.1. BIM
2.1.1. Ansätze
2.1.2. BIM im Infrastrukturbau
2.2. Klassenkatalog „BIM-Klassen der Verkehrswege 2.0“
2.2.1. Anforderungen
2.2.2. Vorgehensweise der Ausarbeitung
2.2.3. Inhalt und Struktur
2.3. IFC
2.3.1. Aufbau und Struktur
2.3.2. Versionen
2.3.3. Attributierungs- und Klassifizierungsmöglichkeiten
2.4. Modellierungssoftware card_1
2.4.1. Programmphilosophie
2.4.2. Neuer Straßenentwurf (NSE) und Fachobjektstruktur
3. Methodik
3.1. Modellierungshandbuch
3.2. Modellierung mit card_1
3.2.1. Wissensbeschaffung
3.2.2. Auswahl der Klassen
3.2.3. Datenbeschaffung
3.2.4. Modellierungsvorlage
3.2.5. Modellierung
3.2.6. Attributierung
3.2.7. Verwendete Klassen
3.2.8. IFC Export
3.3. Programmierung
4. Praktische Umsetzung
4.1. Klassifizierung und Attributierung in card_1
4.2. IFC-Exportmöglichkeiten von card_1
5. Entwicklung der Kommandozeilenapplikation
5.1. Anforderungen
5.2. Programmierung und Implementierung
5.2.1. Modellstruktur des card_1 IFC Modells
5.2.2. Genutzte Bibliotheken
5.2.3. Programmablauf
6. Ergebnisse
6.1. Anschauungsmodell in card_1
6.2. Anschauungsmodell in IFC
6.3. Herausforderungen und Limitationen
6.4. Kommandozeilenapplikation
7. Zusammenfassung und Ausblick
7.1. card_1
7.2. card_1 Modell
7.3. Erweiterung der Kommandozeilenapplikation
7.4. Klassenkatalog
8. Fazit
A. Anhang
B. Verzeichnis der digitalen Anlagen
|
143 |
VÝZVA JMÉNEM VENKOV / CHALLENGE NAMED COUNTRYSIDEKlumparová, Petra January 2019 (has links)
The diploma thesis deals with the topic of contemporary countryside. The result of the thesis - illustrative Manual originated from searching for the basic principles in the area of land-use planning. It focuses especially on urban issues and tries to answer some of them in a comprehensible form. Manual consists mostly of schematics, sketches, visualizations, etc. The issue of new construction and the so-called satellites become one of the key issues. The Manual offers an alternative for this land-grabbing style and it motivates to create a better environment. The basic principles are applied to a specific municipality. Consultation with nine village mayors could be considered as the added value of the work. Mayors shared their experience in building and planning and gave feedback on some chapters. Interesting mayor's remarks are are incorporated in the Manual. The appendix to the manual – Good Practice Examples brings inspiration for creation of regional architecture. The intention is to offer this Manual to all of those who are involved in the management of smaller municipalities.
|
144 |
Johann Friedrich von Uffenbach. Sammler – Stifter – Wissenschaftler / Johann Friedrich von Uffenbach. Collector - Donor - ScientistMeyerhöfer, Dietrich 28 January 2020 (has links)
No description available.
|
Page generated in 0.049 seconds