SlideShare ist ein Scribd-Unternehmen logo
1 von 23
ПРОЕКТПРОЕКТУВАННЯУВАННЯ
ВЕЛИКИХВЕЛИКИХ ПРОГРАМНПРОГРАМНИИХХ
СИСТЕМСИСТЕМ
ЗагальнийЗагальний ппііддхідхід
ЛИТЕРАТУРАЛИТЕРАТУРА
 1. Г.Буч Объектно-ориентированный анализ и проектирование с1. Г.Буч Объектно-ориентированный анализ и проектирование с
примерами приложений на С++, 2-е изд. -М: «Издательствопримерами приложений на С++, 2-е изд. -М: «Издательство
Бином», 2001. -500с.Бином», 2001. -500с.
 2. Буч Г., Рамбо Д., Джекобсон А.2. Буч Г., Рамбо Д., Джекобсон А. UMLUML. Руководство. Руководство
пользователя. –М: ДМК, 2000. – 432с.пользователя. –М: ДМК, 2000. – 432с.
 3. Боггс У., Боггс М.3. Боггс У., Боггс М. UMLUML ии Rational RoseRational Rose – Издательство– Издательство
«ЛОРИ» 2001г. 580с.«ЛОРИ» 2001г. 580с.
 4. Леоненков А.4. Леоненков А. Самоучитель UML. – СПб:Самоучитель UML. – СПб:BHVBHV-С-Петербург,-С-Петербург,
2001. –304с.2001. –304с.
 5. Ларман К.5. Ларман К. ПрименениеПрименение UMLUML и шаблонови шаблонов
проектирования –М.: Издательский дом «Вильямс», 2001. –проектирования –М.: Издательский дом «Вильямс», 2001. –
496с.496с.
 6. Коналлен Д.6. Коналлен Д. Разработка WEB-приложений сРазработка WEB-приложений с
использованием UML - –М.: Издательский дом «Вильямс», 2001.использованием UML - –М.: Издательский дом «Вильямс», 2001.
– 288с.– 288с.
 7. Кватрани7. Кватрани ТТ.. Rational Rose 2000Rational Rose 2000 ии UML.UML. ВизуальноеВизуальное
моделирование - ДМК, 2001. – 176с.моделирование - ДМК, 2001. – 176с.
 8.Орлов С.А. Технология разработки программного8.Орлов С.А. Технология разработки программного
обеспечения. –СПб.: Питер, 2002. – 464 с.обеспечения. –СПб.: Питер, 2002. – 464 с.
 9. Фокс Дж. Программное обеспечение и его разработка. –М.:9. Фокс Дж. Программное обеспечение и его разработка. –М.:
Мир, 1985. – 368сМир, 1985. – 368с..
ПРЕДМЕТНАЯ ОБЛАСТЬ –ПРЕДМЕТНАЯ ОБЛАСТЬ –
промышленные программныепромышленные программные
продуктыпродукты
 Различные области примененияРазличные области применения
 Сложные в логической организацииСложные в логической организации
 Большие по объему кодаБольшие по объему кода
 Имеют много пользователейИмеют много пользователей
 Долгое время жизни (использования)Долгое время жизни (использования)
 Требуют модернизации и сопровожденияТребуют модернизации и сопровождения
 Должны сопровождаться документациейДолжны сопровождаться документацией
 Разрабатываются коллективомРазрабатываются коллективом
программистовпрограммистов
 Требуют больших финансовых ресурсовТребуют больших финансовых ресурсов
СТАДИИ ПРОЕКТИРОВАНИЯСТАДИИ ПРОЕКТИРОВАНИЯ
ПРОГРАММНЫХ СИСТЕМПРОГРАММНЫХ СИСТЕМ
Реализация
Тестирование
Ввод в эксплуатацию
Проектирование
Формирование требований к системе
Сопровождение
РЕАЛЬНЫЙ ПРОЦЕССРЕАЛЬНЫЙ ПРОЦЕСС
ПРОЕКТИРОВАНИЯПРОЕКТИРОВАНИЯ
Реализация
Тестирование
Ввод в эксплуатацию
Проектирование
Формирование требований к системе
Сопровождение
Основные принципыОсновные принципы
Этап проектирования не прекращаетсяЭтап проектирования не прекращается
никогданикогда
Уточнение требований продолжается вУточнение требований продолжается в
течение всего времени проектированиятечение всего времени проектирования
Программная система наследуетПрограммная система наследует
проблемы реальной системыпроблемы реальной системы
ОПРЕДЕЛЕНИЕОПРЕДЕЛЕНИЕ
ТРЕБОВАНИЙТРЕБОВАНИЙ
Общий подходОбщий подход
1 ПОСТАНОВКА ЗАДАЧИ1 ПОСТАНОВКА ЗАДАЧИ
 Нужно понять, что нужно сделатьНужно понять, что нужно сделать
 Требования формулируются совместноТребования формулируются совместно
заказчиком и проектировщиком сзаказчиком и проектировщиком с
максимально возможной строгостьюмаксимально возможной строгостью
 Нельзя ориентироваться только наНельзя ориентироваться только на
требования одного, но влиятельного лица.требования одного, но влиятельного лица.
Система обрекается на недолговечность.Система обрекается на недолговечность.
Должен быть найден и вовлечен в делоДолжен быть найден и вовлечен в дело
действительный пользователь, а не егодействительный пользователь, а не его
заменительзаменитель
 Разные пользователи дают противоречивыеРазные пользователи дают противоречивые
требованиятребования
 Представитель заказчика должен иметьПредставитель заказчика должен иметь
полномочия принимать решенияполномочия принимать решения
2 ДОКУМЕНТИРОВАНИЕ2 ДОКУМЕНТИРОВАНИЕ
 Требования формулируются совместноТребования формулируются совместно
заказчиком и проектировщиком сзаказчиком и проектировщиком с
максимально возможной строгостьюмаксимально возможной строгостью
 Язык формулировок требований должен бытьЯзык формулировок требований должен быть
понятен пользователю и проектировщикупонятен пользователю и проектировщику
 Нужно документировать требованияНужно документировать требования
 Если требования не записаны и не сделаныЕсли требования не записаны и не сделаны
доступными разработчикам, они вроде бы идоступными разработчикам, они вроде бы и
не существуютне существуют
3 УПРАВЛЕНИЕ3 УПРАВЛЕНИЕ
ТРЕБОВАНИЯМИТРЕБОВАНИЯМИ
Предусмотреть изменения в проекте !!!Предусмотреть изменения в проекте !!!
Самое первое требование кСамое первое требование к
проектированию больших систем –проектированию больших систем –
предусмотреть возможность будущихпредусмотреть возможность будущих
измененийизменений
Требования разработчики и заказчикиТребования разработчики и заказчики
понимают по-разномупонимают по-разному
Требованиями надо управлять !!!Требованиями надо управлять !!!
За выработку требований должен отвечатьЗа выработку требований должен отвечать
один и тот же человекодин и тот же человек
ЗАКАЗЧИК-ПРОЕКТИРОВЩИКЗАКАЗЧИК-ПРОЕКТИРОВЩИК
Может сделать Пропустит
ЗАКАЗЧИК Ясно выразить важные
потребности
Правильно расставить
приоритеты
Требования к
технологии
Потребности
инфраструктуры
ПРОЕКТИРОВЩИК Определить состояние
дел в технологии
Определить полноту
требований
Сортировку интересов
пользователей
Тонкости прикладной
области
1977г. 10 проектов в США1977г. 10 проектов в США
Во всех системах требования неустойчивыВо всех системах требования неустойчивы
и подвергались пересмотруи подвергались пересмотру
В системах отсутствовал механизмВ системах отсутствовал механизм
отслеживания и управления процессомотслеживания и управления процессом
выработки требованийвыработки требований
Некоторые разработчики даже неНекоторые разработчики даже не
осознавали необходимость обоснованияосознавали необходимость обоснования
требованийтребований
В большинстве систем не было отбоя отВ большинстве систем не было отбоя от
«списков пожеланий»«списков пожеланий»
ПРОЕКТИРОВАНИЕПРОЕКТИРОВАНИЕ
Общий подходОбщий подход
1 ПРОЕКТИРОВАНИЕ - ЭТО1 ПРОЕКТИРОВАНИЕ - ЭТО
ИСКУССТВОИСКУССТВО
 Проектирование в большей степени связаноПроектирование в большей степени связано
с искусствомс искусством
 Программа наследует все проблемыПрограмма наследует все проблемы
реальной системыреальной системы
 При проектировании делается обоснованиеПри проектировании делается обоснование
как ПО так и ТСкак ПО так и ТС
 Проектирование - итерационный процессПроектирование - итерационный процесс
 Проектированием может заниматься неПроектированием может заниматься не
каждыйкаждый
2 МЕТОДОЛОГИЯ2 МЕТОДОЛОГИЯ
ПРОЕКТИРОВАНИЯПРОЕКТИРОВАНИЯ
Разбиение на уровни абстракцийРазбиение на уровни абстракций
На каждом уровне абстракции – 7 илиНа каждом уровне абстракции – 7 или
менее элементовменее элементов
Ограниченный контекст, только важныеОграниченный контекст, только важные
элементыэлементы
Должны определяться как данные, так иДолжны определяться как данные, так и
операции над нимиоперации над ними
2 ПРОЦЕСС2 ПРОЦЕСС
ПРОЕКТИРОВАНИЯПРОЕКТИРОВАНИЯ
Сужение
круга возможных
решений или
структур
Краткие
формулировки
основных
принятых
решений
Документирование
уровней
проекта
с увеличением
детализации
ОЧИСТКА ПРОЕКТА
3 УРОВНИ ПРОЕКТИРОВАНИЯ3 УРОВНИ ПРОЕКТИРОВАНИЯ
 Верхний уровень – разделение наВерхний уровень – разделение на
подсистемы, модули. Определениеподсистемы, модули. Определение
взаимодействия. Реализация замкнутостивзаимодействия. Реализация замкнутости
подсистем.подсистем.
 Средний уровень – реализация техническихСредний уровень – реализация технических
решений. Выделение макрослоев.решений. Выделение макрослоев.
Проектирование модулей. ОпределениеПроектирование модулей. Определение
потоков данных.потоков данных.
 Нижний уровень – кодирование программ.Нижний уровень – кодирование программ.
Технологии кодирования. СтруктурноеТехнологии кодирования. Структурное
программирование.программирование.
4 ДОКУМЕНТИРОВАНИЕ4 ДОКУМЕНТИРОВАНИЕ
 Если отсутствует документация доступнаяЕсли отсутствует документация доступная
для всех – проект обречен на неудачудля всех – проект обречен на неудачу
 Дональд Дуглас – «когда вес документовДональд Дуглас – «когда вес документов
достигает веса самолета, самолет начнетдостигает веса самолета, самолет начнет
летать»летать»
 Документация создается на всех уровняхДокументация создается на всех уровнях
проектированияпроектирования
 Использовать методы документированияИспользовать методы документирования
((HIPO, SADT, IA, UML)HIPO, SADT, IA, UML)
 Самая трудная задача – организоватьСамая трудная задача – организовать
ведение документацииведение документации
РЕАЛИЗАЦИЯРЕАЛИЗАЦИЯ
Выбор языка программированияВыбор языка программирования
Выбор стандартов программированияВыбор стандартов программирования
Выбор инструментарияВыбор инструментария
программированияпрограммирования
Проектирование диалоговогоПроектирование диалогового
взаимодействиявзаимодействия
Уровни квалификации. ГлавныйУровни квалификации. Главный
программистпрограммист
Компоновка программКомпоновка программ
Контроль версий системыКонтроль версий системы
ТЕСТИРОВАНИЕ ИТЕСТИРОВАНИЕ И
ВЕРИФИКАЦИЯВЕРИФИКАЦИЯ
Верификация с начала разработкиВерификация с начала разработки
Проведение инспекций кодов программПроведение инспекций кодов программ
Тестирование отдельных модулейТестирование отдельных модулей
Тестирование скомпонованнойТестирование скомпонованной
программыпрограммы
Планирование тестированияПланирование тестирования
проводится одновременно с началомпроводится одновременно с началом
работработ
ПРЕДЪЯВЛЕНИЕ ПРОГРАММПРЕДЪЯВЛЕНИЕ ПРОГРАММ
 «Да, это то что мы заказывали, но не то, что«Да, это то что мы заказывали, но не то, что
хотели» - Заказчикхотели» - Заказчик
 После первого предъявления коллективПосле первого предъявления коллектив
разработчиков не должен уменьшатьсяразработчиков не должен уменьшаться
0
50
100
Начало 1 пред. 2 пред. 3 пред.
Неверно
Верно
РУКОВОДСТВОРУКОВОДСТВО
РАЗРАБОТКОЙРАЗРАБОТКОЙ
Спецификация требованийСпецификация требований
Организационная структураОрганизационная структура
Сроки реализацииСроки реализации
Расстановка кадровРасстановка кадров
БюджетБюджет
Документирование рабочих стандартовДокументирование рабочих стандартов
Пять стадий развития всех новыхПять стадий развития всех новых
проектовпроектов
ЭйфорияЭйфория
РазочарованиеРазочарование
Поиск виновныхПоиск виновных
Наказание невиновныхНаказание невиновных
Награждение непричастных к делуНаграждение непричастных к делу

Weitere ähnliche Inhalte

Was ist angesagt?

Req Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийReq Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийAlexander Kalouguine
 
Системная инженерия: вызовы времени По результатам конференции RuSEC2010
Системная инженерия: вызовы времени По результатам конференции RuSEC2010Системная инженерия: вызовы времени По результатам конференции RuSEC2010
Системная инженерия: вызовы времени По результатам конференции RuSEC2010Marcus Akoev
 
Денис Бесков. Как задавать требования к качеству ПО в цифрах?
Денис Бесков. Как задавать требования к качеству ПО в цифрах?Денис Бесков. Как задавать требования к качеству ПО в цифрах?
Денис Бесков. Как задавать требования к качеству ПО в цифрах?Denis Beskov
 
А.Байда -- OMG Essence и SEMAT
А.Байда -- OMG Essence и SEMATА.Байда -- OMG Essence и SEMAT
А.Байда -- OMG Essence и SEMATAnatoly Levenchuk
 
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...LuxoftTraining
 
Стандарт OMG Essence - в чем польза для аналитика?
Стандарт OMG Essence - в чем польза для аналитика?Стандарт OMG Essence - в чем польза для аналитика?
Стандарт OMG Essence - в чем польза для аналитика?Yury Kupriyanov
 
Как задавать требования к качеству ПО в цифрах
Как задавать требования к качеству ПО в цифрахКак задавать требования к качеству ПО в цифрах
Как задавать требования к качеству ПО в цифрахSQALab
 

Was ist angesagt? (8)

Req Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийReq Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требований
 
Системная инженерия: вызовы времени По результатам конференции RuSEC2010
Системная инженерия: вызовы времени По результатам конференции RuSEC2010Системная инженерия: вызовы времени По результатам конференции RuSEC2010
Системная инженерия: вызовы времени По результатам конференции RuSEC2010
 
Денис Бесков. Как задавать требования к качеству ПО в цифрах?
Денис Бесков. Как задавать требования к качеству ПО в цифрах?Денис Бесков. Как задавать требования к качеству ПО в цифрах?
Денис Бесков. Как задавать требования к качеству ПО в цифрах?
 
А.Байда -- OMG Essence и SEMAT
А.Байда -- OMG Essence и SEMATА.Байда -- OMG Essence и SEMAT
А.Байда -- OMG Essence и SEMAT
 
Sep reqm-lec1
Sep reqm-lec1Sep reqm-lec1
Sep reqm-lec1
 
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...
 
Стандарт OMG Essence - в чем польза для аналитика?
Стандарт OMG Essence - в чем польза для аналитика?Стандарт OMG Essence - в чем польза для аналитика?
Стандарт OMG Essence - в чем польза для аналитика?
 
Как задавать требования к качеству ПО в цифрах
Как задавать требования к качеству ПО в цифрахКак задавать требования к качеству ПО в цифрах
Как задавать требования к качеству ПО в цифрах
 

Andere mochten auch

залікова робота погромська
залікова робота погромськазалікова робота погромська
залікова робота погромськаpogromskaya
 
выч пр прогр
выч пр прогрвыч пр прогр
выч пр прогрpogromskaya
 
Trpo 10 управление персоналом
Trpo 10 управление персоналомTrpo 10 управление персоналом
Trpo 10 управление персоналомpogromskaya
 
Trpo 7 повторное использ_компонентов
Trpo 7 повторное использ_компонентовTrpo 7 повторное использ_компонентов
Trpo 7 повторное использ_компонентовpogromskaya
 
Введення Uml
Введення UmlВведення Uml
Введення Umlpogromskaya
 
Діяльності
ДіяльностіДіяльності
Діяльностіpogromskaya
 

Andere mochten auch (18)

залікова робота погромська
залікова робота погромськазалікова робота погромська
залікова робота погромська
 
выч пр прогр
выч пр прогрвыч пр прогр
выч пр прогр
 
11 menu
11 menu11 menu
11 menu
 
ІАД
ІАДІАД
ІАД
 
Trpo 10 управление персоналом
Trpo 10 управление персоналомTrpo 10 управление персоналом
Trpo 10 управление персоналом
 
Middleware 1
Middleware 1 Middleware 1
Middleware 1
 
01 osnovy
01 osnovy01 osnovy
01 osnovy
 
01 osnovy
01 osnovy01 osnovy
01 osnovy
 
03 struktura
03 struktura03 struktura
03 struktura
 
05 dinam array
05 dinam array05 dinam array
05 dinam array
 
МТ
МТМТ
МТ
 
15 media
15 media15 media
15 media
 
іпз
іпзіпз
іпз
 
Trpo 7 повторное использ_компонентов
Trpo 7 повторное использ_компонентовTrpo 7 повторное использ_компонентов
Trpo 7 повторное использ_компонентов
 
Введення Uml
Введення UmlВведення Uml
Введення Uml
 
In delphi
 In delphi In delphi
In delphi
 
Діяльності
ДіяльностіДіяльності
Діяльності
 
САПР_СALS
САПР_СALSСАПР_СALS
САПР_СALS
 

Ähnlich wie ПВПС

Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Andrii Gakhov
 
«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...MDDay_4
 
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахКак совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахDanil Dintsis, Ph. D., PgMP
 
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...SECON
 
Внедрение CASE-технологий
Внедрение CASE-технологийВнедрение CASE-технологий
Внедрение CASE-технологийОтшельник
 
Тьюториал "Введение в системную инженерию" (15 января 2013)
Тьюториал "Введение в системную инженерию" (15 января 2013)Тьюториал "Введение в системную инженерию" (15 января 2013)
Тьюториал "Введение в системную инженерию" (15 января 2013)Anatoly Levenchuk
 
Проект внедрения КИС
Проект внедрения КИСПроект внедрения КИС
Проект внедрения КИСSergey Timofeev
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Dima Dzuba
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахMaxim Tsepkov
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьCUSTIS
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахSQALab
 
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологийСпецифика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологийSQALab
 
Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Dima Dzuba
 
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...Alex V. Petrov
 
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...Александр Шамрай
 
Системная инженерия
Системная инженерияСистемная инженерия
Системная инженерияAnatoly Levenchuk
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиSQALab
 

Ähnlich wie ПВПС (20)

Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1
 
«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...
 
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахКак совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
 
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
 
Внедрение CASE-технологий
Внедрение CASE-технологийВнедрение CASE-технологий
Внедрение CASE-технологий
 
Тьюториал "Введение в системную инженерию" (15 января 2013)
Тьюториал "Введение в системную инженерию" (15 января 2013)Тьюториал "Введение в системную инженерию" (15 января 2013)
Тьюториал "Введение в системную инженерию" (15 января 2013)
 
Проект внедрения КИС
Проект внедрения КИСПроект внедрения КИС
Проект внедрения КИС
 
Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)
 
PMIufa 2012-03-01
PMIufa 2012-03-01PMIufa 2012-03-01
PMIufa 2012-03-01
 
CM Management (www.cmcons.com)
CM Management (www.cmcons.com)CM Management (www.cmcons.com)
CM Management (www.cmcons.com)
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
 
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологийСпецифика работы бизнес-аналитика в зависимости от типов проектов и методологий
Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий
 
Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01
 
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
 
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
 
Системная инженерия
Системная инженерияСистемная инженерия
Системная инженерия
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
 

Mehr von pogromskaya

електронні матеріали
електронні матеріалиелектронні матеріали
електронні матеріалиpogromskaya
 
Проектування реляційних БД
Проектування реляційних БДПроектування реляційних БД
Проектування реляційних БДpogromskaya
 
Моделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграмиМоделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграмиpogromskaya
 
Реляційна модель БД
Реляційна модель БДРеляційна модель БД
Реляційна модель БДpogromskaya
 
інтегровані уроки
інтегровані урокиінтегровані уроки
інтегровані урокиpogromskaya
 
Розгортання
РозгортанняРозгортання
Розгортанняpogromskaya
 
Прецедентів
ПрецедентівПрецедентів
Прецедентівpogromskaya
 
Компонентів
КомпонентівКомпонентів
Компонентівpogromskaya
 
Взаємодії
ВзаємодіїВзаємодії
Взаємодіїpogromskaya
 
Trpo 3 создание_по2
Trpo 3 создание_по2Trpo 3 создание_по2
Trpo 3 создание_по2pogromskaya
 
Trpo 1 введение
Trpo 1 введениеTrpo 1 введение
Trpo 1 введениеpogromskaya
 
Trpo 2 создание по
Trpo 2 создание поTrpo 2 создание по
Trpo 2 создание поpogromskaya
 
Trpo 12 управление качеством
Trpo 12 управление качествомTrpo 12 управление качеством
Trpo 12 управление качествомpogromskaya
 

Mehr von pogromskaya (20)

електронні матеріали
електронні матеріалиелектронні матеріали
електронні матеріали
 
Проектування реляційних БД
Проектування реляційних БДПроектування реляційних БД
Проектування реляційних БД
 
Моделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграмиМоделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграми
 
Реляційна модель БД
Реляційна модель БДРеляційна модель БД
Реляційна модель БД
 
інтегровані уроки
інтегровані урокиінтегровані уроки
інтегровані уроки
 
ікт
іктікт
ікт
 
сапр
сапрсапр
сапр
 
Розгортання
РозгортанняРозгортання
Розгортання
 
Прецедентів
ПрецедентівПрецедентів
Прецедентів
 
Компонентів
КомпонентівКомпонентів
Компонентів
 
Взаємодії
ВзаємодіїВзаємодії
Взаємодії
 
Станів
СтанівСтанів
Станів
 
Класів
КласівКласів
Класів
 
MW
MWMW
MW
 
C-S
C-SC-S
C-S
 
ппс
ппсппс
ппс
 
Trpo 3 создание_по2
Trpo 3 создание_по2Trpo 3 создание_по2
Trpo 3 создание_по2
 
Trpo 1 введение
Trpo 1 введениеTrpo 1 введение
Trpo 1 введение
 
Trpo 2 создание по
Trpo 2 создание поTrpo 2 создание по
Trpo 2 создание по
 
Trpo 12 управление качеством
Trpo 12 управление качествомTrpo 12 управление качеством
Trpo 12 управление качеством
 

ПВПС

  • 2. ЛИТЕРАТУРАЛИТЕРАТУРА  1. Г.Буч Объектно-ориентированный анализ и проектирование с1. Г.Буч Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд. -М: «Издательствопримерами приложений на С++, 2-е изд. -М: «Издательство Бином», 2001. -500с.Бином», 2001. -500с.  2. Буч Г., Рамбо Д., Джекобсон А.2. Буч Г., Рамбо Д., Джекобсон А. UMLUML. Руководство. Руководство пользователя. –М: ДМК, 2000. – 432с.пользователя. –М: ДМК, 2000. – 432с.  3. Боггс У., Боггс М.3. Боггс У., Боггс М. UMLUML ии Rational RoseRational Rose – Издательство– Издательство «ЛОРИ» 2001г. 580с.«ЛОРИ» 2001г. 580с.  4. Леоненков А.4. Леоненков А. Самоучитель UML. – СПб:Самоучитель UML. – СПб:BHVBHV-С-Петербург,-С-Петербург, 2001. –304с.2001. –304с.  5. Ларман К.5. Ларман К. ПрименениеПрименение UMLUML и шаблонови шаблонов проектирования –М.: Издательский дом «Вильямс», 2001. –проектирования –М.: Издательский дом «Вильямс», 2001. – 496с.496с.  6. Коналлен Д.6. Коналлен Д. Разработка WEB-приложений сРазработка WEB-приложений с использованием UML - –М.: Издательский дом «Вильямс», 2001.использованием UML - –М.: Издательский дом «Вильямс», 2001. – 288с.– 288с.  7. Кватрани7. Кватрани ТТ.. Rational Rose 2000Rational Rose 2000 ии UML.UML. ВизуальноеВизуальное моделирование - ДМК, 2001. – 176с.моделирование - ДМК, 2001. – 176с.  8.Орлов С.А. Технология разработки программного8.Орлов С.А. Технология разработки программного обеспечения. –СПб.: Питер, 2002. – 464 с.обеспечения. –СПб.: Питер, 2002. – 464 с.  9. Фокс Дж. Программное обеспечение и его разработка. –М.:9. Фокс Дж. Программное обеспечение и его разработка. –М.: Мир, 1985. – 368сМир, 1985. – 368с..
  • 3. ПРЕДМЕТНАЯ ОБЛАСТЬ –ПРЕДМЕТНАЯ ОБЛАСТЬ – промышленные программныепромышленные программные продуктыпродукты  Различные области примененияРазличные области применения  Сложные в логической организацииСложные в логической организации  Большие по объему кодаБольшие по объему кода  Имеют много пользователейИмеют много пользователей  Долгое время жизни (использования)Долгое время жизни (использования)  Требуют модернизации и сопровожденияТребуют модернизации и сопровождения  Должны сопровождаться документациейДолжны сопровождаться документацией  Разрабатываются коллективомРазрабатываются коллективом программистовпрограммистов  Требуют больших финансовых ресурсовТребуют больших финансовых ресурсов
  • 4. СТАДИИ ПРОЕКТИРОВАНИЯСТАДИИ ПРОЕКТИРОВАНИЯ ПРОГРАММНЫХ СИСТЕМПРОГРАММНЫХ СИСТЕМ Реализация Тестирование Ввод в эксплуатацию Проектирование Формирование требований к системе Сопровождение
  • 5. РЕАЛЬНЫЙ ПРОЦЕССРЕАЛЬНЫЙ ПРОЦЕСС ПРОЕКТИРОВАНИЯПРОЕКТИРОВАНИЯ Реализация Тестирование Ввод в эксплуатацию Проектирование Формирование требований к системе Сопровождение
  • 6. Основные принципыОсновные принципы Этап проектирования не прекращаетсяЭтап проектирования не прекращается никогданикогда Уточнение требований продолжается вУточнение требований продолжается в течение всего времени проектированиятечение всего времени проектирования Программная система наследуетПрограммная система наследует проблемы реальной системыпроблемы реальной системы
  • 8. 1 ПОСТАНОВКА ЗАДАЧИ1 ПОСТАНОВКА ЗАДАЧИ  Нужно понять, что нужно сделатьНужно понять, что нужно сделать  Требования формулируются совместноТребования формулируются совместно заказчиком и проектировщиком сзаказчиком и проектировщиком с максимально возможной строгостьюмаксимально возможной строгостью  Нельзя ориентироваться только наНельзя ориентироваться только на требования одного, но влиятельного лица.требования одного, но влиятельного лица. Система обрекается на недолговечность.Система обрекается на недолговечность. Должен быть найден и вовлечен в делоДолжен быть найден и вовлечен в дело действительный пользователь, а не егодействительный пользователь, а не его заменительзаменитель  Разные пользователи дают противоречивыеРазные пользователи дают противоречивые требованиятребования  Представитель заказчика должен иметьПредставитель заказчика должен иметь полномочия принимать решенияполномочия принимать решения
  • 9. 2 ДОКУМЕНТИРОВАНИЕ2 ДОКУМЕНТИРОВАНИЕ  Требования формулируются совместноТребования формулируются совместно заказчиком и проектировщиком сзаказчиком и проектировщиком с максимально возможной строгостьюмаксимально возможной строгостью  Язык формулировок требований должен бытьЯзык формулировок требований должен быть понятен пользователю и проектировщикупонятен пользователю и проектировщику  Нужно документировать требованияНужно документировать требования  Если требования не записаны и не сделаныЕсли требования не записаны и не сделаны доступными разработчикам, они вроде бы идоступными разработчикам, они вроде бы и не существуютне существуют
  • 10. 3 УПРАВЛЕНИЕ3 УПРАВЛЕНИЕ ТРЕБОВАНИЯМИТРЕБОВАНИЯМИ Предусмотреть изменения в проекте !!!Предусмотреть изменения в проекте !!! Самое первое требование кСамое первое требование к проектированию больших систем –проектированию больших систем – предусмотреть возможность будущихпредусмотреть возможность будущих измененийизменений Требования разработчики и заказчикиТребования разработчики и заказчики понимают по-разномупонимают по-разному Требованиями надо управлять !!!Требованиями надо управлять !!! За выработку требований должен отвечатьЗа выработку требований должен отвечать один и тот же человекодин и тот же человек
  • 11. ЗАКАЗЧИК-ПРОЕКТИРОВЩИКЗАКАЗЧИК-ПРОЕКТИРОВЩИК Может сделать Пропустит ЗАКАЗЧИК Ясно выразить важные потребности Правильно расставить приоритеты Требования к технологии Потребности инфраструктуры ПРОЕКТИРОВЩИК Определить состояние дел в технологии Определить полноту требований Сортировку интересов пользователей Тонкости прикладной области
  • 12. 1977г. 10 проектов в США1977г. 10 проектов в США Во всех системах требования неустойчивыВо всех системах требования неустойчивы и подвергались пересмотруи подвергались пересмотру В системах отсутствовал механизмВ системах отсутствовал механизм отслеживания и управления процессомотслеживания и управления процессом выработки требованийвыработки требований Некоторые разработчики даже неНекоторые разработчики даже не осознавали необходимость обоснованияосознавали необходимость обоснования требованийтребований В большинстве систем не было отбоя отВ большинстве систем не было отбоя от «списков пожеланий»«списков пожеланий»
  • 14. 1 ПРОЕКТИРОВАНИЕ - ЭТО1 ПРОЕКТИРОВАНИЕ - ЭТО ИСКУССТВОИСКУССТВО  Проектирование в большей степени связаноПроектирование в большей степени связано с искусствомс искусством  Программа наследует все проблемыПрограмма наследует все проблемы реальной системыреальной системы  При проектировании делается обоснованиеПри проектировании делается обоснование как ПО так и ТСкак ПО так и ТС  Проектирование - итерационный процессПроектирование - итерационный процесс  Проектированием может заниматься неПроектированием может заниматься не каждыйкаждый
  • 15. 2 МЕТОДОЛОГИЯ2 МЕТОДОЛОГИЯ ПРОЕКТИРОВАНИЯПРОЕКТИРОВАНИЯ Разбиение на уровни абстракцийРазбиение на уровни абстракций На каждом уровне абстракции – 7 илиНа каждом уровне абстракции – 7 или менее элементовменее элементов Ограниченный контекст, только важныеОграниченный контекст, только важные элементыэлементы Должны определяться как данные, так иДолжны определяться как данные, так и операции над нимиоперации над ними
  • 16. 2 ПРОЦЕСС2 ПРОЦЕСС ПРОЕКТИРОВАНИЯПРОЕКТИРОВАНИЯ Сужение круга возможных решений или структур Краткие формулировки основных принятых решений Документирование уровней проекта с увеличением детализации ОЧИСТКА ПРОЕКТА
  • 17. 3 УРОВНИ ПРОЕКТИРОВАНИЯ3 УРОВНИ ПРОЕКТИРОВАНИЯ  Верхний уровень – разделение наВерхний уровень – разделение на подсистемы, модули. Определениеподсистемы, модули. Определение взаимодействия. Реализация замкнутостивзаимодействия. Реализация замкнутости подсистем.подсистем.  Средний уровень – реализация техническихСредний уровень – реализация технических решений. Выделение макрослоев.решений. Выделение макрослоев. Проектирование модулей. ОпределениеПроектирование модулей. Определение потоков данных.потоков данных.  Нижний уровень – кодирование программ.Нижний уровень – кодирование программ. Технологии кодирования. СтруктурноеТехнологии кодирования. Структурное программирование.программирование.
  • 18. 4 ДОКУМЕНТИРОВАНИЕ4 ДОКУМЕНТИРОВАНИЕ  Если отсутствует документация доступнаяЕсли отсутствует документация доступная для всех – проект обречен на неудачудля всех – проект обречен на неудачу  Дональд Дуглас – «когда вес документовДональд Дуглас – «когда вес документов достигает веса самолета, самолет начнетдостигает веса самолета, самолет начнет летать»летать»  Документация создается на всех уровняхДокументация создается на всех уровнях проектированияпроектирования  Использовать методы документированияИспользовать методы документирования ((HIPO, SADT, IA, UML)HIPO, SADT, IA, UML)  Самая трудная задача – организоватьСамая трудная задача – организовать ведение документацииведение документации
  • 19. РЕАЛИЗАЦИЯРЕАЛИЗАЦИЯ Выбор языка программированияВыбор языка программирования Выбор стандартов программированияВыбор стандартов программирования Выбор инструментарияВыбор инструментария программированияпрограммирования Проектирование диалоговогоПроектирование диалогового взаимодействиявзаимодействия Уровни квалификации. ГлавныйУровни квалификации. Главный программистпрограммист Компоновка программКомпоновка программ Контроль версий системыКонтроль версий системы
  • 20. ТЕСТИРОВАНИЕ ИТЕСТИРОВАНИЕ И ВЕРИФИКАЦИЯВЕРИФИКАЦИЯ Верификация с начала разработкиВерификация с начала разработки Проведение инспекций кодов программПроведение инспекций кодов программ Тестирование отдельных модулейТестирование отдельных модулей Тестирование скомпонованнойТестирование скомпонованной программыпрограммы Планирование тестированияПланирование тестирования проводится одновременно с началомпроводится одновременно с началом работработ
  • 21. ПРЕДЪЯВЛЕНИЕ ПРОГРАММПРЕДЪЯВЛЕНИЕ ПРОГРАММ  «Да, это то что мы заказывали, но не то, что«Да, это то что мы заказывали, но не то, что хотели» - Заказчикхотели» - Заказчик  После первого предъявления коллективПосле первого предъявления коллектив разработчиков не должен уменьшатьсяразработчиков не должен уменьшаться 0 50 100 Начало 1 пред. 2 пред. 3 пред. Неверно Верно
  • 22. РУКОВОДСТВОРУКОВОДСТВО РАЗРАБОТКОЙРАЗРАБОТКОЙ Спецификация требованийСпецификация требований Организационная структураОрганизационная структура Сроки реализацииСроки реализации Расстановка кадровРасстановка кадров БюджетБюджет Документирование рабочих стандартовДокументирование рабочих стандартов
  • 23. Пять стадий развития всех новыхПять стадий развития всех новых проектовпроектов ЭйфорияЭйфория РазочарованиеРазочарование Поиск виновныхПоиск виновных Наказание невиновныхНаказание невиновных Награждение непричастных к делуНаграждение непричастных к делу