Hizmetlerimiz

Tümleşik Yazılım Tasarımı


Tümleşik yazılım, üzerinde çalıştığı donanım ile birebir karmaşık bir iletişim içinde olan bir yazılım türüdür. Kısıtlı kaynakları olan donanım üzerinde sınırlı sayıda işlevsellik içermek üzere tasarlanır. Tasarım mühendisleri, bir yandan ürünün boyutlarını küçültmek ve maliyetini düşürmek, öte yandan da güvenilirliğini ve verimliliğini en üst düzeye çıkarmak gibi birbiriyle çelişen iki hedefe birlikte ulaşmak durumundadır. Tasarımımız olan ürünlerin tümü bu türden olduğu içindir ki, bu konu uzmanlık alanlarımızdan birisi haline gelmiştir.

Global Power olarak, kullandığımız yazılım geliştirme proje yönetimi araçları sayesinde, yazılım geliştirme ekibimizin verimli ve etkin çalışmasını sağlamaktayız.

Yazılım geliştirme süreçlerimizde iki altın kuralın uygulanmasına özen gösteririz :

  1. KISS ( Keep It Simple & Stupid - Basit ve [hataya yer vermeyecek kadar] aptal olsun ).
  2. Olabildiğince basit yap, ama daha basit olmasın ( A. Einstein ).

Yazılımlarımızda C dilini kullanırız. Zorunlu haller dışında, Assembly dili kullanmaktan sakınırız.

Yazılım geliştirme yöntemimizde ilk adim, kullanıci isteklerini yazılımın yerine getirmesi gereken temel işlevselliğe dönüştürmektir. Yazılımın ana çerçevesini belirledikten sonra gerçek zamanlı çalışması gereken bileşenleri tanımlarız. Yazılım tasarımımız modüler ve yeniden kullanılabilir bileşenler üzerine kuruludur. Gerek yazılım, gerek donanım tasarım ve geliştirme süreçlerimiz arasında deneme doğrulama süreçlerimiz çerçevesinde sürekli bir bilgi alışverişi bulunmaktadır.

Yazılım geliştirme aşamasında izlediğimiz klavuz ilkelerimiz şu şekilde özetlenebilir :

  1. Karmaşık olmayan bir tasarıma erişmek.
  2. Arayüzleri yoruma yer bırakmayacak şekilde tanımlamak.
  3. Bir işleve birden fazla görev yüklememek.
  4. Büyük ve karmaşık işlevleri küçük ve basit işlevlere indirgemek.
  5. Modüler ve yeniden kullanılabilir bileşenler gerçekleştirmek.
  6. Kritik zamanlama gerektiren durumlarda yoklama yapmaktan sakınmak.
  7. Kolay anlaşılır açıklayıcı hata mesajları kullanmak.
  8. Yazılım içerişine anlaşılır ve güncel açıklamalar yerleştirmek.
  9. Yapısal programlama teknikleri kullanarak go to komutundan sakınmak.
  10. Donanımın yeterliklerini ve becerilerini iyi anlamış olmak.
  11. Olabildiğince yerel değişkenler kullanarak, global değişkenlerden uzak durmak.