stakisko Posted February 21, 2011 Share Posted February 21, 2011 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 Quote Link to comment Share on other sites More sharing options...
ignace Posted February 21, 2011 Share Posted February 21, 2011 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 Quote Link to comment Share on other sites More sharing options...
thehippy Posted February 21, 2011 Share Posted February 21, 2011 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. Quote Link to comment Share on other sites More sharing options...
stakisko Posted February 22, 2011 Author Share Posted February 22, 2011 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 Quote Link to comment Share on other sites More sharing options...
ignace Posted February 22, 2011 Share Posted February 22, 2011 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.