- •Технология программирования, основные этапы развития: «стихийное» программирование, структурное программирование, объектно-ориентированное программирование, компонентное программирование.
- •Особенности функционирования сложных программных средств: работа в реальном времени, многообразие функций, надежность функционирования.
- •Проблемы проектирования сложных программных средств: рациональное структурное построение, технология разработки, стандартизация; блочно-иерархический подход.
- •Жизненный цикл программного обеспечения, процессы жизненного цикла, связь между процессами.
- •Основные процессы жизненного цикла: приобретение, поставка, разработка, эксплуатация, сопровождение.
- •Вспомогательные процессы жизненного цикла: документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, совместная оценка, аудит, разрешение проблем.
- •Организационные процессы жизненного цикла: управление, создание инфраструктуры, усовершенствование, обучение.
- •Модели жизненного цикла: поэтапная, каскадная, спиральная, переиспользования и реверсивной инженерии.
- •Способ быстрой разработки приложений (rad): условия применения, стадии жизненного цикла, достоинства и недостатки.
- •Определение метода и технологии
- •Требования к технологии
- •Оценка качества процессов создания программного обеспечения: международные стандарты серии iso 9000, cmm, spice.
- •Понятийный аппарат метрической теории программ – принципы количественного анализа качества объектов с расплывчатыми свойствами.
- •Модель и метрики оценки сложности Боэма.
- •Модель и метрики оценки сложности Холстэда.
- •Модель и метрики оценки сложности Мак-Кейба (основанные на потоковых графах).
- •Модель и метрики, основанные на информационных потоках.
- •Методы оценки качества программного обеспечения: анкетирование, рабочие списки, контрольные задачи, метрики. Государственные стандарты в области оценки качества программного обеспечения.
- •Модули, сцепление и связность - критерии независимости модулей, библиотеки ресурсов.
- •Программирование с защитой от ошибок: проверка выполнения операций, контроль промежуточных результатов, снижение погрешностей результатов, обработка исключений; сквозной структурный контроль.
- •Технологические требования: выбор архитектуры по, выбор типа пользовательского интерфейса, выбор подхода к разработке, выбор языка и среды программирования.
- •Планирование процесса проектирования, виды планов: календарный, индивидуальный, сетевой график разработки и проектирования программного обеспечения.
- •4.2. Функции программного обеспечения для календарного планирования
- •4.3. Виды календарного планирования (календарные графики, диаграммы Гантта)
- •Спецификации по при структурном подходе: формальные модели, зависящие от подхода к разработке и не зависящие от подхода – диаграммы переходов состояний, математические модели предметной области.
- •2.2.5 Границы моделирования
- •2.2.6 Выбор наименования контекстного блока
- •2.2.8 Нумерация блоков и диаграмм
- •1.1.1 I Модели idef3
- •1.1.2 Диаграммы
- •1.1.3 Единица работы. Действие
- •1.1.4 Связи
- •1.1.5 Соединения
- •1.1.6 Указатели
- •1.1.7 Декомпозиция действий
- •Построение моделей idef3: диаграммы, нумерация блоков и диаграмм, сценарий, границы моделирования, определение действий и объектов.
- •1.2.2 Определение действий и объектов
- •1.2.3 Последовательность и параллельность
- •3.2 Синтаксис и семантика диаграмм потоков данных
- •3.2.1 Функциональные блоки
- •3.2.2 Внешние сущности
- •3.2.4 Хранилища данных
- •3.2.5 Ветвление и объединение
- •3.3.2 Нумерация объектов
- •Структуры данных: несвязанные, с неявными связями, с явными связями; иерархические модели Джексона-Орра.
- •Моделирование данных – диаграммы «сущность-связь» (erd): сущность, связь, атрибут.
- •Метод Баркера.
- •Метод idef1.
Планирование процесса проектирования, виды планов: календарный, индивидуальный, сетевой график разработки и проектирования программного обеспечения.
Основная цель календарного планирования - выдача информации для подготовки производства на планируемый период.
Календарное планирование проекта, которое состоит в определении календарных дат выполнения всех работ, ставит цель координацию деятельности привлеченных к проекту исполнителей для обеспечения его успешного завершения.
В календарных графиках (способу вывода данных ) отмечается возможная гибкость в дате начала работы без осложнения выполнения всего проекта (т.е. запас времени по некритическим роботам).
Цели календарного графика:
- обеспечить своевременное поступление финансирования;
- координировать поступление ресурсов;
- своевременно обеспечить нужны ресурсы;
-предусмотреть в разные моменты уровень нужных финансовых затрат и ресурсов и рациональное распределение их между проектами;
-обеспечить своевременное выполнение проекта.
4.2. Функции программного обеспечения для календарного планирования
Как правило, система календарного планирования, обеспечивает основной набор функциональных возможностей, которые включают в себя:
- средства визуального проектирования структуры работ проекта,
- средства планирования по методу критического пути,
- средства ресурсного планирования (описание, назначение и оптимизация загрузки ресурсов),
- некоторые возможности стоимостного анализа,
- средства контроля за ходом исполнения проекта,
- средства создания отчетов и графических диаграмм,
средства организации групповой работы.
4.3. Виды календарного планирования (календарные графики, диаграммы Гантта)
Существует два приемлемых пути представления календарного графика:
- табличный — с перечнем работ с указанием продолжительности их выполнение;
- диаграммный (балочные диаграммы, или диаграммы Гантта).
диаграмма Гантта является наглядным источником такой проектной информации:
- какие работы являются критическими, а какие - некритическими;
- вывод и использование затрат проекта и т.д.
Диаграммы Гантта:
-легко строится и прочитывается;
- разрешает наглядно подать ход выполнения работ за проектом;
- дает возможность легче понять идею запаса времени и его использование;
- является предпосылкой календарного планирования нужд в ресурсах;
- является условием определения денежных потоков;
- является прекрасным средством планирования и контроля;
- является ключевым документом в процессе принятия решений.
Прежде чем строить диаграмму Гантта, нужно определить:
- логическую связь между работами;
-продолжительность работ в зависимости от ресурсов, которые используются;
- распределение ресурсов между роботами в зависимости от их наличия.
Поэтому календарное планирование нуждается в не только определении сроков выполнения работ, но и согласование их с состоянием обеспечения необходимыми ресурсами и возможностью финансирования.
Структурный подход к проектированию программного обеспечения: основные принципы, лежащие в основе структурного подхода, средства описания функциональной структуры, средства описания отношения между данными, применение средств на стадиях жизненного цикла программного обеспечения.
Сущность структурного подхода к разработке ИС заключается в ее декомпозиции (разбиении) на автоматизируемые функции: система разбивается на функциональные подсистемы, которые в свою очередь делятся на подфункции, подразделяемые на задачи и так далее. Процесс разбиения продолжается вплоть до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны.
Все наиболее распространенные методологии структурного подхода базируются на ряде общих принципов. В качестве двух базовых принципов используются следующие:
принцип "разделяй и властвуй" - принцип решения сложных проблем путем их разбиения на множество меньших независимых задач, легких для понимания и решения;
принцип иерархического упорядочивания - принцип организации составных частей проблемы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.
принцип абстрагирования - заключается в выделении существенных аспектов системы и отвлечения от несущественных;
принцип формализации - заключается в необходимости строгого методического подхода к решению проблемы;
принцип непротиворечивости - заключается в обоснованности и согласованности элементов;
принцип структурирования данных - заключается в том, что данные должны быть структурированы и иерархически организованы.
В структурном анализе используются в основном две группы средств, иллюстрирующих функции, выполняемые системой и отношения между данными. Каждой группе средств соответствуют определенные виды моделей (диаграмм), наиболее распространенными среди которых являются следующие:
SADT модели и соответствующие функциональные диаграммы;
DFD диаграммы потоков данных;
ERD диаграммы "сущность-связь".