Lattix Architecture Blog

Wednesday, June 28, 2017 - 15:12 - 0 comment(s)
Most dependency analysis for C++ involves the analysis of include dependencies to improve compile time. While this is a great start for analyzing dependencies, the goal should be to lower testing and maintenance costs. The way to do that is to make your software more modular. Most software architectures start out clean and with good modularity. Over time, architectural erosion happens. Quality declines and maintenance becomes more expensive because of poorly managed dependencies.... + continue reading
Monday, June 12, 2017 - 16:39 - 0 comment(s)
The Problem with Legacy Software and Refactoring For an architect who is new to a legacy software project, it is often very hard to understand the existing architecture, determine the extent of architectural decay, and identify architectural smells and metric violations. It’s almost impossible to perform refactoring without breaking the working code. Legacy applications are often critical to the business and have been in use for many years, sometimes decades. Since the business is always... + continue reading
Wednesday, May 31, 2017 - 17:36 - 0 comment(s)
Jack Reeve introduced the concept that source code is the design and programming is about designing software.1 As software grows, the design, or architecture, tends to grow large and complex. This is because software architecture is constantly evolving, making software maintenance difficult and error-prone. In this article, we will talk about symptoms of bad architecture and how to fix them. Poor Software Architecture According to Robert Martin2, there are seven symptoms of poor... + continue reading
Monday, May 22, 2017 - 17:33 - 0 comment(s)
What do you do when your boss asks you how long an enhancement or change request will take to implement? Do you use impact analysis? If not, it might be worth using it next time to develop a reliable estimate. Impact analysis is “identifying the potential consequences of a change, or estimating what needs to be modified to accomplish a change." 1 The major goal of impact analysis in software is to identify the source code affected by the proposed change. As software becomes increasingly... + continue reading
Tuesday, May 16, 2017 - 13:54 - 0 comment(s)
Lattix Architect and Lattix Web are great complements to your static analysis solution. If you have a software quality initiative, a clean architecture is essential. Decreasing the complexity of your software allows you to get better results from your static analysis tools. By understanding your software dependencies and coupling, you can pinpoint areas that need focus for testing. Clean architecture leads to better quality Since problems in architecture do not directly point to software... + continue reading