1. An apparatus for developing software, comprising: a feature selector configured to select a feature corresponding to development-subject software received from a developer from a feature model created by analyzing features of multiple software, and generate a feature list; an automatic code generator selector configured to determine an automatic code generator corresponding to a development-subject software type received from the developer; an automatic code generator configured to select architecture components of the development-subject software using the development-subject software type, and generate automatically generated code on the basis of the selected architecture components and requirements of the determined automatic code generator received from the developer; a configurator configured to modify the automatically generated code and code of the architecture components on the basis of the generated feature list, and output configured code; and a linker configured to connect a part calling a library of a domain in the configured code with a part calling an actual domain library, and generate final generation code.