ALİ FINDIK Galatasaray Ünİversİtesİ 2015

Slides:



Advertisements
Benzer bir sunumlar
.NET FRAMEWORK -MASAÜSTÜ VE SUNUCU YAZILIMLARI
Advertisements

Kurumsal Talep Yönetim Sistemi İstemci Uygulaması
SGB.NET’İN TEKNİK ALTYAPISI
Yazılım Geliştirme ve Java
Silverlight Daron Yöndem INETA Türkiye Başkanı
UML Unified Modeling Language
BOLOGNA SÜRECİ - EĞİTİM ÖĞRETİM GÜNCELLEME
.NET FRAMEWORK.
İÇİNDEKİLER Hakkında Kod Editörü Hata Ayıklayıcı Tasarımcı
SANAT ÜRÜNLERİ ONLİNE SATIŞ SİTESİ
Web Programlama Kursu Bu kurs ne değildir? Neyi amaç edinmiştir?
Veri ve Veri Yapıları Genel olarak bilgisayarlar.
04/02/10 Django Web Uygulamaları Geliştirmede Çağdaş bir Yaklaşım.
Bilgi Teknolojisinin Temel Kavramları
ÖMÜR BİLGİLİ
ENF 101 TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI
BELGELEME Ian Sommerville, “Software Documentation”,
FRAMEWORK.
Burcu Musaoğlu Data Sistem A.Ş..
Çevre ve Orman Bakanlığı Bilgi İşlem Dairesi Başkanlığı
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
TÜMLEŞİK MODELLEME DİLİ
İSİM UZAYLARI (NAMESPACE).
Mobil Öğrenme m-öğrenme
BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MEZUNLAR GÜNÜ
Veri Tabanı Nedir ?.
Windows Server 2008’e Genel Bakış Microsoft Windows Server 2008, bilgi teknolojileri (BT) uzmanlarının altyapıları üzerindeki kontrollerini maksimum seviyeye.
Microsoft’ta Devrim Visual Studio 2010 Kariyer Üstü Prestij.
Görsel Programlama Dr. Muhammet Balcılar
Açık Ders Malzemelerinde (ADM) Teknik Alt Yapı R. Orçun Madran
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Bilişim Sistemleri Mühendisliği nedir? Neden ihtiyaç vardır?
KOBİ – ŞİRKET PORTALI BİTİRME PROJESİ EMRE UYUMAZ & ANIL GÜR.
Chapter 1: Giriş.
Çevik Metodolojiler mi Geleneksel Metodolojiler mi?
Kurumsal Dünyada Yazılım Geliştirme ve Veritabanı Programcılığı
Erman Yukselturk1 PHP NEDİR? Scripting / Progralama dilidir (C’ye benzer) C ++ ortamında geliştirilmiştir Bedava / Açık Kod Hızlı, açık, dengeli (stable),
Kurumsal Dünyada Yazılım Geliştirme ve Veritabanı Programcılığı
Bilgi Teknolojisinin Temel Kavramları
BIL MOBiL PROGRAMLAMA TEKNiKLERi
BIL MOBiL PROGRAMLAMA TEKNiKLERi
Mobil Uygulama Geliştirme
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
Veritabanı Yönetim Sistemleri - I
Bilgisayar Programcılığına ve Algoritmaya Giriş
Veritabanı Yönetim Sistemleri
KISIM I Matematik Öğretme: Temeller ve Perspektifler
Dosya şifreleme Ftp/Telnet Özelliği Çoklu Pano Desteği Sadece Okuma Modu Otomatik Kod Tamamlama.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Yrd. Doç. Dr. Hidayet Takcı. Ders Hakkında Bu ders; veritabanı tasarım ve uygulama işlevi bir yazılım geliştirme görevi olarak ele alınacaktır. Derste.
Mobil Uygulama Geliştirme Teknikleri
Barış Ceviz Yazılım Geliştiricisi Yazılım, Yazılımcı, Yazılım Dilleri.
Bilgisayar Mühendisliğindeki Yeri
Yazılım Mühendisliği YYurtaY. Ekip çalışması
UNICASE... kapsamlı bir CASE* aracı * UNICASE.
Özgür Yazılım Günleri “Açık Kaynak Test Kütüphaneleri İle Birim Testi Yapmak” Yaşar Safkan.
MOODLE Fuat ÇATALKAYA Uzaktan Eğitim Sistemi.
Asp.Net Veritabanı İşlemleri
haZIRLAYAN: ELİF KARAOĞLU
Web Tasarımı Giriş.
Web Teknolojileri Giriş.
Server Yönetim Programları
Denizli Hackerspace Ailesi
Mobil uygulama geliştirme pelin yıldırım Fatma bozyiğit
Mobil uygulama geliştirme pelin yıldırım Fatma bozyiğit
ONTOLOJİ GELİŞTİRME ALANINDA ÇEVİK YAKLAŞIMLAR
İOS PLATFORMUNDA MOBİL TRAFİK CEZA BİLDİRİM UYGULAMASI
Kütüphan-e Türkiye Projesi BİT Yol Haritası
Genel PHP Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan
VERİ TABANI UYGULAMALARI
Sunum transkripti:

ALİ FINDIK Galatasaray Ünİversİtesİ 2015 Yazılım Mühendisliği ALİ FINDIK Galatasaray Ünİversİtesİ 2015

Yazılım Mühendisliği Nedir? Soru Cevap Yazılım nedir? Bilgisayar programları ve onlarla ilgili dokümantasyondur. Yazılım ürünleri belli bir alandaki belli bir müşteri için de üretilebilir, genel pazar kullanımı için de üretilebilir. İyi bir yazılımın özellikleri nelerdir? İyi bir yazılım, gerekli fonksiyonları yerine getirmeli, müşterinin talep ettiği performans kriterlerini sağlamalı, yenilenebilir, güncellenebilir ve tekrar kullanılabilir olmalıdır. Yazılım mühendisliği nedir? Yazılım mühendisliği yazılım üretimiyle doğrudan ilişkili olan tüm alanlar üzerine geliştirilmiş bir mühendislik disiplinidir. Temel yazılım mühendisliği aktiviteleri nelerdir? Yazılım spesifikasyonları, yazılım geliştirme, yazılım doğrulaması ve yazılımın evrilmesi.

Bir Yazılım Projesi Nasıl Başlar? Müşteri talep eder veya müşterinin talebi oluşturulur Büyük ölçekli projeler Küçük ölçekli projeler Mevcut projeler üzerinde güncelleme Genel pazara açık projeler

Proje Planı Ana Başlıklar: Zorluklar: Kapsamın belirlenmesi İş gücünün belirlenmesi Bütçenin belirlenmesi Zaman planı Zorluklar: Zamanlama problemleri Teknik öngörüler Risk değerleri

RSD (Requirement Specifications Document) Hazırlama Requirements (İsterler) Fonksiyonel Tanımlamalar (Davranışsal) Fonksiyonel Olmayan Tanımlamalar Proje Bazlı Talepler Tasarımsal Talepler Kalite Talepleri Performans Kriterleri Test Tanımlamaları Kullanılabilecek Diyagramlar Flowchart, Use case, Sequence, Activity … RSD Örnekleri

RSD (Requirement Specifications Document) Hazırlama - 2 RSD’yi kim hazırlar? İş analistleri Hem yazılımcının hem de müşterinin dilinden anlayan herhangi bir kişi Müşterinin kendisi Yazılımcının kendisi  İyi bir RSD Mümkün olduğunca kısa ve açık olmalı Müşteri tarafından anlaşılmalı Geliştirilebilir ve esnek olmalı Versiyonla takip edilmeli Tasarımdan bağımsız olmalı

DSD (Design Specifications Document) Hazırlama DSD Ne İçerir? Yazılım Dilleri, Platformları, Gerekli Kütüphaneler Kullanılacak Yazılım Araçları Veri Tabanı İhtiyaçları Geliştirme Yöntemleri Donanımsal İhtiyaçlar ve Sistem Gereksinimleri Sistem ve Alt Sistem Mimarileri Teknik Şemalar Test tasarımı Kullanılabilecek Diyagramlar Class, Object, Flow Chart, State Chart, Activity … DSD Örnekleri

DSD (Design Specifications Document) Hazırlama - 2 DSD’yi kim hazırlar? Yazılımcı Sistemci Yazılımcının yöneticisi Müşteri İyi bir DSD Kısa ve öz olmalı Tutarlı ve net olmalı Yaratılacak sistemi tamamıyla ifade etmeli Şüpheli veya çelişkili kavramlar içermemeli Geliştirilebilir ve esnek olmalı Versiyonla takip edilmeli

Test Süreçleri Hakkında Manuel test Otomatik test Waterfall eğilimli projelerde test Döngüsel (Iterative) projelerde test döngüleri Yazılımcı ile test mühendisi arasındaki çatışma Testçiye göre yazılımcı hatasıdır Yazılımcıya göre hatalı test edilmiştir

Kurulum, Eğitim, Bakım ve Destek Süreci Yazılım yüklemeleri ve sistem kurulumları Teknik dokümantasyon ve kullanım kılavuzu Kullanıcı eğitimi ve yaşanan zorluklar Değişim direnci Gelişen teknolojiler ve güncellemeler Sürekli bakım ve destek hizmeti

1. Web Yazılımları ve Script Dilleri Yaygın Kullanılan Dil ve Teknoloji Örnekleri : HTML 5 CSS 3 Javascript PHP Python Ruby JavaServer Pages (JSP) JavaServer Faces (JSF) Windows Communication Foundation (WCF) Actionscript ... Yaygın Geliştirme Ortamları : Netbeans Eclipse Adobe Dreamviewer Microsoft Visual Studio Aptana ...

2. Fonksiyonel Programlama Yaygın Kullanılan Dil ve Teknoloji Örnekleri : C ve C++ Python Perl Pascal Delphi Fortran ... Yaygın Geliştirme Ortamları : Microsoft Visual Studio Eclipse Aptana Netbeans ...

3. Masaüstü Uygulamaları Yaygın Kullanılan Dil ve Teknoloji Örnekleri : Windows Forms Windows Presentation Foundation (WPF) Java Windows Services Objective C, Swift ve Mac uygulamaları ... Yaygın Geliştirme Ortamları : Microsoft Visual Studio Eclipse XCode Netbeans ...

4. Mobil Uygulamalar Yaygın Kullanılan Dil ve Teknoloji Örnekleri : Java (Android) Objective C, Swift (IOS) Windows Phone SDK ... Yaygın Geliştirme Ortamları : Eclipse Netbeans Microsoft Visual Studio Xcode ...

5. Veri Tabanları Yaygın Kullanılan Dil ve Teknoloji Örnekleri : Oracle Microsoft SQL Server Öicrosoft Access MySQL PostgreSQL MongoDB IBM DB2 SQLite ...

Yazılım Mühendisleri İçin Çalışma Alanları İş Analistliği Yazılım Geliştirme Yazılım Tasarımcılığı Test Mühendisliği Veri Tabanı Uzmanlığı Yazılım Dokümantasyon Uzmanlığı Yazılım Proje Yönetimi

Genel Düşünceler ve Özet Doğru alanı seçme Tasarımın ve planlamanın önemi Yenilenebilir yazılım kavramı İnsan faktörünün etkisi Güncel yazılım teknolojilerini takip etme