Gereksinim analizi çalışmaları yazılım projelerinin başarıya ulaşabilmesi için yapılması gereken en önemli iştir. Doğru şekilde ihtiyaçları ortaya konmuş projeler ancak başarılı olabilirler.Gereksinim analiz çalışmaları iki aşamadan meydana gelir; Gereksinimlerin ortaya çıkarılması
Gereksinimlerin öncelik durumuna göre analiz edilmesi. Bu sunumda iyi bir proje için gerekli olan gereksinim analiz dokümanı hazırlama yöntemi verilmiştir.
Sunum, iş analisti ve iş analizi hakkında en temel bilgileri içermektedir.
Aynı konuda eğitim de düzenliyoruz; temasa geçmek için : info@erkmendanismanlik.com
Eğitimin Tanımı:
Son günlerde sıkça duyduğumuz "İş Analisti" kelimesi 2005 yılından sonra yükselen bir değer olarak hayatımıza girmiştir. Bu yıllarda ardı ardına kurulan Bilişim/Teknoloji şirketleri başta banka, sigorta ve telekomünikasyon olmak üzere tüm sektörlerde yoğun olarak iş analisti pozisyonları açmış ve bu açıklarını kapatmaya çalışmıştır. Yıllar içinde artan iş analisti sayısı sonucunda da analiz sektöründe kurum ya da geleneksel yöntemler terk edilerek, tüm dünyada kullanılan adımlar takip edilmeye başlanmıştır.
İş Analistliği, sektörler üzerinde bir birimdir. Analitik düşünme becerisine sahip olan ve BABOK kurallarına uyan her analist her hangi bir sektör hakkında kısa sürede fikir sahibi olabilir ve sektörü-alt sektörleri analiz edebilir.
İş Analistleri günümüzde “Business Analyst” ve “IT Business Analyst” olarak ikiye ayrılmış durumdadır. Eğitimimizde, analiz dünyasına IT Business Analyst perspektifi ile bakmaya ve bu dünyanın temel bilgileri üzerinde duracağız. Analistlerde olması gereken "Analitik düşünce", "BlackBox ve WhiteBox" düşünce yapılarını irdelemeye ve BABOK kurallar bütünlüğü içinde talep yönetimi, domain modelleme, analiz teknikleri ve analiz dokumanı hazırlama yöntemlerini anlatacağız.
Yazılım Ürünü, yazılım tasarımı, modelleme nedir?
Tasarım kalıpları nedir, tarihçesi,
Yazılım Kalitesi, Kötü Tasarım Belirtileri
Yazılım Tasarım prensipleri,
Kohezyon (Cohesion), Ayrıştırma (Decomposition), Fonksiyonel Ayrıştırma, Zayıf Bağlaşım Prensibi (Low Coupling Principle),
Single REsponsibility Principle
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Mesut Günes
ISTQB ve ISEB Foundation level gibi "Test Uzmanlığı" ile ilgili yapılan sınavlara hazırlık olarak tüketilecek dökümandır. Ayrıca yazılım test mühendisliği ile ilgili bilgi edinmek isteyenlerin okuyabileceği Türkçe kaynaktır.
A brief history of automation in Software EngineeringGeorg Buske
In this talk we will discuss different levels of automation and what automation has in common with DevOps, Product Maturity and Machine learning. We will show how automation enables fast feedback and finally, while looking at an example of an observable and continuous deployable system we will show how automation can make your team more productive (while delivering more stable software and decrease time to market).
Test Mühendisliğine Giriş Eğitimi - Bölüm 2Mesut Günes
ISTQB ve ISEB Foundation level gibi "Test Uzmanlığı" ile ilgili yapılan sınavlara hazırlık olarak tüketilecek dökümandır. Ayrıca yazılım test mühendisliği ile ilgili bilgi edinmek isteyenlerin okuyabileceği Türkçe kaynaktır.
PMBOK v5'e göre hazırlanmış olan Risk Yönetimi eğitimi sunusudur. Sunu ve sunudaki resimler türkçe hazırlanmıştır, sunularda bulunan dokümanlar zip olarak ayrıca yüklenecektir
Kullanılabilirlik ve Kullanıcı Deneyimi TeknikleriUserspots
Kullanılabilirlik ve kullanıcı deneyimi projelerinde kapsamlı uygulanabilir teknikler yer almaktadır.
Kullanılabilirlik ve kullanıcı deneyimi çalışmaları çeşitli metodolojilerle gerçekleştirilebilir. Bu metodolojileri projelere uygun olarak seçmek çok önemlidir. Her yöntem kendine özgü biçimler içerir. Dolayısıyla bu teknikleri analiz ederek projelere uyarlamak hayati önem taşır.
This document provides a template for a software test plan, with guidance and examples for the typical sections included in a test plan. The sections covered include an introduction, scope, test plan identification, references, test items, features to be tested, testing approach, personnel, management and metrics, and estimation and scheduling. The template is intended to help guide the creation of a comprehensive test plan that covers all essential aspects of testing for a project.
Sunum, iş analisti ve iş analizi hakkında en temel bilgileri içermektedir.
Aynı konuda eğitim de düzenliyoruz; temasa geçmek için : info@erkmendanismanlik.com
Eğitimin Tanımı:
Son günlerde sıkça duyduğumuz "İş Analisti" kelimesi 2005 yılından sonra yükselen bir değer olarak hayatımıza girmiştir. Bu yıllarda ardı ardına kurulan Bilişim/Teknoloji şirketleri başta banka, sigorta ve telekomünikasyon olmak üzere tüm sektörlerde yoğun olarak iş analisti pozisyonları açmış ve bu açıklarını kapatmaya çalışmıştır. Yıllar içinde artan iş analisti sayısı sonucunda da analiz sektöründe kurum ya da geleneksel yöntemler terk edilerek, tüm dünyada kullanılan adımlar takip edilmeye başlanmıştır.
İş Analistliği, sektörler üzerinde bir birimdir. Analitik düşünme becerisine sahip olan ve BABOK kurallarına uyan her analist her hangi bir sektör hakkında kısa sürede fikir sahibi olabilir ve sektörü-alt sektörleri analiz edebilir.
İş Analistleri günümüzde “Business Analyst” ve “IT Business Analyst” olarak ikiye ayrılmış durumdadır. Eğitimimizde, analiz dünyasına IT Business Analyst perspektifi ile bakmaya ve bu dünyanın temel bilgileri üzerinde duracağız. Analistlerde olması gereken "Analitik düşünce", "BlackBox ve WhiteBox" düşünce yapılarını irdelemeye ve BABOK kurallar bütünlüğü içinde talep yönetimi, domain modelleme, analiz teknikleri ve analiz dokumanı hazırlama yöntemlerini anlatacağız.
Yazılım Ürünü, yazılım tasarımı, modelleme nedir?
Tasarım kalıpları nedir, tarihçesi,
Yazılım Kalitesi, Kötü Tasarım Belirtileri
Yazılım Tasarım prensipleri,
Kohezyon (Cohesion), Ayrıştırma (Decomposition), Fonksiyonel Ayrıştırma, Zayıf Bağlaşım Prensibi (Low Coupling Principle),
Single REsponsibility Principle
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Mesut Günes
ISTQB ve ISEB Foundation level gibi "Test Uzmanlığı" ile ilgili yapılan sınavlara hazırlık olarak tüketilecek dökümandır. Ayrıca yazılım test mühendisliği ile ilgili bilgi edinmek isteyenlerin okuyabileceği Türkçe kaynaktır.
A brief history of automation in Software EngineeringGeorg Buske
In this talk we will discuss different levels of automation and what automation has in common with DevOps, Product Maturity and Machine learning. We will show how automation enables fast feedback and finally, while looking at an example of an observable and continuous deployable system we will show how automation can make your team more productive (while delivering more stable software and decrease time to market).
Test Mühendisliğine Giriş Eğitimi - Bölüm 2Mesut Günes
ISTQB ve ISEB Foundation level gibi "Test Uzmanlığı" ile ilgili yapılan sınavlara hazırlık olarak tüketilecek dökümandır. Ayrıca yazılım test mühendisliği ile ilgili bilgi edinmek isteyenlerin okuyabileceği Türkçe kaynaktır.
PMBOK v5'e göre hazırlanmış olan Risk Yönetimi eğitimi sunusudur. Sunu ve sunudaki resimler türkçe hazırlanmıştır, sunularda bulunan dokümanlar zip olarak ayrıca yüklenecektir
Kullanılabilirlik ve Kullanıcı Deneyimi TeknikleriUserspots
Kullanılabilirlik ve kullanıcı deneyimi projelerinde kapsamlı uygulanabilir teknikler yer almaktadır.
Kullanılabilirlik ve kullanıcı deneyimi çalışmaları çeşitli metodolojilerle gerçekleştirilebilir. Bu metodolojileri projelere uygun olarak seçmek çok önemlidir. Her yöntem kendine özgü biçimler içerir. Dolayısıyla bu teknikleri analiz ederek projelere uyarlamak hayati önem taşır.
This document provides a template for a software test plan, with guidance and examples for the typical sections included in a test plan. The sections covered include an introduction, scope, test plan identification, references, test items, features to be tested, testing approach, personnel, management and metrics, and estimation and scheduling. The template is intended to help guide the creation of a comprehensive test plan that covers all essential aspects of testing for a project.
TÜRKİYE’DE YAPILAN SIEM PROJELERİNDE MEMNUNİYET VE FAYDA ÇELİŞKİSİErtugrul Akbas
Yapılan bir ankette insanların %78 i SIEM ürününden memnun.
Bununla birlikte aynı anket çalışmasında ihtiyaçları karşılama konusunda üretilen alarmlar ve default kurallar yeterli gelmekte ancak tam anlamı ile ihtiyaçları karşılayamamaktadır da denmekte. Bu çalışmada bunun sebepleri irdelenmektedir.
Yönetici Denetçi ve Son Kullanıcı Bilişim Akademisialinizam99
Bilişimci olmayan yönetici, denetçi ve son kullanıcılara (IT for Non IT, IT for Manager ) yönelik eğitimin tanıtımı
Fatih Sultan Mehmet Vakıf Üniversitesi
Kurumsal Bilgi Portali - Knowledge ManagementSevket Akpinar
Marketten ücretini ödeyerek aldığınız bir bardağı, bir kere su içtikten sonra atar mısınız? Bilgi de bir maliyet içerir bu yüzden daha sonra ihtiyaç durumunda başkalarının da kullanımına ve kolay erişimine hazır olacak şekilde saklanmalıdır.
IntelligentResponse ANET SureLog ürününün akıllı alarm ve uyarı mekakanizmasıdır.
• Mail gönderme
• Script çalıştırma
o Visual basic
o Batch dosya
o Perl script
o Phyton script
• Java kod çalıştırma
• Uygulama çalıştırma
• Dinamik liste güncelleme. Örnek: Yasak IP listesine yeni IP ekleme veya çıkarma, Son 1 haftada aynı makinaya 3 den fazla başarısız oturum denemesi yapanlara yeni bir kullanıcı ekleme veya çıkarma vb.. işlemleri parametre yönetimi de yaparak yerine getirmek mümkündür
Similar to Gereksinim Analizi Dokümanı Hazırlama (20)
The document discusses the ALGOL family of programming languages, including their history and goals. It describes the three versions of ALGOL: ALGOL 58, which introduced features like types and control structures; ALGOL 60, which refined the syntax and added block structures and recursion; and ALGOL 68, which had a more advanced type system but was difficult to adopt. While ALGOL did not achieve wide commercial success, it was influential in establishing concepts like block structures, recursion, and formal syntax specification that became standard in later languages.
1. Yrd. Doç. Dr. Hidayet Takcı
htakci@gmail.com | htakci@cumhuriyet.edu.tr
Cumhuriyet Üniversitesi Bilgisayar Müh. Bölümü
Öğretim Üyesi
2. Nedir?
Projenin başarıya ulaşabilmesi için yapılması gereken
en önemli iştir.
Doğru şekilde isterleri ortaya konmuş projeler ancak
başarılı olabilirler.
İki aşamadan meydana gelir;
Gereksinimlerin ortaya çıkarılması
Gereksinimlerin öncelik durumuna göre analiz edilmesi
2
3. Yöntemleri nelerdir?
Yazılım öncesi problemin nasıl çözüldüğünün anlaşılması
Mevcut yazılımların incelenmesi ve varsa eksiklerin not
edilmesi
Mevcut yazılımların çıktılarının elde edilmesi ve analiz
edilmesi
İlgili sektör çalışanlarıyla yüz yüze görüşme
Olası sistem senaryolarının akıl yürütme yoluyla açığa
çıkarılması
Müşteri ile veya potansiyel müşteri ile karşılıklı görüşme
Konuyla ilgili yapılmış tez, makale v.s. inceleme.
3
4. Gereksinim analiz dokümanı (GAD)
Gerçeklenecek sistemin amaç ve kapsamından
başlayıp, fonksiyonel ve fonksiyonel olmayan
gereksinimlerinin açığa çıkarıldığı, aktörler, olaylar,
senaryolar ve arayüz detayına kadar projenin
irdelendiği temel dokümandır.
4
5. GAD bölümleri
Giriş
Teklif edilen sistem
Fonksiyonel gereksinimler
Fonksiyonel olmayan gereksinimler
Sistem modelleri
5
6. Giriş bölümü
Temel olarak üç bölümden oluşur;
Amaç ve kapsam
Hedefler ve başarı kriterleri
Genel bakış
6
7. Amaç ve kapsam
Projenin başlatılma gerekçesi bu kısımda yazılır. Örnek bir
amaç ifadesi şu şekilde olabilir.
“Projemizin amacı, okulumuzda öğrenim görmekte olan
öğrencilerin kayıt ve işlem verilerini kolayca saklayabilecek,
hızlıca öğrenciye erişim imkanı sağlayacak, uzaktan öğrenci
kayıt işlemine imkan verecek, not girişleri ve düzeltmelerinin
kolayca yapılabileceği bilgisayar destekli bir sistemin ortaya
konmasıdır.”
Kapsam ifadesi ise genellikle projede bir budamayı ifade
eder. Örneğin;
“Proje kapsamında dersliklerin takibi ve haftalık ders programı
gibi detaylar yer almayacaktır.”
7
8. Amaç ve kapsam nasıl olmalı?
Projenin amaç ve kapsamı genel hatlarıyla projenin ne
yaptığını ifade etmelidir.
Bütün detayların verilmesi okuyucuyu sıkacağı için
öne çıkan konular bu kısımda verilmelidir.
Özgün olduğunu düşündüğünüz (diğer projelerde
olmayan) konular mutlaka bu kısımda verilmelidir.
8
9. Hedefler ve başarı kriterleri
Projenin amacı kısmında verilen ifadelerin bir miktar daha
açılarak yazılmasıyla hedefler ortaya çıkar. Hedefler
maddeler halinde ve mümkünse ya geliştirilme sırasına
göre ya da önem sırasına göre verilmelidir. Örneğin;
Projemizin öncelikli hedeflerinden birisi kesintisiz çalışma
olanağı sağlamasıdır.
Uzaktan ders seçimi yapılabilmelidir.
Öğrenciler online olarak anketlere katılabilmelidir.
Eğitim kalitesi için bu sistem geri bildirimleri uygun şekilde
desteklemelidir.
…
9
10. Başarı kriterleri
Projenin başarılı sayılabilmesi için gereken şartlar bu
kısımda verilir. Örneğin;
Ders seçimi döneminde bütün öğrenciler aynı anda
sistemi kullandığında sistemin performans sorunu
vermemelidir.
Öğrencilere sorunsuz şekilde sistem üzerinden mail
atılabilmelidir.
…
Başarı kriterleri ölçülebilir ve açık olmalıdır.
10
11. Genel bakış
Detaylardan arındırılmış şekilde, proje amacından bile
daha yüzeysel şekilde projenin anlatılmasıdır.
Genel bakış, ürün pazarlama sistemlerinde ürünle
ilgili yazılmış kısa bilgilere benzetilebilir.
Örneğin;
“Eğitim kurumları otomasyonu bir şehirdeki bütün
eğitim kurumlarının birbiriyle koordineli şekilde
çalışmasına imkan sağlayacak bilgisayar destekli bir
uygulamadır.”
11
12. Sistem detayları
Sistem detayları işin uygulamaya dönük tarafını ifade eder.
Giriş kısmında kabaca tarif edilen sistem bu bölümde
detaylandırılır.
Önce fonksiyonel gereksinimler ile bir nevi yazılımın yerine
getireceği işlevler ortaya konulur.
Ardından fonksiyonel olmayan gereksinimler sayesinde
sistemin görevi yerine getirirken harici unsurları da ihmal
etmemesi sağlanır.
Örneğin, aynı işi yapan iki yazılımdan daha kullanıcı dostu
“user friendly” daha fazla tercih edilir.
En sonunda sistemin aktörleri, olayları, senaryoları ve use-
case modelleri ortaya konur.
12
13. Fonksiyonel gereksinimler
Her uygulamanın amacı bir veya birçok fonksiyonu yerine
getirmektir. Yerine getirilecek fonksiyonların neler olduğu
bu adımda ortaya çıkarılır.
Bitmiş bir uygulamadaki ana menü ve alt menü detayları
veya modüler yazılım geliştirmedeki modül ve alt
modüllerin ortaya çıkarılması bu alanda yapılır.
Fonksiyonlar bireysel olarak ele alınsa bile fonksiyonları
gruplandırarak probleme yaklaşmak daha akılcı olacaktır.
Örneğin bir öğrenci işleri sisteminde önce öğrenci kayıt, ders
işlemleri, öğretim elemanı kayıt v.s. Belirlenip ardından her
biriyle ilgili fonksiyonları yazmak daha akıllıca olacaktır.
13
14. Fonksiyonel gereksinimler
Fonksiyonel gereksinim yazarken
Sistemin yerine getirmesi gereken her işlev kısa ve
anlaşılır şekilde yazılmalıdır.
İşlevler kendi arasında önem sırasına göre sıralanabilir
olmalıdır.
Daha önemli, daha önemsiz gibi etiketler kullanılabilir.
Her işlev “–meli”, “-malı” şeklinde gereklilik bildiren
ifadeler şeklinde yazılmalıdır.
Örneğin, “bu uygulama kimlik numarası üzerinden sorguya
imkan sağlamalıdır” gibi.
14
15. Fonksiyonel olmayan gereksinimler
Yedi madde şeklinde ele alınır.
Kullanılabilirlik
Güvenilirlik
Performans
Desteklenebilirlik
Gerçekleştirim
Arayüz
Gizlilik gereksinimi
15
16. Kullanılabilirlik
Uygulamanın rahat ve hızlı şekilde kullanımı
desteklenmelidir. Örneğin;
En kullanışlı menü tasarımları yapılmalıdır (aşağı doğru
açılan menüler gibi)
Kısa yollar ve hızlı erişim olanakları olmalıdır (klavye
kısayolları ve popup menüler)
Menülerde ve kısayollardaki standartlara uyulmalıdır.
Örneğin, help menüsü en sonda, programdan çıkış ilk ana
menünün en sonunda gibi.
Butonlar uygun yerlere konulmalıdır. Kapat butonu sağ alt
köşe gibi.
Yerleşim, fontlar, renk ayarları v.s. Dikkatle yapılmalıdır.
16
17. Güvenilirlik
Bir uygulamanın her seferinde aynı girişler için aynı
çıkışları vermesine güvenilirlik denir. Güvenilirlik için;
Veri kaybı mümkünse sıfıra indirilmelidir
Veritabanı kısıtları ile hatalı veri girişi engellenmelidir
Yazılım mantık hatalarından arındırılmalı ve yazılımın
non-determenistik (beklenmeyen) hareketler
yapmasının önüne geçilmelidir.
Hata yakalama prosedürleri çalıştırılmalı ve yazılımın
kesilmesi yerine uygun hata mesajları sunulmalıdır.
17
18. Performans
Bir uygulamanın kısa sürede istenen işleme cevap
vermesi performans başlığı altında ele alınır.
Performans problemlerinin çözümü için;
Sistemin aynı anda maksimum kaç kullanıcıyla
çalışabildiği belirtilmelidir.
Performans ihtiyacı varsa yazılımsal (cache mekanizması
gibi) veya donanımsal olarak çözümüne gidilmelidir.
Ayrıca kimi zaman yazılımın hangi donanım üzerinde en
iyi performans vereceği belirtilmelidir.
18
19. Desteklenebilirlik
Geliştirilecek yazılım hangi ortam koşullarında
çalışacağı bu kısımda belirtilir.
Örneğin bir yazılımın çalışabilmesi için başka
yazılımların yüklenmesi gerekebilir, java eklentileri gibi.
Ayrıca yazılımın hangi işletim sistemi tarafından
desteklendiği verilmelidir.
Mümkünse eklentiler yazılımla birlikte setup şeklinde
verilmeli ve uygulama birden çok işletim sistemini
desteklemelidir.
19
20. Gerçekleştirim
Bu kısımda kodlamaya hızlı bir geçiş için uygulamanın
sunduğu avantajlar varsa ondan bahsedilir.
Örneğin akıllı yazılım araçları kullanımı ve
Uml diyagramlarından java kodlarının elde edilmesi bu
kategoride yer alabilecek örneklerden bazılarıdır.
20
21. Arayüz
Uygulamanın girişinde ve çıkışında neler olacağı,
uygulamanın komut satırı veya grafik arayüzü
desteklemesi durumu belirtilir. Örneğin;
Veri girişi klavye ve fare ile yapılacaktır.
Çıkış ekran ve yazıcıdan alınacaktır.
Çıktı pdf olarak da sunulabilecektir.
Seri ve paralel port üzerinden haberleşme imkanı
olacaktır.
21
22. Gizlilik gereksinimi
Bir uygulama çok farlı türde verilere erişimi
destekleyebilir fakat kullanıcıların bütün verileri
görme hakkı olmayabilir. O nedenle kullanıcıların
sadece hakları olduğu verileri görmesi istenir. Gizlilik
gereksinimi bu konuyla ilgilidir.
Örneğin, A kullanıcısı f1, f2 ve f3’e erişebilir, B kullanıcısı
f1 ve f4’e erişebilir gibi.
22
23. Sistem modelleri
Dört farklı bileşenden oluşur
Aktörler
Olaylar
Senaryolar
Use-case modeli
23
24. Aktörler
Sistemde yer alan, yazılım tarafından bilgileri
yönetilecek varlıklardır. Gereksinim analiz
dokümanında aktörler tanımlarıyla birlikte verilir. Bu
aşamada bir aktör ve onun yapacağı işlevler şeklinde
sunulur.
Fonksiyonel gereksinimler adımıyla bağlantılıdır.
Örnek bir aktör ve tanımı şöyle olabilir.
Aktör Tanımı
Öğretmen Ders seçimi yapar
Ders onayı yapar
Not girişi yapar
Devam bilgisi girer
Öğrenci raporları alır 24
25. Olaylar
Bu kısımda bütün aktörlerin görevleri bir arada
sunulur. Böylece sistemde yapılacak bütün işlemler
hakkında bilgi toplanmış olur.
Bir ekran birden fazla olayı destekleyebilir.
Olay güdümlü programlamada (event driven
programming) her bir buton aslında bir olay ile
ilişkilidir.
25
26. Senaryolar
• Uygulamadaki akış senaryolar şeklinde sunulur.
• Bir senaryo hem aktörün hem de olayların dahil
olduğu işlemler bütünüdür.
26