Agile development is quickly becoming a leading model in the forward-thinking software community. The agile method seeks to bring development out of the document-heavy rigidity that exists within architecture-centric projects with a flexible and lightweight alternative that focuses heavily on adaptivity and customer communication. The agile model seeks to reduce the vast amounts of paperwork and planning put into many software development projects, shifting the focus to adapt to changing requirements and overall customer satisfaction. The Unified Modeling Language™ (UML®) has long been the de facto industry standard for object oriented software modeling, offering thirteen diagram types to represent three different system views: structure, behavior, and interaction. Altova’s UML modeling tool, UModel, presents an approach to UML that is both iterative and flexible, giving software documentation the ability to adapt and change with each new iteration, and offering customer-facing development teams the opportunity to present compelling application model designs every step of the way.
Adopted as a standard by the Object Management Group (OMG) in 1997, and later formalized as ISO 19805, UML is actually the product of several different prevalent OO modeling languages which emerged in the early 1990s. UML is a graphical language for organizing, analyzing, and planning object-oriented or component-based software projects. The UML 2.1 specification defines thirteen major different diagram types and over one thousand graphical and textual language elements, as well as additional extension mechanisms. Traditionally these diagrams have been used by software developers and project managers as a powerful, standardized planning language to verify application logic and confirm that end-user needs will be met. UML is complex by design, offering a multitude of options for visually detailing software implementations in a wide variety of hierarchical models that can provide representations for every stage and process within the development cycle. Structure Diagrams
- Class diagram
- Component diagram
- Composite structure diagram
- Deployment diagram
- Object diagram
- Package diagram
- Activity diagram
- State machine diagram
- Use case diagram
- Communication diagram
- Interaction overview diagram
- Sequence diagram
- Timing diagram
With this complexity comes a learning curve that can be easily addressed by choosing an intuitive UML modeling tool that includes advanced usability features and seamless graphical representations, as well as the agility to adapt and grow with a software development project. The Agile Manifesto Drafted in early 2001, the Agile Manifesto documents a set of principles for a faster, lighter, and goal-oriented approach to software development that contrast with the traditional waterfall method that has long existed at a majority of technology companies. The ideas behind agile development had been gaining notoriety over many years with the creation of other similar lightweight methodologies, many of which have since been incorporated into the agile family. The manifesto is built on the concept of software development as an iterative process that must be able to quickly adapt to ever-changing requirements and customer needs. The document focuses on:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
An adherence to these overall goals intends to keep software projects limber and malleable enough to adapt to changing requirements, while keeping developers focused on the quality of their work at every stage of the process. Agile Modeling The agile methodology requires a modeling and documentation process that reflects the fluidity of its founding principles. The agile modeling process is a means to support development projects, addressing interaction and collaboration through the presentation of action plans in a visual format that stakeholders can readily understand, while also being technical enough to provide developers with a basis for their design. Agile modeling focuses on simplicity and the ability to process and handle changing requirements, leading to an incremental approach, where software projects are visually modeled and presented in phases, rather than a traditional model in which all encompassing plans are drawn up at the outset. The Agile Model Driven Development (AMDD) approach dictates a relatively short requirements analysis phase, with successive just-in-time modeling to address project needs at each iteration. Using this method, working software is available for review and testing at a much earlier stage, giving collaborators the opportunity to change requirements as the project evolves. UML and Agile Modeling The widespread adoption of UML as a modeling language stems largely from its ability to express software design in many different ways and at many different stages. In addition, its rapid acceptance as a standard suggests a recognized need for a unified approach to modeling, helping disparate development communities to collaborate over shared projects. As a predecessor to agile methods, UML was developed to address more stringent object-oriented design methods, which have more robust modeling and documentation requirements. However, with the right tool, developers, project managers, and stakeholders can take advantage of this standard modeling language in their agile projects. Agile Modeling with UModel Altova UModel is a full featured UML development tool, supporting all diagram types with additional support for code and documentation generation, reverse engineering, and advanced usability features. Fully compliant with the latest UML specification (2.1.1), UModel is a valuable asset to any form of software development. UModel’s unparalleled flexibility and functionality make it the ideal UML tool for agile modeling, allowing developers and collaborators to take advantage of the trusted UML standard by applying its modeling capabilities to agile methods. UModel offers advanced usability features that help lessen the UML learning curve, making modeling accessible to all project collaborators. With a focus on versatility in model design, UModel offers a completely customizable interface with color-coded elements to clearly indicate model characteristics. Users can also add additional customizations to enhance usability and communication that can be automatically applied to single elements, groups, or project-wide. UModel’s rich visual interface enables developers to quickly and easily sketch software designs to communicate all aspects of system architecture. This lightweight approach to UML design melds perfectly with the agile methodology, opening avenues for communication over dynamic project representations. UModel provides additional support for collaboration through support for shared packages, which enable developers to distribute their functional designs to other team members or import designs from other projects for reuse. Visual design representations can also easily be saved or printed as images for conceptual review by non-technical contributors. Another compelling feature in UModel that drives inter-project communication as well as customer collaboration is the ease at which developers can create informative use case diagrams. UML use case diagrams tend to be a popular choice in agile modeling because they address one of the most challenging phases of the software development process, the visualization of user interaction. UModel use case diagram representations can be seamlessly illustrated with the help of advanced usability features and sophisticated graphical output. UModel also allows developers to auto-generate detailed documentation, including embedded images, in HTML, RTF, or Microsoft® Word. This feature addresses the second point of the Agile Manifesto, enabling teams to focus their efforts on software design, rather than getting buried in overbearing documentation that can sometimes stall project flow. UModel’s robust round-trip engineering capabilities provide agile developers with the ability to quickly adapt and respond to change over the course of their project(s). UModel interprets modifications to project source code and synchronizes this with the corresponding UML diagram. UModel supports Java, C#, and Visual Basic, bringing advanced functionality and flexibility to the iterative development process. UModel also offers tight integration with the leading integrated development environments, Visual Studio® and Eclipse, giving developers the ability to seamlessly switch between the UML model and code editing windows and see any updates and changes reflected in real-time. UModel’s extensive usability and communication features offers development teams the ability to quickly change and adapt project requirements based on the results of incremental collaboration. Its graphical design interface and intuitive modeling capabilities enable team members to create compelling visual designs that can be easily interpreted by both technical and non-technical stakeholders at every stage of the project. Conclusion The wide acceptance of agile practices signifies a shift from the role-based, waterfall approach that was the norm just a few years ago. Businesses are recognizing that software projects are constantly changing and evolving at every step of the way. Development teams need to be able to manage change, to meet deadlines, and to lower costs. Nothing is quite as effective as the right set of concise diagrams to represent the essence of a software implementation. UML has the capacity to deliver structure to vague and abstract customer requirements, enabling developers to easily conceptualize the task at hand. With its flexible and advanced UML design interface, UModel is an ideal modeling tool for agile development, giving developers an inexpensive, easy-to-use, comprehensive modeling option with robust features for project collaboration and communication. UModel gives users the opportunity to capitalize on the extensive capabilities of the UML standard, but also offers the plasticity required of agile implementations. You can try UModel for free in your next agile development project. This technical brief and other resources are available in the Altova Library.
The Altova UML tool for software modeling and application development keeps getting better and better, with recently launched UModel Version 2008 Release 2 adding exciting new features including support for business process diagrams in BPMN notation, code engineering support for Java 6.0, C# 3.0, and Visual Basic 9.0, diagram layers, enhanced auto-completion, and much more. We can’t wait to see how users take advantage of the new layers feature: In UModel 2008 Release 2 you can assign each diagram element to a specific layer and set each layer to be hidden or visible. Just imagine how you could take advantage of layers to build simplified views within complex activity diagrams, state machine diagrams that contain superstates and substates, to identify the roles of different parties in business process diagrams, or in virtually any UML diagram that grows to more than two dozen or so elements!
Rapid globalization has had a profound effect on the documentation requirements of many forward-thinking companies. The need to quickly and accurately localize content for distribution to a host of different languages, while at the same time adhering to strict budgetary requirements, means that many companies have to rethink their legacy documentation technologies and workflows. XML and single source publishing have revolutionized content management, document exchange, and multilingual communications by separating content structure from appearance. An XML-based documentation system can greatly reduce costs through facilitating ease of conversion for delivery to many different data formats and types of applications. However, in order to take advantage of the full benefits XML provides, changes must be made in the traditional documentation workflow process. Throughout the documentation workflow, checks and balances are underway to ensure high quality content delivery. The single source concept ensures that these processes (i.e. conversion, edits, etc.) do not have to be repeated or reworked – that all content in the repository requires only minimal restructuring and promotion before being loaded to respective applications for delivery. In a global setting, where documentation needs to be simultaneously distributed to a variety of different languages, archival XML source documents can easily be translated by applying translation scripts as well as rendering scripts that can localize formatting attributes based on language-specific requirements. In addition, translation and maintenance costs can be significantly reduced by normalizing content for an international market.
XML has long been lauded by the publishing industry as a cost-cutting solution to many process-related issues in content production and delivery. Having content converted to XML allows for enhancements in content organization, indexing, linking, storage, reuse and delivery/display. But just having content converted to XML does not allow it to reach its full benefit. XML and its associated technologies call for redesigned workflows to demonstrate their enormous potential. An optimized workflow for content publishers requires minimal process repetition. Once content is delivered, it is edited and converted to XML and stored in a centralized single source repository within the content management architecture. The XML files themselves will be minimally defined (tagged) so as to allow maximum flexibility. This repository now becomes the core storage mechanism for all deliverable content. It is on the delivery side that this process model demonstrates its primary benefits. Storing content in the single source repository transforms exporting the content to different formats and applications for delivery into a primarily automated process. There is no need for additional conversions or edits each time content is to be delivered to a different medium. In addition, any complications that arise will now be instantly recognized as process-oriented rather than data-oriented.
Legacy translation memory databases attempt to modularize content by segmenting source and translated text and storing it in a searchable database for reuse. Though these partially automated systems have been proven to reduce costs when compared to manual processes, the fact that translation is generally done at the sentence level means that is often taken out of context and therefore often loses its meaning. XML documents, on the other hand, are inherently modular and do not require the extensive parsing applied by traditional translation memory systems. In addition, XML assets can easily be encoded (with metadata, for example) and tracked throughout the translation process, ensuring that it remains closely associated with the contextual information often required by translators. An XML-enabled single source publishing model is designed to leverage content reuse, enabling organizations to save significant time and money through reducing or even eliminating repeated translations. XML gives publishers the ability to conceptually segment content assets for translation purposes, while at the same time keeping them closely tied to context. In the case of document frameworks, such as technical publishing, where text is often repeated in many different places, the ability to consolidate resources offers potentially enormous savings in translation costs alone.
A growing number of emerging standards are designed to aid in the localization of document frameworks. Methodologies for translation workflows and document exchange are designed to streamline content management architectures for multilingual environments. These include:
- Translation Memory eXchange (TMX) – a vendor-neutral XML standard for the exchange of translation memory data between tools and/or translation vendors
- Term Base eXchange (TBX) – an open XML-based standard for exchanging structured terminological data
- Open Lexicon Interchange Format (OLIF) – an open, XML-compliant standard for the exchange of terminological and lexical data
- XML Localization Interchange File Format (XLIFF) – an XML-based vocabulary for the exchange of localizable software and document-based objects and related metadata (XLIFF is also represented in the DITA Translation Subcommittee)
- Translation Web Services (TransWS) – specifies the calls needed to use Web services for the submission and retrieval of files and messages relating to localization projects
- XML-based Text Memory (xml:tm) – an open XML standard for embedding text memory directly within an XML document using XML namespace syntax
The extensible nature of XML lends itself to the creation of a wide variety of industry specifications, many of which enable businesses to streamline business processes and improving communication.
In today’s global marketplace, organizations are often challenged with having to produce content in a variety of different languages. In a traditional documentation workflow model, this is an extremely arduous process. Legacy publishing software such as Quark, PageMaker, FrameMaker, etc. require expensive and resource-intensive desktop publishing and engineering processes for repurposing. In addition, these page layout applications are generally not well suited for delivery to multiple output formats. XML is inherently extensible, offering an infinite number of ways to define and structure markup. This flexibility also enables it to handle arbitrary data structures and convey information for both human users and machines for processing. In addition, XML also provides broad support for Unicode characters, enabling the automation of text normalization processes and making it natively accessible to multilingual environments. An XML documentation framework offers significant productivity enhancements to the localization workflow. The separation of content from structure and appearance that is inherent to XML gives companies the ability to translate text while at the same time maintaining the document structure dictated by an XML Schema or DTD. Any additional formatting that is required can also be simultaneously implemented through the application of XSLT and/or XSL:FO stylesheets.
Altova Tools for XML-based Single Source Publishing in a Global Environment
There are, of course, several different methods for internationalizing content with XML technologies. Included below are just a few of examples of how Altova tools can be used to streamline global publishing workflows. Multiple Output Formats
StyleVision is a graphical stylesheet design tool that enables users to create one design for simultaneous output to HTML, RTF, PDF, Word 2007 (OOXML), and Authentic electronic forms. Language-specific Stylesheets
StyleVision also supports user-defined parameters that allow designers to maintain the modularity of their XML assets through the application of variables. This enables publishers to add unlimited new languages to their documentation by importing language-specific stylesheets and leaving XML content untouched. Of course, this approach to multi-lingual publishing can lead to the creation of an enormous number of stylesheets that are increasingly difficult to maintain. SchemaAgent, Altova’s XML-based file management system offers advanced support for managing XSLT (as well as XML Schema and WSDL) document relationships in a large publishing environment. XSL Lang() Function
StyleVision also supports the XSL lang() function, which pulls the correct translation from XML source document(s) based on the xml:lang attribute. In this scenario, the translations could be stored together in one XML instance as specified in the xml:tm standard, or stored separately in language-specific directories. WYSIWYG Authoring Tool
Authentic gives content contributors the opportunity to edit XML directly through e-Forms based on the stylesheet design created in StyleVision. Authentic is available through a free license so that it can be deployed to an unlimited amount of users without increasing costs. This enables translators to work directly with XML, rather than having it transposed at a later date for publishing. Authentic also includes a multi-lingual spell-checker that references built-in dictionaries in 18 different languages and vocabularies, allowing writers and translators to ensure the accuracy of their work.
Single source publishing calls for the creation of a centralized store of content that can be accessed, reused, and deployed to a variety of different mediums. This enables the integrity of the content to be maintained throughout an infinite number of iterations. In a large documentation localization pool, the ability to adapt to different language and formatting requirements provides significant business advantages. There are several different approaches to maintaining single source content for a global audience. A careful and informed approach to preparing and storing content assets can ensure a variety of benefits including increased quality and consistency, reduction of translation costs, and increased longevity of translation investments. In addition, the XML-enabled single source publishing model facilitates document repurposing for delivery to a variety of different formats, making it accessible to end-users in HTML, RTF, PDF, Word 2007 (OOXML), etc. Incorporating this system within organizations documentation workflow processes enables the presentation accurate, consistent, and standardized information. XSL transformations apply format-specific processing instructions while ensuring that document content and structure remain intact. Migrating content to XML-based single source publication workflows requires some initial planning and technology investment, but the rewards are numerous. Cost reductions in translation and type-setting, faster time-to-market, and the ability to adapt to new language and data structures requirements in the future make the relatively small investment worthwhile. Discover how single source publishing can optimize your global documentation workflows with a free trial of StyleVision. Please note that StyleVision and the other products mentioned above are available as part of Altova’s software bundle, MissionKit, which offers XML and data management tools for distributed publishing environments. This technical brief and other resources are available in the Altova Library.
Today we released Service Pack 1 (SP1) of our complete Version 2008 Release 2 product line. SP1 contains helpful bug fixes and other useful enhancements and is a free update for all v2008r2 users. It’s also a free upgrade for any customers with an active Support and Maintenance Package. Simply visit the Altova download page to get the latest version or learn more about all the functionality added in R2.
Welcome to the new, official Altova Blog, where you’ll find information on Altova announcements, new product features, and events – as well as useful reference material such as whitepapers, technical case studies, technology tips, and more. If you subscribed to either of Altova’s RSS feeds in the past, these have been replaced by the blog feed. Rest assured: you’ll still be receiving the same information – it will just be in a more fun, easily digestible format and updated more frequently. If you’re just joining us now, you can subscribe via your preferred reader in the right-hand sidebar. You’ll see that the Altova team has already been busy posting entries – check them out for a taste of what’s to come. We look forward to creating interesting posts and reading your comments!
Microsoft TechEd 2008 is presently underway in Orlando, FL, and this year the show has been split into two separate events: TechEd for Developers is coming to an end tomorrow, and next week we have TechEd for IT Professionals. Altova is sponsoring both events and we invite you to visit us at booth# 1114 to see the latest new features in version 2008r2 of our developer tools. We’ll be happy show you the new Open XML (OOXML) features introduced in MapForce, StyleVision, and DiffDog, as well as the new support for C# 3.0 and Visul Basic 9 in our UML modeling tool, UModel. To try these new features yourself, you can download a free 30-day eval version from our web site.