Проектирование программ со сложной структурой

Автор работы: Пользователь скрыл имя, 10 Декабря 2010 в 17:06, реферат

Описание

Большинство пользователей компьютеров используют программы, предназначенные для выполнения конкретных прикладных задач, таких как подготовка и оформление документов, математические вычисления, обработка изображений и т. п. Соответствующие программные средства называют прикладными программами или прикладным программным обеспечением. Управление компонентами вычислительной системы и формирование среды для функционирования прикладных программ берёт на себя системное программное обеспечение, наиболее важной составляющей которого является операционная система.

Все выше сказанное общее понятие того что такое программа, но не дает четкого ответа что такое программа со сложной структурой и как ее проектировать. В данной работе я предлагаю ответить на эти вопрос, что такое программа со сложной структурой и как ее проектировать.

Содержание

1.Введение.
2.Программа со сложной структурой.
3.Объектно-ориентированное программирование.
4.Структурное программирование.
5.Пример программы со сложной структурой «Microsoft Office».
6.Вывод.

Работа состоит из  1 файл

Проектирование программ со сложной структурой.docx

— 43.59 Кб (Скачать документ)

Проектирование  программ со сложной  структурой. 
 
 

Содержание: 

  1. Введение.
  2. Программа со сложной структурой.
  3. Объектно-ориентированное программирование.
  4. Структурное программирование.
  5. Пример программы со сложной структурой «Microsoft Office».
  6. Вывод.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение. 

Для того что  бы ответить на вопрос что же такое  программа со сложной структурой и в чем заключаются принципы проектирования такой программы, следует  вспомнить что такое компьютерная программа.

Компью́терная програ́мма — последовательность инструкций, предназначенная для исполнения устройством управления вычислительной машины. Чаще всего образ программы хранится в виде исполняемого модуля (отдельного файла или группы файлов). Из этого образа, находящегося как правило на диске, исполняемая программа в оперативной памяти может быть построена программным загрузчиком. В зависимости от контекста, рассматриваемый термин может относиться также и к исходным текстам программы.

Вместе с процедурами  и правилами, а также документацией, относящихся к функционированию систем обработки данных, программы  составляют программное обеспечение.

В системном  программировании существует более  формальное определение программы  как размещённых в оперативной  памяти компьютера данных и машинных кодов, исполняемых процессором для достижения некоторой цели. Здесь подчёркиваются две особенности: нахождение программы в памяти и её исполнение процессором.

Большинство пользователей компьютеров используют программы, предназначенные для выполнения конкретных прикладных задач, таких как подготовка и оформление документов, математические вычисления, обработка изображений и т. п. Соответствующие программные средства называют прикладными программами или прикладным программным обеспечением. Управление компонентами вычислительной системы и формирование среды для функционирования прикладных программ берёт на себя системное программное обеспечение, наиболее важной составляющей которого является операционная система.

Все выше сказанное  общее понятие того что такое  программа, но не дает четкого ответа что такое программа со сложной  структурой и как ее проектировать. В данной работе я предлагаю ответить на эти вопрос, что такое программа  со сложной структурой и как ее проектировать.   
 
 
 
 
 

Программа со сложной структурой.

Написанная на многих языка программирования программа  будет иметь в своем полном варианте примерно такую структуру  показанную ниже: 

Имя Программы;

Список  используемых библиотек (модулей);

Список  меток в основном блоке программы;

Определение констант

Описание  типов;

Определение глобальных переменных программы;

ОПИСАНИЕ  ПРОЦЕДУР;

ОПИСАНИЕ  ФУНКЦИЙ;

BEGIN

Основной  блок программы (операторы)

END. 

Таким образом, программа содержит два раздела: (I) раздел описаний и (II) исполняемую часть (основной блок). Раздел описаний, в принципе, не является обязательным и может вовсе отсутствовать.

Например, самая  короткая "программа" на языке  Турбо Паскаль выглядит следующим  образом: 

BEGIN

END. 

Она не выполняет  не какой прикладной задачи, но работает.

Основной  блок - это собственно программа, использующая все, что было описано и объявлено выше. Он часто начинается, словом BEGIN и заканчивается словом END с точкой. Любой текст после завершающей точки игнорируется компилятором. Структура же более сложной программы будет иметь такой же вид, за исключением того что в нее будет вложено больше операторов, циклов, функций и процедур. Такие программы разрабатывает чаше всего один программист, и они все же просты. Более правильным определением программы со сложной структурой будет следующее определение.

Программа со сложной  структурой – это крупный программный комплекс, разрабатываемый командой программистов. Где каждый из членов команды создает отдельный компонент комплекса (свою «простую» программу).  Далее которые объединение в конечный продукт. Такая программа может решать более сложные прикладные задачи  и даже несколько задач. 

Объектно-ориентированное  программирование.

Для проектирования и создания программы со сложной  структурой идеально подходит метод объектно-ориентированного программирования.  

Объектно-ориентиированное программиирование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов.

Класс — это тип, описывающий устройство объектов. Понятие «класс» подразумевает некоторое поведение и способ представления.

Объект — сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса.

Прототип — это объект-образец, по образу и подобию которого создаются другие объекты.

Объектное и  объектно-ориентированное программирование (ООП) возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны.

В настоящее  время количество прикладных языков программирования, реализующих объектно-ориентированную  парадигму, является наибольшим по отношению  к другим парадигмам. В области  системного программирования до сих  пор применяется парадигма процедурного программирования, и общепринятым языком программирования является язык C. Хотя при взаимодействии системного и прикладного уровней операционных систем заметное влияние стали оказывать языки объектно-ориентированного программирования. Например, одной из наиболее распространенных библиотек мультиплатформенного программирования является объектно-ориентированная библиотека Qt, написанная на языке C++.

Основные  понятия

Инкапсуляция 

    Инкапсуляция — это принцип, согласно которому любой класс должен рассматриваться как чёрный ящик — пользователь класса должен видеть и использовать только интерфейсную часть класса (т. е. список декларируемых свойств и методов класса) и не вникать в его внутреннюю реализацию. Поэтому данные принято инкапсулировать в классе таким образом, чтобы доступ к ним по чтению или записи осуществлялся не напрямую, а с помощью методов. Принцип инкапсуляции (теоретически) позволяет минимизировать число связей между классами и, соответственно, упростить независимую реализацию и модификацию классов.

    Сокрытие данных 

    Сокрытие данных — неотделимая часть ООП, управляющая областями видимости. Является логическим продолжением инкапсуляции. Целью сокрытия является невозможность для пользователя узнать или испортить внутреннее состояние объекта.

Наследование 

    Наследованием называется возможность порождать  один класс от другого с сохранением всех свойств и методов класса-предка (прародителя, иногда его называют суперклассом) и добавляя, при необходимости, новые свойства и методы. Набор классов, связанных отношением наследования, называют иерархией. Наследование призвано отобразить такое свойство реального мира, как иерархичность.

Полиморфизм 

    Полиморфизмом называют явление, при котором функции (методу) с одним и тем же именем соответствует разный программный  код (полиморфный код) в зависимости  от того, объект какого класса используется при вызове данного метода. Полиморфизм  обеспечивается тем, что в классе-потомке  изменяют реализацию метода класса-предка с обязательным сохранением сигнатуры метода. Это обеспечивает сохранение неизменным интерфейса класса-предка и позволяет осуществить связывание имени метода в коде с разными классами — из объекта какого класса осуществляется вызов, из того класса и берётся метод с данным именем. Такой механизм называется динамическим (или поздним) связыванием — в отличие от статического (раннего) связывания, осуществляемого на этапе компиляции.

Особенности реализации

Как уже говорилось выше, в современных объектно-ориентированных  языках программирования каждый объект является значением, относящимся к  определённому классу. Класс представляет собой объявленный программистом составной тип данных, имеющий в составе:

Поля данных

    Параметры объекта (конечно, не все, а только необходимые  в программе), задающие его состояние (свойства объекта предметной области). Иногда поля данных объекта называют свойствами объекта, из-за чего возможна путаница. Физически поля представляют собой значения (переменные, константы), объявленные как принадлежащие  классу.

Методы 

    Процедуры и  функции, связанные с классом. Они  определяют действия, которые можно  выполнять над объектом такого типа, и которые сам объект может  выполнять.

Взаимодействие  объектов в абсолютном большинстве  случаев обеспечивается вызовом  ими методов друг друга.

Инкапсуляция  обеспечивается следующими средствами

Контроль доступа 

    Поскольку методы класса могут быть как чисто внутренними, обеспечивающими логику функционирования объекта, так и внешними, с помощью  которых взаимодействуют объекты, необходимо обеспечить скрытость первых при доступности извне вторых. Для этого в языки вводятся специальные синтаксические конструкции, явно задающие область видимости  каждого члена класса. Традиционно  это модификаторы public, protected и private, обозначающие, соответственно, открытые члены класса, члены класса, доступные только из классов-потомков и скрытые, доступные  только внутри класса. Конкретная номенклатура модификаторов и их точный смысл  различаются в разных языках.

Методы доступа 

    Поля класса, в общем случае, не должны быть доступны извне, поскольку такой доступ позволил бы произвольным образом менять внутреннее состояние объектов. Поэтому поля обычно объявляются скрытыми (либо язык в принципе не позволяет обращаться к полям класса извне), а для  доступа к находящимся в полях  данным используются специальные методы, называемые методами доступа. Такие  методы либо возвращают значение того или иного поля, либо производят запись в это поле нового значения. При записи метод доступа может  проконтролировать допустимость записываемого  значения и, при необходимости, произвести другие манипуляции с данными  объекта, чтобы они остались корректными (внутренне согласованными). Методы доступа называют ещё аксессорами (от англ. access — доступ), а по отдельности — геттерами (англ. get — чтение) и сеттерами (англ. set — запись)[2].

Информация о работе Проектирование программ со сложной структурой