'

ПРОГРАММНАЯ ИНЖЕНЕРИЯ. ФАБРИКА ПРОГРАММ И АРТЕФАКТОВ

Понравилась презентация – покажи это...





Слайд 0

ПРОГРАММНАЯ ИНЖЕНЕРИЯ. ФАБРИКА ПРОГРАММ И АРТЕФАКТОВ Е.М.Лаврищева, профессор кафедры Теории и технологии программирования КНУ


Слайд 1

Программная инженерия (1968-2011) Программная инженерия – раздел компьютерных наук (Computer Science), изучающий методы и средства построения компьютерных программ как инженерной регламентированной деятельности коллективов разработчиков программных продуктов (ПП): определяет объекты (модули, компоненты, аспекты и др.) и операции над ними, объединяющиеся в целостный технологический процесс создания программного продукта; обобщает накопленный опыт программирования и отражает закономерности развития технологии программирования. Расширяет содержание понятия “Программирование” путем привлечения понятийного аппарата инженерных дисциплин; является инженерной дисциплиной, охватывающей все аспекты создания программных продуктов, начиная с формулирования требований, кончая сопровождением и снятием с эксплуатации, а также включает инженерные методы управления проектами и оценивание трудозатрат, стоимости и качества изготовления программных продуктов. Инженерная деятельность по всем аспектам изготовления ПП планируется и декомпозируется на отдельные работы, распределяющиеся по разным категориям исполнителей.


Слайд 2

3 Computer Science (CS) Компьютерная инженерия - это методы построения разных вычислительных моделей, компьютеров, механизмов контроля Hardware и Software. Системная инженерия - это методы построения систем обработки информации, АСУ на основе компьютеров (Computer Systems), принципы их работы и методы управления и выполнения соответствующих классов задач. Программная инженерия – это теория программирования, инженерия и технология построения компьютерных программных систем.


Слайд 3


Слайд 4

Структура связей дисциплин CS Дисциплины Computer Science: EE - Electronic Engineering, CE - Computer Engineering, SE - Software Engineering. Дисциплины обработки информации: IT – Information Technology, IS – Information Systems.


Слайд 5

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


Слайд 6


Слайд 7

Направления работ в области программной инженерии 1. SWEBOK, PMBOK (2001, 2004). Объектно-ориентированное (UML), компонентное программи-рование (КМ), сервисное, генерационное. Фундаментальные типы данных (FDT) ЯП – Ч.Хоар, Вирт (1974), В.Н.Агафонов (1981), Типы данных общего назначения (GDT) – Стандарт ISO/IEC 11404-1996, 2007 … Стандарты ISO/IEC 12207- ЖЦ, ДСТУ 9126 - качество ... Инструментальные среды разработки ПС (СОМ, СОRBA, MS.VSTS, JAVA, MSF, Grid, Oberon, Babel, Rational Rose…). Технологические линии, Product lines. Дисциплины индустрии ПП (наука, инженерия, экономика, управление и др.)


Слайд 8

Классификация дисциплин SE


Слайд 9

Подход к созданию научного софтвера в КНУ Научный софтвер - это теоретические (научные артефакты), прикладные программы (reuses, assets), информационные ресурсы и программные продукты (готовые компоненты повторного использования – КПИ). В КНУ разработана с участием студентов экспериментальная фабрика программ и артефактов. Фабрика программ - интегрованная инфраструктура (среда) для: - сбора теоретических артефактов как продуктов научной деятельности студентов по дисциплинам - прикладная математика, информатика, компьютерные науки; - описания и накопления артефактов в репозиториях или библиотеках знаний; - сертификации артефактов и программ в форме, принятой в системе Grid; - автоматизированной разработки программ и их сборки в сложную программу; - выполнения построенных программ на контрольных данных; - электронного обучения дисциплинам программной инженерии.


Слайд 10

Процессы фабрики научного софтвера: 1) разработка новых SW, программ по ТЛ, Product Lines с помощью средств, инструментов и сервисов соответствующей оперционной среды. 2) Описание спецификатора артефакта или программы по стандартам типа WSDL. 3) Ведение (запись, обработка) артефактов, программ и их спецификаторов в репозиторию. 4) сборка готовых КПИ, программ в продукт. 5) тестирование и оценивание ПП.


Слайд 11

Проблемы индустрии программ и артефактов Индустрия ПП в мире дает более 100 млрд. дол. Вклад Украины в индустрию ПП - 1.3%, в основном за услуги рынка программистов. Государственная программа «Развитие индустрии ПП в Украине» 2011р. (http://www.index.org.ua) ориентирована на индустриальное изготовление, аутсорcинг и внедрение программных продуктов в разные сферы деятельности государства с использованием информационных и коммуникационных технологий. Необходимо обучение студентов методам и приемам производства программных продуктов. Государство должно давать заказы на построение софтвера с участием студентов ВУЗов.


Слайд 12

Подход к обучению программной инженерии в КНУ Разработан сайт http://programsfactory.univ.kiev.ua, на котором можно обучаться: – технологии разработки программ средствами C# VS.Net; – технологии разработки программ на языке Java; – технологичной дисциплине “Программная инженерия” SE); ттехнологии сертификации научных артефактов (компонентов, reuses, assets, serviсes и др.), разработанных студентами по шаблонам, принятым в инфраструктуре европейского проекта Grid, для размещения КПИ в репозитории (библиотеке) КНУ и возможного их переноса в международные библиотеки для обмена артефактами между студентами.


Слайд 13

Структура шаблона спецификатора КПИ


Слайд 14

САЙТ ФАБРИКИ ПРОГРАММ КНУ


Слайд 15

Общая структура линий разработки артефактов на сайте КНУ Линия разработки Линия сборки


Слайд 16

Базовые научные элементы фабрик программ Ядро знаний SWEBOK (Software Engineering Body of Knowledge) международного комитета при ACM и IEEE Computer Society.   Методы программирования сборочного типа. Ключевые понятия программной инженерии: качество, продуктивность, индустрия (Наур, 1968). Средства автоматизации. Система дисциплин разработки ПП на фабрике программ. Методология сборки программ (Greenfield, Chernetcky, др.). Линии продуктов (Product lines) SEI США. Хранилища (библиотеки) готовых продуктов, как деталей. Среды взаимодействия ПП.


Слайд 17

Фабрика сборки программ это интегрированная инфраструктура сборочного производства компонентов, подсистем, систем, модулей (блоков), семейств систем, АСУ, АСУТП и др. Предназначена для выполнения государственных, коммерческих и др. заказов на ПП.     Базис инфраструктуры сборочного производства ПП:   среды сборки (SUN ONC, MS.Net, Corba, IBM, Java, Oberon, Babel, Grid, Eclipse и др.); линии разработки и сборки ПП; методы программирования;   комплекс ресурсов (научных, инженерных, технических, технологических, экономических, финансовых, людских ресурсов и др.); библиотеки (репозитории) готовых ПП, КПИ, интерфейсов, др.


Слайд 18

СРЕДСТВА АВТОМАТИЗАЦИИ ФАБРИКИ    хранилища готовых программ (компонентов, подсистем, систем, модулей, семейств систем и др.; библиотеки (репозитории) интерфейсов, классов и др.; инструменты сборки (интеграторы, сборщики, брокеры запросов, конверторы данных и программ, пруверы, конфигураторы, ... );      инструменты инженерии ПП - экспертизы, метрического анализа, измерения, оценки качества и надежности, стоимости ПП и работ, сертификации; языки программирования и трансляторы, компиляторы, редакторы, отладчики ПП ЯП;  средства защиты и безопасностипрограмм и данных; стандарты OSI, ЖЦ, качества, метрики; инструменты методов и моделей (UML, сервисный, SOA, MDD, DSL …).


Слайд 19

Типы фабрик программ для производства ПП из готовых КПИ (reuse), одиночных программ и Системных программ (ОС, сред, трансляторов…); Семейств систем (АСУ, АСУТП…); Бизнесных программ; Коммерческих программ; Бортовых систем (космос, авиация, коллайдер,…); Унаследованных программ (Legasy Systems); Студенческих программ; Утилизации и перестройки программ; Отдельных Tools (космических, медицинских приборов, мобильных телефонов, компьютеров и др.).  …


Слайд 20

Технические и технологические ресурсы фабрики платформы, процессоры компьютеров (Intel, HP, IBM, Apple, MS, Cray, …); средства коммуникации ( OSI, TCP/IP, HTTP…); библиотеки, репозитории готовых ПП (КПИ, Reuses, Аssets, Applications, Domains, Systems); методики программирования для методов сборочного типа (модульного, компонентного, сервисного, UML и др.); руководства по языкам интерфейсов (IDL, API, DII, SIDL, XML, RDF и др.); стандарты ЯП, качества, процессов ЖЦ, СММI и др. стандарты на артефакты ПП (модели, каркасы, шаблоны, контейнеры, процессы, проекты, системы и др.); методические руководства по сервису и обслуживанию.


Слайд 21


Слайд 22

Определение линии продукта (Product Lines) Линия продуктов - это сборочный конвейер из готовых ресурсов для удовлетворения потребностей рынка программными продуктами. Технологическая линия включает: – условия и ограничения на ресурсы линии продуктов; – образцы, каркасы, готовые КПИ; – стратегии и методы программирования; – средства и инструменты производства ПП на линии; – контроль плана работ и выявление рисков; – прогнозирование стоимостных и технических ресурсов ПП; – управление конфигурацией; –   измерение и оценка показателей качества продукта; – сертификация ПП.


Слайд 23


Слайд 24

Действующие фабрики программ общего типа 1.    Система АПРОП (ИК), которая работала в среде ОС ЕС и объединяла разноязыковые модули через интерфейсные посредники методом сборки; 2.    Система Sun Microsystems (IBM) со сборкой разноязыковых программ и новыми направлениями производства сложных ПП по модели SOA, Web-сервисы, Ruby, Script и др.; 3.  OMA-архитектура или система CORBA (OMG) обеспечивает взаимодействие клиента и сервера через модули-посредники Stub (для клиента), skeleton, Dill (для сервера), которые передают внешние данные брокеру для выполнения их клиентом или сервером; 4. Фабрика «ручной» сборки разноязыковых программ Инга Бейя с использованием интерфейсных посредников, конфигурационных файлов в средах (VC++, VBasic, Matlab, Java, Visual Works Smalltalk и др.); 5.     Фабрики программ для бизнес-программ в UML и МDA - Дж.Гринфильда; 6.   Современная коллективная сетевая среда MS.VSTS для производства программ и ПП разного назначения по контрактам специалистов разных стран мира; Фабрика программ Г.Ленца по схеме производства программ в .Net; 7.    Инфраструктура системы Grid – тестирование, сборка и сертификация научных программ, ПП для вычисления в международной сети Европроекта.


Слайд 25

Основные средства среды АПРОП


Слайд 26

Основные средства среды IBM


Слайд 27

Основные средства среды CORBA


Слайд 28


Слайд 29


Слайд 30

Конвейерная разработка ПП в MS.VSTS


Слайд 31

Фабрика программ Г.Ленца


Слайд 32

Фабрика для сборки и вычислений- Grid


Слайд 33

ФУНКЦИОНАЛЬНЫЕ ПРОЦЕССЫ НА ФАБРИКИ СБОРКИ ПРОГРАММ сборка разнородных компонентов в ПП; тестирование компонентов, ПП, сбор данных; взаимодействие компонентов, ПП в средах и сетях; конвертирование и генерация типов данных ФДТ и GDT (General Data Types) для использования в ЯП и разнородных средах; измерение и оценка качества (надежности, эффективности, продуктивности и др.) ПП; - экспертиза семейств процессов и СПС продуктов; сертификация ПП для повторного использования; вариабельность для изменения ПП; - управление программным проектом.


Слайд 34

Генерация типов данных GDT ? ФТД для разных сред


Слайд 35

Благодарю за внимание


×

HTML:





Ссылка: