Yazılım mühendisliği

Bu makalede Yazılım mühendisliği'in toplumun farklı yönleri üzerindeki etkisi ele alınacaktır. Yazılım mühendisliği ortaya çıkışından bu yana çeşitli alanlarla olan ilgisi nedeniyle araştırmacıların, akademisyenlerin, uzmanların ve genel kamuoyunun ilgisini çekmiştir. Yazılım mühendisliği'in diğer unsurların yanı sıra kültür, ekonomi, teknoloji, politika üzerindeki etkisi, mevcut dünyayı şekillendirmedeki rolünü anlamak amacıyla araştırılacak. Ayrıca Yazılım mühendisliği'in insanların birbirleriyle etkileşim şeklini ve çevrelerinde nasıl faaliyet gösterdiklerini nasıl dönüştürdüğü analiz edilecektir. Bu makale aracılığıyla, Yazılım mühendisliği'e kapsamlı bir bakış sunarak okuyucunun etkisi ve önemi hakkında daha geniş ve net bir bakış açısı elde etmesini amaçlıyoruz.

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:

Destekleyici aşamalar:

Ayrıca bakınız

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.