Werkzeuge für Abschlussarbeiten
Diese Seite repräsentiert Awesome Software-Engineering, d.h. Werkzeuge unabhängig von meinem Lehrgebiet.
Hinweise:
- Die Werkzeuge sind im Zweifelsfall für Studierende und private Nutzung, weniger für Unternehmen oder Freelancer (wegen der Lizenzbedingungen/EULA)
- Die kostenlosen Werkzeuge sind nicht immer Best-in-Class im Vergleich zu kostenpflichtigen/„(€)” Alternativen, dennoch bleiben kostenpflichtige Angebote hier meist Out-of-Scope
- Ein Windows-zentrischer Ersteindruck durch die Chocolatey-Referenzen kann leicht täuschen, denn die kostenlosen oder quelloffenen Tools gibt es i.d.R. auch für Linux oder MacOS mittels snap/flatpak/brew/etc.
- Empfehlung zu Chocolatey: choco feature enable -n useRememberedArgumentsForUpgrades
git
- Git Client: git [choco install git.install -y --params="'/GitAndUnixToolsOnPath /WindowsTerminal /NoAutoCrlf'"]
- ggf. TortoiseGit [choco install tortoisegit] | SourceTree [choco install sourcetree] | SmartGit [choco install smartgit] | GitKraken (s. unten)
- Utilities: git-sizer [choco install git-sizer --ignore-dependencies]
- GitHub Education: insbesondere GitHub Pro ist dadurch für Studierende kostenlos
- GitKraken Client Pro und GitLens+ Pro sind für Studierende kostenlos
- gitattributes-Generator (Obacht: LF-formatiert)
- gitignore-Generator (Obacht: LF-formatiert)
- wget [choco install wget]: im Kontext von git u.a. für: wget -O LICENSE "https://www.apache.org/licenses/LICENSE-2.0.txt" (Obacht: LF-formatiert)
- eolConverter [npm i -g eol-converter-cli]: Unter Windows benötigen Sie u.a. für das Repo-RampUp meist ein Werkzeug für EOL-Konvertierungen, u.a. für:
- Ramp-Up: eolConverter crlf "**/.gitattributes" | eolConverter crlf "**/.gitignore" | eolConverter crlf "**/LICENSE"
- Sporadisch: eolConverter crlf "src/**/*.{txt,js,java,svg}"
- RepoGraphy: Create graphical dashboards to embed in your README.md
- gitlog-Hygiene hinsichtlich Autorenliste:
- A priori: git config --global user.name "Erika Musterfrau" | git config --global user.email e.musterfrau@oth-aw.de
- A posterio: Überprüfen Sie mittels „git shortlog -se” Ihre Autorenliste und denken Sie über eine .mailmap in Ihrem Repo nach
- Gravatar: Viele git-Analysewerkzeuge greifen auf Gravatare zurück
- Weiterführende Quellen: Awesome git
Programmierung
- Visual Studio Code [choco install vscode --ignore-dependencies]
- Es gibt viele wertvolle Extensions → Awesome VS Code bzw. Best-Of-Listen
- Auswahl: PlantUML, draw.io, AsciiDoc, SonarLint, TabNine, uvm.
- Mit Student-Subscriptions (s. unten): GitHub Copilot, GitLens
- Kollaboratives Programmieren? (Coding Dojos | Job Interviews) ⊂ DEVaaS
- Ohne Registrierung
- Cloud (any lang): Collabedit (aber leider keine Code-Ausführung 😞)
- Cloud (JS-only): JSFiddle (mit Code-Ausführung 😃; auch kompatibel zu einer einfachen Jasmine-via-Browser Konfiguration, wie in PK3 verwendet)
- Mit Registrierung
- Cloud: neverinstall (free: 2 Users, max. 1 hour screen time) und GitPod SaaS (free: 50 hours/month)
- On-Premise: GitPod Self-Hosted Community License (free: ≤10 users)
- Ohne Registrierung
- DEVaaS (Single User Perspektive):
- Programmierumgebungen (diverse Programmiersprachen) in der Cloud? neverinstall, GitPod, uvm.
- Py-only: python anywhere (kostenlose Browser-basierte Python-WebApp-Umgebung)
- JS-only: CodeSandbox, StackBlitz, PlayCode, JSFiddle, CodePen, Plunker, JDoodle, uvm.
- TabNine: KI-gestützte Programmierung bzw. Code-Completion, kostenlos ist nur die Short-Code-Completion
- Alternative: GitHub Copilot / OpenAI Codex
- (Für SQL, aber kostenpflichtig: Cogram)
- JetBrains: Bspw. für PyCharm (Py), WebStorm (JS), CLion (C/C++), Intellij IDEA (Java, Kotlin), ReSharper (C#) / Rider (C#) sowie DataGrip (SQL), uvm.
- Kostenlos über die Free Educational Licenses für Studierende.
- (Unter Windows bspw. mittels chocolatey: choco install jetbrainstoolbox)
- Das Google-offizielle Android Studio [choco install androidstudio] basiert auf JetBrains Intellij IDEA
- FOSS IDEs:
- Py: Visual Studio Code [choco install vscode --ignore-dependencies], Eric, Pyzo [choco install pyzo.install], Kate, Thonny, PyDev [choco install pydev], Spyder
- Java: Eclipse IDE [choco install eclipse]
- C#: Visual Studio Code [choco install vscode --ignore-dependencies]
- JavaScript: Visual Studio Code [choco install vscode --ignore-dependencies], Brackets [choco install brackets] (Nennenswert, aber tot: Atom)
- C/C++: Code::Blocks [choco install codeblocks], Eclipse IDE for C/C++ Developers [choco install eclipse-cpp]
- R: RStudio [choco install r.studio]
- PHP: Komodo IDE [choco install komodo-ide], Eclipse PHP Development Tools (PDT)
- Microsoft Azure Dev Tools for Teaching: Lesen Sie sich auf der RZ-Seite „Downloads” das Registrierungsverfahren und die Liste der enthaltenen Microsoft Produkte durch
- Swagger UI: Für den Entwurf und die Dokumentation von REST-APIs
- (Unter Windows bspw. mittels docker: docker run -p 80:8080 swaggerapi/swagger-ui)
- quicktype: Generate models and serializers from JSON, JSON schema, and GraphQL for any programming language
- Compiler Explorer: interactive compiler exploration
- Weiterführende Quellen
- Programmier-Werkzeuge: free-for.dev
- Schauen Sie sich auch die Liste namens GitHub Student Developer Pack an; das ist quasi auch eine Awesome-Liste aus Studierenden-Sicht, mit kuratierten Angeboten von GitHub-Partnern (allerdings überwiegend auf 6m oder 1a limitiert, solche Angebote halte ich für Studierende uninteressant)
SW-Bibliotheken & -Frameworks
- für Python
- für Java
- für C#: .NET Core bzw. .NET Framework
- für JavaScript
- für Node.js
- für C++
- für PHP
Testing
- ArchUnit Java | ArchUnitNET: Unit test your architecture
- Testcontainers: Java-Bibliothek zur leichtgewichtigen Testintegration von Datenbanksystemen, NoSQL-Systemen, Webservern, Log-Diensten u.a.
- Jest: JavaScript Unit-Testing (Cheat Sheet)
- Test web UI components in a user-centric way: Testing Library
- Mock Service Worker (MSW): library for Web-API mocking
- Ponicode Unit Tests: Unit-Test-Generator für JavaScript und Python
- Cypress: WebApp End-to-End (E2E) Testing
- Alternative: Protractor speziell für AngularJS und Angular
- AI-powerd E2E Test Automation: testRigor, kostenlos für public open source | testIM mit kostenlosen Kontingenten
- Gatling Open Source: (Web/Self-Hosted:) WebApp Load-Testing
- JMeter: (Desktop:) WebApp Load Testing
- Cucumber: BDD-Testing
- Kiwi TCMS: Open Source Test Case Management System
- A/B-Testing-on-Steroids: Split für Web-Anwendungen
- Weiterführende Quellen: Awesome Test Automation | Awesome Testing | Awesome Android Testing
Fehleranalyse
- Debugging
- dnSpy (auch Portable per ZIP): Portable .NET debugger (und .NET assembly editor, s. unten)
- Netzwerk
- NETworkManager [choco install networkmanager --ignore-dependencies]: Windows Werkzeug für die Netzwerk-Analyse (ping, traceroute, IP scanner, Portscanner, uvm.)
- ggf. Wireshark [choco install wireshark] und nmap [choco install nmap]
- Logging
- Baretail [choco install baretail]: Windows Werkzeug für Real-time Log-File Monitoring (USP: auch Portable)
- Tail Blazer [choco install tailblazer]: Windows Werkzeug für Real-time Log-File Monitoring (USP: auch RegExp)
- Umgebungsvariablen
- RapidEE [choco install rapidee]: Windows Environment Variables Editor
- Decompiler
- dnSpy [choco install dnspy --ignore-dependencies]: .NET assembly editor (und .NET debugger, s. oben)
- Java-Decompiler [choco install javadecompiler-gui]: Java decompiler
Wireframing & Prototyping & UX
- Uizard: Cloud-basiertes Wireframing & Prototyping Werkzeug (wie Figma et al.), aber mit KI-Komponente: Es kann Handzeichnungen in einen Prototypen umwandeln (sog. Design Assistant)
- Figma als Cloud-Anwendung
- Figma ist kostenlos für Studierende
- Alternativen: mydraft, Moqups, Framer, NinjaMock, uvm.
- (Vorsicht vor JustInMind: Ein sehr gutes Wireframing/Prototyping-Tool, zunächst kostenlos, aber nach 2 Monaten, was nicht in der Pricing-Übersicht steht, verliert man eine Vielzahl von Möglichkeiten und danach ist JustInMind m.E. unbrauchbar)
- Adobe XD als Desktop-Anwendung, auch für Web & Mobile
- Es gibt noch (Stand Mai 2022), etwas versteckt, eine kostenlose Version namens Starter Plan mit etwas reduzierten Features
- Pencil Project: Open Source GUI Prototyping
- Personas:
- Deutsch: Make My Persona
- Englisch: SEMRush, UserForge (free: 2 Personas) UXPressia Persona Creator (free: 1 Persona), , PersonaGenerator oder Xtensio
- KI-gestützter Generator (auf Basis von Google Analytics Daten): delve.ai
- Portrait-Bilder: This Person Does Not Exist (oder Pexels sowie Unsplash)
Modellierung & Architektur
- (Mit draw.io bzw. Microsoft Visio kann man natürlich ein Klassendiagramm zeichnen)
- Cloudcraft: Visualisierung von Cloud-Architekturen. Als Cloud-WebApp. (Beispiele)
- Unterstützt auch Export nach draw.io
- Visual Paradigm Community Edition: UML, SysML, AWS/Azure/GCP Architekturdiagram, uvm.
- (Unter Windos bspw. mittels chocolatey: choco install visualparadigm-ce)
- (€:) Nur ab Standard Edition: Kostenpflichtige Code Generation/Reversal für Java, C++, C#, SQL, Python, uvm. (aber kein JavaScript)
- Cloud-Alternative: Visual Paradigm Online
- Modelio: Open-Source und Eclipse-basiert; UML, SysML, BPMN und TOGAF-bezogene Diagrammarten
- (Unter Windos bspw. mittels chocolatey: choco install modelio)
- Kostenlose Code Generation/Reversal: Java, C++, C# und SQL (sonst nix, bspw. kein Python; auch kein JavaScript)
- PlantUML: UML / Diagrams-as-Code / git-fähig / Kommandozeilen-Anwendung / auf Basis einer textuellen Notation
- (Unter Windows bspw. mittels chocolatey: choco install plantuml)
- Nennenswert #1: Wie handgezeichnet mit „skinparam handwritten true”
- Nennenswert #2: Squenzdiagramme auch in ASCII-Art
- Auswahl an Extensions: C4 model, AWS, Azure
- Cloud-Beispiele: Hitchhiker's Guide to PlantUML
- Web-zentrische Alternativen: Mermaid JavaScript-Bibliothek,
- Kroki Server: u.a. UML / Diagrams-as-Code / git-fähig / URL-Anwendung / auf Basis textueller Notationen
- Unified API with support for PlantUML, BlockDiag, BPMN, Bytefield, C4, Ditaa, Erd, Excalidraw, GraphViz, Mermaid, Nomnoml, Pikchr, Structurizr, SvgBob, UMLet, Vega, Vega-Lite, WaveDrom
- Beispiele: Liste verschiedener Diagramme
- JavaScript UML Generator? (derzeit: nur UML Klassendiagramme)
- arkit: Kommandozeilen-Werkzeug für JavaScript und TypeScript, das primär PlantUML generiert (und daraus abgeleitet SVG oder PNG)
- TsUML: Kommandozeilen-Werkzeug für TypeScript (basierend auf yuml.me)
- JetBrains WebStorm (InteliJ-basiert) mit dem Plugin UML JavaScript and TypeScript
- Eclipse mit der Extension JS/UML
- DSM Suite: managing software dependencies using a design structure matrix
- Camunda Modeler: Für Workflow-Modellierung mittels BPMN, Open-Source
- (Unter Windos bspw. mittels chocolatey: choco install camunda-modeler)
- Cloud-Variante: bpmn.io
- Archi: TOGAF-bezogene Diagrammarten
- (Archi nicht über chocolatey beziehen; die dortige Version ist schon lange veraltet)
- Madge: Visualisierung eines JavaScript dependency-trees mittels graphviz
- Structurizr: C4-Model-bezogene Diagrammarten, bspw. auch für Cloud Architekturen
- LucidChart: Sehr mächtiges Cloud-basiertes Zeichen- und Modellierungswerkzeug
- Leider sind nur 3 Dokumente kostenlos
- Entity/Relationship-Modellierung (ERM):
- Schöne E/R-Diagramme per draw.io [choco install drawio]
- Oder Microsoft Visio mittels meiner eigenen E/R Visio-Stencils für die Chen-Notation sowie für erweiterte E/R-Diagramme nach Elmasri
- Oder per Mermaid
- Oder im Oracle SQL Developer mittels eines Oracle Accounts [choco install oracle-sql-developer --ignore-dependencies --params "'/Username:{oraUser} /Password:{oraPwd}'"] dabei ist der {oraUser} i.d.R. eine E-Mail-Adresse und die geschweiften Klammern sind nicht Teil der Syntax sondern nur Platzhaltersymbolik
- Warnhinweis: Fast alle amerikanischen Tools (u.a. MySQL-Workbench, dbdiagram.io, etc. pp.) behaupten fälschlicherweise, Sie würden E/R-Diagramme darstellen, aber oft ist die Notation nur eine Visualisierung von Relationen und diese Tools erlauben keine konzeptionelle Modellierung nach dem E/R-Modell
- JSON-Modellierung
- JSON ist zunächst schemalos und die wenigen Sprachen zur Spezifikation von Web-APIs (z. B. Swagger, RAML) erlauben die Spezifikation von API-Diensten und ihren Parametern, aber keine konzeptionelle Visualisierung das vollständige API-Schema
- ABER: Das konzeptionelle Schema von JSON-Dokumenten kann man genauso mit Entity/Relationship-Diagrammen oder mit UML darstellen!
- (Auch selten genutzte Spezifikationsmöglichkeiten wie JSON Schema sind m.E. weder durch Modellierungswerkzeuge gestützt noch gibt es Round-Trip support zur Extraktion von Schemainformation aus Dokumentinstanzen rund um JSON Schema)
- TIPP: Visualisieren Sie das Schema, das sich hinter Ihren JSON-Dokumenten verbirgt, in UML mit JSON discoverer
- (Kostenpflichtig aber nennenswert: Software-Archäologie und -Visualisierung: Lattix, | Sonargraph (früher: SotoGraph/SotoArc) | Structure101 | JArchitect | NDepend)
- Weiterführende Quelle: Awesome Software Architecture | AWS Architecture Blueprints | Survey of Architecture Frameworks
DevOps / CI / CD / ITSM
- Vergleiche u.a. in der Schwesterliste den Abschnitt git und bspw. die kostenlosen Alternativen für Atlassian
- Build-Automatisierung
- Java Builds
- Als Bestandteil meines Dissertationsprojekt habe ich eine Java-Build-Referenz auf Basis von Maven geschaffen: cpnatwork/alphaflow_dev (mit einem *-buildhub-Modul für die Build-Komposition und mit *configbase-Modulen für Abhängigkeitskonsolidierung mittels Maven-POM-Vererbung)
- C# Builds
- .NET Framework (C#): MSBuild Binary and Structured Log Viewer [choco install msbuild-structured-log-viewer -y --ignore-dependencies]: Viewer for .binlog files from „MSBuild.exe /bl”
- NuGet [choco install nuget.commandline]: Blogeintrag 5 steps to better NuGet package von Alex Klaus
- NuGet Package Explorer [choco install nugetpackageexplorer]
- NuGetDefense [choco install nugetdefense]: checks for known vulnerabilities; inspired by OWASP SafeNuGet
- il-repack [choco install il-repack]: improved version of ILMerge / Mono.Merge, for replacing them
- semver.net: library that implements the Semantic Versioning specification and the version range specifications used by npm
- Paket [choco install paket]: dependency manager for .NET with support for NuGet packages and Git repositories
- Tools:
- FastPack: deduplication (de)compressor that is particularly useful for compressing and decompressing build artifacts
- Java Builds
- Continuous Integration: Awesome CI
- Sonatype Nexus (OSS-Version): Software-Artifact Repository [Web/Self-Hosted]
- Alternative: Inedo ProGet (Free Version)
- JFrog Artifactory (free: 2GB, 5 Users): Software-Artifact Repository [Cloud]
- Graphviz dot [choco install graphviz]: graph description language
- ITSM:
- «Open Source» Zammad
- «Empfehlung(€€€)» ServiceNow (Leader im Gartner Magic Quadrant for IT Service Management Platforms)
- DevSecOps: vergleiche unten den Abschnitt zu „Security”
- Weiterführende Quellen: Awesome DevOps #1, Awesome DevOps #2
Kostenlose Alternativen
- Atlassian Jira
- Web/Self-Hosted: OpenProject [via docker] | GitLab
- Cloud: YouTrack | GitLab
- Atlassian Confluence
- Web/Self-Hosted: XWiki | BlueSpice
- Cloud: MyXWiki.org
- Atlassian Bitbucket
- Atlassian Bamboo
- Atlassian FishEye
- Web/Self-Hosted: Sourcegraph | OpenGrok
- Atlassian Crucible
- Web/Self-Hosted: Gerrit Code Review
- Cloud: JetBrains Space | Codeball.ai | Amazon CodeGuru
- Atlassian WhiteSource → heute: Mend.io
- ToDo (Diverse! Kuratierte kostenlose Empfehlung offen. Cloud: JFrog XRay?)
- JFrog Artifactory / Sonatype Nexus
- = Software-Artifact-Repositories! Beide Vorreiter bieten auch kostenlose Varianten:
- Web/Self-Hosted: Sonatype Nexus (OSS-Version), Inedo ProGet (Free Version)
- Cloud: JFrog Artifactory (free: 2GB, 5 Users)
- VMware Workstation
- Desktop: VirtualBox [choco install virtualbox] | Hyper-V
- VMware vSphere
- Proxmox VE (Linux-only)
- Altova XMLSpy / Liquid Studio
- (Leider gibt es hierfür kaum adäquaten FOSS-Ersatz)
- XML-Aspekte
- Desktop: XML Notepad
- Cloud: XmlGrid.net | CodeDestine XML Editor
- JSON-Aspekte:
- Desktop: DbGate [choco install dbgate.portable] | Datroit JSON Viewer | JSONedit
- Browser Plugins: JSON Viewer Pro (Best-in-class JSON Visualisierung)
- Cloud: Online JSON Viewer
- Visualize the schema lurking behind your JSON documents in UML: JSON discoverer
- Unity / Epic Games Unreal Engine
- Royalty-free, Open Source: Godot [choco install godot]
- (Eher nicht verwenden: O3DE = Open 3D Engine, basierend auf AWS Lumberyard bzw. CryEngine)
- (Licensing above Threshold: Unity Student, but beware its licensing and EULA)
- (Royalties above Threshold: Epic Games Unreal Standard License)
- Konsolen?: Godot vs. Consoles (gilt auch für Unity oder Unreal, bspw. „It is a common misconception that you can download a game engine and start using it to develop for consoles without previously being approved by the console manufacturer.”)
- Steam? Auch Godot per GodotSteam. (Disclaimer: Unity wurde zur beliebtesten Game Engine für Steam, Stand 2020.)
- Royalty-free, Open Source: Godot [choco install godot]
Extra: Studentisches Start-Up
- Virtuelle Maschinen? Proxmox VE, eine Open-Source-Plattform für Enterprise-Virtualisierung
- Kubernetes? Red Hat OKD (OpenShift-basiert) | Rancher RKE (Pure-Container-basiert, über RancherOS) [choco install rke]
- Enterprise Suite? WikiSuite für Linux
- Firewall? OPNsense
- VPN? WireGuard [choco install wireguard], statt IPsec oder OpenVPN
- Softwareverteilung? Opsi
- Active Directory? Samba
- Passwort Manager? Vaultwarden [via docker]
- Doodle-Termin-/Umfragen? nuudel (Cloud) | Framadate (Web/Self-Hosted)
- Chat? RocketChat [choco install rocketchat][Cloud]
- Video Conference? Jitsi [choco install jitsi][Cloud]
- Alternative: Nextcloud Talk, als FOSS via NextCloud Server → Müsste jemand mal für mich ausprobieren...
- DMS/CMS? Alfresco Community Edition
- HR? ConnecTeam (Cloud) | TimeOff.Management (FOSS, Web/Self-Hosted) | List of Best Open-Source HRMS
- CRM? SuiteCRM | Cloud-Alternative: Zoho CRM free plan, kostenlos für drei Nutzer
- Workflow Management / Case Management? flowable (welches ggb. Activiti oder Camunda zu bevorzugen ist)
- Newsletter / E-Mail Marketing: SendInBlue | SendGrid
- e-Commerce: Open-Source WooCommerce über WordPress
- SW-Versionsverwaltung: GitLab
- SW-Artefakt-Repository: Sonatype Nexus (OSS-Version)
- Weiterführende Quellen: Awesome Selfhosted
Bonusliste:
- Niedrigpreis-Logo für Start-Ups? (€:) logogeist.de
Appendix: App Recommendations & Repos
- Chocolatey Packages for Windows
- GetApp
- Docker Hub
- ArtifactHub: Explore Helm charts from numerous public repositories
- Snappy for Linux
- Flatpak Flathub for Linux
- Homebrew for MacOS
- Libhunt
- DB-Engines
- landof.dev/awesome | Project Awesome | Awesome Awesomeness | Awesome Stacks
- Lesen Sie auch freeCodeCamp How to Choose a Tech Career in 2022 mit einem Mapping von Werkzeugen auf diverse Job-Profile
- Liste von Zapier-kompatiblen Apps