The program design micro-farm. Part 1 – initial thought

Computer programming, the design of computer programs, what a wonderful pursue!.   Many of us take great joy in doing this peculiar activity, and I have observed that the greatest of these joys is seeing our programs begin used successfully to solve end-user problems. There is where methods, tools and techniques make all sense.  …

3

Is software engineering what professional programmers do?

I originally understood and believed (what I wanted to believe, in fact) that software development trade is a branch of engineering discipline. I studied the work of Watts Humphrey, Mark Paulk and others at SEI and related organizations, looking to improve my understanding and my practice of software development. I was especially interested on these…

8

Software engineering is not, yet

I used to think that there was a full-fledged field of software engineering out there, that is to say, that software engineering is a branch of engineering discipline.   This is not quite true.   After some years of observation, personal research on the history of computing and based on the work of other researchers…

1

Handbook of Software Architecture

Grady Booch has a project, the Handbook of Software Architecture: http://www.booch.com/architecture/index.jsp there is little content yet, but looks interesting. Hopes this helps to clarify the purpose in life of a ‘software architect’    

1

Simple XML Schema Definition snippet – hierarchy

Write a XSD for the following XML document with nested elements:   <?xml version=”1.0″?> <wn:root xmlns:wn=”wn-uniqueurl”>  <wn:item info=”item1″>   <wn:item info=”item1.1″/>  </wn:item>  <wn:item info=”item2″>   <wn:item info=”item2.1″>    <wn:item info=”item2.1.1″/>   </wn:item>  </wn:item>  <wn:item info=”item3″/> </wn:root>   Here is one:   <?xml version=”1.0″ encoding=’ISO-8859-1′ ?> <s:schema  xmlns:s=’http://www.w3.org/2001/XMLSchema’  targetNamespace=’wn-uniqueurl’  xmlns=’wn-uniqueurl’  elementFormDefault=’qualified’  attributeFormDefault=’unqualified’>    <s:element name=’root’ type=’rootType’ />  <s:complexType name=’rootType’>   <s:sequence>…

0

Simple XML Schema Definition snippet

It is amazing how things get clearer when you actually try them out.   For example, write by hand a XSD for the following simple XML document:   <?xml version=”1.0″ encoding=’ISO-8859-1′ ?> <wn:root xmlns:wn=”wn-uniqueurl”>       <wn:item info=”item1″/>       <wn:item info=”item2″/>       <wn:item info=”item3″/> </wn:root>   An option is:   <?xml version=”1.0″ encoding=’ISO-8859-1′ ?> <s:schema  …

0

C++ as a very good medium for multi-paradigm design expression

Among 3rd generation programming languages, C++ has been very successful; the amount of software in the world written in C++ is very substantial:   C++ Applications http://www.research.att.com/~bs/applications.html   There should be no surprise why Microsoft is picking C++ as the recommend language for .NET and Longhorn; making C++ a first class player in the design…

4

What use good designers to convey good designs?

There is a good design process shared by design professions like architecture, urban design or engineering, of course there are stylistic variations of this process but it is essentially the same for all schools of design within this family of design professions.   Good designers practice this process and software design profession can learn from them,…

6

Good designs come from good designers, good designers come from…

Good designers come from a continuous observation, scrutiny and practice of the reflective conversation with the situation at hand. “[The designer] works in particulars situations, uses particular materials, and employs a distinctive medium and language. Typically, his making process is complex. There are more variables—kinds of possible moves, norms, and interrelationships of these—than can be…

14

The path to architecture practice – overview

There is a common understanding about the importance of conceptual integrity, nowadays in the software industry. This typically shows in conversations about this notion called software architecture.   This is good. But…   …something that has proved very typical in software development industry is to abuse concepts and technologies treating them as silver bullets and…

5