|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
Stop making mediocre tutorials.The best tutorials are video! Camtasia Studio makes it easy to create engaging, buzz-building screen videos at any size, in any popular format. Download the free trial!
|
|
#1
|
|||
|
|||
|
planning tool for software-design
I'm searching some tool to help me plan my application, I thought about visio but that's already a bit specific, it doesn't need to be uml and I don't want to plan the complete class system yet. what I'm looking for is more sort of a graphical thing for brainstorming and drawing a simple layout - well maybe best is a sheet of paper but sharing online would be helpful here...
any ideas? |
|
#2
|
|||
|
|||
|
I think what you really want is a tool that will guide you through developing a design document. I personally just use Word, Rational Rose, and Viso for all of my design needs. Rational is probably overkill, of course, but I like its UML better. When I make a design document, here's my general structure. My current project, a version 1.0 release, is 18 pages.
- Product Description - Requirements - Use Cases - Business Objects (with class diagram) - User Workflow (sequence diagrams) - Screen layouts (or paper prototypes using your Use Cases to drive it) - Application "aspects" (system requirements that cross Use Cases) - Non-Business Objects (design patterns, objects, implementation details) This is before any code is written, and there are still many implementation details that may change, so I don't have a set of executable UML diagrams, etc. in the last section. Rather I let the final design gradually evolve and iterate, such as I've just migrated from Struts to JSF as my presentation layer which would have changed my executable UML, had I included it. I will also update the specification as needed, such as to correct errors (which always occur). At the end of the project I then draft up a shorter document that conists of the final design UML and short explanations for how it works. That way, I have a record of the design and it should be relatively easy for another developer to understand how the software works. If I need to make another version, than cycle through the process again, which is slightly easier with my older documents at hand. I also maintain a seperate text document just layout my product roadmap, such as what features I plan to include for version 1, 2, and so on. That I can easily update as ideas come to me rather than being grounded in a heavier spec. This is a more formal process than most developers use, but I prefer it. I come from an engineering background, and you're taught to put significant effort in designing first because implementation mistakes are very, very costly (i.e. tapping out another ASIC/chip revision). The good thing with this method is it forces you to answer a lot of hard questions, and my tendancy to run to the coding stage instead is only because I want to avoid dealing with them. That of course bites you in the foot, so you learn to deal with it early on to save yourself a lot of pain. |
|
#3
|
|||
|
|||
|
thanks for the answer novax - although I'm not such a big fan of every of these steps (I consider use cases as completely useless) I know them already and make use of them - the problem is that I'm searching for some tool to gather the initial ideas and thoughts before actually planning it thoroughly... I had a look at mindmap but it's not exactly what I want as you can't draw lines or write long texts from topic to topic... ah well there's probably no tool that does the job - reminder to myself: consider making a planning tool ;o)
Last edited by MuffinMan : July 27th, 2005 at 05:08 PM. |
|
#4
|
|||
|
|||
|
I never quite found tools like MindMap useful, as instead I just doodle on notepads and brainstorm while researching the idea. My problems usually come from having an idea that's too vague, and I need to force myself to narrow down and clarify it. At a technical level, that's my process.
On Use Case diagrams, I used to feel the same way as you do. I found them useful later on by again forcing me to clarify the possiblities. I've already gathered the requirements, so this is the next step in showing what tools/user actions are possible. That makes it easier for me to draw up the business objects, sequence diagrams, and especially the mockups. Its just another level of making you answer questions you might otherwise avoid. Sorry I couldn't be of more help, I don't run into your problem on technical projects. However, I have dealt in situations where you're trying to solve (or brainstorm) business strategy issues. Often graphical analysis tools are pretty useless, instead a series of questions that help you frame problems in a new way get the best results. You come up with a lot of creative solutions when the questions make you take a different angle of attack. |
|
#5
|
|||
|
|||
|
yeah it's hard to find all questions isn't it ;o) I'm just pondering anyway as my project might just not be possible to do and as it's really huge there's a lot to forget in the design. I'd be glad if I could only thoroughly plan the thing let alone write it in my little spare time...
thanks for the help / thoughts anyway novax! and as a hint of what I'm talking about: me and a friend are trying to plan a game, a massively multiplayer space shooter... sounds crazy eh? well it probably is and as said it's probably not possible as there are huge technical difficulties to solve... |
|
#6
|
|||
|
|||
|
Wow, that's a big undertaking. At times I've thought about building a game, not because I'm a gamer, but out of curiousity of how a lot of neat things are done. I'd never try, though; its just to big an effort. If you go for it, I sure hope you've read up on the chosen language, patterns, game theory, and have decent experience. Overly plan and design, and be willing to have a skimpy version 1. And above all, best of luck.
I'm currently in the midst of a version 1.0 product and may soon start on another idea as well. The first stems from what I said before about business strategy and is an attempt to make an enterprise-class web application based on a framework internally devised and used in quick-and-dirty JSPs. This new one is a big undertaking, requiring me to learn JSF/Spring/Hibernate to create the solid architecture to build from. To stay creative and refreshed I like to work on multiple ideas, so this other one should be fun. It will take an idea a friend had mistakenly tried to force into a web app (failed to mature because of to many technical issues) and do it right as a desktop application. Its a good excuse to get my teeth cut on C#. My point about these is, there's just so much work in creating a version 1 of a decently sized application, which is scaled back in features just to get a first release done. There is so much to do in setting up a solid architecture from which to build from so that you don't have to throw it all away later, plus any learning curves involved. You sound pretty compitent, but just make sure to stay grounded. So often I've heard friends talk about new ideas, dream, and quickly give up because they avoided considering all the time and technical details required. Instead they pimp out their ideas to friends looking for a sucker to catch, in hopes that guy will do the work while they sit back, chat, and direct. So make sure your friend is in all the way and really will contribute. Its not a 1-man job. |
|
#7
|
|||
|
|||
|
yeah it's really no 1-man job - and not a 2-man job either... anyway we do that for fun so there's no big pressure (I couldn't do anything under pressure at the moment anyway - it's Friday 21:53 here and I'm still working for my company, just as tomorrow and probably every day for the next week...
) our plan was to just design it or try to design the thing without getting fixed on special engines or anything so to find the basic architecture (which is the big problem really - questions like: how can we deliver position information to thousands of players within a reasonable ping time while calculating bots and dynamic objects on serverside??" ..., then make a working example of the thing and if it really turns out to be doable and if it's looking like we could actually get it somewhere... well I guess then we might think about hiring more people or get produced by some company but until then it's just an experiment anyway my friend is a very good coder and I'm not too bad either I guess so we'll see what can be done ![]() |
![]() |
| Viewing: Dev Shed Forums > Web Site Management > Development Software > planning tool for software-design |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|
|