Successfully Selecting Object-Oriented A&D Tools

Size: px
Start display at page:

Download "Successfully Selecting Object-Oriented A&D Tools"

Transcription

1 Decision Framework, J. Duggan Research Note 26 September 2002 Successfully Selecting Object-Oriented A&D Tools Gaps in object-oriented analysis and design tool functionality inhibit reliable and predictable project execution. These eight criteria will enable you to evaluate the tool functions and watch out for the gaps. Core Topic Application Development: Architecture and Design for Application Development Key Issues How can AD organizations test business systems through business modeling? How can AD organizations test business systems through business modeling? Strategic Planning Assumptions Traditional structured methodologies will continue to be used to provide overall project and estimation guidelines in 50 percent of large projects through 2005 (0.8 Projects using at least some object-oriented analysis and design in their methodologies will account for 80 percent of new development project spending by 2005 (0.7 Systematic development processes will ensure the creation of the robust, scalable applications that are necessary for reliable and predictable deployment. Systematic development embraces service-oriented architecture (SOA), component-based development, and event-driven or object-oriented (OO) techniques which all demand some form of explicit design discipline. Some of these complexities can be managed through agile and extreme methodologies. An increasing number of projects rely on Unified Modeling Language (UML) and OO analysis and design (A&D) tools. At least 40 percent of projects include "design" of applications at a minimum, data design. Approximately 10 percent of all projects include some formal A&D steps in application development (AD). Formal A&D steps are being replaced by more-adaptive, architected, rapid AD methods using OO A&D tools, which extends their usage beyond the traditional modelers. Traditional structured methodologies will continue to be used to provide overall project and estimation guidelines in 50 percent of large projects through 2005 (0.8 Projects using at least some OO A&D in their methodologies will account for 80 percent of new development project spending by 2005 (0.7 Broader use of OO A&D has been inhibited by gaps in tool functionality, difficulty in establishing a structured method for application and a slow initial payback on the implementation investment. Shifting to OO languages and methods makes life cycle integration even more delicate than it was with traditional development tools. The problems associated with traditional development tools include gaps between tools from multiple vendors, multiple "repositories" and inconsistent standards. These problems are exacerbated in an OO environment because it is very dependent on the proper definition of classes. After a Gartner Entire contents 2002 Gartner, Inc. All rights reserved. Reproduction of this publication in any form without prior written permission is forbidden. The information contained herein has been obtained from sources believed to be reliable. Gartner disclaims all warranties as to the accuracy, completeness or adequacy of such information. Gartner shall have no liability for errors, omissions or inadequacies in the information contained herein or for interpretations thereof. The reader assumes sole responsibility for the selection of these materials to achieve its intended results. The opinions expressed herein are subject to change without notice.

2 project has expanded to any size, keeping track of classes and objects has proven to be extremely difficult. Accordingly, tools need to be implemented within the context of some development process or methodology. Selecting tools alone particularly if integration issues are lightly weighted will continue to cause gaps. Note 1 Representative Tools With OO A&D Functionality Aonix Select Enterprise Borland JBuilder Computer Associates AllFusion Component Modeler Embarcadero Technologies Describe Microsoft Visual Studio Oracle JDeveloper Popkin Software System Architect Rational Rose, Rational XDE Sybase PowerDesigner Telelogic Tau TogetherSoft ControlCenter A spectrum of tools would include OO A&D functionality. Business modeling tools may include a subset of object diagrammers. IT-oriented tools range from simple drawing tools through a spectrum of design and generation functionality to integrated development environment (IDE) tools with some design diagrammers. A representative list of vendors is provided in Note 1. More detailed descriptions are provided in "Object- Oriented Analysis and Design Magic Quadrant 2H02." This framework from Gartner will enable developers to assess the completeness of tools and bring to light the areas where manual processes must fill gaps. Our list of seven criteria sets forth tool functions important to broad commercial deployment. These functional criteria must then be combined with assessments of price, service and support, vendor vision and vendor ability to execute a hierarchical assessment. Details beyond the functional criteria discussed here can be developed with an in-house selection team, vendor contacts, discussions with Gartner or other forms of background research. Evaluation Criteria Integration With Business Modeler. Business requirement analysis, driven through some combination of textual requirements and visual models, is a major factor in successful use of objects in design. Use case analysis, written requirements or XP stories, and test cases all work well for small-project elements, but need to be supplemented by a context or index in larger, complex projects. Business process modeling tools provide good higher-level views to supplement OO analysis and design. Ideally, a business model and an IT model would be different views of the same information and could be populated without duplicate input that is, the transition from one to the other would be transparent. More commonly implemented is the ability to move business models into a use case representation, which is marginally useful if the use cases cannot then be linked to other diagrams, as in the original object-modeling technique methodology. Because of the more-complex notations and lessfamiliar terminology, direct business modeling in UML activity diagrams has not been as productive when business end users are involved. 26 September

3 Criteria: Look for modeling in common business terms that can be mapped to one or more UML diagrams. Shared repositories or metadata bridges can be used to implement this integration. Mapping to Physical Database Design. Designers using OO modeling tend to deal primarily with logical design and still make heavy use of database design tools. The mapping from logical to physical design can occupy 40 percent or more of project design efforts. Assisted mapping from logical to physical design will be a significant step toward broadening deployment of these tools. Most tools have bridges to import existing database schema, and generate an "ideal" physical design based on the OO model. This idealized design is problematic, because, in many cases, the database already exists and no database administrator (DBA) wants to re-architect it. The real requirement for mapping tools is that they go beyond the ability to create an "ideal" design for the new persistent data to include an ability to iterate with or map transformations into established databases. Criteria: Closely review functionality provided to map persistent data through an iterative design process involving both data base schema and objects. Good database design functionality and database object generation capabilities are pluses. Synchronization With Construction IDE. Integration and synchronization with the code within an IDE is gradually replacing round-trip engineering (in other words, transforming model to code and then back to model to maintain synchronization) as the preferred mode of operation. Round-trip engineering in model-driven AD has been approached in two ways. One is a quick round trip via tight integration with the IDE. This is often the best way to work when the project is focused on rapid AD and programmer and analyst roles are intertwined. Round-trip techniques becomes appropriate if the project scope has increased to a point where business analysts, modelers and architects are in charge of the model within a formal methodology. Less-frequent and very selective mode updates then become critical. In fact, updates are usually made only once or twice during an iteration (one reason to keep iterations short). Evaluations need to keep both approaches in mind when assigning metrics. In a practical sense, weak integration with an IDE will lead to little use of round-trip engineering and bias the tool toward use by the analysts and designers. Less-robust round-trip engineering or lack of pattern support implies that coding standards will have to be introduced to minimize code rework on each cycle. Robust interactive synchronization improves the utility of models for RAD-focused projects and for a variety of "agile" design approaches. The interactive approach can lead to a secondary 26 September

4 role for the models, leaving them as documentation of the result of "code first approaches," unless a design discipline is incorporated into the development process. Strong integration is often achieved by including some level of IDE function and modeler function in the same tool (for example, TogetherSoft, Borland, Oracle and, to some extent, Microsoft) Criteria: If the goal is to develop models for long-term use, a primary evaluation metric will be the ability to keep the model in synch with the written code. Support for Patterns and Frameworks and Generation. Pattern functionality has become common in A&D tools, creating the ability to generate method and class structures. As development styles shift to SOA, consistent use of patterns will be important to success, improving the commonality of approach and shaping the nature of components for quicker payback. Criteria: Look for the ability to generate scaffolding and repetitive code structures. Other desirable features include the incorporation of pattern libraries, templates or other techniques that will allow generation of method and full, executable applications. Treatment of Component Interfaces. Under the current specification, UML notation has to be extended to specify a component. The extension mechanisms will be improved in UMLv.2, but even the revision does little to provide consistency in service and component description. Criteria: Evaluations should focus on extensions for defining and managing services and components, and for the suitability of those techniques to the companies' overall development plans and processes. Little functionality is available yet to guide programmers in allocating functionality among a group of components, to grade the "merit" of a component or to otherwise guide the characterization or sharing of components. Methodology Support. After a period of inactivity, the last few years have seen a burst of methodology development. The UML remains the diagramming notation standard for OO A&D tools. Users should assess the tools' ability to support or to be tailored to a variety of methodologies. Tools can assist in the implementation of methodology in a number of ways. Some tools incorporate online documentation, contextual help or even integration with workflow to assist in adhering to the method. Criteria: Look for plug-in mechanisms and other implementations of the ability to adjust or tailor to a variety of methods and to local method simplifications or elaborations. The Unified Process, 26 September

5 particularly as implemented by Rational Software, is the most broadly deployed, but requires specialization to be effective. Catalysis, Select Perspective, Dynamic Systems Development Methodology, and a variety of XP and Agile methodologies may also be encountered. Life Cycle Support. The ability to track changes and coordinate the efforts of many contributors of models will be important for large-scale projects. Ultimately, this requires repository function for impact analysis and fine-grain versioning. Tools currently provide a variety of locking mechanisms ranging from simple interfaces with external products through internal file locking (check in/check out). The most-advanced tools juggle objectlevel locking with fine-grain versioning and fall short of full repository function. Advanced team support will include parsers for import of existing designs and programs, repository services (such as versioning, model subsetting and security), robust reporting and integration with workflow tools. In some cases, integration with a software change management facility provides file-oriented services in lieu of an integrated object repository. Criteria: Enterprises seeking to keep models and code in synch will need to ensure that both forms are included in change management processes and versioned is such a way to preserve the traceability of design to code. Administration. The techniques of OO A&D were developed in the context of small, iterative projects. Enterprises seeking to implement broad project development methodologies will need to add project management, resource planning and estimation, using the UML-based tools to manage iterations within this broader project context. Further, larger teams will require administration features such as security (by role, value and other attributes), model subsetting and management across multiple sites and projects, and sophisticated activity and status reporting facilities. Acronym Key A&D Analysis and design AD Application development DBA Database administrator IDE Integrated development environment OO Object oriented SOA Service-oriented architecture UML Unified Modeling Language Criteria: Match the administrative features of the tools to the needs of your project scale. Look for extensions or interfaces to related facilities or built-in functions to support project geographic and internal scope. Bottom Line: Eight criteria, all supplemental to the basic UML diagrammer implementation, will determine enterprise success with OO A&D tools. To achieve sustained success, match internal team support and integration needs, and supplement the offerings with manual processes and project management. 26 September