Design Process....
-
I was wondering what people did when starting to design a new feature or a new application for that matter. Do you use something like uml, flow charts, etc or do you just diagram things out on paper? What type of things do you first start designing when starting a new project? Thanks for you comments. :)
There are 10 kinds of people in this world. Those who understand binary and those who don't. We shouldn't assume something's debugged just because everyone in the whole world has access to the source code.
-
I was wondering what people did when starting to design a new feature or a new application for that matter. Do you use something like uml, flow charts, etc or do you just diagram things out on paper? What type of things do you first start designing when starting a new project? Thanks for you comments. :)
There are 10 kinds of people in this world. Those who understand binary and those who don't. We shouldn't assume something's debugged just because everyone in the whole world has access to the source code.
I usually sketch things out on paper. If there's a database backend, I sketch out the database diagram first. then I kinda start mocking up screens to get a feel for what needs to be where My articles www.stillwaterexpress.com BlackDice
-
I was wondering what people did when starting to design a new feature or a new application for that matter. Do you use something like uml, flow charts, etc or do you just diagram things out on paper? What type of things do you first start designing when starting a new project? Thanks for you comments. :)
There are 10 kinds of people in this world. Those who understand binary and those who don't. We shouldn't assume something's debugged just because everyone in the whole world has access to the source code.
Plan plan plan… Paper? Euch….. I hate paper. I always use Visio for my app planning. I have not really found one UML tool that I really like, probably because over the years I have derived my own bastardized notation that is a mixture of UML and some other notations. If I could find a UML tool that did code gen that was NOT priced way outside my range, and allowed me to really tailor the generated code to the way I code I MIGHT use it more. I am interested to see how the new UML tools in VS.NET 2005 will work… My spec documents usually end up to be quite long and quite detailed (include event log entry details and such) so that when I get down to coding things end up being really cut and dry.
George Carlin wrote: "Don't sweat the petty things, and don't pet the sweaty things." Jörgen Sigvardsson wrote: If the physicists find a universal theory describing the laws of universe, I'm sure the asshole constant will be an integral part of that theory.
My Blog[^]
-
I usually sketch things out on paper. If there's a database backend, I sketch out the database diagram first. then I kinda start mocking up screens to get a feel for what needs to be where My articles www.stillwaterexpress.com BlackDice
When designing a new application in a team we usually get together with several laptops and a projecter in the board room. We start by drawing a few ERD diagrams on a white board to further understand how the application will work. Once we feel comfortable with the ERD diagram sometimes we will open Visual Studio and create a few mock screens. These mock screens are sometimes used in our Use Cases to explain the flow of events within the application. In my oppinion a new project should either be started with ERD diagarms or use cases. :)
-
I usually sketch things out on paper. If there's a database backend, I sketch out the database diagram first. then I kinda start mocking up screens to get a feel for what needs to be where My articles www.stillwaterexpress.com BlackDice
BlackDice wrote: I usually sketch things out on paper. You have either large paper or small projects :) What about whiteboard? ... man I'd love to have big whiteboard full of diagrams etc... :cool: yeah and I'd love to work on some big projects :-> Well I have to grow up first... dammned David Never forget: "Stay kul and happy" (I.A.)
David's thoughts / dnhsoftware.org / MyHTMLTidy -
I was wondering what people did when starting to design a new feature or a new application for that matter. Do you use something like uml, flow charts, etc or do you just diagram things out on paper? What type of things do you first start designing when starting a new project? Thanks for you comments. :)
There are 10 kinds of people in this world. Those who understand binary and those who don't. We shouldn't assume something's debugged just because everyone in the whole world has access to the source code.
It depends a great deal on the project you're working on, and the nature of your customers. For a new product, we usually start with some notes on objectives, possible features, an outline of the design etc. This usually happens in a pub or cafe. Once that's done what we do is write a Product Specification which gives an overview of the product in business terms (overview, key design aims, high level features, market considerations, projected pricing etc.). From there where we go depends on the nature and complexity of the product. If there is a signicant number of features or user interface, we'd describe these in a Functional Specification. If the complexity of the product (or the requirements of a contract) warrants it we would also produce a detailed Design Specification. In practice, unless the code is being externally audited or is very complex we tend to skip this step and include an outline design in the Functional Spec (once the development is underway we use Doxygen to generate documentation from it anyway). For a feature the process is as likely to involve amending existing documentation as raising new documents specifically for it. I guess it really depends on complexity and whether you're breaking new ground. Anna :rose: Riverblade Ltd - Software Consultancy Services Anna's Place | Tears and Laughter "Be yourself - not what others think you should be" - Marcia Graesch "Anna's just a sexy-looking lesbian tart" - A friend, trying to wind me up. It didn't work.
-
I was wondering what people did when starting to design a new feature or a new application for that matter. Do you use something like uml, flow charts, etc or do you just diagram things out on paper? What type of things do you first start designing when starting a new project? Thanks for you comments. :)
There are 10 kinds of people in this world. Those who understand binary and those who don't. We shouldn't assume something's debugged just because everyone in the whole world has access to the source code.
A lot depends on circumstances and how detailed a spec I receive. Everything is done on paper to start with. I'll sketch out workflow, ui, database interaction etc. That way I can get a good idea of what the project entails and then I can start mapping the paper concepts to classes, functions, db tables etc. Michael CP Blog [^] Development Blog [^]
-
I was wondering what people did when starting to design a new feature or a new application for that matter. Do you use something like uml, flow charts, etc or do you just diagram things out on paper? What type of things do you first start designing when starting a new project? Thanks for you comments. :)
There are 10 kinds of people in this world. Those who understand binary and those who don't. We shouldn't assume something's debugged just because everyone in the whole world has access to the source code.
Depends on who has the 'vision'. If it's mine then I usually start with UML in Visio (or on paper). If it's the customer's vision, then I have had good results by sitting down with the customer, a pad of unlined paper and a pancil (and an eraser). I get the customer to draw all the screens they can think of, and then explain them to me ('this button will conver the doohicky into a whatchamacallit'). We can quite quickly get all the main use cases down. It is often the case that the customer has an idea, but hasn't really thought through the process. Working things through with them shows them that there may be more to consider and it makes them think more deeply about how they want things to work and all the pitfalls that might arise. I have only done this for small projects so far, but it seems that most customers relate to it pretty well -- non-programmers only see the GUI so that is how they think. Dr Herbie Remember, half the people out there have below average IQs.
-
Depends on who has the 'vision'. If it's mine then I usually start with UML in Visio (or on paper). If it's the customer's vision, then I have had good results by sitting down with the customer, a pad of unlined paper and a pancil (and an eraser). I get the customer to draw all the screens they can think of, and then explain them to me ('this button will conver the doohicky into a whatchamacallit'). We can quite quickly get all the main use cases down. It is often the case that the customer has an idea, but hasn't really thought through the process. Working things through with them shows them that there may be more to consider and it makes them think more deeply about how they want things to work and all the pitfalls that might arise. I have only done this for small projects so far, but it seems that most customers relate to it pretty well -- non-programmers only see the GUI so that is how they think. Dr Herbie Remember, half the people out there have below average IQs.
You ahve my 5 good summary Dr Herbie wrote: Depends on who has the 'vision'. Yes, If it is mine, I jump into a UML diagram (I use the use case and business process diagrams in Sparkx EA product often) and a word document that I use to host screen shots that I have cartooned in visual studio and captured. I know my artistic skills are such that any hand drawn will not be very usable. I do not mind getting old. It beats all the other options that can think of.
-
I was wondering what people did when starting to design a new feature or a new application for that matter. Do you use something like uml, flow charts, etc or do you just diagram things out on paper? What type of things do you first start designing when starting a new project? Thanks for you comments. :)
There are 10 kinds of people in this world. Those who understand binary and those who don't. We shouldn't assume something's debugged just because everyone in the whole world has access to the source code.
Thanks for all of your replies, they have been helpful!! :-D
There are 10 kinds of people in this world. Those who understand binary and those who don't. We shouldn't assume something's debugged just because everyone in the whole world has access to the source code.
-
I was wondering what people did when starting to design a new feature or a new application for that matter. Do you use something like uml, flow charts, etc or do you just diagram things out on paper? What type of things do you first start designing when starting a new project? Thanks for you comments. :)
There are 10 kinds of people in this world. Those who understand binary and those who don't. We shouldn't assume something's debugged just because everyone in the whole world has access to the source code.
The method I'm used to is described in these documents[^]. Tedious, but very clear to all parties. :cool: Boredom, Bull$^%&, Baggage, Bar - all start with 'B'
Coincidence? -
I was wondering what people did when starting to design a new feature or a new application for that matter. Do you use something like uml, flow charts, etc or do you just diagram things out on paper? What type of things do you first start designing when starting a new project? Thanks for you comments. :)
There are 10 kinds of people in this world. Those who understand binary and those who don't. We shouldn't assume something's debugged just because everyone in the whole world has access to the source code.
-
I was wondering what people did when starting to design a new feature or a new application for that matter. Do you use something like uml, flow charts, etc or do you just diagram things out on paper? What type of things do you first start designing when starting a new project? Thanks for you comments. :)
There are 10 kinds of people in this world. Those who understand binary and those who don't. We shouldn't assume something's debugged just because everyone in the whole world has access to the source code.
When i had my previous job (db apps over client server systems) we used to start out from the use-cases - nothing fancy, just used to draw up what the user request is, what facilities it needed for it to be done (UI, new tables, stored procs, queries, etc), make the modifications on the db schema and then start development from the UI moving towards the db. Occasionally i would design an object model to handle some minor tasks Since i changed job and stopped doing db and use-cases work (work is now slightly more technical and server-based), I always start thinking in terms of objects: how concepts should relate/interact with one another, useful containers, memory allocation, libraries, etc. Most of the time i draw up uml diagrams on paper (they are never decent enough the first time round..), build a prototype with frameworks that implement classes i would need, perform heavy unit-testing to make sure that all classes work as they should, and that they clean up properly without leaving any dangling references and stuff (since i work in c++). When i see it is to my liking, i would transplant it into production code and draw up test plans for the qa team to test the whole thing.
-
I was wondering what people did when starting to design a new feature or a new application for that matter. Do you use something like uml, flow charts, etc or do you just diagram things out on paper? What type of things do you first start designing when starting a new project? Thanks for you comments. :)
There are 10 kinds of people in this world. Those who understand binary and those who don't. We shouldn't assume something's debugged just because everyone in the whole world has access to the source code.
Well, at our place my boss will come to me with an idea. He'll say "Andy, can we add a feature to do xyz?". I think to myself for a moment "Yeah, that's possible, give me 2 months to properly plan implement and test it. Should be just fine". I reply "Yeah, should be ok. When do you need it by?". He says "Well, one of the salesmen has sold it to a customer already and has arranged a demo for tomorrow. You better get to work right away" as he disappears into another meeting. Great, thanks! I wasn't told about the real world in university.
-
Well, at our place my boss will come to me with an idea. He'll say "Andy, can we add a feature to do xyz?". I think to myself for a moment "Yeah, that's possible, give me 2 months to properly plan implement and test it. Should be just fine". I reply "Yeah, should be ok. When do you need it by?". He says "Well, one of the salesmen has sold it to a customer already and has arranged a demo for tomorrow. You better get to work right away" as he disappears into another meeting. Great, thanks! I wasn't told about the real world in university.
:) the first reply that comes close to how it is done where i work i did once (in 6+ years) get a "specification document" before starting work. a director said to me on Tuesday "i want this quick and simple program by Friday, i will write up what it has to do". by Friday he had only written up the details of a quarter of the program. needless to say it was not finished by Friday. of course, since the director was breathing down my neck and wanted it instantly i had to start writing the code while he was still trying to work out what the program had to do :| you get quite good at this after a few years practice ;P zen is the art of being at one with the two'ness