2.12.2010

A Full Cycle Model Tool? - the sparx at the end of the tunnel

I have worked with many business process modeling, software requirements to design, CASE, UML tools. They all seem to fall short in areas of traceability or end to end - full life cycle support. Most claim somewhat of a unified model approach and/or a code gen - testable finale. But there tends to be a missing link often from requirements to models to UML to UI design to actual services code structure and testable change management. And don't even approach the backwards documentation versioning/archival problem accross the life cycle. However, I have been working with a client for the past three months who is using Enterprise Architect 7.5 for the complete end to end project and have been pleasently surprised at its seemingly simplicity, yet comprehensive capabilities (not to mention a very reasonable price tag). I think I have for the first time seen the modeling dream in action, with no missing life cycle links. We will see. Below is a marketing blurb about EA 7.5 that is pretty truthful from what I have seen so far.


What is Enterprise Architect?

Enterprise Architect is a visual platform for designing and constructing software systems, for business process modeling, and for more generalized modeling purposes. Enterprise Architect is based on the latest UML 2.1 specification (see www.omg.org). UML defines a visual language that is used to model a particular domain or system (either proposed or existing). Enterprise Architect is a progressive tool that covers all aspects of the development cycle, providing full traceability from the initial design phase through to deployment, maintenance, testing and change control.

What differentiates Enterprise Architect from other UML tools?
• Comprehensive UML 2.1-based modeling
• Built-in Requirements Management
• Extensive Project Management support, including resources, metrics and testing
• Testing support: test cases, JUnit and NUnit support
• Flexible documentation options: HTML and Rich-Text (RTF) report writers
• Code engineering support for many languages ‘out of the box’
• An integrated Debug Workbench for profiling executable Java and .Net applications, instantiating run-time model objects and recording sequence diagrams from a stack trace
• Extendable modeling environment that can host user-defined profiles and technologies
• Usability: Enterprise Architect makes it easy to get up and running with UML quickly
• Speed: Enterprise Architect is a spectacularly fast performer
• Scalability: Enterprise Architect can handle extremely large models and many concurrent users with ease
• Price: Enterprise Architect is priced to outfit the entire team, making collaboration and team development a real possibility

What benefits does Enterprise Architect provide?

Model and Manage Complex Information.
Enterprise Architect helps individuals, groups and large organizations model and manage complex information. Often this relates to software development and IT systems design and deployment, but it can also relate to business analysis and business process modeling. Enterprise Architect integrates and connects a wide range of structural and behavioral information, helping to build a coherent and verifiable architectural model, either what-is or what-will-be. Tools to manage versions, track differences, audit changes and enforce security help control project development and enforce compliance to standards.

Model, Manage and Trace Requirements.
Capture requirements and use full traceability from base requirements to design, build, deployment and beyond. Use impact analysis to trace from proposed changes to original requirements. Build the 'right' system.

Integrate Teams and Share a Vision.
A scalable, easily deployed, multi-user environment, Enterprise Architect integrates team members from all sections and all phases of a product’s (or system's) development and maintenance lifecycle, providing significant benefits from the built-in collaboration and inherent information sharing. A single repository for business analysts, software architects, developers, project managers, testers, roll-out and support staff. A 'unified' view of a complex system having many view points and many possible sub-systems.

Design and Build Diverse Systems using UML.
UML 2.1, an open standard, provides a rich language for describing, documenting and designing software, business and IT systems in general. Enterprise Architect allows you to leverage the full expressive power of UML 2.1 to model, design and build diverse systems in an open and well understood manner. Generate code, database structures, documentation and metrics. Transform models. Specify behavior and structure as the basis for contractual agreements.

Visualize, Inspect and Understand Complex Software.
Software is complex and often hard to understand. Use Enterprise Architect to reverse engineer a wide variety of source code to understand static structure. To complete the picture, use the unique built-in profiling and debugging tools to capture and visualize executing software at run-time. Reverse engineer database schema for a wide range of systems to integrate existing data models into models. Create run-time instances of model elements and invoke methods using the built in Object Workbench.

Use Full Lifecycle Modeling and Project Management.
Capture and track information about model elements that are important to success: for example, Testing, Project Management and Maintenance details. Use this information to drive and track product development and delivery.

Share and Re-Use Information Across Tools.
Enterprise Architect supports a number of mechanisms for exporting and importing models using industry standard XMI. This allows modelers to use information created in other tools, to copy information between Enterprise Architect models and even to write and use custom tools that take XMI directly as input.

Create Platform Independent Models using Model Driven Architecture.
Model Driven Architecture (MDA) is an open standard designed to facilitate rapid application development in a platform independent manner. Models can be built at a high level of abstraction and using MDA based tools, transformed into models and code targeting a specific platform or domain. Enterprise Architect has a rich set of tools built-in to support MDA.

11.01.2009

A Nostalgic Look Back - 'LO' and Behold

The internet just turned 40 this past weekend. ARPANET, the Defense Department's Advanced Projects Agency network, was jolted alive like a newborn Frankenstein, unaware of its true identity or potential. Charley Kline working at UCLA sent the word "LOGIN" (actually just "LO" because the system crashed instantly) over ARPANET to Bill Duvall at the Stanford Research Institute. It wasn't an email, it wasn't a text message, it wasn't a chat on IM (or IRC/Talk). It was the very first computer network communication at 10:30 p.m. on Oct. 29, 1969, utilizing the newly developed packet switching technolgy via an Interface Message Processor on an IBM 1401.  Internet baby you've come a long way. I remember my first network and email setup on a IBM personal computer. It was in 1987 at the International Monetary Fund in Washington, DC.  In an NPR interview Dr. Leonard Kleinrock says this of the the internet's maturity:


"Well, right now I think the Internet is approaching teenage and it's behaving like a teenager: It's mischievous, it's unruly, it's unpredictable. The dark side is a manifestation of that. Now, if you think you can control and modify and improve the behavior of a teenager as they pass from teenage to young adulthood, the answer is an optimistic yes. But along the way, they can go wrong. And whether or not we succeed in maintaining and basically subduing some of this bad behavior is a really difficult open question. It - you know, when you get the forces of the crime syndicates using the dark side of the Internet then you have a problem in how you're going to control them. It's well beyond the Internet."

Technology Evaluation Centers