Системный анализ в разработке ПО
Разработка ПО начинается с системного анализа, в результате чего определяют как стоимость, так и сроки реализации проекта. В зависимости от сложности поставленной задачи, этот процесс может занимать до нескольких недель. Соответствующий специалист анализирует существующие системы, исследует проект на осуществимость, оценивает достоинства будущего программного продукта. Важно добавить, что это итеративный процесс, главная задач которого — определить весь комплекс целей и требований к разрабатываемому программному продукту.
Анализ требований и пожеланий заказчика начинают с получения заказа на новую разработку (либо на модификацию существующей), а заканчивают составлением документа, где разработка описывается в деталях.
На 1-м этапе проектирования ПО важно найти и понять, что на самом деле желает пользователь. Нередко это совсем непросто сделать, ведь даже пользователь не всегда представляет, что же он хочет получит в действительности.
К сожалению, первые ошибки в программном продукте появляются как раз тогда, когда определяют требования и цели к продукту. Причина — неверное понимание потребностей пользователя. Когда цели и требования трансформируются во внешние спецификации (в документ), появляются и остальные ошибки.
Если требования определены некачественно, это станет причиной разработки программного продукта, который станет пусть даже и правильно решать задачу, но делать это он будет в отношении задачи, которая сама по себе сформулирована неверно. Как известно, если «написано что-нибудь не то», то и реализовано будет «что-нибудь не то», то есть продукт не будет отвечать истинным потребностям заказчика.
Именно поэтому очень важно в процессе определения требований подходить к вопросу максимально точно и аккуратно, дабы компания-разработчик ПО имела возможность трансформировать эти требования в проект наиболее эффективно, то есть с минимальным количеством ошибок.
Требования к программному изделию обычно задаются на естественном языке и, разумеется, эти требования должны быть сформулированы предельно точно. Как правило, речь идет о некоем своде законов, на котором основываются все дальнейшие решения по разработке ПО. Если речь идет о средних либо крупных системах, требования должны разрабатываться небольшой группой.
Результат системного анализа — ясное понимание того: 1) что требует пользователь; 2) что хочет пользователь.
Между этими двумя пунктами существует тонкое и немаловажное различие. Как правило, во время дискуссии требования озвучиваются ясно и четко, однако много чего важного может «остаться за кадром». Так происходит не потому, что кто-то что-то скрывает, а потому, что какие-то вещи подсознательно считаются очевидными и не требующими специального выделения. Практика показывает, что если на стадии системного анализа было предъявлено минимум требований, разработка проекта выполняется, по сути, на рассмотрение производителя ПО. И что же в итоге? Потом появляются возмущения и претензии, что конечный продукт не соответствует ожидаемым результатам, функционирует некорректно, а значит, требует переделки.
По материалам: http://tehprog.ru/index.php.html.