Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции инф / Modul3_1.doc
Скачиваний:
176
Добавлен:
23.02.2015
Размер:
559.1 Кб
Скачать

Программирование

Программирование (programming) теоретическая и практическая деятельность, связанная с созданием программ.

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

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

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

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

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

Наиболее известные технологии программирования – структурное программирование и объектно-ориентированное. Структурное программирование основано на модульной структуре программного продукта, т.е. программа разбивается на несколько составляющих (подпрограмм). Модуль – это самостоятельная часть программы, где объединены ресурсы, которые направлены на реализацию конкретной задачи. Объектно-ориентированное программирование - новое поколение технологий программирования, широко используемое в наше время. Эта технология объединяет не только данные, но и методы их обработки в логические сущности – объекты, которые, в свою очередь, имеют способность к наследованию характеристик других (одного или нескольких) объектов в своём классе и обеспечивают тем самым возможность неоднократного использования программного кода.

Специалисты, занятые разработкой и эксплуатацией программ

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

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

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

Кроме того, в условиях создания больших (по масштабам и функциям обработки) программ появляется новая квалификация – программист-аналитик (programmer-analyst), который анализирует и проектирует связи между программами в едином комплексе.

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

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

Взаимодействие специалистов различного вида, участвующих в разработке и эксплуатации программ, показано на рис.6.4.

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

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

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

Характеристика программного продукта

Все программы по характеру использования и категориям пользователей можно разделить на два класса – утилитарные программы и программные продукты.

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

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

С использованием глобальных телекоммуникаций появились также новые варианты распространения программных продуктов:

  • freeware – бесплатные программы, свободно распространяемые в сети, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;

  • shareware – некоммерческие (условно-бесплатные) программы, которые могут использоваться, как правило, бесплатно. При условии регулярного использования подобных бесплатных продуктов осуществляется взнос определенной суммы.

Ряд производителей используют OEM-программы (Original Equipment Manufacturer), т.е. встроенные программы, устанавливаемые на компьютеры или поставляемые вместе с вычислительной техникой.

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

Вопросы для самопроверки

  1. Как можно классифицировать программные продукты?

  2. Что входит в системное программное обеспечение?

  3. Роль и назначение операционной системы.

  4. По каким признакам классифицируют операционные системы?

  5. Какие современные операционные системы вы знаете?

  6. Приведите характеристику основных видов программных продуктов базового программного обеспечения.

  7. Приведите характеристику основных видов программных продуктов сервисного программного обеспечения.

  8. Дайте определение утилиты.

  9. Какие вирусы и антивирусные программы вы знаете?

  10. Что такое пакеты прикладных программ и как их можно классифицировать?

  11. Расскажите об инструментальной среде пользователя.

  12. Расскажите о проблемно-ориентированных ППП.

  13. Какие ППП можно считать офисными?

  14. Для чего нужны издательские системы?

  15. Что такое мультимедиа?

  16. Назовите виды инструментальных средств для разработки программных продуктов и дайте им краткую характеристику.

  17. Какие виды языков программирования вы знаете?

  18. Что входит в систему программирования?

Дайте определение CASE-технологии. Где она используется?

  1. Что такое программа, приложение?

  2. Что такое предметная область?

  3. В чем состоит постановка задачи?

  4. Что такое алгоритм решения задачи?

  5. Назовите основные свойства алгоритмов.

  6. Какие способы записи алгоритма вы знаете?

  7. Расскажите о правилах построения блок-схем.

  8. Поясните типовые структуры алгоритмов. Приведите примеры.

  9. Что такое программирование, технология программирования?

  10. Какие технологии программирования вы знаете?

  11. Какие категории специалистов охвачены процессом подготовки программ?

  12. Каковы характеристики программного продукта?

28

Соседние файлы в папке Лекции инф