Ankündigung

Einklappen
Keine Ankündigung bisher.

Vorgehensweise bei der Umsetzung eines Projektes

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Vorgehensweise bei der Umsetzung eines Projektes

    Hi.

    Ich bin grade dabei, ein Webprojekt unter anderem mit PHP zu realisieren.

    Grundlegend funktioniert es auch schon. Wenn auch noch auf recht einfache Weise, es werden noch mehr statische Inhalte eingebunden, als durch php Scripts gemacht wird. Und der Teil, der schon PHP ist, gleicht einem Flickenteppich. Hier gefrickelt, da ne Quick+dirthy Lösung.

    Ich hab bei meinem Projekt überall Baustelle und weiß gar nicht wo ich genau arbeiten soll.
    Statt mal hier und mal da was zu mache, wäre es wohl besser, erst mal 1 Teil richtig zu machen. Aber mit was anfangen?
    Gucken, dass das CSS und Templatesystem stimmt, und das Template möglichst browserkompatibel machen?
    Oder erst mal Menü und Contentsystem fertig machen und auf Browserkompatibilität vorerst verzichten?
    Gucken dass ich das Usermanagement zuerst mache, weil das auch ein Grundstein der Seite ist?

    Was würdet ihr zuerst machen, und wie arbeitet ihr beim Programmieren?
    Macht ihr euch ne Liste wo ihr die Punkte dann nacheinander abarbeitet?


  • #2
    Das ist doch total
    - subjektiv
    - projektabhängig
    - anhängig von der Art, wie man Sachen umsetzt und welchen Wissensstand man hat

    Die Frage ist einigermaßen sinnfrei.

    Vgl.

    C/C++ Forum :: Wie werden (grössere) Projekte geplant?
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Hallo e.tech,

      basierend auf den vorliegenden Informationen tendiere ich zunächst zu einer Oprimierung im Frontend-Bereich. Hier gilt es, definierte und wiederverwendbare Strukturen (z.B. Module einer Seite) auszumachen, abzufassen und einzusetzen. Beispiele sind hier CSS-Klassen, HTML-Fragmente und Templates, die mehrmals eingesetzt werden können und in sich optimiert sind (HTML-Qualität, HTML-Gewicht, JS-Code-Qualität, ...).

      Anschließend kannst du dir das Thema Backend vornehmen. Warum in dieser Reihenfolge? Es ist a) schöner zunächst positive, visuelle Ergebnisse als Motivation zu haben und b) muss ein Frontend ohnehin gebaut werden.

      Sofern es zentrale Module wie ein Usermanagement gibt, sollten diese in einer vorangehenden Analyse der Anforderungen und der bestehenden Funktionalität zuerst behandelt werden. Oft ist es sogar hilfreich, zentrale Services zuerst zu gestalten, weil diese dann aus Sicht des Software-Designs nicht mit Sonder-Lösungen und Gefrickel überfrachtet sind, sondern (im Projektverlauf noch) eine klare Struktur haben. Weiter sind Usermanagement und andere Module (z.B. Link-Generierung) zentraler Bestandteil der Software.

      Sofern das Projekt eine Anzahl von Seiten ~> 10 und dynamischen Komponenten ~>3 erreicht hat, ist es im Bereich des Frontends ebenso an der Zeit über Tools nachzudenken, die die Zahl der kopierten Code-Zeilen zu minimieren verhilft. Warum diese konkreten Zahlen? Aus meiner Erfahrung finden sich in 10 HTML-Seiten mindestens 5 Fragmente, die auch in generische Templates ausgelagert werden können und somit Arbeit zur Pflege minimiert werden kann. Ferner haben dynamische Module in einer Seite, in der Usermanagement eine Rolle spielt zu mindestens 40% gleiche Funktionaliät, die sich in der Regel durch geeignete Tools oder gemeinsame Service, die auf Tools standardisiert erstellt wurden wartbarer und einfacher umsetzen lassen.

      Meine TODO-Liste sieht also wie folgt aus:
      • Analyse und Dokumentation der Anforderungen und zentralen Elemente der Software
      • HTML / CSS optimieren und bereinigen
      • Ähnliche und/oder gleiche Fragmente auslagern und zentral nutzbar machen (z.B. durch Templates
      • Ähnliche und/oder Funktionalität als gemeinsame Services zur Verfügung stellen.

      Hast du das hinter dir, können wir über Feinheiten sprechen. Wichtig bei der Betrachtung der zentralen Services sollte auch ein kurzes Markt-Screening sein, welche Module du "zukaufen" kannst. In den genannten Bereichen gibt es sicher einfach für dich einsetzbare und bewährte Tools, die dir die erneute Implementierung abnehmen (z.B. Usermanagement).
      Viele Grüße,
      Dr.E.

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      1. Think about software design before you start to write code!
      2. Discuss and review it together with experts!
      3. Choose good tools (-> Adventure PHP Framework (APF))!
      4. Write clean and reusable software only!
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      Kommentar


      • #4
        Danke für deine ausführliche Antwort.

        Nunja, eigentlich würde ich ja ein fertiges CMS einsetzen, aber ich hab noch keins gefunden, was für meinen Fall passt.

        Was das zukaufen von Modulen angeht, kommen nur Sachen in Frage, die nix kosten. Also am Besten GPL oder so.
        Es darf nix kosten, aber eine spätere kommerzielle Nutzung darf auch nicht ausgeschlossen sein.
        Ausserdem muss es nachher alles wie aus einem Guss wirken, trotz Modulen und Komponenten aus unterschiedlichen Quellen.

        Warum kein fertiges CMS nehmen? Ganz einfach, ich hab kein CMS gefunden, was die Vorteile von einem CMS und die Vorteile von Dateibasiertem Hosting vereint. Also: Text schreiben und Content erstellen: ganz klassisch offline und hochladen, und nur noch einbinden. Außerdem das komplette Menü und die Startseite sowie dynamischen Content wie "news" online verwalten.
        Ich brauche für meine Seite keinen Online WYSIWG Editor. Ich brauche kein komplexes Autorensystem. Ich will dafür den kompletten Content einfach als designlose XHTML Dateien ablegen und das Layout als CSS Layout. Und die hochgeladenen und eingebundenen XHTML Dateien sollen wirklich eingebunden werden, und nicht nur simpel verlinkt oder als Frame eingeblendet . Also mit PHP einlesen und parsen und später wieder ausgeben. Die CMS Systeme, die ich getestet habe, konnten einzelne HTML Dateien nur verlinken oder als Frame einbinden. Oder man musste alles mit Copy+Paste in den CMS Editor einkopieren und über das Autorensystem abspeichern.

        Kommentar


        • #5
          Wenn ich mir die Anforderungen so durchlese, frage ich mich, wo das Problem besteht. Du schreibst im ersten Post von Baustellen, so weit das Auge reicht, überall Gefrickel und Du wüsstest gar nicht, wo Du anfangen sollst.

          Wenn ich mir jetzt die Anforderungen anschaue, kommt mir der Gedanke, dass Du mit der Webentwicklung vielleicht noch nicht so ganz auf Du bist - Ist ja auch nicht verwerflich. Allerdings solltest Du Deine Anforderungen überdenken, denn diese widersprechen sich teilweise:

          Vorteile von Dateibasiertem Hosting vereint
          Was für Vorteile gibt es bei einem CMS im Gegesatz zu DB-basierten Systemen?

          Text schreiben und Content erstellen: ganz klassisch offline und hochladen, und nur noch einbinden
          Das sind schon mal drei Arbeitsschritte, die beinahe jedes CMS in einem vereint.

          Außerdem das komplette Menü und die Startseite sowie dynamischen Content wie "news" online verwalten
          Wieso müssen die nicht offline verwaltet werden können? Oder anders herum: Warum muss man die Texte nicht auch online verwalten können? Warum sind Startseite und News dynamisch im Gegensatz zu den anderen Texten?

          Nächste Sache: Das Menü zu verwalten ist ein falscher Ansatz. Was ist, wenn es mehrere Menüs gibt? I. d. R. ist es einfacher und meist auch ausreichend, ein Menü anhand einer Seitenstruktur zu generieren. Du willst schließlich nicht das Menü konfigurieren, sondern dem Besucher eine Navigationsmöglichkeit bieten, die die Website widerspiegelt.

          Und die hochgeladenen und eingebundenen XHTML Dateien sollen wirklich eingebunden werden, und nicht nur simpel verlinkt oder als Frame eingeblendet... CMS Editor einkopieren und über das Autorensystem abspeichern.
          Wieso nicht gleich im Editor schreiben? Die meisten CMS bieten es an, diesen zu deaktivieren, so dass man in eine reine Textarea schreiben kann.

          Ich will dafür den kompletten Content einfach als designlose XHTML Dateien ablegen
          Warum das? Willst Du der einzige sein, der mit Deinem "CMS" arbeitet? Ich muss Dir sagen, dass die meisten Leute keine Lust haben, sich in HTML & Co. einzuarbeiten, nur weil sie einen Text auf eine Webseite stellen wollen.


          Abschließend: Für mich sieht das so aus, als wolltest Du sämtliche Nachteile aller CMS ineinander vereinen. Sorry - Ist aber so..

          Alles, was Du willst, ist in vorhandenen CMS schon umgesetzt - und zwar wesentlich besser und effizienter. Wenn Du kein Autorensystem (Ich denke mal, Du meinst Benutzerverwaltung mit Rechten und was dazu gehört) benutzen willst, bist Du auch nirgends gezwungen, es zu verwenden.

          Kommentar


          • #6
            Du hast vollkommen recht: Ich bin in Sachen PHP noch ein Anfänger.
            Ich mache zwar seit fast 10 Jahren Webseiten, aber halt nur überwiegend statische Seiten.
            Seiten die einmal online gestellt werden, aus max 10 Seiten bestehen und nur selten aktualisiert werden.
            Man könnte auch Web-Visitenkarte sagen.
            Das sind dann so typische einfachst-Webauftritte mit Startseite, Kontaktseite, Impressum, vielleicht noch 3-5 Infoseiten und fertig.
            Bisher hat das immer gereicht.
            Warum sollte ich für sowas einfaches ein ganzes Typo 3, Joomla, Drupal oder sonstwas drauf knallen?

            Was ich vor habe ist im Grunde nicht mehr den Statischen Webseiten durch eine dynamisch erzeugte Startseite mit der Möglichkeit, News zu posten, etwas Dynamik einzuhauchen.
            Dazu noch ein dynamisch erzeugtes Menü und eine Online-Dateiverwaltung. Mehr isses eigentlich nicht.
            Es sollte eigetlich auch ein gutes "Lernprojekt" sein.
            Aber selbst das ist schon etwas größer als ich eigentlich dachte.
            Und aufgeben und doch nen CMS mit vorgefertigtem Template drauf knallen, kommt allein schon deswegen nicht in Frage, weil es eine persönliche Niederlage wäre.
            Dann lasse ich lieber die HTML/CSS Seite mit billigem PHP Menü drauf so wie es jetzt ist und übe im Hintergrund erst mal an noch einfacheren Sachen.
            Das ist wenigstens selbst gemacht, und das Menü ist auch schon halbwegs brauchbar.

            Im Moment ist das Menü übrigens komplett dynamisch. Da gibts auch kaum was dran zu verwalten. Die Hauptmenüpunkte entsprechen Ordnern im Dateisystem, die Untermenüpunkte Dateien in diesen Ordnern. Durch ne Config Datei im Rootverzeichnis der Seite und in den Unterordnern kann der Text auf den Menüpunkten angepasst werden oder Dateien/Ordner ignoriert werden. Die Dateien/Ordner mit Namen "intern","data", "temp", "index" "config" usw werden immer ignoriert.
            Wenn kein Ersatztext in der Config drin steht, wird einfach der Ordnername bzw Dateiname ohne Endung angezeigt. Und zwar so wie im Filesystem abgespeichert. Nur erster Buchstabe automatisch immer groß.
            kontakt.php wird also z.B. den Menüpunkt Kontakt.
            Aber eben weils da nix zu verwalten gibt, erscheint mir als das etwas zu einfach gehalten.
            Die maximale Menütiefe ist übrigens 2. Es werden nur die im Root Verzeichnis enthaltenen Ordner und Dateien ausgewertet, sowie die Dateien in diesen Ordnern. Tiefer gehende Ordner werden ignoriert.
            Ich wollte keine Iteration programmieren (erschien mir noch zu komplex), sondern nur linearen Code mit einer Schleife.
            Ausser dem Menü und dem Counter ist der Rest der Seite noch fast reines HTML, das nur wegen dem Menü-Include als PHP Datei gespeichert ist.

            Kommentar


            • #7
              kommt allein schon deswegen nicht in Frage, weil es eine persönliche Niederlage wäre.
              Ok - Das verstehe ich. Allerdings solltest Du das dann vielleicht lieber erst einmal in einem Privatprojekt fortführen.

              Warum sollte ich für sowas einfaches ein ganzes Typo 3, Joomla, Drupal oder sonstwas drauf knallen?
              Es muss ja nicht gerade eines davon sein - schon gar nicht Typo3. Aber Contao ist z. B. ein ziemlich gut benutzbarer Vertreter seiner Art.

              Es geht ja nicht darum, klein beizugeben, sondern darum, effizient und produktiv Seiten zu erstellen.

              Ich persönlich arbeite seit mehreren Jahren an einem Framework - das aber eben nur nebenbei, während ich berufsmäßig mit bewährter Software arbeite. Ich glaube, am Anfang ist jeder davon besessen, alles von Grund auf selber zu machen, aber im Profibereich hat das eben nichts verloren, besonders, wenn ein klares Konzept und das Wissen zur Umsetzung fehlen.

              Bisher hat das immer gereicht.
              Früher hatten die Menschen auch kein fließend Wasser und Strom Der Vergleich ist zwar an den Haaren herbei gezogen, hinkt aber gar nicht mal so sehr.

              Irgendwann kommen Deine Auftraggeber vielleicht an und sagen:"Mein Bekannter hat mir erzählt, er kann das und das mit seiner Seite total leicht umsetzen. Ich will das auch!" Und jetzt stell Dir vor, dass ist eine Funktionlität wie z. B. ein dynamisches Kontaktformular. Dann würdest Du anfangen, da irgendeine Lösung zusammen zu basteln, die ungeheuer viel Zeit kostet und wahrscheinlich auch nicht annähernd so viel bietet wie die des Bekannten. Mit einem fertigen CMS wäre das kein Problem gewesen. Verstehst Du, was ich meine?

              Kommentar


              • #8
                Zitat von xm22 Beitrag anzeigen
                Ok - Das verstehe ich. Allerdings solltest Du das dann vielleicht lieber erst einmal in einem Privatprojekt fortführen.
                Das sind ja Privatprojekte für mich und Bekannte. Eine meiner Seiten könnte man auch schon als gewerblich einstufen. Momentan ist noch ne simple HTML "Platzhalterseite" drauf, aber da werde ich wohl ein fertiges System installieren, ein CMS mit Shopfunktion. Bei der Seite isses in meinen Augen auch gerechtfertigt, ein vollwertiges CMS zu verwenden. Bei den Miniwebseiten hingegen ehr weniger.

                Ich hab auch schon 2-3 Webseiten für Firmen gemacht. Das waren Firmen, bei denen ich beschäftigt war. Kleine Firmen mit weniger als 20 Mitarbeitern.
                Die wollten hauptsächlich ne eMailadresse mit eigener Domain und "Hauptsache im Internet vertreten-Miniwebseite".
                Ich hab Beruflich mit Webdesign gar nix zu tun, und mit IT nur beiläufig.
                Anno 1999-2005 war das egal. Da hat man einfach nen Mitarbeiter das nebenbei machen lassen.
                Die von mir erstellten Firmenseiten existieren aber nicht mehr, das haben die mittlerweile alle professionell neu machen lassen.



                Zitat von xm22 Beitrag anzeigen
                Es muss ja nicht gerade eines davon sein - schon gar nicht Typo3. Aber Contao ist z. B. ein ziemlich gut benutzbarer Vertreter seiner Art.
                Contao werde ich mir mal ansehen, vielleicht gefällts mir ja. Wenns nicht zu groß und aufwändig ist, nehme ich es gerne. Für ne kleine 5-Seiten Webvisitenkarte sollte das CMS ebenfalls entsprechend schlank sein.


                Zitat von xm22 Beitrag anzeigen
                Es geht ja nicht darum, klein beizugeben, sondern darum, effizient und produktiv Seiten zu erstellen.
                Das stimmt schon. Mir gehts halt auch ums Lernen.
                Wenn ich ein kleines, schlankes, und leicht selbst anpassbares CMS finde, das mir gefällt, nehme ich das. Darf dann nur nicht faul werden, und aufgeben. Denn das fertige CMS will irgendwann auch angepasst werden. Und dafür braucht man Wissen und Erfahrung. Ewig mit den CMS Standard-Templates rumgurken will ich auch nicht. Ein CMS installieren und fertige Templates nutzen kann ja jeder der sich halbwegs mit PC und Internet auskennt. Also quasi jeder Schüler kann das heute.

                Zitat von xm22 Beitrag anzeigen
                Ich persönlich arbeite seit mehreren Jahren an einem Framework - das aber eben nur nebenbei, während ich berufsmäßig mit bewährter Software arbeite. Ich glaube, am Anfang ist jeder davon besessen, alles von Grund auf selber zu machen, aber im Profibereich hat das eben nichts verloren, besonders, wenn ein klares Konzept und das Wissen zur Umsetzung fehlen.
                Wie weit bist du denn mit dem Framework fortgeschritten? Und hats dir viel gebracht, was das Lernen angeht? Bist du dadurch besser in der Lage, ein eigenes Template für ein "handelsübliches" CMS zu machen?

                Zitat von xm22 Beitrag anzeigen
                Früher hatten die Menschen auch kein fließend Wasser und Strom Der Vergleich ist zwar an den Haaren herbei gezogen, hinkt aber gar nicht mal so sehr.
                Stimmt


                Zitat von xm22 Beitrag anzeigen
                Irgendwann kommen Deine Auftraggeber vielleicht an und sagen:"Mein Bekannter hat mir erzählt, er kann das und das mit seiner Seite total leicht umsetzen. Ich will das auch!" Und jetzt stell Dir vor, dass ist eine Funktionlität wie z. B. ein dynamisches Kontaktformular. Dann würdest Du anfangen, da irgendeine Lösung zusammen zu basteln, die ungeheuer viel Zeit kostet und wahrscheinlich auch nicht annähernd so viel bietet wie die des Bekannten. Mit einem fertigen CMS wäre das kein Problem gewesen. Verstehst Du, was ich meine?
                Schon. Die Firmenwebseiten, die ich vor Jahren nebenbei gemacht habe, wurden einmal von mir gemacht und dann niemals wieder geändert. Irgendwann wurden sie durch neue, professionell erstellte Webseiten ersetzt.

                Und wenn einer von meinen Bekannten mehr will, knall ich ihm halt nen fertiges Standard CMS drauf. Ist ja dann nicht mein Problem, ob das CMS 10 mal mehr Speicher frisst als der Content.

                Und der Rest ist eh mein eigenes, da kann ich machen was ich will und meine Programmierversuche machen

                Kommentar


                • #9
                  Ok, teste grade dieses Contao
                  Eiin guter Tipp, danke.

                  Was mir gefällt:
                  +Direktes Einfügen von HTML Dateien als Content möglich, keine Einbindung als IFRAME, aber auch kein Copy+Paste in CMS-eigenen Editor notwendig. Man kann die HTML Seiten 1:1 in das CMS laden, ohne dass man im CMS-Editor noch einen Finger krumm machen muss. Datei aufrufen, speichern, passt.
                  Ich könte also meinen Content schön wie gewohnt offline im HTML Format erstellen.

                  +Layout komplett CSS basiert

                  +Layout durch eigene CSS Dateien anpassbar. Bei anderen CMS muss man sich teilweise tiefgehend mit der internen Struktur des CMS befassen, um ein eigenes Template/Layout zu verwirklichen.

                  Das Entwicklerhandbuch habe ich auch mal überflogen.
                  +Es ist auf Deutsch, Funktionen sind kurz und präzise erklärt.

                  +Eigenen Code kann man offensichtlich sehr einfach einfügen (Dank den Hooks)

                  Auf den ersten Blick erscheint mir das System relativ offen.
                  Ich werde mit dem Contao auf jeden Fall mal etwas rumspielen.

                  Kommentar


                  • #10
                    Eiin guter Tipp, danke.
                    Das freut mich
                    Ist ja dann nicht mein Problem, ob das CMS 10 mal mehr Speicher frisst als der Content.
                    Ein häufig gehörtes Argument - Meist als Nachteil für Frameworks angebracht - Aber mal ehrlich: Hast Du Seiten, bei denen aufgrund der Besuchermassen jedes einzelne KB zählt?

                    Früher dachte ich auch mal so - aber bei dieser Denkweise dürfte man gar nicht erst mit OBjektorientierung anfangen..

                    Wie weit bist du denn mit dem Framework fortgeschritten?
                    Es ist eigentlich schon seit einigen Monaten in einigen Projekten in Benutzung. Die Sache ist jedoch die, dass es sich bis jetzt in einem permanenten Wandel befunden hat. Ich denke allerdings, dass ich jetzt an einem Punkt angekommen bin, wo ich sagen kann: So ist es in Ordnung und entspricht genau meinen Vorstellungen.

                    Als Auszug habe ich hier meinen Logger zur Verfügung gestellt: [Script] Variabler Logger

                    Der Werdegang des Frameworks war eine Odysee der verschiedensten Konzepte - Ganz ursprünglich ging es mir um ein CMS mit möglichst schlankem Kern und Modulen, die ausschließlich per Hooks eingebunden wurden - Das habe ich zwei Jahre lang verfolgt, bis ich mir eingestehen musste, dass das nie 100%ig funktionieren kann.

                    Mit dem eigentlichen Framework angefangen hatte es, weil ich von der Struktur des Zend-Frameworks begeistert war, der Ressourcenverbrauch allerdings erschreckend war. Daher baute ich es im Prinzip am Anfang fast 1:1 nach, allerdings mit geringerem Ressourcenverbrauch. Dann stieß ich auf das PAC- bzw. HMVC-Prinzip und habe das nach vielen Umwegen und Misserfolgen erfolgreich implementieren können, so dass mittlerweile die ganze Struktur darauf beruht - Alles in allem sitze ich da mittlerweile seit gut drei Jahren dran.

                    Ob es mir geholfen hat, Templates für CMS zu bauen? Mmh.. k. A. - Das ist ein völlig anderes Gebiet und ist von CMS zu CMS unterschiedlich. Bei Contao z. B. hast Du ja selber geschrieben, ist es ziemlich einfach, eigene Templates zu kreieren und einzubinden - Aber auf jeden Fall hat es mich fachlich unglaublich weiter gebracht. Auch dadurch ist es einfacher geworden, Konzepte zu bewerten und ggf. umzusetzen.

                    Kommentar


                    • #11
                      Hi

                      So hab das Contao mal gut getestet mttlerweile isses mir auch schon gelungen, das Layout zu verändern und PHP technisch an das System ranzukommen, und eigene Strings ausgeben zu lassen.

                      Joomla, Typo3 Drupal und co sind da DEUTLICH schwerer zu beherrschen.

                      Und mit unter 10 MB Platzverbrauch isses ein sehr schlankes System.

                      Bin jetzt dabei meine "Produktiv-Seite" vom selbstgebastelten PHP Menü und Contentanzeigescript auf Contao umzustellen.

                      Auf meiner Spielwiese/Experimentellen Seite mache ich aber mit meinem eigenen Menü und Contentanzeige System weiter. Allein schon aus Lern und Übungsgründen.

                      mfg

                      Kommentar

                      Lädt...
                      X