Software Engineering

Requirements Engineering als Schlüsseldisziplin

Requirements Engineering ist die Schlüsseldisziplin in der Software-Entwicklung, da die Anforderungen an ein System die Grundlage für Ihre weiteren Entwicklungstätigkeiten legen. Ob Sie klassisches Anforderungsmanagement betreiben oder agiles Requirements Engineering: Wir helfen Ihnen dabei, diese Herausforderungen zu meistern.

System- & Software-Architektur für klare Strukturen

Architektur nimmt eine zentrale Position zwischen Anforderungen, Implementierung und Test ein. Wenn Sie die Architektur vernachlässigen, gehen Sie viele Risiken ein: Technische Probleme werden ohne Architektur erst spät entdeckt. Ihr Entwicklungsteam arbeitet ineffizient, wenn das gemeinsame Bild fehlt. Ohne Architektur bleibt es dem Zufall überlassen, ob Ihr System seine Qualitätsanforderungen erfüllt.

Qualitätssicherung durch effiziente Software-Tests

Testen und eine unabhängige Qualitätssicherung sind wesentliche Basis für die Sicherstellung der von Ihnen erwarteten Software-Qualität. Mit der steigenden Komplexität im Software Engineering sind Sie zudem gefordert, Ihre Maßnahmen zur Qualitätssicherung kontinuierlich weiterzuentwickeln. Wir konzipieren und realisieren für Sie die geeigneten Testprozesse und zeigen Ihnen, wie Sie Ihr Qualitätsmanagement an veränderte Anforderungen anpassen.

Mit professionellem Software Engineering Consulting ...

  • greifen Sie auf umfangreiches Methoden- und Technologie-Know-how zu
  • fließen die besonderen Gegebenheiten Ihrer Branche, Ihres Unternehmens und Ihrer Projekte in ein pragmatisches Software Engineering ein
  • integrieren Sie die richtigen Schritte von der Anforderungserhebung, über die Architektur bis hin zum Test und verbessern damit Ihre Software-Engineering-Prozesse
  • bleiben Ihre Prozesse konform zu Normen und Standards (IEC 61508, ISO 26262, SPICE, CMMI etc.)
  • führen Sie passende Methoden und Werkzeuge in Ihr Software Engineering ein
  • konzipieren, entwickeln und testen Sie auch variantenreiche Systeme mit weniger Aufwand
  • steigern Sie die Software-Qualität Ihrer Produkte und stellen eine hohe Qualität Ihrer Systeme sicher
  • laufen Ihre Entwicklungsprojekte einfach runder

Services zum Software Engineering bei Method Park

  • Beratung und projektbegleitendes Coaching zu den Grundvoraussetzungen einer hochwertigen Entwicklung
  • Seminare, Trainings und Qualifizierung von Requirements Engineers, Software-Architekten und Testern nach anerkannten Standards
  • Analyse, Bewertung, Assessment und Verbesserung Ihrer Architektur-, Requirements-Engineering- und Test-Prozesse gemäß SPICE, CMMI, IEC 61508, ISO 26262, IEC 62304
  • Unterstützung beim Roll-out neuer Software-Engineering-Prozesse
  • Evaluierung, Auswahl und Anpassung von Werkzeugen und Methoden
  • Schulung Ihrer Mitarbeiter im Umgang mit diesen Werkzeugen und Techniken
  • Erstellung und Review von Pflichten- und Lastenheften
  • Entwicklung von Architekturen für Software-Produktlinien
  • Konzeption und Umsetzung von Testprozessen (auch im agilen Umfeld) sowie Testautomatisierung und Durchführung von Testprojekten

Clean Pull Requests und Prüfen mit System

Trotz guter Toolings, erfahrener Entwickler, des richtigen Mindsets und eines vernünftig wirkenden Reviewprozesses liefern Codereviews häufig nicht die gewünschte Qualität. Nicht nur der Reviewer entscheidet darüber, ob Codereviews erfolgreich sind – neben einem geplanten Ressourceneinsatz sind Clean Pull Requests die unabdingbare Basis für gute Reviews. Dieser Artikel zeigt, wieso Codereviews in vielen Projekten unbemerkt scheitern, und erläutert, wie sich durch eine ganzheitliche methodische Betrachtung ein tatsächlich zielführender Qualitätssicherungsprozess etablieren lässt.

 

Download

Qualität als primärer Treiber systematischer Architekturarbeit

Download

Die Wahl der „richtigen“ Entwicklungsplattform ist eine der wichtigsten Entscheidung bei der Entwicklung von Software-Produkten. Hier gibt es in der jüngsten Vergangenheit eine Reihe von Neuentwicklungen, die helfen, den gängigen Fallen der Software-Entwicklung auszuweichen. Eine davon ist die Open-Source Plattform .NET Core 3 von Microsoft. Dieser Artikel beschreibt zunächst die gängigsten Fallstricke bei der Entscheidungsfindung für eine geeignete Entwicklungsplattform. An anschaulichen Fallbeispielen wird verdeutlicht, wie .Net Core 3 mit diesen Herausforderungen umgeht. Dieser Beitrag wurde auf der Webseite des DevInsiders (Online seit 23.09.2020) veröffentlicht und ist unter dem Stichwort Solution Stack abrufbar.

Download

Software-entwickelnde Organisationen stehen zunehmend unter dem Druck, Assessments durchführen zu lassen, um ihren OEM-Kunden die Prozessfähigkeiten ihrer Entwicklung nachzuweisen. Unternehmen, die sich auf das Bestehen des Assessments konzentrieren, anstatt ihre Aktivitäten zur Verbesserung des Software-Prozesses auf ihre Geschäftsziele auszurichten, leiden unter Ineffizienzen. Auf der Tagung der EuroSPI im September 2019 in Edinburgh hat Maria Eckey (bei Method Park als Senior Consultant und Teamleiter am Standort Stuttgart tätig) dazu einen Ansatz für die systematische Analyse von Praxis-Erfahrungen vorgestellt: Fallbeispiele aus dem beruflichen Alltag wurden gesammelt und zu Szenarien zusammengefasst, die potenzielle Einflussfaktoren vergleichen. Dieser Beitrag wurde im Konferenzband (S. 392-401) veröffentlicht. Links auf diesen Band und die ersten beiden Beitragsseiten enthält der Download.

Download

Für das Internet der Dinge braucht es vor allem anspruchslose Software: Sie muss auf kleinsten Mikrocontrollern laufen und denn die wesentlichen Kommunikationsprotokolle sicher beherrschen. Neben kommerziellen Angeboten wetteifern hier auch viele Open-Source-Projekte um die Gunst der Entwickler. Anhand der Implementierung eines einfachen Beispiels beschreibt das White Paper das Zephyr-Projekt der Linux Foundation.

Download

Umfangreichere grafische Benutzeroberflächen (GUI) sind nur mit großem Aufwand manuell zu testen. Mit GUI-Test-Tools lassen sich detaillierte Test-Szenarien definieren, automatisiert ausführen und durch Screenshots dokumentieren. Ein solches Tool ist Squish. Sein Grundprinzip entspricht dem aus dem Behavior Driven Development (BDD) bekannten Konzept. Der Artikel beschreibt und bewertet den Einsatz von Squish zum Testen einer in Qt/QML geschriebenen Anwendung in der Medizintechnik. In: German Testing Magazin (Beilage der JavaSPEKTRUM 3/2019 und der OBJEKTspektrum 4/2019)

Download

Viele Unternehmen sitzen in einer Komplexitätsfalle. Mithilfe modellbasierter Produkt-Entstehungsprozesse lässt sich diese Komplexität beherrschen und neue Methoden (z.B. Agilität, Plattformen, Modellorientierung) ökonomisch effektiv einführen. Der Artikel zeigt, wie Unternehmen damit ihre Entwicklungsprozesse vereinfachen und so schneller auf sich ändernde Rahmenbedingungen reagieren. In: it management (Ausgabe April 2019), mit freundlicher Genehmigung der Redaktion: www.it-daily.net

Download

Legacy Code ist in vielen Software-Entwicklungsprojekten ein großes Problem. Legacy Code entsteht schleichend über einen längeren Zeitraum hinweg, entweder weil sich ein Unternehmen Zeit und Aufwand für regelmäßige Wartungsarbeiten spart oder weil Entwickler ihren Code nur unzureichend testen. Wie man mit Legacy Code umgehen kann, zeigt dieser Artikel. Schlüsselbegriffe sind dafür die Ansätze des Clean Code. In: ElektronikPraxis (Ausgabe 4/2019)

Download

Das Testframework „Jest“ und das Testwerkzeug „Enzyme“ wurden von Facebook bzw. von Airbnb speziell für den Komponenten-Test von React-Anwendungen konzipiert und veröffentlicht. „Jest“ ist dabei verantwortlich für die Orchestrierung und Strukturierung von Testsuiten sowie für die Überprüfung gewünschter Eigenschaften. Ergänzt wird „Jest“ von „Enzyme“, das den zu testenden Frontend Code ausführt und die zugehörigen Schnittstellen zur Verfügung stellt. Der Artikel erläutert, wie die beiden Testing Frameworks in Bezug auf ihre Funktionalität ineinandergreifen und wie man als Entwickler ihre Funktionalität ideal einsetzt. Dabei geht der Beitrag auch auf Verbesserungspotenzial und Schwächen der Frameworks ein. In: iX (Ausgabe 2/2019)

Download

Blockchains sind in aller Munde. 2017 erzielten sog. Initial Coin Offerings Gesamterlöse im Wert von mehr als 5,6 Mrd. US-Dollar. Dabei sind zwei Ansätze zu unterscheiden: permissionless Blockchains wie Bitcoin oder Ethereum, bei denen die Sicherungsmechanismen sehr umfangreich sind, worunter jedoch die Perfomance leidet; und permissioned Blockchains, die nur in geschlossenen Netzwerken arbeiten, daher geringere Sicherheitsanforderungen erfüllen müssen und damit performanter sind. Der Artikel zeigt, welche ökonomischen Anwendungsbereiche sich für beide Ansätze eignen. In: IT&Production (Ausgabe 11/2018)

Download

Seit seinem Erscheinen 1995 dominiert JavaScript die Entwicklung von Software im Browser. JavaScript-Interpreter und JIT Compiler stoßen im Hinblick auf Performance aber an ihre Grenzen. Dr. Michael Gerhäuser, Senior Software Engineer bei Method Park, zeigt in einem Beitrag auf „heise Developer“ (online seit 28. September 2018), wie WebAssembly hier Abhilfe schaffen kann. WebAssembly bietet Web-Anwendungen die Möglichkeit, Code in einer Geschwindigkeit auszuführen, die sehr nahe an die Werte klassischer Desktop-Anwendungen herankommt. Der Beitrag erläutert die besondere Funktionsweise von WebAssembly, beleuchtet den Aspekt der Sicherheit vor unauthorisiertem Datenzugriff, geht auf die Schwächen von WebAssembly ein und erklärt, in welchen Situationen der Einsatz von WebAssembly Sinn macht, wo WebAssembly heute schon eingesetzt wird und wann die Nutzung von JavaScript die bessere Lösung ist. Diesen Artikel können Sie sich von der Heise-Webseite herunterladen: https://www.heise.de/developer/artikel/WebAssembly-Webanwendungen-auf-der-Ueberholspur-4165049.html

Download

Im Mai 2017 hat die neue Medizinprodukteverordnung (MDR) die alte Medizinprodukterichtlinie (MDD) abgelöst. Vor allem in die technische Dokumentation müssen Hersteller nun mehr Aufwand und Zeit investieren. Während der Fachartikel zu diesem Thema in knapper Form die Motivation der EU-Kommission erklärt und die Neuerungen in der MDR zeigt, gibt dieses Whitepaper einen detailierten Überblick über die Unterschiede zwischen der alten MDD und der neuen MDR.

Download

Seit Mai 2017 gilt die neue Medizinprodukteverordnung (MDR). Sie löst die alte Medizinprodukterichtlinie (MDD) ab. Die Änderungen sind umfassend und stellen Hersteller vor große Herausforderungen. Gerade bei der technischen Dokumentation müssen sie bei der Entwicklung ihrer Produkte genauer hinschauen und umfangreichere Anforderungen erfüllen. Das gilt auch für die Überwachung eines Produktes, nachdem es in Verkehr gebracht wurde. Der Artikel erklärt die Motivation der EU-Kommission und zeigt die Neuerungen in der MDR. In: medizin&technik (Ausgabe 04/2018)

Download

Sind Soft Skills wirklich nur etwas für Dampfplauderer? Der Beitrag zeigt, dass auch in der „normalen“ Software-Entwicklung Soft Skills dringend gebraucht werden. Gründe sind zum einen die Komplexität der Produkte und ihrer Entwicklungsprozesse, die mit einem gesteigerten Qualitätsanspruch einhergeht, zum anderen aber auch der rasante Technologiewandel der Branche. Diese Faktoren machen Teamwork, Kommunikationsfähigkeit und die Bereitschaft, Wissen weiterzugeben, notwendig. Soft Skills werden nicht „erlernt“, sondern adaptiert. Der Autor gibt Tipps zum Training dieser Skills. In: Java aktuell (Ausgabe 4/2018)

Download

Zum gleichnamigen Fachartikel haben die Autoren auf dem ESE-Kongress 2017 in Sindelfingen einen Vortrag gehalten. Die Vortragsfolien können Sie sich hier herunterladen.

Download

Gut durchdachte Architekturmuster entscheiden über die Effizienz eines Software-Entwicklungsprojektes und über die Qualität der entwickelten Software. Das gilt insbesondere für die Entwicklung moderner Applikationen. Dieser Artikel befasst sich mit dem Architekturmuster „Ports and Adapters“ von Alistair Cockburn. Er erläutert seinen Einsatz in der Praxis und das übliche Vorgehen, nennt Vor- und Nachteile. In: Elektronik Praxis, Embedded Software Engineering (Ausgabe November, 2017)

Download