2010-04-29 18 views
7

Temel olarak sistem tasarımı için bu iki yaklaşım vardır. avantajları ve dezavantajları nelerdir? Ne zaman kullanmalıyım? Bu yaklaşımları birleştirmeli miyim? Nasıl? aşağıdan yukarıya daha büyük parçalar halinde çözüm alanı parçalarını organize gelen iseYukarıdan aşağıya veya aşağıdan yukarıya doğru tasarım?

+4

Bu kısa bir soru, ancak cevabın oldukça uzun olacağını sanıyorum ... –

+1

Soldan sağa tasarım kullanmayı tercih ediyorum. –

+0

@Mitch Buğday da kısmen de olsa cevap veriyor ya da bazı kitaplara/makalelere/makalelere/bloglara yönlendiriyor :) :) –

cevap

21

Kabaca, yukarıdan aşağıya, alt sorunlarla sorun alanı bir ayrışma geliyor. Yukarıdan aşağıya etkili bir şekilde kullanabilmek için, problemi çok sağlam bir şekilde anlamanız, yani sağlam gerekliliklerinizin olması gerekmektedir. Aşağıdan yukarıya etkili olmak için, parçaları iyi bilinen bir 'standart' problemi çözmeniz gerekir, fakat doğru montaj öncesinde doğru montajın bazı deneylere ihtiyaç duyması gerekebilir.

Bu konuda daha fazla bilgi için Parnas'ın parlak kağıtlarını A rational design process and how to fake it okumalısınız. Cevap: her ikisini de uygun şekilde kullanın. İşiniz bittiğinde, her şeyi yukarıdan aşağıya yaptığınız gibi (teknik özelliklerde, tasarım belgelerinizde ve kullanıcı belgelerinizde) görünmesini sağlayın.

+0

İyi bir cevap için çok teşekkürler ve bu sayfaya bağlantı için teşekkürler –

+4

+1: «İşiniz bittiğinde, yaptığınız gibi görünmesini sağlayın her şey yukarıdan aşağıya » – ZJR

2

Ayrıca çevik toplumdan 'Kek Dilimleme' ilkesine bir göz atmalısınız. Bu ilke, uygulamanızın her yinelemesine sahip kullanıcı için iş değeri eklemeye odaklanmaya zorlar. Daha sonra Burada

http://blog.energizedwork.com/2005/05/slicing-cake.html

+0

Teşekkür ederim, yinelenmeler hakkında biliyorum, zor bir noktaya pasta dilim nasıl olur bu yüzden başka bir dilim ekleme birkaç önceki gibi zor olmazdı. –

3

Ben senin soru uzun hakediyor daha ayrıntılı olarak prensibini açıklayan bir bağlantıdır vb sonraki dilim odaklanmak, bunu tasarlamak ve uygulamanın dikey bir parça uygulamak ve sunmak için deneyin ve mafsallı cevaplar. Ben Martin Fowler eski bir makale okumak önermek (CFR "dir. Dizaynı öldü mü?") Açık tasarım ve çevik teknikleri (http://martinfowler.com/articles/designDead.html)

Benim deneyim her zaman modüllerin mavi baskı mimarisi sahip olmaktır ilgili ilişkileri anlatıyor Sistemin bileşenleri arasındaki etkileşimler. Bu tasarıma sahip olmak (bazı projelerde yüksek seviye olabilir), modüller/bileşenler tasarlamaya/geliştirmeye başladım. Bunlardan bazıları da aşağıdan yukarıya doğru geliştirilebilir.

+0

İyi referanslar her zaman minnettar :) –

İlgili konular