Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. What tools do you use for designing software?

What tools do you use for designing software?

Scheduled Pinned Locked Moved The Lounge
toolsquestion
63 Posts 42 Posters 3 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • PJ ArendsP PJ Arends

    Real men do not design, they just code!


    You may be right
    I may be crazy
    -- Billy Joel --

    Within you lies the power for good, use it!!!

    J Offline
    J Offline
    Josh Smith
    wrote on last edited by
    #46

    PJ Arends wrote:

    Real men do not design, they just code!

    Real men do not code, they just drag-and-drop!

    :josh: My WPF Blog[^] Companies do not love you. Companies do not go out drinking with you. All they can do is pay you, and will fire you the second it is convenient. Unless you realize that simple reality you can never truly play the employment game well. You'll always be a victim of corporate America.
    -BONGO

    1 Reply Last reply
    0
    • PJ ArendsP PJ Arends

      Real men do not design, they just code!


      You may be right
      I may be crazy
      -- Billy Joel --

      Within you lies the power for good, use it!!!

      P Offline
      P Offline
      pgorbas
      wrote on last edited by
      #47

      That's right - the entire solution appears, full blown, in the programers mind, then it just takes a few hours to code in....if only....:sigh: The problem most often is poor requirements resulting in vague designs and applications that need to be tweaked.

      S 1 Reply Last reply
      0
      • E El Corazon

        Joergen Sigvardsson wrote:

        The really real men gnaw their designs into the hides taken from yesterdays game!

        hah! that is "old school" REALLY new real men redesign their own DNA and pass the code on to their children to write the designs for them! ;P (this has all the earmarks of an endless argument) :laugh:

        _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

        J Offline
        J Offline
        jnegron267
        wrote on last edited by
        #48

        Actually if you're smart enough, the best way to design software would be to encode it into the atoms of a crystal, along with the source code, comments GUI AND documentation. ;P

        1 Reply Last reply
        0
        • PJ ArendsP PJ Arends

          Real men do not design, they just code!


          You may be right
          I may be crazy
          -- Billy Joel --

          Within you lies the power for good, use it!!!

          W Offline
          W Offline
          W Balboos GHB
          wrote on last edited by
          #49

          Amen; // Selah!

          "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

          1 Reply Last reply
          0
          • A amymarie3

            When you already have your project figured out and you are at the stage where you need to start planning exactly how you are going to develop the software what tools do you find the most useful?

            D Offline
            D Offline
            David Veeneman
            wrote on last edited by
            #50

            Went through a UML phase and tried lots of tools for that. Ended up in analysis paralysis. Went back to a word processor to write up what we are thinking with simple diagrams.

            David Veeneman www.veeneman.com

            1 Reply Last reply
            0
            • A amymarie3

              When you already have your project figured out and you are at the stage where you need to start planning exactly how you are going to develop the software what tools do you find the most useful?

              T Offline
              T Offline
              tgarbutt
              wrote on last edited by
              #51

              I'd usually scratch mine out on a spare block of cathedral city cheese I just so happen to have sitting on my desk.

              1 Reply Last reply
              0
              • J Josh Smith

                Jeffry J. Brickley wrote:

                If you are redesigning your own DNA, hey, why not custom design your own mate first?

                It would take at least 18 years before you could test drive your creation. ;)

                :josh: My WPF Blog[^] Companies do not love you. Companies do not go out drinking with you. All they can do is pay you, and will fire you the second it is convenient. Unless you realize that simple reality you can never truly play the employment game well. You'll always be a victim of corporate America.
                -BONGO

                C Offline
                C Offline
                Coleenh
                wrote on last edited by
                #52

                Okay, if all you "Real Men" are done designing your "perfect" mate to have your designer children do your designing for you, there are lots of us "Real" women who do design… First, I ask my users what they want/need, then yes I use pencil (or pen) and paper sometimes to get an idea of what they want. I also have THEM use the pencil and paper to show me an idea of what type of interface they want. I design web pages BTW, so once I have an idea what the user wants/needs, I use Visual Studio to easily design something in HTML to have a "Demo" to show them. There are lots of tools, all kidding aside, plain old pencil/pen/paper to get the initial idea still works best - just put the burden of what the user wants back on them - make THEM give you the initial design in pen or pencil... Just my .02 cents...

                Coleen NV DMV ISS 3

                L 1 Reply Last reply
                0
                • P pgorbas

                  That's right - the entire solution appears, full blown, in the programers mind, then it just takes a few hours to code in....if only....:sigh: The problem most often is poor requirements resulting in vague designs and applications that need to be tweaked.

                  S Offline
                  S Offline
                  Stuart Dootson
                  wrote on last edited by
                  #53

                  pgorbas wrote:

                  That's right - the entire solution appears, full blown, in the programers mind, then it just takes a few hours to code

                  That's right - isn't all application development like that ? ;P

                  1 Reply Last reply
                  0
                  • A amymarie3

                    When you already have your project figured out and you are at the stage where you need to start planning exactly how you are going to develop the software what tools do you find the most useful?

                    A Offline
                    A Offline
                    Arjan Keene
                    wrote on last edited by
                    #54

                    After the paper, pencil & brains phase I'd suggest e.g. Visio: easy to acquire, pro look&feel, and also has some reasonable optional code-generation possibilities. In my experience, the more enterprisy and thus expensive the tool, the more useless they tend to be in daily business life (if anti-spamming is allowed here, this would include e.g. Select and any Rational product). Another option is the Class Designer in Studio, but is 1-on-1 with your type artifacts; advantageous, but already detailed and thus not always adequate as a design tool. Would be nice to have Studio mature further with integration of Visio layering and e.g. Borland Caliber RM (reqs mgmnt) as a standard integrated plug-in; together with MSF, work items and class designer this would bring almost the full cycle into a single tool.

                    1 Reply Last reply
                    0
                    • E El Corazon

                      peterchen wrote:

                      But they'd have to get laid for that

                      If you are redesigning your own DNA, hey, why not custom design your own mate first?

                      _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                      P Offline
                      P Offline
                      peterchen
                      wrote on last edited by
                      #55

                      Deal! Just think of the possibilities for case modding...


                      Developers, Developers, Developers, Developers, Developers, Developers, Velopers, Develprs, Developers!
                      We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
                      Linkify!|Fold With Us!

                      1 Reply Last reply
                      0
                      • A amymarie3

                        When you already have your project figured out and you are at the stage where you need to start planning exactly how you are going to develop the software what tools do you find the most useful?

                        N Offline
                        N Offline
                        nilotic
                        wrote on last edited by
                        #56

                        How long is that piece of string ? Most of the work is done by the human brain, at varying levels of consciousness. I tend to come up with my best, most parsimonious designs whilst driving and getting slightly hypnotised by the thrum and vibration of it. Then there's a whole suite of tools to realise the ideas on paper & 'in silico'. Then there's testing. And user feedback, which occasionally is great. Your development IDE is more important than most software aids, but less important than communicating properly with the team and end users. So, if you want a project to go smoothly, above all else make sure you don't have extra communication barriers like non-English-speaking people in the team. On the other hand, I actually think it's worth having one pillock who everyone can disrespect, and who therefore allies the rest. So maybe have a Scottish, disapproving, hatred-meister to fill that role safely. Beware arguments about differing platforms and technologies - these must be resolved quickly without descent into slanging matches. N

                        'All there really is, is: virute and vice' ...Black Crowes

                        1 Reply Last reply
                        0
                        • C Coleenh

                          Okay, if all you "Real Men" are done designing your "perfect" mate to have your designer children do your designing for you, there are lots of us "Real" women who do design… First, I ask my users what they want/need, then yes I use pencil (or pen) and paper sometimes to get an idea of what they want. I also have THEM use the pencil and paper to show me an idea of what type of interface they want. I design web pages BTW, so once I have an idea what the user wants/needs, I use Visual Studio to easily design something in HTML to have a "Demo" to show them. There are lots of tools, all kidding aside, plain old pencil/pen/paper to get the initial idea still works best - just put the burden of what the user wants back on them - make THEM give you the initial design in pen or pencil... Just my .02 cents...

                          Coleen NV DMV ISS 3

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #57

                          Coleenh wrote:

                          There are lots of tools, all kidding aside, plain old pencil/pen/paper to get the initial idea still works best - just put the burden of what the user wants back on them - make THEM give you the initial design in pen or pencil...

                          Amen and Amen

                          Shohom67

                          H 1 Reply Last reply
                          0
                          • L Lost User

                            Coleenh wrote:

                            There are lots of tools, all kidding aside, plain old pencil/pen/paper to get the initial idea still works best - just put the burden of what the user wants back on them - make THEM give you the initial design in pen or pencil...

                            Amen and Amen

                            Shohom67

                            H Offline
                            H Offline
                            Happy camper
                            wrote on last edited by
                            #58

                            Doesn't anyone else think that it is a little strange and a bit of a paradoxical that we develop software and yet we rely on pencil and paper? I've ever so wanted to electronically store the ideas and creativity of the initial design but I have never found the right tool. Does anyone have a serious answer besides pencil and paper?

                            1 Reply Last reply
                            0
                            • A amymarie3

                              When you already have your project figured out and you are at the stage where you need to start planning exactly how you are going to develop the software what tools do you find the most useful?

                              K Offline
                              K Offline
                              KeithSKTM
                              wrote on last edited by
                              #59

                              Flip charts and pens for the use case diagrams, plus blue tack to stick them on the walls. Whiteboards and different pens (don't get them mixed up!) for everything, plus a digital camera so we can store the images. In fact the only spaces in my office that do not have whiteboards on them are the walls behind desks where we can't reach, and the windows and doors. Although it would not be the first time we have drawn on the windows 'cos the board wasn't big enough. ;P MS Visio for data flow diagrams and entity relationship diagrams, but only because it is on my machine and I don't have anything better, but it is still easier to modify than a whiteboard without having to draw everything again. VS '05 for interface design, although I have a beta of MS Expression that looks cool for AJAX stuff. Probably not the software answer you were looking for, but I don't have to train anyone (mostly) on how to use a pen and a board and everyone has the software to view a photo.

                              1 Reply Last reply
                              0
                              • A amymarie3

                                When you already have your project figured out and you are at the stage where you need to start planning exactly how you are going to develop the software what tools do you find the most useful?

                                D Offline
                                D Offline
                                DrJBB
                                wrote on last edited by
                                #60

                                It sounds like you mean "How do you design code", not "How do you design an interface". If the problem is complicated enough that I can't just sit down and write the code, I use pseudocode, preferably on a whiteboard. I use very high level "statements", like do while alive open files get devices play song conquer universe end do get old and die That way, I can deal at a high level with the overall flow of control, then go back and pseudocode the individual steps. But I usually find that the devil is in the details. There are unexpected dependencies, and I have to start over. Of course, this assumes that you are working in a procedural environment. I know people who use an "Object-Oriented" paradigm. They begin by designing the classes they are going to use to solve the problem. I don't know if there is a second step to this methodology. I have never seen anyone finish step 1. JBB

                                A 1 Reply Last reply
                                0
                                • D DrJBB

                                  It sounds like you mean "How do you design code", not "How do you design an interface". If the problem is complicated enough that I can't just sit down and write the code, I use pseudocode, preferably on a whiteboard. I use very high level "statements", like do while alive open files get devices play song conquer universe end do get old and die That way, I can deal at a high level with the overall flow of control, then go back and pseudocode the individual steps. But I usually find that the devil is in the details. There are unexpected dependencies, and I have to start over. Of course, this assumes that you are working in a procedural environment. I know people who use an "Object-Oriented" paradigm. They begin by designing the classes they are going to use to solve the problem. I don't know if there is a second step to this methodology. I have never seen anyone finish step 1. JBB

                                  A Offline
                                  A Offline
                                  amymarie3
                                  wrote on last edited by
                                  #61

                                  Your right about the "how do you design code" comment. Even closer would be the question: How do you organize your task list after the software is designed and the interface is laid out? Do you just make a task list in word, or do you use excel, or maybe a different piece of software. I have a start at the design of the software I will be building and am ready to start my "technical design" and am looking for a good way to organize the different pieces so that I can start estimating the time each piece will take.

                                  D 1 Reply Last reply
                                  0
                                  • A amymarie3

                                    Your right about the "how do you design code" comment. Even closer would be the question: How do you organize your task list after the software is designed and the interface is laid out? Do you just make a task list in word, or do you use excel, or maybe a different piece of software. I have a start at the design of the software I will be building and am ready to start my "technical design" and am looking for a good way to organize the different pieces so that I can start estimating the time each piece will take.

                                    D Offline
                                    D Offline
                                    DrJBB
                                    wrote on last edited by
                                    #62

                                    Estimating is a whole 'nother matter. If you simply want a list of pieces of code that will need to be written, the pseudocode will provide that, at whatever level of detail you take it to. But there is also the question of design of files or databases, and then there is the question of "testing". The usual development paradigm looks like this; design => code => test => deploy The problem with this is that it assumes the function of testing is to verify satisfactory performance. That shouldn't take long, should it? I could write a book, and maybe I should. But let's cut to the chase. The first question to ask about any document is, "Who is the intended audience?" This applies in spades to a coding time estimate. If you are a contractor, and the reader is a prospective employer, you want the estimate as short as is remotely plausible, so you will get the contract. They won't fire you when it's half done. This may sound cynical, but I assure you it is the standard industry practice. How do you think they make all that money? If you are an employee, and your boss wants an estimate, make him help you develop it. Then he is on the same hook you are. Otherwise, when anything takes longer than YOU estimated, it is YOUR fault. So, yes, your question is a political one, not a technical one. If you build five houses a year, all exactly alike, you have a pretty good idea how long it takes to build one. But no one ever builds the same program twice, and no one has any idea how long it will take to build the next one. JBB

                                    1 Reply Last reply
                                    0
                                    • A amymarie3

                                      When you already have your project figured out and you are at the stage where you need to start planning exactly how you are going to develop the software what tools do you find the most useful?

                                      U Offline
                                      U Offline
                                      urbane tiger
                                      wrote on last edited by
                                      #63

                                      a whiteboard that prints

                                      1 Reply Last reply
                                      0
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • World
                                      • Users
                                      • Groups