BMH-405 YAZILIM MÜHENDİSLİĞİ

Benzer belgeler
YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER

YAZILIM MÜHENDİSLİĞİ TEKNOLOJİ FAKÜLTESİ / BİLGİSAYAR MÜHENDİSLİĞİ

YAZILIM MÜHENDİSLİĞİNE GİRİŞ

MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR

BMH-405 YAZILIM MÜHENDİSLİĞİ

BMH-405 YAZILIM MÜHENDİSLİĞİ

Yaz.Müh.Ders Notları #4 1

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

Yaz.Müh. Ders Notları 1

Yaz.Müh. Ders Notları 1

Yaz.Müh. Ders Notları 1

NESNEYE YÖNELİK ÇÖZÜMLEME SÜRECİ

Yazılım Nedir? Yazılım Mühendisi. Yazılım Mühendisliği. ACM/IEEE Etik Kodu. Etik Kural için Önsöz BIL 304 YAZILIM MÜHENDİSLİĞİ

Yaz.Müh. Ders Notları 1

Yazılım Mühendisliği 1

YAZILIM YAŞAM DÖNGÜSÜ VE YAZILIM GELİŞTİRME SÜREÇLERİ

Y I L D I Z T E K N I K Ü N İ V E R S İ T E S İ MÜHENDİSLİĞİ

BMH-405 YAZILIM MÜHENDİSLİĞİ

SİSTEM ANALİZİ VE TASARIMI

Yaz.Müh. Ders Notları 1

Yaz.Müh.Ders Notları #1 1

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta. Bakım

Yaz.Müh. Ders Notları 2

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

YZM 2108 Yazılım Mimarisi ve Tasarımı

BMH-405 YAZILIM MÜHENDİSLİĞİ

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü

Yaz.Müh.Ders Notları #3 1

STİK K KURULTAYI YAZILIM LOJİST STİĞİ

Yazılım profesyonelleri için önemli olan yetkinlikler anketi Survey

BLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR Yrd. Doç. Dr. Nesrin AYDIN ATASOY GENEL BİLGİLER

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

design)1980li ve 1990lıyıllar Birleştirilmiş Modelleme Dili (Unified Modeling Language-(UML) yazılım geliştirme araçlarının temelidir.

Sistem ve Yazılım Nedir?

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 8.Hafta. Yazılım Doğrulama ve Geçerleme

Büyük Ölçekli Bir Sistem Projesinde IBM Rational Jazz Platformu Kullanarak Çevik Süreçlerin Uygulanması. Serap Bozbey

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

YAZILIM KAVRAMINA BİR BAKIŞ. Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları

Profesyonel, verimli, yenilikçi sistemler...

1.Yazılım Geliştirme Metotları 1

Eylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu.

Kurumsal bilgiye hızlı ve kolay erişim Bütünleşik Belge Yönetimi ve İş Akış Sistemi içinde belgeler, Türkçe ve İngilizce metin arama desteği ile içeri

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği II (BIL 306)

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

Bilgisayar Sistemleri; donanım, yazılım ve kullanıcılardan oluşur. Yazılım sadece belirli bir işlemi yapan bir program değildir. Yazılım belirli bir

Lojistik ve Taşımacılık Sektöründe Yeni Hizmet Modeli. Lojistik ve Taşımacılık Sektöründe Yeni Hizmet Modeli

Yazılım Geliştirme Projelerinde Kontrolörlük / Müşavirlik Hizmetleri. Y.Müh. Kadriye ÖZBAŞ ÇAĞLAYAN, PMP Y.Müh. Ahmet DİKİCİ, PMP

Yazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü. Cengiz GÖK

SENTEZ TABANLI YAZILIM MİMARİSİ TASARIM YAKLAŞIMININ ESSENCE ÇERÇEVESİYLE MODELLENMESİ

BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ

Yaz.Müh.Ders Notları #6 1

BÖLÜM 1 YAZILIM TASARIMINA GİRİŞ YZM211 YAZILIM TASARIMI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi

Document Title Issue Date R21.00 Form 01 24/07/2014

Yazılım Mühendisliği Bölüm - 3 Planlama

CMMI ve Çevik Yöntemler

SİSTEM MÜHENDİSLİĞİ TASARIMIN SENTEZLENMESİ II

9.DERS Yazılım Geliştirme Modelleri

Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları

Yazılım Geliştirme Genel Tanımlar

NESNEYE YÖNELİK TASARIM SÜRECİ

Bölüm 2 Yazılım Süreçleri. Ders 1

Ders Adı : Nesne Tabanlı Programlama-I Ders No : Teorik : 3 Pratik : 1 Kredi : 3.5 ECTS : 4. Ders Bilgileri.

YMT 505-Yazılım Proje Yönetimi Giriş- Temel Kavramlar

TEDARİK ZİNCİRİ YÖNETİMİ

YAŞAR ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ

Yazılım Geliştirme Modeli ve Mimariler. Bilgisayar Programcılığı Ön Lisans Programı YAZILIM MİMARİLERİ. Öğr. Gör. Yüksel KARAMAN

X. Çözüm Ortaklığı Platformu

BM208- Nesneye Dayalı Analiz ve Tasarım. Öğr. Grv. Aybike ŞİMŞEK

TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI

4. YAZILIM PROJELERİ YARIŞMASI REHBERİ ÖNSÖZ

DIŞ TİCARET ve TESLİM ŞEKİLLERİ

BLG Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

Yazılım Süreçleri Software Processes

CMMI. CMMI ve Çevik Yöntemler. Orhan KALAYCI Haziran Yazılım Süreç Kalitesi ve Yönetim Danışmanlığı.

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

AS400'de Hızlı Modernizasyon

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017

Çok İşlemcili Yapılarda Sinyal İşleme Yazılımlarının Geliştirilmesi Uygulaması. Sinan Doğan, Esra Beyoğlu

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

O T O M A S Y O N P A R T N E R İ N İ Z C O F A S O. T A S A R I M G E L İ Ş T İ R M E Ü R E T İ M K O M P L E S Ü R E Ç M Ü H E N D İ S L İ Ğ İ

Yazılım Mühendisliği Bölüm - 3 Planlama. Cengiz GÖK

ModulA. Daha da fazlasını ister misiniz? Pompadan daha fazlası

Bu rapor, belirtilen bölümlerden sadece 6 veya 7 tanesine sahiptir.

ÇEVİK YAZILIM GELİŞTİRME AGILE KEEP IT SIMPLE

Sağlık Bilgi Teknolojileri ve Yazılım Süreç Yönetimi

SÜRDÜRÜLEBİLİR İNŞAAT CE İngilizce. Lisans. Kısıtlı Seçmeli. Yard. Doç. Dr. Özgür Köylüoğlu DERS BİLGİLERİ

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

SOFTWARE ENGINEERING PRACTICE Ders İzlence Formu. Kodu: CSE401 Dersin Adı: SOFTWARE ENGINEERING PRACTICE Toplam Saat

YMT 312-Yazılım Tasarım ve Mimarisi Yazılım Mühendisliği ne Giriş

TÜRKSAT UYDU HABERLEŞME KABLO TV VE İŞLETME A.Ş. İŞÇİ STATÜSÜNDE PERSONEL ALIM İLANI (Bilişim Hizmetleri)

Kurumsal Mimari. (Enterprise Architecture) MUSTAFA ULUS, 2015

Mühendislik ve Bilgisayar Bilimleri Fakültesi Yazýlým Mühendisliði

Dönüşüm Odaklı Proje Yönetimi

Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal Mimari: Model Güdümlü ve Ontoloji Tabanlı Bir Yaklaşım

VERİ TABANI PROGRAMCILIĞI DALI

İşinizi Yönetmenin En Kolay Yolu!

Transkript:

BMH-405 YAZILIM MÜHENDİSLİĞİ Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği musa.ataş@siirt.edu.tr Ref list: Dr. Yunus Emre SELÇUK, Dr. Sadık EŞMELİOĞLU, Dr. Erhan SARIDOĞAN

Yazılımı Etkileyen Faktörler Yaygınlaşan Bilgi-İşlem : Hesaplama gücünün giderek küçülen alanlara sıkıştırılabilmesi, bilişimin günlük yaşantımızla daha kolay bütünleşmesine olanak sağlıyor. Yaygınlaşan Haberleşme Ağı : Kablosuz ağların yaygınlaşması, bilişimin günlük yaşantımızla daha kolay bütünleşmesine olanak sağlıyor. Özgür / Açık Kaynak Yazılım : Geliştirilen yazılım, daha anlaşılır ve geliştirilebilir olmalıdır. Ayrıca: Takım çalışması zorunluluğu Küreselleşme Ekonomik krizler de yazılımı etkileyen faktörlerdendir.

Müşteri Açısından Yazılım Hakkında Yanılgılar Programın yazılmasına başlanması için amaçları genel olarak belirlemek yeter, ayrıntılar sonra kararlaştırılabilir. Nasıl olsa yazılım esnektir. Belirsiz gereksinimler, çürük atılmış temele benzer. Yazılım esnektir. Değişen gereksinimler kolayca sisteme uyarlanabilir. Yazılım yaşam döngüsünde ilerledikçe, değişen gereksinimleri yazılıma uyarlamanın bedeli üstel olarak artar. Sonuç: Yazılım esnek bir oyun hamurundan çok kil veya cam gibidir. Çevik süreçlerle esnekliğin arttırılması hedeflenmektedir.

Programcı Açısından Yazılım Hakkında Yanılgılar Yazılımı tamamlayıp müşteriye teslim edince işimiz biter. Yazılım üstünde harcanan çabanın yarısından fazlası, yazılımın müşteriye ilk teslimatından sonra harcanmaktadır. Yazılımı tamamlamadan kalitesini ölçemem. Kalite güvence yöntemleri yazılım hayat döngüsünün her aşamasında uygulanabilir. Çözümleme sürecinde dahi kullanılabilecek kalite ölçütleri bulunmaktadır. Yazılım eşittir program. Gereksinim analizi başlı başına bir emektir. Dokümantasyon ve sınama çalışmalarını da unutmayın! Bazı durumlarda entegrasyon çalışmaları da gerekmektedir. Yazılım mühendisliğinin gereklerini uygulayarak boşuna çaba harcıyoruz. Haritası olmayan yolunu kaybeder. Kalite için harcanan çaba, karşılığını yazılım hayat döngüsünün ilerleyen aşamalarında fazlasıyla ödeyecektir. Küresel ölçekte yazılım projelerinin %50'si başarısızlığa uğramaktadır.

İdari Açıdan Yazılım Hakkında Yanılgılar İşler yetişmiyorsa takıma yeni programcılar ekleriz. Yazılım hayat döngüsü içerisinde ilerledikçe, yeni elemanların yazılıma hakim olması üstel olarak zorlaşır. İşler daha da gecikir. Geliştirmesini üstlendiğim yazılımı tamamen veya kısmen fason yaptırırım. Proje ilerlemesini kendi içinde denetleyemeyen bir firma, dışarıya verdiği işi izlemekte de zorlanacaktır. Açık kaynak yazılım üretirsem kar edemem. Danışmanlık hizmetleri ile kar edilebilir. Başka iş modelleri de vardır.

Yazılım Süreçlerinin Genel Adımları Çözümleme (Analysis) Tasarım (Design) Gerçekleme (Implementation) Sınama (Testing) Bakım (Maintenance)

Yazılım Geliştirme Adımları Efor Yüzdeliği

Çözümleme (Analysis) Çözümleme: Bir şeyi anlayabilmek için parçalarına ayırmak. Gerçeklenecek sistemi anlamaya yönelik çalışmalardan ve üst düzey planlama eylemlerinden oluşur. Uygulama alanı Kullanıcı gereksinimleri Program parçaları arasındaki üst düzey ilişkiler ve etkileşimler (NYP'deki parçalar: sınıflar ve nesneler) Bir sorunu anlamadan çözemezsiniz. Bu bölüm kendi içerisinde Problem Definition (Problemi Tanımlama) ve Requirement Specification (Gereksinim Belirtimi) alt alanlarına ayrılır ve bu alt alanlarda da çok ciddi çalışma yapmak gerekebilir.

Tasarım (Design) ve Gerçekleme (Implementation) Tasarım: Bir araştırma ve/veya geliştirme sürecinin çeşitli dönemlerinde izlenecek yol ve işlemleri tasarlayan çerçeve. Çözümleme ile anlaşılan sorun tasarım aşamasında kağıt üzerinde (!) veya arayüzde çözülür. Yazılım Tasarıma yönelik şemalar (NYP'de bazı tür UML şemaları), elektronik devre şemaları, mimari kat planları GERÇEKLEME Eldeki tasarım, bir programlama dili ile kodlanır.

Sınama (Test) Sınama neden önemlidir? Yazılım sürecinde ilerledikçe, ortaya çıkabilecek hataların giderilme maliyeti üstel olarak artar. Hataların büyük çoğunluğunun kökenleri isteklerin belirlenmesi ve tasarım aşamalarındaki sorunlara dayanır. Bu yüzden: Erkenden, sık sık ve kolay sınama yapın. Test çeşitleri hakkında daha detaylı bilgi için http://www.orhanyener.net/yazilim-testi-2/yazilim-test-cesitleri/ bakınız.

Bakım (Maintenance) Yazılımın faaliyete geçirilmesinden sonra sistemde yapılan değişikliklerdir. Yazılım hatalarının düzeltilmesi: Kodlama hataları Tasarım hataları (!) Gereksinim ve analiz hataları (!!) Sistemin işlevlerini değiştirme veya işlevlere eklemeler/çıkarmalar, Yazılımın farklı bir ortama taşınması (programlama dili, işletim sistemi, donanım, iklim, vb.) (porting)

Bakım (Maintenance) Yeniden mühendislik (Refactoring / Software re-engineering) Teknik bakış açısı: Yazılımın işlevini değiştirmeden iç yapısını değiştirmek. Olası eylemler: Yazılımın belgelendirilmesi Tasarımın iyileştirilmesi/değiştirilmesi Yazılımın farklı bir ortama taşınması