You are on page 1of 31

Course Editor v. 1.1.

Giuliana Pitana Alcntara


alcantara@kom.tu-darmstadt.de

http://kom.tu-darmstadt.de Darmstadt University of Tecnology

MMSM - KOM

Course Editor v. 1.1.1


Original state of Course Editor Use cases and current state Other features Classes involved A typical session Final remarks Future work

Original state of Corse Editor

Use cases
Course Editor Create course module Edit course module Add LOM to course Delete course module Remove LOM from course module Export course module Open existent course module

medical specialist

Search current course data Query database

medical specialist

Use case : Create new course


module
Course Editor Create course module Edit course module Add LOM to course Delete course module Remove LOM from course module Export course module Open existent course module

medical specialist

Search current course data Query database

medical specialist

Use case : Create new course


module

Use case: Open existent course


module
Course Editor Create course module Edit course module Add LOM to course Delete course module Remove LOM from course module Export course module Open existent course module

medical specialist

Search current course data Query database

medical specialist

Use case: Open existent course


module

Use case: Edit course module


Course Editor Create course module Edit course module Add LOM to course Delete course module Remove LOM from course module Export course module Open existent course module

medical specialist

Search current course data Query database

medical specialist

Use case: Edit course module

Use case: Add LOM to course


module
Course Editor Create course module Edit course module Add LOM to course Delete course module Remove LOM from course module Export course module Open existent course module

medical specialist

Search current course data Query database

medical specialist

Use case: Add LOM to course


module

Use case: Remove LOM from


course module
Course Editor Create course module Edit course module Add LOM to course Delete course module Remove LOM from course module Export course module Open existent course module

medical specialist

Search current course data Query database

medical specialist

Use case: Remove LOM from


course module

Use case: Delete course module


Course Editor Create course module Edit course module Add LOM to course Delete course module Remove LOM from course module Export course module Open existent course module

medical specialist

Search current course data Query database

medical specialist

Use case: Delete course module

Use case: Export course module


Course Editor Create course module Edit course module Add LOM to course Delete course module Remove LOM from course module Export course module Open existent course module

medical specialist

Search current course data Query database

medical specialist

Use case: Export course module

Use case: Search current course


data
Course Editor Create course module Edit course module Add LOM to course Delete course module Remove LOM from course module Export course module Open existent course module

medical specialist

Search current course data Query database

medical specialist

Use case: Search current course


data

Use case: Query database


Course Editor Create course module Edit course module Add LOM to course Delete course module Remove LOM from course module Export course module Open existent course module

medical specialist

Search current course data Query database

medical specialist

Use case: Query database

Other Features: References

Other Features: Moving Nodes

Other Features: Expand/Collapse

Other Features: LOM Editor

Class Diagram
DefaultMutableNode
<<interface>> LOMCache

Query JFrame 1

1
SearchTree 1

CourseNod 1..* e

1 Editor 1 Search 1

1 1

* 1 JTree

1.* 1..*
CourseTre e

JDialog

Sequence Diagram
frame: CourseEditor create query expression query: Query search: SearchTree node: CourseNode

course: CourseTree

makeQuery(expression String): Enumeration

createSearchTree(Enumeration)

*[for each Enumeration element] CourseNode: new CourseNode(element)

open course openObject() add node to course getSelectedNode(): CourseNode

addNode(CourseNode)

Final Remarks

Several architectural decisions could have been taken prior to the implementation, if UML-based conceptual design was used.

Slow development due to lack of detailed documentation of the previously development.

All the system understanding had to be based on source code analysis.

Different architectures for integration with database were tried but no definitive solution was found.

Some micro achitectural improvements were done, in order to make the code more elegant and reusable.

Future Work

XML document generation. Database integration using search interface (in development ?).

Course Editor v. 1.1.1

Giuliana Pitana Alcntara alcantara@kom.tu-darmstadt.de MMSM - KOM http://kom.tu-darmstadt.de Technik Universitat Darmstadt

You might also like