Skip to content

good practice and innovation
about us infoKits Tools & Techniques Publications Events
You are here: Home » infoKits » Creating an MLE » mle-design » Design tools and techniques

6.5. Design Tools and Techniques

Once a methodology has been chosen - and you should have chosen one - you will then need to look at the tools available to support that methodology. In most cases there will be tools available which vary from simple shareware diagramming and outlining tools, through to very sophisticated development and lifecycle management environments.

In most cases as you investigate and decide on a methodology you will discover the tools which others are using. The tools available usually can be considered in three groups: software development environments, diagramming tools and organisation tools.

Software Development Environments e.g. Rational Rose, Visual Studio and Forte, are designed to support the management and creation of code predominantly:

  • Rational Rose is an interesting tool in that it combines a suite of tools to support the whole process from user requirements gathering to software delivery. This tool has a significant learning curve and is entirely directed towards object orientated analysis and design. It is designed to be used with Java and is well known it that community.

  • Visual Studio is Microsoft's offering in this arena, and is the host for all the Microsoft development tools and languages. This does not have the extensive design features that tools like Rational Rose has but it is commonly available, and skilled programmers who are familiar with it are much easier to find.

  • Forte is Sun's offering for Java development which has a very good development environment but has no design tools to speak of.

Again the interaction between different spinning plates means that decisions cannot be taken in isolation. If you choose a particular methodology, you may be making implicit decisions about the development environment and technologies being chosen.

As the number of possible environments keeps growing, it is important for those in the field to share experience - if YOU have any experience you would like to share please feel free to contribute it to this website through the discussion forum for this section.

6.5.1. Diagramming Tools

Diagramming tools are a key to many areas of the design process. You should read the JISC paper produced by Sarah Holyfield on this topic for a good grounding. The paper looks at a variety of approaches to diagramming and provides a context for the work undertaken by many of the JISC funded MLE projects. Microsoft's Visio was used successfully by both the MARTINI project and the De Montford University MLE.

As we have discussed above the design process is highly interactive with a number of different outputs and interested parties. This process is most easily supported by the use of different diagrams and often by using the diagramming techniques with stakeholders. A useful rule of thumb from the INSIDE project is that 'as the audience getter higher up the tree the diagrams need to get simpler, ending up with just boxes and a few arrows.'

6.5.2. Brain Storming

One area, which is not strictly about the design process, but which is very useful to the designer is the technique of user input through Brainstorming type techniques. This may well happen in the user requirements gathering layer but the output is a great aide memoir and design checklist, and you should be using diagrams to reflect back to the users what is in the MLE.

6.5.3. The Unified Modelling Language (UML)

UML, the Unified Modelling Language, is a tool for expressing a whole range of designs. Some of the most useful aspects of UML are:

  • Use Case diagrams, which display requirements and users

  • Static Structure (class) diagrams, which are used to express the structure of information in the form of classes, operations, and attributes

  • Package diagrams, which are used to express dependencies between larger sets of functionality in systems

  • Component diagrams, which show how functionality is encapsulated into discrete applications and system components

  • Sequence and Collaboration diagrams, which provide a means of modelling communication between systems and services

  • State diagrams, which show how a system transitions between states as a result of interaction

  • Deployment diagrams, which are used to show how parts of a system are physically configured and connected

Taken together, the UML diagram set is a well-rounded view of any system design, and provides the core information needed by developers to implement a design.

Follow this link for key resources for this section (these open in a new window)


Bookmark and Share
If you can read this text, it means you are not experiencing the Plone design at its best. Plone makes heavy use of CSS, which means it is accessible to any internet browser, but the design needs a standards-compliant browser to look like we intended it. Just so you know ;)