Forschungsthemen
[BA] Mehrstufige Dynamische Software Produktlinien in Javascript
# Mehrstufige Dynamische Software Produktlinien in Javascript # Layered Dynamic Software Productlines in Javascript Zur Modellierung von Geschäftsmodellen haben sich Business Model Canvases (BMC) zu einem Standard etabliert. Insbesondere im Bereich Lean Start-up werden neben dem BMC noch weitere problemspezifische Canvases eingesetzt. Der Value Proposition Canvas (VPC) wird hier häufig in Ergänzung zum BMC eingesetzt um eine möglichst schlanke (Lean) Firmengründung zu ermöglich <3>. Zur Digitalisierung dieses Modellierungsprozesses sind viele Vorarbeiten notwendig. In mehreren Arbeiten <6, 7>, wurde eine Anforderungsanalyse sowie ein Meta-Modell entwickelt, wie Canvases digital verwaltet werden können. Aus den Anforderungen wurde allerdings auch klar, dass es sehr viele Funktionalitäten gibt, welche je nach Kontext der Canvasmodellierung benötigt oder nicht benötigt werden. Um den Editor möglichst erweiterbar zu halten und eine breite Nutzerbasis anzusprechen, ist es notwendig ein Softwarearchitektur-Konzept zu entwickeln mit dem es möglich ist Features selektiv zu Canvases hinzuzufügen oder zu entfernen. Das Konzept der Software Produktlinien ist genau für ein solches Szenario vorgesehen. Im Rahmen dieser Arbeit soll daher eine Produktlinie für Canvases implementiert werden <1, 2, 4, 5, 8>. In der Produktlinienentwicklung legt man zunächst ein minimales Kernmodell fest, welches durch mehrere Features erweitert wird. Die Features und ihre Abhängigkeiten zueinander werden inn einem Feature Tree verwaltet. Das fertige Produkt wird durch die Selektion gewünschter Features zusammengesetzt. Üblicherweise durch Generierung von Code. In diesem Konzept, entspricht ein Canvas einer Software Produkt Linie. Da ein Canvas in zwei Stufen modelliert wird, ist es notwendig die Produktlinie ebenfalls zweistufig konfigurieren zu können. Die erste Stufe ist zur Zeit der Erstellung eines Canvas (z.B. BMC, VPC), in der z.B. festgelegt werden kann ob dieser Canvas eine Zoom-Funktion (Verfeinerung des Feldes "Value Proposition" zu einem Value Proposition Canvas) enthält oder nicht. Die zweite Stufe ist zur Zeit der Instanziierung eines Canvas für eine spezifische Problemstellung. Hier kann der Canvas-Administrator Features für seine Kollaboratoren freigeben oder einschränken (z.B. Kommentar-Funktion). Aufgaben: * Literaturanalyse zur Produktlinienentwicklung - insbesondere im Web-Bereich * Anpassen existierender Referenz-Architekturen um einen modularen Editor für Canvases zu erreichen * Vorführen der Nutzbarkeit durch die Entwicklung eines auf Produktlinien basierenden Canvas-Editors Literatur * <1> Kindler, Ekkart. "The ePNK: an extensible Petri net tool for PNML." International Conference on Application and Theory of Petri Nets and Concurrency. Springer, Berlin, Heidelberg, 2011. * <2> https://tu-dresden.de/ing/informatik/smt/st/studium/themenangebote?type=3&id=514&&embedding_id=0ed4fa9c898b4e05962b7de123657a78 * <3> Osterwalder, Alexander, and Yves Pigneur. Business model generation: a handbook for visionaries, game changers, and challengers. John Wiley & Sons, 2010. * <4> Machado, Ivan Do Carmo, et al. "Low-level variability support for web-based software product lines." Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems. ACM, 2014. * <5> https://github.com/foam-framework/foam * <6> Entwicklung eines Frameworks für Kollaboratives Systemdesign mit Interaktiven, Digitalen Canvases. Manuel Oddoy, 2018 * <7> Anforderungsanalyse und Konzeption eines Standardmodells für Canvases. Tien Dat Pham, 2018 * <8> A Productline for FRaMED. Kevin Kassin, 2018
Betreuer: Carl Mai