Определение требований к ПО и исходных данных для его проектирования
Классификация ПО по функциональному признаку:
Основные эксплуатационные требования к ПО
Требования определяют характеристики разрабатываемого ПО. К таким характеристикам относят:
· Правильность;
· Универсальность;
· Надёжность;
· Проверяемость;
· Защищённость;
· Программная совместимость;
· Аппаратная совместимость;
· Эффективность;
· Адаптируемость;
· Повторная входимость;
· Реентабельность (возможность параллельного использования несколькими процессами).
Предпроектные исследования.
Целью предпроектных исследований является преобразование общих нечётных знаний о предназначении будущего ПО в полные требования. Существует два варианта неопределённости:
1. Неизвестные методы решения задачи;
2. Неизвестная структура информационных процессов.
Разработка технического задания (ТЗ).
ТЗ представляет собой документ, в котором сформулированы основные цели разработки, требования к ПО, определены сроки и этапы разработки, регламентирован процесс приёмосдаточных испытаний. В разработке ТЗ участвуют как представители заказчика, так и представители исполнителя. На ТЗ существует стандарт ГОСТ 19.201-78 «Техническое задание. Требования к содержанию и оформлению». В соответствии с этим стандартом ТЗ должно содержать следующие разделы:
1. Введение;
2. Основание для разработки;
3. Назначение;
4. Требования к программе;
5. Требования к программной документации;
6. Технико-экономические показатели;
7. Стадии, этапы разработки;
8. Порядок контроля и приёма.
Принципиальные решения начальных этапов проектирования.
К таким решениям относят:
1. Выбор архитектуры ПО;
2. Выбор пользователей интерфейса и документации;
3. Выбор подхода к разработке (структурного или объектного);
4. Выбор языка и IDE.
Выбор архитектуры ПО.
Архитектурой ПО называют совокупность базовых принципов его построения. Различают однопользовательскую архитектуру и многопользовательскую архитектуру. В рамках однопользовательской различают:
· Программы;
· Пакеты программ;
· Программные комплексы;
· Программные системы.
Выбор типа пользовательского интерфейса:
1. Примитивные – единственный сценарий обработки;
2. Меню;
3. Со свободной навигацией (Windows приложения);
4. Прямого манипулирования (ОС Windows).
Выбор типа интерфейса включает технологии работы с документами.
· Однодокументный (SDI);
· Многодокументный (MDI).
Выбор подхода к разработке.
Если выбран интерфейс со свободной навигацией или прямого манипулирования, то это однозначно предполагает использование событийного программирования и программного подхода (Visual Studio). Первые два типа интерфейса совместимы как со структурным, так и с объектным подходами.
Выбор языка программирования.
Язык программирования может быть определён:
1. Заказчиком ПО;
2. Программистом;
3. Устоявшимся мнением.
Выбор IDE.
Интегрированная среда разработки, ИСР (англ. IDE, Integrated development environment или integrated debugging environment) — система программных средств, используемая программистами для разработки программного обеспечения (ПО).
Обычно, среда разработки включает в себя:
· текстовый редактор,
· компилятор и/или интерпретатор,
· средства автоматизации сборки,
· отладчик.
Часто встречающиеся IDE:
Aptana Studio- бесплатная IDE, профессиональная среда разработки Web 2.0 приложений.
Используется для создания веб приложений с поддержкой всех современных технологий - HTML5, CSS3, JavaScript, Ruby, Rails, PHP и Python.
Основные возможности Aptana Studio:
Имеет мощные функции по работе с кодом HTML, CSS, JavaScript, PHP, Ruby - редактирование, просмотр структуры кода, мгновенный предпросмотр в распространённых моделях браузеров.
Работа с использованием последних спецификаций HTML 5 и CSS3. Разработчику предоставляется подробная информация о поддержке каждого элемента в распространённых веб-браузерах.
Встроенный отладчик позволяет устанавливать точки останова, просматривать значения переменных и контролировать исполнение программы. Также в наличии интегрированный Ruby and Rails отладчик.
Мастер развертывания приложений позволяет работать с удалёнными проектами с использованием FTP, SFTP, FTPS протоколов.
Поддержка совместной работы над проектами.
Поддержка работы из командной строки.
Расширенные возможности по настройке IDE, возможность создания пользовательских скриптов.
Подключаемые модули для расширения функциональности IDE.
NetBeans IDE- интегрированная среда разработки приложений, бесплатная IDE с открытым исходным кодом. Предназначена для профессиональной разработки десктоп приложений, web-приложений, корпоративных систем, программ для мобильных устройств. NetBeans - единственная IDE, которая устроит и начинающего разработчика и профессионала.
Особенности программы:
Поддерживаемые языки программирования: Java, JavaFX, PHP, JavaScript, Ruby, Groovy, Python и C/C++, а также все языки разметки: HTML, XML и стили CSS.
Поддерживает технологии: J2SE, J2EE, J2ME, JavaFX SDK, PHP Zend framework, UML, SOA, Ajax, Ruby on Rails, Groovy and Grails.
NetBeans IDE является платформой для построения десктоп приложений с функциональным пользовательским интерфейсом, т.к. представляет из себя фреймворк к Java библиотеке Swing. Это сэкономит массу времени тому, кто не поленится ознакомиться с особенностями программирования на платформе NetBeans.
NetBeans IDE является платформой для создания плагинов и расширения своей функциональности.
Основные функции: рефакторинг, профилирование, работа с CVS и SVN, работа с удалённым сервером через FTP, визуальный редактор пользовательских интерфейсов, подсветка синтаксических конструкций, автодополнение, показ справки на лету, возможность использования готовых шаблонов кода, интеграция с серверами - автоматическое развёртывание приложений, управление сервером и т.д.
Расширенные возможности по работе с базами данных - встроенный клиент к базам данных - MySQL, Postgres, Oracle и др., редактор запросов SQL.
Eclipse- бесплатная программная платформа с открытым исходным кодом, контролируется организацией Eclipse Foundation. Написана на языке программирования Java и основной целью её создания является повышение продуктивности процесса разработки программного обеспечения.
IDE разработанные на базе платформы Eclipse применяются для создания программного обеспечения на различных языках программирования. Eclipse является платформой для разработки любых интегрированных сред программирования и практически любого клиентского программного обеспечения.
Выбор или формирование стандартов разработки.
1. Стандарт проектирования. Этот стандарт должен определять набор необходимых моделей на каждой стадии проектирования и степень их детализации. Правила фиксации проектных решений на диаграммах, атрибуты, их заполнение. Требования к конфигурации. Механизм обеспечения совместной работы над проектом.
2. Стандарт оформления проектной документации. Комплектность, состав и структуру документации на каждой стадии. Требования к её содержанию и оформлению. Правила подготовки, рассмотрения, согласования и утверждения документов.
3. Стандарт интерфейса пользователя. Правила оформления экранов, правила пользования клавиатурой и мышью. Правила оформления текстов помощи. Перечень стандартных сообщений, правила обработки реакции пользователя.
Контрольные вопросы по теме «Определение требований к ПО и исходных данных для его проектирования»:
1. Что понимают под технологичностью программного обеспечения? Почему?
2. Какие типы программных продуктов можно выделить? Чем они различаются?
3. Назовите основные эксплуатационные требования к программным продуктам. Какими средствами и приемами обеспечивается каждый из них? Для каких типов программных систем целесообразно указывать каждый из них?
4. В каких ситуациях необходимы предпроектные исследования? Какие вопросы при этом решают? Что получают в результате таких исследований?
5. Назовите, какой раздел технического задания можно считать основным и почему? Какую информацию должны содержать остальные разделы? В чем основная сложность разработки технического задания?