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

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

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

    M M 2 Replies 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?

      R Offline
      R Offline
      Rocky Moore
      wrote on last edited by
      #8

      I first start with Notepad. List out what basic features it will need and then maybe a bit more detail on each feature. Since most of my work nowadays is web applications, here is an example for a mailing list:

      Requires:

      Database -

      Subscriptions
      {
      ID
      EmailAddress
      CreatedAt
      IsValidated
      }

      Functionality -

      Subscribe Page
      Page to Sign up
      Get signup information and send email for validation
      Page for Validation Message Sent

      Validation page
      Check if valid validation code and subscription as validated

      Unsubscribe Page
      Page Prompt for email address and confirm deletion
      Delete from database

      Post Page
      Input text and cycle through all subscribers sending the emails

      That is about as detailed as I get starting a project. After it is complete to the point I listed, I will run through it and see if there is ways to improve it or make it more user friendly. Rocky <>< www.HintsAndTips.com - Now with GMail Queue www.MyQuickPoll.com - 2004 Election poll is #33 www.GotTheAnswerToSpam.com "We plan for the future, we learn from the past, we live life in the present!"

      1 Reply Last reply
      0
      • 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