We are a group of students doing our Master degree in field of computer science.
This semester we should do a Software engineering project according to the following bottom explanation.
we should exactly act and report as a real Software engineering Team.
I have been chosen as a project manager of this group, I am good in writing java codes but I don't have the experience of doing the project manager task, any way I have to do my best to do this project with my group members as good as possible.
The problem is this that I need to deal with different levels of knowledge but all the members should participate in implementation part.
I will be pleased if some one guide me how to do this project and how to manage this group, and where to start? how to encourage the members, and how to do my plans in practice?
please have a look to the explanation and help me what technology do I need to chose for this project?
Project Explanation
projects should be implemented as so called web applications. Because of the MVC requirements this is more than a server-client architecture – we call this (at least) a three-tier architecture.
The view should be created dynamic on clients' request. Therefor the content has to be computed by the server (server side). Inside of the view there should not exist any type of source code (like “scriplets”, Java Code, etc.) besides the markup language.
This should ensure that the view can be created by web designers where the content is in the responsibility of programmers.
Vice versa the source code should not contain any markup languages (like HTML).
To store information (make persistent) the system should use a database. But there should not exist database specific queries inside of the source code – because then the sources are very dependent of the usage of exactly this database. System should work with an object relational mapper to map the stored information from database on special type of objects (beans).
All configuration like database, entities, configuration, initialization should be realized using XML files (or similar ways like e.g, annotations), so that changes don't require recompilation of the system's sources.
Technologies available (suggestions):
J2EE:
JSP, Servlets, JSP EL,
JSTL, JSF, Facelets,
Custom JSF Components, Custom Facelets TagLibs,
JUnit (unit testing)
Persistence:
Hibernate, JDO
IDE:
Eclipse, NetBeans
Servlet Container:
Apache Tomcat