зачетная работа. зачет. 1. Структура caseсредства. Наличие базы проектных данных, архива или словаря
![]()
|
1. Структура CASE-средства. Наличие базы проектных данных, архива или словаря. Интерфейсы с другими CASE-системами Возможности экспорта/импорта. Многопользовательский режим. Открытая архитектура Расширение новыми методологиями Наличие графических средств поддержки методологий проектирования 2. Структура среды разработки. Среда разработки включает в себя: текстовый редактор, Транслятор (компилятор и/или интерпретатор), средства автоматизации сборки, отладчик. 3. Основные возможности среды разработки. создание разных вариантов одной версии разработки (так называемые «ветви») с общей историей изменений до точки ветвления и с разными — после нее; ведение журнала изменений, в котором может записываться информацию о том, что и почему изменено в данной версии; контроль прав доступа пользователей на чтение или изменение информации 4. Основные инструменты среды для создания, исполнения и управления информационной системой. упрощенный интерфейс, поддержка нескольких платформ, цветовое кодирование, встроенный отладчик, интегрированный терминал, встроенная поддержка Git, IntelliSense с автозаполнением, открытый исходный код, возможности расширения 5. Выбор средств обработки информации. К основным средствам технической обработки относятся: средства регистрации и сбора информации, средства приема и передачи данных, средства подготовки данных, средства ввода, средства обработки информации и средства отображения информации. 6. Организация работы в команде разработчиков. Команда – это небольшое количество людей: с взаимодополняющими умениями (кто-то программирует, кто-то занимается дизайном и т.д.) стремящимся к общим целям (им всем нужно выполнить задачу заказчика, чтобы получить полное самоудовлетворение) разделяющих ответственность за достижение цели проекта (если вдруг у кого-то из участников команды возникает трудность с его личным ТЗ, то его напарники всегда придут ему на помощь (этим не стоит злоупотреблять, иначе вы просто окажетесь ненужным для команды)) 7. Система контроля версий: совместимость. GNU/Linux Android Wine Google Chromium jQuery PHP MediaWiki Qt 8. Система контроля версий: установка. 9. Система контроля версий: настройка. Настройка имени пользователя git config --global user.name "Your Name" git config --global user.email you@abc.net Настройки сохраняются в скрытый файл .gitconfig (в домашней директории пользователя) [user] name = John Doe email = jdoe@example.com 10. Обеспечение кроссплатформенности информационной системы. Кроссплатформенность (межплатформенность) — способность программного обеспечения работать с несколькими аппаратными платформами или операционными системами. Обеспечивается благодаря использованию высокоуровневых языков программирования, сред разработки и выполнения, поддерживающих условную компиляцию, компоновку и выполнение кода для различных платформ. Типичным примером является программное обеспечение, предназначенное для работы в операционных системах Linux и Windows одновременно. 11. Сервисно-ориентированные архитектуры. Сервис-ориентированная архитектура (service-oriented architecture, SOA) придумана в конце 1980-х. Она берёт своё начало в идеях, изложенных в CORBA, DCOM, DCE и других документах. О SOA написано много, есть несколько её реализаций. Но, по сути, SOA можно свести к нескольким идеям, причём архитектура не диктует способы их реализации: Сочетаемость приложений, ориентированных на пользователей. Многократное использование бизнес-сервисов. Независимость от набора технологий. Автономность (независимые эволюция, масштабируемость и развёртываемость). 12. Интегрированные среды разработки для создания независимых программ. Интегрированная среда (integrated development environment - IDE) - набор инструментов для разработки и отладки программ, имеющий общую интерактивную графическую оболочку, поддерживающую выполнение всех основных функций жизненного цикла разработки программы - набор и редактирование исходного текста (кода), компиляцию (сборку), исполнение, отладку, профилирование и др. 13. Особенности объектно-ориентированных языков программирования. Основными свойствами объектно-ориентированного языка программирования являются: наследование, полиморфизм, инкапсуляция. Современное программирование базируется не только на идеях ООП, но и на применении паттернов проектирования, аккумулирующих наиболее удачные решения типичных проблем, неоднократно возникавших при разработке ПО. 14. Особенности структурных языков программирования. В отличие от неструктурного программирования, характеризуется: ограниченным использованием условных и безусловных переходов широким использованием подпрограмм и прочих управляющих структур (циклов, ветвлений, и т.п.) блочной структурой 15. Оптимизация выбора состава программного обеспечения ИС для определенной предметной области. 16. Диаграммы вариантов использования. ![]() 17. Диаграммы последовательности. ![]() 18. Диаграммы кооперации. Диаграмма кооперации. Поведение системы описывается на уровне отдельных объектов, которые обмениваются между собой сообщениями, чтобы достичь определенной цели или реализовать некоторый вариант использования. 19. Диаграммы развертывания. ![]() 20. Диаграммы компонентов. ![]() 21. Диаграммы потоков данных. ![]() 22. Построение архитектуры проекта. Построение архитектуры (architecting) — процесс замысла, определения, выражения, документирования, доведения до сведения, проверки реализуемости, сопровождение и развитие архитектуры на протяжении жизненного цикла системы Архитектурный подход (архитектурный метод, architecture framework) — соглашения, принципы и методы описания архитектуры, установленные для конкретной области применения и/или сообществом заинтересованных сторон. 23. Шаблон проекта. Архитектурные структурные шаблоны представляют класс паттернов, описывающих подходы к организации структуры создаваемого приложения, вариативность которой может диктоваться условиями эксплуатации конкретного программного продукта. В шаблонах централизованного управления одна из подсистем полностью отвечает за управление, запускает и завершает работу остальных подсистем. В шаблонах децентрализованного управления реагирование основано на основе событий, а вернее, на основе статусной модели событий. Согласно паттернам этого рода,за реагирование и управление отвечает соответствующая подсистема. 24. Определение конфигурации информационной системы. Конфигурация (Configuration) - это структура предполагаемого к разработке, разрабатываемого или существующего изделия, обладающая эксплуатационными, функциональными и физическими атрибутами (свойствами, характеристиками), отвечающими установленным требованиям, и отображаемая в различных информационных моделях, соответствующих стадиям ЖЦ этого изделия. 25. Выбор технических средств проекта. Выбор базового комплекта технических средств определяется основными характеристиками управляемого технологического комплекса, из которых важнейшими являются: 1) тип технологического процесса (изменения агрегатного состояния или химического состава продукции, транспортирования сырья и т.д.); 2) характер протекания процесса во времени (непрерывный или дискретный); 3) протяженность технологического объекта управления (технологическая линия, агрегат и др.); 4) особенности исполнительных устройств (электропривод, пневмопривод, электронагрев и др.); 5) степень пожаро- и взрывоопасности; 6) особенности окружающей среды (температура, влажность, агрессивность и др.); 7) перспективы развития и модернизации техпроцесса. Выбор конкретного набора технических средств определяется следующими специфическими требованиями к АСУТП: 1) уровень иерархии; 2) число и характер измеряемых и регулируемых параметров, а также требования к точности измерений и качеству регулирования; 3) выполняемые функции (управление технологическим циклом, стабилизация параметров на заданном уровне, многосвязное автоматическое регулирование, автоматическая оптимизация и др.); 4) связь с другими автоматизированными системами; 5) перспективы развития АСУТП данного типа. 26 Репозиторий – хранилище информации, связанной с проектом разработки программного продукта в течение всего его жизненного цикла. Большинство технологических подходов к разработке ПО предполагает работу с тремя основными типами информации – модельными спецификациями, интерфейсом прикладного программиста и окружением проекта. В соответствии с этими типами выделяют и три класса уровней репозиториев: 1. Модельный. 2. Программного интерфейса. 3. Окружения. Уровень моделирования достаточно хорошо может быть описан универсальным языком UML. Данный язык является абстрактным, не привязанным к конкретной модели. Язык дает возможность описать зависимости элементов, иерархию, взаимосвязи, свойства и т. п. Уровень программного интерфейса разумно описывать с помощью языка определения интерфейсов IDL, обеспечивающего независимость спецификации интерфейсов от их реализации. Уровень играет не только роль промежуточного слоя – его средства также поддерживают распределенное программирование. Репозиторий окружения программного проекта предназначен для хранения информации, разделяемой компонентами и подкомпонентами систем программирования в процессе их работы. При этом основными группами и подгруппами полезной информации считаются следующие: 1. Языково-независимая группа: - информация для отладчика; - информация для анализатора исходных текстов. 2. Языково-зависимая группа: - информация для шаблонов; - коды встроенных функций; - виртуальные функции. 3. Группа контроля репозитория: - контроль информации о версиях; - контроль отношения к проекту; - тип параллельной обработки; - тип управления репозиторием; - проверка цифровой подписи. Главными достоинствами применения репозиториев окружения являются: - эффективность работы с информацией; - использование информации для целей оптимизации; - распределенность (из которой следуют доступность, параллелизм и специализация); - модульность, включающая независимость от конкретных инструментов (например, компиляторов); - возможность работы с репозиторием как в архитектуре «клиент-сервер», так и в «связанном» с инструментом режиме. 27 Система контроля версий – это обязательный инструмент в арсенале программиста любого уровня: от новичка, который только осваивается в профессии, до тимлида, чей опыт исчисляется многими годами и проектами. 28 29 Настройка среды разработки включает в себя проверку правильности установки версий JDeveloper, Microsoft Office и Microsoft Internet Explorer. Вы также должны включить поддержку Microsoft .NET programmability, если она еще не включена. 30 Мониторинг и управление работами проекта – это процесс отслеживания, проверки и регулирования исполнения для достижения целей исполнения, определенных в плане управления проектом. Мониторинг – это аспект управления проектом, осуществляемый на протяжении всего проекта. Мониторинг включает в себя сбор, измерение и распространение информации об исполнении, а также оценку измерений и тенденций для оказания влияния на улучшение процесса. Постоянный мониторинг дает команде управления проектом возможность понимать общее состояние проекта и определять, на какие области следует обратить особое внимание. Управление включает в себя определение корректирующих или предупреждающих действий, либо повторное планирование и отслеживание планов с целью определить, удалось ли решить проблему с помощью предпринятых действий. Процесс мониторинга и управления работами проекта направлен на следующее: сравнение фактического исполнения проекта с планом управления проектом; оценка исполнения, чтобы определить, требуются ли какие-либо корректирующие или предупреждающие действия, с последующей рекомендацией данных действий, при необходимости; выявление новых рисков и анализ, отслеживание и мониторинг существующих рисков проекта с целью подтверждения того, что все риски выявлены, об их статусе сообщено, и соответствующие планы реагирования исполняются; поддержание точной, своевременно обновляемой информационной базы относительно продукта (ов) проекта и сопутствующей документации на всем протяжении выполнения проекта; предоставление информации, помогающей в составлении отчетов о статусах, проведении измерений исполнения и прогнозировании; предоставление прогнозов, позволяющих корректировать информацию о текущей стоимости и текущем расписании; мониторинг реализации одобренных изменений по мере их появления. 31 Любые изменения в документе и его новые версии сохраняются в локальном репозитории. Набор всех сохраненных версий называют «деревом» проекта, и оно находится в репозитории. Бывает прямое дерево, когда сохранения файлов выполняются последовательно, одно за другим без возврата к предыдущим вариантам. Есть еще разветвленное дерево. Оно получается, если приходится дорабатывать старые версии, вносить в них изменения и потом сохранять. Любые сохранения, получившиеся на ветках дерева, изначально наращиваются на один файл, называемый исходным. В процессе работы в него вносятся изменения. Система управления версиями позволяет одновременно корректировать, дополнять любую из веток дерева. В итоге некоторые из них «срастаются». Все изменения обязательно каждый раз сохраняются в последней версии файла. 32 При разработке интерфейса следует учитывать следующие правила позволяющие снизить загрузку памяти пользователя: - не загружать кратковременную память пользователя; - полагаться на распознавание, а не на повторение; - использовать информационные визуальные заставки; - обеспечить активизацию синтаксиса действий с объектами (интуитивность); - применять контекст для раскрытия и объяснения понятий и действий. 33 Для создания интерфейса, который делал бы работу с программой приятной, разработчику нужно понимать, какие задачи будут решать пользователи с помощью данной программы. Выделяют общие принципы проектирования пользовательских интерфейсов: 1. Программа должна помогать выполнить задачу, а не становиться этой задачей. Интерфейс должен быть легким для освоения и не создавать перед пользователем преграду, которую он должен будет преодолеть, чтобы приступить к работе. 2. При работе с программой пользователь не должен ощущать себя дураком. Не нужно давать разрабатываемой программе слишком большие полномочия и право указывать пользователю, что именно ему делать. Один из примеров такого неправильного отношения к пользователю является отказ программы выполнить вполне естественную с точки зрения пользователя программных продуктов операцию и вывод диалогового окна, требующего выполнить какую-то другую последовательность действий. Например, известный текстовый редактор "Блокнот" из состава Windows95. Если пользователь открывал эту программу и решал перед началом набора текста дать создаваемому "Блокнотом" по умолчанию файлу "Untitled" какое-нибудь имя, выбрав из меню команду Сохранить как, редактор отказывался сделать это, показывая сообщение: "Вы не ввели какой-либо текст, чтобы его можно было сохранить. Наберите какой-нибудь текст, а затем попытайтесь [сохранить его] снова". Другой пример недооценки возможностей пользователя — вывод информационных сообщений в ситуациях, когда этого не требуется. Например, для того, чтобы облегчить освоение продукта или информировать пользователей о полезных функциях программы. Но если пользователь уже достаточно уверенно чувствует себя при работе с программой и не нуждается в подсказках, выскакивающих каждую минуту. Поэтому среди разработчиков программного обеспечения хорошим тоном считается предоставление пользователю возможности отключить вывод информационных сообщений. Это позволяет сохранить легкость освоения продукта для начинающих пользователей и добиться того, чтобы информационные сообщения не вызывали у опытных пользователей раздражения. 3. Программа должна работать так, чтобы пользователь не считал компьютер дураком. Программа не должна прерывать работу пользователя глупыми вопросами и выводить на экран бессмысленные сообщения, повергая его в недоумение в самых простых ситуациях. Например, вопрос о подтверждении изменений в базе данных при уходе пользователя из карточки студента будет лишним, если пользователь не изменял данные студента. 34 Спецификация языка программирования — это предмет документации, который определяет язык программирования, чтобы пользователи и разработчики языка могли согласовывать, что означают программы на данном языке. Спецификации обычно являются подробными и формальными и в основном используются разработчиками языка, в то время как пользователи обращаются к ним в случае двусмысленности: например, спецификация языка C++ часто цитируется пользователями из-за сложности. Сопутствующая документация включает справочник по языку программирования[en], который специально предназначен для пользователей, и логическое обоснование языка программирования, которое объясняет, почему спецификация написана именно так; последние обычно более неформальны, чем спецификации. 35 Синтаксис языка программирования — набор правил, описывающий комбинации символов алфавита, считающиеся правильно структурированной программой (документом) или её фрагментом. Синтаксису языка противопоставляется его семантика. Синтаксис языка описывает «чистый» язык, в то же время семантика приписывает значения (действия) различным синтаксическим конструкциям. Каждый язык программирования имеет синтаксическое описание как часть грамматики. Синтаксис языка можно описать, например, с помощью правил Бэкуса — Наура. Синтаксис проверяется на ранних стадиях трансляции. В интерпретируемых языках программирования проверка синтаксиса производится или в процессе интерпретации (выполнения), или в процессе предварительной компиляции в промежуточный код. Кроме того, синтаксис может проверяться непосредственно при редактировании исходных текстов программ при использовании IDE. 36 Стиль программирования - набор приемов или методов программирования, которые используют программисты, чтобы получить правильные, эффективные, удобные для применения и легкочитаемые программы. (Словарь технических терминов). Стиль программирования, под которым понимают стиль оформления программ и их «структурность», также существенно влияет на читаемость программного кода и количество ошибок программирования. 37 язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» — это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией. Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений. Структу́рное программи́рование — методология разработки программногообеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом. В соответствии с данной методологией 1. Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций: o последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы; o ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия; o цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла). 38 Переме́нная в императивном программировании — поименованная, либо адресуемая иным способом область памяти, адрес которой можно использовать для осуществления доступа к данным. Данные, находящиеся в переменной (то есть по данному адресу памяти), называются значением этой переменной (короче: переменная — именованный участок памяти, обладающий некоторым типом). В других парадигмах программирования, например, в функциональной и логической, понятие переменной оказывается несколько иным. В таких языках переменная определяется как имя, с которым может быть связано значение, или даже как место (location) для хранения значения. 39 Вводом/выводом (ВВ) называется передача данных между ядром ЭВМ, включающим в себя микропроцессор и основную память, и внешними устройствами (ВУ). Это единственное средство взаимодействия ЭВМ с "внешним миром", и архитектура ВВ (режимы работы, форматы команд, особенности прерываний, скорость обмена и др.) непосредственно влияет на эффективность всей системы. За время эволюции ЭВМ подсистема ВВ претерпела наибольшие изменения благодаря расширению сферы применения ЭВМ и появлению новых внешних устройств. Особенно важную роль средства ВВ играют в управляющих ЭВМ. Разработка аппаратных средств и программного обеспечения ВВ является наиболее сложным этапом проектирования новых систем на базе ЭВМ, а возможности ВВ серийных машин представляют собой один из важных параметров, определяющих выбор машины для конкретного применения. 40 Типовые алгоритмы - это алгоритмы линейной, разветвляющейся, циклической структуры. Алгоритм любой задачи состоит из совокупности типовых алгоритмов. Для реализации циклических алгоритмов в программах используются операторы цикла (оператор цикла с параметром, операторы цикла с предусловием, операторы цикла с постусловием). Организация цикла с несколькими одновременными изменяющимися параметрами Такой цикл сводится к простому циклу, а именно, цикл организуется по одному из параметров. Для всех остальных параметров перед циклом необходимо задать их начальные значения, а внутри цикла вычислить их текущие значения. 41 На последнем этапе осуществляется отображение модели предметной области на функциональность типовой системы - выбираются модули системы для поддержки выделенных операций, определяются особенности их настройки, выявляется необходимость разработки дополнительных программных элементов. 42 43 44 45Отла́дка — этап разработки компьютернойпрограммы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится : узнавать текущие значения переменных; выяснять, по какому пути выполнялась программа. Существуют две взаимодополняющие технологии отладки. Использование отладчиков — программ, которые включают в себя пользовательскийинтерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия. Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода — на экран, принтер, громкоговоритель или в файл. Вывод отладочных сведений в файл называетсЯ журналированием. 46 Интеграция - процесс объединения частей в целое 47 48 Табличные процессоры – это программные комплексы для управления электронными таблицами. Электронная таблица (ЭТ) – универсальное средство для автоматизации расчетов над большими массивами табличных данных. Использование табличных процессоров целесообразно в тех случаях, когда: 1. числа, с которыми требуется работать при решении поставленной задачи, можно расположить в виде таблицы, т. е. в строках и графах; 2. числа в одной строке или графе связаны с числами в других строках или графах и предполагается использование математических вычислений над данными таблицы; 3. предполагается статистическая обработка данных или графический анализ; возможно частое изменение информации; отслеживается большое число показателей; предполагается изготовление нужного числа копий табличных документов. 49 |