Проектирование ПО для С++
Кто программирует на С++ (именно на С++ а не просто на С), знает что перед тем как написать программу необходимо нарисовать блок схему, я сам уже давненько занимаюсь программированием на С++, но процесс проектирования всегда избегал, теперь понял что без проектирования дальше делать нечего. Для С это легко ,обычная линейна схема с ветвлениями. А вот как быть с С++, там ведь не линейная структура (кроме того что находится внутри методов класса). Как правильно на бумаге начертить взаимосвязь между классами? Есть наверное же какието давно уже разработанные методы по разработке этих блок-схем, может есть и редакторы какие нить. Кто знает где это можно взять скажите если не трудно, и почитать бы какую нить лит-ру по проектированию ОО программ.
ЗЫ
Спасибо за внимание.
Дарофте все.
Кто программирует на С++ (именно на С++ а не просто на С), знает что перед тем как написать программу необходимо нарисовать блок схему, я сам уже давненько занимаюсь программированием на С++, но процесс проектирования всегда избегал, теперь понял что без проектирования дальше делать нечего. Для С это легко ,обычная линейна схема с ветвлениями. А вот как быть с С++, там ведь не линейная структура (кроме того что находится внутри методов класса). Как правильно на бумаге начертить взаимосвязь между классами? Есть наверное же какието давно уже разработанные методы по разработке этих блок-схем, может есть и редакторы какие нить. Кто знает где это можно взять скажите если не трудно, и почитать бы какую нить лит-ру по проектированию ОО программ.
ЗЫ
Спасибо за внимание.
ИМХО: Я например вообще блок схемы не рисую
просто делаю небольшие наброски - что в итоге должно быть и как это все реализовать(по шагам)
Дарофте все.
А вот как быть с С++, там ведь не линейная структура (кроме того что находится внутри методов класса). Как правильно на бумаге начертить взаимосвязь между классами?
Обычно классы описываются при помощи диаграмм классов - это одна из нотаций языка UML. Короче, если хочешь не просто кодить, то изучай UML и паттерны проектирования. По ним куча инфы в инете ...
Обычно классы описываются при помощи диаграмм классов - это одна из нотаций языка UML. Короче, если хочешь не просто кодить, то изучай UML и паттерны проектирования. По ним куча инфы в инете ...
Например: http://www.intuit.ru
Дарофте все.
Кто программирует на С++ (именно на С++ а не просто на С), знает что перед тем как написать программу необходимо нарисовать блок схему,
В этом нет необходимости.
я сам уже давненько занимаюсь программированием на С++, но процесс проектирования всегда избегал, теперь понял что без проектирования дальше делать нечего.
Проектирование - это правильно.
Для С это легко ,обычная линейна схема с ветвлениями. А вот как быть с С++, там ведь не линейная структура (кроме того что находится внутри методов класса).
Проектирование не зависит от языка реализации.
Как правильно на бумаге начертить взаимосвязь между классами? Есть наверное же какието давно уже разработанные методы по разработке этих блок-схем,
Это называется не "блок-схемами", а диаграммами (классов, взаимодействий, последовательностей). Об этом можно почитать в любой книге по UML. Но не увлекайся, в самом UML пользы для небольших фирм, и тем более отдельных разработчиков, мало.
может есть и редакторы какие нить.
Есть, но забудь про них. Самый лучший редактор - бумага и карандаш. Если тебе этого будет мало, то значит, что ты уже на ложном пути.
Кто знает где это можно взять скажите если не трудно, и почитать бы какую нить лит-ру по проектированию ОО программ.
Почитай про паттерны проектирования, про XP (eXtremProgramming), про TDD (Test Drive Development), ну и слегка про UML, чтоб иметь представление о диаграммах и использовать некоторые обозначения.
За конкретикой в поиск и google.com, ya.ru
UML: Основы. М. Фаулер, К. Скотт.
найти можно здесь:
http://www.zipsites.ru/books/fauler_osnovy_uml/
А из редакторов меня лично устраивает Visio от Microsoft.