Software Architecture Tools
Upcoming SlideShare
Loading in...5

Software Architecture Tools






Total Views
Views on SlideShare
Embed Views



1 Embed 1 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • No seemless integration with other tools.

Software Architecture Tools Software Architecture Tools Presentation Transcript

  • Software Architecture Tools Maulesh Jhala Hiren Variava Arpita Patadia SE682 – June 7, 2004
  • Agenda Items
    • Introduction
      • Software Architecture Overview
    • Tool Overview
      • Metis
      • Software Through Pictures
      • System Architect
      • ArchStudio
      • IBM Rational Rose XDE Modeler
    • Recommendation
    • Conclusion
  • Introduction
    • Currently there is little practical guidance on managing software architecture in a real software development organization
    • The needs of software architecture have led to a desire to create tools to support the process
    • For each tool we will discuss:
      • Features
      • Benefits
      • Drawbacks
  • Software Architecture Overview
    • SA Definition: An abstract view of a system, independent of the implementation details
    • Well-defined architecture can be proven to be extremely beneficial to an organization, but are difficult to develop
    • In the early days architecture was developed mostly in an ad hoc way
    • Technological basis for architectural design has improved dramatically
    • Inherent complexities in SA are still major roadblocks
  • Tools Criteria
    • Support any type of architecture using components and connectors to give better visual representation instead of using predetermined, statically defined set
    • Combine architectural elements recursively and be able to associate meaningful semantics with elements at any level of abstraction
    • Determine conformance to interface, both with architecture being designed and with any external system.
    • Ease of use
    • Aid in design as a creative and analysis activity
    • Support repository to store as well as search various artifacts
    • Provide automated code generation templates
    • Provide reverse engineering capabilities
    • Support model and component reuse
    • Support simulation, report generation, and web interface
    • Support full life-cycle development
    • Does it support and make use of relevant industry standards, e.g. XML, HTML, produce hypertext, UML, other industry standard?
    • How reliable vendor is in terms of support and viability.
  • Metis Visual Modeling
    • set of tools for creating, visualizing, changing, sharing and managing models
    • Components
      • Metis Modeling Workbench
        • Metis Model Editor, Designer, and Developer
      • Metis Model Browser
      • Metis Model Annotator
    • Drawbacks
      • No UML or DoDAF template support
      • No Support for reverse engineering, full life-cycle development, and code generation.
  • Software Through Pictures
    • Graphical modeling tool
    • Components
      • StP/SE: Provides a comprehensive structured analysis and design environment for modeling new and existing systems
      • StP/UML: Graphical and object-oriented modeling environment
      • StP/ACD: Transformation engine for UML models
    • Drawbacks
      • Limited graphical support (toolbars rather than menus)
      • Trivial functionality, jumbled lower level design
  • System Architect
    • Features
      • Framework browser
      • Various business perspective
      • Support for UML, XML, A&D
      • Data modeling
      • Good integration with other tools
      • Encyclopedia functionality
      • Simulation
    • Drawbacks
      • Lengthy and intensive configuration
      • Non-intuitive workflow
  • ArchStudio
    • Architecture-driven software development environment
    • Components
      • C2: component and message-based architectural style
        • Constructs extensive and flexible software system
        • Components are only aware of services provided by the components above it in hierarchy
      • xADL 2.0: architectural description language
        • Used for creating descriptions of components and connectors
      • Run-time evolution
        • Explicit architectural model
        • Runtime change description
        • Reusable runtime architectural infrastructure
  • ArchStudio
    • Drawbacks
      • C2 centric
      • All components and connectors must be written using the Java-C2 class framework
      • No support for component replacement
      • Currently in ‘alpha’ phase, a researching prototype
      • No graphical editors for xADL
      • Supports only one runtime environment, c2.fw architecture framework
  • IBM Rational Rose XDE Modeler
    • Model driven development with UML
    • Features
      • Models and diagrams at any level of abstraction
      • Design and implementation control
      • Visibility of impact of change
      • Flexibility during change, clear division of work
      • Scalable and reusable code development, disparate component connection
    • Drawbacks
      • Only aimed at software professionals
      • Steep learning curve
      • No support for multi-platform
  • Recommendation
    • Single “One size fits all” vs multi-tool suite
    • Both System Architect and IBM Rational Rose XDE Modeler prefered
      • They map to most of the criteria
      • Flexible and support multiple methodologies
      • Custom creation of templates and models
      • Customized reports
      • Facilitates easier communication through the organization
  • Recommendation
    • System Architect surpasses XDE modeler
      • Provides simulation on hierarchy of process model
    • Improvement suggestions for System Architect
      • Possible automation of configuration
      • Possible automation of development process
      • Value proposition (cost vs features)
      • Full MDA support
      • Around the clock customer support
  • Questions?
  • References
    • “ Software Engineering Institute Affiliates Symposium, 1990” Proceedings. Pittsburgh, PA. Carnegie Mellon University, 1990.
    • Garlan, David. Software Architecture: A Roadmap. Proceedings of the conference on The future of Software engineering. May 2000. ACM Press, pp. 91-101, 2000.
    • Kazman , Rick. Tool Support for Architecture Analysis and Design. Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops. October 1996. pp. 94-97.
    • Oreizy, Peyman., Medvidovic, Nenad., and Taylor, Richard N. Architecture-Based Runtime Software Evolution. Proceedings of the 20th international conference on Software engineering. April 1998.
    • Paulisch, Frances. Tool Support for Software Architecture. Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops. October 1996. pp. 98-100.
    • Subramanian, Nary and Chung, Lawrence. Session 4 (full technical papers): evolution patterns and models: Tool support for engineering adaptability into software architecture. Proceedings of the international workshop on Principles of software evolution. May 2002. pp. 86-96.