Software Architecture Tools Maulesh Jhala Hiren Variava Arpita Patadia SE682 – June 7, 2004
Agenda Items <ul><li>Introduction </li></ul><ul><ul><li>Software Architecture Overview </li></ul></ul><ul><li>Tool Overvie...
Introduction <ul><li>Currently there is little practical guidance on managing software architecture in a real software dev...
Software Architecture Overview <ul><li>SA Definition: An abstract view of a system, independent of the implementation deta...
Tools Criteria <ul><li>Support any type of architecture using components and connectors to give better visual representati...
Metis Visual Modeling <ul><li>set of tools for creating, visualizing, changing, sharing and managing models </li></ul><ul>...
Software Through Pictures <ul><li>Graphical modeling tool </li></ul><ul><li>Components </li></ul><ul><ul><li>StP/SE: Provi...
System Architect <ul><li>Features </li></ul><ul><ul><li>Framework browser </li></ul></ul><ul><ul><li>Various business pers...
ArchStudio <ul><li>Architecture-driven software development environment </li></ul><ul><li>Components </li></ul><ul><ul><li...
ArchStudio <ul><li>Drawbacks </li></ul><ul><ul><li>C2 centric </li></ul></ul><ul><ul><li>All components and connectors mus...
IBM Rational Rose XDE Modeler <ul><li>Model driven development with UML </li></ul><ul><li>Features </li></ul><ul><ul><li>M...
Recommendation <ul><li>Single “One size fits all” vs multi-tool suite </li></ul><ul><li>Both System Architect and IBM Rati...
Recommendation <ul><li>System Architect surpasses XDE modeler </li></ul><ul><ul><li>Provides simulation on hierarchy of pr...
Questions?
References <ul><li>“ Software Engineering Institute Affiliates Symposium, 1990” Proceedings. Pittsburgh, PA. Carnegie Mell...
Upcoming SlideShare
Loading in …5
×

Software Architecture Tools

1,230 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,230
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • No seemless integration with other tools.
  • Software Architecture Tools

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

    ×