<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Domain Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/domain/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/domain/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Sun, 16 Apr 2023 08:44:18 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://i0.wp.com/ceosbay.com/wp-content/uploads/2022/11/image.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Domain Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/domain/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>BDD &#8211; Behavior Driven Development &#8211; Software, die den Anforderungen der Kunden entspricht</title>
		<link>https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/</link>
					<comments>https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sun, 12 Mar 2023 19:18:20 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Big-Data]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Automatisierung]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[Behavior]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Domain]]></category>
		<category><![CDATA[Driven]]></category>
		<category><![CDATA[Einsatz]]></category>
		<category><![CDATA[Entwickeln]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Mock]]></category>
		<category><![CDATA[Ops]]></category>
		<category><![CDATA[Praxis]]></category>
		<category><![CDATA[Problemraum]]></category>
		<category><![CDATA[Skript]]></category>
		<category><![CDATA[Sprache]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Überprüfung]]></category>
		<category><![CDATA[Werkzeuge]]></category>
		<category><![CDATA[Zusammenarbeit]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1096</guid>

					<description><![CDATA[<p>In der Softwaretechnik ist die verhaltensorientierte Entwicklung (BDD = Behavior Driven Development) ein agiler Softwareentwicklungsprozess. Sie optimiert die Zusammenarbeit zwischen Stakeholder, Entwickler, Qualitätssicherungsexperten und Kundenvertretern in einem Softwareprojekt. Darüber hinaus ermutigt es Teams, Gespräche und &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/">BDD &#8211; Behavior Driven Development &#8211; Software, die den Anforderungen der Kunden entspricht</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In der Softwaretechnik ist die verhaltensorientierte Entwicklung (BDD = Behavior Driven Development) ein agiler Softwareentwicklungsprozess. Sie optimiert die Zusammenarbeit zwischen Stakeholder, Entwickler, Qualitätssicherungsexperten und Kundenvertretern in einem Softwareprojekt. Darüber hinaus ermutigt es Teams, Gespräche und konkrete Beispiele zu nutzen, um ein gemeinsames Verständnis dafür zu entwickeln, wie sich eine Anwendung verhalten soll. Es ist aus der testgetriebenen Entwicklung (TDD = Test Driven Development) hervorgegangen.</p>



<p class="wp-block-paragraph">Die verhaltensgetriebene Entwicklung kombiniert die allgemeinen Techniken und Prinzipien von TDD. Unter Anderem auch mit Ideen aus dem bereichsgetriebenen Design, der objektorientierten Analyse und dem objektorientierten Design, um Softwareentwicklungs- und Managementteams gemeinsame Tools und einen gemeinsamen Prozess für die Zusammenarbeit bei der Softwareentwicklung zur Verfügung zu stellen.</p>



<p class="wp-block-paragraph">So wie man die Softwareentwicklung sowohl von geschäftlichen Interessen als auch von technischem Verständnis voranbringt, setzt die BDD-Praxis den Einsatz spezieller Softwaretools zur Unterstützung des Entwicklungsprozesses voraus. Obwohl man diese Tools oft speziell für den Einsatz in BDD-Projekten entwickelt, kann man sie als spezialisierte Formen der Tools zur Unterstützung der testgetriebenen Entwicklung betrachten. Diese Tools dienen dazu, die allgegenwärtige Sprache, die ein zentrales Thema von BDD ist, zu automatisieren.</p>



<p class="wp-block-paragraph">BDD wird weitestgehend durch die Verwendung einer einfachen domänenspezifischen Sprache (DSL = Domain-Specific-Language) mit natürlichen sprachlichen Konstrukten (z.B. deutsch- oder englischsprachige Sätze) erleichtert, mit denen man das Verhalten und die erwarteten Ergebnisse ausdrückt. Testskripte sind seit langem eine beliebte DSLs mit unterschiedlichem Grad an Raffinessen. BDD gilt als effektive technische Praxis, insbesondere wenn der &#8222;Problemraum&#8220; des zu lösenden Geschäftsproblems komplex ist.</p>



<h3 class="wp-block-heading">Wie funktioniert BDD?</h3>



<p class="wp-block-paragraph">Im Grunde genommen besteht Behavior Driven Development aus den folgenden Elementen:</p>



<ul class="wp-block-list">
<li>Starke Einbeziehung der Stakeholder in den Prozess durch sogenannte Outside-In-Softwareentwicklung. Diese ist fokussiert auf die Erfüllung der Anforderungen der Auftraggeber, der Enduser, des Betriebs und von Insidern.</li>



<li>Textuelle Beschreibung des Verhaltens der Software und von Softwareteilen durch Fallbeispiele. Verwendung genormter Schlüsselwörter zur Markierung von Vorbedingungen, des externen Verhaltens und des gewünschten Verhaltens der Software.</li>



<li>Automatisierung der Fallbeispiele unter Verwendung von Mock-Objekten zur Simulation von noch nicht implementierten Softwareteilen.</li>



<li>Sukzessive Implementierung der Softwareteile und dem Ersetzen der Mock-Objekte.</li>
</ul>



<p class="wp-block-paragraph">Dadurch entsteht eine automatisiert prüfbare Beschreibung der zu entwickelnden Software, die jederzeit die Richtigkeit der bereits umgesetzten Teile der Software überprüfen lässt.</p>



<p class="wp-block-paragraph">Wichtig ist hierbei, dass die Beschreibung nicht die Implementierung der Anwendung vorgibt, sondern den Zweck der Anwendung in Form von Anwendungsbeispielen.</p>



<p class="wp-block-paragraph">Beim Behavior Driven Development werden die Anforderungen an die Software mittels Beispiele, sogenannten Szenarien beschrieben. Üblicherweise wird für die Beschreibung dieser Szenarien ein bestimmtes Format vorgegeben, damit später die automatisierte Überprüfung der Szenarien einfach umzusetzen ist. Eines dieser Formate ist die Beschreibungssprache „Gherkin“. Man kann es auch in verschiedenen Behavior-Driven-Development-Implementierungen verwenden. Diese Sprache gibt es sowohl mit englischen Schlüsselwörtern (Given, When, Then, And, …), deutschen (Gegeben, Wenn, Dann, Und, …) und in weiteren Sprachen. Mehr dazu in meinem Beitrag über <a href="https://ceosbay.com/2023/03/11/erklaerung-cucumber/" target="_blank" rel="noreferrer noopener">Cucumber bzw. Gherkin</a>.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p class="wp-block-paragraph">Behavior Driven Development (BDD) ist eine agile Softwareentwicklungs-Methode, die sich auf die Zusammenarbeit zwischen Entwicklern, Business Analysten und Kunden konzentriert, um sicherzustellen, dass die erstellte Software den Bedürfnissen der Anwender entspricht. BDD ist eine Erweiterung des Test Driven Developments (TDD) und legt den Schwerpunkt auf die Definition von klaren, verständlichen Anforderungen und Tests, die das Verhalten der Anwendung aus der Perspektive des Nutzers beschreiben. Durch die Verwendung von gemeinsamer Sprache und konkreten Beispielen kann man die Kommunikation zwischen den Stakeholdern verbessern und Missverständnisse vermeiden. Das Ergebnis ist eine höhere Qualität der Software, eine schnellere Markteinführung und eine höhere Kundenzufriedenheit.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/">BDD &#8211; Behavior Driven Development &#8211; Software, die den Anforderungen der Kunden entspricht</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1096</post-id>	</item>
		<item>
		<title>Frameworks &#8211; Effiziente Entwicklung und eine höhere Qualität durch Rahmenwerke</title>
		<link>https://ceosbay.com/2022/11/14/erklaerung-frameworks/</link>
					<comments>https://ceosbay.com/2022/11/14/erklaerung-frameworks/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Mon, 14 Nov 2022 10:31:37 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Architektur]]></category>
		<category><![CDATA[Baukasten]]></category>
		<category><![CDATA[Bausteine]]></category>
		<category><![CDATA[Bibliotheken]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[Coordination]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Domain]]></category>
		<category><![CDATA[Effizienz]]></category>
		<category><![CDATA[Entwickeln]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Herangehensweise]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Klassen]]></category>
		<category><![CDATA[Komponenten]]></category>
		<category><![CDATA[Laufzeitumgebung]]></category>
		<category><![CDATA[Rahmenwerk]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Struktur]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=505</guid>

					<description><![CDATA[<p>Frameworks &#8211; Wie der Name schon sagt, handelt es sich dabei um Rahmenwerke oder ein Grundgerüst, die dem Programmierer die Bestimmung der&#160;grundlegenden&#160;Architektur der Software ermöglichen. Frameworks kommen in der Regel bei der objektorientierten Programmierung zum &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Frameworks &#8211; Effiziente Entwicklung und eine höhere Qualität durch Rahmenwerke</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Frameworks &#8211; Wie der Name schon sagt, handelt es sich dabei um Rahmenwerke oder ein Grundgerüst, die dem Programmierer die Bestimmung der&nbsp;grundlegenden&nbsp;Architektur der Software ermöglichen. Frameworks kommen in der Regel bei der objektorientierten Programmierung zum Einsatz. Sie umfassen eine Laufzeitumgebung, Bibliotheken und eine Reihe weiterer Komponenten, um die optimale Grundstruktur zur Verfügung zu stellen. Die Basisbausteine sind in konkrete und abstrakte Klassen unterteilt. Diese stehen einem Programmierer direkt zur Verfügung, was zu einer enormen Zeiteinsparung führt. Vor allem, da die Elemente nicht jedes Mal neu programmiert werden müssen.</p>



<h3 class="wp-block-heading">Ab wann werden Frameworks relevant?</h3>



<p class="wp-block-paragraph">In der Regel definiert man als Programmierer oder als Team, zu Beginn eines Projekts, auf Basis der Anforderungen und der wirtschaftlichen Aspekte, die Herangehensweise. </p>



<p class="wp-block-paragraph">Man hat immer die Auswahl, alles von Grund auf selber bzw. nativ zu programmieren, was zwar eine extrem individuelle Lösung darstellt und alles bis auf das kleinste Detail erstellt bzw. programmiert werden kann, ein CMS (Content Management System = Eine Software zur gemeinschaftlichen Erstellung, Bearbeitung, Organisation und Darstellung digitaler Inhalte zumeist zur Verwendung in Webseiten aber auch in anderen Medienformen) zu nutzen &#8211; Wobei ich Zweites in einem separaten Beitrag ausführlich thematisieren möchte (Übrigens basiert diese Webseite auch auf einem CMS. In diesem Fall handelt es sich um eine WordPress-Instanz). Und dann gibt es natürlich Frameworks. Wobei die Anforderungen an die Professionalität des Entwicklers bei dieser Herangehensweise relativ hoch angesiedelt sind. Allerdings muss man sagen, dass das hohe Maß an Flexibilität und die Verfügbarkeit ausgefeilter Struktur-Merkmale nicht unwesentlich sind.</p>



<h3 class="wp-block-heading">Welche Frameworks gibt es?</h3>



<p class="wp-block-paragraph">Application Frameworks: Als Grundgerüst für die Programmierung von Anwendungen mit spezifischen Strukturen und Funktionen.</p>



<p class="wp-block-paragraph">Web-Frameworks: Für die Entwicklung und Programmierung dynamischer Web-Sites und Web-Anwendungen.</p>



<p class="wp-block-paragraph">Komponenten-Frameworks: Als Umgebungsrahmen für die Programmierung und Einbindung von Programm-Paketen.</p>



<p class="wp-block-paragraph">Domain Frameworks: Als Rahmen für vordefinierte Problembereiche.</p>



<p class="wp-block-paragraph">Coordination Frameworks: Zur Einrichtung von Geräte-Interaktionen bzw. für die Abfolge zu steuernder Einzelschritte.</p>



<p class="wp-block-paragraph">Class Frameworks: Zur Zusammenfassung von „Klassen“ und „Methoden“, im Sinne einer optimalen Unterstützung des Programmierers bei der Implementierung seiner spezifischen Anwendungen.</p>



<p class="wp-block-paragraph">Test Frameworks: Für das Testen von Programmen. Klassische Beispiele hierfür sind „<a href="https://www.selenium.dev" target="_blank" rel="noreferrer noopener">Selenium</a>“ für den Test von Webanwendungen und „JUnit“ für den Test von Modulen. <a href="https://ceosbay.com/2022/11/25/selenium/">Selenium</a> habe ich in diesem <a href="https://ceosbay.com/2022/11/25/selenium/">Beitrag</a> thematisiert.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p class="wp-block-paragraph">Eines der Vorteile ist, wie bereits erwähnt, dass Wiederkehrende Aufgaben schneller abgewickelt werden können, da im Framework bereits eine Reihe an Elementen vorprogrammiert sind. Diese können beliebig oft verwendet werden.&nbsp;Darüberhinaus beinhalteten Frameworks Basis-Bausteine, die auf die Design-Struktur eines Programms Einfluss nehmen. Sie bieten sich in der Regel bei speziellen Anforderungen  und individuellen Lösungen an, so kann das vom Framework zur Verfügung gestellte Programmier-Gerüst eine gute Wahl darstellen. Nichtsdestotrotz sollte man meines Erachtens nach bei &#8222;kleineren&#8220; Projekten die Nutzung von Content Management Systemen in Erwägung ziehen. Schlussendlich, hängt die Wahl der jeweiligen Herangehensweise und die Effizienz, in der das Projekt realisiert wird, häufig von der Qualifikation und dem Skillset eines jeden Programmierers ab.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Frameworks &#8211; Effiziente Entwicklung und eine höhere Qualität durch Rahmenwerke</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/11/14/erklaerung-frameworks/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">505</post-id>	</item>
	</channel>
</rss>
