Глава 3. Проектирование программного обеспечения
Слово «Проектирование» определяется в словаре как «Придание формы в соответствии с планом». Термин «Проектирование программного обеспечения» укоренился, или, по крайней мере, сделался популярным после двух конференций, организованных НАТО в 1968, 1969 гг.
Проектирование программного обеспечения представляет собой иерархическую декомпозицию, т.е. разбиение сложного проекта (проблемы) на ряд проще решаемых небольших проблем, которые, в свою очередь разделяются на подпроблемы до тех пор, пока каждая необходимая деталь в ней не будет определена достаточно ясно.
Концепция иерархической декомпозиции настолько естественна, что мы не всегда в состоянии осознать, как часто нам приходится использовать ее на практике. Она вытекает из человеческой потребности иметь дело с поддающимся управлению вполне определенным числом дискретных источников информации и производить «отсечение» информации до тех пор, пока число дискретных источников не станет приблизительно равно семи.
Строгая иерархическая декомпозиция подчиняется правилам:
1. На каждом уровне иерархии план или проект должен иметь законченный вид на данном уровне детализации;
2. На любом уровне иерархии каждое разбиение полностью охватывает отдельную функцию или проблему, соответствующую данному уровню детализации.
Некоторые формы иерархической декомпозиции программных средств называются так:
— нисходящее проектирование программного обеспечения;
— структурное проектирование программного обеспечения;
— структурированные планы выпуска и спецификаций изделия;
— поэтапное проектирование программного обеспечения;
— нисходящее программирование;
— модульное программирование;
— структурное программирование;
Проектирование охватывает различные виды деятельности по созданию программного обеспечения — от функциональной декомпозиций системы, определения архитектуры программного изделия до получения готового программного продукта и может быть разделено на этапы: конструирование, программирование и оценку программного продукта.
На этом этапе создается и на 90 % приобретает свою окончательную форму разрабатываемое программное обеспечение.
- Проблемы проектирования больших программных средств
- Методическая поддержка процесса проектирования программного обеспечения
- Технологическая поддержка процесса проектирования программного обеспечения
- Инструментальная поддержка процесса проектирования программного обеспечения
- Организационная поддержка процесса проектирования программного обеспечения
- Восходящее и нисходящее проектирование программного обеспечения
- Объектно-ориентированные технологии проектирования прикладных программных средств
- Объектная модель системы
- РЕЗЮМЕ
- Темы для повторения