MIS224T: BİLİŞİM SİSTEMLERİ ANALİZİ VE TASARIMI 2017 Bahar Derse Giriş Yrd. Doç. Dr. Büşra Özdenizci
Ders Hakkında Sistem geliştirme yaşam döngüsü, sistem geliştirme methodolojileri Geleneksel ve nesne-yönelimli bilişim sistemleri geliştirme Veri ve süreç özelliği ile ilgili güncel kavramsal modelleme araçları ve dilleri İş problemi analizi ve bilgi sistemi gereksinimlerini detaylandırılması için sistematik yöntem kullanımı Çeşitli vaka incelemeleri ve modelleme çalışmaları ile birlikte yönlendirilmiş okumalar
Kaynaklar Sistem Analizi ve Tasarımı: Nesneye Yönelik Modelleme Prof. Dr. Oya Kalıpsız ve diğ. Papatya Yayıncılık, ISBN: 978-975-6797-68- Systems Analysis and Design In a Changing World, 6th Edition Satzinger et al. ISBN: 978-1111534158 Ders notları, verilen makaleler COL Course Materials, Announcements sürekli kontrol ediniz
Notlandırma Dersi geçmek için, aşağıda verilen tüm unsurları sağlamalısınız; aksi takdirde F harf notu alarak dersi bir sonraki sene tekrar etmek durumunda kalacaksınız: Bir gerekçeye bağlı olsun/olmasın, 2 haftadan fazla ders ve 2 haftadan fazla laboratuvar kaçırmamak, Projeden 30 üzerinden en az 10 almak, Ara sınavdan 25 üzerinden en az 10 almak, Final sınavından 30 üzerinden en az 10 almak İçerik Katkı Aktif Katılım ve Quizler 15% Proje ve Sunum 30% Ara Sınav 25% Final Sınavı 30% Toplam 100%
MIS224T Bilişim Sistemi Analizi ve Tasarımına Giriş 2017 Bahar LMF318, 1. Hafta Yrd. Doç. Dr. Büşra Özdenizci
6 Sistem Bir hedef veya amacı gerçekleştirmek üzere bir arada çalışan birbiriyle ilişkili parçalardan oluşan ve girdiçıktıları olan sınırları belirlenmiş bir bütündür
7 Sistem Özellikleri 1. Hedef ve Amaç! 2. Bileşenler 3. Birbiriyle İlişkili Bileşenler 4. Sınır 5. Çevre 6. Ara yüzler 7. Girdi 8. Çıktı 9. Kısıtlar ve Ölçütler
Bir Fast Food Restoranı Düşünelim Girdiler Gıda, Para, Emek vb. Ofis Depo Mutfak Yemek Alanı Çıktılar Hazırlanmış Yemek, Kazanç vb. Sistem Sınırı Çevre: Müşteriler, Distribütörler, Bankalar vb.
9 Sistem Düşüncesi Fast food restoranı bir sistemdir! Sistem için başka örnekler? Bankalar, hastaneler, şirketler Üniversiteler, okullar Sistem Yaklaşımını Bilişim Sistemlerine uygulayabiliriz?
10 Bilişim Sistemi BS (Bilişim Sistemi, Bilgi Sistemi vb.) organizasyonda kontrolü ve koordinasyonu sağlayarak karar almada kullanılmak üzere bilgiyi toplamak, işlemek, saklamak ve dağıtmak için oluşturulan ilişkisel elemanlar kümesi Altsistem Daha büyük bir sistemin parçası Fonksiyonel ayrıştırma sistemi daha küçük altsistemlere ve bileşenlere ayırma
11 Bilişim Sistemi GİRDİ Veri Bilişim Sistemi İŞLEM İşlemek Düzenlemek Hesaplamak Geri Bildirim ÇIKTI Enformasyon Environment Competitors, Customers, Suppliers, Stockholders, Agencies
Beyin Fırtınası Örnekler verelim Ne tür bilgiye ihtiyaç duyarız? Kullanıcı gereksinimleri? İş gereksinimleri? İşlemsel Bilgi Sistemleri Karar Destek Sistemleri, Uzman Sistemler Yönetim Bilgi Sistemleri CRM, ERP, HR, SCM Sistemleri E-Ticaret Servisleri, E-İş Servisleri, Mobil Uygulamalar, Sosyal Ağ Uygulamaları, Öğrenci Bilgi Sistemi, Sağlık Bilgi Sistemi ve diğerleri
13 Bir Bilişim Sistemi Nasıl Geliştiririz? Sistem Geliştirme Yaşam Döngüsü SGYD BS geliştirme, oluşturma, yaygınlaştırma, kullanma ve güncelleme işlemlerinin tümü SGYD
Her Şey Bir FİKİR ile Başlar!
15 Proje Başlangıç ve bitişi belli olan ve belirli bir sonuç veren planlı bir girişim, taahhüt Bir bilgi sistemi geliştirmek için kullanılır Sistem analizi ve sistemleri tasarım araçları ve teknikleri hakkında bilgi gerektirir
16 Enformasyon Sistemleri Enformasyon Sistemleri Modern organizasyonların başarısı için çok önemlidir İşletmeyi daha rekabetçi hale getirmek için sürekli olarak geliştirilmeleri devam eder Üretim ve kârı etkiler Başarılı sistem geliştirmenin anahtarları Detaylı sistem analizi ve tasarımı İşin gereksinimlerinin anlaşılması
17 Sistem Analizi ve Sistem Tasarımı Sistem analizi sistemin ne yapması gerektiğinin detaylı olarak anlaşılması süreci Sistem tasarımı enformasyon sistemi bileşenlerinin fiziksel olarak nasıl geliştirilmesi gerektiğinin detaylı olarak belirlenmesi süreci
18 SDLC Sistem geliştirme yaşam döngüsü - Sistem geliştirme sürecini yürütmek için genel bir yapı sağlar Proje planlaması proje başlatma, fizibilite sağlaması, zaman çizelgesi planlaması, onay alma Analiz iş ihtiyaçlarını ve uygulama gereksinimlerini anlama Tasarım gereksinimler ve analiz kararları doğrultusunda çözüm sistemini tanımlama Uygulama inşa etme, test etme, kullanıcıları eğitme, ve yeni sistemi kurma Destek sistemin çalışmasını devam ettirme ve geliştirme
Sistem Geliştirme Yaşam Döngüsü SGYD Aşamaları Proje Seçme ve Planlama Bakım Analiz Test Tasarım Uygulama
SGYD Paydaşları Üst Yöneticiler SİSTEM ANALİSTİ Programcılar Proje Yöneticileri Test Uzmanları Son Kullanıcılar SİSTEM Diğer Bilgi Sistem Destek Personeli
21 Sistem Analisti Kimdir? İnsan İlişkileri İletişim Becerileri, Konuşma ve Dinleme Becerileri, Yazılı ve Sözlü Sunumları, Grup Çalışması, Tek Başına Çalışma Becerisi, Beklentileri Yönetebilme vb. Analitik Düşünme Bilgi ve Becerileri Sistem Düşüncesi, Sistem (Bütünsel) Yaklaşımı, Problem Belirleme ve Tanımlama, Problem Analizi ve Çözümleme, Örgütsel Bilgi Zeka! Yönetim Bilgi ve Becerileri Kaynak, Zaman, Değişim, Risk Yönetimi Proje Yönetimi! Teknik Bilgi ve Becerileri Teknik bilgi ve birikimini sürekli güncel tutma Bir Meslek olarak Sistem Analizi Sistem Analisti! Uygulama Standartları, Etik, Kariyer
22 Sistem Analisti Enformasyon teknolojileri kullanan iş problemlerini çözmek için analiz ve tasarım teknikleri kullanır Problem Çözümüne Analist in Yaklaşımı
23 Proje Planlama Proje Belirleme ve Tanımlama Problemi belirle, ön inceleme Yeni sistemin kapsamını tanımla Yeni sistemin avantajları/dezavantajları Fizibilite Çalışması Uygulama! Takvim ve kaynak planlama Bütçe tahmini Proje ekibi, personeli Fizibilite Çalışmasını Değerlendirme Projeyi Başlat! Sistem Kapsam Dokümanı
24 Fizibilite Çalışması Nedir? Proje fizibilite çalışmasının amacı projenin olabilirliğini araştırmaktır; sistem üzerinde genel olarak bir ön inceleme gerçekleştirilir ve projenin planı, bütçesi vb. özellikleri ortaya konur: Teknik/Operasyonel Ekonomik Bugünkü Değer Yönetimi, Kar Zarar Analizi, Geri Ödeme Süresi, Başa baş Noktası Yönetimi vb. Zaman / Takvim / Kaynak Critical Path Method (CPM), GANTT Chart Analizi, PERT Teknikleri vb. Örgütsel, Yönetimsel, Sosyal, Yasal MAN473 BUSINESS PROJECT MANAGEMENT Fizibilite Çalışması Raporu
25 (2) Sistem Analizi Yeni Sistemi Tanıyalım Sistem Kapsam Dokümanı Sonra, Detayları Raporlayalım AS-IS analizi Veri Toplama Problem Alanıyla ilgili Veri Toplama TO-BE analizi Sistem Gereksinimleri Tanımlama Gereksinimleri Önceliklendirme Gereksinimleri Keşfetmek için Prototip Ürün Geliştirme Sistem Analiz Dokümanı
26 AS-IS Analizi: Veri Toplama Teknikleri Görüşme Yüz yüze, telefon, elektronik, grup video vb. Anket Açık/kapalı uçlu sorularla anket uygulama Elektronik anketler vb. Gözlem Checklist, İz düşüm teknikleri Doküman analizi vb.
27 Sistem Gereksinimleri Sistem Gereksinimleri, yeni sistemin sınırlarını ve özelliklerini ifade eder. Fonksiyonel gereksinimler: Sistemin gerçekleştirmesi gereken süreçleri ve aktiviteleri ifade eder, örneğin günlük satışları raporlama, yıllık satışları kontrol etme vb. Kullanım Durumları (Kullanım Senaryoları) Fonksiyonel olmayan gereksinimler: Desteklemesi gereken diğer aktiviteleri ifade eder Teknik gereksinimleri, Performans gereksinimleri, Kullanılabilirlik gereksinimleri, Dayanıklılık gereksinimleri, Güvenlik gereksinimleri Fonksiyonel ve fonksiyonel olmayan gereksinimlerin hepsi geliştirilecek olan yeni sistemi tanımlayan önemli unsurlardır; hepsi detaylıca analiz edilerek raporlanmalıdır.
Sistem Analizi sürecinde modeller Gereksinim Diyagramları (1) Geleneksel/ Yapısal Yaklaşım (Traditional Approach) (2) Nesne Yönelimli Yaklaşım (Object Oriented Approach)
31 (3) Sistem Tasarımı Sistem Analiz Dokümanı Önerilen çözümün/sistemin tasarımı Sistemi bileşenlerine ayırarak tasarımını gerçekleştirme Üst Seviye Tasarım Mimari Tasarımı: Sistem yapısının genel tasarımı ve modüler olarak incelenmesi Detaylı Tasarım: Her modülün detaylı sistem ve program incelemesi Sistem Tasarım Dokümanı
Sistem Bileşenlerinin Tasarımı
33 Sistem Tasarımı Aktiviteleri Ağ ve network yapısının tasarımı Uygulama mimarisi (two layer, three layer, web services, multitier architectures vb.) Yazılım mimarisi Kullanıcı ara yüz tasarımları Sistem ara yüz tasarımları Veritabanı yapısı ve entegrasyonu tasarımı Algoritma tasarımları Sistem kontrol yapıları Prototip uygulamalar
(1) Yapısal/Geleneksel Yaklaşım (2) Nesne Yönelimli Yaklaşım
Sistem Analiz Modelleri ve Dokümanları Sistem Analizi İş süreçlerini ve olaylarını anlama, sistem aktivitelerini belirleme, gereksinimleri tanımlama, bilgi depolama ihtiyacını tanımlama Sistem Tasarımı Çözüm olarak önerilen sistemin bileşenlerini yapılandırma, düzenleme ve programlama/uygulama aşaması için tasarımını gerçekleştirme Bazen sistem analizi ve tasarımı aşamaları paralel olarak gerçekleşebilir.
36 (4) Uygulama Yeni Sistemi Programlama Yazılım Bileşenleri Geliştirme Yazılımı Raporlama Yeni Sistemi Yükleme ve Kurma Sistem Tasarımı Dokümanları Yazılım Dokümanı
37 (5) Test Yeni Sistemi Doğrulama Test Planı, Test Senaryoları Birim Testleri Birleştirme Testleri Sistem Testi Güvenlik Testi Kabul Testi Kullanılabilirlik Testi Dayanıklılık Testi Uyumluluk Testi Test Analiz Raporu Yazılım Dokümanı MIS482 System Testing and QA
38 (6) Bakım ve Destek Yeni Sistemi Destekleme Sistemin Bakımı, Geliştirilmesi Bug ve Hataları Giderme Kullanıcıları Destekleme Kullanım kılavuzları Eğitimler Yardım masaları Sistem Geliştirme genellikle kompleks ve zorlu bir süreçtir; hiç bir zaman hatasız olarak gerçekleşmez!
SGYD ve Proje Yönetimi Proje Planlama Analiz Proje Gerçekleştirme Proje Performansı ve Kontrolü Tasarım Uygulama MAN473 BUSINESS PROJECT MANAGEMENT Test Bakım Proje Kapanışı
40 Enformasyon Sistemi Geliştirme Herbir SGYD aktivitesinin tamamlanması için izlenecek kapsamlı prensipler, modeller, teknikler ve araçlar topluluğu Unified process (UP) Extreme programming (XP) Scrum Gelecek hafta çeşitli metodolojiler! Çevik ve Döngüsel metodolojiler popüler
41 Çevik ve Döngüsel Çevik geliştirme - geliştirme sırasında yeni gereksinimleri öngören esnekliği vurgulayan bir bilgi sistemi geliştirme süreci Daha hızlı ve değişime duyarlı Yinelemeli gelişme - sistemin çoklu yinelemeler yoluyla parça parça "yetiştirildiği" sistem geliştirme yaklaşımı Sistemin küçük bir parçasını tamamlayın (mini proje), daha sonra hassaslaştırmak ve daha fazlasını eklemek için işlemleri tekrarlayın, daha sonra tamamlanıncaya kadar daha fazla hassaslaştırmak ve eklemek için tekrarlayın
42 Case Study: Ridgeline Mountain Outfitters Büyük Perakende Şirketi Dış ve spor giysileri ve aksesuarları Kayak, dağ bisikleti, su sporları Yürüyüş, kamp, dağcılık Rocky Mountain ve Batı Devletleri Posta siparişi ve telefon siparişini başlattı Perakende mağazalar ve kapsamlı E-iş bileşeni eklendi Müşteri Destek Projesine başlatıyor Analiz ve tasarım kavram örnekleri içeren bir RMO sistem geliştirme projesi vaka çalışması
43 RMO Tradeshow Sistemi Proje Detayları Örnek proje örneği Küçük bilgi sistemi (uygulama) Döngüsel sistem geliştirme metodolojisi izlenmiştir Yalnızca bir iterasyonu gösteriyor SGYD nin tüm 6 süreci üzerinden adım adım geçiliyor Bir iterasyon 6 gün içinde tamamlanıp tekrar yinelenecektir
44 RMO Tradeshow System Sorun - Satınalma ajanları, tedarikçilerden yeni ürünler sipariş etmek için tüm dünyadaki giyim ve kumaş ticaret fuarlarına katılıyorlar İhtiyaç- Fuarlar sırasında tedarikçiler ve yeni ürünler hakkında bilgi toplamak ve izlemek Tradeshow System projesi Tedarikçi bilgi alt sistemi Ürün bilgi alt sistemi
45 Proje Öncesi Aktiviteler Sorunu tanımlayın ve sistemin amacını belgeleyin Ön Soruşturma Sistem Vizyon Belgesi Projeyi başlatmak için onay alın Üst düzey yöneticilerle, yöneticilik de dahil olmak üzere, toplantı yapın Karara vardı, plan ve bütçeyi onayladı
46 Sistem Vizyon Dokümanı Sorun Açıklaması Sistem Özellikleri Faydaları
Problem/Sorun Açıklaması 47
Sistem Özellikleri 48
Faydaları 49
50 Day #1 Aktiviteleri Proje planla İhtiyaç duyulan başlıca bileşenleri (fonksiyonel alanlar) belirleyin Tedarikçi bilgi alt sistemi Ürün bilgi alt sistemi Yinelemeleri tanımlayın ve her işlevi yinelemeye atayın Tedarikçi alt sistemi önce yapmaya karar verin Bir yinelemeyi küçük ve düz ön planda tutun Ekip üyelerini ve sorumluluklarını belirleyin
Her Döngü için İş Kırılım Yapısı (Work Breakdown Structure) 51
52 Day #2 Aktiviteleri Ayrıntıları Keşfedin ve Anlayın İhtiyaçları anlamak için ön bilgi bulma Kullanım durumlarının ve kullanım durumu diyagramının bir ön listesi geliştirin Sınıfların ön sınıfını ve sınıf diyagramını geliştirin
Sınıflar Tüm altsistemler için 53
Taslak Sınıf Diyagramı 54
55 Day #3 Aktiviteleri Ayrıntıları Keşfedin ve Anlayın İhtiyaçları anlamak için derinlemesine araştırma yapın Her kullanım durumunun ayrıntılı iş akışını anlayın ve belgeleyin Tasarım Sistemi Bileşenleri Kullanıcı deneyimini ekranlar ve raporlarla tanımlayın
56 Tedarikçi Bilgi Alt Sistemine Bir Bakış Kullanım Durumu Senaryosu Diyagramı:
57 Aktivite Diyagramı Look up supplier Kullanım Senaryosu
Taslak Kullanıcı Ara Yüz Çalışması Look up supplier Kullanım Senaryosu 58
59 Day #4 Aktiviteleri Tasarım Sistemi Bileşenleri Veritabanını tasarlayın (şema) Masa tasarımı Anahtar ve indeks tanımlama Özellik türleri Bilgi tutarlılığı Sistemin üst düzey yapısını tasarlayın Tarayıcı, Windows veya Akıllı telefon Mimari yapılandırma (bileşenler) Tasarım sınıf diyagramı Alt sistem mimari tasarımı
Veritabanı Şemaları 60
Mimari Yapılandırma Şeması 61
62 Taslak Tasarım Sınıf Diyagramı Includes View Layer Classes and Domain Layer Classes Need to add Utility Classes as well
Alt Sistem Mimari Tasarım Diyagramı 63
64 Day #5 Aktiviteleri Tasarım Sistemi Bileşenleri Tasarım ayrıntılarıyla devam et Kullanım örneğini kullanım durumuna göre devam et Sistem Bileşenlerini Oluşturun, Test Edin ve Entegre Edin Programlamaya devam et Kullanım örneğini kullanım durumuna göre oluşturun Birim ve entegrasyon testleri yapın
Bir Sınıf için Kod Örneği 65
66 Day #6 Aktiviteleri Komple Sistem Testi ve Yaygınlaştırma Sistem işlevsel sınamalarını gerçekleştirme Kullanıcı kabul testi yapın Muhtemelen sistemin bir bölümünü dağıtmak
67 İlk Döngü Özeti Bu küçük bir projenin 6 günlük iterasyonuydu Çoğu iterasyon daha uzun (2-4 hafta) Bu proje 2 iterasyon olabilir Çoğu projede çok daha fazla tekrar vardır Son kullanıcılar, özellikle gün 1, 2, 3 ve 6'ya dahil olmalılar 4. ve 5. gün aynı anda tasarım ve programlamayı içeriyordu Programlama ile birlikte birçok zaman harcandı (burada vurgulanmadı)
6 döngü sonunda RMO Tradeshow System 68
Şimdi, Projeleri Konuşalım! 69
70 Proje Tanımı Proje çalışmamızın amacı IŞIK Üniversitesi öğrencileri için web tabanlı bir portal geliştirmektir. Geliştirilecek olan sistem, kişiselleştirilmiş bir web servis uygulaması olarak düşünülebilir. Öğrencilerin üniversite hayatı boyunca ihtiyaç duyacağı uygulamalar düşünülerek geliştirilecektir. Her öğrencinin kendisine ait bir hesabı olacaktır ve bu hesap üzerinden çeşitli bilgi servisleri sağlanacaktır.
71 Proje Tanımı E-posta, takvim, transkript uygulamaları, kütüphane işlemleri, ders bildirimleri vb. birçok servise tek bir platform üzerinden erişebilecek ve kullanabilecektir. Geliştirilecek olan sistem/portal modüler bir yapıya sahiptir ve her grup (3 öğrenci) farklı bir sistem üzerinde çalışacaktır; Kütüphane Yönetim Sistemi, Yurt Yönetim Sistemi, Spor Ve Sağlık Yönetim Sistemi, Kulüpler Ve Aktiviteler Yönetim Sistemi, Kariyer Yönetim Sistemi gibi çeşitli alt sistemlerden biri üzerinde grup olarak çalışacaksınız.
72 Proje Çıktıları D1: Sistem Kapsamı ve Sistem Gereksinimleri Raporu (%15) Proje Başlama Sunumu (%5) D2: Sistem Gereksinim Analizi (%20) (Olay Tablosu, Kullanım Durumu Diyagramı ve Tanımları, Aktivite Diyagramları) D3: Süreç Modelleme (%15) D4: Domain Modelleme (%10) D5: Nesne Yönelimli Modelleme: Tasarım Sınıf Diyagramı (%10) D6: Kullanıcı Ara Yüz Tasarımı: Mockup, Prototipleme (%10) Proje Sunumu (%10) Final Proje Raporu (Geri Bildirimlere göre Güncellenmiş Rapor, %5)
Şimdi Başlayalım? Proje Takımları ve Proje Konusu!?