Skip to content

Social Network Badges

Posts Tagged ‘tasarım ’

Bu yazı Bilgisayar mühendisi ne iş yapar? adlı çalışmanın 8. bölümü…

Grafik ile ilgili işler çoğunlukla üniversitelerin güzel sanatlar fakülteleri mezunları tarafından yapılır. Ancak, yeteneği doğrultusunda bilgisayar mühendislerinin multimedya çalışmaları yapmaları sık karşılaşılan bir durum. Ayrıca oyun yapımı vb. işlerde grafik bilgisinin yanısıra mühendislik bilgisine de ihtiyaç duyuluyor. İngilizce’de Computer Graphics (CG) olarak adlandırılan bu alan hem grafik hem de animasyon konularını içinde barındırıyor.

Multimedya ya da diğer bir deyişle çokluortam grafik yanında ses ve video üzerinde çalışmaları da içeriyor. Dolayısıyla çok farklı iş alanları ve pozisyon var. Temel başlıkların yanında iş ilanlarında Flash uzmanı gibi tek bir yazılımın uzmanlığına dair pozisyonlara da bol miktarda rastlanıyor.

Indiana Üniversitesi’nin bir makalesinde multimedya konusunda farklı kategorilerde bir çok iş alanı yer almış. Bunların içinden genel sayılabilecek birkaç tanesini açıklayalım.

2D/3D Grafik Uzmanı

Web siteleri, tanıtım CD’leri, oyunlar, eğlence amaçlı yazılımlar vb. teknoloji ürünlerinde hoşumuza giden resim ve tasarımlar bu uzmanların elinden çıkar.

Hayal güçlerinin geniş olması ve yaratıcılık gibi kabiliyetler kariyer yolunda önemli kriterlerdir. Photoshop, AfterEffects, 3D Studio Max gibi bilgisayar programlarını öğrenmiş olmaları beklenir.

Animasyon Uzmanı

Çizgi filmlerde vb. izlediğimiz çoğu animasyon karakteri aslında teknik olarak çok karmaşıktır. Bir karakterin tasarlanması, hareket ettirilmesi, bir hikaye doğrultusunda farklı sahnelerin ve animasyonların oluşturulması uzman çabalar gerektirir.

Animasyon uzmanları yeteneklerini, hayal güçlerini ve bilgisayar programlarını kullanarak projeler üretirler. Yapılan işin büyüklüğüne göre ekipler halinde çalışabilirler. Bu tür mesleklerde mesai saati kavramı pek olmaz. Hatta gece daha rahat çalışabilirler. Flash, Maya, LightWave gibi bilgisayar programlarını bilmeleri gerekir.

Multimedya/Grafik Tasarımcısı

Multimedya tasarımcıları hem grafik hem de animasyon konusunda bilgi sahibidir. Ses, görüntü, animasyon, çizim, fotoğraf gibi malzemeleri kullanarak prodüksiyonlar yaparlar. Kullanacağı teknik araçlara ve bilgisayar programlarına en iyi şekilde hakim olmaları önemli bir özelliktir.

TV, reklam, bilişim gibi farklı sektörlerdeki firmalarda çalışabilirler. Çoğunlukla kendi işyerlerini kurarlar.

Multimedya Programcısı

Multimedya programcıları tasarımcılardan gelen bilgilere bağlı olarak, yazıdan videoya kadar bir multimedya ürününde hayati fonksiyonları yerine getirecek tüm bilgisayar programlarını yazarlar. Geliştirdikleri ürünler Internet’te, televizyonlarda, CD-DVD’lerde, kiosklarda, oyun konsollarında ya da cep telefonlarında kullanılabilir.

Yapılan projelere bağlı olarak ekip halinde çalışabilirler. Tasarımcılar, animasyon uzmanları vb. ile koordineli iş yapmaları gerekebilir.

Streaming Video Uzmanı

Internet bağlantı hızlarının artmasıyla, Internet’ten video yayıncılığı da bir işkolu haline geldi. Televizyonların Internet üzerinden yayınları, Internet televizyonları, Vlog (video günlük) siteleri, görüntülü sohbet sistemleri uzunca bir süredir boy gösteriyor.

Streaming (akan, canlı) video uzmanları bu yayınları üretmek ve kontrol etmekle sorumludur. Kaliteli ve sorunsuz bir yayın sağlamak, farklı bağlantı hızlarına göre performanslı yayın yapacak sistemleri yönetmek, daha sonra izlenmek üzere yayınları kaydetmek gibi işlerle uğraşırlar.

Sanal Gerçeklik Uzmanı

Sanal gerçeklik hem çok eski hem de çok yeni bir kavram. Gerçek dünyanın sanal bir karşılığını oluşturmak ve gerçekmiş gibi hissetirecek araçları kullanarak bu dünyayı yaşatmak olarak açıklayabiliriz. Üç boyutlu gözlükler, VRML gibi yazılımlar seneler öncesinden vardı. Ancak yavaş Internet bağlantıları vb. sebebiyle gündemden düştü. Şimdi ise gelişen teknolojilere bağlı olarak yeniden popüler oluyor.

Son dönemde Second Life gibi sanal sosyal platformlar yaygınlaşmaya başladı. Önümüzdeki yıllarda 3D gözlük gibi araçları da kullanarak bu platformları “hissederek yaşayabileceğiz.”

Sanal gerçeklik konusunda çalışanlar aslına benzer sanal dünyalar oluşturabilmek için çeşitli donanım ve yazılımları üretir, kullanır ve geliştirirler. Şu an için olmasa da gelecekte aranan bir pozisyon olacağını söyleyebiliriz.

Eğitim tasarımcısı

Eğitim alanı ile ilgili gibi görünmekle birlikte, eğitim tasarımcıları işlerinde multimedya öğelerini bol miktarda kullandıklarından bu kategori altında değerlendirmek daha doğru.

Eğitim tasarımcıları öğrenmede kullanılacak materyalleri planlayan, tasarlayan, geliştiren ve değerlendiren kişilerdir. Yeni nesil eğitim tasarımcıları ise Eğitim tasarımcısı ne iş yapar? başlıklı makalede de yazdığı gibi, bu süreçlerde teknolojiyi kullanarak bilişsel eğitim dediğimiz çok yönlü öğrenme tekniklerini kullanan materyaller tasarlar. Dolayısıyla, e-öğrenme, Internet, multimedya alanlarında kendilerini yetiştirmeleri gerekir.

Bu yazı Bilgisayar mühendisi ne iş yapar? adlı çalışmanın ilk bölümü…

Bilgisayar mühendislerinin en bilinen çalışma alanlarından birisi yazılım sektörüdür.

Yazılım geliştirme işi genelde adına “Yazılım yaşam döngüsü” denilen bir süreç içerisinde yürür. Bilgisayar mühendisleri planlama, analiz, tasarım, kodlama, test/kalite yönetimi ve kurulum gibi aşamalardan oluşan bu sürecin her tarafında yer alabilirler.

Bazen aşağıdaki pozisyonlar için ayrı insanlar çalışabildiği gibi, bazen de bir kişi pozisyonlardan birkaçının işini yapar.

Planlama / Analiz

İş Analisti

Müşterilerin ihtiyacını anlamaya yönelik çalışmalar yapan pozisyondur. Şurada anlatıldığına göre;

İş analisti, proje yaşam döngüsünün daha çok proje imza öncesi ve proje başlangıç aşamasında rol alır. Bu kişiler, yazılıma özel gereksinimlerden daha çok yapılacak işe özel ihtiyaçları belirler.

Burada “ihtiyaç” dememin de özel nedeni var. Bunlar müşterinin “ihtiyaç” duyduğu ama hala gereksinime dönüşmemiş haldedir. Şöyle örnek vereyim: Bir kişinin arabaya ihtiyacı olur. İş analisti sadece bu kişinin araba ihtiyacını ortaya koyar. “Adam araba istiyor” der geçer. Sonra gereksinim analisti, bu kişinin hangi marka, ne özelliklerde, ne tip arabaya ihtiyacı olduğunu belirleyerek arabanın “gereksinimlerini” ortaya koyar.

Sistem Analisti

Yazılım dünyasında sistem analistleri, kullanıcılardan ya da iş analistlerinden gelen bilgileri kullanarak geliştirilecek yazılım veya çözümün yapısını belirler. Gerekli işlem adımlarını ve aşamalarını hazırlar. Yani sadece ihtiyacı değil, ihtiyaca göre çözümü üretir.

Sistem analisti genel olarak ise tüm bir bilgi işlem sistemini tasarlayıp ihtiyaca göre çözümler öneren kişidir.

Tasarım

Yazılım Tasarım Uzmanı

Yazılım tasarımı, altyapı bileşenleri dahil tüm yazılım yapısını planlamak demek. Büyük yazılım şirketlerinde sadece yazılım tasarımı ile görevli mühendisler bulunur. Bu mühendisler kod yazacak kişilere ihtiyaçları olan yapıyı hazırlar. Yazılım geliştirme işini hızlandıran “tasarım şablonlarını” tavsiye eder. Gerekirse yazılımın bir prototipini hazırlar.

Yazılım Modelleme Uzmanı

UML denilen modelleme ve diyagram çizme dilini kullanarak yazılımın işleyişini tanımlar. Hatta programı şekiller (diyagramlar) kullanarak baştan sona yazarlar. Modellemesi doğru yapılmış bir yazılımın hem geliştirilmesi, hem bakımı hem de dokümantasyonu daha kolay olur. Bugün Rational Rose gibi yazılımlar kullanılarak UML diyagramları ile kod parçacıkları kolaylıkla ilişkilendirilebiliyor.

Geliştirme

Programcı / Geliştirici / Yazılım Uzmanı

Programlama dillerini ve teknolojilerini kullanarak ürün geliştiren kişidir. İşin ve firmanın büyüklüğüne göre bazen tüm yazılımı geliştirir, bazen sadece kendisine verilmiş bölümü hazırlar. Programın bütününe hakim olmadığı durumlarda, sistem analistinden ya da proje yöneticisinden destek alır.

Yazılım Mühendisi

Yazılım Mühendisliği aslında genel bir kavram. Bir yazılım mühendisi yazılımla ilgili tüm aşamalarda bulunabilecek özelliklere sahip kişidir. Hem analiz, tasarım hem de kodlama aşamalarının teorisini bilir, uygulamalarını yapabilir. Yöneticilik pozisyonlarına gelebilir, altında programcı ve analistler çalıştırabilir. Sektörde en çok kullanılan ünvanlardandır.

Yazılım Mimarı / Yazılım Danışmanı

Yazılım mimarlarının sorumluluk alanları çok geniş ve zordur. Şurada yazdığı şekliyle;

Projede kullanılacak teknolojileri seçerler, proje metodolojisi ve süreçlerinde tavsiyelerde bulunurlar, uygulamanın genel tasarım ve yapısını oluşturur ve korurlar, projenin doğru tanımlanmasını sağlarlar, tasarımın dökümante edilmesi ve kodlama standartlarının belirlenmesi ile uğraşırlar. Proje yöneticisine teknik görev tahminlerinde, proje maliyetleri ve yararları konusunda yardım ederler. Zor teknik görevlerde programcılara yol gösterirler. Teknik personel seçimi ve işe alımında yönetime yardımcı olurlar.

Her alanda olduğu gibi yazılım alanında da yöneticilik pozisyonları var. Genelde geliştirme ekiplerinde belli bir süre çalıştıktan sonra yönetim kademelerine geçiş yapılır ya da yeteneğe ve politikalara bağlı olarak değişir.

Ekip Lideri / Proje Yöneticisi

Proje Lideri/Yöneticisi yazılım ekibini bir arada tutan ve zaman çizelgelerine uyulması için gerekli motivasyonu sağlayan yöneticidir. Ayrıca yönetim ile proje ekibi arasındaki bilgi alışverişini de sağlar. Bütçe konularında düzenlemeler ve maliyet analizlari konusunda yönetim kuruluna bilgi ve tavsiye verir. Yazılacak modüllerin ve arayüzlerin zorluk derecelerine göre zamanlarını tayin eder ve proje planı içinde yayınlar. Diğer proje ekipleri ile bilgi alışverişini sağlar ve kontrol altında tutar. Projedeki her türlü riski takip eder ve kaynaklarını ona göre tahsis eder. Riskleri belgeleyerek çözümler için onaya sunar. Onay sonucu çıkan kararları işleyerek sonuçları tekrar yönetim kuruluna bildirir. Kaynak

Program Müdürü

Türkiye’de çok fazla kullanılmayan bu terim karşılığını en fazla Microsoft’ta bulur. Program Müdürleri teknik konulardan daha çok yönetim işleri ile sorumludur. Proje yöneticilerini koordine edip raporlar alarak projelerin sağlıklı yürümesini sağlarlar ve üst yönetimi bilgilendirirler.

Test / Kalite Güvence

Yazılımda kalite güvence, kısaca yazılım projesinin standardlara uygunluğunu ve ihtiyaçları karşıladığını denetleyen çalışmalar demektir.
Bilgisayar mühendisleri bu alanda da çeşitli görevler alır.

Yazılım Kalite Uzmanı

İhtiyaçların ve geliştirilen çözümün doğru belirlenip belirlenmediğini, yazılımın belirli standardlarda olup olmadığını denetleyen kişidir.

Yazılım tasarımı ve/veya yazılım testi konularında bilgi sahibidir. Genel kalite yönetim sistemi standartlarını, uluslararası yazılım mühendisliği standartlarını ya da süreç olgunluk modellerini (CMMI, SPICE, v.b.) bilir. Geliştirilen yazılımın bunlara uygun olarak yürümesini sağlar.

Test Uzmanı / Test Mühendisi

Test uzmanı/mühendisi yazılımın test edilmesinde fiilen çalışan kişidir. Yazılım hatalarını tespit etmek, hataların sebepleri ve sonuçları ile ilgili süreci yönetmek, test kapsamının oluşturulması, test senaryolarının hazırlanması gibi işleri yürütür.

Birim testi, sistem testi, entegrasyon testi, kullanıcı kabul testleri gibi kavramları bilir ve uygular. Sonuçlara göre dokümantasyon hazırlar.

Test mühendisliği hakkında şurada güzel yazılar var.

Test Yöneticisi

Test yöneticisi test ekiplerini koordine eden, gerekli kalite standartlarının sağlanması için çalışan, yazılım geliştirme ve diğer ekiplerle koordinasyonu sağlayan pozisyondadır.
Yazılımın testi geçip geçemediği, kabul edilmeye hazır olup olmadığı kararlarını verir.
Test sürecini kolaylaştıracak, otomatize edecek çözümleri uygular.

Konfigürasyon Yöneticisi

Yazılım geliştirme süreci boyunca üretilen bütün dokümanların, kodların, web uygulaması ise web sayfalarının, test scriptlerinin versiyonlarının kontrol edilmesi gerekir. Yazılım sürümleri içerisinde hangi hataların düzeltildiğinin hangi değişikliklerin yapıldığının izlenmesi gerekir. Ürün haline gelmiş projelerin satışa hazırlanan versiyonlarının belirlenmesi ve yönetilmesi gerekir.

İşte konfigürasyon yöneticisinin işi bunları takip etmektir.