Основные этапы проектирования программы

1. Разработка технико-экономического обоснования системы (ТЭО): выполняется для большого проекта, целесообразность которого не очевидна. На этом этапе формулируются задачи (системы), определяются эконо­мические параметры: экономическая эффективность, срок окупаемости системы, сроки разработки системы, общие затраты. И в результате формируется технико‑экономическое обоснование, в котором обосно­вывается необходимость разработки систем.

2. Разработка технического задания (ТЗ): обследование объекта управления, составление документа технического задания с разделами: спи­сок систем, подсистем, решаемых задач, основные требования к раз­ра­ба­тываемым системам (типы и количество компьютеров, объемы инфор­мации), сроки и стоимость разработки, организации‑испол­нители, основные эко­но­мические показатели эффективности. До­ку­мент утвер­ждает­ся испол­ни­те­лем, заказчиком и их выше­стоя­­щи­­ми организациями. Документ является основой для дальнейшей раз­ра­ботки проекта. В случае изменения на последних этапах проектирования эти изменения вносятся в техническое за­да­ние и повторно утверж­дают­ся аналогично ТЗ.

ЛЕКЦИЯ 6. Основные этапы проектирования БД

3. Разработка технического проекта (ТП): разрабатываются алго­рит­мы решения задач, структура информационной базы данных, соот­ветству­ющие технические документы. Основные документы, разрабатываемые на этом этапе: описание организационных структур предприятия, описание информационной базы, постановка задачи (описание входной и выходной информации, алгоритмы обработки данных, формы входных и выходных документов), контрольный пример. Технический проект утверждается аналогично ТЗ.

4. Разработка рабочего проекта (РП): разработка и отладка программы, разработка различных технологических инструкций (по ис­поль­зованию входных и выходных документов), программные доку­менты (описание программ, руководство пользователя, руководство програм­миста, руководство системного программиста). Проект утверждается толь­ко разработчиками. Этап заканчивается сдачей системы в опытную эксплу­атацию на контрольном примере. Часто этапы ТП и РП объединяются в один ­‑ ТРП.

5. Опытная эксплуатация (ОЭ): обучение персонала, выявление и устра­нение ошибок. Заканчивается этап сдачей системы в промышленную эксплуатацию (ПЭ).

5. Общий порядок подготовки программ к выполнению

1. Разработка алгоритма программы.

2. Составление и ввод текста программы.

3. Компиляция программы, выявление и устранение обнаруженных синтаксических ошибок. У любого компь­ютера имеется система машин­ных команд, которые непосредственно могут выполняться, и они образуют машинный язык компьютера. Для любого языка программирования су­щест­вует специальная программа‑компилятор (транслятор), которая про­веряет и переводит исходный текст в объектный модуль на машинном язы­ке. Структура объектных модулей унифицирована для различных языков программирования. Специальная программа (Link) собирает все объектные мо­дули и другие компоненты в один исполнимый файл с расширением EXE, который непосред­ственно выполняется на компьютере.

Основные этапы проекта

4. Отладка (устранение ошибок в программе).

5. Тестирование программы. Тестирование ‑ это процесс обна­ру­же­ния ошибок программы. Отладка ‑ устранение ошибок.

6. Оптимизация программы.

7. Внешняя аттестация программы.

7. Определение, назначение, функции объектов, наборов объектов, двумерных файлов, отношений (таблиц), строк (кортежей), идентификаторов, первичных и вторичных ключей, инвертированных списков, элементарных данных, схем, подсхем, экземпляра схемы.

Схема — модель.
Объект (сущность) — предмет, человек или событие, о котором собирается и хранится информация.
Экземпляр объекта (кортеж, запись) — единичное значение объекта.
Ключ — атрибут или группа атрибутов (называемых ключевыми), однозначно определяющая экземпляр объекта (запись или строку таблицы).
Переменные характеризуются именем (идентификатором), типом, адресом и длиной (местоположение в оперативной памяти). Идентификатор состоит из последовательности (не более 40 символов для форм и объектов, и 255 для переменных и типов) букв, цифр и знаков подчеркивания и начинается с буквы.
Тип совокупность допустимых значений переменной. Все типы делятся на стандартные и нестандартные (пользовательские). Стандартные типы встроены в язык, не требуют описания в программе и имеют полные и сокращенные (идентификатор) обозначения. Подмодель (подсхема, внешняя схема) это представление о базе с точки зрения пользователя таблицы.

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

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

Объект, экземпляр объекта и атрибут соответствуют понятиям: таблица, строка (кортеж отноше-ния) и колонка таблицы соответст. Инвертированные списки позволяют существенно ускорить процесс поиска необходимой информации по сравнению с линейными списками. Это достигается с помощью упорядочивания (сортировки) записей исходного списка по значениям данных в одном из неключевых полей. Инвертирование исходного списка можно выполнить для отдельных (частичное инвертирование) или всех (полное инвертирование) неключевых полей исходного списка. Элементарные типы данных: bool — булево значение, char — 8-битовый целый тип, short — 16-битовый целый тип, int — 32-битовый целый тип, long — 32- или 64-битовый целый тип, long long[9] — 64-битовый целый тип, float — 32-битовое значение числа с плавающей точкой (IEEE 754), double — 64 битовое значение числа с плавающей точкой.

Читайте также:
Когда появилась программа время

Источник: infopedia.su

Основные этапы проектирования программ. Понятия интерфейса и внутренней реализации.

Типовой проект включает в себя следующие этапы разработки программного обеспечения:

· анализ требований к проекту;

· внедрение и поддержка.

На этапе анализа выделяются базовые сущности и взаимосвязи между ними.

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

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

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

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

Концепция абстрактных типов данных. Объекты и классы. Понятия состояния, поведения и идентификации объекта.

Абстрактные типы данных (АТД) являются математическим понятием, пригодным на этапе подготовки спецификации при объектно ориентированном проектировании.

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

Понятие класса, предусматривая частичную или полную реализацию, обеспечивает необходимую связь с разработкой ПО на этапах проектирования и программирования.

Одно из наиболее значимых отличий АТД от класса заключается в том, что абстрактный тип не содержит данных абстрактный тип представляет собой поведенческую абстракцию

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

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

Идентификацией или инициализацией объекта называется такая операция, которая позволяет определить некоторый экземпляр АТД. При идентификации устанавливаются неизменные свойства и изначальное состояние объекта. Идентификация объекта класса происходит в конструкторе

Парадигмы программирования: процедурное, модульное, объектно-ориентированное. Основные отличия.

Процедурное

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

Модульность — принцип, согласно которому программное средство разделяется на отдельные именованные сущности, называемые модулями. Модульность часто является средством упрощения задачи проектирования ПС и распределения процесса разработки ПС между группами разработчиков. При разбиении ПС на модули для каждого модуля указывается реализуемая им функциональность, а также связи с другими модулями.

Парадигма программирования, в которой основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы. Данные объекта скрыты от остальной программы — инкапсуляция. Объекты с одинаковыми интерфейсами могут иметь различную реализацию – полиморфизм. Наследование – свойство объекта которое позволяет объектам иметь некоторую реализацию но при этом обладать различными интерфейсами.

В процедурном программировании минимальная неделимая единица – функция. Программа = последовательность функций. Функция характеризуется входными и выходными параметрами.

В Модульном программировании минимальная единица – модуль. Модуль содержит данные либо процедуры. Программа – набор правил взаимодействия модулей.

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

Отношения между классами: ассоциация, агрегация, композиция, использование, наследование.

Ассоциация – взаимодействие объектов некоторых классов между собой.

Существуют следующие виды: однонаправленная, двунаправленная, агрегация, композиция и наследование.

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

При двунаправленной ассоциации происходит взаимное использование.

Агрегация – отношение «часть-целое» между двумя равноправными объектами. Оба объекта могут существовать независимо: если контейнер будет уничтожен, то его содержимое — нет

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

Читайте также:
Как повысить фпс в Роблокс без программ

Наследование – такой тип ассоциации объекта, который указывает на то, что один объект является частной формой другого другого. Пример наследования: пес -> животное

Необязательные принципы объектно-ориентированного программирования: типизация, параллелизм, сохраняемость.

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

Тип может связываться с программным объектом статически и динамически. Реализация позднего связывания в языке программирования позволяет создавать переменные — указатели на объекты, принадлежащие различным классам

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

Сохраняемость – способность объекта существовать во времени, переживая породивший его процесс, и (или) в пространстве, перемещаясь из своего первоначального адресного пространства. Состояние объекта можно сохранить в каком-нибудь виде. (JSON, XML)

Базовые принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Примеры применения.

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

int a, b; //данные открытого интерфейса

int ReturnSomething(); //метод открытого интерфейса

int Aa, Ab; //скрытые данные

void DoSomething(); //скрытый метод

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

Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

abstract class Animal

class Cat extends Animal

class Dog extends Animal

ПРИМЕР: Собственных пользовательских исключительных ситуаций

using namespace System;

public ref class EmployeeListNotFoundException: Exception

EmployeeListNotFoundException(String^ message, Exception^ inner)

Реализация

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

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

— Чтобы дать возможность определять и переопределять операции, необходимо ввести в язык соответствующие синтаксические конструкции. Вариантов их может быть достаточно много, но по сути они ничем друг от друга не отличаются, достаточно помнить, что запись вида « < операнд1> < знакОперации> < операнд2>» принципиально аналогична вызову функции « < знакОперации>(< операнд1>, < операнд2>)». Достаточно разрешить программисту описывать поведение операторов в виде функций — и проблема описания решена.

Основные этапы проектирования программ. Понятия интерфейса и внутренней реализации.

Типовой проект включает в себя следующие этапы разработки программного обеспечения:

· анализ требований к проекту;

· внедрение и поддержка.

На этапе анализа выделяются базовые сущности и взаимосвязи между ними.

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

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

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

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

Источник: lektsia.com

ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММЫ

Проектирование программного обеспечения выполняется в несколько этапов, что соответствует основным этапам объектно-ориентированного анализа и проектирования программных систем:

— проектирование и конструирование программы;

— доказательство правильности проекта (верификация);

— кодирование, т.е. описание программы на конкретном языке программирования;

— отладка и проверка правильности программы;

— доработка и улучшение;

— производство окончательного программного продукта.

Последовательный процесс объектно-ориентированного проектирования приведен на рисунке 2.

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

Читайте также:
Как настроить программу линия

Процесс объектно-ориентированного анализа и проектирования программы

Рисунок 2 — Процесс объектно-ориентированного анализа и проектирования программы

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

— какими должны быть входные данные;

— какие данные являются корректными, а какие ошибочными;

— кто будет использовать разработанное программное обеспечение, и каким должен быть интерфейс;

— какие ошибки необходимо выявлять, и какие сообщения необходимо выдавать пользователю при наличии ошибок;

— какими должны быть выходные данные;

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

Описание логической структуры

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

При проведении первого этапа проектирования была построена UML диаграмма вариантов использования (см. Приложение А).

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

Для моделирования процесса выполнения операций в языке UML была построена диаграмма деятельности (см. Приложение Б).

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

Для отражения последовательности передачи сообщений между объектами была построена диаграмма последовательностей действий (см. Приложение В).

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

Для представления общей конфигурации и топологии распределенной программной системы была построена диаграмма развертывания (см. Приложение Г).

Она применяется и содержит распределение компонентов по отдельным узлам системы. Кроме того, диаграмма развертывания показывает наличие физических соединений — маршрутов передачи информации между аппаратными устройствами, задействованными в реализации системы.

Для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования была построена диаграмма классов (см. Приложение Д).

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

Проектирование базы данных

В ходе разработки СУЭД была создана база данных.

Для управления БД используется веб-приложение PHPMyAdmin, входящее в состав XAMPP.

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

В Приложении Е приведена схема БД.

В Приложении Ж1 приведен листинг подключения приложения к БД, в Приложении Ж2 — создание таблиц, а в Приложении Ж3 — получение информации о пользователях из БД.

На рисунке 3 отображен список созданных в БД таблиц.

Список таблиц БД

Рисунок 3 — Список таблиц БД

автоматизированный управление электронный документ

В таблицу odm_access_log (рис.4) заносятся id файла и документа, метка timestamp — это последовательность символов или закодированной информации, показывающей, когда произошло определённое событие, а в поле action перечисляются даты.

Таблица odm_access_log

Рисунок 4 — Таблица odm_access_log

В таблице odm_admin (рис.5) проверяется значение является ли пользователь администратором или нет.

Таблица odm_admin

Рисунок 5 — Таблица odm_admin

В таблицу odm_category (рис.6) заносятся добавляемые пользователем категории.

Таблица odm_categoty

Рисунок 6 — Таблица odm_categoty

В таблицу odm_data (рис.7) заносится информация о документе.

Таблица odm_data

Рисунок 7 — Таблица odm_data

В таблицу odm_ department (рис.8) заносятся добавляемые пользователем отделы.

Таблица odm_department

Рисунок 8 — Таблица odm_department

В таблице odm_ dept_perms (рис.9) определяются права доступа для отдела.

Таблица odm_dept_perms

Рисунок 9 — Таблица odm_dept_perms

В таблице odm_dept_perms (рис.10) проверяется значение является ли пользователь рецензентом или нет.

Таблица odm_reviewer

Рисунок 10 — Таблица odm_reviewer

В таблице odm_dept_filetypes (рис.11) содержатся типы файлов.

Таблица odm_dept_filetypes

Рисунок 11 — Таблица odm_dept_filetypes

В таблицу odm_log (рис.12) заносится информация об изменении документа.

Таблица odm_log

Рисунок 12 — Таблица odm_log

В таблице odm_odmsys (рис.13) содержится информация о версии БД.

Таблица odm_odmsys

Рисунок 13 — Таблица odm_odmsys

В таблице odm_rights (рис.14) содержатся значения прав доступа.

Таблица odm_rights

Рисунок 14 — Таблица odm_rights

В таблице odm_settings (рис.15) содержатся значения настроек СУЭД.

Таблица odm_settings

Рисунок 15 — Таблица odm_settings

В таблицу odm_udf (рис.16) заносятся поля, создаваемые пользователем (например, заметки, комментарии и т.д.).

Таблица odm_udf

Рисунок 16 — Таблица odm_udf

В таблице odm_user (рис.17) содержится информация о пользователях (логин и пароль и т.д.). В качестве ключа используется числовой идентификатор.

Таблица odm_user

Рисунок 17 — Таблица odm_user

В таблице odm_user_perms (рис.18) содержатся значения прав доступа пользователей.

Таблица odm_user_perms

Рисунок 18 — Таблица odm_user_perms

Источник: studentopedia.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru