Многократно използване

Slides:



Advertisements
Similar presentations
Векторна графика е метод за представяне на компютърни изображения, при което те се описват с помощта на математически формули, функции, вектори и др.
Advertisements

Европейска асоциация по растителна защита ( ECPA) Въведение Д-р Фридхайм Шмидер.
NEXGIS Technologies Ltd.
Историческо развитие на изчислителните устройства
Експерти за европейско развитие
Kомпютърни мрежи. 1. Какво е мрежа? •В компютърни термини, мрежа е група от компютри други устройства, свързани по някакъв начин, така че хората да могат.
“За духовните ценности на регион Велико Търново: Електронен своден каталог на ръкописи и старопечатни книги в библиотеките от област Велико Търново” Програма.
Методика за разработване на Общинските планове за развитие и на програмите и проектите за тяхното осъществяване Специфични изисквания: Структура на ОПР.
Интерактивно индивидуално обучение и повишаване на компетенциите за заетост – JobTool JobTool Валоризационна конференция г, гр. Пловдив Парк.
Гр. Шумен г. Този документ е създаден в рамките на проект „ Шумен 2020 “ в изпълнение на Договор за безвъзмездна финансова помощ № /
СИГУРНОСТ И НАДЕЖДНА ЗАЩИТА НА ИНФОРМАЦИЯТА В СЪВРЕМЕННИТЕ МРЕЖИ
П Р О Е К Т Подобряване ефективността на общинските администрации Дългопол, Долни Чифлик и Провадия за постигане на оптимизация и избягване на дублиращи.
Лекция 9 I/O Управление и Disk Scheduling. Roadmap  I/O Devices  Organization of the I/O Function  Operating System Design Issues  I/O Buffering 
Atlantis ERP ALTEC Group Atlantis ERP Helping Business Get Ahead.
“МОДЕРНА ПАРЛАМЕНТАРНА АДМИНИСТРАЦИЯ В УСЛУГА НА ОБЩЕСТВОТО”
Оценка на проблемите в осигуряване на квалифицирана работна ръка за региона Светлозар Петров, Управител, JobTiger.bg г., Видин.
Професионално направление№ 523 “Електроника и автоматизация” Професия: “Техник на компютърни системи” Специалност :№ “Компютърна техника и.
EContentplus. Цифровата информация е полезна само, когато намираш това, което търсиш! з.
СОЦИАЛНА МЕДИЦИНА И/ИЛИ ОБЩЕСТВЕНО ЗДРАВЕОПАЗВАНЕ
1 Системи за рейтинг класации на университети Презентация за Управителния съвет на BASSCOM Август 2008 Марин Маринов Лукас фон Цалингер.
WebsiteSpark: Описание на програмата 12 ноември 2009 Семинар по ползваемост © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows.
Oracle Mario Miladinov Information Services Plc. Лидерство в ИТ услугите 1.Дългогодишни IT традиции и опит – от Приходи от продажби на IT услуги.
ВТОРА НАЦИОНАЛНА КОНФЕРЕНЦИЯ ЗА ЕЛЕКТРОННО ОБУЧЕНИЕ ВЪВ ВИСШЕТО ОБРАЗОВАНИЕ КИТЕН, СЕПТЕМВРИ, 2006 ГОДИНА ПРИЛОЖЕНИЕ НА ПЛАТФОРМАТА eLSe ПРИ ЗАДОЧНО.
Представяне на информация пред публика с презентация MS PowerPoint 2010.
28-ми февруари 2008 ЦЯЛОСТНИ РЕШЕНИЯ ОТ СИБАНК ЗА УЧАСТИЕ В ЕВРОПРОЕКТИ.
Изготвил: Севделина Младенова
ПРОЕКТ BG051PO Проектът се осъществява с финансовата подкрепа на Оперативна програма „Развитие на човешките ресурси”, съфинансирана от Европейския.
Оперативна програма “Развитие на човешките ресурси” г.
Модул 3. Методи за оценка на политики, програми и проекти
Оценка на остатъчният риск. Теория и практика
Семинар Хисаря м.Октомври 2011
Проект „Създаване на капацитет за бъдещето – провеждане на студентски стажове в държавната администрация”, с бенефициент Администрацията на Министерския.
Fund for Local Authorities and Governments (FLAG)
УДОСТОВЕРЕНИЯ ИЗДАВАНИ ОТ НАП НА КОМПЕТЕНТНИТЕ ОРГАНИ ЗА ЦЕЛИТЕ НА КАО
Информационна платформа от ново поколение за гр. Бургас
Новият модел за заплащане на служителите в държавната администрация
Supported by a grant from
Магистърската програма „Оценка на политики и оценка на въздействие“
REACH 2018 Подаване на регистрационно досие.
Добре дошли в новия PowerPoint
КОМПЮТЪР = АПАРАТУРА + ПРОГРАМНО ОСИГУРЯВАНЕ
Компютърни мрежи – преговор с допълнение
„Европа за гражданите“
N:\DOC\4M\lekcii\3_5Бази от данни.ppt
“ИНФОРМАКИТА, ИНФОРМАЦИОННИ И КОМУНИКАЦИОННИ ТЕХНОЛОГИИ”
Корпоративни действия
„РАЗВИТИЕ НА ЧОВЕШКИТЕ РЕСУРСИ”
Програма за развитие на селските райони
ПРОГРАМА ЗА РАЗВИТИЕ НА СЕЛСКИТЕ РАЙОНИ
Психологически бариери при употреба на компютърни технологии от здравни работници в практиката Полина Михова, Маргарита Станкова, Живка Винарова 1, 2,3Нов.
HTML – урок 6 Формуляри.
“Прилагане на Закона за отговорността за предотвратяване и отстраняване на екологични щети и подзаконовата нормативна уредба към него от миннодобивната.
Превенция на конвенционалната престъпност
ИЗИСКВАНИЯ КЪМ ДЕЙНОСТТА НА ИНВЕСТИЦИОННИТЕ ПОСРЕДНИЦИ
Б.Шишеджиев - Проектиране
Образци за възлагане на обществени поръчки в сила от / 01
ON-LINE УСЛУГИ ИЗВЪРШВАНИ ОТ ОБЛАСТНА АДМИНИСТРАЦИЯ
Градско-селски партньорства в градските ареали
Product Quality Review услужлив, разумен, ефикасен
ОПЕРАТИВНА ПРОГРАМА “АДМИНИСТРАТИВЕН КАПАЦИТЕТ”
Магистърска програма ЕЛЕКТРОННО ОБУЧЕНИЕ
Отдел “Селскостопански пазарни механизми”
МИНИСТЕРСТВО НА ОТБРАНАТА ДИРЕКЦИЯ ПЛАНИРАНЕ, ПРОГРАМИРАНЕ И БЮДЖЕТ
В КОНТЕКСТА НА ЕВРОИНТЕГРАЦИОННИТЕ И ГЛОБАЛИЗАЦИОННИТЕ ПРОЦЕСИ
Секция “Математическа лингвистика”, ИМИ-БАН
Kaчество на питейните води – регулаторни изисквания
„Националните координатори в изпълнение на
Същност и принципи на устойчивото развитие
„Квалификация на педагогическите специалисти
Изход от конзолата.
Presentation transcript:

Многократно използване

Цели Да обясни ползите от многократното използване (МИ) и някои проблеми при него Да обсъди различните начини за реализация на МИ Да обясни как понятията в МИ могат да се използват като модели или да се вградят в програмни генератори. Да се обсъди МИ на COTS Да се опише разработката на софтуерни продуктови фамилии (product lines)

Основни теми Обща картина Модели (Design patterns) МИ основано на генератори Приложни работни рамки (frameworks) МИ на приложни с-ми

МИ на софтуера В повечето инженерни дисциплини с-мите се проектират като се сглобяват съществуващи компоненти, използвани в други с-ми. Отначало софтуерното инженерство се е съсредоточавало в/у оригинални проекти, но сега се признава, че за да се получи по-добър софтуер, по-бързо и по-евтино, ние се нуждаем от проектен процес основан на систематично МИ.

СИ основано на МИ МИ на приложни с-ми МИ на компоненти Една цяла приложна с-ма може да се използва без промяна в други с-ми (COTS) или чрез разработка на фамилии приложения МИ на компоненти Могат да се използват компоненти с размер от подс-ми до отделни обекти (разгл. по-късно) МИ на обекти и функции Могат да се използват софтуерни компоненти, които реализират добре отделен дефиниран обект или функция.

Ползи от МИ 1

Ползи от МИ 2

Проблеми при МИ 1

Проблеми при МИ 2

Различни подходи към МИ Въпреки че МИ често се разглежда като просто използване на компоненти, има много различни подходи към използването на МИ. МИ е възможно на много нива от прости функции до цели приложни с-ми.

Различни подходи към МИ

Подходи 1

Подходи 2

Фактори при планиране на МИ Разписанието за разработка на софтуера. Очакваното време на живот на софтуера Произходът, уменията и опита на екипа. Критичността на софтуера и нефункционалните изисквания. Областта на приложение Платформата, на която ще се изпълнява софтуера.

Концептуално МИ Когато използвате програмни или проектни компоненти, трябва да следвате проектните решения, направени от първоначалния разработчик на компонента. Това може да ограничи възможностите за МИ По-абстрактна форма на МИ е концептуалното МИ, когато се описва даден подход по начин предполагащ независимо осъществяване и след това се разработва последното. Два основни подхода за концептуално МИ са: Проектни модели (Design patterns) Генериране на програми

Проектни модели Проектният модел е начин да се използва абстрактното знание за проблема и решението му. Моделът е описание на програмата и същността на решението Той трябва да е достатъчно абстрактен, за да може да се използва в различни ситуации. Моделите често се основават на обектни характеристики като наследяване и полиморфизъм.

Елементи на моделите Име Описание на модела Описание на решението Смислен идентификатор на модела Описание на модела Описание на решението Не конкретен проект, а модел за проектно решение, което може да бъде реализирано по различни начини. Последствия Резултатите и компромисите при прилагането на модела.

Многобройни представяния

Модел на наблюдателя Име Описание Описание на проблема Observer. Описание Разделя представянето на обекта от самия обект Описание на проблема Нужен, когато са нужни няколко представяния на състоянието Описание на решението Виж UML слайда Последствия Не е практично да се оптимизира производителността на представянето.

Модел Observer

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

Типове програмни генератори Генератори на приложения за обработка на бизнес данни. Синтактичен и лексичен анализатори за програмни езици Код генератори в CASE средствата Този подход е много евтин, но използването му е ограничено до сравнително малък брой области на приложение. Това е по-лесен начин за крайния потребител за разработка сравнен с другите основани на компоненти методи за МИ.

МИ чрез генериране на програми

Аспектно ориентирана разработка Този подход решава един голям проблем – разделянето на грижите. Грижите са не просто свързани с функционалността на приложението, но и преминават границите на компонентите “напречно” – напр. Всички компоненти трябва да следят собствените си операции, всички компоненти могат да поддържат сигурността и др. Тези “напречни” грижи се реализират като аспекти и динамично се втъкават в програмата. Кодът се използва многократно и новата с-ма се генерира от аспектния генератор (weaver).

Аспектно ориентирана разработка

Приложни работни рамки Работните рамки са проект на под-система направен от колекция от абстрактни и конкретни класове и интерфейсите м/у тях. Под-с-мата се осъществява като се добавят компоненти са да изпълнят части от проекта и като се конкретизират абстрактните класове във рамката. Рамките са умерено големи обекти, които могат да се използват многократно.

Класове работни рамки За с-мна инфраструктура За междинна интеграция Поддържа разработката на с-мната инфраструктура като комуникации, потребителски интерфейс и компилатори За междинна интеграция Стандарт и класове, които поддържат комуникацията и обмена на информация м/у компонентите. За корпоративни приложения Поддържа разработката на специфични типове приложения като телекомуникации или финансови с-ми.

Разширяване на работните рамки Рамките са обобщени и се разширяват, за да се създават по-специфични приложения или под-с-ми. Разширяването включва: Добавяне на конкретни класове, които наследяват абстрактните класове в рамката Добавяне на методи, които се извикват като реакции на събития, разпознавани от с-мата. Недостатък на работната рамка е сложността й, което значи, че нужно много време, за да може да се използва ефективно.

Model-view controller Работна рамка за с-мна инфраструктура – GUI проект Позволява много представяния на един обект и взаимодействия с тези представяния. MVC рамката включва конкретизацията на няколко модела ( като се обсъждаше по-рано при концептулното МИ).

Model-view-controller

МИ на приложни с-ми Включва използването на цяло приложение било чрез конфигуриране на с-мата за дадена среда, било чрез интегриране на 2 или повече с-ми за създаване на ново приложение. Има 2 подхода Интегриране на COTS продукти Разработка на продуктова фамилия

МИ на COTS продукти COTS - Commercial Off-The-Shelf systems. COTS с-мите са обикновено завършени приложения, които предлагат API (Application Programming Interface). Изграждането на големи с-ми чрез интегриране на COTS с-ми е обещаваща стратегия за някои типове софтуер като електронна търговия. Основни ползи са по-бързата разработка и обикновено по-ниските разходи за нея.

Избори при COTS проектирането Може да има няколко подобни продукта Как ще се обменят данните? Отделните продукти използват собствени структура и формат на данните. Кои качества на продукта ще се използват? Повечето продукти имат повече от нужните функции. Вие трябва да откажете достъпа до ненужните функции.

Система за Е-доставки

Използвани COTS продукти От страната на клиента – стандартни програми за ел. поща и браузер. На съсрвъра една платформа за електронна търговия трябва да се интегрира със съществуваща система за поръчване Трябва да се напише адаптер, така че те да могат да обменят данни. Също трябва да се интегрира e-mail с-ма, за да генерира съобщения за клиентите. Това също изисква адаптер, за да се приемат данни от с-мата за поръчки и фактуриране.

Проблеми при интегриране на COTS с-ми Липса на контрол над функционалността и ефективността COTS с-мите може да са по-неефективни отколкото изглеждат Проблеми с взаимодействието Различните COTS може да правят различни предположения, което затруднява интегрирането Няма контрол в/у еволюцията на с-мата Разработчиците на COTS, а не клиентите управляват еволюцията Поддръжка от продавачите на COTS Продавачите може да не предлагат поддръжка за целия живот на с-мата.

Продуктови фамилии Софтуерните продуктови фамилии са приложения с обобщена функционалност, които могат да се адаптират и конфигурират за употреба в специален контекст Адаптирането може да включи: Конфигурация на с-мата и компонентите Добавяне на нова компонента Избор от библиотека на съществуващи компоненти Промяна на компоненти, за да отговорят на нови изисквания

Специализация на COTS продукти Според платформата За различни платформи се разработват различни версии на приложението Според средата Различни версии се разработват, за да оперират в различна операционна среда, напр. различно комуникационно оборудване Според функционалността Създават се различни версии за клиенти с различни изисквания Според процеса Създават се различни версии да поддържат различни бизнес процеси

Конфигуриране на COTS Конфигурация по време на доставката Обобщената с-ма се конфигурира чрез вграждане на знание за клиентските изисквания. Софтуерът не се променя Конфигурация по време на проектирането Адаптира се и се променя общия код в зависимост от изискванията на даден клиент.

Организация на ERP с-ма

ERP системи С-ма за планиране на ресурсите на предприятието (ERP) е обобщена с-ма, която поддържа общи бизнес процеси като поръчки и фактуриране, производство и др. Тези с-ми широко се използват в големи компании – представляват може би най-използваната форма на МИ на софтуер Обобщеният код се адаптира, като се включват модули и като се вгражда знание за бизнес процесите и правилата.

Конфигурация по време на проектирането Софтуерните продуктови фамилии, които се конфигурират по време на проекта са конкретизации на обобщените архитектури на апликациите, които са разгледани по-рано Обобщените продукти обикновено се появяват след опит със специфични продукти.

Архитектури на продуктови фамилии Архитектурите трябва да бъдат структурирани по такъв начин, че да се отделят под-с-мите и да се позволи промяната им. Архитектурата също трябва да отдели обектите и техните описания и по горните нива на с-мата трябва да имат достъп до обектите чрез описанията, а не директно.

С-ма за управление на ресурсите

Диспечиране на коли Специализирана с-ма за разпределение на ресурсите, където целта да се определят ресурси (коли), за да се справят с произшествията. Адаптациите включват: На ниво потр. интерфейс има компоненти за дисплей комуникации на оператора. На ниво I/O има компоненти, които се грижат за автентикацията, отчитането и планирането на маршрутите. На ниво управление на ресурсите има компоненти за определяне на местоположението на колите и разпределението им, управление на статуса им и дневник на произшествията. Базата от данни включва оборудване, коли и база от карти.

Диспечерска с-ма

Разработка на конкретен продукт

Разработка на конкретен продукт Извличане на изискванията на поръчителите За прототип се използва съществуващ член от фамилията Избор на най-подходящия член от фамилията Открива се членът, който най-добре отговаря на изискванията Предоговаряне на изискванията Адаптиране на изискванията, ако е необходимо към възможностите на с-мата Адаптиране на съществуващата с-ма Разработват се нови модули и се правят промени в члена от фамилията Доставка на новия член от фамилията Документират се новите особености за по-нататъшно развитие на члена.

Обобщение Предимствата на МИ са по-ниските разходи, по-бързата разработка и по-ниските рискове Проектните модели са абстракции от високо ниво, документират успешни проектни решения. Програмните генератори също се занимават с МИ – използваемите концепти са вградени в генераторната с-ма Програмните работни рамки са колекции от конкретни и абстрактни обекти, които проектирани за МИ чрез специализация.

Обобщение МИ на COTS продукти е свързано с използването на големи, закупени с-ми Проблемите с МИ на COTS са свързани контрол в/у функционалността, ефективността и еволюцията и с взаимодействието ERP с-мите се създават чрез конфигуриране обобщена с-ма с информация за бизнеса на клиента Софтуерните продуктови фамилии са сродни приложения с общо ядро от споделена функционалност.