/ dot-dot dot Title:TThier/Languages/uml/demo11 Author: Dan Bikle This page contains some notes about Object Oriented Design, Object Oriented Analysis, UML and some stub Java classes generated with the help of Poseidon which is a tool sold by http://gentleware.com. I start the discussion with a simple text file I wrote up while thinking of some scenarios which would be easy to model: atmNetwork.txt Next, I used Poseidon to build a high-level model which contains only the classes and their relationships: demo11.png Then, I used Poseidon to generate Java stub classes: com/bikle/atmDemo1/Bank.java com/bikle/atmDemo1/ContactInformation.java com/bikle/atmDemo1/BankBranch.java com/bikle/atmDemo1/BankEmployee.java com/bikle/atmDemo1/AccountHolder.java com/bikle/atmDemo1/AccountHolderBankList.java com/bikle/atmDemo1/Account.java com/bikle/atmDemo1/ATMcard.java com/bikle/atmDemo1/Transaction.java Note that some of the above code has syntax errors. They are easy to filter out once you load the code into a good IDE. At this point I drifted away from Poseidon. It does a good job of generating a highlevel diagram and stub classes but then its usefulness started to wane. It had several bugs which kept annoying me. Once I got the diagram and stub classes finished, I shut it down. I used emacs and IntelliJ to add attributes and other refactorings to the Java stub classes. Also I wrote a simple JUnit TestCase class with two unit tests in it to get started on the process of enhancing and debugging the application: com/bikle/atmDemo1/Bank.java com/bikle/atmDemo1/ContactInformation.java com/bikle/atmDemo1/BankBranch.java com/bikle/atmDemo1/BankEmployee.java com/bikle/atmDemo1/AccountHolder.java com/bikle/atmDemo1/AccountHolderBankList.java com/bikle/atmDemo1/Account.java com/bikle/atmDemo1/ATMcard.java com/bikle/atmDemo1/Transaction.java Here is the JUnit TestCase: com/bikle/atmDemo1/JUnitATM.java Then, I wrote what I call a JUnit constructor scenario: constructorScenario.txt I leave it to the reader to implement the constructor scenario by enhancing the JUnit TestCase class. (Note: After I wrote up this page, I thought about the model for a couple of days. Enhancements to the model may be found here: ../demo12 ) |