Agile yöntemler kullanılan projelerde veritabanı nasıl oluşturulur? Sürekli şekilde veritabanının yapısı güncellenmeli midir?

soruldu: 30 Kas '12, 17:12

goksel's gravatar image

goksel
82071728
cevap kabul oranı: 8%

değiştirildi: 16 May '13, 02:50

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Merhaba,

tahmin ettigin gibi veritabani ve diger tüm ne varsa hepsi gerektigi zamanda, gerektigi yerde yapilir. Mümkün mertebe sonradan lazim olabilecek seyleri, yeri geldiginde yapmalsini. Bu yüzden cok kere güncellemen gerekir. Bu isini zorlastirma anlamina gelmez, daha cok basitletirir.

Make it easy...

Iyi calismalar...

permanent link

cevaplandı: 09 May '13, 11:33

mahmut_can's gravatar image

mahmut_can ♦
2.9k62552
cevap kabul oranı: 67%

Karşılaştığım en büyük sorun agile yapıyoruz diyince müşterinin bazen uçup geriye yönelik değişiklikler de istemesi. Bu sebeple veritabanında 1-1 ilişkilerden mümkün olduğunca kaçının. İlişkilerinizi mümkün olduğunca 1-N ya da N-N tutmaya çalışın. "1 tane hedesi olacak" diye istek geldiğinde sallıyorum %80 o 1 taneye istisna çıkar N tane oluverir, hem tablolarınızı hem de sorgularınızı değiştirmek zorunda kalırsınız. Hatta graph veritabanı kullanın, hiç üzülmezsiniz. Yaşayıp görmek lâzım.

Felaket örneği:

1 Kullanıcı 1 Departmana bağlıdır:

User
----
full_name
department_id

Department
----------
full_name

"aaa şimdi birden fazla departmanda da olabilirler öyle istek geldi yapacak birşey yok"

User
----
full_name

Role
----
role_type_id
department_id
user_id

Department
----------
full_name

Sistemde kullanıcıdan yola çıkılan tüm sorgular da değişecek.

permanent link

cevaplandı: 09 May '13, 23:33

nurettin's gravatar image

nurettin
2.2k2441
cevap kabul oranı: 14%

değiştirildi: 19 May '13, 00:22

1

o zaman agile projelere en uygun veritabanı yapıları olarak hibernate tarzı orm sistemlerini söyleyebilir miyiz?

(10 May '13, 17:21) dreampowder dreampowder's gravatar image
1

@dreampowder hibernate ile pek çalışmadım ama evet, veritabanına erişim için en güzel yöntem bence de ORM kullanmak. Ama asıl önemlisi veriyapısını esnek tutmak. Bu gibi istekler yüzünden artık bir fakültenin bir dekanı, bir firmanın bir patronu, bir tablonun bir çizeri olduğuna artık inanmıyorum, hep istisna çıkıyor!

(11 May '13, 01:20) nurettin nurettin's gravatar image

söylediklerinden yola çıkarak NoSQL gibi ilişkisel olmayan veritabanları da çok uygun oluyor o zaman agile projeler için

(11 May '13, 23:55) goksel goksel's gravatar image
3

@goksel graph veritabanlarında şemasız şekilde ilişkileri sonradan belirleyebiliyorsunuz. Bunun güzel tarafı veritabanı değişikliği ve aktarım yapmak yerine sadece kodları değiştirmek yeterli. Dediklerimi NoSQLlerin tamamına genelleyemem. MongoDB gibi doküman bazlı veritabanlarının da MapReduce yavaşlığı, cluster mimarisi yaparken zorlaması gibi kendi sorunları var. Her aracın bir kullanım alanı var diyelim.

(12 May '13, 01:20) nurettin nurettin's gravatar image

Bu çok güzel bir soru. Biraz acalım:

  1. Proje türü: agile; yani hareketli, değişken, kaotik-karmaşık-dağınık ta olabilir.
  2. Veri tabanı: bilgileri depoladığımız ve programımızın kullandığı verileri barındırdığımız yer.
  3. Dizayn: hareket etmeden, uygulamadan evvel iyice düsünmemiz, hayal edip tasarlamamiz gereken fikirsel altyapı.

Mimariyi ve projeyi tasarlayan arkadasların daha proje başlamadan evvel beyin ve kalplerindeki ekranda implemente edilecek sistemi, akışları, süreçleri net bir şekilde görmeleri gerekiyor. Eğer bu olmazsa, yükler ve sorunlar, acılar, memnuniyetsizlikler yukarıdan aşağıya (yerçekiminde olduğu gibi) düşecek oradaki takım arkadaşlarının hayatını zorlaştıracaktır.

Tabi bu çok geniş bir konu, yukarıdaki birinci nokta ancak sağlam ve deneyimli yöneticilerle kontrol altina alinabilir.

İkinci nokta, yani veritabanı kısmında nesne ve ilişkilerin iç yüzünü iyi anlamış (beyninin ve kalbinin derinliklerine kadar) kişilerin yapabileceği bir şey. Bu da ancak derin derin düşünmek, sormak, denemek ve ciddi bir şekilde çalışmakla elde edilebilecek bir şey. Böylesi yoğun bir calısmanın en önemli getirilerinden biri kullanilan fikir taslaklarının, nesnelerin, ilintilerin, ilşkilerin ve bağımlıkların giderek standartlaşması ve aslında buna paralel olarak ta proje ve çalışma hayatımızın giderek kolaylaşması ve zevkli hale gelmesi.

Üçüncü ve son nokta da ikinci noktayla ilintili ancak burada da düzen, miktar, tarz, akış, ölçü, kaynaklar, hedef vs. gibi pek çok noktada tecrübelerin ve fikirlerin keskinleştirilmesi gerekiyor.

Okumak ve sormak olmazsa olmazlardan belki en önemli ikisi (ve belki de en ucuz ve kolay olanı).

permanent link

cevaplandı: 19 May '13, 07:19

cakiral's gravatar image

cakiral
1.7k224351
cevap kabul oranı: 18%

değiştirildi: 19 May '13, 07:23

konu ile ilgili bir slayt var http://www.slideshare.net/kefukar/agile-cevik-yaklasimilescrumyontemisavasdoganccby adresinden bakabilirsin. bu konu hakkında geniş bir bilgi vermektedir.

permanent link

cevaplandı: 09 May '13, 09:04

jacksparrow47's gravatar image

jacksparrow47
931142332
cevap kabul oranı: 27%

kısa ve öz bir sunum, teşekkürler

(10 May '13, 17:19) dreampowder dreampowder's gravatar image

Martin Fowlerin yazisini bir göz atmanizi tavsiye ederim.

http://martinfowler.com/articles/evodb.html

(21 May '13, 06:46) mahmut_can ♦ mahmut_can's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×35
×5

Soruldu: 30 Kas '12, 17:12

Görüntüleme: 1,185 kez

Son güncelleme: 21 May '13, 06:46

powered by BitNami OSQA