- •Інструменти. Загальне положення.
- •Методології побудови інструментів
- •Методи розробки. Загальні положення
- •Емпіричні методи
- •Домени, методи, моделі розробки пз
- •Рівні абстракції, покрокове уточнення
- •Функціональна декомпозиція, модулярізація
- •Структурне проектування.
- •Зведення, зв’язування, закриття інформації, модулярізація
- •Структурне програмування. Абстрактні типи даних.
- •Структурний аналіз. Обєктно-орієнтоване програмування
- •Доменний та обєктно-орієнтований аналізи
- •Персонал. Загальні положення
- •Структура організацій
- •Типи інженерії програмного забезпечення
- •Зворотна інженерія
- •Взаємозвязок інженерій
- •Методи та інструменти зворотної інженерії
- •Повторне використання. Загальні положення
- •Шляхи створення повторно використовуваних компонентів
- •Моделі життєвого циклу. Моделі «Керуй та виправляй» та шагова
- •Моделі життєвого циклу. Каскадна модель
- •Моделі життєвого циклу. Спіральна модель
- •Моделі життєвого циклу. Інкрементна та ітераційна моделі
- •Моделі життєвого циклу. Еволюційна та стадійна моделі
- •Моделі життєвого циклу. Модель прототипування
- •Моделі життєвого циклу. V, w – моделі
- •Моделі життєвого циклу. Моделі з повторним використанням
- •Моделі життєвого циклу. Синтезуюча модель
- •Моделі життєвого циклу. Моделі гнучкої розробки(Agile)
- •Вимірювання у пз. Загальні положення
Структурне програмування. Абстрактні типи даних.
Структурное программирование (E. Dijkstra, 1972)
Метод направлен на написание программ путем использования только трех типов операторов: присваивание, выбора и повторения. Такого операторного базиса достаточно для написания любой программы. Программы в этом случае называются структурными, а процесс программирования - структурным.
Абстрактные типы данных (B.Liskov B., S.Zilles S., 1975)
Сущность метода состоит в расширении концепции структур данных определяемыми операциями над ними. Первые реализации абстрактных типов могли осуществляться уже в языках программирования путем использования процедурного типа или указательного типа на подпрограмму. В последующем, в языках программирования были введены специальные конструкции (модуль, класс), реализуются абстрактные типы данных.
Структурний аналіз. Обєктно-орієнтоване програмування
Структурный анализ
Метод анализа спецификаций требований с помощью диаграмм (управление, данные, переход состояний). PSL/PSA (Teichrocw D., Hershey E., 1977) путем иерархической декомпозиции решения проблемы. Человеко-машинная техника, реализованная в виде языков, предназначенная для структурирования документации и анализа информации. PSL/PSA использует графические диаграммы, которые применяют для описания данных, преобразования информации и процессов, происходящих в системах
Объе́ктно-ориенти́рованное проектирование (ООП) — это часть объектно-ориентированной методологии, которая предоставляет возможность программистам оперировать понятием «объект», нежели понятием «процедура» при разработке своего кода. Объекты содержат инкапсулированные данные и процедуры, сгруппированные вместе, отображая т.о. сущность объекта. «Интерфейс объекта», описывает взаимодействие с объектом, то, как он определен. Программа, полученная при реализации объектно-ориентированного исходного кода, описывает взаимодействие этих объектов.
Доменний та обєктно-орієнтований аналізи
Доменный анализ (R.Prietto-Diaz, 1991)
Методы направлен на анализ предметных областей, с целью определения повторно используемых решений.
Объектно-ориентированный анализ
Является расширением метода структурного анализа путем использования объектов.
Персонал. Загальні положення
Дві складові персоналу
- люди – кваліфіковані фахівці, здатні виконувати роботи зі створення програмного забезпечення;
- організації – об’єднання людей для виконання робіт зі створення програмного продукту.
Этический кодекс инженера
Специалистами комиссии SEEPP разработан этический кодекс инженера по программному обеспечению. Он включает следующие принципы
1.Общественные интересы – действия программистов должны ответствовать общественным интересам.
2.Клиент и работодатель – программисты должны поступать таким образом, чтобы как можно лучше выполнить требования клиента и работодателя, но при этом соблюдать общественные интересы.
3.Продукт – программисты должны быть уверены в том, что создаваемые ими программные продукты и связанные с ними модификации соответствуют профессиональным наивысшим стандартам.
4.Критицизм – инженеры-программисты должны придерживаться целостности и независимости своих суждений, формируя здоровый профессиональный критицизм мышления.
5.Менеджмент – менеджеры и лидеры, управляющие группами по разработке ПО, обязаны придерживаться этических норм в процессе разработки и сопровождения программ.
6.Профессионализм – программисты обязаны быть честными и поддерживать репутацию профессионалов, не забывая о соблюдении общественных интересов.
7.Коллегиальность – программисты обязаны быть честными и поддерживать своих коллег.
8.Самосовершенствование – программистам следует постоянно повышают свою квалификацию, что способствует их профессиональному росту, а также формирует этический подход к профессиональной деятельности.
Методы и модели персонала
Две группы:
подбор персонала;
развитие персонала.
В инженерии программного обеспечения рассматривается два понятия, которые характеризуют организации, разрабатывающие программное обеспечение: культура и структура.