Смекни!
smekni.com

Методические указания по выполнению выпускной квалификационной работы для студентов всех форм обучения Рекомендовано к печати (стр. 8 из 10)

2) Интернет-программирование: создание разнообразных интерактивных динамических корпоративных и тематических сайтов с применением технологий HTML, JavaScript, ASP/JSP, Java, PHP, Flash и т.п.

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

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

5) Разработка системного программного обеспечения, в том числе разнообразных драйверов, сервисов, служб, протоколов, COM-серверов, утилит (например, корпоративная система обмена сообщениями по электронной почте, интернет-пейджинг, антивирусы; архиваторы).

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

Применение в дипломном проекте исключительно существующего (стороннего) программного обеспечения без проведения всестороннего анализа решаемой проблемы, убедительного обоснования выбора программных средств и демонстрации знаний и умений студента в области управления жизненным циклом программного продукта НЕ ДОПУСКАЕТСЯ.

2. Основные этапы решения прикладных задач

При всём многообразии и различии задач, решаемых инженером-программистом, можно указать следующие типовые этапы реализации дипломного проекта:

5. Формулировка проблемы и конкретизация решаемой задачи.

6. Выбор или разработка методов решения задач.

7. Реализация решения.

8. Анализ и документирование полученных результатов.

Формулировка проблемы и конкретизация решаемой задачи

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

Данный этап отражается во «Введении», где формулируется проблема, связанная с темой дипломного проекта, и выполняется обоснование её выбора через актуальность и новизну исследования; цели и задачи исследования; описание объекта исследования.

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

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

Обзор рекомендуется проводить, например, в следующем виде:

«В работе [1] рассмотрен подход к построению информационных систем на основе технологии… Работы [2‑5] посвящены…» и т.д.

Материалы обзора следует систематизировать в определённой логической последовательности. Не нужно излагать всё, что стало известно студенту из прочитанного, и имеет лишь косвенное отношение к теме дипломного проекта.

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

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

· http://msdn.microsoft.com и http://www.microsoft.com/rus/msdn («Microsoft developer network»);

· http://www.infocity.kiev.ua (сайт «InfoCity»);

· http://citforum.ru («Сервер Информационных Технологий «CIT Forum»);

· http://www.rusdoc.ru (сайт «Русские документы (Русская компьютерная библиотека)»);

· http://www.codenet.ru (сайт «CodeNET»);

· http://www.exponenta.ru («Образовательный математический сайт»).

Для поисков других источников информации по теме дипломного проекта необходимо использовать поисковые системы Интернет, как отечественные (Яндекс), так и зарубежные (Google, Yahoo). Целесообразно использовать более чем одну поисковую систему.

Выбор или разработка метода решения задач

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

· выбрать в соответствии с постановкой задачи класс методов решения или возможных путей решения задачи;

· рассмотреть суть методов, входящих в выбранный класс, с анализом их достоинств и недостатков;

· указать (разработать) конкретный метод, который будет использован для решения задачи с обоснованием его применения;

· составить UML-модели решения задачи в виде диаграмм вариантов использования, последовательности для вариантов использования, классов, размещения и компонентов;

· привести алгоритм решения задачи в виде словесного описания (псевдокода) или блок-схемы.

Данные вопросы в краткой форме должны быть изложены в докладе.

Модель и алгоритм решения задачи должны быть отражёны на слайдах презентации.

Реализация решения

Данный этап является основным и отражается в третьем разделе пояснительной записки.

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

· бизнес-анализ и определение требований;

· проектирование;

· разработка (кодирование);

· тестирование и оценка качества;

· документирование;

· внедрение и сопровождение.

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

В первом подразделе приводятся результаты предпроектного обследования, проводимого совместно с заказчиком и потенциальными пользователями. Полученные материалы должны быть оформлены в виде технического задания и обязательно должны включать сведения о назначении продукта, набор требований к нему и описание границ проекта. Рекомендуется описание требований иллюстрировать UML и IDEF0-диаграммами, описывающими сценарии взаимодействия пользователя с продуктом, порядок передачи сообщений от одних объектов к другим, взаимодействие объектов друг с другом, потоки работ и изменение состояний объектов. Для создания таких диаграмм можно применять такие современные продукты как Microsoft Visio, IBM Rational Rose, IBM Rational XDE, Borland Together, CA AllFusion Process Modeler (ранее известный как BPwin). Для того чтобы облегчить реализацию требований на последующих этапах разработки, рекомендуется использовать специальные средства управления требованиями, например, RequisitePro, DOORS, CaliberRM.

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

Инструментальное обеспечение данного подраздела может осуществляться программными средствами трёх типов. Диаграммы классов и диаграммы развёртывания реализуются с помощью тех же средств UML-моделирования, что использовались и в предыдущем подразделе. Для проектирования данных можно использовать AllFusion Data Modeler (ранее известный как ERwin), Sybase Power Designer, Oracle Designer, Microsoft Visio и аналогичные инструменты, обеспечивающие возможность автоматической генерации базы данных для выбранного типа СУБД. Прототипирование интерфейса может выполняться с применением средств Microsoft Visio, графических редакторов либо непосредственно в рамках используемого средства разработки приложений.

Третий подраздел посвящён непосредственно созданию кода приложения (продукта). Основным инструментом здесь является средство разработки приложения. Выбор такого средства определяется в первую очередь платформой (Win32 API, UNIX/Linux, MS .NET, Java/ME/SE/EE и т.п.) и архитектурой приложения (служба, GUI-приложение, консольное приложение и т.п.) и должен осуществляться и обосновываться в предыдущих подразделах. При этом предпочтение следует отдавать современным компонентным оболочкам и технологиям (Embarcadero Delphi/Kylix/C++ Builder/Java Builder, Microsoft Visual C++/C#, Java NetBeans и т.п.). Желательно, чтобы средство разработки приложения могло взаимодействовать со средствами моделирования и управления требованиями, поддерживая прямое и обратное проектирование, синхронное изменение кода и модели, а также обеспечивало средства оптимизации и отладки кода.