Научная статья на тему 'РАЗРАБОТКА ПРОГРАММНЫХ КОМПЛЕКСОВ ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ ЗАДАЧ НА ЗАНЯТИЯХ ПО ДИСЦИПЛИНЕ "ПРОГРАММНАЯ ИНЖЕНЕРИЯ"'

РАЗРАБОТКА ПРОГРАММНЫХ КОМПЛЕКСОВ ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ ЗАДАЧ НА ЗАНЯТИЯХ ПО ДИСЦИПЛИНЕ "ПРОГРАММНАЯ ИНЖЕНЕРИЯ" Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
30
5
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНЫЙ КОМПЛЕКС / ПРИКЛАДНАЯ ЗАДАЧА / ПРОГРАММИРОВАНИЕ / ПРОГРАММНАЯ ИНЖЕНЕРИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Анисимова Э.С.

Статья посвящена изучению основных аспектов решения прикладных задач на занятиях по дисциплине «Программная инженерия». Поскольку решаемые задачи являются весьма трудоемкими, то предлагается командное решение поставленных задач. В статье приведены примеры некоторых прикладных задач, а также советы по организации работы команд.The paper studies main aspects of the decision of application tasks in the classroom for discipline "Software Engineering". Since the tasks to be solved are very labor-intensive, it is suggested that team decision of tasks. The article gives examples of some application tasks, as well as advice on the organization of work teams.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Анисимова Э.С.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «РАЗРАБОТКА ПРОГРАММНЫХ КОМПЛЕКСОВ ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ ЗАДАЧ НА ЗАНЯТИЯХ ПО ДИСЦИПЛИНЕ "ПРОГРАММНАЯ ИНЖЕНЕРИЯ"»

person we need at the most inapt moment. But the main drawback of mobile phones is their harmful influence on people's health. Doctors say that these devices do not only affect our eye-sight, but the immune system as well. That is why many of us fall ill constantly. The radiation received from mobile phones is also very harmful. Moreover, these gadgets replace personal contact statistically. It is common knowledge that people meet each other more seldom. Although they can be hazardous to our health we cannot live without these devices . And in spite of their harm we tend to use them more and more widely.

This excessive usage is due to mobile learning which is gaining popularity. As iPhones and smart phones are becoming more common and low-priced. Thus modern technology can significantly improve the quality of education and bring digital content to students. Therefore it is not surprising that young people use mobile devices to make education more attractive and personalize it for their specific needs.

The technology-rich activities can support high level of students' participation and collaboration in educational process. Teachers need to know how to use mobile platform for educational purposes and use it to improve learning. An access to the tablet is a necessary component of the educational process today as m-learning makes it possible for us to work and study in any place and any time .

Now we need a new generation of specialists and entrepreneurs. So the main purpose of the government is to train the workforce which is efficient , adaptive and competitive in a global context as jobs and roles are evolving.

References:

1. www.brookings.edu/research/mobile-learning-transfo...-improving-outcomes/

Анисимова Э.С. ассистент

кафедра математики и прикладной информатики

Елабужский институт КФУ Россия, г. Елабуга РАЗРАБОТКА ПРОГРАММНЫХ КОМПЛЕКСОВ ДЛЯ РЕШЕНИЯ

ПРИКЛАДНЫХ ЗАДАЧ НА ЗАНЯТИЯХ ПО ДИСЦИПЛИНЕ «ПРОГРАММНАЯ ИНЖЕНЕРИЯ»

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

Ключевые слова: программный комплекс, прикладная задача, программирование, программная инженерия.

SOFTWARE SYSTEM DEVELOPMENT FOR APPLICATION TASKS DECISION IN THE CLASSROOM FOR DISCIPLINE

"SOFTWARE ENGINEERING"

The paper studies main aspects of the decision of application tasks in the classroom for discipline "Software Engineering". Since the tasks to be solved are very labor-intensive, it is suggested that team decision of tasks. The article gives examples of some application tasks, as well as advice on the organization of work teams.

Keywords: software package, application task, programming, software engineering.

Программная инженерия (англ. software engineering) — приложение систематического, дисциплинированного, измеримого подхода к разработке, функционированию и сопровождению программного обеспечения, а также исследованию этих подходов; то есть, приложение дисциплины инженерии к программному обеспечению (ISO/IEC/IEEE 24765-2010) [1].

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

Таким образом, к моменту начала изучения данной дисциплины студенты имеют навыки программирования в определенных программных средах. Поэтому на лабораторных занятиях по дисциплине «Программная инженерия» студентам предлагается командное решение прикладных задач. Предлагаемые задачи являются достаточно сложными и трудоемкими для выполнения их только одним студентом. Поэтому создаются команды студентов по 3-4 человека, каждая команда выбирает задачу и приступает к разработке программного комплекса для решения поставленной задачи. Задачи могут быть решены на языках C#, C++, Java, Delphi и т.п. Разрабатываемый программный комплекс должен представлять Windows-приложение с удобным и понятным интерфейсом, являющееся решением поставленной задачи. В качестве задач студентам могут быть предложены следующие:

Задание №1. Построение графиков

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

Задание №2. Инженерный калькулятор

Написать программу, которая бы вычисляла арифметическое выражение, введенное с клавиатуры. Арифметическое выражение может содержать числа (в том числе и в экспоненциальной форме, например, 1.2е-10), символы арифметических операций, функции синуса, косинуса, тангенса, логарифма, экспоненты. Разбор арифметического выражения рекомендуется проводить следующим образом. Создается рекурсивная функция gettoken(). В зависимости от текущего символа входной строки она производит следующие действия:

+, -, /, * - gettoken(); выполнить операцию

цифра - положить в стек цифру

символ - выяснить что за функция; gettoken(); вычислить значение

( - gettoken(); пропустить )

Задание №3. Алгоритмы и методы обработки изображений фильтрами.

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

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

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

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

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

Использованные источники:

1. ISO/IEC/IEEE 24765-2010 Systems and software engineering — Vocabulary

2. Батоврин В. К. Толковый словарь по системной и программной инженерии. — М.: ДМК Пресс. — 2012. — 280 с. ISBN 978-5-94074-818-2

3. Брукс Ф. Мифический человеко-месяц, или Как создаются программные системы = The mythical Man-Month: Essays on Software Engineering. — Символ-Плюс, 2010. — 304 с. — (Профессионально). — 1500 экз. — ISBN 593286-005-7.

4. Соммервилл И.. Инженерия программного обеспечения. — Издательство Вильямс, 2002. — 624 с. ISBN 5-8459-0330-0

5. Йордан Э. Путь камикадзе. Как разработчику программного обеспечения выжить в безнадежном проекте. — М.: Лори, 2012. — 290 с. ISBN 978-585582-227-3

6. Мацяшек Л. А., Лионг Б. Л. Практическая программная инженерия на основе учебного примера / пер. с англ. А. М. Епанешникова, В. А. Епанешникова. — Издательство Бином Лаборатория знаний, 2012. — 956 с. ISBN 978-5-94774-488-0

7. Рекомендации по преподаванию программной инженерии и информатики в университетах / Пер. с англ. Н.И. Бойко, М.Е. Зверинцева и др. — Интернет-университет Информационных технологий, 2007 — 472 с. ISBN 978-5-95560105-9

i Надоели баннеры? Вы всегда можете отключить рекламу.