Участвует в процессе создания программ на начальной стадии работ

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

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

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

В условиях создания больших по масштабам и функциям обработки программ появляется новая квалификация — программист — ана л ити к, который анализирует и проектирует комплекс взаимосвязанных программ для реализации функций предметной области.

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

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

Процесс разработки программного обеспечения

Главный программист – осуществляет системный анализ задачи, разбивает ее на части, синтезирует программный продукт.

Библиотекарь – ведет документацию программного продукта, утверждает изменения и версии продукта.

Кодировщик – создает и отлаживает тексты программ на алгоритмических языках.

Тестер – планирует испытания и проверяет работоспособность продукта. Тестер проводит альфа-тестирование — проверку работоспособности программы силами группы разработчиков. Затем проводится бета-тестирование — проверку работоспособности заинтересованными пользователями.

Большинство информационных систем основано на работе с базами данных (БД). Если база данных является интегрированной, обеспечивающей работу с данными многих приложений, возникает проблема организационной поддержки базы данных, которая выполняется администратором базы данных.

В некоторых ситуациях прямой контакт с техникой невозможен или нежелателен. В этом случае помощь оказывает представитель технического персонала — оператор ЭВМ.

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

«.~ 302 ГЛАВА 8. СОСТОЯНИЕ И ТЕНДЕНЦИИ РАЗВИТИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Возможна эксплуатация программ квалифицированными программистами или СIIeП8′ ально обученными техническими работниками — о пер а тор ам и Э В м Взаимодействие специалистов различного ВИДа, участвующих в разработке и ЭКСIL~ тации программ, показано на рис. 8.3. В ряде случаев один специалист совмеrэ?8! несколько 8ИДОВ деятельности. Администратор базы данных и системный программист г C~ щестВЛJIЮТ подготовку информационных и программно-технических УСЛОВИЙ для раЕ. программ. Пунктирные линии означают участие специалиста в качестве консультанта. . 1. Постановка задачи J . 4о _. «1 , ОПЕРАТОР ЭВМ ПРИКЛАДНОЙ ПРОГРАММИСТ Anroритмизация решения 38Дачи . . Проrpаммироаание . СИСТЕМНЫЙ ПРОГРАММИСТ Создание операционной среды выпonнения nporpaМII . «. Соэдание инфор­ мационной среды. выпonнения nporpaMU J Рис. 8.3. Схема взаимодействия специалистов, связанных с созданием и эксплуатацией проrpамм ХАРАКТЕРИСТИКА ПРОГРAММIIОГО ПРОДУКТА Все программы по характеру использования и категориям пользователей можно раздел~ на два класса (рис.8.4) — утилитарные программы и программные продукты (изделия). у т и л и т а р н ы е про гр ам мы («программы ДI1я себя») предназначены для уД08 летворения нужд их разработчиков. Чаще Всего утилитарные программы выполНJIЮТ PrUI сервиса в технологии обработки данных либо ЯВЛJIЮТСЯ программами решения функцио нальных задач, не предназначенных для широкого распространения. Программные продукты (изделия) предназначены для удовлетворения 00 требностей пользователей, широкого распространения и продажи. В настоящее время существуют и другие варианты легального распространения про граммных продуктов, которые появились с использованием глобальных или регионалl>’-:’,;,r: телекоммуникаций: Рис. 8.4. Классификация проrpамм по категориям пользователей ПРОfPАММЫ 😕 . .
Читайте также:
Сколько типов тестовых заданий поддерживает программа ispring quizmaker
I

7. Процесс разработки программного обеспечения

Качество программы

Каждая программа должна отвечать таким требованиям, как правильность, точность, совместимость, надежность, универсальность, защищенность, полезность, эффективность, проверяемость, адаптируемость, мобильность, дружественность.

Будем говорить, что программа является

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

— точной, если выдаваемые ею результаты имеют допустимые отклонения от аналогичных результатов, полученных с помощью идеальных математических зависимостей;

— совместимой, если она работает должным образом не только автономно, но и в составе программной системы;

— надежной, если она при всех условиях обеспечивает полную повторяемость результатов.

— универсальной, если она правильно работает при любых допустимых вариантах исходных данных. В ходе разработки программ должны предусматриваться специальные средства защиты от ввода неправильных исходных данных;

— защищенной, если она сохраняет работоспособность при возникновении сбоев. Это качество особенно важно для программ, предназначенных для решения задач в режиме реального времени. В подобных приложениях отказ оборудования может повлечь катастрофические последствия — например, аварию ракеты или ядерного реактора. Указанным свойством должны также обладать программы с большим временем выполнения, осуществляющие обработку постоянно хранимых файлов;

— полезной, если задача, которую она решает, представляет практическую ценность;

— эффективной, если объем требуемых для ее работы ресурсов не превышает допустимого предела;

— проверяемой, если ее качества могут быть продемонстрированы на практике. Здесь подразумевается возможность проверки таких свойств программы, как правильность и универсальность. Можно применить формальные математические методы, позволяющие установить, действительно ли программа удовлетворяет техническим условиям и выдает достаточно точные результаты. Однако существуют и неформальные способы оценки качества программ такие, как прогоны с остановами в контрольных точках, обсуждения результатов с заинтересованными пользователями и др.;

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

— мобильной, если она независима от аппаратуры, операционной системы, сетевого окружения, специфики предметной области;

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

Источник: cyberpedia.su

Раздел 4. Коллективная разработка по

Основная категория специалистов это программист (Programmer) они не однородны по уровню квалификации, а также характеру своей деятельности.

Программисты делятся на системных и прикладных

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

2. Прикладной программист (Application programmer) осуществляет разработку и отладку программ для решения функциональных задач. В условиях созданиях больших по масштабу и функциям обработки программ появляется квалификация – программист-аналитик (programmer -analyst) который анализирует и проектирует комплекс взаимосвязанных программ для реализации предметной области.

Читайте также:
Что такое программа трим

3. Системный программист (system/software programmer, tool smith) занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создания среды для выполнения программ обеспечивающих реализацию функциональных задач.

4. Администратор базы данных обеспечивает работу с данными многих приложений организует поддержку базы данных.

5. Возможна эксплуатация программ квалифицированным и программистами или специально обученными техническими работниками — оператор ЭВМ.

6. Основным потребителем служит конечный пользователь (end user) он не является специалистом в области программирования и может иметь элементарные навыки работы с ПК. Такая квалификационная характеристика пользователя ПП влияет на спецификацию требований к создаваемым программам, интерфейсам, формам машинных документов, технологии решения задач на ЭВМ.

Рисунок 1- Схема взаимодействия специалистов связанных с созданием

и эксплуатацией программ

Технологии коллективной разработки

Все множество разработок в зависимости от количества участников и типов взаимоотношений между ними может быть сведено к триаде разработок, приведенной на рис. 3.21.

Авторская разработка

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

Этот принцип был достаточно широко распространен в 70-80-е годы XX века. Сейчас он применяется редко [Кулаичев 1999]. Примерами авторских разработок являются операционная система Диспак (В.Ф. Тюрин), текстовый редактор Лексикон (Е. М. Веселов), трансляторы с языков Algol-68 (П.

Наур) и Pascal (H. Вирт).

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

Наиболее интересен принцип авторской разработки с точки зрения применения в области наукоемких приложений. Для таких приложений характерна необходимость многолетнего изучения предметной области, практически полное отсутствие начального финансирования проекта, малая рентабельность, определяемая узким кругом пользователей.

По данным А. П. Кулаичева [Кулаичев 1999], авторская разработка может выигрывать по производительности в тридцать и более раз у коллективной разработки, что достигается за счет:

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

· исключения работ по разбиению проекта на составляющие, по распределению их между исполнителями, по координации деятельности исполнителей и контролю за их работой.

Объем программного продукта, выполненного методом авторской разработки, в 5-20 раз меньше по сравнению с индустриальными аналогами.

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

Коллективная разработка

Одним из основных вопросов коллективной разработки является разделение труда — от равноправных соисполнителей до организации в виде жесткой иерархии (например, бригады главного программиста).

О первых опытах коллективных разработок. Известно, что первые коллективные разработки программ велись примерно так. Начальник выполнял разделение большого проекта на меньшие части и передавал далее по иерархии. Через некоторое время, теперь уже снизу вверх, шла сборка программы из написанных фрагментов. Собрать работающий программный продукт удавалось не всегда.

Технические командные роли

Читайте также:
Как убрать ярлык с рабочего стола не удаляя программу

Равноправные соисполнители

Бригада равноправных соисполнителей обычно состоит из специалистов, занимающихся примерно подобными задачами в рамках одного проекта. Естественно, специализаций в рамках одной бригады может быть несколько. В разд. 1.7.6.2 уже приводился примерный состав такой бригады разработчиков. Напомним его:

· инженеры-разработчики (специалисты по инженерии программирования и программисты);

· специалисты по сопровождению продукта;

· специалисты по продажам продукта.

o Специалист по инженерии программирования.

o Специалист по инженерии знаний.

· Работа с приложениями.

o Специалист по приложениям.

o Администратор данных.

o Администратор базы данных.

o Системный администратор.

o Сетевой администратор.

o Администратор коммуникаций,

· Обеспечение качества продукта.

o Технический писатель.

o Инженер тестирования.

o Инженер качества.

o Специалист по сопровождению продукта.

o Специалист по продажам продукта.

o Системный интегратор.

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

Источник: infopedia.su

1.3. Категории специалистов, занятых разработкой и эксплуатацией программ

Основная категория специалистов, занятых разработкой программ, – это программисты (programmer). Программисты неоднородны по уровню квалификации, а также по характеру своей деятельности. Наиболее часто программисты делятся на системных и прикладных.

  • Системный программист(system / software programmer, toolsmilh) занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ, обеспечивающих реализацию функциональных задач.
  • Прикладной программист(application programmer) осуществляет разработку и отладку программ для решения функциональных задач.

В условиях создания больших по масштабам и функциям обработки программ появляется новая квалификация – программист-аналитик(programmer-analyst), который анализирует и проектирует комплекс взаимосвязанных программ для реализации функций предметной области. В процессе создания программ на начальной стадии работ участвуют и специалисты конкретных прикладных отраслей – постановщики задач. Большинство информационных систем основано на работе с базами данных (БД). Если база данных является интегрированной, обеспечивающей работу с данными многих приложений, возникает проблема организационной поддержки базы данных, которая выполняетсяадминистратором базы данных. Основным потребителем программ служит конечный пользователь(end user), который, как правило, относится к категории пользователей-непрограммистов. Конечный пользователь не является специалистом в области программирования, т. е. не владеет методами и технологией проектирования и создания программ, но имеет элементарные знания и навыки работы с вычислительной техникой. Такая квалификационная характеристика пользователя программного обеспечения в значительной степени влияет на спецификацию требований к создаваемым программам, интерфейсам, формам машинных документов, технологии решения задач на ЭВМ. Возможна эксплуатация программ квалифицированными программистами или специально обученными техническими работниками – операторами ЭВМ. Взаимодействие специалистов различного вида, участвующих в разработке и эксплуатации программ, показано на рис. В ряде случаев один специалист совмещает несколько видов деятельности. Администратор базы данных и системный программист осуществляют подготовку информационных и программно-технических условий для работы программ. Пунктирные линии означают участие специалиста в качестве консультанта. Р и с. Схема взаимодействия специалистов, связанных с созданием и эксплуатацией программ.

2. Жизненный цикл программного обеспечения

2.1 Основные этапы жизненного цикла и их взаимосвязь

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru