Click here to Skip to main content
15,891,136 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
AnswerRe: arm processor Pin
dusty_dex15-Apr-13 7:24
dusty_dex15-Apr-13 7:24 
QuestionWorking with data bases Pin
columbos1492729-Mar-13 20:18
columbos1492729-Mar-13 20:18 
AnswerRe: Working with data bases Pin
jschell30-Mar-13 13:28
jschell30-Mar-13 13:28 
AnswerRe: Working with data bases Pin
Rahul Rajat Singh16-Apr-13 0:28
professionalRahul Rajat Singh16-Apr-13 0:28 
QuestionDesigning and visualising software architecture Pin
jim lahey20-Mar-13 5:37
jim lahey20-Mar-13 5:37 
AnswerRe: Designing and visualising software architecture Pin
dusty_dex20-Mar-13 6:52
dusty_dex20-Mar-13 6:52 
AnswerRe: Designing and visualising software architecture Pin
jschell20-Mar-13 9:16
jschell20-Mar-13 9:16 
AnswerRe: Designing and visualising software architecture Pin
Jonathan Davies22-Mar-13 5:39
Jonathan Davies22-Mar-13 5:39 
I don't think the problem you're experiencing is unique to software. In many walks of life you will find people who 'just want to get on with it' or haven't got 'time to waste' designing and planning. Or just don't know any other way yet.

When learning to program I reached a point, about 4:00 in the morning if I remember correctly, with reams of code printout spread across the room trying to track down mis-behaving pointers when I became convinced there had to be a better way. I found eventually it the form of a book on OOA/OOD in a university book shop, and later in the form of UML, Interface design etc. But I already had the motivation to find a better way.

I do think that your comment about developers 'mentally storing lots of abstract information' is a common problem. I know how developers 'want to program' - as I, and probably most people using CodeProject, once did or still do. Once typing or coding has started, it becomes a mental challenge, probably for the same reason as do crosswords and so on. Being in a position to promote the use of Components, Interfaces, Decoupling and design in general, aided by UML as the visualisation medium, I found some 'enlightened' developers took to analysis and design well, seeing - or showing each other - how it could aid and clarify the mental juggling act of information - and how it could contributed to making things work. Though I also came across quite a few who "didn't do UML" or professed not to understand, or simply drew a diagram then got on with it just as before.

Everyone concerned with what you're doing has their own perspective: from developers to managers to clients. I know it's software technicalities under discussion but you need to put across your points in a way that the people your addressing can understand - and see advantage in; and they might not be 'software people'. So you might need one set of arguments to convince your managers and another to convince fellow developers. Demonstrations can help a lot. The project management 'iron triangle' of Cost; Time; and Quality, and also Risks: 'what if ...?' are good starting points to measure and convey the benefits to more senior people. In fact UML can be pretty confusing, so it might be best not to use to use UML as the medium to try and convince of the need for design using UML.

A lot of discussions about reasoning for the use of software design tend to use as a starting point the metaphor of a construction architect: producing a simple diagram to get the 'feel' of what's needed, then more detailed plans to put to the owner and planning officials. Then other plans for the builders, electricians etc. This illustrates that differing perspectives exist requiring differing plans - but this is also then used as a jumping off point for putting a question of the form: You wouldn't consider putting people to work on a building (or some mechanical equipment) without an accepted design and plans, so why would you consider building (or letting be built), something complex like software without an equivalent design in place.

'Lessons learned' i.e. examples of where design and UML would have helped, or did help, is also an accepted format for putting across arguments such as you have.

There are a lot of 'enlightened' software designers, architects and coders out there.
GeneralRe: Designing and visualising software architecture Pin
Nigel Lamb25-Mar-13 23:10
Nigel Lamb25-Mar-13 23:10 
GeneralRe: Designing and visualising software architecture Pin
Jonathan Davies26-Mar-13 1:11
Jonathan Davies26-Mar-13 1:11 
GeneralRe: Designing and visualising software architecture Pin
jschell26-Mar-13 8:44
jschell26-Mar-13 8:44 
GeneralRe: Designing and visualising software architecture Pin
bakary.konate28-Apr-13 7:31
bakary.konate28-Apr-13 7:31 
AnswerRe: Designing and visualising software architecture Pin
Nagy Vilmos25-Mar-13 23:42
professionalNagy Vilmos25-Mar-13 23:42 
AnswerRe: Designing and visualising software architecture Pin
Mohammed Hameed8-May-13 4:04
professionalMohammed Hameed8-May-13 4:04 
AnswerRe: Designing and visualising software architecture Pin
Marc Koutzarov29-Aug-14 11:54
professionalMarc Koutzarov29-Aug-14 11:54 
QuestionDistributed Application-- client / server approach for distributed objects Pin
docomo119-Mar-13 13:24
professionaldocomo119-Mar-13 13:24 
AnswerRe: Distributed Application-- client / server approach for distributed objects Pin
NotPolitcallyCorrect19-Mar-13 13:29
NotPolitcallyCorrect19-Mar-13 13:29 
GeneralRe: Distributed Application-- client / server approach for distributed objects Pin
docomo119-Mar-13 13:55
professionaldocomo119-Mar-13 13:55 
GeneralRe: Distributed Application-- client / server approach for distributed objects Pin
NotPolitcallyCorrect19-Mar-13 14:02
NotPolitcallyCorrect19-Mar-13 14:02 
GeneralRe: Distributed Application-- client / server approach for distributed objects Pin
docomo119-Mar-13 14:10
professionaldocomo119-Mar-13 14:10 
GeneralRe: Distributed Application-- client / server approach for distributed objects Pin
NotPolitcallyCorrect19-Mar-13 14:36
NotPolitcallyCorrect19-Mar-13 14:36 
GeneralRe: Distributed Application-- client / server approach for distributed objects Pin
docomo119-Mar-13 14:50
professionaldocomo119-Mar-13 14:50 
SuggestionRe: Distributed Application-- client / server approach for distributed objects Pin
Richard MacCutchan19-Mar-13 23:00
mveRichard MacCutchan19-Mar-13 23:00 
GeneralRe: Distributed Application-- client / server approach for distributed objects Pin
Vivi Chellappa20-Mar-13 5:35
professionalVivi Chellappa20-Mar-13 5:35 
QuestionSoftware Architecture and Design simulators Pin
Rick Grey16-Mar-13 5:45
Rick Grey16-Mar-13 5:45 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.