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 the information is not duplicated, manual work is minimized, and the documentation is unified.
- Having all information in one repository supports keeping the 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 the textual content. It is effectively not possible 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 some textual parts such as component names, list 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 the model elements to a set of artifacts. Each element in the CASE repository is mapped to one of the predefined artifacts such as requirement, application component or service, which enriches elements with necessary semantics.
- The synchronization middleware automatically assigns unique id to each artifact and creates wiki page specification in the standardized format which guarantees that specifications share the same basic format
- Since all artifacts and their relationships are stored in the CASE database, traceability is also very easy
- Linking instead of including is easily achieved as wiki pages are basically web pages, so hyperlinks work out-of-the-box
- Visualizing is a core practice of Effective Analysis, which is unfortunately very often overshadowed just because it is a pain to insert models into textual specifications and to keep them up to date. With the help of the middleware, diagrams can be automatically updated on all pages when they get changed.
- There is no doubt that conventions and rules are important because they help to keep the documentation consistent, but at the same time, it is naive to think that everybody knows the rules and strictly follows them. Hence, there must be a mechanism, which assists in following the conventions and informs when some rules were violated. In our case, the mechanism is the middleware tool.