Was gehört alles in eine Software Spezifikation?

Hallo Zusammen,
ich muss für eine externe Programmierfirma eine Programmspezifikation schreiben. Weiss jemand von euch was alles in so einem Dokument erwähnt werden muss? Es geht konkret um ein ABAP Program (SAP).

Vielen Dank für eure Hilfe.

Gruss
MilkShake

Programmspezifikation

Was meinst du denn damit ? Anwenderforderungen, Technische Konzeptionierung oder Schnittstellenbeschreibung ?

Auch kommt es drauf an, wie du arbeitest, z. B. ob ihr objektorientierte Analyse/Design macht, wo die Anforderungen als (Business) Use Case etc. beschrieben werden…

Programmspezifikation

Was meinst du denn damit ? Anwenderforderungen, Technische
Konzeptionierung oder Schnittstellenbeschreibung ?

Gute Frage, ich denke ich muss von allem etwas haben,z.B.
Das Programm soll folgende Eingaben erlauben…
Folgende Felder auf einer Liste ausgeben…
Es soll nicht in OO Programmiert sein…
usw.

Ich hoffe du kannst damit etwas anfangen.

Vielen Dank!

Gruss
MilkShake

Gute Frage, ich denke ich muss von allem etwas haben,z.B.
Das Programm soll folgende Eingaben erlauben…
Folgende Felder auf einer Liste ausgeben…

Ich hätte vieleicht anders fragen sollen: Bist du Auftraggeber oder Programmierer der Software ? Als Auftraggeber würde ich den Wisch „Anwenderforderungen“ oder schlicht „Anforderungen“ nennen. Dann kannst du technische Details ruhig weglassen. Als Entwickler würdest du dann wohl ein „Techniches Konzept“ oder „Software Design“ erstellen, je nach dem ist Sin un Zweck dieser Dokumente und somit ihr Inhalt anders.
Ich kenne halt mehr OO-basierte Entwicklung und Analyse. Aber man kann sicher auch nur die Analyse objekt-orientert machen und strukturiert programmieren. Eigentlich bezieht sich deine Frage ja auf Inhalt/Struktur von Dokumenten.

In ein technisches Konzept würd ich mal Sachen reinpacken wie:

  • Anforderungen (zur Kontrolle, dass du alles hast)
  • Tabellen/Datenmodelle (ERD)
  • Beschreibungen der Tabellen und ihre Beziehungen
  • Dialoge mit Beschreibungen der Felder (z. B. was wo eingegeben werden kann)
  • Beilagen (Listen etc.)

evtl. Aufwandschätzugnen der verschiedenen Funktionen

Hallo,
vielen Dank für deine Antwort. Ich bin der Auftraggeber und der Programmierer sitzt in Indien. Ich werde deine Hinweise berücksichtigen und harre dann der Dinge die da kommen werden :wink:

Nochmals vielen Dank.

Gruss
MilkShake

Als Auftraggeber würde ich mal folgende Kapitel vorsehen:

  • Systemidee
    Kurz; etwa auf einer halben Seite beschreiben, was du eigentlich willst. Was soll mit dem System gemacht werden etc.

  • Anforderungsbeitragende
    Evtl. mehr für dich, aber auch den Entwickler für Rückfragen. Alle Personen auflisten die Anforderungen spezifizieren können/dürfen und Informationen liefern könnten, die ihm helfen.

  • Anforderungen
    Natürlich eine Liste (unterteilt in Muss/kann) was du willst :wink:

  • Rahmenbedingungen
    Irgendwelche sonstigen Dinge die’s zu beachten gibt, z. B. Multi-User-Fähigkeit, gesetzliche Bestimmungen etc.

DIe Listen würd ich in deinem konkreten Fall auch noch irgendwie spezifizieren.
Evtl. willst du auch Tabellen vorgeben oder es sollen vorhandene genutzt werden, dann würde ich diese Infos auch entsprechend aufführen.

Wie du letzlich aber die Funktionalitäten beschreiben willst ist nicht so mein Fachgebiet, ich kenn’s eben nur vom OOAD-Ansatz her. Use Cases machen hier wohl nur begrenzt sinn… Ich würde jedenfalls für jede Programmfunktion ein Unterkapitel oder so vorsehen.

Ein ABAP-Programm in Indien entwickeln lassen, na klasse. Ich weiß nicht, wie das konkret technisch gehen soll. Das R/3 mit seiner klassischen Client-Server Architektur erfordert doch geradezu, dass der Programmierer direkten Zugriff auf das (Entwicklungs-)System hat. Jedes R/3 ist doch ganz speziell, mit eigenen Customizing-Einstellungen, Z-Programmen und insbesondere kundenindividuellen Tabellen. Wird den Indern übers www ein Remote-Zugriff auf das System eingerichtet oder müssen die versuchen, das Zielsystem in Indien möglichst genau nachzubauen? Mir ist das alles ein Rätsel, ich habe aber schon gehört, dass es gehen soll.

Am besten, Du fragst mal einen erfahrenen ABAP-Entwickler, was er so zum Programmieren für Informationen benötigt. Da die Inder wohl kaum direkten Zugriff auf das R/3 des Kunden haben werden, brauchen sie darüber hinaus detaillierte Infos zum System, insbesondere zu den involvierten kundenindividuellen Tabellen (Z-Tabellen).

Gruß
Thomas