In today's world, software tools play an important role in speeding up software development, reducing development costs and human efforts, as well as increasing reliability. In software development by tools, choosing a suitable tool will be a difficult task because many of them are available with different capabilities. On the other hand, little research has focused on the classification of these tools and their comparison. This paper aims to perform a literature review of software development tools and to propose architectures for the requirement of the Organization of Small Industries and Industrial Towns of Iran (OSIITI), in Iran. We did a survey over more than 50 software development and programming tools. The results of this survey identified ten classes, namely (a) Database Tools; (b) Integrated Development Environment; (c) Software Development Frameworks; (d) Data Science Tools; (e) Source Control Tools; (f) DevOps Tools; (g) Unified modeling Language (UML) Tools; (h) Cloud Tools for Software Development; (h) Prototyping Tools; and (j) Notifications Programs. For each class, we collected the most software tools that are currently used with their major features. After that, two architectures, based on layered and service-oriented patterns are proposed for OSIITI. The ten specified classes, along with the tools in each class, are very useful for organizations like OSIITI who want to develop software, for both small and large projects.