am 20. Oktober 2008
Immer wieder eine interessante Frage: Welche Tools verwendet Ihr eigentlich? Ich weiß, wenn ich hier jetzt von euch Kommentare erwarte, dann klappt das eh nicht. Ihr scheint eine schreibfaule Leserschaft zu sein. Deswegen fange ich einfach mal an, meine Tools und Frameworks zu nennen, die ich derzeit in Projekten einsetzte. Vielleicht sind ja die ein oder anderen dabei, die ihr auch verwendet. Ich habe mich dafür entschieden, die kleinen Helferchen chronologisch im Bezug auf den Softwareentwicklungsprozess anzuordnen.
- argouml
Wie es nun mal sein sollte kommt zuerst die Planungsphase. UML Klassendiagramme werden erstellt und vielleicht auch mal ein Ablaufdiagramm. Zum Erstellen von Klassendiagrammen verwenden wir das kostenlose Tool argouml. Obwohl das Programm die Möglichkeit besitzt aus UML PHP Klassen zu erstellen, nutzen wir dies Feature nicht, sondern programmieren vielmehr die einzelnen Klassen anhand der Diagramme nach. Alle anderen Diagramme werden mit Microsoft Visio erstellt.
- Zend Studio
Nach der Planungsphase geht es weiter mit der Implementierung. Wie ihr wisst ist hier verwenden wir hier das Zend Studio. Ich habe mich ja schon das ein oder andere mal darüber ausgelassen, deswegen halte ich mich hier ein wenig kürzer.
- PHP Unit
Das meiste, was testbar ist wird dann mit Unit Tests versehen. Dabei schreiben wir unsere Test Cases und Suiten mit PHP Unit von Sebastian Bergmann.
- Perforce / SVN
Ich tippe mal drauf, dass sie meisten Perforce nicht kennen, prinzipiell ist es aber ein Source Code Management Tools wie jedes andere. Ich tippe mal drauf, dass die meisten von auch CVS oder SVN verwenden. Ok, also wir haben jetzt geplant, implementiert und getestet.
- PHPUnderControl
Nachdem der Source Code comitted wurde springt unser Cruise Control an. Hier verwenden wir den PHP Aufsatz von Manuel Pichler PHPUnderControl. Dank dem PHP Code Sniffer, PHP Unit und ein paar selbst gebastelten Shell Skripten werden hier noch einmal die letzten Integrationsprobleme gelöst.
- rsync
Nachdem alles durchgetestet wurde, werden die Sourcen auf den Live Server per rsync kopiert.
So das waren die Tools, die wir momentan einsetzen um unseren Entwicklungsprozess zu unterstützen. Wahrscheinlich werde ich auf die einzelnen Punkte noch genauer eingehen, da ich denke, dass es hier noch das ein oder andere zu sagen gibt. Das werde ich aber nicht heute machen.