Программная инженерия код программы

Впервые термин «программная инженерия» («технология программирования», как называлась она тогда в нашей стране) появился в начале 70-х годов 20-го века. В то время ресурсы, затрачиваемые на создание программ стали соизмеримы со стоимостью оборудования вычислительных систем («железа»), поэтому возникла необходимость в научной дисциплине, целью которой является сокращение стоимости программ и времени на их разработку.

Определения терминов программной инженерии

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

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

Программная инженерия

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

Определение 1

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

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

«Программная инженерия»
Готовые курсовые работы и рефераты
Решение учебных вопросов в 2 клика
Помощь в написании учебной работы

Основные составляющие программной инженерии

Основополагающими составляющими программной инженерии являются:

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

В ходе предварительного ознакомления и при уточнении задач перед началом создания продукта программный инженер ставит следующие вопросы и ищет на них ответы:

Читайте также:
001 ошибка инициализации программы

Качества плхого программного кода (программотехника — программная инженерия — software engineering)

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

При уточнении необходимости разработки продукта «с нуля» или возможности использования отдельных созданных процедур и написания только недостающего кода — программный инженер задает уже иные вопросы:

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

В ходе проведения тестирования возникают уже совершенно непохожие на ранее сформулированные вопросы с поиском ответов:

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

Цель и процессы программной инженерии

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

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

Сам термин процесса программной инженерии («Software Engineering Process») может характеризоваться обсуждением, поиском и реализацией на практике реальных последовательностей действий по правильным и эффективным способам выполнения поставленных задач.

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

Читайте также:
Тп линк настройка роутера программа

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

Источник: spravochnick.ru

Программная инженерия (быстрое знакомство)

Малые проекты характеризуются небольшим количеством исполнителей проекта, обычно это один единственный разработчик или коллектив из 3 – 5 человек. Цель процесса создания малых систем – получить функционирующую программу, обычно это автоматизация простых процессов и научных исследований.

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

Не производится регламентация жизненного цикла программного обеспечения. Поддержка версий и применение стандартов также не предусматривается. Всё это допустимо пока можно справиться с непредсказуемостью процесса и результата.

Большие проекты

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

Составляющие продукта

Составляющие продукта – архитектура системы, компоненты и интерфейсы.

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

Виды повторно используемых активов

  1. Спецификации требований . Повторному использованию в данном контексте доступны представление структуры и описание функционала, а также нотация, натуральный или формальный язык. Интерес – описание всей системы или её части.
  2. Проект . Модель описания проблемы. Решения – архитектура, шаблоны.
  3. Тестовые данные . Множество входных данных и инструментов для запуска тестов.
  4. Документация . Документированные активы, структура документов.
  5. Архитектура . Организация системы, взаимосвязь компонентов между собой и с окружающей средой, руководящие правила (проектирование и развитие системы).
  6. Компоненты . Исполняемый код, оптимизированный функционал, информация о структуре, язык программирования.
Читайте также:
Виды программ обучения персонала

Процесс

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

Требования программной инженерии

Виды требований

  1. К архитектурным требованиям относят требования к соответствию архитектуры текущим целям и задачам, стратегическим и функциональным, требования к изменению, развитию и расширению гибкости.
  2. К инвестиционным требованиям относят требования максимально возможной сохранности инвестиций на аппаратуру, программные средства и базы данных с учётом структуры системы и её компонентов.
  3. К ресурсосберегающим требованиям относят требования обеспечить эффективность использования ресурсов, минимизировать затраты на обработку данных, обеспечить соответствие капиталовложениям.
  4. К качественным требованиям относят главным образом требования к безопасности функционирования и авторизации пользователей, к защите данных от ошибок, разрушения и потери, к управлению резервированием и восстановлением, к переносимости на различные аппаратные, программные и операционные платформы.
  5. К эргономическим требованиям относят требования к комфортному обучению, упрощённому доступу к функциям системы и получению от неё результатов, требования наглядности и выразительности пользовательского интерфейса, вопросы восприятия времени.
  6. К управленческим требованиям относят требования обеспечить планирование, управление технологическим процессом, обеспечить адаптированные профили стандартов.

Область применения

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

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

Программная инженерия применима как к малым, так и к средним и большим проектам. Главное требование – адаптация стандартов, технологии и инструментария под специфику проекта.

Источник: dzen.ru

Программная инженерия код программы

Dzen

Подключите пакет «Плюс» и пользуйтесь всеми сервисами сайта без ограничений и рекламы:

Полное отсутствие рекламы.

Неограниченный доступ к премиальным сервисам сайта.

5 тестов на выбор профессии с расширенными результатами.

Сервисы сравнения вузов по 50 критериям и специльностей по 22 критериям.

Калькулятор ЕГЭ с дополнительными опциями.

Персональный онлайн робот-помощник с искусственным интеллектом Поступика (планируется).

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

Стоимость пакета «Плюс»

Источник: postupi.online

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru