Design for Trustworthy Software: Tools, Techniques, and Methodology of Developing Robust Software

If you like studying about how to create better software from a variety of perspectives, then the following book could bring interesting ones onto the software design table: Design for Trustworthy Software: Tools, Techniques, and Methodology of Developing Robust Softwareby Bijay K. Jayaswal, Peter C. PattonPublisher: Prentice HallPub Date: August 31, 2006Print ISBN-10: 0-13-187250-8Print ISBN-13:…

1

What type of person should design software?

An intent to specify and control the behavior of digital computers. That could be an answer to the question: What is a computer program? That is to say, a computer program is an intention and the rest are all annotations (in analogy to that summary phrase of what is western philosophy in regard to Plato…

3

Analog Computers. Could I sometime put my hands on one of those?

As far as I can remember there are analog, digital, and hybrid computers and I have been involved with digital computers only so I have blatant ignorance of the other computer types. I experience a kind of mental pain when remembering such personal condition.A brief search on Internet gave me some good readings:http://en.wikipedia.org/wiki/Analog_computerhttp://www.elecdesign.com/Articles/Index.cfm?AD=1&ArticleID=14738I wonder if…


Enabling better levels of multi-paradigm design adoption

There are a number of powerful design concepts and constructs available in programming languages like Lisp, Smalltalk, Haskell, ML, Standard C++, and others for many, many years. Historically, these powers had been available only for few blessed programmers.I am glad to see that the LINQ project is headed to put more of those powers in…


Designing distributed server-side Windows applications that scale very well

In my view of object-oriented design, what makes it different from other software design schools of thought is its dependency management facilities, almost all other object-oriented mechanisms have been already known and used conceptually by other design paradigms. So, if any benefit is going to be drawn from object design, then use its dependency management…

1

Software design epistemology and The Three Pigs

There is a notion that philosophy starts in the vast ocean of abstractness, unconcerned about the implications at the concrete level, but that is not philosophy, that is romanticism. Another notion of philosophy —proven objective— is that of science in general and theory of knowledge in particular; where the character and the development of concepts,…

1

Do you amass nasty feelings about your designs?

I remember the time when structured programming lessons first came into my attention. Control flow constructs like sequence, choice, loops, etc.In particular, the condition-controlled loop that places the condition test after the loop body, for example do-while loop of C/C++ or C#, or Repeat-Until loop of Pascal. I have not seen this type of loop…

4