yÿ Diesen Eintrag NICHT löschen! Er dient der der Formatierung ab Version 4.0. - Download unter www.KarteikartenTrainer.dey8…} ArialÿArial}H}0=}ày8…}pûž8“w8yz8“w†žñvy@…}Tû᪓wH}è=yÔjvyPyè=y@Aáy€|apÇ}y€|üž8“w8yz8“wâ™ñvyˆ|lûúÿFelix Nolte Anwendungsorientierte Programmierung für Ingenieure (UE des IFF - SS 2011) Aus den PP-Folien zusammengestellte Fragen uhüFÄýì3@LŒKÀ€´(@z8“wtyWofür steht GUIGraphical User Interface Vorteile von GUI Programmen7- einfach interpretierbare Ausgabe - intuitive Eingabe.Wofür steht WIMP und wobei wird es eingesetzt?DWindows Icons Menu Pointing Device -bei der GUI ProgrammierungWas ist ein Widget?d wobei wird es eingesetzt?Ein einzelnes Bedienelement. Zusammengestezt aus Window und Gadget -> Widget Mehrere Widget ergeben eine graphische OberflächeWozu dienen Widget-Toolkits?ird es eingesetzt?­- der Plattformübergreifenden GUI-Programmierung - der abstraktion der Systemeigenen Schnittstellen durch die eigene API - damit kapselung der systemnahen Funktionalitäten)Nennen Sie Beispiele für Window-Toolkits.etzt?^- MFC (Microsoft Foundation Classic) - Cocoa - WxWidgets - Gimp-Toolkit (GTK+) - GTK-Gladetellen durch die eigene API - damit kapselung der systemnahen FunktionalitätenWas sind Events?iele für Window-Toolkits.etzt?4Beispiele - Mausklick - Texteingabe - Drag & Dropidgets - Gimp-Toolkit (GTK+) - GTK-Gladetellen durch die eigene API - damit kapselung der systemnahen FunktionalitätenWas sind Signals? e für Window-Toolkits.etzt?VObjekte z.B. Buttons können Signale (Signals) abgeben. Z.B. über ein Event (Mausklick)TK-Gladetellen durch die eigene API - damit kapselung der systemnahen FunktionalitätenWas sind Slots?s? e für Window-Toolkits.etzt?USignale (Signals) können mit Slots verbunden werden. Diese Rufen dann z.B. etwas auf.)TK-Gladetellen durch die eigene API - damit kapselung der systemnahen FunktionalitätenJWofür braucht man Bibliotheken und auf welche Art kann man sie einnbinden?c- zum Auslagern oft verwendeter Funktionen durch statisches Linken oder durch dynamisches Linkenn durch die eigene API - damit kapselung der systemnahen FunktionalitätenVWas ist eine statische Bibliothek? Nennen Sie Vor und Nachteile vom statischen Linken.ÿBibliothek wird direkt in ausfürbare datei integriert. Vorteile: - Keine Abhängigkeiten (da integriert) Nachteile: - Große Datei - benötigen mehrere Programme die Biblithek, wird diese gleich mehrmals geladen - teilweise Urheberrechtlich nicht zugelassenWWas ist eine dynamsche Bibliothek? Nennen Sie Vor und Nachteile vom dynamischen Linken.ÿDie Bibliothek wird erst zur Laufzeit eingebunden Vorteile: - kleine Datei - bei mehrfachbenutzung wird diese nur einmal geladen - Bibliotheken lassen sich austauschen ohne erneutes Kompilieren Nachteile: - Anwendung nur ausführbar, wenn Bibliothek vorhaneden3Nennen Sie Vor und Nachteile paralleler Algorithmennd Nachteile vom dynamischen Linken.²- mehr Verwaltungsaufwand - nur voneinander unabhängige Berechnungen sind möglich - Zugriff auf Systemressourcen muss synchronisiert werden - mehr Threads pro Takt bearbeitbar erneutes Kompilieren Nachteile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas ist ein Prozess?achteile paralleler Algorithmennd Nachteile vom dynamischen Linken.¡- ablaufendes Programm mit zugewiesenen Ressourcen - kann aus mehreren Threads bestehen - ein Prozessor kann immer nur einen Prozess gleichzeitig bearbeiten Takt bearbeitbar erneutes Kompilieren Nachteile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas ist ein Thread??achteile paralleler Algorithmennd Nachteile vom dynamischen Linken.-Ein Ausführungsstrang innerhalb eines Prozessurcen - kann aus mehreren Threads bestehengriff auf Systemressourcen muss synchronisiert werden - mehr Threads pro Takt bearbeitbar erneutes Kompilieren Nachteile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas ist Multithreading?teile paralleler Algorithmennd Nachteile vom dynamischen Linken.š- mehrere Threads teilen sich Systemressourcen innerhalb eines Prozesses - Datenaustausch zwischen den Threans möglich und leichter als beim Singlethreadads pro Takt bearbeitbar erneutes Kompilieren Nachteile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenQWas ist beim Multithreading bezüglich der Systemressourcen möglich? Was kritisch?inken. Unternehmen können diesen Nutzen -> klare Abrechnung -> bessere Nutzung der Ressourcen -> Energiesparen -> Sicherheitsbedenken (Verschlüsselung der Daten notwendig)egebenile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenBWozu dienen Versionskontrollsysteme VCS [ Version Control System]?en?as kritisch?inken.Š- Sicherung von alten Dateiversionen und Änderungen - Unterstützung von mehrern Entwicklern - Dokumentation von Änderungden(Zeit, Autor)en ->Sicherheitsbedenken (verschlüsselung der Daten natwendig)igegebenile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas ist ein Repository?trollsysteme VCS [ Version Control System]?en?as kritisch?inken.LTeil eines Versionskontrollsystem: - Sammlung aller Dateien und Varianten rern Entwicklern - Dokumentation von Änderungden(Zeit, Autor)en ->Sicherheitsbedenken (verschlüsselung der Daten natwendig)igegebenile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas ist ein Branch?ory?trollsysteme VCS [ Version Control System]?en?as kritisch?inken.ATeil eines Versionskontrollsystem: - einzelner EntwicklungszweigVarianten rern Entwicklern - Dokumentation von Änderungden(Zeit, Autor)en ->Sicherheitsbedenken (verschlüsselung der Daten natwendig)igegebenile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas ist ein Trunk??ory?trollsysteme VCS [ Version Control System]?en?as kritisch?inken.@Teil eines Versionskontrollsystem: - Der HauptentwicklungszweiggVarianten rern Entwicklern - Dokumentation von Änderungden(Zeit, Autor)en ->Sicherheitsbedenken (verschlüsselung der Daten natwendig)igegebenile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas ist ein Head???ory?trollsysteme VCS [ Version Control System]?en?as kritisch?inken.DTeil eines Versionskontrollsystem: - Aktuellste Revision (Variante)ianten rern Entwicklern - Dokumentation von Änderungden(Zeit, Autor)en ->Sicherheitsbedenken (verschlüsselung der Daten natwendig)igegebenile: - Anwendung nur ausführbar, wenn Bibliothek vorhaneden4Welche Konzepte für Versionskontrollsysteme gibt es?ntrol System]?en?as kritisch?inken.)Lock-Modify-Write und Copy-Modify-Mergeuellste Revision (Variante)ianten rern Entwicklern - Dokumentation von Änderungden(Zeit, Autor)en ->Sicherheitsbedenken (verschlüsselung der Daten natwendig)igegebenile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas ist Lock-Modify-Write?nskontrollsysteme gibt es?ntrol System]?en?as kritisch?inken.Ö- Zugriff über Sperren -> keine konflikte - Vor Beginn der Arbeit muss Sperre angefordert werden, nach der Änderung muss Sperre wieder aufgehoben werden - Nachtteil: keine gemeinsame Arbeit an einer Datei möglich - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas ist Copy-Modify-Merge?nskontrollsysteme gibt es?ntrol System]?en?as kritisch?inken.‘- parallele Änderungen mehrerer Entwickler an einer Datei möglich - ggf. Zusammenfügen der Änderungen (-Merge) - bei Binärdateien nicht möglichn werden - Nachtteil: keine gemeinsame Arbeit an einer Datei möglich - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWozu dient Dokumentation??nskontrollsysteme gibt es?ntrol System]?en?as kritisch?inken.Ã- Nachvollziehbarkeit - Projektstatus, Kommunikation zw. Mitarbeitern, Handbuch für Anwender..... - Nachweis über Arbeitsfortschritt - Für den Auftraggeber, Auftragnehmer - Rechtlicheiner Datei möglich - Anwendung nur ausführbar, wenn Bibliothek vorhaneden)Wie lassen sich Dokumente Klassifizieren?me gibt es?ntrol System]?en?as kritisch?inken.Ï- Primär/ und Sekundärdokumente (Quellcode.../ Anforderungsdokumente...) - Admenistrative Dokumente (Risikoabschätzung....) - Technische Dokumente (Skripte....) - Design Dokumente (Softwarearchitektur...)möglich - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas ist Doxygen?Dokumente Klassifizieren?me gibt es?ntrol System]?en?as kritisch?inken.ºProgramm zur automatisierten Beschreibung von API's - unterstützt mehrere Programmiersprechen - Integration in viele Entwicklungsumgebungen - Lauffähig unter vielen Betriebssystemenftwarearchitektur...)möglich - Anwendung nur ausführbar, wenn Bibliothek vorhaneden(Was ist UML - Unified Modeling Language??me gibt es?ntrol System]?en?as kritisch?inken.p- Stadatisiert nach ISO/IEC 12501 - Systemmodellierung durch Begriffe und deren Beziehungen zueinander (Modell)in viele Entwicklungsumgebungen - Lauffähig unter vielen Betriebssystemenftwarearchitektur...)möglich - Anwendung nur ausführbar, wenn Bibliothek vorhanedenpWas wird bezüglich der Rollenverteilung bei der Nachvollziehbarkeit voraus gesetzt? Im Sinne der Zertifizierung.Å- einzelne Projektphasen müssen Nachvollziehbar sein - Aufstellen von Tests und deren Durchführung müssen von unabhängigen Personen betrieben werden - Tester und Entwickler müssen unabhängig seintektur...)möglich - Anwendung nur ausführbar, wenn Bibliothek vorhaneden*Woraus setzt sich eine Plattform zusammen?i der Nachvollziehbarkeit voraus gesetzt? Im Sinne der Zertifizierung.Ð- Hardware ( Prozessor, Ram, Speicher,.....) - Betriebssystem (Abstrahiert Hardware, Benutzereingabeverarbeitung,....) - Software-Bibliotheken (Abstrahiert Betriebssystem, Compiler, Linker, Datentypen,....)öglich - Anwendung nur ausführbar, wenn Bibliothek vorhaneden%Was wird beim Crosscompiling gemacht?mmen?i der Nachvollziehbarkeit voraus gesetzt? Im Sinne der Zertifizierung.eErzeugung von Maschinencode für Zielplattform, die nicht mit der Entwicklungsplattform identiisch istverarbeitung,....) - Software-Bibliotheken (Abstrahiert Betriebssystem, Compiler, Linker, Datentypen,....)öglich - Anwendung nur ausführbar, wenn Bibliothek vorhaneden"Was versteht man unter Portierung?ht?mmen?i der Nachvollziehbarkeit voraus gesetzt? Im Sinne der Zertifizierung.:Anpassung der Software an Besonderheiten der Zielplattformit der Entwicklungsplattform identiisch istverarbeitung,....) - Software-Bibliotheken (Abstrahiert Betriebssystem, Compiler, Linker, Datentypen,....)öglich - Anwendung nur ausführbar, wenn Bibliothek vorhaneden&Was versteht man unter Portierbarkeit?men?i der Nachvollziehbarkeit voraus gesetzt? Im Sinne der Zertifizierung.FJe geringer der Aufwand zur Portierung, desto höher die Portierbarkeitcklungsplattform identiisch istverarbeitung,....) - Software-Bibliotheken (Abstrahiert Betriebssystem, Compiler, Linker, Datentypen,....)öglich - Anwendung nur ausführbar, wenn Bibliothek vorhanedenQWie sieht der Idealfall und wie die Realität in bezug auf die Portierbarkeit aus?t? Im Sinne der Zertifizierung.ÿIdealfall: - keine Änderungen am Code, Daten, Software-Architektur und Benutzerschnittstelle - bisheriges Buildsystem erzeugt ausführbare Programmdatei für Zielplattform Realität: - Code und Benutzerschnittstelle müssen angepasst werden - BuildsystSem muss ausgetauscht werden - Worst Case: Softwarearchitektur muss geändert werden&Herausforderungen beim Crosscompiling!alität in bezug auf die Portierbarkeit aus?t? Im Sinne der Zertifizierung.â- Verwendete Bibliotheken nicht auf Entwicklungs- und Zielplattform verfügbar - Unterstützt Compieler die Architektur der Zielplattform - Unterstützt Zielplattform Benutzerschnittstellen - Übertragbarkeit auf Zielplattform angepasst werden - Buildsystem muss ausgetauscht werden - Worst Case: Softwarearchitektur muss geändert werden!Was ist eine virtuelle Maschiene?ling!alität in bezug auf die Portierbarkeit aus?t? Im Sinne der Zertifizierung.ÿ- Zusätzliche Abstraktionsschicht auf dem Betriebssystem - Simuliert eine komplette Hardwareumgebung - Ermöglicht das ausführen von Guest-Betriebssystemen auf Host Betriebssystem -> Zielplattform kann auf Entwicklungsplattform simuliert werden und mus#s nicht physikalisch vorhanden seint Case: Softwarearchitektur muss geändert werden2Was sind Emulatoren? Nennen Sie vor und Nachteile!zug auf die Portierbarkeit aus?t? Im Sinne der Zertifizierung.ÿNachbildung/ Simulation eines Systems (Hardware, Software) Vorteile: - Programm kann getestet werden, ohne die Konfiguration komplett zu übertragen - Fehlerdignose ist so oft leicher Nachteile: - Softwareemulatoren benötigen viele Ressourcen - EAingabemedien können nicht immer Nachgebildet werden (Touchscreen)ss geändert werden9Was bedeutet Echtzeit und wie kann man diese unterteilen? die Portierbarkeit aus?t? Im Sinne der Zertifizierung.e- garantiert die rechtzeitige Ausführung einer Operation Unterteilung in Harte und Weiche Echtzeitden, ohne die Konfiguration komplett zu übertragen - Fehlerdignose ist so oft leicher Nachteile: - Softwareemulatoren benötigen viele Ressourcen - Eingabemedien können nicht immer Nachgebildet werden (Touchscreen)ss geändert werdenWas ist weiche Echtzeit?d wie kann man diese unterteilen? die Portierbarkeit aus?t? Im Sinne der Zertifizierung.6- In den meisten Fällen ist Rechtzeitigkeit garantierton Unterteilung in Harte und Weiche Echtzeitden, ohne die Konfiguration komplett zu übertragen - Fehlerdignose ist so oft leicher Nachteile: - Softwareemulatoren benötigen viele Ressourcen - Eingabemedien können nicht immer Nachgebildet werden (Touchscreen)ss geändert werdenWas ist harte Echtzeit??d wie kann man diese unterteilen? die Portierbarkeit aus?t? Im Sinne der Zertifizierung.F- Rechtzeitigkeit ist immer garantiert - Laufzeiten sind vorhersagbarng in Harte und Weiche Echtzeitden, ohne die Konfiguration komplett zu übertragen - Fehlerdignose ist so oft leicher Nachteile: - Softwareemulatoren benötigen viele Ressourcen - Eingabemedien können nicht immer Nachgebildet werden (Touchscreen)ss geändert werden2Nennen sie die 3 möglichen Zustände eines Prozess!nnd Nachteile vom dynamischen Linken.Laufend, Wartend, Unterbrochenewiesenen Ressourcen - kann aus mehreren Threads bestehen - ein Prozessor kann immer nur einen Prozess gleichzeitig bearbeiten Takt bearbeitbar erneutes Kompilieren Nachteile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas ist Scheduling?glichen Zustände eines Prozess!nnd Nachteile vom dynamischen Linken.¡- Strategie, des Betriebssystems zur Zuteilung von Prozessor Ressourcen - Üblich sind feste Intervalle an Prozessorzeit und die Priorisierung wartender Prozesse Takt bearbeitbar erneutes Kompilieren Nachteile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas sind Ineterrupts?ichen Zustände eines Prozess!nnd Nachteile vom dynamischen Linken.†- Signale, die für die Unterbrechung eines Prozesses verantwortlich sind - Hard- und Software interrupts z.B. Mauseingabe verarbeitenisierung wartender Prozesse Takt bearbeitbar erneutes Kompilieren Nachteile: - Anwendung nur ausführbar, wenn Bibliothek vorhaneden=Nennen Sie Randbedingungen für HMI (Human-Machine Interface)!le vom dynamischen Linken.Í- Menge / Art der vermittelten Informationen - Typische persönliche Belastung des Bedieners - Größe / Art der Anzeige - Möglichkeit der Interaktion - Umgebungsbedingungen - Technische Realisierbarkeitchteile: - Anwendung nur ausführbar, wenn Bibliothek vorhanedenWas ist Fokus?dbedingungen für HMI (Human-Machine Interface)!le vom dynamischen Linken.·Konzept zur Interaktion mit Widgets - Fokus=Interaktion, aktives Bedienelement - einzelnes Widget kann Fokus erhalten - Visualisierung über z.B. blinken Cursor, fabigen Rahmen,....ische Realisierbarkeitchteile: - Anwendung nur ausführbar, wenn Bibliothek vorhaneden-Nennen Sie die 3 Werkzeuge eines Buildsystem!hine Interface)!le vom dynamischen Linken."- Texteditor - Compiler - Linkers - Fokus=Interaktion, aktives Bedienelement - einzelnes Widget kann Fokus erhalten - Visualisierung über z.B. blinken Cursor, fabigen Rahmen,....ische Realisierbarkeitchteile: - Anwendung nur ausführbar, wenn Bibliothek vorhaneden;Beschreiben Sie den Vorgang zur Erstellung eines Programms!)!le vom dynamischen Linken.¶1. Quellcode schreiben (Source File) 2. Kompilation: Quellcode in Maschinencode umwandeln (Object File) 3. Linken: Object Files und Bibliotheken in einer Applikation zusammenfassen.ische Realisierbarkeitchteile: - Anwendung nur ausführbar, wenn Bibliothek vorhaneden6Was sind Makefiles? Nennen Sie auch Vor und Nachteile!amms!)!le vom dynamischen Linken.ÿAutomatisierung der Kompilation: - Aufruf von Compiler und Linker - Übergabe der benötigten Quellen - Nur aktuellere Quellen neu "bauen" Vor / Nachteile: + Sehr mächtig & flexibel + Komfortabel (nach Erstellung) - Erstellung nicht intuitiv - K:omplexe Makefiles fehleranfällig - Aufwand bei ErstellungWas ist CMake?iles? Nennen Sie auch Vor und Nachteile!amms!)!le vom dynamischen Linken.uEin moderner Makefile-Generator - Open Source - Erzeugung von Projektdateien für verschieden Entwicklungsumgebungenre Quellen neu "bauen" Vor / Nachteile: + Sehr mächtig & flexibel + Komfortabel (nach Erstellung) - Erstellung nicht intuitiv - Komplexe Makefiles fehleranfällig - Aufwand bei Erstellung5Was sind IDE's (Integrated Development Enviroment)? !amms!)!le vom dynamischen Linken.í- Vereint gesamte Toolchain - Graphische Bedienoberfläche - Erweiterter Texteditor (Syntaxhighlithing...) - Projektverwaltung (nutzt Makefiles oder ähnliches) - Assistenten (Klassen, Projekte....) - Integration weiterer Werkzeugeicht intuitiv - Komplexe Makefiles fehleranfällig - Aufwand bei ErstellungWas ist ein Skript?egrated Development Enviroment)? !amms!)!le vom dynamischen Linken.¸- Sequentielle Ausführung von Kommandos - Erstellen mit Texteditor - Keine Kompilation sondern nur Interpretation des Skriptes Skriptsprachen: java, Matlab, Python,...............n, Projekte....) - Integration weiterer Werkzeugeg nicht intuitiv - Komplexe Makefiles fehleranfällig - Aufwand bei ErstellungIWas sind die unterschiede bei der statischen und dynamischen Typisierung?ischen Linken.ÿstatische Typisierung: - Typen von Variablen und Funktionen beim Kompilieren bestimmt - Schneller als Dynamische Typisierung - Schwierigere Syntax dynamsiche Typisierung: - Typen von Variablen und Funktionen zur Laufzeit bestimmt - Langsamer als s,tatische Typisierung - Zugänglichere Syntaxbei Erstellung9Nennen Sie Vor und Nachteile von Klartext bzw Binärdaten!hen Typisierung?ischen Linken.ÿKlartext:/ Binär: - Effizient lesbar durch Menschen/ Effizient interprtierbar durch Maschine - Nicht leicht zu Parsen/ Leicht zu Parsen - Viel Daten-Overhead/ Speicherplatzoptimiert - Einsatz während der Entwicklung/ Einsatz im Betrieb - universell/ spezialisiertsierung - Zugänglichere Syntaxbei Erstellung,Nennen Sie vier physikalsche Schnittstellen!w Binärdaten!hen Typisierung?ischen Linken.6- Kabel - Funk - Übertragungs-Protokoll - KodierungEffizient interprtierbar durch Maschine - Nicht leicht zu Parsen/ Leicht zu Parsen - Viel Daten-Overhead/ Speicherplatzoptimiert - Einsatz während der Entwicklung/ Einsatz im Betrieb - universell/ spezialisiertsierung - Zugänglichere Syntaxbei Erstellung Was ist CSV?ier physikalsche Schnittstellen!w Binärdaten!hen Typisierung?ischen Linken.8Comma-Seperatet-Value Trennung von Daten durch ,;:...fizient interprtierbar durch Maschine - Nicht leicht zu Parsen/ Leicht zu Parsen - Viel Daten-Overhead/ Speicherplatzoptimiert - Einsatz während der Entwicklung/ Einsatz im Betrieb - universell/ spezialisiertsierung - Zugänglichere Syntaxbei Erstellung!Was sind relationale Datenbanken?ittstellen!w Binärdaten!hen Typisierung?ischen Linken.ZDatenstrukturierung läuft in Tabellen, diese lassen sich untereinander beliebig Verknüpfenine - Nicht leicht zu Parsen/ Leicht zu Parsen - Viel Daten-Overhead/ Speicherplatzoptimiert - Einsatz während der Entwicklung/ Einsatz im Betrieb - universell/ spezialisiertsierung - Zugänglichere Syntaxbei Erstellung1Beschreiben Sie XML (Extensible Markup Language).ÑOrganisation von Informationen in Baumstruktur - Elemente beinhalten Informationen - Strenge Eltern-Kind Beziehung zwischen Elementen - Klartextformat - Spezifikation durch World Wide Web Consotium (W3C)"Nennen Sie XML Vor- und Nachteile!rkup Language).ÿ+ für verschiedene Datenstrukturen nutzbar + Repräsentation komplexer, hierarchischer Strukturen möglich + Hohe flexibilität, trotzdem durch Mensch lesbar + Konvertierung in andere Formate möglich - Viel Overhead -> große Datenmenge - XML Parsen aufwändig und langsamWas ist ein XML Parser? Nachteile!rkup Language).)Programm zur Extraktion von Informationenr + Repräsentation komplexer, hierarchischer Strukturen möglich + Hohe flexibilität, trotzdem durch Mensch lesbar + Konvertierung in andere Formate möglich - Viel Overhead -> große Datenmenge - XML Parsen aufwändig und langsam*Beschreiben Sie den Ablauf eines Projekts!guage).ÿAuftraggeber 1. Bedarfsermittlung 2. Generieren von Anforderungen -> Lastenheft 3. Ausschreibung Auftragnehmer 4. Aquise von Ausschreibungen 5. Planung der Umsetzung -> Pflichtenheft 6. Angebotserstellung Auftraggeber 7. Sammlung der Angebote} und Auftragsvergabe -> Vertrag Auftragnehmer 8. Entwicklung/ Realisation Auftraggeber 9. Abnahme -> AbnahmeprotokollWas ist ein Lastenhelft?uf eines Projekts!guage).†Beschreibt die geforderten Leistungen des Auftragnehmers - Das Was aber nicht Wie - So genau wie möglich, so einschränkend wie nötigsschreibungen 5. Planung der Umsetzung -> Pflichtenheft 6. Angebotserstellung Auftraggeber 7. Sammlung der Angebote und Auftragsvergabe -> Vertrag Auftragnehmer 8. Entwicklung/ Realisation Auftraggeber 9. Abnahme -> AbnahmeprotokollWas ist ein Pflichtenheft? eines Projekts!guage).ã- Konkretisierte Lösungen für Anforderungen des Auftraggeber - Wie gedenkt der Auftragnehmer, die Anforderungen aus dem Lastenheft zu lösen - Vorbereitung einer möglichen Realisierung - Ermöglicht die Planung eines Angeboteser 7. Sammlung der Angebote und Auftragsvergabe -> Vertrag Auftragnehmer 8. Entwicklung/ Realisation Auftraggeber 9. Abnahme -> AbnahmeprotokollSNennen Sie die unterschiede zwischen Software-Projekten vs. konvetionelle Projekte.ÿ- Software ist schwer messbar/ beurteilbar - Ergebnisse für IT Laien oft schwer beurteilbar - Hoher Verifizierungs-Aufwand - Zusammenhang zwischen Anforderungen und Kosten nicht intuitiv - Kleine Änderungen der Anforderungen können große Auswirkÿungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller TechnologWas ist Copyright?erschiede zwischen Software-Projekten vs. konvetionelle Projekte.TCopyright: wirtschaftliche Investition -> Schutz der Rechteverwerter (z.B.) Verlageeurteilbar - Hoher Verifizierungs-Aufwand - Zusammenhang zwischen Anforderungen und Kosten nicht intuitiv - Kleine Änderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller TechnologWas ist Copyleft? rschiede zwischen Software-Projekten vs. konvetionelle Projekte.=Wietergabe ist erlaubt, allerdings unter gleichen Bedingungenerwerter (z.B.) Verlageeurteilbar - Hoher Verifizierungs-Aufwand - Zusammenhang zwischen Anforderungen und Kosten nicht intuitiv - Kleine Änderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller TechnologWas ist Lizensierung?chiede zwischen Software-Projekten vs. konvetionelle Projekte.ILizensierung regelt die Nutzung von Urheberrechtlich geschütztem MaterialB.) Verlageeurteilbar - Hoher Verifizierungs-Aufwand - Zusammenhang zwischen Anforderungen und Kosten nicht intuitiv - Kleine Änderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller Technolog=Welche Lizensierungsformen gibt es im Bereich der Software? onvetionelle Projekte.š- Open Source Lizenzen - Creative Commons -> Baukasten zur eigenen Lizenz - Endbenutzer Lizensvertrag (EULA) - Lizensierung der Nutzung des QuelltextesAnforderungen und Kosten nicht intuitiv - Kleine Änderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller TechnologABeschreiben Sie geschäftsmodelle im Bereich Open-Source Software.tionelle Projekte.Æ- Kostenflichtiger Support - Verkauf der Software unter anderer Lizenz (Dual-Licensing) - Zusammenstellung von Open Source Software (Linux Distributionen) - Weiterentwicklung als Auftragsarbeit Kleine Änderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller TechnologWas ist Creative Commons?modelle im Bereich Open-Source Software.tionelle Projekte.ÎEin Baukasten für die eigene Lizenz durch Kombination von 4 mögl. Modulen - (by) Namensnennung - (nc) Nicht kommerziel - (nd) Keine Bearbeitung - (sa) Weitergabe unter gleichen Bedingungen -> CopyleftÄnderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller Technolog.Wie lassen sich Softwarefehler Kategorisieren?en-Source Software.tionelle Projekte.…- Zeitpunkt (Kompilerzeit vs Laufzeit...) - Ursache (Syntax, Softwaredesign,...) - Auswirkungen (Bedienung erschwert, Absturz,....)ine Bearbeitung - (sa) Weitergabe unter gleichen Bedingungen -> CopyleftÄnderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller Technolog%Was macht die QA (Quality Assurance)?risieren?en-Source Software.tionelle Projekte.H- Sucht geziehlt nach "Bugs" und gibt diese Inform von Bugreports weitersign,...) - Auswirkungen (Bedienung erschwert, Absturz,....)ine Bearbeitung - (sa) Weitergabe unter gleichen Bedingungen -> CopyleftÄnderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller TechnologWas ist ein Debugger?lity Assurance)?risieren?en-Source Software.tionelle Projekte.8Werkzeug zum Auffinden von Fehlern in Computerprogrammenugreports weitersign,...) - Auswirkungen (Bedienung erschwert, Absturz,....)ine Bearbeitung - (sa) Weitergabe unter gleichen Bedingungen -> CopyleftÄnderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller Technolog3Unterschiede zwischen Debug- und Release Versionen.urce Software.tionelle Projekte.€Debugversion: Maschinencode enthält Debug Symbole -> Debugging Releaseversion: optimierter Maschinencode -> Veröffentlichen....)ine Bearbeitung - (sa) Weitergabe unter gleichen Bedingungen -> CopyleftÄnderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller Technolog(Was verstht man unter Laufzeitverhalten? Versionen.urce Software.tionelle Projekte.MLaufzeit: - Zeit, die eine Anwendung/Programm/Befehl zur Ausführung benötigtsion: optimierter Maschinencode -> Veröffentlichen....)ine Bearbeitung - (sa) Weitergabe unter gleichen Bedingungen -> CopyleftÄnderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller Technolog*Nennen Sie Qualitätsmerkmale für Software.ersionen.urce Software.tionelle Projekte.;- ist immer Bedienbar - ruckelt nicht - Rssourcen sparendusführung benötigtsion: optimierter Maschinencode -> Veröffentlichen....)ine Bearbeitung - (sa) Weitergabe unter gleichen Bedingungen -> CopyleftÄnderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller TechnologWas ist ein Profiler?erkamel für Software.ersionen.urce Software.tionelle Projekte.Ä- Werkzeug zur Bestimmung der Laufzeit einzelner Programmkomponenten - Wie lang benötigt die Abarbeitung eines Programmteils - Wie oft wurde die Funktion aufgerufen -> ausgabeformat Callgraph> CopyleftÄnderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller Technolog(Welche Einheiten gibt der Callgraph aus?e.ersionen.urce Software.tionelle Projekte.–- Prozessorzeit und Uhrzeit - Inclusive bzw. exclusive Ausführungszeiten einer Funktion - Prozessortakte und elementare Instruktionen werden gezähltktion aufgerufen -> ausgabeformat Callgraph> CopyleftÄnderungen der Anforderungen können große Auswirkungen haben - Oftmals viele Änderungen der Anforderungen während des Projektverlaufs - Starke Personalabhängigkeit - Programmierer nciht einfach austauschbar - erheblich Produktivitätsunterschiede zwischen Programmierern - Schneller Technolog