This project aims to improve the quality of developed software and enhance the software development process by employing the well-known software architecture and design principles (like SOLID principles) into the development phase. Specifically, it aims to develop automated assistance of the process of developing a good software architecture from artifacts that describe the project.