.: Latest News :. .:News in Pictures:.
Dawn e-paper




Horoscope Recipes

Weekly SectionMarker



Pakistan's Internet Magazine
Herald




Weather

Cowasjee Ayaz Mazdak Review Dawn Magazine Young World Images

Previous Story DAWN - the Internet Edition Next Story



Science.com

October 07, 2006



Software design and modelling tools



By Nizar Diamond Ali


SOFTWARE modeling is one of the major initial steps undertaken before an actual code is written. But it’s a fact that still many independent software vendors tend to overlook this highly important aspect of software development and end up with sloppy design and endless rework. For those who do take modelling seriously, UML and MDA are not new methodologies, and today we are going to discuss StarUML and ArgoUML — free tools that allow extensive modelling in these two method paradigms.

The first step in StarUML is to select an approach. The available options are: 4+1, default, rational software (if you have experience in using this propriety suit), UML components and empty project. The presence of these approaches tells us that the name of this tool is slightly conservative as it not only supports UML 1.4 standards and UML 2.0 notation but also supports a variety of other techniques. So back to the first screen — select the UML approach. Notice that the IDE here is very similar to a programming language’s IDE, much like that of MS Visual Studio or Java, etc. On the right-hand side will be its Model Explorer and Diagram Explorer. Selecting an element in Explorer reveals its properties in the Properties box below which is divided into General and Detail sections.

Note that the explorer box shows model components according to the project approach. In case of UML, the model starts with “requirements” which includes the business concept model and use case model. Select the relevant diagram under each and by doing so, the toolbox on the left automatically displays associated building blocks called components. For example, selecting use case model results in actor, association, extend, include, etc. Workspace for modelling is provided in the centre while the bottom pane shows output and messages. Component drawing is a little different — unlike dragging from the toolbox and dropping on the drawing area, here the component to be drawn must be highlighted in the toolbox first and then drawn using the mouse. Standard properties like public, private and protected can be defined along with stereotypes such as thread, process and utility. Further details on components can be added by selecting the component and clicking model>collection editor. Here, attributes, operations and relations can be defined. This can be done through the properties box as well. Tags can be added using model>tagged values. This is a useful placeholder to define tags such as “is derived”, persistence (transitory or persistence) and usage, requirements and implementation notes, etc. The model menu also provides constraint definition in addition to the facility of converting sequence diagram to collaboration and vice versa.

Once a model is created, it can be verified using model>verify model option. It checks the model against the predefined rule-set to locate potential problems. For example, in case of actors, it checks that they should only have associations which are connected to use case, class or subsystem. This option is pretty handy as it ensures in-time identification of issues arising from a faulty model right at the design time where it can be handled without incurring much cost in terms of time, resources and money. For code generation to work, language profile must be added to the project using model >profiles menu. Document auto-generation is also supported using the built-in templates through tools>StarUML generator. And for those who are interested in applying and learning patterns, there is a pattern repository available under tools>apply pattern. Selecting the pattern displays a brief usage scenario, and clicking the pattern help button shows a detailed page with purpose, structure-diagram, interaction-diagram, applications and consequences of the pattern in question.

The wide variety of options in StarUML also provide the ability to import frameworks through file>import>framework. Supported frameworks are MFC 6.0, .Net BCL 1.0, J2EE 1.4 and J2SE 1.3. In the same manner, MDL and PTL files of rational can be imported.

The second free modelling tool is ArgoUML. It requires Java2 JDK or JRE installed and is started through the command line using “java -jar argouml.jar”. The seven-standard UML diagram can be created using the create menu or the tree on the left-hand side while inserting components using the horizontal toolbar. Much like the verification option in StarUML, there’s a critique menu that warns about occurrences such as class without a constructor, circular association, etc., a checklist larger than most other tools.

Writer’s email: arbil@cyber.net.pk



Click to learn more...
Please Visit our Sponsor (Ads open in separate window)

Previous Story Top of Page Next Story

Seprater
Contributions
Privacy Policy
© DAWN Group of Newspapers, 2006