Narrative
Ford Prefect, the product manager, asks Marvin to setup a starter JPA project that the team can copy as a template. Ford asks that the template include a sample logging configuration, entity object, EntityManagerHelper, and unit test. Marvin creates a new Java project in MyEclipse, defines a database connection, adds JPA capabilities, and so forth. Other team members can copy the "starter" template as a new project, either to start an application, or to experiment with new code.
Goal
| Goal |
Setup a starter MyEclipse project for JPA with database |
| Level |
Subfunction |
(User Goal, Summary, Subfunction) |
| Trigger |
Consistency or efficiency is needed when creating projects |
| Primary Actor |
Developer |
Main Success Scenario (MSS)
| Step |
Action |
| 1 |
Open MyEclipse and select a workspace |
| 2 |
Start Derby |
| 3 |
Open (MyEclipse Database Explorer) perspective |
| 4 |
Copy (MyEclipse Derby) connection |
| |
Driver name: MyEclipse Derby - starter |
| |
Connection URL: jdbc:derby://localhost:1527/starter;create=true |
| |
User name / Password: app / app |
| |
(Test Driver) |
| |
(Next) |
| |
+ Display Selected Schemes |
| |
(Add) |
| |
+ APP (only) |
| 3 |
Open (Java perspective) and open (File/New/Java Project) |
| |
Project name: starter |
| |
(Finish) |
| 4 |
Create new source folders: main and test |
| |
Remove folder src from build path |
| |
(Finish) |
| 5 |
Select starter and open (File/Properties/Build Path/Libraries/Add Library/JUnit/JUnit 3) |
| 6 |
Select "main" and open (MyEclipse/Project Capabilities/Add JPA Capabilities/Hibernate) |
| |
+ Advanced Support |
| 7 |
Code or copy starter members |
| |
main/entity/EntityManagerHelper.java, main/demo/Message.java, main/commons-logging.properties, main/log4j.properties, main/log4j.properties.sample, test/demo/MessageTestCase.java |
| 8 |
Open (Run/as Unit Test) to bootstrap database |
| 9 |
Open (File/Export/General/Archive File/) |
| |
To Unknown macro: {/starter-template.zip} |
Preconditions and Guarantees
| Preconditions |
MyEclipse 6.0.1 or later is installed |