Win a copy of Head First Go this week in the Go forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Bear Bibeault
  • Paul Clapham
  • Jeanne Boyarsky
Sheriffs:
  • Devaka Cooray
  • Junilu Lacar
  • Tim Cooke
Saloon Keepers:
  • Tim Moores
  • Ron McLeod
  • Tim Holloway
  • Claude Moore
  • Stephan van Hulst
Bartenders:
  • Winston Gutkowski
  • Carey Brown
  • Frits Walraven

What is a good simple way to explain the design of your application or the program?  RSS feed

 
Ranch Hand
Posts: 1045
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Before starting with implementation, it is good to create a design of the application or the program. One way I can think of is to draw the flow charts.What is a good simple way to create a simple diagram of your application or program ?
thanks
 
Sheriff
Posts: 13187
219
Android Debian Eclipse IDE IntelliJ IDE Java Linux Mac Spring Ubuntu
  • Likes 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Flow charts are fine, if they depict high-level ideas.  Any drawings you create prior to actually writing any code are probably going to be wrong in some way or another. If not wrong, they will not have nor should they have any kind of detailed information that would lock you into a specific implementation. The best diagrams are the ones that don't have to be changed as the system you are developing evolves. That means that the ideas they depict are sufficiently high-level and abstract as to not be tied to one particular implementation.

I find high-level abstract diagrams are best suited for any kind of ideation and formulation of "theories" about what your software will end up being. However, it's best to treat those diagrams as straw men rather than the actual "design" -- the detailed designs come out when you write tests and code.

Context diagrams, high-level use cases, maybe some high-level architecture diagrams showing the major components involved as squares or rectangles connected by arrows. That's all I would spend any kind of time creating. Also, unless there's a real need to, I wouldn't spend time creating them in electronic form, like in Visio. Whiteboards and napkins will do.
 
Monica Shiralkar
Ranch Hand
Posts: 1045
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

maybe some high-level architecture diagrams showing the major components involved as squares or rectangles connected by arrows. That's all I would spend any kind of time creating



What are these such diagrams known as? I think I will have to read a bit about the rules of using the arrows to connect. Also , I will have to know about when to use square and when to use rectangle.

Is the Whiteboard tool you mentioned same as the below or is it another tool?

https://whiteboard.en.softonic.com/

thanks.

 
Junilu Lacar
Sheriff
Posts: 13187
219
Android Debian Eclipse IDE IntelliJ IDE Java Linux Mac Spring Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You are getting hung up on formality, my friend.  The point of "squares, rectangles, circles, and arrows" is simplicity.  The simpler the notation, the more people can understand them without having to learn too many new things about the notation.

Get some ideas at Scott Ambler's Agile Modeling site: http://www.agilemodeling.com/

I don't even use half of the kind of diagrams he has there and I've gotten by fine with developing enterprise-class applications.

And no, the Whiteboard I referred to is a physical whiteboard, you know the one you use dry erase whiteboard markers on.  The point is again, simplicity.


 
Monica Shiralkar
Ranch Hand
Posts: 1045
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ok, drawing on whiteboard with marker looks good idea.However if I have to show to diagram to someone on email or by sharing the computer screen to verify whether the design looks correct or not then which tool would be good for this simple drawing?

Is there any specific section of this website http://www.agilemodeling.com/  which I should refer to? Everything in this world has reasons and there should be some reason behind when this diagram shows rectangle and when square.

thanks
 
Junilu Lacar
Sheriff
Posts: 13187
219
Android Debian Eclipse IDE IntelliJ IDE Java Linux Mac Spring Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Monica Shiralkar wrote:Ok, drawing on whiteboard with marker looks good idea.However if I have to show to diagram to someone on email or by sharing the computer screen to verify whether the design looks correct or not then which tool would be good for this simple drawing?


Take a picture with your smart phone and send an email.  That's the simplest way.  I use the Microsoft (gag) OfficeLens app which, I must admit, is pretty good at what it does. That's about as "high-tech" as I get.

Regarding reviews, I would encourage you to work more collaboratively with people who have any kind of influence in the decision-making process. If you involve them early and often, then you won't have to take as many pictures. Pictures don't tell you everything that went on during the conversations and when people only see images without the corresponding context of the conversations that happened when those images were taken, then they will make their own assumptions and draw their own conclusions, which are often wrong.
 
Junilu Lacar
Sheriff
Posts: 13187
219
Android Debian Eclipse IDE IntelliJ IDE Java Linux Mac Spring Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Monica Shiralkar wrote:Everything in this world has reasons and there should be some reason behind when this diagram shows rectangle and when square.


Why? And why do you think there has to be? It's just a shape that represents an idea.  If the dimensions don't matter, then it could be a hexagon or triangle.  Don't attach meaning where there doesn't need to be any.  Keep it Simple, Silly (KISS Principle)
 
Junilu Lacar
Sheriff
Posts: 13187
219
Android Debian Eclipse IDE IntelliJ IDE Java Linux Mac Spring Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Monica Shiralkar wrote:Ok, drawing on whiteboard with marker looks good idea


Just make sure they're Dry-Erase markers. Permanent markers are not very whiteboard-friendly. Here's a tip for you though, in case you accidentally use a permanent marker to write on a whiteboard and you don't have any whiteboard cleaning solution handy: just draw over the permanent marker lines with a dry-erase marker followed immediately with a whiteboard eraser or paper towel. The dry-erase marker "ink" has a solvent which makes it easy to erase (it's also the reason for the strong smell these markers have). That's why dry-erase writings become harder to erase the longer they stay on the whiteboard, because the solvent part is more volatile than the ink part and when it evaporates, the dried ink becomes more sticky on the whiteboard surface.
 
Monica Shiralkar
Ranch Hand
Posts: 1045
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


Take a picture with your smart phone and send an email.  That's the simplest way.



Thanks. Is it possible that I can search an online tool where I can do similar to one you suggested using whiteboard with marker?
 
Saloon Keeper
Posts: 5289
143
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You can certainly search for an online tool, but I'm with Junilu on this one: only do it if you absolutely have to. All the reasons I've encountered for using diagramming tools for this purpose were ultimately bad reasons, like "we need something professional looking to show to management", which is as bad a reason as there can be.
 
Greenhorn
Posts: 23
1
Chrome IBM DB2 Netbeans IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Monica,

I like drawing out my ideas using a stylus on my Surface Pro tablet computer and OneNote, from there I can save, edit, email and print.

Took two semesters of Calculus notes (probable 50 pages of notes all together) using the Surface Pro and OneNote, it was way better than a spiral notebook.

Just some though if you have a similar laptop or tablet computer that you can drawn upon.



 
Monica Shiralkar
Ranch Hand
Posts: 1045
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks. If the employee is creating the diagram online then he can do this in office and send. Otherwise he may have to do this at home and then transfer and then send.
 
Monica Shiralkar
Ranch Hand
Posts: 1045
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Get some ideas at Scott Ambler's Agile Modeling site: http://www.agilemodeling.com/



I think out of these the Data Flow Diagarms are the most closest to the simple diagrams I was thinking of using to represent what I am doing and also closest to the kind of diagram you showed as example.
 
Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!