Metodology in software development

Hello everybody,
i´m introducing myself in this amazing world, and I have a doubt about how begin a project, I´m a software developer, and I´m a bit confused how to deal with the analisys of software for arduino.
I use to use UML to develop action plan for any proyect, but i feel a bit lost in this arduino world.
the question is: How do you analice y design software in arduino? is it posible to use tools like UML to do this?, is there a specified metodology to design software in microcontrolers?

Any tip on this will be appreciated!

Thanks all!

is it posible to use tools like UML to do this?,

Yes use cases are a useful tool. But UML is all about system design not implementation. In most cases the functions of an Arduino are too restrictive to allow much of projects done here.

The point is that embedded design requires an intimate knowlage of both the hardware and software, a combinations of skills not found in the avrage software person. I have managed both software and hardware engineers and found the software ones are the least flexible and most profligate with both memory and CPU resources. They seem more intent in “doing it correctly “ at the expense of a system that is actually useful.

I had one software engineer design an embedded interface device that was so slow it did not respond instantly to key presses. However it remembered them, stacked them and eventually responded to them. The result was a system where the user pressed something, nothing happened so they pressed it again, then as nothing happened they would press some random buttons and eventually the display would go mad with lots of rapid action. He thought he had done a good job the rest of the team thought it was crap. But he had followed the UML methodology.

Bottom line UML is no substitute for thinking.

Grumpy_Mike:
Bottom line UML is no substitute for thinking.

Thanks for share Mike! I apreciate it.

I´ll keep it in mind,
anyway I´ll keep searching info about the software/hardware development in arduino.

I would think that the range of the work perfromed would dictate what tools to use.

to meausre soil moistire, or if a car is parked in a stall or the height of a water tank, then display that result and maybe turn on a thing. not hard to visualize that.

I would suspect that until one gets extremely advanced, the vast majority of things controlled have less than a dozen types of sensors. (100 cars in a lot would be 1 type of sensor)

brewing beer or running a CNC machine or tracking the sun takes a lot of horsepower, but for really only a few sensors or a few outputs.

if you can put your flow chart, en total, on one page, it would seem that the analysts can be very simple.

Most tasks in a real time system require state machines. Dunno about tools for designing such machines, though, I draw the state change diagrams manually.

Thank you all!,
I´ll do what you said and I´ll get the flow chart, so I can analyse all my outcomes.

Greetings!