Dale
|
|
« Ответ #30 : 25-11-2011 09:04 » |
|
Эрик Фримен, Элизабет Фримен. Паттерны проектирования. СПб.: Питер, 2012. ISBN 978-5-459-00435-9 Довольно подробное и богато иллюстрированное (как рисунками, так и примерами) руководство по основным паттернам проектирования. По правде говоря, паттернов могло бы быть и больше, рассмотрено лишь подмножество классического набора "банды четырех". Зато каждый паттерн разобран столь детально, что "белых пятен" в их понимании после внимательного прочтения книги остаться не должно. Кроме того, по ходу изложения авторы постоянно задают вопросы, поиск ответа на которые требует достаточно глубокого понимания предмета. Тем, кто еще не слишком уверенно себя чувствует в обращении с паттернами проектирования, эта книга определенно будет полезна.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #31 : 19-12-2011 13:18 » |
|
Гради Буч, Роберт А. Максимчук, Майкл У. Энгл, Бобби Дж. Янг, Джим Коналлен, Келли А. Хьюстон. Объектно-ориентированны анализ и проектирование с примерами приложений. Третье издание.М.: "Вильямс", 2010. ISBN: 978-5-8459-1401-9 Книга, ставшая одним из лучших учебников проектирования объектно-ориентированных программ, переиздается уже не первый год, причем с каждым годом, подобно старому вину, становится лишь лучше. Главный плюс последнего издания - подробное описание языка UML 2.0 с разбором новшеств, которые изрядно прибавили выразительности и без того мощному инструменту объектно-ориентированного моделирования. Некоторые из них (например, диаграммы синхронизации) представляют особый интерес при проектировании программно-аппаратных средств встроенных систем. Рекомендую ознакомиться с книгой даже тем, кто уже знаком с предыдущими изданиями и уверенно чувствует себя в обращении с предыдущими версиями UML. Тем же, кто до сих пор вовсе не знаком с этим инструментом, - читать обязательно.
|
OOA.jpg (11.54 Кб - загружено 8578 раз.)
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #32 : 28-12-2011 07:40 » |
|
Мартин Фаулер (при участииРебекки Парсонс). Предметно-ориентированные языки программирования.М.:"Вильямс", 2011. ISBN 978-5-8459-1738-6. Очередная книга из знаменитой серии "A Martin Fowler Signature Book", к тому же написанная собственноручно самим маэстро. Разумеется, обходить вниманием подобные книги не следует ни в коем случае. Тема разработки предметно-ориентированных языков и ориентированных на них инструментальных средств в литературе (особенно в русскоязычной) ранее толком не освещалась. Книга Фаулера заполняет этот пробел, причем практически полностью. Несмотря на небольшой объем (менее 500 страниц), она покрывает практически все аспекты данной темы с энциклопедической полнотой. Желательно, если вы приступите к чтению книги, заранее запасшись некоторым багажом знаний. Так, очень не повредит предварительное знакомство с теорией формальных языков и грамматик. Знакомство с инструментальными средствами типа yacc, lex, bison, ANTLR, а также с языками программирования C/C++, C#, Java, Ruby также существенно облегчит понимание многочисленных примеров. Чем владение материалом книги может помочь разработчику встроенных систем? В первую очередь, на мой взгляд, в разработке инструментария для функционального, системного и приемочного тестирования. Первые шаги в этом направлении уже делаются, но работы предстоит еще непочатый край.
|
DSL.jpeg (9.26 Кб - загружено 8582 раз.)
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #33 : 23-01-2012 10:29 » |
|
Simon D. An Embedded Software Primer.Addison-Wesley, 1999. ISBN 978-0201615692. Основная тема книги - разработка программного обеспечения встроенных систем с использованием операционных систем реального времени. Изложены как общие концепции, так и особенности их реализации в нескольких распространенных RTOS. Отдельная глава посвящена различным методам отладки (на инструментальной системе, симуляторе, внутрисхемном эмуляторе, целевой системе). Впрочем, тема отладки раскрыта весьма поверхностно, изучать ее лучше по другим источникам. В конце книги приведен пример реализации системы реального времени под управлением RTOS uC/OS на инструментальной системе, подводящий итог пройденному материалу. Хотя книга издана более 10 лет назад, не стоит относить ее к устаревшим. Рекомендую ее как вполне добротное учебное пособие для тех, кто желает познакомиться с системами реального времени и научиться применять их в своих разработках.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #34 : 30-01-2012 08:15 » |
|
Mike Loukides, Andy Oram. Programming With GNU Software.O'Reilly, 1996. ISBN 978-1565921122. Руководство для начинающих по использованию toolchain'а GCC. Исчерпывающим руководством его назвать, конечно, трудно, но в целом дает неплохое представление о предмете. К достоинствам книги следует отнести то, что авторы не просто переписывают список опций из соответствующего мануала, а довольно подробно показывают всю цепочку преобразований, которые исходный текст претерпевает на пути превращения в машинный код. Помимо компилятора, обзорно рассмотрены также другие инструменты GNU, используемые в процессе разработки: отладчик dbg, утилита сборки проектов make, профилировщик gprof, система управления версиями RCS. Включил эту книгу в свой обзор ввиду той важной роли, которую играет инструментарий GNU при разработке firmware. Написана книга довольно давно, но основные описанные в ней концепции с тех пор существенно не менялись.
|
GNU.jpg (22.82 Кб - загружено 8410 раз.)
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #35 : 25-04-2012 11:27 » |
|
Elecia White. Making Embedded Systems: Design Patterns for Great Software.O'Reilly, 2012. ISBN: 978-1-449-30214-6 Как неоднократно упоминалось ранее, великое множество книг по разработке встроенных систем не стоят той бумаги, на которой напечатаны (в особенности это касается русскоязычных изданий, среди которых практически нет исключений из этого неутешительного правила). Данная книга, к счастью, к категории хлама не относится. Более того, она заслуживает самой высокой оценки с первой до последней страницы. Несмотря на небольшой объем (чуть более 300 страниц), книга настолько насыщена полезной информацией, что может претендовать на роль энциклопедии разработчика. Охват тем просто поражает: от разработки архитектуры (причем это не привычные читателям общие слова вроде "хорошая архитектура лучше плохой", а вполне конкретные и конструктивные рекомендации с учетом современного состояния предмета) до деталей реализации, включая решение проблем отладки в реальном времени; не обойдены вниманием ни оптимизация кода (причем с весьма разумным подходом, что в данной области встречается не столь часто), ни основы численных методов (с учетом специфики ограниченных вычислительных ресурсов большинства встроенныхсистем), ни даже вопросы энергосбережения. Весьма любопытным дополнением к книге являются вопросы, которые автор обычно задает претендентам на получение работы в его компании. Многие из них нетривиальны и проверяют в первую очередь способность претендента самостоятельно мыслить и находить решения, а не запас вызубренных фактов. Настоятельно рекомендую всем разработчикам, кроме начинающих (поскольку изложения необходимых им азов в этой книге они не найдут). Все остальные непременно найдут в ней что-то полезное для себя, независимо от уровня.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #36 : 16-05-2012 12:38 » |
|
Ted Jensen. Tutorial on Pointers and Arrays in C.Version 1.2. Sept. 2003. URL: http://home.netcom.com/~tjensen/ptr/cpoint.htmЭта книга не может похвастать красочной обложкой, поскольку она не издавалась в бумажном виде. Зато она доступна всем желающим в нескольких форматах по ссылке, указанной выше. Как видно из названия, книга посвящена достаточно узкой теме указателей и массивов в языке C. Впрочем, именно эта тема обычно труднее всего дается изучающим язык, поэтому такая специализация вполне оправданна. Материал изложен последовательно, снабжен многочисленными выразительными примерами. Книга чрезвычайно полезна новичкам в языке C. Если вы не видите принципиальной разницы между char str[] = "ABC" и char* pstr = "ABC", а написание конструкций вроде "указатель на массив из десяти байт", "массив из десяти указателей на байт" или "массив из десяти указателей на функцию, возвращающую байт" вызывает путаницу, то данная книга поможет достичь уверенности, а это очень важно для "эмбеддера", поскольку невозможно технично программировать на языке C, не освоив тонкостей манипуляции с указателями.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #37 : 14-07-2012 00:16 » |
|
Miro Samek. Practical Statecharts in C/C++: Quantum Programming for Embedded Systems. CMP Books, 2002. ISBN: 1−57820−110−1 Одна из немногих книг, заставляющих в корне пересмотреть весь свой предшествующий опыт разработки приложений. Многие открытия происходят на стыке наук: человек приходит из другой области знаний, принося с собой определенный багаж, и видит проблему с другой стороны, с которой раньше никто не догадался заглянуть. В области программирования это явление тоже нередко встречается. Конечно, не всегда такое "вторжение" благотворно, особенно со стороны гуманитарных наук (и зачастую псевдонаук). Отличный пример - эссе гуманитария Аллена Голуба "Веревка достаточной длины, чтобы выстрелить себе в ногу", представляющее смесь банальностей и несуразностей в одном флаконе. К счастью, есть и другие примеры. До того, как заняться разработкой встроенных систем, Миро Самек вел научную работу в области квантовой механики и защитил докторскую диссертацию. Перейдя в новую для себя область, он обнаружил параллель между поведением иерархических конечных автоматов и процессами, описываемыми квантовой теорией поля. Результатом этого обобщения стала метафора "квантового программирования", развитию которой и посвящена данная книга. Должен заметить, что автор настолько часто прибегает к этой метафоре, что читателю, не знакомому с квантовой теорией поля хотя бы в общих чертах, возможно, будет не очень просто уследить за нитью рассуждений. (Впрочем, физико-математическое образование всегда было хорошим бонусом для занятия программированием, а в области встроенных систем - и подавно, так что особого секрета я здесь не открою). Автор неоднократно упоминает в ходе повествования, что ни одной принципиально новой концепции он не вводит, все было известно до него: конечные автоматы (в том числе иерархические), активные объекты, обмен сообщениями и т.п.; о квантовой теории поля и говорить излишне. Однако соединение этих концепций воедино дает мощный инструмент построения высокореактивных систем реального времени. Впрочем, пожалуй, он несколько поскромничал, поскольку некоторые описанные им паттерны, равно как и концепция "наследования поведения", образующая стержень квантового программирования, ранее мне не встречались, хотя я стараюсь быть в курсе публикаций на эту тему. Особую ценность книге придает то, что это не просто набор заумных концепций, не имеющих отношения к реальным нуждам программиста-практика. Самек воплотил эти идеи в виде фреймворка, который он так и назвал - "Quantum Framework". Этот фреймворк позволяет строить реактивные системы на языках C и C++ ценой относительно скромных усилий, не тратя время на реализацию инфраструктуры. Более того, автор любезно предоставляет этот фреймворк всем желающим бесплатно и с открытым кодом. Это не может не радовать, учитывая, что бесплатные продукты далеко не всегда сопровождаются столь исчерпывающим руководством по их использованию. Фреймворк находится на прилагаемом к книге диске; его также можно скачать на сайте автора http://www.state-machine.com . Рекомендую опытным разработчикам; для новичков, пожалуй, книга может оказаться тяжеловатой. Также книга может оказаться интересной и для разработчиков обычных, "больших" приложений (в частности, один из моих коллег заинтересовался переносом фреймфорка в среду .NET для реализации биллинговых приложений).
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
korkunov
Новенький
Offline
|
|
« Ответ #38 : 19-07-2012 20:09 » |
|
Hi. @TS Спасибо за работу и уважение к публике! Печально, что лит-ра не на родном, ну лан, главное, чтобы меньше воды. (Пока не читал, но, надеюсь, будет полезно)
Удачи!
|
|
|
Записан
|
|
|
|
Dale
|
|
« Ответ #39 : 19-07-2012 21:22 » |
|
Спасибо за работу и уважение к публике! И Вам спасибо на добром слове! Печально, что лит-ра не на родном Печально, но закономерно. Сначала перестали собственную продукцию выпускать, потом свернули элементную базу, теперь вот и нормальных книг по теме раздела на русском не найти - лишь несколько примитивных букварей. Ну да ничего, хотя бы на английском, а не китайском.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #40 : 26-08-2012 20:54 » |
|
Lisa Simone. If I Only Changed the Software, Why is the Phone on Fire?: Embedded Debugging Methods Revealed. Technical Mysteries for Engineers.Elsevier, 2007. ISBN: 978-0-7506-8218-3 Книга, адресованная разработчикам встроенных систем, написана в довольно необычном для данного жанра полухудожественном-полутехническом стиле. Она состоит из девяти глав, каждая из которых посвящена процессу поиска и исправления нетривиальной ошибки в одной из встроенных систем. В основе сюжета лежат реальные ошибки, сделанные в реальных проектах и попортившие немало крови разработчикам. Действие перенесено в стены некоей вымышленной компании, населенной вымышленными же сотрудниками с различными навыками и опытом. По ходу расследования каждого случая читателю предлагается ответить на ряд вопросов, при этом каждый правильный ответ приближает к разгадке причины ошибки. На основе приведенных подсказок внимательный читатель уже к середине каждого рассказа сможет понять, в чем кроется эта причина, а в конце главы - проверить правильность своих предварительных выводов. В конце каждой главы производится подробный "разбор полетов" и даются практические рекомендации по действиям в подобной ситуации (их подробно записывает в свой блокнот старательная девушка-стажер). Этот блокнот полностью опубликован в виде приложения в конце книги. На мой вкус, автор все же несколько переборщила с "художественностью": помимо описания объективных событий, она постоянно держит нас в курсе, какое у кого при этом было выражение лица, кто и в каком месте почесался и прочих не столь важных деталей. Также явно лишними, на мой взгляд, выглядят интрижки в коллективе (хотя, возможно, эти сведения пригодятся тем, кто намерен искать счастья в забугорных компаниях и хочет заранее получить представление о психологическом климате в них). Странноватым показался еще один аспект. Лиза Саймон является профессором Института технологии штата Нью-Джерси и преподает инженерные дисциплины инженерам-биомедикам. При этом на протяжении без малого трехсот страниц нет ни единого упоминания о модульном тестировании кода. В ходе повествования периодически появляются персонажи из отдела тестирования, но они тестируют готовую разработку как "черный ящик", и вполне логично, что почти все ошибки проявляются уже у клиента (либо на выставке, что еще хуже для престижа компании). При этом среди рассмотренных ошибок нет ни одной, которая ускользнула бы незамеченной от грамотно составленного набора модульных тестов. Есть направления программирования, где небрежное кодирование является стандартом де-факто , но медицинские системы к таковым уж никак не относятся. Это тем более странно, что книгу рекомендовал в своем блоге Jack Ganssle, которого в легкомысленном отношении к качеству никак не заподозришь. Итог: в целом книга уровня выше среднего, но от идеала все же достаточно далека. Рекомендую к прочтению профессионалам с учетом вышесказанных замечаний.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #41 : 29-08-2012 08:44 » |
|
Bruce Powel Douglass. Real Time UML: Advances in The UML for Real-Time Systems, Third Edition.Addison Wesley, 2004. ISBN: 0-321-16076-2 Брюс Дуглас вряд ли нуждается в представлении: он широко известен в кругах программной инженерии и своими трудами в рабочей группе OMG по применению UML в системах реального времени, и как один из создателей Rhapsody, и, наконец, как автор множества хороших технических книг. Данная книга - одна из их числа. Книга имеет немалый объем (около 750 страниц), но даже он едва вместил весь обширный материал. Здесь собраны воедино и довольно подробное описание нотации UML 2.0, и практика использования UML в процессе проектирования в среде Rhapsody (с многочисленными примерами). Особое внимание уделено, конечно же, специфике систем реального времени, которая не нашла отражения в UML 1.X. Недостатков в книге я не нашел, а достоинства можно перечислять бесконечно долго. Впрочем, лучше убедитесь в этом сами, ведь данная книга - не из тех, чтение которых можно считать потраченным впустую временем. Настоятельно рекомендую продвинутым разработчикам и архитекторам (причем не только систем реального времени).
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #42 : 25-10-2012 11:04 » |
|
Keith Curtis. Embedded Multitasking With Small Microcontrollers.Elsevier Inc., 2006 ISBN:978-0-7506-7918-3 Название книги подразумевает, что она просто обязана быть настольной для каждого разработчика встроенных систем. В данном случае обертка совершенно не соответствует содержимому. Книга откровенно слабая. Очень похоже на то, что автор пришел в embedded-мир из области электроники, как и многие другие, но так и не удосужился более-менее глубоко изучить программирование. Любительский подход виден буквально в каждом аспекте: тут и рекомендации по архивированию последовательных версий файлов проекта (похоже, автор не слышал о существовании систем управления версиями), и незамысловатый "водопадный" процесс проектирования (о гибких методиках также ни полслова), и чрезвычайно наивный подход к тестированию без использования каких бы то ни было инструментов и методик, и не менее наивные способы реализации конечных автоматов... Этот список можно продолжать долго. В принципе, с недостатком теории и методологии можно было бы смириться, если бы книга достаточно подробно рассказывала хотя бы об одной из многочисленных операционных систем реального времени. Увы, даже этого в ней нет. Пожалуй, я при всем желании не смогу подобрать категорию читателей, которым эта книга могла бы оказаться полезной. Профи в ней не найдут для себя совершенно ничего нового, а начинающие, если они достаточно легковерны, приобретут массу вредных привычек, от которых впоследствии придется избавляться. Поэтому рекомендую и тем, и другим не тратить на нее время.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #43 : 08-11-2012 07:51 » |
|
Kirk Zurell. C Programming for Embedded Systems. CMP Books, 2000 ISBN: 978-1929629046 Автор книги является сотрудником канадской компании Byte Craft Limited, которая производит довольно малоизвестный компилятор языка C для не слишком популярных ныне семейств микропроцессоров под названием ByteCraft. Этот факт оказал непосредственное влияние на содержимое книги, причем не слишком благоприятное. Изложенный в книге материал основывается на диалекте C, поддерживаемом данным компилятором. А поскольку этот диалект, прямо скажем, далековат от стандарта языка, а сам материал при этом довольно примитивен, то и ценность данной книги в целом, на мой взгляд, невелика. Признанный в embedded-кругах корифей Майкл Барр прокомментировал эту книг довольно мягко: Результат - книга, которая годится в качестве руководства пользователя компилятора ByteCraft, но не слишком подходящая для остальных". Джон Хекендорф высказался категоричнее: Увы, я считаю, что эта книга не пригодна для обучения ни на каком уровне. Мне остается лишь присоединиться к мнению Джона. Не могу порекомендовать эту книгу никому.
|
|
« Последнее редактирование: 02-04-2013 04:38 от Dale »
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #44 : 12-12-2012 05:34 » |
|
Adam Dunkels. Programming Memory-Constrained Networked Embedded Systems.Swedish Institute of Computer Science, Doctoral Thesis, SICS Dissertation Series 47, February 2007. Printed by Arkitektkopia, Vasteras, Sweden. ISSN 1101-1335 В основу данной книги легла докторская диссертация молодого, но уже весьма известного в области программной инженерии (особенно в части встроенных систем) ученого, старшего научного сотрудника Шведского института компьютерных наук Адама Данкелса (не ручаюсь за правильность транскрипции шведской фамилии). Данная диссертация, в отличие от многих других, написанных лишь для формального получения ученой степени, внесла действительно неоценимый практический вклад в embedded-инженерию. Среди наиболее известных продуктов Адама следует упомянуть концепцию протопотоков (protothreads), две компактных реализации стека протоколов TCP/IP для встроенных систем - uIP и lwIP, а также операционную систему реального времени Contiki, ориентированную на использование беспроводных датчиков с малым энергопотреблением. Работа получила высокую оценку: Адам был награжден премией Роджера Нидхема в 2008 году. Это неудивительно, поскольку выполнена она на высоком уровне. Автор приводит не только готовые решения, но и тщательный сравнительный анализ с аналогами. Те, кто намеревается воспользоваться плодами его трудов (а таких уже немало), получают не "кота в мешке", как это частенько бывает, а могут объективно оценить все плюсы и минусы своего выбора. Продукты, упомянутые в диссертации, являются открытым кодом и могут быть загружены с сайта автора для бесплатного использования. Рекомендую разработчикам уровней от среднего и выше.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #45 : 23-01-2013 08:20 » |
|
Tammy Noergaard. Embedded Systems Architecture. A Comprehensive Guide for Engineers and Programmers.Elsevier Inc., 2005. ISBN: 0-7506-7792-9 Автор попытался уместить в одной книге буквально все, что относится к миру встроенных систем: от физических основ электроники до системной инженерии со всеми промежуточными остановками. Здесь и цифровая схемотехника, и архитектура микропроцессоров, и объектно-ориентированный анализ, и чего только нет еще... Само собой, такой широкий охват при ограниченном объеме издания неизбежно выливается в малую глубину содержания. Впрочем, книгу нельзя считать совсем уж бесполезной. Хотя каждая из тем и не раскрыта на должном (для профессионала) уровне, тем не менее практически каждый аспект инженерии встроенных систем если и не обрисован в общих чертах, то хотя бы упомянут вскользь. Поэтому, если воспринимать ее не как учебник, а скорее как обзор учебного плана или перечень тем, подлежащих впоследствии достаточно глубокому изучению, она вполне способна принести определенную пользу своему читателю. По крайней мере, в дидактическом плане она явно полезнее большинства книг, в которых бессистемно чередуются фрагменты текста, вырванные из руководств производителей элементной базы, и примитивные примеры программ в несколько строк. Приятным сюрпризом явилось знакомство автора с современными "гибкими" технологиями разработки программного обеспечения, в частности, например, с Унифицированным процессом. В части тестирования и управления качеством, к сожалению, таких приятных сюрпризов не оказалось: общие фразы, традиционная путаница между тестированием и отладкой и т.д. В целом учебник потянет на твердую четверку. Рекомендую начинающим и "середнячкам", которые собрались подтянуть уровень до профи, но не знают, в каком направлении двигаться.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #46 : 01-04-2013 12:58 » |
|
Kim H. Pries, Jon M. Quigley. Testing complex and embedded systems.CRC Press, 2011. ISBN: 978-1-4398-2140-4 Несмотря на скромный объем (около 280страниц), в книге затронуто множество тем, относящихся к тестированию: от математического обоснования статистической достоверности результатов тестирования до этических аспектов взаимодействия команды тестировщиков с разработчиками и потребителями продукции. Зачастую широта охвата достигалась в ущерб глубине: многие темы действительно лишь слегка затронуты (особенно это касается глав, посвященных математической статистике) и потребуют от читателя изучения дополнительной специальной литературы. Это скорее обзорное введение в предмет, нежели учебное пособие. Следует отметить ряд достоинств книги. В первую очередь радует осведомленность авторов в части современных гибких методик проектирования ПО, что нашло отражение в итеративном подходе к тестированию. Интересен также обширный опыт авторов в таких областях, как разработки для автопрома, минобороны и др. Эти сведения не так легко найти в литературе, но они отнюдь не будут лишними для разработчиков встроенных систем. Наиболее существенным недостатком книги назову тяжелый для чтения стиль изложения. Несмотря на небольшой объем, я потратил на ее изучение около месяца довольно напряженного чтения.
|
TCES.jpg (22.46 Кб - загружено 7040 раз.)
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #47 : 01-12-2013 21:37 » |
|
Steve Berczuk, Brad Appleton. Software Configuration Management Patterns: Effective Teamwork, Practical Integration.Addison-Wesley, 2002. ISBN: 0201741172 Из всех дисциплин программной инженерии управление конфигурациями (Configuration Management, CM) освещено в литературе, пожалуй, хуже всех. При этом данная дисциплина играет важнейшую роль в ходе реализации проекта (причем не только программной его части). Упомянутая книга стала классикой CM, на нее ссылаются множество источников. Описанные в ней паттерны составляют золотой фонд CM и дают ответы на множество вопросов, возникающих при командной работе над проектом, части которого тесно взаимосвязанны. На примере собственного коллектива могу сказать, что внедрение этих паттернов в практику (после их подробного изучения на нескольких семинарах) здорово упростило и облегчило некоторые аспекты разработки. Впрочем, разработчику-одиночке многие из представленных паттернов тоже окажутся отнюдь не лишними. Хотя книга издана более десяти лет назад, она относится к категории тех книг, которые сохраняют актуальность очень долго (да и ощутимой конкуренции в данной теме, к сожалению, не наблюдается). Рекомендую профессионалам, которые добрались до уровня организации и совершенствования процессов.
|
BA.jpg (18.48 Кб - загружено 6535 раз.)
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #48 : 04-01-2014 22:47 » |
|
Michael McRoberts. Beginning Arduino.Apress, 2013. ISBN: 978-1-4302-5016-6 Книга написана любителем (в хорошем смысле слова) и поэтому будет понятна даже начинающим, желающим ознакомиться с миром микроконтроллеров, но не имевшим такой возможности до появления Arduino. Порог вхождения в предмет минимален (или, по крайней мере, показался мне таковым; пока не было возможности опробовать книгу на подопытном новичке). Даже навыки чтения принципиальных электрических схем на первых порах не потребуются, поскольку приведены подробные монтажные схемы с использованием беспаечных макетных плат и готовых модулей Arduino, которые легко доступны и весьма недороги. В то же время простота изложения - это не та простота из поговорки, которая "хуже воровства" и которой грешат многие из упомянутых в предыдущих рецензиях изданий. Автор приводит необходимый минимум знаний, чтобы можно было не только слепо копировать конструкции, но и понять, как и почему они работают. Разумеется, снобы, располагающие фирменными системами прототипирования и отладки встроенных систем за многие тысячи долларов, сочтут книгу наивной. Для тех же, кто ищет бюджетные средства разработки, она (в сочетании с самим Arduino) может оказаться полезной как минимум в качестве инструмента быстрого построения макета (не исключено, что и целевой системы). Материал мог бы также послужить неплохой базой для построения практикума для будущих инженеров-эмбеддеров. Рекомендую к прочтению всем, кто еще не читал и у кого при слове Arduino рука не тянется к пистолету.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #49 : 12-04-2014 20:56 » |
|
David Griffiths, Dawn Griffiths. Head First C. O'Reilly, 2012. ISBN: 978-1449399917 Подавляющее большинство учебников по языкам программирования (не только C) грешат одним существенным недостатком: изложенного в них материала недостаточно для того, чтобы после прочтения сразу приступить к написанию более-менее осмысленных программ. Как правило, оторванные от реальности примеры вроде "Hello World" иллюстрируют отдельные конструкции языка, но не способны выполнять полезную работу; для полезной же работы потребуется дополнительное изучение библиотек, утилит и прочего инструментария. Данная книга выгодно отличается в этом плане. Это не просто букварь с описанием основ языка. Книга изобилует, небольшими, но завершенными программами, иллюстрирующими различные аспекты программирования: обмен данными по сети через сокеты, создание процессов и потоков, синхронизация, работа с графикой, событиями и т. д. Их изучение и выполнение всех упражнений обеспечит хорошую базу для решения реальных задач. Читатель получит начальные представления о библиотеках POSIX и важнейших утилитах GNU. Рекомендую как изучающим язык C, так и преподавателям, которые нуждаются в современном учебнике.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #50 : 20-05-2014 06:26 » |
|
Gojko Adzic. Specification by Example. How successful teams deliver the right software.Manning Publications Co, 2011. ISBN: 978-1617290084 Эта книга считается классикой для изучения основ функционального тестирования. Автор, известный консультант в области качества программного обеспечения, обобщает опыт нескольких компаний, использующих ajile-технологии при производстве своих продуктов. Спектр деятельности этих компаний весьма широк, что дает автору возможность испытать практикой множество своих рекомендаций (а порой и пересмотреть выданные в более раних публикациях). Подробно рассматриваются наиболее сложные проблемы функционального тестирования: тестирование приложений с графическим интерфейсом, баланс (порой весьма тонкий) между полнотой тестирования и приемлемым временем выполнения тестов, отказ от "скриптового" подхода к тестированию. Даются рекомендации по активному вовлечению будущих пользователей продукта в процесс подготовки спецификаций. Наконец, приводятся рецепты по превращению тестов из технологических артефактов в полноценную документацию продукта. Рекомендую системным аналитикам, техническим лидерам команд разработчиков, профессиональным тестировщикам ПО, а также зрелым разработчикам, желающим освоить практическое применение спецификаций на основе примеров (SBE), "исполняемых спецификаций", разработки на основе спецификации поведения (BDD), функционального тестирования (в т.ч. регрессионного) и т.п. Также сильно подозреваю, что изложенные в книге идеи могут оказать немалую пользу специалистам других областей, кроме зазработки ПО, особенно смежных (в частности, в области разработки встроенных систем). Ведь программная инженерия на деле не настолько отличается от прочих "инженерий", как это часто принято считать.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #51 : 30-06-2014 11:57 » |
|
Jason Cohen. Best Kept Secrets of Peer Code Review: Modern Approach. Practical Advice.Smart Bear Inc., 2006. ISBN: 978-1599160672 Книга несколько напоминает предыдущую в том плане, что автор вместо абстрактных размышлений просто обобщает практический опыт нескольких успешных групп программистов, которые используют обзоры кода в своей деятельности. Поэтому книга изобилует конкретными примерами, а главное, - реальными цифрами. Это позволяет тем, кто только планирует внедрить обзоры кода в свои технологические процессы, лучше понять, каких результатов следует ожидать поначалу и к каким - стремиться в перспективе. Обзор кода - одно из наиболее старых и известных средств обеспечения качества программного обеспечения. Тем не менее оно и по сей день остается актуальным, поскольку обладает высокой эффективностью - позволяет обнаруживать большое количество дефектов продукта при относительно невысоких затратах. Приведено множество рецептов по организации обзоров кода, причем особую ценность им придает статистическая обоснованность (например, путем обобщения большого числа наблюдений автор рекомендует ограничения на количество кода, подлежащего ревизии за один раз, скорости инспекции кода и т.п.; попытка выйти за эти рамки, как правило, ведет к снижению эффективности). Даны рекомендации по организации сбора метрик, созданию списков проверки наиболее типичных ошибок и прочих простых, но эффективных приемов лучшей организации процесса. Отдельно оговорены возможности "саморевизии", когда автор, работающий в одиночку, сам пересматривает собственный код. Рекомендую книгу всем разработчикам, независимо от опыта работы и специализации. Каждый при желании найдет в ней что-то полезное.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #52 : 15-07-2014 13:00 » |
|
Brian Foote, Joseph Yoder . Big Ball of Mud.Technical Report #WUCS-97-34 (PLoP '97/EuroPLoP '97), September 1997. Это фрагмент 4-го тома трудов Конференции по языкам паттернов программирования, который авторы любезно опубликовали в виде свободно доступной электронной книги (желающие могут прочитать online либо скачать копию в желаемом формате здесь). Основной недостаток книги: она написана довольно живым языком, поэтому, если вы при чтении обычно привыкли лазить в словарь за каждым вторым словом, одолеть ее будет непросто - нырять придется гораздо чаще обычного. Основное достоинство: она написана довольно живым языком, поэтому, если ваш английский не хромает на обе ноги, помимо пользы получите еще и удовольствие от стиля. Текст довольно остроумен и к тому же снабжен прекрасно подобранными иллюстрациями. Тема публикации довольно тесно переплетается с ранее рассмотренной в обзоре книгой Физерса, но, несмотря на гораздо более скромный объем, не так сильно пересекается с ней, как я поначалу ожидал. Авторы рассматривают причины появления на свет "грязной" архитектуры и различные способы ее улучшения. Разумеется, все эти способы представлены в виде паттернов проектирования. В отличие от многих других авторов, Фут и Йодер не делают при виде "грязной" архитектуры брезгливую мину, держа программу двумя пальцами на вытянутой руке и оттопырив мизинец подальше. Напротив, они признают, что паттерн "Большой Комок Грязи" имеет право на жизнь в определенных ситуациях как вполне естественная временная стадия развития проекта. Но слово "временная" здесь ключевое - любимый многими принцип-самооправдание "зато работает" тут не принимается, и грязь постепенно удаляется из проекта, пока код не засияет чистотой. Рекомендую тем, кто придерживается золотой середины между эстетствующим снобизмом изначально идеальных проектов в вакууме и цинизмом сырой халтуры под девизом "пипл схавает".
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #53 : 07-08-2014 20:03 » |
|
David A. Black. The Well-Grounded Rubyist.Manning Publications Co, 2009. ISBN: 1933988657 Вполне достойный учебник языка программирования Ruby. Изучив его, вы вряд ли сразу станете экспертом Ruby, но необходимые базовые знания для понимания основных конструкций получите. Глубина погружения в материал как раз достаточна для того, чтобы опытный (т. е. хорошо владеющий навыками программирования на других языках) программист мог быстро освоить предмет. Рекомендую разработчикам, которым необходим мощный инструмент для автоматизации рутинных процессов жизненного цикла разработки. Пригодится книга и тем, кто хочет разобраться в уже имеющихся инструментах автоматизации (например, от разработчиков из Atomic Object) или даже усовершенствовать их.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #54 : 09-08-2014 21:02 » |
|
Гаврилов С.А. Полупроводниковые схемы. Секреты разработчика.2009. Постоянные посетители моего "книгоблога" наверняка заметили, что в нем довольно редко появляются книги наших соотечественников, а если и появляются, их содержимое еще реже оказывается достойным потраченного на их чтение времени. Я отнюдь не поклоняюсь западным авторитетам, это лишь объективное отражение нашей действительности (и, надо сказать, довольно печальное для меня отражение). Сегодня я рад представить достойное исключение - книгу, которая написана на очень приличном техническом уровне и не уступает классике жанра. Судьба книги поучительна и печальна - все потенциальные издатели от нее отказались, не увидев коммерческого интереса (еще одна черта времени - практически все, что не связано с изучением 1С, верстки веб-страничек и еще пары-тройки подобных "топовых" тем, оказывается за бортом). Автор, потративший на ее написание массу труда и вложивший в нее колоссальный накопленный опыт, совершил красивый поступок - оформил свое творение в виде бесплатной электронной книги и выложил в открытый для всех доступ. Низкий ему поклон за это. Обхем книги невелик, но она вмещает огромный объем знаний, большую часть которых трудно отыскать в популярных изданиях. Легким чтением ее никак не назовешь, тем более что на многие вопросы автор заставляет искать ответы самостоятельно. Однако сомневаюсь, что найдется так уж много инженеров (даже опытных), которые не найдут в ней ничего нового для себя. Автор весьма кропотлив в тонких деталях, в которые большинство предпочитают не вдаваться (и пренебрежение которыми может плачевно сказаться на практике). Охват тем достаточно широк - согласование каскадов многокаскадных схем, исследование устойчивости, предельные режимы схем и многое другое. При этом подход максимально практичен: минимум сложных выкладок, максимум понимания базовых процессов, разбор наиболее типичных ошибок, их исправление и доведение схемы до оптимума. Рекомендую специалистам-схемотехникам продвинутого уровня, которые давно переросли уровень классических букварей уровня Хоровиц/Хилл, Титце/Шенк, Фолкенберри и т. п. и интересуются более тонкими явлениями, которые могут встретиться в нетривиальных схемах. И напоследок - повторный респект автору, если он случайно прочтет эти строки.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #55 : 27-12-2014 19:09 » |
|
Clive Maxfield, John Bird, Tim Williams, Walt Kester, Dan Bensky. Electrical Engineering: Know It All. Elsevier, 2008. ISBN: 978-1-85617-528-9 Авторы попытались объять необъятное, поместив в одной книге практически все, что действительно необходимо знать об электронике инженеру (а иногда даже чуточку больше). И, как ни странно, у них это практически получилось. Книга почти самодостаточна: большинство тем начинается с самых азбучных азов, порой включая даже элементарную физику и решение дифференциальных уравнений, а заканчивается на уровне, вполне приличном для получения практических результатов. Охват тем также широчайший: основы электродинамики и теории цепей, цифровая и аналоговая схемотехника, слабосигнальная и силовая электроника, преобразования Лапласа и цифровая обработка сигналов, беспроводные сети, борьба с помехами и многое другое. Естественно, такая широта тем сказалась на объеме книги, он зашкаливает за тысячу страниц. Впрочем, время, затраченное на ее чтение, вряд ли окажется потраченным впустую, если вы не гуру 80-го уровня, знающий (и помнящий!) все эти темы назубок. Для всех, кто желает подтянуть уровень в области электроники.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #56 : 11-03-2015 13:13 » |
|
Дастин Босуэлл, Тревор Файчер. Читаемый код, или Программирование как искусство. Питер, 2012 ISBN: 978-5-459-01188-3 Тема книги весьма избита и при этом вечно актуальна: оформление кода таким образом, чтобы он был понятен не только автору (да и то в течение нескольких дней после его написания). В целом рекомендации вполне конструктивны и разумны (хотя не со всеми могу согласиться; в частности, авторы ратуют за прижившуюся в стенах Microsoft "венгерскую" нотацию, которую лишь с большой натяжкой можно отнести к хорошему стилю программирования). Разумное следование им действительно может повысить читаемость кода, а это немаловажно, особенно при работе в команде. Рекомендую всем, независимо от стажа.
|
RC.jpg (5.66 Кб - загружено 5565 раз.)
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #57 : 15-04-2015 11:28 » |
|
Jack Ganssle, Tammy Noergaard, Fred Eady, Lewin Edwards. Embedded Hardware: Know It All. Elsevier, 2008 ISBN: 978-0750685849 Книга входит в серию "Newnes Know It All". Серия ориентирована преимущественно на начинающих, но я рекомендую всем хотя бы бегло ее просмотреть, поскольку материал излагается на достаточно серьезном уровне. В частности, заслуживает внимания приложение, посвященное тонкостям разводки печатных плат для различных применений.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #58 : 26-04-2015 18:24 » |
|
Маркус Гэртнер. ATDD. Разработка программного обеспечения через приемочные тесты.ДМК Пресс, 2013. ISBN 978-5-94074-572-3 Аспект "гибких" технологий программирования, называемый "разработкой, управляемой тестированием" (TDD), безусловно, представляет собой большой шаг вперед по сравнению с хорошо известной не одно десятилетие, но готовящейся на честно заслуженный отдых "водопадной" моделью (и уж тем более весьма популярным в массах "творческим" подходом, который после очистки от демагогической шелухи оказывается попросту отсутствием какого бы то ни было систематического подхода). Очень кратко его суть можно сформулировать так: вначале на основе спецификаций пишутся модульные (unit) тесты, и лишь затем - продукционный код в минимальном количестве, позволяющем пройти весь набор заранее подготовленных тестов. Есть нюансы (например, некоторые радикальные течения полностью исключают отдельные спецификации, утверждая, что модульные тесты и являются теми самыми спецификациями), но в целом картина примерно такова. Разумеется, большая степень покрытия кода тестами, которая автоматически обеспечивается TDD, значительно повышает качество кода по многим показателям (как прямо, так и косвенно). Тем не менее у этого подхода есть весьма значительный изъян, обусловленный принципиально низкоуровневым характером модульного тестирования. Строго говоря, верификация функциональных спецификаций производится функциональными же тестами, а никак не модульными; то же относится и к валидации пользовательских требований, которая производится посредством приемочного тестирования. Поэтому остается значительный риск того, что программа, разработанная с применением TDD и полностью прошедшая модульное тестирование, окажется не вполне удовлетворяющей пользовательским требованиям. Напрашивается вполне логичный вывод: если наша цель - получить код, который без проблем пройдет приемочное тестирование, значит, разработка должна управляться приемочными тестами. Впрочем, это очень легко сказать, но далеко не так просто воплотить на практике. Данная книга посвящена именно этой теме: как методологической, так и инструментальной поддержке разработки ПО через приемочные тесты (ATDD). К явным достоинствам книги следует отнести то, что автор не склонен исповедовать "культ карго" и наглядно демонстрирует примат метода над инструментальными средствами, демонстрируя, как поставленная цель достигается в различных средах разработки. Внимательному читателю не должно составить труда применить изложенные идеи к избранному им набору инструментов. Должен заметить, что применение ATDD к разработке firmware+hardware может оказаться посложнее, чем для "большого" софта, и потребовать, помимо программных средств, еще и специализированного оборудования. Тем не менее в этом направлении однозначно следует двигаться (и, по моим сведениям, соответствующие инструменты уже на подходе и вскоре должны стать доступны).
|
ATDD.jpg (15.56 Кб - загружено 5450 раз.)
|
« Последнее редактирование: 26-04-2015 18:27 от Dale »
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #59 : 24-06-2015 14:39 » |
|
Bruce Powel Douglass. Design Patterns for Embedded Systems in C. An Embedded Software Engineering Toolkit. Elsevier, 2011. ISBN 978-1-85617-707-8 Книга посвящена актуальнейшей, но при этом практически нераскрытой теме: паттернам проектирования программного обеспечения встроенных систем. Некоторые из них похожи на уже знакомые нам из мира "большого" программирования паттерны; другие заточены под специфику встроенных систем и вряд ли имеют аналоги в других областях. Как и прочие книги Брюса Дугласа, эта подробно, детально и исчерпывающе полно описывает каждый из представленных паттернов (а их там боле двух десятков). И почему-то так же тяжело читается, хотя не могу понять почему: вроде бы придраться не к чему. Рекомендую продвинутым разработчикам, которые уже преодолели детские болезни развития, столь характерные для отрасли embedded, и успешно занимаются совершенствованием процессов.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
|