This thesis is about two topics. It describes a high-level programming environment for scientific computing, called ObjectMath, and several contributions to this environment. It also analyses the concept of software development environment architecture, in particular with respect to the ObjectMath environment. The ObjectMath programming environment is designed to partly automate many aspects of the program development cycle in scientific computing by providing support for high-level object-oriented mathematical modelling and generation of efficient numerical implementations from such high-level models. There is a definite need for such tools, since much scientific software is still written in Fortran or C the traditional way, manually translating mathematical models into procedural code and spending much time on debugging and fixing convergence problems. The automatic code generation facilities in the ObjectMath environment eliminate many of the problems and errors caused by this manual translation. The ObjectMath language is a hybrid language, combining computer algebra facilities from Mathematica with object-oriented constructs for single and multiple inheritance and composition. Experience from using the environment shows that such structuring concepts increase re-use and readability of mathematical models. Large object-oriented mathematical models are only a third of the size of corresponding models that are not object-oriented. The system also provides some support for visualization, both for models and for numerical results.The topic of engineering a software development environment is very important in itself, and has been dealt with primarily from an architectural point of view. Integration of different tools and support facilities in an environment is important in order to make it powerful and to make it easy to use. On the other hand, developing whole environments completely from scratch is very costly and timeconsuming. In the ObjectMath project, we have followed an approach of building an integrated environment using mostly pre-existing tools, which turned out very well. In this thesis the integration aspects of ObjectMath is analysed with respect to three dimensions: control, data and user interface, according to a general model described by Schefström. The conclusion is that ObjectMath fits this model rather well, and that this approach should be successful in the design of future environments, if the integration issues are dealt with in a systematic way. In addition, the analysis provides some guidance regarding integration issues that could be enhanced in future versions of ObjectMath.