Лекция 5. Этап разработки программной системы (программирование)
В жизненном цикле программных систем после этапа проектирования следует этап разработки (программирования). Этап разработки или программирования может выполняться как в рамках структурной, так и объектно-ориентированной методологии. Каждая из методологий характеризуется набором технологий и языков для выполнения этого этапа.
Смысл структурного подхода состоит в декомпозиции системы на ряд модулей, процедур, функций и структур данных, связанных общим алгоритмом функционирования системы. В основе объектно-ориентированной методологии (ООМ) лежит объектный подход: прикладная предметная область представляется в виде совокупности объектов, которые взаимодействуют между собой посредством передачи сообщений.
Корпорацией Microsoft предложен новаторский компонентно-ориентированный подход к программированию, который является развитием объектно-ориентированного направления. Технологическая платформа .NET Framework обеспечивает одновременную поддержку проектирования и реализации программного обеспечения с использованием различных языков программирования. При этом поддерживаются десятки языков программирования, начиная от самых первых (в частности, COBOL и FORTRAN) и заканчивая современными (например, C# и Visual Basic).
Следует отметить и то обстоятельство, что новая технология .NET не только востребована мировой общественностью, но и официально признана, что отражено в соответствующих стандартах ECMA (European Computer Manufacturers Association).
При этом несомненным преимуществом для программистов является то, что они могут разрабатывать (или дорабатывать) программное обеспечение на наиболее подходящем языке программирования. Здесь следует учитывать характер задачи (скажем, рекурсию или символьную обработку более естественно реализовать на языке функционального программирования, а формализацию структуры предметной области – на объектно-ориентированном языке). Кроме того, необходимо принимать во внимание опыт работы программистов в команде разработчиков и тот язык программирования, на котором изначально создавалась система.
Отметим еще два существенных обстоятельства. Во-первых, основные сервисные возможности для разработчиков, которые предоставляет среда .NET (отладка, анализ кода и т. д.) не зависят от конкретного языка программирования, и, следовательно, программистам нет необходимости заново постигать особенности среды разработки, если требуется перейти с одного языка на другой. Во-вторых, несмотря на то, что еще не все языки программирования поддерживаются .NET, существует возможность разработки транслятора для любого языка программирования.
Рассмотрим инструментальные возможности .NET как среды проектирования и реализации программного обеспечения, то есть, собственно, программирования в широком смысле этого слова.
Главные компоненты платформы .Net
Теперь, когда вы знаете о некоторых преимуществах, обеспечиваемых .NET, следует познакомиться с основными компонентами, которые и обеспечивают эти преимущества: CLR, CTS, CLS и библиотека базовых классов.
С точки зрения программиста, .NET Framework можно определить как среду выполнения программ и всеобъемлющую библиотеку базовых классов.
Слой среды выполнения в .NET называется CLR (Common Language Runtime) – общеязыковая среда выполнения. Задачей CLR является размещение, загрузка и управление .NET –типами, а также решение таких низкоуровневых задач, как управление памятью и проверка безопасности.
CTS (Common Type System) – общая система типов полностью описывает все типы данных и программные конструкции, поддерживаемые средой выполнения. Конкретный язык, совместимый с .NET, может и не поддерживать абсолютно все возможности, определенные в CTS.
В связи с этим используются связанные спецификации CLS (Common Language Specification) – общеязыковые спецификации, которые определяют подмножество общих типов и программных конструкций, понятных всем языкам программирования, совместимым с .NET.
Платформа .NET имеет обширную библиотеку базовых классов, доступную всем языкам программирования .NET.
