Monday, 2 October 2017

Handelshaus Automatisierungssystem Dfd


1 Funktionsorientiertes Software-Design weiter Vorlesung 6 Prof R Mall Dept von CSE, IIT, Kharagpur. Präsentation zum Thema 1 Funktionsorientiertes Software-Design weiter Vorlesung 6 Prof R Mall Dept von CSE, IIT, Kharagpur Präsentationstranskript.1 1 Funktionsorientiert Software-Design weiter Vorlesung 6 Prof R Mall Abteil von CSE, IIT, Kharagpur.2 2 Beispiel 3 Handelshaus-Automatisierungssystem TAS Ein großes Handelshaus möchte, dass wir eine Software entwickeln, um Buchhaltungstätigkeiten im Zusammenhang mit seinem Geschäft zu automatisieren. Es hat viele Stammkunden Wer beauftragt für verschiedene Arten von Waren.3 3 Beispiel 3 Trading-House-Automatisierungssystem TAS Das Handelshaus unterhält Namen und Adressen seiner Stammkunden Jeder Kunde erhält eine eindeutige Kundenidentifikationsnummer CIN Entsprechend der aktuellen Praxis, wenn ein Kunde die Bestellung platziert Kontenabteilung überprüft zuerst die Kreditwürdigkeit des Kunden.4 4 Beispiel Handels-Haus-Automatisierungssystem TAS Die Kreditwürdigkeit eines Kunden wird bestimmt durch die Analyse der Geschichte seiner Zahlungen an die Rechnungen, die ihm in der Vergangenheit geschickt wurden Wenn ein Kunde nicht ist Credit-worthy Seine Aufträge werden nicht weiter verarbeitet Eine entsprechende Ablehnungsmeldung wird für den Kunden generiert.5 5 Beispiel Trading-House Automation System TAS Wenn ein Kunde kreditwürdig ist, wird er bei der Bestellung auf die Liste der Artikel überprüft Handelshaus befasst sich mit den Posten, die das Handelshaus nicht behandelt. Nicht mehr verarbeitet Eine entsprechende Meldung für den Kunden für diese Posten wird generiert.6 6 Beispiel Trading-House Automation System TAS Die Positionen in einem Kunden bestellen, dass der Handel Hausbesuche mit Überprüfen auf Verfügbarkeit im Inventar Wenn die Artikel im Bestandsverzeichnis in gewünschten Mengen zur Verfügung stehen Eine Rechnung mit der Weiterleitungsadresse des Kunden wird gedruckt Ein Materialausgabebeleg wird ausgedruckt.7 7 Beispiel Trading-House Automation System TAS Der Kunde kann Produzieren den Materialausgabe-Slip im Lagerhaus Übernahme der Ware Inventurdaten angepasst, um den Verkauf an den Kunden widerzuspiegeln.8 8 Beispiel Trading-Haus-Automatisierungssystem TAS Wenn ein bestellter Artikel im Inventar nicht in ausreichender Menge zur Verfügung steht Um anstehende Aufträge zu speichern, speichern Details in einer ausstehenden Auftragsabwicklung außerhalb der Lagerbestände zusammen mit der Menge bestellten Kundenidentifikationsnummer.9 9 Beispiel Handelshaus-Automatisierungssystem TAS Die Kaufabteilung würde periodisch Befehle ausgeben, um Einschnitte zu erzeugen Ausgestellt Das System sollte die ausstehende Auftragsdatei prüfen Bestätigen Sie die anstehenden Aufträge Gesamtmenge, die für jedes der Elemente erforderlich ist.10 10 Beispiel Handelshaus-Automatisierungssystem TAS TAS sollte die Adressen der Verkäufer, die die erforderlichen Artikel liefern, aussuchen Datei mit Lieferantenangaben ihre Adresse, Gegenstände, die sie liefern usw. Drucken von Einrückungen an diese Anbieter.11 11 Beispiel Trading-House-Automatisierungssystem TAS TAS sollte auch Manager-Anfragen beantworten Statistiken der verschiedenen Artikel verkauft über einen bestimmten Zeitraum Entsprechende Menge verkauft und der Preis Realisiert.12 12 Kontextdiagramm Trading - Haus - Automation - System 0 Manager Kundenabrechnungsabteilung Abfragestatistik Auftragsreaktion Generieren - indent indent.13 13 Ebene 1 DFD Annahme - Auftrag 0 1 Auftragsreihenfolge 0 2 Handle - indent-Anfrage 0 4 Handle - Abfrage 0 3 ausstehende Bestellung Verkaufsstatistiken Inventar Kreditorenliste Kunden-Datei Objekt-Datei Kunden-Historie Indent-Request Indents Akzeptierte Bestellungen Abfrage Statistik Bestellung Material-Issue-Slip-Rechnung.14 14 Beispiel Data Dictionary Antwort Rechnung Material-Ausgabe - slip, ablehnen-Nachricht Abfrage Zeitraum Abfrage von Manager in Bezug auf Umsatzstatistik Zeitraum Datum Datum, Monat, Jahr, Tag Datum Jahr Monat Tag Jahr Integer Monat Integer Tag Integer Bestellung Kunden-ID akzeptiert-Bestellung Bestellung bestellte Artikel verfügbar in Inventar Ablehnung-Nachricht bestellen Nachricht Ablehnung Nachricht ausstehende Bestellungen Kunden-ID Kunden-Adresse Name Haus Straße Stadt Pin.15 15 Beispiel Daten Wörterbuch Item-Name String Haus String String String Stadt String Pin Integer Kunden-ID Integer Rechnung Total-Menge Kunden-Adresse Material-Ausgabe - Slip-Meldung Artikelmenge Kundenadresse Nachricht String Statistik Umsatzstatistik Anzahl Integer.16 16 Beobachtung Aus den Beispielen, beobachten DFDs bei der Erstellung von Datenmodell Funktionsmodell.17 17 Beobachtung Als DFD wird in größeren Detaillierungsgrad verfeinert Der Analytiker führt eine Implizite funktionale Zerlegung Zur gleichen Zeit finden Verfeinerungen von Daten statt.18 18 Richtlinien für den Aufbau von DFDs Kontextdiagramm sollte das System als einzelne Blase darstellen Viele Anfänger begehen den Fehler, mehr als eine Blase im Kontextdiagramm zu zeichnen.19 19 Richtlinien für Konstruieren von DFDs Alle externen Entitäten sollten im Kontextdiagramm dargestellt werden. Externe Entitäten sollten nicht auf einer anderen Ebene von DFD erscheinen. Nur 3 bis 7 Blasen pro Diagramm sollten zugelassen werden Jede Blase sollte zwischen 3 und 7 Blasen zerlegt werden.20 20 Richtlinien für den Aufbau DFDs Ein häufiger Fehler, der von vielen Anfängern begangen wird Versuchen, Steuerinformationen in einem DFD darzustellen, zB versuchen, die Reihenfolge darzustellen, in der verschiedene Funktionen ausgeführt werden.21 21 Richtlinien für die Erstellung von DFDs Ein DFD stellt keine Steuerinformation dar. Wann oder in welcher Reihenfolge unterschiedliche Funktionen verarbeitet werden Werden aufgerufen. Die Bedingungen, unter denen verschiedene Funktionen aufgerufen werden, sind nicht dargestellt. Beispielsweise kann eine Funktion je nach Bedingung eine oder andere Funktion aufrufen. Viele Anfänger versuchen diesen Aspekt zu repräsentieren, indem sie einen Pfeil zwischen den entsprechenden Blasen zeichnen.22 22 Beispiel-1 Prüfen Der eingegebene Wert Wenn der Eingabewert kleiner als -1000 oder größer als 1000 ist, erzeugen Sie eine Fehlermeldung, ansonsten suchen Sie nach der Nummer Chec k numb er Gener ate Fehler Searc h Nummer Meldungsnummer gefunden, nicht gefunden.23 23 Richtlinien für den Aufbau von DFDs Wenn Eine Blase A ruft entweder die Blase B oder die Blase C auf, abhängig von einigen Bedingungen, die Daten, die von der Blase A fließen, um B und Blasen A bis C zu blasen, nicht die Bedingungen, je nachdem, welcher Prozeß aufgerufen wird.24 24 Beispiel-2 Eine Funktion akzeptiert die Buchname, der vom Benutzer gesucht werden soll Wenn der eingegebene Buchname kein gültiger Buchname ist, generiert eine Fehlermeldung, wenn der Buchname gültig ist, Sucht den Buchnamen in der Datenbank Get-book - name Print-err-message Suchbuch Fehlermeldung Buchname Good-Book - Name Buchdetails.25 25 Richtlinien für den Aufbau von DFDs Alle Funktionen des Systems müssen im DFD-Modell erfasst werden. Im im SRS-Dokument angegebene Funktion darf nur die im SRS angegebenen Funktionen übersehen werden Dokument sollte vertreten sein Nehmen Sie keine zusätzliche Funktionalität des vom SRS-Dokument nicht spezifizierten Systems an.26 26 Häufig gemachte Fehler Unausgeglichene DFDs Vergessen, die Namen der Datenflüsse zu erwähnen Unrepräsentierte Funktionen oder Daten Externe Entitäten, die auf höheren DFDs erscheinen, versuchen, die Kontrolle zu repräsentieren Aspekte Kontextdiagramm mit mehr als einer Blase Eine Blase zerfällt in zu viele Blasen in der nächsten Ebene Beendende Zerlegung zu früh Nomen, die bei der Benennung von Blasen verwendet werden.27 27 Mängel des DFD-Modells DFD-Modelle leiden an mehreren Mängeln DFDs lassen reichlich Umfang, um ungenau zu sein Ein DFD-Modell, schlussfolgern wir uns über die Funktion, die von einer Blase aus dem Etikett ausgeführt wird. Eine Beschriftung darf nicht alle Funktionalität einer Blase erfassen.28 28 Unzulänglichkeiten des DFD-Modells Beispielsweise hat eine Blase namens Find-Book-Position nur eine intuitive Bedeutung Gibt es keine Dinge, was passiert, wenn einige Eingabeinformationen fehlen oder falsch ist. Vermittelt nichts darüber, was passiert, wenn das Buch nicht gefunden wird oder was passiert, wenn es Bücher von verschiedenen Autoren mit demselben Buchtitel gibt.29 29 Mängel des DFD Modell Steuerungsinformation ist nicht vertreten Zum Beispiel wird die Reihenfolge, in der die Eingänge verbraucht und die Ausgänge produziert werden, nicht angegeben. Accept-order Process-order Kunden-Datei Item-Datei Customer-History Akzeptiert - Auftragsbestellung Inventar.30 30 Mängel des DFD-Modells Ein DFD spezifiziert keine Synchronisationsaspekte. Beispielsweise gibt die DFD im TAS-Beispiel nicht fest, ob die Prozeßreihenfolge warten kann, bis die Akzeptanz die Daten erzeugt. Ob die Auftragsannahme und die Handhabungsreihenfolge gleichzeitig mit einem Puffermechanismus zwischen ihnen beginnen können 31 TAS Level 1 DFD Accept-order Prozess - order Handle - indent - request Handle - query pending-order Verkaufsstatistik-Inventar Vendor-Liste Kunden-Datei Item-Datei Kunden-Historie Indent-Request Indents Akzeptiert-Bestellungen Abfrage Statistik order.32 32 Unzulänglichkeiten des DFD-Modells Die Art und Weise, wie die Zersetzung durchgeführt wird, um auf die sukzessiven Ebenen eines DFD zu kommen, ist subjektiv. Das endgültige Niveau, auf das die Zersetzung durchgeführt wird, ist subjektiv Abhängig von der Wahl und dem Urteil des Analytikers Auch für das gleiche Problem Mehrere Alternative DFD-Darstellungen möglich Oftmals ist es nicht möglich zu sagen, welche DFD-Darstellung überlegen oder vorzuziehen ist.33 33 Mängel des DFD-Modells DFD-Technik gibt keine klare Anleitung darüber, wie genau man eine Funktion zersetzen soll Verwenden Sie das subjektive Urteil, um die Zersetzung durchzuführen. Strukturierte Analysetechniken geben nicht an, wann ein Zerlegungsprozess beendet werden soll. Zu welcher Längenzerlegung muss durchgeführt werden.34 34 DFD-Technik auf Real-Time-Systeme erweitern Für Echtzeit-Systemsysteme mit zeitlichen Beschränkungen Aktionen, essentiell für die Steuerung von Kontrollströmen und Ereignissen weit verbreitete Technik Ward - und Mellor-Technik Eine Art von Prozeßblasen, die nur Kontrollströme verarbeiten, werden eingeführt Diese Prozesse werden mit gestrichelten Kreisen dargestellt.35 35 Strukturiertes Design Das Ziel des strukturierten Designs Verwandeln Sie die Ergebnisse der strukturierten Analyse, dh DFD-Darstellung in ein Strukturdiagramm Ein Strukturdiagramm stellt die Softwarearchitektur dar. Verschiedene Module, aus denen das System besteht, Modulabhängigkeit, dh welches Modul ruft, welche anderen Module, Parameter zwischen verschiedenen Modulen bestanden.36 36 Strukturdiagramm Strukturdiagrammdarstellung Einfache Implementierung über Programmiersprachen möglich Schwerpunkt eines Strukturdiagramms Definieren Sie die Modulstruktur einer Software, Interaktion zwischen verschiedenen Modulen, Prozedurale Aspekte zB, wie eine bestimmte Funktionalität erreicht wird, sind nicht dargestellt.37 37 Grundbausteine ​​des Strukturdiagramms Rechteckige Box Eine rechteckige Box stellt ein Modul dar Mit dem Namen des Moduls repräsentiert es Prozess-Ordnung.38 38 Pfeile Ein Pfeil zwischen zwei Modulen impliziert Während der Ausführung wird die Steuerung von einem Modul zum anderen in Pfeilrichtung übergeben. Prozess-orderHandle-indent root Handle-query.39 39 Datenflusspfeile Datenflusspfeile repräsentieren Datenübergang von einem Modul zum anderen in Richtung des Pfeils Auftragsreihenfolge-Reihenfolge.40 40 Bibliotheksmodule Bibliotheksmodule stellen häufig aufgerufene Module dar. Ein Rechteck mit doppelten Seitenkanten Vereinfacht die Zeichnung, wenn ein Modul aufgerufen wird Mehrere Module Quick-Sortierung.41 41 Auswahl Das Diamantsymbol repräsentiert Ein Modul aus mehreren Modulen, die mit dem Diamantsymbol verbunden sind, wird je nach Bedingung aufgerufen. Prozess-orderHandle-Einzugswurzel Handle-query.42 42 Wiederholung Eine Schleife um Kontrollflusspfeile bezeichnet das Die betroffenen Module werden wiederholt aufgerufen. Prozess-orderHandle-indent root Handle-query.43 43 Struktur-Diagramm Es gibt nur ein Modul an der Spitze des Root-Moduls Es gibt höchstens eine Steuerbeziehung zwischen zwei beliebigen Modulen, wenn Modul A Modul B, Modul aufruft B kann das Modul A nicht aufrufen. Der Hauptgrund für diese Einschränkung ist, dass Module in einem Strukturdiagramm in Ebenen oder Ebenen angeordnet werden sollen.44 44 Strukturdiagramm Das Prinzip der Abstraktion erlaubt es nicht, dass untergeordnete Module übergeordnete Module aufrufen, aber zwei höhere - Level-Module können das gleiche untergeordnete Modul aufrufen.45 45 Beispiel-Wurzel Get-Good-Daten Berechnungslösung Display-Lösung Get-Daten Validierungsdaten Gültige Zahlen rms.47 47 Defizite des Strukturdiagramms Durch Betrachten eines Strukturdiagramms Wir können nicht sagen, ob ein Modul nur einmal oder viele Male ein anderes Modul anruft. Auch durch das Betrachten eines Strukturdiagramms können wir nicht die Reihenfolge erkennen, in der die verschiedenen Module aufgerufen werden.48 48 Flow Chart Aside Wir sind alle mit dem Flußdiagramm vertraut Darstellungen Flussdiagramm ist eine praktische Technik, um den Fluss der Steuerung in einem System AB darzustellen, wenn c 100 P 20 sonst p 80 während p 20 Druckstudienmarkierung ABP 20P 80 Drucken ja nein Dummy ja nein 20 Druckstudienmarkierung ABP 20P 80 Drucken ja nein Dummy ja nein.49 49 Flußdiagramm versus Strukturdiagramm Ein Strukturdiagramm unterscheidet sich von einem Flußdiagramm in drei Hauptformen Es ist schwierig, Module einer Software aus seiner Flußdiagrammdarstellung zu identifizieren Der Datenaustausch zwischen den Modulen ist nicht in einem Flußdiagramm Sequentiell dargestellt Die Bestellung von Aufgaben, die einem Flussdiagramm innewohnen, wird in einem Strukturdiagramm unterdrückt 50 50 Transformation eines DFD-Modells in Strukturdiagramm Zwei Strategien existieren, um die Transformation eines DFD in ein Strukturdiagramm zu führen Transformanalyse Transaktionsanalyse.51 51 Transformanalyse Der erste Schritt In Transformationsanalyse Divide the DFD in 3 Teile Eingabe, logische Verarbeitung, Ausgabe.52 52 Transform Analysis Input Teil in den DFD-Prozesse, die Eingabedaten von physikalischen in logische Form konvertieren, zB lesen Zeichen aus dem Terminal und speichern in internen Tabellen oder Listen Jeder Eingang Teil, der als afferenter Zweig bezeichnet wird, möglich, mehr als einen afferenten Zweig in einem DFD zu haben.53 53 Transformationsanalyse Ausgangsteil eines DFD transformiert Ausgangsdaten von logischer Form in physikalische Form zB aus Liste oder Array in Ausgabezeichen Jeder Ausgabeabschnitt, der als efferent-Zweig bezeichnet wird Die verbleibenden Teile eines DFD, die als zentrale Transformation bezeichnet werden.54 54 Transformanalyse Ableitungsstrukturdiagramm durch Zeichnen einer funktionalen Komponente für die zentrale Transformation, jeder afferenten Zweig, jeder efferenten Zweig.55 55 Transformanalyse Die Identifizierung der höchsten Einspeise - und Ausgangstransformationen erfordert Erfahrung und Skill Einige Richtlinien Verfolgen Sie die Eingänge, bis eine Blase gefunden wird, deren Ausgabe nicht aus den Eingängen alleine abgeleitet werden kann Prozesse, die den Eingang bestätigen, sind keine zentralen Transformationen Prozesse, die Input - oder Filterdaten abgeben.56 56 Transformanalyse Erste Ebene des Strukturdiagramms Zeichnen Sie a Box für jede Eingabe - und Ausgabeeinheit Ein Kasten für die zentrale Transformation Als nächstes verfeinern Sie das Strukturdiagramm Hinzufügen von Unterfunktionen, die von jedem High-Level-Modul benötigt werden Viele Module müssen erforderlich sein.57 57 Factoring Der Prozess des Brechens von Funktionskomponenten in Subkomponenten Factoring Beinhaltet das Hinzufügen von Lese - und Schreibmodulen, Fehlerbehandlungsmodule, Initialisierungs - und Terminierungsmodule usw. Schließlich prüfen, ob alle Blasen auf Module abgebildet sind.58 58 Beispiel 1 RMS Berechnungssoftware Rechen - RMS 0 Benutzerdaten-Elemente Ergebnis Kontextdiagramm.59 59 Beispiel 1 RMS Berechnen von Software Aus einer flüchtigen Analyse der Problembeschreibung, leicht zu sehen, dass das System ausführen muss, akzeptieren Sie die Eingabesummern vom Benutzer, validieren Sie die Zahlen, berechnen Sie das route Mittelwert der Eingangsnummern, zeigen Sie das Ergebnis an. 60 60 Beispiel 1 RMS Berechnungssoftware Datenelemente Ergebnis Lesenummern 0 1 Validierungsnummern 0 2 Berechnungen 0 3 Anzeige 0 4 RMS-Nummern Valid-Zahlenfehler.61 61 Beispiel 1 RMS Berechnungssoftware Durch Beobachtung des Levels 1 DFD Identify read - Nummer - und Validierungsnummernblasen als afferenten Zweig Anzeige als efferent-Zweig.62 62 Beispiel 1 RMS Berechnungssoftware Wurzel Get-Good-Daten Rechenlösung Display-Lösung Get-Daten Validierungsdaten Gültige Zahlen rms.63 63 Beispiel 2 Tic-Tac-Toe Computerspiel Sobald entweder der menschliche Spieler oder der Computer gewinnt, sollte eine Nachricht, die den Gewinner gratuliert, angezeigt werden Wenn kein Spieler es geschafft hat, drei aufeinanderfolgende Markierungen entlang einer Geraden zu bekommen, Und alle Quadrate auf dem Brett Werden aufgefüllt, dann wird das Spiel gezeichnet Der Computer versucht immer, ein Spiel zu gewinnen.64 64 Kontextdiagramm für Beispiel 2 Menschlicher Spieler Tic-Tac - toe-Software 0 Display move.65 65 Level 1 DFD-Board Anzeigetafel Check-Gewinner Validieren - verschieben Play-move verschieben Ergebnis-Spiel.66 66 Struktur-Chart-Wurzel Get-good-moveCompute-gameDisplay Get-move Validate - move play-move Check-winner.67 67 Transaktionsanalyse Nützlich für das Entwerfen von Transaktionsverarbeitungsprogrammen Transformzentrierte Systeme Gekennzeichnet durch Ähnliche Verarbeitungsschritte für jedes von Input-, Prozess - und Output-Bubbles verarbeitete Datenelement Transaktionsgesteuerte Systeme Einer von mehreren möglichen Pfaden durch den DFD wird je nach Eingangsdatenwert durchlaufen.68 68 Transaktionsanalyse Transaktion Jeder Eingabedatenwert, der einen auslöst Aktion Zum Beispiel können ausgewählte Menüoptionen verschiedene Funktionen auslösen, die durch ein Tag identifiziert werden, das seinen Typ identifiziert. Transaktionsanalyse verwendet dieses Tag, um das System in mehrere Transaktionsmodule aufzuteilen. Ein Transaktionszentrumsmodul.69 69 Transaktionsanalyse Transaktionszentrum trans 1 trans 2 trans 3 Typ 1 Typ 2Typ 3.70 70 Level 1 DFD für TAS Annahme - Auftragsabwicklung Handle - indent-Anfrage Handhabung ausstehende Bestellung Verkaufsstatistik Inventar Kreditorenliste Kunden-Datei Objekt-Datei Kunden-Historie Indent-Request Indents Akzeptierte Aufträge Abfrageauftragsstatistik.71 71 Strukturdiagramm root Handle-orderHandle-indentHandle-query Get-order Accept-orderProcess - order order query indent.72 72 Zusammenfassung Wir haben zunächst eine strukturierte Analyse eines größeren Problems erörtert. Wir haben einige allgemeine Richtlinien für den Aufbau eines zufriedenstellenden DFD definiert Modell Das DFD-Modell, obwohl es einfach und nützlich ist, hat mehrere kurze Kommen Wir haben dann begonnen, strukturiertes Design zu diskutieren.73 73 Zusammenfassung Ziel des strukturierten Designs Transformieren einer DFD-Darstellung in ein Strukturdiagramm Strukturdiagramm repräsentiert Modulstruktur Interaktion zwischen verschiedenen Modulen, Procedural Aspekte sind nicht dargestellt .74 74 Zusammenfassung Strukturiertes Design bietet zwei Strategien, um eine DFD in ein Strukturdiagramm umzuwandeln Transformanalyse Transaktionsanalyse.75 75 Zusammenfassung Wir diskutierten drei Beispiele für strukturiertes Design Es braucht viel Praxis, um ein guter Software-Designer zu werden. Versuchen Sie bitte, alle zu lösen Probleme, die in Ihrem Zuordnungsblatt aufgeführt sind, nicht nur die, die Sie übermitteln möchten. Funktionsorientiertes Software-Design weiter Vorlesung 6 Dr. R Mall. Präsentation zum Thema Funktionsorientiertes Software-Design weiter Vorlesung 6 Dr R Mall Präsentationstranskript.1 Funktionsorientiert Software-Design weiter Vorlesung 6 Dr. R Mall.2 Organisation dieser Vorlesung zB Kritik der bisherigen Vorlesungen zA größeres Beispiel der strukturierten Analyse zStrukturiertes Design yEin Hauptziel dieser Vorlesung ist, dass Sie in der Lage sein sollten, strukturiertes Design aus jedem DFD-Modell zu entwickeln. ZExamples zSummary. 3 Überprüfung der letzten Vorlesung zLast Vorlesung Wir begannen Diskussion über strukturierte Analyse strukturierte Design SA SD-Technik yincorporates Features von einigen wichtigen Design-Methoden zSA SD besteht aus zwei wichtigen Teilen ystructured Analyse ystructured design.4 Überprüfung der letzten Vorlesung zThe Ziel der strukturierten Analyse yperform funktionale Zersetzung Yrepresent unter Verwendung von Datenflussdiagrammen DFDs zDFDs sind ein hierarchisches Modell yWe untersucht, warum jedes hierarchische Modell einfach zu verstehen ist ynumber 7 heißt die magische Zahl.5 Review of Last Lecture zDuring strukturierte Analyse yFunctional Zerlegung findet yin zusätzlich, Daten Zersetzung findet zAt der Die meisten abstrakt Ebene ycontext Diagramm yrefined auf detailliertere Ebenen zWe diskutiert zwei kleine Beispiele yRMS Berechnungssoftware ytic-tac-toe Computer Spiel Software.6 Überprüfung der letzten Vorlesung zSeveral CASE-Tools sind verfügbar yhelp in Design-Aktivitäten yhelp pflegen die Daten-Wörterbuch, ycheck, ob DFDs Sind ausgeglichen, usw. zDFD-Modell, das schwierig zu implementieren ist, indem man eine Programmiersprache einsetzt, um in strukturiertes Design umgewandelt zu werden.7 Beispiel 3 Trading-House-Automatisierungssystem TAS zA großes Handelshaus möchte, dass wir eine Software entwickeln, die die Buchhaltungsaktivitäten im Zusammenhang mit ihrem Geschäft ermöglicht Hat viele Stammkunden, die Aufträge für verschiedene Arten von Waren erhalten.8 Beispiel 3 Trading-House Automation System TAS zDas Handelshaus unterhält Namen und Adressen seiner Stammkunden ZEach Kunde erhält eine eindeutige Kundenidentifikationsnummer CIN zAs pro aktueller Praxis bei einem Kunden Platziert die ordnungsgemäße Abrechnung der Kreditwürdigkeit des Kunden.9 Beispiel Handels-Haus-Automatisierungssystem TAS zDie Kreditwürdigkeit eines Kunden wird bestimmt, indem man die Geschichte seiner Zahlungen auf die Rechnungen analysiert, die ihm in der Vergangenheit zIf ein Kunde geschickt wurden Ist nicht kreditwürdig yhis bestellungen werden nicht weiter verarbeitet, um ordnungsgemäße ordnungsgemäße rücksendung Nachricht wird für den Kunden generiert.10 Beispiel Trading-House Automation System TAS zIf ein Kunde ist Kredit-würdig yitems er sie bestellt wurde gegen die Liste der Artikel überprüft Das Handelshaus befasst sich mit zDie Einzelteile, die das Handelshaus nicht mit yare verarbeitet, verarbeitete keine weitere yan angemessene Mitteilung für den Kunden für diese Einzelteile wird erzeugt.11 Beispiel Handels-Haus-Automatisierungssystem TAS zDie Einzelteile in einem Kunden s Auftrag, dass der Handel Haus-Angebote mit y werden auf Verfügbarkeit im Inventar geprüft, wenn die Artikel im Inventar in gewünschten Mengen verfügbar sind ya Rechnung mit der Weiterleitungsadresse des Kunden gedruckt ya Material Ausgabezettel ist gedruckt.12 Beispiel Trading-Haus Automatisierungssystem TAS zDer Kunde Kann das Materialausgabe-Slip am Lagerhaus produzieren, das die Lieferung der Artikel enthält, die den Verkauf an den Kunden widerspiegeln.13 Beispiel Trading-House-Automatisierungssystem TAS zIf Ein bestellter Artikel ist im Inventar nicht in ausreichender Menge verfügbar Um anstehende Aufträge zu speichern, speichern Details in einer ausstehenden Reihenfolge Datei xout-of-stock Artikel zusammen mit der Menge bestellt xcustomer Identifikationsnummer.14 Beispiel Trading-Haus-Automatisierungssystem TAS zDie Kaufabteilung würde regelmäßig Befehle ausgeben, um Einschnitte zu erzeugen zWhen generieren Einzugsbefehl wird ausgegeben Das System sollte die ausstehende Auftragsdatei untersuchen, um die Aufträge zu ermitteln, für die die für jede der einzelnen Positionen benötigte Menge angegeben ist.15 Beispiel Handels-Haus-Automatisierungssystem TAS zTAS sollte die Adressen der Anbieter, die die benötigten Artikel liefern, herausfinden, die die Datei enthält Lieferanten-Details ihre Adresse, Artikel, die sie liefern usw. yprint Out Einzug an diese Anbieter.16 Beispiel Trading-House-Automatisierungssystem TAS zTAS sollte auch beantworten Management-Anfragen ystatistics von verschiedenen Artikeln verkauft über einen bestimmten Zeitraum der gleichen Menge verkauft und der Preis realisiert.17 Kontextdiagramm Trading-House - Automatisierungs - System 0 Manager CustomerPurchase - Abfrage-Abfragestatistik Auftragsreaktion Generate-indent indent.18 Level 1 DFD Accept-order 0 1 Process-order 0 2 Handle - indent-request 0 4 Handle - query 0 3 anhängig - order Verkaufsstatistiken Inventar Vendor-Liste Kunden-Datei Item-Datei Kunden-Historie Indent-Request Indents Akzeptierte Bestellungen Abfrage Statistik Bestellung Material-Issue-Slip Rechnung.19 Beispiel Data Dictionary Zresponse Rechnung Material-Issue-Slip, Reject-Nachricht Zquery Periode Abfrage vom Manager in Bezug auf Verkaufsstatistik zperiod Datum Datum, Monat, Jahr, Tag zdate Jahr Monat Tag zyear Integer zmonth Integer zday Integer Zorder Kunden-ID zaccepted-Bestellung Bestellung bestellt Artikel verfügbar im Inventar zreject-Nachricht Auftrag Nachricht Ablehnung Nachricht Zpending-Bestellungen Kunden-ID zcustomer-Adresse Name Haus Straße Stadt Pin.20 Beispiel Daten Wörterbuch zitem-name string zhouse string zstreet string zcity string zpin integer zcustomer-id integer zbill total-betrag kundenadresse z material-issue-slip nachricht Artikel Menge Kundenadresse Zmessage String zstatistics zsales-statistics zquantity integer.21 Beobachtung zFrom der Beispiele, yobserve, dass DFDs helfen, xdata Modell XFunktionsmodell zu erstellen.22 Beobachtung zAs ein DFD wird in größere Detaillierungsstufen verfeinert, der Analytiker führt eine implizite funktionale Zersetzung yAt zur gleichen Zeit, Verfeinerungen Der Daten stattfinden.23 Richtlinien für den Aufbau von DFDs zContext-Diagramm sollte das System als eine einzelne Blase darstellen yMany Anfänger begehen den Fehler, mehr als eine Blase im Kontextdiagramm zu zeichnen.24 Richtlinien Für die Erstellung von DFDs sollten zAll externe Entitäten im Kontext dargestellt werden Diagramm yexternal Entitäten sollten nicht auf einer anderen Ebene von DFD erscheinen zOnly 3 bis 7 Blasen pro Diagramm sollte erlaubt werden yeach Blase sollte zwischen 3 und 7 Blasen zerlegt werden.25 Richtlinien für den Aufbau von DFDs zA häufiger Fehler von vielen Anfängern begangen, die versucht, die Kontrolle zu vertreten Informationen in einem DFD Sie versuchen, die Reihenfolge darzustellen, in der verschiedene Funktionen ausgeführt werden.26 Richtlinien für die Erstellung von DFDs zA DFD stellt keine Steuerinformation dar, wenn oder in welcher Reihenfolge unterschiedliche Funktionen Prozesse aufgerufen werden. Die Bedingungen, unter denen verschiedene Funktionen aufgerufen werden, sind nicht Stellte ein Beispiel dar. Eine Funktion kann je nach Bedingung eine oder andere Funktion aufrufen. YMany-Anfänger versuchen diesen Aspekt darzustellen, indem man einen Pfeil zwischen den entsprechenden Blasen zeichnet.27 Beispiel-1 z Überprüfen Sie den Eingabewert, wenn der Eingabewert kleiner als -1000 oder ist Größer als 1000 erzeugen eine Fehlermeldung yotherwise Suche nach der Zahl Chec k numb er Gener ate Fehler Searc h Nummer Nachricht Nummer gefunden, nicht gefunden.28 Richtlinien für den Aufbau von DFDs zIf eine Blase A ruft entweder Blase B oder Blase C je nach einigen Bedingungen auf Yrepresent die Daten, die von Blase A fließt B und Blasen A bis C ynot die Bedingungen abhängig von denen ein Prozess aufgerufen wird.29 Beispiel-2 zA-Funktion akzeptiert den Buchnamen, der vom Benutzer gesucht werden soll, wenn der eingegebene Buchname nicht ist Ein gültiger Buchname y generiert eine Fehlermeldung, wenn der Buchname gültig ist, ysearches der Buchname in der Datenbank Get-book - name Print-err - message Suchbuch Error-message Buchname Good-book - name Buchdetails .30 Richtlinien Für die Erstellung von DFDs müssen die Funktionen des Systems im DFD-Modell erfasst werden. Die Funktion, die im SRS-Dokument angegeben ist, sollte übersehen werden. ZOnly die im SRS-Dokument angegebenen Funktionen sollten dargestellt werden, wenn Sie keine zusätzliche Funktionalität des nicht spezifizierten Systems übernehmen Das SRS-Dokument.31 Häufig gemachte Fehler zUnbalanced DFDs zForgetting zur Erwähnung der Namen der Datenflüsse zUnrepräsentierte Funktionen oder Daten zExternal Entities, die auf höherer Ebene DFDs zTrying zur Darstellung von Steuerungsaspekten zContext-Diagramm mit mehr als einer Blase zA-Blase zerlegt in zu viele Blasen in Die nächste Stufe zTerminierende Zerlegung zu früh zNouns, die bei der Benennung von Blasen verwendet werden.32 Mängel des DFD-Modells zDFD-Modelle leiden unter mehreren Mängeln zDFDs lassen reichlich Umfang, um ungenau zu sein. In einem DFD-Modell schließen wir über die Funktion, die von einer Blase aus dem Label yA durchgeführt wird Etikett darf nicht alle Funktionalität einer Blase erfassen.33 Mängel des DFD-Modells zFor Beispiel, eine Blase namens Find-Book-Position hat nur intuitive Bedeutung yethes gibt nicht mehrere Dinge an, was passiert, wenn einige Eingabeinformationen fehlen oder falsch ist xDoes nicht Vermitteln alles, was passiert, wenn das Buch nicht gefunden wird xor was passiert, wenn es Bücher von verschiedenen Autoren mit dem gleichen Buchtitel gibt.34 Mängel des DFD-Modells zControl-Informationen sind nicht dargestellt yFor Instanz, Reihenfolge, in der Eingänge verbraucht und Ausgänge produziert werden Ist nicht spezifiziert Annahme - Auftrag Auftragsauftrag Kunden-Datei Objekt-Datei Kunden-Historie Auftragsaufträge Auftragsbestand.35 Mängel des DFD-Modells zA DFD spezifiziert keine Synchronisationsaspekte yFer Beispielsweise gibt der DFD im TAS-Beispiel nicht den Prozess an - Anordnung kann warten, bis die Akzeptanz-Daten Daten erzeugen, ob die Abnahme und die Handhabungsreihenfolge gleichzeitig mit einem Puffermechanismus zwischen ihnen ablaufen können.36 TAS Level 1 DFD Annahme - Auftragsbearbeitung Handle - indent - request Handle - Bestellen Verkaufsstatistik Inventar Kreditorenliste Kunden-Datei Objekt-Datei Kunden-Historie Indent-Request Indents Akzeptierte Bestellungen Abfrage Statistik Ordnung.37 Mängel des DFD-Modells zDie Art und Weise Zerlegung durchgeführt wird, um auf die sukzessiven Ebenen eines DFD zu kommen ist Subjektiv zDie endgültige Ebene, auf die die Zersetzung durchgeführt wird, ist subjektiv abhängig von der Wahl und dem Urteil des Analytikers zEven für das gleiche Problem, es sind mehrere alternative DFD-Darstellungen möglich, wenn es nicht möglich ist zu sagen, welche DFD-Darstellung überlegen oder vorzuziehen ist.38 Unzulänglichkeiten des DFD-Modells zDFD-Technik bietet keine glatte Anleitung darüber, wie genau man über die Zersetzung einer Funktion gehen soll. Yone muss das subjektive Urteil verwenden, um die Zersetzung durchzuführen zStrukturierte Analysetechniken geben nicht an, wann man einen Zerlegungsprozess auf die Längenzerlegung stoppen soll Muss durchgeführt werden.39 Erweiterung der DFD-Technik auf Real-Time-Systeme zFor Echtzeit-System-Systeme mit zeitlichen Grenzen auf ihre Handlungen, yessential zu modellieren Steuerfluss und Ereignisse yWidely akzeptierte Technik Ward und Mellor Technik xa Art von Prozess Blasen, die nur behandelt wird Kontrollströme werden eingeführt xDiese Prozesse werden mit gestrichelten Kreisen dargestellt.40 Strukturiertes Design zDas Ziel des strukturierten Designs ytransformieren die Ergebnisse der strukturierten Analyse, dh die DFD-Darstellung in ein Strukturdiagramm zA-Strukturdiagramm stellt die Softwarearchitektur dar, die yvarious Module ausmacht, und die Modulabhängigkeit Dh welches Modul ruft an, welche anderen Module, yparameter unter verschiedenen Modulen vergangen sind.41 Strukturdiagramm zStrukturdiagrammdarstellung, die mit Hilfe von Programmiersprachen implementiert werden kann zMain Fokus eines Strukturdiagramms ydefine die Modulstruktur einer Software, yinteraction zwischen verschiedenen Modulen, yprozedurale Aspekte zB wie a Besondere Funktionalität wird nicht dargestellt.42 Grundbausteine ​​des Strukturdiagramms zRectangulare Box yA Rechteckige Box stellt ein Modul dar, das mit dem Namen des Moduls versehen ist, das es repräsentiert Prozessordnung.43 Pfeile zAn Pfeil zwischen zwei Modulen impliziert, dass yduring execution control übergeben wird Ein Modul zum anderen in Richtung des Pfeils Prozess-orderHandle-indent root Handle-query.44 Datenfluss Arrows zData flow pfeile stellen ydata dar, die von einem Modul zum anderen in Richtung des Pfeils verarbeiten Prozeßauftrag root order.45 Library Module zLibrary-Module repräsentieren häufig sogenannte Module ya Rechteck mit doppelten Seitenkanten ySimplifiziert Zeichnung, wenn ein Modul von mehreren Modulen aufgerufen wird Schnell-Sortierung.46 Auswahl zDas Diamantsymbol repräsentiert das Yone-Modul von mehreren Modulen, die mit dem Diamantsymbol verbunden sind, wird abhängig von einer Bedingung aufgerufen - orderHandle-indent root Handle-query.47 Repetition zA loop around control flow arrows denotes that the concerned modules are invoked repeatedly Process-orderHandle-indent root Handle-query.48 Structure Chart zThere is only one module at the top ythe root module zThere is at most one control relationship between any two modules yif module A invokes module B, ymodule B cannot invoke module A zThe main reason behind this restriction yconsider modules in a structure chart to be arranged in layers or levels.49 Structure Chart zThe principle of abstraction ydoes not allow lower-level modules to invoke higher - level modules yBut, two higher-level modules can invoke the same lower-level module.50 Example root Get-good-dataCompute-solutionDisplay-solution Get-data Validate-data Valid-numbers rms.52 Shortcomings of Structure Chart zBy looking at a structure chart ywe can not say whether a module calls another module just once or many times zAlso, by looking at a structure chart ywe can not tell the order in which the different modules are invoked. 53 Flow Chart Aside zWe are all familiar with the flow chart representations yFlow chart is a convenient technique to represent the flow of control in a system zA B zif c 100 z P 20 zelse p 80 zwhile p 20 z print student mark ABP 20P 80 Print yes no dummy yes no 20 z print student mark ABP 20P 80 Print yes no dummy yes no.54 Flow Chart versus Structure Chart zA structure chart differs from a flow chart in three principal ways yIt is difficult to identify modules of a software from its flow chart representation yData interchange among the modules is not represented in a flow chart ySequential ordering of tasks inherent in a flow chart is suppressed in a structure chart.55 Transformation of a DFD Model into Structure Chart zTwo strategies exist to guide transformation of a DFD into a structure chart yTransform Analysis yTransaction Analysis.56 Transform Analysis zThe first step in transform analysis ydivide the DFD into 3 types of parts xinput, xlogical processing, xoutput.57 Transform Analysis zInput portion in the DFD yprocesses which convert input data from physical to logical form ye g read characters from the terminal and store in internal tables or lists zEach input portion ycalled an afferent branch yPossible to have more than one afferent branch in a DFD.58 Transform Analysis zOutput portion of a DFD ytransforms output data from logical form to physical form xe g from list or array into output characters yEach output portion xcalled an efferent branch zThe remaining portions of a DFD ycalled central transform.59 Transform Analysis zDerive structure chart by drawing one functional component for ythe central transform, yeach afferent branch, yeach efferent branch.60 Transform Analysis zIdentifying the highest level input and output transforms yrequires experience and skill zSome guidelines ytrace the inputs until a bubble is found whose output cannot be deduced from the inputs alone yProcesses which validate input are not central transforms yProcesses which sort input or filter data from it are.61 Transform Analysis zFirst level of structure chart ydraw a box for each input and output units ya box for the central transform zNext, refine the structure chart yadd subfunctions required by each high-level module yMany levels of modules may required to be added. 62 Factoring zThe process of breaking functional components into subcomponents zFactoring includes adding yread and write modules, yerror-handling modules, yinitialization and termination modules, etc zFinally check ywhether all bubbles have been mapped to modules.63 Example 1 RMS Calculating Software Compute - RMS 0 User Data - items result Context Diagram.64 Example 1 RMS Calculating Software zFrom a cursory analysis of the problem description, yeasy to see that the system needs to perform xaccept the input numbers from the user, xvalidate the numbers, xcalculate the root mean square of the input numbers, xdisplay the result.65 Example 1 RMS Calculating Software Data - items result Read - numbers 0 1 Validate - numbers 0 2 Compute - rms 0 3 Display 0 4 RMS numbers Valid - numbers error.66 Example 1 RMS Calculating Software zBy observing the level 1 DFD yidentify read-number and validate-number bubbles as the afferent branch ydisplay as the efferent branch.67 Example 1 RMS Calculating Software root Get-good-dataCompute-solutionDisplay-solution Get-data Validate-data Valid-numbers rms .68 Example 2 Tic-Tac-Toe Computer Game zAs soon as either of the human player or the computer wins, ya message congratulating the winner should be displayed zIf neither player manages to get three consecutive marks along a straight line, yand all the squares on the board are filled up, ythen the game is drawn zThe computer always tries to win a game.69 Context Diagram for Example 2 Human Player Tic-tac-toe software 0 display move.70 Level 1 DFD board Display - board Check - winner Validate - move Play - move move result game.71 Structure Chart root Get-good-moveCompute-gameDisplay Get-move Validate - move play-move Check - winner.72 Transaction Analysis zUseful for designing transaction processing programs yTransform-centered systems xcharacterized by similar processing steps for every data item processed by input, process, and output bubbles yTransaction-driven systems, xone of several possible paths through the DFD is traversed depending upon the input data value.73 Transaction Analysis zTransaction yany input data value that triggers an action yFor example, selected menu options might trigger different functions yRepresented by a tag identifying its type zTransaction analysis uses this tag to divide the system into yseveral transaction modules yone transaction-center module.74 Transaction analysis Transaction - center trans 1 trans 2 trans 3 type 1type 2type 3.75 Level 1 DFD for TAS Accept - order Process - order Handle - indent - request Handle - query pending-order Sales-statistics inventory Vendor-list Customer-file Item-file Customer-history Indent-request Indents Accepted-orders query order statistics. 76 Structure Chart root Handle-orderHandle-indentHandle-query Get-order Accept-orderProcess - order order query indent.77 Summary zWe first discussed structured analysis of a larger problem zWe defined some general guidelines yfor constructing a satisfactory DFD model zThe DFD model though simple and useful ydoes have several short comings zWe then started discussing structured design.78 Summary zAim of structured design ytransform a DFD representation into a structure chart zStructure chart represents ymodule structure yinteraction among different modules, yprocedural aspects are not represented.79 Summary zStructured design provides two strategies to transform a DFD into a structure chart yTransform Analysis yTransaction Analysis.80 Summary zWe Discussed three examples of structured design zIt takes a lot of practice to become a good software designer yPlease try to solve all the problems listed in your assignment sheet, y not only the ones you are expected to submit. xiaomi forex. types of stock options canada. how to avoid double taxation on stock options. advanced forex trading strategies. ams trading system. imulticur forex indicator free download. forex plus 500 opinie. free futures trading system. eur usd charts forex. trading out of the money options. kursus forex malaysia. forex money exchange rates pakistan. forex tick volume data. forex trader in nepal. usd chf forex factory. forex trading lernen youtube. glazed balustrade systems. fx options trader careers. cara investasi forex yang aman. forex trendline trading.

No comments:

Post a Comment