Объектно-ориентированное программирование Лекция 2
План <ul><li>Лабораторные работы </li></ul><ul><li>Требования к ПО </li></ul><ul><li>Декомпозиция </li></ul><ul><li>Заключ...
Лабораторные работы <ul><li>Нужно:  </li></ul><ul><li>—  команда из 2—3 человек </li></ul><ul><li>—  выбрать проект </li><...
Требования к проектам <ul><li>Работа с данными (сложная обработка данных) </li></ul><ul><li>Нормальный пользовательский ин...
Лабораторная работа №1 <ul><li>Когда: 2-го марта </li></ul><ul><li>Что нужно: </li></ul><ul><li>—  определиться с командой...
Возможные темы для проектов <ul><li>—  Собственный Jabber-клиент </li></ul><ul><li>—  Собственный twitter-клиент </li></ul...
Требования к ПО <ul><li>— простой текст, описывающий какие задачи должна решать программная система </li></ul>
Декомпозиция <ul><li>Для чего: </li></ul><ul><li>— постепенная разработка </li></ul><ul><li>— повторное использование кода...
Пример
Заключение 1 <ul><li>Декомпозиция позволяет: </li></ul><ul><li>— постепенная разработка </li></ul><ul><li>— повторное испо...
Заключение 2 <ul><li>Распределение модулей по уровням: </li></ul><ul><li>— позволяет четко определить уровень абстракции к...
Заключение 3 <ul><li>Принцип ортогональности: </li></ul><ul><li>— каждый модуль выполняет только свою функцию </li></ul><u...
C# и платформа .NET 3.0  C# with .NET 3.0 Эндрю Троелсен http://www.ozon.ru/context/detail/id/3938065/
Программист-прагматик Эндрю Хант, Дэйв Томас http://www.ozon.ru/context/detail/id/3353337/
 
Upcoming SlideShare
Loading in …5
×

Декомпозиция

1,379 views

Published on

Лекция Михаила Гуренкова по декомпозиции в рамках курса по ООП. Каф. Вычислительная математика и программирование, МАИ.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,379
On SlideShare
0
From Embeds
0
Number of Embeds
267
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Декомпозиция

  1. 1. Объектно-ориентированное программирование Лекция 2
  2. 2. План <ul><li>Лабораторные работы </li></ul><ul><li>Требования к ПО </li></ul><ul><li>Декомпозиция </li></ul><ul><li>Заключение </li></ul><ul><li>Книги </li></ul>
  3. 3. Лабораторные работы <ul><li>Нужно: </li></ul><ul><li>— команда из 2—3 человек </li></ul><ul><li>— выбрать проект </li></ul><ul><li>— согласовать состав команды по почте: [email_address] </li></ul>
  4. 4. Требования к проектам <ul><li>Работа с данными (сложная обработка данных) </li></ul><ul><li>Нормальный пользовательский интерфейс </li></ul><ul><li>Использование системы управления версиями ( SVN, VSS ) </li></ul><ul><li>К концу семестра должен получиться прототип (объем проекта должен укладываться в рамки курса) </li></ul>
  5. 5. Лабораторная работа №1 <ul><li>Когда: 2-го марта </li></ul><ul><li>Что нужно: </li></ul><ul><li>— определиться с командой </li></ul><ul><li>— идея проекта </li></ul><ul><li>— архитектура (проект системы) </li></ul><ul><li>— набросок пользовательского интерфейса </li></ul><ul><li>— план работы над проектом (с указанием сроков и исполнителей) </li></ul>
  6. 6. Возможные темы для проектов <ul><li>— Собственный Jabber-клиент </li></ul><ul><li>— Собственный twitter-клиент </li></ul><ul><li>— Собственный RSS -ридер </li></ul><ul><li>— Переводчик на основании нескольких интернет-сервисов </li></ul><ul><li>— Простой веб-браузер (html с простыми фиксированными стилями) </li></ul><ul><li>— Визуализатор MathML </li></ul><ul><li>— Визуализатор формул в формате TeX </li></ul>
  7. 7. Требования к ПО <ul><li>— простой текст, описывающий какие задачи должна решать программная система </li></ul>
  8. 8. Декомпозиция <ul><li>Для чего: </li></ul><ul><li>— постепенная разработка </li></ul><ul><li>— повторное использование кода </li></ul><ul><li>— модульный анализ (чем меньше объем, тем проще его понять) </li></ul><ul><li>— локализация изменений </li></ul><ul><li>— изолирование возникающих ошибок </li></ul>
  9. 9. Пример
  10. 10. Заключение 1 <ul><li>Декомпозиция позволяет: </li></ul><ul><li>— постепенная разработка </li></ul><ul><li>— повторное использование кода </li></ul><ul><li>— модульный анализ (чем меньше объем, тем проще его понять) </li></ul><ul><li>— локализация изменений </li></ul><ul><li>— изолирование возникающих ошибок </li></ul>
  11. 11. Заключение 2 <ul><li>Распределение модулей по уровням: </li></ul><ul><li>— позволяет четко определить уровень абстракции каждого модуля </li></ul><ul><li>— позволяет избежать лишних зависимостей между модулями </li></ul>
  12. 12. Заключение 3 <ul><li>Принцип ортогональности: </li></ul><ul><li>— каждый модуль выполняет только свою функцию </li></ul><ul><li>— исключено взаимодействие между объектами, не относящимися друг к другу </li></ul>
  13. 13. C# и платформа .NET 3.0 C# with .NET 3.0 Эндрю Троелсен http://www.ozon.ru/context/detail/id/3938065/
  14. 14. Программист-прагматик Эндрю Хант, Дэйв Томас http://www.ozon.ru/context/detail/id/3353337/

×