开发者

2 man project - java+database programmers

开发者 https://www.devze.com 2023-01-11 13:03 出处:网络
My friend and I are entering our final year at the university (M.Sc.) in 2 months and as such we have to start thinking about our dissertation (as we decided to write one together). After giving it so

My friend and I are entering our final year at the university (M.Sc.) in 2 months and as such we have to start thinking about our dissertation (as we decided to write one together). After giving it some thought we came up with a topic which would involve both a lot of thinking and implementing, as we really wanted to do something practical that we could actually show in our portfolios - we 开发者_JS百科will be designing and implementing a large system for didactics support for our university. The plan looked great on paper I'm a java guy (Java EE), so I'd be in charge of the web stuff, the "views", server logic etc., and he's into databases (Oracle/MySQL), and well this system will be really all about the databases.

The problem is now that I think about it I don't really see how would the teamwork look like, I mean I did a few medium size Java EE projects, I've been working for a month-two at a small comapny, but I never had a database programmer on my team, in most cases I did everything by myself with JPA/Hibernate (I didn't really need to write the databases I just used the appropriate annotations etc.). So basically my question is how do people divide work when you have someone who's good at writing the presentation layer and the server side logic and someone who's really really good at databases? Or maybe we went in a completely wrong direction and such combinations aren't necessary/possible?

@Edit: ok my bad, I thought "dissertation" is also when you're doing a Master degree (which I'm doing now). Whether this is a boring and/or well suited topic for an M.Sc. thesis let me just say that I did put a lot of thought and consideration before choosing it and I'm happy with my choice ;) (sorry for the smiley, I know some people find them juvenile). Oh also I guess I didn't really mention this (as I didn't think it's all that important) - the system itself is only a part of the thesis, the main part is to actually come up with a way to plan/support the didactic process (creating the classes scheduel etc.) which apparently isn't all that simple as my university, or at least my faculty, is struggling with it every single semester ;)


i myself am a database bigot.

I believe, on any large project, you should always start with a strong database design. Work through this design carefully, test it, examine it, perform thought experiments on it, finally create it, and populate it with some sample data. Learn from each of these steps. Decide where the risks are from your data population efforts: where was this hard, what data problems did you create? begin constraining the database to prevent issues.

Now, when the data model is maturing, begin your GUI work. It is ok to think through the main use cases and general style of the UI ahead of time, but avoid coding data access of any kind until the database is maturing.

While you complete the UI, the database guy(s) can work on report SQL, triggered business logic, complicated constraints, security, backup and migration strategies etc.

have fun. :)


"Dissertation" means doctorate. "Thesis" means Master degree. Which one are you doing?

When you say you used JPA/Hiberate, I'll assume that it was a clean sheet design where a database didn't exist when you started. You came up with an object model that was a faithful representation of your problem, generated the schema from it, and off you went.

If that's the case for this project, there's no reason why you can't do it again.

The one reason for having an Oracle expert would be if you found that the DDL/DML generated by Hibernate wasn't adequate for some reason. If you need additional indexes or denormalization, perhaps a real relational database expert can help you.

0

精彩评论

暂无评论...
验证码 换一张
取 消