YAZILIM PROJESİ YÖNETİMİ

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "YAZILIM PROJESİ YÖNETİMİ"

Transkript

1 YAZILIM PROJESİ YÖNETİMİ Yrd. Doç. Dr. Volkan TUNALI YZM 403 Maltepe Üniversitesi Mühendislik Fakültesi

2 4. BÖLÜM 2 YAZILIM BÜYÜKLÜK ve EMEK KESTİRİMİ

3 Genel Bakış 3 Yazılım büyüklük ve emek kestirimine giriş Yazılımda ölçme Yazılım kestirimi için temeller Yazılım büyüklük kestirim teknikleri - Teknik büyüklük kestirim yöntemleri - İşlevsel büyüklük kestirim yöntemleri Yazılım emek kestirim teknikleri - Algoritmik Olmayan Emek Kestirim Yöntemleri - Algoritmik Emek Kestirim Yöntemleri

4 Giriş 4 Yazılım geliştirme sürecinin başında, büyüklük, emek ve maliyet kestirimleri geliştiricilerin ve yöneticilerin karşılaştığı en önemli problemlerdir. Yazılım proje yönetiminde çok önemli olan ölçme ve bu kavram çerçevesinde yapılanan kestirim yöntemleri aracılığı ile zaman ve işgücü gibi planlamaların yapılabilme gereği açıktır.

5 Yazılımda Ölçme 5 Her yazılım projesinin temel hedefi, müşterinin ihtiyaçlarını karşılayan, öngörülmüş bütçe ile zamanında teslim edilen hatasız bir yazılım geliştirmektir. Yazılımda ölçüm yöntemlerinin kullanılması, yazılım sektöründe gittikçe önem kazanır olmuştur. Kurumlar üç ana amaçla yazılımda ölçümü gündemlerine almaktadırlar: - Yazılım projesini anlamak ve modellemek, - Yazılım projelerinin yönetilmesine yol göstermek, - Yazılım süreç geliştirme ve iyileştirme çalışmalarını yön vermek,

6 Yazılımda Ölçme (devam ) 6 Yazılımın ölçülebilmesi, harcanılan zaman, emek, proje büyüklüğü ve kalite gibi faktörlerin belirlenmesine olanak sağlamaktadır. Organizasyonlar, bu verilere dayanarak ileride alacakları projeler için kestirim yapabilme imkânı bulabileceklerdir. Yazılım projelerinde kaliteyi arttırmak, her şeyden önce doğru ölçme yöntemlerine bağlıdır. Birden fazla kestirim yöntemi kullanılmalıdır.

7 Beş Temel Yazılım Ölçütü 7 Büyüklük (Size), Emek (Effort), Maliyet (Cost), Zaman (Duration), Kalite (Quality).

8 Yazılım Büyüklük Kestirim Yöntemleri 8 Yazılım büyüklük kestiriminde kullanılan yöntemler; - teknik büyüklük kestirim yöntemleri, - işlevsel büyüklük kestirim yöntemleri olarak sınıflandırılmıştır.

9 Teknik Büyüklük Kestirim Yöntemleri 9 Satır Sayısı (Lines of Code - LOC): Uygulamanın büyüklüğünü anlamak için bilgisayar programlarındaki kodların satırlarını sayma en geleneksel ve en yaygın şekilde kullanılan yazılım ölçümüdür. Satır Sayısı, kod içerisindeki satır sayısını temsil eder. - Kod satır sayısı kestiriminde, proje tahmin edilen alt birimlerine ayrıştırılır. Her bir alt birim için satır sayıları önerilir. Bu kestirimler yapılırken de en küçük, en olası ve en büyük ihtimaller belirlenip, bunlarla bir ortalama işlemi yapılır. - Satır sayısı kestirimi: (k+4o+b)/6 şeklinde hesaplanabilir.

10 Teknik Büyüklük Kestirim Yöntemleri (devam ) 10 Satır Sayısı (Lines of Code - LOC) Tabi ki 1000 LOC değeri olan bir Java programı, 100 LOC değerine sahip bir Java programından 10 kat daha büyüktür. Fakat bu sayının içinde yorum satırları var mı? Yorum satırlarını dahil etmeli miyiz? (Yorum Satırının Avantajı) Deneyim ile kod oluşturumu (Aynı özellik farklı kod sayısı) Programlaa dili farkı Assembler <> Visual Basic Değişkenlerin tanımlanması LOC olarak sayılmalı mıdır?

11 Teknik Büyüklük Kestirim Yöntemleri (devam ) 11 Satır Sayısı (Lines of Code - LOC) İki başlıca LOC Kaynak Kod Satır Sayısı ölçüm çeşidi vardır. Bunlar; - Fiziksel LOC - Mantıksal LOC Örnek 1: - for (i=0; i<100; ++i) printf ("hello"); /* How many lines of code is this? */ 1 Fiziksel Kod Satırı 2 Mantıksal Kod Satırı (for ve printf ifadesi) 1 Yorum Satırı

12 Teknik Büyüklük Kestirim Yöntemleri (devam ) 12 Satır Sayısı (Lines of Code - LOC) Örnek 2: - Programcıya göre ve/veya kodlama standartlarına göre Örnek 1 deki kod aşağıdaki şekilde de yazılabilir. for (i=0; i<100; ++i) { printf("hello"); } /* Now how many lines of code is this? */ 4 Fiziksel Kod Satırı 2 Mantıksal Kod Satırı (for ve printf ifadesi) 1 Yorum Satırı

13 İşlevsel Büyüklük Kestirim Yöntemleri 13 İşlevsel Büyüklük Ölçümü (Functional Size Measurement - FSM), kullanıcıya teslim edilecek yazılımın işlevselliğini temel alır. FSM, işleve göre karmaşıklığın ve büyüklüğün belirlenmesi ile ölçülmektedir. Teknik Büyüklük Ölçütleri - geliştirici bakış açısından İşlevsel Büyüklük Ölçütleri - kullanıcı bakış açısından

14 İşlevsel Büyüklük Kestirim Yöntemleri (devam ) 14 İşlev Puanı (Function Points - FP), IFPUG İşlev Puanı Analizi (IFPUG Function Points Analysis IFPUG FPA), Mark II İşlev Puanı (Mark II Function Points MK II FP), Nesma İşlev Puanı (Nesma Function Points), Tam İşlev Puanı (Full Function Points FFP), COSMIC Tam İşlev Puanı (COSMIC Full Function Points COSMIC FFP), Nesne Puanı (Object Points), Nesne-Tabanlı İşlev Puanı (Object-Oriented Function Points OO FP), Nesne-Tabanlı Yöntem İşlev Puanı (Object-Oriented Method Function Points OOmFP),

15 İşlev Puanı (Function Points) 15 Bu yaklaşım, verimliliğin üretilen işlev puanına göre adam-ay olarak belirlenmesini öngörür. Eğer proje ile ilgili girdi çıktı gibi özellikler tahmin edilebiliyorsa, bunlar kullanılarak geliştirilecek sisteme ait bir İşlev Puanı (Function Points) hesabı yapılabilir ve sonuçlar Satır Sayısına (LOC) çevrilebilir. Bu satır sayısından maliyet, emek ve süre tahmini yapılabilir.

16 İşlev Puanı (Function Points) (devam ) 16 İşlev Puanı FP SLOC a dönüştürme SLOC Dış Girdilerin sayısı Dış Çıktıların sayısı Dış Sorguların sayısı İç Mantıksal dosyaların sayısı Dış Arayüz Dosyalarının sayısı Ağırlık Faktörleri ile ayarlanma İşlev Puanını, SLOC a dönüştürmek için programlama diline göre saptanan faktörler kullanılır. Teknik Karmaşıklık Faktörleriyle ayarlama

17 İşlev Puanı (Function Points) 17 UFP = Dış Girdiler x W(1) + Dış Çıktılar x W(2) + Dış Sorgular x W(3) + İç Dosyalar x W(4) + Dış Arayüz Dosyaları x W(5) Bileşenler Basit Orta Karmaşık (1) Dış Girdiler (2) Dış Çıktılar (3) Dış Sorgular (4) İç Dosyalar (5) Dış Arayüz Dosyaları Her bir bileşenin zorluk derecesi basit, orta ve karmaşık gibi Tablo da verilen rakamsal değerlere bağlı olarak ölçülebilmektedir. Bu ölçülen değerler toplanarak Düzeltilmemiş İşlev Puanı nı (Unadjusted Function Points - UFPs) oluşturmaktadır.

18 İşlev Puanı (Function Points) (devam ) Genel Sistem Özelliğine göre sistemin beklenilen uygulama zorluğu için ilave bir teknik karmaşıklık faktörü hesaplanır. 0: hiç yok ya da etkisiz, 1: önemsiz etki, 2: az etkili, 3:orta düzeyde etkili 4: önemli düzeyde etkili, 5: güçlü etki Genel Sistem Özellikleri 1 Veri İletişimleri Kısa Açıklama Sistemin uygulaması ile bilgi değişimi veya transferinde yardımcı olmak için kaç tane iletişim aracı vardır? 2 Dağıtılan Veri/İşleme Dağıtılan bilgi ve işleme fonksiyonları nasıl idare edilmektedir? 3 Performans 4 Çok Kullanılan Konfigürasyon 5 İşlem Oranı İşlem oranı yüksek midir? Hedefler, yanıtlama zamanı ve iş çıkarma performansı önemli midir? Uygulamanın idare edileceği mevcut donanım platformu ne kadar yoğun kullanılmaktadır? 6 Çevrimiçi Veri Girişi Hangi oranda bilgi çevrimiçi girilmektedir? 7 Son Kullanıcı Verimliliği Uygulama son kullanıcı verimliliği için mi tasarlanmıştır? 8 Çevrimiçi Güncelleme Kaç veri dosyası çevrimiçi güncellenmektedir? 9 Karmaşık İşlem Yapma Dâhili işlem yapma karmaşık mıdır? 10 Yeniden Kullanılabilirlik Uygulama yeniden kullanılabilir olması için mi tasarlanmıştır? DI = i= Cevap i TCF = 0,65 + 0,01 x DI TCF: Technical Complexity Factors DI: Total Degree of Influence 11 Dönüştürme/Kurulum Kolaylığı Sistemde otomatik dönüşüm ve kurulum da dâhil edilmiş midir? 12 İşlevsel Kolaylık 13 Çoklu Saha Kullanımı Yedekleme, başlatma ve kurtarma gibi operasyonlar ne kadar otomatiktir? Uygulama çoklu örgüte sahip çoklu sahalar için özellikle mi tasarlanmış, geliştirilmiş ve desteklenmiştir? Uygulama kullanıcı tarafından kullanım kolaylığı ve değişimi 14 Değişimi Kolaylaştırma kolaylaştırmak için özel olarak mı tasarlanmış, geliştirilmiş ve desteklenmiştir?

19 İşlev Puanı (Function Points) (devam ) 19 İşlev Puanı aşağıdaki formül ile hesaplanır: - FP = UFP x TCF İşlev Puanı nı, Satır Sayısına dönüştürmek için aşağıdaki formülden yararlanılır. - LOC = İşlev Puanı x Programlama Dili LOC Katsayısı Programlama Dili LOC/FP C COBOL 107 DELPHI 5 18 JAVA 2 46 VISUAL BASIC 6 24 SQL 13

20 İşlev Puanı (Function Points) Örnek Proje Kan tahlili yapan bir laboratuarın aynı şehir içerisinde 5 şubesi vardır. Her şubede yaklaşık 10 adet veri giriş operatörü bulunmaktadır. 2. Sistem laboratuardaki tahlillerin fiyatlarını tutacaktır. 3. Hasta bilgileri kaydedilecektir. 4. Yeni tahliller eklenebilecek, güncelleme yapılabilecektir. 5. Tahlil sonuçları laboratuar yetkilisi tarafından onaylandıktan sonra görüntülenebilecektir. 6. İstenen laboratuar tahlillerinin tutarı hesaplanacak ve faturası basılacaktır. 7. Sonuç raporları basılacaktır. Eğer müşterinin daha önceki kayıtları varsa rapor önceki sonuçları da içerecektir. 8. Müşteriler sisteme web üzerinden verilecek şifrelerle bağlanarak tahlil no ile sonuçlarını öğrenebileceklerdir. 9. Sistemin kan analiz cihazıyla arayüzü olacak, sonuçlar direkt olarak cihazdan sisteme aktarılacaktır. 10. Sistem malzeme yönetimi yapacak, malzeme stok bilgilerini tutacaktır. Her laboratuar ana depodan haftalık malzeme isteği yapacaktır. Laboratuarlardan birinde ana malzeme deposu yer alacak, depoya girişler ve birimlere çıkışlar kaydedilecektir. Her malzeme için kritik stok seviyesinin altına düşen malzemeler için sistem uyarı verecek ve rapor yayınlayacaktır. Birim bazında aylık malzeme raporu yayınlanacaktır. 11. Laboratuarın ana sunucusu şubelerden birinde yer alacak ve herhangi bir arıza olduğunda sistem diğer şubedeki yedek sunucuya bağlanacak ve oradan işleme kesintisiz devam edecektir. İletişim altyapısında leased line kullanılacaktır. 12. Sistemi geliştirecek ekip, Java konusunda ve analiz konularında orta deneyimdedir. İşlevsellik konusunda çok fazla deneyimi yoktur. Bir kaç benzer yönetim bilgi sistemi geliştirmiştir. CASE aracı kullanılacaktır.

21 Örnek Proje Üst Düzey Sistem Mimarisi 21 A E B Ana Sunucu Sistem Fiber Optik D Router Switch C Yedek Sunucu

22 Örnek Proje Laboratuar Sistemi 22 Hasta Bilgileri Tahlil Bilgileri Web Üzerinden Sorgu Şifre, Sonuç Tahlil No Tahlil Sonuç Raporu Karşılaştırmalı Tahlil Sonuç Raporu Tahlil Onayı Fatura Bilgileri Laboratuar Sistemi Fatura Aylık Malzeme Raporu Malzeme İsteği Stok Bilgileri (Depo Giriş/Çıkış) Sonuçlar Kan analiz cihazı Kritik Stok Seviyesi Raporu Kritik Stok Seviyesi Uyarısı

23 Örnek Proje Düzeltilmemiş İşlev Puanı 23 Girdiler: Çıktılar: İç Dosyalar : Hasta Dosyası Tahliller dosyası Faturalar Dosyası Malzeme Stok Dosyası Dış sorguların sayısı: Dış Arayüz Dosyaları: 6 Karmaşık 6 Karmaşık 4 Orta 1 Orta 1 Orta UFP = Dış Girdiler x W(1) + Dış Çıktılar x W(2) + Dış Sorgular x W(3) + İç Dosyalar x W(4) + Dış Arayüz Dosyaları x W(5) UFP = 6x6 + 6x7+ 4x13 + 1x5 + 1x9 = 144 Basit Orta Karmaşık (1) Dış Girdiler (2) Dış Çıktılar (3) Dış Sorgular (4) İç Dosyalar (5) Dış Arayüz Dosyaları 5 YZM Yazılım 10 Projesi Yönetimi

24 Örnek Proje Düzeltilmiş İşlev Puanı Sistem güvenilir yedekleme ve kurtarma gerektiriyor mu? 5 2. Veri iletişimi gerekiyor mu? 3 3. Dağıtık fonksiyon var mı? 3 4. Performans kritik mi? 4 5. Sistem çok kullanılan bir işletim ortamında mı çalışacak? 4 6. Sistem on-line veri girişi gerektiriyor mu? 5 7. On-line veri girişi, giriş işlemlerinin birden fazla ekran ya da işlem üzerinden olmasını mı gerektiriyor? 5 8. Ana dosyalar on-line mı güncelleniyor? 5 9. Girdiler, çıktılar, dosyalar ve sorgular karmaşık mı? Kod yeniden kullanabilir olarak mı tasarlanmış? İç süreç karmaşık mı? Dönüşüm ve kurulum tasarım içerisinde mi? Uygulama değişik kuruluşlarda birden fazla kurulum gerektirecek şekilde mi tasarlanmış? Uygulama kullanıcı tarafından kolaylıkla kullanmayı ve değiştirmek üzere mi tasarlanmış? 3 DI = i= Cevap i = 53 FP = UFP x (0,65 + 0,01 x DI) = 144 x (0, ,01 x 53) = LOC YZM = Yazılım x Projesi = Yönetimi 7816,3

25 IFPUG İşlev Puanı Analizi 25 IFPUG - International Function Point Users Group (1984) IFPUG uygulama yazılımı geliştirme ve bakım faaliyetlerinin yönetiminde FPA nın kullanımını teşvik etmektedir. Resmi IFPUG Ölçüm Uygulama Kılavuzları sırasıyla 1986, 1988, 1990, 1994, 1999, 2004 ve 2009 da yayınlanmıştır. IFPUG FPA en yaygın olarak kullanılan FSM yöntemidir.

26 Mark II İşlev Puanı 26 Charles Symons a göre; - Bir uygulamanın bileşenlerinin belirlenmesi Albrecht in FPA sında zordur, - Albrecht yaklaşımı iç karmaşıklıkla ilgili hiçbir düşünceye sahip değildir, - On dört ayarlama faktörü yeterli değildir lerde İngiltere de MKII İşlev Puanı geliştirildi. MK II, kullanıcıya sağlanan işlevselliğin değerinden çok işlevselliği üretmek için gerekli emeğe odaklamak için tasarlanmış bir yöntem. MK II, uygulamayı mantıksal işlem gruplarına ayrıştırmaktadır. Symons mantıksal bir işlemi; bilgi almak için bir gereksinim ya da kullanıcıyı ilgilendiren bir olay ile tetiklenen benzersiz bir girdi/işlem/çıktı birleşimi olarak tanımlar.

27 Nesma İşlev Puanı 27 Netherlands Software Metrics Users Association NESMA, NESMA, Avrupa daki en büyük FPA kullanıcı grubudur. İşlev Puanı Analizinin uygulanması ile ilgili tanımlar ve ölçüm kılavuzunun ilk versiyonu 1990 da yayınlanmıştır. Bu yöntem, IFPUG FPA yönteminin ilkelerini temel almaktadır. IFPUG FPA a benzer olarak işlevselliğin büyüklüğü için, Dış Giriş, Dış Çıkış, Dış Sorgu, İç Mantıksal Dosya ve Dış Arayüz Dosyası gibi işlev türlerini kullanmaktadır.

28 COSMIC Tam İşlev Puanı 28 COSMIC - Common Software Measurement International Consortium Yeni bir işlevsel büyüklük ölçüm yöntemi olarak COSMIC FFP Kasım 1999 da yayınlamıştır. COSMIC FFP yöntemi, geliştirici ve son kullanıcı bakış açıları olmak üzere birçok ölçüm bakış açısına sahiptir. Yazılımın işlevsel büyüklüğü, dört İşlevsel Tabanlı Bileşeni temel alarak ölçülmektedir. İşlevsel Tabanlı Bileşenler; Giriş (Entry), Çıkış (Exit), Okuma (Read) ve Yazma (Write) dır.

29 Emek Kestirimi 29 - Emek (işgücü) genelde adam-saat, adamgün ya da adam-ay cinsinden ölçülür adam-ay: 10 kişi 1 ay 1 kişi 10 ay 2 kişi 5 ay anlamına gelebilir.

30 Emek Kestirim Yöntemleri 30 Büyüklük Tahmini Yöntemler: Satır Sayısı, Function Points, Geçmiş Proje Verileri SLOC Emek Tahmini Yöntemler Geçmiş proje verilerinden yararlanılması Emek = Büyüklük / Üretim Oranı Üretim oranı her satır kod, her fonksiyon noktası, her modül için gereken zaman ile ölçülür Modellerin kullanılması Constructive Cost Model (COCOMO) (Boehm) Putnam s Model (SLIM) Use-case Points Class Points UML Points

31 Emek Kestirim Yöntemleri 31 Emek kestirim yöntemleri algoritmik ve algoritmik olmayan kestirim yöntemleri olmak üzere iki şekilde sınıflandırılmaktadır. - Algoritmik kestirim yöntemleri COCOMO (Constructive Costing Model) Use-Case Points Class Points UML Points - Algoritmik olmayan kestirim yöntemleri Uzman kararı, Benzerlik ile kestirim, Büyüklük verisi kullanarak kıyaslama.

32 Algoritmik Kestirim Yöntemleri 32 Bu yöntemler, emek kestirimi için matematiksel modeller (matematiksel formüller) kullanılırlar. Bu tür modellerde geçmişe ait veriler, kod satır sayısı, fonksiyon sayısı vb. istatistikler ile yazılım projelerine doğrudan etki eden çevresel ve teknik faktörler girdi olarak verilir. Model belirli bir doğruluk aralığında sonuç üretir. Bu tür modellerin içinde bulunan ortama göre bazı parametrelerinin "kalibre" edilmesi gerekmektedir.

33 COCOMO (Constructive Costing Model) 33 - COCOMO, Barry Boehm tarafından geliştirilmiş algoritmik bir yazılım maliyet kestirim yöntemidir. - Bu yöntem, geçmiş proje verileri ve mevcut proje özelliklerinden türetilen parametreler ile beraber temel bir regresyon formülü kullanır. - Yapılacak hesapların kapsamları açısından basit, orta ve detaylı olmak üzere üç değişik modelden oluşur. Ayrıca bu modellerde kullanılacak problemler, organik, yarı ayrık ve gömülü sınıflar altında toplanmıştır.

34 COCOMO (Constructive Costing Model) devam 34 Orijinal COCOMO modeli yaygın bir merak konusu uyandırdı. Herkese açık bir modeldir. Bunun anlamı denklemlerin, varsayımların, tanımların herkese açık olmasıdır. Orijinal COCOMO modeli 63 proje çalışmasına ve kestirme modelleri sıradüzeni temellerine dayanır. Satır Sayısı COCOMO Modeli

35 COCOMO - Proje Sınıfları 35 Ayrık Projeler; Boyutları küçük, Deneyimli personel tarafından gerçekleştirilmiş, LAN üzerinde çalışan, insan kaynakları yönetim sistemi gibi projeler... Yarı Ayrık Projeler: Hem bilgi boyutu, hem donanım sürme boyutu olan projeler Gömülü Projeler: Donanım sürmeyi hedefleyen projeler (pilotsuz uçağı süren yazılım - donanım kısıtları yüksek)

36 COCOMO (Constructive Costing Model) devam 36 COCOMO bu model ve proje sınıfı saptamalarından sonra ortaya çıkan formüllerle tahmin hesaplama yolunu önerir. Basit COCOMO Modeli İçin Emek ve Süre Formülleri Proje Emek Süre Ayrık Emek = 2.4 (KLOC) 1.05 Süre = 2.5 (Emek) 0.38 Yarı Ayrık Emek = 3 (KLOC) 1.12 Süre = 2.5 (Emek) 0.35 Gömülü Emek = 3.6 (KLOC) 1.20 Süre = 2.5 (Emek) 0.32 Basit COCOMO modeli, küçük-orta boy projeler için hızlı kestirim yapmak amacıyla kullanılır.

37 COCOMO (Constructive Costing Model) devam 37 Orta COCOMO modeli sistemin (güvenilirlik, veri tabanı büyüklüğü, işletme ve kayıt sınırlandırmaları, personel özellikleri ve kullanılan yazılım araçları gibi) diğer özelliklerinin hesaba katılması amaçlanmıştır. Orta COCOMO Modeli İçin Emek Formülleri Problem Ayrık Yarı Ayrık Gömülü Emek Emek = 3.2 (KLOC) 1.05 x EAF Emek = 3.0 (KLOC) 1.12 x EAF Emek = 2.8 (KLOC) 1.20 x EAF Belirli bir dizi özelliğin, proje açısından etkileri ayrı ayrı ağırlandırılarak katsayılar ortaya çıkarılır.

38 COCOMO (Constructive Costing Model) devam 38 Cost Drivers Product Attributes Ratings very low low nominal high very high extra high RELY Required Software Reliability 0,75 0,88 1 1,15 1,4 DATA Database Size 0,94 1 1,08 1,16 CPLX Product Complexity 0,7 0,85 1 1,15 1,3 1,65 Computer Attributes TIME Execution Time Constraint 1 1,11 1,3 1,66 STOR Main Storage Constraint 1 1,06 1,21 1,56 VIRT Virtual Machine Volatility 0,87 1 1,15 1,3 TURN Computer Turnaround Time 0,87 1 1,05 1,15 Personnel Attributes ACAP Analyst Capability 1,46 1,19 1 0,86 0,71 AEXP Application Experience 1,29 1,13 1 0,91 0,82 PCAP Programmer Capability 1,42 1,17 1 0,86 0,7 VEXP Virtual Machine Experience 1,21 1,1 1 0,9 LEXP Project Attributes Programming Language Experience 1,14 1,07 1 0,95 MODP Modern Programming Practices 1,24 1,1 1 0,91 0,82 TOOL Use of Software Tools 1,24 1,1 1 0,91 0,83 SCED Schedule Constraints 1,23 1,08 1 1,04 1,1 Emek Ayarlama Faktörü için sözü geçen etkenleri dört grupta toplayarak, yandaki tabloda görüldüğü gibi sıralayabiliriz. EAF (Emek Ayarlama Faktörü) orta ve detaylı seviyede kullanılır. Detaylı COCOMO modeli projenin evrelerine bağlı olarak süreç içinde değişiklikleri hesaba katarak arada bir kestirim hesaplamasını önerir.

39 COCOMO Emek Ayarlama Faktörü 39 Ürün Özellikleri RELY: Yazılımın güvenirliği. DATA: Veritabanının büyüklüğü. CPLX: Karmaşıklığı. Bilgisayar Özellikleri TIME: İşletim zamanı kısıtı. STOR: Ana bellek kısıtı VIRT: Bilgisayar platform değişim olasılığı. Örn; bellek ve disk kapasitesi artırımı, CPU upgrade TURN: Bilgisayar iş geri dönüş zamanı. Örn; hata düzeltme süresi.

40 COCOMO Emek Ayarlama Faktörü (devam ) 40 Personel Özellikleri ACAP: Analist yeteneği. Deneyim, birlikte çalışabilirlik. AEXP: Uygulama deneyimi. Proje ekibinin ortalama tecrübesi. PCAP: Programcı yeteneği. VEXP: Bilgisayar platformu deneyimi. Proje ekibinin geliştirilecek platformu tanıma oranı. LEXP: Programlama dili deneyimi. Proje Özellikleri MODP: Modern programlama teknikleri. Örn; Yapısal programlama, görsel programlama, yeniden kullanılabilirlik. TOOL: Yazılım geliştirme araçları kullanımı. Örn; CASE araçları, metin düzenleyiciler, ortam yönetim araçları SCED: Zaman kısıtı.

41 41 Örnek: Laboratuar Sistemi için COCOMO ile Emek Kestirimi Cost Drivers Ratings Proje low very low nominal high very high extra high Oran Product Attributes RELY Required Software Reliability 0,75 0,88 1 1,15 1,4 1,4 DATA Database Size 0,94 1 1,08 1,16 1 CPLX Product Complexity 0,7 0,85 1 1,15 1,3 1,65 1 Computer Attributes TIME Execution Time Constraint 1 1,11 1,3 1,66 1,11 STOR Main Storage Constraint 1 1,06 1,21 1,56 1,06 VIRT Virtual Machine Volatility 0,87 1 1,15 1,3 0,87 TURN Computer Turnaround Time 0,87 1 1,05 1,15 1 Personnel Attributes ACAP Analyst Capability 1,46 1,19 1 0,86 0,71 1 AEXP Application Experience 1,29 1,13 1 0,91 0,82 1 PCAP Programmer Capability 1,42 1,17 1 0,86 0,7 1 VEXP Virtual Machine Experience 1,21 1,1 1 0,9 1 LEXP Programming Language Experience 1,14 1,07 1 0,95 1 Project Attributes MODP Modern Programming Practices 1,24 1,1 1 0,91 0,82 0,91 TOOL Use of Software Tools 1,24 1,1 1 0,91 0,83 0,91 SCED Schedule Constraints 1,23 1,08 1 1,04 1,1 1,04 Emek Ayarlama Katsayısı: 1,23

42 42 Örnek: Laboratuar Sistemi için COCOMO ile Emek Kestirimi (devam ) Emek = 3,0 x (KLOC) 1,12 x EAF Emek = 3,0 x (7,816) 1.12 x 1,23 = 36,9 adam-ay Takvim= 2,5 x Emek 0,38 = 2,5 x 36,9 0,38 = 9,84 ay (Geliştirme Zamanı) N = Emek / Geliştirme Zamanı (N: ortalama personel sayısı) N = 36,9 / 9,84 = 3,75 4 kişi

43 Use-Case Puanı (Use-Case Points - UCP) 43 Use-Case Points (UCP) yaklaşımı, bir yazılım proje emek kestirim yöntemi olarak Karner tarafından ortaya atılmıştır. Nesneye-tabanlı yazılım üretiminde, use-case ler işlevsel gereksinimleri tanımlar.

44 Use-Case Puanı (Use-Case Points - UCP) (devam ) 44 Use-Case Puanı (UCP) sistemin use-case analizi ile elde edilebilir: Use-case analizinin birinci adımı aktörlerin sınıflandırılmasıdır. Aktör Tipi Açıklaması Ağırlık Faktörü Basit Orta Karmaşık Tanımlı bir Uygulama Programlama Arayüzüne (API) sahip başka bir sistemi temsil eder. TCP/IP gibi bir protokol ile haberleşen başka bir sistemi temsil eder. Bir web sayfası veya GUI aracılığıyla karşılıklı etkileşen bir kullanıcıyı temsil eder Öncelikle toplam Düzeltilmemiş Aktör Ağırlığı (Unadjusted Actor Weights - UAW) hesaplanmaktadır.

45 Use-Case Puanı (Use-Case Points - UCP) (devam ) 45 Use-case analizinin ikinci adımı use-case lerin sınıflandırılmasıdır. Use-Case Tipi Açıklaması Ağırlık Faktörü Basit Orta Karmaşık Basit bir kullanıcı arayüzüne sahiptir. Tek bir veritabanı nesnesiyle iletişim kurar. Normal (başarılı) senaryosu 3 veya daha az basamaktan oluşur. Ortalama bir kullanıcı arayüzüne sahiptir. İki veya daha fazla veritabanı nesnesi ile iletişim kurar. Normal (başarılı) senaryosu 4 ile 7 arasında basamaktan oluşur. Karmaşık bir kullanıcı arayüzüne sahiptir. Üç veya daha fazla veritabanı nesnesiyle iletişim kurar. Normal (başarılı) senaryosu 8 veya daha fazla basamaktan oluşur Düzeltilmemiş Use-Case Ağırlığını (Unadjusted Use-Case Weights - UUCW) elde etmek için: Use-case analizinin üçüncü adımı Düzeltilmemiş Use-Case Puanı (Unadjusted Use- Case Points - UUCP) nın hesaplanmasıdır:

46 Use-Case Puanı (Use-Case Points - UCP) (devam ) 46 Use-case analizinin dördüncü adımı Teknik Karmaşıklık Faktörünün hesaplanmasıdır. Teknik Faktör Açıklaması Ağırlık Faktörü T1 Dağıtık Sistem 2 T2 Yanıt veya Çıktı Performans Hedefleri 1 T3 Son Kullanıcı Verimliliği 1 T4 Karmaşık Dâhili İşlem 1 T5 Kodun Yeniden Kullanılabilirliği 1 T6 Kurulum Kolaylığı 0.5 T7 Kullanım Kolaylığı 0.5 T8 Taşınabilirlik 2 T9 Değişim Kolaylığı 1 T10 Eş Zamanlılık 1 T11 Özel Güvenlik Özellikleri İçerme 1 T12 Üçüncü Parti Yazılımlar için Doğrudan Erişim Sağlama 1 T13 Kullanıcı Eğitim Gerekliliği 1

47 Use-Case Puanı (Use-Case Points - UCP) (devam ) 47 Use-case analizinin beşinci adımı Çevresel Karmaşıklık Faktörünün hesaplanmasıdır. Çevresel Faktör Açıklaması Ağırlık Faktörü E1 UML ile Tanışıklık 1.5 E2 Uygulama Deneyimi 0.5 E3 Nesneye-Tabanı Deneyim 1 E4 Lider Analist Yeteneği 0.5 E5 Motivasyon 1 E6 Sabit Gereksinimler 2 E7 Yarı-Zamanlı Çalışanlar -1 E8 Zor Programlama Dili -1 Use-case analizinin altıncı adımı Use-Case Puanının hesaplanmasıdır: Use-case analizinin son adımı Emeğin hesaplanmasıdır:

48 PROJE PROJE İLE İLGİLİ BİLGİLER A B C Aktör Sayıları Basit Tanımlı bir Uygulama Programlama Arayüzüne (API) sahip başka bir sistemi temsil eder Orta TCP/IP gibi bir protokol ile haberleşen başka bir sistemi temsil eder Karmaşık Bir web sayfası veya GUI aracılığıyla karşılıklı etkileşen bir kullanıcıyı temsil eder Use-Case Sayıları Düzeltilmemiş Aktör Ağırlıkları (DAA) Basit Basit bir kullanıcı arayüzüne sahiptir. Tek bir veritabanı nesnesiyle iletişim kurar. Normal (başarılı) senaryosu 3 veya daha az basamaktan oluşur ve tasarımı 5 veya daha az sınıf içerir Orta Ortalama bir kullanıcı arayüzüne sahiptir. İki veya daha fazla veritabanı nesnesi ile iletişim kurar. Normal (başarılı) senaryosu 4 ile 7 arasında basamaktan oluşur ve tasarım 5 ile 10 arasında sınıf içerir Karmaşık Karmaşık bir kullanıcı arayüzüne sahiptir. Üç veya daha fazla veritabanı nesnesiyle iletişim kurar. Normal (başarılı) senaryosu 8 veya daha fazla basamaktan oluşur ve tasarımı 11 veya daha fazla sınıf içerir Teknik Faktörler Düzeltilmemiş Use-Case Ağırlıkları (DUCA) T1 Dağıtık Sistem T2 Yanıt veya Çıktı Performans Hedefleri T3 Son Kullanıcı Verimliliği T4 Karmaşık Dâhili İşlem T5 Kodun Yeniden Kullanılabilirliği T6 Kurulum Kolaylığı T7 Kullanım Kolaylığı T8 Taşınabilirlik T9 Değişim Kolaylığı T10 Eş Zamanlılık T11 Özel Güvenlik Özellikleri İçerme T12 Üçüncü Parti Yazılımlar için Doğrudan Erişim Sağlama T13 Kullanıcı Eğitim Gerekliliği Çevresel Faktörler Teknik Karmaşıklık Faktörü (TKF) 0,795 1,11 0,855 E1 UML ile Tanışıklık E2 Uygulama Deneyimi E3 Nesneye-Tabanı Deneyim E4 Lider Analist Yeteneği E5 Motivasyon E6 Sabit Gereksinimler E7 Yarı-Zamanlı Çalışanlar E8 Zor Programlama Dili Çevresel Karmaşıklık Faktörü (ÇKF) 0,575 0,8 0,815 Üretkenlik Faktörü Use-Case Puanı Emek Tahmini (adam-saat) Harcanan Gerçek Emek (adam-saat) Fark (1 Tahmin / Gerçek) 0,37 0,17 0,23

49 Sınıf Puanı (Class Points - CP) 49 Sınıf diyagramları, geliştirilen sistemin mantıksal blokları olan sınıf hiyerarşini ve hedef sistemin yapısal işlevselliğini içerir. Sınıf Puanı yaklaşımı, 1998 de ortaya atılmıştır. Bu yaklaşım, sayısal hesaplamaya dayanarak bir sistemin iç niteliklerini temsil eden işlev puanı analiz yaklaşımını temel almaktadır. CP 1 ve CP 2 olmak üzere iki ölçüm ortaya atılmıştır.

50 Sınıf Puanı (Class Points - CP) (devam ) Kullanıcı Sınıflarının Belirlenmesi ve Sınıflandırılması Tasarım dokümanı analiz edilirken 4 tür sistem bileşeni kullanılır: Problem Alan Türü (Problem Domain Type PDT), İnsan Etkileşim Türü (Human Interaction Type HIT), Veri Yönetim Türü (Data Management Type), Görev Yönetim Türü (Task Management Type TMT). 2. Sınıfların Karmaşıklık Düzeylerinin Belirlenmesi CP 1 içinde her bir sınıfın karmaşıklık düzeyi iki ölçüt ile belirlenmektedir: Dış Metotların Sayısı (Number of External Methods NEM), Servis İsteklerinin Sayısı (Number of Services Requested NSR) CP 2 içinde, her bir sınıfın karmaşıklık düzeyini değerlendirmek üzere Niteliklerin Sayısı (Number Of Attributes NOA) dikkate alınmaktadır.

51 Sınıf Puanı (Class Points - CP) (devam ) 51 CP 1 için Bir Sınıfın Karmaşıklık Düzeyini Değerlendirme CP 2 için Bir Sınıfın Karmaşıklık Düzeyini Değerlendirme 0 4 NEM 5 8 NEM 9 NEM 0 1 NSR Düşük Düşük Orta 2 3 NSR Düşük Orta Yüksek 4 NSR Orta Yüksek Yüksek 0 2 NSR 0 5 NOA 6 9 NOA 10 NOA 0 4 NEM Düşük Düşük Orta 5 8 NEM Düşük Orta Yüksek 9 NEM Orta Yüksek Yüksek (a) 3 4 NSR 0 4 NOA 5 8 NOA 9 NOA 0 3 NEM Düşük Düşük Orta 4 7 NEM Düşük Orta Yüksek 8 NEM Orta Yüksek Yüksek (b) 5 NSR 0 3 NOA 4 7 NOA 8 NOA 0 2 NEM Düşük Düşük Orta 3 6 NEM Düşük Orta Yüksek 7 NEM Orta Yüksek Yüksek (c)

52 Sınıf Puanı (Class Points - CP) (devam ) Toplam Düzeltilmemiş Sınıf Puanın (Total Unadjusted Class Point TUCP) Hesaplanması Sistem Bileşen Türü Açıklama Karmaşıklık Düşük Orta Yüksek Toplam PDT Problem Alan Türü x 3 = x 6 = x 10 = HIT İnsan Etkileşim Türü x 4 = x 7 = x 12 = DMT Veri Yönetim Türü x 5 = x 8 = x 13 = TMT Görev Yönetim Türü x 4 = x 6 = x 9 = Toplam Düzeltilmemiş Sınıf Puanı (TUCP):

53 Sınıf Puanı (Class Points - CP) (devam ) Teknik Karmaşıklık Faktörünün (Technical Complexity Factor TCF) Hesaplanması Sistem Karakteristiği ED Sistem Karakteristiği ED C1 Veri İletişimi C10 Yeniden Kullanılabilirlik C2 Dağıtık Fonksiyonlar C11 Kurulum Kolaylığı C3 Performans C12 İşlem Kolaylığı C4 Konfigürasyon Kullanım Yoğunluğu C13 Çoklu Bölgeler C5 İşlem Oranı C14 Değişim Kolaylığı C6 Online Veri Girişi C15 Kullanıcı Uyarlanabilirliği Etkisi yok = 0 Önemsiz Etki = 1 Orta Karar Etki = 2 Ortalama Etki = 3 Önemli Etki = 4 Güçlü Etki = 5 Sınıf Puanı: C7 Son Kullanıcı Verimliliği C16 Hızlı Prototipleme C8 Online Güncelleme C17 Çoklu Kullanıcı Etkileşimi C9 Karmaşık İşlem C18 Çoklu Arayüzler Toplam Etki Derecesi YZM (Total 403 Degree - Yazılım of Influence Projesi Yönetimi TDI):

54 Algoritmik Olmayan Kestirim Yöntemleri 54 Algoritmik olmayan emek kestirim yöntemleri; uzman kararı, benzerlik ile kestirim ve büyüklük verisi kullanarak kıyaslama dır.

55 Uzman Kararı 55 Uzman kararı yöntemi, yazılım endüstrisinde emek kestirimi için en çok kullanılan yöntemdir. Yıllardan beri proje yöneticileri kendi deneyimlerine güvenmişlerdir. Uzman kararında, pek çok uzman önerilen yazılımın uygulama alanı ve geliştirme tekniklerine göre proje emeğini tahmin etmektedir. Yeni proje daha önce tamamlanan projelerden çok farklı değilse ve deneyimli kestirimciler mevcutsa, emek kestirimi için en uygun yöntem uzman kararıdır.

56 Benzerlik ile Kestirim 56 Bu yöntemde, projelere ilişkin pek çok nitelik tanımlanır. Bu nitelikler tamamlanmış projeler arasından yeni projeye en çok benzeyen projeleri belirlemek için kullanılır. Yeni projenin emek kestirimi, yeni proje ile tamamlanmış projeler arasındaki farklılıklar dikkate alınarak belirlenir. Benzerlik esaslı kestirim için, daha önce tamamlanmış benzer projelere ait geçmiş veriler gereklidir. Bu nedenle, bu kestirim yöntemi tamamlanmış projelere ait verileri tutan veri tabanlarına gereksinim duymaktadır.

57 Büyüklük Verisini Kullanarak Kıyaslama 57 Bu yöntem, verimliliğin bir uygulama alanı ve büyüklük fonksiyonu olduğu düşüncesini temel almaktadır. Aşağıda verilen formüle göre, büyüklük verisini kullanarak kıyaslama ile emeği hesaplamak çok basittir; Emek Tahmini = Proje Büyüklüğü / Teslimat Oranı

Yazılım Projelerinde Büyüklük Tahmini

Yazılım Projelerinde Büyüklük Tahmini Yazılım Projelerinde Büyüklük Tahmini Emin BORANDAĞ 1, Fatih YÜCALAR 1,Önder ŞAHİNASLAN 2 1 Maltepe Üniversitesi, Mühendislik ve Doğa Bilimleri Fakültesi, Yazılım Mühendisliği Bölümü 2 Maltepe Üniversitesi,

Detaylı

Yazılım Projelerinde Büyüklük Tahmini

Yazılım Projelerinde Büyüklük Tahmini Emin Borandağ 1, Fatih Yücalar 1, Önder Şahinaslan 2 1 Maltepe Üniversitesi, Mühendislik ve Doğa Bilimleri Fakültesi, Yazılım Mühendisliği Bölümü 2 Maltepe Üniversitesi, Bilişim Bölümü eminb@maltepe.edu.tr,

Detaylı

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

Yazılım Mühendisliği Bölüm - 3 Planlama 1 Yazılım Mühendisliği Bölüm - 3 Planlama 2 3 4 Planlama 5 Yazılım geliştirme sürecinin ilk aşaması Başarılı bir proje geliştirebilmek için projenin tüm resminin çıkarılması işlemi Proje planlama aşamasında

Detaylı

V Süreç Modeli. V Süreç Modeli. V Süreç Modeli. Helezonik Model. Helezonik(Spiral) Modeli BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013

V Süreç Modeli. V Süreç Modeli. V Süreç Modeli. Helezonik Model. Helezonik(Spiral) Modeli BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013 BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013 Yrd Doç. Dr. Turgay İBRİKÇİ V Süreç Modeli Sol taraf üretim, sağ taraf sınama işlemleridir. V süreç modelinin temel çıktıları; Kullanıcı Modeli Geliştirme sürecinin

Detaylı

Ad Soyad : Fahri Dönmez Şube No : TBIL-211-01 Öğrenci No : 12213251 Bölüm : Bilgisayar Mühendisliği. Yazılım Mühendisliğine Giriş Dr.

Ad Soyad : Fahri Dönmez Şube No : TBIL-211-01 Öğrenci No : 12213251 Bölüm : Bilgisayar Mühendisliği. Yazılım Mühendisliğine Giriş Dr. Ad Soyad : Fahri Dönmez Şube No : TBIL-211-01 Öğrenci No : 12213251 Bölüm : Bilgisayar Mühendisliği Yazılım Mühendisliğine Giriş Dr. Ali ARİFOĞLU ÖDEV Kendi seçeceğiniz bir iş problemi için: a) Proje Tanımını

Detaylı

T.C. TRAKYA ÜNĐVERSĐTESĐ FEN BĐLĐMLERĐ ENSTĐTÜSÜ

T.C. TRAKYA ÜNĐVERSĐTESĐ FEN BĐLĐMLERĐ ENSTĐTÜSÜ T.C. TRAKYA ÜNĐVERSĐTESĐ FEN BĐLĐMLERĐ ENSTĐTÜSÜ Use-Case Tabanlı Yazılım Emek Kestirim Modeli Fatih YÜCALAR Doktora Tezi Bilgisayar Mühendisliği Anabilim Dalı I. Danışman: Prof. Dr. Fuat ĐNCE II. Danışman:

Detaylı

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

Yaz.Müh.Ders Notları #6 1 YAZILIM MÜHENDİSLİĞİ Prof.Dr. Oya Kalıpsız BÖLÜM 2. YAZILIM PROJE YÖNETİMİ 1 2.1.0. GENEL BİLGİLER 2.1. YAZILIM PROJE YÖNETİMİ BİLEŞENLERİ Yazılım proje yönetimi; yazılım mühendisliği teknikleri, genel

Detaylı

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

Yazılım Mühendisliği Bölüm - 3 Planlama. Cengiz GÖK Yazılım Mühendisliği Bölüm - 3 Planlama Cengiz GÖK 1 Planlama Yazılım geliştirme sürecinin ilk aşaması Başarılı bir proje geliştirebilmek için projenin tüm resminin çıkarılması işlemi Proje planlama aşamasında

Detaylı

BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013. Proje/Program Özellikleri. Yazılım/Sistem projeleri zor ve karmaşıktır. Başarısız Proje Örnekleri

BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013. Proje/Program Özellikleri. Yazılım/Sistem projeleri zor ve karmaşıktır. Başarısız Proje Örnekleri BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013 Proje/Program Özellikleri En az 2 kişi ve en az 2 haftalık işgücü gerektirmelidir. Tanımlanan iş kapsamında önemli teknik/idari riskler vardır. Tanımlanan iş günlük,

Detaylı

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

Yaz.Müh.Ders Notları #6 1 YAZILIM MÜHENDİSLİĞİ Prof.Dr. Oya Kalıpsız GİRİŞ 1 YAZILIM YETERLİLİK OLGUNLUK MODELİ Olgunluk Seviyeleri: Düzey 1. Başlangıç düzeyi: Yazılım gelişimi ile ilişkili süreçlerin tanımlanması için hiçbir sistematik

Detaylı

YAZILIM PROJE YÖNETİMİ. Yrd.Doç.Dr.Hacer KARACAN

YAZILIM PROJE YÖNETİMİ. Yrd.Doç.Dr.Hacer KARACAN YAZILIM PROJE YÖNETİMİ Yrd.Doç.Dr.Hacer KARACAN İçerik Projenin Planlanması Proje Bütçesinin Oluşturulması Yazılım Boyut Kestirimi Maliyet Çıkarımı Proje Bütçesinin Oluşturulması Proje takvimi oluşturulduktan

Detaylı

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

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 ix 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 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

Detaylı

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

BLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR Yrd. Doç. Dr. Nesrin AYDIN ATASOY BLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR 2016 Yrd. Dç. Dr. Nesrin AYDIN ATASOY 3. HAFTA: PLANLAMA Yazılım geliştirme sürecinin ilk aşaması, planlama aşamasıdır. Başarılı bir prje geliştirebilmek için prjenin

Detaylı

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

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU Bilişim Sistemleri Modelleme, Analiz ve Tasarım Yrd. Doç. Dr. Alper GÖKSU Ders Akışı Hafta 5. İhtiyaç Analizi ve Modelleme II Haftanın Amacı Bilişim sistemleri ihtiyaç analizinin modeli oluşturulmasında,

Detaylı

Yazılım Maliyet Tahmininde İşlev Puanı Analizi ve Yapay Sinir Ağları Kullanımı

Yazılım Maliyet Tahmininde İşlev Puanı Analizi ve Yapay Sinir Ağları Kullanımı Yazılım Maliyet Tahmininde İşlev Puanı Analizi ve Yapay Sinir Ağları Kullanımı Mesut Keskin, Gülfem Işıklar Alptekin Galatasaray Üniversitesi, Bilgisayar Mühendisliği Bölümü, İstanbul mesutkskn@gmail.com,gisiklar@gsu.edu.tr

Detaylı

Veritabanı. Ders 2 VERİTABANI

Veritabanı. Ders 2 VERİTABANI Veritabanı Veritabanı Nedir? Birbiri ile ilişkili verilerin bir arada uzun süreli bulundurulmasıdır. Veritabanı bazen Veritabanı Yönetim sistemi veya Veritabanı Sistemi yerine de kullanılır. Gerçek dünyanın

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

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

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır. Yazılım Mimarisi 1.Yazılım Mimarisi Nedir? Yazılım mimarisi geliştirilen uygumaların maliyetlerinin azaltılmasında önemli bir yer tutar. Örneğin MVC modeli kullanarak bir uygulama geliştiriyoruz ve arayüz

Detaylı

4. Bölüm Programlamaya Giriş

4. Bölüm Programlamaya Giriş 4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları

Detaylı

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan BİLGİ TEKNOLOJİLERİ YÖNETİMİ EĞİTİM MODÜLLERİ Tarih Saat Modül Adı Öğretim Üyesi 01/05/2018 Salı Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan Bu dersin amacı, bilgisayar bilimlerinin temel kavramlarını

Detaylı

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

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü YMH114 - Yazılım Mühendisliğinin Temelleri Dersi Proje Uygulaması ve Dokümantasyonu AKILLI ŞEHİR UYGULAMALARININ İNCELENMESİ VE ÖRNEK

Detaylı

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI ... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE 2018 2019 ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI Hazırlayan : Özel Öğretim Kurumları Birliği (ÖZKURBİR) Dersin Adı : Bilişim

Detaylı

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi Hedefler Veritabanı Yönetimi Bilgisayarların Discovering Keşfi 2010 Computers 2010 Living in a Digital World Dijital Dünyada Yaşamak Veritabanı terimini tanımlamak ve bir veritabanının veri ve bilgi ile

Detaylı

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

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. SİSTEM VE YAZILIM o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. o Yazılım, bilgisayar sistemlerinin bir bileşeni olarak ele alınmalıdır. o Yazılım yalnızca

Detaylı

ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ YÜKSEK LİSANS TEZİ

ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ YÜKSEK LİSANS TEZİ ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ YÜKSEK LİSANS TEZİ PARAMETRİK TAHMİN MODELLERİN YAZILIM PROJELERİNE UYGULANMASINA YÖNELİK BİR YAZILIM PAKETİNİN GELİŞTİRİLMESİ Taner SONER ELEKTRİK ELEKTRONİK

Detaylı

C# nedir,.net Framework nedir?

C# nedir,.net Framework nedir? 1 C# nedir,.net Framework nedir? C# nedir? C#, C/C++ ve Java dillerinde türetilmiş,bu dillerin dezavantajlarının elenip iyi yönlerinin alındığı, güçlü basit, esnek, tip-güvenli(typesafe,tür dönüşümlerindeki

Detaylı

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari

Detaylı

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ Derleyen: Prof. Dr. Güngör BAL Bölüm 4 Yazılım: Sistemler ve uygulama yazılımı Prensipler ve Öğrenme hedefleri Sistemler ve uygulama yazılımı bireylerin ve organizasyonların

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

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

BLG4146 - Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK BLG4146 - Sistem Analizi ve Tasarımı Öğr. Grv. Aybike ŞİMŞEK Tasarım Evresi Analiz evresinde sorulan NE sorusuyla elde edilen bilgilerin NASIL yapılacağı, NASIL gerçekleştirileceğinin ortaya konulduğu

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS VERİ TABANI BG-313 3/1 3+1+0 3+0,5 5 Dersin Dili : TÜRKÇE Dersin Seviyesi : LİSANS

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili Özlem AYDIN NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü MODEL NEDİR? Model, gerçek dünyadaki bir olayın veya

Detaylı

PROGRAMLAMA TEMELLERİ

PROGRAMLAMA TEMELLERİ PROGRAMLAMA TEMELLERİ 2.HAFTA Yazılım Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bir başka deyişle var olan bir problemi çözmek amacıyla bilgisayar

Detaylı

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

1.Yazılım Geliştirme Metotları 1 1.Yazılım Geliştirme Metotları 1 1.1 Klasik Çevrim(Waterfall) 1.2 V Modeli 1.3 Prototipleme/Örnekleme 1.4 Spiral Model 1.5 Evrimsel Geliştirme 1.6 Evrimsel Prototipleme 1.7 Artımlı Geliştirme 1.8 Araştırmaya

Detaylı

VERİ TABANI SİSTEMLERİ

VERİ TABANI SİSTEMLERİ VERİ TABANI SİSTEMLERİ 1- Günümüzde bilgi sistemleri Teknoloji ve bilgi. 2- Bilgi sistemlerinin Geliştirilmesi İşlevsel Gereksinimleri 1.AŞAMA Gereksinim Belirleme ve Analiz Veri Gereksinimleri Gereksinimler

Detaylı

YMT 312-Yazılım Tasarım Ve Mimarisi Planlama ve Sistem Çözümleme

YMT 312-Yazılım Tasarım Ve Mimarisi Planlama ve Sistem Çözümleme YMT 312-Yazılım Tasarım Ve Mimarisi Planlama ve Sistem Çözümleme F ı r a t Ü n i v e r s i t e s i Ya z ı l ı m M ü h e n d i s l i ğ i B ö l ü m ü 1 Bu Haftaki Konular Proje Planlama Aşamaları için Gerekli

Detaylı

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC) Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC) Sistem analistlerinin ve kullanıcı faaliyetlerinin spesifik döngüsünün kullanılmasıyla En iyi geliştirilmiş sistemin oluşmasını

Detaylı

Film Arşiv Sistemi. Yazılım Tasarım Belgesi

Film Arşiv Sistemi. Yazılım Tasarım Belgesi 1. Sürüm Tarihçesi Film Arşiv Sitesi Yazılım Tasarım Belgesi Sürüm Tarih Yazarlar Açıklamalar 1.0 28.12.2010 Rana ALGAN Elif BONCUK Bu belge sistemin tasarım detaylarını içerir. 2. Giriş 2.1 Amaç ve Kapsam

Detaylı

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 1 ( yılı ve sonrasında birinci

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 1 ( yılı ve sonrasında birinci MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 1 (2016-17 yılı ve sonrasında birinci sınıfa başlayan öğrenciler için) BİRİNCİ YIL 1. Dönem

Detaylı

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

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam Alper UĞUR Yazılım Mimarisi Gereksinim: NE? Mimari : NE+NASIL GEREKSİNİMLER (software architecture) Requirements : WHAT? Architecture : WHAT + HOW?

Detaylı

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

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.

Detaylı

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İ

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İ 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İ TBIL-40-0 Nesneye Yönelik Sistem Çözümleme ve Tasarım HAZIRLAYAN 22325 Fahri DÖNMEZ DANIŞMAN

Detaylı

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

NESNEYE YÖNELİK ÇÖZÜMLEME SÜRECİ NESNEYE YÖNELİK ÇÖZÜMLEMENİN TEMELLERİ Çözümleme: Bir şeyi anlayabilmek için parçalarına ayırmak. Sistemi anlamaya yönelik çalışmalardan ve üst düzey planlama eylemlerinden oluşur. Uygulama/problem alanının

Detaylı

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ TDİ111 TÜRKDİLİ 1 1. Dil, diller ve Türk dili 2. Dil bilgisi, sözcük, cümle 3. Kelime Türleri 4. Anlatımın

Detaylı

Mobil Cihazlardan Web Servis Sunumu

Mobil Cihazlardan Web Servis Sunumu Mobil Cihazlardan Web Servis Sunumu Özlem Özgöbek Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 2010 İnternet erişiminin yaygınlaşması ve artık mobil cihazlar üzerinden bile yüksek hızlı veri iletişimine

Detaylı

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

Yaz.Müh.Ders Notları #4 1 YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK 1 NESNEYE YÖNELİK ÇÖZÜMLEMENİN TEMELLERİ Çözümleme (Analiz): Bir şeyi anlayabilmek için parçalarına ayırmak. Sistemi anlamaya yönelik çalışmalardan

Detaylı

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS Veri Tabanı Yönetimi BİM-324 3/II 3+0+0 3 4,5 Dersin Dili Dersin

Detaylı

VERİ TABANI UYGULAMALARI

VERİ TABANI UYGULAMALARI VERİ TABANI UYGULAMALARI VERİ TABANI NEDİR? Bir konuyla ilgili çok sayıda verinin tutulmasına, depolanmasına ve belli bir mantık içerisinde gruplara ayrılmasına veri tabanı denir. Veri tabanı programları;

Detaylı

SAĞLIK BİLGİ SİSTEMLERİNİN TARİHSEL GELİŞİMİ

SAĞLIK BİLGİ SİSTEMLERİNİN TARİHSEL GELİŞİMİ TANIM Sağlık hizmetlerinin bilgisayar aracılığı ile gerçekleştirilmesi, elektronik ortamda bilgi alışverişinin otomatik olarak yapılması gibi, tıbbi, finansal ve mali hizmetler açısından ortaya çıkan detaylı

Detaylı

Kullanım Durumu Diyagramları (Use-case Diyagramları)

Kullanım Durumu Diyagramları (Use-case Diyagramları) Kullanım Durumu Diyagramları (Use-case Diyagramları) Analiz aşaması projeler için hayati önem taşır. İyi bir analizden geçmemiş projelerin başarı şansı azdır. Analiz ile birlikte kendimize Ne? sorusunu

Detaylı

Bilgisayar Programlama Dilleri

Bilgisayar Programlama Dilleri Bilgisayar Programlama Dilleri Ömer YÜCEL 13253072 1/32 Sunum İçeriği 1. Program ve Programlama Dili Nedir? 2. Programlama Dillerinin Tarihçesi 3. Programlama Dillerinin Sınıflandırılması 4. Programlama

Detaylı

BLG 1306 Temel Bilgisayar Programlama

BLG 1306 Temel Bilgisayar Programlama BLG 1306 Temel Bilgisayar Programlama Öğr. Grv. M. Mustafa BAHŞI WEB : mustafabahsi.cbu.edu.tr E-MAIL : mustafa.bahsi@cbu.edu.tr Bilgisayar ile Problem Çözüm Aşamaları Programlama Problem 1- Problemin

Detaylı

SİSTEM ANALİZİ VE TASARIMI. Sistem Analizi -Bilgi Sistemleri-

SİSTEM ANALİZİ VE TASARIMI. Sistem Analizi -Bilgi Sistemleri- SİSTEM ANALİZİ VE TASARIMI Sistem Analizi -Bilgi Sistemleri- Bilgi Sistemi Bilgi sistemi, karar vericiler için verileri işleyerek bilgi sağlayan çoğunlukla bilgisayara dayalı sistemlerdir. Bilgi sistemi

Detaylı

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

YZM 2108 Yazılım Mimarisi ve Tasarımı YZM 2108 Yazılım Mimarisi ve Tasarımı Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 1 Yazılım Tasarımına Giriş Bu bölümde;

Detaylı

ÖZ DEĞERLENDİRME SORU LİSTESİ

ÖZ DEĞERLENDİRME SORU LİSTESİ T.C TÜRKİYE KAMU HASTANELERİ KURUMU BURSA İLİ KAMU HASTANELERİ BİRLİĞİ GENEL SEKRETERLİĞİ ORHANELİ İLÇE DEVLET HASTANESİ VE RAPORU BİLGİ YÖNETİMİ ÖZDEĞERLENDİRME SORU LİSTESİ TARİH: Doküman Kodu Yayın

Detaylı

BEDEN EĞİTİMİ I: Haftalık ders 1 saattir (T-0 ) (U-l) (K-0).

BEDEN EĞİTİMİ I: Haftalık ders 1 saattir (T-0 ) (U-l) (K-0). I.SINIF-1.YARIYIL TÜRK DİLİ I : Haftalık ders 2 saattir (T-2 ) (U-0) (K-2). Ders İçeriği; % 10 Dil, Diller ve Türk Dili, % 15 Dil Bilgisi, Sözcük ve Cümle % 25 Kelime Türleri % 25 Anlatım Öğeleri ve Anlatım

Detaylı

PAPERWORK TEKNİK MİMARİ

PAPERWORK TEKNİK MİMARİ PAPERWORK ECM TEKNİK MİMARİ 1. Şekilde (1) numara ile gösterilen Content Server adı verilen Uygulama Sunucusudur. Content Server tüm iş mantığını içerir. Veri Tabanına ve arşivlenen belgelere erişim yetkisi

Detaylı

Yazılım Mühendisliğine Giriş 2018 GÜZ

Yazılım Mühendisliğine Giriş 2018 GÜZ Yazılım Mühendisliğine Giriş 2018 GÜZ 1 İşletim Sistemi (Operating System) 2 Unix İşletim Sistemi Unix AT&T çalışanları tarafından Bell Laboratuvarlarında 1969 yılında geliştirilmiştir. Farklı platformlar

Detaylı

Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML (UnifiedModeling Language) Birleştirilmiş Modelleme Dili

Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML (UnifiedModeling Language) Birleştirilmiş Modelleme Dili Yazılım Gereksinimlerinin Görsel Çözümlemeleri: UML (UnifiedModeling Language) Birleştirilmiş Modelleme Dili UML Diyagramlarının Sınıflandırması UML ile Dinamik Davranışsal (Behaviour) Modelleme usecasediyagramları

Detaylı

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları. Script Statik Sayfa Dinamik Sayfa Dinamik Web Sitelerinin Avantajları İçerik Yönetim Sistemi PHP Nedir? Avantajları Dezavantajları Script HTML kodları arasına yerleştirilen küçük kodlardır. Web sayfalarında

Detaylı

SYS Version 1.0.1 Satış Yönetim Sistemi

SYS Version 1.0.1 Satış Yönetim Sistemi SYS Version 1.0.1 Satış Yönetim Sistemi 1. Genel Bakış Değişen rekabet ortamı ve farklılaşan müşteri beklentileri, bayi ağlarının kompleks ve yönetiminin zor olması satış süreçlerini oldukça farklı bir

Detaylı

Yazılım-donanım destek birimi bulunmalıdır.

Yazılım-donanım destek birimi bulunmalıdır. BİLGİ YÖNETİMİ Yazılım-donanım destek birimi bulunmalıdır. o Yazılım-donanım destek birimi 24 saat kesintisiz hizmet sunmalı, o Yazılım-donanım destek birimi çalışanlarının güncel iletişim bilgileri santralde

Detaylı

Veri Tabanı Yönetim Sistemleri Bölüm - 3

Veri Tabanı Yönetim Sistemleri Bölüm - 3 Veri Tabanı Yönetim Sistemleri Bölüm - 3 İçerik Web Tabanlı Veri Tabanı Sistemleri.! MySQL.! PhpMyAdmin.! Web tabanlı bir veritabanı tasarımı. R. Orçun Madran!2 Web Tabanlı Veritabanı Yönetim Sistemleri

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ VERİ TABANI YÖNETİM SİSTEMLERİ ÖĞR.GÖR.VOLKAN ALTINTAŞ 26.9.2016 Veri Tabanı Nedir? Birbiriyle ilişkisi olan verilerin tutulduğu, Kullanım amacına uygun olarak düzenlenmiş veriler topluluğunun, Mantıksal

Detaylı

Ders Kodu Yarıyıl T+U Saat Kredi AKTS. Programlama Dilleri

Ders Kodu Yarıyıl T+U Saat Kredi AKTS. Programlama Dilleri DERS BİLGİLERİ Ders Kodu Yarıyıl T+U Saat Kredi AKTS Programlama Dilleri 356 6 2+2 4 5 Ön Koşul Dersin Dili Dersin Seviyesi Dersin Türü Dersi Veren Öğretim Elemanı Türkçe Lisans Zorunlu Arş. Grv. İlyas

Detaylı

BİT in Temel Bileşenleri (Yazılım-1)

BİT in Temel Bileşenleri (Yazılım-1) Ders 4 BİT in Temel Bileşenleri (Yazılım-1) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu

Detaylı

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER Dr. Hayrettin Bahşi bahsi@uekae.tubitak.gov.tr 11 Mart 2010 Gündem Bulut Hesaplama Sistemleri ve Bilgi Güvenliği Güvenli Yazılım Geliştirme Hayat Döngüsü

Detaylı

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi Mehmet Karakoç Akdeniz Üniversitesi Bilgisayar Bilimleri Araştırma ve Uygulama Merkezi 28.11.2014 inet-tr'14 : GWT AUFaculty Project 1 İçerik Giriş

Detaylı

5. PROGRAMLA DİLLERİ. 5.1 Giriş

5. PROGRAMLA DİLLERİ. 5.1 Giriş 5. PROGRAMLA DİLLERİ 8.1 Giriş 8.2 Yazılım Geliştirme Süreci 8.3 Yazılım Geliştirme Sürecinde Programlama Dilinin Önemi 8.4 Programlama Dillerinin Tarihçesi 8.5 Programlama Dillerinin Sınıflandırılması

Detaylı

Veri Tabanı-I 1.Hafta

Veri Tabanı-I 1.Hafta Veri Tabanı-I 1.Hafta 2010-2011 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Meslek Yüksekokulu Burdur 2011 Muhammer İLKUÇAR 1 Veri ve Veri Tabanı Nedir? Veri Bir anlamı olan ve kaydedilebilen

Detaylı

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayarda Programlama. Temel Kavramlar Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu

Detaylı

Tedarik Zinciri Yönetimi

Tedarik Zinciri Yönetimi Tedarik Zinciri Yönetimi -Dağıtım Planlaması- Yrd. Doç. Dr. Mert TOPOYAN Dağıtım Tedarik zinciri içerisindeki ürün akıșları incelendiğinde üç temel akıș görülmektedir: Tedarik edilen girdilerin akıșı İmalat

Detaylı

Türkiye Barolar Birliği internet sitesi

Türkiye Barolar Birliği internet sitesi Türkiye Barolar Birliği internet sitesi Türkiye Barolar Birliği internet sitesi, güncel teknolojinin sunduğu son imkânlarla, tamamen merkezi yönetim sistemine sahip dinamik ve geliştirilebilir bir sistem

Detaylı

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

9.DERS Yazılım Geliştirme Modelleri 9.DERS Yazılım Geliştirme Modelleri 1 Yazılım Geliştirme Yaşam Döngüsü ve Modeller Herhangi bir yazılımın, üretim aşaması ve kullanım aşaması birlikte olmak üzere geçirdiği tüm aşamalar olarak tanımlanabilir.

Detaylı

08217 Internet Programcılığı I Internet Programming I

08217 Internet Programcılığı I Internet Programming I Ders Tanıtım Sunumu 08217 Internet Programcılığı I Internet Programming I Elbistan Meslek Yüksek Okulu 2012 2013 GÜZ Yarıyılı 17 Eyl. 2012 Pzt. Öğr. Gör. Murat KEÇECİOĞLU Dersin Adı Ders Tanıtım Bilgileri

Detaylı

YZM 3215 İleri Web Programlama

YZM 3215 İleri Web Programlama YZM 3215 İleri Web Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 ORM (Object Relational Mapping) ve EF (Entity

Detaylı

İNTERNET PROGRAMCILIĞI 2 10. HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

İNTERNET PROGRAMCILIĞI 2 10. HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir. İNTERNET PROGRAMCILIĞI 2 10. HAFTA İçindekiler MYSQL - PHPMYADMIN Mysql Nedir PhpMyAdmin Nedir PhpMyAdmin Arayüzü Hedefler Mysql' in görevini söyleyebilir PhpMyAdmin' in kullanım amacını söyler Hazırlayan

Detaylı

Asp.Net Veritabanı İşlemleri

Asp.Net Veritabanı İşlemleri Asp.Net Veritabanı İşlemleri Asp.Net Veritabanı İşlemleri Birçok uygulamada bilgiler geçici olarak tutulur ve oturum sonlandırıldığında bu bilgiler bellekten silinir. Ancak etkileşimli web sitelerinde

Detaylı

Turquaz. Açık kodlu muhasebe yazılımı http://www.turquaz.com. Turquaz Proje Grubu

Turquaz. Açık kodlu muhasebe yazılımı http://www.turquaz.com. Turquaz Proje Grubu Turquaz Açık kodlu muhasebe yazılımı http://www.turquaz.com Turquaz Proje Grubu Konu Başlıkları 1. Turquaz Proje Grubu 2. Programın fikri 3. Geliştirme aşaması 4. Programın içeriği 5. Yapılacaklar 6. Dizayn

Detaylı

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

Ders Adı : Nesne Tabanlı Programlama-I Ders No : Teorik : 3 Pratik : 1 Kredi : 3.5 ECTS : 4. Ders Bilgileri. Image not found http://bologna.konya.edu.tr/panel/images/pdflogo.png Ders Adı : Nesne Tabanlı Programlama-I Ders No : 0690130114 Teorik : 3 Pratik : 1 Kredi : 3.5 ECTS : 4 Ders Bilgileri Ders Türü Öğretim

Detaylı

PAZARTESİ SALI 2015-2016 Ders Programı 1. Öğretim 09.00-09.50 10.00-10.50 11.00-11.50 12.00-12.50 HRT4291 WEB TABANLI CBS GR:11 Ü.GÜMÜŞAY EZ-121 ; D1-129 HRT4291 WEB TABANLI CBS GR:22 Ü.GÜMÜŞAY EZ-121

Detaylı

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

YAZILIM KAVRAMINA BİR BAKIŞ. Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007 YAZILIM KAVRAMINA BİR BAKIŞ Gürcan Banger Elektrik Yük. Müh. ESOGÜ - 9 Nisan 2007 YAZILIM ve DONANIM Bilgisayar kavramı, donanım ve yazılım olmak üzere iki ana bileşenden oluşuyor. Elektronik, mekanik

Detaylı

Copyright 2012 EMC Corporation. All rights reserved.

Copyright 2012 EMC Corporation. All rights reserved. 1 Oracle ve SAP Yedeklemesinde Yeni Stratejiler Erinç Mendilcioğlu Kıdemli Sistem Mühendisi 2 Veri Yedeklemede Karşılaşılan Zorluklar Verilerin Çok Hızlı Büyümesi Applikasyon Çeşitliliği Her Geçen Gün

Detaylı

İÇERİK OTO-MOBILE. Standart Süreç OTO-MOBILE. Avantajlar. Sistem Görünümü. Sistem Bilgisi. Yazılım / Donanım Gereksinimi

İÇERİK OTO-MOBILE. Standart Süreç OTO-MOBILE. Avantajlar. Sistem Görünümü. Sistem Bilgisi. Yazılım / Donanım Gereksinimi 03.05.2011 1 İÇERİK OTO-MOBILE Standart Süreç OTO-MOBILE Avantajlar Sistem Görünümü Sistem Bilgisi Yazılım / Donanım Gereksinimi 2 3 Tamir/Bakım Talebi Müşteri Araç Kontrolü Servis İş Emri Servis Parça

Detaylı

Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği

Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği Programlama Dilleri II Bilgisayar ve Öğretim Teknolojileri Öğretmenliği Ders Hakkında.NET, Ye n i Je n era syo n Inter n et in geliştirilmesi için gerekli ürün ve teknoloji platformudur. Bugün sayısal

Detaylı

Sistem ve Yazılım Nedir?

Sistem ve Yazılım Nedir? Sistem ve Yazılım Nedir? 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 mantık dahilinde insanlar tarafından

Detaylı

İş Zekâsı Sistemi Projesi

İş Zekâsı Sistemi Projesi BI İş Zekâsı Sistemi Projesi Ulaş Kula, Bilişim Ltd. Esinkap 5. Ar-Ge Proje Pazarı 31 Mayıs 2012 Bilişim Ltd. 1985 te kurulan Bilişim Ltd, Türkiye nin üstün başarıyla sonuçlanmış önemli projelerine imza

Detaylı

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr Gölhisar Meslek Yüksekokulu Bilgisayarın Yapısı Donanım (Hardware): Bir bilgisayara genel olarak bakıldığında; Kasa, Ekran, Klavye, Fare, Yazıcı, Hoparlör,

Detaylı

Bilgiyi Keşfedin! Özelleştirme, Eklenti ve Veri Entegrasyonu Kurumsal Seviyede Yönetim ve Performans

Bilgiyi Keşfedin! Özelleştirme, Eklenti ve Veri Entegrasyonu Kurumsal Seviyede Yönetim ve Performans Bilgiyi Keşfedin! LOGO MIND INSIGHT (powered by Qlik) İŞ ANALİTİĞİ ÜRÜNÜ, HERKESİN SEZGİLERİ İLE ARAŞTIRMA VE KEŞİF YAPMASINI SAĞLAYAN ÇOK ÇEŞİTLİ ESNEK VE İNTERAKTİF GÖRSELLER OLUŞTURABİLECEĞİ YENİ NESİL

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya

Detaylı

SİSTEM İHTİYAÇLARI (Tiger Enterprise / Tiger 3 Enterprise)

SİSTEM İHTİYAÇLARI (Tiger Enterprise / Tiger 3 Enterprise) SİSTEM İHTİYAÇLARI (Tiger Enterprise / Tiger 3 Enterprise) / Gereksinimleri : Sunucu: 60 GB boş disk 21-50 kullanıcı arası en az çift işlemcili Intel Xeon Processor L5638 (12M Cache, 2.00 GB boş disk RAID

Detaylı

Kalite Kontrol Yenilikler

Kalite Kontrol Yenilikler Kalite Kontrol Yenilikler Amaç ve Fayda Kalite Kontrol modülünde ISO 2859 standardının desteklenmesine, kullanımın daha fonksiyonel ve rahat olabilmesine yönelik bazı iyileştirme çalışmaları yapılmıştır.

Detaylı

Bilgi Servisleri (IS)

Bilgi Servisleri (IS) Bilgi Servisleri (IS) GRID Kullanıcı Eğitimi Boğaziçi Üniversitesi 2007, İstanbul Emrah AKKOYUN Konu Başlığı Neden ihtiyaç duyulur? Kullanıcılar kimlerdir? Bilgi Servisi türleri MDS ve BDII LDAP Bilgi

Detaylı

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ Derleyen: Prof. Dr. Güngör BAL Bölüm 09 Bilişim ve Karar Destek Sistemleri Prensipler ve Öğrenme Hedefleri İyi karar-verme ve problem çözme yetenekleri etkin bilişim ve

Detaylı

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR 4.ÜNĐTE Đyi bir DNS in içermesi gereken özellikler nelerdir? ( 5 ) Đsimlendirme imlası açık ve süphesiz olmalıdır; Bir kullanıcı bir isme

Detaylı

Web Uygulama Güvenliği Kontrol Listesi 2010

Web Uygulama Güvenliği Kontrol Listesi 2010 Web Uygulama Güvenliği Kontrol Listesi 2010 1 www.webguvenligi.org Web uygulama güvenliği kontrol listesi 2010, OWASP-Türkiye ve Web Güvenliği Topluluğu tarafından güvenli web uygulamalarında aktif olması

Detaylı

ÜRETİM SÜREÇLERİNİ GÖZLEMLEMEK VE KONTROL ETMEK İÇİN KABLOSUZ ÇÖZÜM

ÜRETİM SÜREÇLERİNİ GÖZLEMLEMEK VE KONTROL ETMEK İÇİN KABLOSUZ ÇÖZÜM NETWORKER GÖZLEMLEME SİSTEMİ ÜRETİM SÜREÇLERİNİ GÖZLEMLEMEK VE KONTROL ETMEK İÇİN KABLOSUZ ÇÖZÜM Her tür makinene de kullanılabilir Kullanıcının bilgisayarına ilave bir yazılım yüklenmesi gerekmiyor Bağımsız

Detaylı

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1 Görsel Programlama DERS 01 Görsel Programlama - Ders01/ 1 Takdim Planı Nesneye Dayalı Programlama Kavramı Nesne, Sınıf Kavramı Java Programlama Dili Java Programlama Dili Temel Özellikleri Java Sürümleri

Detaylı

ESİS Projesi. Kaynaklar Bakanlığı

ESİS Projesi. Kaynaklar Bakanlığı ESİS Projesi Hem ulusal, hem de uluslararası platformda enerji, bir ülkenin politika üretmesi ve uygulaması gereken en önemli stratejik alanlardan birisidir. Ülkemiz de sahip olduğu kritik jeopolitik konumu

Detaylı