Можно ли вообще спроектировать и реализовать систему без архитектуры?(Прочитано 11147 раз)
Приглашаю к дискуссии, если она, конечно, интересна

Как Вы считаете: Можно ли вообще спроектировать и реализовать систему без архитектуры?

Предусловия:
1. имеются в виду сложные системы
2. имеются в виду системы, интенсивно использующие ИКТ (информационно-коммуникационные технологии)

Сторонников положительного и отрицательного ответов призываю излагать аргументы



На мой взгляд не совсем корректно поставлен вопрос, поскольку архитектура будет присутствовать всегда, вне зависимости от желания или нежелания это замечать :)

Наверно имелось ввиду: можно ли спроектировать и реализовать нечто без предварительной проработки архитектуры? Если да, то опять же возникает много вопросов:

1. требуемая (для успешной реализации системы) глубина проработки архитектуры может быть различна, зависит от участников, сложности системы, используемой тех. базы.

2. само понятие "архитектура" может быть по-разному определено: архитектура как набор базовых принципов (концепции), по которой строится решение, или речь изначально шла о дизайне?

3. Скот Амблер, например, уже несколько лет доказывает жизнеспособность своего подхода к эволюционному проектированию систем/решений (http://www.agilemodeling.com/essays/agileArchitecture.htm)

4. Часто платформа уже навязывает определенные архитектурные аспекты, которые не нужно проектировать, а прост нужно уметь использовать (J2EE, .Net и т.п.)

Если все же постараться дать краткий ответ на исходный вопрос касательно проектирования вперед кодирования, то:

Да, это возможно и применяется, особенно в дизайне на уровне программного кода. Но с другой стороны, просто с чистого листа начинать нельзя, требуется сначала подумать, а потом уже кодировать или создавать решение. В любом случае, ответ зависит от того, какие риски мы получим, если не будем прорабатывать архитектуру.



Прежде, чем излагать аргументы, думаю, стоит определить, что такое "спроектировать и реализовать систему без архитектуры".
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



На мой взгляд не совсем корректно поставлен вопрос, поскольку архитектура будет присутствовать всегда, вне зависимости от желания или нежелания это замечать :)
Но, это уже и есть ответ на вопрос ;)



Как известно, критик всегда знает, что именно хотел сказать автор в своем произведении. Поэтому разглядывая готовую систему аналитик всегда сможет описать ее архитектуру. На самом деле, автор (авторы) они тоже ее представляют, потому что учились, работали с системами  или разрабатывали их ранее. И будут применять свой опыт в виде конкретной архитектуры. А если опыта нет, то или проявится системное мышление и у системы будет архитектура, или сложную систему построить однозначно не получится.

Если же имеется ввиду некоторая цельная архитектура, то я видел работающие многослойные системы с большим напластованием очень различных архитектурных приемов, отражающих видение отдельных авторов, ответственных за фрагменты, а также изменения их взглядов во времени. И, более того, для одних и тех же целей, например, для обмена данными, применялись совершенно разные технологии - файловый обмен, dblink, обращение по api...

Но "бывает" не значит - лучше, лично я считаю хорошую архитектуру - важной, а ее продумывание заранее - очень полезным. Но это уже отдельный вопрос.
Максим Цепков, CustIS



как ты ни делай систему без архитектуры, тем не менее та или иная архитектура в системе появится. необходимые решения все равно будут приняты конкретными программистами, а вот будут ли они учитывать все необходимые условия - это большой вопрос. 
так что отсутствие управления в процессе ее формирования и обоснованное принятие решений в этой области, заточенных на цели создания системы, последущую эксплуатацию и развитие, приводят к тому, что с системой и работать сложно, и (как чемодан без ручки) выкинуть жалко, причем средств на ее создание затрачивается значительно больше.
Лью воду...



Вероятно можно попробовать построить что - то серьезное не прорабатывая архитектуру изначально. Но только на первых этапах жизни ПО. Как только встанет вопрос о поддержке\доработке, тут же придется все перепахивать и разбираться что да как. Тут лишь вопрос времени.
I will use Google, before asking dumb questions !!!




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19