Home » Archive

Articles tagged with: Architecture

Architecture »

[1 Jun 2008 | 4 Comments | ]

I think application  types, verticals, and scenarios are a helpful backdrop for product-line engineering.  You can use it to organize policies and requirements.  It’s a way to increase precision.  For example, it’s one thing to build a Web application.  It’s another to build a Web application for a financial institution.  How you implement security, performance, and other quality attributes has a lot to do with the application type and the scenario or context you are in.
App Types, Veriticals and Scenarios Conceptual Framework
Here’s a simple model I use when I think …

Architecture »

[12 May 2008 | 5 Comments | ]

I find it’s always helpful to think in terms of user, business and tech.  For example, whenever I see a product design or requirements, I walk through the user perspective, the business perspective and the technical perspective.  A lot of times, the business or technical perspective ends up winning because the customer didn’t have a voice.  Mistakes like that give software a bad rap.  After all, the software is for the user, isn’t it.   If your software doesn’t make the user more effective and more efficient, or worse, makes them …

Architecture »

[28 Apr 2008 | One Comment | ]

In any significant software project, complexity happens.  The question is what are you going to do about it?    In Software Architect Bootcamp (2nd Edition), Ralphael Malveau and Thomas J. Mowbray, Ph.D. write about five ways of dealing with software complexity.
Why Complexity Happens
Malveau and Mowbray write the following:
Many software projects fail to manage complexity because they do not consider control of complexity to be part of architecture.  System-level design details are often delegated to multiple developers, who readily produce unique, uncoordinated designs.  Other projects inherit excess complexity from the architecture of  …

Architecture »

[28 Apr 2008 | One Comment | ]

When you zoom in or zoom out of a software system, what do you call the different levels of the software?  Design levels are a key issue for architecture because they define the problems and forces that the architecture needs to solve.    In Software Architect Bootcamp (2nd Edition), Ralphael Malveau and Thomas J. Mowbray, Ph.D. write about different models for software design levels.
Machine, Code and Architecture
Shaw and Garlan [Shaw 1996] proposed a three-level model for software design levels:

Machine
Code
Architecture

Malveau and Mowbray write the following:
The machine level comprises unmodifiable binary software, …

Architecture »

[28 Apr 2008 | 4 Comments | ]

Why do we need software architects?  In the book Software Architect Bootcamp (2nd Edition), Raphael Malveau and Thomas J. Mowbray, Ph.D. write about three key reasons why we need software architects.
Separate Complex Concerns
Malvaeau and Mowbray write the following:
First, architects need the ability to separate complex concerns, in particular to separate concerns about business-application functionality, from concerns about distributed-system complexity. … By separating concerns, developers can focus on the business functionality that is the true purpose of the information system.

Future-Proof the Information Systems
Malvaeau and Mowbray write the following:
Software architects also need …