Object Oriented Design and Development COM528
Professionally design and document your project
- Understand how UML (Unified Modelling Language) can be used to document the design of your project.
- Use in code documentation – Javadoc
- Licence your project
Use professional development tools
- Netbeans IDE
- Maven build system
Understand the value of test driven development and use Unit and Integration testing during your development process
- Junit
- Maven Surefire Plugin automated unit testing
- continuous integration
Understand the role of common design patterns in java development.
- Java inheritance, polymorphism, interfaces
- Factory / Template patterns
- Inversion of control (Spring Framework)
Include external libraries as part of your build and development process
- Build systems (maven)
- Including libraries on your class path
- Packaging
- Licencing
Develop using enterprise java technologies
- Java Collections Framework – Lists
- XML Marshalling JAXB
- Logging ( slf4j, Log4j)
- Java-fx java thick client framework
- Java Server pages (JSP)
- Java ReST JAX-RS (Jersey)
- Java Concurrent Framework - threads
Publish and share your work with others (version control)
- Git / Github
- Pair programming
Each week we will work on incrementally developing a design for a complete enterprise system. Enterprise systems are often developed in layers with each layer being independently developed and tested before integration into the full system.
You will keep your work in your own git hub repository and incrementally add to this software as your design is developed.
In each class we will have a brief lecture and demonstration followed by a set of exercises to help you apply the technology or technique which has been introduced.
Once we have learnt a technology, we will begin to use it to develop a layer of our proposed system. Ultimately we will have a fully working enterprise App.