Siz Yazılım Tasarım, Geliştirme ve Test Süreçlerinde Ne Yapıyorsunuz?

Başlatan apsis, 30 Ekim 2020, 11:13:53

apsis

Merhabalar,

Yazılımlarım daha çok spagetti kod tarzında oluyor. Düzenli ve dökümante edilebilir bir yapıyı alışkanlık haline getirmek istiyorum.

Uyguladığım yöntemlerle yazılıma bir katman eklemek veya yeni bir projeye başlamak biraz işkence gibi geliyor. Bu yüzden kod yazımından önce kodun tasarımı ve düzenli bir kütüphane yapısına dönüştürüp donanımın üzerine oturtmak istiyorum.

Algoritma tasarımı, state machine vs.

Yeni bir yazılım geliştirmeye başlamadan önce, geliştirme süreçlerinde ve testlerde izlediğiniz yollar ve özellikle araçlar nelerdir?
"Makineye Beyin" MEKATRONİK

Erol YILMAZ

Alıntı yapılan: apsis - 30 Ekim 2020, 11:13:53Yazılımlarım daha çok spagetti kod tarzında oluyor. Düzenli ve dökümante edilebilir bir yapıyı alışkanlık haline getirmek istiyorum.
Birkaç sene sonra bugünkü odaklanma gücünde olamayacağınızı varsayarak kodları evet düzenli hale getirin bence de.

Alıntı yapılan: apsis - 30 Ekim 2020, 11:13:53Uyguladığım yöntemlerle yazılıma bir katman eklemek veya yeni bir projeye başlamak biraz işkence gibi geliyor. Bu yüzden kod yazımından önce kodun tasarımı ve düzenli bir kütüphane yapısına dönüştürüp donanımın üzerine oturtmak istiyorum.
Bu aşamada bir "firmware template" oluşturmak mantıklı görünüyor.

Alıntı yapılan: apsis - 30 Ekim 2020, 11:13:53Algoritma tasarımı, state machine vs.
SuperLoop + State Machine olabilir...
RTOS olabilir...
ama Spagetti olmasın :)

Alıntı yapılan: apsis - 30 Ekim 2020, 11:13:53Yeni bir yazılım geliştirmeye başlamadan önce, geliştirme süreçlerinde ve testlerde izlediğiniz yollar ve özellikle araçlar nelerdir?
Hazırlık aşamasında tasarımın ciddi yol alması gerekiyor.
Pratiğe geçmeden önce teorik altyapıda problem olmaması gerekli.
Talepler net bir şekilde belli mi?
Donanımı yeterince tanıyor muyuz? Yazılım projesi olsa da altyapıda bir donanım var.
Test araçları olarak donanımın debug araçlarını kullanıyoruz.
Microchip'in zayıf olduğu bir konu. ST de de bariz iyi.
Birim testi, hataları bulmak açısından gayet basit ve etkili bir test yöntemi.

apsis

Teşekkür ederim hocam.

Alıntı yapılan: Erol YILMAZ - 30 Ekim 2020, 11:57:49SuperLoop + State Machine olabilir...

Arattırınca bir şeyler çıktı araştıracağım.

RTOS kullanmışlığım var.

Unit test konusunu karşıma çok çıktı hiç denemedim. Bunun için kodların derli toplu bir düzende olması gerekiyor sanırım.

Hali hazırda yazılımlarım fena çalışmıyor aslında. Mesela FOC yazılımım ile beraber freemodbus kullanıyorum. Ancak MODBUS'ı kendim yazmak niyetindeyim. Bunu da düzgün bir yapıyla yazmak istiyorum.

Bu tasarım süreçlerinde tasarıma yardımcı olabilecek kullandığınız programlar nelerdir?
"Makineye Beyin" MEKATRONİK

Erol YILMAZ

Başkasının yazdığı kodları beğenmiyor, endişe ediyor ve illa ki kendi yazdıklarını arıyorsan,
RTOS'u boşverip şu ana kadar yazdığın en iyi çalışan kodlardan bir derleme yapabilir
ve ortaya çıkan "firmware template" i kullanabilirsin.

Böylece bir sonraki projende de aynı veya benzer kodları kullanacağın için hata oranı giderek azalacaktır.