Was sind die verschiedenen Domänen in der Software-Industrie? – Quora
Ich gehe davon aus, dass Sie mit Domänen verschiedene Bereiche in der Softwareindustrie meinen. Diese Antwort wird NICHT jedes Feld abdecken. Aber ich werde versuchen, so viel wie möglich einzubeziehen, basierend auf meinem Wissen in der Branche.
Die Softwareindustrie besteht aus zwei Arten von Unternehmen – Dienstleistungsunternehmen und Produktunternehmen.
Lassen Sie uns verstehen, was ein Dienstleistungsunternehmen ist. Sie bieten Softwareentwicklungsdienste für andere große Softwareunternehmen ODER Regierungsinstitutionen / Finanzinstitute / Krankenhäuser usw. an. Im Allgemeinen haben sie kein eigenes Produkt, aber es gibt einige Ausnahmen.
Verschiedene Rollen / Teams in einem Dienstleistungsunternehmen
Business Analyst: Angenommen, es gibt ein Unternehmen von XYX Software Pvt LTD, das eine Regierung als Kunden hat. Business Analyst ist der Kontaktpunkt zwischen zwei Parteien. Er wird mit der Regierung über ihre Anforderungen diskutieren. Anforderungen sind nichts anderes als die Funktionen, die der Kunde in seiner Software wünscht. Da ein Business Analyst direkt mit dem Kunden interagiert, sollte er über hervorragende Kommunikationsfähigkeiten verfügen.
Projektleiter/Lead: Nehmen wir an, dass der Vertrag zwischen der Regierung und dem Unternehmen abgeschlossen ist. Das Unternehmen wird die Software für govt entwickeln. Die Firma hat das Projekt! Der Projektmanager ist der Leiter des Projekts. Der Manager delegiert Aufgaben an die jeweiligen Teammitglieder, verfolgt Aufgaben und verwaltet das gesamte Team.
Entwicklungsteam: Es gibt verschiedene Phasen des Softwareentwicklungszyklus. Bis jetzt haben wir die Anforderungen vom Kunden. Bevor Sie direkt in die Entwicklungsphase gehen, wird der Lösungsarchitekt / Technische Leiter, der Teil des Entwicklungsteams ist, bzw. der Leiter des Entwicklungsteams die Architektur des Projekts entwerfen. (Manchmal gibt er die Eingaben und lässt die Leute sie entwerfen), um die Software tatsächlich zu implementieren oder zu entwickeln. Architektur oder Infrastruktur ist die Basis eines jeden Projekts. Der Architekt entscheidet, welche Technologie-Stacks für das Projekt am besten geeignet sind. Er / Sie wird unter anderem entscheiden, welche Programmiersprache verwendet werden soll, welche Datenbank verwendet werden soll, welche Entwurfsmuster verwendet werden sollen, welcher Cloud-Anbieter verwendet werden soll. Sobald die Architektur und das Design fertig sind, kommt die Implementierungsphase. Abhängig von der Art der Software besteht das Team aus Webentwicklern, die über Kenntnisse in der Front-End-Entwicklung verfügen (Wenn Sie eine schön aussehende Website sehen. Vielen Dank an einen Webentwickler!). JavaScript ist die beliebte Front-End-Entwicklungssprache und es gibt Frameworks wie ANGULAR und ReactJS. Um es einfach zu halten, können Sie sagen, dass Frameworks die Arbeit des Entwicklers erleichtern. Es gibt Leute, die sich um die Backend-Entwicklung kümmern. Aufgaben, die im Hintergrund ablaufen. Zum Beispiel, wenn Sie auf die Amazon-Website gehen und nach etwas suchen. Es liegt in der Verantwortung des Backend-Entwicklers, den Code zu schreiben, der Ihre Anfrage versteht, eine Verbindung zur Datenbank herstellt und das zurückgibt, wonach Sie gefragt haben. Ich vereinfache es. Es ist viel mehr als das! Java ist die Backend-Sprache, die ich kenne und an der ich arbeite. Es gibt auch andere. Sowohl Webentwickler als auch Backend-Entwickler arbeiten zusammen, um die Software zu erstellen. Es gibt ein anderes Profil, das als Full-Stack-Entwickler bezeichnet wird und über Fachwissen in beiden Bereichen verfügen soll.
Qualitätssicherungsteam: Nehmen wir an, ein kleines Feature wird erstellt. Es muss gemäß den Erwartungen des Kunden funktionieren. Das Qualitätsteam stellt sicher, dass alles, was entwickelt wird, in gutem Zustand ist und wie erwartet funktioniert. Es gibt zwei Arten von Tests, dh manuell und automatisiert. Beim automatisierten Testen schreibt der Tester den Code. Es gibt verschiedene Frameworks. Selenium-Java ist am beliebtesten, um den Testprozess zu automatisieren.
Für ein Dienstleistungsunternehmen sind dies die Hauptfunktionen. Ich habe vielleicht einige verpasst, aber du hast die Idee.
Für ein produktbasiertes Unternehmen, das ein eigenes Softwareprodukt entwickelt (Uber, Ola, Amazon, Flipkart, Adobe Dies sind Produktunternehmen), gibt es neben den oben genannten Teams noch einige weitere.
UX-Team: Dieses Team spielt eine große Rolle in der Designphase des Produkts. Sie werden ein Brainstorming durchführen und versuchen, die Perspektive des Benutzers zu analysieren. Was wird den Benutzern gefallen? Wie mache ich eine Website benutzerfreundlich? Wenn Sie eine schöne und einfach zu bedienende Website sehen. Danke einem UX Designer! Sie werden Modelle erstellen. Sie verfügen über Kenntnisse in Adobe Illustrator und Photoshop.
Datenbankadministration: Datenbank ist ein integraler Bestandteil jedes Projekts und es ist gut, ein engagiertes Team dafür zu haben. Die Hauptaufgabe besteht darin, die Datenbank zu entwerfen, zu implementieren und zu pflegen. SQL ist die Grundvoraussetzung, um Datenbankadministrator zu werden.
Bereitstellungsteam: Sobald die Software entwickelt und gründlich getestet wurde, sollte sie an den Client geliefert oder auf den Servern gehostet werden, auf die der Client zugreifen kann. Dies wird vom Bereitstellungsteam übernommen.
Andere Domänen umfassen Leistungstest-Team, Anwendungs-Support-Team.
Leave a Reply