Лекция: Определение технологии конструирования программного обеспечения


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

Различают методы, средства и процедуры ТКПО.

Методы обеспечивают решение следующих задач:

— планирование и оценка проекта;

— анализ системных и программных требований;

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

— кодирование;

— тестирование;

— сопровождение.

Средства (утилиты) ТКПО обеспечивают автоматизированную или автоматическую поддержку методов. В целях совместного применения утилиты могут объединяться в системы автоматизированного конструирования ПО. Такие системы принято называть CASE-системами.

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

— порядок применения методов и утилит;

— формирование отчетов, форм по соответствующим требованиям;

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

— формирование «вех», по которым руководители оценивают прогресс.

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

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

Разрабо́тка програ́ммного обеспе́чения (англ. software engineering, software development) — это род деятельности (профессия) и процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения, используя технологии, методологию и практики из информатики, управления проектами, математики, инженерии и других областей знания.

Процесс и методология[править]

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

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

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

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

Данная методология направлена на решение задач на ЭВМ, аналогичной технологии разработки алгоритмов и программ, используемой на олимпиадах по программированию отечественными студентами и программистами с использованием тестирования и структурного псевдокода для документирования программ в корпорации IBM с 70-х годов.

Методология структурного проектирования программного обеспечения может использоваться с применением самых различных языков и средств программирования для разработки надёжных программ самого различного назначения. Одним из таких проектов была разработка бортового программного обеспечения для космического корабля «Буран», в котором впервые использовалсябортовой компьютер для автоматического управления аппарата, совершившего успешный старт и посадку космического корабля.

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

18)Пакеты прикладных программ
Методо-ориентировнные ППП
Пакет прикладных программ – это комплекс программ, предназначенный для решения определённого класса задач по некоторой тематике.
ППП общего назначения — универсальные программные продукты, предназначенные для автоматизации разработки и эксплуатации функциональных задач пользователя.
К этому классу ППП относятся:
редакторы: текстовые (Word, WordPad) и графические (CorelDraw,PhotoShop);
электронные таблицы (Excel, Lotus 1-2-3);
системы управления базами данных (Access, Oracle);
средства подготовки презентаций (PowerPoint);
интегрированные ППП;
системы автоматизации проектирования (AutoCad);
оболочки экспертных систем и систем искусственного интеллекта и др.
Специальное ПО включает на методо-ориентированные ППП и проблемно-ориентированные ППП.
Методо-ориентированные ППП характеризуются тем, что в их алгоритмической основе реализован какой-либо экономико-математический метод, используемый для решения задач. К пакетам этой категории относятся программные средства, реализующие методы математического программирования (линейного, динамического, статистического и т.д.), cетевого планирования и управления, теории массового обслуживания; математической статистики и др.
Методо-ориентированные ППП
Данный класс включает программные продукты, обеспечивающие, независимо от предметной области и функции информационных систем, математические, статические и другие методы решения задач. Наиболее распространены методы математического программирования, решение дифференциальных уравнений, имитационного моделирования, исследования операций.
Методы статистической обработки и анализа данных (описательная статистика, регрессионный анализ, прогнозирование значений технико-экономических показателей и т. п.) имеют широкое применение. Так, современные табличные процессоры значительно расширили набор встроенных функций, реализующих статистическую обработку и информационные технологии статистического анализа. Вместе с тем необходимость в использовании специализированных программных средств статистической обработки, обеспечивающих высокую точность и многообразие статистических методов, также растёт. На базе методов сетевого планирования с экономическими показателями проекта, формированием отчётов различного вида оформилось новое направление программных средств – управление проектами, пользователями этих программ являются менеджеры проектов.

Проблемно-ориентированные ППП
Программные продукты данного класса можно классифицировать по разным признакам:
типам предметных областей;
типам информационных систем;
функциям и комплексам задач, реализуемых программным способом, и др.
Для некоторых предметных областей возможна типизация функций управления, структуры данных и алгоритмов обработки. Это вызвало разработку значительного числа ППП одинакового функционального назначения и, таким образом, создало рынок программных продуктов:
автоматизированного бухгалтерского учета;
финансовой деятельности;
управления персоналом (кадровый учет);
управления материальными запасами;
управления производством;
банковские информационные системы и т. п.
Проблемно-ориентированные ППП – это обширная группа пакетов программ, разработанных для автоматизации процессов решения различных функциональных задач в промышленной и непромышленной сферах деятельности. Практически нет ни одной предметной области, для которой не существует хотя бы одного ППП. Примерами проблемно-ориентированных пакетов могут служить пакеты, предназначенные для реализации информационных технологий обработки данных в конкретных областях экономики:
· В бухгалтерской области – это программы автоматизации бухгалтерского учёта «1С: Бухгалтерия», «Парус», «Интеллект-Сервис» и др.;
· в банковской деятельности – это программные продукты, предлагаемые фирмами «Диасофт», «Инверсия», «R-Style» и др.
· информационно-справочные системы, такие, как «Консультант Плюс», «Гарант», «Юсис» и др.
Проблемно

19) 1. Сетевая модель данных

 

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

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

 

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

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

3. Реляционная модель данных


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

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

Представим объекты рассматриваемой предметной области в табличной форме.

CMOS

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

Специально для этого на материнской плате есть микросхема «энергонезависимой памяти», по технологии изготовления называемая CMOS. От оперативной памяти она отличается тем, что ее содержимое не стирается во время выключения компьютера, а от ПЗУ она отличается тем, что данные в нее можно заносить и изменять самостоятельно, в соответствии с тем, какое оборудование входит в состав системы. Эта микросхема постоянно подпитывается от небольшой батарейки, расположенной на материнской плате. Заряда этой батарейки хватает на то, чтобы микросхема не теряла данные, даже если компьютер не будут включать несколько лет.

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

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

еще рефераты
Еще работы по информатике