В Камаев - Технологии программирования
- Название:Технологии программирования
- Автор:
- Жанр:
- Издательство:Издательство «Высшая школа»
- Год:2006
- Город:Москва
- ISBN:5-06-004870-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
В Камаев - Технологии программирования краткое содержание
Второе издание (1-е — 2005 г.) дополнено главами по структуре данных и основам инженерии создания программ.
Для студентов вузов, обучающихся по направлению «Информатика».
Технологии программирования - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
В конце данного этапа, если была написана хорошая, легко понимаемая, неперегруженная и непустая функциональная спецификация, системный аналитик или техническая группа сможет перейти к следующему этапу — созданию технической спецификации, — основываясь на информации, полученной на всех предыдущих этапах.
12.9. ТЕХНИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
Техническое проектирование — это мост между функциональной спецификацией и фактической стадией кодирования. Часто команда разработчиков пытается сократить и объединить стадию разработки функциональной спецификации и техническое проектирование и разработать один документ. Это ошибка.
Во-первых, пользователь будет читать документ с большим количеством непонятных ему технических подробностей. В данном случае пользователь отбросит ваш документ, что может привести к недостаточной законченности упомянутого документа.
Во-вторых, если функциональная спецификация концентрирует внимание на требованиях и пожеланиях пользователя, то техническое проектирование должно ориентироваться на создание методов реализации данных требований. Только после того как обе эти фазы завершены и акценты расставлены, программист может приступать к непосредственному кодированию.
Когда обе эти стадии объединены, разработчик не может сконцентрироваться на каком-либо одном направлении мышления и в результате этого получается неясный и плохо отработанный документ. Или, что еще хуже, программист начинает реализовывать идею, которая еще не определена до конца пользователем.
Среда разработкипозволяет всем членам команды знать размещение всех файлов проекта, библиотек, документов и другой связанной с проектом информации. Она должна быть создана таким образом, чтобы все члены команды разработчиков с минимальными затратами времени могли обратиться к любой информации, относящейся к проекту.
Создание временной диаграммы проекта является важнейшим этапом работ, на котором необходимо составить детальное расписание сроков начала и окончания разработки каждого модуля, частей проекта и всего проекта в целом. Необходимо учитывать время, затрачиваемое на дополнительные контакты с заказчиком, разработку специфических инструментальных средств, а также возможные проблемы, связанные с непредвиденными обстоятельствами (например, болезнь сотрудника или частичная потеря данных вследствие сбоев аппаратного обеспечения).
12.10. РЕАЛИЗАЦИЯ
Обычно на этапе кодирования всплывают все неприятные проблемы, которые только можно себе представить. Чем больше проект, тем больше проблем. Вот почему первые три шага так важны.
Если все из вышеописанных шагов полностью пройдены, то реализация программы значительно упрощается. В идеале все потенциальные узлы и ловушки должны быть предусмотрены и обойдены. Техническая спецификация может и должна быть передана команде программистов, выполняющих непосредственное кодирование, чтобы они могли записывать код, согласно детализированному проекту задачи. Любые проблемы, возникающие на этом этапе, должны отслеживаться программистами и помещаться в относящиеся к проблеме документы, чтобы отражать все возникающие изменения.
Обзор кодаделается программистами — кодировщиками программ на специальной сессии (встрече). Как и на этапе обзора проекта, при обзоре кода "отлавливается" большое количество неточностей и ошибок, выявляются неоптимальные участки программы. Обзор кода позволяет также увидеть различным членам группы разработчиков фактический код, выполненный коллегами по проекту. Поскольку программирование является творческим процессом, то каждый член команды представляет видение одной и той же проблемы по-разному. Кто-то решает данный конкретный вопрос лучше, кто-то хуже. Обзор кода позволяет выявить хуже написанные участки программы и при необходимости переписать их, воспользовавшись советом более опытного члена команды. Также рассмотрение различных приемов, технологий и подходов к программированию позволяет воспользоваться ими для решения предстоящих проблем в последующих проектах. Особенно это полезно для новичков команды, хотя, как известно, "даже старую собаку можно научить новым трюкам".
12.11. СИСТЕМНОЕ ТЕСТИРОВАНИЕ
Стадия тестирования системы начинается, после того как большинство модулей системы уже завершены. Тестирование может состоять из трех отдельных фаз:
— системный тест, или лабораторные испытания;
— опытная эксплуатация;
— приемочный тест.
Альфа-тест (лабораторные испытания). Данная фаза тестирования преследует две цели. Во-первых, этот тест должен подтвердить, что все фрагменты правильно интегрированы в систему. Это позволяет группе тестирования начать полное тестирование всей системы. Обычно используется некоторая однородная технология тестирования для всех компонент системы, позволяющая определить соответствие всех частей определенным, заранее предусмотренным параметрам. Один из путей создания сценариев тестирования — создавать методы тестирования в процессе непосредственного кодирования.
Лабораторное тестирование — последняя возможность разработчиков исправить все обнаруженные ошибки, прежде чем система будет передана конечным пользователям. Бета-тестирование — не та стадия, на которой программисты хотели бы выявлять серьезные сбои разработанной системы, поэтому лабораторное тестирование должно проходить максимально полно. Если альфа-тестирование проведено некачественно, общий процесс тестирования может занять продолжительное время, так как исправление ошибок, выявленных на последующих стадиях тестирования, занимает значительно больше времени из-за невозможности исправления их "на лету". Любые обнаруженные проблемы должны протоколироваться, чтобы хронология проблем и их устранения была доступна при возникновении последующих вопросов о ранее существовавших проблемах.
Желательно, чтобы программное обеспечение не передавалось для опытной эксплуатации, пока все известные проблемы не будут решены. В действительности программное обеспечение часто выпускается для бета-тестирования с уже найденными, но еще не разрешенными проблемами в связи с нехваткой времени и окончанием сроков разработки проекта. Данное упущение приводит к значительным непредвиденным задержкам, связанным с трудностью последующего тестирования из-за наличия каких-либо ошибок или неточностей.
Бета-тестирование — это следующая фаза общего тестирования, при которой программное обеспечение поставляется ограниченному кругу конечных пользователей для более жесткого тестирования. Хорошо известно, что пользователи иногда используют программное обеспечение не совсем для тех целей, для которых оно предназначалось. Поэтому они часто могут находить ошибки в тех местах программы, над которыми в течение данного времени проводились лабораторные испытания, не нашедшие никаких нарушений. Это необходимо ожидать и не отрицать возможности возврата к предыдущей фазе — лабораторному тестированию. В данных случаях часто помогают протоколы обнаруженных и фиксированных ошибок.
Читать дальшеИнтервал:
Закладка: