Filtern
Dokumenttyp
- Masterarbeit (14) (entfernen)
Volltext vorhanden
- ja (14) (entfernen)
Schlagworte
- API analysis (1)
- API-Analyse (1)
- CSCA (1)
- Cicero (1)
- Computer Supported Cooperative Work (1)
- Datenschutz (1)
- Developer profiling (1)
- Echtzeit-Interaktion (1)
- Entwickler Profil (1)
- InstaHub (1)
Institut
- Institut für Informatik (14) (entfernen)
Um unterschiedliche Anforderungen zu erfüllen, werden Softwaresysteme oft in Form einer Menge von Varianten entwickelt. Zwei gebräuchliche Ansätze für eine solche Softwareentwicklung sind das clone-and-owning und die Produktlinienentwicklung. Beide Ansätze haben Vor- und Nachteile. In vorheriger Arbeit mit anderen haben wir eine Idee vorgestellt bei der beide Ansätze verknüpft werden um Varianten, Ähnlichkeiten und Softwareklone zu verwalten. Diese Idee basiert auf einer virtuellen Plattform und Operatoren für Softwareklone. In der vorliegenden Arbeit stellen wir einen Ansatz vor um essentielle Metadaten für die Realisierung eines propagate-Operators zu aggregieren. Dafür haben wir ein System entwickelt um Ähnlichkeiten mit Annotationen zu versehen, wobei die Ähnlichkeiten aus der Historie eines Repositories extrahiert werden. Die Annotationen drücken aus wie eine Ähnlichkeit zukünftig gewartet werden soll. Abhängig vom Annotationstyp kann diese Wartung automatisiert ausgeführt oder sie muss vom Benutzer manuell betrieben werden. In dieser Arbeit beschreiben wir die automatisierte Extraktion von Metadaten und das System zur Annotation von Ähnlichkeiten; wir erklären wie das System in den Arbeitsfluss eines bestehenden Programms zur Versionierungverwaltung (Git) integriert werden kann; und abschließend stellen wir eine Fallstudie vor, die das 101haskell-System benutzt.
Cicero ist eine asynchrone Diskussionsplattform, die im Rahmen der Arbeitsgruppe Informationssysteme und Semantic Web (ISWeb) der Universität Koblenz-Landau entwickelt wurde. Die webbasierte Anwendung folgt dem Gedanken eines semantischen Wikis und soll insbesondere beim Arbeitsablauf von Entwurfsprozessen eingesetzt werden. Dabei verwendet Cicero ein restriktives Argumentationsmodell, das einerseits strukturierte Diskussionen von schwierigen Prozessen fördert und andererseits den Entscheidungsfindungsprozess unterstützt. Im Zentrum der Arbeit steht die Evaluation von Cicero, wobei im vorhergehenden theoretischen Teil die Hintergründe und Funktionsweisen vorgestellt werden und im nachfolgenden praktischen Teil die Anwendung anhand einer Fallstudie evaluiert wird. Die Studie wurde im Rahmen der Übungsveranstaltung zu Grundlagen der Datenbanken der Universität Koblenz im Wintersemester 2008/2009 durchgeführt , und die Studenten hatten die Aufgabe, einen Entwurfsprozess mit Hilfe von Cicero zu diskutieren. Über die erhobenen Daten der Fallstudie wird ein Akzeptanztest durchgeführt. Hierbei wird überprüft, ob die Benutzer Cicero positiv annehmen und die Methodik richtig anwenden. Denn aufgrund des vorgegebenen Argumentationsmodells müssen die Benutzer ihr Kommunikationsverhalten ändern und ihren herkömmlichen Diskussionsstil der Anwendung anpassen. Ziel der Evaluation ist es, kritische Erfolgsfaktoren im Umgang mit Cicero ausfindig zu machen. Anhand der identifizierten Schwachstellen werden abschließend gezielte Maßnahmen vorgeschlagen, die die Akzeptanz der Benutzer gegenüber Cicero erhöhen könnten.
Fehler in der Anforderungsanalyse führen häufig zu Misserfolgen in der Entwicklung von Softwaresystemen. Seit einiger Zeit wird versucht, diesem Problem durch Requirements- Engineering zu begegnen. Durch die frühe Beteiligung aller Stakeholder an der Entwicklung eines Systems sowie eine strukturierte Vorgehensweise zur Ermittlung und Analyse von Anforderungen an ein zu erstellendes System hat es als erster Schritt in der Entwicklung von Softwaresystemen zunehmend an Bedeutung gewonnen. Die steigende Komplexität moderner Softwaresysteme bringt jedoch eine gewaltige Menge an Informationen mit sich, die während der Analyse erfasst und verwaltet werden müssen. Dieser Informationsflut ist ohne Unterstützung durch entsprechende Software kaum beizukommen. Vor allem in größeren, räumlich verteilten Projekten wäre ein effektives Requirements-Engineering sonst kaum möglich. Es gibt inzwischen eine Vielzahl von Tools, die das Requirements-Engineering unterstützen. Diese Tools sind bereits seit geraumer Zeit im Einsatz und setzen in ihren aktuellsten Versionen die wichtigsten Konzepte des Requirements-Engineering um. Im Rahmen dieser Arbeit werden einige dieser Tools im Hinblick auf Funktionsumfang und Verzeichnisstruktur untersucht. Besonderes Interesse galt der Verwaltung von Anforderungen und deren Abhängigkeiten untereinander. Die gewonnenen Erkenntnisse werden anschließend in ein Referenzmodell integriert.