Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Friday, January 30, 2009

Enterprise Architect 7.5 beta 1 Available

Overview (from download site)
This major release includes a huge number of new features, enhancements and performance boosters. In addition, three new Enterprise Architect editions featuring advanced code generation from executable UML models, bundled tools and technology frameworks provide a powerful, cost-effective solution for advanced business, systems and software development.

From its new user interface styles, diagram rendering, scripting and slideshow support to the powerful behavioral code generation engine built into the new editions of Enterprise Architect, version 7.5 demonstrates Sparx Systems' commitment to delivering the ultimate modeling and development tool at an unmatched price point. Get the new Beta now and see for yourself how Enterprise Architect 7.5 is the ultimate, cross domain modeling tool for the whole team, strategically linking business, IT and systems into a coherent enterprise-wide model.

New User Experiences (from download site)
New diagram rendering engine for smooth, crisp detail
New visual layout styles make Enterprise Architect look the way you want
New built in scripting engines to automate tasks and bring your models to life
New diagram layout commands to arrange and manage your complex diagrams
New code editor with intellisense, intelligent indenting and improved syntax highlighting
New element list with drag drop categories for easy management of elements
New quick Access buttons support in-diagram access to common formatting options and more
New status bar zoom control to fine tune global diagram size
New support for recent discussion in the Model Views window keeps you in touch with other modelers
New debugging and profile windows plus powerful new commands to help you explore, map and visualize your executing code.
And many more enhancements make Enterprise Architect the premier modeling and development environment

New Tools and Technologies (from download site)
Strategic Modeling technologies for Strategy Maps, Balanced Scorecard, Value Chain, Org Charts and more
Archimate, SPEM and Business Rules technologies
Link connectors to internal element features such as methods or attributes
Support for patterns in the UML Toolbox
New Slideshow capability supports automated or manual presentations
Hide the base UML technology to focus on your particular domain

New Performance Gains (from download site)
Lazy Loading support greatly reduces time to open large models, especially over WAN links.
WAN Optimizer significantly reduces network traffic and data transfer to speed up models accessed over a WAN
Improved support under WINE/CrossOver Office. Faster more efficient startup and use.
Version control, auditing and locking enhancements reduce delays when working with very large models

3 New Enterprise Architect Editions (from download site)

All Editions feature:
New executable code generation from UML models
Bundled tools to integrate developers with their favorite IDE
Bundled frameworks for modelers and architects to structure and organize their models
New tools for business, systems and IT

Business and Software Engineering Edition
For general business software, business processing, rules based systems, SOA and similar domains
BPEL generation from BPMN 1.1 models
Rules composer and code generation of executable rules in standard coding languages
Bundled MDG tools for developers and architects

Systems Engineering Edition
For systems software, real-time, embedded, scientific and similar domains
Targets behavioral code generation for additional code and hardware description languages
Advanced SysML support
Bundled MDG Tools for developers and architects

Ultimate Edition
Everything in one edition!

Read more of the details about the new features and get it here.

posted by tadanderson at 7:37 PM 0 comments

US Airways Web site Usability almost cost me my Engagement

I arrived at the Airport on the morning of the 14th of January with my girlfriend. We were flying to Turks and Caicos on frequent flyer miles for a short five day vacation. My girlfriend handed over her reservation and passport and received back her boarding pass. I repeated the exercise and was told I had no reservation.

After doing some searching, the agent told me that I was a no show for a flight on Jan. 9th at 8:40 am, and arriving in Turks and Caicos at 2:24 pm. I was scheduled to return that same day at 3:30 pm.

We had booked on line. We used two computers side by side and selected out seats together. They told me I would have to call reservations and ask them to help because we used their web site.

My girlfriend told me that while she was looking for the trip the site would often change dates on her. She spent a lot of time look for anything to use the miles on, because miles are pretty much a thing of the past and everything is blacked out. She said it happened several times. We think I either hit the 9th instead of the 19th and it just changed my leaving date to the first available flight before the 9th, or the site just is completely flaky. When we were picking our seats the same seats were taken on each of our screens, so at some point I had the right dates. Nevertheless I was in trouble.

The first lady I talked to told me there were absolutely no seats on any flights to Turks and Caicos that day. That totally sucked, especially because I planned to propose during the trip. We stood around with blank minds for a while. She already had her boarding pass. I decided to try to call again. This time I told the whole story which included the plan to propose.

I was put on hold. The lady came back on and asked for all my girl friends information. After sweating bullets for 5 more minutes she came back and told me that there were two seats available and they did not qualify for frequent flyer miles, but because they verified that I was going with her they decided to open one of the seats up for me to use. I only had to pay $150 to transfer my unused ticket.

So in the end… Turks and Caicos rocked, the second customer service lady rocked, and the first customer service lady and the web site sucked. Oh yeah... and my girlfriend got a rock.

posted by tadanderson at 11:25 AM 0 comments

Thursday, January 22, 2009

The Method Framework for Engineering System Architectures (MFESA) Book Review

This book is a repository of architectural techniques and knowledge that is intended to be customized per project. It is geared towards system architecture, of which software architect is one small discipline, which is true in the context of this book and the systems it refers too. The systems they are referencing are airplane systems, fighter jets, and other large systems.

I do believe the book is a great start in building a repository of architectural techniques and knowledge. One thing the repository must accomplish before it is really usable is being distributed electronically. The author says that is in the works.

The book is a goldmine of information and guidance. They include a ton of content geared towards the decision making process. It is in the format of Pitfalls, Negative consequences, and Mitigations.

Amazon has made the content searchable. You can check out the table of contents, and spend some time searching on topics, for example "architecture tools", "evaluations", or "performance". Also, if you search the web for MFESA or "Method Framework for Engineering System Architectures" you will find some presentation and papers done by the author, which will give you a good look at some of the material found in the book.

The authors state that this is a work in progress and this is only the beginning. Hopefully in coming content we will see some guidance on tactics as they are related to quality attributes. I have not seen a more complete compilation of quality attributes anywhere, but they stop at the quality attributes. They do for what I would consider a good reason, it would have double or tripled the size of the book if they would have picked a domain and covered tactics. They do cover architectural mechanisms, styles, and patterns.

They also cover decision-making techniques in detail, and a tactic is a design decision that enables control over a quality attribute. They dedicate an entire appendix to decision-making techniques.

Although the book is geared towards system architecture, it also applies 100% to software architecture. I have not found any information in the book that is not relevant to software architecture.

This is a must have reference for any system or software architect. Keep in mind it is not a process, it is a repository that is used to create an instance of a process. Every project is different to a certain degree, and because of that, every project needs its own instance of a process.

posted by tadanderson at 11:14 AM 0 comments

Tuesday, January 13, 2009

ArchStudio 4 (Free Tool) for Modeling, Visualizing, Analyzing, and Implementing Software and Systems Architectures

ArchStudio 4 is definitely worth checking out. It is a free tool modeling tool that integrates with Eclipse.

ArchStudio 4 Overview (from ArchStudio 4 site)
ArchStudio 4 is an open-source software and systems architecture development environment developed by the Institute for Software Research at the University of California, Irvine. It is an environment of integrated tools for modeling, visualizing, analyzing and implementing software and systems architectures. It is based on the Eclipse open development platform. It is released under a BSD-style license.


Click image for larger view.

Get it here.

posted by tadanderson at 9:07 AM 0 comments

Architecting Software Intensive Systems: A Practitioners Guide Book Review

This book does an excellent job of introducing the reader to the soft skills needed to succeed as a software architect.

The book starts by covering the architectural lifecycle. It discusses chaos, dissemination, adaptation, harvest, and sunset. It also discusses external influences that affect the lifecycle such as stakeholders, business models, marketplace, technological environment, and organizational structure.

The book continues on by putting software architecture into context. It shows how it's related to enterprise architecture, system architecture, and detailed software design and the constraints that they place on each other.

The author covers how to interact with stakeholders and manage the architectural drivers that each group of stakeholders places on the architecture. It covers high-level functionality, quality attribute requirements, technical constraints, and business constraints.

This section also covers architectural structures which include structure and perspective, structures and systematic properties, styles and patterns of reasoning framework tactics and quality attributes. The work of an architect is covered in this section and documenting the architectural design which covers UML, technical writing guidance, and document structures.

Section 2 covers the Architectural Centric Design Method (ACDM). The author goes into great detail covering all eight stages. They include Discovering the Architectural Drivers, Establishing Project Scope, Create/Refine the Architecture, Evaluate the Architecture Design, The Go/No -- Go Decision, Experimentation, Production Planning, and Production.

The last section covers transitioning design practices, processes, and methods as well as other design considerations including legacy, designed by selection, and maintenance. The author then covers using the ACDM with software development frameworks which include Waterfall, Extreme Programming, SCRUM, Team Software Process, and RUP and CMMI.

I highly recommend this book to anyone considering getting into software architecture. The book is for architecting software intensive systems but many of the practices found in the book can be applied to building applications. An example of what I mean by applications is Web applications, RIAs, or thick client applications that are not delivered as bundled software releases or any system that is not hardware intensive.

The author does a great job pulling in industry-standard processes that are already in place for example SEI's ATAM and how to apply tactics to quality attributes. This is one of the best architecture books that cover the soft skills necessary to achieve success.


Architecting Software Intensive Systems: A Practitioners Guide

Architecting Software Intensive Systems: A Practitioners Guide

posted by tadanderson at 8:28 AM 0 comments

Previous Posts

  • DevOps: A Software Architect's Perspective Book Re...
  • Scaled Agile Framework (SAFe) LiveLessons Video Se...
  • Bulletproof Android: Practical Advice for Building...
  • Swift for Programmers Book Review
  • Security in Computing (5th Edition) Book Review
  • Swift in 24 Hours, Sams Teach Yourself Book Review
  • Sparx Systems Releases Enterprise Architect 12
  • Learning Swift Programming Book Review
  • Android Security Internals: An In-Depth Guide to A...
  • Adaptive Code via C#: Agile coding with design pat...



Archives

  • December 2005
  • January 2006
  • February 2006
  • March 2006
  • April 2006
  • June 2006
  • August 2006
  • October 2006
  • November 2006
  • December 2006
  • January 2007
  • February 2007
  • March 2007
  • April 2007
  • May 2007
  • June 2007
  • July 2007
  • August 2007
  • September 2007
  • October 2007
  • November 2007
  • December 2007
  • January 2008
  • February 2008
  • March 2008
  • April 2008
  • May 2008
  • June 2008
  • July 2008
  • August 2008
  • September 2008
  • October 2008
  • December 2008
  • January 2009
  • February 2009
  • March 2009
  • April 2009
  • May 2009
  • June 2009
  • July 2009
  • August 2009
  • September 2009
  • October 2009
  • November 2009
  • December 2009
  • January 2010
  • February 2010
  • March 2010
  • April 2010
  • May 2010
  • June 2010
  • August 2010
  • September 2010
  • October 2010
  • November 2010
  • December 2010
  • January 2011
  • February 2011
  • March 2011
  • April 2011
  • May 2011
  • June 2011
  • July 2011
  • August 2011
  • September 2011
  • October 2011
  • November 2011
  • December 2011
  • January 2012
  • February 2012
  • March 2012
  • April 2012
  • May 2012
  • June 2012
  • July 2012
  • August 2012
  • September 2012
  • October 2012
  • November 2012
  • December 2012
  • January 2013
  • February 2013
  • March 2013
  • April 2013
  • May 2013
  • June 2013
  • July 2013
  • August 2013
  • September 2013
  • October 2013
  • November 2013
  • December 2013
  • January 2014
  • February 2014
  • March 2014
  • April 2014
  • May 2014
  • June 2014
  • July 2014
  • August 2014
  • September 2014
  • October 2014
  • December 2014
  • February 2015
  • March 2015
  • April 2015
  • June 2015
  • July 2015
  • September 2015

Powered by Blogger