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. Design Documents For CodeProject Apps

Design Documents For CodeProject Apps

Scheduled Pinned Locked Moved The Lounge
designquestion
19 Posts 10 Posters 0 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.
  • M Marc Clifton

    nlecren wrote: Does anyone bother to do full blown design documents for personal projects?? What's design document? Just kidding! Actually, whether it's for work or personal, I find design documents to be pretty useless for the work that I do. Most of the time the customer can't figure out how to say what it is that they want with any level of detail, and then when you show something to them it gets changed drastically. Well, that's the world I work in. So instead, I rely on a solid framework (which I've written about), and then whatever the project is becomes "implementation details", which are easily changed. Occasionally I'll do a really high level design to figure some stuff out that's not handled by the framework. And I've found that declarative programming fits really well into the incremental design/implementation/revise method of working. And I don't find it any more costly either. A detailed design can be a waste of time because it's out of date by the time you start writing the first line of code, or shortly thereafter. Now, if I were writing a mass market commercial application, then yeah, I'd do a full design, story boards, mock screens and workflows, etc. [edit]Oh, and I think design documents are very useful when working on a team, but not as useful as a stand-alone programmer[/edit]. Marc MyXaml Advanced Unit Testing

    M Offline
    M Offline
    Michael P Butler
    wrote on last edited by
    #9

    Marc Clifton wrote: Most of the time the customer can't figure out how to say what it is that they want with any level of detail, and then when you show something to them it gets changed drastically I was doing a flowchart the other day for a business process workflow. Then I thought, wouldn't it be cool if I could design the workflow in MyXaml and then have the flowchart generated for me. What do you think :-D :-D Michael CP Blog [^]

    M 1 Reply Last reply
    0
    • N nlecren

      So instead, I rely on a solid framework (which I've written about), Do you have a link??

      M Offline
      M Offline
      Michael P Butler
      wrote on last edited by
      #10

      nlecren wrote: So instead, I rely on a solid framework (which I've written about), Do you have a link?? I think Marc is referring to the work he did with the The Application Automation Layer[^] which lead to this article[^] which lead onto all this[^] The MyXaml MvC[^] pattern is very useful as a framework as is the workflow stuff[^] Michael CP Blog [^]

      N 1 Reply Last reply
      0
      • N nlecren

        So instead, I rely on a solid framework (which I've written about), Do you have a link??

        M Offline
        M Offline
        Marc Clifton
        wrote on last edited by
        #11

        nlecren wrote: Do you have a link?? Part I of IV.[^] The other 3 parts are on CP, as well as several other articles on architecture and advanced unit testing. The AAL project (a C# rewrite of something I've been using for years in C++) got supplanted by MyXaml[^] which incorporates many of the abstraction and plug-in concepts by its very nature (declarative programming vs. imperative). A high level diagram of what I use is here[^]. Marc MyXaml Advanced Unit Testing

        1 Reply Last reply
        0
        • N nlecren

          Does anyone bother to do full blown design documents for personal projects?? Or is it better to just go ahead and start coding. The reason i ask this is that unless I'm at work and getting paid to write the design document and then code the project, i find that the design document kills my development. By the time i'm done with that document i've lost all desire to even code the project. Granted refactoring or design as you code is horrible in the real world where money is involved and the project must be done on time, but what about when you are doing a hobby project. Seems like part of a hobby project should be fun, not killed writing boring design documents that nobody will force you to use anyway. Just wondering what all of you do for these codeproject applications? Full blown design docs or some notes on a paper with some ideas?

          S Offline
          S Offline
          Steven Campbell
          wrote on last edited by
          #12

          I disagree that "refactoring or design as you code is horrible", and leads to time overruns. While it is good to have a high-level design of what you plan on doing, it is perfectly workable to have the design evolve as you progress. The trick is to follow a test-driven development style. Then, when you have to refactor (and you will), you will find it amazingly easy. In addition, a side-effect of test-driven development is that the code becomes strongly decoupled, which is one of the design goals of almost any program.


          my blog

          1 Reply Last reply
          0
          • M Michael P Butler

            Marc Clifton wrote: Most of the time the customer can't figure out how to say what it is that they want with any level of detail, and then when you show something to them it gets changed drastically I was doing a flowchart the other day for a business process workflow. Then I thought, wouldn't it be cool if I could design the workflow in MyXaml and then have the flowchart generated for me. What do you think :-D :-D Michael CP Blog [^]

            M Offline
            M Offline
            Marc Clifton
            wrote on last edited by
            #13

            Michael P Butler wrote: Then I thought, wouldn't it be cool if I could design the workflow in MyXaml and then have the flowchart generated for me. Indeed. I'd love to use something like Visio or other drawing package as a designer (diagram to state/workflow/event/MVC model), and back again to reflect manual code changes. I wish I had the time to do that! I used to work with Visio a lot, and it was really cool. Other packages are probably similar (hopefully not as complex as Visio though). However, my next MyXaml task is getting it to run with VS2005 and .NET 2.0 Marc MyXaml Advanced Unit Testing

            D 1 Reply Last reply
            0
            • C Charlie Williams

              My process is as follows: 1) Open Visual Studio 2) Type:

              static void Main()
              {
              }

              1. Think: Ok, now what should this app do? Charlie if(!curlies){ return; }
              N Offline
              N Offline
              Nemanja Trifunovic
              wrote on last edited by
              #14

              Charlie Williams wrote: static void Main(){} You mean:

              namespace IAmGoingToHaveFun
              {
              class WowIamAlreadyProgramming
              {
              public static void Main()
              {
              //Enough typing for today - I'll get back to it tomorrow
              }
              }
              }


              My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.

              1 Reply Last reply
              0
              • M Marc Clifton

                Michael P Butler wrote: Then I thought, wouldn't it be cool if I could design the workflow in MyXaml and then have the flowchart generated for me. Indeed. I'd love to use something like Visio or other drawing package as a designer (diagram to state/workflow/event/MVC model), and back again to reflect manual code changes. I wish I had the time to do that! I used to work with Visio a lot, and it was really cool. Other packages are probably similar (hopefully not as complex as Visio though). However, my next MyXaml task is getting it to run with VS2005 and .NET 2.0 Marc MyXaml Advanced Unit Testing

                D Offline
                D Offline
                David Stone
                wrote on last edited by
                #15

                other drawing package Have you taken a look at the Whitehorse (Class Designer) tools in VS2005? It sounds like what you're looking for. If there was a way to plug into that, that could be what you're looking for.


                Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?

                M 1 Reply Last reply
                0
                • N nlecren

                  Would you be willing to post the design doc?? I'm just curious how in depth it is there are really no good examples of non-professional design docs out there that aren't hundreds of pages and take weeks to complete. Thanks Visit my development blog[^]

                  D Offline
                  D Offline
                  David Stone
                  wrote on last edited by
                  #16

                  I actually wrote the application a long time ago (meaning: I've completely lost the documentation for it ;P) and it was solely for the purpose of explaining to my mom how I was going to go about doing it. It was mostly just a Visio diagram showing pretty shapes and a few short paragraphs as to what the form would do. What Marc says, down below, makes infinitely more sense anyway. For single-programmer projects, whereno end-user input is necessary, the design doc is almost unnecessary. What you really need is his MyXaml stuff...that's shweet. :cool:


                  Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?

                  1 Reply Last reply
                  0
                  • M Michael P Butler

                    nlecren wrote: So instead, I rely on a solid framework (which I've written about), Do you have a link?? I think Marc is referring to the work he did with the The Application Automation Layer[^] which lead to this article[^] which lead onto all this[^] The MyXaml MvC[^] pattern is very useful as a framework as is the workflow stuff[^] Michael CP Blog [^]

                    N Offline
                    N Offline
                    nlecren
                    wrote on last edited by
                    #17

                    Thanks i'll check this stuff out

                    1 Reply Last reply
                    0
                    • N nlecren

                      Does anyone bother to do full blown design documents for personal projects?? Or is it better to just go ahead and start coding. The reason i ask this is that unless I'm at work and getting paid to write the design document and then code the project, i find that the design document kills my development. By the time i'm done with that document i've lost all desire to even code the project. Granted refactoring or design as you code is horrible in the real world where money is involved and the project must be done on time, but what about when you are doing a hobby project. Seems like part of a hobby project should be fun, not killed writing boring design documents that nobody will force you to use anyway. Just wondering what all of you do for these codeproject applications? Full blown design docs or some notes on a paper with some ideas?

                      D Offline
                      D Offline
                      Danny Rodriguez
                      wrote on last edited by
                      #18

                      It all depends on the project.. Sometimes it necessary especially when you have a team of programmers with you.. If you are solo - you can cut down alot on the documentation since you are the only one that will understand it.. Aside from that - its rather IMPOSSIBLE to gather good requirements from most clients.. since most have no clue abotu software or technology.. just that they want to make there "stuff" easier.. if you ask themn for details.. they will give you a 1 paragraph summary.... sometimes you can shoot from the hip - which turns out into a total mess if you arent careful.. it almost borders on the evolutionary model which as we know is used when there no requirements or requirements are unknown which in the real world is typically more often the case than not.. would be nice if could follow those steps in a real life scenario - or have others outside the development process - which have the patience to let it flourish.. Danny!

                      1 Reply Last reply
                      0
                      • D David Stone

                        other drawing package Have you taken a look at the Whitehorse (Class Designer) tools in VS2005? It sounds like what you're looking for. If there was a way to plug into that, that could be what you're looking for.


                        Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?

                        M Offline
                        M Offline
                        Marc Clifton
                        wrote on last edited by
                        #19

                        David Stone wrote: Have you taken a look at the Whitehorse (Class Designer) tools in VS2005? Cool. I'll take a look at it. Marc MyXaml Advanced Unit Testing

                        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