Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_DP_04_1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
381.95 Кб
Скачать

3.3.2 3Адание на дипломный проект

В пояснительной записке прилагается полностью заполненное и подписанное задание на дипломный проект.

3.3.3 Аннотация

Аннотация к ПЗ выполняется на русском языке, в соответствии с требованиями ГОСТ 7.9-77. Аннотация строится по следующей схеме:

  • общие сведения о ПЗ;

  • текст аннотации.

Общие сведения содержат сведения о ПЗ, количестве страниц, иллюстраций, наличии приложений, количестве библиографических источников.

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

3.3.4 Содержание

В содержании указываются наименования разделов и номера их начальных страниц. Если ПЗ содержит приложения, то в содержание включается подзаголовок "Приложения" и далее указываются все размещаемые в этом разделе приложения.

3.3.5 Введение

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

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

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

3.3.6 Содержание основных разделов для направления «Разработка программного модуля или комплекса программных модулей различного назначения»

1. Аналитическая часть

1.1. Описание предметной области.

1.2. Анализ подходов и методов решения задачи.

1.3. Разработка технического задания (ТЗ).

2. Специальная часть

2.1. Обоснование и выбор программных средств обеспечения проектирования (BPWIN, ERWIN, Rational Rose и т.д.) и разработки структуры классов.

2.2. Обоснование и выбор средств разработки (Delphi, Net, Visual Basic и т.д.), обоснование и выбор платформы (1С, Галактика, Axapta, Парус и т.д.).

2.3. Математические методы и специальные алгоритмы решения задачи. Оценка сложности алгоритма решения задачи.

3. Проектная часть (обоснование проектных решений по видам обеспечения)

3.1. Информационное обеспечение

3.1.1. Описание входной, выходной и промежуточной (расчетной) информации.

3.1.2. Проектирование и обоснование выбора структуры данных.

3.2. Программное обеспечение

3.2.1 Функциональная схема ПО.

3.2.2. Структурная схема и описание программных модулей. Структура классов.

3.2.3. Разработка экранного интерфейса программы.

3.2.4. Схема взаимосвязи (взаимодействия) программных модулей.

3.2.5. Разработка и отладка программных модулей.

3.2.6. Тестирование ПО.

4. Документация

4.1. Описание технических требований к условиям эксплуатации программного продукта (модуля).

4.2. Программа и методика испытаний.

4.3. Руководство программиста и пользователя.

4.4. Расчет надежности программного продукта (модуля).

Аналитическая часть

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

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

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

При анализе подходов и методов решения задачи необходимо:

  • провести сравнительный анализ методов решения задачи;

  • выбрать наилучший метод;

  • обосновать выбор алгоритмов для реализации выбранного метода.

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

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

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

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

Техническое задание в общем случае должно содержать следующие разделы:

  • наименование работы;

  • основание для разработки;

  • цель и задачи разработки;

  • исполнитель, соисполнители;

  • стадии и этапы разработки;

  • сроки выполнения;

  • требования к программе и программному обеспечению;

  • технико-экономические показатели;

  • порядок контроля и приемки.

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

В разделе «Наименование работы, шифр» указывают наименование темы разработки, краткую характеристику области применения программы, программного обеспечения и объекта, в котором они должны быть использованы.

В разделе «Основание для разработки» указывают документ (документы), на основании которых ведется разработка, организацию, утвердившую этот документ и дату его утверждения.

В разделе «Цель и задачи разработки» приводят функциональное и эксплуатационное назначение программы и программного обеспечения.

В разделе «Исполнитель, соисполнители» указывают наименование предприятия-исполнителя и соисполнителей (при наличии).

В разделе «Стадии и этапы разработки» указывают необходимые стадии разработки, этапы и содержания работ, сроки разработки, а также определяют исполнителей. Раздел «Стадии и этапы разработки» представляют в виде таблицы по форме, приведенной на рис.1.

Форма «Стадии и этапы разработки»

В разделе «Сроки выполнения» указывают сроки начала и окончания работы.

В разделе «Требования к программе и программному обеспечению» приводят:

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

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

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

  • специальные требования.

В разделе «Технико-экономические показатели» приводят:

  • ориентировочную экономическую эффективность;

  • предполагаемую годовую потребность;

  • экономические преимущества разработки по сравнению с лучшими отечественными и зарубежными образцами или аналогами.

В разделе «Порядок контроля и приемки» приводят виды испытаний и общие требования к приемке работы.

Специальная часть

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

В данном разделе приводят перечень методов программирования и средств разработки программного обеспечения с указанием частей, при разработке которых следует использовать соответствующие методы и средства. Обычно рассматриваются: архитектура СУБД, сервер базы данных, инструментальные средства разработки программного обеспечения клиента.

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

Задачи проектирования включают в себя две составляющие: логическое и физическое проектирование программных продуктов. Логическое проектирование заключается в разработке классов для реализации их экземпляров – объектов. Для этого требуется подробное описание полей и методов классов, а также связей между ними. Для этого используются статические диаграммы классов и объектов, динамические – последовательностей состояний и кооперации. Физическое проектирование предполагает построение программных компонентов из ранее определенных классов и объектов и размещение их на конкретных вычислительных устройствах.

В качестве программных средств проектирования системы могут быть выбраны BPWIN, ERWIN, Rational Rose и др.

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

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

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

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

− математическими выводами;

− формальным изложением и анализом метода (алгоритм, порядок выполнения этапов);

− анализом ожидаемых результатов;

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

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

− собственными экспериментальными исследованиями.

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

Оценка временной сложности разработанного алгоритма должна быть приведена в терминах O-функций.

Проектная часть

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

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

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

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

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

Архитектура ПО – это его строение, как оно видно (или должно быть видно) извне его, т. е. представление ПО как системы, состоящей из некоторой совокупности взаимодействующих подсистем.

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

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

  • однопользовательскую архитектуру;

  • многопользовательскую (сетевую) архитектуру.

Кроме того, в рамках однопользовательской архитектуры различают:

    • программы – упорядоченная последовательность формализованных инструкций для решения задачи с помощью компьютера;

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

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

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

Многопользовательскую архитектуру реализуют системы, построенные по принципу «клиент — сервер».

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

Функциональная спецификация состоит из трех частей:

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

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

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

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

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

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

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

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

  • сокращению длительности операций чтения, редактирования и поиска информации;

  • уменьшению времени навигации и выбора команды;

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

  • увеличению длительности устойчивой работы пользователя и др.

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

Модуль характеризуют:

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

  2. Функциональная завершенность – модуль выполняет перечень регламентированных операций для реализации каждой отдельной функции в полном составе, достаточных для завершения начатой обработки;

  3. Логическая независимость – результат работы программного модуля зависит только от исходных данных, но не зависит от работы других модулей;

  4. Слабые информационные связи с другими программными модулями – обмен информацией между модулями должен быть по возможности минимизирован;

  5. Обозримый по размеру и сложности программный элемент.

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

Отладка программных модулей – это процесс локализации и исправления ошибок в них. Отладка бывает двух видов:

  • синтаксическая отладка. Синтаксические ошибки выявляет компилятор, поэтому исправлять их достаточно легко;

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

Автономное тестирование модуля предполагает 4 шага.

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

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

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

  • Проверка текста модуля, чтобы убедиться, что существуют тесты, проверяющие чувствительность к отдельным особым значениям входных данных. Добавление недостающих тестов.

Результатом этого этапа должен быть отчет о найденных ошибках.

В разделе «Тестирование ПО» должны быть определены цели тестирования ПО, указаны требования ТЗ, подлежащие проверке во время тестирования. Раздел может содержать разработку программных средств и перечень обязательных технических средств, обеспечивающих возможность проведения тестирования.

Основным содержанием раздела должна быть разработка, выбор и анализ методов испытания. В разделе должны быть представлены основные результаты проведенного тестирования, степень соответствия разработанного по требованиям ТЗ. Все тесты и результаты тестирования должны быть размещены в приложении.

Документация

Описание технических требований к условиям эксплуатации программного продукта (модуля).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]