YAZILIM MÜHENDİSLİĞİNİN TEMEL İLKELERİ
|
|
- Ebru Kahveci
- 8 yıl önce
- İzleme sayısı:
Transkript
1 YAZILIM MÜHENDİSLİĞİNİN TEMEL İLKELERİ BÖLÜM 1: YAZILIM MÜHENDİSLİĞİNİN KAPSAMI Yazılım nedir? Bilim mi? Endüstri mi? Mühendislik mi? Sanat mı? Yazılım en yalın biçimiyle, bir sistemin donanım bileşenleri dışında kalan herşey olarak tanımlanabilir. Yazılımın Temel Bileşenleri = Mantık + Veri + Belge + İnsan + Program. Yazılım mühendisliği, adından da anlaşıldığı gibi bir mühendisliktir. Fakat hemen belirtilmelidir ki, yazılım mühendisliği, diğer tüm mühendislik alanları bir yana kendisi bir yana dedirtecek kadar farklı bir mühendislik alanıdır. Çünkü diğer mühendislik ürünleri birer fiziksel nesne iken, yazılım mühendisliğinin son ürünü kavramsal bir eserdir. Yazılım, diğer fiziksel ürünleri çalıştırır yönetir, kendisi değişik fiziksel ortamlarda bulunabilir. Diğer mühendislik alanları insanlığa sunabilecekleri imkânlar bakımından maddenin fiziksel sınırlamalarına bağlı iken, yazılım mühendisliği adeta bir sanat dalı gibi sunabilecekleri sadece insan zekâsı - başka bir deyişle insan yaratıcılığı- ile sınırlı olan bir mühendisliktir. Bugün için yazılım, otomobil ve uçak gibi ulaşım araçlarından tıp dünyasına, iş makinelerinden ev aletlerine, oradan askerlik, haberleşme ve eğitime kadar günlük hayatın hemen her alanını kontrol etmeye başlamıştır
2 Rekabet Gücü Unsurları: Verim, Kalite, Zamanlama (time to market) Yazılımın Mühendislik olması için; Standartlara dayanması gerekir. (kalite standartları, verimin standartları) Ölçülebilir olması gerekir. (kalitenin ölçülebilmesi, verimin ölçülebilmesi) Yazılım Mühendisliği nedir? Müşterinin ihtiyaçlarını karşılayan, öngörülmüş bütçe ile zamanında teslim edilen ve hatasız bir yazılım geliştirmek için teknik yöntemler öngören bir disiplindir
3 Tarihsel gelişim açısından bakıldığında; 1950 ler ve 1960 larda yazılım mühendisliği sadece programcılık olarak ele alınmıştır. Yazılım Krizi ilk olarak 1968 de bir NATO Konferansında dile getirilmiştir. ABD de 1970lerde kamu tarafından sipariş yolu ile satın alınan yazılım ürünlerinin ancak % 5 i kabul edilip kullanılabilmiştir, % 40 ı hiç kullanılamamış, geri kalanı ise maliyet artışı, zaman artışı, performans eksikliği veya bazı özelliklerinden taviz verilerek kullanılabilmiştir. Yazılımın yoğun kullanımı 1980 lere rastlamışsa da 1990 lara kadar büyük projelerde başarı oranı çok düşük kalmıştır. Hedef: Yazılım Krizini çözmek... Yazılım Mühendisliği kavramının ortaya çıkışında rol alan problemler; Ürünün geç teslim edilmesi. Öngörülen bütçeyi aşmak. Müşterinin ihtiyaçlarını tam manasıyla karşılayamamak
4 Yazılım krizi çözülememiştir. Yazılım krizi çözülemediği için buna yazılım depresyonu dendi. Çünkü bu çok uzun zaman almış ve öncü sınamalar kötü sonuçlanmıştır
5 Bir örnekle anlatmak gerekirse; CM NEW diye bir kodlama metodu var. (CM NEW Yeni bir programlama dili olabilir.) Bu kodlama metodu şu anda kullanılan metottan %10 daha hızlı olduğunu savunuyor. Soru : Bu kodlama metodunu kullanır mıydınız? Genel Cevap : Evet! Fakat bir yazılım mühendisi bu cevabı verirken aşağıdaki koşulları göz önünde bulundurmalı; Bu yeni kodlama metodu için eğitim maliyeti, Yeni teknolojiyi tanıtmanın olumlu veya olumsuz etkileri, Yeni metot ile geliştirilecek bir ürünün, sisteme yerleştirildikten sonra bakımının yapılması gerek, bu bakım yapılırken, bakımın maliyeti müşteri için daha fazla olacaktır. Bunun etkilerinin düşünülmesi gerekli
6 Yaşam Döngü Modeli; yazılım geliştirilirken takip edilecek safha ya da adımlardır. Teorik olarak ne yapılacağının tanımlanmasıdır. Safhaların sayısı ve niteliği modelden modele değişir. Belirli bir ürün üzerinde yapmış olduğumuz gerçek işlemlerdir
7 1. Requirements Phase: Elimizdeki problemin ne olduğunu anlamaya çalışıyoruz. Yapılan işi anlamaya çalışıyoruz. Müşterinin gereksinimlerini topluyoruz. Müşterinin gereksinimlerini belirle. Müşteri ne istiyor, ihtiyaçları neler. 2. Analysis (Specification) Phase: Toplamış olduğumuz gereksinimleri analiz ediyoruz. Analizin sonucunu şartname dokümanı olarak yazıyoruz. (Software ne yapacak) Müşterinin ne istediği değil, neye ihtiyacı olduğunu tesbit etmeye çalışıyoruz. Ayrıca müşteri ürün tesliminde ben bunu istemedim diye itiraz etmesi durumunda, bu döküman kullanılarak müşteriye isteklerinin ne olduğu gösterilir. Yazılım Proje Yönetim Planında bütün detaylarıyla yapacaklarımızı yazıyoruz. Ürünün tam olarak ne yapması isteniyor. Bu soruya cevap bulmaya çalışıyoruz
8 3. Design Phase: Tasarım safhası boyunca 2 tür tasarım yapılır. İlk olarak Mimari (Architectural) Tasarım yapılır. Kabataslak sistemin mimarisini gösteren bir plan çizilir. Sistemi modüler olarak bölmek gerekmektedir. Yani sistemin mimarisini bir ağaç olarak düşünüp daha küçük parçalara, modüllere bölerek çalışmalıyız. Daha sonra Ayrıntılı (Detailed) Tasarım yapılır. Burada da veritabanı tespit edilmeli ve ne tip algoritmaların kullanılacağı belirlenmelidir. 4. Implementation Phase: Herbir modül için kod yazıyoruz. (Coding) Herbir modülü birbirinden bağımsız olarak test ediyoruz. (Unit testing) Sistemin bir bütün olarak çalışması gerekmektedir. Bu yüzden bütün modülleri birleştiriyoruz. Modülleri birleştirirken sorun ve yanlışlıklar çıkabilir. Bunu test ediyoruz. (Integration testing) Gerçek veriyi kullanarak sistem test edilir. Kabul testi müşteri tarafından yapılır. (Acceptance testing) - 8 -
9 5. Postdelivery Maintenance: Teslim sonrası sistemde yapılan herhangi bir değişikliğe Teslim Sonrası Bakım (Postdelivery Maintenance) denir. Teslim sonrası bakımın iki çeşidi vardır: Düzeltici Bakım (Corrective Maintenance): Sistemdeki hataları düzeltmek için yapılan bakım (software repair). Özellikleri Artırılması (Enhancement) diğer bir deyişle yazılım güncellemesi (software update), şartnamede (specification) yapılan değişiklikleri ve bu değişikliklerin mevcut yazılıma uyarlanmasını içerir. Bu uyarlamanın iki çeşidi vardır; Bunlardan birincisi müşterinin düşünceleri doğrultusunda ürünün yararlılığını arttırmak için kullanılan Mükemmelleştirici Bakım (Perfective Maintenance) dır. İkincisi ise ürünün çalışma ortamında meydana gelen değişikliklere karşı yapılan Uyarlanabilir Bakım (Adaptive Maintenance) dır. 6. Retirement: Yazılım vadesini doldurduğunda, yazılımı emekliye ayırırız, elimizden çıkarırız
10 Klasik bakım, zamana bağlı olarak yapılan bir bakımdır. Önce sistem geliştirilir, sonra zamanla bakım yapılır. Teslimden sonra sistemi geliştirirken de bakım yapılabilir. Bu geçici tanımdır. Çünkü bir faaliyetin icra edilmesine bağlı olarak, klasik bakım veya klasik geliştirme olarak sınıflandırılabilir
11 Bir sisteme yazılım ürünü kurulduktan 1 gün sonra, bir hata ya da yanlış tespit edip düzelttiğimizde, buna klasik bakım (classical maintenance) diyoruz. Sisteme yazılım ürünü kurmadan 1 gün önce, bir hata ya da yanlış tespit edip düzelttiğimizde, buna klasik geliştirme (classical development) diyoruz
12 Örneğin; yazılım install oldu. Müşteri de ürünün fonksiyonlarını arttırmak ve güncellemek istiyor ya da yeni bir fonksiyon ilavesi istiyor. Bu Classical (perfective) Maintenance dır. Müşteri daha kurulum yapılmadan önce birşeyler değiştirmek isterse, bu Classical Development dır. *** Bir yazılım geliştirilirken müşterinin gereksinimlerinde sürekli değişiklik olursa buna moving target (değişen hedef) problemi denir
13 Genel olarak zamana bağlı olarak yapılan bakım olarak tanılayabiliriz. Moving target problemin dışında diğer problemler ise; Artık hiçbir sistem sıfırdan başlamamaktadır. Mevcut olan yazılımlar kullanılarak sistemler oluşturulmaktadır. Yeniden kullanımın yaygın olmasıdır. Bu nedenle bakım terminolojisi kullanıcıyı caydırır. Bu da daha modern bir bakımın tanımını doğurur
14 1995 te International Standarts Organization (ISO) ve International Electrotechnical Commission (IEC) bakımın artık zaman bağlı olmamasını, işlevsel olarak yapılmasını belirtmiştir. Artık bakım şöyle ifade ediliyor; Herhangi bir zamanda, herhangi bir nedenle yazılım bileşenlerine bir şey ilave edilecekse, ya da yeniden düzenlenecekse, bu işlemi gerçekleştiren süreç bakım olarak tanımlanmaktadır. Artık zamana bağlı değil, Hatayı düzeltme, adaptasyon, güncelleme için önce veya sonra kavramı yoktur
15 - 15 -
16 Soru: Kötü bir yazılıma mı yoksa iyi bir yazılıma mı bakım yapılır? İyi bir yazılıma bakım yapılır. Kötü bir yazılımı kullanmak istemeyiz. Bu nedenle kötü yazılımları atarız. Soru: Neden her zaman bir bakım söz konusu? Yazılım, sürekli değişen bir gerçekliğin modelidir. İyi bir yazılımın bakımdan geçmesi doğaldır. Yaşayan yazılımlara bakım yapılmazsa sistem genişleyemez
17 Teslim sonrası bakımın maliyeti artmış Şaşırtıcı şekilde, klasik evreler maliyetleri güçlükle, değiştirmiştir
18 Eski sorumuza dönersek; CT OLD mu yoksa CT NEW mi (%10 daha hızlı) daha iyi? Eğer kodlama da %10 luk bir zaman kazanımı varsa toplam kazanç % 0,85 dir. % 34 * % 25 development = 8,5 % % 10 * % 8,5 = 0,85 % Toplam Kazanç; Bu yüzden yatırım yapmaya değmez. Eğer kodlamada değilde teslim sonrası bakımı % 10 azaltacak deseydi; % 10 * % 75 = % 7,5 Toplam Kazanç Alınırdı. Çünkü iyi bir yatırım olurdu. Yazılım Mühendisi ekonomik faktörleri göz önünde tutmalıdır
19 Bir hatayı ne kadar erken bulup düzeltirsek, bize maliyeti daha düşük olacaktır. Yazılım geliştirme süreci boyunca herhangi bir iş akışında (workflow) yapılan bir hatanın maliyeti düşünüldüğünde bu durumu maliyetin en yüksek olacağı iş akışından en düşük olacağı iş akışına göre doğru sıralarsak; Teslim Sonrası Bakım > Uygulama > Tasarım > Analiz > Gereksinim Büyük bir ekmek fırınının otomasyonundan sorumlusunuz. Yazılımın geliştirilme (Development) maliyetinin $ olacağı tahmin edilmektedir. Yazılımın teslim sonrası bakımı (Postdelivery Maintenance) için yaklaşık ne kadar paraya ihtiyaç olacaktır? (Sorunun çözümü için Şekil-1- deki grafikten yaralanabilirsiniz.) $ * 75 / 25 = $
20 - 20 -
21 Yazılım yaşam çevrimi (life cycle) içinde, bir hatayı ne kadar erken tespit edip düzeltirsek, bize fiyatı maliyeti o kadar düşük olacaktır. İlk aşamada yapılan çalışmalar kâğıt üzerinde olduğu için, hatalar daha ucuza mal oluyor. En son aşamada olursa daha pahalıya mal oluyor. Eğer yazılım yaşam çevrimi içinde hata geç fark edilirse; Dokümantasyon ve kod değişir. Değişikliklerden dolayı ürün yeniden test edilecektir. Regresyon testi yeniden icra edilir. Müşterinin bilgisayarına ürün yeniden kurulur. Bu büyük bir maliyet getirir. [Regresyon Hatası (Regression Fault): Bir programın herhangi bir bölümünde yapılan değişiklikten dolayı, o değişikle alakası olmayan başka bir bölümün etkilenmesi sonucu oluşan hataya regresyon hatası denir.]
22 Büyük ölçekli yazılım ürünlerinde hataların % 60 ile % 70 arasında; gereksinimler, analiz ve tasarım aşamasında yapılan hatalardan meydana geldiği belirlenmiştir. Örnek: Jet Propulsion Laboratory yapmış olduğu incelemelerde - Şartnamelerin sayfa başına başına 1,9 nun, - Tasarımın sayfa başına 0,9 nun, - Kodlamanın sayfa başına 0,3 nün hatalı olduğu tespit edilmiştir
23 Sonuç olarak, hataları en ön saflalarda bulmalıyız. Özellikle maliyeti azaltmak için, olabildiğince hatayı erken tespit etmeliyiz
24 Donanımı ucuza satın alabiliriz. Ama yazılım pahalıdır. Büyük programları yazmak, uzun zaman gerektirir. 1 kişi ile yazılım projesi geliştirmek kolay değildir. Bunun için yazılım projesi gruplara bölüştürülmelidir. Bunun avantajı; zaman azalır, maliyer düşer. Dezavantajı ise; sistemi modüler olarak düşünürsek, bir gruptaki kişilerin projeyi paylaşması gerekecek. Bundan dolayı modüller arasında parametre sorunları yaşanabilir. Parametrelerin sayısı ve tipi aynı olmalıdır. Bir diğer dezavantaj ise grup üyeleri arasında iletişim problemleri olabilir
25 Projenin başlangıcında plan yapılmaz. Çünkü ne yapacağımızı bilmiyoruz. Ancak gereksinimler belirlenip şartname dokümanı oluşturulduktan sonra planlama yapabiliriz. Projenin başında kaba taslak planlama yapıyoruz. Buna preliminary planning (kaba taslak planlama) denir. Şartname müşteri tarafından imzalandıktan sonra Yazılım Proje Yönetim Planı (Software Project Management Plan) yapılır. Yönetici, proje boyunca SPMP ye ihtiyaç duyar. - Projede çalışacak kişi sayısı, - Testler (hangi testlerin olacağı), - Ayrılacak zaman ve bütçe gibi bilgileri izler, kontrol eder
26 Sonuç olarak planlama aktiviteleri yazılım yaşam döngüsü boyunca tamamlanacaktır. Ayrı bir planlama safhası yoktur. Testi, geliştirme safhasından sonra ya da yazılımı müşteriye teslimden önce yapmak oldukça zordur. Özel bir test safhası yoktur. Test işlemi her safhanın sonunda yoğun bir şekilde yapılır
27 Her safhanın sonunda test yapılır. Bu test işlemine verification (doğrulama) denir. Projenin sonunda, müşteriye ürünü teslim etmeden önceki testing işlemine ise validation (sağlama) denir
28 Yazılım yaşam döngüsü boyunca sürekli olarak test aktiviteleri devam ettirilmelidir. Problemin çözümü için uğraşan herkesin test yapması gerekir. Özel bir kalite güvence grubu oluşturulup, bunlara test ettirilmelidir. Test için ayrı bir safha yoktur
29 Dokümantasyon içinde durum aynıdır. Ayrı bir belgeleme safhası yoktur. Dokümantasyon her zaman güncel olmalıdır. Projenin başından itibaren dokümantasyona başlanmalıdır. Neden Devamlı dokümasyon: Projenin başındaki bireyler, proje tamamlandan ayrılabilir. Bir önceki aşamanın dökümü olmadan bir sonraki aşamaya geçilmez. Dokümantasyon olmadan test yapamayız. Dokümantasyon olmadan bakım yapılmaz
30 Sonuç olarak dokümantasyon aktiviteleri bakım ve diğer geliştirme aktivitelerine paralel olarak icra edilmelidir. Ayrı bir dokümantasyon safhası yoktur
31 1975 ile 1985 yılları arasında, yazılan programların daha az hatalı olması amacıyla, bir grup teknikler ortaya atılmıştır. Buna tekniklere structured (classical paradigm) denilmektedir lerde programların boyutları büyüktü ve bu programlamlar aynı zamanda oldukça da başarılıydılar. Ancak 1980 lerde yazılan ürünlerin den fazla satıra sahip olması üzerine bu paradigm büyük programlarda iyi sonuç vermedi ve başarısız olmaya başladı. Bu structured paradigm ın başarısız olmasının nedeni hem dataya, hem de process lere birlikte önem vermemesidir. Hiçbir metot bu ikisine bir önem vermiyor. Kullanılan metotlar bu yüzden başarısız
32 Çözüm: İkisine birden önem vermek... Object: Hem data (veri), hem de o data (veri) üzerinde çalışacak olan faaliyetleri birleştiren bir yazılım bileşenidir. Örnek: Bank Account Banka Hesap uygulamasını ele alalım. - Data (veri): Account Balance (Hesap Bakiyesi), - Actions (Faaliyetler): Depozit (Depozito), Withdraw (Para çekmek), Determine Balance (Kalan Bakiye)
33 a) Classical Paradigm b) OO Paradigm - b de para çekmek, depozito,... vs. için mesaj çekiyoruz. Mesaj gönderen Object in içini göremiyor. Sadece istekte bulunuyor
34 - a da, dairenin çevresinin kesintili olmasının nedeni verilerin herbiri daire içindeki verilerle iletişim halinde ve birbirini görebiliyor olmasıdır. Fakat herhangi bir noktada oluşan en ufak hata, bütün verilerde etkili olacaktır. - b de bilgiler saklanmış olduğundan dolayı böyle bir sorun yok. b de karşılaşılan olaylar; Information Hiding Responsibility-Driven Design Impact on maintenance, development
35 Information hiding ile data görünmediğinden için postdelivery maintenance daha güvenlidir. Farkında olmadan yapılan hatanın olasılığını (regression fault) azaltıyor. Development daha kolaydır. - Obje lerin genellikle fiziksel karşılıkları vardır. - Modelleme kolaylaşıyor. (Tasarım kolaylaşıyor.)
36 Eğer object ler daha iyi daha design edilirse, birbirinden bağımsız birimler olacaktır. - Gerçek dünyadaki object ile ilişkili olan herşey object de modelleniyor. (encapsulation) - İletişim mesaj-alıp verme ile oluyor. - Bu bağımsızlık responsibility-driven design tarafından sağlanıyor
37 Classical product temel olarak, tek bir birimden meydana gelir. OOP, karmaşıklığı azaltır. Çünkü, product ın birimleri birbirinden bağımsızdır. Bağımsız olduğundan bakımı kolaydır. Object ler birbirinden bağımsız olduğundan, OOP yeniden kullanımı (reuse) destekler. Reuse: Bir programda kullanmak için geliştirilen bir modülün, başka bir program içinde kullanılabilmesi
38 OOP da mesajla istekte bulunuyoruz. Nasıl gerçekleştirildiğini bilmiyoruz. Sorumluluk Obje ye aittir. Bunu bize sağlayan information hiding dir. Örnek: Chicago da oturan annenize bir çiçek göndereceksiniz. Ama ne çiçekçinin, ne konuştuğunuz kişinin nerede olduğu, ne de teslim yapacak olan kişinin yerini biliyorsunuz. Sonuç olarak, sorumluluk çiçeği getirecek kişiye ait
39 Classical paradigm da analiz ile design arasında keskin bir fark vardır. Modüller design safhasında ortaya çıkıyor. Analiz safhası sistemin ne yapacağı, design safhasında ise nasıl yapılacağı belirleniyor. OOP ise, objeler başlangıçta devreye giriyor, analiz workflow unda modüller ortaya çıkıyor
40 Classical paradigm da analiz safhasında; müşterinin neye ihtiyacı var, ne yapılması lazım sorularına cevap aranırken, Classical paradigm tasarım safhasında; product ı nasıl yapmamız gerektiğinin tespit edilmesi, mimari tasarım için modüllerin tespit edilmesi, ayrıntılı tasarımda da herbir modülün nasıl tasarlanacağı sorularına cevap aranır
41 OOP da Analiz workflow unda; Yapılmak isteneni belirle, Nesneleri belirle. OOP da Tasarım workflow unda; Nasıl yapılacağını belirle, Object leri tasarla. İki paradigm arasındaki fark bir sonraki slayt ta gösterilecektir
42 Classical Paradigm da Implementation safhasında Modülleri kodluyoruz. OOP da ise Implementation workflow unda class ları kodluyoruz... Burada modüller OO Analiz safhasında tanıtılır. Bu analizden tasarıma keskin bir geçiş sağlar. Object ler uygulama (implementation) iş akışı boyunca kodlanır. Tekrar kolay bir geçiş görürüz
43 OOP doğru kullanılmalıdır. Bütün paradigm lar kolaylıkla yanlış kullanılabilir. OOP doğru kullanıldığı zaman classical paradigm da karşılaştığımız bir çok problemi çözer. Tabi OOP bazı sorunları da çözememiştir, fakat şu an için en iyi alternatiftir. Tabi ileride ne olacağı bilinmez
44 Client: Müşteri (yazılım product ını user için yaptıran, satın alan kişi) Developer: Geliştirici (yazılım product ını geliştiren kişiler) User: Yazılım product ını kullanacak kişi. Internal Software (İçsel yazılım): Müşteri ve geliştirici (client & developer) aynı grupta, ya da şirkette ise buna içsel yazılım denir. Contract Software (Sözleşmeli yazılım): Müşteri ve geliştirici (client & developer) farklı grupta yada şirketlerde ise buna sözleşmeli yazılım denir. Commercial off-the-shelf (COTS) software: Bazı yazılım uygulamaları milyonlarca kişi için üretilebilir. Geliştirilen yazılım rafta duruyor, binlerce müşteriye sunuluyor. (MS Office...) Open Source Software: Geliştirilip, ücretsiz olarak dağıtılan yazılımlar. (Linux...)
45 Software (yazılım): Bir bilgisayar sisteminin donanım bileşenleri dışında kalan herşeyi yazılım olarak verebiliriz li yıllarda programlar çok küçüktü. Program: Küçük yazılımlar. Örn: Karakök alan bir program... System: Birçok programı oluşturan yazılım. Örn: İşletim sistemi... Product: Küçük, büyük program... Methodology: Metotların toplamına denir. (1970 lerde kullanılıyordu) Paradigm: Bir süreç ya da model için esas olan örnek. Bir çeşit yazılım geliştirme yöntemi. (1980 lerden sonra kullanılmaya başlandı.) - Object Oriented Paradigm, - Classical Paradigm. Technique: Metotlarda kullanılan teknikler
46 Mistake: Programlardaki hata. Fault: Hatanın (mistake) neden olduğu arıza. Failure: Hata sonucunda gözlenen programın yanlış davranışı. Error: Yanlışın, hatanın derecesi. Defect: Failure, Fault, Eror için kullanılır (eksiklik, kusur) Bug: Program tarafındaki hata
47 Object in veri bileşenleri; - State variable (durum değişkenleri) - Instance variable (Java) (örnek değişkenler) - Field (C++) (alan) - Attribute (generic) (nitelikler) Object in Olay Bileşenleri - Member function (C++) - Method (generic)
48 İyi bir yazılım geliştiricisi ve bakımcısının; Hard working (çalışkan) Intelligent (zeki) Sensible (mantıklı) Up to date and, above all, (modern) ve herşeyden önce Ethical (ahlaklı) olması gereklidir
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ı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ı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ıYAZILIM MÜHENDİSLİĞİ - 1
YAZILIM MÜHENDİSLİĞİ - 1 BÖLÜM 6: TEST (TESTING) Bölüm Kapsamında İncelencek Konular: Kalite ve Kalite Güvencesi Non-execution-based testing (her şeyi test etme) Execution-based testing (kodu test etme)
DetaylıMESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR
YAZILIM: SOFTWARE Yazılım (Software): Yazılım sadece bir bilgisayar programı değildir. Basılı veya elektronik ortamdaki her tür dokümanı da içeren ürün. Dokümanlar yazılım mühendislerine ve son kullanıcıya
Detaylı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ıY I L D I Z T E K N I K Ü N İ V E R S İ T E S İ MÜHENDİSLİĞİ
Y I L D I Z T E K N I K Ü N İ V E R S İ T E S İ YAZILIM MÜHENDİSLİĞİ Mustafa Yoğurtçu Özgür Kuru İçerik N E D İ R? T A R İ H Ç E Y A Z I L I M T Ü R L E R İ Y A Z I L I M G E L İ Ş T İ R M E A D I M L
DetaylıYazılım Süreçleri Software Processes
Yazılım Süreçleri Software Processes Yazılım geliştirme Süreç Modelleri Software Development Process Models Proje Yönetimi Süreçleri Project Management Process Yazılım Geliştirme Süreçleri Software Development
DetaylıBMH-405 YAZILIM MÜHENDİSLİĞİ
BMH-405 YAZILIM MÜHENDİSLİĞİ Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği musa.ataş@siirt.edu.tr Ref list: Dr. Yunus Emre SELÇUK, Dr. Sadık EŞMELİOĞLU, Dr. Erhan SARIDOĞAN Yazılımı Etkileyen
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ı Dezavantajları Script HTML kodları arasına yerleştirilen küçük kodlardır. Web sayfalarında
Detaylı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ı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ıSİSTEM ANALİZİ VE TASARIMI
SİSTEM ANALİZİ VE TASARIMI BİLGİ SİSTEMİ GELİŞTİRME SÜRECİ Sistem Geliştirme Süreci ve Modelleri Sistem Geliştirme Yaşam Döngüsü Bilgi sistemlerinin geliştirilmesi için izlenen sürece Sistem Geliştirme
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 Yazılım Mimarisi Gereksinim: NE? Mimari : NE+NASIL GEREKSİNİMLER (software architecture) Requirements : WHAT? Architecture : WHAT + HOW?
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 analistlerinin ve kullanıcı faaliyetlerinin spesifik döngüsünün kullanılmasıyla En iyi geliştirilmiş sistemin oluşmasını
DetaylıYAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER
YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER BAŞARIM DEĞERLENDİRME Sınav tarihleri: Daha sonra duyurulacak 1. Ara sınav yazılı, 2. Ara sınav: test, Final sınavı: yazılı
DetaylıChapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing
Chapter 8 Yazılım Testi Lecture 1 1 Konular Geliştirme testi Test tabanlı geliştirme Sürüm testi Kullanıcı testi 2 Programı test etmek Test etmek, bir programın yapması gereken şeyi yaptığını doğrulamak
DetaylıBMH-405 YAZILIM MÜHENDİSLİĞİ
BMH-405 YAZILIM MÜHENDİSLİĞİ Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği musa.ataş@siirt.edu.tr Ref list: Dr. Yunus Emre SELÇUK, Dr. Sadık EŞMELİOĞLU, Dr. Erhan SARIDOĞAN Yazılım Tanımı Herhangi
Detaylı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ıEylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu.
1 Yazılımcıların da endüstri mühendislerinin de en büyük ihtiyaçlarının başında ortak modelleme dili ihtiyacı gelir. UML nin (Unified Modeling Language) Kasım 1997 de OMG tarafından yayınlanmasıyla birlikte
DetaylıAkış. Atik Yazılım Geliştirme Tanımı ve Kavramlar Tarihi Metotları Dünyada Atik Yazılım Geliştirme Örnekleri Sonuç BİL 588 2
BİL 588 1 Akış Atik Yazılım Geliştirme Tanımı ve Kavramlar Tarihi Metotları Dünyada Atik Yazılım Geliştirme Örnekleri Sonuç BİL 588 2 BİL 588 3 Atik Yazılım Geliştirme Atik Yazılım Geliştirme, yazılım
DetaylıÖğretim planındaki AKTS Ulusal Kredi
Ders Kodu Teorik Uygulama Lab. Yazılım Gereksinimleri Mühendisliği Ulusal Kredi Öğretim planındaki AKTS 481052000001303 3 0 0 3 5 Dersin Yürütülmesi Hakkında Bu ders gerçek dünya problemlerinin analiz
DetaylıYAZILIM MÜHENDİSLİĞİ-1
YAZILIM MÜHENDİSLİĞİ-1 BÖLÜM 2: YAZILIM YAŞAM DÖNGÜSÜ MODELLERİ Bölüm Kapsamında İncelencek Konular: Teoride yazılım geliştirme Winburg örnek olay incelemesi Winburg örnek olay incelemesinden çıkarttığımız
DetaylıAKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ
GİRİŞ AKIŞ ŞEMASI Bir önceki ünitede algoritma, bilgisayarda herhangi bir işlem gerçekleştirmeden ya da program yazmaya başlamadan önce gerçekleştirilmesi düşünülen işlemlerin belirli bir mantık ve plan
Detaylı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ı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ı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ıYAZILIM GÜVENLİK TESTLERİ. H A L D U N T E R A M A N h a l d u n t e r a m a g m a i l. c o m
YAZILIM GÜVENLİK TESTLERİ H A L D U N T E R A M A N h a l d u n t e r a m a n @ g m a i l. c o m TEST NEDİR? Test, bir sistemi manuel veya otomatik yollarla deneyerek veya değerlendirerek, belirlenmiş
Detaylı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ıBÖLÜM 1 YAZILIM TASARIMINA GİRİŞ YZM211 YAZILIM TASARIMI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi
BÖLÜM 1 YAZILIM TASARIMINA GİRİŞ YZM211 YAZILIM TASARIMI Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi Amaçlar 2 Tasarımın ne olduğunu ve çeşitli tasarım türlerinin
Detaylıdesign)1980li ve 1990lıyıllar Birleştirilmiş Modelleme Dili (Unified Modeling Language-(UML) yazılım geliştirme araçlarının temelidir.
Dört Temel Yazılım Geliştirme Metodolojisi I)Yapısal Analiz ve Tasarım 1960lıyılların sonu 1970liyıllar Fonksiyonel ayrıştırma (functional decomposition) ve veri akış analizi (dataflow analysis) yazılım
DetaylıARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi
ARDIŞIL DİYAGRAM YAPI DİYAGRAMI Sistem Analizi ve Tasarımı Dersi İçindekiler Ardışıl Diyagram Nedir ve Neden Kullanılır... 3 Ardışıl Diyagram Elemanları... 3 MS Visio ile Ardışıl Diyagram Çizimi... 5 Violet
DetaylıYAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI
YAZILIM MİMARİLERİ DERSİ BİLGİSAYAR PROGRAMCILIĞI Yazılım Nedir? Yazılım, 1. Komutlar : yürütüldüğü zaman istenen fonksiyon ve performansı sağlar, 2. Veri Yapıları : programa verileri yeteri kadar işlemek
DetaylıYazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım
Yazılım Yazılım Bilgisayarlar üretildikleri anda içlerinde herhangi bir bilgi barındırmadıkları için bir işlevleri yoktur. Bilgisayarlara belirli yazılımlar yüklenerek işlem yapabilecek hale getirilirler.
DetaylıYMT 505-Yazılım Proje Yönetimi Giriş- Temel Kavramlar
YMT 505-Yazılım Proje Yönetimi Giriş- Temel Kavramlar 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 ü YMT 505-YAZILIM PROJE YÖNETİMİ 1 Bu Haftaki Konular-Temel Kavramlar
DetaylıProje Yönetimi Profesyonellerinin Yetenekleri LinkedIn üzerinden incelemeler. 25.10.2014 www.erdemseherler.com Erdem Seherler, MBA, PMP
Proje Yönetimi Profesyonellerinin Yetenekleri LinkedIn üzerinden incelemeler 25.10.2014 www.erdemseherler.com Erdem Seherler, MBA, PMP Okuyucu Özeti Proje yönetimi ile ilgileniyorsanız veya profesyonel
Detaylı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ı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ı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ıBir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.
Yazılım Mühendisliği kapsamındaki Yazılım Geliştirme Metodolojileri, bir bilgi sistemini geliştirme sürecinin yapımını, planlamasını ve kontrolünü sağlayan bir framework tür. Her farklı framework güçlü
DetaylıYMT 312-Yazılım Tasarım ve Mimarisi Yazılım Mühendisliği ne Giriş
YMT 312-Yazılım Tasarım ve Mimarisi Yazılım Mühendisliği ne Giriş 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 ü Bu Haftaki Konular Yazılım Nedir?........4 Yazılım Mühendisliği.......15
DetaylıVERİ YAPILARI VE PROGRAMLAMA (BTP104)
VERİ YAPILARI VE PROGRAMLAMA (BTP104) Yazar: Doç.Dr. İ. Hakkı CEDİMOĞLU S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.
DetaylıYazılım Geliştirme Genel Tanımlar
Yazılım Geliştirme Genel Tanımlar Yazılım Projesi Genel Tanımlar: Yazılım: Bilgisayar programları ve gereksinimler, tasarım hedefleri, kullanıcı kılavuzları gibi tüm dokümanlar. Yazılım ürünleri başlıca
DetaylıWÜRTH ÜN MODERN STOK YÖNETİM SİSTEMİ ORSY
WÜRTH ÜN MODERN STOK YÖNETİM SİSTEMİ ORSY Würth Grubu Faaliyet Alanı: Atölye, servis ve endüstri alanlarına yönelik her türlü bağlantı elemanları ve tamir-bakım ürünlerinin uluslararası ticareti. Ürün
DetaylıTEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI
BARTIN ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI 3. Hafta BİLGİSAYAR YAZILIMI Dr. Öğr. Üyesi Nesibe YALÇIN nesibeyalcin.wordpress.com BİLGİSAYAR
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ıaselsan Açık Pozisyonlar Bilgi Teknolojileri (BT) Denetçisi İç Denetçi
Açık Pozisyonlar Bilgi Teknolojileri (BT) Denetçisi aselsan ASELSAN'ın İç Denetim Bölümü'nde görevlendirilmek üzere aşağıdaki niteliklere sahip adaylara ihtiyaç bulunmaktadır. Üniversitelerin Bilgisayar
DetaylıALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 2. BÖLÜM 2 PROGRAMLAMAYA GİRİŞ Programlama Terimleri ve Programlama Ortamı 3 Program Programlama IDE
DetaylıEBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA
3. HAFTA EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA Öğr. Gör. S. M. Fatih APAYDIN apaydin@beun.edu.tr EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu PROBLEM ÇÖZME (PROBLEM SOLVING) nereden
DetaylıChapter 15. Getting the Gameplay Working. T. Kıvanç Bayraktaroğlu
Chapter 15 Getting the Gameplay Working T. Kıvanç Bayraktaroğlu Filmler mi Oyunlar mı? Hollywood Başarısı Bu filmi nasıl yaparız değil, parayı nerden bulacağız? Oyun Geliştirme ve Film Yapımı Tahmin edilebilirlik
DetaylıTEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma
TEMEL BİLGİSAYAR BİLİMLERİ Programcılık, problem çözme ve algoritma oluşturma Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya
Detaylı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ı08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba
08225 AĞ TEMELLERĠ Elbistan Meslek Yüksek Okulu 2014 2015 GÜZ Yarıyılı 20 EKi. 2014 Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi
DetaylıÜst Düzey Programlama
Üst Düzey Programlama Struts Framework Üst Düzey Programlama-ders08/ 1 JSP MODEL 1 ve MODEL 2 Mimarileri Bu mimariler bir web uygulaması geliştirilirken kullanılan yöntemlerdir. Bu yöntemler arasındaki
DetaylıMoodle-IST Kullanım Klavuzu
Moodle-IST Kullanım Klavuzu 1 İÇİNDEKİLER 1. ÖYS (Öğrenim Yönetim Sistemi) ve Moodle Nedir?...3 2. Sisteme Giriş...4 2. Ders Takibi...5 4. Ödev yükleme...7 2 1. ÖYS (Öğrenim Yönetim Sistemi) ve Moodle
DetaylıYZM211 YAZILIM TASARIMI
BÖLÜM 4 MÜHENDİSLİK TASARIMI ÇÖZÜMLEMESİ YZM211 YAZILIM TASARIMI Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi Amaçlar 2 Mimari tasarım ve ayrıntılı tasarım
Detaylı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ıPROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.
PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011
Detaylı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ıElbistan Meslek Yüksek Okulu Güz Yarıyılı
HAFTA III Bilgi iletişim sistemi : Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi desteklemekle yükümlüdür. İletişim sistemi, iletişim ağı ile bağlanmış herhangi bir düğümün,
Detaylı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ıBİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama
BİL 542 Paralel Hesaplama Dersi Projesi MPJ Express Java Paralel Programlama Recep Ali YILMAZ 131419106 Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Yüksek Lisans Programı
DetaylıPHP Günleri 2013#1. mysql_* Fonksiyonları Ömrünü Doldurmak Üzere. Peki Şimdi Ne Olacak? Özgür Yazılım A.Ş. www.ozguryazilim.com.tr
PHP Günleri 2013#1 mysql_* Fonksiyonları Ömrünü Doldurmak Üzere. Peki Şimdi Ne Olacak? Adil İlhan Yazılım Geliştirici @adil_ilhan www.adililhan.com adil.ilhan@ozguryazilim.com.tr PHP ve MySQL Bitirim İkili
DetaylıSİSTEM MÜHENDİSLİĞİ TASARIMIN SENTEZLENMESİ II
SİSTEM MÜHENDİSLİĞİ TASARIMIN SENTEZLENMESİ II ÖMER ERTEKİN, PSCONSULTECH 1 TASARIM NEDİR? Tasarım, bir ürüne ait gereksinimlerin, o ürünün tarifine dönüştürülmesi sırasında ortaya çıkan teknik bilgilerin
DetaylıUbuntu Hakkında En Çok Sorulan Sorular
Ubuntu Hakkında En Çok Sorulan Sorular Bahadır Demircioğlu Ocak, 2013 İçindekiler 1 Sık Sorulan Sorular............................................ 2 1.1 Ubuntu nun arkasında bir şirket var mı?..............................
Detaylı5.DERS PROJEDE YÜRÜTMENİN PLANLANMASI
5.DERS PROJEDE YÜRÜTMENİN PLANLANMASI 1 1. PROJENİN PLANLANMASI? Proje planlaması yapılmadan iyi bir proje önerisi hazırlanması mümkün değildir. Bu nedenle planlama ile ilgili sorunları ortaya koymanın
DetaylıJava C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.
Ders İçeriği An introduction to Object-oriented programming with Java Third Edition Update Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Nesneye Yönelik Öğr.
DetaylıClient Server Database
Java Server Faces Ahmet Demirelli Sabancı Üniversitesi 2007 Ajanda Model-1 Mimari Model-2 Mimari MVC Framework Java Server Faces Örnek Uygulama Model 1 Mimari 1 2 3 6 JSP (View) 5 JavaBeans (Model) 4 Client
DetaylıMONTE CARLO BENZETİMİ
MONTE CARLO BENZETİMİ U(0,1) rassal değişkenler kullanılarak (zamanın önemli bir rolü olmadığı) stokastik ya da deterministik problemlerin çözümünde kullanılan bir tekniktir. Monte Carlo simülasyonu, genellikle
DetaylıBİÇİMSEL YÖNTEMLER (FORMAL METHODS) Betül AKTAŞ Suna AKMELEZ
BİÇİMSEL YÖNTEMLER (FORMAL METHODS) Betül AKTAŞ 14011021 Suna AKMELEZ 14011050 Biçimsel Yöntemler Nedir? Nerede Kullanılır? Biçimsel Tasarım Biçimsel Yöntemlerin Yararları Biçimsel Yöntemlerin Zayıf Yönleri
Detaylı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ıOPERASYONEL ÜSTÜNLÜK VE TÜKETİCİ YAKINLAŞMASINI SAĞLAMAK ve KURUMSAL UYGULAMALAR
OPERASYONEL ÜSTÜNLÜK VE TÜKETİCİ YAKINLAŞMASINI SAĞLAMAK ve KURUMSAL UYGULAMALAR Dünya üzerinde işletmeler giderek artan şekilde daha fazla hem içerideki şirketlere hem de diğer şirketlerle bağlanmaktadır.
Detaylı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ıAşırı Programlama İçin Üç Yeni Pratik
Aşırı Programlama İçin Üç Yeni Pratik Mustafa Yıldız, Gürol Erdoğan, Selahattin Kuru Enformatik Uygulama ve Araştırma Merkezi, Işık Üniversitesi, İstanbul {mustafa, gurol, kuru}@isikun.edu.tr Özet. Aşırı
DetaylıBİL-142 Bilgisayar Programlama II
BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri
Detaylıcofaso ile farkı yaşayın Şubat 2009 www.mertbilgi.com.tr
cofaso ile farkı yaşayın Şubat 2009 www.mertbilgi.com.tr cofaso ile farkı yaşayın Otomasyon ve pano projelerinizi profesyonel bilgisayar destekli mühendislik yazılımı (CAE) cofaso ile yönetin Giriş cofaso
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 Ders Akışı Hafta 5. İhtiyaç Analizi ve Modelleme II Haftanın Amacı Bilişim sistemleri ihtiyaç analizinin modeli oluşturulmasında,
Detaylı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
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 oluşturulan program,
DetaylıBaşarı Değerlendirme YAZILIM. Mühendisliğe Temel Bir Bakış. Yazılım Nedir? BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013
BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013 Yrd Doç. Dr. Turgay İBRİKÇİ Ders Kitapları: Ian Sommerville, Software Engineering, 9th Ed., Pearson Addison Wesley, 2011, ISBN:0-321-21026-3 Roger S. Pressman, Software
DetaylıYAZILIM SINAMA TEKNİKLERİ GENEL BİLGİLER
GENEL BİLGİLER Yazılım geliştirme karmaşık bir süreç olduğundan, hataların ortaya çıkması kaçınılmazdır. Yazılım, yaşam döngüsünün her aşamasında, hatalara karşı sınanır. Gereksinimler arasındaki tutarsızlıklar,
DetaylıBilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN
Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN NESNE TABANLI PROGRAMLAMA Java Değişkenler ve Veri Tipleri Operatörler JAVA Java Java SUN bilgisayar şirketince
DetaylıYazılım Mühendisliğine Giriş 2018 GÜZ
Yazılım Mühendisliğine Giriş 2018 GÜZ 1 Dört Temel Yazılım Geliştirme Metodolojisi I)Yapısal Analiz ve Tasarım 1960lıyılların sonu 1970liyıllar Fonksiyonel ayrıştırma (functional decomposition) ve veri
DetaylıSistem Analizi ve. Tasarımı. Mustafa COŞAR
Sistem Analizi ve 1 Tasarımı 2013 Mustafa COŞAR Sunum Planı Genel Kavramlar 2 Sistem Genel Sistem Teorisi Sistemin Öğeleri Bilgi Sistemleri Sistem Analizi Sistem Geliştirme Hayat Döngüsü Sistem Analizi
Detaylı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ıÖzgür Yazılım Lisansları
Özgür Yazılım Lisansları Doruk Fişek (dfisek@fisek.com.tr) http://seminer.linux.org.tr/seminer-notlari/lisanslar/ Başlarken Yazılım lisansı, yazılımı geliştiren kişi/kurum ile yazılımın kullanıcıları arasında
DetaylıMaltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği II (BIL 306)
Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği II (BIL 306) GENEL DERS BİLGİSİ Öğretim Üyesi : Prof. Dr. Fuat İNCE Araştırma Görevlisi. Selim BAYRAKLI Ofis : 311 Ofis Saatleri
DetaylıAkıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların
Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların bilgilerini saklamalarına, program yüklemelerine izin
DetaylıTÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)
TÜMLEŞİK MODELLEME DİLİ UML (Unified Modeling Language) UML NEDİR? Yazılım ve donanımların bir arada düşünülmesi gereken, Zor ve karmaşık programların, Özellikle birden fazla yazılımcı tarafından kodlanacağı
DetaylıFMEA. Hata Türleri ve Etkileri Analizi
FMEA Hata Türleri ve Etkileri Analizi 2007 FMEA Tanımı FMEA (HTEA), bir ürün veya prosesin potansiyel hatalarını ve bunların sonucu olabilecek etkilerini tanımlama, değerlendirme, potansiyel hatanın ortaya
DetaylıUyumluluk markalamasından katma değerli kodlamaya kadar
Teknik rapor Uyumluluk markalamasından katma değerli kodlamaya kadar Ultra Yüksek Hızlı Sürekli Mürekkep Püskürtme teknolojisi, ambalajlamayı geliştirmek için yeni olanaklar oluşturmaktadır Kodlama ve
DetaylıProje Çevresi ve Bileşenleri
Proje Çevresi ve Bileşenleri 1.3. Proje Çevresi Proje çevresi, proje performans ve başarısını önemli ölçüde etkiler. Proje takımı; sosyoekonomik, coğrafı, siyasi, yasal, teknolojik ve ekolojik gibi kuruluş
DetaylıVERİ TABANI YÖNETİM SİSTEMLERİ
VERİ TABANI YÖNETİM SİSTEMLERİ Veri Tabanı Nedir? Sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir kuruluşa
DetaylıVeritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri
Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri Konular Veritabanı Tasarım Aşamaları Veri Modeli Nedir? Veri Modeli Temel Bileşenleri İş Kuralları (Business Rules) İş Kurallarını Veri
DetaylıBLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR Yrd. Doç. Dr. Nesrin AYDIN ATASOY GENEL BİLGİLER
BLM 426 YAZILIM MÜHENDİSLİĞİ BAHAR 2017 Yrd. Doç. Dr. Nesrin AYDIN ATASOY GENEL BİLGİLER Başarım Değerlendirme Vize, Final, Ödev Ders İçeriği 01. Hafta: Yazılım mühendisliğinin tanımı, önemi 02. Hafta:
DetaylıİŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği
İŞLETİM SİSTEMLERİNE GİRİŞ Von Neumann Mimarisi Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği mimariyi temel almaktadır. Merkezi İşlem Birimi Aritmetik ve Mantık Birimi Kontrol
DetaylıALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü
ALGORİTMA ANALİZİ Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Temel Kavramlar Algoritma: Bir problemin çözümünü belirli bir zamanda çözmek için sonlu sayıdaki adım-adım birbirini takip eden
Detaylıİleri Yazılım Mimarisi (SE 658) Ders Detayları
İleri Yazılım Mimarisi (SE 658) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS İleri Yazılım Mimarisi SE 658 Bahar 3 0 0 3 7.5 Ön Koşul Ders(ler)i Dersin
DetaylıModel Tabanlı Geliştirmede Çevik Süreç Uygulanması
Model Tabanlı Geliştirmede Çevik Süreç Uygulanması Model Tabanlı Geliştirme Model nedir? Object Management Group Model Tabanlı Mimari «Herşey modeldir» Model Kaynak kod MDD Avantajları Daha hızlı yazılım
Detaylıİyileştirilmesi Gereken Sorunlar: Kredi kartının hesap kesim tarihinin veri tabanına yanlış kaydı.
Proje Başlığı: Banka Otomasyonu Amaç: Banka müşterilerinin banka işlemlerini rahat ve güvenli bir şekilde yapabileceği web ortamında çalışabilecek bir otomasyon geliştirmek. Projenin Konusu, Kapsamı ve
DetaylıVERİ YAPILARI VE PROGRAMLAMA
VERİ YAPILARI VE PROGRAMLAMA (BIP116) Yazar: Doç.Dr.İ.Hakkı.Cedimoğlu SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.
Detaylı