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

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

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

YAZILIM SINAMA TEKNİKLERİ GENEL BİLGİLER

Yazılım Testi (Software Testing)

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

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

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

ç Ş Ş Ç Ü Ğ Ç Ç Ş

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

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

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

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

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

İĞİ ğ ş. ğ ş ğ ğ ğ Ş İ. ş ş. ş ğ ğ. ş ş ğ ş ş ş. ğ ş ş İ İ İ. ş ş

Ç Ü

ı ı ıı Üİİİ Ü ı ı ı ı ı ı ü ı ü

ğ

Ü Ğ Ğ ç ç ç ö ö ö ö ç ç ç Ç Ş

Ü Ü»

ö ü ü ö ö ü ö ü ü ğ ö ç ü Ç ğ ç ç ö ü ç ü ö Ş ğ üç ğ ç ü ö ç ç ç ç ğ ç ü ü ç ö ç ü ç ü ö ğ ç ç ö ç ğ ğ ç ç ö ç ö ü ğ ü Ş Ü Ü ö

Ş Ğ ş Ğ İ Ğ İ ş ş Ü Ü Ş Ü İ ş ş ş

ğ Ü ğ ğ ğ ğ ğ ğ ğ İ ğ ğ ğ İ ğ ğ ğ ğ ğ ğ

ç ç ç Ş ç ç ç Ş ç

Ç Ç Ç Ş İ ğ ğ ğ Ç Ş İ ğ Ç ğ ğ ğ Ç ğ Ş ğ ğ ğ Ç ğ Ş ğ ğ ğ ğ İ ğ İ İ ğ ğ ğ ğ ğ ğ ğ ğ ğ

Ğ Ö Ö Ö Ö Ö Ö Ö Ö

ç ç ç ç ç

İ Ö Ç İ İ İ

Ğ Ö

Ğ Ğ Ü ş ç ş Ç ş ö ş ç ö Ö ş

ö Ö ğ

Ü Ü Ğ Ü Ğ Ü «Ğ Ğ» Ü

Ğ ç ğ ç ç ğ ç ğ ç ç ğ ç ğ ğ ç ç ğ ç ç ğ ç ç ç ğ ç ç ğ ç ç ç İ ğ ğ ğ ç ğ ğ ç ğ ğ ğ ğ ğ ç ç ç ç ğ ç ğ ç ç ğ ğ ç ç ç ğ ğ ç ğ ğ ç ç ç ç İ ğ ç ğ ç ğ ç ç ğ

ç Ğ ç ç ğ ç ç ğ ç ç ç ç ğ ç Ç ğ ç ç ç ğ ç ç ğ ç ç ç ç ç ç ç ğ Ü Ğ Ö ğ ç ğ Ö ğ ğ ğ

Ü Ö Ü Ğ Ğ Ğ Ğ

ö Ş Ç ö ö ö ö ö Ö ö Ö ö Ç ö ö ö Ö Ğ Ğ

Ğ Ğ Ö

Ğ Ö Ğ

Ğ Ö Ğ Ö Ş

Ş ö ö ö ö ö

Ç ö ö ö ö

ö ö Ü Ğ Ş Ğ Ş Ğ Ğ ö ö ö ö Ğ

Ş Ş Ö Ö Ü Ö Ö»

Ğ Ğ» Ş Ş Ğ Ş Ç

ö Ç ş ş ö ç ç ş ş ö ö ö Ç ö ş ş ö

Ğ Ğ Ğ

İ İ Ğ İ İ Ş İ Ö Ş Ş

Ş Ç Ç

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

Pardus Yazılım Testleri ve Hata Takip Sistemi

Yazılım Mühendisliği 1

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

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

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

Bilgisayarda Programlama. Temel Kavramlar

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

ş ş ş ç İ Ü ş ş ş ş ç ç ş ş ş ç ş Ü ç ş ş şç ş ş ş ş ç ş ç ş ç ş ş ç Ş ş İ ş Ş ş İ ç ş

Türk Standartlari Enstitüsü'nün tanımladığı

Bilgi Güvenliği Denetim Sürecinde Özgür Yazılımlar. Fatih Özavcı Bilgi Güvenliği Danışmanı

Özgür Yazılımlar ile VoIP Denetimi. Fatih Özavcı Bilgi Güvenliği Danışmanı

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



ç ç ç ç Ö ç ç Ş ç ç Ç

SELÇUK ÜNİVERSİTESİ KALİTE KOMİSYONU ÇALIŞMA USUL VE ESASLARI BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar

Başarı Değerlendirme YAZILIM. Mühendisliğe Temel Bir Bakış. Yazılım Nedir? BIL 304 YAZILIM MÜHENDİSLİĞİ

COMPUTER AND NETWORK SECURITY Ders İzlence Formu

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

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

1) Programlama dillerinin temel kavramlarını öğrenir. 1,2,4 1

Android e Giriş. Öğr.Gör. Utku SOBUTAY

YAZILIM GÜVENLİK TESTLERİ. H A L D U N T E R A M A N h a l d u n t e r a m a g m a i l. c o m

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

WEB PROGRAMMING Ders İzlence Formu. Kodu: CSE300 Dersin Adı: WEB PROGRAMMING Toplam Saat İngilizce Zorunlu Derse Kabul Koşulları:

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?

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

ABANT İZZET BAYSAL ÜNİVERSİTESİ KALİTE GÜVENCESİ YÖNERGESİ

Görünümler ve Ötesi Yaklaşımıyla Radar Yazılım Mimarisi Dokümantasyonu Tecrübeleri. Ali Özzeybek M. Devrim Tokcan Murat Tuncer

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

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

İSTANBUL AYDIN ÜNİVERSİTESİ KALİTE KOMİSYONU ÇALIŞMA USUL VE ESASLARI. BİRİNCİ BÖLÜM Amaç, Kapsam, Dayanak ve Tanımlar

Web Tabanlı CMMI Süreç Yönetimi Uygulamalarının Süreç ve Yazılım Geliştirme Performansına Pozitif Etkileri

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İ

Programlama Nedir? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir?

Sistem Yazılımının Sınanması ve Geçerlenmesi (SE 344) Ders Detayları

Bilgi Servisleri (IS)

YMH 114 YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ

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

DERS TANIMLAMA FORMU. Proje/Ala n Çalışması

Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing

EGE Üniversitesi Mühendislik Fakültesi Bilgisayar Müh. Bölümü Öğretim Yılı Lisans Tezi Önerileri

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

PROGRAM ÇIKTILARI ÖĞRENME ÇIKTILARI

BİNGÖL ÜNİVERSİTESİ KALİTE KOMİSYONU ÇALIŞMA USUL VE ESASLARI

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

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

Bilgisayar Mimarisi Nedir?

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

Transkript:

Y I L D I Z T E K N I K Ü N İ V E R S İ T E S İ YAZILIM MÜHENDİSLİĞİ Mustafa Yoğurtçu Özgür Kuru

İçerik N E D İ R? T A R İ H Ç E Y A Z I L I M T Ü R L E R İ Y A Z I L I M G E L İ Ş T İ R M E A D I M L A R I M O D E L L E R T E S T L E R

N E D İ R? YAZILIM NEDİR? Herhangi bir boyuttaki herhangi bir tür donanımda çalışan bilgisayar programını ve basılı veya elektronik ortamdaki her tür dokümanı içeren ürün.

N E D İ R? YAZILIM MÜH. NEDİR? Yazılım Mühendisliği; sistemli, düzenli, ölçülebilir bir yaklaşımın yazılım geliştirmede, yazılımın işlenilmesinde ve bakımında uygulanmasıdır.

N E D İ R? YAZILIM MÜH. AMACI NEDİR? Kullanıcı ihtiyaçlarını analiz ederek, uygun çözümler üretebilmek, Kullanıcının belirlediği fakat genelde sürtüşmelere yol açan zaman, maliyet, kullanılabilirlik gibi noktalarda uzlaşma sağlayabilmek, Mühendislik yaklaşımlarını kullanırken etik, sosyal, yasal ve ekonomik ilgileri bütünleştirecek uygun çözümleri tasarlayabilmek,

T A R İ H Ç E İLK ORTAYA ÇIKIŞ Yazılım Mühendisliği terimi ilk kez 1950'lerin sonunda 1960'ların başında görülmeye başlandı. Programcılar zaten inşaat, elektrik ve bilgisayar mühendisliklerini biliyorlardı ve yazılım için mühendisliğin ne olduğunu tartışmaya başladılar.

T A R İ H Ç E İLK ORTAYA ÇIKIŞ NATO Bilim Komitesi, 1968'deki ve 1969'daki Yazılım Mühendisliği üzerine bu alana destek olan iki konferansa (Garmisch, Almanya) destek oldu. Çoğu kişi bu konferansların yazılım mühendisliğindeki resmi başlangıç olduğuna inanır.

Y A Z I L I M YAZILIM TÜRLERİ Sistem Yazılımı : Diğer programlara hizmet sunmak üzere hazırlanmış programlar. Mühendislik Yazılımı / Bilimsel Yazılım : Mühendislik ve bilimsel hesaplamalarda kullanılmak üzere hazırlanmış programlar.

YAZILIM TÜRLERİ Gömülü yazılım: Denetim makineleri ve bilgisayar sayılmayan aygıtlar için yazılmış yazılımlardır. Uygulama Yazılımı: Bilgisayar uygulaması, bilgisayarların çeşitli işlerde kullanılmasını sağlayan, belirli bir bilgisayar mimarisi (i386, PowerPC, Motorola 680x0 vs.) için uygulama geliştirme dilleri (C/C++, Perl, Python, Java vs.) aracılığı ile hazırlanan yazılımdır.

Y A Z I L I M YAZILIM GELİŞTİRME ADIMLARI Çözümleme (Analysis) Tasarım (Design) Gerçekleme (Implementation) Sınama (Testing) Bakım (Maintenance)

Çözümleme B i r ş e y i a n l a y a b i l m e k i ç i n p a r ç a l a r ı n a a y ı r m a k g e r e k l i d i r. G e r ç e k l e n e c e k s i s t e m i a n l a m a y a y ö n e l i k ç a l ı ş m a l a r d a n v e ü s t d ü z e y p l a n l a m a e y l e m l e r i n d e n o l u ş u r.

Tasarım B i r a r a ş t ı r m a v e / v e y a g e l i ş t i r m e s ü r e c i n i n ç e ş i t l i d ö n e m l e r i n d e i z l e n e c e k y o l v e i ş l e m l e r i t a s a r l a y a n ç e r ç e v e. Ç ö z ü m l e m e i l e a n l a ş ı l a n s o r u n t a s a r ı m a ş a m a s ı n d a k a ğ ı t ü z e r i n d e ç ö z ü l ü r.

Gerçekleme E l d e k i t a s a r ı m, b i r p r o g r a m l a m a d i l i i l e k o d l a n ı r.

Sınama T e s t a l t ı n d a h i z m e t l e r i n v e y a ü r ü n l e r i n k a l i t e s i h a k k ı n d a p a y d a ş l a r a b i l g i s a ğ l a m a k i ç i n y ü r ü t ü l e n b i r a r a ş t ı r m a d ı r. Y a z ı l ı m u y g u l a m a l a r ı n ı n r i s k l e r i n i a n l a m a k i ç i n y a z ı l ı m ı b a ğ ı m s ı z v e n e s n e l o l a r a k i n c e l e m e k t i r.

Bakım Y a z ı l ı m ı n f a a l i y e t e g e ç i r i l m e s i n d e n s o n r a s i s t e m d e y a p ı l a n d e ğ i ş i k l i k l e r d i r.

YAZILIM GELİŞTİRME MODELLERİ WATERFALL SPIRAL V-SHAPE ITERATIVE AGILE

WATERFALL B u m o d e l k u l l a n ı l a r a k g e l i ş t i r i l e n u y g u l a m a l a r d a, h e r b i r b ö l ü m a r d ı ş ı k o l a r a k y a p ı l ı r, h e r b ö l ü m d e n s o n r a g e r ç e k l e ş t i r i l e n b ö l ü m ü n s o n u ç l a r ı g ö s t e r i l i r. F a k a t w a t e r f a l l m o d e l u z u n s ü r e l i p r o j e l e r i ç i n u y g u n o l m a m a k l a b e r a b e r, e s n e k l i k s a ğ l a m a m a k t a d ı r. Y I L D I Z T E K N İ K Ü N I V E R S İ T E S İ

SPIRAL B u m o d e l i n t e m e l i n d e, y a z ı l ı m g e l i ş t i r m e s ü r e c i b o y u n c a r i s k a n a l i z i ö n e m l i d i r. B u m o d e l d e, h e r b i r k l a s i k w a t e r f a l l m o d e l i, ç o k s a y ı d a i t e r a s y o n a b ö l ü n ü r v e h e r i t e r a s y o n d a p l a n l a m a y ı v e r i s k a n a l i z i n i i n c e l e r. Y I L D I Z T E K N İ K Ü N I V E R S İ T E S İ

V-SHAPE W a t e r f a l l m o d e l i n e ç o k b e n z e m e k t e d i r, t e m e l f a r k ı o n a y l a m a s a h a s ı v e t e s t i ş l e m i d i r. T e s t l e r e d ö k ü m a n t a s y o n b ö l ü m ü n d e b a ş l a n ı r, i n t e g r a s y o n s ü r e s i n c e, k o d l a m a d a v e y a z ı l ı m ü r ü n ü n t e s t i n i n g e r ç e k l e ş t i r i m i n d e d e v a m e d i l i r. V t a s a r ı m ı, i l e r i y e y ö n e l i k t e s t y a p ı l m a s ı n ı s a ğ l a r. Y I L D I Z T E K N İ K Ü N I V E R S İ T E S İ

ITERATIVE Y a z ı l ı m ş i r k e t i n e, y a z ı l ı m g e l i ş t i r m e d ö n g ü s ü n ü n e r k e n b ö l ü m l e r i n d e h a t a l a r ı n b u l u n m a s ı n a v e ç ö z ü l m e s i n e o l a n a k s a ğ l a y a n b i r m o d e l d i r. B u n d a n d o l a y ı y a ş a m d ö n g ü s ü b i r ç o k p a r ç a y a b ö l ü n ü r v e s ü r e ç l e r i n k o n t r o l ü k ü ç ü k p a r ç a l a r ü z e r i n d e y a p ı l ı r. B u m o d e l s a y e s i n d e, i l k i t e r a s y o n t a m a m l a n d ı ğ ı n d a, y a z ı l ı m ı n b a s i t b i r ü r ü n ü e l d e e d i l i r. Y I L D I Z T E K N İ K Ü N I V E R S İ T E S İ

AGILE T e m e l o l a r a k i t e r a t i v e m o d e l e b e n z e r, i n s a n f a k t ö r ü n ü k u l l a n a r a k g e l i ş t i r m e s a ğ l a r. G e l i ş t i r m e s ü r e c i b o y u n c a, y a z ı l ı m t a k ı m ı n ı n g e r i d ö n ü ş l e r i n d e n y a r a r l a n ı l ı r. Y I L D I Z T E K N İ K Ü N I V E R S İ T E S İ

TESTLER Y A K L A Ş I M T A R Z L A R I N A G Ö R E : B L A C K - B O X T E S T W H I T E - B O X T E S T Y Ü R Ü T Ü L M E S I R A L A R I N A G Ö R E : V E R I F I C A T I O N T E S T S V A L I D A T I O N T E S T S A L F A T E S T B E T A T E S T Y I L D I Z T E K N İ K Ü N I V E R S İ T E S İ

T E S T L E R BLACK-BOX TEST Sınanacak birimin iç işleyişi bilinmez, sadece birimin beklenen girdilere karşı beklenen çıktıları üretip üretilmediğine bakılır.

T E S T L E R WHITE-BOX TEST Sınanacak birimin iç işleyişi bilinmez, sadece birimin beklenen girdilere karşı beklenen çıktıları üretip üretilmediğine bakılır.

T E S T L E R VERIFICATION TESTS Yazılım ekibi tarafından yapılan testlerdir.ürünü kullanacak kişilerin isteklerinin karşılanıp karşılanmadığını test eden etkinliklerdendir. Unit Test: Yazılımın en küçük bileşeninin sınanmasıdır. Integration Test: Unit testi geçmiş işlevlerin (birim) birlikte doğru bir şekilde çalışmasını test eder.

T E S T L E R VALIDATION TESTS Son kullanıcı tarafından yapılan testlerdir. Geçerleme ise ürünün içsel niteliğine ilişkin izleme ve denetim etkinliklerinden oluşur. Alpha Test: Yazılım ekibinin denetiminde kullanıcılar tarafından yapılan testlerdir. Beta Test: Kullanıcıların bağımsız bir şekilde yaptığı testlerdir. Hatalar düzenli aralıklarla yazılım ekibine bildirilir.

DİNLEDİĞİNİZ İÇİN TEŞEKKÜRLER!