• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

gute oder schlechtes konzept

gini

New member
hi leute!

ich habe diesmal keine problem mit irgendeinem quelltext, sondern ich würde gerne mal eure meinung zu einem konzept hören, das ich mir überleget habe. deshalb weiß ich auch nicht wo ich das hier posten soll. ich hoffe die mods schieben mich in den richtigen bereich! :)

also
habe eine datenbank um die mitglieder verwalten zu können. in meiner version habe ich mich für mysql entschieden, weil ich auf der hp auch eine datenbank (mysql) benutzt wird. und der abgleich dann am einfachsten ist. oder?

die verwaltenung der db und allerlei anderer sachen wollte ich durch php und html und mysql erreichen.

leider weiß ich nun nicht ob das ein gute lösung ist oder nicht!

hardware mäßig werden ein normaler pc (büro), ein leistungsstarker server und 3 oder 4 thin clients vorhanden sein. das ganze netzwerk soll auf linux basieren bzw laufen und die clients sollen mit dem kiosk prinzip verwaltet werden. auf dem server sollen apache2, mysql & php installiert werden.

möchte gerne eure meinung zu meinem entwurf wissen und natürlich auch verbesserungsvorschläge bzw änderungsansätze!!!

mfg gini
 
Bisschen dünn für ein Konzept...

Vielleicht solltest Du erstmal darlegen, was denn das Ziel ist, welche Anforderungen es gibt, bevor Du vorschnell die Architektur festlegst und Rechner einkaufst.
 
na rechner gekauft habe ich ja auch noch keine!!! :)



also das ganze soll eine soll eine mitgliederverwaltung werden.

die aber nicht nur die adressen und so verwalten soll, sondern auch den verzehr im restaurant, die einkäufe im shop, booking times und handycap etc.
ein gewisser teil dieser daten soll auch in eine zweite db gechrieben werden auf die man zugriff übers internet hat.

ich würde sagen das is es im groben!
 
Dann antworte ich mal recht grobkonzeptmäßig. Klar kannst du so machen. Dann leg mal los und später wenn du viel Arbeit gemacht hast kannst du dann merken, das es vielleicht nicht so klappt.
Ich möchte damit sagen, das ein Grobkonzept nicht dafür geeignet ist so fundierte Aussagen zu treffen.

Um das zu können, was letztendlich hier wohl Albu am besten könnte, sind da ein paar Überlegungen anzustellen. Und ein Konzept ist das was du vorgetragen hast noch lange nicht.

Mir stellt sich die Frage wo die Schnittstelle der zu verarbeitenden Daten endet.
Klar reicht dein Grob-Konzept aus um Mitglieder zu listen und zu verwalten nebst Shop und so.

Mir scheint aber du möchtest ein richtiges Verwaltungsprogramm erstellen? Von der Kundenstammdatenverwaltung / Artikelstammdaten bis hin zur Kassenführung? Anbindung an ein Finanzverwaltungssystem? Statistiken?

Da wäre wohl was anderes fällig als PHP!?
 
okay ich gebe ja zu das mein konzept noch recht grob ist!
Mir scheint aber du möchtest ein richtiges Verwaltungsprogramm erstellen? Von der Kundenstammdatenverwaltung / Artikelstammdaten bis hin zur Kassenführung? Anbindung an ein Finanzverwaltungssystem? Statistiken?
da hast du schon so ziemlich das zusammengefaßt was das programm enthalten soll!
php ist wohl nicht die beste, aber einfachste lösung! oder? deshalb poste ich hier ja auch! java wäre auch noch ne möglichkeit.
was meint ihr denn was der beste weg ist das ganze umzusetzen?

mfg gini
 
Mach Dir erstmal Gedanken über Deine Anforderungen. Vermutlich hast Du sie alle im Kopf (oder denkst das zumindest), aber die Tatsache, daß Du sie hier nicht klar formulieren kannst, zeigt, daß Du eigentlich noch gar nicht so genau weißt, was Du alles brauchst und was alles als Rahmenbedinung im Weg stehen könnte.
Wenn Du dann Deine Anforderungen hast (Pflichtenheft), dann kannst Du Dir zu den einzelnen Punkten überlegen wie sie umzusetzen sind, und welche Technologien in Frage kommen (Grobkonzept). Außerdem legst Du fest welche Features in der ersten Version umgesetzt werden und welche in späteren Versionen dazukommen. Dazu mußt Du Prioritäten festlegen. Natürlich sollten die Punkte der nächsten Version mit der ersten Version kompatibel sein, soll heißen, daß Du natürlich vorrausschauend planen mußt, welche Technologien wie zusammenarbeiten können oder werden, damit Du hinterher nicht feststellst für Feature X brauch ich eigentlich Technologie Y die aber nicht zusammen mit Feature Z oder Technologie W auf dem Server läuft.

Das Aufsetzen auf LAMP (Linux, Apache, Mysql + PHP / Perl) ist in den meisten Fällen nicht verkehrt, da man dadurch auf einen riesigen Fundus an fertigen Open Source Lösungen zugreifen kann, die bestimmt schon einige Teile Deiner Problematik abdecken. Ob diese allerdings in gewünschter Form zusammenarbeiten oder ob es leicht ist dies selbst dazu zu programmieren steht dann auf einem anderen Blatt. Dies findest Du aber bei der Grobkonzepterstellung heraus, während Du die verschiedenen Technologien und Tools evaluierst.
 
@gini:
mach zuerst mal ein ADD (Architectural Design Document - wie das ganz zusammenhängt,...)

und anschließend schreibst du ein DDD (Detailed Design Document)

würd ich mal so vorschlagen, zumindest mach ich das so! :D
 
Ein Konzept? Langweilig, einfach loslegen... sonst endet das nur wieder in Beamtenarbeit. Nichts wird getan! Höhö ;)
Arbeitest du mit mehreren Leuten an dem Projekt zusammen?! Falls ja, dann wäre ein ordentliches Konzept schon von Nöten, dass man dann gemeinsam bespricht und verbessert. Aber wenn du schon hier im Forum fragst, denke ich mal, du machst das alleine. Und für mich hört sich das Projekt nicht so aufwändig an.

Welches Ziel du genau verfolgst ist mir nicht klar geworden. Ohne die Information kann man auch schlecht die Idee bewerten.

@LG: Erklär mal die beiden Begriffe ADD und DDD würde mich nur mal nebenbei interessieren. Wäre nett von dir.
 
@ Spider: du hast es so gewollt!

bevor man mit allem anfängt!
URD (User Requirements Document):
Hier hält man fest, welche Anforderungen der Benutzer haben will, es sollte so geschrieben sein, dass er es versteht (also nicht zu technisch).
Das Dokument sollte so genau sein, dass man es als Checkliste verwenden kann. Kann man neben jedem Punkt ein OK schreiben, ist das entwickelte Produkt fertig. Es wird immer grauphasen geben!
Es entsteht beim Gespräch zwischen Benutzer und dem Projektmanager (dir zb)

Bsp.:
UR1 (User Requirement 1):
Die Software muss auf Maschine ... mit der Steuerungseinheit ... laufen.

UR2:
Wenn ... Fall eintritt muss ... passieren
(also auch was gemacht werden muss, damit eine Maschine bsp nicht defekt wird)

usw.

Das Handbuch zum API:
Hier werden alle Funktionen niedergeschrieben und kurz dokumentiert, damit das Weiterentwickeln leichter fällt (Wartung, Skalierbarkeit der Software)

Bsp.:
- Das Programm startet mit dieserFunktion
diese Funktion macht das und das
aus ihr werden folgende Funktionen aufgerufen

-eineAndereFunktion
sie macht das und das

usw.

SRD (Software Requirements Document):
kurz: Übersetzung des URD ins technische. dh.: es kann erforderlich sein, dass ein UR gleich mehrere SR hervorruft! Bei Änderungen aufgrund von Komplikationen folgt eine Rücksprache mit dem Auftraggeber!

SR1 (Software Requirement 1):
-Hardware laut URD
Konsequenzen daraus werden hier aufgelistet

SR2:
-Wahl der Programmierumgebung
welche Sprache
welches Betriebssystem,...

usw.

ADD:
wie hängt welche Funktion usw. mit einer andren zusammen (Bleistift und Papier), es muss so genau gehalten sein, dass sich jeder Programmierer auskennt, dass aber die Skizzen auch weggelassen werden könnten!
Es kann je nach Programm unterschiedlich aussehen!

Bsp.:
Zerlegung in Module
trifft irgendein Zustand für Modul 1 zu, dann müssen/dürfen wir das und das machen, was kann zusätzlich eintreten (Fehlertoleranz)

trifft irgendein Zustand für Modul 2 zu,
dann...

usw.

DDD:
zusammenfassung der Konstanten, Variablen nach Modulen oder auch als eigenes Kapitel

Bsp.:
Variable xy:
wird für das und das verwendet

tritt in fuktionen
so uns so auf

sonstige Bermerkungen/Bedingungen

Konstante az:
...

usw.

Implementierung
nun wird ganz genau nach dem DDD vorgegangen und implemetiert!

So genau genug? Noch Fragen?

gleich los zu coden, also Extreme Programming (XP - aha, daher hat Windows seinen Namen), halte ich nur für ganz kleine Projekte für sinnvoll!

Bei großen und riesigen Programmen sollte die oben genannte Methode eingesetzt werden - so wäre es richtig, da, wie bereits erwähnt die Weiterentwicklung dann leichter fällt!

Bei gini reicht glaube ich ein kleines ADD und ein DDD. Das DDD wenn er alleine entwickelt, kann er kurz in Stichworten zusammenfassen (er sollte sich schon noch auskennen)!
 
so aha jaja, staun, was du alles weißt. Na Spider hättste nicht gedacht was? ;)

Find ich aber mal gut wenn hier bisschen gekompetenzt wird.

Wie auch immer, gini wird, nehme ich an, die Sprache mit der das verwirklicht wird noch nicht beherrschen sondern am Projekt lernen?

Falls das so ist, laß dich nicht einschüchtern. Mit was sind denn Warenwirtschaftssysteme so programmiert?
C, Java, aber ich glaub nicht PHP oder?

Und wenn Gini wirklich diese ganzen Planungslisten fertig hat, dann könnte sie eigentlich auch nicht entscheiden mit was es geschrieben werden muß. Da müsste man doch wohl die Sprachen können um zu vergleichen oder?
 
@bine:
Wär schon gut wenn man die Sprachen kann! Manchmal lohnt es sich jedoch auch eine neue zu lernen! Den Sprachen sind immer für bestimmte Aufgabengebiete mehr oder weniger gut geeignet.

ich denk mir zwischen Java und C folgendes:
- Java ist langsam
+ Java kann im Web als Applet eingesetzt werden
+ Java ist plattformunabhängig, was man von C nicht ganz behaupten kann!
...
 
Letztendlich sind es nur andere Namen für Pflichtenheft, Grobkonzept und Feinkonzept, aber das Vorgehen ist ähnlich wenn nicht gar identisch.

Zu den Sprachen: also grundsätzlich ist die Programmiersprache erst im letzten Schritt, der Umsetzung / Implementierung wirklich wichtig. Natürlich haben die Spachen unterschiedliche Eigenschaften und Rahmenbedinungen, die in die vorgelagerten Schritte mit einfliessen müssen (hier z.B. SRD).
Auch ist es leichter oder vielmehr tut man sich leichter, wenn man die verwendete oder vorgesehene Sprache beherrscht, zwingend erforderlich ist es allerdings nicht. Letztendlich ist es dann eine Zeit und/oder Kostenfrage, denn eine Umsetzung in einer mir fremden Sprache setze ich vom Aufwand her vermutlich wesentlich höher an, als eine Realisierung in einer mir vertrauten Sprache, die aber vielleicht weniger geeignet ist ein bestimmtes Problem zu lösen als die erstere, wodurch ich vielleicht ebenfalls mehr Zeit benötige, weil ich deren Unzulänglichkeiten umschiffen muß.
Das Hauptproblem, bzw. der Hauptaufwand beim Lernen einer neuen Sprache ist nicht die Sprache selbst, bzw. deren Syntax - so unterschiedlich sind die Sprachen nämlich meist gar nicht - sondern liegt in den Bibliotheken und im Workflow begraben.

Desweiteren ist noch gar nicht gesagt, daß eine einzige Technologie in diesem Fall die optimale Lösung bietet. Es kann durchaus sein, daß die Middleware auf dem Server in Java umgesetzt wird, während Teile des Frontends in HTML und ein Teil in einer Flash Anwendung gehalten ist.
Zusätzlich können proprietäre Windows Clients direkt (ohne Web) auf die Datenbank zugreifen.
Wie gesagt es kommt eben ganz darauf an, was die Anfordrungen (Use Cases) sind. Erst wenn die feststehen kann man sich eine Architektur ausdenken.
 
Danke LG, das war ein neues Gebiet für mich, obwohl ich nicht glaube, dass ich es in nächster Zeit verwenden werde ;)

@bine, ich habe mir schon gedacht, dass LG sich mit sowas auskennt. Ich habe ja mal mit LG über Windoze gesprochen und dabei habe ich festgestellt, dass er sehr viel Theoretisch lernt.
 
ja, aber erst ab morgen!

ja die mappen hab ich gelernt, aber da gehört genauso die praxis auch dazu!
also alles was ich theoretisch kann, kann ich praktisch auch! nur muss ich es irgenwie lernen und das mach ich meist theoretisch! logisch oder?
 
hey hey,
erstmal vielen dank für eure ganzen posts!
habe jetzt auch verstanden was das problem bei der ganzen sache ist! ihr könnt ja nicht in meinen kopf gucken! :(
da ist ein fertiges konzept. :cool:
naja ich werde mich morgen mal hinsetzen und versuchen das ganze konzept klar und verständlich aufzuschreiben.
(is bestimmt auch von vorteil für mich!!! hihi)
das konzept werde ich euch denn man posten.

@ spider: bin nicht alleine, sondern wir sind zu zweit!!!

@ bine: naja die sprache die man letzt endlich benutzt ist ja eigentlich egal! oder? hauptsache es ist die obtimale sprache für das problem. damit man ohne riesen umwege zu seine lösung kommt!!!

grezzz gini
 
Zurück
Oben