Bioinformatics Software Engineering: Создание эффективных приложений будет полезна всем, кто хочет понять, как можно разрабатывать успешное программное обеспечение в быстро меняющихся условиях. Это скорее справочник, чем учебник, не привязанный ни к какой конкретной операционной системе, платформе, языку или методологии. Вместо этого он сосредоточен на принципах и практиках, которые доказали свою эффективность в реальном мире. Он прагматичен, подчеркивая важность того, что автор называет Адаптивным Программированием – делать то, что работает в вашей ситуации, и он краток, охватывая весь жизненный цикл разработки ПО в одном томе. На каждом этапе описываются распространенные ловушки, объясняется, как их можно избежать, и предлагаются простые методы, облегчающие создание лучших решений.

«Хорошо продуманная... затрагивает многие ключевые вопросы, с которыми сталкиваются разработчики биоинформатического программного обеспечения» (Саймон Дир, директор, технологии и разработки Великобритании, биоинформатическая инженерия и интеграция, генетические исследования, GlaxoSmithKline).

Вот несколько примеров из самой книги.

О разработке ПО: «Правильная разработка ПО подразумевает общение с людьми, часто со многими людьми, и много работы с вашей стороны, не связанной с кодированием. Это требует способности придумывать новые решения для настолько сложных проблем, что их трудно описать».

От описания к спецификации: «Ищите глаголы - действия, такие как "делает", "есть" и "просматривает". Определите существительные - имена, например "пользователь", "дом" и "последовательность". Перечислите прилагательные - описательные слова, например, "быстрый", "простой" или "точный". Глаголы - это функции, которые должно обеспечивать ваше приложение. Существительные определяют параметры для этих функций, а прилагательные уточняют условия ограничений, при которых должна работать ваша программа».

О том, как начать писать ПО: «Обрабатывайте ошибки. Принимайте данные. Показывайте вывод. Приступайте!»

О тестировании: «Физически может быть невозможно протестировать каждую потенциальную комбинацию ситуаций, которые могут возникнуть при взаимодействии пользователей с программой. Но одно, что можно сделать - это протестировать приложение на согласованных пределах его возможностей: максимальное количество одновременных пользователей, минимальная системная конфигурация, на которой оно должно работать, минимальная скорость связи, с которой оно должно справляться, и наиболее сложные операции, которые оно должно выполнять. Если ваша программа может справиться с условиями на границе диапазона своих возможностей, то менее вероятно, что у нее возникнут трудности в менее сложных ситуациях».

О показе ранних версий ПО пользователям: «Может быть сложно объяснить процесс разработки ПО людям, не знакомым с ним. Код, который для вас почти завершен, для них просто не работает, и видеть их мечту в обломках на верстаке может разочаровать клиентов, особенно когда они ожидали, что смогут испытать его».

Об ошибках: «Если ваши пользователи найдут действительно воспроизводимую ошибку в рабочем коде, извинитесь, быстро исправьте ее, а затем исправьте систему, которая ее пропустила. И расскажите своим клиентам, что вы делаете и почему, чтобы они были уверены, что это не повторится. Все ошибаются. Не повторяйте дважды одни и те же ошибки».

И последняя мысль об успешной разработке ПО: «Вы должны быть детективом, прослеживая улики и изучая доказательства, чтобы выяснить, что пошло не так и почему. И вы должны быть политиком, умеющим убеждать людей принимать компромиссные решения в сложных ситуациях».

Bioinformatics Software Engineering: Developing Effective Applications будет полезен всем, кто хочет понимать, как успешно разрабатывать программное обеспечение в быстро меняющейся среде. В отличии от учебника, данная книга не привязана к какой-либо операционной системе, платформе, языку или методологии. Вместо этого она фокусируется на принципах и практиках, которые уже были проверены на практике. Книга является прагматичной и подчеркивает важность адаптивного программирования, что означает делать то, что работает в вашей ситуации, и сжатой, так как книга охватывает весь жизненный цикл разработки программного обеспечения в одном томе. На каждой стадии она описывает распространенные ловушки, объясняет, как их избежать, и предлагает простые методы, которые облегчают создание лучших решений. «Хорошо продуманный... рассматривает многие из ключевых проблем, с которыми сталкиваются разработчики биоинформатичекого программного обеспечения». (Саймон Дир, директор, Великобритания, Технологии, Разработка, Инженерия Биоинформатики, Исследования в области Генетики, ГлаксоСмитКляйн). Приведем примеры, взятые из самой книги. О разработке программного обеспечения: «Разработка программного обеспечения включает в себя разговоры с людьми - часто с большим количеством людей, - и много не связанной с кодом работы. Она требует возможности выдумывать новые решения проблем, которые настолько сложны, что их сложно описать». Описание для спецификации: «Ищите глаголы — глаголы действия, такие как "делает", "является" и "отображает". Определите существительные — имена существительные, например "пользователь", "дом" и "последовательность". Перечислите прилагательные — слова, описывающие свойства, такие как «быстрый», «простой» или «точный». Глаголы - это функции, которые должны быть представлены вашим приложением. Существительные определяют параметры этих функций, а прилагательные определяют ограничительные условия, при которых ваша программа должна работать». О том, как начать писать программное обеспечение: «Обрабатывайте ошибки. Принимайте данные. Показывайте результат. Действуйте!». О тестировании: «Физически невозможно протестировать каждую потенциальную комбинацию условий, которые могут возникнуть в результате взаимодействия пользователей с программой.

Электронная Книга «Bioinformatics Software Engineering» написана автором Группа авторов в году.

Минимальный возраст читателя: 0

Язык: Английский

ISBN: 9780470858349


Описание книги от Группа авторов

Bioinformatics Software Engineering: Delivering Effective Applications will be useful to anyone who wants to understand how successful software can be developed in a rapidly changing environment. A handbook, not a textbook, it is not tied to any particular operating system, platform, language, or methodology. Instead it focuses on principles and practices that have been proven in the real world. It is pragmatic, emphasizing the importance of what the author calls Adaptive Programming – doing what works in your situation, and it is concise, covering the whole software development lifecycle in one slim volume. At each stage, it describes common pitfalls, explains how these can be avoided, and suggests simple techniques which make it easier to deliver better solutions. «Well thought-out … addresses many of the key issues facing developers of bioinformatics software.» (Simon Dear, Director, UK Technology and Development, Bioinformatics Engineering and Integration, Genetics Research, GlaxoSmithKline) Here are some examples from the book itself. On software development: “Writing software properly involves talking to people – often lots of people – and plenty of non-coding work on your part. It requires the ability to dream up new solutions to problems so complicated that they are hard to describe.” From description to specification: “Look for verbs – action words, such as ‘does’, ‘is’ and ‘views’. Identify nouns – naming words, like ‘user’, ‘home’ and ‘sequence’. List the adjectives – describing words, for example ‘quick’, ‘simple’ or ‘precise’. The verbs are the functions that must be provided by your application. The nouns define the parameters to those functions, and the adjectives specify the constraint conditions under which your program must operate.” On how to start writing software: “Handle errors. Take in data. Show output. Get going!” On testing: “It may not be physically possible to test every potential combination of situations that could occur as users interact with a program. But one thing that can be done is to test an application at the agreed extremes of its capability: the maximum number of simultaneous users it has to support, the minimum system configuration it must run on, the lowest communication speed it must cope with, and the most complex operations it must perform. If your program can cope with conditions at the edge of its performance envelope, it is less likely to encounter difficulties in dealing with less challenging situations.” On showing early versions of software to users: “It can be hard explaining the software development process to people who are unfamiliar with it. Code that to you is nearly finished is simply not working to them, and seeing their dream in bits on the workbench can be disappointing to customers, especially when they were expecting to be able to take it for a test drive.” On bugs: “If your users find a genuinely reproducible bug in production code, apologize, fix it fast, and then fix the system that allowed it through. And tell your customers what you are doing, and why, so they will be confident that it will not happen again. Everybody makes mistakes. Don’t make the same ones twice.” And one last thought on successful software development: "You have to be a detective, following up clues and examining evidence to discover what has gone wrong and why. And you have to be a politician, underst

Жанры



Похожие книги

Информация о книге

  • Рейтинг Книги:
  • Автор: Группа авторов
  • Категория: Медицина
  • Тип: Электронная Книга
  • Язык: Английский
  • Издатель: John Wiley & Sons Limited
  • ISBN: 9780470858349