• Keine Ergebnisse gefunden

1.V Modell 1.1 Skizzieren Sie das V-Modell !

N/A
N/A
Protected

Academic year: 2021

Aktie "1.V Modell 1.1 Skizzieren Sie das V-Modell !"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

1.V Modell

1.1 Skizzieren Sie das V-Modell !

Anforderunsdef. Abnahmetest VAL

---

Grobentwurf Systemtest VER

Feinentwurf Integrationstest Modul

Implementierung Moduletest

Milestone t

1.2 Auf welchem Prozess-Modell basiert das V-Modell?

Wasserfallmodell mit Qualitätssicherung

1.3 Mit welchen Begriffen beschreibt das V-Modell die Fragen.

(a) Wird das richtige Produkt entwickelt?

Validation: - Prüfung , ob ein Entwicklungsergebnis die individuellen

Anforderungen bezüglich einer spezeillen beabsichtigten Nutzung erfüllt.

- Wird das Produkt richtige Produkt entwickelt (b) Wird das Produkt korrekt entwickelt?

Verifikation: - Prüfung, ob die Ergebnisse einer Entwicklungsphase die Vorgaben der Phaseneingangsdokumente erfüllen

- Mathematisch formaler Beweis der Korrektheit eines Programm - Wird das Produkt korrekt entwickelt

2. Prozess-Modelle

Welche der folgenden Aspekte werden durch ein Prozess-Modell festgelegt?

(a) Beginn des Projektes

(b) Reihenfolge des Arbeitsablaufes (c) Arbeitszeiten

(d) Jeweils durchzuführende Aktivitäten (Balzert) (e) Definition der Teilprodukte

(f) Fertigstellungszeitpunkt (g) Fertigstellungskriterien

(h) Mitarbeiterqualifikation (Balzert) (i) Mitarbeiterauswahl

(j) Verantwortlichkeiten (k) Verwaltung

(l) Methoden, Werkzeuge (m)Richtlinien, Standards (n) Programmiersprache

(2)

3. Meilenstein-Trend-Analyse(MTA)

Was bedeutet ein ansteigender Kurvenverlauf in der MTA ?

Zu optimistische Planung (Terminvorhersagen)

Wie interpretieren Sie einen gleichmäßig fallenden Verlauf in der MTA ?

Es wurde ein zu großer Sicherheitspuffer bei der Planung mit einkalkuliert Einfacher als erwartet

Wodurch unterscheiden sich Planungs- und Beobachtungszeitraum?

Planungszeitraum = Soll und Beobachtungszeitraum = Ist

4. ETXM Notation

Beschreiben Sie den Implementierungs-Prozess mit den Prozessen

- Codierung

- Testfallerstellung anhand von Äquivalenzklassen - Funktionstest

- Testfallerstellung anhand nicht durchlaufender Zweige - Strukturtest

Überlegen sie, welche Prozesse parallelisierbar sind. Geben Sie eine grafische Darstellung mittels ETXM-Notation an:

(3)

5. Capability Maturity Model (CMM)

Ihr Unternehmen befindet sich in Reifegradstufe 2 des CMM Charakterisieren Sie Ihren Prozess?

Stufe2 Prozess-Charakteristika Notwendige Aktionen um in

diesen Prozess zu kommen.

Wiederholbarer Prozess

(repeatable)

Intuitiver Prozess

- Kosten & Qualität schwanken - Ganz gute Termin-Kontrolle - Informelle Vorgehensweise Prozess ist von Individuen abhängig

- Planung (Kosten- und Zeit-schätzung,, Terminplanung

- Fortschrittüberwachung - Änderungsmanagement - Qualitätssicherung

Werden Projektpläne aufgestellt?

Ja es werden bereits Projektpläne aufgestellt.

SoftwareTest

6. Strukturorientierter- und Funktionsorientierter Test

(a) Gegeben ist das Fragment der C++ Implementierung einer Klasse Person:

Der Name einer Person muss zwischen 2 und 20 Zeichen lang sein; die Postleitzahl ist eine fünfstellige positive ganze Zahl.

class Person {

protected:

string name;

int PLZ;

pulic:

Person(const string &n, const int p) {

name = n;

plz = p;

}

………

};

Stellen sie gültige und ungültige Äquivalenzklassen für der Konstruktor auf.

Ermitteln Sie typische Testfälle für den Konstruktor.

S 76 Skript / S 50

Person(const string &n, const int p) {

if (stnlen(n)<20) && (strnlen(n) > 2) &&( p<100000) && (p> 9999)) {

name = n;

plz = p;

}

(4)

}

Äquvivalenzklassen:

Name < 2 PLZ € ]9999, 100000[

Name > 20 ungültig

2< Name < 20

Name < 2 PLZ € ]9999, 100000[

Name >20 ungültig

2 < Name < 20 PLZ € ]9999, 100000[

gültig Testfälle:

Name = 5 PLZ = 3 Case1

Name = 1 PLZ = 5 Case2

Name = 5 PLZ = 5 Case3

(b) ist der Äquivalenzklassentest ein Strukturorientierter Test oder ein Funktionsorientierter Test ?

Funktionsorientiert

- Funktionale Äquivalenzklassenbildung - Ursache- Wirkungs- Analyse.

- Zusandstest - Syntaxtest (c) Was bedeutet Zweigabdeckung?

Kontrollflußorientiert

Abdeckung einer bestimmten Anzahl von Zweigen im Strukturtest.

Jeder Zweig muss mindestens einmal durchlaufen werden.

(d) Ist die Anweisungsabdeckung ein Funktionsorientierter Test?

Nein – Strukturorientiert – Kontrollflußorientiert.

7. Integrationstest

Beim Integrationstest können Bottom-Up, Top-Down und Outside-In Test unterschieden werden.

(a) Erklären sie kurz den Bottom-Up Test und dessen Nachteile.

3.6 Skript S70

Erst werden die UNTERSTEN Module mit separaten Treibern getestet. Bei Erfolg kann man eine Ebene HÖHER in der Modul Hierarchie gehen, und die nächste Ebene an Modulen mit wieder speziellen Treibern testen. Am Ende kommt man schließlich am oberen Ende an; jetzt ist das Produkt VORZEIGBAR.

Nachteile: - Treiber erforderlich

- ein Vorzeigbares Produkt entsteht zuletzt - abnehmender Personalbedarf

(5)

(b) Erlären Sie kurz den Top-Down Test und dessen Nachteile.

Es wird mit der obersten Modulebene begonnen. Anstelle der darunter liegenden

Module greift man auf TEST-STUBs zurückt, die die Anfragen der darüber liegenden Module entgegen nehmen.

Nachteile:

- Stabs erforderlich

- Mit zunehmender Integrationstiefe wird die Erzeugung bestimmte Testsituationen und Tiefer angeordneten Modulen schwieriger.

- zunehmender Personalbedarf

Design Pattern

8. Das Broker Pattern

Erläutern Sie anhand eines Szenario-Diagrammes das Verhalten, wenn ein Client einem lokalen Server eine Anfrage

(Eingangsparameter und Ausgangsparameter) schickt. In diesem Szenario wird ein synchroner Aufruf beschrieben, das heißt der Client wartet auf die Antwort des Servers.

(a) Erläutern Sie zu jedem im Szenariodiagramm verwendeten Methodenaufruf kurz dessen Aufgabe.

Tip: Die Objekte Client, Server, Proxy, Stub und Broker collaborieren im Broker Pattern.

Client Proxy Broker Stab Surfer

methodcall()

FindSurfer( )

Marschalling „Bytewurst“

transfer

unmarschalling

methodecall() return()

marschalling transfer

unmarschalling

return( )

(6)

(a)

methodcall(): Die Methode wird aufgerufen und an den Proxy gesendet FindSurfer(): Der Proxy ermittelt über den Broker die Adresse des Surfers Marschalling: Die zu sendenden Daten werden in eine Bytewurst gepackt Transfer: Der Transfer zwischen Proxy und Stab findet statt

Unmarschalling: Die Bytewurst wird wieder endpackt.

Return(): Ein Returnwert wird zurückgegeben.

Erklären sie die Aufgabe von Proxy, Stub und Broker.

ID Prüfung 2002!!!!!!!!!!!!!!!!!!!!

Proxy:

vermittelt zw. Client und Broker

kapselt systemspezifische Funktionen

zusätzliche Transparenz, entfernte Objekte erscheinen wie lokal

Erzeugung und Löschen von Speicherbereichen für Cachingzwecke

Broker:

Übermittlung der Anfragen und Ergebnisse

Muss Empfänger einer Anfrage anhand System-Identifier ausfindig machen können

Bei Anfrage wird geprüft ob Dienst lokal verfügbar ist >> wenn ja >> direkte Zustellung >> wenn nein >> Broker leitet Anfrage über Bridge an entfernten Broker weiter

Stub:

funktionier wie Clientseitiger-Proxy

Empfang von Anfragen

Entpacken der Nachrichten

Unmarshalling

Aufruf des entsprechenden Dienstes beim Server

(7)

(b) Welches Pattern würden Sie zur Instanzierung eines Proxy benützen, wenn der Client keine Kenntnis über die Struktur des Proxy haben soll?

Zeigen sie nun die Proxy Instanzierung mit einem Szenario- Diagrammes.

Wrapper

(8)

9. Das Singleton Pattern

Das Singleton Pattern ist potentiell für die Erzeugung einer einzigen Instance durch die GetInstance()- Methode der Singleton-Klasse zuständig.

Notieren Sie die Deklaration der Singleton-Klasse (singleton.h)

#include <iostream>

class CSingleton {

public:

static CSingleton* Instance();

virtual void ptr() {cout<<"Zeigerwert Singleton: "<< _instance << endl

<< "Datenwert Singleton: " << _theData << endl

<< endl;

void SetData(int i) {_theData = i;}

private:

CSingleton();

static CSingleton *_instance;

int _theData;

};

(9)

OOA/OOD mit UML

10. Zustandsdiagramm (State Chart Diagrams)

Wenn in einer Bibliothek ein Buch beschafft wird, dann werden seine Daten erfasst und ein neues Objekt der Klasse Buch erzeugt.

Der Einfachheit halber gebe es von jedem Buch nur ein einziges Exemplar. Jedes Buch kann ausgeliehen werden. Wird ein

ausgeliehenes Buch von einem anderen Leser gewünscht, dann muss es vorbestellt werden. Nicht vorbestellte Bücher stehen nach der Rückgabe sofort für eine erneute Ausleihe bereit. Vorbestellte Bücher werden nach der Ausleihe für den entsprechenden Leser zur Abholung bereitgelegt und der Leser wird informiert. Wird das Buch nicht fristgemäß abgeholt, dann steht es für eine neue

Ausleihe bereit. Defekte Bücher oder Bücher, die nicht

zurückgegeben wurden, werden aus dem Bestand entfernt. Wenn ein neues Buch im System gespeichert wird, dann befindet es sich zunächst im Zustand präsent. Das Löschen von Büchern im System wird durch den Übergang in den Endzustand (Bullauge) angezeigt.

Er sagt aus, dass das Objekt aufhört, zu existieren.

(10)

11. Assoziationen vollständig spezifizieren

In einer Schule soll der Lehrbetrieb Rechner unterstützt verwaltet werden. Jeder Lehrer kann bis zu vier Fächer unterrichten. Eine Klasse wird von verschiedenen Lehrern in unterschiedlichen

Fächern unterrichtet. Jeder Klasse ist ein bestimmter Klassenlehrer zugeordnet. Der Klassenlehrer soll die Schüler seiner Klasse bei Problemen unterstützen. Deshalb darf jeder Lehrer nur für eine Klasse Klassenlehrer sein. Jede Unterrichtsstunde findet in einem bestimmten Raum zu einer bestimmten Zeit statt und wird von einem Lehrer vor einer Klasse abgehalten. Jede Klasse hat zwischen 30 und 35 Unterrichtsstunden.

(11)

12. Klassendiagramm

Wir betrachten eine Bank und ihre Kunden.

Eine Person wird Kunde, wenn sie ein Konto eröffnet. Ein Kunde kann beliebig viele weitere Konten eröffnen. Für jeden neuen Kunden werden dessen (nicht notwendigerweise eindeutiger) Name, Adresse und das Datum der ersten Kontoeröffnung erfaßt.

Bei der Kontoeröffnung muß der Kunde gleich eine erste Einzahlung vornehmen. Wir unterscheiden Girokonten und Sparkonten. Girokonten dürfen bis zu einem bestimmten Betrag überzogen werden. Für jedes Konto wird ein individueller

Habenzins, für Girokonten auch ein individueller Sollzins festgelegt; außerdem besitzt jedes Konto eine eindeutige

Kontonummer. Für jedes Sparkonto wird die Art des Sparens – z.B.

Festgeld – gespeichert. Ein Kunde kann Beträge einzahlen und abheben. Desweiteren werden Zinsen gutgeschrieben und bei Girokonten Überziehungszinsen abgebucht. Um die Zinsen zu berechnen, muß für jede Kontobewegung das Datum und der

Betrag notiert werden. Die Gutschrift/Abbuchung der Zinsen erfolgt bei den Sparkonten jährlich und bei den Girokonten quartalsweise.

Ein Kunde kann jedes seiner Konten wieder auflösen. Bei der Auflösung des letzten Kontos hört er auf, Kunde zu sein.

Klassendiagramm:

Referenzen

ÄHNLICHE DOKUMENTE

Fremdschl¨ussel : Attribute im Schema einer Relation, die Prim¨arschl¨ussel einer anderen Relation sind. Beispiel: KuName und KoNr der Relation Kontoinhaber sind Fremdschl¨ussel

Augsten (Univ. Relationen sind Mengen von Tupeln und nicht geordnet... Salzburg) DB1 – Relationales Modell Sommersemester 2020 22 / 53. Das Relationale

Kwitt (Univ. Relationen sind Mengen von Tupeln und nicht geordnet... Salzburg) DB1 – Relationales Modell Sommersemester 2017 22 / 53. Das Relationale

Fremdschl¨ussel : Attribute im Schema einer Relation, die Prim¨arschl¨ussel einer anderen Relation sind.. Beispiel: KuName und KoNr der Relation Kontoinhaber sind Fremdschl¨ussel

Augsten (Univ. Salzburg) Datenbanken 1 / Relationales Modell Sommersemester 2014 7 / 114 Das Relationale Modell Schema, Relation, und Datenbank.. Das

Seit dem Abschluss seines Studiums der Informatik an der Technischen Universität München arbeitet Herr Vogel als wissenschaftlicher Mitarbeiter am Lehrstuhl für

Im folgenden Versuch soll der früher eingesetzte Alkoholtest für Autofahrer in einem Modell dargestellt werden.. Die SuS sollten dabei Kenntnisse über den erweiterten

Many pieces of evidence indicate that the Gulf countries, primarily Saudi Arabia, Kuwait, the United Arab Emirates (UAE) on the one hand, and Qatar on the other, have fought a