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. ПРЕДМЕТНАЯ ОБЛАСТЬ –ПРЕДМЕТНАЯ ОБЛАСТЬ –
промышленные программныепромышленные программные
продуктыпродукты
Различные области примененияРазличные области применения
Сложные в логической организацииСложные в логической организации
Большие по объему кодаБольшие по объему кода
Имеют много пользователейИмеют много пользователей
Долгое время жизни (использования)Долгое время жизни (использования)
Требуют модернизации и сопровожденияТребуют модернизации и сопровождения
Должны сопровождаться документациейДолжны сопровождаться документацией
Разрабатываются коллективомРазрабатываются коллективом
программистовпрограммистов
Требуют больших финансовых ресурсовТребуют больших финансовых ресурсов
6. Основные принципыОсновные принципы
Этап проектирования не прекращаетсяЭтап проектирования не прекращается
никогданикогда
Уточнение требований продолжается вУточнение требований продолжается в
течение всего времени проектированиятечение всего времени проектирования
Программная система наследуетПрограммная система наследует
проблемы реальной системыпроблемы реальной системы
8. 1 ПОСТАНОВКА ЗАДАЧИ1 ПОСТАНОВКА ЗАДАЧИ
Нужно понять, что нужно сделатьНужно понять, что нужно сделать
Требования формулируются совместноТребования формулируются совместно
заказчиком и проектировщиком сзаказчиком и проектировщиком с
максимально возможной строгостьюмаксимально возможной строгостью
Нельзя ориентироваться только наНельзя ориентироваться только на
требования одного, но влиятельного лица.требования одного, но влиятельного лица.
Система обрекается на недолговечность.Система обрекается на недолговечность.
Должен быть найден и вовлечен в делоДолжен быть найден и вовлечен в дело
действительный пользователь, а не егодействительный пользователь, а не его
заменительзаменитель
Разные пользователи дают противоречивыеРазные пользователи дают противоречивые
требованиятребования
Представитель заказчика должен иметьПредставитель заказчика должен иметь
полномочия принимать решенияполномочия принимать решения
9. 2 ДОКУМЕНТИРОВАНИЕ2 ДОКУМЕНТИРОВАНИЕ
Требования формулируются совместноТребования формулируются совместно
заказчиком и проектировщиком сзаказчиком и проектировщиком с
максимально возможной строгостьюмаксимально возможной строгостью
Язык формулировок требований должен бытьЯзык формулировок требований должен быть
понятен пользователю и проектировщикупонятен пользователю и проектировщику
Нужно документировать требованияНужно документировать требования
Если требования не записаны и не сделаныЕсли требования не записаны и не сделаны
доступными разработчикам, они вроде бы идоступными разработчикам, они вроде бы и
не существуютне существуют
10. 3 УПРАВЛЕНИЕ3 УПРАВЛЕНИЕ
ТРЕБОВАНИЯМИТРЕБОВАНИЯМИ
Предусмотреть изменения в проекте !!!Предусмотреть изменения в проекте !!!
Самое первое требование кСамое первое требование к
проектированию больших систем –проектированию больших систем –
предусмотреть возможность будущихпредусмотреть возможность будущих
измененийизменений
Требования разработчики и заказчикиТребования разработчики и заказчики
понимают по-разномупонимают по-разному
Требованиями надо управлять !!!Требованиями надо управлять !!!
За выработку требований должен отвечатьЗа выработку требований должен отвечать
один и тот же человекодин и тот же человек
11. ЗАКАЗЧИК-ПРОЕКТИРОВЩИКЗАКАЗЧИК-ПРОЕКТИРОВЩИК
Может сделать Пропустит
ЗАКАЗЧИК Ясно выразить важные
потребности
Правильно расставить
приоритеты
Требования к
технологии
Потребности
инфраструктуры
ПРОЕКТИРОВЩИК Определить состояние
дел в технологии
Определить полноту
требований
Сортировку интересов
пользователей
Тонкости прикладной
области
12. 1977г. 10 проектов в США1977г. 10 проектов в США
Во всех системах требования неустойчивыВо всех системах требования неустойчивы
и подвергались пересмотруи подвергались пересмотру
В системах отсутствовал механизмВ системах отсутствовал механизм
отслеживания и управления процессомотслеживания и управления процессом
выработки требованийвыработки требований
Некоторые разработчики даже неНекоторые разработчики даже не
осознавали необходимость обоснованияосознавали необходимость обоснования
требованийтребований
В большинстве систем не было отбоя отВ большинстве систем не было отбоя от
«списков пожеланий»«списков пожеланий»
14. 1 ПРОЕКТИРОВАНИЕ - ЭТО1 ПРОЕКТИРОВАНИЕ - ЭТО
ИСКУССТВОИСКУССТВО
Проектирование в большей степени связаноПроектирование в большей степени связано
с искусствомс искусством
Программа наследует все проблемыПрограмма наследует все проблемы
реальной системыреальной системы
При проектировании делается обоснованиеПри проектировании делается обоснование
как ПО так и ТСкак ПО так и ТС
Проектирование - итерационный процессПроектирование - итерационный процесс
Проектированием может заниматься неПроектированием может заниматься не
каждыйкаждый
15. 2 МЕТОДОЛОГИЯ2 МЕТОДОЛОГИЯ
ПРОЕКТИРОВАНИЯПРОЕКТИРОВАНИЯ
Разбиение на уровни абстракцийРазбиение на уровни абстракций
На каждом уровне абстракции – 7 илиНа каждом уровне абстракции – 7 или
менее элементовменее элементов
Ограниченный контекст, только важныеОграниченный контекст, только важные
элементыэлементы
Должны определяться как данные, так иДолжны определяться как данные, так и
операции над нимиоперации над ними
17. 3 УРОВНИ ПРОЕКТИРОВАНИЯ3 УРОВНИ ПРОЕКТИРОВАНИЯ
Верхний уровень – разделение наВерхний уровень – разделение на
подсистемы, модули. Определениеподсистемы, модули. Определение
взаимодействия. Реализация замкнутостивзаимодействия. Реализация замкнутости
подсистем.подсистем.
Средний уровень – реализация техническихСредний уровень – реализация технических
решений. Выделение макрослоев.решений. Выделение макрослоев.
Проектирование модулей. ОпределениеПроектирование модулей. Определение
потоков данных.потоков данных.
Нижний уровень – кодирование программ.Нижний уровень – кодирование программ.
Технологии кодирования. СтруктурноеТехнологии кодирования. Структурное
программирование.программирование.
18. 4 ДОКУМЕНТИРОВАНИЕ4 ДОКУМЕНТИРОВАНИЕ
Если отсутствует документация доступнаяЕсли отсутствует документация доступная
для всех – проект обречен на неудачудля всех – проект обречен на неудачу
Дональд Дуглас – «когда вес документовДональд Дуглас – «когда вес документов
достигает веса самолета, самолет начнетдостигает веса самолета, самолет начнет
летать»летать»
Документация создается на всех уровняхДокументация создается на всех уровнях
проектированияпроектирования
Использовать методы документированияИспользовать методы документирования
((HIPO, SADT, IA, UML)HIPO, SADT, IA, UML)
Самая трудная задача – организоватьСамая трудная задача – организовать
ведение документацииведение документации
19. РЕАЛИЗАЦИЯРЕАЛИЗАЦИЯ
Выбор языка программированияВыбор языка программирования
Выбор стандартов программированияВыбор стандартов программирования
Выбор инструментарияВыбор инструментария
программированияпрограммирования
Проектирование диалоговогоПроектирование диалогового
взаимодействиявзаимодействия
Уровни квалификации. ГлавныйУровни квалификации. Главный
программистпрограммист
Компоновка программКомпоновка программ
Контроль версий системыКонтроль версий системы
20. ТЕСТИРОВАНИЕ ИТЕСТИРОВАНИЕ И
ВЕРИФИКАЦИЯВЕРИФИКАЦИЯ
Верификация с начала разработкиВерификация с начала разработки
Проведение инспекций кодов программПроведение инспекций кодов программ
Тестирование отдельных модулейТестирование отдельных модулей
Тестирование скомпонованнойТестирование скомпонованной
программыпрограммы
Планирование тестированияПланирование тестирования
проводится одновременно с началомпроводится одновременно с началом
работработ
21. ПРЕДЪЯВЛЕНИЕ ПРОГРАММПРЕДЪЯВЛЕНИЕ ПРОГРАММ
«Да, это то что мы заказывали, но не то, что«Да, это то что мы заказывали, но не то, что
хотели» - Заказчикхотели» - Заказчик
После первого предъявления коллективПосле первого предъявления коллектив
разработчиков не должен уменьшатьсяразработчиков не должен уменьшаться
0
50
100
Начало 1 пред. 2 пред. 3 пред.
Неверно
Верно
23. Пять стадий развития всех новыхПять стадий развития всех новых
проектовпроектов
ЭйфорияЭйфория
РазочарованиеРазочарование
Поиск виновныхПоиск виновных
Наказание невиновныхНаказание невиновных
Награждение непричастных к делуНаграждение непричастных к делу