Tag: Architecture

“Refactoring for Software Architecture Smells” – IWoR

The paper “Refactoring for Software Architecture Smells” to appear in the proceedings of the 1st International Workshop on Refactoring (IWoR), co-located with Automated Software Engineering (ASE) conference, to be held on 4 Sept 2016 in Singapore. Abstract Code smells and refactoring have received considerable interest from the academia as well […]

Refactoring for Software Architecture Smells: Potential Research Directions

Smells and refactoring have received considerable focus from the academia as well as from the industry in the past two decades. Various tools, processes, techniques, and practices have been proposed to identify smells arising at the granularity of code and (to some extent) of design. However, architecture smells and corresponding […]

Ten Must to Read Books for Software Architects

In our workshops on software architecture, one of the questions towards the end is: “There is so much to learn about software architecture – what books would you recommend us to read?”. To answer this question, we provide you a list of 10 must to read books in our opinion […]

Refactoring for Architecture Smells: An Introduction

“Cities grow, cities evolve, cities have parts that simply die while other parts flourish; each city has to be renewed in order to meet the needs of its populace… Software-intensive systems are like that.” – Grady Booch “Code smells” or “bad smells” [1] are considered structures or code fragments that […]

Understanding Software Design Quality

What is software design quality? How do we create high-quality designs? How do we evaluate software design quality? These are some of the questions that a developer or an architect may have. In this article, we attempt to bring out our perspective on these aspects. What is design quality? Software […]

Are Patterns Good, Always?

It is a common belief in the developer community that since design patterns encapsulate good and proven design solutions, one should use them as often as possible during software development. However, during our design assessments, we have come across many design cases where design patterns have been used but the […]