İçeriğe atla

Yazılım tasarımı

Yazılım tasarımı, bir sorunun yazılım çözümü için, sorun giderme ve planlama aşamasıdır. Yazılımın özellikleri kararlaştırıldıktan sonra yazılım geliştiricileri sorun için bir çözüm geliştirir. Bu aşama mimarisel görünüm kadar, alt düzey algoritma gerçeklemeyi de içerir. Yazılım tasarımı için programlamanın ilk aşaması da diyebiliriz. Programlama işlemine başlamadan önce mutlaka ön çalışma yapmak ve programın nasıl işleyeceğini ortaya koymak gerekir. Programlama makine dili veya yüksek seviyeli bir programlama dili kullanılarak yapılır.

Yazılım tasarımında bazı etmenler göz önünde bulundurulur. Bunlardan bazıları:

  • Pazarlanabilirlik
  • Kullanılabilirlik
  • Paketleme
  • Genişletilebilirlik
  • Güvenilirlik
  • Bakım kolaylığı
  • Uyumluluk
  • Yeniden kullanılabilirlik

Modelleme dili

  • Business Process Modeling Notation (BPMN)
  • EXPRESS and EXPRESS-G (ISO 10303-11)
  • Extended Enterprise Modeling Language (EEML)
  • Akış diyagramı
  • Fundamental Modeling Concepts (FMC)
  • IDEF
  • Jackson Structured Programming (JSP)
  • LePUS3
  • Unified Modeling Language (UML)
  • Alloy (specification language)
  • Systems Modeling Language (SysML)

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">C♯</span> programlama dili

C#; Microsoft tarafından .NET Teknolojisi için geliştirilen modern bir programlama dilidir. Sözdizimi C-like bir deneyim sunar.

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

<span class="mw-page-title-main">Yazılım</span> bilgisayarın somut olmayan çalıştırılabilir bileşeni

Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik aygıtların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır.

Tasarım desenleri, tasarım kalıpları, tasarım örüntüleri veya tasarım şablonları, çok rastlanan, birbirine benzer sorunları çözmek için geliştirilmiş ve işlerliği kanıtlanmış genel çözüm önerileridir.

Objective-C, C'nin üzerine yazılmış, yansımalı, nesne yönelimli bir programlama dilidir. ObjC, Objective C ve Obj-C olarak da anılır.

<span class="mw-page-title-main">Nesne yönelimli programlama</span> nesne kavramına dayalı programlama paradigması

Nesne yönelimli programlama veya kısaca NYP, Her işlevin nesneler olarak soyutlandığı bir programlama yaklaşımıdır. NYP destekleyen programlama dilleri yüksek seviye diller olarak adlandırılır.

<span class="mw-page-title-main">Brian Kernighan</span>

Brian Wilson Kernighan, Kanadalı bilgisayar bilimcisidir.

<span class="mw-page-title-main">IBM Db2</span> IBM tarafından geliştirilmiş ilişkisel veritabanı yönetim sistemi

IBM DB2, IBM tarafından geliştirilmiş ilişkisel veritabanı yönetim sistemidir. Unix başta olmak üzere Linux, IBM i, Z/OS ve Windows sunucularında çalışır. IBM, DB2'nin yanı sıra bir başka veritabanı yönetim sistemi(RDBMS) olan Informix'i de 2001 yılında satın almıştır.

Donanım tanımlama dili veya DTD, elektronik devrelerin tanımlanması amacıyla kullanılan herhangi bir bilgisayar dilinin sınıfına verilen addır. Donanım tanımlama dili, devrenin yürüttüğü işlemi, tasarımını ve benzetim (simülasyon) yoluyla doğrulamasını gerçekleştirebilir.

Betik dili, betik yorumlamak için yazılmış özel çalışma-zamanı sistemlerinin yorumlayabileceği programlama dilleridir. Diğer programlama dilleri ile yazılan kodlar makine koduna çevrilip çıkan program doğrudan çalıştırılırken betik kodları interpreter tarafından doğrudan okunur ve yorumlanarak işlemler yorumlayıcının kendisi tarafından yapılır.

Ruby, nesneye yönelik, dinamik, reflektif ve esnek bir programlama dilidir. Ruby dili, Yukihiro Matsumoto tarafından Japonya'da tasarlanmaya ve geliştirilmeye başlanmıştır.

Servis odaklı mimari veya hizmet yönelimli mimari, bilgisayarda sistemlerin işlevselliklerini iş süreçleri etrafında gruplaştırarak sistem geliştirmesi ve bütünleştirilmesinde yol gösteren bir yazılım tasarımı felsefesidir. HYM altyapısı, iş süreçlerine katılan değişik yazılım uygulamalarının birbirleriyle haberleşmek üzere yazılmamış olmalarına rağmen veri alışverişinde bulunmalarını sağlar. Hizmet yönelimi, hizmetlerin işletim sistemleri, programlama dilleri ve diğer teknolojik ayrıntılarla ancak gevşek bir bağ oluşturmasını hedeflenmektedir. HYM, geliştiricilerin başka kullanıcılar tarafından kullanılması amacıyla bir iletişim ağı üzerinden sundukları işlevleri ayrı birimlere ya da hizmetlere böler. Bu hizmetler birbirleriyle veri alışverişiyle veya aralarındaki etkinliği birden fazla hizmet arasında eşgüderek haberleşirler. Birçok yorumcu HYM kavramını eski kavramlar üzerine inşa edilmiş ya da daha eski dağıtık hesaplama kavramlarından geliştirilmiş olduğunu ileri sürerler.

Microsoft Visual Studio, Microsoft tarafından geliştirilen bir tümleşik geliştirme ortamıdır (IDE). Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework ve Microsoft Silverlight tarafından desteklenen tüm platformlar için yönetilen kod ile birlikte yerel kod ve Windows Forms uygulamaları, web siteleri, web uygulamaları ve web servisleri ile birlikte konsol ve grafiksel kullanıcı arayüzü uygulamaları geliştirmek için kullanılır.

Programlama paradigmaları, programlama dillerini özelliklerine göre sınıflandırmanın bir yoludur. Diller birden fazla paradigma içinde sınıflandırılabilir.

Bilgi işlem platformu, bir uygulama yazılımı çalıştırmak için donanım mimarisi ve bir yazılım çerçevesi, yazılım, çeşitli bazı kombinasyon veya sıralamalarını içermektedir. Tipik platformlarda bir bilgisayar mimari, işletim sistemi, programlama dilleri ve ilgili kullanıcı arabirimi içerir.

<span class="mw-page-title-main">Kullanıcı arayüzü tasarımı</span> Makineler ve yazılımlar için kullanıcı arayüzü tasarımı

Arayüz tasarımı, bir hizmeti sunan sistem ile kullanan sistem (kullanıcı) arasında bir iletişim ve etkileşim köprüsü görevi gören kullanıcı arayüzlerinin tasarımı ile ilgili tasarım disiplinidir.

Swift, Apple tarafından iOS ve macOS platformlarına iOS ve Mac uygulamaları geliştirmek için oluşturulan, derlenerek çalışan güçlü ve kullanımı kolay, nesne yönelimli bir programlama dili.

<span class="mw-page-title-main">Grady Booch</span> Amerikalı yazılımcı

Grady Booch, Ivar Jacobson ve James Rumbaugh ile Birleşik Modelleme Dili'ni (UML) geliştirmesiyle tanınan Amerikalı bir yazılım mühendisidir. Yazılım mimarisi, yazılım mühendisliği ve işbirliğine dayalı geliştirme ortamlarındaki yenilikçi çalışmaları ile uluslararası alanda tanınmaktadır.

James E. Rumbaugh, Nesne Modelleme Tekniği ve Birleşik Modelleme Dilini (UML) oluşturmadaki çalışmaları ile tanınan Amerikalı bir bilgisayar bilimcisi ve nesne yönelimli metodologdur.