PDA

Просмотр полной версии : Что это ??


Abdulaziz
18.07.2006, 19:37
Так получается много слышали но ни разу не видели Если что нибудь знаете помогите разобраться ???

Akrom Obidov
18.07.2006, 20:35
Наконец то! Долго ждал кто посмеет или заинтересуется этим разделом.

Так вот Экстремальное программирование, на родном языке звучит как Extreme Programming или сокращённо XP, является одним из направлений методологии быстрой разработки программного обеспечения.
* Представляет собой набор средств и методик для эффективного построения устойчивых и надёжных программ. Включает в себя поддержку изменчивости и противоречивости требований к разрабатываемым системам и тесные связи с заказчиком.

Экстремальное программирование было анонсировано Кентом Беком в 1995 году в компании Chrysler. Является сравнительно новой методологией, но те мне менее хорошо зарекомендовавшей себя в кругах профессиональных разработчиков.

Преимуществами XP являются:

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

Экстремальное программирование, как процесс, даёт новое дыхание давно придуманным подходам к разработке программного обеспечения.
Это такие подходы как
Модульное тестирование (Unit testing),
Переработка кода (Refactoring),
Парное программирование (Pair programming),
Нормированный рабочий день (40-hour week).

Если что то не понятно или туманно жду вопросов. :)

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

Timur Bazikalov
20.07.2006, 14:22
Хотелось бы узнать, как это выглядит на практике. И если это инновационный подход, то что из себя представляет старый (классический) метод?

Ivan Korneychuk
21.07.2006, 01:16
Вот мне интересно экстремально програмирование звучит краиво ! а из нутри получается как?
как я вас понял просто насего в проэкт включают людей которые не имеют ни какого представления о самом проекте просто дожны выполнить данное им задание часть кода программы! т.е какуюто процедуру класс или что то подобное?
тогда выходит что кординатор проэкта вообще может не подразумевать что находится в процедуре коме основных функций там же может быть куча дыр! Хотя продукт будет работать исправно , Безопасность и надежность такого продукта будет не очень гарантированной ?
Поправте меня если я не прав!

Akrom Obidov
24.07.2006, 10:18
как я вас понял просто насего в проэкт включают людей которые не имеют ни какого представления о самом проекте просто дожны выполнить* данное им задание часть кода программы! т.е какуюто процедуру класс или что то подобное?

Именно такие вопросы я от вас и ожидал ;).
ХР* поддерживается из кучи мелких, постаянно используемых в разных методологиях методов разработки программных обеспечений, я привел основные из них в предедущем сообщении, вот это и делает ХР неуязвимым, потому что каждому методу есть опора другим методом.
Ну насчет "быстрое включение в работу новичков с минимальным уровнем риска" в помощь приходит парное программирование (Pair programming), любой разработчик ХР команды работает в паре, а это приводит к тому что при включении новичков в команду уровень риска падает до минимальных шкал, потому что новичку есть у кого спросить и к кому обратится!


тогда выходит что* кординатор проэкта вообще может не подразумевать что находится в процедуре коме основных функций там же может быть куча дыр! Хотя продукт будет работать исправно , Безопасность и надежность такого продукта будет не очень гарантированной ?
Поправте меня если я не прав!


Такие вопросы и я в свое время задавал самому себе конечно, когда начел знакомится с ХР.

Насчет безопасности и надежности в помощь* приходит Модульное тестирование* (Unit testing), что такое* Модульное тестирование?
Простым языком можно сказать так:
Сначала пишеш тест, а потом код!

К каждому функционалу продукта будет написан тест. Тестами и будет поддерживатся безопасность и надежность программного обеспечения.
Пишеш тестовый случай, далее пишеш код, далее добиваешся работоспособности твоего теста и все, твой код застрахован твоим тестом! При молейшем изменении кода тест дасть тебе знать где ты сделал ошибку или кто нибудь другой.

По подробней можете обращятся на сайты, которые посвящены ХР.
Их я перечислил здесь: http://uforum.uz/showthread.php?t=864

Если что то все таки остается туманно и не понятно ждемс ваших вопросов! ;)

Atham Mirazizov
19.03.2007, 20:13
Существует множество модели ведения проектов (не только софтверных). Так вот ХП привлекательно для руководства тем, что одно из главных правил гласит "создай мимнимум функционала и чтобы он работал" а остальное будет разрабатываться на основе обратной связи с заказчиком. То есть проект ведёттся посредством маленьких, логически завершенных итераций. Для тех, кто побывал в кошмаре больших проектов это очень комфортная схема как с точки зрения исполнения так и со стороны контроля.
А вообще советую прочитать Кента Бека,тогда и дискусс войдёт в конструктивное русло . Убедительная и доходчивая книга.

GeorgeoUz
28.03.2007, 11:39
Одно из самых доходчивых объяснений понятия "экстрим программинга":
- http://www.xakep.ru/post/28962/default.asp
Ресурсы Википедии:
- http://ru.wikipedia.org/wiki/Экстремальное_программирование
- http://en.wikipedia.org/wiki/Extreme_programming
Полезные ссылки:
- http://exprogramming.ru/
Сайт, где можно скачать книгу Кента Бека "Экстремальное программирование":
- http://win-web.ru/itbooks/open/extr_programmirovanie.html