Home

Softwaretechnik ¨Uberblick I - Informatik - FB3

image

Contents

1. BoundingBox DrawingEditor use Shape ee BoundingBox GetExtent as text return text GetExtent Line TextShape BoundingBox Library 300 504 L sung Objekt Adapter dien Target Adaptee Request SpecificRequest T adaptee Adapter Request lt adaptee SpecificRequest Konsequenzen erlaubt Anpassung von Adaptee und all seiner Unterklassen auf einmal Overriding von Adaptees Methoden schwierig Ableitung von Adaptee Adapter referenziert auf Ableitung e f hrt Indirektion ein 301 504 L sung Klassen Adapter Chane OE Target ee Request SpecificRequest aS l implementation Adapter Request 4 ee Konsequenzen keine Indirektion setzt Mehrfachvererbung voraus passt nur Adaptee an nicht seine Unterklassen Overriding von Adaptees Methoden einfach 302 504 Problem Some text r CI void NoButtonPressed void yesButtonPressed callback 303 504 Losung in C Klient 1 void YesButtonPressed 2 void NoButtonPressed 3 4 Button mybutton 5 6 int main 7 attach
2. ConcreteEventHandlerA ConcreteEventHandlerB handle_event handle_event get_handle get_handle 348 504 e Handle identifiziert eine Anfrage ein Ereignis ber Betriebssystemmechanismen wie Netzwerkverbindungen oder ge ffnete Dateien e HandleSet Menge aller Handles e EventHandler Dienst der f r eine Anfrage erbracht werden soll e ThreadPool Menge von Threads die auf Anfragen warten und sie mit Hilfe eines EventHandler abarbeiten e Leader Thread des ThreadPools der eine Anfrage erhalten hat und sie abarbeitet e Follower Threads die bereit sind als n chstes zum Leader bestimmt zu werden Bis dahin schlafen sie Thread Thread ThreadPoo HandleSet Concrete ventHandler go jd join sleep 2 ndle_events handle_event leactivate_handle promotfnew _leader awake eactivate_handle 49 504 Schritte Threads melden sich mit join an Leader wird bestimmt Andere Prozesse schlafen Leader wartet auf Ereignis d h auf beliebiges Handle im HandleSet Leader nimmt sich dieses Handle Leader bestimmt Nachfolger Ex Leader f hrt Auftrag mittels konkretem EventHandler aus Ex Leader reicht Handle zur ck Oo SOY Oe Oe Ex Leader tritt mit join dem ThreadPool wieder bei Be 2i Dee 2 andle events handle_event leactivate_handle Im q ep promotfnew _leader ake eact
3. Erlautern Sie die Aspekte eines Komponentenmodells anhand von OSGI Welche Art der Schnittstelleninformation ist in einer Manifest Datei von OSGI enthalten Welche Informationen der Schnittstelle sind hingegen nur im Programmcode erkennbar Beschreiben Sie den Lebenszyklus eines Bundles in OSGI e Wie k nnen Services eines Bundles von anderen Bundles aufgerufen werden 420 504 Software Produktlinien Software Produktlinien Lernziele Software Wiederverwendung Erfolgsgeschichten Definition bersicht Kostenaspekte Practice Areas Entwicklung der Core Assets Produktentwicklung Essentielle Aktivit ten Einf hrung von Produktlinien Implementierungsstrategien Schwierigkeiten Wiederholungsfragen 421 504 Lernziele Software Produktlinien Definition und Bedeutung Vor und Nachteile Technische Aspekte Organisatorische Aspekte N B Basiert auf Folien von Linda Northrop http www sei cmu edu productlines presentations html 422 504 Software Wiederverwendung 1960 Unterprogramme 1970 Module 1980 Objekte 1990 Komponenten opportunistische Wiederverwendung im Kleinen hat nicht den erwarteten Erfolg gebracht Software Produktlinien geplante Wiederverwendung auf allen Ebene f r Familien hnlicher Systeme 423 504 Wiederverwendbares Komponenten Software Dokumentation Architektur Tests unter anderem Integrations Leistungs und Komponententests Anforderungs
4. kontinuierliche Anpassung an sich ndernde Bedingungen http www agilemanifesto org principles html 55 504 Varianten der agilen Entwicklung Agile Unified Process AUP Dynamic Systems Development Method DSDM Essential Unified Process EssUP Extreme Programming XP Feature Driven Development FDD Open Unified Process OpenUP Scrum 56 504 Extreme Programming Beck 2000 Extreme Programming XP ist eine agile Methode f r kleinere bis gr ere Entwicklerteams max 10 15 Personen Probleme mit vagen Anforderungen und Projekte bei denen ein Kundenrepr sentant stets greifbar ist http www extremeprogramming org 57 504 Extreme Programming Beck 2000 Anerkannte Prinzipien und Praktiken werden extrem umgesetzt Code Reviews permanente Reviews durch Pair Programming Testen st ndiges Testen Unit Tests sowie Akzeptanztests durch den Kunden Benutzer klare Struktur jeder verbessert sie kontinuierlich durch Refactoring Einfachheit stets die einfachste Struktur w hlen die die aktuellen Anforderungen erf llt Integration permanente Integration auch mehrmals am Tag Validierung Kunde Benutzer ist stets involviert bei der Planung neuer Iterationen und verantwortlich f r Akzeptanztest e kurze Iterationen Dauer in Minuten und Stunden nicht Wochen Tage Jahre aber auch Auslassung anerkannter Prinzipien Dokumentation m
5. 504 PSP2 Personal Quality Management PSP2 PSP1 1 plus Code Reviews Checklisten Design Reviews Checklisten PSP2 1 PSP2 plus Design Templates Operational Scenario Anwendungsfall Functional Specification formale Spezifikation State Specification Zustandsdiagramm Logic Specification Pseudocode Vermeidung von Designfehlern Beurteilung der Qualit t Cost of Quality Behebung Bewertung Vermeidung 87 504 PSP3 Cyclic Personal Process PSP3 Anwendung auf gro e Projekte Nach High Level Design Aufteilung in Module Anwendung von PSP2 1 auf jedes Modul Formular Issue tracking log 88 504 Wiederholungs und Vertiefungsfragen e Erlautern Sie die Ideen sowie Vor und Nachteile der Entwicklungsprozesse Wasserfall V Modell testgetriebene Entwicklung inkrementelle Entwicklung Spiralmodell Rational Unified Process Cleanroom Development Extreme Programming Gegeben ist das folgende Szenario Welches Vorgehensmodell empfehlen Sie Unter welchen Umst nden w rden Sie eher agiles Vorgehen als voraus planendes empfehlen Stellen Sie das Capability Maturity Model dar Wozu dient es Wie k nnen Prozesse verbessert werden Was ist der pers nliche Software Entwicklungsprozess Wozu dient er 89 504 Weiterf hrende Literatur Bibliographie zu Entwicklungsprozessen Arbeitskreis der Fachgruppe 5 11 Begriffe u
6. Annahmen Ahnlich wird auch der Kunde sich oft erst im Laufe des Projekts im Klaren was er eigentlich erwarten kann und will Auch die Rahmenbedingungen unter denen das Projekt startete k nnen sich ndern z B Gesetze oder Normen Die Anforderungen sind also selten stabil Damit wird das Wasserfallmodell in seiner strikten Auslegung fragw rdig Allerdings hat auch schon der Erfinder des Wasserfallmodells Royce empfohlen das System zweimal zu entwickeln Das erste Mal um berhaupt erst Anforderungen und m gliche L sungen auszuloten Das zweite Mal um ein ad quates und qualitativ hochwertiges Produkt zu erstellen Das inkrementelle Modell f hrt diesen Gedanken fort Anstatt auf die Fertigstellung der gesamten Anforderungen zu warten werden sobald eine ausreichende Anzahl von Kernanforderungen beschrieben ist f r diese ein Entwurf und die Implementierung gestattet Je mehr Anforderungen hinzukommen desto mehr zus tzliche Inkremente werden gestartet Das inkrementelle Modell ist gut geeignet wenn Kunde die Anforderungen noch nicht vollst ndig berblickt bzw sich der M glichkeiten zur Realisierung der Anforderungen nicht bewusst ist und deshalb die Anforderungen nicht formulieren kann Es ist mit diesem Modell m glich Teile des Systems bereits vor Fertigstellung des gesamten Systems beim Kunden einzuf hren z B ein oder mehrere Subsysteme Mit diesen Teilen kann der Kunde eine eingeschr nkte Anzahl an Anforderungen re
7. Open Services Gateway Initiative OSGI Kompontenmodell fur Java Komponente Bundle JAR Manifest unterstutzt entfernte Installation Start Stopp Aktualisierung und Deinstallation von Bundles Service Register erm glicht den Bundles Dienste hinzuzuf gen zu entfernen und anzupassen Verbreitung Eclipse Mobiltelefone 406 504 Architektur Service registry Life cycle Java Virtual Machine Operating System Hardware Bundles Services Services Registry Life Cycle Modules Security Bundles are normal jar components with extra manifest headers The services layer connects bundles in a dynamic way by offering a publish find bind model for plain old Java Interfaces POJI or Plain Old Java Objects POJO The API for management services ServiceRegistration ServiceTracker and ServiceReference The API for life cycle management for install start stop update and uninstall bundles The layer that defines encapsulation and declaration of dependencies how a bundle can import and export code The layer that handles the security aspects by limiting bundle functionality to pre defined capabilities Bildquelle Faisal Akeel Bill Streckfus Architektur I amp Q e g Windows Linux VxWorks QNX Ba ab Operating System N Hardware 408 504 Bildquelle Michael Grammling Bill Streckfus Creative Commons Attribution ShareAlike 3 0 Licens
8. The bundle has been successfully installed All Java classes that the bundle needs are available This state indicates that the bundle is either ready to be started or has stopped The bundle is being started the BundleActivator start method will be called and this method has not yet returned When the bundle has an activation policy the bundle will remain in the STARTING state until the bundle is activated according to its activation policy The bundle has been successfully activated and is running its Bundle Activator start method has been called and returned The bundle is being stopped The BundleActivator stop method has been called but the stop method has not yet returned The bundle has been uninstalled It cannot move into another state Open Source OSGi Container Equinox Knopflerfish Apache Felix 411 504 Equinox is the reference implementation for the framework portion of the OSGi Service Platform Release 4 It is the modular Java runtime at the heart of the Eclipse IDE and implements all of the mandatory and most of the optional features of the OSGi R4 specification Knopflerfish is an open source implementation of the OSGi R3 and OSGi R4 specifications Knopflerfish 2 implements all the mandatory features and some of the optional features defined in the R4 specification Apache Felix is the open source OSGi container from the Apache Software Foundation At the time of writing this container is not full
9. http www openarchitectureware org pub documentation 4 3 1 html contents xtext_tutorial html Vor und Nachteile von DSLs Code Generierung aus Modellen a Arbeitsersparnis bei regularen und wohl verstandenen Domanen wenigstens eine Referenzimplementierung notwendig generierter Code muss mit handgeschriebenem integriert werden generierter Code sollte readonly sein Code Generatoren mussen erstellt und gewartet werden Analysefahigkeit a abstraktere Darstellung der Generator ist die Spezifikation eigene Analysewerkzeuge notwendig eigene Debugging Werkzeuge notwendig 488 504 Wiederholungs und Vertiefungsfragen Was ist die Kernidee der modellgetriebenen Entwicklung Welche Vorteile verspricht man sich davon Was sind die Merkmale eines Modells im Allgemeinen Was sind Metamodelle und Metametamodelle Wozu werden sie ben tigt Welche Aspekte sind bei der Definition einer Sprache festzulegen Was ist eine dom nenspezifische Sprache DSL Was sind die Unterschiede zu einer herk mmlichen Programmiersprache Welche Arten von DSLs unterscheidet man Beschreiben Sie die Unterst tzung von EMF f r die modellgetriebene Softwareentwicklung Was sind Modelltransformationen und welche Arten gibt es Erlautern Sie konzeptionell Modell zu Modell sowie Model zu Text Transformationen Wie k nnen insbesondere Model zu Text Transformationen realisiert werden 490 504
10. irgendwann einmal empirisch forschen k nnen 128 504 Experimente in der Softwaretechnik Experimentation in software engineering is necessary but difficult Common wisdom intuition speculation and proofs of concept are not reliable sources of credible knowledge V R Basili 1999 129 504 Motivation Wir wollen genau wissen ob und unter welchen Randbedingungen eine Methode funktioniert Forschung beweist durch logische Schl sse oder aber beobachtet experimentiert und misst Messung ist sorgf ltige Beobachtung mit gr tm glicher Pr zision Zuverl ssigkeit und Objektivit t Messungen identifizieren neue Ph nomene testen Hypothesen oder leiten uns bei der Anwendung von Modellen und Methoden Empirische Untersuchungen Methoden die von Menschen angewandt werden k nnen nur empirisch untersucht werden 130 504 Beispiele Experiment von Knight und Leveson 1986 Hypothese N Version Programming f hrt zu zuverlassigerer Software Experiment von Dzidek u a 2008 Hypothese Dokumentation in UML hilft bei der Wartung 131 504 Knight and Leveson s experiment analyzed the failure probabilities of multiversion programs Conventional theory predicted that the failure probability of a multiversion program was the product of the failure probabilities of the individual versions However John Knight and Nancy Leveson observed that real multiversion programs had significantly
11. Beschreibung der Taxonomie EQ gt Suche ber Taxonomie EQ3 Artikel ber Suchmaske abfragen ILF Referenzen ILFo Taxonomie Metadaten Parameter RET ILFy ILF gt Gewicht 7 7 Parameter F Gewicht EQ EQ gt 2 1 T Ely 1 1 2 EQ3 1 250 504 FP Gewichtete Function Points Systemmerkmale BE Online Verarbeitung Datenkommunikation Komplexe Verarbeitung Verteilte Verarbeitung Wiederverwendbarkeit Leistungsanforderungen Ba Migrations Installationshilfen Betriebshilfen Mehrfachinstallationen Ressourcennutzung Transaktionsrate Online Benutzerschnittstelle Benutzerfreundlichkeit nderungsfreundlichkeit Bewertung 0 kein Einfluss 5 starker Einfluss 252 504 Konkrete Fragen Are data communications required 1 Are there distributed processing functions 0 Is performance critical 1 Will the system run in an existing heavily utilized operational environment 1 How frequently are transactions executed 3 Does the system require on line data entry 4 Was the application designed for end user efficiency 0 253 504 Die Zahlen beziehen sich auf unser laufendes Beispiel Konkrete Fragen Il Are the master files updated on line 0 Is the internal processing complex 1 Is the code designed to be reusable 1 Are conversion and installation included in the design 0 How
12. Independent Dependent variables Experiment variables operation 168 504 Definition Conclusion Validity es gibt einen signifikanten statistischen Zusammenhang von Treatment und Resultat Definition Internal Validity der beobachtete Zusammenhang zwischen Treatment und Resultat ist kausal Definition Construct Validity 1 Treatment reflektiert Construct of Cause 2 Outcome reflektiert den Effekt Definition External Validity das Ergebnis ist auch au erhalb der Studie anwendbar f r andere Personen Orte Zeiten etc Internal Validity e St rvariable zus tzliche unkontrollierte Variable andert sich systematisch mit den unabh ngigen Variablen z B Pair Programmer Teams bestehen nur aus Entwicklern mit gro er Erfahrung Historie Zeit u ere Ereignisse beeinflussen Messung z B Pair Programmer arbeiten morgens Einzel Programmierer nachmittags S ttigung interne physische oder psychische nderung der Subjects z B Ermudung 169 504 Internal Validity Wiederholtes Testen fr he Treatments beeinflussen nachfolgende Treatments z B Lerneffekte Instrumentierung Ver nderung der Art der Messung z B Fehler bei der Messung mit sp terer Korrektur Regression zur Mitte bei zwei in irgendeiner Weise verbundenen Messungen gehen extreme Abweichungen bei einer der beiden Messungen im Durchschnitt mit weniger extremen Abweichungen bei der anderen Messung einher z B K rpergr e v
13. amp mybutton amp YesButtonPressed 8 a 9 event_loop 10 304 504 L sung in C Mechanismus 1 typedef void Callback 2 3 typedef struct Button 4 Callback execute 5 int x 6 int y 7 Button 8 9 void attach Button b Callback execute 10 b gt execute execute 1 13 void event_loop 15 widgets i gt execute 305 504 L sung mit OOP Client Invoker Command r Execute belongs to Receiver receiver ConcreteCommand Action S state Execute instantiates P receiver Action 306 504 L sung mit OOP new Command r StoreCommand c Execute Action 307 504 Konsequenzen Entkopplung von Objekt das Operation aufruft von dem welches wei wie man es ausf hrt Kommandos sind selbst Objekte und k nnen als solche verwendet werden Attribute Vererbung etc Hinzuf gen weiterer Kommandos ist einfach 308 504 Problem Eigenschaften sollen einzelnen Objekten nicht ganzen Klassen zugewiesen werden k nnen Zuweisung soll dynamisch geschehen TextView ScrollDecorator BorderDecorator Dies ist ein Text Wer das liest hat gute Augen BE TE Dies ist ein Text Wer das liest hat gute Augen 309 504 TextView ScrollDecor
14. darstelle aufw ndige Restrukturierung notwendig das Datenmodell Art und Weise wie die Umgebung Daten manipuliert die von der Komponente verwaltet werden e hierarchische Datenstruktur erlaubte nderung der Teile nur ber das Ganze f r Anwendung zu unflexibel teilweise Neuimplementierung 400 504 Konnektoren betreffend Annahmen von Konnektoren ber Protokoll Interaktionsmuster e Semantik des synchronen Aufrufs passte nicht Ausweichung auf RPC des Betriebssystems hierf r Datenmodell Art der Daten die kommuniziert werden e RPC des Betriebssystems nahm an C Datenstrukturen zu transportieren wiederzuverwendendes Event Broadcast System nahm an ASCII zu transportieren Konvertierungsroutinen wurden notwendig 401 504 Architekturkonfiguration betreffend Annahmen ber Architekturkonfiguration Topologie der Systemkommunikation e Datenbank nahm an dass verbundene Tools nicht kooperieren wollen und blockierte sie um Sequenzialisierung zu garantieren Tools mussten aber kooperieren eigener Transaktionsmonitor musste implementiert werden An oder Abwesenheit bestimmter Komponenten und Konnektoren 402 504 Konstruktionsprozess betreffend Annahmen ber Konstruktionsprozess wie Komponenten Konnektoren aus generischen Einheiten erstellt werden sowohl zur Ubersetzungs als auch zur Laufzeit Beispiele Datenbank Schema muss festgelegt werden Event Syst
15. h here Genauigkeit 264 504 COCOMO II Early prototyping level Eingaben Object Points OP Produktivit t PROD Erfahrung F higkeiten der Entwickler o Reife Fahigkeiten der CASE Tools OF 44 Median obiger Zeilen 0 PROD NOP Monat 4 7 13 25 50 Wiederverwendungsanteil reuse in Prozent Abgeleitete Gr en New Object Points NOP ber cksichtigen Wiederverwendung NOP OP 100 reuse 100 Aufwand in Personenmonaten PM NOP PROD 265 504 Unterst tzt Prototypen Wiederverwendung COCOMO II Early design level Eingabe FP LOC Ausgabe Personenmonate PMys A KLOCE EM PM bei nominalem Zeitplan E B w 100 wi 5 sehr klein 0 sehr gro Erfahrung mit Dom ne Flexibilit t des Entwicklungsprozesses Risikomanagement Teamzusammenhalt Prozessreife 266 504 Sch tzung basiert auf Function Points LOCs werden daraus abgeleitet A 2 94 in initialer Kalibrierung empirischer Wert Nach Kalibrierung f r COCOMO 11 2000 B 0 91 ein Wert gt 1 w re plausibler COCOMO II Early design level PMns A KLOC EM PMm EM Effort Multiplier 7 lineare Einflussfaktoren 6 Stufen Standard 1 00 in Tabelle nachschlagen Produktgute Produktkomplexitat Plattformkomplexitat Fahigkeiten des Personals Erfahrung des Personals Zeitplan Infrastruktur 267 504 COCOMO II Early design level
16. tasks new Task capacity 7 8 9 Queue_Monitor Queue_Monitor delete tasks 11 Task Queue_Monitor get 12 Mutex_Guard guard mutex 13 while size 0 14 not_empty wait 15 16 not_full notifyAll 17 return tasks size is 19 20 void Queue_Monitor put Task t 341 504 Monitor Object 21 Mutex_Guard guard mutex 22 while size max size 23 not_full wait 24 25 not_empty notifyAll 5 tasks size t 342 504 Client Code while true oO AON 9 oO W N H mM O N WH creating a stream TCP socket with Poco it is bound to a local source port and a network interface address hostname port Handle socket Poco Net SocketAddress hostname port send request write socket message_type toString i get answer std cout lt lt reply _ lt lt read socket lt lt std endl sleep 1 i 344 504 Server Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 while true waits for any request at all readSockets int ready_sockets Poco Net Socket select readSockets writeSockets exceptSockets 10000000 readSockets now contains all sockets where requests are available ready_sockets tells how many sockets exist for which we have requests if ready_sockets gt 0 we handle only one of the requests in readSockets the others w
17. 0 acceptConnection 358 504 Weiterf hrende Literatur Das Standardbuch zu Entwurfsmustern ist das von Gamma u a 2003 Die Muster f r Synchronisation und Parallelisierung stammen von Schmidt u a 2000 in dieser Reihe sind weitere B cher zu Mustern erschienen 359 504 Wiederholungsfragen Was ist ein Entwurfsmuster Warum sind sie interessant f r die Software Entwicklung Wie werden Entwurfsmuster von Gamma et al kategorisiert Erlautern Sie ein in der Vorlesung vorgestellten Entwurfsmuster X mit Vor und Nachteilen und Variationen dabei wird X vom Pr fer vorgegeben 360 504 Komponentenbasierte Entwicklung Komponentenbasierte Entwicklung Lernziele Komponente Komponentenbasierte Entwicklung Komponentenmodelle Schnittstellen Beschaffung und Entstehung Herstellung Implementierungsaspekte Architektur Mismatch Wiederholungsfragen 361 504 Lernziele Benutzung von Komponenten Komponentenbasierte Entwicklung Komponentenmodelle Schnittstellen Komponenten Zusammenbau Erschaffung von Komponenten e Herstellung Implementierungsaspekte 363 504 Komponente Definition Software components are executable units of independent production acquisition and deployment that interact to form a functioning system Szyperski u a 2002 to compose a system dazu da um zusammengesetzt zu werden N B Komponente Klasse Verteilung 364
18. 0 0 und or V0 A 187 504 Verteilung von Population und Sample H Durchschnittliche Lange von Java Methoden u gt 50 Ho Durchschnittliche L nge von Java Methoden u lt 50 Gegeben Populations Verteilung Kennwerteverteilung der Population P mit Durchschnitt u und Standardabweichung c Sample Verteilung Kennwerteverteilung der Stichproben X mit Durchschnitt x und Standardabweichung sx Annahmen o ist bekannt P hat Normalverteilung Daraus folgt X ist normalverteilt mit x u und sz N 188 504 Beispiel Ho u 50 Sei tats chlich beobachteter Wert Messung f r x 54 mit co 10 und Sample Gr e n 25 Passt das noch zu Ho mit Signifikanzniveau a 0 01 a _ 2 10 g X ist normalverteilt mit u 50 und of ae 2 N 50 2 Die Standardnormalverteilung N 0 1 ist tabelliert Mit z Transformation kann jede Normalverteilung auf N 0 1 zuruckgefuhrt werden 189 504 Beispiel Wahrscheinlichkeit einen Wert zz En 1 41 oder gr er in N 0 1 zu finden Fl cheninhalt zwischen 1 41 und amp in N 0 1 0 4000 0 3500 0 3000 0 2500 0 2000 0 1500 0 1000 0 0500 0 0000 Laut Tabelle f r N 0 1 1 0 9207 0 0793 gt 0 01 a Ho wird nicht abgelehnt 190 504 Wir fragen nach der Wahrscheinlichkeit mit der Stichprobenergebnisse auftreten k nnen wenn die Nullhypothese gilt Wir betrachten nur diejenigen Ergebnisse die bei G ltigk
19. 504 Komponentenbasierte Entwicklung Trennung von Schnittstellen liefern benutzen und Implementierung Standards f r Integration einheitliche Schnittstellenbeschreibung e unabh ngig von der Programmiersprache Infrastruktur Middleware Entwicklungsprozess technische und nicht technische Aspekte 365 504 Motivation Wiederverwendung als Schl ssel konomisch als L sung der Softwarekrise OO konnte die Erwartungen an Wiederverwendbarkeit und Vermarktung nicht erf llen ohne Wiederverwendung nur lineares Wachstum m glich 4 mit Wiederverwendung superlineares Wachstum m glich so die Hoffnung 366 504 Motivation II Ebenen der Wiederverwendung konkrete Losungsteile Bibliotheken oe Vertr ge Schnittstellen Vertragsanbieter Komponenten einzelne Interaktionsteile Meldungen und Protokolle Architekturen f r Interaktion Muster Architekturen f r Teilsysteme Frameworks Gesamtsystem Systemarchitekturen 367 504 Ma gefertigt vs Standardsoftware MaBanfertigung optimale Anpassung an Kunde Wettbewerbsvorteil keine nderung der Kundenprozesse notwendig e unter lokaler Kontrolle Standardsoftware e billiger e schneller einsetzbar e geringeres Risiko des Scheiterns Wartung und Evolutionsanpassung durch den Hersteller leichtere Zusammenarbeit mit anderen Systemen Vorteile von beiden Ans tzen Ma anfertigung aus Stand
20. Gr e Erfahrung der Programmierer mit Standard Sprache Umgebung Fehler 124 504 Beispiel Prozess Ziel Frage Metrik Maximiere Bu Kundenzu Wie viele Probleme Fehler FR und friedenheit nn beim Kunden nderungsw nsche AR auf e Zuverl ssigkeit e Break Fix Verh ltnis Wie lange dauert e Verh ltnis und Dauer offener Problembehebung und geschlossener FR R Wo sind e Personalnutzung Flaschenh lse e Nutzung anderer Ressourcen 125 504 Wiederholungs und Vertiefungsfragen Was ist ein Ma Was ist eine Metrik e Was ist eine Software Metrik Welche Skalen gibt es fur Daten Welche Eigenschaften haben diese Beschreiben Sie das Vorgehen bei der Definition und Einf hrung eines Ma es Was unterscheidet die interne von der externen Validierung Wie lassen sich Software Metriken klassifizieren Nennen Sie Beispiele f r jede Klasse Was ist die Bedeutung von Metriken im Software Entwicklungsprozess oe Was ist die GQM Methode Erlautern Sie GQM anhand des Zieles X N B Die bungsaufgaben sind weitere Beispiele relevanter Fragen 126 504 Empirische Softwaretechnik Empirische Softwaretechnik Motivation Wissenserwerb in Wissenschaft und Engineering Untersuchungsmethoden Bestandteile eines Experiments 127 504 Lernziele die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen
21. Literatur Empirische Methoden Endres und Rombach 2003 beschreiben wesentliche empirische Kenntnisse in der Software Technik und brechen eine Lanze f r die empirische Forschung in diesem Gebiet Lienert 1973 beschreibt verteilungsfreie nicht parametrische statistische Tests Prechelt 2001 beschreibt empirische Methoden in der Softwaretechnik deutschsprachig leider vergriffen und wird nicht mehr neu aufgelegt Wohlin u a 2000 beschreibt empirische Methoden in der Softwaretechnik Christensen 2007 beschreibt experimentelle Methoden im Allgemeinen 205 504 Weiterf hrende Literatur Statistik in der Empirie Bortz u a 2008 beschreiben experimentelle Designs und ihre statistischen nicht parametrischen d h verteilungsfreien Auswertungen Winner u a 1991 beschreiben experimentelle Designs und ihre statistischen parametrischen Auswertungen Moore u a 2009 geben eine allgemeine Einf hrung in Statistik 206 504 Wiederholungs und Vertiefungsfragen Was ist ein statistische Hypothese Wie wird sie berpr ft und welche Rolle spielt dabei das Signifikanzniveau der kritische Wert Welche Arten von Hypothesen gibt es Mit welchen Ma en werden Population und Sample meist statistisch charakterisiert Was versteht man unter einem parametrischen bzw nichtparametrischen Test Erlautern Sie das Prinzip des t Tests Erlautern Sie das Prinzip des exakten U Tests von Man
22. Microsoft DCOM OLE ActiveX Sun Java und JavaBeans Literatur Szyperski u a 2002 Modellgetriebene Softwareentwicklung e Ideen Eigenschaften Vor und Nachteile e Werkzeugunterstiitzung am Beispiel von Eclipse Open Architecture Ware e Literatur Stahl u a 2007 Software Architektur e Entwurfsmuster e Qualit tseigenschaften e Analyse von Architekturen insbesondere SAAM und ATAM e Literatur Buschmann u a 1996 Gamma u a 2003 Bass u a 2003 Hofmeister u a 2000 Software Produktlinien Definition und Beispiele Vor und Nachteile Practice Areas Einf hrung von Produktlinien Ans tze zur technischen Realisierung Beschreibungen und Notationen z B Feature Graphen Besonderheiten beim Requirementsengineering Konfigurationsmanagement und Test Konfiguration von Produktlinien Literatur Clements und Northrop 2001 Empirisches Software Engineering Empirische Forschung in der Softwaretechnik Methoden Literatur Endres und Rombach 2003 Prechelt 2001 Yin 2003 Allgemeine Literatur zur Softwaretechnik Sommerville 2004 Pressman 1997 Balzert 1997 Ludewig und Lichter 2006 Termine montags 8 30 10 00 Uhr MZH 1090 mittwochs 14 00 s t 15 30 Uhr MZH 1090 6 504 bungen und Ressourcen Dozent e Erreichbar TAB 2 57 Telefon 218 64481 koschke tzi de http www informatik uni bremen de koschke Sprechstunde nach Vereinbarung Ressourcen annotierte Folien unter ht
23. Point Analyse aus 1995 Abk hlung des Interesses 1995 heute wieder gesteigertes Interesse Heute zahlreiche Varianten IFPUG Int l Function Point User Group 217 504 e 1979 erste Ver ffentlichung Alan J Albrecht 1979 IBM e 1985 Ver ffentlichung der IBM Kurve IBM 1985 Zusammenhang von Aufwand und Function Points f r 54 Projekte e 1990 Hype fast alle gro en Unternehmen probieren Function Point Analyse aus e 1995 Abk hlung des Interesses Unerfahrenheit der Anwender unrealistische Erwartungen zu wenig Erfahrungsdaten vorhanden e 1995 heute wieder gesteigertes Interesse Benchmarking Wirtschaftlichkeit Function Points versus Kosten Outsourcing Offshoring e Heute zahlreiche Varianten IFPUG Int l Function Point User Group http www ifpug com fpafund htm FAQ http ourworld compuserve com homepages softcomp fpfaq htm Function Point Methode Vorgehen Z hltyp festlegen Neu Weiterentwicklung Systemgrenzen festlegen 0 Identifizieren der Elementarprozesse und deren Funktionstypen sowie der Datenbestande Bewerten des Umfangs der Funktionstypen und Datenbestande Ermittlung der gewichteten Function Points durch Schatzung von technischen Randbedingungen Verwendung z B Ermittlung des Aufwands 218 504 Elementarprozess Definition Elementarprozess atomare und einzigartige Aktivit t des Systems aus B
24. Proaktiv Quelle Linda Northrop SEI 436 504 definiere zuerst Scope was geh rt zur Produktlinie Scope leitet die weitere Entwicklung e Entwickle zuerst Core Assets Produkte k nnen rasch entwickelt werden sobald die Produktlinie steht hohe Vorausleistung und Vorhersagefahigkeit verlangt 437 504 Einf hrung von Produktlinien II Reaktiv Beginne mit einem oder mehreren Produkten Extrahiere daraus Core Assets f r die Produktlinie Scope entwickelt sich dabei stetig niedrige Einstiegskosten gr erer Einfluss von Erfahrung Architektur k nnte suboptimal sein wird schrittweise weiterentwickelt Restrukturierungsaufwand notwendig 438 504 Einf hrung von Produktlinien Ill Inkrementell sowohl bei reaktiver als auch proaktiver Entwicklung m glich schrittweise Entwicklung der Core Assets mit initialer Planung der Produktlinie entwickle Teile der Core Asset Base einschlie lich Architektur und Komponenten entwickle ein oder mehrere Produkte entwickle weitere Core Assets entwickle weitere Produkte entwickle Core Asset Base weiter 439 504 Bindung Produktlinien e haben Gemeinsamkeiten e und definierte Unterschiede Variabilitaten Produkt wird aus Core Assets zusammengebaut Variabilitaten werden festgelegt Bindungszeitpunkt der Variabilit ten zur Ubersetzungszeit zur Bindezeit e zur Laufzeit 440 504 Architekturmechanismen f r
25. Programmer ca 1 34 1 15 1 00 0 88 0 76 pability AEXP Applications ex 1 22 1 10 1 00 0 88 0 81 perience PLEX Platform experi 1 19 1 09 1 00 0 91 0 85 ence LTEX Language tool 1 20 1 09 1 00 0 91 0 84 exp Project attributes TOOL Use of software 1 17 1 09 1 00 0 90 0 78 tools SITE Multisite deve 1 22 1 09 1 00 0 93 0 86 0 80 lopment SCED Required dev 1 43 1 14 1 00 1 00 1 00 en schedule Zusammenfassung alle Schatzungen basieren auf Erfahrung kontinuierlich sch tzen verschiedene Techniken anwenden 285 504 Weiterf hrende Literatur Poensgen und Bock 2005 fassen auf 160 Seiten das Wichtigste zur Function Point Analyse zusammen Hilfreich f r das Verst ndnis ist ein umfangreiches Beispiel bei dem die Unadjusted Function Points f r ein Microsoft Adressbuch ermittelt werden Das Buch von Boehm u a 2000 ist die Referenz f r COCOMO II das Buch ist sehr umfassend und detailliert es beschreibt Praxisbeispiele und die Kalibrierung des Modells mit neuen Daten 286 504 Wiederholungs und Vertiefungsfragen Welche M glichkeiten zur Sch tzung von Aufwand und Kosten f r die Software Entwicklung gibt es Wann wird gesch tzt Erl utern Sie die Function Point Methode am konkreten Beispiel Was sind Adjusted Function Points im Unterschied zu Unadjusted Function Points Wie errechnet sich der Aufwand aus den Function Points Was ist die Idee von Obje
26. Risiken bestimmt Dies hat zur Folge dass zu Beginn des Projekts ein Zeit und Kostenplan nur schwer zu erstellen ist Die Risikoanalyse kann nur durch erfahrene Projektleiter durchgef hrt werden Bei zu zaghaftem Vorgehen kann sich das Projekt unn tigerweise verl ngern was zu erh hten Kosten f hrt Zu schnelles Vorgehen kann Risiken vernachl ssigen und zu Problemen in folgenden Durchl ufen f hren Beispiel eines Spiralmodells Generische Risiken Ist das Konzept schl ssig Kann es aufgehen Was sind die genauen Anforderungen Wie sieht ein geeigneter Entwurf aus 35 504 Beispiel eines Spiralmodells mit vier Durchl ufen Besti Ziel Bewerte Alternativen a 1 Pe kan Kosten identifiziere und i Serie beseitige Risiken estriktionen Risikoanalyse gO Risikoanalyse Risikoanalyse Risiko gt betriebs mung analyse Proto f higer un or yea Protoi Konzept Anforde f r rungs entwurf Betrieb Entwicklungs plan Anforderungs i plan Codieren Integration und Testplan Entwurfs pr fung 4 Plane die n chste Phase Integration und Test Verbesserungsplan Entwickle das Produkt pr fe die n chste Produktstufe Abnahme test 36 504 Bewertung Spiralmodell Meta Modell Iterationen k nnen beliebigen Modellen folgen bei unubersichtlichen Ausgangslage
27. UML Profile als Spezialisierung Nutzung bestehender Werkzeuge Externe DSLs Language Invention Grammatik abstrakte Syntax Metamodell Notation konkrete Syntax grafisch oder textuell Ben tigen eigene Werkzeuge 469 504 Repr sentation von DSLs Grafische Notation Rendering Hohe Informationsdichte Mehrdimensionalit t Kleppe 2008 H ufig graphorientiert Knoten amp Kanten Bei gr eren Projekten abwagen Aufwand Layout gt Aufwand Modellierung Textuelle Notation Serialisierung Schnell editierbar breite Werkzeugunterstutzung H ufig sehr kompakt und formal H ufig blockstrukturiert Textabschnitte bilden Bl cke Darstellung von Beziehungen zwischen Entitaten schwierig z B Verweise 470 504 Eclipse Modeling Framework EMF amp emf gt ECLIPSE MODELING FRAMEWORK Ecore Model Code generation EAttribute Attribute 471 504 Eclipse Projekt f r die Metamodellierung http www eclipse org modeling emf als Teil des Eclipse Modeling Project http www eclipse org modeling Ecore e Kern von EMF e Implementierung von OMGs Essential MOF EMOF e Class represents a class with zero or more attributes and zero or more references e EAttribute represents an attribute which has a name and a type e EReference represents one end of an association between two classes It has flag to indicate if it represent a containment and a reference
28. Verfeinerung von Modellen M2M Transformationssprachen Query View Transformation QVT Operational Mapping Query View Transformation QVT Relations Atlas Transformation Language ATL Xtend aus dem Eclipse Xtext Language Development Framework 478 504 ATL Beispiel Metamodell fur Quelle Classifier DataType isAbstract Boolean multivalued Boolean owner E ordered 479 504 ATL Tutorial http www slideshare net wpiers model refactoring with atl Beispiele fur ATL Transformationen http www eclipse org m2m atl atlTransformations ATL Beispiel Metamodell f r Ziel Named name String key owner ordered keyOf 480 504 ATL Beispiel Transformation Header module Class2Relational create OUT Relational from IN Class uses strings inheritance is not supported yet helper def objectldType Relational Type Class DataType alllnstances gt select e e name Integer gt first 481 504 ATL Beispiel Transformation rule DataType2Type from dt Class DataType to out Relational Type name lt dt name 482 504 For each DataType instance a Type instance has to be created Their names have to correspond ATL Beispiel Transformation rule Class2Table from c Class Class to out Relational Table name lt c name Columns are generated from Attributes in anothe
29. a 2000 Strategized Locking nach Schmidt u a 2000 include Guard h class Buffer public Buffer Lock amp l lock amp Il index 1 bool insert int i Guard guard xlock critical section LP Kies return true ig private Lock xlock int content 100 int index hs Lock soll verschiedene Implementierungen haben k nnen Im Konstruktor von Buffer kann die konkrete Implementierung bergeben werden 322 504 Strategized Locking nach Schmidt u a 2000 include Lock h 2 class Guard 3 public 4 store a pointer to the mutex m and aquire it 5 Guard Lock amp m lock amp m owner false 6 lock gt lock 7 owner true only true iff lock succeeds e 9 release the lock when guard leaves the scope 10 Guard 11 only release lock if it was aquired successfully 12 if owner lock gt unlock 13 14 private 15 Lock xlock 16 bool owner 17 disallow copying and assignment 18 Guard const Guard amp 19 void operator const Guard amp 20 323 504 Lock soll verschiedene Implementierungen haben k nnen Das Entwurfsmuster Strategized Locking parameterisiert einen Synchronisationsmechanismus mit dessen Hilfe die kritischen Abschnitte vor paralleler Ausf hrung gesch tzt werden Schmidt u a 2000 Strategized Locking nach Schmidt u a 2000 ifndef LOCK_H 2 define LOCK_H 3 class Lock a 5 public 6
30. angegebene Klassendiagramm hat insgesamt drei Klassen Auf den ersten Blick scheinen hier drei Untergruppen zu existieren Die Oberklasse ist jedoch abstrakt Das hei t dass eine solche Untergruppe gar nicht existiert bzw nur eine logische Beschreibung darstellt um Gemeinsamkeiten von anderen Untergruppen zusammen zu fassen Abstrakte Klassen z hlen somit nicht als Untergruppe Die beiden anderen Klassen sind konkret Somit ergeben sich zwei Feldgruppen RET 2 Die Datenelementtypen sind die Attribute aller Untergruppen einschlie lich der von abstrakten Oberklassen ererbten Davon gibt es acht DET 8 Die Taxonomie Metadaten sind wie folgt strukturiert Wir haben einerseits den Namen des Taxonomiepunkts dann einen beschreibenden Text und schlie lich einen Verweis auf die Oberklasse Damit ergeben sich RET 1 und DET 3 FP Bestimmung der Komplexitatsgewichte w Komplexitatsmatrizen Funktionstyp FTRs RETs DETs FPs Z hlen mittels Zahlregeln pro Funktionstyp DETs Funktionstyp 1 bis a a 1 bis b gt b 1 bis x gering gering x 1 bis y gering mittel FTRs RETs mittel hoch mittel 237 504 FTR number of files updated or referenced A record element type is a user recognizable subgroup of data elements within an ILF or EIF A data element type is a unique user recognizable nonrecursive field Z hlen von Datenelementtypen DET Ein Datenelementtyp DET ist aus der Benutz
31. class to which it points e EDataType represents the type of an attribute e g int float or java util Date Bildquelle http eclipsesource com blogs 2011 03 22 what every eclipse developer should know about emf part 1 Eclipse Modeling Framework EMF name EString ener WERE TournamentType CA cA iis Amateur type TournamentType matchup name EString dateOfBirth EDate 0 1 height EDouble jsProfessional EBoolean player 2 games EGame Ehframes Elnt 472 504 Eclipse Modeling Framework EMF Runtime 473 504 Werkzeuge in EMF e Generierung von Java Code aus Ecore Metamodelle e Generierung von Java Code zur Bearbeitung von Metamodellen e Serialisierung von Metamodellen in XMI basiert auf XML e Baumeditor zur direkten Modellierung von Metamodellen und Modellen e UML Klassendiagrammartiger grafischer Editor Graphical Modeling Framework GMF Eclipse Projekt zur modellgetriebenen Erstellung grafischer Editoren f r Ecore Modelle Teil des Eclipse Modeling Project Editorbau mit GMF Beschreibung von Modellen f r verschiedene Aspekte des Editors Besonders geeignet fur die schnelle Erstellung einfacher grafischer Editoren Fortgeschrittene Editoren erfordern nderungen am Quellcode und an GMF Templates 474 504 http www eclipse org modeling Textuelle Modellierung mit Xtext Xtext Language De
32. das Problem l st Konsequenzen Folgen und Kompromisse des Musters 295 504 Problem es soll nur eine einzige Instanz einer Klasse geben die global verf gbar sein soll Beispiele e Zentrales Protokoll Objekt das Ausgaben in eine Datei schreibt e Druckauftrage die zu einem Drucker gesendet werden sollten nur in einen einzigen Puffer geschrieben werden 296 504 Entwurfsmuster Singleton Einzelst ck L sung Muster f r das Erzeugen von Instanzen Singleton static instance Singleton Static static Singleton getInstance Singleton P ade 297 504 Code 1 public final class Singleton 2 3 private static Singleton instance a speichert einzige Instanz 5 6 private Singleton 7 kann von au erhalb nicht benutzt werden 8 9 liefert einzige Instanz 10 public synchronized static Singleton getInstance 11 if instance null lazy instantiation 12 instance new Singleton 13 14 return instance 15 16 298 504 Konsequenzen Singleton hat strikte Kontrolle ber wie und wann Klienten es verwenden vermeidet globale Variablen leicht erweiterbar um mehrere Instanzen zuzulassen Variante Singleton kann spezialisiert werden Problem 299 504 eine vorhandene wiederverwendbare Komponente hat nicht die passende Schnittstelle und der Code der Komponente kann nicht ver ndert werden
33. experimental units by measuring one or more dependent response variables Definition Observational Study an investigation in which the investigator observes units and measures one or more response variables without imposing treatments on the individuals Zieldefinition eines Experiments Vorlage Analyse Object of Study for the purpose of Purpose with respect to Quality focus from the point of view of the Perspective in the context of Context Beispiel Analyse Quality assurance process for the purpose of Characterize code inspection onto quality with respect to Effectiveness and Cost from the point of view of the Researcher in the context of Professional developers in a software organization 154 504 Experiment Factors Treatments subjects D Independent 2 nik ependent variables 5 objects variables Q D x oO in Independent variables with fixed levels 155 504 Definition Independent Variable variable that can be controlled and changed in the experiment z B Code Inspektion Erfahrung der Gutachter inspizierte Software Definition Factor an explanatory variable studied in an investigation that can be set at any one of two or more values z B Code Inspektion Definition Levels the different values of a factor z B Code Inspektion angewandt oder nicht Definition Treatment the circumstances created for an experiment i e one particular set of values of fac
34. is rated very high Stretch outs i e SCED gt 100 do not add or decrease effort Their savings bacause of smaller team size are generally balanced by the need to carry project administrative functions over a longer period of time Rechenbeispiel Nominaler Aufwand Personenmonate PMns A KLOC EM mit EMscep 1 0 mit A 2 94 und E B X w 100 mit B 0 91 Annahme es herrschen einfache Verhaltnisse gt Vi w 0 gt E 0 91 bester Fall nominale Effort Multiplier 1 00 Normalfall gt EM 1 00 Gesch tzte Programml nge 100 KLOC PMns 2 94 x 100091 x 1 0 194 24 Monate 16 Jahre 278 504 Entwicklungsdauer Nominale Entwicklungsdauer Kalenderzeit in Monaten TDEVns C x PMRE PER mit C 3 67 und D 0 28 Beispiel TDEVns 3 67 x 194 24928 0 2x 0 91 0 91 16 Anzahl Entwickler N PMys TDEVns Beispiel N 194 24 16 12 279 504 Verkurzte Entwicklungsdauer Chef Wieso 16 Monate Geht das nicht schneller PMns geht von SCED 1 0 aus Abweichung von der nominalen Entwicklungdauer TDEV TDEV ws x SCED Wir verk rzen auf 75 TDEV 16 x 75 100 12 Monate Chef Super Wir setzen SCED 75 in PM Formel ein PM 2 94 x 100 9 x 1 0 x 1 43 277 76 Erh hung des Aufwands um 43 Chef 43 mehr Kosten Seid Ihr wahnsinnig 280 504 COCOMO II Post architecture level Berucksichtigt Auswirkungen erwarteter Anderungen v
35. kann maximal um den Faktor 2 variieren die Komplexit t der Verarbeitungslogik geht nicht direkt ein 257 504 FP Umrechnung in Aufwand Gesucht Abbildung FPs Aufwand Erstellung einer neuen Erfahrungskurve Z hlen abgeschlossener Projekte Regressionsanalyse Datenbank z B ISBSG 3GL Projekte PM 0 971 AFP AGL Projekte PM 0 622 AFP 4 basierend auf 662 Projekten PM 0 38 AFP grobe Sch tzung mit Faustregeln Jones 1996 Entwicklungsdauer Monate AFP Personen AFP 150 aufgerundet Aufwand Personenmonate Personen Entwicklungsdauer Beispiel mit Jones Sch tzung Entwicklungsdauer Monate 2304 3 5 Personen 23 150 gt 1 Aufwand Personenmonate 1 3 5 3 5 3International Software Benchmarking Standards Group N http www isbsg org http www isbsg org isbsg nsf weben Project 20Duration FP Umrechnung in LOC Mittlere Anzahl Codezeilen pro FP Jones 1995 Sprache OLOC Assembler 320 C 128 FORTRAN 107 COBOL ANSI 85 91 Pascal 91 C 53 Java 53 Ada 95 49 Smalltalk 21 SQL 12 259 504 Bewertung der Function Point Methode Wird als beste verf gbare Methode zur Sch tzung kommerzieller Anwendungssysteme angesehen Balzert 1997 Sinnvoll einsetzbar wenn Erfahrungswerte von vergleichbaren Projekten vorliegen Kemerer 1987 Bewertung der Systemmerkmale subjektiv Symons 1988 Studie mittlere FP Ab
36. kein Aufwand sehr kleiner Aufwand 1 2 kleiner Aufwand 2 x sehr kleiner Aufwand 3 mittlerer Aufwand sehr kleiner kleiner Aufwand 5 8 groBer Aufwand kleiner mittlerer Aufwand sehr groBer Aufwand mittlerer groBer Aufwand 13 riesiger Aufwand gro er sehr gro er Aufwand 68 504 Scrum Entwicklungsgeschwindigkeit Punkte werden im Projektverlauf auf Echtzeit abgebildet Entwicklungsgeschwindigkeit Velocity Punkte Sprint Velocity Chart 69 504 Scrum Steuerungselemente Sanne Burndown Chad Release Burndown Chart NAMTNORANRO 0 SEERSELREEE S o N y 59000000020 5 S S S 555335550500 g 3 N ECRRRRRRRRSD F 2 D o o o o o eE a ES VYooooooo0ooXX 22 2 2 32 2209 i 70 504 Agile versus weit voraus planende Prozessmodelle Risiken agiler Methode Skalierbarkeit Kritikalitat Einfachheit des Entwurfs Personalfluktuation Personalf higkeiten Risiken weit voraus planender Prozessmodelle Stabilit t der Anforderungen steter Wandel Notwendigkeit schneller Resultate Personalfahigkeiten Generelle Risiken Unsicherheiten bei der Technologie unterschiedliche Interessengruppen komplexe Systeme Boehm und Turner 2003 71 504 Capability Maturity Model Entwickelt vom SEI 1985 91 f r DoD Beschreibt Stufen der Prozessreife Ma stab Leitfaden f r Verbesserungen Idee besserer Prozess besseres Produkt 5 Stufen
37. ndliche berlieferung Tests und Quellcode 8 50 Planung sehr begrenzter Horizont Weitere XP Charakteristika Kunde vor Ort eine Metapher statt einer Architekturbeschreibung 40 Stundenwoche Code ist kollektives Eigentum Kodierungsstandards 59 504 Scrum Prozess Daily Scrum Verbesserungs ma nahmen N Sprint Review und Retrospektive 30 days Sprint Planung funktionsf higes Product Backlog Sprint Backlog Sprint Inkrement 61 504 Bildquelle http en wikipedia org wiki File Scrum_process svg GPL Scrum Rollen Pichler 2008 Product Owner e vertritt Endkundenbed rfnisse vereint Produkt und Projektmanagementaufgaben fest integriert in Entwicklung Aufgaben Anforderungsbeschreibung und management Releasemanagement und Return on Investment enge Zusammenarbeit mit dem Team Stakeholder Management 62 504 Scrum Rollen Pichler 2008 Team entscheidet selbst wieviele Anforderungen in einem Inkrement umgesetzt werden legt Arbeitsschritte und Arbeitsorganisation selbst fest agiert autonom interdisziplin r besetzt selbstorganisiert klein Vollzeitmitglieder Arbeitspl tze in unmittelbarer N he 63 504 Scrum Rollen Pichler 2008 Scrum Master vom Team bestimmt Aufgaben etabliert Scrum unterst tzt Team e stellt Zusammenarbeit von Team und Product Owner sicher beseitigt Hindernisse oe verbessert Ent
38. wenn x1 X2 Xn 1 bekannt sind nur n 1 Summanden in x X k nnen frei variieren n 1 ist der Freiheitsgrad 184 504 Verteilung von Population und Sample H Durchschnittliche Lange von Java Methoden u gt 50 Ho Durchschnittliche L nge von Java Methoden u lt 50 Gegeben Populations Verteilung Kennwerteverteilung der Population P mit Durchschnitt u und Standardabweichung o Sample Verteilung Kennwerteverteilung der Stichproben X mit Durchschnitt x und Standardabweichung sx Annahmen o ist bekannt P hat Normalverteilung oO Daraus folgt X ist normalverteilt mit x u und sz Ta 185 504 Verteilung von Population und Sample Warum gilt x u Sample Gr e ist n Jeder beobachtete Wert x 1 lt i lt n ist eine Messung von einem zufallig ausgewahlten Element aus P Jede Einzelmessung ist eine Zufallsvariable X deren Verteilung der von P entspricht x 4 X X2 Xn Wenn u der Durchschnitt von P ist dann ist u der Durchschnitt der Verteilung jeder Beobachung X uz 4 ux tun 0x0 3 Mt et H 186 504 Verteilung von Population und Sample Warum gilt oz Tat Regeln f r Varianzen a b sind Konstante X Y Zufallsvariablen 2 a e atbx box 2 E 2 oxy OxX tIY Damit Z p gi ga 2 2 I3 OT 4 bn ox tox o Weil jede Einzelbeobachtung X aus P stammt gilt ox 0 und damit o2 1 2
39. z B Gruppen werden unbewusst verschieden behandelt oder Subjects versuchen das vermeintlich gew nschte Ergebnis zu erreichen 172 504 External Validity e Repr sentanz Subjects sind nicht repr sentativ Eignung Treatment Interaktion Sample hat Eigenschaften die mit der unabhangigen Variablen interagieren z B Subjects sind hochmotivierte Freiwillige Situation situationsbedingte zeitliche rtliche Eigenheiten beeinflussen Ergebnis z B gro e Displays im Pair Programming Experiment z B Tests finden immer nur morgens statt Reaktivit t Effekt ist auf die Beobachtung der Situation zur ckzuf hren z B Programmierer sind w hrend des Experiments konzentrierter 173 504 Wiederholungs und Vertiefungsfragen Welche Arten von empirischen Untersuchungsmethoden gibt es generell Was sind ihre Vor und Nachteile Gegeben sei folgendes Szenario Welche Art von empirischer Untersuchungsmethode w rden Sie einschlagen und warum Was sind die wesentlichen Bestandteile eines kontrollierten Experiments Erlautern Sie diese an einer konkreten Fragestellung Wo liegen die Grenzen empirischer Forschung Was ist der Zusammenhang eines kontrollierten Experiments und einer Theorie Was unterscheidet ein Experiment von einer blo en Beobachtung 174 504 Wiederholungs und Vertiefungsfragen II Erlautern Sie die Begriffe abh ngige und unabh ngige Variablen Faktoren Levels Tr
40. 1 Boehm und Turner 2003 BoEHM B TURNER R Using risk to balance agile and plan driven methods In IEEE Computer 36 2003 Juni Nr 6 S 57 66 492 504 Boehm 1979 BoEHM Barry W Guidelines for verifying and validating software requirements and design specification In EURO IFIP 79 1979 S 711 719 Boehm 1988 Bornm Barry W A spiral model of software development and enhancement In IEEE Computer 21 1988 Mai Nr 5 S 61 72 Boehm u a 2000 BoEHM Barry W ABTS Chris BROWN A W CHULANI Sunita CLARK Bradford K HOROWITZ Ellis MADACHY Ray REIFER Donald STEECE Bert Software Cost Estimation with COCOMO Il Prentice Hall 2000 Bortz und D ring 2006 Bortz J rgen DORING Nicloa Forschungsmethoden und Evaluation vierte Auflage Springer 2006 ISBN 978 3 540 33305 0 Bortz u a 2008 BORTZ J rgen LIENERT Gustav A B HNKE Klaus Verteilungsfreie Methoden in der Biostatistik zweite Ausgabe Springer Verlag 2008 ISBN 3540675906 493 504 16 17 18 19 20 21 22 23 24 Brooks 1995 BROOKS Frederick P The Mythical Man Month Essays on Software Engineering Anniversary Edit 2 Addison Wesley Professional 1995 ISBN 0201835959 Bunse und von Knethen 2002 BUNSE Christian KNETHEN Antje von Vorgehensmodelle kompakt Spektrum Akademischer Verlag 2002 ISBN 978 3827412034 Buschmann u a 1996 BUSCHMANN Frank MEUNIER R
41. 1 Albrecht 1979 ALBRECHT Alan Measuring application development productivity In Proc Joint SHARE GUIDE IBM Applications Development Symposium 1979 S 83 92 2 Balzert 1997 BALZERT Helmut Lehrbuch der Software Technik Spektrum Akademischer Verlag 1997 ISBN 3827400651 3 Balzert 2008 BALZERT Helmut Lehrbuch der Softwaretechnik Softwaremanagement 2 Spektrum Akademischer Verlag 2008 ISBN 978 3 8274 1161 7 4 Banker u a 1991 BANKER R KAUFFMANN R KUMAR R An Empirical Test of Object Based Output Measurement Metrics in a Computer Aided Software Engineering CASE Environment In Journal of Management Information Systems 8 1991 Nr 3 S 127 150 491 504 10 11 12 13 14 15 Basili und Weiss 1984 Bas L R Weiss D M A Methodology for Collecting Valid Software Engineering Data In IEEE Transactions on Software Engineering 10 1984 November Nr 6 S 728 738 Basili und Turner 1975 BASILI V TURNER J Iterative Enhancement A Practical Technique for Software Development In IEEE Transactions on Software Engineering 1 1975 Dezember Nr 4 S 390 396 Bass u a 2003 Bass Len CLEMENTS Paul KAZMAN Rick Software Architecture in Practice 2nd ed Addison Wesley 2003 Beck 2000 Beck Kent Extreme Programming Explained Addison Wesley 2000 The XP Series ISBN 201 61641 6 Boehm 1981 BoEHM B Software Engineering Economics Prentice Hall 198
42. Backfiring Converting Lines of Code to Function Points In IEEE Computer 28 1995 November Nr 11 S 87 88 497 504 36 37 38 39 40 41 42 43 44 45 46 Jones 1996 JONES Capers Software Estimating Rules of Thumb In IEEE Computer 29 1996 March Nr 3 S 116 118 Kauffman und Kumar 1993 KAUFFMAN R KUMAR R Modeling Estimation Expertise in Object Based ICASE Environments Stern School of Business New York University Januar 1993 Report Kemerer 1987 KEMERER Chris F An Empirical Validation of Software Cost Estimation Models In Comm ACM 30 1987 May Nr 5 Kemerer und Porter 1992 KEMERER Chris F PORTER Benjamin S Improving the Reliability of Function Point Measurement An Empirical Study In TSE 18 1992 Nov Nr 11 Kleppe 2008 KLEPPE A Software Language Engineering Creating Domain Specific Languages Using Metamodels Addison Wesley Pearson Education Inc 2008 498 504 Kneuper 2006 KNEUPER Ralf CMMI Verbesserung von Softwareprozessen mit Capability Maturity Model 2 dpunkt verlag 2006 ISBN 3 89864 373 5 Knight und Leveson 1986 KNIGHT J C LEVESON N G An Experimental Evaluation of the Assumption of Independence in Multiversion Programming In IEEE Transactions on Software Engineering 12 1986 Januar Nr 1 S 96 109 Kruchten 1998 KRUCHTEN Phillipe The Rational Unified Process An Introduction Reading Mass A
43. Beschreibung der Taxonmie Er unterst tzt zwar den anderen Elementarprozess ist aber nicht Teil von diesem da der andere Elementarprozess auch ohne ihn vollst ndig ist Dieser Elementprozess ist eine klare Abfrage da nur Daten ohne weitere Verarbeitung angezeigt werden Ergebnis der Abfrage ist die Taxonomie als Liste genauer Baum von Taxonomieeintr gen Insgesamt unterst tzt diese Seite also zwei Elementarprozesse Online Bibliographie Taxonomiesuche Bibliographic References Taxonomy Mozilla a File Edit View Go Bookmarks Tools Window Help N Q o amp http www iste uni stuttgart de ps reengineering taxonomy htmi 2 Q Search Ss a amp Home Bookmarks The Mozilla Org Latest Builds Home Next Terminology Next Description Taxonomy Select elements of the following taxonomy to retrieve their references or one of the following two items e Retrieve used terminology Get a description of this taxonomy e Reengineering in General o Reengineering Collections o Introductions to Reengineering o Fundamentals o The Pros and Cons and Risks of Reengineering o Experiences o Costs o Process Models o Management o Legality o Interoperability o Business Reengineerin e Software Reverse Engineering o General Information on Reverse Engineering o Reverse Engineering Collections o Cognitive Processes in Human Program Understanding o Software Evolution o Extract
44. CMM Level 1 5 Definiert Schl sselbereiche Key Process Areas Steigende Transparenz des Prozesses 72 504 Capability Maturity Model st ndige Verbesserung Optimizing Vorhersagbarkeit m Managed Einheitlichkeit Konsistenz m Defined Disziplinierter Prozess 7 Repeatable Initial 73 504 CMM Level 1 Initial Prozess meist v llig instabil Typisch in Krisen nur noch Code amp Fix Qualit t und Fertigstellung unvorhersagbar Erfolge nur durch gute Leute und gro en Einsatz 74 504 CMM Level 2 Repeatable Projekterfolge nachvollziehbar und wiederholbar Projektplanung und management basiert auf Erfahrung Key Process Areas e Anforderungsverwaltung u a Reviews Projektplanung Zeitplanung Risikomgmt Prozess Projektverfolgung und berblick Transparenz Unterauftragsverwaltung Qualit tssicherung QS Plan Konfigurationsverwaltung Konsistenz Anderungsverfolgung 75 504 CMM Level 3 Defined Organisationsweiter Prozess wird fur jedes Projekt angepasst Zustandig Software Engineering Process Group Kosten Zeitplan und Funktionalitat im Griff Key Process Areas e Organisationsweiter Prozess e Prozessdefinition e Ausbildungsprogramm Integriertes Softwaremanagement Anpassung auf konkretes Projekt Software Engineering Techniken Tool Unterst tzung e Koordination zwischen Gruppen e Peer Reviews 76 504 CMM Level 4 Managed Einbeziehun
45. Germany Revision 1 6 Last modified Mon Jun 22 16 26 16 MET DST 1998 231 504 Auf dieser Seite k nnen Referenzen anhand von Stichw rtern gesucht werden Die Suche nach Stichw rtern kann auf verschiedene Felder der Referenzen eingeschr nkt werden Den Suchbereich kann man mit Hilfe einer Listbox f r jedes Stichwort ausw hlen Hier tritt die interessante und h ufig gestellte Frage auf wie Listboxen zu behandeln sind K nnen Sie auch einen Elementarprozess darstellen Poensgen und Bock 2005 geben hierauf die Antwort dass eben nicht Listboxen sondern Elementarprozesse bewertet werden Ob mit einer Listbox ein Elementarprozess zu werten ist h ngt vom Einzelfall ab Die Listbox hier repr sentiert zul ssige BibTeX Felder Damit werden keine Daten aus einem fachlichen Datenbestand dargestellt sondern Metadaten die ein korrektes Attribut im internen Datenbestand Referenzen beschreiben Die Function Point Methode verlangt dass bei einer Abfrage oder Ausgabe Daten oder Steuerinformationen ber die Anwendungsgrenze verschickt werden Hierbei sind explizit fachliche Daten gemeint Dies ist jedoch bei den Elementen der Listbox nicht der Fall Ein andere Situation l ge vor wenn die Listboxen fachliche Daten repr sentieren w rden beispielsweise wenn aus einer Liste verzeichneter Autoren ausgesucht werden k nnte Wir halten also fest dass wir die Auswahl in den Listboxen nicht als Elementarprozess betrachten Nichtsdestotrotz
46. Grad des Unbekannten des Projekts ab Zumindest die kritischen Anwendungsf lle sollten hierf r einbezogen werden da sie typischerweise die gr ten technischen Risiken aufwerfen Ein evolution rer Prototyp d h einer der schrittweise ausgebaut wird kann durchaus verwendet werden Man sollte jedoch auch einige explorative Wegwerfprototypen in Erw gung ziehen um spezifische Risiken wie z B Entwurfs oder Anforderungskompromisse auszuloten Sie dienen auch als Machbarkeitsstudien und Demonstrationen RUP Elaborationsphase Elaboration Fortsetzung berarbeitete Liste der Risiken und berarbeiteter Business Case Plan f r das gesamte Projekt sowie grober Plan f r die Iterationen und Meilensteine ein vorl ufiges Benutzerhandbuch optional 42 504 Die Erstellung des Benutzerhandbuchs kann bereits fr hzeitig beginnen Es ist konkreter als die Anforderungsspezifikation und abstrakter als die Implementierung Somit kann es als Br cke von den Anforderungen zur Implementierung benutzt werden Das vorl ufige Handbuch dient sowohl als Spezifikation f r die Implementierung und den Test als auch f r die intensivere Auseinandersetzung mit der Benutzerf hrung Beispiel Was orthogonal und einfach zu beschreiben ist kann oft auch orthogonal und einfach implementiert werden berlegungen zur Benutzerf hrung sollten fr hzeitig gemacht werden weil nderungen gr ere Restrukturierungen nach sich ziehen k nnen RUP Kon
47. PMys A KLOC EM PM Korrekturfaktor PM bei viel generiertem Code 268 504 h here Produktivit t bei Code Generierung nicht weiter diskutiert hier Faktoren f r Exponent E PMns A KLOC EM PMm Erfahrung mit Anwendungsbereich PREC Erfahrung mit vorliegendem Projekttyp 5 keine Erfahrung 0 vollst ndige Vertrautheit Entwicklungsflexibilitat FLEX Grad der Flexibilitat im Entwicklungsprozess 5 Prozess vom Kunden fest vorgegeben 0 Kunde legt nur Ziele fest Risikomanagement RESL Umfang der durchgef hrten Risikoanalyse 5 keine Risikoanalyse 0 vollst ndige und genaue Risikoanalyse 269 504 Faktoren fur Exponent E Il Teamzusammenhalt TEAM Vertrautheit und Eingespieltheit des Entwicklungsteams 5 schwierige Interaktionen 0 integriertes und effektives Team ohne Kommunikationsprobleme Prozessreife EPML Reife des Entwicklungsprozesses z B CMM beabsichtigt gewichteter Anteil der mit ja beantworteten Fragen im CMM Fragebogen pragmatisch CMM Level 5 niedrigster CMM Level 0 h chster CMM Level 270 504 Effort Multiplier RCPX Product Reliability and Complexity PMys A KLOCE EM PM mit EM T Effort Multiplier RELY Required reliability DOCU Documentation match to life cycle needs CPLX Product complexity DATA Data base size Grad very low low nominal high very high extra high Punkte 1 2 3 4 5 6 RCPX RELY very little littl
48. S other than libraries Government furnished software GFS other than reuse libraries Another product A vendor supplied language support library unmodified A vendor supplied operating system or utility unmodified A local or modified language support library or operating system Other commercial library A reuse library software designed for reuse Other software component or library pata 120 504 Anwendungen Beurteilung des aktuellen Zustands Projektuberwachung Produktivitat Softwarequalitat Prozessqualitat CMM Vorhersage des zuk nftigen Zustands e Aufwandsabsch tzung e Prognose f r Wartungskosten 121 504 Probleme Datenerfassung sehr aufwendig zun chst wenig Nutzen Datenerfassung nicht konsistent Teilweise Messungen schwierig durchf hrbar Zweck der Messungen muss klar sein Integration der Datenerfassung in den normalen Arbeitsprozess Metriken m ssen wohldefiniert und validiert sein Beziehungen zwischen Metriken m ssen definiert sein Gefahr der Fehlinterpretation 122 504 Zielorientiertes Messen Goal Question Metric GQM Basili und Weiss 1984 Ziele erfassen zur Pr fung der Zielerreichung notwendige Fragen ableiten was muss gemessen werden um diese Fragen zu beantworten 123 504 Nicht das messen was einfach zu bekommen ist sondern das was ben tigt wird Zielorientiertes Messen Anteil der Programmierer die Aufwand Standard benutzen Code
49. Softwaretechnik Prof Dr Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit t Bremen Wintersemester 2012 13 berblick Vorbemerkungen Entwicklungsprozesse Software Metriken Empirische Softwaretechnik Kontrollierte Experimente Statistik bei kontrollierten Experimenten Kosten und Aufwandssch tzung Entwurfsmuster berblick II Komponentenbasierte Entwicklung OSGI als Beispiel eines Komponentenmodells Software Produktlinien Modellgetriebene Softwareentwicklung Vorbemerkungen Vorbemerkungen Themen der Vorlesung bersicht Termine bungen und Ressourcen Scheinbedingungen Lehrb cher 4 504 bersicht Entwicklungsprozesse Metriken Kosten und Aufwandsschatzung Komponentenbasierte Entwicklung Entwurfsmuster Schwerpunkt Parallelitat Software Architektur Modellgetriebene Softwareentwicklung oe Software Produktlinien Fortgeschrittenes Testen Empirie in der Softwaretechnik 5 504 bungen finden ca alle zwei Wochen alternierend zur Vorlesung am Mittwoch statt Zu einzelnen Themen werden m glicherweise externe Dozenten eingeladen Das letzte Mal war beispielsweise der Chefarchitektur von OpenOffice von Sun Mircosystems dabei Eingebettet in die Vorlesung gibt es zur Vertiefung des Softwareprojektmanagements einen praktischen Teil mit SESAM SESAM ist ein Softwareprojektabenteuerspiel bei dem Ihr in die Rolle eines Proj
50. T t Product Line Scope Core Assets Production Constraints Developmen Production Strategy a Inventory of Pre existing ay _ Assets Production Plan Management ud Quelle Linda Northrop SEI 434 504 Produktentwicklung Product mn ER Product ine ER ae evelopmen Core Assets gt OOOO Production Plan AtAtAtA u ucts j Quelle Linda Northrop SEI 435 504 Essentielle Aktivitaten N Core Asset Product Development Sane a Development Nad Management Essential Activities Architecture Definition Architecture Evaluation Component Development COTS Utilization and Tracking nae Er Analysis Mining Existing Assets Process Definition Requirements Engineering Scoping Software System Integration Testing Understanding Relevant Domains Technical Planning Tool Support Configuration Management Data Collection Metrics Make Buy Mine Commission Technical Risk Management Building a Business Case Customer Interface Management Implementing an Acquisition Strategy Funding Launching and Institutionalizing Market Analysis Operations Organizational Planning Organizational Risk Management Structuring the Organization Technology Forecasting Training Software Technical Organizational Engineering Management Management Practice Areas Einf hrung von Produktlinien
51. Variabilitaten Kombination Ersetzung und Auslass von Komponenten auch zur Laufzeit Frontend Middle End Backend C C Java ME i386 Motorola 68000 C ME i386 C ME Motorola 68000 C ME i386 C ME Motorola 68000 Java ME i386 Java ME Motorola 68000 441 504 Architekturmechanismen fur Variabilitaten Parametrisierung einschlie lich Makros und Templates generic type My_Type is private with procedure Foo M My_Type procedure Apply procedure Apply is X My_Type begin vo N A oO A UU Ne m oO Fe me D e end Apply m w 442 504 Architekturmechanismen fur Variabilitaten Parametrisierung einschlie lich Makros und Templates typedef FP int void Apply FP fp 1 2 3 DES 4 fp X 5 E 6 443 504 Architekturmechanismen fur Variabilitaten Selektion verschiedener Implementierungen zur bersetzungszeit z B ifdef oder Makefile ifdef Kundel 2 define My_Type int 3 void Foo My_Type M 4 else 5 typedef struct mystruct mystruct 6 define My_Type mystruct 7 void Foo My_Type M s endif 9 void Apply 10 My_Type X 11 n 12 Foo X 13 ur 14 444 504 Architekturmechanismen fur Variabilitaten Entwurfsmuster mit OO Techniken e Strategy Factory Template Method 445 504 Architekturmechanismen fur Variabilitaten Generierung z B Yacc Gra
52. a 1996 Schmidt u a 2000 Software Produktlinien Clements und Northrop 2001 11 504 Lehrb cher IV Empirisches Software Engineering Endres und Rombach 2003 Yin 2003 W Prechelt 2001 12 504 Entwicklungsprozesse Entwicklungsprozesse Lernziele Wasserfallmodell V Modell Testgetriebene Entwicklung Inkrementelle Entwicklung Spiralmodell Rational Unified Process Cleanroom Development Agile Methoden Extreme Programming XP Scrum Agile versus traditionelle Vorgehensweisen Capability Maturity Model Personlicher Softwareprozess Wiederholungsfragen Weiterf hrende Literatur 13 504 Lernziele verschiedene Software Entwicklungsprozessmodelle kennen Vor und Nachteile Anwendbarkeit abw gen k nnen die Besonderheit von Prozessen der Software Entwicklung kennen 14 504 Entwicklungsprozesse Grundlagen f r guten Prozess e Wohldefiniertheit sonst Falsch Nicht Mehrarbeit e sonst Information nicht verf gbar oder unverst ndlich Quantitatives Verstehen objektive Grundlage f r Verbesserungen Kontinuierliche nderung sonst Prozess schnell berholt Angemessenheit e Prozess muss dem zu l senden Problem angemessen sein d h effektiv und effizient sein 15 504 Striktes Wasserfallmodell nach Royce 1970 System analyse System spezifikation Ist Zustand I System entwurf A
53. alisieren Die Zeitspanne zwischen Auftragsvergabe und Einsatz von zumindest Systemteilen wird somit geringer Federt die Gefahr des Wasserfallmodells ab am Ende mit leeren H nden dazustehen Sind wenigstens die ersten Inkremente erfolgreich entstanden hat der Kunde zumindest ein partielles System W hrend der Entwicklung kann noch auf Anderungen reagiert werden Das Modell steht und f llt mit der M glichkeit Kernanforderungen zu identifizieren und ausreichend zu spezifizieren Die initale Software Architektur muss f r alle Anforderungen Kernanforderungen wie alle anderen die im Laufe des Projekts formuliert werden tragf hig sein ansonsten ist ein hoher Restrukturierungaufwand notwendig Darum sollten am Anfang alle Anforderungen bekannt sein die sich ma gebend auf die Architektur auswirken Beispiel f r Textverarbeitung Iterationen grundlegende Funktionalitat e Datei Management Editor Textausgabe erweiterte Funktionalitat e Style Files Bearbeitung mathematischer Formeln Einbinden von Graphiken zus tzliche Funktionalit t Rechtschreibpr fung Grammatik berpr fung Uberarbeitungsmodus erganzende Funktionalitat Tabellenkalkulation Gesch ftsgraphiken E Mail Web Browser Scanner Anbindung Flipper 30 504 Inkrementelles Modell von Basili und Turner 1975 Eigenschaften Wartung wird als Erstellung einer neuen Version des bestehenden Produkts betrachtet Entwicklung erf
54. ann benutzt werden Beispiel Dokumentation zu Unix Signal Handler nicht mit Vor und Nachbedingungen ausdruckbar 396 504 Fallstudie zur komponentenbasierten Entwicklung Garlan u a 1995 Komposition eines Case Tools aus einer objektorientierten Datenbank Toolkit zur Konstruktion graphischer Benutzeroberflachen event basiertem Tool Integrations Mechanismus RPC Mechanismus Alle Komponenten in C oder C geschrieben 397 504 Glaube und Wirklichkeit Sch tzung Dauer 6 Monate Aufwand 12 PM Tats chlich Dauer 2 Jahre Aufwand 60 PM f r ersten Prototyp Ergebnis sehr gro es System trage Performanz viele Anpassungen fur die Integration notwendig existierende Funktionalit t musste neu implementiert werden weil sie nicht exakt den Anforderungen entsprach 398 504 Architektur Mismatch Definition Architektur Mismatch inkompatible Annahmen von wiederzuverwendenden Komponenten ber das Systems in dem sie eingesetzt werden sollen Meist sp t entdeckt weil die Annahmen in aller Regel nur implizit sind 399 504 Komponenten betreffend Annahmen von Komponenten ber ihre Infrastruktur die zur Verf gung gestellt werden soll bzw vorausgesetzt wird e Komponenten stellten vieles zur Verf gung was gar nicht gebraucht wurde exzessiver Code das Kontrollmodell wer steuert den Kontrollfluss jede Komponente nahm an dass sie die Hauptkontrollschleife
55. ardkomponenten 368 504 Integration Softwerker werden bei komponentenbasierter Entwicklung zu Systemintegratoren Integrationsproblematik wird versch rft e Einbau der Komponenten von Dritten Komponenten kommen aus verschiedenen Quellen e Fehlereingrenzung schwierig e keine klassischen Integrationstests da spate Integration System nur so stark wie schw chste Komponente defensives Programmieren bei Hersteller und Verwender ist zu empfehlen 369 504 Vor und Nachteile Vorteile verbesserte Qualit t Wiederverwendung verringert die Dauer bis zur Auslieferung Modularisierung nur lokale nderungen Abh ngigkeiten explizit Austauschbarkeit durch Abstraktion Schnittstellen Markt innovative Produkte niedriger Preis 370 504 Vor und Nachteile II Nachteile e h here Kosten durch e komplexere Technik e durch Outsourcing hohere Kosten durch Risikoabstutzung mehr Aufwand um vergleichbare Systemstabilitat zu erreichen e offene Probleme Vertrauenswurdigkeit der Implementierung e Zertifizierung der Implementierung e gew nschte Anforderungen vs verf gbare Komponenten 371 504 Prozess Anpassung des Entwicklungsprozesses Anforderungen erfassen Identifizierung von Komponentenkandidaten suchen ausw hlen berpr fen Anpassen der Anforderungen an gefundene Kandidaten Design der Architektur 00O berpr fung der Komponentenkandi
56. ass Strategyl Strategy 12 virtual void Algorithm 13 314 504 Mutex Bin res Semaphore Mutex ifndef MUTEXH 2 define MUTEXH 3 include Lock h 4 include lt pthread h gt 5 class Mutex Lock 6 7 public 8 Mutex Creates the Mutex 9 virtual Mutex Destroys the Mutex 10 void lock Locks the mutex Blocks if the mutex 11 is held by another thread 12 void unlock Unlocks the mutex so that it can be 13 acquired by other threads 14 private 15 pthread_mutex_t mutex 16 friend class Condition 17 18 endif 316 504 Locking mit Mutex include Mutex h 2 class Buffer 3 public 4 Buffer index 1 5 bool insert int i 6 mutex lock critcial section 7 if index gt 100 8 mutex unlock 9 return false 10 11 index 12 content index i 13 mutex unlock 14 return true 15 16 private 17 Mutex mutex 18 int content 100 19 int index 20 317 504 Scoped Locking nach Schmidt u a 2000 1 include Mutex_Guard h 2 class Buffer 3 public 4 Buffer index 1 5 bool insert int i 6 use scoped locking to aquire and release 7 lock automatically 8 Mutex_Guard guard mutex 9 if index gt 100 10 return false 11 12 index 13 content index i 14 return true sh 16 private 17 Mutex mutex 18 int content 100 19 in
57. ator BorderDecorator Dies ist ein Text Wer das liest hat gute Augen Dies ist ein Text Wer das liest hat gute Augen aBorderDecorator aScrollDecorator component gt aTextView component 310 504 L sung component Draw Decorator Draw DrawBorder VisualComponent i Draw TextView Decorator P ag a a Draw Das re ee A ScrollDecorator BorderDecorator Draw Brawl pre ScrollTo DrawBorder scrollPosition borderWidth Konsequenzen hohere Flexibilitat als statische Vererbung vermeidet Eier Legende Wollmilchsau Klassen Dekorator und dekoriertes Objekt sind nicht identisch 311 504 vielf ltige dynamische Kombinationsm glichkeiten schwer statisch zu analysieren 312 504 Entwurfsmuster Strategy prozedural typedef enum Strategy sl s2 s3 Strategy 2 void Apply Strategy s 3 switch s 4 case sl ApplyS1 break 5 case s2 ApplyS2 break 6 case s3 ApplyS3 break Tod 8 313 504 Entwurfsmuster Strategy mit OO Techniken class Applier Strategy _strategy 1 2 3 4 void Apply 5 strategy gt Algorithm 6 7 8 9 class Strategy virtual void Algorithm 0 10 1 cl
58. auch wenn es in beide Richtungen der Systemgrenze bertragen wird Der Elementarprozess Suche ber die Taxonomie EQ ist mit einem DET f r den ausgew hlten Taxonomiepunkt assoziiert Das Resultat ist eine Liste bibliographischer Referenzen die der BibTeX Struktur folgen Da im Prinzip jede Art von Referenz zur ckgeliefert werden kann m ssen wir die maximale Anzahl von Feldern aller BibTeX Referenztypen bestimmen Ohne in die Untiefen von BibTeX einzutauchen nehmen wir der Einfachheit halber an wir h tten maximal 8 Felder Damit ergeben sich dann insgesamt 8 1 9 DETs f r diesen Elementarprozess Der Elementprozess muss sowohl den Taxonomie als auch den Referenzendatenbestand betrachten Damit ergeben sich zwei FTRs Function Points zusammenfassen El Neuen Artikel einpflegen Beschreibung der Taxonomie Suche ber Taxonomie Artikel ber Suchmaske abfragen Referenzen Taxonomie Metadaten Parameter ILFy ILF gt Gewicht 7 7 Parameter Gewicht Ely EQ EQ gt EQ3 248 504 Online Bibliographie Suche nach Eigenschaften Bibliography Search Mozilla a Eile Edit View Go Bookmarks Tools Window Help Q amp http www iste uni stuttgart de ps reengineering simple search html i 4 Home Bookmarks The Mozilla Org S Latest Builds Home Next Regular Expressions Search for References Fill out this form you can leave out fields pr
59. bnisse Vergl mit anderen Ma en vergleichbar Okon mit vertretbaren Kosten messbar Vorgehensweise Definition e Zielbestimmung Modellbildung Skalentypbestimmung Ma definition Validierung Anwendung e Konkretes Modell bilden e Messung e Interpretation e Schlussfolgerung 108 504 Validierung von Ma en Interne Validierung Nachweis dass ein Ma eine g ltige numerische Charakterisierung des entsprechenden Attributs ist durch Nachweis der Erf llung der Reprasentanzbedingung und Pr fung des Skalentyps Externe Validierung Vorhersagemodell Hypothese ber Zusammenhang zwischen zwei Ma en Erfassung der Me werte beider Ma e auf gleicher Testmenge Statistische Analyse der Ergebnisse Bestimmung von Parametern Pr fung der Allgemeing ltigkeit 109 504 Klassifikation von Softwaremetriken Was Ressource Prozess Produkt Wo intern extern isoliert mit Umgebung Wann in welcher Phase des Prozesses Wie objektiv subjektiv direkt abgeleitet Ressourcen Prozess Produkt 110 504 Bei den Metriken unterscheidet man zwischen internen und externen Metriken Eine interne Metrik ist dar ber definiert dass sie nur Eigenschaften innerhalb des untersuchten Objektes misst wohingegen externe Metriken die Interaktion des Objektes mit seiner Umgebung ber cksichtigen Klassifikation nach Fenton und Pfleeger 1998 Software Metriken
60. che Tests ANOVA Kruskal Wallis 164 504 Ein Faktor mit mehr als zwei Treatments Paired comparison design Subjects Treatment 1 Treatment 2 Treatment 3 1 1 2 3 2 1 3 2 3 2 1 3 4 2 3 1 5 3 1 2 6 3 2 1 Nullhypothese u u2 Un Statistische Tests ANOVA Kruskal Wallis 165 504 Zwei Faktoren Definition 2 x 2 Factorial Design zuf llige Zuordnung der Subjects f r jede Kombination der Treatments Faktor A Treatment A1 Treatment A2 Treatment B1 Bao Treatment B2 a Effekt von Treatment auf Faktor A Bi Effekt von Treatment auf Faktor B ab Effekt der Interaktion von a und Nullhypothesen a1 a2 oder 6 Pa oder a 0 f r alle j Statistische Tests ANOVA 166 504 Tabelleninhalt beschreibt die Subjects Mehr als zwei Faktoren mit zwei Treatments Definition 2K Factorial Design f r k Faktoren zuf llige Zuordnung der Subjects f r jede der 2 Kombinationen der Treatments Faktor A Faktor B Faktor C Subjects Al A2 Al A2 Al A2 Al A2 Bl Bl B2 B2 Bl Bl B2 B2 C1 C1 C1 Cl C2 C2 C2 C2 2 3 1 13 5 6 10 16 7 15 8 11 4 9 12 14 167 504 G ltigkeit Threats to Validity Theory Experiment Pa objective cause effect construct Cause Effect Construct Construct Observation treatment outcome construct Treatment Outcome
61. chen Semantik Invarianten Vor und Nachbedingungen etc Diagram Interchange XMI Austausch der grafischen Modellreprasentation z T uneinheitlich implementiert 465 504 Standard Meta Object Facility MOF MOF Standard der Object Management Group zur Metamodellierung basiert auf UML Klassendiagrammen Varianten Complete MOF CMOF Gesamter Sprachumfang von MOF Essential MOF EMOF M e E Minimale Untermenge von MOF um Meta Object Facility Metamodelle beschreiben zu k nnen e Weitestgehend kompatibel zu Ecore aus dem Eclipse Modeling Framework EMF 466 504 Bildquelle http www omg org mof EMOF 467 504 EMOF Klassen http www omg org mof Domanenspezifische Sprache Definition Dom nenspezifische Sprache Domain specific Language DSL Sprachen die auf eine spezielle Anwendungsdomane zugeschnitten sind A Programmier sprache i D E n oO 5 DSL Ausdrucksstarke 468 504 They offer substantial gains in expressiveness and ease of use compared with general purpose programming languages in their domain of application Mernik u a 2005 DSLs tauschen Universalit t allgemeine Anwendbarkeit gegen Ausdrucksst rke in einer begrenzten Dom ne Arten von DSLs Interne DSLs Language Exploitation eingebettet in bestehende Sprachen Nutzung einer existierenden Wirtssprache Piggyback Spezialisierung und Erweiterung der Wirtssprache z B
62. ct Points im Gegensatz zu Function Points Erl utern Sie die CoCoMo Methode neue Version f r die Level Early Prototyping und Early Design Level Geben Sie die grunds tzliche Formel f r den Aufwand wieder Was bedeuten die verschiedenen Parameter 287 504 Wiederholungs und Vertiefungsfragen ll Um welche Art von Parametern handelt es sich bei den Faktoren die im Exponenten auftreten Wozu die Unterscheidung in die verschiedene Stufen Level Wie errechnet sich die Entwicklungsdauer aus dem Aufwand Wie wird eine Verk rzung der nominalen Entwicklungsdauer behandelt Vergleichen Sie die Function Point Methode mit CoCoMo N B Die bungsaufgaben sind weitere Beispiele relevanter Fragen Bei der Darstellung der Einflussfaktoren f r die Adjusted Function Points gen gt es ein paar Beispiele nennen zu k nnen und zu wissen worauf sie sich grunds tzlich beziehen System und nicht Entwicklungsteam prozess keinesfalls wird Gedachtnisleistung abgepr ft das gilt auch f r die Einflussfaktoren von CoCoMo 288 504 Wiederholungs und Vertiefungsfragen Ill Bei der Darstellung von Function Points und CoCoMo interessieren nicht die absoluten Zahlen aber sehr wohl der grunds tzliche Aufbau der Formeln 289 504 Entwurfsmuster Entwurfsmuster Kategorien von Entwurfsmustern Bestandteile eines Entwurfsmusters Entwurfsmuster Singleton Entwurfsmuster Adapter Entwurfsmuster Command Ent
63. d in die Entwickler der benutzerorientierten Dokumentation die Schulung von Benutzern Unterst tzung der Benutzer in ihren ersten Verwendungen des Produkts und Reaktion auf Benutzer Feedback investiert Man sollte sich an diesem Punkt jedoch auf den Feinschliff die Konfiguration Installation und Usability Aspekte beschr nken G nzlich neue Erweitungen sollten durch einen nachfolgenden separaten Entwicklungszyklus realisiert werden Die Ubergabephase kann trivial sein Software und Handbuch wird auf einen Server im Internet gelegt oder auch sehr aufw ndig und kompliziert Ersetzung einer Flugaufsichts Software Empfohlene Anzahl von Iterationen nach Kruchten 1998 och Komplexit t niedrig normal Konzeption Elaboration Konstruktion berga be Summe wle RFF Oo Ole N N e OIN WwW ej 7 46 504 Bewertung des RUPs bernimmt vom Spiralmodell die Steuerung durch Risiken Konkretisiert die Aktivit ten Spiralmodell ist ein Meta Modell nderungen der Anforderungen sind leichter einzubeziehen als beim Wasserfallmodell Projekt Team kann im Verlauf hinzulernen Haupts chlich Konstruktionsphase kann inkrementell ausgestaltet werden 47 504 Iterativ ist nicht gleich inkrementell Bei der iterativen Entwicklung werden Entwicklungsschritte wiederholt ausgef hrt Bei der inkrementellen Entwicklung geschieht dies auch jedoch immer um eine neues Release auf Basis eines vorherigen zu bauen Letz
64. d xptr while true Task t queue get t solve oO AN A oT A W N 10 12 entry point of producer thread 13 void producer void ptr 14 Task t 15 int data intx ptr 16 while true 7 4 t define data 18 queue put t 19 wait 2 2 21 338 504 Monitor Object include Mutex_Guard h 2 include Task h 3 include Condition h 4 class Queue_Monitor 5 public 6 Queue_Monitor int capacity 7 Queue_Monitor 8 Task get 9 blocks if no task available 10 void put Task t 1 blocks if no space left 12 private 13 Mutex mutex monitor lock 14 Condition not_full wait for queue no longer full 15 Condition not_empty wait for queue no longer empty 16 Task tasks 17 int size max _size 18 339 504 Monitor Condition ifndef CONDITION_H 2 define CONDITION_H 3 include lt pthread h gt 4 include Mutex h 5 class Condition 6 7 public 8 Condition Mutex amp m Creates the Condition 9 Condition Destroys the Condition 10 void wait Puts executing thread to sleep 11 void notifyAll Wakes up all sleeping threads 12 private 13 pthread_cond_t condition 14 Mutex amp mutex 15 16 endif 340 504 Monitor Object include Monitor h 1 2 3 Queue_Monitor Queue_Monitor int capacity 4 size 0 max_size capacity 5 not_full mutex not_empty mutex 6
65. daten und event neue Suche Erstellen der nichtabgedeckten Funktionalit t Zusammenstellen des Systems aus Komponenten mit Verbindungscode Glue Code 372 504 Komponentenmodelle Sicherstellen der Interoperabilit t Standards f r e Schnittstellen e Schnittstellenbeschreibung spezielle Schnittstellen Interaktion zwischen Komponenten e Informationen zur Verwendung Namensregeln Individualisieren Zugriff auf Metadaten Einsatz Verpackung Dokumentation Evolutionsunterst tzung 376 504 Beispiele f r Komponentenmodelle im weiteren Sinn e Anwendungen in einem Betriebssystem e Plugins Verbunddokumente Office Dokumente mit OLE HTML im engeren Sinn CORBA COM JavaBeans OSGI 377 504 Eigenschaften erfolgreicher Komponentenmodelle Infrastruktur mit guter Basisfunktionalit t Komponenten werden von unterschiedlichen Herstellern angeboten und von Kunden eingesetzt Komponenten von verschiedenen Anbietern arbeiten in einer Installation zusammen Komponenten haben eine Bedeutung f r den Klienten 379 504 Allgemeine Dienste meist durch Komponentenmodelle als Schnittstelle festgelegt Anbieter der Komponentenmodelle bietet auch diese Komponenten an besonders wichtig f r verteilte Systeme Beispiele Verzeichnisdienst Persistenz Nachrichtendienst Transaktionsmanagement Sicherheit 380 504 Schnittstellen e Schnittstellen e
66. ddison Wesley 1998 Lienert 1973 LIENERT G A Verteilungsfreie Methoden in der Biostatistik Meisenheim am Glan Germany Verlag Anton Hain 1973 wird leider nicht mehr aufgelegt Ludewig und Lichter 2006 LUDEWIG Jochen LICHTER Horst Software Engineering Grundlagen Menschen Prozesse Techniken dpunkt verlag 2006 McCabe 1976 McCaBE T A Software Complexity Measure In IEEE Transactions on Software Engineering 2 1976 Nr 4 S 308 320 499 504 47 48 49 50 51 52 53 54 55 56 57 58 Mernik u a 2005 MERNIK M HEERING J SLOANE A M When and how to develop domain specific languages In ACM Computing Surveys 37 2005 Nr 4 S 316 344 Mills u a 1987 Mirzs H D DYER M LINGER R Cleanroom Software Engineering In IEEE Software 4 1987 September Nr 5 S 19 25 Moore u a 2009 Moore David S MCCABE George P CRAIG Bruce A Introduction to the Practice of Statistics sixth edition W H Freeman and Company 2009 M ller 2006 MULLER Matthias M Do Programmer Pairs make different Mistakes than Solo Programmers In Conference on Empirical Assessment In Software Engineering April 2006 OSGI Alliance OSGI ALLIANCE OSGI URL http www osgi org Main HomePage Parker 1995 PARKER Burton G Data Management Maturity Model July 1995 500 504 Pichler 2008 PICHLER Roman Scrum Agiles Projektmanagement erfolgreich eins
67. den 141 504 bersicht ber U ntersuchungsmethoden Art der Frage m gliche Kontrolle Fokus auf Gegenwart Experimente wie warum ja ja Umfragen wer was WO nein ja und Erhebungen wie viele wie sehr Archivarische wer was WO nein ja nein Analyse wie viele wie sehr Geschichte wie warum nein nein Fallstudien wie warum nein ja Quelle COSMOS Corporation erl utert von Yin 2003 142 504 Bestandteile eines Experiments 1 Festlegung der Ziele Aspekte Objekt der Studie z B Entwurf Codierung Test Zweck der Studie z B Vergleich Analyse Voraussage Fokus der Studie z B Effektivit t Effizienz Standpunkt z B Praktiker Forscher Kontext z B Erfahrung der Teilnehmer verwendete Elemente Umgebung Kontext unabh ngige Variablen Fokus abh ngige Variablen 144 504 Bestandteile eines Experiments 2 Formulierung einer testbaren Hypothese Methode M ist geeignet f r Aufgabe A versus Methode M ben tigt weniger Zeit als Methode N um Aufgabe A zu erledigen Null Hypothese Negation der Hypothese Methode M ben tigt die gleiche oder mehr Zeit als N um Aufgabe A zu erledigen Wenn Null Hypothese widerlegt ist wird Hypothese best tigt mit einem gewissen Grad an Konfidenz 145 504 Bestandteile eines Experiments 3 Aufbau des Experiments e Korrelation versus Kausalitat Validit t e interne es werden tats chlic
68. den auf die besonders relevanten Elementarprozesse f r das Hinzuf gen von Referenzen die Suche mittels Taxonomie und einem Suchformular F r den Benutzer von au en sichtbar bestehen die internen Datenbest nde aus zwei logisch getrennten Inhalten Zum einen sind das die Referenzen die selbst in verschiedene Untergruppen zerfallen Zeitschriftenartikel Buch Konferenzbeitrag etc zum anderen k nnen wir die Taxonomie als Meta Daten erkennen Externe Datenbest nde auf die das System zugreift sind nicht zu erkennen Online Bibliographie Neuen Artikel einpflegen Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe 2 Home Prev Submitting References Submitting a reference to an article in a journal Please fill out all of the mandatory fields We appreciate if you fill in the optional fields as well We are especially interested in the abstract and your classification according to the taxonomy For further questions we might also need your e mail address For an example on how to fill out a form click here After you have filled out the form click the submit button below Your e mail address Mandatory fields Please use and as an author separator as in E Chikofksy and James Cross Authors I Title Journal Year Optional fields Volume Number Pages EEE Month I 228 504 Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe If the contents of your ref
69. det Code Inspektion erg nzt durch Korrektheits berlegungen nicht streng formal Zertifizierungsteam e verantwortlich f r statistische Tests 51 504 Cleanroom Development Erfahrungen Cobb und Mills 1990 weniger Fehler als bei traditioneller Entwicklung bei vergleichbaren Kosten 52 504 Agiles Manifest We are uncovering better ways of developing software by doing it and helping others do it Through this work we have come to value Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is while there is value in the items on the right we value the items on the left more http agilemanifesto org 53 504 Prinzipien der agilen Entwicklung Kundenzufriedenheit durch schnelle Auslieferung nutzbarer Software funktionsf hige Software wird h ufig ausgeliefert eher Wochen als Monate funktionsfahige Software ist das Ma f r Fortschritt auch sp te Anderungen der Anforderungen sind willkommen enge tagliche Kooperation von Geschaftsleuten und Entwicklern Konversation von Angesicht zu Angesicht ist die beste Kommunikationsform gemeinsamer Ort Projekte bestehen aus Menschen denen man vertrauen sollte kontinuierliches Streben nach technischer Exzellenz und gutem Design Einfachheit selbstorganisierte Teams
70. dleSet activate_handle Handle handle nothing to be done 356 504 void HandleSet handle_events obtain the handle Handle handle select this is the handler that handles the event EventHandler handler handle deactivate_handle handle we deviate from the leader follower pattern here and promote the new leader right here and not in the EventHandler threadpool gt promote_new_leader handle the request by delegating to the EventHandler handler handle_event activate_handle handle 357 504 awaits and handles a request listening on all sockets 2 in readSockets 3 Handle HandleSet select 4 oo oo N 0O A 10 12 13 14 16 17 18 20 21 22 23 local copy of handles needed because select overwrites its arguments Poco Net Socket SocketList readSockets handles waits for any request at all readSockets endless loop because of timeout while true int ready_sockets Poco Net Socket select readSockets writeSockets exceptSockets 100000 readSockets now contains all sockets where requests are available ready_sockets tells how many sockets exist for which we have requests if ready_sockets gt 0 break we handle only one of the requests in readSockets the others will be served later by the next thread return the handle connection for that request return Poco Net ServerSocket readSockets
71. e Bundle Manifest Bundle Name Hello World Bundle SymbolicName org wikipedia helloworld Bundle Description A Hello World bundle Bundle ManifestVersion 2 Bundle Version 1 0 0 Bundle Activator org wikipedia Activator Export Package org wikipedia helloworld version 1 0 0 Import Package org osgi framework version 1 3 0 409 504 Bundle Name Defines a human readable name for this bundle Simply assigns a short name to the bundle Bundle SymbolicName The only required header this entry specifies a unique identifier for a bundle based on the reverse domain name convention used also by the java packages Bundle Description A description of the bundle s functionality Bundle ManifestVersion This little known header indicates the OSGi specification to use for reading this bundle Bundle Version Designates a version number to the bundle Bundle Activator Indicates the class name to be invoked once a bundle is activated Export Package Expresses what Java packages contained in a bundle will be made available to the outside world Import Package Indicates what Java packages will be required from the outside world in order to fulfill the dependencies needed in a bundle Lebenszyklus eines Bundles INSALLED RESOWVED UNINSALLED Start SAR ING ACTIVE STOPPING 410 504 INSTALLED RESOLVED STARTING ACTIVE STOPPING UNINSTALLED Bildquelle Faisal Akeel
72. e hinzugef gt Zus tzliche KPAs Level 2 Measurement and Analysis Level 3 Software Product Engineering verfeinert Risk Management Decision Analysis and Resolution Level 4 5 nur Restrukturierungen 82 504 Pers nlicher Softwareprozess PSP Watts S Humphrey 1995 SEI Anwendung von CMM auf einen Entwickler Schwerpunkte Planung Qualit t e Vorteile Schneller umsetzbar e Konkrete Techniken angebbar e Verbesserungen sofort wahrnehmbar h here Motivation 83 504 PSP Evolution Cyclic Personal Process PSP3 Personal D Quality m A Managmt Personal Planning Process Baseline N Personal Process 84 504 PSPO Baseline Personal Process PSPO Bisherige Vorgehensweise plus Messung e Zeit pro Phase e gefundene gemachte Fehler pro Phase e Zeit fur Fehlerbehebung Formulare Projektplan Zeiten Fehler PSPO 1 plus Codierrichtlinien Messung der LOC Ver nderungen Formular Prozessverbesserung 85 504 PSP1 Personal Planning Process PSP1 PSPO 1 plus Gr ensch tzung mit PROBE PROxy Based Estimating e Sch tzung basiert auf Objekten Entwurf e Unterscheidet Objekte nach Typ Gr e Methoden e Daten sammeln Regressionsanalyse e Formular Testbericht PSP1 1 PSP1 plus Aufgabenplanung Zeitschatzung planung Projektverfolgung Earned Value Tracking 86
73. e some basic strong DOCU very little little some basic strong CPLX very little little some basic strong very strong DATA small moderate large very large gt Punkte 5 6 7 8 9 11 12 13 15 16 18 19 21 EMRPcx 0 49 0 60 0 83 1 00 1 33 1 91 2 12 271 504 DATA This cost driver attempts to capture the effect large test data requirements have on product development The rating is determined by calculating D P the ratio of bytes in the testing database to SLOC in the program The reason the size of the database is important to consider is because of the effort required to generate the test data that will be used to exercise the program In other words DATA is capturing the effort needed to assemble and maintain the data required to complete test of the program Effort Multiplier PDIF Platform Difficulty TIME Execution time constraints Auslastung CPU STOR Main storage constraints Auslastung RAM PVOL Platform volatility H ufigkeit von Plattform nderungen Grad low nominal high very high extra high Punkte 2 3 4 5 6 PDIF TIME lt 50 lt 65 lt 80 lt 90 STORE lt 50 lt 65 lt 80 lt 90 PVOL very stable stable somewhat volatile volatile gt Punkte 8 9 10 12 13 15 16 17 EMpo r 0 87 1 00 1 29 1 81 2 61 272 504 Effort Multiplier PERS Personnel Capability ACAP Analyst capability gemessen als Perzentil PCAP Programmer capability gemessen als Perzentil PCON Personnel continuity gemessen durch Personalf
74. eatment Objekt und Subjekt Test und experimenteller Fehler Erlautern Sie verschiedene Sampling Methoden und diskutieren Sie ihre Vor und Nachteile Erlautern Sie die generellen Prinzipien Randomization Blocking Balancing und Replication eines kontrollierten Experiments e Beschreiben Sie verschiedene Versuchsaufbauten in Abh ngigkeit der Anzahl der Subjekte und Objekte eines Experiments Beschreiben Sie die Arten von Validit ten einer empirischen Beobachtung Geben Sie zu jeder Art potentielle Probleme an 175 504 Statistik bei kontrollierten Experimenten Statistik bei kontrollierten Experimenten Hypothesen und Stichproben Verteilungen Experimente mit einem Sample Experimente mit zwei Samples Verteilungsfreier U Test Wiederholungsfragen 176 504 Hypothese und statistischer Test Definition Statistische Hypothese Aussage ber eine statistische Population die man auf Basis beobachteter Daten zu best tigen oder zu falsifizieren versucht Hypothese Die durchschnittliche Lange von Methoden in Java ist gr er als 50 loc 177 504 Vorgehen Nimm an dass die zu testende Hypothese wahr ist Untersuche die Konsequenzen dieser Annahme in Bezug auf die Sampling Verteilung die von der Wahrheit der Hypothese abh ngt Falls die beobachteten Daten eine gro e Eintrittswahrscheinlichkeit haben ist die Hypothese best tigt Falls die beobachteten Daten eine sehr kleine Eint
75. eferung Jede Iteration wird durch ein formales Review abgeschlossen Die Auspr gung der einzelnen Aktivit ten ist phasenabh ngig In der Konzeptphase z B dient eine Implementierung lediglich einem Konzeptbeweis Machbarkeit kritischer Anforderungen oder einer Demonstration ein Benutzerschnittstellenprototyp Es gen gt hierf r eine weniger aufw ndige prototypische Implementierung der Prototyp sollte anschlie end weggeworfen werden Der Aufwand jeder Aktivit t variiert also in den Phasen Dies wird durch die Kurven im Schaubild veranschaulicht Die Gesch ftsmodellierung beispielsweise erzeugt in der Konzeptionsphase naturgem einen hohen Aufwand hat in der Ubergabephase aber keine Bedeutung mehr Alle Fl chen gemeinsam ergeben den Gesamtaufwand des Projekts Die Summe der Fl chen pro Spalte ist der Aufwand pro Iteration Die Summe der Fl chen pro Zeile ist der Aufwand pro Aktivit t Die Hauptaktivit ten sind Gesch ftsmodellierung optional Anforderungsanalyse Entwurf Implementierung Test Auslieferung Die Gesch ftsmodellierung dient dazu eine gemeinsame Sprache f r die unterschiedlichen Gruppen Softwareentwickler und Betriebswirte zu finden und die Software Modelle auf die zugrunde liegenden Gesch fsmodelle zur ckzuf hren Die Gesch ftsprozesse werden durch so genannte Gesch fts Anwendungsf lle dokumentiert Sie zielen darauf ab ein gemeinsames Verst ndnis welche Gesch ftsprozesse in der Organisation unterst tzt
76. effective and or automated are start up back up and recovery procedures 0 Is the system designed for multiple installations in different organizations 2 Is the application designed to facilitate change and ease of use by the user 0 254 504 FP Gewichtete Function Points TDI Total Degree of Influence Summe der Bewertungen 0 14 x5 70 VAF Value Adjustment Factor TDI 100 0 65 Gesamteinflussfaktor 65 135 AFP Adjusted Function Points UFP VAF Beispiel TDI 14 VAF 14 100 0 65 0 79 AFP 28 0 79 23 es wird stets aufgerundet 255 504 Kritik an der Function Point Methode Einwand gegen Systemmerkmale einige der Systemmerkmale sind heute eher anachronistisch durch Multiplikation von VAF und UAF findet eine fragw rdige Vermengung von technischen Faktoren und funktionalem Umfang sowie von quantitativen und qualitativen Aspekten statt VAF bringt kaum praktischen Nutzen e COCOMO verwendet UAF als EingangsgroBe e COCOMO hat eigene technische und organisatorische Gewichtsfaktoren AFP sind heute eher unbedeutend im Gegensatz zu UFP bei Angaben von Function Points nachfragen AFP oder UFP 256 504 Kritik an der Function Point Methode Allgemeinere Einw nde sehr stark auf Informationssysteme bezogen bertragbarkeit auf andere Arten wie z B reaktive Systeme oder Compiler fragw rdig die Komplexit t der Anfragen
77. egine ROHNERT Hans SOMMERLAD Peter STAL Michael Pattern oriented Software Architecture A System of Patterns Bd 1 Wiley 1996 Chidamber und Kemerer 1994 CHIDAMBER S R KEMERER C F A Metrics Suite for Object Oriented Design In IEEE Transactions on Software Engineering 20 1994 Nr 6 S 476 493 Christensen 2007 CHRISTENSEN Larry B Experimental Methodology 10th edition Pearson International Edition 2007 ISBN 0 205 48473 5 494 504 Clements und Northrop 2001 CLEMENTS Paul NORTHROP Linda M Software Product Lines Practices and Patterns Addison Wesley August 2001 ISBN 0201703327 Cobb und Mills 1990 Coss R H MILLS H D Engineering Software Under Statistical Quality Control In IEEE Software 7 1990 Nr 6 S 44 54 Dzidek u a 2008 DZIDEK Wojciech J ARISHOLM Erik BRIAND Lionel C A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance In IEEE Transactions on Software Engineering 34 2008 May June Nr 3 Endres und Rombach 2003 ENDRES Albert ROMBACH Dieter A Handbook of Software and Systems Engineering Addison Wesley 2003 495 504 25 26 27 28 29 30 31 32 33 34 35 Favre 2004 Favre J M Foundations of Meta Pyramids Languages vs Metamodels Episode Il Story of Thotus the Baboon In BEZIvIN J Hrsg HECKEL R Hrsg Language Engineering for Model Driven Software Deve
78. egration Basis Life Cycle Tools moderat integriert weitergehende reife Life Cycle Tools moderat integriert weitergehende proaktive Life Cycle Tools gut integriert mit Prozessen Methoden und Wiederverwendung SITE Telefon prinzipiell vorhanden und Post individuelles Telefon und Fax E Mail niedrige Bandbreite elektronische Kommunikation mit groBer Bandbreite elektronische Kommunikation mit groBer Bandbreite gelegentliche Videokonferenzen interaktive Multimedia 276 504 Effort Multiplier SCED Schedule Es besteht Notwendigkeit den Zeitplan zu straffen bzw es wird mehr Zeit als notwendig einger umt SCED Verk rzung bzw Verl ngerung des nominalen Zeitplans 75 85 100 130 160 EMscep 143 114 1 00 1 00 1 00 277 504 This rating measures the schedule constraint imposed on the project team developing the software The ratings are defined in terms of the percentage of schedule stretch out or acceleration with respect to a nominal schedule for a project requiring a given amount of effort Accelerated schedules tend to produce more effort in the later phases of development because more issues are left to be determined due to lack of time to resolve them earlier A schedule compress of 74 is rated very low A stretch out of a schedule produces more effort in the earlier phases of development where there is more time for thorough planning specification and validation A stretch out of 160
79. eine Modelltheorie Springer 1973 502 504 Stahl u a 2007 STAHL Thomas V LTER Markus EFFTINGE Sven HAASE Arno Modellgetriebene Softwareentwicklung Techniken Engineering Management zweite Auflage dpunkt verlag 2007 Symons 1988 Symons C R Function Point Analysis Difficulties and Improvements In TSE 14 1988 Jan Nr 1 2 11 Szyperski u a 2002 SZYPERSKI Clemens GRUNTZ Dominik MURER Stephan Component Software Second edition Addison Wesley 2002 ISBN 0 201 74572 0 Tichy 1998 TicHy Walter Should computer scientists experiment more In IEEE Computer 31 1998 Mai Nr 5 S 32 40 Winner u a 1991 WINNER B J BROWN Donald R MICHELS Kenneth M Statistical Principles in Experimental Design 3rd edition McGraw Hill 1991 Series in Psychology 503 504 69 Wohlin u a 2000 WOHLIN Claes RUNESON Per MAGNUS C OHLSSON Martin H und REGNELL Bj rn WESSLEN Anders Experimentation in Software Engineering An Introduction Kluwer Academic Publishers 2000 ISBN 0 7923 8682 5 70 Yin 2003 Y n Robert K Applied Social Research Methods Series Bd 5 Case Study Research 3rd edition SAGE Publications 2003 ISBN 0 7619 2553 8 504 504
80. eit der Nullhypothese h chstens mit einer Wahrscheinlichkeit von a z B 1 oder 5 vorkommen Geh rt das gefundene Stichprobenergebnis zu diesen Ergebnissen ist das Stichprobenergebnis praktisch nicht mit der Nullhypothese zu vereinbaren Wir entscheiden uns deshalb daf r die Nullhypothese abzulehnen und akzeptieren die Alternativhypothese als Erkl rung f r unser Untersuchungsergebnis Bortz und D ring 2006 Laut Tabellierung von N 0 1 ist die Fl che von oo 1 41 0 9207 Beispieluntersuchung Hypothese Pair Programming unterscheidet sich in durchschnittlicher Fehlerdichte oe von Single Programming Design Object Anforderungsspezifikation Subjects 31 professionelle Entwickler Blocking Treatment X eine Gruppe 10 x 2 wendet Pair Programming an Treatment Y eine Gruppe 11 x 1 wendet Pair Programming nicht an ein Faktor zwei Treatments 191 504 Experiment mit zwei Samples t Test Gegeben Zwei unabh ngige Samples X xX1 0 Xn mit Durchschnitt x und Varianz 5 Y y1 Y2 Ym mit Durchschnitt y und Varianz s Ho Mittelwerte von X und Y sind gleich ux uy 0 Annahmen Population zu X ist normalverteilt mit Durchschnitt u und Varianz 02 Population zu Y ist normalverteilt mit Durchschnitt uy und Varianz oy und go o Aber Varianz 02 von X und Y ist unbekannt 192 504 Experiment mit zwei Samples t Test Mittelwert von x
81. ektleiters schl pft Ihr bekommt ein Budget und harte Anforderungen an Qualit t und Projektdauer Dann k nnt ihr Entwickler einstellen und beauftragen verschiedene Aktivit ten zu bernehmen um die Anforderungen zu erheben die Architekur zu entwerfen zu implementieren und zu testen Es gewinnt wer in den vorgegeben Grenzen der Dauer und Qualit t bleibt Jeder lernt dazu durch das selbstst ndige Spielen am SESAM Simulator und durch Feedback von mir zu seinen Entscheidungen im Projekt Die Aufgabe ist eine echte Herausforderung bei der man viel lernen kann zur Durchf hrung eines Software Projekts ohne dass man Gefahr l uft viel echtes Geld zu versenken Entwicklungsprozesse e alternative Software Entwicklungsprozesse z B Clean Room und Extreme Programming e Capability Maturity Model Spice und Bootstrap e Prozessverbesserungen e Pers nlicher Prozess e Literatur Balzert 2008 Bunse und von Knethen 2002 Kneuper 2006 Siviy u a 2007 Softwaremetriken e was ist eine Metrik e Messtheorie e Skalen e Prozess Produkt und Ressourcenmetriken Literatur Fenton und Pfleeger 1998 Kosten und Aufwandssch tzung e insbesondere Function Points und CoCoMo I und Il e Literatur Poensgen und Bock 2005 Boehm u a 2000 Komponentenbasierte Entwicklung e Eigenschaften Vor und Nachteile e Komponentenmodell e Schnittstellen und Kontrakte e Managementfragen e Rahmenwerke e existierende Komponentensysteme z B NET
82. el Driven Architecture MDA UML MOF 462 504 Standard Model Driven Architecture MDA MDA Ansatz der Object Management Group OMG zur modellgetriebenen Entwicklung mit den Zielen Interoperabilit t Portabilitat oe Wiederverwendbarkeit Verbindet verschiedene OMG Standards ug Meta Object Facility MOF m Ei Unified Modeling Language UML CORBA X Common Warehouse Model CWM reitectury oe Query Views Transformations QVT x XML Metadata Interchange XMI uc WS Sta 463 504 Bildquelle http www omg org Model Driven Architecture PSM gt PSM mapping 464 504 Computation Independent Model CIM e Modell der Dom ne e Enth lt die Anforderungen an das zu entwickelnde System Platform Independent Model PIM e Modell der Implementierung unabh ngig von der Zielplattform e Grundlage f r die Entwicklung eines Systems auf verschiedenen Zielplattformen Platform Specific Model PSM e Erg nzt das PIM mit Details zu einer bestimmten Plattform e Evtl zus tzlich Platform Model zwischen PIM und PSM Code e Ausf hrbarer Quellcode Standard UML 2 x UML Infrastructure Grundlagen der abstrakten Syntax z B Klassen Assoziationen Multiplizitaten UML Superstructure Erweiterungen der UML Infrastructure um Elemente f r spezielle Modellierungsaufgaben z B Komponenten Anwendungsf lle Aktivit ten Object Constraint Language OCL Beschreibung der statis
83. el lassen sich kaum fr hzeitig erkennen Entwicklung beim Kunden wird ignoriert 17 504 V Modell von Boehm 1979 Zeit Anwendung amp Support Konzept Konzeptvalidierung Projektplan amp Anforderungen Installation amp Betriebstest Anforderungen Validierung Basel eS o aseececcedonose pera Verifikation System Akzeptanztest entwurf Modul Integration amp entwurf Systemtest Cad Klassen oge test 18 504 Das V Modell ist kein eigenst ndiges Prozessmodell im eigentlichen Sinn Die Produkte im V Modell werden wie im Wasserfallmodell streng sequenziell erstellt Es f gt dem Wasserfallmodell lediglich eine zus tzliche strukturelle Sicht hinzu n mlich dass f r jedes zu erstellende Dokument ein entsprechender Test existieren und durchgef hrt werden soll Das V Modell sieht sowohl Verifikationen als auch Validierungen vor Validierung Es wird das richtige Produkt erstellt Verifikation Das Produkt wird richtig erstellt Eine weitere Konsequenz des V Modells f r die konkrete Projektplanung ist dass man die Test und Validierungsaktivit ten fr her als die tats chliche Durchf hrung der Aktivit t vorbereiten kann Beispielsweise kann der Akzeptanztest vorbereitet werden sobald man die Anforderungen kennt Auf diese Weise k nnen Aktivit ten bei einem Projektteam parallelisiert werden Der Tester kann Testf lle f r den Akzeptanztest entwickeln auch wenn noch keine Implemen
84. em Menge der Ereignisse und Registration Annahmen ber die Reihenfolge in der Teile erstellt und kombiniert werden nicht zueinander passende Annahmen ber den Konstruktionsprozess Umwege machten Konstruktionsprozess aufw ndig und kompliziert 403 504 Wiederholungs und Vertiefungsfragen Was ist eine Komponente Was ist die Idee der komponentenbasierten Entwicklung Welche Ziele verfolgt sie Diskutieren Sie Vor und Nachteile ma gefertigter Software versus Software von der Stange Was ist ein Komponentenmodell Was wird von einem solchen blicherweise festgelegt bzw zur Verf gung gestellt Was ist eine Schnittstelle und welche Bedeutung kommt diesem Konzept im Kontext komponentenbasierter Entwicklung zu Wie k nnen vorgefertigte Komponenten angepasst werden Welches Problem tritt bei Anpassung durch Vererbung und Redefinition auf Wie kann man mit ihm umgehen Was ist das Problem des Wiedereintritts Was versteht man unter Architektur Mismatch und welche Bedeutung hat er fur die komponentenbasierte Entwicklung 404 504 OSGI OSGI als Beispiel eines Komponentenmodells Architektur Manifest Lebenszyklus von Bundles Existierende Container Implementierungen Demo mit Eclipse Einfaches Bundle anlegen OSGI Konsole und Lebenszyklus Kooperierende Bundles Service Orientierung mit Bundles Wiederholungsfragen 405 504 Beispiel eines Komponenten Rahmewerks OSGI
85. enutzer oe schneller da keine mehr Freiheit f r den cross context Aufrufe Benutzer mehr Benutzer 388 504 Implementierung defensives Programmieren da keine Integrationstests existierenden Code wiederverwendbar machen Typen entferne anwendungsspezifische Methoden generalisiere Namen f ge Methoden hinzu um Funktionalit t zu vervollst ndigen f hre konsistente Ausnahmebehandlung ein f ge M glichkeiten hinzu die Komponenten an verschiedene Benutzer anzupassen binde ben tigte Komponenten ein um Unabh ngigkeit zu erh hen 390 504 Typ als vereinfachter Vertrag syntaktische berpr fung durch Compiler semantische berpr fung durch explizite Vor und Nachbedingungen bersetzungszeittest besser als Ladezeittest besser als Laufzeittest besser als kein Test Implementierungen d rfen Vorbedingungen abschw chen oder Nachbedingungen versch rfen 391 504 Vererbung Anpassen einer Komponente e durch Parametrisieren und Verbinden mit anderen Komponenten e durch Ableiten von Subtypen Arten e Implementierungsvererbung Schnittstellenvererbung Subtypen e Austauschbarkeit Liskovsches Substitutionsprinzip deklarative vs strukturelle Subtypen Vererbung von Parametertypen in Signatur foo T in Klasse T Invarianz selber Typ T Kontravarianz Supertyp von T Kovarianz Subtyp von T Mehrfachvererbung e Schnittstellenvererbung kein Problem e Implementier
86. enutzersicht 219 504 Definition Atomarizit tsprinzip Elementarprozess ist kleinste aus fachlicher Sicht sinnvolle in sich abgeschlossene Aktivit t Bsp Erfassung einer Kundenadresse auch ber mehrere Bildschirmmasken Definition Einmaligkeitsprinzip Elementarprozess gilt als einmalig einzigartig wenn er durch die ein oder ausgegebenen Daten oder durch die Verarbeitungslogik unterscheidbar ist aus Sicht des Anwenders Unterscheidung durch e besondere Verarbeitungslogik oder e verarbeitete Felder der Datenbest nde oder e verarbeitete Datenbest nde selbst Bsp Berechnung des Krankenkassenbeitrags einer privaten Versicherung f r Neu bzw Bestandskunden sind verschiedene Elementarprozesse FP Identifizieren der Funktionstypen Systemgrenze Kar ae interne Daten externe Daten 220 504 Funktionstypen von Elementarprozessen e Eingaben El External Input Eingabe f r ILF e Ausgaben EO External Output Ausgabe abgeleiteter Daten e Abfragen EQ External Inquiry reine Abfrage von Daten ohne Berechnung Ableitung Funktionstypen von Datenbest nden e Interner Datenbestand ILF Internal Logical File fachliche Daten die vom System selbst gepflegt werden anlegen ndern l schen e Externer Datenbestand auch Referenzdatenbestand ELF External Logical File fachliche Daten die vom System nur gelesen werden Definition Eingabe Hauptzweck internen Datenbestand pflegen oder Sy
87. erence is available via the web please add the link information here URL Keywords Your personal note to this reference Classification The classification of the article is important to support retrieval by users interested in a certain topic Therefore we are very much interested in getting the article classified And if you are the author there is no better expert to do it The classification list box below contains a hierarchy of bibliography related terms The indentation stressed by dots indicates the subclass relation Choose any item you find appropriate by clicking on it Clicking twice on the same item unselects it Note that a parent class is automatically selected if you select one of its subclasses Furthermore you can select different classes for the same reference by multiple choices Please be as specific as possible We tried to select terms that are as self explanatory as possible If something is not clear just see the general lescription of the taxonomy Reengineering_in_General Reengineering_Collections Introductions_to_Reengineering Fundamentals 229 504 Mit dieser Seite werden neue Referenzen hinzugef gt Dieser Elementarprozess hat als Hauptzweck die Eingabe Die Taxonomie selbst wird nicht betroffen Einzig der Datenbestand Referenzen wird ver ndert ber den Link Classification kann man sich die Taxnomie anzeigen lassen Wir betrachten dies als eigenen Elementarprozess
88. ersicht eindeutig bestimmbares nicht rekursives Feld das von der zu bewertenden externen Eingabe EI in einem internen Datenbestand ILF gepflegt wird Z hlen Sie 1 DET f r jedes aus Benutzersicht nicht rekursive Feld das die Systemgrenze kreuzt und gebraucht wird um den Elementarprozess abzuschlie en Beispiel Ein Texteingabefeld in dem der Nachname eines neuen Kunden eingegeben wird wird als 1 DET gez hlt Gegenbeispiel Eine Dateiauswahlliste in der beliebig viele Dateien von der Festplatte des Benutzers ausgew hlt werden k nnen ist rekursiv und muss somit gesondert gez hlt werden Z hlen Sie keine Felder die durch das System gesucht und oder in einem ILF gespeichert werden wenn die Daten nicht die Systemgrenze berqueren Z hlen Sie nur 1 DET f r die F higkeit eine Systemantwort als Meldung f r einen aufgetretenen Fehler aus der Anwendung heraus zu senden bzw f r die Best tigung dass die Verarbeitung beendet oder fortgesetzt werden kann Beispiel Bei Eingabe eines Datums soll z B das Format TT MM JJJJ eingehalten werden Gibt der Bearbeiter z B 12 03 1997 ein und best tigt seine Eingabe so erh lt er die Meldung neuer Datensatz gespeichert Gibt er hingegen 12 3 97 ein Jahreszahl nicht vierstellig so erh lt er die Fehlermeldung Fehler Bitte Datum korrigieren Nur ein DET wird f r diese F higkeit des Systems gez hlt Z hlen Sie nur 1 DET f r die M glichkeit eine Aktion durchzuf hren auc
89. ess the button below and you will receive all the references that contain the regular expressions you filled in Note that the search is case insensitive and that the entries to retrieve must have all specified attributes author keywords abstract Start searching Clear all inputs koschke informatik uni stuttgart de Feedback Copyright 1997 University of Stuttgart Germany Revision 1 6 Last modified Mon Jun 22 16 26 16 MET DST 1998 249 504 Auf dieser Seite k nnen Referenzen anhand von Stichw rtern gesucht werden Die Suche nach Stichw rtern kann auf verschiedene Felder der Referenzen eingeschr nkt werden Den Suchbereich kann man mit Hilfe einer Listbox f r jedes Stichwort ausw hlen Hier tritt die interessante und h ufig gestellte Frage auf wie Listboxen zu behandeln sind K nnen Sie auch einen Elementarprozess darstellen Poensgen und Bock 2005 geben hierauf die Antwort dass eben nicht Listboxen sondern Elementarprozesse bewertet werden Ob mit einer Listbox ein Elementarprozess zu werten ist h ngt vom Einzelfall ab Die Listbox hier repr sentiert zul ssige BibTeX Felder Damit werden keine Daten aus einem fachlichen Datenbestand dargestellt sondern Metadaten die ein korrektes Attribut im internen Datenbestand Referenzen beschreiben Die Function Point Methode verlangt dass bei einer Abfrage oder Ausgabe Daten oder Steuerinformationen ber die Anwendungsgrenze verschickt werde
90. estions we might also need your e mail address For an example on how to fill out a form click here After you have filled out the form click the submit button below Your e mail address Mandatory fields Please use and as an author separator as in E Chikofksy and James Cross Authors I Title Journal Year Optional fields Volume Number Pages EEE Month I 242 504 Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe If the contents of your reference is available via the web please add the link information here URL Keywords Your personal note to this reference Classification The classification of the article is important to support retrieval by users interested in a certain topic Therefore we are very much interested in getting the article classified And if you are the author there is no better expert to do it The classification list box below contains a hierarchy of bibliography related terms The indentation stressed by dots indicates the subclass relation Choose any item you find appropriate by clicking on it Clicking twice on the same item unselects it Note that a parent class is automatically selected if you select one of its subclasses Furthermore you can select different classes for the same reference by multiple choices Please be as specific as possible We tried to select terms that are as self explanatory as pos
91. etzen dpunkt verlag 2008 ISBN 978 3 89864 478 5 Poensgen und Bock 2005 POENSGEN Benjamin BOCK Bertram Die Function Point Analyse Ein Praxishandbuch Dpunkt Verlag 2005 ISBN 978 3898643320 Prechelt 2001 PRECHELT Lutz Kontrollierte Experimente in der Softwaretechnik Potenzial und Methodik Springer 2001 Pressman 1997 PRESSMAN Roger Software Engineering A Practioner s Approach Vierte Ausgabe McGraw Hill 1997 Reussner und Hasselbring 2009 REUSSNER R Hrsg HASSELBRING W Hrsg Handbuch der Software Architektur zweite Ausgabe dpunkt verlag 2009 Royce 1970 Royce W Managing the Development of Large Software Systems In Proceedings Westcon IEEEPress 1970 S 328 339 501 504 59 60 61 62 63 64 65 66 67 68 Schmidt u a 2000 SCHMIDT Douglas STAL Michael ROHNERT Hans BUSCHMANN Frank Pattern oriented Software Architecture Patterns for Concurrent and Networked Objects Bd 2 Wiley 2000 Siviy u a 2007 _ S v v Jeannine M PENN M L STODDARD Robert W CMMI and Six Sigma Partners in Process Improvement Addison Wesley 2007 SEI Series in Software Engineering ISBN 978 0 321 51608 4 Sneed 2004 SNEED Harry Vorlesungsskriptum Software Engineering Uni Regensburg Wirtschaftsinformatik Veranst 2004 Sommerville 2004 SOMMERVILLE lan Software Engineering Addison Wesley 2004 Stachowiak 1973 STACHOWIAK H Allgem
92. ext Mi verst ndnisse zwischen Kunden und Softwareentwickler sind sehr h ufig und k nnen zu teuren Fehlentwicklungen f hren Eine Marssonde bei deren Entwicklung europ ische und amerikanische Organisationen mitwirkten verfehlte ihr Ziel weil den Organisationen nicht bewusst war dass sie unterschiedliche metrische Systeme f r ihre Software zugrunde legten Die einen interpretierten einen Wert in Zentimetern die anderen in Zoll Inch Im Glossar beschreibt der Software Entwickler was die Begriffe des Kunden bedeuten ebenso wie seine eigenen speziellen Begriffe Der Kunde begutachtet das Glossar Damit definieren beide Partein ihr Vokabular Mi verst ndnisse sollen so minimiert werden Das Dom nenmodell oft auch konzeptuelles Modell genannt beschreibt die Begriffe Objekte der Anwendungsdom ne und ihre Relationen Eine Reihe der genannten Punkte wird sicherlich in Zusammenarbeit mit Betriebswirten ausgearbeitet Softwareentwickler haben eine Liebe zur Technologie bersehen jedoch leider oft die Wirtschaftlichkeit ihrer Ideen Mit ihr steht und f llt jedoch das Projekt Die Erstellung von Prototypen hat das Ziel m gliche technologische Risiken auszuschlie en dem Kunden ein konkretes Bild der m glichen Anwendung zu vermitteln Benutzerschnittstellenprototyp Anforderungen zu konkretisieren I know it when I see it und die Machbarkeit bestimmter Anforderungen zu demonstrieren Das Business Modell erl utert wie das System e
93. g quantitativer Aspekte Ziele setzen und uberwachen Prozessmessdaten werden aufgenommen archiviert analysiert Vorhersagbarkeit steigt Key Process Areas e Quantitative Prozesssteuerung Leistung des Prozesses berwachen Software Qualitatsmanagement Messbare Ziele f r Prozessqualitat 77 504 CMM Level 5 Optimizing Anderungsmanagement f r Technologie und Prozesse Feedback von Projekten zum Prozess st ndige Verbesserung Key Process Areas Defektvermeidung Analyse von Fehler Problemursachen Vermeiden erneuten Auftretens e Verwaltung von Technologieanderung neue Technologien bewerten evtl einf hren e Verwaltung von Prozess nderung kontinuierliche Verbesserung 78 504 Capability Maturity Model 70 60 50 Initial 40 E Repeatable 30 E Defined E 20 u E Optimizing 10 0 1995 1997 1999 2001 SEI Assessments Quelle SEI 79 504 Probleme mit CMM Management zu teuer Wenig verbreitet ca 10 15 Nur langsame Verbesserung ca 2 Jahre Level Neue Technologien nicht ber cksichtigt 80 504 Capability Maturity Model Management pe Quelle Parker 1995 81 504 Capability Maturity Model Integration CMMI Viele Maturity Model Varianten CMMI Integration SEI 2000 Angepasst an iterative Entwicklung Generische Ziel
94. g von Aufgaben und Belangen e Steigerung der Entwicklungseffizienz Generierung von redundantem Programmcode Wiederverwendung e Steigerung der Softwarequalit t Wohldefinierte Regeln f r Modelle Bew hrte Transformationen Homogener Programmcode e Interoperabilitat und Portabilit t Merkmale eines Modells nach Stachowiak 1973 Abbildung Repr sentation eines betrachteten Gegenstands bertragbarkeit bestimmter Beobachtungen am Modell auf modellierten Gegenstand Verk rzung Betrachtung der relevanten Attribute des betrachteten Systems im Modell f r bestimmte Betrachter irrelevante Attribute werden nicht repr sentiert Pragmatismus das Modell ist einem bestimmten Zweck zugeordnet der Zweck bestimmt Verk rzung und Abbildung 454 504 Modell und Metamodell Definition Ein Metamodell ist das Modell einer Menge von Modellen Favre 2004 Definition Ein Metametamodell ist das Modell einer Menge von Metamodellen 455 504 Ein Modell ist selbst ein Betrachtungsgegenstand und kann modelliert werden Ein Metamodell ist selbst wieder ein Modell und wird durch ein Metamodell beschrieben ein Metametamodell M3 Meta Metamodell lt lt instance of gt gt M2 Metamodell lt lt instance of gt gt M1 Modell lt lt instance of gt gt MO Objekte 456 504 Syntax und Semantik von Modellen Stahl u a 2007 start Date end Date ge
95. gssystem auf ein numerisches Beziehungssystem Abbildung von Eigenschaften von Objekten der realen Welt auf Zahlen oder Symbole Definition Messen Anwendung eines Ma es auf ein Objekt Definition Metrik Abstandsma math 95 504 Definitionen f r Software Metriken A quantitative measure of the degree to which a system component or process possesses a given variable IEEE Standard Glossary A software metric is any type of measurement which relates to a software system process or related documentation lan Summerville 96 504 Messen und Softwaretechnik Beschreibung kompakt und objektiv Beurteilung Vergleich Verbesserungen Vorhersage geordnete Planung Verbesserungen Fragen bei Ma en Repr sentanz Eindeutigkeit Bedeutung Skalierung 97 504 Darstellung als Zahl sinnvoll moglich viele Abbildungen moglich erhalten bei Transformationen welche Skala 98 504 Wor ber wir uns bei der Definition von Metriken Gedanken machen m ssen There are three important questions concerning representations and scales 1 How do we determine when one numerical relation system is preferable to another 2 How do we know if a particular empirical relation system has a representation in a given numerical relation system 3 What do we do when we have several different possible representations and hence many scales in the same numerical relation system Quest
96. h nur die Beziehungen zwischen unabh ngigen und abh ngigen Variablen gemessen z B Lerneffekte zeitliche Aspekte Auswahl der Teilnehmer externe bertragbarkeit z B Studenten versus Praktiker Identifikation aller unabh ngiger und abh ngiger Variablen Randomisierung viele B cher zu Standard Designs abh ngig von den Rahmenbedingungen 146 504 Bestandteile eines Experiments 4 Analyse und Validierung der Resultate Auswertung durch statistische Methoden Korrelationen und Regressionsanalyse Problem des geringen Datenumfangs parametrische statistische Tests setzen bestimmte Verteilung voraus meist nur nicht parametrische statistische Tests ad quat weil keine Verteilung voraus gesetzt wird insbesondere f r Nominal bis Ordinalskalen quantitative Analyse oft erg nzt durch qualitative Validierung e Befragungen der Teilnehmer um sicher zu stellen dass sie alle Fragen verstanden haben e Untersuchung statistischer Ausrei er Benchmarking schwierig weil Firmen ihre Daten ungern ver ffentlichen 147 504 Bestandteile eines Experiments 5 Replikation Wiederholung um Gl ckstreffer auszuschlie en Experiment muss detailliert beschrieben sein bedauerlicherweise schwer zu ver ffentlichen weil keine neuen Ergebnisse pr sentiert werden 148 504 Ethische Fragen keine Teilnahme ohne explizite Einwilligung kein Missbrauch Anonymit t muss gew
97. h wenn es viele Methoden gibt die denselben logischen Prozess ansto en Beispiel In einem Eingabeformular gibt es einen OK Button zum Absenden der Daten Die Tastaturkombination STRG S f hrt ebenfalls zum Senden der Daten Somit wird nur ein DET gez hlt Fortsetzung Z hlen von referenzierte Datenbest nden FTR Ein referenzierter Datenbestand FTR ist eine vom Benutzer definierte Gruppierung zusammengeh riger Daten oder Steuerungsinformationen in einem internen Datenbestand ILF die bei der Bearbeitung der externen Eingabe gelesen oder gepflegt wird Z hlen Sie 1 FTR f r jeden referenzierten Datenbestand der w hrend der Verarbeitung der externen Eingabe gelesen wird Beispiel Es werden durch eine externe Eingabe Produktdaten in einer Datenbank gespeichert Dazu werden die Produktbezeichnungen aus einer weiteren Datenbank ausgelesen die damit zus tzlich zu der zu aktualisierenden Produktdatenbank einen weiteren Datenbestand darstellt der jedoch nur gelesen wird Z hlen Sie 1 FTR f r jede ILF die w hrend der Verarbeitung der externen Eingabe gepflegt wird Beispiel Es wird zus tzlich zu den Aktionen des vorigen Beispiels eine Textdatei aktualisiert in der die Anzahl der Zugriffe auf die Datenbank verzeichnet wird Z hlen Sie nur 1 FTR f r jede ILF die w hrend der Verarbeitung der externen Eingabe gelesen und gepflegt wird Beispiel W rden die Informationen der Textdatei ebenfalls in der Datenbank gespeichert werden s
98. higher failure probabilities In essence the experiment falsified the basic assumption of the conventional theory namely that faults in program versions are statistically independent Tichy 1998 This is the first controlled experiment that investigates the costs of maintaining and the benefits of using UML documentation during the maintenance and evolution of a real nontrivial system using professional developers as subjects working with a state of the art UML tool during an extended period of time The subjects in the control group had no UML documentation In this experiment the subjects in the UML group had on average a practically and statistically significant 54 percent increase in the functional correctness of changes p 0 03 and an insignificant 7 percent overall improvement in design quality p 0 22 though a much larger improvement was observed on the first change task 56 percent at the expense of an insignificant 14 percent increase in development time caused by the overhead of updating the UML documentation p 0 35 Dzidek u a 2008 Beispiel von M ller 2006 Objective Comparison of program defects caused by programmer pairs and solo developers Design Analysis of programs developed during two counter balanced experiments Setting Programming lab at University Experimental Units 42 programs developed by computer science students participating in an extreme programming lab course Main Outcome Mea
99. hrt werden doppelt blind kein materieller oder sonstiger Gewinn Bezahlung Gehaltserh hung gute Note etc 149 504 Grenzen der experimentellen Forschung hoher Aufwand allerdings Lernen ohne Experimente ist auch teuer Abh ngigkeit von menschlichen Versuchsteilnehmern e Studenten haben m glicherweise nicht die Erfahrung Praktiker haben wenig Zeit Transferierbarkeit der Resultate e Software Projekte haben eine Unzahl m glicher Variablen e nicht alle sind kontrollierbar e und wenn sie kontrolliert sind treffen sie moglicherweise nicht auf andere Umgebungen zu 150 504 Kontrollierte Experimente Kontrollierte Experimente Begriffe Auswahl der Teilnehmer Aufbau von Experimenten G ltigkeit Threats to Validity Wiederholungsfragen 151 504 Theorie und Beobachtung Wohlin u a 2000 Experiment Theory er Ant gt cause effect construct Cause Effect Construct Construct Observation l treatment outcome construct Treatment Outcome Independent Dependent variables Experiment variables operation 152 504 Experiment Experiment Independent Experimental Dependent variables Unit variables Observational Study Experimental Dependent variables Unit 153 504 Definition Experiment An investigation in which the investigator applies some treatments to experimental units and then proceeds to observe the effect of the treatments on the
100. ill be served in the next loop iteration Handle connection Poco Net ServerSocket readSockets 0 acceptConnection handle the request by delegating to an EventHandler EventHandler handler connection handler handle_event 345 504 Synchronous Worker Service Layer Thread Pool Queuing Layer Request Queue Asynchronous Service Layer O thread Hardware Network 346 504 Kontext Ereignisgesteuerte Anwendung bei der mehrere Dienstanfragen verschiedener Klienten effizient durch mehrere Threads behandelt werden sollen die sich die Klienten teilen Beispiel Uber ein Netzwerk treffen Anfragen ein die parallel behandelt werden sollen Ein m glicher Entwurf Ein I O Thread horcht an einem Socket Kommt eine Anfrage an wird sie in eine Queue gesteckt Die Threads die die Anfrage bearbeiten warten bis Anfragen in der Queue sind entnehmen diese und bearbeiten sie Die Queue ist ein Monitor Der I O Thread ist ein Produzent und die Dienst Threads sind Konsumenten Nachteil Es findet ein Kontextwechsel zwischen I O und Dienstbearbeitung statt Entwurfsmuster Leader Followers nach Schmidt u a 2000 ThreadPool synchronizer join promote_new_leader demultiplexes EventHandler HandleSet handle_event get_handle EEE BEN handle_events deactivate_handle activate_handle select
101. index 17 bool insert_unlocked int i return false 18 if size_unlocked 100 19 ve Load 2 2 const int size_unlocked return index 1 22 330 504 Das Entwurfsmuster Thread Safe Interface vermeidet unn tiges Locking und Deadlocks durch Aufrufe eigener Methoden indem Synchronisation am Interface von der Implementierung getrennt wird Definition Embarrasingly parallel problem Ein Problem das ohne M he in parallel abarbeitbare Aufgaben zerlegt werden kann zwischen denen keine Abh ngigkeiten existieren 331 504 Beispiel Web Server der separate Seiten f r verschiedene Clients zur Verf gung stellt Thread Pool Pattern auch Replicated Workers Task Queue CCO O Sa Olloko Completed Tasks KA O 332 504 A simple thread pool The task queue has many waiting tasks blue circles When a thread opens up in the queue green box with dotted circle a task comes off the queue and the open thread executes it red circles in green boxes The completed task then leaves the thread pool and joins the completed tasks list yellow circles Author Colin M L Burnett Permission under license GFDL Thread Pool Pattern class Task gt publie 3 void solve 4 void define int i 5 private 6 int data 7 333 504 Thread Pool Pattern include Mutex Guard h 2 include Task h 3 include lt vector gt 4 include lt excepti
102. ing Business Rules o Intermediate Representations of Source Code Use of data bases Using graphs o Preventive Measures o Formal Methods o Reverse Specification Model Generatin Software Animation a Visualization of Parallel and Distributed Programs Daw Annahme Ein BibTeX Eintrag habe max 8 Eintr ge 230 504 Auf dieser Seite wird der Elementarprozess Suche ber die Taxonomie erkennbar Jeder Taxonomieeintrag stellt einen Link dar der alle Artikel auflistet die zu diesem Taxonomiepunkt geh ren oder zu Taxonomiepunkten die von diesem abgeleitet sind Die Taxonomie selbst wird beim Start dieser Seite vom System bereit gestellt Letzteres entspricht auf den ersten Blick dem Elementarprozess Taxonomie anzeigen Wir m ssen nun bestimmen ob dieser Elementarprozess von dem weiter oben diskutierten unterscheidbar ist Er unterscheidet sich nicht durch die Eingabe die Verarbeitung oder den referenzierten Datenbest nden jedoch in den Ausgabedaten W hrend beim ersten Elementarprozess Beschreibung der Taxonomie die einzelnen Taxonomiepunkte textuell beschrieben werden wird uns auf dieser Seite beim Klicken auf einen Taxonomiepunkt angezeigt welche Referenzen zu diesem Punkt existieren Ein weiteres Argument gegen das Vorliegen eines Elementarprozesses ist die Tatsache dass dieser Elementarprozess weder eigenst ndig noch abgeschlossen ist Er ist ganz offensichtlich integraler Bestandteil des Elementarp
103. ingesetzt wird um damit Profite zu erzielen RUP Elaborationsphase Elaboration Ziel Verst ndnis der Anwendungsdomane tragf hige Software Architektur Projektplan Eliminierung der Risiken Anwendungsfallmodell mind 80 fertig alle Anwendungsf lle und Aktoren sind identifiziert die meisten Anwendungsfallbeschreibungen wurden entwickelt zus tzliche nichtfunktionale Anforderungen und Anforderungen die nicht mit einem spezifischen Anwendungsfall assoziiert sind Beschreibung der Software Architektur ausf hrbarer Architekturprototyp 41 504 Die Elaborationsphase ist die kritischste Phase Hier entscheidet sich ob das System tatsachlich gebaut wird Der Engineering Anteil ist weitgehend erbracht Bis dahin halten sich die Kosten noch in Grenzen Nun schlieBen sich die teure Konstruktions und Ubergabephase an Die Aktivitaten der Elaborationsphase stellen sicher dass die Software Architektur die Anforderungen und Plane hinreichend stabil sind m gliche Anderungen sind antizipiert v llig ausschlie en lassen sie sich meist nicht und Risiken sind ausreichend betrachtet so dass Kosten und Zeitplan zuverl ssig gesch tzt werden k nnen Ab hier sollte man sich auf eine Projektdurchf hrung mit festem Preis einlassen k nnen In der Elaborationsphase wird ein ausf hrbarer Architekturprototyp in ein oder mehr Iterationen erstellt Die Anzahl der Iterationen h ngt vom Scope der Gr e der Risiken und dem
104. ion 2 is known as the representation problem Fenton und Pfleeger 1998 Skalen Skalenhierarchie 20 Prozent Verbesserung der Qualit t Dieser Kunde ist doppelt so zufrieden wie jener Heute doppelt so warm wie gestern Temperatur gestern 10 C heute 20 C Was ist Qualit t Null Wie zufrieden sind sie denn 10 C 20 C 3 5 denn 10 C 283 Kelvin 20 C 293 Kelvin Nominalskala Ordinalskala Intervallskala Rationalskala Absolutskala absoluter Vergleich 99 504 100 504 Skalenhierarchie Nominalskala 1 Nominalskala ungeordnete 1 1 Abbildung Transformationen beliebige 1 1 Operationen Statistiken H ufigkeit Beispiel Programmiersprachen Ada C C Java 101 504 Skalenhierarchie Ordinalskala 2 Ordinalskala dazu vollst ndige Ordnung Transformationen streng monoton steigend Operationen lt gt Statistiken Median Beispiel Priorit ten niedrig lt mittel lt hoch 102 504 Skalenhierarchie Intervallskala 3 Intervallskala dazu Distanzfunktion Transformationen M aM b a gt 0 Operationen Statistiken Mittelwert Standardabweichung Beispiel Temperatur 5 T Celsius 9 T Fahrenheit 32 103 504 Definition Metrik Metrik Distanzfunk
105. itsgraden Kriterium zweiseitig mit Signifikanzniveau a Ho ablehnen wenn to gt ta 2 n m 2 199 504 Beispielmessungen Treatment X Pair Programming Treatment Y kein Pair Programming i Treatment X x Treatment Y y 1 3 24 3 44 2 2 71 4 97 3 2 84 4 76 4 1 85 4 96 5 3 22 4 10 6 3 48 3 05 T 2 68 4 09 3 4 30 3 69 9 2 49 4 21 10 1 54 4 40 11 3 49 n 10 m 11 X 2 835 y 4 1055 S 0 6312 57 0 4112 200 504 Das sind fiktive Daten Beispielauswertung mit t Test u n 1 s2 m 1 s Sp V MAH 10 1 0 6312 11 1 0 4112 An 0 564 to x y XV atm _ 2835 4 1055 _ 055_ _5 642 0 564 42 Freiheitsgrade df 10 11 2 19 ta 2 n m 2 to 05 2 10 11 2 2 093 to 5 642 gt f0 05 2 10 11 2 2 093 Hp ablehnen 201 504 Siehe z B http www math unb ca knight utility t table htm f r eine Tabelle der Students t Verteilung Exakter U Test von Mann Whitney Gegeben zwei unabh ngige Samples x1 x2 X und y y2 Ym mit Ordinalskalenniveau Annahme Beide Samples stammen von Populationen mit der gleichen Verteilung Keine Annahme ber diese Verteilung Daten beider Samples werden vereinigt und geordnet Jeder Wert x wird mit jedem Wert y verglichen G Anzahl der yj lt x L Anzahl der yj gt x Summiere o G Y lt ien Gi L ie L U min L G 202 504 T Gruppe x b
106. ivate_handle 50 504 Serial ode mit mehreren Threads The thread pool where workers will join 2 ThreadPool threadpool firstport lastport 3 4 Create independent threads 5 std vector lt Poco Threadx gt threads 10 6 for int i 0 i lt threads size i 7 threads i new Poco Thread 8 9 10 std vector lt Worker gt workers u each of which will execute function Worker run 12 for int i 0 i lt threads size i 13 Workerx worker new Worker amp threadpool 14 workers push_back worker 15 threads il gt start worker 16 17 18 wait until all threads are finished 19 for int i 0 i lt threads size i 20 threads il gt join 351 504 Worker Thread 1 class Worker public Poco Runnable 2 public 3 Worker ThreadPoolx pool threadpool pool 4 virtual Worker 5 void run 6 endless loop stopped only by killing the process 7 while true 8 threadpool join id 9 10 11 private 12 ThreadPoolx threadpool 3 o 352 504 Thread Pool class ThreadPool 2 public 3 ThreadPool Poco UInt16 firstport Poco UInt16 lastport 4 5 void join 6 to join the thread pool to become a follower or leader 7 8 void promote_new_leader 9 a new leader is selected this method must be called 10 only by the current leader 11 private 12 P
107. kt wird der Benutzergemeinde bergeben Hauptziele im Einzelnen Benutzer sollten sich m glichst alleine zurecht finden Beteiligte sind berzeugt dass die Entwicklungs Baselines vollst ndig und konsistent mit den Evaluationskriterien f r die Vision sind Erreichung der letzten Produkt Baseline so schnell und kosteng nstig wie m glich 44 504 RUP bergabephase Transition Typische T tigkeiten Beta Test um das neue System gegen die Benutzererwartungen zu validieren Parallele Verwendung mit einem Legacy System das durch das Produkt ersetzt werden soll Konversion aller notwendigen Daten Dateien und Datenbanken Schulung aller Benutzer und Administratoren bergabe an Marketing Vertrieb und Verk ufer 45 504 Wenn ein Produkt ausgeliefert wird ergibt sich in der Regel schnell die Notwendigkeit neuer Releases um Probleme zu beseitigen Features zu realisieren deren Implementierung verschoben werden musste und Erweiterungen vorzunehmen Die Ubergabephase beginnt wenn eine Baseline reif genug ist um beim Endbenutzer installiert werden zu k nnen Das erfordert typischerweise dass zumindest eine n tzliche Teilmenge des Systems mit einer aktzeptablen Qualit t fertig gestellt werden konnte und dass die Benutzerdokumentation vorhanden ist Meist fallen mehrere Iterationen in der Ubergabephase an Beta Releases allgemeine Releases Bug Fix und Erweiterungsreleases Hoher Aufwand wir
108. l ExampleClass2Relational 5Bv00 01 5D pdf Modell zu Text Transformationen Arten generierten Texts aus Quellmodellen Programmcode Konfigurationsdateien Dokumentation wie z B Javadoc Varianten von Modell zu Text Transformationen Visitor basiert Template basiert Template basierte Werkzeuge Xpand aus dem Eclipse Xtext Language Modeling Framework AndroMDA Java Emitter Templates JET 485 504 Xpand Xtext Grammatik 5 Outline amp Model Type DataType Entity Feature Type DataType Entity DataType datatype name ID gt Entity entity name ID Cfeatures Feature a9 Feature type TypelID name ID 486 504 Bildquelle http www openarchitectureware org pub documentation 4 3 1 html contents xtext_tutorial html Xpand Template IMPORT mydsl DEFINE main FOR Model EXPAND javaBean FOREACH types typeSelect Entity ENDDEFINE DEFINE javaBean FOR Entity FILE name java public class name FOREACH features AS f private f type name f name public f type name get f name toFirstUpper return f name public void set f name toFirstUpper C f type name f name this f name f name ENDFOREACH ENDFILE ENDDEFINE 487 504 Xpand Tutorial http www peterfriese de getting started with code generation with xpand Bildquelle
109. lautern Sie einige essentielle Aktivit ten der Softwareentwicklung und ihre Besonderheiten im Kontext von Software Produktlinien In welcher Weise k nnen Produktlinien eingef hrt werden Beschreiben Sie Implementierungsmechanismen f r die Variabilit t in Software Produktlinien Nennen Sie hierbei den jeweiligen Bindungszeitpunkt Was dr ckt der Bindungszeitpunkt aus 450 504 Modellgetriebene Softwareentwicklung Modellgetriebene Softwareentwicklung Modellgetriebene Entwicklung Modelle Metamodelle Syntax und Semantik von Modellen Standards Dom nenspezifische Sprachen DSL Werkzeuge f r DSLs Modelltransformationen Modell zu Text Transformationen Zusammenfassung Wiederholungsfragen 451 504 Definition Modellgetriebene Softwareentwicklung Model Driven Software Development MDSD bezeichnet Softwareentwicklungsprozesse bei denen Modelle im Mittelpunkt stehen und als eigenst ndige Entwicklungsartefakte genutzt werden Reussner und Hasselbring 2009 Modelle sind zentrale Entwicklungsartefakte Kommunikation mit Fachexperten Analyse Generierung von Code Ziele Reduktion der Komplexit t durch Abstraktion Reduktion auf das Wesentliche Automatisierung 452 504 Diese Folien basieren in gro en Teilen auf einem Vortrag von Stefan Gudenkauf OFFIS Institut f r Informatik e Handhabung von Komplexit t Abstraktion zum Wesentlichen Einbindung von Fachexperten Trennun
110. lige Auswahl Systematic Sampling Population wird angeordnet erstes Subject zuf llig gew hlt dann jedes n te Subject Annahme Population der Subjects ist homogen 157 504 Auswahl der Teilnehmer Partitionierende Sampling Strategien Partitionierung der Population in homogene Gruppen Quota Sampling feste Quota f r die Auswahl aus Partitionen ist vorgegeben dann Convenience Sampling f r einzelne Gruppen Stratified Random Sampling e Proportionate Stratified Random Sampling zufallige Auswahl aus jeder Gruppe ist proportional zur Gesamtpopulation Bsp 60 M nner 40 Frauen 3 M nner 2 Frauen Optimum Disproportionate Stratified Random Sampling zufallige Auswahl aus Gruppe ist proportional zur Standardabweichung der Verteilung der Variable mehr Auswahlen f r die Gruppen mit h herer Verschiedenheit 158 504 Generelle Prinzipien Randomization Beobachtungen betreffen unabh ngige Zufallsvariablen Zuordnung Treatments Subjects Objects und Reihenfolge der Treatments Blocking hnliche Objekte werden gruppiert Treatments werden durch Vergleich der abh ngigen Variablen desselben Blocks evaluiert Balancing jedes Treatment hat gleiche Anzahl von Subjects Replication mindestens ein Treatment wird unabh ngig auf zwei oder mehr Objekte angewandt 159 504 Experimental Design Arten von Studien objects subjects single object multi object variatio
111. logy Next Description Taxonomy Select elements of the following taxonomy to retrieve their references or one of the following two items e Retrieve used terminology e Get a description of this taxonomy Reengineering in General o Reengineering Collections o Introductions to Reengineering o Fundamentals o The Pros and Cons and Risks of Reengineering o Experiences o Costs o Process Models o Management o Legality o Interoperability o Business Reengineering Software Reverse Engineering o General Information on Reverse Engineering o Reverse Engineering Collections o Cognitive Processes in Human Program Understanding o Software Evolution o Extracting Business Rules o Intermediate Representations of Source Code Use of data bases Using graphs o Preventive Measures o Formal Methods o Reverse Specification Model Generatin Software Animation Visualization of Parallel and Distributed Programs Daw Annahme Ein BibTeX Eintrag habe max 8 Eintr ge 247 504 Auf dieser Seite wird der Elementarprozess Suche ber die Taxonomie erkennbar Jeder Taxonomieeintrag stellt einen Link dar der alle Artikel auflistet die zu diesem Taxonomiepunkt geh ren oder zu Taxonomiepunkten die von diesem abgeleitet sind Die Taxonomie selbst wird beim Start dieser Seite vom System bereit gestellt Letzteres entspricht auf den ersten Blick dem Elementarprozess Taxonomie a
112. lopment Internationales Begegnungs und Forschungszentrum fur Informatik IBFI Schloss Dagstuhl Germany Veranst 2004 Fenton und Pfleeger 1998 FENTON N PFLEEGER S Software Metrics A Rigorous amp Practical Approach 2nd London International Thomson Computer Press 1998 Gamma u a 2003 GAMMA Erich HELM Richard JOHNSON Ralph VLISSIDES John Design Patterns Elements of Reusable Object Oriented Software Addison Wesley 2003 Garlan u a 1995 GARLAN D ALLEN R OCKERBLOOM J Architectural Mismatch Why Reuse is So Hard In IEEE Software 12 1995 November Nr 6 S 17 26 Gilb 1988 GILB Tom Principles of Software Engineering Management Harlow UK Addison Wesley 1988 496 504 Gornik 2001 GORNIK David IBM Rational Unified Process Best Practices for Software Development Teams IBM Rational Software 2001 TP026B Rev 11 01 White Paper Halstead 1977 HALSTEAD Maurice H Elements of Software Science In Operating and Programming Systems Series 7 1977 Hofmeister u a 2000 HOFMEISTER Christine NORD Robert SONI Dilip Applied Software Architecture Addison Wesley 2000 Object Technology Series Humphrey 1995 HUMPHREY Watts S A Discipline For Software Engineering Addison Wesley 1995 SEI series in software engineering IBM 1985 Die Function Point Methode Eine Schatzmethode f r IS Anwendungsprojekte IBM Form GE12 1618 1 1985 Jones 1995 JONES Capers
113. luktuation Grad very low low nominal high very high Punkte 1 2 3 4 5 PERS ACAP 15 35 55 75 90 PCAP 15 35 55 75 90 PCON 48 24 12 6 3 gt Punkte 3 4 56 7 8 9 10 11 12 13 14 15 EMpers 2 12 1 62 1 26 1 00 0 83 0 63 0 50 273 504 A percentile rank is the proportion of scores in a distribution that a specific score is greater than or equal to For instance if you received a score of 95 on a math test and this score was greater than or equal to the scores of 88 of the students taking the test then your percentile rank would be 88 You would be in the 88th percentile Effort Multiplier PREX Personnel Experience AEXP Applications experience PLEX Platform experience LTEX Language tool experience Grad very low low nominal high very high Punkte 1 2 3 4 5 PREX AEXP lt 2 Mo 6 Mo 1J u 6J PLEX lt 2 Mo 6 Mo 1J u 6J LTEX lt 2 Mo 6 Mo 1J u 6J gt Punkte 3 4 56 7 8 9 10 11 12 13 14 15 EMprex 1 59 1 33 1 22 1 00 0 87 0 74 0 62 274 504 Effort Multiplier FCIL Facilities TOOL Use of software tools SITE Multisite development Grad very low low nominal high very high Punkte 1 2 3 4 5 6 FCIL TOOL 1 2 3 4 5 n chste Folie SITE 1 2 3 4 5 6 n chste Folie 5 Punkte 2 3 45 6 7 8 9 10 11 EMeci 1 43 1 30 1 10 1 00 0 87 0 73 0 62 TOOL und SITE TOOL Editor Compiler Debugger 275 504 einfaches CASE Werkzeug schlechte Int
114. men gleiche Funktion wie OK Button in einer Datenbank gespeichert Es wird 1 DET gez hlt Berichte Reports k nnen verschiedene Ausgabeformen haben So kann die gleiche Datenbasis zur Darstellung als Tortendiagramm Tabelle textuell als druckbares Format oder als Exportdatei dargestellt werden Jedes Format stellt dabei eine externe Ausgabe EO dar FP Werte der Komplexitatsgewichte w RETs RETs 238 504 Function Points zusammenfassen Parameter RET DET Gewicht ILFy 2 8 T ILF gt 1 3 T Parameter FTR DET Gewicht Eli EQ EQ gt EQ3 UFP Komplexitatsgewichte w fur El EO EQ Definition Referenzierte Datenbestande FTR File Type Referenced von Elementarprozess verwendeter Datenbestand ILF ELF Beispiel der Kundenstammdatenbestand der bei der Ausgabe von Kundendaten herangezogen wird Beispiele f r DETs im Kontext von Funktionen Eingabe Ausgabefelder GUI Spalten u A bei Berichten 239 504 241 504 Online Bibliographie Neuen Artikel einpflegen Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe 2 Home Prev Submitting References Submitting a reference to an article in a journal Please fill out all of the mandatory fields We appreciate if you fill in the optional fields as well We are especially interested in the abstract and your classification according to the taxonomy For further qu
115. mmatik Code und aspektorientierte Programmierung 1 aspect SetslnRotateCounting 2 int rotateCount 0 3 4 before call void Line rotate double 5 rotateCount 6 t Wie oft wird Methode Line rotate aufgerufen 446 504 Architekturmechanismen fur Variabilitaten Definition Anwendungsrahmenwerke Frameworks A framework is a set of classes that embodies an abstract design for solutions to a family of related problems Johnson und Foote 1988 run TestResult TestCase run TestResult runTest setUp tearDown TestSuite run TestResult addTest TestResult TestMyClass runTest setUp tearDown mens lt 447 504 Anwendungsrahmenwerke Frameworks Inztantiation Tool Classes Data Bee Coide Classes Coke Framework Wlute box framework Black box framework 448 504 Schwierigkeiten bei Produktlinien nderung der Organisation Kern Produktaufteilung Was geh rt zum Kern nderungen im Kern haben Auswirkungen auf alle Produkte Viele Probleme sind noch nicht gel st Test e Konfigurationsmanagement oes 449 504 Wiederholungs und Vertiefungsfragen e Erlautern Sie die Ideen von Software Produktlinien Was verspricht man sich davon Was sind die Vor und Nachteile Wie wird die Entwicklung von Software Produktlinien organisatorisch h ufig strukturiert Er
116. n Hierbei sind explizit fachliche Daten gemeint Dies ist jedoch bei den Elementen der Listbox nicht der Fall Ein andere Situation l ge vor wenn die Listboxen fachliche Daten repr sentieren w rden beispielsweise wenn aus einer Liste verzeichneter Autoren ausgesucht werden k nnte Wir halten also fest dass wir die Auswahl in den Listboxen nicht als Elementarprozess betrachten Nichtsdestotrotz stellen sie Felder dar die Eingaben darstellen Sie werden mit bertragen damit der Wert im Suchfeld richtig interpretiert werden kann Somit sind sie zumindest f r die Z hlung der DETs relevant Insgesamt ergeben sich seitens der Eingabe durch den Benutzer f r den Elementarprozess EQ3 vier DETs f r die Textfelder weitere vier DETs f r die Listboxen und schlie lich noch ein DET f r den Schalter um die Suche zu starten der den Elementarprozess anst t Als Resultat erhalten wir eine Liste aller Referenzen die die angegebenen Suchkriterien erf llen Da auch hier wieder die Referenztypen sehr unterschiedlich sein k nnen gehen wir wie bereits weiter oben von einer Obergrenze von 8 verschiedenen BibTeX Attributen aus Die Gesamtzahl der DETs f r die Eingabe und Ausgabe dieses Elementarprozesses betr gt somit 9 8 17 Die Suche ist unabh ngig von der Taxonomie so dass nur der Datenbestand Referenzen angefasst werden muss Es ergibt sich damit ein FTR Function Points zusammenfassen Ely Neuen Artikel einpflegen EQ
117. n einem ILF oder ELF Verarbeitungslogik enth lt keine mathematische Formel oder Berechnung e Verarbeitungslogik erzeugt keine abgeleiteten Daten Verarbeitungslogik pflegt keinen ILF e Verarbeitungslogik ver ndert das Systemverhalten nicht 223 504 FP Identifizieren von Funktionstypen Schlusselworter geben Hinweise El ablegen speichern de aktivieren abbrechen ndern editieren modifizieren ersetzen einf gen hinzuf gen entfernen l schen erstellen konvertieren update bertragen EO anzeigen ausgeben ansehen abfragen suchen durchsuchen darstellen drucken selektieren Anfrage Abfrage Report EQ abfragen anzeigen ausw hlen drucken suchen durchsuchen darstellen zeigen drop down extrahieren finden holen selektieren Ausgabe Liste Report 224 504 Online Bibliographie Startseite Reengineering Bibliography Mozilla a Eile Edit View Go Bookmarks Tools Window Help Qo amp http www iste uni stuttgart de ps reengineering index html amp Home Bookmarks The Mozilla Org Latest Builds IEEE COMPUTER SOCIETY Technical Council on Software Engineering Welcome to the Reengineering Bibliography This annotated bibliography provides information on software reengineering This reengineering bibliography is an initiative of several people In their rare spare time they collected bibliographic entries and merged them into this elaborate bibliog
118. n per object multi test within object blocked subject object 160 504 Standard Designs Definition Full Factorial Treatment Design the treatments consist of all possible combinations of the levels of the factors of interest ein Faktor mit zwei Treatments e ein Faktor mit mehr als zwei Treatments zwei Faktoren mit zwei Treatments e mehr als zwei Faktoren mit mehr als zwei Treatments 161 504 Ein Faktor mit zwei Treatments Definition Completely randomized design alle m glichen Zuordnungen von Treatments und Subjects Objects sind gleich wahrscheinlich Subjects Treatment 1 Treatment 2 1 x 2 x 3 x 4 x 5 x 6 x ui Mittelwert der abh ngigen Variablen f r Treatment Nullhypothese u1 u2 Statistische Tests t test Mann Whitney 162 504 Ein Faktor mit zwei Treatments Definition Paired comparison design jedes Subject wendet alle Treatments an Reihenfolge wird randomisiert Subjects Treatment 1 Treatment 2 oo VPrPWODNDMHM 1 NO RFR NY NY 2 BPMN ee Yij j te Messung der abh ngigen Variablen f r Treatment dj y j yaj und ug Mittelwert von d Nullhypothese wg 0 Statistische Tests Paired t test Sign test Wilcoxon 163 504 Ein Faktor mit mehr als zwei Treatments Completely randomized design Subjects Treatment 1 Treatment 2 Treatment 3 1 x 2 x 3 x 4 x 5 x 6 x Nullhypothese wy u2 Un Statistis
119. n Whitney 207 504 Kosten und Aufwandssch tzung Kosten und Aufwandssch tzung Kostensch tzung Function Points Object Points COCOMO Wiederholungsfragen 208 504 Kostensch tzung Wichtige Fragen vor einer Software Entwicklung Wie hoch wird der Aufwand sein Wie lange wird die Entwicklung dauern Wie viele Leute werden ben tigt Fr hzeitige Beantwortung wichtig f r Kalkulation und Angebot Personalplanung Entscheidung make or buy Nachkalkulation 210 504 Schatzgegenstand e Kosten was zu bezahlen ist e Aufwand x Kosten pro Aufwandseinheit e Schatzen 50 Euro DLOC Delivered Line of Code Dauer wie lange man warten muss Aufwand in PM Anzahl Mitarbeiter reell nicht linearer Zusammenhang laut Brooks 1995 Parkinsons Gesetz Aufwand was man an Ressourcen braucht Umfang Risiko Management 211 504 Parkinsons Gesetz wenn X Zeit zur Verf gung steht wird mindestens X Zeit ben tigt Ansatze Expertensch tzung Analogiemethode Top Down Sch tzung Bottom Up Schatzung Pricing to Win Festpreis Algorithmische Sch tzung e COCOMO Anzahl Codezeilen Sch tzung auf Basis von Function Points Ein und Ausgaben 212 504 e Expertensch tzung mehrere Experten fragen Abweichungen diskutieren bis Konsens erreicht Sch tzpoker bei Scrum e Analogie dauert so lange wie beim hnlichen Projekt X Bezug auf hist
120. n wird die Entwicklung in einzelne Schritte zerlegt die jeweils unter den gegebenen Bedingungen das optimale Teilziel verfolgen schwierige Planung was jedoch dem Problem inh rent ist setzt groBe Flexibilitat in der Organisation und beim Kunden voraus 37 504 Rational Unified Process RUP nach Gornik 2001 Konstruktion Phasen Konzeption Elaboration Iterationen DEB Aktivit ten 38 504 Rational Unified Process RUP nach Gornik 2001 Zeit Hane Geschaftsmodellierung Domanenanalyse Anforderungsanalyse Entwurf Implementierung Test Auslieferung Konfigurations Anderungsmanagement Projektmanagement Infrastruktur Tran Tran 1 2 Iterations Aktivitaten Der Rational Unified Process RUP als Konkretisierung des Unified Process der Firma Rational ist ein weiteres inkrementelles Modell Der Prozess insgesamt gliedert sich in vier Phasen mit einer unterschiedlichen Anzahl von Iterationen Das Produkt jeder Phase unterscheidet sich von den Produkten anderer Phasen Die Konzeptionsphase Inception erarbeitet die Anforderungen Die Elaborationsphase Elaboration erstellt einen Entwurf Die Konstruktionsphase Construction erstellt das implementierte System Die bergabephase Transition f hrt das System beim Kunden ein Jede Iteration gliedert sich in die Aktivit ten Gesch ftsmodellierung Anforderungsanalyse Entwurf Implementierung Test und Ausli
121. nd Konzepte der Vorgehensmodellierung http www vorgehensmodelle de giak arbeitskreise vorgehensmodelle publallg html Rational Unified Process Kruchten 1998 90 504 Software Metriken Software Metriken Messen und Ma e Skalen G tekriterien f r Metriken Vorgehensweise Klassifikation von Softwaremetriken Prozessmetriken Ressourcenmetriken Produktmetriken Anwendungen Probleme Goal Question Metric Ansatz Wiederholungsfragen 91 504 Lernziele Verstehen was eine Software Metrik ist die Einsatzmoglichkeiten von Metriken kennen e Metriken beurteilen und auswahlen konnen 92 504 Literatur SECOND EDITION A Rigorous amp Practical Approach REVISED PRINTING Fenton und Pfleeger 1998 93 504 Bedeutung des Messens To measure is to know Clerk Maxwell 1831 1879 A science is as mature as its measurement tools Louis Pasteur 1822 1895 we Miss alles was sich messen lasst und mach alles messbar was sich nicht messen l sst Galileo Galilei 1564 1642 ye Messen konnen Sie vieles aber das Angemessene erkennen k nnen Sie nicht Hans Gadamer 94 504 Messen spielt in allen Ingenieurswissenschaften eine wichtige Rolle Galilei Ziel der Wissenschaft durch Messung zu verst ndlicheren und nachpr fbaren Konzepten Ergebnissen kommen Definitionen Ma Messen Metrik Definition Ma Abbildung von einem beobachteten empirischen Beziehun
122. nforderungen gt L SW Architektur Modulspez und entwurf Modul A spezifikation Codierung Modultest Programmteile L Integration u isoliert getestet gt Systemtest Programm Einsatz u Zeit Wartung 16 504 Hier sehen wir als Beispiel das strikte Wasserfallmodell Es enth lt alle Aktivit ten in streng sequenzieller Folge Dieses Modell eignet sich wenn die Arbeitsschritte deutlich voneinander getrennt werden k nnen Alle Risiken m ssen vor Projektbeginn ausgeschlossen werden k nnen Es ist geeignet wenn die Mitarbeiteranzahl klein ist da alle Mitarbeiter gleichzeitig an einem Arbeitsschritt arbeiten k nnen Dieses Modell ist f r die allermeisten Aufgabenstellung jedoch unrealistisch Es setzt voraus dass jede Aktivit t auf Anhieb erfolgreich abgeschlossen werden kann Allerdings werden z B die Anforderungen oft auch noch in sp ten Phasen des Projekts ge ndert bzw erst dann berhaupt erst richtig verstanden Dann m ssen fr he Aktivit ten wiederholt werden Striktes Wasserfallmodell Royce 1970 Eigenschaften dieses Modells dokumenten getrieben jede Aktivit t erzeugt Dokument streng sequenzielle Aktivit ten klar organisierter Ablauf relativ einfache F hrung hohe Qualit t der Dokumentation Entwicklung bildet langen Tunnel 90 fertig Syndrom Spezifikationsm ng
123. ntern extern Zuverl ssigkeit e Verst ndlichkeit e Benutzerfreundlichkeit Performanz e Portierbarkeit Wartbarkeit Testbarkeit 115 504 Produktmetriken intern Vorteil automatische Erfassung Die Klassiker LOC Lines Of Code Halstead 1977 McCabe 1976 OO Metriken Chidamber und Kemerer 1994 116 504 GroBenmetriken LOC Lines of code LOC relativ einfach messbar starke Korrelation mit anderen MaBen ignoriert Komplexitat von Anweisungen und Strukturen schlecht vergleichbar abgeleitet Kommentaranteil 117 504 Physical source lines COCOMO 2 0 When a line or statement contains more than one type classify it as the type with the highest precedence Statement type Precedence Included Executable 1 y Nonexecutable Declarations V Compiler directives Comments On their own lines On lines with source code Banners and non blank spacers Blank empty comments Blank lines WwW N CON DD OF gt 118 504 Physical source lines COCOMO 2 0 How produced Included Programmed af Generated with source code generators Converted with automated translators v Copied or reused without change v Modified V Removed 119 504 Physical source lines COCOMO 2 0 Origin Included New work no prior existence J Prior work taken or adapted from J A previous version build or release J Commercial off the shelf software COT
124. ntrollierte Experimente fundierte Methoden zur Datenerhebung und validierung notwendig entstammen den Sozialwissenschaften und kognitiven Wissenschaften 138 504 Untersuchungsmethoden Definition einer Fallstudie nach Yin 2003 A case study is an empirical inquiry that The investigates a contemporary phenomenon within its real life context especially when the boundaries between phenomenon and context are not clearly evident case study inquiry copes with the technically distinctive situation in which there will be many more variables of interest than data points and as one result relies on multiple sources of evidence with data needing to converge in a triangulating fashing and as another result benefits from the prior development of theoretical propositions to guide data collection and analysis 139 504 Untersuchungsmethoden Fallstudien Quasi Experimente In Vivo Experiment oder Feldstudien mit Hypothese eingebettet in echte Projekte und damit weniger kontrolliert Herausforderung zu messen ohne den Verlauf zu verfalschen 140 504 Untersuchungsmethoden kontrollierte Experimente In Vitro Experiment finden in kontrollierter Testumgebung statt Hypothese wird falsifiziert oder best tigt mit einer gewissen Wahrscheinlichkeit unabh ngige Variablen Eingabeparameter die im Experiment variiert werden abh ngige Variablen Ausgabeparameter die gemessen wer
125. nzeigen Wir m ssen nun bestimmen ob dieser Elementarprozess von dem weiter oben diskutierten unterscheidbar ist Er unterscheidet sich nicht durch die Eingabe die Verarbeitung oder den referenzierten Datenbest nden jedoch in den Ausgabedaten W hrend beim ersten Elementarprozess Beschreibung der Taxonomie die einzelnen Taxonomiepunkte textuell beschrieben werden wird uns auf dieser Seite beim Klicken auf einen Taxonomiepunkt angezeigt welche Referenzen zu diesem Punkt existieren Ein weiteres Argument gegen das Vorliegen eines Elementarprozesses ist die Tatsache dass dieser Elementarprozess weder eigenst ndig noch abgeschlossen ist Er ist ganz offensichtlich integraler Bestandteil des Elementarprozesses Suche ber die Taxonomie Ohne die Anzeige der Taxonomie k nnte der umfassende Elementarprozess nicht funktionieren Diese Seite unterst tzt also nur einen Elementarprozess Suche ber die Taxonomie Es handelt sich bei diesem offensichtlich nicht prim r um eine Eingabe auch wenn der Benutzer einen Punkt der Taxonomie ausw hlt Der Hauptzweck ist die Ausgabe von Daten In Frage kommen somit zun chst Abfrage oder Ausgabe Da die Verarbeitungsregel keine mathematische Formel oder Berechung erwarten l sst keine Daten abgeleitet werden keine ILF gepflegt wird und sich auch das Systemverhalten nicht ndern wird handelt es sich klar um eine Abfrage Zu beachten ist bei der Z hlung der DETs generell dass jedes DET nur einmal gez hlt wird
126. o wird diese nur als 1 FTR gez hlt obwohl die Datenbank zur Ein und Ausgabe von Daten verwendet wird Fortsetzung Besonderheiten bei grafischen Benutzungsoberfl chen Optionsfelder Radiobuttons stellen Datenelemente dar Es wird pro Gruppe von Optionsfeldern 1 DET gez hlt da innerhalb einer Gruppe nur ein Optionsfeld ausgew hlt werden kann Beispiel Eine Gruppe von 12 Radiobuttons in der ein PKW Typ ausgew hlt werden kann wird als 1 DET gez hlt Kontrollk stchen Checkboxen stellen Datenelemente dar Im Gegensatz zu Optionsfeldern k nnen aus einer Gruppe von Checkboxen mehrere Elemente gleichzeitig ausgew hlt werden Somit wird jedes Element als 1 DET gez hlt Beispiel Eine Gruppe von 12 Checkboxen mit der ein Pizza Belag zusammengestellt werden kann wird als 12 DETs gez hlt Eingabe und Ausgabefelder stellen Datenelemente dar Beispiel In einer Bildschirmmaske werden Vorname Nachname StraBe Hausnummer PLZ und Ort in Eingabefeldern erfasst Somit werden 6 DET gezahlt Literale stellen keine Datenelemente dar Beispiel Vor einem Feld ist die Textzeile monatliches Gehalt und dahinter in Euro Monat angegeben Beide Textzeilen sind Literale und werden nicht gez hlt Enter OK Button und Programmfunktionstaste werden insgesamt als 1 DET gez hlt da jeweils die gleiche Funktion ausgef hrt wird Beispiel Die Daten eines Dialogs werden nach Bet tigen der Enter Taste oder nach Bet tigen der Schaltfl che berneh
127. oServicelmpl implements HelloService Override public String sayHello return at your w service j i 414 504 In MANIFEST ME im Reiter Runtime als Exnorted Packages Eclipse Demo Import In MANIFEST MF von Plug In HelloWorld im Reiter Required Plug ins com javaworld sample HelloService hinzuf gen Editiere com javaworld sample helloworld Activator java HelloService Interface ist sichtbar aber nicht HelloServicelmpl Klasse public void callService HelloService service System out printIn HelloWorld service sayHello 415 504 Eclipse Demo Service Provider Im Plug in Projekt com javaworld sample HelloService die Klasse Activator wie folgt ab ndern package com javaworld sample helloservice import org osgi framework BundleActivator public class Activator implements BundleActivator ServiceRegistration helloServiceRegistration public void start BundleContext context throws Exception System out printIn Service _Hello_World HelloService helloService new HelloServicelmpl helloServiceRegistration context registerService HelloService class getName helloService null public void stop BundleContext context throws Exception System out print In Service _Goodbye_World helloServiceRegistration unregister 416 504 In OSGi a source bundle registers a POJO you don t have to implement any interfaces or extend from any supercla
128. oco FastMutex mutex 13 used to block joining threads that are followers 14 15 HandleSet handleset 16 353 504 Thread Pool ThreadPool ThreadPool Poco UInt16 firstport we Poco Ulnt16 lastport handleset this firstport lastport void ThreadPool join mutex lock if we arrive here the executing thread becomes the leader handleset handle_events void ThreadPool promote_new_leader mutex unlock 354 504 Handle Set class HandleSet public HandleSet ThreadPoolx pool Poco Ulnt16 firstport Poco Ulnt16 lastport void handle_events private Poco Net Socket SocketList handles ThreadPoolx threadpool the list of handles sockets to be listened void deactivate_handle Handle handle void activate_handle Handle handle Handle select 355 504 oO AON Do A UU Ne e e e e e eE Be HK H Oo ON DOD oO gt U N BeO oO AON AAO A UU DY BF e e Be e Be Be Be Be H oO ON DOD oO gt N KF OC HandleSet HandleSet ThreadPoolx pool Poco Ulnt16 firstport Poco UInt16 lastport threadpool pool bind to all sockets for int i firstport i lt lastport i creating a socket with Poco a ServerSocket is intended for servers Poco Net ServerSocket socket i handles push_back socket void HandleSet deactivate_handle Handle handle nothing to be done void Han
129. oftware Architektur Testf lle verkn pfen Anforderungsspezifikation und Architekturkomponenten Testfalle k nnen zur Studie der zu erwartenden Performanz und anderer Systemattribute zur Entwurfszeit verwendet werden 23 504 Testgetriebene Entwicklung Sneed 2004 Testf lle treiben die Kodierung e vor Implementierung einer Klasse werden erst Testtreiber entwickelt Testtreiber enthalt mindestens einen Test f r jede nichttriviale Methode o Testfall hilft die richtige Schnittstelle zu definieren Testfall zwingt Entwickler uber das zu erwartende Resultat nachzudenken Testfalle spezifizieren die Methoden zumindest partiell 24 504 Testgetriebene Entwicklung Sneed 2004 Tester treiben die Entwicklung Tester sind verantwortlich f r die Auslieferung des Produkts Tester legen Kriterien f r die Auslieferbarkeit fest Entwickler sind Lieferanten f r die Tester Softwareentwicklung ist eine Versorgungskette das Ende zieht anstatt gedr ckt zu werden 25 504 Bewusstseinsebenen bewusstes Wissen 20 30 e Wissen ber das man sich im Klaren ist oder das in seiner vollen Bedeutung klar erkannt wird unbewusstes Wissen lt 40 Wissen das sich dem Bewusstsein im Moment nicht darbietet aber dennoch handlungsbestimmend ist und potenziell aufgerufen werden kann e unterbewusstes Wissen unbekannte W nsche die erst von au en herangetragen werden m ssen um als Anforder
130. olgt stufenweise brauchbare Teill sungen in kurzen Abst nden Lernen durch Entwicklung und Verwendung des Systems Gut geeignet wenn Kunde Anforderungen noch nicht vollst ndig berblickt oder formulieren kann oe know it when I see it Kernanforderungen und Architekturvision m ssen vorhanden sein Entwicklung ist durch existierenden Code eingeschrankt 31 504 Vergleich inkrementelles Modell und Wasserfallmodell Final Quality Test Waterfall Y Progress Integration Build S Build Coded Begins gt ey Ver sy 100 gt 90 u Waterfall 70 Late Design Breakage gt Iterative 20 Build Build Development 10 z M 5 10 15 20 25 30 35 40 45 50 Time Months 32 504 Spiralmodell von Boehm 1988 Mehrere Iterationen der folgenden Schritte Bestimmung der Ziele und Produkte des Durchlaufs Ber cksichtigung von Alternativen z B Entwurfsvarianten und Restriktionen z B Zeitplan Bewertung der Risiken fur alle Alternativen Entwicklung von L sungsstrategien zur Beseitigung der Ursachen Arbeitsschritte durchf hren um Produkt zu erstellen Review der Ergebnisse und Planung der n chsten Iteration 34 504 Das Spiralmodell kann f r sehr gro e und komplexe Projekte verwendet werden da es der Komplexit t durch das risikogesteuerte Vorgehen Rechnung tr gt Die Anzahl der Durchl ufe ergibt sich erst w hrend des Projekts und wird durch die auftetenden
131. on Anforderungen AusmaB Aufwand der m glichen Wiederverwendung e Aufwand f r Entscheidung ob Wiederverwendung e Aufwand fur das Verstehen existierenden Codes e Aufwand f r Anpassungen 17 verfeinerte lineare Einflussfaktoren Sch tzung basiert auf LOC 281 504 COCOMO II Post architecture level Produktgute kompl Verl sslichkeit Datenbasisgr e Komplexit t Dokumentation Plattformkomplexitat Laufzeit Speicherbeschrankungen Plattformdynamik F higkeiten Personal F higkeiten der Analysten Entwickler Kontinuit t des Personals Erfahrung Personal Dom nenerfahrung der Analysten Entwickler Erfahrung mit Sprache und Werkzeugen Infrastruktur Tools verteilte Entwicklung Kommunikation 282 504 Einflussfaktoren Cost Drivers f r Cocomo 2 o Product Attributes RELY Required reliabi 0 82 0 92 1 00 1 10 1 26 lity DATA Data base size 0 90 1 00 1 14 1 28 CPLX Product Com 0 73 0 87 1 00 1 17 1 34 1 74 plexity RUSE Required Reusa 0 95 1 00 1 07 1 15 1 24 bility DOCU Doc match to 0 81 0 91 1 00 1 11 1 23 life cycle needs Computer Attributes TIME Execution time 1 00 1 11 1 29 1 63 constr STOR Main storage 1 00 1 05 117 1 46 constr PVOL Platform volati 0 87 1 00 1 15 1 30 283 504 lity Einflussfaktoren Cost Drivers f r Cocomo 2 O See 4 Personell attributes ACAP Analyst capabi 1 42 1 19 1 00 0 85 0 71 lity PCAP
132. on V tern und S hnen 170 504 Die Regression zur Mitte ist ein Begriff der Statistik er beschreibt das Ph nomen dass bei zwei in irgendeiner Weise verbundenen Messungen z B K rpergr e eines Vaters und seines Sohnes extreme Abweichungen bei einer der beiden Messungen im Durchschnitt mit weniger extremen Abweichungen bei der anderen Messung einhergehen im Beispiel also haben sehr gro e V ter im Durchschnitt S hne die weniger gro sind die aber im Durchschnitt trotzdem noch gr er sind als der Durchschnitt der Bev lkerung oder umgekehrt sehr gro e S hne haben im Durchschnitt V ter die weniger gro sind Quelle Wikipedia Internal Validity Selektion keine zuf llige Zuordnung oder Zuordnung ist zuf llig ung nstig z B die ersten 20 Freiwilligen werden der Pair Programming Gruppe zugeordnet Selektionsinteraktion Selektions Threat wird mit anderem internal Threat kombiniert z B eine Gruppe wird von Programmierern aus Abteilung X dominiert Selektions Threat und Abteilung X hat am Vorabend eine wilde Party Historie Threat 171 504 Internal Validity Experimentelle Mortalit t Unterschiede in der Ausscheiderate ber die unterschiedlichen experimentellen Bedingungen z B in der Pair Programming Gruppe fallen mehrere Subjects aus was die Gruppenzusammensetzung beeinflussen kann Experimentatoreinfluss Erwartungen der Durchf hrenden oder Subjects k nnen Resultat beeinflussen
133. on gt 5 using namespace std 6 class Queue 7 public 8 Task get 9 Mutex_Guard guard mutex 10 if tasks size 0 throw exception 11 Task result tasks back 12 tasks pop_back 13 return result u 15 void put Task t 16 Mutex_Guard guard mutex 17 tasks push_back t is 19 private 20 Mutex mutex 21 vector lt Task gt tasks 22 334 504 Thread Pool Pattern Queue queue oo N A oO A UU N e e H w N e O gt WH entry point of thread void worker void xptr while true try Task t queue get t solve catch exception amp e break 335 504 Thread Pool Pattern main 2 3 define work 4 for int i 0 i lt 100 i 5 Task xt new Task 6 t define i 7 queue put xt se 9 10 std vector lt pthread_t gt thread_pool 10 11 12 Create independent threads each of which 33 will execute function worker 14 for int i 0 i lt thread_pool size i 15 pthread_create amp thread_pool i NULL worker NULL 16 7 Wait till threads are complete before main continues is for int i 0 i lt thread_pool size i 19 pthread_join thread_pool i NULL 20 336 504 Was tun wenn es Produzenten gibt die kontinuierlich Aufgaben erzeugen 337 504 Beliebig viele Produzenten und Konsumenten Queue_Monitor queue 5 entry point of consumer thread void consumer voi
134. orische Daten eines hnlichen Projekts e Top Down Sch tzung Ableitung aus globalen Gr en z B Aufwand steht fest daraus Umfang ableiten e Bottom Up Schatzung Dekomposition und Sch tzung der einzelnen Komponenten sowie deren Integrationsaufwand Pricing To Win Preis wird vereinbart im Zuge des Projekts einigt man sich auf Funktionsumfang eigentlich keine Sch tzung Berechnung aus fr h bekannten Gr en statistisches Kostenmodell aus Vergangenheitsdaten wird erstellt Modell wird zur Vorhersage benutzt Kostenschatzung Boehm 1981 4x 2x 2 ra 0 5x 0 25x Machbarkeit Planung Produkt Entwurf Entwicklung t Anforderungen Design Test Entwicklungsphasen 213 504 Function Point Methode Ben tigt f r fr he Kostensch tzung Ma f r den Umfang der Software Function Points Messen des funktionalen Umfangs einer zu erstellenden Software aus Benutzersicht Eingabe Lastenheft Einsatz Umrechnung des Umfangs in personellen Aufwand Vergleich und Bewertung von Systemen Messung von Produktivit t Benchmarking nicht des Aufwands 216 504 Historische Entwicklung der Function Point Methode 1979 erste Ver ffentlichung Alan J Albrecht 1979 IBM 1985 Ver ffentlichung der IBM Kurve IBM 1985 Zusammenhang von Aufwand und Function Points fur 54 Projekte 1990 Hype fast alle gro en Unternehmen probieren Function
135. peziellen Eigenschaften einer bestimmten Implementierung d h nur Vertrag benutzen 384 504 Versionen Problem sowohl Schnittstelle als auch Implementierung andern sich unterschiedliche Versionen nicht vermeidbar Ziel Entscheidung ob kombatibel oder nicht e zus tzlich noch Unterst tzung f r einen Bereich von Versionen sliding window L sungen L sungen e unver nderliche Schnittstellen Schnittstellen d rfen sich ndern aber nur nach Regeln z B Parametertyp darf verallgemeinert werden e Ignorieren des Problems abw lzen auf tiefere Schicht immer neu kompilieren 385 504 Beschaffung Komponenten werden nach funktionalen und nichtfunktionalen Anforderungen klassifiziert Qualit tskriterien f r Auswahl e Erf llungsgrad funktionaler und nichtfunktionaler Anforderungen e Schnittstellenbeschreibung Abh ngigkeiten und Kompatibilit t Vertrauensw rdigkeit Uberlebenschance des Anbieters Garantien und Wartungszusicherung Preis und Zahlungsart 387 504 Entstehung von Komponenten meist aus bestehender Software Anpassung notwendig um Wiederverwendbarkeit zu erreichen ist Investition konomisch sinnvoll e Gr e des Einsatzgebiets bislang angebotene Funktionalit t e potentieller Grad der Wiederverwendung Balance zwischen gro en Komponenten kleinen Komponenten bieten mehr Service an verst ndlicher oe weniger Abh ngigkeiten billiger f r den B
136. pum en Prozess Metriken Produkt Metriken Ressourcen Metriken intern extern intern extern intern extern 111 504 Prozessmetriken Software Metriken Produkt Metriken Ressourcen Metriken intern extern intern extern intern extern Zeit Dauer Qualit t e Aufwand Kontrollierbarkeit Anzahl von Ereignissen Stabilit t z B Fehler Anderungen Kosten Ressourcenmetriken 112 504 Software Metriken Prozess Metriken Produkt Metriken intern extern intern extern intern Personal Alter Lohn Teamgr e struktur Produktionsmaterialien Werkzeuge Methoden extern e Produktivit t Erfahrung e Kommunikation 113 504 Produktmetriken intern Prozess Metriken intern extern Gr e e LOC Halstead Function Points Bang DeMarco Software Metriken Ressourcen Metriken extern intern extern Komplexit t McCabe Cyclomatic Complexity Kontrollflussgraph Datenfluss OO Metriken 114 504 Produktmetriken extern Prozess Metriken Software Metriken Ressourcen Metriken intern extern intern i
137. r rule not explicitly called here col lt Sequence key gt union c attr gt select e not e multiValued key lt Set key ye key Relational Column name lt objectld type lt thisModule objectldType 483 504 For each Class instance a Table instance has to be created e Their names have to correspond e The col reference set has to contain all Columns that have been created for single valued attributes and also the key described in the following e The key reference set has to contain a pointer to the key described in the following e An Attribute instance has to be created as key Its name has to be set to objectld Its type reference has to reference a Type with the name Integer which if not yet existing has to be created ATL Beispiel Transformation rule SingleValuedDataTypeAttribute2Column from a Class Attribute a type ocllsKindOf Class DataType and not a multiValued to out Relational Column name lt a name type lt a type 484 504 For each single valued Attribute of the type Class a new Column has to be created e Its name has to be set to the attribute s name concatenated with id e ts type reference has to reference a Type with the name Integer which if not yet existing has to be created Nicht gezeigt Regeln f r multivariate Attribute Siehe http www eclipse org m2m atl atlTransformations Class2Relationa
138. raphy Probably you have done the same then please mail us so that we can add your references all at once Maybe you have contributed to the field of reengineering yourself Since the originators lack the time to continuously update this bibliography we ask you to add your own references This is a very simple process when using our forms Supporters This annotated bibliography is supported by Bauhaus Software Technologies a company providing services and tools to support reengineering maintenance and evolution of existing system Please visit the home page of our supporters BAUHAUS SDFTWARE TECHNOLOGIES Sites The reengineering bibliography is available at two sites Choose the one closest to you University of Stuttgart Germany Georgia Institute of Technology Atlanta GA USA Contents Introduction Leaflet Postscript Print and fold it and itwill be a valuable guide in searching and adding references News e Adding your references Searching for references o via a taxonomy of reengineering related terms o via a simple search form that allows retrievals by specifying author title keywords abstract year etc The bibliography as a BibTeX database via FTP e Taxonomy Daw 226 504 Die Startseite enth lt reine Navigationsinformationen Diese Daten werden nicht gez hlt Weitere Elementarprozesse lassen sich aber auf dieser Seite identifizieren Wir konzentrieren uns im Folgen
139. rittswahrscheinlichkeit haben gilt die Hypothese als widerlegt Signifikanzniveau a legt die Wahrscheinlichkeit fest ab der die Hypothese als widerlegt betrachtet wird konkreter Schwellwert kritischer Wert Konvention 0 05 oder a 0 01 178 504 amp ist die Wahrscheinlichkeit eine eigentlich richtige Nullhypothese irrt mlich abzulehnen Nullhypothese und alternative Hypothese Definition Nullhypothese Ho die zu testende Hypothese Alternative Hypothese H die Gegenthese zu Ho Meist H ist das woran der Experimenator wirklich glaubt Experiment soll Ho widerlegen 179 504 Gerichtete und ungerichtete Hypothese Definition Ungerichtete Alternativhypothese Nullhypothese postuliert keinerlei Effekt Gerichtete Alternativhypothese Nullhypothese postuliert keinen oder gegengerichteten Effekt Beispiel ungerichtete Alternativhypothese H Pair Programming und Single Programming unterscheiden sich in Qualitat Ho Pair Programming und Single Programming liefern gleiche Qualitat Beispiel gerichtete Alternativhypothese H Pair Programming liefert bessere Qualit t als Single Programming Ho Pair Programming liefert gleiche oder schlechtere Qualit t als Single Programming 180 504 Die Nullhypothese dr ckt inhaltlich immer aus dass Unterschiede Zusammenh nge Ver nderungen oder besondere Effekte in der interessierenden Population berhaupt nicht und oder nicht in der er
140. rm glichen e Zusammenarbeit zwischen fremden Komponenten Austauschbarkeit Anbieter und Benutzer Identifizierung der Abh ngigkeiten Interna bleiben verborgen alle Zugriffe ber Schnittstelle Qualit t von h chster Bedeutung eine Komponente kann Serviceprovider f r mehr als eine Schnittstelle sein provides eine Komponente kann den Service anderer Schnittstellen ben tigen requires spate Integration sp te Bindung Indirektion beschrieben durch Meta Information zur Laufzeit Interface Description Language IDL oder direkt in Programmiersprache 382 504 Beispiel CORBA IDL module Bank typedef long pin_t enum KontoFehlerTyp UngenuegendeKontodeckung exception KontoException KontoFehlerTyp typ string beschreibung interface Konto readonly attribute string name readonly attribute long kontoStand boolean isValidPin in pin t pin void abheben in long betrag raises KontoException void einzahlen in long betrag ie ie 383 504 Vertrag Schnittstelle als Vertrag zwischen Anbieter und Benutzer des Services Anbieter e ber Funktionalit t z B als Vor und Nachbedingungen ber nicht funktionale Anforderungen Service Level Ressourcen z B Standard Template Library f r C e Darstellung informal als Text formaler z B durch temporale Logik um Terminierung zuzusichern oder mit OCL e Kunde e Vermeidung von s
141. rozesses Suche ber die Taxonomie Ohne die Anzeige der Taxonomie k nnte der umfassende Elementarprozess nicht funktionieren Diese Seite unterst tzt also nur einen Elementarprozess Suche ber die Taxonomie Es handelt sich bei diesem offensichtlich nicht prim r um eine Eingabe auch wenn der Benutzer einen Punkt der Taxonomie ausw hlt Der Hauptzweck ist die Ausgabe von Daten In Frage kommen somit zun chst Abfrage oder Ausgabe Da die Verarbeitungsregel keine mathematische Formel oder Berechung erwarten l sst keine Daten abgeleitet werden keine ILF gepflegt wird und sich auch das Systemverhalten nicht ndern wird handelt es sich klar um eine Abfrage Online Bibliographie Suche nach Eigenschaften Bibliography Search Mozilla a Eile Edit View Go Bookmarks Tools Window Help al Q amp http www iste uni stuttgart de ps reengineering simple search html a amp Home Bookmarks The Mozilla Org Latest Builds Home Next Regular Expressions Search for References Fill out this form you can leave out fields press the button below and you will receive all the references that contain the regular expressions you filled in Note that the search is case insensitive and that the entries to retrieve must have all specified attributes keywords abstract E Start searching Clear all inputs koschke informatik uni stuttgart de Feedback Copyright 1997 University of Stuttgart
142. ructure CORE Product lines e take economic advantage of commonality e bound variability _Sharean an OOU are built from Quelle Linda Northrop SEI 428 504 Schl sselkonzepte Use of a core asset base in production of a related E e a MOG oo T T ud T Architecture Production Plan Scope Definition Business Case Quelle Linda Northrop SEI 429 504 Kostenaspekte einer Software Produktlinie Marktanalyse muss eine Familie von Produkten betrachten Projektplan muss generisch oder erweiterbar sein um Variationen zu erlauben e Architektur muss Variation unterst tzen Software Komponenten m ssen generischer sein ohne an Performanz einzub en m ssen Variation unterst tzen Testpl ne f lle daten m ssen Variationen und mehrere Instanzen einer Produktlinie ber cksichtigen Entwickler ben tigen Training in den Assets und Verfahren der Produktlinie 430 504 Return on Investment Current Practice Cumulative With Product Line Approach Cost Number of Products Quelle Weiss und Lai 1999 431 504 Zusammenspielende Komponenten Organizational Structure and Jersonnel Quelle Linda Northrop SEI 432 504 Practice Areas got Core Asset 4 Product Development 4 Development ln Management Quelle Linda Northrop SEI 433 504 Entwicklung der Core Assets ING Product Constraints Core Asset
143. sen noch die FTRs der beiden Elementarprozesse bestimmt werden Bei der Eingabe eines neuen Artikels muss nur der Datenbestand Referenzen angefasst werden bei der Abfrage der Taxonomie nur der Datenbestand Taxonomie Function Points zusammenfassen El Neuen Artikel einpflegen EQ Beschreibung der Taxonomie EQ gt Suche uber Taxonomie EQ3 Artikel ber Suchmaske abfragen ILF Referenzen ILF gt Taxonomie Metadaten Parameter RET ILFy 2 ILF gt 1 Parameter FTR Ely 1 EQ 1 EQ gt EQ3 Gewicht 7 7 Gewicht UFP 244 504 FP Werte der Komplexitatsgewichte w Function Points zusammenfassen UFP 0 1 3 4 FTRs 313 6 4 4 6 El Neuen Artikel einpflegen EQ Beschreibung der Taxonomie Suche ber Taxonomie Artikel ber Suchmaske abfragen Referenzen Taxonomie Metadaten Parameter RET Gewicht ILFy 2 7 ILF gt 1 T Parameter FTR Gewicht Ely 1 3 EQ 1 3 EQ2 EQ3 245 504 246 504 Online Bibliographie Taxonomiesuche Cm m ne au Bibliographic References Taxonomy Mozilla Eile Edit View Go Bookmarks Tools Window Help http Iste uni stuttgart d ineeri html amp s Sf M Q amp http Awww iste uni stuttgart de ps reengineering taxonomy htm Q Search o M RE Home Bookmarks The Mozilla Org Latest Builds Home Next Termino
144. sible If something is not clear just see the general lescription of the taxonomy Reengineering_in_General Reengineering_Collections Introductions_to_Reengineering Fundamentals 243 504 Beim Elementarprozesse Neuen Artikel einpflegen El sind insgesamt 13 Textfelder auszuf llen Au erdem muss am Ende der Schalter f r das Absenden der Daten bet tigt werden um den Elementarprozess abzuschlie en ein Schalter f r das Abbrechen z hlt nicht da damit der Prozess nicht abgeschlossen wird F r diesen Elementarprozess ergeben sich also zun chst 14 DETs Au erdem soll der Artikel in der Taxonomie eingeordnet werden Dies z hlt als weitere Eingabem glichkeit Dabei k nnen mehrere Klassen der Taxonomie ausgew hlt werden Der Datentyp der Auswahl die dem System bergeben wird stellt somit eine Liste von Taxonomieeintr gen dar Die Taxonomieeinordnung z hlt somit als ein 1 DET Die Eingabe Ely hat somit 15 DETs Die Taxonomieeinordnung stellt keinen Elementarprozess dar weil damit kein abgeschlossener Benutzerzweck verbunden ist Sie ist nur sinnvoll im Kontext des Elementarprozesses Neuen Artikel einpflegen Wenn der Link Classification bet tigt wird wird die Taxonomie als Baum von Taxonomieeintr gen angezeigt Dies z hlt als ein DET nicht die Anzahl von Daten sondern der Datentyp wird gez hlt Der Link Classification ist lediglich eine Navigation und z hlt somit nicht Die Abfrage EQ hat somit nur einen DET Nun m s
145. spezifikation Entwicklungsprozess Methoden und Werkzeuge Budget Zeit und Arbeitsplane Handb cher Entwickler 424 504 Erfolgsgeschichten CelsiusTech Familie von 55 Schiffssystemen Integrationstest of 1 1 5 Millionen SLOC ben tigt 1 2 Leute Rehosting auf neue Plattform Betriebssystem ben tigt 3 Monate Kosten und Zeitplan werden eingehalten Systemattribute wie Performanz k nnen vorausgesagt werden hohe Kundenzufriedenheit Hardware Software Kostenverh ltnis ver nderte sich von 35 65 zu 80 20 425 504 Erfolgsgeschichten Nokia Produktlinie mit 25 30 neuen Produkten pro Jahr Produkt bergreifend gibt es unterschiedliche Anzahlen von Tasten e unterschiedliche Display GroBen andere unterschiedliche Produktfunktionen 58 verschiedene unterst tzte Sprachen 130 bediente Lander Kompatibilit t mit fr heren Produkten konfigurierbare Produktfunktionen nderung der Ger te nach Auslieferung 426 504 Software Produktlinie Definition A software product line is a set of software intensive systems sharing a common managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way Clements und Northrop 2001 427 504 bersicht ber Produktlinien pertain to Market strategy Application domain is satisfied by Architecture used to st
146. ss with the OSGi container as a service under one or more interfaces The target bundle can then ask the OSGi container for services registered under a particular interface Once the service is found the target bundle binds with it and can start calling its methods Quelle http www javaworld com javaworld jw 03 2008 jw 03 osgi1 html page 4 P J J J J g pag Eclipse Demo Service Consumer Im Plug in Projekt com javaworld sample HelloWord die Klasse Activator wie folgt abandern public class Activator implements BundleActivator ServiceReference helloServiceReference public void start BundleContext context throws Exception System out printIn Consumer Hello_World helloServiceReference context getServiceReference HelloService class getName HelloService helloService HelloService context getService helloServiceReference System out printIn helloService sayHello 417 504 Eclipse Demo Service Consumer Forts public void stop BundleContext context throws Exception System out printIn Consumer Goodbye World context ungetService helloServiceReference 418 504 Eclipse Demo Start von Service Provider Consumer Im Manifest von com javaworld sample HelloService Launch the framework ausw hlen ss Hello update lt nummer gt wobei nummer die Id des Consumer Plug in HelloWorld ist 419 504 Wiederholungs und Vertiefungsfragen
147. stellen sie Felder dar die Eingaben darstellen Sie werden mit bertragen damit der Wert im Suchfeld richtig interpretiert werden kann Somit sind sie zumindest f r die Z hlung der DETs relevant Beispiel Online Bibliographie Elementarprozesse und Datenbest nde der Online Bibliographie El Neuen Artikel einpflegen EQ Beschreibung der Taxonomie EQ gt Suche ber Taxonomie EQ3 Artikel ber Suchmaske abfragen ILF Referenzen ILF2 Taxonomie Metadaten 232 504 Function Points zusammenfassen Unadjusted Function Points UFP Parameter Gewicht El W1 EO Wo EQ W3 ILF Wa ELF Ws UFP gt Wi zu ermitteln w Umfang Summe FPs ungewichtete Funktionspunkte UFP 233 504 Beispiel Komplexitatsgewichte w fur ELF und ILF Definition Feldgruppe RET Record Element Type f r Benutzer Publication erkennbare logisch Classes zusammengeh rige Untergruppe Author von Datenelementen innerhalb Title eines Datenbestands ILF EIF 2 yet Definition Denn DEI InProceedings Article Data Element Type f r EI nz Benutzer erkennbares eindeutig er bestimmbares nicht wiederholtes Month Feld 235 504 Hier werden die Daten abgesch tzt Der Datenbestand Referenzen unserer Online Bibliographie Beispiels wird hier beispielhaft und fragmentarisch durch eine Klassendiagramm beschrieben Das
148. stemverhalten ndern wobei gilt e Daten oder Steuerinformationen kommen von au erhalb des Systems und mindestens ein ILF wird gepflegt falls die Daten die die Systemgrenze berqueren keine Steuerinformationen sind die das Systemverhalten ver ndern und mindestens eine der folgenden Bedingungen ist erf llt Einzigartigkeit Verarbeitungslogik ist einzigartig gegen ber anderen Eingaben andere Datenfelder als bei anderen Eingaben werden verwendet e andere Datenbest nde als bei anderen Eingaben werden verwendet 221 504 Unterscheidung der Funktionstypen auf Basis des Hauptzwecks eines Elementarprozesses Definition Ausgabe Hauptzweck dem Anwender Informationen pr sentieren Daten oder Steuerinformationen werden ber Systemgrenze geschickt und Elementarprozess ist eindeutig s o und und mindestens eine der folgenden Bedingungen ist erf llt Abgrenzung zu Abfrage Verarbeitungslogik enth lt mindestens eine mathematische Formel oder Berechnung e Verarbeitungslogik pflegt mindestens einen ILF e Verarbeitungslogik ver ndert das Systemverhalten 222 504 Definition Abfrage Hauptzweck dem Anwender Informationen pr sentieren Daten oder Steuerinformationen werden uber Systemgrenze geschickt und Elementarprozess ist eindeutig s o und und alle folgende Bedingungen sind erf llt Abgrenzung zu Ausgabe e Elementarprozess bezieht Daten oder Steuerinformationen vo
149. struktionsphase Construction Ziel Fertigstellung Integration und Test aller Komponenten auslieferbares Produkt Software Produkt integriert in die entsprechende Plattform Benutzerhandbuch Dokumentation des gegenw rtigen Releases 43 504 In der Konstruktionsphase werden alle brigen Komponenten und Feature realisiert und in das Produkt integriert und intensiv getestet Die Konstruktionsphase ist einem gewissen Sinne ein Herstellungsprozess bei dem Wert auf das Management von Ressourcen und das Controlling gelegt wird um Kosten Zeitplan und Qualit t zu optimieren In diesem Sinne geht der Prozess nun von der intellektuellen Entwicklung zur Entwicklung auslieferbarer Produkte ber Viele Projekte sind gro genug um die Konstruktion zu parallelisieren Die Parallelisierung kann die Verf gbarkeit auslieferbarer Releases beschleunigen Andererseits kann sie auch die Komplexit t der Ressourcenverwaltung und der Synchronisation der Arbeitsfl sse erh hen Eine robuste Architektur und ein verst ndlicher Plan h ngen stark zusammen Deshalb ist eine kritische Qualit t der Architektur die Einfachheit ihrer Konstruktion Dies ist einer der Gr nde weshalb die ausgeglichene Entwicklung der Architektur und des Plans w hrend der Elaborationsphase so sehr betont wird Das Resultat der Konstruktionsphase ist ein Produkt das tats chlich in die H nde des Benutzers bergehen kann RUP bergabephase Transition Ziel Produ
150. sures Programmer pairs make as many algorithmic mistakes but fewer expression mistakes than solo programmers 132 504 Beispiel von M ller 2006 II Results The second result is significant on the 5 percent level Conclusions For simple problems pair programming seems to lead to fewer mistakes than solo programming 133 504 Wissenserwerb in Wissenschaft und Engineering Engineering ndern akzeptieren neei I Theorie 7 Ziel Ka u Operationale ndern ___ Methode Version Pl rdes akzeptieren ndern r gt Hypothese Metrik ndern Experiment Messung passt nicht passt kommt nicht naher kommt naher 134 504 Beschaffenheit empirischer Forschung in der Softwaretechnik erst seit ungef hr 1980 als wesentliche Disziplin anerkannt heute Konferenzen und Zeitschriften Verschiebung weg von rein mathematischen Methoden Mehrzahl der Probleme der Softwaretechnik sind nicht mathematischer Art hangen vielmehr von Menschen ab 136 504 Untersuchungsmethoden Umfragen und Erhebungen Geschichte Archivarische Analyse Fallstudien kontrollierte Experimente 137 504 Untersuchungsmethoden Umfragen und Erhebungen Datenerfassung mit Frageb gen oder ethnographische Studien k nnen auch a posteriori durchgef hrt werden dienen oft der Bildung von Hypothesen f r nachfolgende Fallstudien oder ko
151. t index 20 319 504 Das C Idiom Scoped Locking stellt sicher dass ein Lock erlangt wird wenn die Kontrolle einen kritischen Abschnitt betritt und der Lock wieder frei gegeben wird wenn der Abschnitt wieder verlassen wird v llig unabh ngig davon auf welchem Kontrollflusspfad dies geschieht Schmidt u a 2000 Scoped Locking nach Schmidt u a 2000 ifndef MUTEX_GUARD_H 2 define MUTEX_GUARD_H 3 include Mutex h 4 class Mutex_Guard 5 public 6 store a pointer to the mutex m and aquire it 7 Mutex_Guard Mutex amp m mutex amp m owner false 8 mutex gt lock 9 owner true only true iff lock succeeds 10 1 release the mutex when guard leaves the scope 12 Mutex_Guard 13 only release mutex if it was aquired successfully 14 if owner mutex gt unlock 15 16 private 17 Mutex mutex 18 bool owner 19 disallow copying and assignment 20 Mutex_Guard const Mutex_Guard amp 2 void operator const Mutex_Guard amp 22 23 endif 320 504 Vorteil Keine explizite Behandlung von lock und unlock da impliziter Sprachmechanismus ausgenutzt wird Das C Idiom Scoped Locking stellt sicher dass ein Lock erlangt wird wenn die Kontrolle einen kritischen Abschnitt betritt und der Lock wieder frei gegeben wird wenn der Abschnitt wieder verlassen wird v llig unabh ngig davon auf welchem Kontrollflusspfad dies geschieht Schmidt u
152. tActivePlayers ordered ournamen end Date tournaments Konkrete Syntax Definiert die konkrete Darstellung von Modellen Regeln f r die Abbildung auf die abstrakte Syntax players name String email String players 457 504 Konkrete Syntax Eine Klasse wird als Rechteck gezeichnet Bildquelle OCL Tutorial von Mazeiar Salehie http www stargroup uwaterloo ca ltahvild courses ECE493 T5 tutorials Tutorial Feb16 0CL pdf Abstrakte Syntax e Definiert den Aufbau korrekter Instanzen Elemente und ihre Beziehungen 458 504 Abstrakte Syntax Eine Klasse enth lt Attribute und Methoden Abstrakte Syntax von UML Klassendiagrammen Ausschnitt Element A ModelElement constrainedElement name Name 1 ordered ElementOwnership ownedElement visibility Visibi is ebay VBR stereotype Constraint namespace 0 1 SO _ a u Feature Namespace Generalizable Element Parameter Constraint ownerScope ScopeKind isRoot Boolean defaultValue Expression body Boolean Expression visibility VisibilityKind isLeaf Boolean kind ParameterDir ect onKind isAbstract Boolean feature N parameter owner 1 Classifier K type ordered i oa ordered ___StructuralFeature_ Behavioral Feature B multiplicity Multiplicity isQuery Boolean ng changeabili
153. te amp 326 504 Hier das Template Strategized Locking nach Schmidt u a 2000 oO AON DoT A Ww NBE 10 11 12 13 14 15 16 include Guard_Template h template lt class LOCK gt class Buffer public Buffer index 1 bool insert int i Guard_Template lt LOCK gt guard lock critical section return true bi private LOCK lock int content 100 int index 5 327 504 Der Buffer wird selbst zum Template und kann auf diese Weise statisch parametrisiert werden Wie vermeidet man unn tiges Locking und stellt sicher dass Aufrufe eigener Methoden nicht zu Deadlocks f hren 328 504 Deadlock include Guard h 2 class Buffer 3 public 4 Buffer Lock amp l lock amp Il index 1 5 bool insert int i 6 Guard guard xlock 7 if size 100 return false 8 else 9 oo Sage 10 return true 11 12 13 const int size 14 Guard guard xlock 15 return index 1 16 17 private 18 Lock lock 19 int content 100 20 int index 2 329 504 Thread Safe Interface nach Schmidt u a 2000 include Guard h 2 class Buffer 3 public 4 Buffer Lock amp l lock amp Il index 1 5 bool insert int i 6 Guard guard xlock 7 return insert_unlocked i 8 9 const int size 10 Guard guard xlock 11 return size unlocked ie 13 private 14 Lock xlock 15 int content 100 16 int
154. teres ist im Begriff Iteration nicht eingeschlossen Cleanroom Development Mills u a 1987 Spezifiziere u System formal Definiere Entwickle l Integriere Software strukturiertes Code i Inkrement inkremente Programm a Cleanroom Development Schlusselstrategien Formale Spezifikation Inkrementelle Entwicklung Strukturierte Programmierung Statische Verifikation Statistisches Testen Entwickle Verwendungs Entwerfe Teste profil statistische Tests integriertes System 49 504 basiert auf Verwendungsprofilen die Verwendungsweise der Software in der Praxis die h ufigsten und kritischsten Verwendungsarten werden verst rkt getestet 50 504 Statistisches Testen gleicht einem statistischen Experiment Aus der formalen Spezifikation und den im Feld ermittelten Benutzungsprofilen werden geeignete Testf lle entwickelt Mit Hilfe der Ergebnisse des Tests wird dann die Mean Time To Failure durschnittliche Dauer bis zu einem St rfall mit einer gewissen Wahrscheinlichkeit vorhergesagt Cleanroom Development Gruppen Spezifikationsteam e verantwortlich f r Entwicklung und Wartung der Systemspezifikation e erstellt kundenorientierte und formale Spezifikation Entwicklungsteam verantwortlich f r Entwicklung und Verifikation der Software Software wird nicht ausgef hrt hierzu verwen
155. tierung existiert V Modell von Boehm 1979 Eigenschaften entspricht Wasserfallmodell betont Qualit tssicherung fr he Vorbereitung von Validierung und Verifikation zus tzliche Parallelisierung Fehler Mangel werden fr her entdeckt alle sonstigen Nachteile des Wasserfallmodells 19 504 Testgetriebene Entwicklung Sneed 2004 Kennzeichen testgetriebener Entwicklung Testfalle werden fr h aus Anwendungsfallen abgeleitet dienen als Baseline treiben den Entwurf treiben die Kodierung Test Teams treiben die Entwicklung statt von Entwicklern getrieben zu werden 20 504 Testgetriebene Entwicklung Sneed 2004 Anwendungs und Testf lle Anwendungsfalle beschreiben Anforderungen sind jedoch oft nicht detailliert genug um erwartetes Verhalten vollst ndig zu spezifizieren Testfalle k nnen Anwendungsf lle hier komplementieren zu jedem Anwendungsfall sollte es mindestens einen Testfall geben Testfalle k nnen zur Kommunikation zwischen Entwickler und Kunden Anwender dienen 21 504 Testgetriebene Entwicklung Sneed 2004 Testf lle dienen als Baseline definieren die Vorbedingungen einer Produktfunktion spezifizieren die Argumente einer Produktfunktion spezifizieren das Verhalten einer Produktfunktion die Nachbedingungen 22 504 Testgetriebene Entwicklung Sneed 2004 Testfalle treiben den Entwurf oe Testfall ist ein Pfad durch die S
156. tion d A x A IR mit d a b gt 0 Ya b A d a b 0 amp a b d a b d b a Va be A d a c lt d a b d b c Va b c A 104 504 Skalenhierarchie Rationalskala 4 Rationalskala dazu Ma einheit Nullpunkt Transformationen M aM a gt 0 Operationen Statistiken geom Mittel Korrelation Beispiel Lange L Meter L Meilen 1609 105 504 Das geometrische Mittel zwischen zwei Zahlenwerten ist vfl f2 Das arithmetische Mittel zwischen zwei Zahlwerten ist f1 f2 2 Skalenhierarchie Absolutskala 5 Absolutskala Metrik steht fur sich selbst kann nicht anders ausgedr ckt werden Transformationen nur die Identit t M M Operationen absoluter Vergleich d h es existiert ein nat rlicher Nullpunkt und Ma einheit ist nat rlich gegeben d h im weitesten Sinne St ck Beispiele Z hler Anzahl Personen in einem Projekt Wahrscheinlichkeit eines Fehlers LOC f r Anzahl Codezeilen nicht LOC f r Programmlange 106 504 Gutekriterien fur Metriken Objektivitat Validitat Zuverlassigkeit Nutzlichkeit Normiertheit Vergleichbarkeit Okonomie Balzert 1997 107 504 G te entspr Qualit t Objekt kein subjektiver Einfluss durch Messenden m glich Valid misst wirklich das was sie vorgibt zu messen Zuverl Wiederholung liefert gleiche Ergebnisse N tzl hat praktische Bedeutung Norm es gibt eine Skala f r die Messerge
157. tors z B Code Inspektion wird angewandt Definition Object the entity that receives the treatment z B die Software Definition Subject Participant the person that applies the treatment z B Entwickler Definition Test Trial a combination of treatment subject and object An experiment consists of a set of tests z B Entwickler wendet Code Inspektion f r Software an Definition Dependent Variable Response Variable a characteristic of an experimental unit measured after treatment and analyzed to address the objectives of the experiment z B Anzahl gefundener Fehler und Dauer Definition Experimental Error accounts for the fact that experimental units treated independently and identically will not have identical dependent variable measurements z B Tagesform der Entwickler f hrt zu unterschiedlichen Messungen Auswahl der Teilnehmer Sampling Auswahl Stichprobe von Objects und Subjects population of subjects and objects Aspekte Auswahlgr e beeinflusst experimentellen Fehler und Aussagekraft des statistischen Tests je h her die Varianz in der Population desto gr er muss die Auswahl sein Art der sp teren Analyse beeinflusst AuswahlgroBe Art der Analyse fruhzeitig festlegen 156 504 Auswahl der Teilnehmer Sampling Strategien Quasi Experiment Subjects nicht zuf llig ausgew hlt Convenience Sampling Auswahl nach Einfachheit Simple Random Sampling zuf l
158. tp www informatik uni bremen de st lehredetails php id amp lehre_id 412 in der Vorlesung gezeigte und mit Tablet PC beschriftete Folien in Stud IP registrieren Videoaufzeichnungen aus dem Jahr 2007 unter http mlecture uni bremen de News und annotierte Folien unter Stud IP unter http elearning uni bremen de bungen bungen ca alle zwei Wochen alternierend zur Vorlesung bungsblatt im Netz 7 504 Scheinbedingungen Anerkennung durch m ndliche Pr fung e 30 min tige m ndliche Pr fung ber den Stoff der Vorlesung bungsaufgaben bearbeiten lohnt sich 8 504 Lehrb cher Allgemeine Literatur zur Softwaretechnik Sommerville 2004 Pressman 1997 Balzert 1997 Ludewig und Lichter 2006 Software Metriken Fenton und Pfleeger 1998 Aufwand und Kostensch tzung Boehm u a 2000 W Poensgen und Bock 2005 9 504 Lehrb cher Il Software Entwicklungsprozesse Beck 2000 Kruchten 1998 Balzert 2008 Bunse und von Knethen 2002 Pichler 2008 auch allgemeine Literatur ber Softwaretechnik Software Prozessverbesserung Siviy u a 2007 Kneuper 2006 Komponentenbasierte Entwicklung Szyperski u a 2002 10 504 Lehrb cher III Modellgetriebene Entwicklung Stahl u a 2007 Software Architektur Bass u a 2003 Hofmeister u a 2000 Entwurfsmuster Gamma u a 2003 Buschmann u
159. ty ChangeableKind targetScope ScopeKind A Attribute I Operation 1 inifalValue Expression concurrency CallConcurrencyKind Pe isRoot Boolean specification isLeaf Boolean isAbstract Boolean 459 504 Class leitet von Classifier ab Syntax und Semantik nach Stahl u a 2007 Statische Semantik e Schr nkt die abstrakte Syntax ein OCL Beispiel context Tournament inv end start lt Calendar WEEK start Date end Date getActivePlayers ordered ournamen end Date tournaments players name String email String players 460 504 Statische Semantik Der Name einer Klasse muss eindeutig sein Kann z B mit Object Constraint Language OCL ausgedr ckt werden Bildquelle und OCL Beispiel OCL Tutorial von Mazeiar Salehie http www stargroup uwaterloo ca ltahvild courses ECE493 T5 tutorials Tutorial Feb16 0CL pdf Syntax und Semantik nach Stahl u a 2007 Dynamische Semantik Bedeutung bzw Interpretation der abstrakten Syntax z B formalisiert als Abbildung der abstrakten Syntax auf ein mathematisches Modell denotionale Semantik z B formalisiert als Abbildung auf ausf hrbares Modell z B Code operationale Semantik 461 504 Dynamische Semantik Jede Instanz der Klasse hat alle Attribute ihrer Klasse Methoden der Klasse k nnen diese lesen und schreiben Standards der modellgetriebenen Entwicklung Mod
160. ungen erkannt zu werden 26 504 e bewusst will mit meinem Handy telefonieren e unbewusst Tastatur und Display sollen auf derselben Seite meines Handys sein e unterbewusst ich will SMS verschicken k nnen Basisfaktoren Minimalanforderungen Mangel f hrt zu massiver Unzufriedenheit mehr als Zufriedenheit ist nicht m glich Leistungsfaktoren bewusst verlangte Sonderausstattung bei Erf llung Kundenzufriedenheit sonst Unzufriedenheit Begeisternde Faktoren unbewusste W nsche n tzliche angenehme berraschungen steigern Zufriedenheit berproportional Kano Modell Begeisternde Faktoren Kunde sehr zufrieden begeistert Leistungs faktoren Erf llungsgrad Erwartungen nicht erf llt Basisfaktoren Kunde unzufrieden entt uscht 27 504 Kosten f r nderungen Kosten f r nderung 60 100 x 1 5 6x 1x Zeit Definition Entwicklung nach Auslieferung Pressman 1997 28 504 Inkrementelles Modell von Basili und Turner 1975 acct ween dos 2 komen dos 5 inkrorent dos 4 Inkrement 29 504 Das Wasserfallmodell geht davon aus dass alle Anforderungen zu Beginn erfasst werden k nnen und diese w hrend des Projekts stabil bleiben Dies ist in der Praxis selten der Fall Im Laufe des Projekts gewinnen die Entwickler ein besseres Verst ndnis der Anwendungsdom ne und entdecken Irrt mer in ihren urspr nglichen oft nur impliziten
161. ungsvererbung problematisch 392 504 Zerbrechliche Bas sklassen Basisklasse wird ge ndert sind erbende Klassen immer noch funktionsf hig unvorhergesehene Aufrufgraphen Version 1 class T public void foo Version 2 class T public void foo bar private int i a er public void bar i 1 class public void bar 393 504 Zerbrechliche Bas sklassen notwendig ist Schnittstellenvertrag zwischen Klasse und erbenden Klassen L sungen Ableiten der Klasse verbieten z B final e Sichtbarkeitsschutz public protected private final override Offenlegung der Funktionsweise der Basisklassen und Regeln was Unterklassen d rfen 394 504 Aufrufe zwischen Komponenten in verteilten Systemen Idee des lokalen Aufrufes bleibt erhalten Generierung von Stubs Aktionen des Aufrufers bei Aufruf Kontrolle geht an Stub Marshalling Serialisierung bertragung der Parameter Ausf hren auf dem Ziel bertragung des Ergebnisses Ausnahme Unmarshalling R ckgabe an den Aufrufer 000000 Optimierung f r lokalen Fall 395 504 Wiedereintritt int global 1 int foo non reentrant global global 1 what if interrupted here return global int bar non reentrant transitivity return foo 1 Vorkommen Callbacks von der unteren zur oberen Schicht oder Multithreading e Problem welche Funktionen d rfen w
162. velopment Framework Eclipse Projekt zur Entwicklung externer textueller DSLs basierend auf EMF Teil des Eclipse Modeling Project Definition von EBNF artigen Grammatiken die abstrakte und konkrete Syntax gleichzeitig darstellen Verwendung von Xpand Templates zur Code Generierung grammar org example domainmodel Domainmodel with org eclipse xtext common Terminals generate domainmodel http www example org domainmodel Domainmodel Model greetings Greeting Greeting Hello name ID 475 504 http www eclipse org Xtext Modelltransformationen Definition Modelltransformationen Abbildung einer Menge von Modellen auf eine andere Menge von Modellen Varianten Modell zu Modell Transformationen M2M Mappings Modell zu Text Transformationen M2T Templates Modelltransformationen werden in der Regel auf Metamodellen beschrieben und auf Modellinstanzen angewendet 476 504 Arten von Modelltransformationen horizontal Pe N a EEE Struktur abstrakter Refaktorisierung Optimierung Modell gt Modell Q Migration S A Renovierung ae T S Normalisierung x 5 Els RS E gt 5 x 8 Y schief Modell konkreter Reussner und Hasselbring 2009 477 504 Modell zu Modell Transformationen Erstellung von Modellen eines anderen Blickwinkels berf hren von Modellen h herer Abstraktionsebene in niedere Abstraktionsebenen
163. virtual void lock 0 7 Acquires the lock Blocks if the lock 8 is held by another thread 9 virtual void unlock 0 10 Releases the lock so that it can be 11 acquired by other threads 12 13 endif 324 504 Lock ist abstrakte Klasse Schnittstelle Strategized Locking nach Schmidt u a 2000 include Lock h class NullableLock Lock public NullableLock NullableLock inline void lock inline void unlock Oo AN D oO A UDN tf oO WY 325 504 Mutex implementiert Lock Falls es keine Threads gibt dann kann man Nullable verwenden Die Entscheidung kann hier zur Laufzeit getroffen werden Falls das bereits statisch bekannt ist und man den Laufzeit Overhead vermeiden m chte dann kann man Templates benutzen Strategized Locking nach Schmidt u a 2000 include Lock h 2 template lt class LOCK gt 3 class Guard_Template 4 public store a pointer to the mutex m and aquire it Guard_Template LOCK amp m lock amp m owner false lock gt lock owner true only true iff lock succeeds 10 release the lock when guard leaves the scope 11 Guard_Template 12 only release lock if it was aquired successfully 13 if owner lock unlock oO ON 0O A 15 private 16 LOCK xlock 17 bool owner 18 disallow copying and assignment 19 Guard_Template const Guard_Template amp 2 void operator const Guard_Templa
164. warteten Richtung auftreten Im Falle einer ungerichteten Forschungs bzw Alternativhypothese postuliert die Nullhypothese keinerlei Effekt Im Falle einer gerichteten Alternativhypothese geht die Nullhypothese von keinem oder einem gegengerichteten Effekt aus Bortz und D ring 2006 Hypothesen und Stichproben Sample Population absolute Wahrheit Sample C Population gt Problem Jede Hypothesenuberprufung liefert statistischen Kennwert z B Durchschnitt f r ein bestimmtes Sample Wiederholung mit anderen Subjects Objects liefert wahrscheinlich nicht exakt denselben Kennwert Kennwert ist Zufallsvariable Feststellung ob Kennwert extrem oder typisch ist ist ohne Kenntnis der Verteilung der Zufallsvariablen unm glich Funktion die den Ergebnissen eines Zufallsexperiments Werte so genannte Realisationen zuordnet 181 504 Verteilungen Definition Verteilung einer Variablen beschreibt welche Werte die Variable annehmen kann und wie oft sie das tut Gleichverteilung Normalverteilung 20 ea 182 504 H ufige Kennwerte einer Verteilungen Gegeben n Datenpunkte x1 x2 X einer Variablen X Durchschnitt oder arithmetisches Mittel x L See Varianz s DDoe Standardabweichung sx s2 183 504 Varianz und Freiheitsgrad Varianz s A ae ey Warum Durchschnitt mit 4 n 1 n li X 0 x X kann berechnet werden
165. weichung zwischen zwei Z hlern nur 12 Kemerer und Porter 1992 Z hlen der FPs relativ aufwendig 260 504 Object Points Fur 4GLs Query Languages Report Writers Haben nicht unbedingt mit OOP Objekten zu tun Gewichtete Sch tzung von Objects Points Anzahl verschiedener Screens Anzahl erstellter Reports Anzahl zu entwickelnder 3GL Module Vorteil Einfacher und weniger zu sch tzen vergleichbare Pr zision wie Function Point Sch tzung Banker u a 1991 47 des Aufwands f r Function Point Sch tzung Kauffman und Kumar 1993 261 504 Object Points Screens Reports views data tables sections data tables contained lt 4 lt 8 8 contained lt 3 1 1 2 0 1 3 7 1 2 3 2 3 gt 8 2 3 3 A 5 8 8 Views Menge logisch zusammengehoriger Daten z B Kundenstammdaten Data Tables Server data tables Client data tables Tabellen die abgefragt werden m ssen um Daten zu bestimmen Jede 3GL Komponente 10 object points 262 504 COCOMO COCOMO Constructive Cost Model Boehm 1981 Eingaben Systemgr e Projektrahmenbedingungen Ausgaben Realisierungsaufwand Entwicklungszeit Basiert auf Auswertung sehr vieler Projekte 263 504 COCOMO II Unterscheidung nach Phasen Boehm u a 2000 Fr he Prototypenstufe Fr he Entwurfsstufe e Stufe nach Architekturentwurf Sp tere Sch tzung
166. werden sollen aller Beteiligten zu erreichen Die Gesch fts Anwendungsf lle werden analysiert um zu verstehen wie die Gesch ftsprozesse unterst tzt werden sollen RUP Konzeptionsphase Inception Ziel Business Case erstellen und Projektgegenstand abgrenzen Resultate Vision der Hauptanforderungen Schl sselfeatures und wesentliche Einschr nkungen initiale Anwendungsfalle 10 20 vollst ndig Glossar oder auch Dom nenmodell initialer Business Case Geschaftskontext Erfolgskriterien Schatzung des erzielten Gewinns Marktanalyse etc und Finanzvorschau initiale Risikobetrachtung Projektplan mit Phasen und Iterationen Business Modell falls notwendig ein oder mehrere Prototypen 40 504 Begleitende Aktivit ten sind das Konfigurations und nderungsmanagement und das Projektmanagement Ihr Aufwand ist in allen Phasen mehr oder minder gleich Der Aufwand f r das Konfigurations und Anderungsmanagement zeigt leichte Peaks im bergang von einer Phase zur anderen wenn die Konfigurationen fest gezurrt werden und zum Teil nachgearbeitet werden muss Dem Glossar kommt eine ganz besondere Bedeutung zu Es erkl rt die Begriffe der Anwendungsdom ne Software Entwickler sind Spezialisten f r die Entwicklung von Software aber Laien in sehr vielen ihrer Anwendungsdom nen Dar ber hinaus verwenden auch Kunden oft die Begriffe uneinheitlich bzw gel ufige Worte mit einer ganz speziellen Bedeutung in ihrem Kont
167. wicklungspraktiken e f hrt durch dienen F higkeiten Moderation Coaching Erfahrung in Softwareentwicklung 64 504 Scrum Product Backlog Product Backlog enth lt alle bekannten funktionalen und nichtfunktionalen Anforderungen weitere Arbeitsergebnisse z B Aufsetzen der Test und Entwicklungsumgebung keine Aktivit ten wird vom Product Owner gepflegt 65 504 Scrum Product Backlog Prio Thema Beschreibung Akzeptanz Aufwand 1 Kalender Administrator Installationsskrip 2 kann zentrale legt DB an Kalenderdaten bank anlegen 2 Kalender Nutzer kann valider Termin 3 Termin eintra wird eingetra gen gen invalider Termin wird zur ckgewiesen 3 Kalender Nutzer kann gel schter 3 Termin l schen Termin ist entfernt L schung nur wenn Rechte vorhanden 66 504 Das Product Backlog ist ein lebendes Dokument Es wird nach jedem Sprint aktualisiert Seine Eintr ge sind priorisiert Sie weisen einen unterschiedlichen Detaillierungsgrad auf Die im kommenden Sprint anvisierten Anforderungen sind genauer beschrieben Der Aufwand jedes Eintrags ist abgesch tzt Einheit Punkte siehe unten Vorlagen gibt es z B unter http epf eclipse org wikis scrum Scrum guidances templates burndown_chart_D182CF23 html Scrum Kostensch tzung Sch tzklausur und Planungspoker 67 504 Scrum Kostensch tzung Punkteskala Fibonacci Reihe 0
168. wurfsmuster Decorator Entwurfsmuster Strategy Entwurfsmuster f r Synchronisation Scoped Locking Entwurfsmuster f r Synchronisation Strategized Locking Entwurfsmuster f r Synchronisation Thread Safe Interface Entwurfsmuster f r Parallelisierung Thread Pool Entwurfsmuster f r Parallelisierung Monitor Object Entwurfsmuster f r Parallelisierung Leader Followers Wiederholungsfragen 290 504 Lernziele e Verstehen was Entwurfsmuster sind Verschiedene Enwurfsmuster kennen und anwenden k nnen e Qualit ten und Einsetzbarkeit der Entwurfsmuster kennen 291 504 Entwurfsmuster Each pattern describes a problem which occurs over and over again in our environment and then describes the core of the solution to that problem in such a way that you can use this solution a million times over without ever doing it the same way twice Christopher Alexander Architekt und Mathematiker A pattern language 1977 Definition Entwurfsmuster Musterlosung f r ein wiederkehrendes Entwurfsproblem 293 504 Kategorien von Entwurfsmustern Muster f r das Erzeugen von Instanzen e Singleton strukturelle Muster zur Komposition von Klassen oder Objekten e Composite e Adapter e Decorator e Verhaltensmuster betreffen Interaktion von Klassen oder Objekten e Command 294 504 Bestandteile eines Entwurfsmusters Name kurz und beschreibend Problem Was das Entwurfsmuster l st L sung Wie es
169. y compliant with the OSGI R4 specification Quelle Wikipedia Eclipse Demo Einfaches Bundle anlegen Q Q Q Q Q Q Q Q Neues Plug in Projekt File New Project Selektiere Plug in Project und Next Eingabe Project Name com javaworld sample HelloWorld e Target Platform OSGi framework Equinox Weiter mit Next Selektiere Voreinstellungen im Plug in Context Dialog und Next Templates Dialog Hello OSGi Bundle und Finish Manifest anschauen Quellcode von Activator anschauen 412 504 Eclipse Demo Einfaches Bundle starten Framework testweise starten Sektion Testing Link Launch the framework Status des Bundles anschauen ss Hello in OSGI Konsole eingeben Bundle anhalten stop lt nummer gt Bundle starten start lt nummer gt Quelltext von Activator verandern Ausgabe verandern Bundle aktivieren update lt nummer gt 413 504 Eclipse Demo Export Neues Plug in Projekt com javaworld sample HelloService anlegen wie oben Im Projekt neues Interface HelloService im Package com javaworld sample service package com javaworld sample service public interface HelloService public String sayHello Neue Klasse HelloServicelmpl im Package com javaworld sample service impl package com javaworld sample service impl import com javaworld sample service HelloService public class Hell
170. y ist gleich dem Mittelwert von ux fly Folgt aus Additionsregel f r Mittelwerte und Mittelwert von jedem Messwert X ist der Mittelwert seiner Population ju 193 504 Experiment mit zwei Samples t Test Varianz von x y ist 2 on Oy ee EC n m Folgt aus Additionsregel f r Varianzen 194 504 Experiment mit zwei Samples t Test Satz Wenn beide Populationen normalverteilt sind dann ist die Verteilung von x y auch normalverteilt Z Transformation einer Zufallsvariablen hat Standardnormalverteilung N 0 1 _ KEY ux by o2 o3 x nm 195 504 Experiment mit zwei Samples t Test Annahme war beide Populationen haben gleiche Varianz S EN Je 0 0 Varianz von g kann gesch tzt werden durch zusammengelegte Varianzen s als gewichteter Durchschnitt 2 n 1 s2 m 1 s P n 1 m 1 Damit ist z Transformation fur die Schatzung x ux py 2 S maa R aa t t folgt Students t Verteilung mit n 1 m 1 n m 2 Freiheitsgraden df 196 504 Die Annahme ist dass die Samples beide eine gemeinsame homogene Varianz haben Dann kann diese gesch tzt werden indem die Informationen beider Samples geb ndelt werden Die Sch tzung ist dann der gewichtete Durchschnitt der einzelnen Varianzen beider Sample Varianzen Die Gewichte hierf r sind die jeweiligen Freiheitsgrade n 1 und m 1 5 ist dann die geb ndelte Varian
171. z Der Freiheitsgrad von Sp ist n 1 m 1 n m 2 Students t Verteilung df Freiheitsgrad 0 40 0 35 0 30 0 25 amp 0 20 0 15 0 10 0 05 0 00 197 504 Students t Verteilung Ungerichtete H u1 u2 A Ho 1 u2 Zweiseitiger Test z 2 2 t t a 2 0 t a 2 Ho ablehnen _ Ho ablehnen Gerichtete Hy u1 gt u2 A Ho y lt po einseitiger Test 0 ta gt Ho ablehnen 198 504 Ungerichtete Alternativhypothese H p 4 u2 Nullhypothese postuliert keinerlei Effekt Hy u p2 Gerichtete Alternativhypothese H u gt wa Nullhypothese postuliert keinen oder gegengerichteten Effekt Ho p lt p2 Gerichtete Hypothesen werden anhand der Verteilung ber einseitige und ungerichtete Hypothesen ber zweiseitige Tests gepr ft Bei einem zweiseitigen Test markieren die Werte t a 2 und t a 2 diejenigen t Werte einer t Verteilung die von den Extremen der Verteilungsfl che jeweils amp 2 abschneiden Zusammenfassung des Vorgehens beim t Test Eingabe Zwei unabh ngige Samples x1 x2 Xn und Y1 Y2 Ym Annahme Populationen zu X und Y sind normalverteilt und haben gleiche Varianz Ho Mittelwerte von X und Y sind gleich wx uy 0 xy Transformation von Ho to Sir 3 n 1 s2 m 1 s wobei Sp n 1 m 1 und s2 und s sind die individuellen Sample Varianzen to folgt bei G ltigkeit von Ho einer t Verteilung mit n m 2 Freihe
172. zw y Gj X 1 54 11 0 X 185 11 0 X 2 49 11 0 X 2 68 11 0 X 2 71 11 0 X 2 84 11 0 Y 3 05 X 3 22 10 1 X 3 24 10 1 Y 3 44 X 3 48 9 2 Y 3 49 Y 3 69 Y 4 09 Y 4 10 Y 4 21 X 430 4 7 Y 4 40 Y 4 76 Y 4 96 Y 4 97 gt 9 ll 203 504 Signifikanztest zum exakten U Test von Mann Whitney Es gibt m gliche Rangfolgen Erwartungswert f r U bei Ho wy n m 2 Je weiter beobachtetes U vom Erwartungswert abweicht desto unwahrscheinlicher ist Ho Einseitiger Test e Zu Anzahl m glicher Kombinationen die einen U Wert liefern der nicht gr er als U ist P zul Zweiseitiger Test Zi Anzahl m glicher Kombinationen die einen U Wert liefern der nicht kleiner als max L G ist o P Zu Zu H Lehne Ho ab wenn P lt a Kritischer Wert der zur Ablehnung von Ho f hrt kann in Tabelle des U Tests f r kleine Samples nachgeschlagen werden Im Beispiel kritischer Wert 26 fur a 0 05 Ho wird abgelehnt wegen U lt 26 204 504 Tabellen f r den kritischen Wert bei gegebenem Signifikanzniveau f r den U Test lassen sich im Web finden indem man nach den Stichw rtern table u test sucht Z B math usask ca laverty S245 Tables wmw pdf Es wird vorausgesetzt dass keine identischen Messwerte Bindungen oder Rangbindungen auftreten Falls Bindungen vorhanden sind werden den Werten die mittleren Rangzahlen zugewiesen Weiterf hrende

Download Pdf Manuals

image

Related Search

Related Contents

GB DK I T PT ES FR NL NO SE RU DE  TIFON-35  Gebruikershandleiding  Delta Electronics CKI24H User's Manual  Manual del propietario  Philips Soundbar Home theater HSB2351  ダウンロード  

Copyright © All rights reserved.
Failed to retrieve file