Yazılım Mühendisliği Etiği

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Yazılım mühendisliği hangi konularla ilgilenir?

  • Sadece veritabanı yönetimi
  • Sadece yazılım test süreçleri
  • Profesyonel yazılım geliştirme için teori, yöntem ve araçlar (correct)
  • Sadece programlama dilleri ve algoritmalar

Aşağıdakilerden hangisi iyi bir yazılımın özelliklerinden biri değildir?

  • Kullanışlı olması
  • Bakımının kolay olması
  • Güvenilir olması
  • Karmaşık kod yapısına sahip olması (correct)

Yazılım maliyetleri genellikle hangi harcama kalemini aşar?

  • Donanım maliyetleri (correct)
  • Eğitim maliyetleri
  • Pazarlama maliyetleri
  • Ofis giderleri

Uzun ömürlü sistemlerde, yazılım bakım maliyetleri genellikle ne kadar olabilir?

<p>Geliştirme maliyetlerinin birkaç katı olabilir. (A)</p> Signup and view all the answers

Aşağıdakilerden hangisi yazılım projelerinde başarısızlığa neden olan faktörlerden biridir?

<p>Sistem karmaşıklığının artması (A)</p> Signup and view all the answers

Hangi durumda yazılım mühendisliği yöntemlerini kullanmadan program yazmak daha olasıdır?

<p>Kişisel programlama projelerinde (C)</p> Signup and view all the answers

Aşağıdakilerden hangisi iyi bir yazılımın temel niteliklerinden biri değildir?

<p>Uygunsuzluk (B)</p> Signup and view all the answers

Yazılım mühendisliği hangi mühendislik aşamasıyla en çok ilgilenir?

<p>Sistem özelliklerinin belirlenmesinden, sistemin kullanıma girmesi ve bakımına kadar yazılım üretiminin tüm aşamaları (C)</p> Signup and view all the answers

Yazılım mühendisliğinin önemi neden artmaktadır?

<p>Bireylerin ve toplumun gelişmiş yazılım sistemlerine olan bağımlılığı (A)</p> Signup and view all the answers

Aşağıdakilerden hangisi yazılım süreç faaliyetlerinden biridir?

<p>Hepsi (B)</p> Signup and view all the answers

Aşağıdakilerden hangisi yazılımları etkileyen genel sorunlardan biri değildir?

<p>Sabit gereksinimler (A)</p> Signup and view all the answers

Yazılım mühendisliğinde çeşitlilik ne anlama gelir?

<p>Farklı yazılım sistemi türleri için farklı teknikler kullanmak (D)</p> Signup and view all the answers

Aşağıdakilerden hangisi bir uygulama türüdür?

<p>Hepsi (A)</p> Signup and view all the answers

Aşağıdakilerden hangisi yazılım mühendisliğinin temel prensiplerinden biri değildir?

<p>Gereksiz yere yeni yazılım yazmak daha iyidir. (A)</p> Signup and view all the answers

Web tabanlı sistemler için hangi yaklaşım yaygın olarak kullanılır?

<p>Hepsi (B)</p> Signup and view all the answers

Yazılım mühendisliği etiği, teknik becerilerin uygulanmasından daha geniş sorumlulukları içerir. Aşağıdakilerden hangisi bu sorumluluklardan biri değildir?

<p>Sadece yasaları takip etmek (C)</p> Signup and view all the answers

ACM/IEEE Etik Kuralları'na göre, bir yazılım mühendisi için en önemli etik prensip nedir?

<p>Halkın yararına olacak şekilde hareket etmek (D)</p> Signup and view all the answers

Aşağıdakilerden hangisi profesyonel sorumluluk sorunlarından biri değildir?

<p>Rekabet üstünlüğü (C)</p> Signup and view all the answers

Hangi durumda bir yazılım mühendisi etik bir ikilemle karşılaşabilir?

<p>Hepsi (A)</p> Signup and view all the answers

Bir diyabet hastasının kan şekeri kontrolünü sağlamak için kullanılan insülin pompası hangi tür sistemi içerir?

<p>Gömülü sistem (B)</p> Signup and view all the answers

Mentcare sisteminin temel amacı nedir?

<p>Akıl sağlığı hizmeti yöneticilerine performans değerlendirme bilgileri sağlamak ve tıbbi personele hasta tedavilerini desteklemek için zamanında bilgi sağlamak (A)</p> Signup and view all the answers

Aşağıdakilerden hangisi Mentcare sisteminin güvenlik özelliklerinden biridir?

<p>Hepsi (C)</p> Signup and view all the answers

Bir ülkenin uzak bölgelerine yerleştirilen hava durumu istasyonları hangi tür verileri toplar?

<p>Sıcaklık, basınç, güneş ışığı, yağış, rüzgar hızı ve yönü gibi hava parametreleri (A)</p> Signup and view all the answers

Uzak hava durumu istasyonlarında kullanılan yazılımın ek işlevleri arasında hangisi bulunur?

<p>Cihazları izlemek, enerji yönetimi ve dinamik yeniden yapılandırma (C)</p> Signup and view all the answers

ILearn dijital öğrenme ortamı nedir?

<p>Genel amaçlı ve özel olarak tasarlanmış öğrenme araçlarının birleşimi (C)</p> Signup and view all the answers

ILearn sisteminde, hizmet odaklı sistem ne anlama gelir?

<p>Tüm sistem bileşenlerinin değiştirilebilir bir hizmet olarak kabul edilmesi (B)</p> Signup and view all the answers

ILearn hizmetleri arasında hangisi bulunur?

<p>Hepsi (D)</p> Signup and view all the answers

Yüksek seviyede bir yazılım validasyon (doğrulama) prensibi nedir?

<p>Yazılımın müşterinin istediği şey olduğunun kesinleştirilmesi (C)</p> Signup and view all the answers

Hangisi yazılım mühendisliği etiği içerisinde kapsanan bir husustur?

<p>Topluma ve mesleğe karşı sorumluluklar (C)</p> Signup and view all the answers

ACM/IEEE Etik Kuralları'na göre, bir yazılım mühendisi hangi davranıştan kaçınmalıdır?

<p>Halkın sağlığını ve güvenliğini tehlikeye atmak (D)</p> Signup and view all the answers

Yazılım projelerindeki olası etik ikilemlere bir örnek veriniz.

<p>Güvenlik açıkları olan bir yazılımı yayınlamak (C)</p> Signup and view all the answers

Aşağıdakilerden hangisi, Mentcare sisteminin temel özelliklerinden biri değildir?

<p>Finansal analiz (C)</p> Signup and view all the answers

Uzak bölgelerde bulunan hava durumu istasyonlarının temel amacı nedir?

<p>Hava durumu verilerini toplamak (A)</p> Signup and view all the answers

Aşağıdakilerden hangisi iLearn dijital öğrenme ortamının temel özelliklerinden biridir?

<p>Hizmet odaklı sistem olması (D)</p> Signup and view all the answers

ILearn mimarisinde, 'Application services' (Uygulama hizmetleri) ne tür işlevler sunar?

<p>E-posta, mesajlaşma, video konferans gibi belirli uygulamalar (C)</p> Signup and view all the answers

ILearn'de 'Integrated services' (Entegre hizmetler) ile 'Independent services' (Bağımsız hizmetler) arasındaki temel fark nedir?

<p>API aracılığıyla diğer hizmetlerle doğrudan iletişim (B)</p> Signup and view all the answers

Yazılım mühendisliği ilkelerinin evrensel olarak uygulanabilir olması ne anlama gelir?

<p>Tüm sistem geliştirme türlerinde geçerli olması (A)</p> Signup and view all the answers

Flashcards

Yazılımın önemi?

Gelişmiş ulusların ekonomileri yazılıma bağımlıdır.

Yazılım maliyetleri

Yazılım maliyetleri genellikle bilgisayar sistemi maliyetlerine hakimdir. Bir PC'deki yazılımın maliyetleri genellikle donanım maliyetinden daha büyüktür.

Yazılım mühendisliği nedir?

Yazılım mühendisliği, profesyonel yazılım geliştirmeye yönelik teoriler, yöntemler ve araçlarla ilgilenir.

İş ve sosyal değişim

Mevcut yazılımları değiştirmek ve yeni yazılımlar geliştirmek.

Signup and view all the flashcards

Genel ürünler

Piyasaya sürülen ve satın almak isteyen herhangi bir müşteriye satılan bağımsız sistemlerdir.

Signup and view all the flashcards

Özelleştirilmiş ürünler

Belirli bir müşteriye, kendi ihtiyaçlarını karşılamak için sipariş edilen yazılımdır.

Signup and view all the flashcards

İyi yazılımın özellikleri?

İyi yazılım, kullanıcının ihtiyaç duyduğu işlevselliği ve performansı sunmalı, sürdürülebilir, güvenilir ve kullanılabilir olmalıdır.

Signup and view all the flashcards

Sürdürülebilirlik

Müşterilerin değişen ihtiyaçlarını karşılayacak şekilde yazılmalıdır. Yazılım değişikliği iş ortamının kaçınılmaz bir gerekliliğidir.

Signup and view all the flashcards

Güvenilirlik ve güvenlik

Güvenilirlik, güvenlik ve emniyet dahil bir dizi özelliği içerir. Güvenilir yazılım, sistem arızası durumunda fiziksel veya ekonomik hasara neden olmamalıdır.

Signup and view all the flashcards

Verimlilik

Bellek ve işlemci döngüleri gibi sistem kaynaklarının israf edilmesine neden olmamalıdır.

Signup and view all the flashcards

Kabul edilebilirlik

Tasarlandığı kullanıcı türü için kabul edilebilir olmalıdır. Anlaşılabilir, kullanılabilir ve kullandıkları diğer sistemlerle uyumlu olmalıdır.

Signup and view all the flashcards

Temel yazılım mühendisliği aktiviteleri?

Yazılım spesifikasyonu, yazılım geliştirme, yazılım doğrulama ve yazılım evrimi.

Signup and view all the flashcards

Artan sistem karmaşıklığı

Yeni yazılım mühendisliği teknikleri daha büyük, daha karmaşık sistemler inşa etmemize yardımcı oldukça, talepler değişir. Sistemler daha hızlı inşa edilmeli ve teslim edilmelidir.

Signup and view all the flashcards

Yazılım mühendisliği etiği

Yazılım mühendisleri dürüst ve etik açıdan sorumlu bir şekilde davranmalıdır.

Signup and view all the flashcards

Gizlilik

Mühendisler, resmi bir gizlilik sözleşmesi imzalanmış olsun veya olmasın, işverenlerinin veya müşterilerinin gizliliğine normalde saygı göstermelidir.

Signup and view all the flashcards

Yetkinlik

Mühendisler yetkinlik düzeylerini yanlış tanıtmamalıdır. Bilerek yetkinliklerinin dışında olan işleri kabul etmemelidirler.

Signup and view all the flashcards

Ölçeklenebilirlik

Sınırları aşan, gömülü sistemlerden internet ölçeğine kadar uzanan yazılımların geliştirilmesi.

Signup and view all the flashcards

Fikri mülkiyet hakları

Patentler, telif hakları vb. gibi fikri mülkiyetin kullanımını yöneten yerel yasaların farkında olmalıdırlar. İşverenlerin ve müşterilerin fikri mülkiyetinin korunmasını sağlamaya özen göstermelidirler.

Signup and view all the flashcards

Bilgisayarın kötüye kullanımı

Yazılım mühendisleri, teknik becerilerini başkalarının bilgisayarlarını kötüye kullanmak için kullanmamalıdırlar. Bilgisayarın kötüye kullanımı, nispeten önemsizden (bir işverenin makinesinde oyun oynamak gibi) son derece ciddiye (virüs yayılımı) kadar değişir.

Signup and view all the flashcards

ACM/IEEE Etik Kuralları

ABD'deki meslek kuruluşları, bir etik uygulama yönergesi üretmek için işbirliği yapmıştır.

Signup and view all the flashcards

Yazılım mühendisliği özeti

Yazılım mühendisleri, yazılımın analizini, belirtimini, tasarımını, geliştirilmesini, test edilmesini ve bakımını yararlı ve saygın bir meslek haline getirmeye kendilerini adamalıdırlar.

Signup and view all the flashcards

Kamu

Kamu çıkarlarıyla tutarlı hareket etmelidirler.

Signup and view all the flashcards

Müşteri ve İşveren

Müşteri ve işverenlerinin çıkarları doğrultusunda hareket etmelidirler.

Signup and view all the flashcards

Ürün

Ürünlerinin ve ilgili değişikliklerinin mümkün olan en yüksek profesyonel standartları karşılamasını sağlamalıdırlar.

Signup and view all the flashcards

Karar

Profesyonel değerlendirmelerinde dürüstlük ve bağımsızlıklarını korumalıdırlar.

Signup and view all the flashcards

Kişisel insülin pompası

Bir yazılım sisteminin, diyabet hastaları tarafından kan glikozunu kontrol altında tutmak için kullanılan gömülü bir sistem.

Signup and view all the flashcards

Ruh sağlığı hasta yönetim sistemi

Ruh sağlığı sorunları olan kişilerin kayıtlarını tutmak için kullanılan bir sistem.

Signup and view all the flashcards

Vahşi doğa hava durumu istasyonu

Uzak bölgelerdeki hava koşullarıyla ilgili verileri toplayan bir veri toplama sistemi.

Signup and view all the flashcards

iLearn: dijital öğrenme ortamı

Okullarda öğrenmeyi desteklemek için bir sistem.

Signup and view all the flashcards

Hava Durumu İstasyonu

Bir ülkenin hükümeti, uzak bölgelerde birkaç yüz hava durumu istasyonu kurmaya karar verir.

Signup and view all the flashcards

Hava Durumu İstasyonu

Hava durumu istasyonu bir dizi cihazdan veri toplar.

Signup and view all the flashcards

Hava Durumu İstasyonu Sistemi

Hava durumu istasyonu sistemi, veri yönetimi sistemine hava durumu verilerini toplamak ve işlemekten ve iletmekten sorumludur.

Signup and view all the flashcards

Yazılım işlevleri

Akülerin tam güç aldığından emin olmak.

Signup and view all the flashcards

Yazılım işlevleri

Sistem bakımı, sağlık sistemleri ile iletişime geçebilir.

Signup and view all the flashcards

Dijital Öğrenme Ortamı (DLE)

Dijital bir öğrenme ortamı, genel amaçlı, özel araçları sistemdeki diğer uygulamalarla birleştiren bir teknolojidir.

Signup and view all the flashcards

Yardımcı hizmetler

Yardımcı hizmetler, e-posta, konferans, fotoğraf paylaşımı vb. gibi belirli uygulamalar sağlayan uygulama hizmetleri.

Signup and view all the flashcards

Yapılandırma Hizmetleri

Yapılandırma hizmetleri, uygulama hizmetlerinin farklı kullanıcılar arasında nasıl paylaşıldığını tanımlamak için kullanılır.

Signup and view all the flashcards

Entegre Hizmetler

Entegre Hizmetler, API aracılığıyla kolay erişim sağlayan diğer hizmetlerdir.

Signup and view all the flashcards

Bağımsız Hizmetler

Bağımsız hizmetler, bir tarayıcı arayüzü aracılığıyla yönetilir ve diğer hizmetlerden bağımsız olarak çalışır.

Signup and view all the flashcards

Yazılım Mühendisliği

Yazılım mühendisliği, yazılım üretimin tüm yönleriyle ilgili bir mühendislik disiplinidir.

Signup and view all the flashcards

Study Notes

  • Gelişmiş ülkelerin ekonomileri yazılıma bağımlıdır ve giderek daha fazla sistem yazılımlarla kontrol edilmektedir.
  • Yazılım mühendisliği, profesyonel yazılım geliştirme için gerekli teoriler, yöntemler ve araçlarla ilgilenir.
  • Yazılıma yapılan harcamalar, gelişmiş ülkelerin Gayri Safi Milli Hasılasının önemli bir bölümünü oluşturur.
  • Yeni yazılım mühendisliği teknikleri daha büyük ve karmaşık sistemler oluşturmaya yardımcı olurken, talepler de değişmektedir.
  • Sistemlerin daha hızlı bir şekilde inşa edilip teslim edilmesi gerekir.
  • Daha büyük ve daha karmaşık sistemlere ihtiyaç duyulmaktadır.
  • Sistemlerin daha önce imkansız olduğu düşünülen yeni yeteneklere sahip olması gerekmektedir.

Yazılım Mühendisliği Etiği

  • Yazılım mühendislerinin, profesyonel olarak saygı duyulabilmeleri için dürüst ve etik olarak sorumlu bir şekilde davranmaları gerekmektedir.
  • Etik davranış, sadece yasaya uymakla kalmayıp, ahlaki olarak doğru olan bir dizi ilkeyi takip etmeyi içerir.

Yazılım Maliyetleri

  • Yazılım maliyetleri genellikle bilgisayar sistemi maliyetlerine hakimdir ve bir PC'deki yazılım maliyetleri çoğu zaman donanım maliyetinden daha yüksektir.
  • Yazılımların bakımı, geliştirilmesinden daha pahalıdır. Uzun ömürlü sistemler için bakım maliyetleri, geliştirme maliyetlerinin birkaç katı olabilir.
  • Yazılım mühendisliği, maliyet etkin yazılım geliştirmeyle ilgilenir.

İyi Bir Yazılımın Temel Özellikleri

  • Yazılımlar, müşterilerin değişen ihtiyaçlarını karşılayacak şekilde yazılmalıdır; bu, değişen bir iş ortamında kaçınılmaz bir gereklilik olduğundan kritik bir özelliktir.
  • Yazılımın güvenilirliği, güvenliği ve emniyeti içeren bir dizi özelliği içerir. Güvenilir yazılımlar, sistem arızası durumunda fiziksel veya ekonomik hasara neden olmamalıdır.
  • Kötü niyetli kullanıcılar sisteme erişmemeli veya sisteme zarar vermemelidir.
  • Yazılımlar, bellek ve işlemci döngüleri gibi sistem kaynaklarını israf etmemelidir; bu nedenle verimlilik, yanıt verme hızı, işlem süresi ve bellek kullanımı gibi faktörleri içerir.
  • Yazılım, tasarlanmış olduğu kullanıcı türleri için kabul edilebilir olmalıdır; yani anlaşılabilir, kullanılabilir ve kullandıkları diğer sistemlerle uyumlu olmalıdır.

Yazılım Mühendisliği

  • Sistem spesifikasyonunun ilk aşamalarından, kullanıma girdikten sonra sistemin bakımına kadar yazılım üretiminin tüm yönleriyle ilgilenen bir mühendislik disiplinidir.
  • Kurumsal ve finansal kısıtlamaları göz önünde bulundurarak sorunları çözmek için uygun teorileri ve yöntemleri kullanır.
  • Yazılım mühendisliği yalnızca teknik geliştirme süreciyle değil, aynı zamanda proje yönetimiyle ve yazılım üretimini desteklemek için araçların, yöntemlerin geliştirilmesiyle de ilgilenmektedir.

Yazılım Mühendisliğinin Önemi

  • Bireyler ve toplum giderek daha fazla gelişmiş yazılım sistemlerine bağımlı hale gelmektedir. Bu nedenle, güvenilir ve güvenilir sistemleri ekonomik ve hızlı bir şekilde üretebilmek önemlidir.
  • Uzun vadede, yazılım sistemleri için yazılım mühendisliği yöntemlerini ve tekniklerini kullanmak, sadece kişisel bir programlama projesi gibi programları yazmaktan genellikle daha ucuzdur.
  • Çoğu sistem türü için maliyetlerin büyük bir kısmı, yazılım kullanıma girdikten sonra yazılımı değiştirmekten kaynaklanır.

Yazılım Süreci Faaliyetleri:

  • Müşterilerin ve mühendislerin üretilecek yazılımı ve çalışmasına ilişkin kısıtlamaları tanımladığı yazılım spesifikasyonu.
  • Yazılımın tasarlandığı ve programlandığı yazılım geliştirme.
  • Yazılımın müşterinin gereksinimlerini karşıladığından emin olmak için kontrol edildiği yazılım validasyonu.
  • Yazılımın değişen müşteri ve pazar gereksinimlerini yansıtacak şekilde değiştirildiği yazılım evrimi.

Yazılımı Etkileyen Genel Sorunlar

  • Heterojenlik: Sistemlerin giderek farklı türde bilgisayar ve mobil cihazları içeren ağlar üzerinde dağıtık sistemler olarak çalışması gerekmektedir.
  • İşletme ve Sosyal Değişim: İşletme ve toplum, gelişmekte olan ekonomiler geliştikçe ve yeni teknolojiler kullanıma sunuldukça inanılmaz derecede hızlı bir şekilde değişmektedir. İşletmelerin mevcut yazılımlarını değiştirebilmeleri ve hızlı bir şekilde yeni yazılımlar geliştirmeleri gerekmektedir.
  • Güvenlik ve Güven: Yazılım hayatımızın her alanına nüfuz ettiğinden, yazılıma güvenebilmemiz önemlidir.
  • Ölçek: Yazılım, taşınabilir veya giyilebilir cihazlardaki çok küçük gömülü sistemlerden, küresel bir topluluğa hizmet veren İnternet ölçeğinde, bulut tabanlı sistemlere kadar çok geniş bir yelpazede geliştirilmelidir.

Yazılım Mühendisliği Çeşitliliği

  • Birçok farklı türde yazılım sistemi bulunmaktadır ve bunların hepsine uygulanabilecek evrensel bir yazılım tekniği seti bulunmamaktadır.
  • Kullanılan yazılım mühendisliği yöntemleri ve araçları, geliştirilmekte olan uygulamanın türüne, müşterinin gereksinimlerine ve geliştirme ekibinin geçmişine bağlıdır.

Uygulama Türleri

  • Bağımsız uygulamalar: Bunlar, bir PC gibi yerel bir bilgisayarda çalışan uygulama sistemleridir. Gerekli tüm işlevleri içerirler ve bir ağa bağlı olmaları gerekmez.
  • Etkileşimli işlem tabanlı uygulamalar: Bunlar, uzak bir bilgisayarda yürütülen ve kullanıcılar tarafından kendi PC'lerinden veya terminallerinden erişilen uygulamalardır. Bunlara e-ticaret uygulamaları gibi web uygulamaları dahildir.
  • Gömülü kontrol sistemleri: Bunlar, donanım cihazlarını kontrol eden ve yöneten yazılım kontrol sistemleridir. Sayısal olarak, muhtemelen diğer sistem türlerinden daha fazla gömülü sistem bulunmaktadır.
  • Toplu işleme sistemleri: Bunlar, verileri büyük partiler halinde işlemek üzere tasarlanmış iş sistemleridir. Karşılık gelen çıktıları oluşturmak için çok sayıda bireysel girdi işlerler.
  • Eğlence sistemleri: Bunlar, öncelikle kişisel kullanım için olan ve kullanıcının eğlenmesi için tasarlanmış sistemlerdir.
  • Modelleme ve simülasyon sistemleri: Bunlar, bilim insanları ve mühendisler tarafından fiziksel süreçleri veya durumları modellemek için geliştirilen sistemlerdir; bu sistemler birçok ayrı, etkileşimli nesneyi içerir.
  • Veri toplama sistemleri: Bunlar, bir dizi sensör kullanarak ortamlarından veri toplayan ve bu verileri işlenmek üzere diğer sistemlere gönderen sistemlerdir.
  • Sistem sistemleri: Bunlar, bir dizi başka yazılım sisteminden oluşan sistemlerdir.

Yazılım Mühendisliğinin Temel İlkeleri

  • Bazı temel ilkeler, kullanılan geliştirme tekniklerinden bağımsız olarak tüm yazılım sistemi türleri için geçerlidir:
    • Sistemler, yönetilen ve anlaşılan bir geliştirme süreci kullanılarak geliştirilmelidir. Elbette, farklı yazılım türleri için farklı süreçler kullanılmaktadır.
    • Güvenilirlik ve performans her tür sistem için önemlidir.
    • Yazılım spesifikasyonunu ve gereksinimlerini (yazılımın ne yapması gerektiği) anlamak ve yönetmek önemlidir.
    • Uygun olduğunda, yeniden yazmak yerine halihazırda geliştirilmiş olan yazılımları yeniden kullanmalısınız.

İnternet Yazılım Mühendisliği

  • Web, artık uygulama çalıştırmak için bir platformdur ve kuruluşlar giderek yerel sistemler yerine web tabanlı sistemler geliştirmektedir.
  • Web hizmetleri, uygulama işlevlerinin web üzerinden erişilmesini sağlar.
  • Bulut bilişim, uygulamaların bulutta uzaktan çalıştığı bilgisayar hizmetlerinin sağlanmasına yönelik bir yaklaşımdır. Kullanıcılar yazılım satın almaz, kullanımına göre ödeme yaparlar.
  • Web tabanlı sistemler karmaşık dağıtık sistemlerdir ancak daha önce tartışılan yazılım mühendisliğinin temel ilkeleri, diğer sistem türleri için olduğu kadar bunlar için de geçerlidir.
  • Yazılım mühendisliğinin temel fikirleri, web tabanlı yazılımlara diğer yazılım sistemi türleriyle aynı şekilde uygulanır.

Web Yazılım Mühendisliği

  • Yazılımın yeniden kullanımı, web tabanlı sistemler oluşturmak için baskın yaklaşımdır. Bu sistemleri oluştururken, bunları önceden var olan yazılım bileşenlerinden ve sistemlerden nasıl monte edebileceğinizi düşünmelisiniz.
  • Web tabanlı sistemler artımlı olarak geliştirilmeli ve teslim edilmelidir. Artık, bu tür sistemlerin tüm gereksinimlerinin önceden belirtilmesinin pratik olmadığı genel olarak kabul edilmektedir.
  • Hizmet odaklı sistemler: Yazılım, yazılım bileşenlerinin bağımsız web hizmetleri olduğu hizmet odaklı yazılım mühendisliği kullanılarak uygulanabilir.
  • Zengin arayüzler: AJAX ve HTML5 gibi arayüz geliştirme teknolojileri, bir web tarayıcısında zengin arayüzlerin oluşturulmasını desteklemek için ortaya çıkmıştır.

Profesyonel Sorumluluk Konuları

  • Gizlilik: Mühendisler, resmi bir gizlilik sözleşmesi imzalanmış olsun veya olmasın, normalde işverenlerinin veya müşterilerinin gizliliğine saygı duymalıdır.
  • Yeterlilik: Mühendisler yeterlilik seviyelerini yanlış temsil etmemelidir. Bilerek yeterliliklerinin dışında olan işleri kabul etmemelidirler.
  • Fikri mülkiyet hakları: Mühendisler, patentler, telif hakları vb. gibi fikri mülkiyetin kullanımını düzenleyen yerel yasalardan haberdar olmalıdır. İşverenlerin ve müşterilerin fikri mülkiyetinin korunmasını sağlamaya özen göstermelidirler.
  • Bilgisayarın kötüye kullanılması: Yazılım mühendisleri, teknik becerilerini diğer kişilerin bilgisayarlarını kötüye kullanmak için kullanmamalıdır. Bilgisayarın kötüye kullanılması, nispeten önemsiz (örneğin, bir işverenin makinesinde oyun oynamak) ila son derece ciddi (virüslerin yayılması) arasında değişebilir.

ACM/IEEE Etik Kuralları

  • ABD'deki profesyonel topluluklar, etik uygulama kuralları oluşturmak için işbirliği yapmıştır.
  • Bu kuruluşların üyeleri, katıldıklarında uygulama kurallarını imzalamaktadır.
  • Kod, profesyonel yazılım mühendislerinin davranışları ve kararlarıyla ilgili sekiz ilke içermektedir; bunlar arasında uygulayıcılar, eğitmenler, yöneticiler, süpervizörler ve politika yapıcılar ile mesleğin stajyerleri ve öğrencileri yer almaktadır.
  • Bilgisayarların ticaret, sanayi, hükümet, tıp, eğitim, eğlence ve genel olarak toplumda merkezi ve büyüyen bir rolü vardır. Yazılım mühendisleri, yazılım sistemlerinin analizi, spesifikasyonu, tasarımı, geliştirilmesi, sertifikasyonu, bakımı ve test edilmesine doğrudan katılarak veya eğitimi ile katkıda bulunan kişilerdir.
  • Yazılım mühendislerinin, yazılım sistemleri geliştirme rollerinden dolayı, iyilik yapma veya zarar verme, başkalarının iyilik yapmasını veya zarar vermesini sağlama veya başkalarını iyilik yapmaya veya zarar vermeye etkileme konusunda önemli fırsatları vardır. Yazılım mühendislerinin çabalarının mümkün olduğunca iyi kullanılmasını sağlamak için, yazılım mühendisliğini faydalı ve saygın bir meslek haline getirmeye kendilerini adamaları gerekmektedir.

Etik İlkeler

  • Kamu - Yazılım mühendisleri halkın çıkarına olacak şekilde hareket etmelidir.
  • Müşteri ve İşveren - Yazılım mühendisleri, müşterileri ve işverenlerinin çıkarlarına en uygun şekilde hareket etmelidir; bu, kamu yararıyla tutarlı olmalıdır.
  • Ürün - Yazılım mühendisleri, ürünlerinin ve ilgili değişikliklerinin mümkün olan en yüksek profesyonel standartları karşılamasını sağlamalıdır.
  • Karar - Yazılım mühendisleri, profesyonel kararlarında doğruluk ve bağımsızlığı korumalıdır.
  • Yönetim - Yazılım mühendisliği yöneticileri ve liderleri, yazılım geliştirme ve bakımının yönetimine etik bir yaklaşımı benimsemeli ve desteklemelidir.
  • Meslek - Yazılım mühendisleri, mesleğin dürüstlüğünü ve itibarını kamu yararıyla tutarlı bir şekilde ilerletmelidir.
  • İş arkadaşları - Yazılım mühendisleri, iş arkadaşlarına karşı adil ve destekleyici olmalıdır.
  • Öz - Yazılım mühendisleri, mesleklerinin pratiğiyle ilgili yaşam boyu öğrenmeye katılmalı ve mesleğin pratiğine etik bir yaklaşımı desteklemelidir.

Etik İkilemler

  • Üst yönetimin politikalarıyla prensipte anlaşmazlık.
  • İşvereniniz etik olmayan bir şekilde hareket eder ve sistemin testini bitirmeden güvenlik açısından kritik bir sistem yayınlar.
  • Askeri silah sistemlerinin veya nükleer sistemlerin geliştirilmesine katılım.

Vaka Çalışmaları

  • Kişisel bir insülin pompası: Diyabetlilerin kan şekeri kontrolünü sağlamak için kullandığı bir insülin pompasında gömülü bir sistem.
  • Bir akıl sağlığı vakası hasta yönetim sistemi: Akıl sağlığı sorunları yaşayan kişilerin kayıtlarını tutmak için kullanılan Mentcare.
  • Bir vahşi doğa hava istasyonu: Uzak bölgelerdeki hava koşulları hakkında veri toplayan bir veri toplama sistemi.
  • iLearn: dijital bir öğrenme ortamı - Okullarda öğrenmeyi desteklemek için bir sistemdir.

İnsülin Pompa Kontrol Sistemi

  • Bir kan şekeri sensöründen veri toplar ve enjekte edilecek insülin miktarını hesaplar.
  • Hesaplama, kan şekeri seviyelerindeki değişim hızına dayanır.
  • Doğru insülin dozunu vermek için bir mikro-pompaya sinyaller gönderir.
  • Düşük kan şekerinin beyin fonksiyon bozukluğuna, komaya ve ölüme neden olabileceği için güvenlik açısından kritik bir sistemdir; yüksek kan şekeri seviyeleri ise göz ve böbrek hasarı gibi uzun vadeli sonuçlara yol açar.

Esas Üst Düzey Gereksinimler

  • Sistem, gerektiğinde insülin verebilmeli, güvenilir bir şekilde çalışmalı ve mevcut kan şekeri seviyesini dengelemek için doğru miktarda insülini vermelidir.
  • Bu nedenle sistem, her zaman bu gereksinimleri karşılamasını sağlamak için tasarlanmalı ve uygulanmalıdır.

Mentcare: Akıl Sağlığı Bakımı için Bir Hasta Bilgi Sistemi

  • Akıl sağlığı bakımını destekleyen bir hasta bilgi sistemi, akıl sağlığı sorunları yaşayan hastalar ve aldıkları tedaviler hakkında bilgi tutan bir tıbbi bilgi sistemidir.
  • Çoğu akıl sağlığı hastası özel hastane tedavisi gerektirmez, ancak sorunları hakkında ayrıntılı bilgiye sahip bir doktorla düzenli olarak görüşebildikleri uzman kliniklere düzenli olarak katılmaları gerekir.
  • Hastaların katılımlarını kolaylaştırmak için bu klinikler sadece hastanelerde değil, yerel tıp merkezlerinde veya toplum merkezlerinde de düzenlenebilir.
  • Mentcare, kliniklerde kullanılmak üzere tasarlanmış bir bilgi sistemidir.
  • Hasta bilgilerinin merkezi bir veri tabanını kullanır, ancak güvenli ağ bağlantısı olmayan sitelerden erişilebilmesi ve kullanılabilmesi için bir PC'de çalışacak şekilde de tasarlanmıştır.
  • Yerel sistemlerin güvenli ağ erişimi olduğunda, hasta bilgilerini veri tabanında kullanırlar, ancak bağlantıları kesildiğinde hasta kayıtlarının yerel kopyalarını indirebilir ve kullanabilirler.
  • Sağlık hizmeti yöneticilerinin, yerel ve hükümet hedeflerine göre performansı değerlendirmesine olanak tanıyan yönetim bilgilerini oluşturmak.
  • Tıbbi personele hastaların tedavisini desteklemek için zamanında bilgi sağlamak.

Mentcare Sisteminin Temel Özellikleri

  • Bireysel bakım yönetimi: Klinisyenler hastalar için kayıtlar oluşturabilir, sistemdeki bilgilere erişebilir, hasta geçmişini görüntüleyebilir vb. Sistem, doktorların temel sorunlar ve reçete edilen tedaviler hakkında hızlı bir şekilde bilgi edinmesini sağlamak amacıyla veri özetlerini destekler.
  • Hasta takibi: Sistem tedavi gören hastaların kayıtlarını izler ve olası sorunlar tespit edilirse uyarılar verir.
  • Yönetim raporlaması: Sistem, her klinikte tedavi gören hasta sayısını, bakım sistemine giren ve çıkan hasta sayısını, bölümlere ayrılan hasta sayısını, reçete edilen ilaçları ve maliyetlerini vb. gösteren aylık yönetim raporları oluşturur.

Mentcare Sistem Endişeleri

  • Gizlilik: Hasta bilgilerinin gizli tutulması ve yetkili sağlık personeli ve hastaların kendileri dışında hiç kimseye açıklanmaması önemlidir.
  • Güvenlik: Bazı akıl hastalıkları hastaların intihara meyilli hale gelmesine veya diğer insanlar için tehlike oluşturmasına neden olur. Mümkün olan her yerde, sistem tıbbi personeli potansiyel olarak intihara meyilli veya tehlikeli hastalar hakkında uyarmalıdır.
  • Güvenlik açısından sistemin ihtiyaç duyulduğunda kullanılabilir olması gerekir, aksi takdirde güvenlik tehlikeye girebilir ve hastalara doğru ilaçları reçete etmek imkansız hale gelebilir.
  • Vahşi doğa hava istasyonu: Sahasında geniş vahşi doğa alanları bulunan bir ülkenin hükümeti, uzak alanlara birkaç yüz hava istasyonu kurmaya karar verir.
  • Hava istasyonları, sıcaklık ve basıncı, güneşi, yağışı, rüzgar hızını ve rüzgar yönünü ölçen bir dizi aletten veri toplar.
  • Hava istasyonu, rüzgar hızı ve yönü, zemin ve hava sıcaklıkları, barometrik basınç ve 24 saatlik periyotta düşen yağış miktarı gibi hava parametrelerini ölçen bir dizi alet içerir. Bu aletlerin her biri, periyodik olarak parametre okumalarını yapan ve aletlerden toplanan verileri yöneten bir yazılım sistemi tarafından kontrol edilir.
  • Hava istasyonu sistemi hava verilerini toplamak, bazı ilk veri işlem işlemlerini gerçekleştirmek ve bunları veri yönetim sistemine aktarmaktan sorumludur.
  • Veri yönetimi ve arşivleme sistemi, tüm vahşi doğa hava istasyonlarından gelen verileri toplar, veri işlem ve analiz işlemlerini yapar ve verileri arşivler.
  • İstasyon bakım sistemi, bu sistemlerin sağlığını izlemek ve sorunlara ilişkin raporlar sunmak için uydu aracılığıyla tüm vahşi doğa hava istasyonlarıyla iletişim kurabilir.

Yazılımla Ek İşlevsellik

  • Aletleri, gücü ve iletişimi izleyin ve yönetim sistemine arızaları bildirin.
  • Sistem gücünü yönetin, pillerin çevre koşulları izin verdiğinde şarj edilmesini sağlayın ve aynı zamanda yüksek rüzgar gibi potansiyel olarak zarar verici hava koşullarında jeneratörlerin kapanmasını sağlayın.
  • Yazılımın parçalarının yeni sürümlerle değiştirildiği ve sistem arızası durumunda yedek aletlerin sisteme dahil edildiği dinamik yeniden yapılandırmayı destekleyin.
  • iLearn: Dijital bir öğrenme ortamı: Dijital bir öğrenme ortamı, öğrenme için olabilecek genel amaçlı ve özel olarak tasarlanmış araçlar kümesinin yanı sıra, sistemi kullanan öğrencilerin ihtiyaçlarına göre uyarlanmış bir dizi uygulamanın gömülebileceği bir çerçevedir.
  • Ortamın her versiyonuna dahil edilen araçlar, öğretmenler ve öğrenciler tarafından kendi özel ihtiyaçlarına göre seçilir. Bunlar arasında elektronik tablolar gibi genel uygulamalar, ödev gönderme ve değerlendirme işlemini yönetmek için Sanal Öğrenme Ortamı (VLE) gibi öğrenme yönetimi uygulamaları, oyunlar ve simülasyonlar yer alabilir.
  • Sistem, tüm sistem bileşenlerinin değiştirilebilir bir hizmet olarak kabul edildiği hizmet odaklı bir sistemdir.
  • Bu, yeni hizmetler kullanıma sunuldukça sistemin artımlı olarak güncellenmesine olanak tanır.
  • Ayrıca, sistemin okuma bilmeyen çok küçük çocuklar veya emekli öğrenciler gibi farklı gruplar için ortam sürümleri oluşturmak üzere hızla yapılandırılmasını da mümkün kılar.

iLearn Hizmetleri

  • Sistemdeki diğer hizmetler tarafından kullanılabilecek temel uygulama bağımsız işlevler sunan yardımcı program hizmetleri.
  • Örneğin e-posta, konferans, fotoğraf paylaşımı vb. gibi belirli uygulamalar ve bilimsel filmler veya tarihi kaynaklar gibi belirli eğitim içeriğine erişim sağlayan uygulama hizmetleri.
  • Ortamı belirli bir uygulama hizmetleri kümesiyle uyarlamak ve hizmetlerin öğrenciler, öğretmenler ve ebeveynleri arasında nasıl paylaşıldığını tanımlamak için kullanılan yapılandırma hizmetleri.
  • Entegre hizmetler, diğer hizmetler tarafından API (uygulama programlama arayüzü) aracılığıyla erişilebilen bir Arayüz sunan hizmetlerdir. Bu nedenle, doğrudan hizmetten hizmete iletişim mümkündür.
  • Bağımsız hizmetler, yalnızca bir tarayıcı arayüzü aracılığıyla erişilen ve diğer hizmetlerden bağımsız olarak çalışan hizmetlerdir. Bilgiler yalnızca kopyalama ve yapıştırma gibi açık kullanıcı eylemleriyle diğer hizmetlerle paylaşılabilir; her bağımsız hizmet için yeniden kimlik doğrulama gerekebilir.

Kilit Noktalar

  • Yazılım mühendisliği, yazılım üretiminin tüm yönleriyle ilgilenen bir mühendislik disiplinidir.
  • Temel yazılım ürünü nitelikleri sürdürülebilirlik, güvenilirlik ve güvenlik, verimlilik ve kabul edilebilirliktir.
  • Spesifikasyon, geliştirme, validasyon ve evrimin üst düzey faaliyetleri tüm yazılım süreçlerinin bir parçasıdır.
  • Yazılım mühendisliğinin temel kavramları, her türden sistem geliştirme için evrensel olarak geçerlidir.
  • Birçok farklı sistem türü bulunmaktadır ve her biri, geliştirilmeleri için uygun yazılım mühendisliği araçları ve teknikleri gerektirmektedir.
  • Yazılım mühendisleri, mühendislik mesleği ve topluma karşı sorumluluklara sahiptirler. Sadece teknik konularla ilgilenmemelidirler.
  • Profesyonel toplumlar, üyelerinden beklenen davranış standartlarını belirleyen davranış kuralları yayınlamaktadırlar.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser