Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Tell the Publisher!
I’d like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Scientific Software Design: The Object-Oriented Way [Paperback]

Dr Damian Rouson , Jim Xia , Xiaofeng Xu

Currently unavailable.
We don't know when or if this item will be back in stock.


Amazon Price New from Used from
Hardcover £65.05  
Paperback £32.99  
Paperback, 1 Dec 2011 --  

Book Description

1 Dec 2011 0521716179 978-0521716178
The authors analyze how the structure of a package determines its developmental complexity according to such measures as bug search times and documentation information content. The work presents arguments for why these issues impact solution cost and time more than does scalable performance. The final chapter explores the question of scalable execution and shows how scalable design relates to scalable execution. The book's focus is on program organization, which has received considerable attention in the broader software engineering community, where graphical description standards for modeling software structure and behavior have been developed by computer scientists. These discussions might be enriched by engineers who write scientific codes. This book aims to bring such scientific programmers into discussion with computer scientists. The authors do so by introducing object-oriented software design patterns in the context of scientific simulation.

Customers Who Viewed This Item Also Viewed

Product details

More About the Author

Discover books, learn about writers, and more.

Product Description


'… it's one of those books that I wish I'd read earlier in my programming career. I found many design patterns familiar simply because I'd seen them before in my own code. I'll likely turn to this book in the future whenever I suspect a program design problem might be solved already.' Computing in Science and Engineering

'Scientific software must be consciously designed to grow with a research program and the hardware that supports the research program. And how to do that is precisely what these authors in this book have shown.' Scientific Programming

Book Description

This book concerns software design, focusing on scalable design. The authors analyze how the structure of a package determines its developmental complexity according to such measures as bug search times and documentation information content. The final chapter explores the question of scalable execution.

Inside This Book (Learn More)
Browse and search another edition of this book.
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Reviews

There are no customer reviews yet on Amazon.co.uk.
5 star
4 star
3 star
2 star
1 star
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 3.7 out of 5 stars  3 reviews
2 of 2 people found the following review helpful
3.0 out of 5 stars Good idea, poor execution 8 July 2012
By Physics Professor - Published on Amazon.com
I like the basic idea behind this book: the use of the methods of modern software engineering to speed up and improve the software development and V&V processes, which for scientific computing are frequently much more expensive than the cost of running the program. However, the book has a number of serious flaws.

1. The text is not very clearly written.
2. The book claims to be accessible to people from a C++ background, but it really is not. At a minimum, the book should have included an appendix on the syntax of modern Fortran (probably at the level of Fortran 95).
3. The book acknowledges that the widely used Fortran compilers are not consistent with the 2008 standard, but the authors said that they "hoped" this would be fixed by the publication date. The compiler we have, gfortran, still is not 100% compliant with Fortran 2003.
4. The programming style is abominable. For example, the authors use the class element T%t, which is meant to be the time (little t) derivative of the temperature (big T). Never mind the fact that Fortran is case insensitive! One of the big things I tell students is to use descriptive variable names, even if they are long. (Another example is "fin", which I think is either an input function, maybe an input file, or perhaps finalizes something. I always have search for the definition on some previous page when I come across "fin" in their code.)

All these faults are apparent in the first few chapters, which is as far as I got before realizing that correcting them would make the book too time- and labor-intensive to be useful as a textbook for a class I am planning to teach.
1 of 1 people found the following review helpful
5.0 out of 5 stars Excellent guidance for moving forward 14 Oct 2012
By Dan Nagle - Published on Amazon.com
I published a review of this book in Scientific Computing. I
read the entire text to do so.

_Scientific Software Design_ is an excellent text aimed towards
scientific programmers. The thrust of the text is how to manage
scientific software in an environment where the code is growing
in complexity, and the team developing it has diverging areas
of expertise. Object-oriented techniques are motivated as the means
to do so.

Terminology varies, and the text compares and contrasts terms
from C++, Fortran and UML. Getting the concepts right
is the important part, which the text does. The examples
show design patterns used to solve differential equations numerically
in a variety of circumstances, including parallel processing.

This book is valuable to anyone who has a large scientific code
developed over time and who is seeking a scheme for moving
the code into the future. It's also useful for someone who
wants to see complete examples in C++ and Fortran side-by-side.
I would quibble with the coding style (but I usually do).
3.0 out of 5 stars Nice OOP approach to scientific software. Beware the compiler requirements for the examples! 1 May 2014
By A normal person - Published on Amazon.com
Format:Paperback|Verified Purchase
I really like the authors approach to applying software engineering methodology to scientific software. This book is really about object oriented patterns as applied to scientific applications. I gave three stars for the examples. The book appears to focus on the object oriented Fortran. However, it does include C++ examples in the last two sections where it really matters. The problem is that many of the Fortran examples will only compile with two Fortran compilers -- gfortran and ifort will NOT work. This isn't clear from reading the book. The C++ examples are ok, but I wish that STL were used more. That means that most of us will find the Fortran examples interesting in the academic sense. It would have been better for the author to stick to C++.

This book assumes that you are familiar with Fortran (90 through 2003) and C++ templates. It also assumes that you are familiar with numerical methods. The book makes frequent use of UML. The authors make an attempt to ease the reader into the subject and bridge the gap between the older Fortran styles. Don't try to use this book for more than OOP patterns and an approach to software engineering in the scientific fields. However, there are better books that cover OOP and patterns in a generic sense that could easily be used in the sciences.
Were these reviews helpful?   Let us know

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category