icon-star icon-cart icon-close icon-heart icon-info icon-pause icon-play icon-podcast icon-question icon-refresh icon-tile icon-users icon-user icon-search icon-lock icon-comment icon-like icon-not-like icon-plus article-placeholder article-plus-notepad article-star man-404 icon-danger icon-checked icon-article-edit icon-pen icon-fb icon-vk icon-tw icon-google
Евгений Багдерин
Дизайн

Что такое проектирование программного обеспечения?

  • 1563
  • 2

Что такое проектирование программного обеспечения?

Н
На уровне «железа» компьютеры по быстродействию уже давно превосходят разум человека. Но любые системы с искусственным интеллектом безжизненны до тех пор, пока в них не вдохнет жизнь программист. Только программное обеспечение делает полезными это нагромождение чипов, кристаллов памяти, микросхем и прочих радиоэлементов.

С нарастающим проникновением информационных технологий во все сферы человеческой деятельности, создание программного обеспечения, перестало быть уделом талантливых одиночек. Масштабные проекты требуют коллективной работы высококвалифицированных специалистов. Программирование и обслуживание информационных систем постепенно превращается в самостоятельную отрасль экономики со всеми, присущими для неё атрибутами.

Практически любая созидательная деятельность содержит в себе обязательные элементы:

1)Идея, задача, замысел, поиски решения;

2)Проект, модель, планы и схемы;

3)Создание объекта, персонал, технология, средства;

4)Контроль, тестирование, доработка и передача заказчику;

5)Сопровождение.

Эрик Дж. Брауде в классическом руководстве по технологии разработки программного обеспечения, рассматривает все этапы создания программного продукта:

- изучение предметной области (взаимодействие с заказчиком), анализ технического задания

- проектирование, разработка проектной документации

- набор программного кода в соответствии с проектной документацией

- тестирование модулей и программы в целом, отладка

- внедрение

- сопровождение.

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

При проектировании используется графический язык визуализации, с помощью которого конструируются модели, диаграммы, таблицы, текстовые описания параметров, документация.

Классическим подходом к проектированию является использование языка UML 2.0 (Unified Modeling Language) - унифицированный язык моделирования, с помощью которого строится единая информационная модель. Архитекторы создают диаграммы, всего их в UML – 13. Это сложные математические модели, наглядно демонстрирующие сущности, процессы, связи и взаимодействие всех составных частей информационной системы. Проектировщики используют также различные CASE-средства, которые можно встретить на российском рынке программирования. Это Vantage Team Builder, S-Designor, ERwin+BPwin, Designer/2000; CASE.Аналитик, EasyCASE. Их также успешно используют при объектно-ориентированном проектировании, в частности, - создание графической модели из имеющегося программного кода (реверсивный инжиниринг).

CASE.Аналитик 1.1 единственное в настоящее время конкурентоспособное отечественное CASE-средство функционального моделирования, которое, наряду с прочими функциями, позволяет генерировать макеты документов в соответствии с требованиями ГОСТ 19.ХХХ и 34.ХХХ.

Все наработки проектировщиков передаются кодировщикам, которые по "готовым лекалам" создают "тело" программы и только после тестирования, отладки и внедрения своего детища, становится ясно насколько оно соответствует первоначальному замыслу.

UML нередко критикуется сообществом программистов за излишнюю избыточность и сложность, отдавая предпочтение кодированию. «The code is the design» («Код и есть проект») – так выразил свое отношение к UML Джек Ривс, автор одноименного пособия по проектированию. Вместо красивой графической модели лучше иметь хорошо сгенерированный код считает он. Некоторые заказчики требуют от специалистов, не имеющих достаточной подготовки, непременного использования языка UML при проектировании. Не случайно, многие программисты охотно осваивают CASE средства объектно-ориентированного программирования и различные компиляторы, которые нередко освобождают от рутины и экономят время.

Лет 10 назад, выполняя заказ небольшой компании, мне пришлось столкнуться с созданием модели реляционной базы данных. Использование Erwin 4.0, не только позволило мне сэкономить время и качественно подойти к процессу проектирования программы, но и создать удивительно жизнеспособное приложение, которое, не требуя особого сопровождения, работает по сей день.

И все таки, активное использование в проектировании программного обеспечения самых совершенных средств и инструментов никогда не заменит живого человеческого разума, с его необъяснимой интуицией, творческим началом, опытом, приобретенным в коллективной работе, сомнениях, ошибках, спорах и открытиях.

mas
Марк Блау

Проектирование - один из главных этапов разработки ПО. Ошибка здесь может привести если не к краху проекта, то к увеличению его стоимости точно.

mas
Евгений Багдерин

Как утверждала в 1995 году группа Standish, только примерно 16% программных проектов оказываются успешными, 53% испытывают трудности (то есть перерасходы финансовых средств, перерасход бюджета или недостатки в содержании) и 31% отменяются.

Более того, говорится, что среднестатистический программный проект завершается с 222% опозданием, 189% перерасходом бюджета и реализует только 61% от предусмотренных функций. Опыт показывает, что мало что изменилось с тех пор.

Неудачи стали нормой для информационной отрасли.

Вам необходимо или зарегистрироваться, чтобы оставлять комментарии
выбор читателя

Выбор читателя

16+