Friday, January 06, 2006

JDeveloper & UML Modeling in a Team

One of the tasks high on my todo list is figuring out how to best leverage JDeveloper modeling capapbilities within our team. Our team, like many, consists of members playing different roles within the application development projects. The primary members that will be using the modeling capapbilities are architects, data modelers, system analysts, and implementers. I believe I have so far came up with a fairly good approach although I still have a ways to go yet in getting all of the kinks worked out.

When using the modeling tool, I want the architect to be able to oversee everything. I want the data modeler to only care about the data model. I want the system analysts to only worry about the requirements they are gathering. Finally, the implementers are responsible for all of the implementation components they are going to build to realize the requirements.

In order to achieve this, I have been creating seperate projects for these different roles. I have been putting all of these projects in the same workspace although I never put the workspace in source control. I simply make sure all team members at a minimum have the basic directory structure the same.

The data modeling project, contains all of the database objects. This obviously includes tables, views, sequences, etc.

The analysis project, contains all of the use cases and activity diagrams as gathered by the analysts.

The design project, contains class, sequence and activity diagrams.

The architecture proejct, "sits" on top of all of these projects. You can accomplish this by adding the models of all of the before mentioned projects by editing the project properties. Once you add those models, all you need if you are the architect is to have one project and you'll be able to see everything.

Projects always start with the architecture project and include at minimum the logical view. This logical view is basically a package diagram laying out how the software will be organized (layered). In the future, as Oracle adds more diagrams, this project will include Network, Process, and Deployment views.

The architect can also use the Javadoc capabilities to stand on the project and create a majority of the documentation for the project.

I am hoping someday that software requirement specifications, design specifications and softare architecture documents can all be derived straight out of JDeveloper instead of creating seperate docs. Maybe someday...

No comments: