Gereksinim Mühendisliğinde Ontolojilerin Kullanımı

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Gereksinim Mühendisliğinde Ontolojilerin Kullanımı"

Transkript

1 Gereksinim Mühendisliğinde Ontolojilerin Kullanımı Use of Ontologies in Requirements Engineering Görkem Giray Bilgisayar Mühendisliği Bölümü Ege Üniversitesi, İzmir Murat Osman Ünalır Bilgisayar Mühendisliği Bölümü Ege Üniversitesi, İzmir Özet Bir yazılım geliştirme projesinin başarısının önemli ölçütlerinden birisi, üretilen yazılımın kullanıcının beklentilerini karşılama seviyesidir. Kullanıcı beklentileri, proje süresince tespit edilen gereksinimlerle ifade edilir. Dolayısıyla iyi tanımlanmış gereksinimler, yazılımın başarısının ön koşullarından birisidir. Son yıllarda anlamsal web çalışma alanının yükselişiyle birlikte, bu çalışma alanının merkezindeki ontolojilerin farklı alanlarda kullanımı gündeme gelmiştir. Bu alanlardan birisi de gereksinim mühendisliğidir. Ontolojilerin, bilginin anlamını bilgisayarlar tarafından işlenebilir şekilde temsil edebilme yeteğinden faydalanılarak, gereksinimlerin tanımlanması sürecinin desteklenmesi ve gereksinimlerin kalitelerinin iyileştirilmesi mümkündür. Literatürde, ontolojilerin yazılım mimarisinin bir parçası olduğu, yarı yapısal gereksinim artifaktlarının temsilini zenginleştirdiği ve ontolojilerden otomatik kod üretildiği çeşitli çalışmalar bulunmaktadır. Abstract The success of a software development project is measured by how well its output meets the expectations of its users. These expectations are stated within the requirements developed during the project. Well defined requirements are one of the prerequisites to the success of a software. The popularity of semantic web in recent years has accelerated the use of ontologies in many areas. One of these areas is requirements engineering. Ontologies can represent meaning of data and enable computers to process this meaning. This ability can help in supporting requirements engineering process and improving quality of requirements. There are publications and projects that focus on the use of ontologies as a component of software architecture, to enrich the representation of requirement artifacts and in automatic code generation. 1. Giriş Bilim ve teknolojideki gelişmeler yazılımı, hayatımızın ayrılmaz bir parçası haline getirmiştir ve kullanıcıların yazılımdan beklentilerini arttırmıştır. Bir yazılımın başarısının en önemli değerlendirme ölçütü, yazılımın kullanıcı gereksinimlerini karşılama yeteneğidir. Dolayısıyla, yazılımın karşılaması gereken gereksinimlerin tespit sürecinin çıktılarının kalitesi, yazılımın başarısını belirleyen önemli bir etkendir. Gereksinimlerin iyi belirlenmediği bir yazılım geliştirme projesinde, çıktının başarılı olması beklenemez. Yazılımın geliştirileceği alandaki bilgiyi elde etmenin ve eldeki problemin çözümü için geliştirilecek sistemin gereksinimlerini net bir şekilde ifade etmenin çeşitli zorlukları vardır. Anlamsal web çalışma alanındaki gelişmeler, bilgisayar bilimleri için yeni bir kavram olmayan ontolojilerin, farklı alanlarda kullanımını tetiklemiştir. Ontolojilerin kullanılabileceği alanlardan birisi de gereksinim mühendisliğidir. Özellikle, bir konu alanındaki bilgiyi biçimsel olarak temsil etmesi ve yeniden kullanımı desteklemesi nedeniyle, ontolojilerin gereksinim mühendisliğinde kullanımı önerilmektedir. Bildirinin ikinci bölümünde, gereksinim mühendisliğinin tanımı yapılmış, evreleri kısaca anlatılmış ve bu çalışma alanındaki zorluklar özetlenmiştir. Üçüncü bölümde ontoloji kavramı kısaca tanıtılmıştır. Dördüncü bölümde, ontolojilerin gereksinim mühendisliği çalışma alanındaki kullanımlarına örnek teşkil eden fikirler ve uygulamalar tanıtılmış, bu fikir ve uygulamaların değerlendirmesi yapılmıştır. Beşinci bölümde bildirinin sonuçlarına yer verilmiştir. 2. Gereksinim mühendisliği Bir gereksinim, bir problemi çözmek için bir sistemin sergilemesi gereken özellik olarak tanımlanabilir [1]. Jackson, gereksinimin, gerçek dünya ve geliştirilecek sistem ile ilişkisini irdelemiştir [2]. Jackson, geliştirilecek yazılımı ve bu yazılımın üzerinde koşacağı bilgisayarı makine ya da çözüm alanı

2 olarak adlandırır. Problem alanı ise makinenin, sistemin kendisi için geliştirildiği kullanıcının istediği etkiyi yaratacağı gerçek dünya bölümüdür. Özetle, yazılım geliştirme sürecinin çıktısı makine, girdisi ise problem alanı dır. Jackson gereksinim kavramını, makinenin yerine getirmesi gereken problem alanı üzerindeki bir kısıt olarak tanımlar. Şekil 1 de görüldüğü gibi gereksinim, problem alanının bir b fenomeni açısından ifade edilmiştir ve kullanıcı problem alanını b hayali arayüzünden, gereksiniminin karşılanıp karşılanmadığını belirlemek için gözlemlemektedir. Problem ve çözüm alanı da bir a arayüzü ile bağlıdır. Bu arayüz hem problem hem de çözüm alanında bulunan şeyleri (olay, durum, vs) temsil eder. Şekil 1: Problem ve Çözüm Alanı [2] Bir problemin çözümü aşağıdaki betimlemeler üzerine temellendirilmelidir [3]: (1) Gereksinim: kullanıcının gereksiniminin ifadesi; (2) Alan özellikleri: problem alanındaki verilmiş olan özelliklerin betimlemesi; (3) Belirtim: makinenin problem alanı ile arayüzünde sergilemesi gereken davranışın belirtimi; (4) Program: makineyi, bilgisayarın yorumlayabileceği ve çalıştırabileceği bir dilde tanımlayan program. Belirtim ve program biçimsel bir alanın biçimsel betimlemeleri iken, gereksinim ve alan özellikleri biçimsel olmayan bir alanın biçimsel betimlemeleridir. Özetle, biçimsel olmayan bir problem alanı ile biçimsel olarak ilgilenmek zordur. Bu problemin kesin çözümü de mümkün değildir, yani bir problem alanının tam olarak biçimsel bir betimlemesini oluşturmak mümkün değildir [3]. Her betimleme, problem alanının (yani gerçek dünyanın) yaklaşık bir modelidir. Bir sistemin, sunması gereken hizmetleri ve bu hizmetleri hangi kısıtlar altında çalışırken sunacağının belirlenmesi sürecine gereksinim mühendisliği adı verilmektedir. Bu tanımdaki mühendislik sözcüğü, geliştirilecek sistemin tanımlanması için sistemli bir sürecin uygulanacağını belirtmek amacıyla kullanılır [4]. Gereksinim mühendisliği süreci gereksinimlerin elde edilmesini, analizini, belirtilmesini ve geçerlenmesini içerir [1]. Gereksinimlerin elde edilmesi evresi, geliştirilecek sistemin amaçlarını ve bu amaçlara ulaşmak için sistemin karşılaması gereken gereksinimleri ortaya çıkarmaktan oluşmaktadır [5]. Gereksinimlerin analizinde, gereksinimler arasındaki çelişkiler bulunur ve çözülür; geliştirilecek sistemin sınırları ve bu sistemin içinde bulunduğu çevreyle nasıl etkileşeceği belirlenir; sistem gereksinimleri, yazılım gereksinimleri elde edilecek şekilde detaylandırılır [1]. Gereksinimlerin belirtilmesinde ise, geliştirilecek sistemin karmaşıklığına göre değişen sayıda ve kapsamda dokümanlar hazırlanır. Bu dokümanlar geliştirilecek sistemi tanımlar ve sistem ihtiyaçlarını belirtir [1]. Gereksinimlerin geçerlenmesi evresinde, oluşturulan modellerin ve dokümanların gereksinimleri doğru ve eksiksiz olarak yansıtıp yansıtmadığı sınanır [5]. Bu evrelerde yapılanlar dışında, gereksinim mühendisliği sürecinde çeşitli yönetsel etkinlikler de bulunur [5]. Bir sistemin başarısı, kullanıcılarının gereksinimlerini ne kadar iyi karşıladığına bağlıdır [5]. Dolayısıyla bir sistemi geliştirmeden önce, bu sistemin karşılayacağı gereksinimlerin belirlenmesi gerekmektedir. Gereksinimlerin belirlenmesi sürecinin kalitesinin düşük olması, geliştirilecek sistemin başarısını olumsuz yönde etkileyeceği geniş kesimlerce kabul edilmektedir [1]. Gereksinim mühendisliği sürecinde karşılaşılan zorluklar birçok makalede irdelenmiştir. Cheng ve Atlee, gereksinim mühendisliği sürecindeki zorlukları özetlerken şu başlıklar üzerinde durmuşlardır [5]: (1) Gereksinim mühendisleri genellikle çelişkili, kötü tanımlanmış, eksik ifadelerden, detaylı, doğru, tam bir sistem belirtimine doğru ilerlemek zorunda kalırlar. (2) Problem alanının, çözüm alanına göre sınırları çok daha geniştir. Aslında çözüm alanındaki sınırları oluşturan da gereksinim tanımlarıdır. Dolayısıyla problem alanında daha çok koşulun değerlendirilmesini gerektiren kararlar verilmesi gerekir. Bu kararlara örnek olarak, sistem sınırlarının belirlenmesi, gereksinimlerin oluşturulması, gereksinimlerin önceliklendirilmesi, gereksinimler arasındaki çelişkilerin çözülmesi verilebilir. (3) Problem alanının basitleştirilmesi ve sınırlarının belirlenmesi için, sistemin işleyeceği çevrenin koşullarının kısıtlanması gerekir. Çevresel koşulların göz önüne alınması eldeki problemin karmaşıklığını daha da arttırır. Çünkü çevresel koşullar, donanım, gerçek dünya fenomeni, insan etmeni, başka yazılım sistemleri gibi birçok farklı bileşenin kombinasyonundan oluşabilir. (4) Çevrenin ve sistemin işleyişi incelenirken, sadece normal koşullar değil, bütün alternatif koşullar göz önüne alınmalıdır. (5) Üretilen gereksinim artefaktları, bilgisayar konusunda çok bilgili olmayan paydaşların da anlayacağı şekilde olmalıdır. Bundan dolayı üretilen artefaktlar hem teknik olmayan paydaşlar tarafından anlaşılmalıdır hem de geliştiricilere yeterli teknik detayı sağlamalıdır. Yukarıdaki nedenlerden dolayı, gereksinim mühendisliği aktiviteleri, daha yinelemeli, değişik yetkinliklere sahip çok sayıda paydaşın katıldığı, seçeneklerin daha kapsamlı çözümlendiği, daha çeşitli

3 bileşenlerin (yazılım, donanım, insan) daha karmaşık doğrulamalarının yapıldığı aktivitelerdir [5]. 3. Ontoloji kavramı Ontoloji kavramının felsefe dünyasındaki ve bilgisayar dünyasındaki tanımları arasındaki ayrımı yapmak önemlidir. Felsefi açıdan bakıldığında ontoloji, bir bütün olarak varlığı ele alan ve var olanların en temel niteliklerini inceleyen felsefe dalıdır. Bilgisayar dünyasında ise en yaygın kullanılan ontoloji tanımı, paylaşılan bir kavramsallaştırmanın biçimsel ve net bir belirtimi dir [6]. Uschold ve Gruninger bu tanımda geçen her kelimeyi açıklayarak bu kısa tanımın ifade ettiği uzun ontoloji tanımını açıklamışlardır [7]. Kavramsallaştırma, insanların dünyadaki varlıklar üzerine nasıl düşündüklerinin soyut bir modelini ifade eder. Bu soyut model genellikle özel bir konu alanı ile sınırlandırılmıştır. Net bir belirtim ise soyut modeldeki kavramlara ve ilişkilere net isimler verildiği ve net tanımlar yapıldığı anlamına gelmektedir. Bir kavramın ya da ilişkinin tanımı, o terimin anlamının ifade edilmesidir. Bir başka deyişle, bir terimin diğer terimlerle ilişkisinin nasıl olacağını belirtir. Biçimsel ifadesi, anlam tanımının biçimsel bir dille temsil edildiğini ve böylece tanım üzerindeki belirsizliklerin, farklı anlam çıkarma olasılıklarının ortadan kaldırıldığını ifade etmektedir. Bundan dolayı biçimsel temsil, otomatik çıkarsama yapma imkanını sağlamaktadır. Paylaşılan kelimesi ise ontolojilerin, farklı uygulamalar ve topluluklar arasında yeniden kullanımı amaçladıklarını ve desteklediklerini ifade etmektedir. Ontolojileri, diğer kavramsal modellerden ayıran, geniş kesimler tarafından kabul edilmiş özellikleri vardır. Bu özellikler aşağıdaki listedeki başlıklar altında incelenebilir: (1) Anlamsal temsil gücü: Ontolojilerin temsil edildiği dillerin temsil gücü, sistem geliştirmede kullanılan kavramsal modelleme dillerine göre daha yüksektir. (2) Hedeflenen kullanıcı kitlesinin büyüklüğü: Ontolojiler üzerinde genelde daha büyük kullanıcı grupları mutabakata varır. Sistem geliştirmede kullanılan kavramsal modeller ise göreceli olarak daha küçük kullanıcı grupları tarafından geliştirilir ve kullanılır. (3) Paylaşılabilirlik: Ontolojilerin anlamsal web çalışma alanındaki gelişmelerle birlikte popüler olmasının nedenlerinden birisi paylaşılabilir olmasıdır. Anlamsal web, geniş kesimlerin üzerinde mutabakata vardığı ontolojilerin, web deki bilginin temsilinde kullanılması üzerine temellendirilmiştir. (4) Yeniden kullanılabilirlik ve genişleme: Ontolojiler yeniden kullanımı destekler ve ontolojilerin genişletilmesi mümkündür. (5) Açık dünya yaklaşımı: Açık dünya yaklaşımında bir önermenin doğruluk değeri doğru, yanlış ya da bilinmiyor olabilir. Kapalı dünya yaklaşımında ise doğruluğu bilinmeyen ya da çıkarsanamayan bir önerme yanlıştır. (6) Betimleyicilik: Ontolojiler, doğaları gereği genellikle betimleyici modeller sınıfına girer. Sistem geliştirmek için kullanılan modeller kuralcıdır. Sistem, bu modeller doğrultusunda geliştirilir. Ontolojiler ise daha çok var olanı tanımlar. Açık dünya yaklaşımı da ontolojilerin betimleyici doğasını destekler niteliktedir. 4. Ontolojilerin gereksinim mühendisliğinde kullanımı Yapay zeka çalışma alanının uzun zamandır kullandığı ve üzerinde çalıştığı ontoloji kavramı, anlamsal web alanındaki gelişmeler nedeniyle, son yıllarda akademik dünyanın ve endüstrinin dikkatini çekmeye başlamıştır. Bunun sonucunda ontolojiler birçok çalışma alanında kullanılmaya başlamıştır. Yazılım mühendisliği de ontolojilerin kullanıldığı alanlardan birisidir. Biçimsel anlam temsilinin yazılım mühendisliği alanında kullanım fikri yeni değildir. Tetlow ve arkadaşları, çeşitli yapay zeka yaklaşımlarının, yazılım mühendisliğindeki uygulamalarına örnekler vermişlerdir [8]. Ontolojiler, yazılım mühendisliğinde farklı şekillerde ve farklı amaçlar için kullanılmaktadır. Happel ve Seedorf ile Ruiz ve Hilera, ontolojilerin, yazılım mühendisliğindeki mevcut ve potansiyel uygulama alanlarını sınıflandırmışlardır [9], [10]. İki çalışmada da ortak olarak, sınıflandırmanın bir boyutu ontolojinin yazılımın problem alanını ya da geliştirme ortamının altyapısını modellemesine göre belirlenmektedir. Bu boyutta ontolojilerin modellediği alan, yazılımın gerçek dünyadaki problem alanı ya da yazılım geliştirme sürecindeki çeşitli altyapı alanları (yazılım bileşenleri kütüphanesinin ontolojiler ile modellenmesi gibi) olabilmektedir. Sınıflandırmanın diğer boyutu ise ontolojilerin, yazılımın çalışma zamanında ya da geliştirme zamanında kullanımı değerlendirilerek oluşturulmuştur. Ontolojilerin, problem alanını temsil ettiği ve geliştirme zamanında kullanımına örnek kullanım alanlarından birisi de gereksinim mühendisliği sürecidir Ontolojilerin gereksinim mühendisliğinde kullanımına yönelik örnek uygulamalar Ontolojilerin yazılım mühendisliği sürecinin farklı aşamalarında farklı amaçlarla kullanımı için araştırmacılar çok sayıda fikir üretmişlerdir. Bu bölümde ontolojilerin gereksinim mühendisliğinde kullanımı için literatürde yapılan çalışmalar tanıtılmıştır ve bu çalışmalar değerlendirilmiştir Ontoloji uyumlu metapiramit Aβmann ve Zschaler, ontolojilerin Model Güdümlü Mimari ve Model Güdümlü Mühendislik ile

4 bütünleştirilmesi gerektiğini belirterek önerilerini iki maddede özetlemektedir [11]: (1) Ontoloji uyumlu Model Güdümlü Mimari, alan ve iş ontolojilerini, bilişimden bağımsız modelin bir parçası olarak kullanmalıdır. (2) Ontoloji uyumlu Model Güdümlü Mühendislik, ontolojileri, betimleyici modeller rolü ile ikinci bir boyut olarak metapiramit içine katmalıdır ve betimleyici ve kuralcı modeller arasında her seviyede ilişkileri saklamalıdır. Aβmann ve Zschaler in oluşturduğu metapiramit Şekil 2 de gösterilmiştir. Şekil 2: Ontolojilerin model güdümlü mühendisliğin metapiramitindeki Model Güdümlü Mimari deki rolü için bir öneri [11] Şekil 2 deki temsil ilişkileri, metapiramit içindeki rollerine göre betimleyici ve kuralcı olarak ikiye ayrılmıştır. Problem alanındaki modeller, gerçek dünya kavramlarını betimledikleri için bu bölümdeki ilişkiler betimleyici, çözüm alanındaki modeller ise geliştirilecek sistemi betimledikleri için bu bölümdeki ilişkiler ise kuralcı olarak nitelendirilmiştir [11]. Bilişimden bağımsız model, alan modeli, iş modeli ve ihtiyaçları içeren bir analiz modelidir. Bilişimden bağımsız modelin alan modeli, bir alan ontolojisi (BBM-AO) olabilir. Bilişimden bağımsız modelin iş modeli de bir iş ontolojisi (BBM-İO) olabilir. İhtiyaçlar ise bir ontoloji ile karşılanamaz çünkü geliştirilecek sistemin ihtiyaçlarını belirtir. BBM-AO ve BBM-İO var olan şeyleri tanımlar ve ontoloji seviyesindeki kavramlardan türetilebilir. Fakat BBM-İM (Bilişimden Bağımsız Model İhtiyaç Modeli) bir metamodelden (BBM-İM-MM: Bilişimden Bağımsız Model İhtiyaç Modeli Metamodeli) türetilmelidir [11]. Ontolojiler, ait oldukları meta seviyeye göre değişik amaçlara hizmet edebilirler. Üst seviye ontolojiler meta, genel, soyut, felsefi kavramları içerir. Dolayısıyla değişik alanların ihtiyaçlarını karşılayabilirler. Genellikle bir alan ontolojisindeki kavramlar, bir üst seviye ontolojideki kavramlardan türetilirler. Bu açıklamalar doğrultusunda Şekil 2 de, alan ontolojileri M1 seviyesinde, üst seviye ontolojiler ise M2 seviyesinde konumlandırılabilir. Bir ontoloji tanımlamak için kullanılan dil de yapay bir dil olduğu için, ontoloji dilini tanımlayan dil de kuralcı olacaktır. Bundan dolayı hem problem hem de çözüm alanı tarafında aynı metadil kullanılabilir. İki boyutun birbirine paralel olmasından dolayı, iki boyuttaki modeller arasında ilişkiler kurulabilir [11]. Aβmann ve Zschaler, ontoloji uyumlu metapiramitin faydalarını şu şekilde özetlemektedir [11]: (1) Daha somut bir model güdümlü yazılım geliştirme süreci sunar. Önceden oluşturulmuş alan ve iş ontolojilerine ihtiyaçlar eklenir. Bu modellerden Platformdan Bağımsız Model (PBM) ve Platforma Özgü Model (PÖM) elde edilir. Ontolojilerin kullanımı yazılımın güvenilirliğini arttırır. Çünkü genellikle ontolojiler, üzerinde iyi düşünülerek üretilmiş ve olgunlaşmış modeller oldukları için projede oluşturulacak bir alan analizinden daha güvenilir olma olasılıkları yüksektir. (2) Ontolojiler, yazılım mimarları, kullanıcılar ve alan uzmanları için standart bir söz varlığı sağlar. Bu da aradaki iletişimin kalitesini arttırır. (3) Ontolojilerin kullanımı, uygulamalar arasındaki birlikte işlerliği daha kolaylaştırabilir. (4) Alan ve iş ontolojileri birçok yazılımın geliştirilmesinde kullanılabilir. Ontolojiler, bir yazılım üretim hattının ana elemanlarından birisi olabilir. Geliştirilen yazılımlar ontolojiler etrafında gruplanabilir. Bu da yazılımda yeniden kullanımı geliştirir Ontoloji tabanlı gereksinim elde etme yöntemi Kaiya ve Saeki, alan ontolojilerinin gereksinimlerin elde edilmesi safhasında alan bilgisinin temsili olarak kullanılması için bir yöntem önermişlerdir [12]. Bu yöntemde, gereksinimlerin sistematik olarak elde edilmesi ve tanımlanması için üç gereksinim artefaktının yapısı biçimsel olarak belirlenmelidir. Bunlar, gereksinim listeleri, ontolojiler ve gereksinim listeleri ile ontolojiler arasındaki anlamsal eşleştirmelerdir. Yöntem analistin, gereksinim sahipleri ile gereksinim listesi oluşturması, her gereksinimdeki önemli kavramların alan ontolojisindeki kavramlar ile eşleştirilmesi ve hazırlanan gereksinimlerin doğruluk, tamlık, tutarlılık ve anlam belirsizliği kontrollerinin yapılması adımlarından oluşmaktadır. Özet olarak bu yöntem, gereksinimleri anlamsal yönleriyle değerlendirerek, gereksinim elde etme safhasının çıktısının kalitesini arttırmak için alan ontolojilerini kullanmaktadır.

5 Ontoloji güdümlü yazılım mühendisliği Bossche ve arkadaşları, problem alanı (iş dünyası) ile çözüm alanı (bilgisayar dünyası) arasındaki terminoloji ve anlayış farklarının ancak iş bilgisinin biçimsel bir dille ifade edilmesiyle ve bu bilginin bilgisayar tarafından işlenebilir olmasıyla aşılabileceğini belirtmektedir [13]. Ontoloji güdümlü yazılım mühendisliği yaklaşımında benimsenen geliştirme sürecinin ilk adımında, problem alanından kişiler, alan modelleme uzmanlarıyla birlikte çalışarak biçimsel bir model oluşturur. Bu adımın amacı, gereksinimlerin net olarak ifade edilmesini sağlamaktır. Bu adım, problem alanı ile oluşturulan ontoloji arasında bir bilgi sürekliliği yaratır. Ontoloji, problem ve çözüm alanındaki kişilerin, kavramların anlamları üzerinde anlaştığı bir sözleşme olarak değerlendirilebilir. Aynı zamanda ontoloji, problem alanındaki gereksinimleri biçimselleştirmek için bir araç olur. Bir sonraki adımda, oluşturulan ontoloji çözüm alanında kullanılır ve böylece ontoloji ile çözüm alanı arasında gerçekleştirim sürekliliği oluşur. Gerçekleştirim sürekliliği, ontolojideki kavramların, bir programlama dilindeki nesnelere, tiplere transfer edilmesiyle sağlanır. Şekil 3 te problem alanı ile çözüm alanı arasında sağlanan bilgi ve gerçekleştirim sürekliliği kavramsal olarak resmedilmiştir. Şekil 3: Problem alanı ile çözüm alanı arasında sağlanan süreklilik [13] Bossche ve arkadaşları, ontoloji güdümlü yazılım mühendisliği yaklaşımının avantajlarını, problem ve çözüm alanındaki kişiler arasındaki iletişim kalitesinin artması, ontolojileri işleyen yorumlayıcılar sayesinde daha az kod yazılması, alan bilgisinin bildirimsel olarak ontolojilerde temsil edilmesiyle birlikte yazılan kod içinde kaybolmaması ve alan bilgisinin tutarlılık kontrolü gibi başka amaçlar için de yeniden kullanılabilmesi olarak özetlemektedir [13] SoftWiki projesi SoftWiki projesinin amacı, yazılım geliştirme süreçlerinde çalışan tüm paydaşların özellikle yazılım gereksinimlerinin oluşturulmasına yönelik olarak birlikte çalışmalarını desteklemektir ve kolaylaştırmaktır. Bu amacı gerçekleştirmek için, çok sayıda ve fiziksel olarak farklı yerlerde bulunan paydaşların yazılım gereksinimlerini toplayabilmeleri, bunları anlamsal olarak zenginleştirebilmeleri, sınıflandırabilmeleri ve birleştirebilmeleri gerekmektedir. Oluşturulacak çözüm, bilgi temsili için anlamsal web standartları üzerine temellendirilmiştir [14]. Gereksinim mühendisliği sürecini desteklemek amacıyla bir gereksinim mühendisliği ontolojisi geliştirilmiştir. Bu ontolojiye SWORE (SoftWiki Ontology for Requirements Engineering) adı verilmiştir [15]. Ontoloji tabanlı bir wiki uygulaması olan OntoWiki [16] yazılımı, SoftWiki projesi kapsamında SWORE ontolojisi ile birlikte kullanılarak ontoloji tabanlı bir gereksinim mühendisliği aracı elde edilmiştir Ontoloji tabanlı gereksinim mühendisliği aracı Valderas ve Pelechano, gereksinim mühendisliği sürecinde kullanılacak ontoloji tabanlı bir araç önermişlerdir [17]. Valderas ve Pelechano, bu aracı önerdikleri bildiride, aracı web uygulamaları için tasarladıklarını belirtmişlerdir. Bu araç web uygulamaları için hazır alan ontolojleri içermektedir. Bu araç, gereksinimlerin elde edilmesi aşamasında kullanıcıları yönlendirmektedir. Bunun için araç üç ana adımı izlemektedir. İlk adımda, kullanıcının gereksinim duyduğu web uygulamasını doğal dilde tanımlaması gerekmektedir. Bu taslak tanımdan yola çıkarak araç, uygun bir ontoloji seçmektedir. İkinci adımda araç, kullanıcıdan uygulamaya özgü özellikleri tanımlamasını istemektedir. Üçüncü adımda ise araç, alan ontolojisi ile kullanıcıdan aldığı bilgileri birleştirerek web uygulamasının bir belirtimini çıkartır. Ayrıca araç bu belirtimi kullanıcının anlayacağı şekilde bir metne dönüştürerek, üretilen belirtimin, kullanıcı tarafından geçerlilik kontrolünün yapılmasını sağlar Gereksinimlerin elde edilmesi ve analizi için ontoloji tabanlı bir yöntem Lee ve Zhao nun gereksinim elde etme ve analiz için önerdikleri yöntem üç adımdan oluşmaktadır [18]. Birinci adımda alan terimleri ve gereksinimleri belirtilir. İkinci adımda, gereksinimler alt gereksinimlere ayrıştırılır. Bunun için öznel ayrıştırma yöntemi (subjective decomposition) kullanılır. Üçüncü adımda ise gereksinimler önce işlevsel ve işlevsel olmayan daha sonra da en alt seviyede atomik gereksinimlere ayrıştırılır. Daha sonra bu en alt seviyedeki gereksinimler ontolojideki kavramlarla ilişkilendirilir. Bu yöntem, ontolojileri kullanarak kullanıcıların gereksinim elde etme evresindeki etkinliklerini arttırmayı amaçlamaktadır. Bunun yanında ontoloji ile eşleştirilen gereksinimlerin tam olup olmadığı ve çelişkiler içerip içermediğini çıkarsama yaparak bulmayı amaçlamaktadır.

6 4.2. Ontolojilerin gereksinim mühendisliğinde kullanımına yönelik örnek uygulamaların değerlendirilmesi Ontolojilerin gereksinim mühendisliği sürecinde kullanıldığı projelerde elde edildiği belirtilen faydalar aşağıdaki başlıklar altında özetlenebilir: Farklı alanlardaki kişiler arasındaki iletişimin iyileştirilmesi: Ontolojiler, farklı alanlarda çalışan ve farklı terminolojiler kullanan kişiler (kullanıcılar, alan uzmanları, analistler, yazılım mühendisleri, programcılar, vs) arasındaki iletişimi kolaylaştırır. Ontolojiler, ortak bir söz varlığı oluşturarak projede yer alan kişilerin ortak bir dil konuşmasına katkıda bulunur. Çıkarsama: Ontolojilerin alan bilgisi olarak kullanılmasıyla, bu bilgi üzerinde çıkarsama yapma olanakları da doğar. Özellikle yarı yapısal gereksinim artefaktlarındaki kavramların alan ontolojileriyle eşleştirilmesi sonucunda gereksinimlerin tam olup olmadığı, gereksinimlerin birbiriyle çelişkili olup olmadığı çıkarsama yapılarak bulunabilmektedir. Mevcut alan bilgisinden yararlanma: Hazır ontolojilerin yazılım geliştirme sürecinde yeniden kullanılması verimliliği arttırır. Biçimsel olmayan problem alanı bilgisinin projenin başlangıcında biçimsel olarak ifade edilmiş şekilde olması, alan bilgisinin toplanması ve biçimsel hale getirilmesi evresini hızlandırır. Hazır ontolojide gerekli değişiklikler ve genişletmeler yapıldıktan sonra bu evre hızlı biçimde geçilebilir. Ayrıca ontolojler genellikle geniş kesimlerin üzerinde anlaştığı ve olgunlaşmış alan bilgisini temsil eder. Bu da proje süresinde alan bilgisinin değişme olasılığını azaltır. Bu durumda projenin ileri evrelerinde yapılması olası daha maliyetli değişiklikleri bir miktar azaltabilir. Tablo 1 de, ontolojilerin gereksinim mühendisliğinde kullanımına yönelik uygulamalar özetlenmiştir. Gereksinim mühendisliği sürecinde kullanım ana başlığı altında, ontolojilerin bu sürecin hangi evresinde ve nasıl kullanıldığı ifade edilmiştir. başlığı altında ise ontolojilerin uygulamada ne şekilde kullanıldığı belirtilmiştir. Yöntemler ana olarak, yapısal olmayan ya da yarı yapısal şekilde doğal dil ile ifade edilen gereksinimlerin ontolojideki kavramlarla eşleştirilmesi ve biçimsel modele daha yakın, otomatik ya da yarı otomatik kod üretimine uygun model üretimi olmak üzere iki gruba ayrılabilir. Beklenen/elde edilen faydalar başlığı altında ise ontolojilerin kullanımıyla birlikte elde edilen ya da elde edilmesi beklenen faydalar listelenmiştir. Kullanılan ontolojiler başlığı altında ise uygulamada kullanılan ontoloji tipleri listelenmiştir. Ontolojiler, Happel ve Seedorf ile Ruiz ve Hilera nın, ontolojilerin kullanımlarını sınıfladıkları çalışmalarındaki ontolojilerin modellediği alan a göre gruplanmıştır [9], [10]. Buna göre, ontolojilerin modellediği alan, yazılımın gerçek dünyadaki problem alanı ya da yazılım geliştirme sürecindeki çeşitli altyapı alanları (yazılım bileşenleri kütüphanesinin ontolojiler ile modellenmesi gibi) olabilmektedir. Tablo 1: Ontolojilerin gereksinim mühendisliğinde kullanımına yönelik örnek uygulamaların değerlendirilmesi Ontoloji uyumlu metapiramit [Aβmann 2006] Gereksinimlerin belirtilmesi: Alan ontolojilerinin, Model Güdümlü Mimari de bilişimden bağımsız modelin oluşturulması için kullanılmasını önerir. Daha somut bir model güdümlü yazılım geliştirme süreci sunar. Bilişimden bağımsız model, ontolojilerden başlanarak oluşturulmaya başlanır. Uygulamalar arası birlikte işlerlik kolaylaşabilir. Farklı alanlardan kişiler arasındaki iletişim, ortak bir söz varlığı sayesinde daha iyileşir. Ontolojiler, birçok yazılım ürününde kullanılabilir ve bir yazılım ürün hattının çekirdeğini oluşturabilir. Ontolojiler bilişimden bağımsız modelin oluşturulmasında kullanılacaktır ve bu model otomatik veya yarı otomatik dönüştürülerek işletilebilir kod elde edilmesi hedeflenecektir. ndeki kavramların eşleştirileceği bir üst seviye ontoloji

7 Ontoloji tabanlı gereksinim elde etme yöntemi [Kaiya 2006] Ontoloji güdümlü yazılım mühendisliği [Bossche 2007] SoftWiki Projesi [SoftWiki] Ontoloji tabanlı gereksinim mühendisliği aracı Valderas 2007] Gereksinimlerin elde edilmesi ve analizi için ontoloji tabanlı bir yöntem [Lee 2006] Gereksinimlerin elde edilmesi: Yarı yapısal bir gereksinim listesi oluşturulur. Bu gereksinim listesindeki doğal dil ile ifade edilmiş önemli kavramlar, ontolojideki kavramlarla eşleştirilir. Gereksinim analizi: Gereksinimler için tamlık, doğruluk, tutarlılık, anlam belirsizliği analizleri, ontolojiler kullanılarak yapılır. Gereksinim belirtimleri, bilgisayar tarafından anlamsal seviyede işlenebilir. Mevcut ontolojiler, yazılım geliştirme projelerinde kullanılabilir. Projeye özgü ontoloji oluşturulmak istenirse, bu alanda yapılmış diğer çalışmalardan (doğal dil dokümanlarından, metin madenciği teknikleriyle ontoloji oluşturulması gibi) faydalanılabilir. Gereksinimlerin elde edilmesi: Kullanıcılar, alan modelleme uzmanlarıyla birlikte alan bilgisini temsil eden bir ontoloji oluşturur. Farklı alanlardan kişiler arasındaki iletişim, ortak bir söz varlığı sayesinde daha iyileşir. Alan bilgisi, bildirimsel olarak belirtildiği için program içinde kaybolmaz. Aynı alan bilgisi başka amaçlar için de kullanılabilir. Otomatik kod üretimi sayesinde üretim verimi artar ve hata olasılıkları azalır. Gereksinimlerin elde edilmesi: Elde edilen gereksimler hem SWORE ontolojisindeki kavramlarla (amaç, senaryo, gereksinim, vs.) hem de alan ontolojisindeki kavramlarla eşleştirilir. Farklı alanlardan kişiler arasındaki iletişim, ortak bir söz varlığı sayesinde daha iyileşir. Gereksinimler, ontolojilerdeki kavramlarla eşleştirildiği için daha verimli yönetilebilir. Özellikle coğrafi olarak dağıtık olan çalışma gruplarında gereksinimlerin bu şekilde saklanması çeşitli avantajlar sağlar. Gereksinimlerin elde edilmesi: Gereksinimler elde edilirken kullanıcı, alan ontolojisi doğrultusunda yönlendirilir. Gereksinimlerin geçerlenmesi: Elde edilen kullanıcı gereksinimleri bir metin haline dönüştürülür ve bu gereksinimler kullanıcı tarafından geçerlenir. Gereksinimler elde edilirken kullanıcılarla olan iletişim güçlendirilerek ve kullanıcılar yönlendirilerek daha kaliteli gereksinim belirtimleri hazırlanır. Hazırlanan gereksinimler, kullanıcının anlayacağı metinlere dönüştürülerek geçerleme işleminin yapılması sağlanır. Gereksinim analizi: Gereksinimler için tamlık analizi ontoloji kullanılarak yapılır. Farklı alanlardan kişiler arasındaki iletişim, ortak bir söz varlığı sayesinde daha iyileşir. Gereksinimlerin tamlık analizi çıkarsama ile otomatik olarak yapılır. Gereksinim dokümanındaki kavramlar, ontolojideki kavramlarla eşleştirilir. ndeki kavramların eşleştirileceği yazılım alan ontolojisi Elde edilen ontolojiden otomatik kod üretilir. Gereksinimler ontolojilerdeki kavramlarla eşleştirilir. Yazılım alan ontolojisi (SWORE) kullanılır Gereksinimler görev tabanlı (task-based) gereksinim modellerine dönüştürülür. Gereksinimler, ayrışıtırılarak atomik gereksinimler elde edilir. Bu gereksinimler alan gereksinimleri ontolojisi ile eşleştirilir. Alan gereksinimleri için oluşturulmuş bir yazılım alan ontolojisi 5. Sonuç Gereksinim mühendisliğinde, alan bilgisini ve gereksinimleri elde etmek ve bunları uygun biçimde (farklı uzmanlık alanlarından kişiler için) ifade etmek, birçok etkenden olumsuz etkilenebilecek bir süreçtir. Geliştirilecek sistemin ve bu sistemin içinde işleyeceği çevrenin betimlenmesi kendi başına zor bir problemdir. Çünkü biçimsel olmayan gerçek dünyanın bir bölümü

8 (geliştirilecek sistem ile ilgili bölümü) biçimsel olarak ifade edilmelidir. Bu temel problemin yanında, farklı alanlardan kişilerin birlikte çalışmak zorunda olması, iletişim problemlerinin olma olasılığının yüksek olması, gereksinimlerin belirsiz, çelişkili, eksik, iyi düşünülmemiş olabilmeleri gibi etkenler de gereksinim mühendisliğini daha da karmaşıklaştırmaktadır. Yazılım geliştirme sürecinin sonunda elde edilecek çıktının (geliştirilen sistem) başarılı olması için gereksinim mühendisliği sürecinin başarılı olması şarttır. Dolayısıyla, gereksinim mühendisliği sürecinin çıktılarının kalitesinin arttırılması için çok çeşitli çalışmalar yapılmıştır ve yapılmaktadır. Ontolojilerin gereksinim mühendisliği sürecinde kullanılması da bu kapsamda yapılan çalışmalar arasındadır. Ontolojiler gereksinim mühendisliğinde temel olarak iki şekilde kullanılabilir. Birincisinde, ontolojiler, geliştirilecek sistemin ilgilendiği gerçek dünya bölümünü modeller. İkincisinde ise ontolojiler, yazılım geliştirme sürecindeki çeşitli altyapı alanlarını modeller. Bir uygulama ya da yöntem içinde bu iki kullanım şekli de aynı anda bulunabilir. Ontolojiler, anlamsal web çalışma alanında genel kabul görmüş şekliyle, bir alandaki kavramları, bu kavramlar arasındaki ilişkileri modeller. Genellikle ontolojiler geniş kesimler tarafından kabul görürler; dolayısıyla olgunlaşmış modeller olarak kabul edilebilirler. Bunun yanında yeniden kullanıma ve genişlemeye açıktırlar. Bu özellikleri göz önüne alındığında ontolojilerin gereksinim mühendisliği sürecinin bir girdisi olarak kullanılması fikri araştırmaya değer bulunmaktadır. Ontolojiler, gereksinim mühendisliğinde hem süreci hızlandıracak hem de sürecin kalitesini arttıracak bir girdi olarak düşünülmektedir. 7. Kaynaklar [1] Abran, A., Bourque, P., Dupuis, R., Moore, J. ve Tripp, L., Guide to the Software Engineering Body of Knowledge - SWEBOK: IEEE, [2] Jackson, M., Some Basic Tenets of Description, Software and Systems Modeling, vol. 1, s. 5-9, [3] Jackson, M., Where, Exactly, Is Software Development?, Formal Methods at the Crossroads: From Panacea to Foundational Support, 2003, s [4] Sommerville, I., Software engineering (5th ed.): Addison Wesley Longman Publishing Co., Inc., [5] Cheng, H. C. ve Atlee, J. M., Research Directions in Requirements Engineering, 2007 Future of Software Engineering: IEEE Computer Society, [6] Gruber, T. R., A translation approach to portable ontology specifications, Knowl. Acquis., vol. 5, s , [7] Uschold M. ve Gruninger, M., Ontologies and semantics for seamless connectivity, SIGMOD Rec., vol. 33, s , [8] Tetlow, P., Pan, J. Z., Oberle, D., Wallace, E., Uschold, M. ve Kendall, E., Ontology Driven Architectures and Potential Uses of the Semantic Web in Systems and Software Engineering, [9] Happel H.-J. ve Seedorf, S., Applications of Ontologies in Software Engineering, International Workshop on Semantic Web Enabled Software Engineering (SWESE'06). Athens, USA, [10] Ruiz F. ve Hilera, J., Using Ontologies in Software Engineering and Technology, Ontologies for Software Engineering and Software Technology, 2006, s [11] Aßmann, U., Zschaler, S. ve Wagner, G., Ontologies, Meta-models, and the Model-Driven Paradigm, Ontologies for Software Engineering and Software Technology, 2006, s [12] Kaiya H. ve Saeki, M., Using Domain Ontology as Domain Knowledge for Requirements Elicitation, Proceedings of the 14th IEEE International Requirements Engineering Conference (RE 06): IEEE Computer Society, [13] Bossche, M. V., Ross, P., MacLarty, I., Nuffelen, Bert Van ve Pelov, N., Ontology Driven Software Engineering for Real Life Applications, 3rd International Workshop on Semantic Web Enabled Software Engineering (SWESE 2007), Innsbruck, Austria, [14] Auer, S., Jungmann, B. ve Schönefeld, F., Semantic Wiki Representations for Building an Enterprise Knowledge Base, Reasoning Web, 2007, s [15] Riechert, T., Lauenroth, K. ve Lehmann, J., Semantisch unterstütztes Requirements Engineering, Proceedings of the SABRE-07 SoftWiki Workshop, Leipzig / Germany, [16] Auer, S., Dietzold, S. ve Riechert, T., OntoWiki - A Tool for Social, Semantic Collaboration, The 5th International Semantic Web Conference (ISWC 2006), vol. 4273, s , [17] Valderas P. ve Pelechano, V., Improving Communication in Requirements Engineering Activities for Web Applications, Web Engineering, 2007, s [18] Lee Y. ve Zhao, W., An Ontology-Based Approach for Domain Requirements Elicitation and Analysis, Proceedings of the First International Multi-Symposiums on Computer and Computational Sciences - Volume 2 (IMSCCS'06): IEEE Computer Society, 2006.

Bir Ontoloji Tabanlı Gereksinim Kütüphanesi Yaklaşımı

Bir Ontoloji Tabanlı Gereksinim Kütüphanesi Yaklaşımı Bir Ontoloji Tabanlı Gereksinim Kütüphanesi Yaklaşımı Görkem Giray 1, Murat Osman Ünalır 2 1,2 Ege Üniversitesi, Bilgisayar Mühendisliği Bölümü, 35100, Bornova, İzmir 1 gorkemgiray@mail.ege.edu.tr, 2 murat.osman.unalir@ege.edu.tr

Detaylı

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. 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ı

SENTEZ TABANLI YAZILIM MİMARİSİ TASARIM YAKLAŞIMININ ESSENCE ÇERÇEVESİYLE MODELLENMESİ

SENTEZ TABANLI YAZILIM MİMARİSİ TASARIM YAKLAŞIMININ ESSENCE ÇERÇEVESİYLE MODELLENMESİ SENTEZ TABANLI YAZILIM MİMARİSİ TASARIM YAKLAŞIMININ ESSENCE ÇERÇEVESİYLE MODELLENMESİ G Ö R K E M G I R AY, T U R K E Y B E D I R T E K I N E R D O G A N, W A G E N I N G E N U N I V E R S I T Y, N E

Detaylı

Öğretim planındaki AKTS Ulusal Kredi

Öğ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ı

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım İbrahim Onuralp Yiğit 1, Nafiye Kübra Turhan 2, Ahmet Erdinç Yılmaz 3, Bülent Durak 4 1,2,3,4 ASELSAN A.Ş.

Detaylı

Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi

Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi Can Öz EGE ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ BİLGİSAYAR MÜHENDİSLİĞİ A.B.D. 1 İçerik Kaynak Yönetimi Problemi Kaynak Yönetimi Modellemesinin

Detaylı

Yazılım profesyonelleri için önemli olan yetkinlikler anketi Survey

Yazılım profesyonelleri için önemli olan yetkinlikler anketi Survey Sayfa 1 / 9 Yazılım profesyonelleri için önemli olan yetkinlikler anketi Bu anketin amacı yazılım profesyonelleri için önemli olan yetkinlikleri tanımlamak ve anlamaktır. Araştırmacılar, bu anketten elde

Detaylı

Yazılım Mühendisliği 1

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ı

BİÇİMSEL YÖNTEMLER (FORMAL METHODS) Betül AKTAŞ Suna AKMELEZ

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ı

Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal Mimari: Model Güdümlü ve Ontoloji Tabanlı Bir Yaklaşım

Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal Mimari: Model Güdümlü ve Ontoloji Tabanlı Bir Yaklaşım Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal Mimari: Model Güdümlü ve Ontoloji Tabanlı Bir Yaklaşım Doç.Dr. Murat Paşa UYSAL Prof.Dr. A. Erhan MERGEN Yazılım Yeniden Yapılama Genel olarak Yazılım Yeniden

Detaylı

9.DERS Yazılım Geliştirme Modelleri

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ı

Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları

Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS Bilgi Sistemleri Tasarımı SE 503 Her İkisi 3 0 0 3 7.5 Ön Koşul Ders(ler)i

Detaylı

Proje DöngD. Deniz Gümüşel REC Türkiye. 2007,Ankara

Proje DöngD. Deniz Gümüşel REC Türkiye. 2007,Ankara Proje Yönetiminde Y Temel Kavramlar Proje DöngD ngüsü Yönetimi ve Mantıksal Çerçeve eve Yaklaşı şımı Deniz Gümüşel REC Türkiye 2007,Ankara TEMEL KAVRAMLAR Proje nedir? Proje Yönetimi nedir???? Proje Döngüsü

Detaylı

Yazılım Mühendisliğinde Ontolojilerin Kullanımı

Yazılım Mühendisliğinde Ontolojilerin Kullanımı Yazılım Mühendisliğinde Ontolojilerin Kullanımı Görkem Giray 1 Murat Osman Ünalır 2 1,2 Bilgisayar Mühendisliği Bölümü, Ege Üniversitesi, İzmir 1 e-posta: gorkemgiray@mail.ege.edu.tr 2 e-posta: murat.osman.unalir@ege.edu.tr

Detaylı

Yrd. Doç. Dr. Övünç ÖZTÜRK

Yrd. Doç. Dr. Övünç ÖZTÜRK Yrd. Doç. Dr. Övünç ÖZTÜRK ÖĞRENİM DURUMU Derece Üniversite Bölüm / Program Yıllar Lisans Orta Doğu Teknik Üniversitesi Bilgisayar Mühendisliği 99-00 Y. Lisans Ege Üniversitesi Bilgisayar Mühendisliği

Detaylı

YMT 505-Yazılım Proje Yönetimi Giriş- Temel Kavramlar

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ı

Yaz.Müh.Ders Notları #6 1

Yaz.Müh.Ders Notları #6 1 YAZILIM MÜHENDİSLİĞİ Prof.Dr. Oya Kalıpsız GİRİŞ 1 YAZILIM YETERLİLİK OLGUNLUK MODELİ Olgunluk Seviyeleri: Düzey 1. Başlangıç düzeyi: Yazılım gelişimi ile ilişkili süreçlerin tanımlanması için hiçbir sistematik

Detaylı

MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR

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ı

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ş 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ı

Bilişim Sistemleri Değerlendirme Modeli ve Üç Örnek Olay İncelemesi

Bilişim Sistemleri Değerlendirme Modeli ve Üç Örnek Olay İncelemesi Bilişim Sistemleri Değerlendirme Modeli ve Üç Örnek Olay İncelemesi Özet Dr. Sevgi Özkan ve Prof. Dr Semih Bilgen Enformatik Enstitüsü, Orta Doğu Teknik Üniversitesi, Ankara Tel: (312) 210 3796 e-posta:

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 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ı

Yazılım Mühendisliğinde İleri Konular (SE 650) Ders Detayları

Yazılım Mühendisliğinde İleri Konular (SE 650) Ders Detayları Yazılım Mühendisliğinde İleri Konular (SE 650) Ders Detayları Ders Adı Ders Dönemi Ders Kodu Saati Uygulama Saati Laboratuar Kredi AKTS Saati Yazılım Mühendisliğinde İleri Konular SE 650 Güz 3 0 0 3 5

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

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ı

Yazılım Gereksinimleri Mühendisliği (SE 221) Ders Detayları

Yazılım Gereksinimleri Mühendisliği (SE 221) Ders Detayları Yazılım Gereksinimleri Mühendisliği (SE 221) Ders Detayları Ders Adı Ders Dönemi Ders Uygulama Kodu Saati Saati Laboratuar Kredi AKTS Saati Yazılım Gereksinimleri Mühendisliği SE 221 Güz 3 0 0 3 5.5 Ön

Detaylı

Yrd. Doç. Dr. Tuğba ÖZACAR ÖZTÜRK

Yrd. Doç. Dr. Tuğba ÖZACAR ÖZTÜRK Yrd. Doç. Dr. Tuğba ÖZACAR ÖZTÜRK ÖĞRENİM DURUMU Derece Üniversite Bölüm / Program Yıllar Lisans Dokuz Eylül Üniversitesi Bilgisayar Mühendisliği 99-00 Y. Lisans Ege Üniversitesi Bilgisayar Mühendisliği

Detaylı

Geleneksel Yazılım Mühendisliğinden Alana Özel Yazılım Mühendisliğine Doğru

Geleneksel Yazılım Mühendisliğinden Alana Özel Yazılım Mühendisliğine Doğru Geleneksel Yazılım Mühendisliğinden Alana Özel Yazılım Mühendisliğine Doğru DR. ÇAĞATAY ÇATAL TÜBİTAK-UEKAE Bilişim Teknolojileri Enstitüsü cagatay.catal@bte.mam.gov.tr www.cagataycatal.com İçerik 1. Giriş

Detaylı

KULLANILABİLİRLİK TESTLERİ VE UYGULAMALARI

KULLANILABİLİRLİK TESTLERİ VE UYGULAMALARI 6 İnternet sitelerinin kullanıcıların ihtiyaç ve beklentilerini karşılayıp karşılamadığının ve sitenin kullanılabilirliğinin ölçülmesi amacıyla kullanılabilirlik testleri uygulanmaktadır. Kullanılabilirlik

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 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ı

MAYIS 2010 ÖZGÜR DOĞAN İŞ GELİŞTİRME YÖNETİCİSİ KAMU SEKTÖRÜ

MAYIS 2010 ÖZGÜR DOĞAN İŞ GELİŞTİRME YÖNETİCİSİ KAMU SEKTÖRÜ MAYIS 2010 ÖZGÜR DOĞAN İŞ GELİŞTİRME YÖNETİCİSİ KAMU SEKTÖRÜ TANIMLAR KURUMSAL HAFIZA: Bilgiyi gelecekte kullanmak amacıyla insanlarda ve/veya teknolojilerde gerektiğinde geri çağrılabilir şekilde depolamak

Detaylı

WINDESKCONCENTO. sıgnum. Kurumsal İş Süreçleri Uygulamaları. windesk.com.tr

WINDESKCONCENTO. sıgnum. Kurumsal İş Süreçleri Uygulamaları. windesk.com.tr windesk.com.tr WINDESKCONCENTO Kurumsal İş Süreçleri Uygulamaları Kurumsal İş & Operasyonel süreçlerin performans tabanlı otomasyonu ile hizmet verimliliği ve kalitesinde artış sağlanır. sıgnum WINDESK

Detaylı

Kablosuz Sensör Ağlar ve Eniyileme. Tahir Emre KALAYCI. 21 Mart 2008

Kablosuz Sensör Ağlar ve Eniyileme. Tahir Emre KALAYCI. 21 Mart 2008 Kablosuz Sensör Ağlar ve Eniyileme Tahir Emre KALAYCI 21 Mart 2008 Gündem Genel Bilgi Alınan Dersler Üretilen Yayınlar Yapılması Planlanan Doktora Çalışması Kablosuz Sensör Ağlar Yapay Zeka Teknikleri

Detaylı

Sistem ve Yazılım Nedir?

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ı

Kurumsal Mimari. (Enterprise Architecture) MUSTAFA ULUS, 2015

Kurumsal Mimari. (Enterprise Architecture) MUSTAFA ULUS, 2015 Kurumsal Mimari (Enterprise Architecture) MUSTAFA ULUS, 2015 Hakkımda Eğitim Yıldız Teknik Üniversitesi - Matematik Mühendisliği lisans Ahmet Yesevi Üniversitesi Bilgisayar Mühendisliği yüksek lisans Deneyim

Detaylı

Eylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu.

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ı

X. Çözüm Ortaklığı Platformu

X. Çözüm Ortaklığı Platformu www.pwc.com/tr Türkiye Muhasebe Standartları na Geçiş İçerik 1. Yeni Türk Ticaret Kanunu na Genel Bakış 2. Türkiye Muhasebe Standartları na Geçiş Yol Haritası 3. Finansal Raporlama Süreci ve Teknik Altyapı

Detaylı

Başarı Değerlendirme YAZILIM. Mühendisliğe Temel Bir Bakış. Yazılım Nedir? BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013

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ı

Web Tabanlı CMMI Süreç Yönetimi Uygulamalarının Süreç ve Yazılım Geliştirme Performansına Pozitif Etkileri

Web Tabanlı CMMI Süreç Yönetimi Uygulamalarının Süreç ve Yazılım Geliştirme Performansına Pozitif Etkileri Web Tabanlı CMMI Süreç Yönetimi Uygulamalarının Süreç ve Yazılım Geliştirme Performansına Pozitif Etkileri Y. Müh. Cemalettin Öcal FİDANBOY TÜBİTAK UEKAE ocalfidanboy@tubitak.gov.tr Meral YÜCEL TÜBİTAK

Detaylı

Sistem Analizi ve Planlama

Sistem Analizi ve Planlama Sistem Analizi ve Planlama A. Can ARICI 1206060014 İstanbul Üniversitesi Siyasal Bilgiler Fak. İşletme Bölümü Yönetim Bilişim Sistemleri Dersi Öğretim Üyesi: Doç. Dr. Murat ERDAL 1 Sunum Planı Genel Kavramlar

Detaylı

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1 Bilgisayar Mühendisliği Bilgisayar Mühendisliğine Giriş 1 Mühendislik Nedir? Mühendislik, bilim ve matematiğin yararlı cihaz ve sistemlerin üretimine uygulanmasıdır. Örn: Elektrik mühendisleri, elektronik

Detaylı

Nesneye Dayalı Analiz ve Tasarım (SE 321) Ders Detayları

Nesneye Dayalı Analiz ve Tasarım (SE 321) Ders Detayları Nesneye Dayalı Analiz ve Tasarım (SE 321) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS Nesneye Dayalı Analiz ve Tasarım SE 321 Bahar 3 0 0 3 4.0 Ön Koşul

Detaylı

Kullanım Durumu Diyagramları (Use-case Diyagramları)

Kullanım Durumu Diyagramları (Use-case Diyagramları) Kullanım Durumu Diyagramları (Use-case Diyagramları) Analiz aşaması projeler için hayati önem taşır. İyi bir analizden geçmemiş projelerin başarı şansı azdır. Analiz ile birlikte kendimize Ne? sorusunu

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI Dersin Hedefleri Veri Tabanı Kullanıcıları Veri Modelleri Veri Tabanı Tasarımı İlişkisel VT Kavramsal Tasarımı (Entity- Relationship, ER) Modeli VT KULLANICILARI

Detaylı

4. ÜRÜN GELİSTİRME İŞLEMİ

4. ÜRÜN GELİSTİRME İŞLEMİ 4. ÜRÜN GELİSTİRME İŞLEMİ Genel Problem Çözme İşlemi Adım adım analiz / sentezi içerir Önerilen işlemsel adımlar: - Fonksiyon yapıları geliştirilir - Çözümler geliştirilir - Sıralı / esnek olarak uygulanır

Detaylı

SiSTEM ANALiZi ve TASARIMI

SiSTEM ANALiZi ve TASARIMI SiSTEM ANALiZi ve TASARIMI BIL3403 Öğ. Gör. ASLI BiROL abirol@kavram.edu.tr 01.10.2012 Dersin Amacı Bu ders ile öğrenci; edindiği mesleki bilgi birikimini kullanarak sektörde uygulanabilir bir projeyi

Detaylı

İŞ ANALİZİ GEREKSİNİM SORU LİSTESİ

İŞ ANALİZİ GEREKSİNİM SORU LİSTESİ İŞ ANALİZİ GEREKSİNİM SORU LİSTESİ Yazılım Kalitesi Ve Süreç Yönetimi Departman ı İçindekiler ANALİZ ŞEMASI... 3 PAYDAŞLAR... 4 YETKİ... 5 TANIMLAMA... 5 TEKNİK PAYDAŞ... 6 DIŞ PAYDAŞ... 6 İLETİŞİM...

Detaylı

Gereksinim Mühendisliği (SE 560) Ders Detayları

Gereksinim Mühendisliği (SE 560) Ders Detayları Gereksinim Mühendisliği (SE 560) Ders Detayları Ders Adı Ders Dönemi Ders Uygulama Laboratuar Kredi AKTS Kodu Saati Saati Saati Gereksinim Mühendisliği SE 560 Her İkisi 3 0 0 3 7.5 Ön Koşul Ders(ler)i

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ

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ı

PROGRAMLAMA TEMELLERİ

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ı

Yazılım Süreçleri Software Processes

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ı

SİSTEM ANALİZİ VE TASARIMI

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ı

YAZILIM ÜRÜN HATTINDA YETENEK MODELİNDEN ÜRÜN KONFİGÜRASYONUNUN OLUŞTURULMASI

YAZILIM ÜRÜN HATTINDA YETENEK MODELİNDEN ÜRÜN KONFİGÜRASYONUNUN OLUŞTURULMASI YAZILIM ÜRÜN HATTINDA YETENEK MODELİNDEN ÜRÜN KONFİGÜRASYONUNUN OLUŞTURULMASI Mustafa Özpınar Aselsan A.Ş. SST-MD-YMM, 06172, Yenimahalle, Ankara mozpinar@aselsan.com.tr Özet. Yazılım ürün hattı, belli

Detaylı

İZMİR EKONOMİ ÜNİVERSİTESİ BOLOGNA SÜRECİ UYGULANIRKEN DİKKAT EDİLECEK HUSUSLAR

İZMİR EKONOMİ ÜNİVERSİTESİ BOLOGNA SÜRECİ UYGULANIRKEN DİKKAT EDİLECEK HUSUSLAR İZMİR EKONOMİ ÜNİVERSİTESİ BOLOGNA SÜRECİ UYGULANIRKEN DİKKAT EDİLECEK HUSUSLAR I.GENEL BİLGİ Avrupa Yükseköğretim Alanı nı oluşturmak ve bu kapsamda Avrupa boyutunda yükseköğretim kurumlarının yeniden

Detaylı

YAZILIM MODELLEME VE TASARIM

YAZILIM MODELLEME VE TASARIM YAZILIM MODELLEME VE TASARIM «UML Kullanım Diyagramları» Özer Çelik Matematik-Bilgisayar Bölümü Kullanım senaryoları sadece düz metin (text) olarak değil, istendiğinde metin yerine UML diyagramı olarak

Detaylı

Kılavuzu ; bir ürün veya sistemin kullanımıyla ilgili açıklamaların olduğu dokümantasyon olarak tanımlayabiliriz.

Kılavuzu ; bir ürün veya sistemin kullanımıyla ilgili açıklamaların olduğu dokümantasyon olarak tanımlayabiliriz. DÖKÜMANTASYON HELP USER INTERFACE DOCUMENTATION Belgeleme, bir çalışma için gerekli belgeleri arama ve sağlama, belgelere dayandırma Dökümantasyon sürecini 4 kısımda inceleyebiliriz ALİCEM GÜRBOSTAN 2008638004

Detaylı

25.10.2011. Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları. Ömer Faruk MIZIKACI 2008639402

25.10.2011. Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları. Ömer Faruk MIZIKACI 2008639402 Arayüz Tasarımı ve Programlama Neleri Konuşacağız Arayüz Nedir? Arayüz Çeşitleri Arayüz Tasarım Yöntemleri Arayüz Tasarım Hataları Ömer Faruk MIZIKACI 2008639402 Arayüz Nedir? Bilgisayar ve uygulamalarının

Detaylı

BIM Building Information Modeling Teknolojilerine Bakış. Tarcan Kiper Şubat 2012

BIM Building Information Modeling Teknolojilerine Bakış. Tarcan Kiper Şubat 2012 BIM Building Information Modeling Teknolojilerine Bakış Tarcan Kiper Şubat 2012 İçerik infotron Özgeçmiş Giriş BIM in Tanımı BIM Süreci BIM Kriterleri BIM in Getirileri infotron Kısa Özgeçmişi Tasarım,

Detaylı

Yazılım Nedir? Yazılım Mühendisi. Yazılım Mühendisliği. ACM/IEEE Etik Kodu. Etik Kural için Önsöz BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013.

Yazılım Nedir? Yazılım Mühendisi. Yazılım Mühendisliği. ACM/IEEE Etik Kodu. Etik Kural için Önsöz BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013. BIL 304 YAZILIM MÜHENDİSLİĞİ 2012-2013 Yrd Doç. Dr. Turgay İBRİKÇİ Yazılım Nedir? Yazılım Tanımlanmış bir işlevi yerine getiren, Girdi ve Çıktıları olan, Herhangi bir donanım üzerinde çalışan, Bilgisayar

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.

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ı

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili

NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili Özlem AYDIN NESNEYE YÖNELİK PROGRAMLAMA Unified Modelling Language (UML) Bütünleşik Modelleme Dili Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü MODEL NEDİR? Model, gerçek dünyadaki bir olayın veya

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 Bilişim Sistemleri Modelleme, Analiz ve Tasarım Yrd. Doç. Dr. Alper GÖKSU Ders Akışı Hafta 10-11. Nesneye Yönelik Sistem Analizi Haftanın Amacı Bilişim sistemleri geliştirmede nesneye yönelik sistem analizi

Detaylı

YAŞAR ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ

YAŞAR ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ YAŞAR ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ Bitirme Projeleri İçindekiler Bitirme Projesi... 2 Başarı için tavsiyeler... 2 Danışman seçimi... 2 Danışmanlarınızla yapacağınız toplantı saatleri... 2 Birinci

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ı

Giriş: Temel Adımlar YAZILIM GELİŞTİRME YAŞAM DÖNGÜSÜ. Belirtim Yöntemleri. Belirtim Yöntemleri 09.07.2014

Giriş: Temel Adımlar YAZILIM GELİŞTİRME YAŞAM DÖNGÜSÜ. Belirtim Yöntemleri. Belirtim Yöntemleri 09.07.2014 Giriş: Temel Adımlar YAZILIM GELİŞTİRME YAŞAM DÖNGÜSÜ 1 2 Yukarıda belirtilen adımlar, yazılım yaşam döngüsünün çekirdek süreçleri olarak tanımlanır. Bu süreçlerin gerçekleştirilmesi amacıyla; -Belirtim

Detaylı

BLG4146 - Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

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ı

İleri Yazılım Mimarisi (SE 658) Ders Detayları

İ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ı

IBM CLM Çözümleriyle Çevik Yazılım Süreçleri. Canberk Akduygu & Koray Okşar

IBM CLM Çözümleriyle Çevik Yazılım Süreçleri. Canberk Akduygu & Koray Okşar IBM CLM Çözümleriyle Çevik Yazılım Süreçleri Canberk Akduygu & Koray Okşar Günümüzde Yazılım Geliştirme Proje takımları farklı bölgelerde çalışabilir ve iletişim eksikliği doğabilir Gebze Maltepe Odakule

Detaylı

yönetimi vb. lisans ve yüksek lisans programlarındaki öğrenciler için kapsamlı bilgilenme imkânı sağlamaktadır.

yönetimi vb. lisans ve yüksek lisans programlarındaki öğrenciler için kapsamlı bilgilenme imkânı sağlamaktadır. Önsöz Günümüzde, hemen hemen her tür ve boyutta organizasyonda, görevleri proje olarak organize etmek yaygınlaşmıştır. Bunun en temel nedenlerinden biri çağdaş yönetim anlayışının hiyerarşik örgüt yapısından

Detaylı

Yazılım ve Uygulama Danışmanı Firma Seçim Desteği

Yazılım ve Uygulama Danışmanı Firma Seçim Desteği Yazılım ve Uygulama Danışmanı Firma Seçim Desteği Kapsamlı bir yazılım seçim metodolojisi, kurumsal hedeflerin belirlenmesiyle başlayan çok yönlü bir değerlendirme sürecini kapsar. İş süreçlerine, ihtiyaçlarına

Detaylı

Mobil Kullanılabilirlik ve Kullanıcı Deneyimi Eğitimi

Mobil Kullanılabilirlik ve Kullanıcı Deneyimi Eğitimi Mobil Kullanılabilirlik ve Kullanıcı Deneyimi Eğitimi Kullanıcı Dostu Arayüzler Oluşturun www.userspots.com 1 Mobil Kullanılabilirlik ve Kullanıcı Deneyimi Eğitimi Nedir? Mobil kullanılabilirlik ve kullanıcı

Detaylı

Varlık davranış modeli: Bu aşama her entity ye etki eden durumların tanımlandığı, modellendiği ve dokümante edildiği süreçtir.

Varlık davranış modeli: Bu aşama her entity ye etki eden durumların tanımlandığı, modellendiği ve dokümante edildiği süreçtir. Yapısal Sistem Analiz ve Tasarım Metodu SSADM waterfall model baz alınarak uygulanan bir metottur. İngiltere de kamusal projelerde 1980 lerin başında kullanılan sistem analizi ve tasarımı konularındaki

Detaylı

Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları

Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları Ders Adı Ders Dönemi Ders Uygulama Laboratuar Kredi AKTS Kodu Saati Saati Saati Mobil Uygulama Geliştirmeye Giriş ISE 407 Her İkisi 3 0 0 3 5

Detaylı

BÖLÜM-IV ÜRÜN GELİSTİRME İŞLEMİ Genel Problem Çözme İşlemi

BÖLÜM-IV ÜRÜN GELİSTİRME İŞLEMİ Genel Problem Çözme İşlemi BÖLÜM-IV ÜRÜN GELİSTİRME İŞLEMİ Genel Problem Çözme İşlemi Problem çözme yönteminin en önemli özelliği, adım adım analiz ve sentez içermesidir. Burada her yeni adımda bir öncekinden daha somut olarak nitelden

Detaylı

Yaşanmış Tecrübe Paylaşımı Önce Test Et Sonra Kodla XP Pratiği

Yaşanmış Tecrübe Paylaşımı Önce Test Et Sonra Kodla XP Pratiği TBD 21. Ulusal Bilişim Kurultayı Sunumu Yaşanmış Tecrübe Paylaşımı Önce Test Et Sonra Kodla XP Pratiği Hasan ÖZKESER Bimar Bilgi İşlem Hizmetleri Aş. 5 Ekim 2004 ODTÜ Kültür ve Kongre Merkezi, Ankara 2004

Detaylı

Yazılım Mühendisliği Bölüm - 3 Planlama

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ı

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.

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ı

5.DERS PROJEDE YÜRÜTMENİN PLANLANMASI

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ı

Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları

Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları Ders Adı Ders Dönemi Ders Uygulama Kodu Saati Saati Laboratuar Kredi AKTS Saati Yazılım Mühendisliğine Giriş SE 112 Bahar 3 0 0 3 5 Ön Koşul Ders(ler)i

Detaylı

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

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ı

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 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ı

DERS BİLGİLERİ. Ders Kodu Yarıyıl T+U Saat Kredi AKTS SİSTEM MÜHENDİSLİĞİ METODOLOJİSİ ESYE505 1 3+0 3 10

DERS BİLGİLERİ. Ders Kodu Yarıyıl T+U Saat Kredi AKTS SİSTEM MÜHENDİSLİĞİ METODOLOJİSİ ESYE505 1 3+0 3 10 DERS BİLGİLERİ Ders Kodu Yarıyıl T+U Saat Kredi AKTS SİSTEM MÜHENDİSLİĞİ METODOLOJİSİ ESYE505 1 3+0 3 10 Ön Koşul Dersleri Dersin Dili Dersin Seviyesi Dersin Türü İngilizce Yüksek Lisans Zorunlu Dersin

Detaylı

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı 1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı Metodolojisi üzerinde durduğumuz çalışman Eğitim altyapısını gerçekleştirmek: Proje iki ana parçadan oluşacaktır. Merkezi Altyapı Kullanıcı Arabirimi

Detaylı

1.Yazılım Geliştirme Metotları 1

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ı

Yrd. Doç. Dr. Ayça Tarhan. Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü atarhan@hacettepe.edu.tr

Yrd. Doç. Dr. Ayça Tarhan. Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü atarhan@hacettepe.edu.tr Yrd. Doç. Dr. Ayça Tarhan Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü atarhan@hacettepe.edu.tr Süreç Değerlendirme Nedir? Süreç: Girdileri çıktılara dönüştüren, ilişkili veya etkileşimli etkinlikler

Detaylı

UZAKTAN EĞİTİM MERKEZİ

UZAKTAN EĞİTİM MERKEZİ ÜNİTE 2 VERİ TABANI İÇİNDEKİLER Veri Tabanı Veri Tabanı İle İlgili Temel Kavramlar Tablo Alan Sorgu Veri Tabanı Yapısı BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ BİLGİSAYAR II HEDEFLER Veri tabanı kavramını

Detaylı

Statik Kod Analizi. Proceedings/Bildiriler Kitabı. SSE-CMM[3], ISO/IEC 15408 [3] gibi standartlarla. gereklidir.

Statik Kod Analizi. Proceedings/Bildiriler Kitabı. SSE-CMM[3], ISO/IEC 15408 [3] gibi standartlarla. gereklidir. Statik Kod Analizi, Özet, teknolojik cihazlardaki son zamanlarda g, tehdit kolay k -YGYD) ve Anahtar Kelimeler Abstract The use of technological devices in developed software has been increasing in recent

Detaylı

Yazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü. Cengiz GÖK

Yazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü. Cengiz GÖK Yazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü Cengiz GÖK 1 Gerçek Hayatta Program Geliştirme Gereksinim Analizi Sistemin İdamesi Sistem Tasarımı Teslim Program Tasarımı Sistem Testi Program

Detaylı

Üretim/İşlemler Yönetimi 2. Yrd. Doç. Dr. Mert TOPOYAN

Üretim/İşlemler Yönetimi 2. Yrd. Doç. Dr. Mert TOPOYAN Üretim/İşlemler Yönetimi 2 Sistem Kavramı Belirli bir ortak amacı elde etmek için birlikte çalışan bileşenlerden oluşan bütündür. Büyük sistemler kendilerini oluşturan alt sistemlerden oluşur. Açık sistem:

Detaylı

<Ekip Adı> <Proje Adı> Yazılım Gereksinimlerine İlişkin Belirtimler. Sürüm <1.0>

<Ekip Adı> <Proje Adı> Yazılım Gereksinimlerine İlişkin Belirtimler. Sürüm <1.0> Yazılım Gereksinimlerine İlişkin Belirtimler Sürüm [Not: Aşağıda yer alan şablon, Rational Unified Process ile birlikte kullanılmak üzere sağlanmıştır] [Köşeli parantezler

Detaylı

BÝLGÝ TABANLI BÝR YÖNETÝM SÝSTEMÝNDE KAVRAMSAL MODELLEMENÝN ÖNEMÝ

BÝLGÝ TABANLI BÝR YÖNETÝM SÝSTEMÝNDE KAVRAMSAL MODELLEMENÝN ÖNEMÝ ÝSTANBUL ÜNÝVERSÝTESÝ MÜHENDÝSLÝK FAKÜLTESÝ ELEKTRÝK-ELEKTRONÝK DERGÝSÝ YIL CÝLT SAYI : 2001-2002 : 1 : 1 ( 143 147 ) BÝLGÝ TABANLI BÝR YÖNETÝM SÝSTEMÝNDE KAVRAMSAL MODELLEMENÝN ÖNEMÝ Ýstanbul Üniversitesi,

Detaylı

YZM 2108 Yazılım Mimarisi ve Tasarımı

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ı

Mobil Cihazlardan Web Servis Sunumu

Mobil Cihazlardan Web Servis Sunumu Mobil Cihazlardan Web Servis Sunumu Özlem Özgöbek Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 2010 İnternet erişiminin yaygınlaşması ve artık mobil cihazlar üzerinden bile yüksek hızlı veri iletişimine

Detaylı

DGridSim Gerçek Zamanlı Veri Grid Simülatörü. Yazılım Tasarımı Dokümanı v 1.0.1 01.08.2011. Mustafa Atanak Sefai Tandoğan Doç. Dr.

DGridSim Gerçek Zamanlı Veri Grid Simülatörü. Yazılım Tasarımı Dokümanı v 1.0.1 01.08.2011. Mustafa Atanak Sefai Tandoğan Doç. Dr. DGridSim Gerçek Zamanlı Veri Grid Simülatörü Yazılım Tasarımı Dokümanı v 1.0.1 01.08.2011 Mustafa Atanak Sefai Tandoğan Doç. Dr. Atakan Doğan 1. Sistem Mimarisi DGridSim katmanlı bir yapı göz önünde bulundurularak

Detaylı

KURUMSAL RİSK YÖNETİMİ (KRY) EĞİTİMİ KURUMSAL RİSK YÖNETİMİ: KAVRAMSAL VE TEORİK ÇERÇEVE

KURUMSAL RİSK YÖNETİMİ (KRY) EĞİTİMİ KURUMSAL RİSK YÖNETİMİ: KAVRAMSAL VE TEORİK ÇERÇEVE KURUMSAL RİSK YÖNETİMİ (KRY) EĞİTİMİ KURUMSAL RİSK YÖNETİMİ: KAVRAMSAL VE TEORİK ÇERÇEVE SUNUM PLANI 1. RİSK VE RİSK YÖNETİMİ: TANIMLAR 2. KURUMSAL RİSK YÖNETİMİ 3. KURUMSAL RİSK YÖNETİMİ DÖNÜŞÜM SÜRECİ

Detaylı

Başlıca Ürün-Bilgi Sistemleri

Başlıca Ürün-Bilgi Sistemleri BİLGİ SİSTEMLERİ Başlıca Ürün-Bilgi Sistemleri Süreç İşleme Sistemleri, Ofis Otomasyon Sistemleri ve Bilgi İşleme Sistemleri, Yönetim Bilişim Sistemleri, Karar Destek Sistemleri, Uzman Sistemler ve Yapay

Detaylı

5. PROGRAMLA DİLLERİ. 5.1 Giriş

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ı

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

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ı

VERİ TABANI SİSTEMLERİ

VERİ TABANI SİSTEMLERİ VERİ TABANI SİSTEMLERİ 1- Günümüzde bilgi sistemleri Teknoloji ve bilgi. 2- Bilgi sistemlerinin Geliştirilmesi İşlevsel Gereksinimleri 1.AŞAMA Gereksinim Belirleme ve Analiz Veri Gereksinimleri Gereksinimler

Detaylı

Proje Oryantasyon (SE 493) Ders Detayları

Proje Oryantasyon (SE 493) Ders Detayları Proje Oryantasyon (SE 493) Ders Detayları Ders Adı Ders Dönemi Ders Uygulama Kodu Saati Saati Laboratuar Saati Kredi AKTS Proje Oryantasyon SE 493 Bahar 2 0 0 2 3 Ön Koşul Ders(ler)i COMPE341 Dersin Dili

Detaylı

BİLGİSAYAR TEMEL ALAN KODU: 48

BİLGİSAYAR TEMEL ALAN KODU: 48 TÜRKİYE YÜKSEKÖĞRETİM YETERLİLİKLER ÇERÇEVESİ () TEMEL ALAN YETERLİLİKLERİ SAYAR TEMEL ALAN KODU: 48 ANKARA 13 OCAK 2011 İÇİNDEKİLER 1.BÖLÜM: ÖĞRENİM ALANLARI VE ÇALIŞMA YÖNTEMİ...2 1.1.ISCED 97 (FOET

Detaylı

KALİTE YÖNETİM SİSTEMİ İş Sürekliliği

KALİTE YÖNETİM SİSTEMİ İş Sürekliliği T. C. KAMU İHALE KURUMU Elektronik İhale Dairesi KALİTE YÖNETİM SİSTEMİ İş Sürekliliği İş Sürekliliği Yönetim Sistemi Politikası Sürüm No: 5.0 Yayın Tarihi: 11.05.2014 444 0 545 2012 Kamu İhale Kurumu

Detaylı