Friday 24 February 2017

Handel Haus Automatisierung System Dfd

1 Funktionsorientiertes Software-Design (Fortsetzung) Vorlesung 6 Prof. R. Mall Abt. Von CSE, IIT, Kharagpur. Präsentation zum Thema: 1 Funktionsorientiertes Software-Design (Fortsetzung) Vorlesung 6 Prof. R. Mall Abt. Von CSE, IIT, Kharagpur. Präsentationstranskript: 1 1 Funktionsorientiertes Software-Design (Fortsetzung) Vorlesung 6 Prof. R. Mall Abteilung der CSE, IIT, Kharagpur 2 2 Beispiel 3: Handelshaus-Automatisierungssystem (TAS) Ein großes Handelshaus möchte, dass wir ein Software: Automatisieren Buchhaltung Aktivitäten mit seinem Unternehmen verbunden. Es hat viele Stammkunden: Wer Platz Bestellungen für verschiedene Arten von Rohstoffen. 3 3 Beispiel 3: Handelshaus-Automatisierungssystem (TAS) Das Handelshaus unterhält Namen und Adressen seiner Stammkunden. Jedem Kunden wird eine eindeutige Kundennummer (CIN) zugewiesen. Nach derzeitiger Praxis beim Kundenauftrag: Die Buchhaltung prüft zunächst die Kreditwürdigkeit des Kunden. 4 4 Beispiel: Trading-House Automation System (TAS) Die Kreditwürdigkeit eines Kunden wird bestimmt: Durch die Analyse der Geschichte seiner Zahlungen an die Rechnungen, die ihm in der Vergangenheit zugesandt wurden. Wenn ein Kunde nicht kreditwürdig ist, werden seine Aufträge nicht weiter verarbeitet. Für den Kunden wird eine entsprechende Ablehnungsnachricht erzeugt. 5 5 Beispiel: Trading-House Automation System (TAS) Wenn ein Kunde kreditwürdig ist: Gegenstände, die er bestellt hat, werden mit der Liste der Gegenstände, mit denen sich das Handelshaus befasst, überprüft. Die Gegenstände, die vom Handelshaus nicht behandelt werden, werden nicht weiterverarbeitet. Für diese Gegenstände wird eine entsprechende Meldung für den Kunden erzeugt. 6 6 Beispiel: Handelshaus-Automatisierungssystem (TAS) Die Positionen eines Kundenauftrags, mit dem sich das Handelshaus befasst: Wird auf Verfügbarkeit im Inventar überprüft. Wenn die Positionen im Bestandsverzeichnis in den gewünschten Mengen vorhanden sind, wird eine Rechnung mit der Weiterleitungsadresse des Kunden ausgedruckt. Ein Materialausgabebeleg wird gedruckt. 7 7 Beispiel: Trading-House Automation System (TAS) Der Kunde kann die Materialausgabe im Lagerhaus produzieren: Die Lieferung der Artikel nehmen. Inventurdaten angepasst, um den Verkauf an den Kunden widerzuspiegeln. 8 8 Beispiel: Handelshaus-Automatisierungssystem (TAS) Wenn ein bestellter Artikel im Inventar nicht in ausreichender Menge vorhanden ist: Um ausstehende Aufträge zu speichern, können Sie Details in einer Auftragsdatei speichern. Out-of-stock-Artikel zusammen mit der bestellten Menge. Kunden-Identifikationsnummer 9 9 Beispiel: Trading-House Automation System (TAS) Die Einkaufsabteilung würde regelmäßig Befehle ausgeben, um Einrückungen zu erzeugen. Bei der Erstellung des Befehls gener indent: Das System sollte die Pending Order-Datei untersuchen. Die anstehenden Aufträge ermitteln Die Gesamtmenge, die für die einzelnen Posten benötigt wird. 10 10 Beispiel: Handelshaus-Automatisierungssystem (TAS) TAS sollte die Adressen der Lieferanten, die die benötigten Positionen liefern, herausfinden: Prüfen Sie die Datei mit den Lieferantendetails (ihre Adresse, Positionen, die sie liefern usw.) 11 11 Beispiel: Trading-House Automation System (TAS) TAS sollte auch beantworten Management-Abfragen: 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 CustomerPurchase - Abfrage - statistik Bestell - antwort Generieren - indent indent 13 13 Level 1 DFD Accept - order 0.1 Prozess - order 0.2 Handle - indent - request 0.4 Hand - ling 0.3 pending-order Verkaufsstatistiken Inventur Lieferantenliste Kundendatei Objektdatei Kundenhistorie Einrückungsauftrag Einzug Zulässige Auftragsanfragen Abfragestatistik Auftrag Material-Emissionsschein 14 14 Beispiel: Data Dictionary-Antwort: Stücklisten-Materialausgabe, Ablehnungsnachricht Abfrage: Periodenabfrage vom Manager in Bezug auf Verkaufsstatistik Zeitraum: datedate, month, year, day date: year month day year: integer month: integer day: integer Reihenfolge: customer-id accept-order: bestellte Artikel in der Inventory-Ablehnungsnachricht zu bestellen : Bestellnachricht Ablehnungsnachricht Ausstehende Aufträge: Kunden-ID Kundenadresse: namehousestreetcitypin 15 15 Beispiel: Data Dictionary item-name: String Haus: String Strasse: String Ort: String Pin: Integer Kunden-ID: Integer-Rechnung: Gesamtbetrag Kunden-Adresse Material-Emissionsprospekt: ​​Meldungsposition Menge Kundenadresse Meldung: Stringstatistik: Umsatzstatistik: Menge: Integer 16 16 Beobachtung Aus den Beispielen ist zu erkennen, dass DFDs helfen: Datenmodell Funktionsmodell 17 17 Observation Als DFD Wird in größere Detailstufen verfeinert: Der Analytiker führt eine implizite funktionale Zerlegung durch. Gleichzeitig finden Verfeinerungen der Daten statt. 18 18 Richtlinien für die Konstruktion von DFDs Das Kontextdiagramm sollte das System als eine einzige Bubble darstellen: Viele Anfänger begehen den Fehler, mehr als eine Bubble im Kontextdiagramm zu zeichnen. 19 19 Richtlinien für den Aufbau von DFDs Alle externen Einheiten sollten im Kontextdiagramm dargestellt werden: Externe Einheiten dürfen auf keiner anderen Ebene von DFD auftreten. Es sollten nur 3 bis 7 Blasen pro Diagramm zugelassen werden: Jede Blase sollte auf 3 bis 7 Blasen zerlegt werden. 20 20 Richtlinien für den Aufbau von DFDs Ein häufiger Fehler, den viele Anfänger begangen haben: Versuch, Steuerinformationen in einer DFD darzustellen. z. B. Um die Reihenfolge darzustellen, in der verschiedene Funktionen ausgeführt werden. 21 21 Richtlinien für den Aufbau von DFDs Ein DFD stellt keine Steuerinformationen dar: Wann oder in welcher Reihenfolge unterschiedliche Funktionen (Prozesse) aufgerufen werden Die Bedingungen, unter denen unterschiedliche Funktionen aufgerufen werden, werden nicht dargestellt. Beispielsweise könnte eine Funktion eine Funktion oder eine andere Funktion abhängig von einer bestimmten Bedingung aufrufen. Viele Anfänger versuchen, diesen Aspekt darzustellen, indem sie einen Pfeil zwischen den entsprechenden Blasen zeichnen. 22 22 Beispiel-1 Eingangswert prüfen: Wenn der Eingabewert kleiner oder größer ist als eine Fehlermeldung generieren sonst nach der Nummer suchen Chec k er er Generator Fehler Searc h Nummer Meldungsnummer gefunden, nicht gefunden 23 23 Richtlinien For Konstruieren von DFDs Wenn eine Blase A Blase B oder Blase C abhängig von einigen Bedingungen aufruft, stellen sie die Daten dar, die von Blase A zu Blase B und Blasen A bis C fließen, nicht die Bedingungen, die davon abhängen, auf welchen ein Prozess aufgerufen wird. 24 24 Beispiel-2 Eine Funktion akzeptiert den Buchnamen, der vom Benutzer gesucht werden soll Ist der eingegebene Buchname kein gültiger Buchname Erzeugen einer Fehlermeldung, wenn der Buchname gültig ist, Sucht den Buchnamen in der Datenbank. Get-book - name Print-err - message Such - buch Fehler - meldung Buch - name Good - book - name Buch - details 25 25 Richtlinien für die Erstellung von DFDs Alle Funktionen des Systems müssen im DFD-Modell erfasst werden: Keine Funktion angegeben in Sollte das SRS-Dokument übersehen werden. Es sollten nur die im SRS-Dokument angegebenen Funktionen dargestellt werden: Nehmen Sie keine zusätzliche Funktionalität des vom SRS-Dokument nicht spezifizierten Systems an. 26 26 Gemeinsam gemachte Fehler Unausgeglichene DFDs Vergessen, die Namen der Datenflüsse zu erwähnen Nicht repräsentierte Funktionen oder Daten Externe Einheiten, die auf höheren Ebenen erscheinen DFDs Versuchen, Steueraspekte darzustellen Kontextdiagramm mit mehr als einer Blase Eine Blase, die in zu viele Blasen in der nächsten Ebene zerlegt wird Beendigung der Zerlegung zu früh Nomen, die bei der Namensgebung von Blasen verwendet werden 27 27 Defizite des DFD-Modells DFD-Modelle leiden unter mehreren Mängeln: DFDs lassen reichlich Spielraum, um ungenau zu sein. In einem DFD-Modell, schlussfolgern wir über die Funktion von einer Blase aus seinem Label durchgeführt. Ein Label kann nicht alle Funktionen einer Blase erfassen. 28 28 Defizite des DFD-Modells Eine Blase namens find-book-position hat beispielsweise nur intuitive Bedeutung: Legt nicht mehrere Dinge fest: Was passiert, wenn einige Input-Informationen fehlen oder nicht korrekt sind. Vermittelt nichts darüber, was passiert, wenn Buch nicht gefunden wird oder was passiert, wenn es Bücher von verschiedenen Autoren mit dem gleichen Buchtitel gibt. 29 29 Unzulänglichkeiten der DFD-Modellsteuerungsinformationen werden nicht dargestellt: Beispielsweise wird die Reihenfolge, in der die Eingänge verbraucht und die Ausgänge erzeugt werden, nicht angegeben. Accept - order Process - Order Kunden-File Item-File Kundenhistorie Accepted - Bestellen Inventar bestellen 30 30 Defragmentierung des DFD-Modells Ein DFD gibt keine Synchronisationsaspekte an: Beispielsweise spezifiziert das DFD im TAS-Beispiel nicht: Kann der Auftrag warten, bis die Annahme-Bestellung Daten erzeugt. Ob Annahme-Bestellung und Handle-Reihenfolge gleichzeitig mit einigen Puffermechanismen zwischen ihnen erfolgen können. 31 31 TAS: Level 1 DFD Akzeptieren - order Prozess - bestellung Handle - indent - anfrage Hand - habung anhängig Verkaufsstatistiken Inventur Kreditorenliste Kundendatei Objektdatei Kundenhistorie Einrückung Einrückungen Akzeptiert - Bestellstatistiken bestellen 32 32 Defizite des DFD-Modells Die Art und Weise, wie die Zersetzung durchgeführt wird, um die aufeinanderfolgenden Ebenen eines DFD zu erreichen, ist subjektiv. Der letzte Grad, zu dem die Zersetzung durchgeführt wird, ist subjektiv: Abhängig von der Wahl und Beurteilung des Analytikers. Auch für das gleiche Problem sind mehrere alternative DFD-Darstellungen möglich: Oft ist es nicht möglich zu sagen, welche DFD-Darstellung überlegen oder vorzuziehen ist. 33 33 Mängel der DFD-Modell-DFD-Technik gibt es nicht: Jede klare Anleitung, wie genau eine Zerlegung einer Funktion gehen sollte: Man muss subjektives Urteil verwenden, um Zersetzung durchzuführen. Strukturierte Analysetechniken geben nicht an, wann ein Zersetzungsprozess gestoppt werden soll: Zu welcher Länge Zerlegung durchgeführt werden soll. 34 34 Erweiterung der DFD-Technik auf Real-Time-Systeme Für Echtzeit-Systeme (Systeme mit zeitlichen Begrenzungen auf ihre Aktionen) Weit akzeptierte Technik: Ward und Mellor Technik. Eine Art von Prozeß (Blasen), der nur Steuerflüsse behandelt, wird eingeführt. Diese Prozesse werden durch gestrichelte Kreise dargestellt. 35 35 Strukturiertes Design Ziel des strukturierten Designs Umwandlung der Ergebnisse einer strukturierten Analyse (d. H. Einer DFD-Darstellung) in ein Strukturdiagramm. Ein Strukturdiagramm stellt die Softwarearchitektur dar: Verschiedene Module, aus denen sich das System zusammensetzt, Modulabhängigkeit (d. H. Welches Modul die anderen Module aufruft), Parameter, die an verschiedene Module übergeben werden. 36 36 Strukturdiagramm Strukturdiagramm Einfache Implementierung über Programmiersprachen. Schwerpunkt eines Strukturplans: Definieren der Modulstruktur einer Software, Interaktion zwischen verschiedenen Modulen, Prozedurale Aspekte (z. B. wie eine bestimmte Funktionalität erreicht wird) werden nicht dargestellt. 37 37 Grundbausteine ​​des Strukturdiagramms Rechteckige Box: Eine rechteckige Box repräsentiert ein Modul. Mit dem Namen des Moduls versehen, das es repräsentiert. Prozess-Reihenfolge 38 38 Pfeile Ein Pfeil zwischen zwei Modulen impliziert: Während der Ausführung wird die Steuerung von einem Modul zum anderen in Richtung des Pfeils geführt. Process-orderHandle-indent root Handle-Abfrage 39 39 Datenfluss-Pfeile Datenfluss-Pfeile repräsentieren: Daten, die von einem Modul zum anderen in Richtung des Pfeils übergehen. Auftragsreihenfolge 40 40 Bibliotheksbausteine ​​Bibliotheksbausteine ​​repräsentieren häufig aufgerufene Module: Ein Rechteck mit doppelten Seitenkanten. Vereinfacht die Zeichnung, wenn ein Modul von mehreren Modulen aufgerufen wird. Quick-sort 41 41 Auswahl Das Diamantsymbol steht für: Ein Modul aus mehreren Modulen, die mit dem Diamantsymbol verbunden sind, wird abhängig von einer Bedingung aufgerufen. Process-orderHandle-indent root Handle-Abfrage 42 42 Repetition Eine Schleife um Kontrollfluss-Pfeile zeigt an, dass die betroffenen Module wiederholt aufgerufen werden. Process-orderHandle-indent root Handle-Abfrage 43 43 Strukturdiagramm Es gibt nur ein Modul an der Oberseite: das Root-Modul. Es gibt höchstens eine Steuerbeziehung zwischen zwei Modulen: Wenn Modul A Modul B aufruft, kann Modul B Modul A nicht aufrufen. Hauptgrund für diese Einschränkung: Überlegen Sie Module in einem Strukturdiagramm, die in Ebenen oder Ebenen angeordnet werden sollen. 44 44 Strukturdiagramm Das Prinzip der Abstraktion: erlaubt es nicht, Module auf höherer Ebene aufzurufen. Aber zwei übergeordnete Module können das gleiche untergeordnete Modul aufrufen. 45 45 Beispielwurzel Get-good-data Berechnungslösung Display-Lösung Get-data Validierungsdaten Gültigkeitszahlen rms 47 47 Mängel des Strukturdiagramms Mit einem Strukturdiagramm können wir nicht sagen, ob ein Modul nur einmal ein anderes Modul aufruft Oder viele Male. Auch können wir anhand eines Strukturdiagramms die Reihenfolge nicht ermitteln, in der die verschiedenen Module aufgerufen werden. 48 48 Flußdiagramm (beiseite) Wir alle kennen die Flußdiagrammdarstellungen: Flußdiagramm ist eine bequeme Technik, um den Fluß der Steuerung in einem System darzustellen. AB, wenn (c 100) P20 sonst p 80 während (p20) Druck (Schülermarke) AB P20P80 Druck ja nein Dummy ja nein 20) Druck (Studentenmarkierung) AB P20P80 Druck ja nein Dummy ja nein 49 49 Flußdiagramm versus Strukturdiagramm A Struktur-Diagramm unterscheidet sich von einem Flussdiagramm in drei Hauptformen: Es ist schwierig, Module einer Software aus ihrer Flußdiagrammdarstellung zu identifizieren. Der Datenaustausch zwischen den Modulen ist in einem Flussdiagramm nicht dargestellt. Die sequentielle Reihenfolge der in einem Flussdiagramm enthaltenen Aufgaben wird in einem Strukturdiagramm unterdrückt. 50 50 Umwandlung eines DFD-Modells in Strukturdiagramm Für die Umwandlung eines DFD in ein Strukturdiagramm gibt es zwei Strategien: Transformationsanalyse Transaktionsanalyse 51 51 Transformationsanalyse Der erste Schritt der Transformationsanalyse: Teilen Sie den DFD in 3 Teile: Eingabe, logische Verarbeitung , Ausgabe. 52 52 Transformationsanalyse Eingabebereich im DFD: Prozesse, die Eingabedaten von physikalischer in logische Form umwandeln. z. B. Zeichen aus dem Terminal lesen und in internen Tabellen oder Listen speichern. Jeder Eingabebereich: ein afferenter Zweig. Möglich, mehr als einen afferenten Zweig in einem DFD zu haben. 53 53 Transformationsanalyse Ausgabeabschnitt eines DFD: transformiert Ausgabedaten von logischer Form in physische Form. z. B. Aus der Liste oder dem Array in Ausgabezeichen. Jeder Ausgabeabschnitt: genannt efferent Zweig. Die verbleibenden Abschnitte einer DFD, die als zentrale Transformation bezeichnet werden 54 54 Transformationsanalyse Ableiten des Strukturdiagramms durch Zeichnen einer funktionalen Komponente für: die zentrale Transformation, jeden afferenten Zweig, jeden efferenten Zweig. 55 55 Transformationsanalyse Identifizieren der höchsten Eingangs - und Ausgangstransformationen: erfordert Erfahrung und Geschick. Einige Richtlinien: Verfolgen Sie die Eingaben, bis eine Blase gefunden wird, deren Ausgang nicht allein von den Eingängen abgeleitet werden kann. Prozesse, die die Eingabe validieren, sind keine zentralen Transformationen. Prozesse, die Eingangs - oder Filterdaten sortieren, sind. 56 56 Transformationsanalyse Erste Ebene des Strukturdiagramms: Zeichnen Sie eine Box für jede Eingabe - und Ausgabeeinheit Eine Box für die zentrale Transformation. Als nächstes verfeinern Sie das Strukturdiagramm: Addieren Sie Unterfunktionen, die von jedem High-Level-Modul benötigt werden. Es können mehrere Module erforderlich sein. 57 57 Factoring Der Prozess der Unterbrechung von Funktionskomponenten in Unterkomponenten. Factoring beinhaltet das Hinzufügen: Lesen und Schreiben von Modulen, Fehlerbehandlungsmodule, Initialisierungs - und Terminierungsmodule usw. Endgültig überprüfen: Ob alle Blasen auf Module abgebildet sind. 58 58 Beispiel 1: RMS-Berechnungssoftware Berechnen-RMS 0 Benutzerdatenfelder Ergebnis Kontextdiagramm 59 59 Beispiel 1: RMS-Berechnungssoftware Aus einer flüchtigen Analyse der Problembeschreibung lässt sich leicht erkennen, dass das System ausführen muss: Akzeptieren Sie die Eingabedaten Vom Benutzer bestätigen, die Zahlen berechnen, das Wurzelquadrat der eingegebenen Zahlen berechnen, das Ergebnis anzeigen. 60 60 Beispiel 1: RMS-Berechnungssoftware Datenfel - der Ergebnis Read-Zahlen 0.1 Validierungs - zahlen 0.2 Rechen - werte 0.3 Anzeige 0.4 RMS-Nummern Valid-Number-Fehler 61 61 Beispiel 1: RMS-Berechnungssoftware Durch Betrachten des Level 1 DFD: Anzahl und Validierungszahl Blasen als afferent Zweig Anzeige als efferent Zweig. 62 62 Beispiel 1: RMS-Berechnungssoftware root Get-good-data Berechnungslösung Display-Lösung Get-data Validate-Daten Gültige Zahlen rms 63 63 Beispiel 2: Tic-Tac-Toe Computerspiel Sobald der Mensch Spieler ist Oder der Computer gewinnt, sollte eine Nachricht gratulieren den Sieger angezeigt werden. Wenn kein Spieler gelingt, drei aufeinander folgende Markierungen entlang einer geraden Linie zu erhalten, Und alle Quadrate auf dem Brett werden oben gefüllt, Dann wird das Spiel gezeichnet. Der Computer versucht immer, ein Spiel zu gewinnen. 65 65 Level 1 DFD-Karte Anzeigetafel Check - Sieger Validieren - verschieben Spiel - verschieben Ergebnis bewegen 66 66 Struktur Diagramm Wurzel Get-good-moveCompute-gameDisplay Get-move Validieren - Verschieben des Play-Movs Check-Gewinner 67 67 Transaktionsanalyse Nützlich Zum Entwerfen von Transaktionsverarbeitungsprogrammen. Transform-zentrierte Systeme: Gekennzeichnet durch ähnliche Verarbeitungsschritte für jedes Datenelement, das von Input-, Prozess - und Outputbubbles verarbeitet wird. Transaktionsgetriebene Systeme, Einer von mehreren möglichen Pfaden durch den DFD wird abhängig vom Eingangsdatenwert durchlaufen. 68 68 Transaktionsanalyse Transaktion: Beliebiger Eingabedatenwert, der eine Aktion auslöst: Beispielsweise können ausgewählte Menüoptionen verschiedene Funktionen auslösen. Repräsentiert durch ein Tag, das seinen Typ identifiziert. Die Transaktionsanalyse verwendet dieses Tag zur Unterteilung des Systems in: Mehrere Transaktionsmodule Ein Transaktionszentrummodul. 69 69 Transaktionsanalyse Transaktionszentrum trans 1 trans 2 trans 3 Typ 1 Typ 2 Typ 3 70 70 Ebene 1 DFD für TAS Auftragsannahme Prozessauftrag Handle - indent - Anforderung Hand - lung anhängig Verkaufsstatistiken Inventur Lieferantenliste Kunden - Datei Artikeldatei Kundenhistorie Einrückung Einrückungen Auftragseingänge Auftragsstatistik 71 71 Struktur Diagrammwurzel Handle-orderHandle-indentHandle-Abfrage Get-order Accept-orderProcess - order order query indent 72 72 Zusammenfassung Als erstes diskutierten wir eine strukturierte Analyse von a Größeres Problem. Wir haben einige allgemeine Richtlinien für den Aufbau eines zufriedenstellenden DFD-Modells definiert. Die DFD-Modell zwar einfach und nützlich hat einige kurze Kommen. Wir begannen dann, strukturiertes Design zu diskutieren. 73 73 Zusammenfassung Ziel des strukturierten Designs: Umwandlung einer DFD-Darstellung in ein Strukturdiagramm. Strukturdiagramm: Modulstruktur Interaktion zwischen verschiedenen Modulen, Prozedurale Aspekte werden nicht dargestellt. 74 74 Zusammenfassung Das strukturelle Design bietet zwei Strategien zur Umwandlung eines DFD in ein Strukturdiagramm: Transformationsanalyse Transaktionsanalyse 75 75 Zusammenfassung Wir diskutierten drei Beispiele für strukturiertes Design. Es braucht viel Übung, um eine gute Software-Designer zu werden: Bitte versuchen Sie, alle Probleme zu lösen, die in Ihrem Zuordnungsblatt aufgelistet sind, nicht nur die, die Sie erwarten, um einzureichen. FunctionOriented Software Design Fortsetzung: Vorlesung 6 - PowerPoint PPT Presentation Transcript und Presenters Anmerkungen Titel: Funktionsorientiertes Software-Design Fortsetzung: Vorlesung 6 1 Funktionsorientiertes Software-Design (Fortsetzung) Vorlesung 6 Dr. R. Mall 2 Organisation dieser Vorlesung Kurzüberblick der Vorlesungen Ein größeres Beispiel für Strukturierte Analyse Strukturiertes Design Ein wesentliches Ziel dieser Vorlesung Ist, dass Sie in der Lage sein, strukturierte Design aus jedem DFD-Modell zu entwickeln. Beispiele Zusammenfassung 3 Review der letzten Vorlesung Die letzte Vorlesung, die wir begannen Diskussion über die Strukturierte Analyse Strukturierte Design (SASD) - Technologie beinhaltet Funktionen aus einigen wichtigen Design-Methoden. SASD besteht aus zwei wichtigen Teilen strukturierte Analyse strukturierten Design. 4 Überprüfung der letzten Vorlesung Das Ziel der strukturierten Analyse führt zur funktionalen Zersetzung. Datenflussdiagramme (DFDs) darstellen. DFDs sind ein hierarchisches Modell Wir untersuchten, warum jedes hierarchische Modell ist leicht zu verstehen Nummer 7 heißt die magische Zahl. 5 Überprüfung der letzten Vorlesung Während der strukturierten Analyse findet auch eine Funktionszerlegung statt, die Datenzerlegung findet statt. Auf der abstraktesten Ebene Kontext Diagramm verfeinert, um detailliertere Ebenen. Wir diskutierten zwei kleine Beispiele RMS-Berechnungssoftware tic-tac-toe Computerspielsoftware 6 Überprüfung der letzten Vorlesung Mehrere CASE-Tools stehen Ihnen bei der Planung von Aktivitäten zur Verfügung, um das Datenwörterbuch zu pflegen, zu überprüfen, ob DFDs ausgeglichen sind usw. DFD-Modell ist schwer zu implementieren Muss eine Programmiersprache in strukturiertes Design umgesetzt werden. 7 Beispiel 3 Handelshaus-Automatisierungssystem (TAS) Ein großes Handelshaus möchte, dass wir eine Software entwickeln, um Buchhaltungstätigkeiten mit ihrem Geschäft zu automatisieren. Es hat viele Stammkunden, die Bestellungen für verschiedene Arten von Rohstoffen. 8 Beispiel 3 Handelshaus-Automatisierungssystem (TAS) Das Handelshaus unterhält Namen und Adressen seiner Stammkunden. Jedem Kunden wird eine eindeutige Kundennummer (CIN) zugewiesen. Nach der laufenden Praxis, wenn ein Kunde die Bestellung bestellt, prüft die Buchhaltung zunächst die Kreditwürdigkeit des Kunden. 9 Beispiel Handelshaus-Automatisierungssystem (TAS) Die Kreditwürdigkeit eines Kunden wird durch die Analyse der Geschichte seiner Zahlungen an die ihm in der Vergangenheit gesendeten Rechnungen bestimmt. Wenn ein Kunde nicht kreditwürdig ist, werden seine Aufträge nicht weiter verarbeitet, eine entsprechende Ablehnungsnachricht wird für den Kunden generiert. 10 Beispiel Handelshaus-Automatisierungssystem (TAS) Wenn ein Kunde kreditwürdige Positionen hat, die er bestellt hat, werden sie mit der Liste der Gegenstände, mit denen sich das Handelshaus befasst, überprüft. Die Positionen, für die sich das Handelshaus nicht kümmert, werden nicht weiter verarbeitet. Eine entsprechende Nachricht für den Kunden wird generiert. 11 Beispiel Handelshaus-Automatisierungssystem (TAS) Die Positionen eines Kundenauftrags, die das Handelshaus befasst, werden auf Verfügbarkeit im Inventar überprüft. Sind die Positionen im Bestandsverzeichnis in gewünschten Mengen vorhanden, wird eine Rechnung mit der Weiterleitungsadresse des Kunden ausgedruckt. Wird ein Materialausgabebeleg gedruckt. 12 Beispiel Handelshaus-Automatisierungssystem (TAS) Der Kunde kann den Materialausgangsschein am Lagerhaus abholen. Inventurdaten angepasst, um den Verkauf an den Kunden widerzuspiegeln. 13 Beispiel Handelshaus-Automatisierungssystem (TAS) Wenn eine bestellte Position im Inventar nicht in ausreichender Menge zur Verfügung steht, um ausstehende Bestellungen zu erfassen, können Sie die Details in einer ausstehenden Bestandsliste mit der bestellten Menge abholen. Kundennummer 14 Beispiel Trading-House Automation System (TAS) Die Einkaufsabteilung würde regelmäßig Befehle ausgeben, um Einrückungen zu erzeugen. Wenn der Befehl "Einzug erzeugen" ausgegeben wird, sollte das System die Datei "Ausstehende Aufträge" untersuchen, um die Aufträge zu ermitteln, für die die erforderliche Gesamtmenge für die einzelnen Elemente erforderlich ist. 15 Beispiel Handelshaus-Automatisierungssystem (TAS) TAS sollte herausfinden, dass die Adressen der Lieferanten, die die benötigten Positionen liefern, die Datei untersuchen, die die Lieferantendetails enthält (ihre Adresse, Elemente, die sie liefern usw.), Vertretungen zu diesen Anbietern auszudrucken. 16 Beispiel Trading-House Automation System (TAS) TAS sollte auch beantworten Management-Abfragen Statistiken der verschiedenen Posten verkauft über einen bestimmten Zeitraum entsprechende Menge verkauft und der Preis realisiert. 17 Kontextdiagramm Indent-Abfrage Trading-House-Automation-System0 Managerstatistikreihenfolge Generieren-Einrückung Kunde Einkauf-Abteilung 18 Level 1 DFD Kundenprotokoll Itemdatei Abfrage Accept-order0.1 Statistik Inventar Kunden-Datei Handle-Abfrage0.3 Reihenfolge Process-order0.2 Akzeptierte Aufträge Vendor-Liste Handle-indent-request0.4 Verkaufsstatistiken Einrückungsauftrag Material-Issue-Slip-Rechnung pending-order Einzug 19 Beispiel Data Dictionary Response-Rechnung Material-Issue-Slip, Reject-Message-Abfrage Periodenabfrage vom Manager in Bezug auf Umsatzstatistik Zeitraum Datum, Monat, Jahr, Tag Datum Jahr Monat Tag Jahr Integer Monat Integer-Tag Integer-Bestellung Kunden-ID-Artikel Menge-Bestellung bestellt Artikel bestellt im Inventar Reject-Meldung Auftragsnachricht Ablehnungsnachricht Ausstehende Aufträge Customer-id itemquantity customer-adresse namehousestreetcitypin 20 Beispiel Datenwörterbuch item-name string house string string string stadt string pin integer kunde-id integer rechnung item mengenpreis summe kunde-adresse material-issue-slip-meldung item menge customer-adresse message Stringstatistik Artikel Menge Preis Verkaufsstatistik Statistik Menge Integer 21 Beobachtung Aus den Beispielen wird ersichtlich, dass DFDs dazu beitragen, ein Datenmodell-Funktionsmodell zu entwickeln 22 Beobachtung Da ein DFD zu größeren Detaillierungsgraden verfeinert wird, führt der Analytiker eine implizite funktionale Zerlegung durch. Gleichzeitig finden Verfeinerungen der Daten statt. 23 Richtlinien für die Konstruktion von DFDs Kontextdiagramm sollte das System als eine einzige Blase darstellen Viele Anfänger begehen den Fehler, mehr als eine Blase im Kontextdiagramm zu zeichnen. 24 Richtlinien für den Aufbau von DFDs Alle externen Entitäten sollten im Kontextdiagramm dargestellt werden. Externe Entitäten sollten auf keiner anderen Ebene von DFD erscheinen. Es sollten nur 3 bis 7 Blasen pro Diagramm zugelassen werden, wobei jede Blase auf 3 bis 7 Blasen zerlegt werden sollte. 25 Richtlinien für den Aufbau von DFDs Ein häufiger Fehler, den viele Anfänger beabsichtigen, Kontrollinformationen in einer DFD darzustellen. z. B. Um die Reihenfolge darzustellen, in der verschiedene Funktionen ausgeführt werden. 26 Richtlinien für den Aufbau von DFDs Ein DFD stellt keine Steuerinformationen dar, wenn oder in welcher Reihenfolge unterschiedliche Funktionen (Prozesse) aufgerufen werden. Die Bedingungen, unter denen unterschiedliche Funktionen aufgerufen werden, sind nicht dargestellt. Beispielsweise kann eine Funktion eine Funktion oder eine Funktion in Abhängigkeit von einer bestimmten Bedingung aufrufen. Viele Anfänger versuchen, diesen Aspekt darzustellen, indem sie einen Pfeil zwischen den entsprechenden Blasen zeichnen. 27 Beispiel-1 Eingangswert prüfen Falls der Eingangswert kleiner als -1000 oder größer als 1000 ist, erzeugen Sie eine Fehlermeldung ansonsten Suche nach der Zahl GenerateError-Meldung Checknumber Nummer Nummer Suchen gefunden, nicht gefunden 28 Richtlinien für den Aufbau von DFDs Wenn eine Blase A Ruft entweder Blase B oder Blase C auf, abhängig von einigen Bedingungen repräsentieren die Daten, die von Blase A zu Blase B und Blasen A bis C fließen, nicht die Bedingungen, die davon abhängen, auf welchen ein Prozess aufgerufen wird. 29 Beispiel-2 Eine Funktion akzeptiert den zu durchsuchenden Buchnamen vom Benutzer Wenn der eingegebene Buchname kein gültiger Buchname ist, wird eine Fehlermeldung generiert. Wenn der Buchname gültig ist, durchsucht den Buchnamen in der Datenbank. Search-Buch Buch-Name Buch-Name Buch-Details Fehlermeldung Print-err-message Buchname 30 Richtlinien für die Erstellung von DFDs Alle Funktionen des Systems müssen im DFD-Modell erfasst werden Sollte übersehen werden. Nur diejenigen Funktionen, die im SRS-Dokument angegeben werden sollen, übernehmen keine zusätzliche Funktionalität des Systems, die nicht durch das SRS-Dokument spezifiziert ist. 31 Häufig gemachte Fehler Unausgewogene DFDs Vergessen, die Namen der Datenflüsse zu erwähnen Nicht repräsentierte Funktionen oder Daten Externe Einheiten, die auf höheren Ebenen erscheinen DFDs Versuchen, Steuerelemente zu repräsentieren Kontextdiagramm mit mehr als einer Blase Eine Blase, die in zu viele Blasen in der nächsten Ebene abgebaut wird Beenden Zerlegung zu früh Nomen, die bei der Benennung von Blasen verwendet werden 32 Defizite des DFD-Modells DFD-Modelle leiden unter einigen Mängeln, die DFDs reichlich Spielraum lassen, um ungenau zu sein. In einem DFD-Modell, schlussfolgern wir über die Funktion von einer Blase aus seinem Label durchgeführt. Ein Label kann nicht alle Funktionen einer Blase erfassen. 33 Defizite des DFD-Modells Beispielsweise hat eine Blase namens find-book-position nur intuitive Bedeu - tung, um nicht mehrere Dinge anzugeben, was passiert, wenn einige Input-Informationen fehlen oder nicht korrekt sind. Vermittelt nichts darüber, was passiert, wenn Buch nicht gefunden wird oder was passiert, wenn es Bücher von verschiedenen Autoren mit dem gleichen Buchtitel gibt. 34 Unzulänglichkeiten der DFD-Modellsteuerinformationen werden nicht dargestellt. Die Reihenfolge, in der die Eingänge verbraucht und die Ausgänge erzeugt werden, ist nicht spezifiziert. Artikeldatei Kundenhistorie Auftragsbestand Auftragsabwicklung Auftragsannahme Auftragsannahme 35 Mängel des DFD-Modells Ein DFD gibt keine Synchronisationsaspekte an Beispielsweise spezifiziert das DFD im TAS-Beispiel nicht, ob der Prozessauftrag abwarten kann Bis die Annahme-Bestellung Daten erzeugt, ob Annahme-Ordnung und Handle-Reihenfolge gleichzeitig mit einem Puffermechanismus zwischen ihnen vor sich gehen können. 36 TAS Level 1 DFD Kundenhistorie Itemdatei Abfrageszenarien Bestandsaufnahme Inventur Kunden-Datei Handle-Abfrage-Bestellung Prozeßauftrag Angenommene Aufträge Vendor-Liste Handle-Indent-Anforderung Vertriebsstatistik Einrückungsauftrag Einzug ausstehende Bestellung 37 Mängel Des DFD-Modells Die Art und Weise, wie die Zersetzung durchgeführt wird, um die aufeinanderfolgenden Ebenen eines DFD zu erreichen, ist subjektiv. Die letzte Stufe, auf die die Zersetzung durchgeführt wird, ist subjektiv abhängig von der Wahl und Beurteilung des Analytikers. Auch für das gleiche Problem sind mehrere alternative DFD-Darstellungen möglich, oft ist es nicht möglich zu sagen, welche DFD-Darstellung besser oder besser ist. 38 Defizite der DFD-Modell-DFD-Technik liefern keine eindeutige Anleitung darüber, wie genau eine Zerlegung einer Funktion, die subjektiv zu beurteilen ist, um Zersetzung durchzuführen, geht. Strukturierte Analysetechniken geben nicht an, wann ein Zerlegungsprozess angehalten werden soll, um die Länge der Zerlegung durchzuführen. 39 Ausweitung der DFD-Technik auf Real-Time-Systeme Für Echtzeit-Systeme (Systeme mit zeitlichen Begrenzungen ihrer Handlungen), die für die Steuerung und den Ablauf von Ereignissen unerlässlich sind. Weit verbreitete Technik Ward und Mellor Technik. Wird ein Prozeß (Bubbles) eingeführt, der nur Steuerflüsse behandelt. Diese Prozesse werden durch gestrichelte Kreise dargestellt. 40 Strukturiertes Design Das Ziel des strukturierten Entwurfs verwandelt die Ergebnisse einer strukturierten Analyse (d. H. Einer DFD-Darstellung) in ein Strukturdiagramm. Ein Strukturdiagramm stellt die Softwarearchitektur dar, wobei verschiedene Module das System bilden, die Modulabhängigkeit (d. H. Welches Modul die anderen Module aufruft), Parameter, die zwischen verschiedenen Modulen übergeben werden. 41 Strukturdiagramm Strukturdiagrammdarstellung mit Programmiersprachen leicht umsetzbar. Der Schwerpunkt eines Strukturplans definiert die Modulstruktur einer Software, die Interaktion zwischen verschiedenen Modulen, verfahrenstechnische Aspekte (z. B. wie eine bestimmte Funktionalität erreicht wird) nicht. 42 Grundbausteine ​​des Strukturdiagramms Rechteckige Box Eine rechteckige Box repräsentiert ein Modul. Die mit dem Namen des Moduls kommentiert ist, das es repräsentiert. Process-order 43 Pfeile Ein Pfeil zwischen zwei Modulen impliziert während der Ausführungssteuerung von einem Modul zum anderen in Richtung des Pfeils. Root Process-order Handle-indent Handle-Abfrage 44 Datenfluss-Pfeile Datenfluss-Pfeile repräsentieren Daten, die von einem Modul zum anderen in Richtung des Pfeils übergehen. Root order Process-order 45 Bibliotheksbausteine ​​Bibliotheksbausteine ​​repräsentieren häufig als Module ein Rechteck mit doppelten Seitenkanten. Vereinfacht die Zeichnung, wenn ein Modul von mehreren Modulen aufgerufen wird. Quick-sort 46 Selection The diamond symbol represents one module of several modules connected to the diamond symbol is invoked depending on some condition. root Process-order Handle-indent Handle-query 47 Repetition A loop around control flow arrows denotes that the concerned modules are invoked repeatedly. root Process-order Handle-indent Handle-query 48 Structure Chart There is only one module at the top the root module. There is at most one control relationship between any two modules if module A invokes module B, module B cannot invoke module A. The main reason behind this restriction consider modules in a structure chart to be arranged in layers or levels. 49 Structure Chart The principle of abstraction does not allow lower-level modules to invoke higher-level modules But, two higher-level modules can invoke the same lower-level module. 50 Example root rms Valid-numbers rms Valid-numbers Get-good-data Compute-solution Display-solution Validate-data Get-data 51 Bad Design 52 Shortcomings of Structure Chart By looking at a structure chart we can not say whether a module calls another module just once or many times. Also, by looking at a structure chart we can not tell the order in which the different modules are invoked. 53 Flow Chart (Aside) We are all familiar with the flow chart representations Flow chart is a convenient technique to represent the flow of control in a system. AB if(c 100) P20 else p 80 while(pgt20) print(student mark) AB no yes P20 P80 dummy yes no Print 54 Flow Chart versus Structure Chart A structure chart differs from a flow chart in three principal ways It is difficult to identify modules of a software from its flow chart representation. Data interchange among the modules is not represented in a flow chart. Sequential ordering of tasks inherent in a flow chart is suppressed in a structure chart. 55 Transformation of a DFD Model into Structure Chart Two strategies exist to guide transformation of a DFD into a structure chart Transform Analysis Transaction Analysis 56 Transform Analysis The first step in transform analysis divide the DFD into 3 types of parts input, logical processing, output. 57 Transform Analysis Input portion in the DFD processes which convert input data from physical to logical form. z. B. read characters from the terminal and store in internal tables or lists. Each input portion called an afferent branch. Possible to have more than one afferent branch in a DFD. 58 Transform Analysis Output portion of a DFD transforms output data from logical form to physical form. z. B. from list or array into output characters. Each output portion called an efferent branch. The remaining portions of a DFD called central transform 59 Transform Analysis Derive structure chart by drawing one functional component for the central transform, each afferent branch, each efferent branch. 60 Transform Analysis Identifying the highest level input and output transforms requires experience and skill. Some guidelines trace the inputs until a bubble is found whose output cannot be deduced from the inputs alone. Processes which validate input are not central transforms. Processes which sort input or filter data from it are. 61 Transform Analysis First level of structure chart draw a box for each input and output units a box for the central transform. Next, refine the structure chart add subfunctions required by each high-level module. Many levels of modules may required to be added. 62 Factoring The process of breaking functional components into subcomponents. Factoring includes adding read and write modules, error-handling modules, initialization and termination modules, etc. Finally check whether all bubbles have been mapped to modules. 63 Example 1 RMS Calculating Software Compute - RMS0 Data-items User result Context Diagram 64 Example 1 RMS Calculating Software From a cursory analysis of the problem description, easy to see that the system needs to perform accept the input numbers from the user, validate the numbers, calculate the root mean square of the input numbers, display the result. 65 Example 1 RMS Calculating Software numbers Read-numbers0.1 Validate-numbers0.2 Valid - numbers Data-items error Compute-rms0.3 Display0.4 result RMS 66 Example 1 RMS Calculating Software By observing the level 1 DFD identify read-number and validate-number bubbles as the afferent branch display as the efferent branch. 67 Example 1 RMS Calculating Software root rms Valid-numbers rms Valid-numbers Get-good-data Compute-solution Display-solution Validate-data Get-data 68 Example 2 Tic-Tac-Toe Computer Game As soon as either of the human player or the computer wins, a message congratulating the winner should be displayed. If neither player manages to get three consecutive marks along a straight line, and all the squares on the board are filled up, then the game is drawn. The computer always tries to win a game. 69 Context Diagram for Example 2 Tic-tac-toe software0 display move Human Player 70 Level 1 DFD game Display-board move result Check-winner Validate-move board Play-move 71 Structure Chart root Get-good-move Compute-game Display Validate-move Check-winner Get-move play-move 72 Transaction Analysis Useful for designing transaction processing programs. Transform-centered systems characterized by similar processing steps for every data item processed by input, process, and output bubbles. Transaction-driven systems, one of several possible paths through the DFD is traversed depending upon the input data value. 73 Transaction Analysis Transaction any input data value that triggers an action For example, selected menu options might trigger different functions. Represented by a tag identifying its type. Transaction analysis uses this tag to divide the system into several transaction modules one transaction-center module. 74 Transaction analysis Transaction - center trans 3 trans 1 trans 2 type 1 type 2 type 3 75 Level 1 DFD for TAS Item-file Customer-history query statistics Accept-order inventory Customer-file Handle-query order Process-order Accepted-orders Vendor-list Handle-indent-request Sales-statistics Indent-request Indents pending-order 76 Structure Chart root query order indent Handle-order Handle-indent Handle-query Accept-order Process-order Get-order 77 Summary We first discussed structured analysis of a larger problem. We defined some general guidelines for constructing a satisfactory DFD model. The DFD model though simple and useful does have several short comings. We then started discussing structured design. 78 Summary Aim of structured design transform a DFD representation into a structure chart. Structure chart represents module structure interaction among different modules, procedural aspects are not represented. 79 Summary Structured design provides two strategies to transform a DFD into a structure chart Transform Analysis Transaction Analysis 80 Summary We Discussed three examples of structured design. It takes a lot of practice to become a good software designer Please try to solve all the problems listed in your assignment sheet, not only the ones you are expected to submit. The Best Home Automation Systems of 2017 Home Automation Systems Review Why Buy a Home Automation System Editor39s note: ADT recently announced the completion of a merger with Protection 1. Although the two companies currently operate independently, both will eventually operate exclusively under the ADT brand. When ADT and Protection 1 complete this brand integration, we will update our home automation system reviews to reflect that information. The top performers in our review are Crestron. the Gold Award winner Control4. the Silver Award winner and Savant. Der Bronze-Preisträger. Herersquos more on choosing a provider to meet your needs, along with detail on how we arrived at our ranking of 10 systems. With home automation systems, you can forever banish concerns of overly expensive utility bills and stop wondering whether or not you locked the front door. These high-tech solutions can help make your home into a smart home. In fact, a smart home system can control every light, appliance and compatible peripheral in your home. This burgeoning industry offers a choice selection of products from respected manufacturers. Wersquove compiled a list of the best home automation systems available and ranked them based on their offerings in a variety of categories. Our evaluation focuses exclusively on professionally installed automation systems, sometimes called smart home as a service or SHaaS. However, if you want a more-affordable, less-complete option, check out our DIY home automation review. For additional information, see our articles on home automation systems . What to Expect from Professional Home Automation Professionally installed home automation is a serious investment, not a hobby or a gimmick. Getting a home automation system is on the same level as remodeling your home in cost and complexity. Our research revealed a few ways you can rein in your expectations so you can find a system that works best for you. Types of Systems There are two kinds of professional home automation systems in our review: whole-house automation and home security systems. Whole-house automation systems from Control4, Crestron, Elan, RTI, Savant and URC tend to be more expensive but have more features and connectivity, especially in terms of home theaters. Whole-home automation usually requires custom wiring and programming, which can take weeks to prepare in some cases. Home security systems such as ADT, MONI, Protection 1 and Vivint, primarily focus on home security but offer home automation upgrades. These upgrades do not approach the same level of complexity or customization that whole-house automation companies offer, notably with a lack of home theater integration. This professional solution is usually more affordable and includes home security monitoring. Mobile apps are common in both system types. A Stable Market with Local Dealers Home automation has existed since the 1970s in one form or another, almost always in luxury homes, businesses and schools. Whole-home systems rely on local dealers, also called integrators, in most states. These dealers act as resellers and install and set up equipment. Home security systems are more widespread with larger installer networks. Only in the last decade have DIY systems appeared, but these havenrsquot found traction in many homes. Worry-Free Compatibility Unlike DIY home automation, equipment compatibility is one less thing to think about when you work with a dealer. The dealer figures out which products work together ahead of time and then offers a variety of solutions that provide the features you want for your home. On the manufacturer side of things, most companies offer every piece of equipment you could want while also supporting hundreds of third-party products. A Big Price Tag Professional automation systems are a luxury, which should give you an idea of how much they cost. According to CE Pro, a publication for home automation integrators, the average whole-home automation system installation costs around 25,000. Much of this cost comes from hardware such as home theater components and security camera systems. For simpler projects, you can expect to spend between 2,000 and 5,000 to add smart locks. lighting, thermostats and sensors to a modest home. The cost comes from a combination of an expensive home automation controller and the sheer number of less-expensive devices that can add up quickly. Many home control systems also require custom programming on a home-by-home basis, since few smart homes are alike. A home automation system adds value to your home but not without upfront investment. Home Theater Integration This is the single most expensive part of a whole-home automation system. This is because of the controllers that allow you to send audio and video to rooms throughout your home. The rest of the cost associated with home theaters comes from audio equipment, such as speakers and amplifiers, and video equipment such as projectors, TVs and AV receivers. What We Evaluated, Why Itrsquos Important The cost and complexity of the systems in this category limit the amount of hands-on testing we can do. We approach our evaluations from the point of view of a potential customer starting research. Our evaluations are based on discussions with dealers, manufacturer offerings, brochures and in-house research. Most of the differences in professional home automation systems are superficial, but we highlighted the biggest ones we could find. Customer Education Resources The best home automation companies offer case studies, brochures and galleries. These showcase different projects in which the companyrsquos technology played a major role. We looked at the showcases offered by each company to get an idea of what each system can do. Companies with detailed descriptions and multiple examples did better than those that only showed photos of completed projects. Ease of Finding a Dealer We visited the websites of the companies in our review and looked for ways to contact dealers near our office. The most effective companies have clear calls to action on their homepages. This is usually an interactive dealer map, a form or a phone number you can use to get information. Control4, for example, has a form on its homepage that helps you get a quote, and it is one of the clearest calls to action we saw. Number of Hardware Partners We looked at each of the companies in our review to get a rough estimate of how many brands work with each automated home system. Manufacturers that support many brands score higher than those that support fewer since they give you more choices. The best home automation systems partner with hundreds of brands. This is important if you have a favorite brand like Bose or Sony that you want to include in your system. Customer Support Options As a general rule, a dealer is going to be your first, and maybe only, point of contact with some home automation companies. Dealers have an advantage of being available to make service calls to your home but often charge a fee to do so. Since we canrsquot evaluate all of the thousands of dealers across the U. S. we looked at the companies directly to see what they offer in terms of direct customer support. If therersquos even the faintest glimmer of direct customer support, we gave the company extra credit. Our evaluation is designed to provide you with useful information that helps you decide which system to use in your home. For our home automation system evaluations, we researched each manufacturerrsquos offerings and looked at how the company communicates with its customers. The companies have no input on our evaluation methodology, and our rankings were not shared with them prior to publication. Where to Start When you decide you want a home automation system, aside from setting a reasonable budget, there are only two things you need to consider: what and who. Getting what you want is as simple as finding the right focus for your smart home. From there, decide who should install it. Here are a few tips to help you decide the what and who of your smart home system. Determine Your Focus Focus only on features you want. As a general rule, whole-home automation has elements of control, security, utilities and entertainment. Home security companies offer the first three but have no support for entertainment. These categories are not mutually exclusive for example, lighting plays a role in all four. Once you have a focus, you can go to a dealer and tell them what you want to do. Control ndash These devices add convenience by helping you create schedules, rules and smartphone controls. Common examples are light switches, garage door openers. thermostats and window treatments. Security ndash Technology in this category protects your family, belongings and property by monitoring for and deterring intruders. Examples are door sensors, motion detectors, smoke detectors, smart locks, security cameras and sirens. Utilities ndash Using these devices, you can improve your homersquos energy efficiency, which helps you save on gas, electric or water bills. Examples include thermostats. sprinkler controllers, leak detectors and window treatments. Entertainment ndash These are audio-video devices and home theater equipment. Universal remotes sometimes work with DIY smart homes to control TVs, home audio systems and streaming sticks. Find a Local Dealer Most major cities have a few home automation dealers. To find the right one for you, itrsquos a good idea to get competing quotes from the integrators in your area. With quotes in hand, learn about each dealerrsquos certifications, setup process and whether it can help you get security monitoring services. Certifications ndash Look for dealers that are members of the Custom Electronic Design and Installation Association, or CEDIA. CEDIA has a strong code of ethics and helps installers stay up to date with the latest technology certifications. In addition to CEDIA membership, make sure the dealer is certified to work with popular home automation products. System Setup ndash Choose a dealer only after it gives you a detailed explanation of the changes it needs to make to your home such as removing drywall and installing wiring. If the dealer doesnrsquot give you a written contract of everything it plans to do before it starts, then find a dealer that will. A verbal contract is an invitation to overpriced installations that can bust your budget. Monitoring Services ndash Ask if the dealer offers home security monitoring or can connect you to a security company that monitors home automation systems. In general, if you donrsquot have door sensors, motion sensors or security cameras, you probably donrsquot need monitoring and shouldnrsquot buy it if the dealer insists. Getting the Most from Your System Whether you use your system as a universal remote or have automatic tasks that run in the background, you can expect to interact with it every day. Idle systems are a great way to underutilize your investment ndash make them work for you. Here are a couple items every home automation system owner should know. Learn the Ropes Take time to study the manual, mobile app and other tools you have access to. Look at all of the components that make up your system and see how mobile app controls them. By familiarizing yourself with the app, you can find lights, create presets and know where in the menu everything is. In most systems, you can set up schedules to control devices such as your thermostat and exterior lights. When to Call the Dealer Aside from occasionally replacing batteries in a sensor or dusting off your equipment, there isnrsquot much maintenance you can do on your own without voiding the warranty. If your system is under warranty, you should be able to replace your defective components at no cost. Itrsquos possible that you might pay a service fee, even with a warranty ndash check with your dealer to see when they charge for service calls. If you donrsquot have a warranty, set priorities instead of calling the dealer any time a component stops working. Your highest priorities should fall under security and utilities, which should be fixed as soon as possible after they break. If a security camera fails, your home can become more vulnerable to thieves. Likewise, if the thermostat goes on the fritz, discomfort or high energy bills can result. Control and entertainment devices in the system may be inconvenient if they go offline, but if therersquos no threat to your security or comfort, you can get them fixed as your budget allows. Warranty Coverage When you work with a dealer, keep in mind that it may offer a separate warranty from that of the manufacturer. Check to make sure the dealerrsquos warranty covers installation, labor and offers coverage for at least a year. For defective hardware, many dealers work with manufacturers to get replacement parts so you donrsquot have to contact the manufacturer directly. The best home automation systems offer lifetime warranties or warranties around three years. Home Automation Systems: Our Verdict amp Recommendations It can be hard to choose a home management system when there are so many good options on the market. Our recommendations come from each systemrsquos standout feature, since thatrsquos a good baseline to start from in your own research. Our top three home automation systems showcase the best the industry has to offer. For our Gold Award winner, Crestron, therersquos literally no project too big. This system is compatible with thousands of products from hundreds of manufacturers, more than any other company in our review. The systemrsquos software is fully customizable from top to bottom, which is one of the reasons it expands beyond residential installations into commercial applications at schools, hotels and businesses. It takes an experienced dealer and a lot of time to install a Crestron system. Control4, our Silver Award winner, is the top residential brand in our review. The system integrates software and hardware seamlessly without the need for a dealer to do intensive programming. This helps bring down installation costs while also creating a capable system that can be expanded by the dealer as your needs change. Control4 offers a strong selection of in-house hardware as well as support for hundreds of other manufacturers. Control4rsquos Composer Home Edition is home automation software that lets you create schedules and custom programs without calling the dealer. Our Bronze Award winner, Savant, has a design with a lot of visual appeal. The sleek, glossy hardware evokes the same visual cues as Apple products. Not only does Savant Pro have a full line of professional products, but it also has a few DIY smart home products with an entertainment focus. For example, the Savant Remote comes with a high-resolution touchscreen, a simple button layout and voice control, something not found in many universal remotes. The advantage of the DIY remote is that you can get a feel for Savant systems before committing to a full professional installation. Outside of the top three, RTI was the only other product in our review that had everything we looked for in a good home automation system, helping it earn a Top Ten Reviews Excellence Award. MONI, ADT and Vivint get honorable mention as home automation companies with extensive dealer networks, and they are the only products in our review with lifetime warranty coverage. Finding the right verdict in this evaluation was tricky. Part of the appeal of professional home automation systems is that they can automate almost anything in your home, which is why we canrsquot make solid recommendations on the hardware capabilities of a particular system over another. However, whole-house automation systems offer a more complete smart home experience than home security systems. Home security systems are a better way to get into professional automation for most people since they donrsquot require complex installation and programming. In the end, the best advice we can give you is to use our reviews to choose the best smart home system for your needs.


No comments:

Post a Comment