Effective Analysis Practices Implemented
The main motivation behind creating the hybrid approach is to allow combining the CASE tool and wiki software. This setup fully implements the Effective Analysis practices which ensure that information is not duplicated, manual work is minimized, and documentation is unified.
- Having all information in one repository supports keeping information in one place and one place only.
- Storing everything in the knowledge base together with reusing model elements in multiple diagrams helps prevent duplication.
What cannot be wiped out, though, is duplicating textual content. It is practically impossible to make people stop copy-pasting parts of the documentation. They need to be instructed not to do so and trained to take advantage of the advanced middleware features instead. The middleware can auto-replace certain textual parts such as component names, lists of sub-components, or relationships so that when they change, the changes do not have to be manually propagated. - The whole concept is based on the fixed artifacts practice, which means mapping model elements to a set of artifacts. Each element in the CASE repository is mapped to one of the predefined artifacts, such as a requirement, application component, or service, which enriches elements with the necessary semantics.
- The synchronization middleware automatically assigns a unique id to each artifact and creates a wiki page specification in a standardized format, which guarantees that specifications share the same basic layout.
- Since all artifacts and their relationships are stored in the CASE database, traceability is also very easy.
- Linking instead of including is easily achieved because wiki pages are essentially web pages, so hyperlinks work out-of-the-box.
- Visualizing is a core practice of Effective Analysis, which is unfortunately often overshadowed simply because it is a pain to insert models into textual specifications and keep them up to date. With the help of the middleware, diagrams can be automatically updated on all pages whenever they change.
- There is no doubt that conventions and rules are important because they help keep documentation consistent, but at the same time, it is naive to think that everyone knows the rules and strictly follows them. Hence, there must be a mechanism that assists in following conventions and flags any rule violations. In our case, that mechanism is the middleware tool.

