зачетная работа. зачет. 1. Структура caseсредства. Наличие базы проектных данных, архива или словаря
Скачать 292.42 Kb.
|
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 |