دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 1st ed نویسندگان: Andrew Oram, Greg Wilson سری: ISBN (شابک) : 9780596808327, 0596808321 ناشر: O'Reilly سال نشر: 2011 تعداد صفحات: 601 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 5 مگابایت
در صورت تبدیل فایل کتاب Making software : what really works, and why we believe it به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب ساخت نرم افزار: آنچه واقعا کار می کند و چرا ما آن را باور داریم نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
ادعاهای زیادی در مورد اینکه چگونه ابزارها، فناوریها و شیوههای خاصی توسعه نرمافزار را بهبود میبخشند، مطرح میشود. اما کدام ادعاها قابل راستی آزمایی هستند و کدام یک خیال بافی هستند؟ در این کتاب، متفکران برجسته ای مانند استیو مک کانل، بری بوهم، و باربارا کیچنهام مقالاتی را ارائه می کنند که حقیقت را آشکار می کند و اسطوره های رایج در میان جامعه توسعه نرم افزار را آشکار می کند. بینش آنها ممکن است شما را شگفت زده کند. آیا واقعاً برخی از برنامه نویسان ده برابر بازدهی بیشتری نسبت به سایرین دارند؟ آیا نوشتن تست ها ابتدا به شما کمک می کند کد بهتری را سریعتر توسعه دهید؟ آیا معیارهای کد می توانند تعداد باگ های یک نرم افزار را پیش بینی کنند؟ آیا الگوهای طراحی واقعاً نرم افزار بهتری را ایجاد می کنند؟ شخصیت چه تاثیری بر برنامه نویسی زوجی دارد؟ چه چیزی بیشتر اهمیت دارد: افراد از نظر جغرافیایی چقدر از هم دور هستند یا در نمودار سازمانی چقدر از هم فاصله دارند؟ مشارکت کنندگان عبارتند از: خورخه آراندا تام بال ویکتور آر. باسیلی اندرو بگل کریستین برد بری بوهم مارسلو کاتالدو استیون کلارک جیسون کوهن رابرت دیلین مدلین دیپ هاکان اردوگموس مایکل گادفری مارک گوزدیال جو ای. هانای احمد ای. حسن اسرائیل هرایز کیم سباستین باربارا هرزیگ کوری کاپیتسر اندرو کو لوکاس لایمن استیو مک کانل تیم منزیس گیل مورفی ناچی ناگاپن توماس جی اوسترند دیوین پری ماریان پتر لوتز پرچلت راهول پرمراج فارست شول بث سیمون دیومیدیس اسپینلیس نیل توماس والتر تیچی بوراک تورهان الین جی ویلیام ویکرافت میشل. آندریاس زلر توماس زیمرمن
Many claims are made about how certain tools, technologies, and practices improve software development. But which claims are verifiable, and which are merely wishful thinking? In this book, leading thinkers such as Steve McConnell, Barry Boehm, and Barbara Kitchenham offer essays that uncover the truth and unmask myths commonly held among the software development community. Their insights may surprise you. Are some programmers really ten times more productive than others? Does writing tests first help you develop better code faster? Can code metrics predict the number of bugs in a piece of software? Do design patterns actually make better software? What effect does personality have on pair programming? What matters more: how far apart people are geographically, or how far apart they are in the org chart? Contributors include: Jorge Aranda Tom Ball Victor R. Basili Andrew Begel Christian Bird Barry Boehm Marcelo Cataldo Steven Clarke Jason Cohen Robert DeLine Madeline Diep Hakan Erdogmus Michael Godfrey Mark Guzdial Jo E. Hannay Ahmed E. Hassan Israel Herraiz Kim Sebastian Herzig Cory Kapser Barbara Kitchenham Andrew Ko Lucas Layman Steve McConnell Tim Menzies Gail Murphy Nachi Nagappan Thomas J. Ostrand Dewayne Perry Marian Petre Lutz Prechelt Rahul Premraj Forrest Shull Beth Simon Diomidis Spinellis Neil Thomas Walter Tichy Burak Turhan Elaine J. Weyuker Michele A. Whitecraft Laurie Williams Wendy M. Williams Andreas Zeller Thomas Zimmermann
Оглавление Предисловие.....17 Часть I. Общие принципы поиска и использования доказательств Глава 1. Задача сбора убедительных доказательств ................22 Тим Мензес, Форрест Шалл В начале .....22 Как обстоят дела сегодня ............23 Что может измениться .................26 Влияние контекста .....29 Взгляд в будущее .....30 Библиография......33 Глава 2. Достоверность, или Почему мы настаиваем на том, чтобы нас убедили ...................36 Лютц Прекелт, Мэриан Петр Как появляются доказательства в области технологии программирования ..........36 Достоверность и релевантность ...............38 Объединение доказательств ......42 Виды доказательств, их сильные и слабые стороны ..................44 Общество, культура, технология программирования и вы ......52 Благодарности .....53 Библиография......53 Глава 3. Что можно узнать из систематического обзора ..........55 Барбара Китченхэм Общие сведения о систематических обзорах ..........56 Достоинства и недостатки систематических обзоров ................59 Систематические обзоры в области технологий программирования .......................64 Гибкие методы .....66 Заключение ...........70 Библиография......71 Глава 4. Качественные методы в области технологий программирования ...................76 Эндрю Ко Что такое "качественные методы" ..........77 Чтение результатов качественных исследований .......................79 Применение качественных методов на практике ........................81 Обобщение результатов качественных исследований ..............83 О систематичности качественных методов .............84 Библиография......84 Глава 5. Уроки практического применения: становление метода QIP ..........85 Виктор Р. Базили Сложность исследований в области технологий программирования ......................85 Реалистичный подход к эмпирическим исследованиям ..........86 Лаборатория технологий программирования NASA: испытательная площадка для эмпирических исследований ...............87 QIP .....88 Заключение ...........95 Библиография......96 Глава 6. Личность, интеллект и опыт: влияние на разработку ........ 98 Джо Э. Ханней Как узнать хорошего программиста ........99 Индивид и среда.....114 Расширенная модель интеллекта ...........117 Заключение .........121 Библиография.........123 Глава 7. Почему так трудно научиться программировать ........130 Марк Гуздьял Действительно ли у студентов возникают трудности .............131 Группа Маккракена .....................132 Группа Листера .......133 Естественное понимание ..........134 Совершенствование инструментария и визуальное программирование ..............136 Роль контекстуализации ...........138 Заключение .........141 Библиография.........142 Глава 8. Кроме количества строк нужны ли дополнительные метрики сложности? ..............145 Исраэль Херрайц, Ахмед Э. Хассан Выбор продукта ......146 Метрики исходного кода...........147 Анализ выборки .....148 Статистический анализ .............153 Общий анализ .........153 Замечания по поводу статистической методологии ................159 Так нужны ли дополнительные метрики сложности ...............160 Библиография.........161 Часть II. Конкретные вопросы технологий программирования Глава 9. Автоматизированная система прогнозирования дефектов ...........164 Элейн Дж. Вьюкер, Томас Дж. Острэнд Распределение дефектов ...........164 Характеристики дефектных файлов .....168 Обзор модели прогнозирования ............169 Репликация и изменение модели прогнозирования ................171 Создание программы ..................176 Предупреждение ..........................177 Библиография.........180 Глава 10. Архитектурное планирование. Сколько и когда .......181 Барри Бем Изменяется ли стоимость внесения изменений на протяжении жизненного цикла проекта? ..................181 Сколько архитектурного планирования реально необходимо ............182 Так сколько архитектурного планирования реально необходимо .....198 Нужно ли проводить архитектурное планирование заранее ...............202 Выводы .................202 Библиография.........203 Глава 11. Следствие из закона Конвея ......... 206 Кристиан Берд Закон Конвея .....206 Координация, конгруэнтность и производительность ............208 Координация при разработке продуктов с открытым кодом ...............213 Заключение .........217 Библиография.........218 Глава 12. Насколько эффективна разработка через тестирование ................219 Бурак Турхан, Лукас Леймен, Мэделайн Дьеп, Хакан Эрдогму, Форрест Шалл Лекарство TDD - что это такое .............220 Сводка клинических испытаний TDD.....221 Выводы .................229 Благодарности ........230 Общая библиография ................230 Данные клинических испытаний TDD...................230 Глава 13. Почему в области компьютерных технологий так мало женщин? ..................233 Мишель А. Уайткрафт, Уэнди М. Уильямс Почему так мало женщин? .......234 А нужно ли? ........240 Заключение .........248 Библиография.........249 Глава 14. Два сравнения языков программирования ...............252 Лютц Прекелт Сражение языков .........................253 Plat_forms: культура и технологии веб-разработки ..................261 И что? ...................270 Библиография.........271 Глава 15. Войны качества. Открытый код против коммерческих продуктов .......273 Диомидис Спинеллис Великие сражения прошлого ..................274 Поле боя ...............275 В бой ......................279 Результаты и последствия ........300 Благодарности и сведения о личной заинтересованности .....305 Библиография.........305 Глава 16. Разговоры о программном коде ...........309 Роберт Делайн День из жизни программиста ..................309 О типичности поведения программистов ..............311 О чем разговор? ......312 Получение ответов на вопросы ...............312 Поиски логического обоснования .........314 Прерывания и многозадачность .............315 О чем спрашивают программисты.........315 Гибкие методологии лучше подходят для общения? ...............321 Программная модель общения ...............322 Библиография.........324 Глава 17. Парное программирование ........... 325 Лори Уильямс История парного программирования .......326 Распределенное парное программирование ..........334 Проблемы ............335 Выводы .................336 Благодарности ........336 Библиография.........337 Глава 18. Современное рецензирование кода ..........................343 Джейсон Коэн Здравый смысл .......343 Индивидуальное рецензирование кода ..................344 Динамика в группах ....................347 Заключение .........350 Библиография.........351 Глава 19. Общая мастерская или закрытые двери? .................352 Хорхе Аранда Закрытые двери ......352 Общая мастерская .......................355 Производственные процессы ..................358 И последнее... .....360 Библиография.........360 Глава 20. Выявление зависимостей и управление ими при глобальной разработке программного обеспечения ....... 362 Марсело Катальдо Почему возникают проблемы с координацией в GSD ............363 Зависимости и их социально-технический дуализм ...............364 От теории к практике .................375 Перспективные направления ..................379 Библиография.........382 Глава 21. Насколько эффективна модуляризация ...................385 Нейл Томас, Гейл Мерфи Системы ...............386 Что такое изменение ...................387 Что такое модуль .........................392 Результаты ..........394 Угрозы валидности ......................400 Заключение .........401 Библиография.........402 Глава 22. Доказательства в пользу паттернов проектирования ..... 404 Уолтер Тиши Примеры паттернов проектирования .......405 Почему паттерны проектирования могут работать ..................408 Выводы .................422 Заключение .........424 Благодарности ........425 Библиография.........425 Глава 23. Научно обоснованное прогнозирование сбоев .........427 Начьяппан Нагаппан, Томас Болл Введение ..............428 Покрытие кода ........429 Текучесть кода ........430 Сложность кода ......433 Зависимости кода ........................435 Организационные структуры ..................436 Интегрированный метод прогнозирования сбоев ....................438 Выводы .................443 Благодарности ........444 Библиография.........444 Глава 24. Искусство сбора сообщений об ошибках ..................447 Рахул Премрадж, Томас Циммерманн Хорошие и плохие сообщения об ошибках ...........447 Какими свойствами должно обладать хорошее сообщение об ошибке ..................448 Результаты опроса .......................451 Расхождения в представлениях об информации ......................454 Проблемы с сообщениями об ошибках ...................456 О полезности дублирующихся сообщений об ошибках .........458 Не все ошибки исправляются .................461 Заключение .........462 Благодарности ........463 Библиография.........463 Глава 25. Откуда берутся дефекты в программных продуктах ....... 465 Дьюэйн Перри Исследование дефектов в программных продуктах .................465 Контекст исследования .............467 Фаза 1: Общий опрос .................468 Фаза 2: Опрос по дефектам проектирования/программирования ..........................474 Дефекты интерфейса и дефекты реализации .......496 Чему следует верить в этих результатах .................498 Что мы узнали.........502 Благодарности ........504 Библиография.........504 Глава 26. Первые шаги профессионала: недавний выпускник в своем первом программном проекте ......................507 Эндрю Бегел, Бет Саймон Методология исследования .....509 Задача разработки программного продукта ..........513 Сильные и слабые стороны начинающих разработчиков ......517 Размышления .....520 Первые шаги .......520 Заблуждения, мешающие обучению .........522 О методологии преподавания .................523 Вовлечение в процесс изменений .....525 Библиография.........528 Глава 27. Анализ данных при сборе доказательств .................530 Ким Себастиан Херциг, Андреас Зеллер Что именно анализировать ......530 Планирование исследования .....531 Введение в анализ данных ........532 Что дальше? ........540 Благодарности ........541 Библиография.........541 Глава 28. Копирование кода как принципиальный подход .....544 Майкл Годфри, Кори Кэпсер Пример клонирования кода .....545 Обнаружение клонированного кода в программном продукте ...........546 Практика клонирования кода ............548 Наше исследование .......................553 Заключение .........556 Библиография.........557 Глава 29. Удобны ли ваши API? .............558 Стивен Кларк Почему важно изучать удобство использования API..............559 Первые попытки изучения удобства API ..............561 Если не получилось с первого раза .......564 Адаптация к разным стилям работы .....571 Заключение .........576 Библиография.........577 Глава 30. Что означает "10x", или Измерение различий в производительности труда программистов ...........578 Стив Макконнелл Различия в производительности труда программистов .........578 Проблемы измерения производительности труда программистов .........................580 Различия в производительности труда групп ......582 Библиография.........584