I am starting a new web application project and i am basically a programmer having done j2ee programming based on simple off the mouth requirements.Never documented anything properly or was guided.
Well now i have become serious and would like to develop a new project on the ideas i have.
So in my engineering I have studied about UML,Software design and stuff but you know i don't remember much stuff and it will take a lots of time to refresh all those stuff and i need some to survive and start a new project fast
So please help me.I have got a project of a company and they told me the requirements.I want to design a architecture(technical) like identifying interfaces,classes,member functions and stuff a little faster and start doing the coding.For this please let me know what all things i need to know,examples or solutions available online which i can refer and study and complete the designing,architecture ,identifying java requirements and stuff and start the coding..
well i might be like little lengthy in explaining my problem,but i am so stressed up and tensed that i cant help it..
please help me
[ July 13, 2008: Message edited by: Sooraj Chandra ]
You mention Web project in the subject but not in your post - if you're developing all but the simplest Web project, you need to be familiar with Java EE Web. It'll be well worth your while to learn about the Web container, servlets, JSPs, databases and probably the new persistence architecture (JPA) as they'll all save you a lot of time. Not something to be done quickly, but probably necessary. You didn't say if you know about Java EE/J2EE so I'm not sure if that's relevant.
Once you're happy with the platform (Java SE or EE as appropriate), think about the use cases and hence classes and interfaces you'll need. A good object model for a decent-sized application takes weeks to construct, and (in my experience) months to refine. I find it helpful to break a project down into smaller 'modules' too, and concentrate on each one in turn, then figure out how to neatly fit them all together. Typically you still find little things to change as you go along - which isn't a problem; what you want to avoid is having to completely re-design the model (essentially starting from scratch) a few months into the coding!
Sorry i have missed out some points in my initial post .well i have edited that to explain things clearly.
Well i know J2EE and have done some work before.Now I just want to acquaint myself to design the project requirements properly ,develop the architecture which will help me save time and guide my colleagues if there are any.
Well if you know any books/references for designing,architecture of the requirements ,which will help me to develop this model as you have, mentioned with some examples to study and understand,it will save a lot of time and i can make things happening quickly.And i have never heard about the persistence architecture(JPA) .well i will refer to it too as you have mentioned about it.
A good object model for a decent-sized application takes weeks to construct, and (in my experience) months to refine.
Charles what does a object model need to include?
classes, interfaces, instance variables and methods in classes? Or should it also include the parts which interact which the database or write to a xml file? OR are those taken care of in data model?
When I first started Java programming I used a very early edition of Jacquie Barker's book (on Amazon.com for example) - it's excellent for explaining how to develop a Java application from scratch. You'd find Parts 2 and 3 most useful as they walk through identifying object models using UML, to converting those into Java code. You can skip all the beginner Java code and you can apply the exact same principles to EE applications (also look at the Blueprints to reuse common ideas and save some time). You need to make a distinction between the object model (the basic POJOs based on your use case analysis) and the Web framework (servlet frontends, JSP views, and data storage).
Well if you know any books/references for designing,architecture of the requirements ,which will help me to develop this model as you have, mentioned with some examples to study and understand,it will save a lot of time
The advantage of JPA is that it allows you to build database accesses into your POJO model without actually doing any database code explicitly - so you can use it to interface your object model with an SQL database without doing any extra work.
The premise is that your entire application is object oriented so everything is describable as a class (with accompanying methods). The object model should describe everything there is to encapsulate from the real world into your application. The "plumbing code" (i.e. how that model is updated, what JSP views are needed etc.) is not specified in the basic description of the model. However, as I mention above, with Java Persistence Architecture (JPA) now being deployed in Web containers, you can easily annotate your object model to load and update from a database automatically so you don't need to worry too much about how the data is stored (other than designing the database structure).
what does a object model need to include? ... should it also include the parts which interact which the database or write to a xml file? OR are those taken care of in data model?
Note JPA is a newer alternative to Hibernate; the real benefit since Java SE 5 is that you use annotations to do the persistence markup rather than ugly configuration files.