Традиционные технологии разработки программного обеспечения

Общая разница в технологиях разработки (например, проектирование баз данных, информационных систем, моделирования процессов) заключается между моделью (например, модель взаимоотношений объектов), такой как унифицированный язык проектирования (Unified Modeling Language, UML), и методологией разработки приложений. Относительно последнего, это вообще разница между проектированием «сверху вниз» (т.е. от общего уровня и идя вниз, насколько это необходимо) и проектированием «снизу вверх» (т.е. начиная от компонентов и постепенно обобщая по мере необходимости). Технологии основном используют одну, или как в случае UML — несколько моделей, с целью структурирования результатов различных этапов разработки. Во многом технологии для конкретной цели определяются собственно их преимуществами (полезностью) для поставленной задачи по сравнению с другими технологиями. Например, унифицированное проектирование использует UML, когда об соединяются несколько подходов (действия, компоненты, классы, процессы). Древнейшим подходом к разработке программного обеспечения является метод Waterfall, который был предложен Ройсом в 1970. Он основан на проектировании «сверху вниз» и начинается с анализа требований. Этот шаг (анализ требований) определяет пожелания и требования клиента, которые имеют большой вес, поскольку определяют последующие действия и шаги. Вследствие того, что известны конкретные требования, дальнейшее разработки программного обеспечения и подробное описание того, что планируется реализовать, приобретает конкретные измерений. Когда программная система взаимодействует с другими системами, особенно важным является то, что полностью удовлетворяются требования к интерфейсу и он будет стабильным, то есть обеспечивается нормальное взаимодействие системных компонент и, в случае необходимости, эффективные соответствующие изменения. Учитывая то, как спецификация трансформируется в викональну систему, архитектурой программного обеспечения определяют, как примерно будет выглядеть проектируемая система. К этому процессу относятся и определения уровней системы и технологические сценарии. Внедрение системы означает, что архитектура системы трансформируется в викональний код, в результате чего детализируются и реализуются такие системные подробности, которые не описываются архитектурой системы. После написания кода происходит тестирование системы. Начиная от тестирования отдельных компонент системы (таких, как отдельные классы, реализованные конкретному программистом), тестирование проходит весь путь до проверки общей работы всей системы в реальной среде. В таком процессе последний шаг рассматривается как завершение разработки системы и дальнейшие шаги гарантируют эффективную работу системы в реальной среде.

Надо заметить, что Ройс никогда не предлагал линейный постепенное движение по вышеуказанным шагами, а был уверен, что в этом процессе будут определенные циклы и возможность вернуться к предыдущим шагам в случае ошибок, противоречий или недостатков, которые непременно возникают в таком сложном процессе. Это приводит к итерационного процесса разработки программного обеспечения, где шаги, подобные представленным выше, повторяются. Известным итерационным процессом разработки является Unified Process (разработан Якобсоном в 1999 году), который, между прочим, нарушает последовательность шагов процесса, предлагая их параллельное выполнение. Ключевые моменты выполняют роль этих шагов, и таким образом эффективно разрабатывается программное обеспечение.

Читайте также:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.