The Artima Developer Community
Sponsored Link

Design Forum
Software Architecture

2 replies on 1 page. Most recent reply: Feb 14, 2004 6:06 PM by Chris Dailey

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 2 replies on 1 page
Pranab Ghosh

Posts: 1
Nickname: pkg
Registered: Dec, 2003

Software Architecture Posted: Dec 5, 2003 3:20 PM
Reply to this message Reply
Advertisement
It's amazing how many projects and products I have worked on, where a bunch of hackers will put together a initial prototype and then the same hackers will take on the role of Architects and evolve the protoype to a real product. Ours must be the only engineering discipline, where we have such a nebulous view of the role played by architects and designers. Try imagining a painter being asked to architect a building, or a welder being asked to design an aircraft. Perhaps, the intangible nature of software along with the difficulty of clearly defining what qualifies someone to be an Architect is partially responsible for such a situation.


David Ramsey

Posts: 34
Nickname: dlramsey
Registered: Apr, 2002

Re: Software Architecture Posted: Feb 6, 2004 9:14 AM
Reply to this message Reply
I believe this is due to two things, both related to software complexity.

1. Management, as external observers to the software process, have no real inkling of the complexity of software.

2. The technical community has been unable, until very recently, to specify design in meaningful ways and sufficient detail.

However, I see the evolution of UML in becoming more and more precise as overcoming obstacle number 2 eventually. Already we have early design tools that can take a design and give you code or take code and give you back the design (reverse engineering).

Some people will argue that such tools can never produce code as good as they can code manually. My response to that is baloney!

Many, many years ago, when my son was younger than my youngest grandchild is now, I listened to assembly language programmers insisting that compilers could never outperform them. And yet we've reached a state where the best optimizing compilers produce tighter, faster, and more reliable code than 99.9% of those old assembly language programmers.

What's occurring now is the recognition of things larger than just algorithms, such as design patterns and anti-patterns. And as this continues to evolve, the best patterns and worst anti-patterns will become part of the best design tools allowing you to specify a good pattern from the start and to identify anti-patterns when they exist.

I happen to believe that we are not far from Booch's "executable model" idea. I further believe that this is just another level of abstraction in the problem solving process, just as the move from assembly language to compiled languages was.

Somewhere in the not too distant future, you will prototype by modeling.

Here's an example that is happening in code but could be done with UML and modeling tools as the tools mature. My organization is looking hard at JDO. We're experimenting with the JDO reference implementation from Sun along with the OJB backend plug-in from Jakarta to the reference implementation. If we are really happy with the semantics of this, we'll likely drop the reference implementation and OJB, and migrate to a different implementation for higher performance, better tuning, and scalability. But since it's still JDO, our prototype is our working model. All we will do in the software is swap out some jar files to let us go to a different implementation.

Chris Dailey

Posts: 56
Nickname: mouse
Registered: Dec, 2002

Re: Software Architecture Posted: Feb 14, 2004 6:06 PM
Reply to this message Reply
Another interesting note is that the set of skills required to build a skyscraper are completely different than the set of skills required to build a house. Similar to bicycle vs automobile, song vs symphony, commercial vs movie.

Businesses seem to try to make due with what they have. Excellence in software is not a goal, the functionality are the goal.

Flat View: This topic has 2 replies on 1 page
Topic: How To Continue With The Code for Sales Program Previous Topic   Next Topic Topic: Perfect code

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use