0% fanden dieses Dokument nützlich (0 Abstimmungen)
34 Ansichten110 Seiten

Software Engineering

Das Dokument behandelt die Grundlagen der Softwaretechnik, einschließlich der Definition von Software, ihrer Entwicklung und der Bedeutung des Softwaredesigns. Es beschreibt den Software-Lebenszyklus, objektorientierte Programmierung und die Verwendung von UML zur Modellierung. Zudem wird die Rolle des Softwareingenieurs und die Notwendigkeit von Softwareentwicklung in modernen Organisationen hervorgehoben.

Hochgeladen von

ScribdTranslations
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
34 Ansichten110 Seiten

Software Engineering

Das Dokument behandelt die Grundlagen der Softwaretechnik, einschließlich der Definition von Software, ihrer Entwicklung und der Bedeutung des Softwaredesigns. Es beschreibt den Software-Lebenszyklus, objektorientierte Programmierung und die Verwendung von UML zur Modellierung. Zudem wird die Rolle des Softwareingenieurs und die Notwendigkeit von Softwareentwicklung in modernen Organisationen hervorgehoben.

Hochgeladen von

ScribdTranslations
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

Ingenieurwesen

Die Software

Wagner Sanchez
Ingenieurwesen von
Software

Wagner Sanchez

IESDE BRASIL
2021
© 2021 – IESDE BRASIL S/A.
Die Vervielfältigung, auch auszugsweise, ist ohne schriftliche Genehmigung des Autors und des ...
Inhaber der Urheberrechte.
Projekthülle: IESDE BRASIL S/A. Bild des Covers: garagestock/shutterstock

CIP-BRASIL. KATALOGISIERUNG IN DER PUBLIKATION


NATIONALER VERBAND DER BUCHVERLAGE, RJ
S195e

Sanchez, Wagner
Softwaretechnik / Wagner Sanchez. - 1. Aufl. - Curitiba [PR] :
Iesde, 2021.
106 S. : ill.
Bibliografie einfügen
ISBN 978-65-5821-067-2

1. Engenharia de software. 2. Software - Desenvolvimento. 3. Progra-


Objektorientierte Programmierung (Informatik). 4. UML (Informatik). I. Titel.
CDD: 005.1
21-74615
CDU: 004.41

Alle Rechte vorbehalten.

IESDE BRASIL S/A.


Al. Dr. Carlos de Carvalho, 1.482. PLZ: 80730-200
Batel – Curitiba – PR
0800 708 88 88 – www.iesde.com.br
Wagner SanchezDoktor und Meister der Biomedizinischen Technik von
Universidade Mogi das Cruzes (UMC), Spezialist
in Künstlicher Intelligenz an der Pontifícia Universidade
Katholische Universität von Campinas (PUC-Campinas), Psychopädagoge

durch die Päpstliche Universität Katholische von São Paulo (PUC-


SP), Postgraduierter in Softwaretechnik von
Universidade São Judas Tadeu (USJT) und Bachelor in
Systemanalyse an der Universidade Paulista (UNIP).
Possui formação em Leadership & Innovation pelo
Massachusetts Institute of Technology (MIT) e, também,
kein Unternehmertum Programm, an der Babson College.
Hat über 25 Jahre Erfahrung im Lehrbereich.
e Beratung in den Bereichen Technologie, Innovation und
Bildung. Er ist Autor der ersten digitalen kognitiven Sammlung.
auf die Maker-Bildung und die Entwicklung des
Computational Thinking für Schüler der Grundschule
Fundamental, neben mehr als acht veröffentlichten Büchern
in den Bereichen Innovation, Management, Technologie und Bildung.
Er wirkt als akademischer Prorektor, Professor, Schriftsteller und

Forscher.
Videos
em
QR-Code!
Jetzt ist es möglich, auf die Videos des Buches zuzugreifen über
meio de QR codes (códigos de barras) presentes
zu Beginn jedes Kapitelbereichs.

Greifen Sie automatisch auf die Videos zu, indem Sie weiterleiten
die Kamera Ihres Smartphones oder Tablets
für den QR-Code.

Auf einigen Geräten ist es erforderlich, installiert zu haben


ein QR-Code-Scanner, der erworben werden kann
kostenlos in App-Stores.
INHALT
1Die Bedeutung der Softwaretechnik 9
1.1 O Was ist Software? 10
1.2 A Entwicklung von Hardware und Software 12
1.3 A Softwareengineering 22
1.4 A Bedeutung des Softwaredesigns 25

2Software-Lebenszyklus 30
2.1 Zyklus Lebenszyklus der Software 31
2.2 Levantamento von Anforderungen 33
2.3 Analyse e projeto 37
2.4 Implementierung e tests 39
2.5 Implementierung die Wartung 44

3Orientação a objetos 51
3.1 Orientação Objekte 53
3.2 Klassen Objekte 53
3.3 Abstraktion 56
3.4 Kapselung 57
3.5 Polymorphismus 60
3.6 Erbschaft 61

4UML – Vereinheitlichte Modellierungssprache 66


4.1 UML 66
4.2 Os UML-Diagramme 68
4.3 Diagramm von Aktivitäten 68
4.4 Diagramm aus der Klasse 70
4.5 Diagramm de objetos 73
4.6 Diagramm von der Reihenfolge 75

5Diagrama de caso de uso 81


5.1 Diagrama Anwendungsfall 82
5.2 Szenario 83
5.3 Ator 84
5.4 Beziehungen 85
5.5 Fall praktisch 87

Lösung der Aktivitäten 101


Video
PRÄSENTATION
Mit den digitalen Transformationen, die gerade stattfinden
In Organisationen besteht die Notwendigkeit für die Entwicklung von
Software folgt einem beispiellosen Wachstum und zeigt keine Anzeichen von

Verlangsamung.
Die exponentiellen Entwicklungen der Technologien schalten frei
andere Technologien und folglich Möglichkeiten von
nie zuvor gedachte Unternehmenssoftwarelösungen, immer
Auf der Suche nach der Hebelung von Wettbewerbsvorteilen.

Die Softwaretechnik unterstützt Fachleute


die IT, Benutzer und Manager ihre Anstrengungen einsetzen können
effizient bei der Entwicklung von Lösungen, mit mehr
Assertivität und gleichzeitig mit weniger Ressourcen.
Dieses Werk wird alle Ressourcen für die Beteiligten bereitstellen.

in der Softwareentwicklung, während aller Phasen von


Konstruktion der Lösungen, Kombination von Methoden, besten
Werkzeuge und Techniken, damit die Qualitätssicherung gewährleistet ist

mit Exzellenz erreicht.


1
Die Wichtigkeit der
Softwaretechnik
Lernziele
Mit dem Studium dieses Kapitels werden Sie in der Lage sein:

•die Definition von Software verstehen;


•die Merkmale von Computersystemen verstehen;
•die Entwicklung der Hardware und der Software im Laufe von
Jahre und ihre Beziehung zur aktuellen Zeit;

•verstehen Sie den Ursprung der Softwaretechnik;


Die Bedeutung des Softwaredesigns anerkennen.

Die Softwaretechnik beginnt, wenn eine Nachfrage besteht nach


beendetes Ergebnis oder Lösung für Unternehmensprobleme. Von irgendeinem
Der Platz des IT-Teams, normalerweise vom CIO, kommt eine Anfrage an
desenvolvedor para criar algum tipo de software.
Aber wie wissen die Entwickler, was sie in ihre Software einfügen sollen?
Sie teilen in spezifische Bedürfnisse auf, nachdem sie Interviews geführt haben.
Daten sammeln, das bestehende Anwendungsportfolio überprüfen und sprechen
mit IT-Führungskräften. Danach erstellen sie einen Fahrplan, wie man das
Software. Das ist einer der wesentlichsten Teile, da viel von der "Arbeit"
es wird während dieses Praktikums abgeschlossen, was auch bedeutet, dass alle
Probleme traten hier normalerweise auf.
Der wahre Ausgangspunkt ist, wenn die Entwickler anfangen
wir sind dabei, Code für die Software zu schreiben. In vielen Fällen ist dies der Schritt

längere des Prozesses, da der Code mit den übereinstimmen muss


Aktuelle Systeme und die verwendete Sprache. Leider treten diese Probleme auf.
Malmente werden sie erst viel später im Projekt wahrgenommen, daher ist das
Der Nachbesserungsprozess muss abgeschlossen werden.

Die Bedeutung der Softwareengineering 9


Um um Wiederarbeiten und Verschwendung zu vermeiden, gibt es die Konzepte von en-
Softwareentwicklung, die darauf abzielt, ein Produkt entsprechend zu liefern
die Bedürfnisse des Benutzers, hochgradig zuverlässig, effizient und efi-
caz in Ihrem Vorschlag. Obwohl Softwaretechnik zu
Produkte, die dies nicht erfüllen, kehren fast immer in den Zustand zurück.
der Produktion (SOMMERVILLE, 2011).
In diesem Kapitel werden wir untersuchen, wie diese Ingenieurkunst optimiert werden kann.

Softwareproduktion, die einen höheren Mehrwert mit sich bringt.


noch Entwicklungskosten.

1.1Was ist eine Software?


Video Software ist eine Folge von Anweisungen, die von einem Programmierer geschrieben wurden

in Programmiersprache, einem Computer zu sagen, wie man


eine spezifische Aufgabe ausführen oder durchführen (ENGHOLM, 2010).

Die Software kommt normalerweise in Form von kommerziellen Programmen,


wie Microsoft Word, Excel, PowerPoint und Adobe Photoshop, Spiele, sis-
operationale Themen von Computern, Handys oder sogar Malware,
wie Viren und Ransomware.
Jedes Programm oder jeder Code, der auf einem Computer ausgeführt wird, ist ein

Beispiel für Software und alles, was wir mit einem Computer machen.
dor erfordert eine Software. Diese wird von Computerprogrammierern erstellt.
dor, häufig als Softwareentwickler bezeichnet.

Die drei Haupttypen von Software sind: Betriebssystemsoftware,


de Anwendung und Entwicklung. Das Betriebssystem steuert
die interne Funktionsweise des Computers und die Peripheriegeräte, wie zum Beispiel

Nitores, Drucker und Datenspeichergeräte


(PFLEEGER, 2007).

Ohne ein Betriebssystem wie Windows oder MacOS, ein


Der Computer ist nur eine Ansammlung von Hardwarekomponenten.
Pazen zu ausführen jegliche Funktion.

10 Softwaretechnik
Das Betriebssystem erlaubt es dem Computer, Funktionen auszuführen.
grundlegende, die eine Schnittstelle bereitstellt, damit die Benutzer interagieren können mit

es ist eine Plattform, auf der die Anwendungen ausgeführt werden. Das System
„abstrai“ viele gängige Aufgaben für Anwendungen, um die Wiederholung zu minimieren
Überflüssigkeit. Zum Beispiel bietet es Druck als Dienstleistung fürAnwendungen an.

Tivos, sodass jedes Programm nicht seine eigeneArt haben muss, um


Dateien an den Drucker senden.
In dieser Gruppe haben wir die Firmware, eine Art von semi-permanenter Software

te, präsentiert von vielen Geräten und Komponenten, die informieren


zum Gerät, wie es sich verhält und mit anderen Geräten interagiert.
Häufig kann es aktualisiert werden, aber es bleibt bestehen, wenn dort nichts ist.

Mantêção aplicada ao dispositivo.

Die Gerätetreiber gehören ebenfalls zur Gruppe der Software.


de sistemas operacionais. São pequenos programas que permitem a
Kommunikation zwischen dem Betriebssystem und den Komponenten des com-
Computer. Jedes Bauteil benötigt einen Treiber, damit das System
So wissen Sie, wie Sie das Gerät verwenden. Praktisch alle Komponenten von
ein Computer, einschließlich Grafikkarte, Soundchip, Tastatur und Maus
se, haben ihre eigenen Treiber.
Um abzuschließen, ist es wichtig, die Dienstprogramme hervorzuheben, Programme, die normalerweise

kommen mit dem Betriebssystem oder integrieren sich vollständig darin -


wie Antiviren-Software, Festplattensäuberung und Werkzeuge für
Dateikompression – um spezifische Aufgaben auszuführen.
Die Anwendungssoftware zeigt dem Computer, welche Aufgaben
müssen durchgeführt werden, um den Anforderungen des Nutzers gerecht zu werden für

bestimmte Notwendigkeit. In dieser Gruppe sind Textverarbeitungsprogramme,


Tabellen, Datenbankverwaltung, Inventar und Programme
Verbindlichkeiten, Lohnabrechnung, Bestandskontrolle und viele
andere Unternehmens- und persönliche Anwendungen.

Die Spiele und die Multimedia-Software sind beliebte Anwendungen.


Mera do telefono ist eine App, genau wie Adobe Photoshop, benutze-
um Grafiken und Fotos zu bearbeiten). Auch die Webbrowser sind
unter den häufigsten Softwareanwendungen.
Schließlich besteht die dritte Gruppe aus Programmierungssoftware.
Es sollte eine Überraschung sein, dass eine Software mit einer anderen Software erstellt wird.

Os codificadores contam com várias ferramentas diferentes para criar


Programme (HIRAMA, 2011).

Die Bedeutung der Softwaretechnik 11


Im Folgenden finden Sie einige Beispiele von Programmen, die zur Kodierung verwendet werden.

Schmerzen während der Softwareentwicklung.

Compiler: Programme, die den Code umwandeln


geschrieben von Menschen in Form von Maschinencode
von niedrigem Niveau, das unmittelbar interpretiert werden kann
ich beim Hardware des Computers. Die Existenz von
Compiler machen es praktisch, eine Software zu erstellen, die extrem ist.

mamente sofisticado.

Depuratoren: Computerprogramme, die verwendet werden, um


testen und "debuggen" (Fehler lokalisieren und entfernen) den Code
von Computer.

Linker: Programme, die die Ausgabe eines Compilers übernehmen


Lador, normalerweise viele einzelne Dateien, und mit-
in einer einzigen ausführbaren Datei, die möglich ist
ausgeführt von einem Benutzer ohne die Notwendigkeit eines
Programmierumgebung.

Im Folgenden werden wir die Entwicklung von Hardwares und Softwares erkunden.

lange Jahre, um die Bedeutung der Ingenieurwissenschaften zu verstehen


Software und die Transformationen, die derzeit unsere Videoinhalte beeinflussen.

das e a das empresas.

1.2 Die Entwicklung von Hardware und Software


Vídeo Ein Softwareingenieur sollte in der Lage sein, mit allen zu arbeiten
die Segmente, die die Informationstechnologie (IT) betreffen, d.h. zu sein
fähig, an allen Ecken der Pyramide zu agieren, die ein System definiert
von Informationen: Menschen, Hardware und Software.

Das bedeutet, dass dieser Fachmann sich mit Hardware auskennen muss,
fähig, sie zu spezifizieren, zu implementieren und ihre Wartung durchzuführen. Tam-
Bem muss Software entwickeln und installieren sowie deren Wartung durchführen.

Wir werden unseren Weg zum Verständnis der Maschinen beginnen,


der Software und des menschlichen Verhaltens, die geformt und definiert haben
Das Gegenwärtige ist, dass sie sicherlich auch in Zukunft so weitermachen werden.

12 Softwaretechnik
Der Computer entstand im Wesentlichen als ein Werkzeug von
Arbeit. Es wurde von Banken, Finanzinstituten, Regierungen verwendet,
Armeen und Wissenschaftler zur Durchführung, rechtzeitig, von Berechnungen.
eine große Menge an Werten oder Operationen zurückgeben. Doch in der
1970er Jahre, wie wir später sehen werden, diese Maschinen gehen
ram von Personen erworben werden, die nicht mit diesen Bereichen verbunden sind, um darüber hinaus

do trabalho, serem usadas para Spaß, Lernen, Kommunikation


e muitas outras coisas (VELLOSO, 2014).

Seit einiger Zeit sind Computer viel mehr als nur Maschinen.
in bestimmten Räumen der Häuser oder Büros vorhanden
Rios; sie begleiten uns in Form eines Handys, überwachen unser
Leben in Form eines intelligenten Kühlschranks bringt uns an Orte in der
Form eines autonomen Autos, unterhalten uns in Form einer Konsole
das Videospiel, unter vielen anderen Dingen.

Ein guter Softwareingenieur kann, unter anderem,


als Computerprogrammierer hervorgehoben werden oder
Verwalter des Computerparks eines Unternehmens. So,
Wie wir beobachten können, ist der Computer für einen IT-Professional
mehr als nur ein Arbeitswerkzeug, verschmilzt es mit dem eigenen
Grund seiner Existenz.
In Anbetracht dessen werden wir mit einer Historie der Entwicklung der
Computer. Wir werden feststellen, dass bestimmte Elemente vorhanden sind.
nas primeiras máquinas ainda fazem parte das mais atuais e, provavel-
werden in der Zukunft präsent sein.

Obwohl wir manchmal einen gegenteiligen Eindruck davon haben,


Heutzutage sind fast alle Menschen von der Kindheit an in der Lage zu
Grundlegende arithmetische Operationen ausführen, aber das war nicht immer so.

Es gab eine Zeit in der Geschichte, in der nur sehr wenige Menschen hatten

diese Ausbildung, so sehr, dass sie sich mit einer Fähigkeit verwechselt.
Menschen, die die Arithmetik beherrschten, wurden vom Handel genutzt,
durch die Banken und die Unternehmen.

Mit dem exponentiellen Anstieg der Aktivitäten, die eine Form erforderten-
mathematische Aktion und das Wachstum in untergeordneter Skala der Menschen, die
Einige hatten, Erfinder hatten sich über die Lösung dieses Problems gebeugt, dies

eine Maschine zu entwickeln, die es Menschen ohne For-


Maßnahme oder Wissen führten mathematische Operationen aus. So,

Die Bedeutung der Softwaretechnik 13


Die mechanischen Rechenmaschinen sind entstanden, von denen wir sagen können
Was waren die ersten Rechenmaschinen (VELLOSO, 2014).

Die erste Rechenmaschine wurde von Blaise entwickelt.


Pascal (1623-1662) – derselbe vom Dreieck. Er war Physiker, Mathematiker,
Mathematiker und Philosoph, und seine Maschine machte nur Addition und Subtraktion.

Eine Pascaline, wie sie genannt wurde, bestand aus sechs Zahnrädern,
jede mit der Aufnahme der Ziffern von 0 bis 9, wobei es möglich ist
bis zu drei Raten gleichzeitig summieren, vorausgesetzt, dass die Gesamtsumme nicht

ultrapassasse 999.999. Zum Beispiel eine Multiplikation von 30 mal 10


es wurde erzielt, indem 10 mal die Zahl 30 addiert wurde (VELLOSO, 2014).

Pascal erhielt vom König von Frankreich ein Patent, damit er es konnte
den seine Maschine im Handel. Sie hatte eine Lebensdauer von ungefähr
200 Jahre (ohne viele "Aktualisierungen"); heute ist ein Computer
als "aktuell" angesehen für nur sechs Monate!

Mit einer Pascaline könnte jeder eine Addition durchführen.


eine Subtraktion oder sogar eine Multiplikation zwischen zwei Werten. Diese
Die Maschine, wie könnte es anders sein, erwies sich als sehr nützlich, und oder
Drei Erfinder widmeten sich der Verbesserung ihres Projekts.

Dann kamen die Registrierkassen, die ausgeklügelter waren als


die von Pascal, da sie über Gedächtnis verfügten, um den Eingang zu zählen
von Geld in der Kasse, ein großer Fortschritt für den Moment. Hast du dir schon vorgestellt

Wie nützlich sie im Handel waren?

Unter anderem vermieden sie oder minderten zumindest


die Fehler bei der Berechnung von Wechselgeld. Sie hatten auch einen Hebel...
ca dass es gedreht werden sollte, um das Ergebnis zu erreichen. In der Praxis, das

Das Betätigen dieses Hebels entsprach der Uhr (clock) der


aktuelle Computer (PRESSMAN; MAXIM, 2016).

14 Softwaretechnik
Die Registrierkassen haben die mathematischen Operationen sehr ...
zu sichereren, hatten jedoch immer noch mehrere Schwachstellen, wie die en-
Werte, die neben der Langsamkeit auch anfällig für Tippfehler waren.
Stellen Sie sich zum Beispiel die Kasse einer Bank vor, im Laufe des Tages, Jahr-

die an den Transaktionen beteiligten Werte in einem Heft zu notieren und, im


Am Ende des Tages, beim Schließen der Kasse, werden sie an die Abteilung für den Abschluss weitergeleitet.

Allgemeiner Überblick über die Operationen der Agentur. In diesem Bereich werden neue Konten eröffnet.

ausgeführt und erneut die Eingabe von Werten, die darüber hinaus darstellen
Ein Risiko, erfordert viel manuelle Arbeit. Mit der Schließung der Agentur,
Neue Notizen werden angefertigt und am Ende einer Woche, zum Beispiel ...
Plo, ein Paket mit den Abschlüssen der Agentur wird versendet, über
Karren, zur Zentrale der Bank, in der erneut verarbeitet wird, mit
alle bereits bekannten Risiken.
Als solche Probleme erkannt wurden, erfanden Erfinder die Karten.
perforiert, die von der Maschine selbst erzeugt werden konnten, am Ende von
eine Transaktion, oder über die Kasse, die Informationen über die Beträge brachte.

beteiligt und die durchgeführten mathematischen Operationen. Die Kasse muss nicht
Es ist besser, die durchgeführten Operationen in einem Notizbuch festzuhalten, obwohl,

Für einige Zeit war das, selbst mit der Karte, so geblieben.
Am Ende des Tages wurden die Karten in eine andere Maschine eingelegt, die
verarbeitete alle Operationen der Agentur an diesem Tag, was erzeugte
neue Karten mit täglichen Bilanzberichten der Agentur. Am Ende einer
Mana, ein Umschlag mit diesen Bilanzen, in Form von Karten, war angepasst
minhado, mit der Kutsche, zur Zentrale der Bank und dort in andere gelegt
máquinas para ser processado.

Die Risiken wurden minimiert, da nur die Kasse mit den


Werte und, nach ihm, wurden diese direkt auf den Karten propagiert.
Wir müssen beachten, dass bis zu diesem Zeitpunkt in der Geschichte die schlecht-

Quinas waren nur für die Durchführung von Berechnungen bestimmt. Obwohl
grundlegend, in fast allen Situationen waren die Rechnungen nur
isolierte Elemente, die mit vielen anderen Elementen orientierten
die Entscheidungsfindung.

Stellen Sie sich das Management eines Investmentportfolios vor


dass zu jedem Zeitpunkt Berechnungen angestellt werden, um die Wahl zu ermöglichen
da Zuteilung der Ressourcen. Allerdings, WENN eine bestimmte Bedingung ODER de-

beendet Faktor relevant zu werden und eine bestimmte Wahl getroffen wird,

Die Bedeutung der Softwaretechnik 15


Alle Konten müssen neu erstellt werden, um den Anteil der Ressourcen zu definieren.

SOS sind zuzuordnen.


In dieser Situation hängt die Analyse der Bedingungen ODER, UND und WENN ab
nas de pessoas, e mais uma vez as máquinas podem nos ajudar! Foi
Um solche Situationen zu lösen, wurden die Registrierkassen entwickelt.
evolvierten und wurden programmierbar, das heißt Computer.
Es war mit der Entwicklung der analytischen Maschine des Mathematikers
auf Englisch Charles Babbage (1792-1871), die Babbage-Maschine, die
Die Konzepte des modernen Computers begannen sich zu definieren
(VELLOSO, 2014).

Analytische Maschine von Charles Babbage.


Die Ausrüstung, die ausschließlich für Zwecke gebaut wurde von-
Monstrativen, verfügte über alle Funktionen des Computers mo-
derno, como:
•Eingabe von Daten mit der Verwendung von Lochkarten;
Speichereinheit, damit die Zahlen bewaffnet werden konnten
zenados und wiederverwendet, wenn nötig;
•sequentielle Entwicklung von Anweisungen an die Hardware, Proze-
Dimento, das wir heute als Betriebssystem kennen.

16 Software-Engineering
Das alles wurde ursprünglich 1837 beschrieben, mehr als ein Jahrhundert
bevor irgendein anderes Gerät dieser Art entwickelt wurde
Erfolgreich durchgeführt.

Endlich ist der Strom angekommen! Zuerst wurde er in die ...


vollständig mechanische Computer, die auf Zahnrädern basieren
Nagen, in Form von Motoren, die den Uhrhebel automatisiert haben.

Das Z1 wurde 1938 in Deutschland entwickelt und war das erste mit-
binärer Computer mit mechanischen Komponenten, die betrieben werden durch
ein Elektromotor zur Erzeugung des Taktsignals, das mit Zahlen arbeitet
im Fließkomma und ein Vorzeichenbit.
Das Programm wurde von einem Lochband gelesen, die Daten wurden eingegeben
Durch die Eingabe über ein Ziffernfeld wurden die Ergebnisse angezeigt.
für elektrische Lampen, die an oder aus waren und repräsentierten
0 und 1. Diese bemerkenswerte Leistung wurde von Konrad Zuse (1910-1995) entwickelt.

1939 ersetzte der Z2 die mechanische Recheneinheit des Z1


durch elektromechanische Relais. Der Z3, hergestellt 1941, hatte ein m-
Moria, die etwa 1.400 Relais verwendete (die bis zu speichern vermochte
64 Zahlen), wobei 1.200 Relais in den Steuereinheiten verwendet werden
e Arithmetik. Erst 1950 wurde der Z4 fertiggestellt und der Speicher me-
Die Mechanik wurde wieder verwendet, da sie kompakter als der Speicher ist.
Eletromechanik (VELLOSO, 2014).
Im Jahr 1936 entwickelte der englische Mathematiker Alan Turing (1912-1954) – ja, der Turing

Der Film "The Imitation Game" entwickelte eine Theorie, die bekannt ist als
universelle Maschine oder Turingmaschine, die auf abstrakte Weise,
macht jeden digitalen Computer (PRESSMAN; MAXIM, 2016).
Diese Theorie diente als Ausgangspunkt für die nachfolgende Entwicklung.
der Maschine, die in der Lage ist, die durch die Maschine verschlüsselten Daten zu brechen

deutsche Enigma während des Zweiten Weltkriegs.

Aber später, im Jahr 1943, wurde es von der Universität der


Pennsylvania, das bekannte Eniac (Electronic Numerical Integrator and...
Computer), der die Fähigkeit hatte, 5.000 Summen pro Sekunde zu berechnen, ein

Rahmen für seine Zeit, da er dezimale Arithmetik verwendete. Zählte


mit einem Speicher von 20 Akkumulatoren mit bis zu 10 Ziffern, jeweils
unter Verwendung von 10 Bits für dessen Speicherung.

Die Bedeutung der Softwaretechnik 17


Eniac

Wissenschaftliche Fortschritte im Bereich der Halbleiter und all jene


Probleme mit röhrenbasierten Computern führten zur Entstehung
zwei transistorisierte Computer, die Transistoren verwendeten
Tore anstelle der Ventile. Dies markierte die zweite Generation der
Computer.

Wie es nicht anders sein sollte, waren die Transistoren auch


verwendet als Ventile, deren Verständnis auf oberflächlichem Niveau,
Es war einfacher als die, die mit Röhren gebaut wurden.

Ein Transistor hat genau drei Pins: die Basis, die


KollektorundderEmittent.WenndieBasisnichtdurcheinSignalaktiviertwird,oder

Wir wenden die logische Ebene 0 (0 V) an, es fließt kein Strom.


vom Kollektor zum Emitter und der Kollektor-Emitter-Schalter ist offen.
Wenn die Basis von einem Logiksignal 1 (5 V) angeregt wird,
Wir haben den Stromfluss und der Schalter ist geschlossen.

18 Software Engineering
Die Computer dieser Generation waren viel kleiner als die
Ventile, benötigten kein Vorheizen, verbrauchten weniger Energie
gia, sie heizten weniger auf, hielten länger und waren schneller und
aber vertrauenswürdiger.

Es war in der dritten Generation von Computern, dass die Schaltkreise in-
Integrierte Schaltkreise, hergestellt aus Silizium, begannen verwendet zu werden.

Integrierte Schaltungen, bekannt als Chips, wurden gebaut


Durch die Integration vieler Transistoren und anderer Komponenten. Diese
Die Technik wurde als LSI (Large Scale Integration oder integrierte Schaltung) bekannt.

Großflächige Graziöse.

Das ermöglichte den Bau von kleineren Computern, da


Ein einzelner Chip konnte mehrere Platten ersetzen; günstiger, da
NebendemvorherigenArgumentwurdendieChipsingroßemMaßstabhergestellt;undmehr

schnell, denn innerhalb eines Chips lagen die Komponenten näher zusammen
Ximos e protegidos e os sinais elétricos propagam-se mais rápida
Sie bewegten sich zwischen zwei Komponenten und wurden stabiler.

Die erste Generation von integrierten Schaltungen zeigte nur das


Weg. Da die Chips neu waren, waren die Maschinen, selbst die
aber einfacher, waren sie immer noch ziemlich teuer, und die Entwickler
Sie verstanden nicht, wozu ein persönlicher Computer nützlich sein würde und
Wie sollte diese Maschine aussehen, um in großem Umfang gewünscht zu werden?
cala pelas pessoas. Außerdem gab es keine Softwareunternehmen.
bestimmt für Ihre Produktion zur privaten Nutzung, wie Texteditoren von Filme
zu, Spiele, Agenda usw. Allerdings hat die vierte Generation das geändert. Eine spielerischere Sichtweise und

profunda dieser Generation


Verbesserungen der Integrationstechniken haben nicht nur die von Computern und dem
Prozessoren, aber alle Komponenten, die in einem vorhanden sind Entstehung von Microsoft
e da Apple – Unternehmen
Computer, hauptsächlich Speicher. Auf diese Weise, zu dieser Zeit, die Ikonen des Segments von
Dynamische Speicher haben ebenfalls einen Sprung in ihrer Kapazität gemacht: Personalcomputer
– podem ser vistos pela
64 kbit im Jahr 1981, 256 kbit im Jahr 1984, 1 Mbit im Jahr 1984 und 4 Mbit und 16 optik des Films Piraten
des Silicon Valley. Es lohnt sich
mbits 1987 (VELLOSO, 2014). Es lohnt sich, zu überprüfen.

EinBeispieldieserGenerationwarderAppleI,dereinesehrkurzeLebensdauerhatte. Direção: Martyn Burke. EUA:


TNT, 1999.
zu kurz, wurde 1976 vorgestellt und 1977 ersetzt
vom Apple II.

Die Bedeutung der Softwaretechnik 19


Leiterplatte
integriert von
Apple I

Der von Apple präsentierte Computer hatte als großes Merkmal


Die Anwesenheit eines Monitors hat den Unterschied gemacht, denn
Der Benutzer konnte Texte, Verwaltungsprogramme von es- bearbeiten.
Toques und Kunden, unter anderem Funktionen. Diese Maschine hatte tatsächlich
Nützlichkeit für viele Menschen.

Apple II
Angesichts des schnellen Wachstums von Apple mit dem Apple II, hat IBM -
zu der Zeit die größte Firma der Computerbranche - beschloss, en-
Im Bereich der Personalcomputer tätig sein und den Standard geschaffen
IBM PC, vorgestellt 1981.

20 Softwaretechnik
IBM 5150

Um mit Apple zu konkurrieren, hat IBM die Strategie übernommen, zu erlauben


dass andere Hersteller Ihren Standard verwenden, was dazu führt, dass schnell-
bis diese Computer zum Marktstandard werden. Außerdem
disso, die Entwicklung von Software und Hardware für diese Maschinen
Es war frei von jeglichen Einschränkungen, was das Angebot verbilligte und diversifizierte.

Allerdings verwendete IBM im Betriebssystem immer noch eine Schnittstelle-


ce basierend auf der Kommandozeile und hatte wenige Ressourcen von áu-
dio, ein Phosphor-Monitor und ein unterlegener Prozessor. Trotzdem,
Das Unternehmen hat den Markt gewonnen! Aufgrund seines viel niedrigeren Preises (das

do Macintosh era exorbitante) e à sua maior Penetration, o padrão


Der IBM PC-AT hat sich weltweit einen Namen gemacht.

In der Zwischenzeit erlitt Apple Verluste mit dem Macintosh,


es auf die Personen und Unternehmen zu beschränken, die sich zur Verfügung stellen würden

zu zahlen für seinen hohen Preis – was die Menschen betrifft, aus den Gründen, die bereits
Wir kennen sie, und was die Unternehmen betrifft, durch ihre fantastischen Eigenschaften.

wenn es um Bild geht, ist hier, wo Apple den Ruf hat, die
bevorzugte Computer von Werbeagenturen.
Erneut, wie es in der vierten Generation der Computer der Fall war
Die fünfte Generation war von einer Verbesserung der Techniken geprägt.
der Integration, wodurch die Prozessoren leistungsfähiger wurden
komplex, schnell und günstig, jedoch das Schaltgerät
neue dasselbe, der Transistor.
Wie wir feststellen, kann der Computer als etwas verstanden werden, das kein
ein definierter Erfinder. Er ist eine ständige Verbesserung von Ideen gegenüber-
Ressourcen,diedurchdenwissenschaftlichenFortschrittunddieFertigungstechnikenbereitgestelltwerden,

jedoch, die seit ihrer Entstehung die Präsenz einer grundlegenden Idee bewahrt

Die Bedeutung der Softwaretechnik 21


mental, diejenige, die elektronische Schlüssel logisch organisiert verwendet
um die Lösung von logischen und arithmetischen Problemen zu ermöglichen.

1.3A Softwaretechnik
Video
Angesichts der wachsenden Nachfrage nach Softwareentwicklung und,
Daher, durch das Aufkommen neuer Software und Hardware, die
Software-Industrien müssen sich in diesem Wettbewerb engagieren.
tividade, verbessert auf effektive Weise Ihre Produktivität, um zu können
Diese sich ständig weiterentwickelnde Realität angemessen zu bewältigen.

Eine Eigenheit der Softwaresysteme ist die Schwierigkeit


dade seines Entwicklungs, das sich weiterentwickelt, wenn neue auftauchen
Technologien und das Wachstum der Systemgröße.

Während der Entwicklungsphasen der Software, beim Kombinieren


die Methoden, die besten Werkzeuge zur Automatisierung dessen, die Techniken-
cas para a garantia da qualidade do software e os procedimentos de
Kontrolle und Management, es ist möglich, die empfohlenen Best Practices anzuwenden

Softwaretechnik.
Die Ingenieurwissenschaften stehen für eine Methodik, die mit dem Bemühen verbunden ist, um

Unternehmerische Ergebnisse, die aus fokussierten Arbeiten stammen.


zwei in verschiedenen Bereichen, in denen umfangreiches Wissen vorhanden ist, um
Lösungen für die Bedürfnisse vorschlagen (SOMMERVILLE, 2011).

Im Softwareentwicklung finden wir im Allgemeinen die folgenden


die Arten von Problemen:
Die für die Projekte vorgesehenen Mittel werden unzureichend.
Die Kosten für Dienstleistungen, Produkte und Arbeitskraft sind hoch.

Die vorgeschlagenen Lösungen gefallen den Interessengruppen nicht.

Die Kosten für Software sind höher als die Kosten für Hardware.
•Die Kosten für die Wartung einer Software sind manchmal höher als das Design.

Entwicklung eines neuen.

Folglich, gemäß Hirama (2011), ist das Ingenieurwesen


Software fokussiert sich auf die Aufgabe, die Herausforderungen zu bewältigen von:

• die Kosten senken;


•den Zeitplan gemäß den Erwartungen einhalten;
•incrementar a qualidade nos softwares;

22 Softwaretechnik
•dokumentieren, sodass jede interessierte Partei en-
tender (todos os detalhes devem ser escritos);
•die vorgeschlagenen und/oder notwendigen Änderungen zeitgerecht anpassen und im

angemessene Kosten;
die Bedürfnisse des Kunden berücksichtigen;

• Unterstützung bei der Entwicklung von Software gemäß den


technologische Veränderungen.

Die Konzeption und Erstellung einer Software ist ein äußerst herausforderndes Unterfangen.

meine Komplexität, da das Wissen über alle Phasen wesentlich ist


die diese Mission ausmachen. Bei der Entwicklung einer Software ist es
Es ist wichtig, dass das Drehbuch der Softwaretechnik befolgt wird, um zu eliminieren
Vermeiden Sie Zeitverschwendung und Kosten und maximieren Sie die Ergebnisse.
vorteilhafte mit Qualität.

Laut Pressman und Maxim (2016) sollte jede Software entworfen werden
auf der Grundlage eines vorher festgelegten Verfahrensmodells zurückgeführt
Nominiert für den Lebenszyklus der Softwareentwicklung. Dieser hat einen
Gesamtheit von Etappen, die Methoden, Verfahren und Werkzeuge umfassen
damit das Endprodukt den Anforderungen des Benutzers entspricht.

Die Probleme treten bei der Softwareentwicklung auf, wenn


Die Verfahren überschreiten die Fristen und Kosten, was sich negativ auswirkt.
wieder die vom Kunden wahrgenommene Qualität.

Die Nachfrage nach Software Engineering entstand aus dem Ziel-


Um den Bedürfnissen der Benutzer in einer Unternehmensumgebung gerecht zu werden

hochgradig volatil und wettbewerbsfähig.


Software kann als qualitativ hochwertig angesehen werden, wenn es erreicht

Du übertriffst die Erwartungen der Nutzer, indem du die Probleme löst.


Die Kooperationen und die Geschäftsentwicklung fördern. Eine qualitativ hochwertige Software sollte

den folgenden Bereichen nachkommen (TSUI; KARAM, 2013):

•Operativ: bezieht sich auf die Funktionalität in Operationen, wie


Usability, Effizienz, Problemlösung, Funktionalität
Schutz, Zuverlässigkeit und Sicherheit.
•Übergang: bedeutet die Übertragbarkeit zwischen den Plattformen, die
Die Anwendung muss präsentieren, das heißt, Wiederverwendung und Anpassung
sind von äußerster Wichtigkeit für eine qualitativ hochwertige Anwendung.

•Wartung: legt eine wahrgenommene Qualität fest, die in


bezieht sich auf seine Funktionsweise in einer Umgebung mit Konstanten

Die Bedeutung der Softwaretechnik 23


Änderungen. Es geht um Modularität, Wartungsfreundlichkeit,
Flexibilität, Anpassungsfähigkeit und Skalierbarkeit.

Der Lebenszyklus der Entwicklung ist eine Reihe von Phasen im Ingenieurwesen.
Entwicklung von Software für die Erstellung der vorgeschlagenen Anwendung. Es handelt sich um

eine Folge von Verfahren im Bereich des Ingenieurwesens


Die Software, die die folgenden Schritte umfasst (PRESSMAN; MAXIM, 2016):

1
Abholung von
Anforderungen

5 2
Analyse von
Implementierung
sistema

4 3
Teste Kodifizierung

Die Softwaretechnik hat ihren Beginn in der ersten Phase, als


se observa uma solicitação do usuário para a solução de determina-
kein Problem.

Der Antrag wird einer Dienstleistungsorganisation vorgelegt.


Schwächen, und der nächste Schritt wird von den Entwicklern gemacht, die...
diferenciação entre requisitos do usuário, do sistema e funcionais.
Das Anforderung wird durch Interviews mit einem Benutzer gesammelt,
Referenz zu einer Datenbank, Analyse des bestehenden Systems usw.
Nach der Datensammlung analysiert das Team, ob die Software erstellt werden kann, um

alle Anforderungen erfüllen.

24 Software Engineering
Der Entwickler entscheidet dann über einen Plan für seinen Fahrplan, der in-

clui o estabelecimento das limitações e abrangências do software. De


Gemäß den Anforderungen und der Analyse wird ein Softwareprojekt erstellt. Das
Die Implementierung des Softwaredesigns beginnt mit dem Schreiben des Codes
ein Programm in einer geeigneten Programmiersprache.

1.4Die Bedeutung des Softwaredesigns


Video
Das Softwaredesign ist der Prozess der Umwandlung der Anforderungen von
Benutzer auf eine angemessene Weise, was dem Programmierer hilft in
Kodierung und Implementierung der Software.

Während der Entwurfsphase der Software wird das Entwurfsdokument erstellt.


auf der Grundlage der Kundenanforderungen erstellt, daher ist das Ziel dieses
Der Schritt besteht darin, das Dokument zur Anforderungserhebung in das zu verwandeln

Design-Dokument.

Die folgenden Artefakte sind entworfen, entwickelt und dokumentiert.


zwei während der Designphase (SOMMERVILLE, 2011):
Verschiedene benötigte Module.
•Kontrolle der Beziehungen zwischen Modulen.

Schnittstelle zwischen verschiedenen Modulen.

•Datenstruktur zwischen verschiedenen Modulen.


•Algorithmen, die für die Implementierung zwischen Modulen erforderlich sind

individuell.

Einige Ziele werden im Prozess der Erstellung verfolgt


ein gutes Softwaredesign, wie zum Beispiel:

•Korrektur: richtig sein, das heißt, alles korrekt umzusetzen


die Funktionen des Systems.
•Effizienz: die Probleme der Ressourcenoptimierung angehen,
tempo e custo.
• Verständlichkeit: leicht verständlich, modular und
mit allen Modulen, die schichtweise angeordnet sind.

•Vollständigkeit: Alle Komponenten haben, wie Strukturen von


Daten, Module, externe Schnittstellen usw.
•Wartungsfähigkeit: leicht änderbar sein
Jedes Mal, wenn eine Anfrage vom Kunden gestellt wird.

Die Bedeutung der Softwaretechnik 25


Das Konzept des Softwaredesigns bedeutet einfach die Idee oder
das Prinzip hinter dem Design. Es beschreibt, wie es geplant werden sollte
Lösung von Problemen im Zusammenhang mit dem Softwareprojekt, d.h. das
Logik oder das Denken, das Ihre Entwicklung leiten wird.

O design de software permite que o engenheiro crie o modelo do


System, oder die Software oder das Produkt, das entwickelt oder gebaut werden soll.
Das Konzept des Softwaredesigns bietet einen Rahmen oder ein Modell von
wesentliche Unterstützung für die Entwicklung der richtigen Software.

Laut Engholm (2010) sollten die folgenden Punkte berücksichtigt werden


kein Design
•Abstraktion: irrelevante Daten verbergen, das heißt einfach
Details ausblenden, um die Komplexität zu reduzieren und zu erhöhen
Effizienz oder Qualität. Verschiedene Abstraktionsebenen sind ne-
notwendig und sollten in jeder Phase des Prozesses angewendet werden
Entwurf, damit jeder vorhandene Fehler entfernt werden kann, von
Methode zur Steigerung der Effizienz der Softwarelösung und deren Verfeinerung.

Die Lösung sollte umfassend beschrieben werden und einen


eine Reihe von verschiedenen Dingen auf einer höheren Abstraktionsebene, und
eine detailliertere Beschreibung der Softwarelösung sollte sein
auf der unteren Abstraktionsebene bereitgestellt.

•Modularität: das System unterteilen. Es bedeutet einfach, zu teilen.


teilen Sie das System oder das Projekt in kleinere Teile, um es zu reduzieren
Komplexität. Ebenso bedeutet es, ein System zu unterteilen
in kleinere Teile, damit sie unabhängig erstellt werden können
zunächst verwendet und dann in verschiedenen Systemen eingesetzt
verschiedene Funktionen ausführen.

A modularidade no design tornou-se uma tendência, sendo im-


wichtig. Wenn das System eine geringere Anzahl von Komponenten enthält
Das bedeutet, dass es komplex ist und viel Aufwand (Kosten) erfordert.
Wenn wir jedoch in der Lage sind, ihn in Komponenten zu zerlegen, dann
Die Kosten werden gering sein.

•Architektur: es handelt sich um eine Technik zur Gestaltung der Struktur


Teadora von etwas. Die Architektur im Softwareprojekt ist ein Konzept-
zu, die mehrere Elemente und die Daten der Struktur umfassen. Diese
Komponenten interagieren miteinander und nutzen die Daten in der Architektur.

26 Softwaretechnik
•Verfeinerung: entfernt Verunreinigungen, das heißt, etwas zu verfeinern, um
Entfernen Sie alle vorhandenen Verunreinigungen und erhöhen Sie die Qualität.

Das Konzept der Verfeinerung von Softwareprojekten ist tatsächlich


ein Prozess zur Entwicklung oder Präsentation der Software oder des Systems
ma de modo detalhado. Die Verfeinerung ist sehr notwendig für
Jeden Fehler entdecken, falls vorhanden, und ihn reduzieren.

•Standard: Wiederverwendung von Codes. Es ist eine Form oder ein Entwurf
Buch
nho mehrere Male wiederholt, um ein Muster zu bilden. Dies bezieht sich auf
Mit acht Ausgaben und mehr als
die Wiederholung einer Lösung für ein wiederkehrendes Problem und co- 30 Jahre an der Spitze der Bücher
Mama in einem bestimmten Kontext. meistverkauft und empfohlen
Daten der Ingenieurwissenschaften
• Informationen verbergen: Unnötige Daten sind nicht erforderlich Software, das WerkIngenieurwesen

erscheinen, das heißt, Informationen zu verbergen, damit sie nicht Die Software: ein Ansatz-
GEM professionals präzise
können von einer unerwünschten Partei zugegriffen werden. Im Projekt von estar na cabeceira de
Software, die Verbergung von Informationen wird durch das Entwerfen von alle Entwickler
Ingenieure, Programm-
Module, so that the information collected or contained Schmerzen und Fachkräfte von
sie verborgen werden und nicht von welchen erreicht werden können- Technologie.
Das Buch bietet eine Vielzahl von
durch andere Module.
quißen von Verfahren-
•Refaktorisieren: etwas so umbauen, dass es die Com- zu, Routen, Pflege und
Abkürzungen der Ingenieurwissenschaften
Portamento oder andere Merkmale. Es bedeutet re-
Software. Auch behandelt
das Design zu erstellen, um die Komplexität zu reduzieren, ohne die wesentliche Aspekte, wie
Verhalten oder Funktionen. o trabalho com os usuá-
Flüsse zur Bestimmung ihrer
Das Softwaredesign hat drei verschiedene Ebenen, die berücksichtigt werden müssen. Softwarebedürfnisse;
das Drehbuch für die Zeichnung
beobachtet in den Entwicklungsprojekten. Sie sind: von Diagrammen und Modellen
die Entwickler unterstützen
1.ArchitekturprojektDie Architektur eines Systems kann Vedores, um código zu erstellen

als die allgemeine Struktur des Systems und die Art und Weise, wie angemessen für das System
oder Anwendung; Hinweise
esta fornece integridade conceitual. O projeto arquitetônico wie man das dokumentiert
identifiziert die Software als ein System mit vielen Komponenten System oder Anwendung in
Details, um zu helfen
interagieren miteinander. Auf dieser Ebene haben die Designer die Idee von
verantwortlich für die manu-
Beherrschung der vorgeschlagenen Lösung. Zukunftsaufmerksamkeit; die Prozesse-

Dimentos zur Erhaltung des


2.Vorläufiges oder hochrangiges ProjektHier ist das Problem System oder Anwendung mit
Aktualisierungen und Korrekturen
in eine Menge von Modulen und die Kontrollbeziehung zerlegt
nach Bedarf usw.
zwischen den verschiedenen Modulen und den Schnittstellen zwischen den verschiedenen Modulen
Schließlich, für viele ist es

werden identifiziert. Das Ergebnis dieser Phase wird genannt als die Bibel der
Architektur des Programms. Softwaretechnik.

Die Design-Representationstechniken, die in dieser Phase verwendet werden, sind PRESSMAN, R. S. 8. Aufl. Porto Alegre:
AMGH, 2016.
Grafiken von Softwarestrukturen, die wir später sehen werden.

Die Bedeutung der Softwaretechnik 27


3.Detailliertes ProjektSobald das Hochlevelprojekt abgeschlossen ist
komplett, das detaillierte Projekt wird durchgeführt. Hier wird jedes Modul
gründlich untersucht, um die Datenstruktur zu entwerfen und
Algorithmen. Das Ergebnis des Praktikums wird in Form von
ein Dokument zur Spezifikation des Moduls.

SCHLUSSFOLGERUNG
In diesem Kapitel verstehen wir die Definition von Software und Computersystemen.
und sahen die Entwicklung von Hardware und Software im Laufe der Jahre,
sowie die wichtigsten Softwaretypen.
Wir verstehen den Ursprung der Softwaretechnik und die Bedeutung
CIA des Software-Designs derzeit im Ökosystem der Entwicklung
Anwendung Mentoring.
Dieses Kapitel war eine großartige Einführung für Software-Ingenieure.
die in ihren Funktionen kompetent sein wollen und Probleme lösen
mas und kombiniert abstraktes Denken mit einer men-
praktische Talität.
Ab hier sind wir in der Lage, uns in alle Prozesse zu vertiefen.
Dimentos der Softwaretechnik, die darauf abzielt, Standardisierung zu gewährleisten,
aumentar qualidade e diminuir prejuízos nos projetos de softwares.

AKTIVITÄTEN
Atividade 1
Sie haben die Mission eines äußerst relevanten Museums übernommen
Die Vereinigten Staaten schaffen eine historische Erfahrung für die Besucher:
eine Zeitleiste mit den wichtigsten technologischen Fortschritten erstellen
gicos im Laufe der Geschichte.
Dafür nutzen Sie die Meilensteine, die in diesem Kapitel vorgestellt werden, sowie
andere Forschungen, um das zu schaffen, was wir als Timeline kennen
der Technologie. Nutze deine Kreativität, um alle zu überraschen mit
Grafiken, Bilder und sogar grafische Animation.

Aktivität 2
Wählen Sie eine Anwendung aus, die Sie in Ihrem Alltag verwenden, und ...
Erstellen Sie ein Dokument mit den Elementen des Softwaredesigns
Behandlungen in diesem Kapitel. Sprechen Sie darüber, wie Abstraktion, Modularität,
die Architektur, die Verfeinerung, der Standard, die Verbergung von Informationen
Änderungen und die Refaktorisierung können in der Anwendung gefunden werden.

28 Softwaretechnik
REFERÊNCIAS
ENGHOLM JR., H. Softwaretechnik in der Praxis. São Paulo: Novatec, 2010.
HIRAMA, K. Softwaretechnik: Qualität und Produktivität mit Technologie. Rio de
Januar: Elsevier, 2011.
PFLEEGER, S. L. Softwaretechnik: Theorie und Praxis. São Paulo: Pearson Prentice
Hall, 2007.
PRESSMAN, R. S.; MAXIM, B. Softwaretechnik: ein professioneller Ansatz. 8. Aufl.
Porto Alegre: AMGH, 2016.
SOMMERVILLE, I. Softwaretechnik. 9. Aufl. São Paulo: Pearson Education, 2011.
TSUI, F.; KARAM, O. Grundlagen der Softwaretechnik. São Paulo: LTC, 2013.
VELLOSO, F. de. C.Informatik: grundlegende Konzepte. 9. Aufl. Rio de Janeiro: Elsevier, 2014.

Die Bedeutung der Softwaretechnik 29


2
Lebenszyklus der Software
Lernziele
Mit dem Studium dieses Kapitels werden Sie in der Lage sein zu:

• verstehen, analysieren und den gesamten Lebenszyklus implementieren von


um Software;
• verstehen Analyse, Projekt, Implementierung, Tests, Implementierung
Betrieb und Wartung von Systemen;
• die Bedeutung der Anforderungserhebung zu erkennen
zentrale Bedeutung für den Erfolg der Softwaretechnik.

In diesem Kapitel werden wir den bekannten Lebenszyklus von Design erkunden.
Entwicklung von Systemen, die die Hauptphasen der Entwicklung definieren
Mentoring von Software innerhalb der Softwaretechnik.

Es gibt viele verschiedene Ansätze für diese Tätigkeit, und die


Die Mehrheit der Entwicklungsteams hat eine Methode.
iterativ, bei dem die Phasen kombiniert und im Laufe von
Projekt. Der Begriff, den wir Lebenszyklus nennen, wird verwendet, um zu veranschaulichen.

dass schließlich Änderungen in der Technologie oder in den Anforderungen von ne-
Geschäfte werden ein obsoletes System schaffen und der Zyklus wird von neuem beginnen –

Daher ist es wichtig, die agilen Konzepte in unser Studium zu integrieren.

Der Lebenszyklus der Softwareentwicklung ist ein Prozess von-


Fertigstellung der Softwareentwicklung, die, wenn sie befolgt wird, hilft zu
sie schnell und effizient zu erstellen.
Wir können das mit dem Rezept vergleichen, das Sie zum Backen Ihres ...
Lieblingsgericht. Wenn der erste Schritt darin besteht, Mehl mit Kakao zu kombinieren
Nun, du musst den Prozess befolgen, um einen gut gebackenen Kuchen sicherzustellen.

Wenn Sie jedoch die genannten Zutaten auf einmal mischen,


Vielleicht lohnt es sich nicht, den Kuchen zu probieren.

Das gleiche gilt für die Phasen des Entwicklungszyklus.


to de software: há um processo passo a passo definido para a criação

30 Software Engineering
der Softwarequalität. Wenn Sie eine der Etappen verpassen oder folgen -
Ohne Präzision werden die Bemühungen dieses Prozesses verschwendet.

2.1 Softwarelebenszyklus
Vídeo Der Lebenszyklus von Software (oder auf Englisch, Software Development
Der Lebenszyklus ist ein systematischer Prozess der Softwareentwicklung.
die die Qualität und die Wartungen der erstellten Software sichert.

Der Lebenszyklus in der Softwareentwicklung hat das Ziel, zu im-


hohe Qualität des Endprodukts, vorzugsweise sur-
preendendo as expectativas do cliente. O desenvolvimento do sistema
muss pünktlich und innerhalb der veranschlagten Kosten geliefert werden, im Wesentlichen

einen detaillierten Plan, der beschreibt, wie man plant, baut und wartet
spezifische Software (PRESSMAN, 2016).

Jede Phase des Softwarelebenszyklus hat ihren eigenen Prozess und


Ergebnisse, die die nächste Etappe zyklisch mit Rückmeldungen beraten.
Ernährung, aber immer in Partnerschaft mit den Nutzern für die entsprechenden
Validierungen.
Wir präsentieren Ihnen nun die Gründe, die die Umsetzung vorantreiben.
effizienten Lebenszyklus der Softwareentwicklung
Organisationen, die nach Wettbewerbsvorteilen suchen (PFLEEGER, 2007).
•Bereitstellung von Subventionen für die Planung, Kodifizierung und Schätzung-

Kosten- und Zeitmatrix des Projekts.


•Liefern Sie eine strukturierte Modellierung für die Aktivitäten, die
werden die Entwicklung der Software zusammensetzen.
•Ein Gerät sein, das die Überwachung und das Monitoring ermöglicht.
Genehmigung des Projekts.

•Betonung der Sichtbarkeit der Methode des strukturellen Planungsprozesses

Ziel für alle Beteiligten am Entwicklungsprozess.


•Aumentar e melhorar a velocidade de desenvolvimento dos
Software.
Die Beziehungen zum Kunden verbessern.
•Zur Verringerung der mit dem Projekt verbundenen Risiken beitragen.
Überlastungen im praktischen Projektmanagement beseitigen
Software.

Softwarelebenszyklus 31
Der Lebenszyklus senkt auch die Entwicklungskosten von
Software verbessert gleichzeitig die Qualität und reduziert die Zeit
de Produktion, diese Ziele zu erreichen, die anscheinend divergieren,
mehr als tatsächlich wesentlich für die Softwareentwicklung sind
(PFLEEGER, 2007).

Der Zyklus folgt einem Plan, der die typischen Fallen der Projekt-
Software-Entwicklungsprozesse. Dieser Plan beginnt mit der Bewertung der
vorhandene Systeme, auf der Suche nach Mängeln. Danach, ein Teil
für die Definition der Anforderungen des neuen Systems und anschließend geht man
à criação do software por meio dos estágios de análise, planejamento,
Entwurf, Entwicklung, Test und Implementierung.
Indem man kostspielige Fehler vorhersieht, wie man es vermeidet, Feedback zu bitten.

Endbenutzer oder Kunde, der effektive Entwicklungszyklus kann beseitigen


redundante Nacharbeit und nachträgliche Korrekturen.

Es ist auch wichtig zu wissen, dass ein großer Fokus auf der Phase der Test...
Durch eine wiederholende Methodik ist es möglich, die Qualität zu gewährleisten.
von Code zu jedem Zyklus. Viele Organisationen neigen dazu, wenig zu investieren
Bemühungen in Tests, was ein Fehler ist, da ein effizienterer Fokus auf
Tests können viel Nacharbeit, Zeit und Geld sparen.
Der traditionelle und am häufigsten in Organisationen verwendete Lebenszyklus ist
sitzend in der folgenden Abbildung (IAN, 2011).

Abbildung 1
Ciclo de vida de software

Hebehebung von
Anforderungen

Implantation und System


vorgeschlagen Analyse und Entwurf
Wartung

Implementierung und
Tests

Quelle: Vom Autor basierend auf Ian, 2011.

32 Softwaretechnik
Als nächstes werden wir jede der Phasen untersuchen: Erhebung
anforderungen; analyse und entwicklung; implementierung und test; einführung
die Wartung.

2.2 Anforderungserhebung
Video O levantamento de requisito é estágio inicial e essencial para um
erfolgreicher Softwareentwicklungsprozess. Dieser Prozess-
so deve ser liderado por profissionais experientes e conhecedores do
Geschäft. Es ist die Phase, die eine klarere und umfassendere Sicht auf den Umfang geben wird.

über das gesamte Projekt und zu den Fragen, Chancen und Richtlinien vor-
Aussichten, die sie ausgelöst haben.

Die Phase der Anforderungserhebung benötigt ein qualifiziertes Team.


um Bedingungen, Daten, Informationen so detailliert und vertrauenswürdig wie möglich zu erhalten

Es ist möglich, zur Einhaltung des Zeitplans beizutragen


belecido (IAN, 2011).
Diese Phase bezieht sich speziell auf die Praxis, Anforderungen zu definieren
Die Software, aber tatsächlich hat jedes Projekt Anforderungen, von einem
neue Kundenservice-Plattform bis hin zu einer renovierten Küche.
In seiner Essenz handelt es sich um den Prozess des Verstehens, damit das ...
Der Entwickler sollte wissen, was er bauen muss und warum er es tut.
machen.
Der Prozess umfasst in der Regel eine Reihe von Aktivitäten, einschließlich
do (SOMMERVILLE, 2011):
•Anforderungserhebung: die Geschäftsanforderungen ermitteln
die Interessengruppen, die relevant sind, um zu verstehen
die Bedürfnisse des Benutzers.
•Documentação de requisitos: codificação dessas informações
in einem für die Benutzer lesbaren Format, damit sie bestätigen können
das Verständnis der Bedürfnisse.
•Verständnis der Anforderungen: Schritt, damit alle haben
Sicherheit über das Verständnis der Anforderungen, die die Software bilden werden.

Es ist immer grundlegend, sich daran zu erinnern, dass alles vom Benutzer abhängt! Er

ist die wichtigste Figur in diesem Prozess. Entdecken Sie, wie die
Benutzer führen ihre Aufgaben aus und wie sie diese gerne erledigen möchten.
Nach der Software.

Software-Lebenszyklus 33
1. Was müssen die Benutzer tun?
2.Welche Probleme müssen gelöst werden?
3.Wie möchten die Benutzer die Probleme lösen?
4.Quais tipos de recursos os usuários terão disponíveis?
5.Mit welcher Effizienz können wir das geschehen lassen?
6.Welche Art von Flexibilität könnte notwendig sein?

Das sind einige Fragen, die in dieser beantwortet werden müssen.


Etappe.

Die erfolgreiche Anforderungserhebung ist eine Kunst im Interviewen.


soas e conseguir informações. A seguir präsentieren wir einige Tipps
die helfen können.
Setzen Sie von Anfang an Ziele und Zielsetzungen für das Projekt.

Das mag redundant erscheinen: Es ist klar, dass wir wissen, warum dies...
Wir machen dieses Projekt... Nicht wahr?

Selbst wenn man den Eindruck hat, alles zu wissen, ist es wichtig, sich Notizen zu machen und um Hilfe zu bitten.

Stakeholder, die unterzeichnen, sind am besten geeignet.

Ohne klar definierte Ziele und Vorgaben wird es an einer Struktur fehlen.
um zukünftige Entscheidungen zu lenken.

Alle Aktivitäten zur Anforderungserhebung dokumentieren

Quando está no meio de entrevistas com as partes interessadas e


Bei der Analyse von Dokumentationen kann der Entwickler oft sen-
Tir, der ein großes Wissen über die Dinge hat. Aber dann, eine se-
Es passiert ein bisschen und einige Details beginnen etwas verwirrend zu werden,

und der Entwickler merkt, dass er kein vollständiges Verständnis hat


über die Anforderungen Ihres Unternehmens.

Es scheint offensichtlich, aber stellen Sie sicher, dass Sie detaillierte Notizen machen.

Das Durchführen von Interviews mit den Interessengruppen ist ein Schritt nach vorne.

deroso für eine erfolgreiche Anforderungserhebung.


Sei transparent mit der Dokumentation der Anforderungen

Natürlich verstehen Sie die Anforderungen und auch Ihre Stakeholder.


Doch alle anderen beteiligten Parteien verstehen ihr Verständnis
Über die Anforderungen?

Nach jeder Besprechung analysiere deine Notizen, verfeinere sie und dann
Ja, teilen Sie sie mit dem Projektteam, einschließlich aller Beteiligten.
Interessierte.

34 Softwaretechnik
Diese Transparenz trägt nicht nur dazu bei, sicherzustellen, dass alle
auf derselben Seite, fördert aber auch ein Gefühl der Akzeptanz des
Projekt in seiner gesamten Planung, beginnend mit den Anforderungen des
Geschäft.
Sprechen Sie mit den richtigen Interessengruppen und Benutzern

Ein Projekt kann normalerweise "versteckte" Interessengruppen haben. Machen Sie


perguntas de sondagem em suas reuniões iniciais para tentar desco-
Wer sind die echten Nutzer?

Häufig werden diese Personen nicht die Hauptentscheider sein


der Entscheidung, aber ihre Zustimmung ist entscheidend für ein erfolgreiches Projekt.

Unzufriedene Benutzer, die gezwungen sind, ein System zu verwenden, das pro-
ohne Ihre Beiträge sind ein Schlüsselbestandteil für ein
gescheitertes projekt.
Treffen Sie keine Annahmen über die Anforderungen

Nicht annehmen, dass du alles verstanden hast, selbst wenn alles so scheint.

Offensichtlich. Ein scheinbar einfaches Anliegen wie "wir wollen einen Blog"
kann alle Arten von Annahmen, Anforderungen usw. maskieren.
1.Was sind die Felder eines Blogbeitrags?
2.Wie werden die Autoren verwaltet?
3.Und wie steht es mit der Markierung?
4.Was sind die Kategorien?
5.Wie werden die Beiträge angezeigt?
6.Sind sie in einer Datei zusammengefasst?
7.Gibt es einen Feed?
8.Wer sind die Autoren und welches ist ihr technisches Kompetenzniveau?

Der entscheidende Punkt liegt wirklich in den Details, die der Entwickler
Du kannst es erreichen, wenn du die richtigen Fragen stellst und den Prozess nicht beschleunigst.

Datenerhebung.
Bestätigen, bestätigen, bestätigen

Bedeutet das "transparent sein"? Es ist jedoch nicht ganz die


das gleiche.

Es ist großartig, deine Notizen nur mit einem Teil zu teilen.


Anpassung, aber viel wertvoller ist es, eine schnelle Überprüfung zusammen mit ihr zu machen.
und um Ihre offizielle Genehmigung zu erhalten.

Softwarelebenszyklus 35
Das Schweigen der Menschen ist kein Indikator für Erfolg. Erhalten Sie die
formelle Einigung der beteiligten Parteien, um anschließend fortzufahren.

Üben Sie aktives Zuhören


Jemanden das Gefühl zu geben, gehört zu werden, ist eine der schönsten Dinge.

was der Entwickler für den Benutzer tun kann. Doch das geht darüber hinaus
nur zu hören, was sie sagen: der Entwickler muss auch
Hören Sie, was die Benutzer nicht sagen und wie sie die Dinge sagen, gut.
wie man versucht, seine Körpersprache und andere Hinweise zu lesen, dass ain-
da existem informações para serem passadas por parte dos usuários.

Das wird aktive Zuhören genannt und ist ein Schlüsselkomponente.


Für den Erfolg der Anforderungserhebung. Gehen Sie nicht davon aus, dass Sie ohne sind.

pre entendendo a história, preste atenção às pequenas pistas que revelam


problematische Punkte, Wünsche, nicht deklarierte Ziele und Annahmen.
Fokus auf die Geschäftsanforderungen, nicht auf die Werkzeuge

Sei vorsichtig, wenn du Anforderungen sammelst, bei denen du dich wirklich anstrengen musst.

zentriert auf die Bedürfnisse der Stakeholder anstelle von deren Erwartungen
das Werkzeug, das Sie verwenden. Jede Methodik oder Software
es kann verwendet werden, solange es die Anforderungsaufnahme nicht stört.
Denken Sie daran: Möglicherweise haben Sie nicht alles verstanden.

Selbst der beste Anforderungsanalytiker wird Dinge übersehen, und das weiß er.
Was? Weil der Entwickler und seine Stakeholder Menschen sind,
Die Menschen machen Fehler. Später wird der Entwickler ...
sar em Dinge, die Sie vergessen haben zu fragen. Der Stakeholder wird denken
über Dinge, die er vergessen hat zu erwähnen (SOMMERVILLE, 2011).
Die Dinge können sich ändern, die Prioritäten können sich ändern. Die gute Nachri-

Das Planen im Voraus kann einen Vorteil bieten.


interaktive und effiziente Softwareentwicklung während des Lebenszyklus
Projekt; damit wird das kontinuierliche Management derAnforderungen sichergestellt.

Diese Zeit ist entscheidend, da die Anforderungen (orientiert und erstellt


von Menschen) sind einfach nicht statisch. Sich selbst Zeit geben
Aktives Management der Anforderungen während des gesamten Projekts kann
ihm zu helfen, den Anstieg des Umfangs zu unterbrechen, bevor er beginnt und zu gewährleisten

Stellen Sie sicher, dass Ihr Team sich immer auf die richtige Gruppe konzentriert.
Prioritäten, die den tatsächlichen Anforderungen entsprechen (IAN, 2011).

36 Softwaretechnik
Offensichtlich gibt es viel mehr, was über die Kunst und die Wissenschaft gesagt werden kann.

derSammlungvonAnforderungen,aberichhoffe,dassdieseListeeinigebereitgestellthat
nützlicheWerkzeuge, um diesen Prozess erfolgreich zu verwalten. Jetzt, da bereits
Es ist bekannt, wie man definiert, was man baut, lassen Sie uns zum Nächsten übergehen.

Phase des Lebenszyklus des Softwareentwicklungsprozesses.

2.3 Analyse und Projekt


Video Die Phase der Analyse und des Designs ist ein Schritt in der Entwicklung von
dass wir die wichtigsten Aspekte des Problems identifizieren müssen
Was soll mit der Software gelöst werden.
Es gibt vier Punkte, die wir identifizieren müssen, wenn wir analysieren.
mos ein Problem. Sind sie (HIRAMA, 2011):
1.Zweck der SoftwareOft gelingt dies mit
ein Text, der den Grund beschreibt, warum die Software verwendet wird
entwickelt.
2.LieferungenListe der Dinge, die im Laufe des Projekts geliefert werden müssen.

Diese Elemente werden dem Kunden oder Endbenutzer übergeben.


3. Grenzendefinierte Grenzen, an die sich die Software halten wird, ihre
Grenzen zwischen dem, was erfüllt werden sollte oder nicht.

4. Funktionale Anforderungen: especifica as entradas, os processos e as


Ausgänge.

Diese vier Aspekte können detailliert werden, wenn wir definieren


Eingaben, Verarbeitung und erwartete Ausgaben. Um es klarer zu machen,
vamos a um exemplo bastante simples.

Beispiel 1

Ziel: Die Software soll erstellt werden, um einem Benutzer zu ermöglichen, dass ein Benutzer
Gib zehn Zahlen ein. Jede Zahl muss validiert werden, um sicherzustellen, dass
Sei nicht kleiner als 0 und nicht größer als 100.

Das Programm muss eine kontinuierliche Summe der eingegebenen Zahlen führen.
und das Endtotal zu produzieren.

Lieferungen: Der Umfang dieses Beispiels wäre das gelieferte Projekt, einschließlich-
do os aspectos: design, programa concluído, plano de teste, resultados
von Test und Bewertungsbericht. Eine kurze Frist kann auch
wird im Projekt definiert, wahrscheinlich weniger als 30 Minuten.

Softwarelebenszyklus 37
Funktionale Anforderungen:

•entradas: dez números;


•processos: “validar dez números” e “calcular total”;
•saídas: total digitado até o momento;
•Grenzen: Jede Zahl muss validiert werden, um sicherzustellen, dass sie nicht

sei unter 0 und auch nicht über 100. Daher wären die Grenzen
0 und 100.

Beispiel 2

Ziel: Die Eigentümer eines Freizeitparks haben darum gebeten, dass ...
es wurde ein Programm entwickelt, um die durchschnittliche Anzahl der Besuche zu erfassen

Tanten in einer Woche.

Dazu wird der Benutzer die Gesamtzahl der Besucher für jeden eingeben.
Wochentag. Das Programm sollte dann die durchschnittliche Anzahl von
Besucher während der Woche.

Entregas: o escopo deste exemplo seria o projeto entregue, incluin-


Zu den Aspekten: Design, abgeschlossenes Programm, Testplan, Ergebnisse
von Test und Bewertungsbericht. Die Zeitgrenze dieses Programms
Es wäre relativ kurz, möglicherweise etwas zwischen 1 und 2 Stunden.

Funktionale Anforderungen:

•entradas: total diário de pessoas;


•Prozesse: tägliches Mittel berechnen;
•saídas: média de pessoas;
•Grenzen: Es kann schwierig sein, einige Grenzen in diesem Beispiel zu finden.
Nele, wir verwenden Wochentage, daher würden wir nicht verwenden
mais do que sete dias da semana. Outro limite seria que o total
Die Anzahl der Besucher muss größer als null sein, da es keine Besuche geben kann.

negative Tante.

In der Analyse- und Entwurfsphase ist es auch normalerweise erforderlich,


Skizzieren Sie klar alle Ressourcen, die benötigt werden, durch
Beispiel:
•Hardware, der erforderlich ist, um die Software auszuführen;

•compatibilidade de software;
•Notwendigkeit einer Internetverbindung während der Nutzung;
•Kompetenz der IT und der Benutzergruppe für die Umsetzung
der Lösung.

38 Software Engineering
Die Phase der Analyse und des Softwaredesigns ist der Moment, in dem die ar-
Quietetos und Entwickler erstellen fortgeschrittene technische Spezifikationen
das, was sie benötigen, um die Software gemäß den Anforderungen zu erstellen.

Die Interessengruppen werden Faktoren wie Risikoniveaus diskutieren, mit-


Position des Teams, anwendbare Technologien, Zeit, Budget, Einschränkungen
Projektionen des Projekts, Methode und architektonisches Projekt.

Basierend auf den Definitionen wird ein Dokument namens entwickelt


Dokument der Projektspezifikation, das das Projekt leiten wird
tetônico, die Komponenten, die Kommunikation, die Darstellung von Bildschirmen und

die Nutzerflüsse des Produkts. Dieser Schritt bietet ein Modell für
Entwickler und Tester und verringert die Wahrscheinlichkeit von Fehlern und Verzögerungen

im Endprodukt (ENGHOLM, 2010).


Jetzt gehen wir zur nächsten Phase!

2.4Implementierung und Tests


Video Die Implementierung oder Kodifizierung der Software ist der Moment, in dem

die Entwickler, im Besitz der Anforderungen und der Dokumentation von


In der Analyse- und Entwurfsphase konzentrieren sie sich auf die Programmierung.

Eine Sprache wird ausgewählt und der Prozess beginnt, wobei berücksichtigt wird
eine Programmiernorm innerhalb des Teams. Die Standards von
Kodifizierung ist eine Reihe von Verfahren, die definiert werden können.
für eine spezifische Programmiersprache, die ein Es-
tilo der Programmierung, die verschiedenen Methoden und Verfahren.

Diese Verfahren können für verschiedene Aspekte des


Programm, das in dieser Sprache geschrieben ist, und kann als Attribute betrachtet werden

essentielle der Softwareentwicklung.

Ein Codierungsstandard stellt sicher, dass alle Entwickler


die am Projekt arbeiten, bestimmten festgelegten Richtlinien folgen. Der Kó-
Das Gesagte kann leicht verstanden werden und die angemessene Konsistenz ist
mantida (TSUI; KARAM, 2013).
Die Konsistenz hat einen positiven Einfluss auf die Qualität des Programms
und sie sollte während der Codierung beibehalten werden. Darüber hinaus ist es wichtig, sich um

damit die Richtlinien einheitlich befolgt werden


verschiedene Ebenen des Systems und widersprechen sich nicht.

Software-Lebenszyklus 39
Die Kodifizierung muss einigen Prämissen folgen, damit sie präsentiert wird.
eine einfache Lesbarkeit für technische und nicht-technische Teams, wie zum Beispiel:
Versuchen Sie, verschiedene Abschnitte des Codes zu definieren, indem Sie Blöcke segmentieren.

de Code in einem Absatz. Es wird empfohlen, dafür zu verwenden


Einrückung, um den Beginn und das Ende der Strukturen anzuzeigen.
Trole, zusammen mit einer klaren Spezifikation des Ortes zwischen ihnen im
Welcher Code ist da.
•Konsistenz in der Benennungskonvention der Variablen zuweisen
Sie sind im gesamten Code sichtbar. Darüber hinaus müssen die Daten beschrieben werden.

die im Code sind.


•Funktionen nach dem, was sie ausführen, benennen.
Der Code sollte verständlich sein, selbst wenn man später zu ihm zurückkehrt.

nach einer gewissen Zeitspanne, ohne dass der Programmierer


dass man sich jede Zeile des Quellcodes anschaut.
•Einen spezifischen Ansatz verfolgen, um die Arbeit zu kommentieren.

•Die Funktionen der Sprache, die komplex sind, oder die Struktur, die ist
Schwer zu verstehende sollten vermieden werden.
Mit einfachen Maßnahmen der Programmierer ist es möglich zu verhindern, dass die

Softwareentwickler verbringen einen größeren Teil ihrer Zeit


die Probleme zu lösen, die hätten vermieden werden können. Implementieren
Kodierungsmuster helfen dem Team, Probleme frühzeitig zu erkennen.
padamente oder sie sogar vollständig zu vermeiden, was die erhöht
Effizienz im gesamten Softwareprozess.
Nach einer effizienten und standardisierten Kodierung geht es zu den Tests.
Die Implementierung von Softwaretests ist der Prozess, Tests zu entwickeln und
Testverfahren priorisieren, Daten erstellen und optional vorbereiten
rando und schreibe automatisierte Testskripte (TSUI; KARAM, 2013).
Es ist von großer Bedeutung, die richtigen Tests auszuwählen und sie durchzuführen.

richtige Ordnung. Die Bedeutung davon wächst exponentiell in den __


Risiko-basierte Strategien, wenn wir Prioritäten auf der Grundlage von
probabilidade de risco e problemas.
Das Testverfahren wird als grundlegende Aktivität angesehen, die dazu dient
um technische Probleme im Quellcode der Software zu erkennen und zu lösen
dieallgemeineBenutzerfreundlichkeitdesProduktsbewerten–Leistung,SicherheitundUnterstützung

tibilität. Es ist nicht nur der Hauptteil der Qualitätssicherung sondern


ist auch ein integraler Bestandteil des Softwareentwicklungsprozesses.

40 Softwaretechnik
Ein wichtiger Punkt im Testprozess ist, dass das Unternehmen
Erstellen Sie eine Testpolitik. Es handelt sich um ein Dokument, das enthält
Die Prinzipien der von dem Unternehmen angenommenen Tests und die Hauptziele
Ihre Teststimme. Erklärt auch, wie sie durchgeführt werden und wie eine
Das Unternehmen misst die Effektivität und den Erfolg der Tests (PRESSMAN, 2016).

Im Folgenden listen wir die wesentlichen Punkte einer Testpolitik auf


effektive Software:

•Definição do que o teste significa para a empresa.


•Ziele der Tests für die Organisation.
•Allgemeine Standards und Kriterien für Softwaretests in Projekten.
•Lista de ferramentas para apoiar o processo de teste.
•Methoden und Metriken zur Bewertung der Effizienz von Tests.
Möglichkeiten, die Testprozesse zu verbessern.

Um die Testpolitik zu unterstützen, ist ein Managementplan erforderlich.


eine Qualität, ein Dokument, das ein akzeptables Maß an Qualität definiert
des Produkts und beschreibt, wie das Projekt dieses Niveau erreichen wird.

Es handelt sich nicht um ein Pflichtdokument, aber es wird dem Agenten helfen.
alle notwendigen Aufgaben zu erledigen, um sicherzustellen, dass das Projekt den Anforderungen entspricht

Bedürfnisse und Erwartungen des Kunden.


Das Hauptziel dieses Plans ist es, die Projektmanager zu unterstützen und
hilfreich beim Organisieren des Prozesses, indem Funktionen, Verantwortlichkeiten und

Qualitätsstandards, die erreicht werden sollen. Folglich muss


die Qualitätsanforderungen der Software einbeziehen und beschreiben, wie sie
müssen bewertet werden (PRESSMAN, 2016).

Nachfolgend haben wir einige wesentliche Punkte für die Entwicklung.


vom Plan:
•Objetivos de qualidade perseguida.
•Hauptlieferungen des Projekts und Prozesse, die überprüft werden sollen
für ein zufriedenstellendes Qualitätsniveau.
•Padrões de qualidade adotados.
Aktivitäten zur Kontrolle und Sicherstellung der Qualität.

Funktionen und Verantwortlichkeiten der Qualität.

Qualitätswerkzeuge.
Plan zur Meldung von Problemen der Kontrolle und Qualitätssicherung.

Software-Lebenszyklus 41
Nach dem Qualitätsplan sollte der Manager sich mit dem
Entwicklung der Teststrategie, Dokument auf Höhe von pro-
duto, der spezifischer ist und aus den erhobenen Systemanforderungen abgeleitet wird

neben den Benutzern.


Die Teststrategie muss entwickelt werden, um die Ansätze zu definieren.
Testtag, die zum Erreichen der Testziele verwendet werden.
Eine Teststrategie orientiert sich an den Geschäftsanforderungen des
Projekt, weshalb sie sich mit den Verantwortlichkeiten vermischt.
ein Projektmanager.

Die wichtigsten Komponenten einer Teststrategie sind:


•Testumfang;
Testziele;
•Budgetbeschränkungen;
•Kommunikation und Statusbericht;
Industrienormen;
•Messung und Metriken testen;
•Berichte und Fehlerverfolgung;
•Konfigurationsmanagement;
Fristen
• Zeitplan für die Testdurchführung;
Risikobewertung.

Em um projeto pequeno, a estratégia de teste faz parte de um plano


de teste. Allerdings benötigt der Projektleiter für ein größeres Projekt
eine Teststrategie als separates statisches Dokument erstellen und
von dem aus jeder Testplan entwickelt werden kann.

Ein gutes Teststrategiedokument beantwortet die folgenden


Fragen:
Was ist das Produkt?
Welche(n) Teil(e) sollte(n) getestet werden?
•Wie sollten sie getestet werden?
Wann soll der Test beginnen?
•Was sind die Kriterien für den Beginn/ das Ende?

Schließlich wird die Entwicklung des Testplans empfohlen.


mento que descreve o que testar, quando testar, como testar e quem

42 Softwaretechnik
Er wird die Tests durchführen. Er beschreibt auch den Umfang und die Aktivitäten des Tests. Das

Der Testplan umfasst die Ziele der durchzuführenden Tests und hilft
die Risiken zu kontrollieren. Es ist eine gute Praxis, einen schriftlichen Testplan zu haben.

von einer erfahrenen Person, wie einem Leiter oder Qualitätsmanager.

Ein guter Testplan sollte die Planung aller Aktivitäten umfassen.


Notwendige Daten, um die Testzeit Ihres Teams zu steuern. Sollte
auch die Funktionen jedes Teammitglieds zu definieren, damit alle
wissen, was nötig ist.

Es gibt keine universelle Möglichkeit, einen Testplan zu erstellen.


dass er von den Prozessen, den Standards und den Werkzeugen abhängt
Testmanagement, das im Unternehmen implementiert wurde. Aber hier folgen die
Wesentliche Informationen, die ein Software-Testplan enthalten sollte.
•Einführung.
•Testgegenstände (das Produkt und seine Versionen).

•Problemas de risco de software.


•Ressourcen, die getestet werden sollen.

•Ressourcen, die nicht getestet werden sollen.

•Ansatz (Strategie).
•Kriterien für die Genehmigung oder Ablehnung des Artikels.

•Critérios de suspensão.
•Produkte (Testplan-Dokument, Testfälle, Werkzeug-
Mentoren, Fehlerprotokolle, Problemmeldungen usw.).
•Ambiente de teste (hardware, software, ferramentas).
•Zeitplan.
•Personal- und Schulungsbedarf.
•Verantwortlichkeiten.
Risiken.
Genehmigungen.

Alle diese Punkte sind notwendig, um eine Grundlage zu schaffen.


einen Testplan, der zielgerichtet ist, Wiederholungen und Verschwendung vermeidet
und hauptsächlich die Software gemäß den Bedürfnissen genehmigen
zwei Benutzer und ohne betriebliche Anomalien

Schließlich ist es wichtig, dass der Testplan geteilt wird.


mit allen Beteiligten, da er Informationen bereitstellen wird, die nur
bre os Prozesse der Prüfung und damit der Qualität.

Lebenszyklus der Software 43


2.5 Implementierung und Wartung
Video Nach monatelanger oder jahrelanger Arbeit haben Sie endlich das
Software oder Teile davon können implementiert werden. Was für eine Erleichterung!

Leider haben wir normalerweise nicht das "freie Haus", oder


Es gibt alte Software, die läuft, Benutzer sind daran gewöhnt.
alte Norm - endlich eine Reihe von Herausforderungen, die überwunden werden müssen.

Die Implementierung jeglicher Art neuer Technologie am Standort von


Arbeit, einschließlich dieser neuen Software, kann eine Veränderung sein, die
Es geschieht mit viel Stress.

Die Menschen wehren sich normalerweise gegen jede Veränderung, die ihr
Status quo, das heißt, der aktuelle Zustand der Dinge. Und zu bitten, dass die Menschen-

soas aprendam uma nova ferramenta certamente parecerá uma inter-


unerwünschte Unterbrechung.

Das Wichtige ist, das Vertrauen zu vermitteln, dass die Umsetzung bringen wird

Vorteile für das Unternehmen, für alle individuell sowie von


dass niemand entlassen wird, wenn man das behaupten kann.

Alle Betroffenen müssen mit "offenen Armen" dafür sein


neue Software!
Wir präsentieren fünf wesentliche Tipps für diese Mission
(SOMMERVILLE, 2011):
1.Finde deine Champions

Wenn Sie die Begeisterung der Mitarbeitenden nutzen können


gados mit dem neuen, um rund um diese neue Software Schwung zu geben,
Diese Begeisterung kann helfen, den Rest der Mitarbeiter zu überzeugen.
es zu nutzen.

Finde Menschen, die sich von Natur aus wohlfühlen mit


die Konzepte der neuen Software und ermutigen Sie sie, diese zu verteidigen

-lo. Sie können die Mitglieder des Teams pi- betrachten.


Loto, die dazu beigetragen haben, das Werkzeug oder die ...

Personen, die die Software mit größerem


Frequenz. Sieh den Enthusiasmus
diese Champions werden helfen, zu kon-
überzeugen Sie die skeptischsten Menschen

oder zögerlich.

44 Softwaretechnik
2.Erstellen Sie ein gemeinsames Verständnis

Wenn die Mitarbeiter keinen überzeugenden Grund finden, um


Durch die Verwendung der neuen Software ist es möglich, dass das Unternehmen Annahmegebühren erhält.

Baixas. Daher helfen Sie den leistungsstarken Mitarbeitern, es genau zu verstehen.


Erzählen Sie, was das Werkzeug ist, was es tut und warum es entwickelt wurde.
Binden Sie die Menschen von Anfang an in den Implementierungsprozess ein und in-
Ziel ist es, die Fragen mit Transparenz in den Antworten zu präsentieren.

3.Ereignisse für Schulungen durchführen

Die Schulungsveranstaltungen können eine effektive Möglichkeit sein, um zu trainieren.

die Mitarbeiter in einer neuen Software. Verwenden Sie diese Ereignisse, um zu schätzen-

Führen Sie den Dialog und beantworten Sie Fragen, verstärken Sie die Vorteile des Werkzeugs.

Mentor und demonstriere seine praktische Anwendung im täglichen Arbeitsablauf.


vom Team.
Es ist wichtig, kreative Wege zu finden, um das Neue zu integrieren.
software à rotina off-line ou à rotina com o software antigo com a
möglichst hohe Frequenz.
4.Wichtige Inhalte auf die neue Software übertragen
Eine Möglichkeit, die Akzeptanz zu erhöhen, besteht darin, die Informationen zu verbessern.

wichtig, dass die Mitarbeiter nur über zugänglich müssen


da neuen Werkzeug. Tatsächlich einen strengen Zeitrahmen für die Migration festzulegen

Für die neue Software könnte es der einzige Weg sein, um die
Rückstände sollen sich ändern.
Aber sei vorsichtig! Das ist ein gewagter Schritt, der das Risiko birgt von
die Mitarbeiter frustrieren, insbesondere wenn sie zu früh umgesetzt wird.
Um diesen Prozess zu unterstützen, kommunizieren und betonen Sie die Gründe dafür.
die Einführung der neuen Software auf effektive Weise, wobei hervorgehoben wird, wie die neue

Das Werkzeug wird allen zugutekommen.

Lebenszyklus der Software 45


5. Erwägen Sie die Möglichkeit der Verwendung von Belohnungen

Belohnungen können eine effektive Möglichkeit sein, um jemanden zu motivieren.

minado Verhalten, aber das hängt von der Kultur und der Philosophie ab
Organisation. Es ist wichtig zu beachten, dass die „Karotten“ und die „für-
„retes“ neigen dazu, zu scheitern, wenn wir diese Methodologien anwenden

gias in denkenden und kreativen Menschen, könnten sogar sein


prejudiciais.

Die wahre Motivation wird von einem Sinn angetrieben


aus Zweck und Streben nach Dominanz, weshalb zu übertragen
Der Wert der Software ist so wichtig. Das gesagt, kleine
Belohnungen, die darauf abzielen, die Teilnahme zu fördern, können
sind ziemlich effektiv, wenn sie mit weniger Aufgaben verbunden sind

kreativ, wie Zeitkontrolle.


Schließlich sind wir in der letzten Phase des Entwicklungszyklus angekommen.

Softwarewartung: die Wartung. Für diesen Schritt ist es unerlässlich, dass der
Manager, entwickeln Sie einen Wartungsplan.

Ein Wartungsplan ist ein Dokument, das die Arbeit definiert


durchgeführt, um betriebsfähige Vermögenswerte zu erhalten. Der Inhalt des Dokuments

ajuda a facilitar o uso contínuo de um ativo com desempenho ideal.


Ihre Installation kann erhebliche Schäden oder unerwartete Renovierungen verhindern.
Vistas, wenn Sie die hier bereitgestellten Richtlinien befolgen.

Die Idee hinter der Instandhaltungsplanung ist sicherzustellen, dass man


possa manter as condições de funcionamento adequadas dos equipa-
mentos. Obwohl ein gewöhnlicher Plan diese Arbeit erledigt, kann jede Ins-
Die Talação erfordert ein effektives Programm, damit alle genutzt werden.
Vorteile der Wartungspolitik.
Das Hauptziel der Softwarewartung ist es, Änderungen vorzunehmen und zu wirken.
Lizenziere deine Anwendung nach der Übergabe, um Fehler zu beheben und zu verbessern.

seine Leistung.

Die wichtigsten Wartungsbedürfnisse in Software sind erforderlich-


das Para:
•die Fehler beheben;
•das Design verbessern;
Verbesserungen implementieren;

•eine Schnittstelle zu anderen Systemen einfügen.

46 Softwaretechnik
Innerhalb dieser Bedürfnisse ist es wichtig, die Arten der Wartung hervorzuheben

die im Wartungsplan berücksichtigt werden müssen (HIRAMA,


2011):

Korrektive Wartung

Die corrective Wartung einer Software kann entscheidend sein für


einige Fehler korrigieren, die während der Verwendung des Systems beobachtet wurden oder

um die Leistung des Systems zu verbessern.


Um ein Beispiel zu geben, nehmen wir an, dass Sie gerade die Software veröffentlicht haben

in der letzten Nacht, aber erhält die Information, dass die Benutzer nicht
Sie können sich mit Ihren Facebook-Anmeldedaten einloggen. Sie kon-
tata Ihr Entwickler und stellt fest, dass der Authentifizierungscode, der
kommuniziert mit Facebook hat einen kleinen Defekt und muss sein
aktualisiert, um die Anmeldefunktionalität wiederherzustellen.

Die Korrekturwartung, auch bekannt als Reparaturwartung


Tiva bemüht sich um die Behebung von Problemen, die nach der
Übergabe der Software.

Adaptive Wartung
Umfasst Änderungen, Aktualisierungen und Erhöhungen aufgrund der ne-
Bedürfnisse der Nutzer, die sich an Orten befinden, an denen das Produkt verfügbar ist

ausgeführt auf neuen Plattformen, Betriebssystemen und Hardware.


Um dieses Wartungsfeld zu veranschaulichen, nehmen wir an, dass die
usuários têm feito login com sucesso no sistema há vários dias e as
Die Dinge laufen sehr gut, aber du erfährst, dass das Problem besteht
zurück und die Benutzer können nicht mehr auf ihre Konten zugreifen.

Nach mehreren Stunden der Untersuchung durch seinen Entwickler, haben Sie des-
Cobre, dass Facebook die Art und Weise geändert hat, wie du dich authentifizierst mit deiner

API, daher muss Ihre Website aktualisiert werden, um Unterstützung zu bieten für
neue Methode.
Ihr Entwickler verbringt noch einige Stunden mit der Aktualisierung der Website.

um die neue Authentifizierungsmethode von Facebook und alles zu unterstützen


Alles normal.

Dieses Problem erfordert adaptive Wartung, die die Modifikation


de einem Softwareprodukt, das nach der Lieferung durchgeführt wird, um einen
Softwareprodukt, das in einer veränderten oder sich verändernden Umgebung genutzt werden kann.

Lebenszyklus der Software 47


Wartung zur Verbesserung der Qualität

Um Software benötigt Qualitätswartung, um zu liefern.


den Nutzern neue Erfahrungen, damit er Verzauberung mitnehmen kann
Es ist eine noch größere Annäherung an ihr Zielpublikum.
Wie im vorherigen Beispiel hat Facebook seine Änderungen eingestellt und
hörte auf, Ihre Website zu gefährden, aber Sie beginnen, einige zu erhalten
Kommentare von Ihren Benutzern nach ein paar Tagen.
Es passiert, dass der Benutzer anstelle dessen nach dem Profil gesendet wird
Um log in macht es mehr Sinn, das Dashboard der aktuellen Aktivitäten zu sehen. Ein Kinder-

im vernünftigen Maße; Sie arbeiten mit Ihrem Entwickler und nach einer kurzen
Systemaktualisierung, die Benutzer werden jetzt mit den neuesten
Aktionen des Produkts, damit sie immer auf dem neuesten Stand sind.

Die Wartung der Software auf der Suche nach Qualität, die normal-
Das Ergebnis des Benutzerfeedbacks ist von größter Bedeutung, da
soll gezielt die Anforderungen derjenigen erfüllen, die es nutzen.
Das Ziel ist es, sicherzustellen, dass Ihre Benutzer zufrieden sind mit der
Erfahrung und weiterhin Ihr Produkt aufgrund des Wertes nutzen
Zusätzlich zu dem, was die präventive Wartung beiträgt.

Neue Funktionen und Verbesserungen bestehender Funktionen sind nicht


considerados manutenção perfeita. Se o painel de atividades recentes
Wenn es nicht existieren würde, wäre es eine neue Ressource statt einer Wartung.

perfekt.

Preventive Wartung
Die präventive Wartung dient dazu, zukünftige Probleme zu vermeiden und...
Zufriedenheit der Benutzer. Ihr großes Ziel ist es, Ereignisse vorherzusehen.
zu zukünftigen Anomalien, die dem Software schaden werden.
Fortfahrend mit unserem Beispiel, müssen wir sagen, dass mit den Veränderungen

In Ihrem System (wir sprechen hier sehr hypothetisch), Sie


weckt ein großes Interesse bei seiner Nutzerbasis und muss sich vorbereiten
rar für ein hochfrequentiertes Event in den nächsten Tagen.

Sie sind sich nicht sicher, ob Ihr Server diese Art von Unterstützung leisten kann.

carga, mas sabe que, se o site cair com tanta atenção, você terá muitos
verärgerte Benutzer, die Ihr Produkt möglicherweise verlassen.

So beauftragen Sie Ihren Entwickler, sich dagegen zu schützen.


Katastrophe, und er verbringt beträchtliche Zeit damit, die Umgebung zu aktualisieren

von Hosting, damit es skalierbarer wird.

48 Engenharia de Software
Wenn viel Verkehr einen Server erreicht, garantieren seine Aktualisierungen...

Neue Server müssen automatisch online gehen, um damit umzugehen.


mit dem zusätzlichen Verkehr. Es machte keinen Sinn, diese Infrastruktur einzurichten.

der automatischen Skalierung während der Entwicklung, aber jetzt


was du von ihr brauchst, ist grundlegend für den Erfolg deines Produkts. Buch
Das BuchMach mich nicht
Dieser Aufwand wird als vorbeugende Wartung oder Modifikation klassifiziert.
denken, von Steve Krug
Überwachung eines Softwareprodukts nach der Lieferung, um Fehler zu erkennen und zu beheben. erklärt, dass die Menschen
die Software verwenden oder
possíveis falhas no produto de software antes que elas entrem em vigor. Seiten neigen dazu, zu akzeptieren

die erste Lösung, die


Je komplexer die Software ist, desto wahrscheinlicher ist es, dass mehr manu-
ihnen wird präsentiert. Dieses
Aufmerksamkeit wird erforderlich sein, um die fortlaufende Nutzung sicherzustellen. Die Fragen Der wesentliche Punkt sollte sein

ausgenutzt von Enge-


Vias sind "warum" und "wie viel". Das variiert und ist ein bisschen kompliziert, da
nheiros von Software, die
cada produto de software é diferente. wollen sich unterscheiden im
Markt.
Es ist möglich, die Wartungskosten durch Planung zu minimieren. Das Buch konzentriert sich auf

intelligente Planung und Ausführung, aber man kann auch am Ende dafür zahlen Einfachheit, in der Objektivität
vida e no bom senso
aber um das Produkt zu halten, als es zu entwickeln, wenn der Manager nicht als angesehen von
Vorsicht nehmen. vieles ist wesentlich für
jeder Ingenieur von
Existem muitos fatores de custo de manutenção de software: ela Software. Das Werk hilft.
die Entwickler
Es geht nicht nur darum, Bugs zu beheben; es beinhaltet jeden Aufwand, um die Erfahrung verstehen
die Dinge so zum Laufen zu bringen, wie es Ihre Benutzer erwarten des Benutzers und seine zu ändern

Denkweise für
que funcione – e, na maioria das vezes, isso significa outra coisa do que dass das Interface-Design
einfach Fehler in Ihrem Code beheben. Sei immer die Kraft mo-
Triz hinter den Entscheidungen
Mit diesem Schritt schließen wir den Softwareentwicklungszyklus ab. von Entwicklern.

re, ein hochgradig wichtiger Prozess innerhalb der Softwaretechnik


KRUG, S. São Paulo: Alta Books,
re, die darauf abzielt, effektive Praktiken, Werkzeuge und Methoden zu bringen in 2014.
Bau, Lieferung und Wartung der Software.

SCHLUSSBEMERKUNGEN
In diesem Kapitel durchlaufen wir alle Phasen, die einen Zyklus bilden.
der Softwareentwicklung und es war möglich zu verstehen, dass der Entwickler
Die Softwareentwicklung steht an ihrem Wendepunkt, angesichts der hohen
Häufigkeit technologischer Unterbrechungen.
Fast alle Sektoren nutzen Software, um zu lösen
Die Probleme des Benutzers. Der Trend der Software wächst in einem
Rhythmus, dem die Unternehmen energisch folgen und nach dem sie handeln müssen.
Vor dem Hintergrund des Softwareentwicklungszyklus, um sicherzustellen
eine schnelle und qualitativ hochwertige Lieferung.

Ciclo de vida do software 49


Wir konnten verstehen, dass der Lebenszyklus der Entwicklung von
Software ist grundlegend, um eine Software zu erstellen, die zum Produkt passt.
und auf dem Markt. Der Softwarebau ist eine Reise mit mehreren Mar-
cos entlang eines Weges von A nach B.
Die siegreichen Organisationen stehen den Herausforderungen des Prozesses gegenüber.

Entwicklung von Softwareprodukten und die Annahme von Veränderungen in einem


holistische Ebene. Der Prozess beginnt mit der Analyse der Anforderungen, dem Design,
Codierung, Test, Implementierung und Wartung. Doch die Art und Weise, wie ein
Das Team behandelt die genannten Schritte, die von der jeweiligen Methodologie abhängen.

Softwareentwicklung
Wir kommen zu dem Schluss, dass das Ziel des Softwareentwicklungszyklus
é apresentar um caminho padrão a ser seguido pela equipe que realiza
diese Aktivität. Ohne einen vorgezeichneten Weg und ein Gefühl für die Richtung, die Anstrengung-

Entwicklungsressourcen werden wahrscheinlich scheitern.

ATIVIDADES
Aktivität 1
Im Moment sind Sie der leitende Softwareingenieur von einer
großes Kosmetikunternehmen und muss alle davon überzeugen
Entwicklungsteams, dass der Lebenszyklus der Entwicklung
Effiziente Softwareentwicklung ist wichtig. Heben Sie die Hauptpunkte hervor.
Vorteile, die durch die Einführung eines Lebenszyklus erzielt wurden.
Wenn Sie möchten, verwenden Sie einen oder mehrere Folien oder präsentieren Sie diese.

Vorteile in einem Text von maximal einer Seite.

Aktivität 2
Ainda como engenheiro de software chefe de uma grande
Kosmetikunternehmen, Sie müssen jetzt die Schritte präsentieren.
que compõem o ciclo de desenvolvimento de software e explicar
schnell jede dieser Phasen.

REFERÊNCIAS
ENGHOLM JR., H. Softwaretechnik in der Praxis. São Paulo: Novatec, 2010.
HIRAMA, K.Engenharia de software: qualidade e produtividade com tecnologia. Rio de
Januar: Elsevier, 2011.
IAN, S. Softwaretechnik. 9. Aufl. São Paulo: Pearson, 2011.
PFLEEGER, S. L. Software-Engineering: Theorie und Praxis. São Paulo: Pearson Prentice Hall.
2007.
PRESSMAN, R. S. Softwaretechnik: Ein professioneller Ansatz. 8. Aufl. Porto Alegre:
AMGH, 2016.
SOMMERVILLE, I. Softwaretechnik. 9. Aufl. São Paulo: Pearson Education, 2011.
TSUI, F.; KARAM, O. Grundlagen der Softwaretechnik. São Paulo: LTC, 2013.

50 Softwaretechnik
3
Objektorientierung
Lernziele
Am Ende des Studiums dieses Kapitels werden Sie in der Lage sein:

• verstehen, entwickeln und umsetzen des Konzepts der Orientierung


Objekte;
• Konzepte von Klasse und Nachricht verstehen;
• Methoden und Operationen erkennen;
• die Abstraktion der objektorientierten Programmierung in Lösungen zu erkunden

computational
• Software modellieren unter Verwendung der Konzepte der UML.

O desenvolvimento de software é uma atividade complexa e, como


tal, wenn es keinen gemeinsamen Kommunikations- und Interpretationsstandard gibt

Involvierten Teams treten Probleme auf. Damit eine Software...


entwickelt, ohne Nacharbeiten, und es sollte in der Zukunft einfach sein, es zu warten, die Beteiligten

Sie müssen dieselbe Sprache interpretieren.

Wie wir gesehen haben, gibt es zur Dokumentation von Prozessen das BPMN.
als universelle Sprache, für die Aufgabe, Systeme zu dokumentieren, haben wir
Die Vereinheitlichte Modellierungssprache (UML, von Englisch Unified Modeling)

Sprache). Diese Sprache schlägt den Aufbau von Diagrammen für das vor
Entwicklung von objektorientierten Systemen, die die Entwicklung erleichtern
Mento des Softwares (WAZLAWICK, 2019).
Dieses Werk bietet eine kurze Geschichte über die Sichtweise der Analyse von
System bis zum Erscheinen der UML als beste Vorschlag zur Darstellung
Präsentation zur objektorientierten Programmierung. Wir werden auch einige Beispiele zeigen.

de Diagrammen der UML und deren Zwecke im Allgemeinen, da vertieft


Wir werden einige von ihnen geben, wenn es notwendig ist.

UML ist ein sehr häufig verwendetes visuelles Format, um zu veranschaulichen


Software auf der Grundlage der Konzepte der objektorientierten Programmierung. Dieses Format

Die Modellierung von objektierten Systemen kann verwendet werden

Orientação a objetos 51
in allen Phasen der Entwicklung der Lösungen und ist bereits die am weitesten verbreitete Form

verwendet in der Welt (HASSAN, 2011).

In den 1950er und 1960er Jahren war die Entwicklung von Systemen
Techniker, das heißt, der Benutzer forderte den Programmierer auf, ein System
dass er ohne Methodik oder Standard programmierte, nur mit der Vision
Aufgrund des festgelegten Bedarfs wurde alles ad hoc und nach Bedarf erledigt.
Laut Hassan (2011) könnte die Verwendung dieses Begriffs auf die Abor-
dagem der ersten Phase der Systementwicklung, in der nicht
Es gab eine ursprüngliche Planung.

Das Fehlen dieser Voruntersuchung verursachte große Probleme bei der Gestaltung

Entwicklung von Systemen: Die Projekte überschritten die Fristen, und wir
Wir sehen, dass die Kontrolle des Budgets eines Projekts grundlegend ist. Das
es geschah hauptsächlich aufgrund des Mangels an Verständnis für die tatsächliche Notwendigkeit

Benutzergeburtstag.

Es gab keine Standards, Werkzeuge, Techniken und erst recht keine Methoden.
für die Entwicklung von Systemen. Diese Situation begann sich zu ändern in
1970er Jahre, als die ersten Modelle und Strukturen entstanden
gestaltet, um das Verständnis der Bedürfnisse des Benutzers zu erleichtern.

Hassan (2011) erklärt, dass das schnelle Wachstum der Kapazität mit-
putacional das máquinas resultou na demanda por sistemas cada vez
aber komplexer. Deshalb sind die Entwicklungsformen der Systeme
mussten neu bewertet werden, was zur Entstehung von Methoden und Praktiken führte,
Techniken und Standards für Ihre Modellierung.

In den 1980er Jahren, mit dem Aufkommen der Personal Computer


(PCs) erhöhte die Notwendigkeit zur Entwicklung von Systeme noch weiter.
mas komplexer, und die strukturierte Analyse hat sich in der ersten konsolidiert
Mitte des Jahrzehnts.

1980 veröffentlichte Edward Yourdon das klassische Buch Strukturanalyse


moderne Rada, gilt als Referenz in diesem Bereich. Die Analyse ist-
Truturada wurde für die Modellierung strukturierter Systeme verwendet.
durch die grafische Darstellung von Flussdiagrammen
(PRESSMAN, 2016).
Obwohl es seit Jahrzehnten existierte, war es in den 1980er Jahren, dass das Para-
Das Digma für die Modellierung von objektorientierten Systemen hat an Bedeutung gewonnen.

eine Analyse zu verlangen, die über das strukturierte Paradigma hinausgeht.

52 Softwaretechnik
3.1 Objektorientierung
Video Die objektorientierte Programmierung (OOP) ist ein Paradigma, das erreicht wurde durch

Software-Programmierer, die bei der Modellierung von Objekten eingesetzt werden, bei

Schritt, den die traditionelle Programmierung in ihrer funktionalen Modellierung verwendet

Aktionen und Verfahren. Ein Objekt kann als ein Agent verstanden werden.
Abstrakt, das dem System mit Attributen und Methoden gehören wird
cos (WAZLAWICK, 2019).
Die objektorientierte Programmierung konzentriert sich auf die Objekte, die Software-Ingenieure benötigen.

operar dentro do sistema ao contrário da lógica necessária para


sie zu manipulieren. Diese Art von Verfahren in der Programmierung ist angezeigt

für jede Art von Software, die wir entwickeln möchten, denn die Optimierung
Für Ressourcen und zur Steigerung der Qualität.

Die Vorteile der objektorientierten Programmierung umfassen (PRESSMAN, 2016):

•Modularität: Die Systeme werden modular, als ob sie es wären.


kommt in Kartons, damit sind Wartung und Wiederverwendung sehr
leichter.
•Wiederverwendung: Mit den Objekten wird die Wiederverwendung agil, es genügt, dass der

Programmierer verstehen, dass eine Klasse eines bestimmten Systems


es wird in einem anderen System funktionieren, um es wiederzuverwenden.

•Produktivität: Die Softwareproduktion wird mit der


Wiederverwendung von Klassen in mehreren Systemen.

•Leicht aktualisierbar und skalierbar.


•Sicherheit: wie die Softwarelösungen bereits implementiert wurden
Mit getesteten und geprüften Sicherheitsmaßnahmen steigt das Vertrauen des Programmierers in die Nutzung.

Im Folgenden werden wir die wichtigsten Konzepte der Orientierung erkunden.

objetos: classes, objetos, abstração, encapsulamento, polimorfismo


das Erbe.

3.2 Klassen und Objekte


Video Objekte sind Personen, Orte oder Dinge, die für die relevant sind
Systeme, die entwickelt werden. Diese, wenn sie objektorientiert sind
Sie beschreiben Entitäten als Objekte. Typische Objekte können sein
Kunden, Artikel, Bestellungen und so weiter (PRESSMAN, 2016).

Objektorientierte Programmierung 53
Sie gehören normalerweise zu einer Gruppe ähnlicher Artikel.
chamadosklassen. Der Wunsch, Gegenstände in Klassen zu setzen, ist nicht neu.
Die Beschreibung der Welt als bestehend aus Tieren, Pflanzen und Mineralien ist
ein Beispiel für Klassifizierung.

Die Idee hinter den Klassen ist es, einen Referenzpunkt zu haben und zu beschreiben.
ein bestimmter Gegenstand in Bezug auf seine Ähnlichkeiten oder Unterschiede
in Bezug auf die Mitglieder seiner eigenen Klasse.

Wenn man das tut, ist es effizienter, jemandem zu sagen: „Der Koala-Bär ist ein
Beuteltier (oder Tier mit Tasche) mit einem großen runden Kopf und
„pelzige Ohren“, als einen Koalabären mit all seinen...
Eigenschaften wie ein Säugetier.
Es ist effizienter, Eigenschaften, Erscheinungen und sogar zu beschreiben
Verhalten auf diese Weise. Wenn wir das Wort hören
In einer objektorientierten Welt bedeutet das, dass wir mehr sein können.
effizient, weil wir nicht von Anfang an beschreiben müssen
ein Objekt immer wenn es für die Entwicklung notwendig ist
Software (WAZLAWICK, 2019).
Eine Klasse ist ein abstraktes Konzept, das zur Demonstration verwendet wird
relevante Objekte für die Systeme auf konkrete Weise. Die Klassen von
Objekte sind Formen, Instanzen innerhalb des Systems zu kategorisieren, die
wird entwickelt, wie zum Beispiel: Produkte, Schüler, Lehrer, Note Fis-
Kalender, Forderungen, Verbindlichkeiten, unter anderem.
Innerhalb der Klassen haben wir die Attribute, die spezifizieren werden
Objekte, zum Beispiel: Kunden-CPF, E-Mail, Adresse, Preis, Note
(HIRAMA, 2011).
Neben den Attributen haben die Klassen Methoden, die die Ope-
Funktionen, die die Objekte innerhalb des Systems erfüllen können, wie:
Kunden einfügen, Produkt verkaufen, Schüler löschen usw.

Eine Methode ist ein Stück Quellcode, das innerhalb eines


Eine Klasse, die benannt wurde und die Fähigkeit hat, aufgerufen zu werden. Er ohne-

pre ist Teil einer Klasse und wird häufig verwendet, um zu modifi-
das interne Zustand eines instanziierten Objekts einer Klasse.
Jede Klasse muss einen Namen haben, der sie von allen anderen unterscheidet.
Klassen sind in der Regel Substantive oder kurze Sätze und beginnen mit
ein Großbuchstabe.

In Abbildung 1 wird die Klasse Rental_Car dargestellt durch ein


Rechteck. Es enthält zwei weitere wichtige Funktionen: eine Liste von

54 Software Engineering
Attribute und eine Reihe von Methoden. Diese Elemente beschreiben eine Klasse.
die Analyseeinheit, die einen großen Teil dessen ausmacht, was wir nennen
Analyse und designorientierte Objektanalyse.

Abbildung 1
Klasse

rental_car
Auto kennzeichen
- Modell
Kor
Jahr
- tamanho

Quelle: Vom Autor erstellt.

Ein Attribut beschreibt eine Eigenschaft, die alle Objekte der


Klasse besitzen. Beachten Sie, dass die Klasse Rental_Car die Eigenschaften besitzt

von Größe, Farbe, Jahr, Kennzeichen und Modell. Alle Autos weisen auf
esses atributos, mas cada carro terá valores diferentes para eles.
Zum Beispiel kann ein Auto blau, weiß oder von einer anderen Farbe sein.
Weiter unten werden wir zeigen, dass Sie spezifischer sein können über
der Wertebereich dieser Eigenschaften. Bei der Angabe von Attributen, die
die erste Buchstabe ist normalerweise klein.

Neben den Attributen hat die Klasse Methoden. Eine Methode ist eine
Aktion, die von jedem Objekt der Klasse angefordert werden kann. Methoden sind
die Prozesse, die eine Klasse durchführen kann.

Die Methoden werden auch als Operationen bezeichnet. Für die Klasse von
Rental_Car, inclusão(), exclusão() und saída() sind Beispiele für Methoden.
Beim Spezifizieren sind die ersten Buchstaben normalerweise klein.

Im Folgenden folgt die Klasse Rental_Car mit den Methoden.

Abbildung 2
Classe com métodos

rental_car
Autokennzeichen
Modell
Kern
ja
- tamanho

einschluss()
ausschluss()
Ausgang()

Quelle: Vom Autor erstellt.

Objektorientierung 55
Um es klarer zu machen, wollen wir hypothetisch die Methoden des
Rental_Car:
•einfügen(): ist verantwortlich für das Hinzufügen von Autos zur Registrierung;

•exclusão(): wird die Löschung von Autos aus dem Verzeichnis durchführen;

•ausgang(): wird die Ausgaben von Autos zur Vermietung steuern.

Auf diese Weise können wir schließen, dass die Klassen haben müssen
Name, Attribute und Methoden. Im Folgenden folgen zwei weitere Beispiele
von Objektklassen.
Abbildung 3
Objektklassen – Produkte und Lieferanten
Produkte Lieferanten
- código - cnpj
- descrição Firmenname
- quantidade em estoque - endereço
- preço Stadt
Peso - estado

einschließen() Änderung()
abfragen() relatório()
verkauf()
Quelle: Vom Autor erstellt.

3.3 Abstraktion
Video
Dies ist ein Prozess zur Auswahl der notwendigen Methode und Attribute.
um das Objekt zu spezifizieren. Die Abstraktion konzentriert sich auf die Merkmale.
spezifischeEigenschafteneinesObjektsimVerhältniszurPerspektivedesBenutzers(HIRAMA,2011).

Abstraktion bedeutet die Kunst, die wesentlichen Eigenschaften darzustellen.


ohne sich um die Einzelheiten der Klassen zu kümmern, haben wir mit ihr die Se-
folgende Vorteile:
• die Komplexität des Sehens der Dinge reduzieren;

• die Duplikation von Klassen zu vermeiden und die Kapazität zu erhöhen

Wiederverwendung
•ajudar a aumentar a segurança de um aplicativo ou programa,
da nur wichtige Details dem Benutzer bereitgestellt werden;
•die zugrunde liegende Komplexität der Daten zu verbergen;

•hilft, wiederholte Codes zu vermeiden;


•dar flexibilidade aos programadores para alterarem a implemen-
Beobachtung des abstrakten Verhaltens.

56 Softwaretechnik
Abstrahieren bedeutet, nur relevante Daten anzuzeigen und Details zu verbergen.

sie überflüssig von einem Benutzerobjekt. Zum Beispiel, wenn Sie


Melden Sie sich in Ihrem Amazon-Konto online an, indem Sie Ihre Benutzer-ID und Ihr Passwort eingeben und

Klicken Sie auf Anmelden. In diesem Moment greift der Prozess auf Ihre Datenbank zu und
Gibt den Zugang oder eine Nachricht über ein falsches Passwort zurück.

Der Prozess der Passwortvalidierung bei der Datenbank ist abs-


Vom Benutzer getäuscht, er muss den Prozess nicht kennen, er muss nur empfangen.
über den Zugriff oder eine Fehlermeldung.
Ein weiteres Beispiel für Abstraktion ist ein Automobil, das ein Objekt ist, das mit

Posto von mehreren anderen kleinen Objekten, wie einem Verzahnungssystem


gens, mecanismo de direção, motor, suspensão, tanque de combustível,
und zahlreiche andere Komponenten. Aber für den normalen Fahrer ist das Auto
Es ist ein einzelnes Objekt, das Sie von einem Ort zum anderen bringt.

Die Abstraktion ermöglicht es Softwareingenieuren, eine


panoramische Sicht auf das System. Im Gegensatz zur Kapselung (die
wie weiter unten zu sehen sein wird), dazu neigt sie, die Dinge zu verallgemeinern und zu verschleiern

unerwünschte Daten und die erforderlichen Daten offenlegen, damit die


Entwickler können sauberen Code schreiben, um Ressourcen zu sparen.
Schritte und Programme leicht aufrechtzuerhalten (SOMMERVILLE, 2011).

Lass uns ein weiteres Beispiel vorstellen, um es klarer zu machen, denk daran

auf der Benutzeroberfläche Ihres Handys. Ob Sie ein Betriebssystem verwenden


Android oder iOS, Sie interagieren nicht direkt mit dem Code, den Sie
Sobald Ihr Telefon mit dem Internet verbunden ist, senden Sie eine Nachricht an
texten oder ein Videospiel spielen.

Stattdessen interagieren Sie über eine Schnittstelle mit dem Code.


des Benutzers, die darauf ausgelegt ist, Ihre Erfahrung zu optimieren und den Zugang zu erleichtern

zu den Funktionen und den Methoden, die erforderlich sind, um eine Aufgabe abzuschließen. In diesem

Fall, die Schnittstelle ist von der tatsächlichen Implementierung des Codes abstrahiert.

Die Abstraktion kann durch das Benutzerprofil und die Richtlinien beeinflusst werden.

Zugangsarten, zum Beispiel: Der Präsident des Unternehmens könnte einen


Sicht auf viel mehr.

3.4Encapsulamento
Video
Kapselung bedeutet in der objektorientierten Programmierung, Attribute und
Methoden mit einer einzigartigen Funktionsweise. Dieses Konzept ist ebenfalls frei-

häufig verwendet, um die interne Darstellung oder den Zustand zu verbergen,

Objektorientierung 57
von einem Objekt von außen. Das wird als Informationsversteckung bezeichnet.

(SOMMERVILLE, 2011).
Getter und Setter sind die am häufigsten vorkommenden Methoden in den Sprachen von

Programmierung, also wenn Sie Objekte kapseln, suchen Sie nach diesen
zwei Wörter. Im Kapselung ist es möglich, dass ein Mē-
damit ein Attribut gelöscht, weggelassen oder nur schreibgeschützt bleibt.

Lass uns ein Beispiel ansehen, das das Konzept von


Kapselung und wie Sie sie nutzen können, um die Verborgenheit umzusetzen
Informationen zu sammeln und zusätzliche Validierung anzuwenden, bevor die Änderungen vorgenommen werden.

Werte ihrer Objektattribute.


Um es klarer zu machen, lassen Sie uns eine Klasse von Objekten vorstellen.
madaKaffeemaschine, wobei ihre Attribute sein könnten: vol-
Kaffeekanne, Kapazität an Kaffees pro Tag, Methode von
Kaffeemehl, Farbe, Größe und andere. Für das Konzept des en-
Kapselung, wir können eine Methode haben, zum Beispiel „Kaffee machen“,
das mehrere andere Methoden umfasst und für den Benutzer unsichtbar bleibt
die einfachsten Methoden.
Schau dir ein weiteres aufschlussreiches Beispiel an, stell dir einen Taschenrechner vor, verstehe-

demos sua interface à primeira vista e não precisamos saber como


es funktioniert von innen. Wir müssen nur das Bewusstsein haben, dass wenn
Wenn wir "2 + 2" drücken und dann "=", erhalten wir das Ergebnis 4.
Das heißt, der Rechner ist eine Kapselung aller Operationen.
mathematische Operationen, die intern darin stattfinden.

Das Objekt verwaltet seinen eigenen Zustand durch diese Funktionen, und
Keine andere Klasse kann es ändern, es sei denn, es ist ausdrücklich erlaubt.
erlaubt. Um mit dem Objekt zu kommunizieren, muss der Programmierer
Die bereitgestellten Methoden verwenden.

Lass uns ein weiteres Beispiel verwenden, um das Konzept klarer zu machen,
Wir werden über eine Klasse von Objekten sprechen, die Bankkonto heißt.
Pomos, dass wir in dieser Klasse nur die Attribute Name und Saldo einfügen.
mit dem Ziel, die Visualisierung der Benutzer zu vereinfachen.

Nela werden wir die Methode "einzahlen" einfügen, die, wie der Name schon sagt
diz, wird dafür verantwortlich sein, das Guthaben auf dem Girokonto zu empfangen.

Die interne Berechnung wird einfach sein, das heißt, der aktuelle Wert wird addiert mit dem

Betrag, der einzuzahlen ist, wodurch das Attribut Saldo aktualisiert wird, und zwar
dass das Attribut Name nicht geändert werden darf.

58 Softwaretechnik
Ob die Möglichkeit besteht, dass die Attribute direkt zugegriffen werden können

in jedem Teil des Quellcodes wird der Programmierer riskieren, dass


Risiko, dass das Guthaben aktualisiert wird, ohne dass die Einzahlmethode verwendet wurde.

ausgeführt. Um dieses Problem zu vermeiden, wird empfohlen, dass der Ingenieur die
spezifische Methoden zu diesem Zweck, zum Beispiel: "Saldo aktualisieren".

Mit der Kapselung bemerken wir nicht, dass wir eine Methode cha-
mado"aktualisieresaldo",dasinnerhalbderMethode"einzahlen"eingebettetist.

Mit diesem Beispiel können wir erkennen, dass die Kapselung vermeidet
der unbefugte Zugriff auf einige sensible Daten, sowie andere Vorteile
importantes no desenvolvimento orientado a objetos. A seguir mostra-
Wir entfernen einige wesentliche Vorteile.

Code-Wartung

Es ist möglich zu sagen, dass jeder Code Wartung benötigt.


nach einiger Zeit ändert sich alles sehr schnell, und die Codes
müssen sich an die neuen Bedürfnisse anpassen. Stellen Sie sich sehr ex-
Schätzungen zufolge hat Facebook, wie andere soziale Netzwerke, über 60 Millionen.

von Codezeilen.
Die Wartung einer Software dieser Größe scheint unmöglich zu sein.
Ist es nicht? Die Kapselung erleichtert die Wartungsarbeiten erheblich.
da wird der Programmierer schneller den genauen Punkt finden
alteração do código, é como procurar caixinhas identificadas dentro de
einen Schrank. Ohne das Encapsulieren wäre es wie nach einem Paar Socken suchen.

in einem großen, völlig unordentlichen Schrank.


Wiederverwendung von Code

Die Kapselung ermöglicht es dem Entwickler, seinen Code wiederzuverwenden.


Bereits getestete und funktionierende Go. Angenommen, ein Programmierer benötigt
Erstellen Sie ein Anmelde- und Passwortfenster, das bereits eine solche Funktion hat.
Wenn er in seiner Firma ist, muss er nur die gekapselte Routine nehmen, sie ändern.
Sehen Sie den Code und die Schriftart, oder nicht einmal das, und bringen Sie es zum Laufen in einem anderen System.

Damit gewinnt er Programmierzeit und vermeidet es, verfügbar zu sein.


nicht getestete oder problematische Routinen, der Gewinn ist sehr hoch, wenn
Wir denken an Skalierung.

Beschleunigte und vereinfachte Entwicklung


Durch die Wiederverwendung von Code beschleunigen und vereinfachen wir offensichtlich das

Systementwicklung. Die Kapselungen sind bereits getestet und


funktionierend, warum sie also nicht wiederverwenden, um an Agilität zu gewinnen?

Objektorientierte Programmierung 59
Der Pfeiler der Kapselung hilft auf bemerkenswerte Weise beim Entwurf
objektorientierte Entwicklung, die auch Schutz für die da-
die sensiblen oder vertraulichen.

3.5Polymorphismus
Video Polymorphismus ist ursprünglich ein griechisches Wort, das bedeutet die Ka-
Fähigkeit, verschiedene Formen anzunehmen. Im objektorientierten Paradigma,
es beinhaltet die Verwendung von Operationen auf unterschiedliche Weise, abhängig von der

Instanz, in der sie arbeiten.


Polymorphismus ermöglicht es, dass Objekte mit unterschiedlichen Strukturen in-
Ternas haben eine gemeinsame externe Schnittstelle. Es ist besonders effektiv.
bei der Implementierung der Vererbung, die wir im Folgenden sehen werden.

Lass uns mit einem einfachen Beispiel beginnen, damit das Konzept klarer wird.

Klar. Stellen Sie sich zwei Klassen vor, Kreis und Quadrat, jede mit einem
Methode Berechne_Flaeche(). Obwohl der Name und die Funktion der Methoden in den
Klassen seien gleich, die interne Implementierung, das heißt das Verfahren
Die Methode zur Berechnung der Fläche ist für jede Klasse unterschiedlich.

Jede Figur hat ihre Formel zur Berechnung der Fläche. Wenn ein Objekt
da Klasse Circulo ruft seine Methode Calcula_Area() auf, der Vorgang findet
der Bereich des Kreises ohne Konflikt mit der Methode Berechne_Fläche() der
classe Quadrado, eles entendem que devem usar fórmulas diferentes.
Der Polymorphismus wird als eine der wichtigen Eigenschaften angesehen.
der Objektorientierten Programmierung und ermöglicht es uns, eine einzige
Aktion auf verschiedene Arten. Mit anderen Worten, die Polymorphie ermöglicht
eine Schnittstelle definieren und mehrere Implementierungen haben.

A palavrapolis bedeutet viele, emorfos bedeutet Formen, dann, die


Das Wort Polymorphismus bedeutet, viele Formen zu haben, mit anderen Worten,
Wir können Polymorphismus als die Fähigkeit einer Nachricht definieren
ser exibida em mais de uma forma.
Schau dir ein weiteres Beispiel aus dem echten Leben des Polymorphismus an, eine Person, die

Zur gleichen Zeit kann unterschiedliche Eigenschaften haben. Wie ein Mann
Gleichzeitig kann er Vater, Ehemann, Angestellter sein. Daher die Mes-
Die Person verhält sich in verschiedenen Situationen anders.
innerhalb eines Computersystems.

60 Software Engineering
Und um abzuschließen, ein weiteres Beispiel, das Schachspiel bietet mehrere
Figuren, richtig? Um genauer zu sein, im modernen Schach jede Figur-
Gador wird über 16 Figuren verfügen, darunter acht Bauern, zwei Läufer, zwei Türme.

Valos, zwei Türme, ein König und eine Dame, wobei jedes Element
possui um movimento particular.

Der Bauer zum Beispiel zieht nach vorn, der Springer hingegen,
der Bischof sich diagonal bewegt und so weiter
Im Rahmen des Konzepts des Polymorphismus können wir bestätigen, dass to-
Es sind zwei Teile, jedoch mit unterschiedlichen Verschiebungsmethoden.

Wir können schließen, dass der Polymorphismus die Möglichkeit eröffnet, dass
Die Programmierer kümmern sich um die Allgemeinheiten, während sie lassen, dass

Die Laufzeitumgebung behandelt die Spezifitäten. Jetzt gehe weiter.


Wir werden das Konzept der Erbschaft erforschen.

3.6Vererbung
Video Vererbung ist eines der Hauptkonzepte der objektorientierten Programmierung, da es der Ort ist, an dem die Programm-

Eine Klasse kann von einer anderen Klasse ableiten, um eine Hierarchie von
Klassen, die eine Menge von Attributen und Methoden teilen.
Es ist möglich, verschiedene Arten von Ausnahmen zu deklarieren und Logik hinzuzufügen.

personalisiert an bestehende Strukturen und sogar ihren Modus abbilden


Das Domain für eine Datenbank.
Die Vererbung zielt darauf ab, die Arbeit der Programmierer zu optimieren, da sie es ermöglicht

möge die so sehr gesuchte Optimierung geschehen, indem man die Ingenieure lässt
Die Software erstellt Klassenhierarchien, in denen Klassen und Objekte erben.
geben Eigenschaften und Verhaltensweisen ihrer Elternklasse an.

Eine Klasse, die von einer Elternklasse erbt, wird als Unterklasse bezeichnet.

Klasse, Tochter, und die Objekte, die Eigenschaften und Verhalten erhalten
Objekte, die durch Vererbung von einem Elternteil stammen, werden als Kindobjekte bezeichnet.

Wie ist das nützlich?

Ein großes Unterscheidungsmerkmal der Vererbung ist die Möglichkeit der Wiederverwendbarkeit.

von bereits getesteten und validierten Verfahren. Lassen Sie uns als Beispiel verwenden

ein Zoo, der zwei oder mehr Arten jedes Tieres hat, ohne-
vor dem Hintergrund des Erhalts.

Objektorientierung 61
Angenommen, Sie werden eine Software für die Kontrolle entwickeln.
der Tiere, wäre es wahrscheinlich entscheidend, eine Klasse zu erstellen, die nennt

daanimal.
Denken Sie daran, dass es schnell eine einzigartige Klasse für jedes Tier erstellt.

Es würde sehr repetitiv werden, weil es einige Eigenschaften gibt


und Verhaltensweisen, die für jedes Tier gelten, von einem Papagei
bis zu einer Giraffe.

Die gemeinsamen Funktionen können füttern(), mit Wasser versorgen() enthalten.


limpar_ambiente(). Anstatt diese gemeinsam genutzten Attribute zu erstellen, re-
Für jedes Tier könnten wir eine übergeordnete Klasse Tier erstellen.
Diese Elternklasse würde die Eigenschaften und das Verhalten enthalten
universelle Regeln für alle Tiere und würden uns retten, die erschaffen zu müssen
diese gemeinsamen Funktionen. Es wurde deutlich, wie wichtig das ist
Erbkonzept?
Das heißt, Vererbung ist ein Weg innerhalb der Objektorientierten Programmierung.

Objekte, die es dem Ingenieur ermöglichen, Eigenschaften anderer zu nutzen


Klassen ohne die Notwendigkeit einer Neuprogrammierung.

Ein Kind erbt die Eigenschaften seiner Eltern, zum Beispiel.


Die Vererbung ermöglicht es uns, die Felder und Methoden der bestehenden Klasse wiederzuverwenden.

Vererbung erleichtert folglich die Wiederverwendung von Codes.


Innerhalb davon haben wir einige Arten von Erbschaften, die wir erkunden werden.

folgen (HASSAN, 2011).


Eindeutige Vererbung: Eine einzige Klasse stellt ihre Attribute bereit für eine

andere Klasse.

Abbildung 4
Einzigartige Erbschaft

Klasse A Klasse B

Quelle: Vom Autor erstellt.

Im Diagramm der Abbildung 4 liefert die Klasse A nur Attribute an die Klasse
B. A Class A é uma superclasse e a Class B é uma subclasse.

62 Softwaretechnik
Mehrfachvererbung: Es handelt sich um eine Vererbung, bei der eine Klasse erweitert wird.

mehrere Klassen.

Abbildung 5
Mehrfachvererbung

Klasse A Klasse B

Klasse C

Quelle: Vom Autor erstellt.

Gemäß dem Diagramm in Abbildung 5 erbt die Klasse C Attribute von


Klasse A und Klasse B.
Multilevel-Vererbung: Eine Klasse kann von einer abgeleiteten Klasse erben
Da. Daher wird die abgeleitete Klasse zur Basisklasse für die neue Klasse.

Abbildung 6
Mehrstufige Vererbung

Klasse A Klasse B Klasse C

Quelle: Vom Autor erstellt.

Wie im Diagramm der Abbildung 6 dargestellt, ist die Klasse C eine


Unterklasse von B, und B ist eine Unterklasse der Klasse A. Wobei die Klasse B
Die KlasseAgibtAttribute an die Klasse C weiter, und die Klasse C erbtAttribute von der KlasseAund ebenfalls

da Klasse B.

Hierarchisches Erbe: Eine Klasse erbt Attribute von vielen oder


Übergeordnete Klassen.

Objektorientierung 63
Buch
In dem Initiationswerk zu
Abbildung 7
Objektorientierung
ObjektorientierteProgrammierung:Lernen Hierarchisches Erbe
Ihre Konzepte und derenAnwendung
Fähigkeiten effektiv zu entwickeln,
Sie werden anfangen zu
Lesen mit einer kurzen Geschichte Klasse A
Rico zum Thema Kennenlernen
der Beginn dieses Konzepts
was in Norwegen entstand
Vertiefung der Konzepte
ÜberWiederverwendung,KohäsionundKopplung

mento. Seine Definitionen von


Klasse, Attribut, Methode und Klasse B Klasse C Klasse D
objeto são bastante claras
e objektiv, Ihnen zu helfen
sich in einem as- vertiefen
Es ist jedoch so, dass manchmal Quelle: Vom Autor erstellt.
es scheint komplizierter zu sein
woraus es besteht. DasWerk schließt ab In der hierarchischen Vererbung, wie im Diagramm der Abbildung gezeigt
mit guten Praktiken im Gebrauch
der objektorientierten Programmierung
7, eine Klasse C, B und D erben Attribute der Superklasse A.
Aufmerksamkeit lenken auf
Mit diesen Strukturen kann der Programmierer zwischen dem Besten wählen.
herança, polimorfismo, en-
Kapselung und Abstraktion Option zum Entwickeln Ihrer objektorientierten Modelle, immer
und wie sie sein können Auf der Suche nach Effizienz, Effektivität in ihren Codes.
nützlich für die Entwicklung
von effizienten Systemen. Innerhalb der Ressourcen der objektorientierten Programmierung ist es wichtig, die hervorzuheben

CARVALHO, T. L. São Paulo: Casa do


Generalisierung und Spezialisierung. Sie stellen eine Hierarchie dar.
Código, 2016. von Beziehungen zwischen Klassen, in denen die Unterklassen erben von
Oberklassen.

ABSCHLUSS
In diesem Kapitel war es möglich zu verstehen, wie die Prinzipien der Obje-
TOS, Kapselung, Vererbung und Polymorphismus sind die Grundlagen für das Entwerfen.
Entwicklung von objektorientierten Systemen.
Um zu verstehen und auszudrücken, was die wesentlichen und interessanten Ressourcen sind
von einer Anwendung in der komplexen realen Welt, ein modellorientierter Ansatz
Jetos ist um diese herum gebaut. Ein Objekt kapselt Daten und mit-
Portamentos, was impliziert, dass die Analysten den Ansatz verwenden können
objektorientiert für Datenmodellierung und Prozessmodellierung.
Wir haben auch gesehen, dass spezifische Objekte in einem System erben können.

Eigenschaften der globalen Instanz eines Objekts. Zum Beispiel viele ti-
Objekte können einen Namen und ein Erstellungsdatum haben.
Spezifische Objekte können diese globalen Eigenschaften erben.
Objekte, die nur globale Merkmale enthalten und erben können
Eigenschaften von mehr als einem Elternobjekt. Die Vererbung versucht, die Definition zu vermeiden.

64 Softwaretechnik
redundante von ähnlichen Merkmalen, die integriert werden können
auf höheren Ebenen des Systems.
Ein wichtiges angesprochenes Konzept war das Polymorphismus, die Funktionalität
de konzeptionell ähnlich zwischen verschiedenen Objekten, wird extrahiert in
auf globaler Ebene.

Esse processo limita a produção de funcionalidade paralela e agiliza


eine Informationsschnittstelle. Der Polymorphismus leitet den Redakteur der Es-
Spezifikation, um die Funktionalität eines Prozesses zu verstehen und ihn zu machen
verfügbar für jedes Objekt, das eine ähnliche Instanz erfordert
von Funktionalität.
Und so haben wir bessere Praktiken für die Analyse und das De-
Entwicklung von Computersystemen, immer mit dem Ziel, nicht nur zu achten auf
der an den Bedürfnissen der Benutzer orientiert ist, und sie vielmehr in kürzerer Zeit überraschen

mit minimalen Kosten.

AKTIVITÄTEN
Aktivität 1
Sie wurden gebeten, ein Ingenieurteam zu überzeugen
softwares que a orientação a objetos é muito mais adequada para
der aktuelle Moment im Vergleich zu den alten Maßstäben
de Analyse und Entwicklung von Software. Für diese Mission benötigen Sie
Sie sollten ein Diagramm erstellen, das die Vorteile vergleicht und hervorhebt.
zwischen der objektorientierten Programmierung und den traditionellen Methoden.

Aktivität 2
Folgen Sie den gesehenen Beispielen und wählen Sie drei weitere aus, die Sie weiterentwickeln.

Klassen von Objekten mit mindestens drei Attributen und drei Methoden
para um sistema de supermercado.

REFERÊNCIAS
HASSAN, G.Software modeling and design: UML, use cases, patterns, and software
Architekturen. Cambridge: Cambridge University Press, 2011.
HIRAMA, K. Software-Engineering: Qualität und Produktivität mit Technologie. Rio de
Janeiro: Elsevier, 2011.
PRESSMAN, R. S. Softwaretechnik: ein professioneller Ansatz. 8. Aufl. Porto Alegre:
AMGH, 2016.
SOMMERVILLE, I. Softwaretechnik. 9. Aufl. São Paulo: Pearson Education, 2011.
WAZLAWICK, R. S. Softwaretechnik: Konzepte und Praktiken. São Paulo: GEN LTC, 2019.

Objektorientierte Programmierung 65
4
UML – Vereinheitlichte Modellierung
Language
Lernziele

Mit dem Studium dieses Kapitels werden Sie in der Lage sein,:

• Verstehen von Konzepten der Unified Modeling Language (UML);


• grafische Notationen für Softwaretechnik entwickeln;
• praktische Aktivitäten von Anwendungsfalldiagrammen erkunden;
• verstehen und umsetzen der UML-Diagramme, die der Tag sind
Aktivitätsdiagramm, Klassendiagramm, Objektdiagramm und
Sequenzdiagramm.

Die Softwareentwicklung ist eine komplexe Tätigkeit und, wie solch,


wenn es keinen gemeinsamen Standard für Kommunikation und Interpretation gibt

Das beteiligte Team hat Probleme.

Damit ein Softwareprojekt ohne Schäden entwickelt werden kann und


Es sollte einfach sein, es in der Zukunft aufrechtzuerhalten, die Beteiligten müssen dasselbe interpretieren.

Sprache. Wie wir gesehen haben, folgen wir, um Software zu entwickeln,


einige Schritte, die von der Softwaretechnik angegeben werden; bereits für die Aufgabe
Um Systeme zu dokumentieren, haben wir die Unified Modeling Language.
von Englisch Unified Modeling Language (UML).

Diese grafische Sprache beschreibt die Entwicklung von Diagrammen


illustrierend für die Entwicklung objektorientierter Software,
Effizienz und Zielgenauigkeit im Prozess zuzuordnen (HIRAMA, 2011).

4.1UML
Video
UML ist, wie sie auf dem Markt bekannt ist, die Unified Modeling Language

– ou, auf Deutsch, Einheitliche Modellierungssprache. Es handelt sich um


eine standardisierte und grafische Form zur Veranschaulichung von Systemen.

66 Softwaretechnik
UML besteht aus einer Reihe von Diagrammen, die erstellt wurden,
im Laufe der Zeit, von Fachleuten der Technologie, die nach einem speziellen suchen
Spezialisierung, Visualisierung, Konstruktion und Dokumentation von Teilen oder Systemen

vollständiger (HASSAN, 2011). Diese Sammlung von Best Practices in


Softwaretechnik präsentiert einen Schritt-für-Schritt-Ansatz, damit Ingenieure
Nutzer von Software und alle Beteiligten können auf diese Weise dialogisieren
effizient beim Bau der Projekte.

Die visuelle Sprache ist ein sehr wichtiger Teil der Entwicklung.
Softwareentwicklung, die auf Objekten basiert, und ebenfalls der Prozess von

Softwareentwicklung. UML verwendet hauptsächlich Notationen


Grafiken zur Ausdruck des Designs von Softwareprojekten. Ihre Verwendung hilft
da as equipes de projeto a se comunicarem, a explorarem projetos po-
potenziellen und die Architektur des Softwareprojekts zu validieren.

Im Jahr 1994 führte der Softwareingenieur Jim Rumbaugh, einer von


Idealizierer der Object Modeling Technique (OMT) – Technik der Modellierung
Die Abräumung von Objekten aus der Zeit – machte einen großen Schritt in der Karriere,
den Job bei General Electric zu kündigen und sich mit einem anderen Ingenieur zusammenzuschließen

nheiro, Grady Booch, von Rational Corp, für die Entwicklung des Mé-
todo unificado, que deu origem à UML atual (PRESSMAN, 2016).
MitzunehmendemstrategischenWertvonSoftwarefürvieleUnternehmen...
DieIndustriesuchtMethoden,umdieSoftwareproduktionzuautomatisieren,
dieQualitätverbessernunddieKostensowiedieZeitfürdieMarkteinführungsenken.

Darüber hinaus ist die Entwicklung für das World Wide Web (WWW), das ist
Das Internet, obwohl es einige Dinge einfacher macht, hat diese verschärft.
Architekturprobleme. UML wurde entwickelt, um darauf zu reagieren.
Bedürfnisse, das heißt, sie (PRESSMAN, 2016):
• liefert den Interessierten im Prozess eine modische Sprache
visuell effizient und einsatzbereit, mit dem Ziel
zu entwickeln und Modelle zu sozialieren;
•stellt visuelle Hilfsmittel zur Demonstration der Entwicklung bereit
von Software, die grundlegenden Konzepte erkundend;
• ist unabhängig von bestimmten Programmiersprachen und
Entwicklungsprozesse;
•bietet eine formale Grundlage für das Verständnis der Sprache
die Modellierung;

•fördert das Wachstum des Marktes für aufgerichtete Werkzeuge


Objektorientierung

UML – Einheitliche Modellierungssprache 67


• unterstützt Konzepte der Makroentwicklung, wie Zusammenarbeit
Aktionen, Strukturen, Muster und Komponenten;
integra die besten Praktiken.

Als Nächstes werden wir Ihre verschiedenen Diagramme erkunden, die darstellen
die Software und ihre Projekte für alle Interessierten, vom Benutzer
der Präsident des Unternehmens bis zu den Ingenieuren, den Programmierern und den

Systemanalytiker.

4.2 Die Diagramme der UML


Videoclip In einer Softwareentwicklung haben wir viele Teile.
Ressourcen, die teilnehmen, wie: Analysten, Designer, Programmierer,
Tester, Benutzer, Kunden, technische Autoren unter anderem.

Alle diese Menschen sind an verschiedenen Aspekten des


System, und jeder von ihnen erfordert ein anderes Maß an Detailliertheit. Für
Beispiel, ein Programmierer muss das Design des Systems verstehen und sein
fähig, dieses Design in einen Quellcode umzuwandeln (PRESSMAN, 2016).
Auf der anderen Seite, wenn ein technischer Redakteur an der Verhalten interessiert ist

Mentor des Systems als Ganzes muss verstehen, wie das Produkt
funciona. Assim, a UML tenta fornecer uma linguagem bem expressiva,
so dass alle Interessierten davon profitieren können, zumindest.
nos um Diagrama.

UML besteht aus verschiedenen Diagrammtypen, die die


Projekte mit verschiedenen Perspektiven. Danach werden wir die folgenden kennenlernen-

tes Diagramas:
Aktivitätsdiagramm;
Klassendiagramm
•diagrama de objetos;
Sequenzdiagramm.

4.3Diagrama de atividades
Video
Aktivitätsdiagramme werden verwendet, um darzustellen-
Grafiken, die dieArbeitsabläufe undAktivitäten der Teilnehmer veranschaulichen.
Elemente des Systems, mit Unterstützung fürAuswahl, Interaktion und Simultaneität.

68 Softwaretechnik
Er beschreibt den Kontrollfluss des Zielsystems, wie das
Erforschung von Regeln und komplexen Geschäftsoperationen, beschreiben
Ich verkaufe den Anwendungsfall und auch den Geschäftsprozess.

In UML haben Aktivitätsdiagramme das Ziel, zu modellieren


Rechen- und Organisationsprozesse, das heißt, die Abläufe von
Arbeiten (HASSAN, 2011). Diese Diagramme beschreiben, wie die Aktivitäten...
Daten sind Koordinaten, um einen Dienst bereitzustellen, der möglicherweise vorhanden ist.

verschiedene Abstraktionsniveaus.
Normalerweise muss ein Ereignis durch einige Operationen erreicht werden.
Aktionen, insbesondere wenn die Operation darauf abzielt, eine Reihe zu erreichen
de coisas diferentes que requer coordenação. Ainda, como os eventos
In einem einzigen Anwendungsfall stehen sie miteinander in Beziehung, insbesondere gibt es Fälle

de uso em que atividades podem se sobrepor e exigir coordenação.


Dieses Diagramm eignet sich auch dafür, eine Sammlung zu modellieren.
Die Verwendung von Anwendungsfällen wird koordiniert, um Arbeitsabläufe darzustellen.

Geschäfte. Um das Verständnis zu veranschaulichen, nehmen wir einige Beispiele.

Das erste Beispiel ist der Prozess, einen Text in einem


Texteditor-Software; es ist ein einfacher Fall, den wir alle machen.
mos automatisch, aber wir werden die Herausforderung annehmen, zu modellieren

diesen Prozess.
Im Folgenden sind die Aktivitäten aufgeführt, die wir ausführen, um
einen Text entwickeln (WAZLAWICK, 2019):
1. Öffnen Sie die Textverarbeitungssoftware;
2.erstelle eine Datei;
3.Speichern Sie die Datei unter einem eindeutigen Namen in Ihrem Verzeichnis;
4.bitte das Dokument eingeben;
5.Wenn Diagramme erforderlich sind, öffnen Sie das Diagrammpaket, erstellen Sie die
Grafiken und fügen Sie sie in das Dokument ein;

6.Falls eine Tabelle erforderlich ist, öffnen Sie das Paket der Tabelle, erstellen Sie die
Tabelle und füge sie in das Dokument ein;

7.speichere die Datei;


8.Drucken Sie eine gedruckte Kopie des Dokuments aus;
9.Verlassen Sie das Textverarbeitungsprogramm.

Mit der Fähigkeit dieser neun Aktivitäten gehen wir zur Entwicklung des
Aktivitätsdiagramm.

UML – Vereinheitlichte Modellierungssprache 69


Abbildung 1
Aktivitätsdiagramm: einen Text erstellen

Öffnen Sie die Software von Speichern Sie die Datei mit
Verarbeitung von Erstelle eine Datei ein einzigartiger Name Digite o documento
Text in Ihrem Verzeichnis

Falls Grafiken erforderlich sind

Öffnen Sie das Grafikpaket,


Erstelle die Grafiken und füge sie ein.

kein Dokument

Öffne das Paket mit der Tabelle,


Erstelle die Tabelle und füge sie ein

Dokument
Wenn Tabellenkalkulationen erforderlich sind

Steh aus dem Paket von Drucken Sie eine


Verarbeitung von gedruckte Kopie von Speichern Sie die Datei
Text Dokument

Quelle: Vom Autor erstellt.

4.4 Klassendiagramm
Video O diagrama de classes é uma ferramenta que auxilia na modela-
gem von allen Methoden der objektorientierten Programmierung. Es treibt die
Beschreibung der Objekttypen in den Projekten und die entsprechenden Typen von
Beziehungen, die zwischen diesen Objekten existieren. Es gibt drei Arten von Re-
Wesentliche Beziehungen, nämlich (WAZLAWICK, 2019):
Vereinigungrepräsentiert Beziehungen zwischen Instanzen von
Typen – eine Person arbeitet für ein Unternehmen, und ein Unternehmen
verfügt über mehrere Büros.
2.Vererbung: tritt auf, wenn Entitäten Attribute und Methoden erben
von anderen Entitäten; hilft sehr bei der Optimierung von Codes.
3.AgregationEs ist eine Art der Zusammensetzung von Objekten im Design
objektorientiert.

70 Engenharia de Software
Das Klassendiagramm hat einige spezifische Ziele:
•die statische Struktur der Klassifikatoren in einem System zeigen;
•eine grundlegende Notation für andere Strukturdiagramme bereitstellen
ra, verschrieben von der UML;

•nützlich für Entwickler und andere Teammitglieder sein;


•von Business-Analysten verwendet, um Systeme zu modellieren
por meio de uma perspectiva de negócios.

Für die Entwicklung der Klassendiagramme ist es notwendig, zu folgen


eine spezifische Notation, die von allen verstanden werden kann
involviert und weltweit standardisiert:

• Name der Klasse: erscheint in der ersten Partition.

• Klassenattribute: werden im zweiten Bereich angezeigt.


• Klassenoperationen (Methoden): werden im dritten Abschnitt angezeigt, nämlich
verstanden als Dienstleistungen, die die Klasse anbietet.

Veja, na Figura 2, como deve ser usada a notação para classes


von Objekt.

Abbildung 2
Objektklasse
Nome da classe
Attribut der Klasse
Methoden der Klasse

Quelle: Vom Autor erstellt.


Um das klarer zu machen, verwenden wir ein einfaches Beispiel, indem wir daran denken.

in einem System, das Schüler verwalten wird, die einer Klasse zugeordnet sind, mit
Hervorragende Lehrer zur Durchführung von Unterricht.

Abbildung 3
Klassen-Diagramm: Klassenräume
Klasse

codigo: Texto
ist-immatrikuliert-in sala: Texto e-verwaltet von
horario: Horario

istOffen()
definiereProfessor(professor)
Aluno einschließenStudent(student) Professor

nome: Texto nome: Texto


matricula: Inteiro titulacao: Texto

definirName(name) definiereName(name)
obterName() obterNome()
definirNome() definirTitulacao(titel)
definierenMatricula(matricula) obterTitulacao
obterMatricula

Quelle: Vom Autor erstellt.

UML – Einheitliche Modellierungssprache 71


Lassen Sie uns einige Merkmale des dargestellten Diagramms hervorheben.

Die Klasse Aluno hat als Attribute: "nome", als Text; und
"Matrícula", als ganze Zahl. Außerdem hat es folgende Methoden:
definirName, ObterName, definirMatrícula und obterMatrícula – alle
sie beziehen sich auf die Klasse Aluno.

Das Gleiche gilt für die Klassen Turma und Professor; zwischen ihnen, te-
einfache Beziehungen, in denen ein Schüler eingeschrieben ist in
Eine Klasse wird von Lehrern unterrichtet.
Im nächsten Beispiel verwenden wir die sogenannten Kardinalitäten, in den

Welche Mengen in den Beziehungen angegeben werden können. Lass uns gehen
Hypothetisch ein System für eine Krippe entwickeln.

Abbildung 4
Klassendiagramm: Kinderkrippe
Eine Person kann ein Baby sein,
ein Arzt oder eine Mutter

Person

Nome
Data de nascimento

Arzt Bebe Mae


Mach einen Ausbruch besitzt eine
CRM Nachname
Adresse Endereco
Mobiltelefone 1 0..* 0..* 1 Telefone

0..*

Ingere

0..*

Medikament Medikamentation

Descricao Quantidade
Menge auf Lager Daten
UnidadeMedida Stunde
Quelle: Vom Autor erstellt.

In diesem Beispiel kann ein Arzt die Geburt von null bis
unendliche Babys, mit der Notation „0...*“, während ein Baby ausschließen wird
1 Arzt verantwortlich für die Geburt.
Lass uns eine weitere Illustration verwenden, um das Verständnis zu klären: eine

Die Klasse Mae kann null bis unendlich viele Babys haben, und ein Baby hat
ausschließlich eine Mutter. Eine Klasse Bebe kann von null bis infinity haben.
zwei Medikamente, und ein Medikament kann von null bis
unendliche Babys.

72 Softwaretechnik
Das Klassendiagramm ist ein statisches Modell, das verwendet wird, um zu veranschaulichen,

Mit einer statischen Sichtweise funktioniert ein zu entwerfendes System


Dieses Art von Diagramm ist auch für die Kodierer unerlässlich.
implementieren Sie Ihren Code.

Einige Punkte sollten beim Zeichnen eines Diagramms beachtet werden


Klasse, nämlich (WAZLAWICK, 2019):
• Der Name des Klassendiagramms muss bedeutungsvoll sein.
das Erscheinungsbild des Systems zeigen;

•Jedes Element und seine Beziehungen müssen zusammen mit den


Nutzer im Voraus;
Die Eigenschaften und Methoden jeder Klasse müssen klar definiert sein.

identifiziert
Die wesentlichen Eigenschaften müssen für jede angegeben werden.
Klasse, ohne die Unnötigen zu berücksichtigen;
Die Notizen können nach Belieben verwendet werden, um zu beschreiben und zu informieren.

an die Interessierten über die Besonderheiten des Systems.


Bevor Sie abschließen, machen Sie die notwendigen Überprüfungen. Machen Sie sich keine Sorgen um

Die endgültige Version erreichen, denn nachdem die Kodierungen begonnen haben, die
Kosten steigen.

4.5Objektdiagramm
Video Ein Objektdiagramm ist eine grafische Darstellung einer Software,
in dem die Beziehungen zwischen den Objekten demonstriert werden können,
mit ihren jeweiligen Werten und Instanziierung. Mit dem Diagramm von
Objekt, man kann eine statische und momentane Sicht auf die Funktion übergeben.
Namentliche Systementwicklung.
Einige Fachleute könnten es schwierig finden, den Unterschied zu verstehen zwischen

ein UML-Klassendiagramm und ein UML-Objektdiagramm, da


beide bestehen aus benannten „rechteckigen Blöcken“, mit Atrien-
aber Beziehungen und Verbindungen zwischen ihnen, die dazu führen, dass die beiden UML-Diagramme

scheinen ähnlich.

Darüber hinaus denken manche Leute vielleicht, dass sie gleich sind,
Warum verwenden sie in dem UML-Tool die Notationen für das Diagramm von
Klassen und Objekt-Diagramme, die innerhalb desselben platziert sind
editor de diagramas – diagrama de classes.

UML – Unified Modeling Language 73


Das Objekt ist eine Instanz einer Klasse, in einem bestimmten Mo-
mento zur Laufzeit, das seinen eigenen Zustand und Werte haben kann
von Daten. Ebenso ein Objektdiagramm, innerhalb der Konzepte
Da UML kann als eine statische Instanziierung der Software betrachtet werden.

Das Objektdiagramm zeigt einen Snapshot des detaillierten Zustands


eines Systems zu einem bestimmten Zeitpunkt; daher handelt es sich um diese Art von Diagramm-

ma umfasst Objekte und ihre Beziehungen, die berücksichtigt werden können


rados ein Sonderfall eines Klassendiagramms oder eines Diagramms
der Kommunikation (HASSAN, 2011).

Die Verwendung von Objektdiagrammen ist begrenzt, hauptsächlich für


Beispiele für Datenstrukturen anzeigen.
Während der Analysephase eines Projekts kann der Ingenieur erstellen
ein Klassendiagramm zur Beschreibung der Struktur eines Systems und,
em seguida, criar um conjunto de diagramas de objetos, como teste
um die Genauigkeit und Integrität des Klassendiagramms zu überprüfen.

Bevor ein Fachmann ein Klassendiagramm erstellt, kann er ein


Objektdiagramm, um Fakten über Elemente des Modus zu entdecken
die spezifischen und ihre Links oder um spezifische Beispiele zu veranschaulichen
Klassifizierer, die notwendig sind.

Ein Objektdiagramm zeigt diese Beziehung zwischen den Klassen.


instanziiert und die Klasse definiert, sowie die Beziehung zwischen diesen Obje-
tos im System. Es ist nützlich, um kleinere Teile Ihres Systems zu erklären,
wenn das Klassendiagramm sehr komplex ist und auch manchmal
para modelar relacionamentos recursivos no diagrama.

A seguir, destacamos alguns aspectos importantes do diagrama


de objeto:
• erstellt statische Strukturillustrationen der Instanzen und Objekte
Software erstellen;

•verwendet eine Notation, die der in den ... verwendeten Notation ähnelt
Klassendiagramme;
•zeigt effizient die Beziehungen zwischen den Klassen
innerhalb des Systems;

•ilustra as instâncias e os respectivos links entre elas de


statische Weise;
•kann vom Ingenieur erstellt werden, indem die Klassifikatoren instanziiert werden.
In Klassendiagrammen, Implementierungsdiagrammen, Komponentendiagrammen und Anwendungsfalldiagrammen.

74 Softwaretechnik
Damit können wir schließen, dass mit dem Objektdiagramm,
Es ist möglich, allen Interessierten die Objekte mit ihren
entsprechenden Beziehungen, für das reibungslose Funktionieren des Systems
zu entwickeln.

4.6Sequenzdiagramm
Video
Das Sequenzdiagramm modelliert die Zusammenarbeit von Objekten, mit
basierend auf einer Zeitfolge. So zeigt es, wie die Objekte
interagieren miteinander in einem bestimmten Szenario eines Falls von
uso. Mit der fortschrittlichen visuellen Modellierungsfähigkeit kann der Ingenieur

Sie können komplexe Sequenzdiagramme mit wenigen Klicks erstellen.

Logo, die UML-Sequenzdiagramme sind Interaktionsdiagramme.


die detaillieren, wie die Operationen durchgeführt werden. Sie erfassen die Inte-
Interaktion zwischen Objekten im Kontext einer Zusammenarbeit.

Dieser Diagrammtyp ist zeitbasiert und zeigt die Reihenfolge der


visuelle Ration, wobei die vertikale Achse des Diagramms verwendet wird, um darzustellen

die Zeit, zu der die Nachrichten gesendet werden und wann.

Die Sequenzdiagramme erfassen (WAZLAWICK, 2019):


Die Interaktion, die in einer Zusammenarbeit erfolgt, die einen Fall durchführt
de Nutzung oder einen Betrieb;

•die hochgradigen Interaktionen zwischen dem Benutzer des Systems und dem System,
e zwischen dem System und anderen Systemen.

Diese Diagramme haben das Ziel, zu modellieren:


•a interação de alto nível entre objetos ativos em um sistema;
• die Interaktion zwischen Objektinstanzen in einer Zusammenarbeit, die
erstellt einen Anwendungsfall;

• die Interaktion zwischen Objekten in einer Zusammenarbeit, die realisiert

uma operação;
•sowohl als auch die generischen Interaktionen des Modells, die alle zeigen

mögliche Wege durch die Interaktion, hinsichtlich der Instanzen


spezifisch für eine Interaktion, die nur einen Weg zeigt
durch Interaktion.

UML – Vereinheitlichte Modellierungssprache 75


Die Sequenzdiagramme zeigen die Elemente, wie sie
interagieren im Laufe der Zeit und sind nach dem Objekt organisiert
zu (horizontal) und die Zeit (vertikal).

Im Sequenzdiagramm zeigt die horizontale Achse die Elemente


die an der Interaktion beteiligt sind. Konventionell sind diese Objekte
Die Beteiligten sind von links nach rechts aufgeführt, gemäß dem
Moment, in dem sie an der Nachrichtenfolge teilnehmen. Allerdings
Die Elemente auf der horizontalen Achse können in beliebiger Reihenfolge erscheinen.

(HIRAMA, 2011).
Die vertikale Achse repräsentiert die Zeitprozesse (oder den Fortschritt)
im Verlauf der Seite. Die Zeit in einem Sequenzdiagramm hat alles
eine Sicht mit Sortierung und nicht mit Dauer. Der vertikale Raum in einem
Das Interaktionsdiagramm ist für die Dauer der Interaktion nicht relevant.

Notation des Sequenzdiagramms

Für das Sequenzdiagramm haben wir die folgenden Komponenten:


Ator

Der Schauspieler ist dafür bekannt, eine bestimmte Rolle zu spielen. Abbildung 5
innerhalb des Systems, das heißt, hat eine Protagonistenrolle in der Software, Ator
Empfangen und Einfügen von Daten. Demonstriert menschliches Handeln im
Prozess.
Menschen, Unternehmen und andere Systeme können als betrachtet werden
Akteure, das heißt, alles, was irgendwie mit dem interagiert
Software, einfügen, ändern, löschen, abfragen oder empfangen Quelle: Vom Autor erstellt.
von Informationen.

Abbildung 6
Zeitleiste

Lebenslinie
Lebenslinie

Eine Lebenslinie repräsentiert einen einzelnen Teilnehmer in


Interaktion.

Quelle: Vom Autor erstellt.

76 Softwaretechnik
Abbildung 7
Aktivierungen Aktivierungen

Ein dünnes Rechteck in einer Lebenslinie repräsentiert den Zeitraum Lebenslinie

während dessen ein Element eine Operation ausführt. Die


Die obere und untere Seite des Rechtecks sind ausgerichtet mit dem
Zeit der Einleitung und des Abschlusses, respektive.

Quelle: Vom Autor erstellt.


Abbildung 8
•Aufrufnachricht
Mensagem de chamada

1: message Eine Nachricht definiert eine besondere Kommunikation zwischen Zeilen von
Leben einer Interaktion.

Die Anrufnachricht ist eine Art von Nachricht, die darstellt


einen Einsatzruf der Ziel-Lebenslinie.
Quelle: Vom Autor erstellt.

•Antwortnachricht
Abbildung 9
Die Rückmeldung ist eine Art Nachricht, die tadelt- Rückmeldung
sende die Informationsübertragung zurück zum Aufrufer von
1.1:
eine vorherige entsprechende Nachricht.

Quelle: Vom Autor erstellt.

Automatische Nachricht
Abbildung 10
Automatische Nachricht
Die eigene Nachricht ist eine Art Nachricht, die repräsentiert die
Invokation der Nachricht derselben Lebenslinie.
1: message

Quelle: Vom Autor erstellt.

•Rekursivnachricht

Eine rekursive Nachricht ist eine Art von Nachricht, die repräsentiert. Abbildung 11
Autorekursiv
Einspruch von Nachricht derselben Lebenslinie. Ihr Ziel weist auf
eine Aktivierung über der Aktivierung, von wo die Nachricht aufgerufen wurde.
1: message

Fonte: Elaborada pelo autor.

UML – Unified Modeling Language 77


Nachricht erstellen
Figura 12
Nachricht erstellen
Eine Nachricht erstellen ist eine Art von Nachricht, die darstellt die
1: message
LebenLinie2
Instanziierung der Lebenslinie (Ziel).

Quelle: Vom Autor erstellt.

•Botschaft der Zerstörung Abbildung 13


Botschaft der Zerstörung
Eine Zerstörungsbotschaft ist eine Art von Nachricht, die darstellt
die Anfrage zur Zerstörung des Lebenszyklus der Ziel-Lebenslinie. 1: message

Quelle: Vom Autor erstellt.

Abbildung 14 •Nachrichtendauer
Dauer-Nachricht
Die Daueranzeige zeigt den Abstand zwischen zwei Zeitpunkten an.
1: message
tempo para uma chamada de mensagem.

Quelle: Vom Autor erstellt.

•Beobachtung Abbildung 15
Bemerkung
Eine Notiz (Kommentar) ermöglicht es, mehrere Anmerkungen anzuhängen.
mentos. Ein Kommentar trägt keine semantische Kraft.
kann Informationen enthalten, die für einen Modellierer nützlich sind.
Quelle: Vom Autor erstellt.
Im Folgenden finden Sie ein generisches Beispiel für ein Sequenzdiagramm.

Abbildung 16
Generisches Sequenzdiagramm

objeto 1:
objekt2 :nome da classe
Klassenname
Nome ator:
Schauspielerklasse

1: evento
2: operation 3: operation (parameterliste)

4: operation (Liste von Parametern)

Quelle: Vom Autor erstellt.


78 Software Engineering
Als Nächstes präsentieren wir ein weiteres Beispiel. In diesem Fall bringen wir Buch
Im Buch UML 2: ein
das Sequenzdiagramm für einen generischen Registrierungsprozess
praktischer Ansatz
de Schülern. Die Abbildung zeigt den Schüler als Darsteller, der derjenige ist, der innehat du wirst erkunden können
die Informationen, die in das System eingegeben werden. verschiedene Fallstudien
modelliert und demonstriert

Es ist möglich zu beobachten, dass wir vier identifizierte Zeitlinien haben. dos mit Beispielen
praktisch, mit den verschiedenen
Schnittstelle des Systems mit dem Akteur; dann die Schnittstelle des Systems Diagramme, die studieren
Mos in diesem Kapitel.
mit der Datenbank und dann der Datenbank selbst.
Neben den Beispielen, die
Um die Zeitlinien zu verbinden, wurden die Austauschmöglichkeiten eingefügt. Das Werk präsentiert Übungen
damit die Leser
dos, wie "beinhaltet die Stammdaten des Schülers", "Validierung der Felder
Ich kann das Wissen bewerten
eingefügt" und andere, die zeigen, wie die Daten sozialisiert werden aufgenommene Zemente
während des Lesens. Es ist indi-
zwischen den Zeitlinien.
cado für Fachleute
Anfänger und Erfahrene
Abbildung 17
ein großartiges Buch über
Sequenzdiagramm: Registrierung von Studenten Kopfteile für die Enge-
nheiros von Software.
GUEDES, G. T. A. São Paulo: Novatec,
Systemschnittstelle Systemschnittstelle
Schüler mit dem Schauspieler mit der Datenbank
Datenbank 2018.

Zugang zur Bank von


Enthält Registrierungsdaten Validierung der Felder
des Schülers Daten für die Aufnahme
eingefügt
die Würfel

Fehlermeldung oder von Fehlermeldung oder von Fehlermeldung oder von


Bereits registrierter Schüler Schüler bereits registriert schon registrierter Schüler

Aufzeichnung der Daten


Korrektur der Daten Korrektur der Felder
korrigiert

Abschlussnachricht Abschlussnachricht Abschlussnachricht


des Prozesses des Prozesses des Prozesses

Quelle: Vom Autor erstellt.

FAZIT
In diesem Kapitel war es möglich zu verstehen, wie UML-Diagramme sind
essenziell für den Bau einer Software. Sie müssen verwendet werden
Die Softwareingenieure, bevor sie mit dem Codieren beginnen; außerdem die
UML-Diagramme können allen helfen, auf derselben Seite zu sein.
Das Verständnis des Systems, das sie versuchen zu schaffen, ermöglicht es
Die Entwickler delegieren Arbeit, identifizieren Probleme in po-

UML – Einheitliche Modellierungssprache 79


tencial antes des Beginns dieser Arbeit und arbeiten Sie effizient, zum Wohle
einem gemeinsamen Ziel.
Es war auch möglich, die Bedeutung der UML nach der ... zu verstehen.
Codierung der Software. Nachdem der Code geschrieben wurde, ein UML-Diagramm
kann den Entwicklern helfen, die getroffenen Entscheidungen und die
Entwickelte Strukturen für das Projekt. Diese Informationen helfen bei der
Teams auf der Suche nach Verbesserungen im Projekt für die Zukunft.

AKTIVITÄTEN
Aktivität 1
Innerhalb des UML-Ökosystems haben wir mehrere Diagramme, die
Wir arbeiten umfassend an der Entwicklung von Software.
In diesem Sinne sollten Sie sich als Softwareingenieur betrachten.
von einem großen Unternehmen und ein Dokument erstellen von
maximal zwei Seiten, die die Unterschiede zusammenfassend veranschaulichen
Unterschiede zwischen den folgenden Diagrammen:

a) Aktivitätsdiagramm
b) Klassendiagramm
c) Objektdiagramm
d) Sequenzdiagramm

Aktivität 2
In dieser Aktivität besteht die Mission darin, die Figur dieses Buches zu verstehen.

chamadaDiagrama de atividades: elaborando um texto, dentro da


Abschnitt 4.3, und ihn umgestalten, um einem Anmeldeprozess zu entsprechen
in einer gewöhnlichen App, wie Facebook oder Instagram.
Imagine o passo a passo que você executa para acessar sua rede
Soziale Präferenz. Dazu können Sie jede Software verwenden.
dass es einfacher ist, einen Bleistift und ein Blatt Papier zu nehmen und
lass deiner Kreativität freien Lauf.

REFERÊNCIAS
HASSAN, G. Softwaremodellierung und -design: UML, Anwendungsfälle, Muster und Software
Architekturen. Cambridge: Cambridge University Press, 2011.
HIRAMA, K. Ingenieurwesen: Qualität und Produktivität mit Technologie. Rio de
Janeiro: Elsevier, 2011.
PRESSMAN, R. S. Softwaretechnik: ein professioneller Ansatz. 8. Aufl. Porto Alegre:
AMGH, 2016.
{"book_title":"Software-Engineering: Konzepte und Praktiken","location":"São Paulo","publisher":"GEN LTC","year":"2019"}

80 Software Engineering
5
Anwendungsfall-Diagramm
Lernziele
Am Ende des Studiums dieses Kapitels werden Sie in der Lage sein zu:

• implementar diagramas de caso de uso;


• Skizzieren und Interpretieren des Konzepts der Elemente des Modells von
Anwendungsfall;

• Interpretieren und Nutzen von Szenarien und Akteuren;

• Beziehungen, Assoziationen und Verallgemeinerungen herstellen.

Das Anwendungsfalldiagramm ist eines der wichtigsten Werkzeuge für das


Software-Ingenieur, und mit ihr ist es möglich, alle Interessen zu bringen
zwei für denselben Punkt des Verständnisses des Computersystems
nal, das entwickelt werden wird.

DasAnwendungsfalldiagrammhatdieEigenschaft,dieesvondenanderenunterscheidet.

Diagramme: Er kann von allen Beteiligten verstanden werden, von


Menschen ohne technische Kenntnisse bis hin zu erfahrenen Entwicklern.

Wir können sagen, dass dieses Diagramm ein Protokoll von Co-
Abbildung 1 perfekte Kommunikation zwischen den Gesprächspartnern
Modell eines Anwendungsfalls
res; damit die Effizienz im Bau
Die Software erhöht sich signifikant.
Notwendigkeit
Das Anwendungsfallmodell umfasst
zum Kunden
drei Ziele: den Bedarf beschreiben
vom Kunden, das Fundament des Systems festlegen
einzusetzen und einen Kon-
eine Reihe von Anforderungen, die erfüllt sein können
Modell von
Anwendungsfall
Lädierungen, wenn das Projekt gebaut wird
(IAN, 2011).

Anforderungen System zu sein


definiert implementiert

Quelle: Vom Autor erstellt.

Anwendungsfalldiagramm 81
Das heißt:
•Kundenbedarf: Konsens von Ideen.
•Definierte Anforderungen: was das System tun soll.
•System zu implementieren: Die Entwicklung muss gemäß
entsprechen den Bedürfnissen des Kunden.

In diesem Kapitel werden wir die Entwicklung der Diagramme untersuchen.


de caso de uso e seus componentes.

5.1 Anwendungsfalldiagramm
Video
Das Anwendungsfallmodell ist eine grafische Darstellung der
funcionalidades possível de detectar no sistema, antes de seu desenvol-
Bewegung, zusammen mit allen externen Stellen, die Informationen austauschen.

Darüber hinaus beschreibt dieses Modell die sogenannten funktionalen Anforderungen.

de einem System unter Berücksichtigung der Sicht des Benutzers, und so die
Entwickler können sich sicher sein, dass die Benutzer betreut werden.
dos vollständig.
Ihr Bau dieses Modells bezieht sich auf alle Funktionen des Systems.
ma, seu ambiente de processamento, usuários e seus respectivos pa-
Füsse innerhalb des Softwarebetriebs.

Laut Hassan (2011) spezifiziert das Anwendungsfalldiagramm


eine präzise Reihenfolge der Aktionen, die das System ausführen wird, gut
wie das erwartete Ergebnis.
Es ist wichtig zu betonen, dass der Anwendungsfall keinen Schritt darstellt.
oder ein Schritt in einer Funktionalität des Systems; es ist die Spezifikation
detailliert eine der Funktionen.
Das Anwendungsfalldiagramm wird während der Besprechungen zwischen
alle Beteiligten an der Entwicklung, von dem technischen Team bis zu
laienhafte Benutzer, denn nur so wird sichergestellt, dass die Lösung erfolgreich ist

geliefert gemäß den Bedürfnissen der Benutzer und nicht wie die Ana-
Listen wünschen.
Aus den Berichten der Beteiligten beginnen die Ingenieure mit der Mon-
Tagem einer Illustration, gemäß Vorgaben und Standards, damit das Sis-
Das Thema sollte in einem ansprechenden und intuitiven Format angezeigt werden. Damit,
Die Zeit, die benötigt wird, um Codes zu übersetzen, wird zum Beispiel eingespart.

82 Softwaretechnik
Wir können bestätigen, dass das Anwendungsfalldiagramm die Beziehung...
tre a Personen, die an der Softwareentwicklung beteiligt sind, viel mehr
harmonisch und produktiv (SOMMERVILLE, 2011).

5.2Szenario
Video
Laut Pressman (2016), je nach den Anforderungen werden ...
Tados, eine Übersicht über die Merkmale und Funktionen des Systems
beginnt sich zu konkretisieren. Es ist jedoch schwierig zu verstehen, wie diese ka-
Merkmale und Funktionen werden von verschiedenen Benutzern verwendet. Dazu
Es ist möglich, eine Reihe von Szenarien zu erstellen, die ein Drehbuch identifizieren.

Verwendung für das zu entwickelnde System.


Ein Szenario ist die Veranschaulichung der Umgebung, in der das System betrieben wird.
Er repräsentiert die Reihenfolge, in der die Interaktionen zwischen den Benutzern und dem System stattfinden.

Das Thema geschieht, von der Eingabe der Daten bis zur erwarteten Ausgabe, immer.
ein Problem lösen wollen.

Das Szenario des Anwendungsfalldiagramms kann mit dem von


um Film, Zeichentrick oder ein Spiel, und beschreibt, in welcher Umgebung das System

ma wird mit seinen Eigenschaften operieren.

Im Folgenden illustrieren wir ein Szenario aus einer Umgebung, die handelt.
Orangen, in denen wir den Kunden als Schauspieler haben, der den Kauf tätigen wird.

die Menge informieren und die Zahlung leisten.

Quadro 1
Cenário – venda de laranjas

Artikel Descrição
Anwendungsfall Orangen kaufen
Ator Kunde
Bedingung Verfügbarer Lagerbestand
Pós-condição Den Kauf registrieren
Der Kunde wählt das Produkt und die Menge aus, das System
Hauptfluss Überprüfen Sie den Bestand und berechnen Sie den zu zahlenden Betrag

Der Kunde kann die Menge ändern, bevor er schließt.


Alternativer Fluss
Kauf
Ausnahmefluss Ungültige Kreditkarte
Quelle: Vom Autor erstellt.
Wir werden nun das Konzept desAkteurs kennenlernen, der eine grundlegende Rolle spielt.

in den Szenarien, die für die Entwicklung von Software erstellt werden.

Use Case Diagramm 83


5.3Ator
Video Die Akteure sind alle diejenigen, die Informationen eingeben oder empfangen.

des Systems. Wir können spezifische menschliche Akteure finden, durch


Beispiel, der Präsident des Unternehmens und sogar Gruppen von Menschen, wie

Verkäufer.

Unternehmen können ebenfalls Akteure sein; nach demselben Denken


die wir mit den Menschen hatten, können wir spezifische Unternehmen haben, wie
die Bundessteuerbehörde, oder Unternehmensgruppe, zum Beispiel, Lieferanten
aus Rohmaterial.
Ein anderes System kann ebenfalls ein Akteur sein. Stellen Sie sich ein System vor

buchhalterisch, der Informationen von einem Verkaufssystem erhält. Dieses System


Die Buchhaltung wird eine Rolle im Betrieb des Verkaufssystems spielen.
und umgekehrt, das heißt, das Verkaufssystem wird Schauspieler im Szenario von Spaß-
Aktivierung des Buchhaltungssystems.

Ein guter Tipp, um die Schauspieler zu finden, ist, einige Fragen zu stellen.

tas, wie (HASSAN, 2011):


Wer benutzt das System?
•Wer startet das System?
Wer liefert die Daten?
•Wer entfernt die Daten?
Wer nutzt die Informationen?
Wer genehmigt den Verkauf?
•Wer hat das Administratorpasswort?

Mit den Antworten auf diese Fragen hat der Analyst die Akteure
die mit dem System interagieren; danach ist der nächste Schritt zu versuchen
Die Akteure gruppieren, wenn möglich. Die Gruppierung von Akteuren ist nur
lösbar, wenn die Gruppen die gleichen Informationen erhalten und einfügen
Maßnahmen – falls es irgendwelche Abweichungen gibt, sollten sie unstrukturiert bleiben.

Stellen Sie sich ein Team von Verkäufern vor, von denen einer die Funktion hat

de das Passwort zur Freigabe des Kredits einzugeben. In diesem Fall haben wir den Akteur

„Verkäufer“ und ein weiterer Akteur „Verkäufer, der im Besitz des Freigabecodes ist

de crédito
Jetzt werden wir verstehen, wie die Akteure im Szenario miteinander umgehen.

System

84 Softwaretechnik
5.4Beziehungen
Video Die Herstellung von Beziehungen zwischen den Elementen der
Anwendungsfälle ermöglichen die Wiederverwendung von Fällen, die benötigt werden.
sam werden wiederholt definiert, und das reduziert die Anstrengungen der Entwerfer

Wickler. In den Anwendungsfällen können wir die folgenden Typen verwenden


relacionamentos:
einbeziehen
ausbreiten
generalisieren.

Einfügen
Die Beziehung der Inklusion wird zwischen den Anwendungsfällen verwendet.
wenn eine Komponente die Reihenfolge von Methoden und Funktionen von
Outro Komponente. Die Anwendungsfälle, die beschrieben werden müssen, wiederholen sich.

damente para um sistema complexo ou grande são modelados uma vez


e in den anderen Anwendungsfällen enthalten, wenn nötig (WAZLAWICK,
2019).

Inkludieren in Nutzungsszenarien ist ähnlich wie Subroutinen.


pois corresponde ao conjunto de instruções usadas repetidamente no
Programm, aber diese Anweisungssatz wird nur einmal geschrieben.
Er wird immer dann gerufen, wenn nötig. Die Einbeziehung kann erscheinen oder nicht.

wie eine Verhaltenssequenz von selbst.


Lass uns mit einem weiteren Beispiel fortfahren, um das Verständnis zu erleichtern.

Mentor der Inklusionsbeziehungen zwischen den Komponenten eines


Anwendungsfall. Betrachten Sie ein Online-Aktienhandelsystem, das
Es umfasst mehrere Anwendungsfälle, von denen drei "sichere Sitzung", "machen
eine Verhandlung" und "das Passwort validieren".

Immer wenn ein Benutzer eine sichere Sitzung einrichtet, enthält sie die
Passwortvalidierung; und immer wenn der Benutzer eine Transaktion durchführt mit
Aktionen, die Passwörter werden validiert.

Somit umfasst die sichere Sitzung von Anwendungsfällen den Anwendungsfall „validieren
„Passwort“ und in gleicher Weise auch einen Anwendungsfall für den Austausch machen.
schließen Sie den Anwendungsfall der Passwortvalidierung ein. Damit beobachten wir, dass die

Anwendungsfalldiagramm 85
Die Validierungs-Passwort für Anwendungsfälle wird wiederholt von anderen verwendet

Anwendungsfälle werden nur einmal modelliert.

Die Beziehung der Inklusion wird innerhalb der Fälle von


Gebrauch, mit einem gestrichelten Pfeil in den Diagrammen, die das System darstellen

es wird entwickelt. Die Spitze des Pfeils zeigt auf den Fall von
gebrauch eingeschlossen, während der gestrichelte Pfeil immer durch das Wort annotiert ist -

-Schlüssel << einfügen >> um die Einschlussbeziehung anzuzeigen.

Erweitern
Die Erweiterung der Beziehung fügt die Verhaltenssequenz hinzu
Im Falle des Standardanwendungsfalls. Es ist dem Einschlussverhältnis ähnlich,
aber die Richtung der Hinzufügung der Verhaltenssequenz im Fall von
Die Basisnutzung ist entgegengesetzt.

In Beziehungen mit inklusiven Beziehungen sind die Elemente-


Die Elemente des Basis-Anwendungsfalls integrieren die Komponenten des Falls von
Es wurde genutzt, um einbezogen zu werden. Im Fall der Erweiterungsbeziehung jedoch,

Der erweiterte Gebrauch fügt seinen Verhaltensablauf dem Fall hinzu


uso basis (WAZLAWICK, 2019).
Wenn wir die Beziehungen "einschließen" und "erweitert" beobachten, beide
Fügen Sie die Verhaltenssequenz zum Basis-Anwendungsfall hinzu. Das ist
das Szenario, in dem zunächst die grundlegenden Elemente modelliert werden und,
Anschließend werden die erweiterten Funktionen zur Datenbank hinzugefügt.

Stellen Sie sich ein Aktienbroker-System vor, das einen Fall hat
von der Nutzung von Handelsaktionen, die es dem Kunden ermöglichen, die Aktien zu kaufen

mit dem Geld vom Girokonto. Und wenn der Kunde nicht über ausreichendes Guthaben verfügt

in Ihrem Konto, aber trotzdem möchte er den Bestand kaufen, haben wir
que “estender” o relacionamento do caso de uso.

Für diese Situation fügt das Wertpapierhandelssystem hinzu


um Ressourcen- oder Erweiterungsangebot – Margenverhandlung –, das es ermöglicht,
Der Kunde nimmt ein Darlehen auf, um die Aktien zu kaufen. Diese Ressource ist
hinzugefügt zum Basis-Anwendungsfall, wenn die Einkaufskosten des Bestands
es wird in Bezug auf den verfügbaren Kontostand des Kunden überprüft. In diesem
Es stellt sich heraus, dass das Guthaben nicht ausreicht, um den Bestand zu kaufen.

Die Erweiterungsbeziehung in der UML-Notation wird dargestellt


mit dem gestrichelten Pfeil. Die Spitze des Pfeils zeigt auf den Basis-Anwendungsfall.
Dieser gestrichelte Pfeil wird mit dem Schlüsselwort << extend >> annotiert.

86 Engenharia de Software
Generalisierung
Generalisierung ist der gebräuchlichste Begriff in der Informatik. In der Gen-

In der Realisierung gibt es eine Elternklasse, die aus Attributen und Operationen besteht.

Gemeinsame, und die Tochterklasse enthält die speziellen Attribute und Operationen.

(WAZLAWICK, 2019).
Analog zur Generalisierung in Klassen gibt es ein Konzept der Generalisierung.
Im Beziehung des Anwendungsfalls. Der übergeordnete Anwendungsfall enthält die Reihenfolge-

Cia von common behavior, und der Anwendungsfall Kind enthält die Ressourcen
Sonderfälle. Die Verallgemeinerung im Anwendungsfall wird mit dem Pfeil dargestellt
dreieckig, wobei die Spitze des Pfeils auf den übergeordneten Anwendungsfall zeigt.

Jetzt wo wir die Beziehungen kennen, kommen wir zu den Fällen.


praktisch.

5.5 Praktischer Fall


Video Um mit einem praktischen Fall eines Use-Case-Diagramms zu beginnen, ist es sinnvoll

Folgen Sie den folgenden Schritten:

Schritt 1
•Kontextualisieren Sie die Bedürfnisse des Systems.

Etappe 2
Identifizieren Sie die Akteure.

Identifizieren Sie die Anwendungsfälle mit ihren jeweiligen Szenarien.

Identifiziere die Beziehungen zwischen den Akteuren und den Anwendungsfällen.

Identifizieren Sie die Beziehungen zwischen den Akteuren, falls vorhanden.

• Entwickeln Sie den Anwendungsfall.

Etapa 3
• Dokumentation des Anwendungsfalls.

Mit diesen Schritten abgeschlossen, bleibt uns nur noch, das Modell zu entwickeln.

Entitäts-Beziehungs-Modell (ERM), damit das System codiert werden kann


gemacht, getestet und implementiert.

Anwendungsfalldiagramm 87
Es ist erwähnenswert, dass neben der grafischen Modellierung das Diagramm des Falls

Die Nutzung muss die Spezifikation der Detailzeichnung des Diagramms präsentieren.

von Anwendungsfällen. Diese Beschreibung ist auch bekannt als Dokumentation


Fallbeschreibung.

Bevor wir auf den Fall der auf Health-Tech ausgerichteten App eingehen,
vamos imaginar um cenário de um e-commerce de sucos naturais. O
Kunde betritt die Website des Geschäfts "Liebhaber von Natur Säften" und sucht nach den

tipos de sucos desejados; seleciona as frutas, a base, complementos, e


Das System muss die Daten der Umfrage innerhalb von drei Sekunden anzeigen.

Um die Bestellung aufzugeben, wählt der Kunde den Saft aus und informiert...
ma a quantidade desejada. O sistema calcula o preço total e o apresen-
Sei dem Benutzer.
Um den Kauf abzuschließen, füllt der Kunde die Registrierung aus, falls er dies nicht tun kann.

Besitzen Sie; füllen Sie das Feld "Kundendaten" aus, indem Sie den Namen angeben,

Lieferadresse, Telefonnummer und CPF. Die Daten müssen gespeichert werden.


in einer Datenbank für zukünftige Käufe.
Dann tätigt der Kunde die Zahlung. Dazu wählt er die Zahlungsart aus.
wie es tun wird. Wenn die Zahlung per Kreditkarte erfolgt, muss der Kunde
Dica
formatiere die Kartendaten: Nummer, Ablaufdatum, Name, Name der
Der Schauspieler spielt eine Rolle

que usuários, sistema Kartenanbieter und der Sicherheitscode. Das System


externo, hardware ou dis- Sie müssen die Genehmigung für die Zahlung bei der Kartenbetreiber anfordern.
Positive spielen
de Kredit. Wenn die Zahlung per Boleto erfolgt, stellt das System es aus.
während sie interagieren
mit dem System.
Der Mitarbeiter, der Manager der Finanzabteilung, loggt sich mit dem ein.
nha de administrador, überprüfe die Zahlungen und, wenn du die Zahlung bestätigst,

Abbildung 2 Mento, stelle die Rechnung aus.


Aktor der Szenerie
Der Mitarbeiter trennt die Produkte und sendet sie an die Spedition, die
er wird die Lieferung durchführen. Bei der Versendung registriert der Mitarbeiter den Versand des Pe-
Wer kann interagieren mit
der E-Commerce für Säfte dido für Lieferung, informiert über den Status der Bestellung – zur Lieferung versendet,
Natürlich?
zum Beispiel.
Beim Empfang der Produkte unterschreibt der Kunde den Lieferschein. Der Schein
Die Lieferung enthält einen QR-Code, der die getätigte Bestellung identifiziert.

Kunde; durch diesen Code nimmt der Mitarbeiter die Bestellung in Empfang
Falls die Unterschrift des Kunden und das Lieferdatum vorhanden sind.

Wir beginnen damit, die Akteure in diesem Szenario zu identifizieren.


Quelle: Vom Autor erstellt.
Also, wer sind die Schauspieler?

•Cliente

88 Softwaretechnik
•Manager
Mitarbeiter
Kreditkartenanbieter
Jetzt wollen wir die Anwendungsfälle identifizieren, die in diesem Szenario beteiligt sind.

A seguir, temos alguns casos do sistema de e-commerce. Você poderá


andere identifizieren, falls gewünscht.

Anwendungsfall Pesquisar sabores de sucos naturais


Ator Kunde
Ziel Pesquisar os tipos de suco desejados

Anwendungsfall Kauf tätigen


Ator Kunde
Ziel Den Kaufauftrag registrieren

Anwendungsfall Kaufwert berechnen


Nebendarsteller Aktion, die vom System ausgeführt und ausgelöst wird durch

Benutzer
Ziel Aktivieren Sie das System, um den Gesamtpreis des Kaufs zu berechnen
wenn der Kunde die Säfte und die Mengen auswählt

Anwendungsfall Kunderegistrieren
Ator Kunde
Ziel Die Erfassung der Kundendaten in der Datenbank durchführen
Daten

Anwendungsfall Zahlung registrieren


Aktor Kunde
Ziel Die Zahlung des Einkaufs registrieren

Anwendungsfall Die Genehmigung der Zahlung anfordern


Nebenrolle System und externes System des Kartenausstellers
Kredit
Ziel Die Genehmigung der Zahlung bei der Betreiberin anfordern
der Kreditkarte, wenn der Kunde die Daten angibt
auf der Karte

Anwendungsfall Boleto ausstellen

Nebendarsteller Ação executada pelo sistema desencadeada pelo


Benutzer

Anwendungsfalldiagramm 89
Ziel Aktivieren Sie das System, um die Rechnung zu erstellen, wenn der Kunde

seleciona a forma de pagamento: boleto

Anwendungsfall Einloggen
Nebenrolle Finanzmanager
Ziel Das Passwort validieren, um sich anzumelden

Caso de uso Zahlung abfragen


Nebenrolle Finanzmanager
Ziel Consultar os pagamentos

Anwendungsfall Rechnung ausstellen


Nebenrolle Finanzleiter
Ziel Den Zahlungsbeleg ausstellen, nachdem der Finanzmanager konsultiert hat

Zahlungsnachweis

Anwendungsfall Bestellung zur Lieferung aufgeben


Nebendarsteller Mitarbeiter
Ziel Den Lieferauftrag registrieren, um den Status zu aktualisieren
der Bestellung

Anwendungsfall Caso de uso: baixar pedido de compra


Nebendarsteller Mitarbeiter
Ziel Den Kaufauftrag nach der Bestätigung herunterladen
Lieferung
Dica Basierend auf den aufgetroffenen Fällen fahren wir mit der Identifizierung der
Die Beziehung zeigt an
relacionamentos envolvidos nesse cenário.
wer anfragt, wer ausführt
cuta e wie wird es ausgeführt- Es muss analysiert werden, ob jeder Akteur mindestens eine Assoziation hat mit
gibt eine Funktionalität.
ein Anwendungsfall und ob jeder Anwendungsfall mit einem Akteur oder mit
outro caso de uso.
Jetzt werden wir die Beziehungen zwischen den Anwendungsfällen identifizieren.
so vorhanden.

Es sollte überprüft werden, ob die Notwendigkeit der Beziehung besteht.


schlüsse, erweiterungen oder verallgemeinerungen. Danach sollten die
Beziehungen zwischen den Schauspielern, falls vorhanden.

Es muss überprüft werden, ob die Notwendigkeit der Beziehung besteht.


Generalisierung zwischen den Akteuren.

Nach all diesen Erhebungen sind wir zu folgender Lösung gekommen:

90 Softwaretechnik
Abbildung 3
Modellierung eines E-Commerce für natürliche Säfte

Typen von Wert berechnen von


Säfte Kauf

<<enthält>>

Kunde Registrar Kauf Kunden registrieren


<<erweitern>>

Anfordern
Registrar <<erweitern>> Betreiber
Autorisierung von von der Karte von
Zahlung
Zahlung Kredit

<<erweitern>>

Anmelden Rechnung ausstellen

Beratung <<verlängern>>
Manager Rechnung ausstellen
pagamento

Bestellung aufgeben Bestellung herunterladen von

der Lieferung Kauf

Mitarbeiter

Quelle: Vom Autor erstellt.

Als zweites Beispiel verwenden wir die Anwendung im Gesundheitsbereich.


um das Ziel, mehr auf die Gesundheit und weniger auf die Krankheit zu achten. Wir werden vorschlagen

eine Lösung, wie Technologie den Menschen bei der Prävention helfen kann
Erkrankungen.

Dafür werden wir die zuvor erwähnten drei Schritte verwenden.


Etappe 1
Kontextualisieren Sie die Bedürfnisse des Systems.

Anwendungsfalldiagramm 91
Etappe 2
Identifizieren Sie die Akteure.

Identifizieren Sie die Anwendungsfälle mit ihren jeweiligen Szenarien.

•Identifizieren Sie die Beziehungen zwischen den Akteuren und den Anwendungsfällen.

Identifizieren Sie die Beziehungen zwischen den Akteuren, falls vorhanden.

• Entwickeln Sie den Anwendungsfall.

Etappe 3
• Dokumentation des Anwendungsfalls.

Lass uns zur Lösung kommen!

Schritt 1: Kontextualisieren Sie die Bedürfnisse des Systems

Die Gesundheits-Technology-App wird kommen, um eine große Nachfrage zu bedienen.


von Nutzern, die ihre Lebensqualität verbessern möchten, indem sie sich um
aber mehr über die Gesundheit und weniger über die Krankheit. Die Technologie kann ein großer

Verbündete, um den klinischen Zustand der Menschen zu überwachen.


Die Anwendung wird bei der Überwachung der Biosignale helfen,
Warte auf den Patienten und den Arzt, wenn etwas außerhalb der Norm ist, gut
wie wird er/sie mit einer ausgewogenen Ernährung und körperlicher Betätigung helfen?
angezeigt, damit jeder Patient ein gesundes Leben hat.

Etappe 2: Anwendungsfalldiagramm
Figura 4
Anwendungsfalldiagramm von HealthTech

Administrator des Modul zur Parametrierung und


Anwendung administração do aplicativo Gesundheitsverfolgung

<<Inkludieren>>

Login/Registrierung von Benutzern/


Parametrisierung des Systems

Kontrolle der Diät des Patienten


Arzt Benutzer Überwachung
von Biosignalen

Kontrolle der körperlichen Übungen <<Einschließlich>>

Alarma für klinische Veränderungen <<Include>>

Quelle: Vom Autor mit der Software Astah erstellt.

92 Software Engineering
Schritt 3: Dokumentation des Anwendungsfalls

Quadro 2
Modul zur Parametrierung und Verwaltung der Anwendung

Dokumentation des Anwendungsfalls


Título do caso de uso Modul zur Parametrisierung und Verwaltung der Anwendung
Identifizierter Code HT01
Dieses Modul ist verantwortlich für die gesamte Parametrisierung der Anwendung. Darin verwaltet der Administrator
Das System wird in der Lage sein, verschiedene Informationen für das reibungslose Funktionieren der Anwendung einzufügen.
Inhaltsverzeichnis
tion, wie: Anzahl der Male, die der Benutzer das Passwort falsch eingeben kann, Benutzerdatenbank,
formato das mensagens de alertas, reset de senha e usuários, entre outras.
Primärer Akteur Systemadministrator
Nebendarsteller
Vorbedingung Login e senha de Admin
Hauptfluss
Ator System
FP01 – Administrator
seleciona botão de pa- FP02 – Solicitar credenciais para acessar como administrador
Rametrisierung
FP02 – Administrator
FP04 – Empfangen und Speichern der Parametrisierung des Systemadministrators
U-Bahnen
Alternativer Fluss
FA01 Der Administrator verfügt nicht über die erforderlichen Berechtigungen für den Zugriff.

FA02 Anwendung ohne Internetzugang – Fehlermeldung


FA03 Parameter erfolgreich aufgezeichnet
Geschäftsregeln
RN01 Der Administrator muss das Passwort des Admins haben.

Ohne das Passwort des Administrators sollte kein Zugang gewährt werden.

Quelle: Vom Autor ausgearbeitet.

Quadro 3
Login / Cadastro de usuários / Parametrização do sistema

Dokumentation des Anwendungsfalls


Título do caso de uso Login / Cadastro de usuários / Parametrização do sistema
Identifikationscode HT02
Deverá fazer o login e o controle de usuários validando login e senha. Além disso,
Inhaltsverzeichnis Lese das Modul zur Parametrisierung, damit die Anwendung einwandfrei funktioniert.
tamente
Primärer Akteur Benutzer der Anwendung
Nebenrolle Arzt
Vorbedingung
(Fortsetzen)

Anwendungsfalldiagramm 93
Dokumentation des Anwendungsfalls
Hauptablauf
Ator Sistema
FP05 – Benutzer der Anwendung
Wir führen die Anmeldung durch, um die FP07 zu erhalten – Benutzeranmeldeinformationen anfordern
Zugangsdaten
FP06 – Benutzer der Anwendung
registrieren Sie sich, um die FP08 zu erhalten - Fordern Sie Berechtigungen für den Zugriff des Arztes an
Zugangsdaten
Alternativer Fluss
FA04 Benutzer hat keine Zugriffsdaten
FA05 Der Arzt hat nicht die Zugangsberechtigungen.

Regras do negócio
RN02 Benutzer und Arzt müssen die Berechtigungen haben, um auf das System zuzugreifen.

Quelle: Vom Autor erstellt.

Quadro 4
Überwachung von Biosignalen
Dokumentation des Anwendungsfalls
Título do caso de uso Überwachung von Biosignalen
Identifizierter Code HT03
Er wird die Biosignale des Patienten erhalten, sowie, wenn autorisiert, die Parameter des
Arzt. Mit diesen Informationen wird er Bedingungen schaffen, um bei Änderungen zu warnen oder nicht.
Sumário
Nicas. Mit dieser Funktion kann der Arzt einen "Film" über den gesamten klinischen Zustand des
Patient und nicht nur ein „Foto“, wie es bei persönlichen Konsultationen der Fall ist.

Primärer Akteur Benutzer


Nebendarsteller Ärzte
Vorbedingung Gültige Anmeldedaten
Hauptfluss
Ator System
FP09 – Benutzer der Anwendung
Cativos liefern ihm die FP11 - Empfängt kontinuierlich die Biosignale zur Speicherung und Nutzung.
Biosignale durch das Ce-Posterior
Lular oder Smartwatch
FP10 – Informa anomalias FP12 – Se os biossinais estiverem em desacordo com os parâmetros do médico, o sinal
zum Warnsystem Die Warnung muss an den Arzt und den Benutzer ausgelöst werden.
Alternativer Fluss
Es gibt nicht

Geschäftsregeln
Wenn die Biosignale nicht mit den vom Arzt angegebenen Parametern übereinstimmen, dann
RN03
Ein Warnsignal sollte ausgelöst werden.

Quelle: Vom Autor erstellt.

94 Softwaretechnik
Quadro 5
Warnung vor klinischen Veränderungen

Dokumentation des Anwendungsfalls


Titel des Anwendungsfalls Warnung vor klinischen Veränderungen

Identifizierter Code HT04


Caso o monitoramento de biossinais detecte alguma anomalia comparando-se com a para-
Sumário Die Metrisierung des Arztes, ein Warnsignal wird an den Benutzer und den Arzt gesendet, wenn autorisiert wird.
vorgelegt von dem Benutzer.

Primärer Darsteller Überwachung von Biosignalen


Nebendarsteller Benutzer und Arzt
Vorbedingung Eingabe zur Überwachung von Biosignalen
Hauptfluss
Ator System
FP13 – Benutzer von
Anwendung Empfangen FP15 – Das System informiert den Benutzer über das Notfallsignal und dessen Schweregrad
Notfallwarnung
FP14 – Arzt erhält
Notfallalarm FP16 – Das System informiert den Arzt über das Notfallsignal und dessen Schweregrad
des Patienten
Alternativer Fluss
Wenn der Benutzer und/oder der Arzt den Erhalt des Warnsignals nicht bestätigen, wird ein spezielles Warnsignal generiert.
FA06
muss an den Administrator der Anwendung gesendet werden

Geschäftsregeln
Wenn die Biosignale nicht mit den vom Arzt angegebenen Parametern übereinstimmen, dann
RN04
Alarmzeichen müssen ausgelöst werden
Quelle: Vom Autor erstellt.

Quadro 6
Diätkontrolle des Patienten

Dokumentation des Anwendungsfalls


Titel des Anwendungsfalls Diätkontrolle des Patienten
Identifizierter Code HT05
Durch die Informationen des Arztes und des Patienten ist eine ausgewogene Ernährung
Inhalt
dem Patienten jeden Tag präsentiert
Ator primário Benutzer
Nebenrolle Arzt
Vorbedingung Parametrisierung durch den Benutzer und den Arzt
Hauptfluss
Darsteller Sistema

(Fortsetzung)

Anwendungsfall Diagramm 95
Dokumentation des Anwendungsfalls

FP17 – Benutzer der App empfangen FP19 – System informiert den Benutzer über die geeignete Diät
eine angemessene Diät

FP18 – Arzt informiert Parameter


FP20 – Arzt informiert Patient über geeignete Diät
für die angemessene Diät des Patienten

Fluxo Alternativo
FA07 Nehmen Sie die Benutzerakzeptanz in Bezug auf die Diät an

FA08 Die App fordert den Arzt auf, eine Diät zu senden, falls er dies nicht getan hat.

Geschäftsregeln
RN04 Die Diäten müssen vom Arzt des Patienten informiert und validiert werden.

Quelle: Vom Autor erstellt.

Quadro 7
Kontrolle der körperlichen Übungen

Documentação de caso de uso


Título do caso de uso Kontrolle der körperlichen Übungen
Identifikationscode HT06
Durch die Informationen des Arztes und des Patienten, eine Folge von
Inhaltsverzeichnis
Körperliche Übungen werden dem Patienten jeden Tag präsentiert.
Ator Primário Benutzer
Nebenrolle Arzt
Vorbedingung Parametrisierung durch den Benutzer und den Arzt
Hauptfluss
Ator System
FP21 – Benutzer der Anwendung erhalten
FP23 – System informiert den Benutzer über die Reihenfolge der Übungen
geeignete Übungsfolge

FP22 – Arzt informiert über Parameter für


FP24 – Arzt informiert über die Übungssequenz für den Patienten
die Abfolge von Übungen für den Patienten

Alternativer Fluss
FA07 Benutzerakzeptanz der Übungen
Die Anwendung fordert den Arzt auf, eine Reihenfolge von Übungen anzugeben, falls keine vorliegt.
FA08
Schwanz
Geschäftsregeln
Die Übungen müssen vom Arzt des PA gemeldet und validiert werden.
RN04
hundert
Quelle: Vom Autor erstellt.
Wie bereits erwähnt, um die Dokumentation des Systems zu vervollständigen
Für Ihre Entwicklung fehlt nur noch das dimensionale Modell.
zu Data Mart der Anwendung in der Gesundheits-Technologie, das heißt, wir werden präsentieren das

MER – Modell der Entität-Beziehung des Systems.

96 Softwaretechnik
Abbildung 5
MER – Entitätsbeziehungsmodell des Health-Tech-Systems

Faktentabelle:
Dimensão: Paciente Dimensão: Dieta
Dieta_Paciente

ID_Paciente PK
Paciente_nome FK ID_dieta ID_dieta PK
Paciente_endereço ID_paciente FK dieta_nome
Paciente_email ID_medico dieta_calorias
Patientenvereinbarung Data_inicio dieta_procedimento
Zellulärer Patient Data_termino dieta_lista_de_alimentos
Paciente_senha

Tabela Fato:
Tabela Fato: Login Dimension: Bio_signale
Überwachung

FK ID_Bio ID_BioPK
FK ID_Benutzer (Arzt oder
ID_paciente FK Bio_descricao
Patient
Daten Bio_messung maximale
Daten
Stunde Bio-Medikation Minimum
Stunde
Medikation Bio_importancia

Tabela Fato: Dimension:


Dimension: Arzt
Atividade_Paciente Atividades_Fisicas

ID_medicoPK
Medico_nome FK ID_atividade
ID_atividade PK
Medico_endereco ID_paciente FK
atividade_nome
Medico_email ID_medico FK
atividade_calorias
Medizinische_Fachrichtung Data_inicio
atividade_procedimento
Medizinische Zelle Data_termino
Medico_senha

Quelle: Vom Autor erstellt.


Die Ergänzung des Entitäts-Beziehungs-Modells umfasst das
Beschreibung der Abmessungen:

Dimension Patient
ID_Paciente Chave primária de paciente, será armazenado um código único para cada paciente
Paciente_nome Será armazenado o nome do paciente
Paciente_endereco Será armazenado o endereço do paciente
Paciente_email Será armazenado o e-mail do paciente
Paciente_convenio Será armazenado o convênio do paciente
Paciente_celular Será armazenado o celular do paciente
Paciente_senha Será armazenada a senha do paciente

Dimension Arzt
ID_medico Chave primária de médico, será armazenado um código único para cada médico
Medico_nome Será armazenado o nome do médico
Medico_endereco Será armazenado o endereço do médico
Medico_email Der E-Mail des Arztes wird gespeichert
Medico_especialidade Será armazenada a especialidade do médico
Medico_celular Das Handy des Arztes wird gespeichert.
Medico_senha Será armazenada a senha do médico

Anwendungsfalldiagramm 97
Dimension Diät
ID_dieta Chave primária de dieta, será armazenado um código único para cada dieta
dieta_nome Será armazenado o nome da dieta
dieta_calorias Será armazenada a quantidade de calorias da dieta
dieta_procedimento Será armazenado o procedimento para a dieta
dieta_lista_de_alimentos Será armazenada a lista de alimentos da dieta

Dimension Biosignale
ID_BioDie primäre Schlüssel für Biosignale, wird ein eindeutiger Code für das Biosignal gespeichert.

Bio_descricao Será armazenada a descrição do biossinal


Bio_medicao maxima Es wird das maximale Limit des Biosignals gespeichert

Bio-Messung Minimum Wird das minimale Limit des Biosignals gespeichert

Bio_Bedeutung Die Bedeutung des Biosignals wird gespeichert.

Dimension Atividades_Físicas
Primärschlüssel der körperlichen Aktivitäten, es wird ein eindeutiger Code gespeichert
ID_atividade
jede körperliche Aktivität

atividade_nome Será armazenado o nome da atividade física


atividade_calorias Será armazenada a quantidade de calorias gastas com a atividade física
atividade_procedimento Será armazenado o procedimento para executar as atividades físicas

Faktentabelle Dieta_Paciente
ID_dieta Chave primária da dieta
ID_paciente Chave primária do paciente
ID_medico Chave primária do médico
Data_inicio Data de início da dieta
Data_termino Data de término da dieta

Faktentabelle Monitoramento
ID_Bio Primärschlüssel von Biosignalen
ID_paciente Primärschlüssel des Patienten
Data Daten zur Überwachung
Stunde Überwachungszeit
Medikation Messung der Überwachung

Tabelle Fato Atividade_Paciente


ID_atividade Primärschlüssel der körperlichen Aktivität

ID_paciente Primärschlüssel des Patienten


ID_medico Primärschlüssel des Arztes
Data_inicio Datum des Beginns der körperlichen Aktivität

Data_termino Datum des Abschlusses der körperlichen Aktivität

98 Software-Engineering
Nützliche Informationen für den Patientenbenutzer Buch
In dieser Angabe haben wir
Beraten Sie Ihre Diäten
ein praktischer Ansatz
der Einsatz von UML in der Kons-
Überprüfen Sie Ihre körperlichen Aktivitäten
Software-Übersetzung. Sie sind

Überprüfen Sie die Ergebnisse Ihrer biosignalmessungen vorgelegte Beispiele


praktische Beispiele, wie die Enge-

Informationen für den medizinischen Benutzer nheiro pode iniciar suas


erste Modellierungen von
Diäten für den Patienten einfügen Computersysteme.
Die Kartierung der
Körperliche Aktivitäten für den Patienten einfügen Klassen sind sehr praktisch und

Ziel, das den Leser führt


Die Biosignale der Patienten analysieren eine große Reise
innerhalb der Ingenieurwissenschaften
Geschäftsfragen de Software ohne
Nachlässigkeiten in Bezug auf die
Wie viele Benutzer des Profils Ärzte sind im App registriert? wesentliche Konzepte
hauptsächlich die genera-
Wie viele Benutzer des Profils Patient sind in der App registriert?
lização, tão importante na
Optimierung der Codes.
Wie hoch ist der Nutzungsindex der Anwendung durch die Ärzte?

Wie hoch ist der Nutzungsindex der Anwendung durch die Patienten? LIMA, A. S. G. UML 2.5: das Erfordernis
Die Lösung. São Paulo: Érica, 2014.
Was ist der Anteil der stornierten Anmeldungen des Patientenprofils?

Wie hoch ist der Anteil der stornierten Registrierungen des Profils Arzt?

Was ist der Stornoindex aller Profile?

Wie viele Biosignalmessungen werden analysiert?


Wie viele neue Patienten treten jeden Monat in die App ein?

Wie viele neue Ärzte greifen jeden Monat auf die App zu?

Mit diesen Fragen ist es möglich, die Geschäftsangelegenheiten zu verstehen.

damit das Modellieren erfolgreich ist und alle Erwartungen erfüllt.


des Kunden.

SCHLUSSFOLGERUNG
In diesem Kapitel war es möglich, Diagramme zu verstehen und zu interpretieren.
Anwendungsfälle und wie sie beim Aufbau von Software wichtig sind,
alle Beteiligten Präsentationen, die später werden
zu ausführbaren Codes werden.
Wir konnten auch die Rolle jeder Komponente innerhalb der verstehen
Szenarien, in denen das System betrieben wird; wir haben gesehen, wie Schauspieler, Beziehungen und

Szenarien verschmelzen zu einem einzigen Projekt, um den Systemen Leben einzuhauchen.

Anwendungsfalldiagramm 99
Aktivitäten
Aktivität 1
Das Anwendungsfalldiagramm ist eines der wichtigsten Werkzeuge
für den Software-Ingenieur. Damit ist es möglich, alle zu bringen
die Interessierten für einen gemeinsamen Punkt des Verständnisses des
Computersystem, das entwickelt werden soll. Es umfasst drei
Ziele, nenne welche es sind.

Aktivität 2
In dieser Aktivität besteht die Mission darin, einen einfachen Anwendungsfall zu entwickeln.

wo der Benutzer seinen Login und sein Passwort eingeben wird, und das System wird
validieren und eine Fehlermeldung oder Zugang gewähren.

REFERÊNCIAS
HASSAN, G. Softwaremodellierung und -design: UML, Anwendungsfälle, Muster und Software
Architekturen. Cambridge: Cambridge University Press, 2011.
IAN, S. Softwaretechnik. 9. Aufl. São Paulo: Pearson, 2011.
PRESSMAN, R. S. Software Engineering: Ein professioneller Ansatz. 8. Aufl. Porto Alegre:
AMGH, 2016.
SOMMERVILLE, I. Softwaretechnik. 9. Aufl. São Paulo: Pearson Education, 2011.
WAZLAWICK, R. Software Engineering: Konzepte und Praktiken. São Paulo: GEN LTC, 2019.

100 Engenharia de Software


Lösung der Aktivitäten
Die Bedeutung der Softwaretechnik
1. Sie haben die Mission eines hochrelevanten Museums übernommen
VereinigteStaatenvonAmerika,umdenBesucherneinhistorischesErlebniszubieten:

eine Zeitleiste mit den wichtigsten Fortschritten erstellen


technologische Entwicklungen im Laufe der Geschichte. Dazu nutzen Sie die Meilensteine

in diesem Kapitel behandelt, sowie andere Forschungen, um zu schaffen, was


Wir kennen uns mit der Technologie aus. Nutze die Kreativität, um
Alle mit Grafiken, Bildern und sogar Animationen überraschen.
In dieser Aktivität sollten Sie die wichtigsten technologischen Entwicklungen anführen.
im Kapitel behandelt, sowie andere, die möglicherweise sind
Untersucht. Das Hauptziel ist es, einen Zeitstrahl darzustellen.
identificando o ano das inovações e uma breve descrição delas.

2.Wählen Sie eine App aus, die Sie täglich verwenden, und entwickeln Sie sie weiter.
um documento com os itens do design de software tratados neste
Kapitel. Sprechen Sie über die Abstraktion, die Modularität, die Architektur, das
Verfeinerung, der Standard, die Informationsverbergung und das Refactoring
können in der App gefunden werden.
In dieser Aktivität müssen Sie eine Anwendung auswählen und diese beschreiben.
kurze Texte wie die Abstraktion, die Modularität, die Architektur, das
Verfeinerung, der Standard, die Informationsverbergung und die Refaktorisierung
sind im Anwendung vorhanden.

2Lebenszyklus der Software


1. In diesem Moment sind Sie der leitende Software-Ingenieur eines
Großes Kosmetikunternehmen und muss sein gesamtes Team überzeugen
von Entwicklern, dass der Entwicklungslebenszyklus von
Effiziente Software ist wichtig. Heben Sie die wichtigsten Vorteile hervor.
erreicht durch die Implementierung eines Lebenszyklus. Wenn Sie möchten,
verwenden Sie eine oder mehrere Folien oder präsentieren Sie diese Vorteile in einem

texto de no máximo uma página.


In dieser Aktivität müssen Sie die wichtigsten Vorteile nennen.
einen effizienten Lebenszyklus, der hervorhebt, dass er die Kosten senkt
Softwareentwicklung und gleichzeitig Verbesserung der
Qualität und reduziert die Produktionszeit, um diese Ziele zu erreichen, die

Lösung der Aktivitäten 101


tencial antes des Beginns dieser Arbeit und arbeiten Sie effizient, zum Wohle
einem gemeinsamen Ziel.
Es war auch möglich, die Bedeutung der UML nach der ... zu verstehen.
Codierung der Software. Nachdem der Code geschrieben wurde, ein UML-Diagramm
kann den Entwicklern helfen, die getroffenen Entscheidungen und die
Entwickelte Strukturen für das Projekt. Diese Informationen helfen bei der
Teams auf der Suche nach Verbesserungen im Projekt für die Zukunft.

AKTIVITÄTEN
Aktivität 1
Innerhalb des UML-Ökosystems haben wir mehrere Diagramme, die
Wir arbeiten umfassend an der Entwicklung von Software.
In diesem Sinne sollten Sie sich als Softwareingenieur betrachten.
von einem großen Unternehmen und ein Dokument erstellen von
maximal zwei Seiten, die die Unterschiede zusammenfassend veranschaulichen
Unterschiede zwischen den folgenden Diagrammen:

a) Aktivitätsdiagramm
b) Klassendiagramm
c) Objektdiagramm
d) Sequenzdiagramm

Aktivität 2
In dieser Aktivität besteht die Mission darin, die Figur dieses Buches zu verstehen.

chamadaDiagrama de atividades: elaborando um texto, dentro da


Abschnitt 4.3, und ihn umgestalten, um einem Anmeldeprozess zu entsprechen
in einer gewöhnlichen App, wie Facebook oder Instagram.
Imagine o passo a passo que você executa para acessar sua rede
Soziale Präferenz. Dazu können Sie jede Software verwenden.
dass es einfacher ist, einen Bleistift und ein Blatt Papier zu nehmen und
lass deiner Kreativität freien Lauf.

REFERÊNCIAS
HASSAN, G. Softwaremodellierung und -design: UML, Anwendungsfälle, Muster und Software
Architekturen. Cambridge: Cambridge University Press, 2011.
HIRAMA, K. Ingenieurwesen: Qualität und Produktivität mit Technologie. Rio de
Janeiro: Elsevier, 2011.
PRESSMAN, R. S. Softwaretechnik: ein professioneller Ansatz. 8. Aufl. Porto Alegre:
AMGH, 2016.
{"book_title":"Software-Engineering: Konzepte und Praktiken","location":"São Paulo","publisher":"GEN LTC","year":"2019"}

80 Software Engineering
rental_car Produkte Lieferanten
Kfz-Kennzeichen - Code CNPJ
- Modell - descrição Firma
Kern Menge auf Lager Adresse
Jahr Preis Stadt
- tamanho Peso Zustand

inklusion() Inklusion() Änderung()


exclusão() abfragen() Bericht()
Verkauf()
Sie sollten das Gleiche mit anderen Klassen eines Supermarktes machen.
wie zum Beispiel: Produkte, Anbieter, Kunde, Verbindlichkeiten
Contas a receber, Fluxo de caixa, Nota Fiscal de Compra, Nota
Verkäufer, schließlich jede Klasse, die zu einem gehören kann
Supermarkt.

4UML – Unified Modeling Language


1. Innerhalb des UML-Ökosystems haben wir verschiedene Diagramme, die
Wir arbeiten integrativ beim Bau von Software.
Sinn, Sie sollten sich als Softwareingenieur positionieren.
ein großes Unternehmen und ein Dokument von maximal
zwei Seiten, die die Unterschiede zusammenfassend veranschaulichen zwischen
die folgenden Diagramme:

a) Aktivitätsdiagramm
• Es wird verwendet, um grafische Darstellungen zu entwickeln
die die Arbeitsabläufe und Aktivitäten illustrieren
Teilnehmer des Systems.
• Beschreibe den Kontrollfluss des Zielsystems.
• Ziel ist es, computergestützte Prozesse zu modellieren.
e organisatorische.
• Beschreibe, wie die Aktivitäten koordiniert werden, um bereitzustellen
ein Dienst, der auf verschiedenen Abstraktionsebenen existieren kann.

b) Klassendiagramm
• Hilft bei der Modellierung aller Methoden der Orientierung
Objekte.
• Stärkt die Beschreibung der Objekttypen in den Projekten
und die jeweiligen Arten von Beziehungen, die es gibt
unter ihnen.

Lösung der Aktivitäten 103


• Zeigen Sie die statische Struktur der Klassifizierer in einem
System
• Stellt eine grundlegende Notation für andere Diagramme bereit
Strukturen, die von der UML vorgeschrieben sind.

• Es ist nützlich für Entwickler und für andere Mitglieder der


Team auch.
• Kann von Business-Analysten verwendet werden, um zu modellieren
Systeme aus der Sicht eines Unternehmens.
c) Objektdiagramm
• Es handelt sich um ein Instanzdiagramm, das Objekte und Datenwerte umfasst.

• Es ist eine Instanz eines Klassendiagramms.


• Zeigen Sie einen Schnappschuss des detaillierten Zustands eines Systems
zu einem bestimmten Zeitpunkt.

• Es ist begrenzt, hauptsächlich um Beispiele zu zeigen von


Datenstrukturen.
d) Sequenzdiagramm
• Modelliere die Zusammenarbeit von Objekten, basierend auf einer

Zeitenfolge.
• Zeige, wie Objekte mit anderen in einem interagieren.
besonderes Szenario eines Anwendungsfalls.

• Es handelt sich um Interaktionsdiagramme, die detaillieren, wie die


Operationen werden durchgeführt.

• Erfasst die Interaktion zwischen Objekten im Kontext von einem


Zusammenarbeit.
• Es ist zeitlich fokussiert und zeigt die Reihenfolge der Interaktion.

visuell, wobei die vertikale Achse des Diagramms verwendet wird, um

die Zeit darstellen, in der die Nachrichten gesendet werden


und wann.
• Fange die Interaktion ein, die in einer Zusammenarbeit stattfindet.
Durchführen eines Anwendungsfalls oder einer Operation.

• Zeigen Sie die hochrangigen Interaktionen zwischen dem Systembenutzer an


und das System, und zwischen dem System und anderen Systemen.

2.In dieser Aktivität besteht die Aufgabe darin, die Figur dieses Buches zu verstehen,
Aktivitätsdiagramm: einen Text erstellen, innerhalb der

104 Softwaretechnik
Abschnitt 4.3, und sie so zu gestalten, dass sie einem Anmeldeprozess entspricht
eine gewöhnliche App, wie Facebook oder Instagram.
Stellen Sie sich die Schritte vor, die Sie ausführen, um auf Ihr Netzwerk zuzugreifen.

Soziale Präferenz. Dazu können Sie jede Software verwenden, die


Habe mehr Leichtigkeit, einen Stift und ein Blatt Papier zu nehmen und loszulassen.

deine Kreativität.

Öffne die App Clicar no botão de


Login einfügen Passwort eingeben
das soziale Netzwerk Zugang

Geben Sie falsche Daten ein


Fehlermeldung

Erfolgreich angemeldet

5Anwendungsfalldiagramm
1.Das Anwendungsfalldiagramm ist eines der wichtigsten Werkzeuge
für den Softwareingenieur. Mit ihr ist es möglich, alle zu bringen
die Interessierten für einen gemeinsamen Punkt des Verständnisses des

Computersystem, das entwickelt werden soll. Es umfasst drei


objetivos, cite quais são.
In dieser Aktivität sollen Sie die drei Ziele des Diagramms beschreiben.
de Anwendungsfall, die sind: Kundenbedarf, zu unterstützendes System
implementiert und Anforderungen definiert.

2.In dieser Aktivität besteht die Aufgabe darin, einen einfachen Anwendungsfall zu entwickeln, im
Welche Benutzer werden ihren Login und ihr Passwort eingeben, und das System wird validieren und

eine Fehlermeldung oder Zugang gewährt.


Da wir in dieser Aktivität nur den Benutzer als Akteur haben, ein
Szenario der Authentifizierung mit Login und Passwort und eine positive Antwort oder
Negative des Zugangs, Ihr Diagramm sollte die folgende Struktur haben:

Lösung der Aktivitäten 105


Anfrage nach
login e senha

Daten validieren

Antwort von
Zugang

106 Softwaretechnik
Logistikcode Nationalbibliothek Stiftung
ISBN 978-65-5821-067-2

I000358 9 786558 210672

Das könnte Ihnen auch gefallen