Searching \ for '[OT]: Software design aids (was Re: [EE] Host inte' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: piclist.com/techref/index.htm?key=host+inte+OT%5D
Search entire site for: 'Software design aids (was Re: [EE] Host inte'.

Exact match. Not showing close matches.
PICList Thread
'[OT]: Software design aids (was Re: [EE] Host inte'
2005\07\12@132810 by Vitaliy

flavicon
face
> ----- Original Message -----
> From: "Peter" <spam_OUTplpTakeThisOuTspamactcom.co.il>
[snip]
>> Some system to represent strongly structured data and interaction models,
>> preferrably in an editable and searchable way, is essential.
>
> May I ask what system you use for your projects?

I didn't get a reply from Peter (unfortunately), but it gave me the idea to
direct this question to the wider PICList audience.

What kind of software design aids do you use for your project? Perhaps you
feel that it is not always necessary to have the design documentation before
you start coding?

I tend to draw most of my diagrams/flowcharts in CorelDraw (can't stand
Visio), then copy them into a Word document, and add the text. It works, but
somehow I feel there ought to be better tools for the job.

Also, what do you guys think of UML?

Best regards,

Vitaliy

2005\07\12@134134 by Bob Blick

face picon face

> What kind of software design aids do you use for your project?

"cocktail napkin". Also useful for schematic capture :)

-Bob


2005\07\12@135337 by Alex Harford

face picon face
On 7/12/05, Vitaliy <.....vitaliyKILLspamspam@spam@maksimov.org> wrote:
>
> I tend to draw most of my diagrams/flowcharts in CorelDraw (can't stand
> Visio), then copy them into a Word document, and add the text. It works, but
> somehow I feel there ought to be better tools for the job.
>

I like having text data that I can check into version control.  Wiki's
are useful for this, and I like the Graphviz extension for
flowcharting.

http://www.wickle.com/wiki/index.php/Graphviz_extension

There's a bit of a learning curve to the syntax though.

Alex

2005\07\12@140546 by Stef Mientki

flavicon
face

> What kind of software design aids do you use for your project? Perhaps
> you feel that it is not always necessary to have the design
> documentation before you start coding?

I don't intend to code anymore ...

>
> I tend to draw most of my diagrams/flowcharts in CorelDraw (can't
> stand Visio), then copy them into a Word document, and add the text.
> It works, but somehow I feel there ought to be better tools for the job.

After drawing flowchart (or better finite statemachine),
and even adding extra comment to it,
I think the job is completly done !!
The coding can be done by a *simple* program.
Yes, where are those programs, I thought we lived in 2005 ;-)

>
> Also, what do you guys think of UML?

I don't understand why these programs have to be so difficult ;-)
If you want to try, try argo-UML, it's one of the simplest I found and
totally free.

Stef Mientki

2005\07\12@142258 by Stef Mientki

flavicon
face


Alex Harford wrote:

{Quote hidden}

Looks to me like this is the world upside down ...
... writing code to generate a graph ;-)
Stef Mientki

>Alex
>
>  
>

2005\07\12@145704 by Hopkins

flavicon
face
I use Excel to flow chart. Then code in assembler.

Would love to be able to just flow chart and then have the code
generated automatically from the flow chart. Anyone got this tool? Would
be great if it supports the high end PIC chips such as 18Fxxx etc.

_______________________________________

Roy
Tauranga
New Zealand
_______________________________________

> {Original Message removed}

2005\07\12@151648 by Wouter van Ooijen

face picon face
> What kind of software design aids do you use for your
> project?

- pen, paper, occasionally something round (a mug is fine)
- word, UltraEdit (in a pinch vi, pfe32 or even notepad will do)

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2005\07\12@152504 by Dave VanHorn

flavicon
face
At 02:14 PM 7/12/2005, Wouter van Ooijen wrote:
> > What kind of software design aids do you use for your  project?

Thnking it through, talking it through with someone who understands
the technical issues.
Talking it through with someone who has no idea about it also
surfaces some "what happens if I ...." Issues.

2005\07\12@154204 by PicDude

flavicon
face
On Tuesday 12 July 2005 12:41 pm, Bob Blick scribbled:
> > What kind of software design aids do you use for your project?
>
> "cocktail napkin". Also useful for schematic capture :)

Funny, I do that to.  And I still have one of my best ideas (mechanical) on
the back of an (unused) airline barf bag.  Napkins are great for schematics,
but for software flowcharts/algorithms, I prefer a whiteboard.  Then just
redraw on paper to save it.

Cheers,
-Neil.


2005\07\12@154934 by PicDude

flavicon
face
On Tuesday 12 July 2005 12:28 pm, Vitaliy scribbled:
> ...
> Also, what do you guys think of UML?


Nice tool, but way overkill for most projects IMO.  I have seen and managed
projects that got way out of balance due to too much time spent on
documentation, rather than development.  I'd say it is more justified when
you have a large development team (say a couple dozen or more people).  Also,
it seems (seemed) to be more justified for waterfall-type big-bang projects,
but I've always been a proponent of incremental/rapid development.

Cheers,
-Neil.


2005\07\12@155759 by Paul James E.

picon face

All,

When I worked at TI, we had a couple of whiteboards that were on stands
you could move from room to room.  Anyway, these boards had some buttons
on a control panel.  One of the buttons moved the writing surface left or
right.   The writing surface was a loop that moved horizontally.  Using
this capability, you could write a formula for instance, and when you got
to the right edge, press the button and the whole writing surface would
move to the left, and clear writing space would move in from the right.
After you got all your writing done, you could press another button, and
it would be printed out on the on board printer.  Or you could press
another button, and it would save it to a disk.  Optionally, you could
distribute it to a LAN, but TI didn't get that option.  Or at least not
while I was employed there.

It was a very nice piece of equipment for out engineering meetings.
Everything that was covered in the meeting was printed out, copied and
distributed to all members of the team.  Everybody was literally on the
same page at the same time.

                                              Regards,

                                                Jim

{Quote hidden}

> --

2005\07\12@161312 by PicDude

flavicon
face
Y'know, I invented part of that some time ago, but only to find out that it
had already been done -- is was pretty much putting a giant vertical bar on
the front of the whiteboard that would move from left to right and scan the
whole board.  But I was too late :-(

Once in a blue moon, if I'm too lazy to copy everything down from my
whiteboard and need to save/erase it, I simply take a digital photo of it.  
Instant soft copy!

Cheers,
-Neil.


On Tuesday 12 July 2005 04:57 am, Paul James E. scribbled:
{Quote hidden}

2005\07\12@212410 by Darrell Wyatt

picon face

Whiteboards...where would engineering be today without them?
I have two.  One in my office, and one in the shop.  I use them
almost every day.  It's a running joke now - when I'm illustrating
an issue to someone, I hear mutterings in the background of
"must've scratched his head"...lol

Flowcharting is early in the process, and as such is prone to modifications.
Whiteboards make this painless.  Of course if one isn't available, all bets
are off -

D.

{Quote hidden}

>

2005\07\12@221001 by Christian A. Weagle

flavicon
face
> I tend to draw most of my diagrams/flowcharts in CorelDraw (can't
stand
> Visio), then copy them into a Word document, and add the text. It
works,
> but
> somehow I feel there ought to be better tools for the job.

I've made a lot of use of a tool called Graphviz (see
<http://www.graphviz.org/> for downloads.  It is basically a compiler
for its' own flowchart-definition language, and makes nice pictures.  It
has a lot of clever algorithms to find multiple links, things that
should be closer to each other, etc.  Kind of hard to explain, go check
it out!  It's supported on Unix, OS X, and, I believe, there is a
Windows port.

2005\07\12@232022 by Hasan A. Khan

flavicon
face
Hi,
I disagree with PicDudes comments about UML.  I have
used it extensively in my previous life as a C++/Java
Developer.  UML has nothing to do with waterfall or
iterative methodology.  You could us UML in either of
these methodologies as a analysis/design tool.  UML
may be used in small (half a dozen classes) to large
prjects.  UML is a language that facilitates object
oriented analysis and design.  OOP may be used in any
of the above methodologies.  Also, over design and
over documentation has nothing to do with UML.  You
could misuse any tool and over do it.

I am a beginner in the field of electronics and
microcontroller hardware design and have not written
any programs large enough to justify UML but I can
easily imagine larger programs written in C (or even
assembler...yuk) where UML may be used.  What I have
seen so far, hardware programming lends itself very
nicely to OOP.  Besides you don't need to use all of
UML.  Most of the time you end up using a subset of
the whole language, such as, use only class diagrams
and sequence diagrams.

You need to have some idea of what OOP is then you
will realize how useful UML is.  To get a quick start
at UML see "UML distilled" by Fowler and Scott and for
full blown UML exposure see "The Unified Modeling
Language User Guide"  by Booch, Rumbaugh, Jacobson.
These "three amigos" are the inventors of UML.

--- PicDude <@spam@picdude2KILLspamspamnarwani.org> wrote:

{Quote hidden}

> --

2005\07\13@030810 by PicDude

flavicon
face
On Tuesday 12 July 2005 10:20 pm, Hasan A. Khan scribbled:
> Hi,
> I disagree with PicDudes comments about UML.  I have
> used it extensively in my previous life as a C++/Java
> Developer.  ...

Sure, but stepping outside of that little bubble and looking at the bigger
picture from a project manager's perspective, it can certainly dig into a
project budget fast.  Sure it is a good tool and works well for it's intended
purpose, but my comments were directed towards whether it is worth it or not.  
In my experience, in the real world, most of the time the documentation is
not used in the future, due to other changes, newer systems leading to
re-development in other languages, lack of following up on the documentation
after other changes are made (making them untrustable), and just that
developers generally don't like reading docs to understand what was
previously intended, but rather prefer to read comments in code and figure it
out from there.  For any project that has large development cycles, it
becomes more useful to put everyone and all modules in sync/understanding
prior to start of development, hence my comment that it's more useful on
those projects.  That's my experience as a PM in the real world.  I had also
used it as a developer prior to that on Smalltalk and Java projects.


> ...  You
> could misuse any tool and over do it.

Agreed, but I made an assumption that if you're using UML, then you're using
the the bulk of the power of it.


> I am a beginner in the field of electronics and
> microcontroller hardware design and have not written
> any programs large enough to justify UML but I can
> easily imagine larger programs written in C (or even
> ...

Rather than just imagining, sit down with your PM and discuss a cost analysis
and see where the money is going.  Contrast cost analyses of UML-documented
projects vs. documentation done in other tools and you'll see what I mean.


> You need to have some idea of what OOP is then you
> will realize how useful UML is.  To get a quick start
> at UML see "UML distilled" by Fowler and Scott and for
> full blown UML exposure see "The Unified Modeling
> Language User Guide"  by Booch, Rumbaugh, Jacobson.
> These "three amigos" are the inventors of UML.

Don't disagree that they are useful, but again, proper use of it is overkill
in a lot of software projects.  Regarding proper use, Jacobsen was hired on
one of our projects to help best implement the process for that project (in
the Objectory days).  Months later, we had to make significant changes as the
documentation level was considerable overkill, and would've lead to complete
failure if it were continued in that manner.

Cheers,
-Neil.





2005\07\14@002841 by Morgan Olsson

flavicon
face
Alex Harford 19:53 2005-07-12:
>> I tend to draw most of my diagrams/flowcharts in CorelDraw (can't stand
>> Visio), then copy them into a Word document, and add the text. It works, but
>> somehow I feel there ought to be better tools for the job.

Certainly, you should try OpenOffice.
I found it useful for almost anything, although i rarely do flowsharts, i must admit, so i have not tested other solutions.  (Except pen and paper of course)

Use the Draw portion of OOo.  There use the link line function to connect different objects; the links will then follow when you move and resize objects.  (although they may overlap ugly, so you might need to drag them manually for finish quality)  Use text objects set to resize with the text.  Draw the other function block symbols as you wish.

I have also seen this done with a schematic capture, with the functions blocks made as symbols.  Link reroute is there much nicer, but less "designable" look than in OOo.  Plus OOo have one-button export to pdf, and of course much better text and graphic features.  Plus is free.  http://www.openoffice.org.

...Havning said that i find the IT development have made me use desiging using computer *less* for small electronic projects.  I find i often entirely use pen-and-paper then photograph the drawig, notes, and actual result, some key components, plus oscilloscpoe curve (got o DSO) and dump it in a folder on the hard disk together with any correspondence with customer and any files (datasheet etc)...

/Morgan

--
Morgan Olsson, Kivik, Sweden

2005\07\14@024927 by Jose Da Silva

flavicon
face
On July 13, 2005 09:27 pm, Morgan Olsson wrote:
> Alex Harford 19:53 2005-07-12:
> >> I tend to draw most of my diagrams/flowcharts in CorelDraw (can't
> >> stand Visio), then copy them into a Word document, and add the
> >> text. It works, but somehow I feel there ought to be better tools
> >> for the job.
>
> Certainly, you should try OpenOffice.
> I found it useful for almost anything, although i rarely do
> flowsharts, i must admit, so i have not tested other solutions.
> (Except pen and paper of course)
>
> Use the Draw portion of OOo.  There use the link line function to
> connect different objects; the links will then follow when you move
> and resize objects.  (although they may overlap ugly, so you might
> need to drag them manually for finish quality)  Use text objects set
> to resize with the text.  Draw the other function block symbols as
> you wish.

I have to agree. Open Office is quite nice and you can't argue with the
price either.  I did notice that on Windows computers, that Windows
Update sometimes resets the associations back to Word if you have both
Open Office & Microsoft Word on the same computer, otherwise all is
okay (I left the installed Microsoft word that came bundled with that
particular machine as a backup in case the user didn't like open
office, but so far they still use open office, which to me is a good
indication of acceptance.
As an example, except for imported screenshots, I managed to create an
entire manual plus an exported PDF-manual using just openoffice. The
small free version manual is here, so it should give you an idea of
what you can accomplish if you want to really go nuts and use fancy
features ;-)
http://www.JoesCat.com/micro/picdisl.zip

If your pcb software is capable of exporting postscript, you could
import a re-sizable version of your PCBs and or schematics as well.

The pdf export makes it compact/useful for a customer copy and I noticed
that the exported PDF is compatible across a range of PDF readers, for
example, Adobe reader ver 3 for OS/2 (old), all the Adobe readers for
windows (tried 4,5,6), linux ghostscript. So from a customer
standpoint, if they have a postscript reader, however old it may be,
they seem okay reading the file.

> I have also seen this done with a schematic capture, with the
> functions blocks made as symbols.  Link reroute is there much nicer,
> but less "designable" look than in OOo.  Plus OOo have one-button
> export to pdf, and of course much better text and graphic features.
> Plus is free.  http://www.openoffice.org.

You may want to use the adobe standard type fonts so that it is more
cross-platform, so instead of windows arial, select helvetica, but
courier and times roman appear to have the same names on various
platforms. You may want to import graphics and other stuff as
postscript instead of jpgs, gifs, or other pixelized type pictures
since the results tend to look a little sharper.

> ...Havning said that i find the IT development have made me use
> desiging using computer *less* for small electronic projects.  I find
> i often entirely use pen-and-paper then photograph the drawig, notes,
> and actual result, some key components, plus oscilloscpoe curve (got
> o DSO) and dump it in a folder on the hard disk together with any
> correspondence with customer and any files (datasheet etc)...

Sometimes, the amount of work doing it via computer doesn't make sense,
and I have to agree doing paper-work is quick for small projects.

2005\07\15@095143 by Howard Winter

face
flavicon
picon face
> What kind of software design aids do you use for your project?

Back of an envelope, Mk.I !  

Occasionally supplemented by post-it notes...

Cheers,


Howard Winter
St.Albans, England


2005\07\16@045025 by Tony Smith

picon face
> I use Excel to flow chart. Then code in assembler.
>
> Would love to be able to just flow chart and then have the code
> generated automatically from the flow chart. Anyone got this tool? Would
> be great if it supports the high end PIC chips such as 18Fxxx etc.
>
> _______________________________________
>
> Roy
> Tauranga
> New Zealand


I've hope you've discovered the Connectors button in Excel  :-)  Most people use Arrows, so when they move the boxes, the lines
don't come along for the ride.  You see it a lot in Word docs, which didn't get connectors until XP.  So much for MS programmers
talking to each other.

I don't use Visio much (too lazy to take the time to learn it, bring back ABC Flowcharter), but it does it better, as it should.  In
Excel, draw two boxes side by side, and use a connector to join them.  Then swap their positions; depending on the connector used,
it will either loop around them, or draw the line straight thru.

In Visio, it can automatically shift the points where the line connects the boxes to get the shortest line.  When drawing a line
from one box to another, don't start from the points on the edge of the box, click in the middle.  When you reach the next box, do
the same.  The box border should highlight red, then release the mouse button.  When you swap the boxes, Visio will choose what
points to use to connect the boxes.

Since you're in NZ, you've probably heard of the PicAxe from http://www.reved.co.uk.  They're like a Basic Stamp, only just a chip.
Silicon Chip magazine runs articles on them.  You can write programs (using their tool, a 20mb download) by using a flowchart, and
it creates Basic code.

I've seen other systems do this, usually as a gimmick.  The IBM IVR (Interactive Voice Response), those 'press 1, press 2' telephone
systems,

Problem was you spent most of your time making the flowchart pretty, and the reverse didn't happen, ie a flowchart couldn't be
created if you edited the code.  It was passed off as a sales tool, rather than anything useful.  Didn't help when it would
occasionally move all the boxes to one corner!

Tony

2005\07\16@052214 by Hopkins

flavicon
face
Yes I use the connections tool - great help.

But I was hoping there was a more integrated tool to allow code to be
generated and as you point out if the code is changed then the flow
chart should be updated - now that would be great.

Yes I have seen the PicAxe but find this system too limited for my use.
Although I have not checked out there latest program.

_______________________________________

Roy
Tauranga
New Zealand
_______________________________________

> {Original Message removed}

2005\07\17@113648 by Tony Smith

picon face
I've encountered about 5 or 6 'program by flowchart' tools, and none of them were all that impressive.  They were either aimed at
complete beginners (PicAxe) or marketing gimmicks (the rest) to impress management.

Given the smallest PicAxes can only handle around 40 lines of code, most programmers would be happier with a text editor.

Still, given a high level language (and well structured) there's no reason a flowchart can't be used.  After all, the various visual
spice tools (sort of) do this.  The beginners robot language thread reminded me of this, LOGO would work well here.

One problem is most people draw flowcharts like they program, lines going off to the side of the page with a circled (F) in it, with
its mate on another page, the flowchart equivalent to a GOTO.

I once produced a flowchart that ran to around 80 pages, and each page was a discrete chunk of code (subroutine).  Page one was the
main loop.  Every other page was a subroutine.  The boxes on the page could represented an operation, or another subroutine, you
could see the effect it would have without having to follow it.  You followed the program by picking up the appropriate page,
putting it back when finished, the usual Call / Return pair.

If you were writing a tool, you'd need some way to represent the subroutines, and handle their inputs/outputs.  A subroutine becomes
another component in the toolbox, double click to expand & edit it.  Inputs listed at the top of the box, outputs at the bottom.  To
pass parameters, you link Outputs of one box to Inputs on another, or it can be done automatically.  (This is like the Query builder
in Access, it automatically links field in tables with identical names.)  All boxes have Input and Outputs, you decide what they
are.

I must play with a UML tool one day and see how that compares.

Tony



> {Original Message removed}

More... (looser matching)
- Last day of these posts
- In 2005 , 2006 only
- Today
- New search...