ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.04.2024

Просмотров: 205

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

1 Основные принципы перегрузки операций

Запреты на перегрузку операций

3 Структуры

Доступ к элементам структур

Динамическое распределение памяти

Связанные списки

Очереди

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

4. Классы программных продуктов

1) Составление технического задания на программирование

2) Составление технического проекта

3) Создание рабочей документации (рабочего проекта)

4) Ввод в действие

1) Диалоговый режим

2) Графический интерфейс пользователя

9. Сети эвм и протоколы передачи информации:

10. Экспертные системы: архитектура, типы решаемых задач, методика построения, области применения. Различные подходы к построению систем ии.

11. Понятие модели данных. Иерархическая, сетевая, реляционная, объектная модель. Типы структур данных. Операции над данными. Ограничения целостности.

2.3. Иерархическая модель данных (имд)

12. Нормализация отношений. Нормальные формы. Запросы и операторы манипулирования данными. Язык запросов sql.

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

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

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

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

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

В условиях существования рынка программных продуктов важными характеристиками являются:1)стоимость; 2)количество продаж; 3)время нахождения на рынке;4)известность фирмы-разработчика и программы; 5)наличие программных продуктов аналогичного назначения.

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

. Методы защиты программных продуктов

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

Таким ключевым элементом могут быть:

  • дискета, на которой записан не подлежащий копированию ключ;

  • определенные характеристики аппаратуры компьютера;

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

Программные системы защиты от копирования программных продуктов:


  • идентифицируют среду, из которой будет запускаться программа;

  • устанавливают соответствие среды, из которой запущена программа, той, для которой разрешен санкционированный запуск;

  • вырабатывают реакцию на запуск из несанкционированной среды;

  • регистрируют санкционированное копирование;

  • противодействуют изучению алгоритмов и программ работы системы.

Для идентификации запускающих дискет применяются следующие методы:

  • нанесение повреждений на поверхность дискеты (т.н. "лазерная дыра"), которая с тру­дом может быть воспроизведена в несанкционированной копии дискеты;

  • нестандартное форматирование запускающей дискеты.

Идентификация среды компьютера обеспечивается за счет:

  • закрепления месторасположения программ на жестком магнитном диске (т.н. неперемещаемые программы);

  • привязки к номеру BIOS (расчет и запоминание с последующей проверкой при за­пуске контрольной суммы системы);

  • привязки к аппаратному ключу, вставляемому в порт ввода-вывода.

Правовые методы защиты программ включают:

1)патентную защиту(устанавливает приоритет в разработке и использовании нового подхода или метода, примененного при разработке программ, удостоверяет их ори­гинальность), 2)закон о производственных секретах (статус производственного секрета для программы ограничивает круг лиц, знакомых или допущенных к ее эксплуатации, а также определяет меру их ответствен­ности за разглашение секретов); 3)лицензионные соглашения и контракты (лицензионные соглашения распространяются на все аспекты правовой ох­раны программных продуктов, включая авторское право, патентную защиту, производст­венные секреты); 4)закон об авторском праве.


4. Классы программных продуктов

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

  • аппаратная часть автономных компьютеров и сетей ЭВМ;

  • функциональные задачи различных предметных областей;

  • технология разработки программ.

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

  • системное программное обеспечение;

  • пакеты прикладных программ;

  • инструментарий технологии программирования.

Системное программное обеспечение направлено:

  • на создание операционной среды функционирования других программ;

  • на обеспечение надежной и эффективной работы самого компьютера и вычислитель­ной сети;

  • на проведение диагностики и профилактики аппаратуры компьютера и вычислитель­ных сетей;

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

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

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

Системное программное обеспечение (System Software) — совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ.

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


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

Пакет прикладных программ (application program package) — комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.

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

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

8. Методология проектирования программных продуктов: классификация методов проектирования программных продуктов (структурное проектирование; информационное моделирование предметной области и связанных с ней приложений; объектно-ориентированное проектирование); этапы создания программных продуктов (составление технического задания на программирования; технический проект; рабочая документация (рабочий проект); ввод в действие); структура программных продуктов; проектирование интерфейса пользователя (диалоговый режим; графический интерфейс пользователя)

. Классификация методов проектирования программных продуктов

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

  • степень автоматизации проектных работ;

  • принятая методология процесса разработки.


По степени автоматизации проектирования алгоритмов и программ можно выделить:

  • методы традиционного (неавтоматизированного) проектирования;

  • методы автоматизированного проектирования (CASE-технология и ее элементы).

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

  • структурное проектирование программных продуктов;

В основе структурного проектирования лежит последовательная деком­позиция, целенаправленное структурирование на отдельные составляющие -60-е гг . Методы структурного проектирования представляют собой комплекс технических и организацион­ных принципов системного проектирования (нисходящее проектирование, кодирование и тестирование программ, модульное программирование и др. ).

В зависимости от объекта структурирования различают:

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

  • методы структурирования данных.

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

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

Структурный подход использует:

  • диаграммы потоков данных (информационно-технологические схемы;

  • интегрированную структуру данных предметной области (мифологическая модель, ER-диаграммы);

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

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

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

  • информационное моделирование предметной области и связанных с ней приложений;