A constructive method for abstract algebraic software specification is presented, where the operations are not implicitly specified by equations but by an explicit recursion on the generating operations of an algebra characterizing the underlying data structure. The underlying algebra itself may be equationally specified since we cannot assume that all data structures will correspond to free algebras. This implies that we distinguish between generating and defined operations and that the underlying algebra has a mechanism of well-founded decomposition w.r.t. the generating operations. We show that the explicit specification of operations using so-called structural recursive schemata offers advantages over purely equational specifications, especially concerning the safeness of enrichments, the ease of semantics description and the separation between the underlying data structure and the operations defined on it.