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



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

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

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

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

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İĞİ

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

Yazılım Mühendisliği 1

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

Sistem ve Yazılım Nedir?

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

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

Sistem Analizi ve. Tasarımı. Mustafa COŞAR

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

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

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

Bilgisayar Mimarisi Nedir?

Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları. Ömer Faruk MIZIKACI

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

Pardus. S.Çağlar Onur, 21 Aralık Pardus Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği

SiSTEM ANALiZi ve TASARIMI

IENG 227 Modern Üretim Yaklaşımları

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri

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

Sistem Analizi ve Planlama

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

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

ISO/IEC BİLGİ TEKNOLOJİSİ - HİZMET YÖNETİMİ BAŞ DENETÇİ EĞİTİMİ. Terimler Ve Tarifler.

3- PROJENIN BAŞLATıLMASı: PROJE KAPSAM YÖNETIMI

Bilindiği üzere Bilgi Güvenliği Yönetim Sistemi, bilgi ve bilgi varlıklarının

ELEKTRONİK NÜSHA. BASILMIŞ HALİ KONTROLSUZ KOPYADIR

Bilindiği üzere Bilgi Güvenliği Yönetim Sistemi, bilgi ve bilgi varlıklarının

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

Pardus. A. Murat Eren, 25 Mart Pardus Geliştiricisi. Pardus Yenilikleri Sık Sorulan Sorular

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

Yazılım Mühendisliğine Giriş

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

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

TEKNOLOJĠ PLANLAMASI. Başkent Üniversitesi

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

BLG 1306 Temel Bilgisayar Programlama

Bilgisayarda Programlama. Temel Kavramlar

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

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

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

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

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

Akdeniz Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölüm Tanıtımı

5. PROGRAMLA DİLLERİ. 5.1 Giriş

SİSTEMATİK TASARIM-2 HAZIRLAYAN. ADI : Sebile SOYADI : BAYRAK NUMARASI: KONTROL Prof. Dr. H. Rıza BÖRKLÜ

Üretim/İşlemler Yönetimi 2. Yrd. Doç. Dr. Mert TOPOYAN

MUHASEBEDE BİLGİ YÖNETİMİ (MUH208U)

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

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

SİSTEM ANALİZİ VE TASARIMI

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)

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

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

FTR 331 Ergonomi. yrd. doç. dr. emin ulaş erdem

Öğretim planındaki AKTS Ulusal Kredi

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

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Canlı Hizmetteki Sunucu Sistemlerine Erişim Politikası

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

Akdeniz Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölüm Tanıtımı

İŞLETME BİLGİ SİSTEMLERİ

Akdeniz Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölüm Tanıtımı

İŞ ANALİZİ GEREKSİNİM SORU LİSTESİ

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

ALGORİTMA VE PROGRAMLAMA I

Veritabanı. Ders 2 VERİTABANI

MerSis. Bilgi Teknolojileri Bağımsız Denetim Hizmetleri

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

TETKİK SÜRELERİ BELİRLEME TALİMATI

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

Akıllı Ortamlarda Sensör Kontrolüne Etmen Tabanlı Bir Yaklaşım: Bir Jadex Uygulaması

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

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

Proje Çevresi ve Bileşenleri

GİRİŞ. Mehmet Sait Andaç. e-posta: İnşaat Mühendisi ve Endüstri Mühendisi.

aselsan Açık Pozisyonlar Bilgi Teknolojileri (BT) Denetçisi İç Denetçi

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

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

Site Türleri ve Yapıları. Web Teknolojileri ve Programlama ODTÜ-SEM

PROGRAMLAMA TEMELLERİ

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan

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

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

BİT PROJELERİNDE KARŞILAŞILABİLEN OLASI RİSKLER

cofaso ile farkı yaşayın Şubat

TETKİK SÜRELERİ BELİRLEME TALİMATI DETERMINING AUDIT TIME INSTRUCTIONS Doküman No Document No Sayfa No Page No

11.DERS Yazılım Testi

3.DERS YAZILIMDA KALİTENİN ANLAMI

Elektronik Belge Yönetimine Geçiş Sürecinde Kurumsal Sorumluluklar ve Yol Haritası. Tekirdağ 25 Haziran 2012

BENZERSİZ SORUNLARA BENZERSİZ ÇÖZÜMLER

TÜRK STANDARDLARI ENSTİTÜSÜ

Yönetim Sistemleri Kurulumu

T. C. TÜRK STANDARDLARI ENSTİTÜSÜ

YÖNETİM BİLİŞİM SİSTEMLERİ

TS EN ISO/IEC Kullanılabilir Arayüz Sertifikası Verilmesi Süreci

Yazılım Destek Hizmeti

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Transkript:

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

Sistem Analizi ve Tasarımı Sistem analizi ve tasarımının aşağıdaki temel aşamalarla gerçekleştiği söylenebilir. Sistemin planlanması Sistemin analizi Sistem tasarımı Sistemin uygulanması Sistemin bakımı 2

Sistem Kavramı 3

Sistem Kavramı (dvm) 4

5

Sistem Bileşenleri 6

Öğeler 7

İlişkiler 8

Amaçlar 9

Sistemin Temel Bileşenleri 10

Okul Sistem Şeması 11

Okul Sistem Şeması (dvm) 12

Sistemin Temel Bileşenleri 13

Sistemin Temel Bileşenleri (dvm) 14

Sistemin Temel Bileşenleri (dvm) 15

Sistemin Temel Bileşenleri (dvm) 16

Sistem Hiyerarşisi 17

Bir Sistem Örneği Üretim-Kontrol-Planlama 18

Sistemlerin Sınıflandırması 19

Açık ve Kapalı Sistemler 20

Canlı ve Cansız Sistemler 21

Doğal ve İnsan Yapısı Sistemler 22

Statik ve Dinamik Sistemler Örneğin tüplü veya LCD televizyon ile akıllı televizyonlar 23

Soyut ve Somut Sistemler 24

Basit ve Karmaşık Sistemler 25

Sistem Modelleri 26

Sistem Modelleri (dvm) 27

28

Sistem Modelleri (dvm) 29

Gannt Şeması 30

31

Sistem Modelleri (dvm) 32

33

Sistem Modelleri (dvm) 34

35

36

Temel Kavramlar Yazılım Toplumdaki herkes tarafından kullanılabilir Ticaret, kültür ve günlük yaşantılarımızda yaygın olarak kullanılmaktadır. Program Bilgisayar programları bilgisayara komut veren ve belli durumlarda belli şekilde çalışmasını düzenleyen, işlemleri sıraya koyan, belli yapılar oluşturabilen komut dizilimleridir. Programcılar Sabırlı Yaratıcı ve araştırmacı Yeniliklere açık Teknolojiyi takip eden Analitik düşünebilen Analiz yapabilen, sonuçlar çıkarabilen Mantık kurabilen Yazılım kullanıcıları Sadece yazılım ürünlerinin ihtiyaçlarını karşılamaları ve görevlerini kolaylaştırmaları ile ilgilenirler. 37

Programcılar İçin Önemli Sorular Yazılımların bitmesi neden bu kadar uzun sürüyor? Geliştirme maliyetleri neden çok yüksek? Yazılımı müşteriye vermeden önce neden tüm hataları bulamıyoruz? Yazılım geliştirilirken ilerlemenin ölçülmesinde neden zorluk yaşıyoruz? 38

Yazılım Nedir? Bir sistemin donanım bileşenleri dışında kalan her şey Yazılım yalnızca bilgisayar programı ya da programlar kümesi değildir Yazılım bileşenleri: Mantık Veri Belge İnsan (müşteri, geliştirici vs.) Program Yazılım; bileşenlerinin bir amaca yönelik olarak bir araya getirilmesi, yönetilmesi için kullanılacak yöntem, araç, bilgi ve belgelerin tümünü içerir. 39

Yazılım - Günümüz Yazılımlar Oldukça büyük ve karmaşık Uzun süreler zarfında birbirleriyle işbirliği içinde çalışan takımlar tarafından geliştiriliyorlar. Geliştiriciler artık geliştirilen yazılımın son kullanıcısı değiller. Sistemin asıl kullanıcıların alanla ilgili uzman bilgileri yok. 40

Bilgisayar Programı Nedir? Bilgisayarların veri işlemek, bir işlemi gerçekleştirme ya da mantıksal bir problemi çözmek için takip ettikleri; bir programlama dilinde (C, C++, Java, ) yazılmış komutlar grubu 41

Yazılım ve Program Arasındaki Fark Nedir? Program kendi içinde bir bütün olan ve belirli bir işi yerine getiren algoritmik bir ifadedir. Yazılım bir veya birden çok programın, verinin, dökümanın belirli bir amaca yönelik olarak bir araya gelmesinden oluşan yapıdır. 42

Yazılım Üretiminde Hataların Dağılımı Alanı Yüzdesi Mantıksal Tasarım %20 İşlevsel Tasarım %15 Kodlama %30 Belgeleme ve diğerleri %35 43

Yazılım Üretiminde Hata Düzeltme Maliyetleri Alanı Maliyetleri Çözümleme 1 Tasarım 5 Kodlama 10 Test 25 Kabul Testi 50 İşletim 100 44

Yazılım Çeşitleri Genel Pek çok farklı müşteriye satılmak üzere üretilmiş hazır ticari ürünler (CommercialOffTheShelf COTS) Ismarlama/İsteğe özelleştirilmiş Tek bir müşteri için onun belirtimleri (ihtiyaçları) doğrultusunda hazırlanmış 45

Yazılım Uygulama Alanları Sistem yazılımları Uygulama yazılımları Mühendislik ya da bilimsel yazılımlar Gömülü yazılımlar Ürün hattı yazılımları (eğlence yazılımları da dahil) Web-uygulamaları Yapay zeka yazılımları Kablosuz Ağ Yazılımları Açık Kaynak Yazılımlar Veri Madenciliği 46

Çözümleyici Kimdir? Sahadaki problemi anlar (Analiz) Modeller (Tasarım) Bir başka ifade ile sahadaki problemi kodlanmaya hazır hale getirir. Programcı programı kodlar. 47

Kavramlar arasındaki ilişki Aşağıdaki kavramları tipik bir sistem içerisinde öneme ve boyuta göre sıraya koyunuz: Donanım Yazılım BS (Bilgi Sistemi/ InformationSystem) BT (Bilgi Teknolojileri / InformationTechnology) 48

BS Nedir? insan, veri, süreçler, bilginin sunumu ve iş ortamındaki günlük işlemlerin yöneticiler ve kullanıcıların karar verme ihtiyaçlarını ve problem çözmelerini destekleyen bilgi teknolojilerinin düzenlenmesidir. 49

BT Nedir? Bilgisayar teknolojisinin (donanım ve yazılım) telekomünikasyon/iletişim teknolojisi ile birleşimini tanımlayan güncel bir terimdir. 50

Kavramlar arasındaki ilişki (dvm) Aşağıdaki kavramları tipik bir sistem içerisinde öneme ve boyuta göre tekrar sıraya koyunuz: Donanım Yazılım BS (Bilgi Sistemi/ InformationSystem) BT (Bilgi Teknolojileri / InformationTechnology) 51

Kavramlar arasındaki ilişki (dvm) BS>> BT BT = Donanım + Yazılım BS = İnsan + Veri + Süreçler + Bilginin Sunumu + Donanım + Yazılım BT 52

Korku Hikayeleri Denver Havaalanı otomatik bagaj sistemi Hava Trafik Kontrol Amerikan Donanma Finans Sistemi Comanche Helikopterleri Açılış 2 yıl gecikti 27 milyon $ maliyet aşımı 360 milyon $ geç hizmete girme maliyeti 8 yıl gecikme 5.6 milyon $ maliyet aşımı 4 sistemden 2 si ve isterlerin % 48 i iptal edildi. 9 yıl sonunda iptal edildi 230 milyon $ maliyet aşımı 10 yıl gecikme 34.4 milyon $ maliyet aşımı İsterlerin % 74 ü iptal edildi. 53

Korku Hikayeleri (dvm) 54

Nedenleri? Para ya da teknoloji esikliğinden değil pek çoğu başarısız proje yönetimi ve yetersiz sistem analizine dayanıyor. Günümüzde büyük ölçekli yazlım geliştirme işleri daha çok karmaşık ve dağıtık ortamlarda gerçekleştiriliyor. Uygulamalar, kullanıcılar, müşteri istekleri, kanunlar, iç politikalar, bütçe, kurum bağımlılıkları sürekli olarak değişmekte. 55

Yazılım Mitleri -1 Yöneticiler ya da teknik kişiler için ciddi problemler oluşturan yanıltıcı yaklaşımlar Yönetici Mitleri Yazılım geliştirme ile ilgili pek çok standart ve prosedür içeren kılavuzlarımız var. Bu takımıma gerekli her şeyi sağlamıyor mu? Eğer planda geri kalırsak, yetişmek için daha fazla programcı ekleyebiliriz Eğer işi başkasına yaptıracaksam (outsource), rahat edip diğer şirketin yapmasını beklerim 56

Yazılım Mitleri -2 Müşteri Mitleri Programı yazmayı başlamak için hedefleri belirleyen genel bir tanım yapmak yeterli olacaktır. Yazılım gereksinimleri sürekli değişir ama yazılımlar esnek olduğundan bu değişikliği yapmak kolay olacaktır. 57

Yazılım Mitleri - 3 Geliştirici Mitleri Programı yazıp çalışmasını sağladıktan sonra işimiz biter. Programın çalışmasını sağlayana kadar kalitesini değerlendirme için bir şey yapamayız. Başarılı bir projedeki teslim edilebilir tek ürün, çalışan programdır. Dökümantasyon bizi yavaşlatan fazla ve gereksiz belgelendirme yapmamıza yol açar. 58

Yazılım Özellikleri (dvm) Yazılım aşınmaz/yıpranmaz, fakat yapılan değişiklikler nedeniyle geriler. Pek çok değişiklikten sonra baştan tasarlanması gerekebilir. DONANIM YAZILIM 59

İyi Yazılımın Özellikleri Yazılım kullanıcısına istenen işlevleri ve performansı sunmalı ve buna ek olarak: Sürdürülebilirlik Yazılım değişen ihtiyaçlara göre gelişebilmelidir. Güvenilebilirlik Yazılım güvenilir olmalıdır. Verimlilik Yazılım sistem kaynaklarını boşa harcamamalıdır. Kullanılabilirlik Sistem tasarlandığı kullanıcıları için kolay kullanılabilir olmalıdır. 60

Genel Yazılım Süreci Çerçevesi İletişim Müşteri işbirliği ve gereksinim toplama Analiz Sistem gereksinimlerinin ve görevlerinin belirlendiği aşamadır. Yazılımın çözüm sunacağı gerçek problem incelenir ve sorunlar ortaya çıkarılır. Planlama İş planını oluşturulur, teknik riskler tanımlanır, gerekli kaynakları listelenir, iş ürünleri üretilir ve iş zaman planı tanımlanır. Kısacası yazılım süreci için gerekli olan bütün kaynakların belirlendiği aşamadır. Tasarım Belirlenen gereksinimleri karşılayacak yazılım sisteminin oluşturulduğu aşamadır. Gerçek problemin yazılım modeli oluşturulur. Gerçekleştirim Kodlama-test-hata ayıklama ve kurulum işlemlerinin yapıldığı adımdır. Kurulum Yazılımın değerlendirme ve geri bildirim için müşteriye teslimatı Bakım Hata ayıklama ve yeni eklentiler yapma aşamasıdır. Bu aşama yazılımın tesliminden sonra gerçekleştirilir. 61

Yazılım Süreci Görevler arasındaki genel akış ve bağımlılık seviyeleri Problemi anlama (iletişim ve analiz) Çözüm planlama (yazılım tasarımı) Planı yürütme (kod üretme) Doğruluk için sonuçları inceleme (test ve kalite güvencesi) 62

Problemin Anlaşılması Bu problemi çözmek için hangi fonksiyon ve özellikler gerekli? Anlaşılması daha kolay daha küçük problemler yaratmak mümkün mü? Grafiksel bir çözümleme modeli oluşturulabilir mi? 63

Çözümün Planlanması Daha önce benzer problemler görüldü mü? Daha önce benzer bir problem çözüldü mü? Halihazırda çözülebilir alt-problemler tanımlanabilir mi? Tasarım modeli oluşturulabilir mi? 64

Planın Yürütülmesi Çözüm plana uygun mu? Her çözüm bileşeni kanıtlanabilir şekilde doğru mu? 65

Sonucun İncelenmesi Çözümün her bir bileşen parçasını test etmek mümkün mü? Üretilen çözüm veri, fonksiyonlar ve gerekli özelliklere uygun sonuçlar üretiyor mu? 66

Yazılımda Pratik Prensipler Yazılım kullanıcılarına değer sağlamak için vardır Keep it simple stupid(kiss) Açık bir vizyon herhangi bir yazılım projesi için gereklidir Her zaman başka birinin işlerini ona göre yürüteceğini düşünerek tanımla, tasarla ve uygula Gelecekteki değişikliklere açık ol 67