OSS 2012-2013
For general information and calendar information, check Toledo.
Slides
- Introduction (Course Overview, Project, Grading, Quiz, UML) [Sep. 28]
- Basic OO Design [Oct. 5]
- Metrics and Software Visualization [Oct. 12]
- Design Patterns [Oct. 19]
- Projectverdediging Iteratie 1 [Oct. 26]
- Model-View-Controller [Nov. 16]
- Unit Testing, Refactoring and Profiling [Nov. 16]
- Development Processes [Nov. 23]
- Projectverdediging Iteratie 1 [Nov. 30]
- On Multi-user Development Tools, Versioning and Packaging of code [Dec. 7]
References
- Applying UML and Patterns, Craig Larman.
- Design Patterns: Elements of Reusable Object-Oriented Software, E. Gamma, R. Helm, R. Johnson, J. Vlissides.
- Refactoring: Improving the Design of Existing Code, M. Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts.
- The refactoring website
- "No Silver Bullet: Essence and Accident in Software Engineering", F.P. Brooks.
Analysis and Visualization Tools
Several tools provide software visualizations based on combining metrics and structural information (such as polymetric views or the overview pyramid) and work with an interchange formate called MSE, which is based on the FAMIX model. There are currently two versions of FAMIX used in practice: version 2.1 and version 3. To create MSE files from Java code you have to do the following:
- MSE 2.1 from Java code: use the iPlasma tool (export to MSE) [movie]
- MSE 3 from Java code: use the inFusion tool (export to MSE 3.0) [movie]
Famix-based tools
- Moose [movie].
- inFusion: renewed iPlasma. [movie].
- iPlasma [movie].
- Softwarenaut [movie].
- CodeCity: visualize software system as a city [movie].
- X-Ray
Other tools
- InCode: iPlasma-like Eclipse plugin
- jcoverage: coverage tool
- CodeCover: coverage tool
- Structural Analysis for Java
- FindBugs: uses heuristics to detect bugs and possible bugs. Similar to the venerable Lint tool, but uses the AST and not string matching.
- Code Analysis Plugin