Software Engineering
Software Engineering
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
Sanchez, Wagner
Softwaretechnik / Wagner Sanchez. - 1. Aufl. - Curitiba [PR] :
Iesde, 2021.
106 S. : ill.
Bibliografie einfügen
ISBN 978-65-5821-067-2
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.
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
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.
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.
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.
mamente sofisticado.
Im Folgenden werden wir die Entwicklung von Hardwares und Softwares erkunden.
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.
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
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.
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 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
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!
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-
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.
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.
beendet Faktor relevant zu werden und eine bestimmte Wahl getroffen wird,
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.
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.
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
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.
Großflächige Graziöse.
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.
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
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
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.
Softwaretechnik.
Die Ingenieurwissenschaften stehen für eine Methodik, die mit dem Bemühen verbunden ist, um
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.
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;
Die Konzeption und Erstellung einer Software ist ein äußerst herausforderndes Unterfangen.
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.
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
1
Abholung von
Anforderungen
5 2
Analyse von
Implementierung
sistema
4 3
Teste Kodifizierung
24 Software Engineering
Der Entwickler entscheidet dann über einen Plan für seinen Fahrplan, der in-
Design-Dokument.
individuell.
26 Softwaretechnik
•Verfeinerung: entfernt Verunreinigungen, das heißt, etwas zu verfeinern, um
Entfernen Sie alle vorhandenen Verunreinigungen und erhöhen Sie die Qualität.
•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-
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.
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.
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.
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 –
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.
einen detaillierten Plan, der beschreibt, wie man plant, baut und wartet
spezifische Software (PRESSMAN, 2016).
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.
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
Implementierung und
Tests
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.
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 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.
Ohne klar definierte Ziele und Vorgaben wird es an einer Struktur fehlen.
um zukünftige Entscheidungen zu lenken.
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.
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
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
Softwarelebenszyklus 35
Das Schweigen der Menschen ist kein Indikator für Erfolg. Erhalten Sie die
formelle Einigung der beteiligten Parteien, um anschließend fortzufahren.
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.
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-
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.
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:
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
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.
Funktionale Anforderungen:
negative Tante.
•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 Nutzerflüsse des Produkts. Dieser Schritt bietet ein Modell für
Entwickler und Tester und verringert die Wahrscheinlichkeit von Fehlern und Verzögerungen
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.
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.
•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
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).
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
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
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.
•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.
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-
Das Wichtige ist, das Vertrauen zu vermitteln, dass die Umsetzung bringen wird
oder zögerlich.
44 Softwaretechnik
2.Erstellen Sie ein gemeinsames Verständnis
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.
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
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
Softwarewartung: die Wartung. Für diesen Schritt ist es unerlässlich, dass der
Manager, entwickeln Sie einen Wartungsplan.
seine Leistung.
46 Softwaretechnik
Innerhalb dieser Bedürfnisse ist es wichtig, die Arten der Wartung hervorzuheben
Korrektive Wartung
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.
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
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.
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.
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
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.
48 Engenharia de Software
Wenn viel Verkehr einen Server erreicht, garantieren seine Aktualisierungen...
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.
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.
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-
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.
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:
computational
• Software modellieren unter Verwendung der Konzepte der UML.
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.
Orientação a objetos 51
in allen Phasen der Entwicklung der Lösungen und ist bereits die am weitesten verbreitete Form
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.
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
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.
für jede Art von Software, die wir entwickeln möchten, denn die Optimierung
Für Ressourcen und zur Steigerung der Qualität.
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.
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.
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
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.
Abbildung 2
Classe com métodos
rental_car
Autokennzeichen
Modell
Kern
ja
- tamanho
einschluss()
ausschluss()
Ausgang()
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;
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).
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;
56 Softwaretechnik
Abstrahieren bedeutet, nur relevante Daten anzuzeigen und Details zu verbergen.
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.
Lass uns ein weiteres Beispiel vorstellen, um es klarer zu machen, denk daran
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.
3.4Encapsulamento
Video
Kapselung bedeutet in der objektorientierten Programmierung, Attribute und
Methoden mit einer einzigartigen Funktionsweise. Dieses Konzept ist ebenfalls frei-
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.
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
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
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.
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
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.
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
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.
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.
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.
andere Klasse.
Abbildung 4
Einzigartige Erbschaft
Klasse A Klasse B
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
Abbildung 6
Mehrstufige Vererbung
da Klasse B.
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
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.
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,:
4.1UML
Video
UML ist, wie sie auf dem Markt bekannt ist, die Unified Modeling Language
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
Die visuelle Sprache ist ein sehr wichtiger Teil der Entwicklung.
Softwareentwicklung, die auf Objekten basiert, und ebenfalls der Prozess von
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;
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.
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.
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.
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
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;
Mit der Fähigkeit dieser neun Aktivitäten gehen wir zur Entwicklung des
Aktivitätsdiagramm.
Ö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
kein Dokument
Dokument
Wenn Tabellenkalkulationen erforderlich sind
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;
Abbildung 2
Objektklasse
Nome da classe
Attribut der Klasse
Methoden der Klasse
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
definirName(name) definiereName(name)
obterName() obterNome()
definirNome() definirTitulacao(titel)
definierenMatricula(matricula) obterTitulacao
obterMatricula
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
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,
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.
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
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.
•verwendet eine Notation, die der in den ... verwendeten Notation ähnelt
Klassendiagramme;
•zeigt effizient die Beziehungen zwischen den Klassen
innerhalb des Systems;
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
•die hochgradigen Interaktionen zwischen dem Benutzer des Systems und dem System,
e zwischen dem System und anderen Systemen.
uma operação;
•sowohl als auch die generischen Interaktionen des Modells, die alle zeigen
(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.
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
76 Softwaretechnik
Abbildung 7
Aktivierungen Aktivierungen
1: message Eine Nachricht definiert eine besondere Kommunikation zwischen Zeilen von
Leben einer Interaktion.
•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.
Automatische Nachricht
Abbildung 10
Automatische Nachricht
Die eigene Nachricht ist eine Art Nachricht, die repräsentiert die
Invokation der Nachricht derselben Lebenslinie.
1: message
•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
Abbildung 14 •Nachrichtendauer
Dauer-Nachricht
Die Daueranzeige zeigt den Abstand zwischen zwei Zeitpunkten an.
1: message
tempo para uma chamada de mensagem.
•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)
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.
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-
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.
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:
DasAnwendungsfalldiagrammhatdieEigenschaft,dieesvondenanderenunterscheidet.
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).
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.
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.
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.
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.
Das Thema geschieht, von der Eingabe der Daten bis zur erwarteten Ausgabe, immer.
ein Problem lösen wollen.
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.
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
in den Szenarien, die für die Entwicklung von Software erstellt werden.
Verkäufer.
Ein guter Tipp, um die Schauspieler zu finden, ist, einige Fragen zu stellen.
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
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.
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
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 -
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.
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.
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.
Schritt 1
•Kontextualisieren Sie die Bedürfnisse des Systems.
Etappe 2
Identifizieren Sie die Akteure.
Etapa 3
• Dokumentation des Anwendungsfalls.
Mit diesen Schritten abgeschlossen, bleibt uns nur noch, das Modell zu entwickeln.
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.
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
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,
Kunde; durch diesen Code nimmt der Mitarbeiter die Bestellung in Empfang
Falls die Unterschrift des Kunden und das Lieferdatum vorhanden sind.
•Cliente
88 Softwaretechnik
•Manager
Mitarbeiter
Kreditkartenanbieter
Jetzt wollen wir die Anwendungsfälle identifizieren, die in diesem Szenario beteiligt sind.
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
Anwendungsfalldiagramm 89
Ziel Aktivieren Sie das System, um die Rechnung zu erstellen, wenn der Kunde
Anwendungsfall Einloggen
Nebenrolle Finanzmanager
Ziel Das Passwort validieren, um sich anzumelden
Zahlungsnachweis
90 Softwaretechnik
Abbildung 3
Modellierung eines E-Commerce für natürliche Säfte
<<enthält>>
Anfordern
Registrar <<erweitern>> Betreiber
Autorisierung von von der Karte von
Zahlung
Zahlung Kredit
<<erweitern>>
Beratung <<verlängern>>
Manager Rechnung ausstellen
pagamento
Mitarbeiter
eine Lösung, wie Technologie den Menschen bei der Prävention helfen kann
Erkrankungen.
Anwendungsfalldiagramm 91
Etappe 2
Identifizieren Sie die Akteure.
•Identifizieren Sie die Beziehungen zwischen den Akteuren und den Anwendungsfällen.
Etappe 3
• Dokumentation des Anwendungsfalls.
Etappe 2: Anwendungsfalldiagramm
Figura 4
Anwendungsfalldiagramm von HealthTech
<<Inkludieren>>
92 Software Engineering
Schritt 3: Dokumentation des Anwendungsfalls
Quadro 2
Modul zur Parametrierung und Verwaltung der Anwendung
Ohne das Passwort des Administrators sollte kein Zugang gewährt werden.
Quadro 3
Login / Cadastro de usuários / Parametrização do sistema
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.
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.
Geschäftsregeln
Wenn die Biosignale nicht mit den vom Arzt angegebenen Parametern übereinstimmen, dann
RN03
Ein Warnsignal sollte ausgelöst werden.
94 Softwaretechnik
Quadro 5
Warnung vor klinischen Veränderungen
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
(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
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.
Quadro 7
Kontrolle der körperlichen Übungen
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
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
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
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.
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
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
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
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?
Wie viele neue Ärzte greifen jeden Monat auf die App zu?
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
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.
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.
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.
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
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.
Zeitenfolge.
• Zeige, wie Objekte mit anderen in einem interagieren.
besonderes Szenario eines Anwendungsfalls.
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.
deine Kreativität.
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
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
Daten validieren
Antwort von
Zugang
106 Softwaretechnik
Logistikcode Nationalbibliothek Stiftung
ISBN 978-65-5821-067-2