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






Monday, August 31, 2009

The Process of Software Architecting Book Review

About a year ago I finished up putting together a new Software Engineering Process for the state of PA. It included the best of the best, from those that gave us permission to use their content. You can check out the resources here.

A lot of the content was related to architecture. I would have loved to have had this book back then to refer people too as an educational resource. This book puts the process of Software Architecting into a very understandable format and does a great job of explaining process fundamentals.

It is hard to train people in Software Architecture, and then add a ton of Software Process Engineering concepts to it and you really begin to lose people. We had very little success in finding anyone who wanted to go through the learning exercise. Only our team used the process for the most part.

This book starts out with a great overview of Software Architecture, the Architect, and Architecting. Even if you are familiar with these concepts, they are a good read and they get the context laid for the rest of the book from the perspective the authors take on the concepts.

Next the authors give a great introduction to method fundamentals. They pull from the industry’s best practices which include the RUP, OpenUP, XP, SCRUM, FDD, and use the SPEM to do their process diagrams. The do a great job of pulling out the important information that relates to software process engineering and putting it into a very organized and easy to understand format. The chapter is short and to the point.

The authors then cover documenting software architectures. In this chapter they outline an architectural description framework based on Rozanski and Woods viewpoints and perspectives, the Zachman Framework, and the 4 +1 view model.

The next chapter on reusable architecture assets provides an architecture asset metamodel for development –time assets and one for run-time assets.

The rest of the book is a detailed, real world, case study that puts the architecture method to use.

The book ends with appendixes, Software Architecture Metamodel, Viewpoint Catalog, Method Summary, and Architectural Requirement Checklist.

PROS:
Two guys from IBM authored a non IBM centric book. Although he authors both work for IBM they didn’t include or use tools from IBM.

The book stays within the scope of process engineering as related to software architecture, which produced a more effective book than if they had not. For example, if they would have tried to provide a treatment of tactics instead of referring us to the best resources available on tactics. The book stays process focused.

The appendixes are very valuable references.

They use industry standard best practices for all their content. They are not inventing any new wheels here, or trying to sell a new silver bullet. They are simply picking out the best of what has worked in the industry and putting it into a very organized and usable format.

I like that they include the requirements gathering phase as part of the architecture process. You usually find the requirements discipline treated as though the architecture team has nothing to do with it. That is just not the case in a healthy process.

CONS:
I really do not have any. The only thing I would like to see is the process content in the book put into the Eclipse Process Framework Composer. That way it could be offered as a plug-in and we could include it in our process configurations.

Overall
If you are involved in software development in anyway, you should read this book. It is the story of how it is supposed to be.

posted by tadanderson at 5:39 PM 0 comments

Favorite Sayings of State Government Managers and the Interpretations

I recently resigned from my state position. Not wanting to waste any of the valuable lessons I learned there, I thought I would impart them to the rest of the world.

You need to be more flexible
This saying occurs when there is someone above you that feels they must put their 2 cents into the project whether or not they have the experience to do so. You will find there are a lot of leaders at the state that really do not serve any purpose beyond making changes, and most of the time those changes are counterproductive. You find that the useless leadership either does absolutely nothing because they feel secure in their positions, or they have perfected the technique of meddling into an art that gives the perception that they are adding value.

We do not say no here, because we believe in collaboration.
This one ties into needing to be more flexible. You will find a lot of projects that have no end at the state. The projects have become a ping pong match of butt kissing, everyone trying to outdo the next person by letting their superior make project altering decisions. You will also see this a lot when the leadership is in a political position that they are using to get their next job. They bend over backwards to please the leadership of their next company by compromising the integrity of their programs. The worst part of this saying is that it is usually used after a project has been completed. That is because the people who have the need to feel powerful will wait until everyone has sweated and bled over the project and think they have completed it, and then they will demand their changes be made. The more people they piss off, the bigger and better they feel.

We aren’t in the making money game; we are in the spending money game.
The bigger and more expensive anything you propose is, the better. Budgets only increase by the program spending more than they have budgeted. They don’t go before any committee, or board to get more money each year, they literally just have to overshoot their budget.

I think this will be a good opportunity for you.
This means I think this will be a great opportunity for you to give me something to pretend to manage so I can save my butt from being fired, even if it has nothing to do with your job description.

As soon as we get over this next hump things will get better.
That would be great, if there were actually humps to get over, instead of administrations needing to change before things might get better. The hands down opinion of every long term state worker I knew is this administration is the worse they have ever seen. That has lead to some of the poorest upper and mid level management to hit the state in years. Their decisions literally waste millions upon millions of dollars every year, and their employees are being forced to waste it.

You have to use this software because we bought the software. Your job is not to decide if you need it, your job is to figure out how to use it on your project.
This saying is attached to millions upon millions upon millions upon millions of wasted dollars.

A few other sayings often heard that need no explanation-

We need this done now so we will need to cut out the requirements, design, analysis, and architecture phases. We will also need to hold off on testing until we are in production.

Now that we are in production, let’s start gathering requirements.

Training and learning are not part of our job description.

We don’t use that technology because that would mean we have to learn it.

I know this is the wrong thing to do, but what choice do we have?

You aren’t being paid to think, you are being paid to work.

It doesn’t need to work, it just needs to be deployed. This date can’t slip.

posted by tadanderson at 5:20 AM 0 comments

Wednesday, August 26, 2009

Visio Link v 1.5 for SPARX EA Released

Visio Link  v 1.5 Released (from forum page)
In Sparx Systems Forum/Latest News
Sparx Systems is proud to announce the latest release of the free Visio Importer, version 1.5.

The free plug-in can be downloaded from the MDG Link products page: http://www.sparxsystems.com/products/#MDGLink

Updates in this release include:
********************************
Added compatibility with Visio 2007
Default import types are now fully user-customizable
Improved import of Data Model diagrams
Improved import of Note elements
Improved assignment of fill colors on import
Improved import of StateInitial, StateFinal, ActivityInitial, ActivityFinal and Action elements

posted by tadanderson at 7:37 PM 0 comments

Tool for Reverse Engineering ASP.NET to Web Application Extension (WAE) UML Profile in SPARX Enterprise Architect

We have added a new download to the Software Process Engineering Web site which is used to reverse Engineering ASP.NET applications to the Web Application Extension (WAE) UML Profile in SPARX Enterprise Architect.


Click here for larger image.

Overview
I often find that part of my assignment is to reverse engineer an application in order to modernize it, or to simply add new functionality to it.

ASP.NET has a UML Profile called the Web Application Extension Profile that can be used to present your architecture in a visual representation.

One thing to point out before you begin is that the reversed engineered code is only structured as good as the structure built into the code. Meaning if everything is in one namespace and one folder, you get one big folder with everything in it. Reverse engineering takes work. There is no magic tool that will make your code less confusing and give you perfectly laid out UML diagrams and there never will be. This is a big misconception I have come across a lot in my career.

I have been using this profile for some time now. I have Visio templates available here, and SPARX EA pattern templates available here. SPARX EA now includes the UML WAE (Web Application Extension) Profile as part of the default installation.

This download includes some tools to make it easier. It including a small application that generates some shell files that are then imported into SPARX EA giving you a great head start on what can be a very long road on certain projects.

The download includes the following files:

  • ASP.NET to WAE UML Readme.doc- This is a step by step guide to using the ASPnet2UML.exe application and SPARX EA to reverse engineering ASP.NET to Web Application Extension (WAE) UML Profile.
  • ASPnet2UML.exe- An application used to generated the extra files need to layout an architecture using WAE.
  • ASPnet2UML.eap- A start up project used to show some of the features in the ASP.NET to WAE UML Readme.doc
  • WAEEAPatterns.zip These are patterns we made available in an earlier download. We included them as a convenience.
  • ASP2UMLImportComponentTypes.xml-The Import Component Types shown in the ASP.NET to WAE UML Readme.doc.
You can get it here.

posted by tadanderson at 4:06 PM 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