
- •2. По сфере применения
- •2. Разработка пользовательского интерфейса
- •3. Разработка программы
- •4. Отладка
- •5. Внедрение
- •6. Трансляция и интерпретация программ
- •7. Среды и реализации языков программирования
- •9. Теория первичных программ
- •11. Представление алгоритма и псевдокод
- •12. Алгоритм последовательного поиска
- •13. Алгоритм двоичного поиска
- •14. Алгоритм сортировки методом вставки
- •15. Модульное программирование
- •2.1. Нижнюю половину можно одеть в два этапа:
- •2.2. Верхнюю половину можно также одеть в два этапа:
- •20. Принципы объектно-ориентированного программирования
- •5.9. Оптимизация
- •5.3. Ход тестирования
- •5.4. Автономное тестирование модулей программы
- •5.5. Методы тестирования
- •5.6. Аксиомы тестирования
- •5.7. Классификация тестов
1. Персональный компьютер, как известно, является универсальным устройством для обработки информации. Персональные компьютеры могут выполнять любые действия по обработке информации. Для этого необходимо составить для компьютера на понятном ему языке точную и подробную последовательность инструкций - программу, как надо обрабатывать информацию.
Меняя программы для компьютера, можно превратить его в рабочее место бухгалтера или конструктора, дизайнера или ученого, писателя или агронома. Кроме того, тенденция понижения стоимости компьютерной техники при одновременном росте ее производительности привела к тому, что компьютеры становятся предметом домашнего обихода, как, например, телевизор или холодильник, что расширяет сферу применения ПК еще больше. Соответственно, требуется все более разнообразное программное обеспечение для решения задач в новых областях применения ПК. Непрерывное повышение мощности персональных компьютеров, периферийных устройств, а также развитие средств связи дает разработчикам программного обеспечения все больше возможностей для максимально полного удовлетворения запросов конечных потребителей. Это и ставший стандартом графический интерфейс для любого ПО, и внедренные возможности для отправки документов и данных с помощью Интернет непосредственно из прикладной программы (Microsoft Word, Excel, Access и др.), и возможность использования компьютера как хранилища информации благодаря появлению новых видов накопителей большой емкости и малым временем доступа к данным, а также многие другие возможности и сервисные функции.
При своем выполнении программы могут использовать различные устройства для ввода и вывода данных, подобно тому, как человеческий мозг пользуется органами для получения и передачи информации. Сам по себе ПК не обладает знаниями ни в одной области своего применения, все эти знание сосредоточены в выполняемых на нем программах. Поэтому часто употребляемое выражение "компьютер сделал" означает ровно то, что на ПК была выполнена программа, которая позволила выполнить соответствующее действие.
В настоящее время весь комплекс ПО делится на системные и пользовательские программы. Системное программное обеспечение выполняет функции "организатора" всех частей ПК, а также подключенных к нему внешних устройств. Программы для пользователей служат для выполнения каких - либо конкретных задач во всех сферах человеческой деятельности.
Прикладное ПО представляет собой распространенный класс программных продуктов, представляющий наибольший интерес для пользователя.
Прикладное ПО предназначено для решения повседневных задач обработки информации:
создания документов, графических объектов, баз данных;
проведения расчетов;
ускорения процесса обучения;
проведения досуга.
Все эти программы пишутся по принципу максимального удобства для пользователя, обладают дружественным интерфейсом (средствами общения "компьютер-человек", "человек-компьютер"). В настоящее время эти программы требуют высокопроизводительных, обладающих большими ресурсами компьютеров, хотя каждый программист стремится сделать свою программу в первую очередь наиболее доступной.
Примеры прикладных программ:
средства управления базами данных, текстовые редакторы,
графические редакторы, электронные таблицы;
музыкальные редакторы
обучающие программы;
программы тестирования;
программы статистических расчетов;
компьютерные игры;
интегрированные пакеты;
телекоммуникационные и сетевые программы.
1. По типу
программные средства общего назначения
Текстовые редакторы
Текстовые процессоры
Системы компьютерной вёрстки
Графические редакторы
СУБД
Электронные таблицы
Веб-браузеры
программные средства развлекательного назначения
Медиаплееры
Компьютерные игры
программные средства специального назначения
Экспертные системы
Трансляторы
Мультимедиа-приложения (медиаплееры, программы для создания и редактирования видео, звука, text-to-speech и пр.)
Гипертекстовые системы (электронные словари, энциклопедии, справочные системы)
Системы управления содержимым
профессиональные программные средства
САПР
АРМ
АСУ
АСУ ТП
АСНИ
Геоинформационные системы
Биллинговые системы
CRM
CTRM/ETRM — системы управления складом
SRM (Supplier Relationship Management) — системы управления взаимоотношениями с поставщиками
BI (Business Intelligence) — аналитические системы
DMS (Document Management System) — СЭД (системы электронного документооборота)
CMS (Content Management System) — системы управления содержанием (контентом)
WMS (Warehouse Management System) — системы управления складом (СУС)
ERP-системы — системы планирования ресурсов предприятия
EAM-системы — системы управления основными фондами предприятия
MRM-системы — системы управления маркетинговыми ресурсами
MES-системы — системы оперативного (цехового) управления производством и ремонтами
Интеграционные шины данныx (ESB)
2. По сфере применения
Прикладное программное обеспечение предприятий и организаций. Например, финансовое управление, система отношений с потребителями, сеть поставок. К этому типу относится также ведомственное ПО предприятий малого бизнеса, а также ПО отдельных подразделений внутри большого предприятия. (Примеры: управление транспортными расходами, служба IT-поддержки)
Программное обеспечение, обеспечивающее доступ пользователя к устройствам компьютера.
Программное обеспечение инфраструктуры предприятия. Обеспечивает общие возможности для поддержки ПО предприятий. Это системы управления базами данных, серверы электронной почты, управление сетью и безопасностью.
Программное обеспечение информационного работника. Обслуживает потребности индивидуальных пользователей в создании и управлении информацией. Это, как правило, управление временем, ресурсами, документацией, например, текстовые редакторы, электронные таблицы, программы-клиенты для электронной почты и блогов, персональные информационные системы и медиаредакторы.
Программное обеспечение для доступа к контенту. Используется для доступа к тем или иным программам или ресурсам без их редактирования (однако может и включать функцию редактирования). Предназначено для групп или индивидуальных пользователей цифрового контента. Это, например, медиа-плееры, веб-браузеры, вспомогательные браузеры и др.
Образовательное программное обеспечение по содержанию близко к ПО для медиа и развлечений, однако в отличие от него имеет четкие требования по тестированию знаний пользователя и отслеживанию прогресса в изучении того или иного материала. Многие образовательные программы включают функции совместного пользования и многостороннего сотрудничества.
Имитационное программное обеспечение. Используется для симуляции физических или абстрактных систем в целях научных исследований, обучения или развлечения.
Инструментальные программные средства в области медиа. Обеспечивают потребности пользователей, которые производят печатные или электронные медиаресурсы для других потребителей, на коммерческой или образовательной основе. Это программы полиграфической обработки, верстки, обработки мультимедиа, редакторы HTML, редакторы цифровой анимации, цифрового звука и т. п.
Прикладные программы для проектирования и конструирования. Используются при разработке аппаратного и программного обеспечения. Охватывают автоматизированное проектирование (computer aided design — CAD), автоматизированный инжиниринг (computer aided engineering — CAE), редактирование и компилирование языков программирования, программы интегрированной среды разработки (Integrated Development Environments).
3. Жизненный цикл прикладной программы
Жизненный цикл создания и использования компьютерных программ отражает различные их состояния, начиная с момента возникновения необходимости в данном программном изделии и заканчивая моментом его полного выхода из употребления у всех пользователей. Традиционно выделяют следующие основные этапы жизненного цикла программного обеспечения:
анализ требований;
проектирование;
кодирование (программирование);
тестирование и отладка;
эксплуатация и сопровождение.
Особенностью разработки программного продукта является принятие решений на начальных этапах с их реализацией на последующих этапах. Ошибки в требованиях к программному продукту способны привести не только к потерям на этапах разработки и эксплуатации, но и к провалу проекта. Внесение изменений в спецификацию программного продукта чаще всего вызывает необходимость повторить все следующие этапы проектирования и создания программного продукта.
В коммерческом программном обеспечении жизненный цикл определяется моментом начала его продаж.
Разработчики стремятся сделать максимально возможным период жизненного цикла информационных продуктов и услуг. Для большинства современных компьютерных программ длительность жизненного цикла равна двум-трём годам, хотя встречаются программы, существующие десять и более лет.
Для увеличения этого периода необходимо постоянно осуществлять маркетинговые и иные мероприятия по их поддержке. Падение продаж и интереса к информационным продуктам и услугам является сигналом к: изменению программного продукта и услуг; изменению цены на них; проведению модификации или снятию с продажи и предоставления.
Модель жизненного цикла программного обеспечения - структура, содержащая процессы действия и задачи, которые осуществляются в ходе разработки, использования и сопровождения программного продукта.
Эти модели можно разделить на 3 основных группы:
инженерный подход;
с учетом специфики задачи;
современные технологии быстрой разработки. У каждой модели есть преимущества и недостатки.
5. Основные этапы разработки программного обеспечения:
1. Постановка задачи
Процесс создания нового ПО обязательно необходимо начинать с постановки задачи, в ходе которой определяются требования к программному продукту. Это один из наиболее важных этапов при создании ПО, так как от того, насколько полно, точно и ясно определены требования к разрабатываемому ПО, его функции и предполагаемые возможности, во многом зависит качество и стоимость разработки. Во время постановки задачи четко формулируется назначение разрабатываемого ПО и определяется список основных требований к нему. Каждое требование по сути есть описание необходимого заказчику свойства ПО. Выделяют основные функциональные требования, определяющие функции, которые будут выполнятся разрабатываемым ПО, и эксплуатационные требования, определяющие особенности его работы. Требования к программному обеспечению, для которого есть прототипы, обычно определяются по аналогии, с учетом характеристик и особенностей уже существующего ПО. Если аналогов для разрабатываемого ПО не существует, то для формулирования требований могут потребоваться специальные предпроектные исследования. В любом случае этап постановки задачи заканчивается принятием основных проектных решений и разработкой технического задания, фиксирующего принципиальные требования к разрабатываемому ПО.