Jump to content

PHP & System Design Methodologies


stakisko

Recommended Posts

Hello everybody, hope everything is fine here...

 

i have a question about system analysis and design for web apps using PHP.

I know how to analyse and design using RUP methodology only for OO apps. But now i need to extend this methodology to develop web apps with PHP. I know that PHP support OOP but i dont really think if i need it. Its a simple dynamic web app what i am trying right now to develop.

 

So, should i see my app as an OOP app and design it using standard RUP method or can i achieve it defferently? Is there any other methodology that can help me on this? i ve searched a lot on the web but i cant find a good starting tutorial to help me understand.. i ve found about WebML and MVC but i cant figure out how to use them.. still i cant find some guidelines to show me the path. i dont want to use any MVC framework cause really i want to develop my own way. i ve also seen a lot of Create You Own Framework guides but i cant see any methodology on these... just a structure of code.

 

So far i have done a lot of system planning and analysis for my project, i have my Database written, i have also wrote all my Use Cases i am going to need. And some System Sequence Diagrams. But now what? How to continue from here to end up in a good code structure, followed by the MVC pattern?

 

What are you Web Developers using?? Do you know what is the most working methodology on the Web Development Industry?

 

i am confused and the think is that i cant stop thinking like i will have to develop a Windows platform OO app. This is different and i want to start thinking for developing web app in the right way.

 

Could you guide me from here on? what should i do next from use cases? How to continue?

 

THank you in advance everyone..

Greeting from Hellas.

Stakisko

Link to comment
Share on other sites

Ah, OO Analysis & Design my favourite topic :) Wether you want to develop your app in OO or not is up to you. Just remember you don't abstract away too much too soon in the process, otherwise your app although yet small will be overwhelming and too complex early on in the process.

 

Since you have Sequence Diagrams you also should have a clear idea about the code, since a Sequence Diagram is actually code documentation on paper. Implement these classes and make sure you have a clear set of Unit-Tests to verify that they work.

 

PS All Artifacts in RUP are optional.. except the code ;) Only add aditional Artifacts if they ADD VALUE

Link to comment
Share on other sites

As anyone could guess, web application development isn't as expansive as other development platforms and its also a pretty young environment.  Extreme Programming (XP) was the early adopted development methodology, superseded by Agile which is pretty prevalent nowadays.  Test-Driven Development (TDD) has been taking root over the last year or two in the PHP world, I think mostly due to the adaptability and ease for small team and single developers, which the majority of website development gets done with.

 

To be honest reading your post, I think you're over-thinking the whole process for two reasons the first is, you're admittedly new to web development.  Its alright to learn as your go, take it in steps.  Secondly and especially for 'a simple dynamic web app,' it should be simple.  Code it out how you think it should done, code it out how a couple other methodologies suggest it be done and learn from the experience, you wont lose. 

 

So my advice is 'Dive in,' use your experience to try to build your app as you would elsewhere, just with PHP this time.  Given that you already have a database schema, and use cases, its up to you but I'd push you towards developing with TDD, writing tests before code is the fundamental concept behind the TDD methodology.  Then its a matter of writing code that doesn't fail.

 

Just my $0.02.

Link to comment
Share on other sites

To be honest reading your post, I think you're over-thinking the whole process for two reasons the first is, you're admittedly new to web development.  Its alright to learn as your go, take it in steps.  Secondly and especially for 'a simple dynamic web app,' it should be simple.  Code it out how you think it should done, code it out how a couple other methodologies suggest it be done and learn from the experience, you wont lose. 

I think that you are absolutely right thehippy. This is all i need.. i ve spent a lot of time researching for the analysis part that got me a headache... i got into Zend framework to see how a MVC approach is working.. :)

 

PS All Artifacts in RUP are optional.. except the code ;) Only add aditional Artifacts if they ADD VALUE

Is this true ignace? i mean... i thought that this part, with artifacts was a very important stage of the RUP methodology. Especially in Software Development Industry...

So you really believe that it can be skipped? and go straight to the code?

 

greetings :)

Link to comment
Share on other sites

As you probably know the Waterfall methodology does all A&D up front. RUP is an Agile process like eXtreme Programming that uses Artifacts. If you do all your planning up front you are using the Waterfall methodology instead of a true Agile process. In an Agile methodology you perform your planning at the start of an iteration, this is mostly done on a white-board in group, sometimes someone is assigned to translate the thoughts/designs on the white-board to an appropriate/official paper format as documentation for later use.

 

However not many do so and instead use the tests as guides for new programmers, as a test should clearly state how a class is used. A principle many adhere to, with concerns to documentation, is only create the Artifact if it ADDS VALUE.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.