Важными при разработке процессов проектирования являются такие понятия, как стратегия и тактика.
Стратегия (от греч. stratos — войско и ago — веду) — наука, искусство генерации наиболее существенных общих долгосрочных целей и наиболее общего плана достижения преимущества, курса действий и распределения ресурсов еще до выполнения реальных действий.
Тактика (от греч. taktika — искусство приводить в порядок) — фиксированная в своей последовательности совокупность средств и приемов для достижения намеченной цели и искусство ее применения, способы действия, ориентированные на достижение конкретных целей, являющиеся звеньями реализации стратегических целей. Целью применения способа действия является совершение оптимальных действий, в заранее не предсказанных стратегическим планом ситуациях, уже в процессе выполнения реальных действий.
Стратегия охватывает теорию и практику подготовки к выполнению проекта, а также наиболее общее планирование тактик ведения проектов. Стратегия определяет, куда, в каком направлении двигаться, куда держать курс еще до начала проекта. А тактика определяет, как, каким способом двигаться, какие конкретные действия предпринимать при затруднениях в ходе выполнения проекта.
Стратегия выполнения конкретного проекта описывается в программном документе — техническом задании.
Методология (от греч. methodos и logos — слово, учение о методах) — система принципов и способов организации и построения теоретической и практической деятельности, а также учение об этой системе.
Методология программированияизучает методы с точки зрения основ построения. Это объединенная единым философским подходом совокупность методов, применяемых в процессе разработки программных продуктов. Любая методология создается на основе уже накопленных в предметной области эмпирических фактов и практических результатов.
Технология(от греч. techne — искусство, мастерство, умение и logos — слово, учение) — совокупность производственных процессов в определенной отрасли производства, а также научное описание способов производства, совокупность приемов, применяемых в каком-либо деле, мастерстве, искусстве.
Современная методология проектирования позволила довести методы проектирования до технологий с набором методик.
Технология программированиякак наука изучает технологические процессы и порядок их прохождения (с использованием знаний, методов и средств). Технологический процесс — последовательность направленных на создание заданного объекта действий (технологических процедур и операций), каждое из которых основано на каких-либо естественных процессах и человеческой деятельности. Знания, методы и средства могут использоваться в разных процессах и, следовательно, в технологиях.
Технология программирования— для инженера это научная и практически апробированная стратегия создания программ, содержащая описание совокупности методов и средств разработки программ, а также порядок применения этих методов и средств.
В реальных проектных ситуациях необходим синтез рациональной стратегии каждого конкретного проекта. Инженеры часто этот синтез осуществляют на основе одной, двух и даже трех технологий.
Инженерное дело (деятельность по созданию и использованию технологий) охватывает не только проектирование и производство, но и структуры организаций с взаимодействием людей. В терминах инженерного дела технология — инструментарий инженера, интеллектуальный либо отчужденный в виде искусственных систем.
Главное различие между технологией программирования и программной инженерией заключается в способе рассмотрения и систематизации материала. В технологии программирования акцент делается на изучении процессов разработки программ (технологических процессов) в порядке их прохождения — методы и инструментальные средства разработки программ используются в этих процессах (их применение и образуют технологические процессы). В программной инженерии изучаются прежде всего методы и инструментальные средства разработки программ с точки зрения достижения определенных целей — они могут использоваться в разных технологических процессах (и в разных технологиях программирования). Как эти методы и средства образуют технологические процессы — вопрос второстепенный.
Читать дальше