Facebook Twitter


CBDI Service Oriented Architecture Practice Portal
Characteristics of a software architect This is the second article in a four-part series on software architecture. Last month, the first article in this series defined what we mean by architecture. We can now turn our attention to the role that is responsible for the creation of the architecture -- the architect. The role of the architect is arguably the most challenging within any software development project. The architect is the technical lead on the project and, from a technical perspective, ultimately carries the responsibility for the success or failure of the project. Here's how the IEEE defines the term "architect": Characteristics of a software architect
Software Architecture Management - define software architecture, control architectural complexity Why Although the value of modularity is universally understood, most codebases lack modularity above the class. This leaves development teams drowning in a sea of classes and poorly understood dependencies. This is a huge driver of cost - it makes it difficult or impossible to know the impact of changes, what to test, where to add code. How To extend modularity you first visualize, then organize. Software Architecture Management - define software architecture, control architectural complexity
The influence of non-functional requirements As technical people, it's really easy for us to think about software as a purely technical endeavour when we should always remember that software is really about solving business problems or providing some benefit to somebody. Over the past few years, more and more emphasis has been placed on this, evident from concepts such as enhanced customer collaboration, BPMN and SOA. Clearly the functional requirements are important because they ultimately govern what the system does. But as I've said before, the non-functional requirements are equally as important and part of the software architect's role is to balance these often competing forces to come up with a solution that meets the needs. Sometimes, the non-functional requirements will have more of an influence on the solution definition than the functional requirements. The influence of non-functional requirements

Software architecture

The word software architecture intuitively denotes the high level structures of a software system. It can be defined as the set of structures needed to reason about the software system, which comprise the software elements, the relations between them, and the properties of both elements and relations.[1] The term software architecture also denotes the set of practices used to select, define or design a software architecture. Concept[edit] Applying the term “architecture” to software systems is a metaphor that refers to the classical field of the architecture of buildings.[3] The term “software architecture” is used to denote three concepts—the: High level structure of a software systemDiscipline of creating such a high level structureDocumentation of this high level structure Software architecture
Implementing REST Web Services: Best Practices and Guidelines