Основная категория специалистов, занятых разработкой программ — это программисты. Программисты неоднородны по уровню квалификации, а также по характеру своей деятельности. Наиболее часто программисты делятся на системных и прикладных.
Системный программист занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ, обеспечивающих реализацию функциональных задач.
Прикладной программист осуществляет разработку и отладку программ для решения функциональных задач.
Программист-аналитик анализирует и проектирует комплекс взаимосвязанных программ для реализации функций предметной области.
Постановщики задач участвуют в процессе создания программ на начальной стадии работ.
Администратор базы данных организует поддержку базы данных, если база данных является интегрированной, обеспечивает работу с данными многих приложений.
Конечный пользователь является основным потребителем программ, он относится к категории пользователей-непрограммистов. Конечный пользователь не является специалистом в области программирования, т.е. не владеет методами и технологией проектирования и создания программ, но имеет элементарные знания и навыки работы с вычислительной техникой. Такая квалификационная характеристика пользователя программного обеспечения в значительной степени влияет на спецификацию требований к создаваемым программам, интерфейсам, формам машинных документов, технологии решения задач на ЭВМ.
4 Роли в разработке программного обеспечения. Разработка профессиональных программ
Возможна эксплуатация программ квалифицированными программистами или специально обученными техническими работниками — операторами ЭВМ.
Взаимодействие специалистов различного вида, участвующих в разработке и эксплуатации программ, показано на рисунке 3.
Рисунок 3 — Схема взаимодействия специалистов, связанных с созданием и эксплуатацией программ.
Технологии коллективной разработки
Всё множество разработок в зависимости от количества участников и типов взаимоотношений между ними может быть сведено к триаде разработок:
- авторская разработка;
- коллективная разработка;
- общинная разработка.
Авторская разработка — принцип создания программных продуктов, при котором весь жизненный цикл разработки поддерживается одним — единственным человеком.
Общинная разработка характеризуется тремя основными факторами: децентрализованность разработки, разработка на базе открытых исходных текстов, большое количество внешних тестеров.
Децентрализованность разработки. Не существует ограничения на количество людей, принимающих участие в проекте. Как правило, разработки такого типа ведутся на базе сети Интернет и могут включать любого заинтересованного разработчика.
Разработка на базе открытых исходных текстов. По ним можно разобраться с сутью задачи и в любой момент подключиться к разработке.
Зачем нужны XML-схемы строителю???
Большое количество внешних тестеров (бета-тестирование) позволяет быстро обнаружить ошибки и проблемы в программе.
Источник: studfile.net
Категории специалистов по разработке и эксплуатации программ
Основная категория специалистов, занятых разработкой программ, — это программисты. Программисты неоднородны по уровню квалификации, а также по характеру своей деятельности. Наиболее часто программисты делятся на системных и прикладных.
Системный программист занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ, обеспечивающих реализацию функциональных задач.
Прикладной программист осуществляет разработку и отладку программ для решения функциональных задач.
В условиях создания больших по масштабам и функциям обработки программ появляется новая квалификация — программист — аналитик, который анализирует и проектирует комплекс взаимосвязанных программ для реализации функций предметной области.
В процессе создания программ на начальной стадии работ участвуют и специалисты- постановщики задач.
При работе в группе организационно выделяются следующие программисты.
Главный программист – осуществляет системный анализ задачи, разбивает ее на части, синтезирует программный продукт.
Библиотекарь – ведет документацию программного продукта, утверждает изменения и версии продукта.
Кодировщик – создает и отлаживает тексты программ на алгоритмических языках.
Тестер – планирует испытания и проверяет работоспособность продукта. Тестер проводит альфа-тестирование — проверку работоспособности программы силами группы разработчиков. Затем проводится бета-тестирование — проверку работоспособности заинтересованными пользователями.
Большинство информационных систем основано на работе с базами данных (БД). Если база данных является интегрированной, обеспечивающей работу с данными многих приложений, возникает проблема организационной поддержки базы данных, которая выполняется администратором базы данных.
В некоторых ситуациях прямой контакт с техникой невозможен или нежелателен. В этом случае помощь оказывает представитель технического персонала — оператор ЭВМ.
Основным потребителем программ служит конечный пользователь, который, как правило, относится к категории пользователей-непрограммистов. Конечный пользователь не является специалистом в области программирования, т. е. не владеет методами и технологией проектирования и создания программ, но имеет элементарные знания и навыки работы с вычислительной техникой.
» .~ ![]() ![]() ![]() ![]() |
I |
Качество программы
Каждая программа должна отвечать таким требованиям, как правильность, точность, совместимость, надежность, универсальность, защищенность, полезность, эффективность, проверяемость, адаптируемость, мобильность, дружественность.
Будем говорить, что программа является
— правильной, если она функционирует в соответствии с техническим заданием. Подразумевается, что техническое задание составлено в четкой форме, позволяющей однозначно судить о том, действительно ли программа отвечает перечисленным в нем требованиям;
— точной, если выдаваемые ею результаты имеют допустимые отклонения от аналогичных результатов, полученных с помощью идеальных математических зависимостей;
— совместимой, если она работает должным образом не только автономно, но и в составе программной системы;
— надежной, если она при всех условиях обеспечивает полную повторяемость результатов.
— универсальной, если она правильно работает при любых допустимых вариантах исходных данных. В ходе разработки программ должны предусматриваться специальные средства защиты от ввода неправильных исходных данных;
— защищенной, если она сохраняет работоспособность при возникновении сбоев. Это качество особенно важно для программ, предназначенных для решения задач в режиме реального времени. В подобных приложениях отказ оборудования может повлечь катастрофические последствия — например, аварию ракеты или ядерного реактора. Указанным свойством должны также обладать программы с большим временем выполнения, осуществляющие обработку постоянно хранимых файлов;
— полезной, если задача, которую она решает, представляет практическую ценность;
— эффективной, если объем требуемых для ее работы ресурсов не превышает допустимого предела;
— проверяемой, если ее качества могут быть продемонстрированы на практике. Здесь подразумевается возможность проверки таких свойств программы, как правильность и универсальность. Можно применить формальные математические методы, позволяющие установить, действительно ли программа удовлетворяет техническим условиям и выдает достаточно точные результаты. Однако существуют и неформальные способы оценки качества программ такие, как прогоны с остановами в контрольных точках, обсуждения результатов с заинтересованными пользователями и др.;
— адаптируемой, если она допускает быструю модификацию с целью приспособления к изменяющимся условиям функционирования;
— мобильной, если она независима от аппаратуры, операционной системы, сетевого окружения, специфики предметной области;
— дружественной, если она имеет удобный интерфейс для работы конечного пользователя, контекстно-зависимые подсказки, обучающую систему, подробную документацию и диагностику возникших ошибок.
Источник: megaobuchalka.ru
Взаимодействие специалистов при разработке и эксплуатации ПО
Постановщик задачи – определяет цели, назначение, требования и описание решаемой задачи, алгоритмы программ.
Системный программист — занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ, обеспечивающих реализацию функциональных задач.
Прикладной программист — выполняет разработку и отладку программ для решения функциональных задач АИС.
Программист–аналитик — осуществляет анализ и проектирует комплекс взаимосвязанных программ для реализации функций предметной области.
Администратор базы данных — поддерживает работу и целостность базы данных, обеспечивает работу многих приложений.
Конечный пользователь — основной потребитель прикладных программ в АИС (должен иметь элементарные знания и навыки работы с вычислительной техникой).
Особенности разработки программного обеспечения
1. Принципиальная невозможность исключения ошибок в программах.
В связи с тем, что задание на ПС обычно имеет неформальный характер, а также из-за неформализованности понятия ошибки в ПС, нельзя доказать формальными методами (математически) правильность ПС.
Нельзя показать правильность ПС и его тестированием: тестирование может лишь продемонстрировать наличие в ПС ошибки. Альтернативой правильного ПС является надежное ПС.
2. Отсутствие полной формализации задач и требований на начальных стадиях проектирования системы.
3. Принципиальная незавершаемостьПС: при использовании созданных программ в составе АИС неизбежно возникает необходимость их доработки, связанная либо с исправлением скрытых дефектов программ, не обнаруженных на этапе проверки, либо с модификациями программ по запросам пользователей.
4. На сопровождение ПО АС приходится значительная доля трудозатрат (по различным источникам, около 50 % или выше). Выполняются практически все виды работ, что и на первых четырех этапах разработки. Разница заключается лишь в том, что объектом проведения этих работ является уже готовая программа. При ее доработке может потребоваться внести изменения в эксплуатационную документацию, исходные тексты программ или другую программную документацию.
Усредненное распределение трудозатрат по этапам жизненного цикла ПО
(по различным проблемным областям и реально выполненным разработкам)
Этапы жизненного цикла | Трудозатраты (%) | Количество ошибок (%) | Обнаружение ошибок (%) | Затраты на устранение ошибок (%) |
Анализ требований | 8,6 | |||
Проектирование | 10,2 | 61-64 | ||
Программирование | 8,8 | 36-39 | ||
Отладка | 16,2 | |||
Внедрение и сопровождение | 56,2 | |||
Всего |
Трудозатраты на исправление ошибок первых этапов жизненного цикла ПО составляют основную часть трудозатрат на исправление всех ошибок, допущенных в процессе разработки ПО.
Единая система программной документации (ЕСПД) – определяется комплексом государственных стандартов (ГОСТ 19), устанавливающих правила разработки, оформления и обращения программ и программной документации. Некоторые из них разработаны около 20 лет назад, однако ещё применяются из-за отсутствия новых стандартов.
Требования ГОСТ, отраженные в ЕСПД, обеспечивают: унификацию программных изделий для взаимного обмена программами и применения ранее разработанных программ в новых разработках; снижение трудоемкости и повышение эффективности разработки, сопровождения, изготовления и эксплуатации программных изделий; автоматизацию изготовления и хранения программной документации.
0 — основные термины и определения в области ПО; условные знаки и правила описания алгоритмов и программ.
1 — виды программ и программных документов; стадии разработки; обозначения программ и программных документов.
2 — требования к содержанию и оформлению технического задания на создание программного средства.
3 — требования к содержанию и оформлению программы и методики испытаний программного средства.
4 — требования к содержанию и оформлению документа «Описание программы».
5 — требования к содержанию и оформлению описания применения программного средства; требования к содержанию и оформлению руководств системного программиста, программиста и оператора.
Источник: megalektsii.ru