Yazılım mühendisliği

Yazılım geliştirme süreci
Etkinlikler ve adımlar
Gereksinimler | Mimari | Tasarım | Yaşama geçirme | Sınama | Konuşlanma
Modeller
Agile | Cleanroom | Iterative | RAD | RUP | Spiral | Waterfall | XP | Scrum
Supporting disciplines
Configuration management | Documentation | Software quality assurance (SQA) | Project management | User experience design

Yazılım mühendisliği, yazılım geliştirme ile ilgilenen mühendislik dalıdır. Yazılım mühendisliği tanımı ilk olarak 1968 yılında Friedrich L. Bauer tarafından Almanya'da gerçekleştirilen NATO toplantısında gündeme gelmiştir.[1] Ayrıca, matematikçi ve bilgisayar bilimcisi Margaret Hamilton "yazılım mühendisliği" terimini ortaya atan kişilerden biri olarak kabul edilmektedir. Yazılım mühendisliği tanım olarak "karmaşık yazılım sistemlerinin belirli bir hedefe ve sisteme dayalı olarak ve iş bölümü yapılarak, belirli prensipler, yöntemler ve araçlar kullanılarak geliştirilmesidir."

Yazılım mühendisliği belirli aşamalardan oluşmaktadır. Yazılım geliştirmenin yanında yazılımı işletmek de yazılım mühendisliğinin en önemli görevlerindendir. Bu alandaki güncel gelişmeler "Software Engineering Body of Knowledge" (SWEBOK) adlı belgede tarif edilmektedir.

Geçmiş

Yazılım geliştirme aşamaları

Şelale modeli yazılım geliştirme sürecinde kullanılan model türlerinden yalnızca birisidir.

Karmaşık yazılımları geliştirmek ve bakımını yapmak çok masraflı ve zordur. Bu yüzden, yazılımlar yazılım mühendisleri tarafından nizami olarak planlı bir proje şeklinde geliştirilmektedir. Bu nizami geliştirme planına "yazılım geliştirme süreci" (İngilizce: software development process) adı verilmektedir. Yazılım geliştirme süreci, zamanlamaya dayalı, içerik olarak bölünmüş ve görselleştirilmiş aşamalardan oluşmaktadır. Bu sayede yazılım adım adım ve planlı bir şekilde geliştirilmektedir. Bu aşamalar birbirleri ile bağlantılı olarak geliştirilmektedir.

Başlıca yazılım geliştirme aşamaları şunlardır:

Çekirdek aşamalar:

  • Planlama
  • Analiz
  • Tasarım
  • Programlama
  • Test

Destekleyici aşamalar:

  • Talep yönetimi
  • Proje yönetimi
  • Kalite yönetimi
  • Yapılandırma yönetimi
  • Yazılım sunumu
  • Belgeleme
  • Ayrık yapılandırma

Ayrıca bakınız

  • UML
  • Entity-relationship model

Kaynakça

  1. ^ "Fırat Üniversitesi Teknoloji Fakültesi Yazılım Mühendisliği, Prof. Dr. Asaf Varol, 07.09.2010". 15 Eylül 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ağustos 2012. 

Dış bağlantılar

  • Fırat Üniversitesi Teknoloji Fakültesi Yazılım Mühendisliği
  • g
  • t
  • d
Yazılım mühendisliği
Alanlar
Gereksinim çözümlemesi • Yazılım tasarımıProgramlamaBiçimsel yöntemlerYazılım testiYazılım sistemleri • Yazılım dağıtımı • Yazılım bakımı
Kavramlar
Veri modellemeKurumsal mimari • Functional specification • Modelleme dili • Programlama paradigmasıYazılımYazılım mimarisiYazılım geliştirme yöntembilimiYazılım geliştirme süreci • Yazılımın niteliği • Yazılım kalite güvencesi • Yapısal analiz
Yönelimler
Atik • Aspect-oriented • Nesne yönelimli • Ontoloji • Servis odaklı • SDLC
Modeller
Geliştirme modelleri: Atik • Yinelemeli model • RUP • Scrum • Spiral model • Waterfall modelXP • V-Model
Diğer modeller: CMMI • Veri modeli • İşlev modeli • IDEF • Bilgi modeli • Metamodeling • Nesne modeli • Görünüm modeli • UML
Yazılım
mühendisleri
Victor BasiliDennis RitchieKent BeckPeter ChenGrady BoochFred BrooksBarry BoehmBjarne StroustrupWard CunninghamOle-Johan DahlTom DeMarcoEdsger DijkstraMartin FowlerC. A. R. HoareWatts HumphreyMichael A. JacksonIvar JacobsonCraig Larman • James Martin • Bertrand Meyer • David Parnas • Winston W. RoyceJames Rumbaugh • Danese Cooper • Niklaus Wirth • Edward Yourdon
İlgili alanlar
  • g
  • t
  • d
Alt alanlar
Süreçler
  • Gereksinim mühendisliği
  • İşlevsel özellikler
  • Sistem entegrasyon
  • Doğrulama ve onaylama
  • Tasarım yorumu
Kavramlar
Araçlar
İlgili
  • g
  • t
  • d
Matematiksel temeller
Hesaplama teorisi
Algoritmalar ve veri yapıları
Programlama dilleri ve derleyiciler
Eşzamanlı, paralel ve dağıtık sistemler
Yazılım mühendisliği
Sistem mimarisi
Telekomünikasyon ve ağ oluşturma
Veritabanları
Yapay zekâ
Bilgisayar grafikleri
İnsan-bilgisayar etkileşimi
Bilimsel hesaplama
Bilgisayar bilimi, ACM Hesaplama ve Sınıflandırma Sistemi'ne göre farklı konu ve alanlara ayrılabilir.
  • g
  • t
  • d
Elektrik mühendisliği
İnşaat mühendisliği
Kimya mühendisliği
Makine mühendisliği
Disiplinlerarası
Mühendislik dallarıKategori KategoriCommons sayfası Medya
Otorite kontrolü Bunu Vikiveri'de düzenleyin
  • BNE: XX541523
  • BNF: cb11966616k (data)
  • GND: 4116521-4
  • LCCN: sh87007398
  • NDL: 01014113
  • NKC: ph314875
  • NLI: 987007539284805171