Сущность и логика становления программной инженерии 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сущность и логика становления программной инженерии



    Само собой разумеется, что программная инженерия связана с программированием. Датой начала программирования считают 1944 год. Но можно ли считать эту дату началом зарождения программной инженерии? Конечно, нет. Как нельзя назвать первых ремесленников программными инженерами. Однако, два отличия есть:

1.  Развитие информатики (как аппаратной части, так и языков программирования) с самого начала поддерживалось государствами и щедро финансировалось имbи, и

2. Отрезок пути от «ремесленного» уровня до «инженерного» и массового программирование прошло не за 150-200 лет, а всего лишь за 30-35.

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

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

На первых порах программисты в индивидуальном порядке решали небольшие научно-технические задачи на конкретной ЭВМ в числовом коде, а затем в автокоде или Ассемблере[5]. На решение одной задачи на компьютерах с быстродействием 10-20 тысяч операций в секунду требовались минуты, иногда часы. Наверное, этот период можно назвать ремесленным. Программист делал всё: в общении с заказчиком уточнял задачу, разрабатывал алгоритм, программировал его, решал задачу и доказывал правильность результата.

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

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

В заключение этого раздела приведём современные представления о масштабах и характеристиках программного обеспечения, а также классификациях программных проектов по его созданию[6] (Проект ПО – совокупность спецификаций ПО (включающих модели и проектную документацию), обеспечивающих создание ПО в конкретной программно-технической среде).

ПО можно разбить на два класса: «малое» и «большое».

«Малое» (простое) программное обеспечение имеет следующие характеристики:

● решает одну несложную, четко поставленную задачу;

● размер исходного кода не превышает нескольких сотен строк;

скорость работы программного обеспечения и необходимые ему ресурсы не играют большой роли;

ущерб от неправильной работы не имеет большого значения;

модернизация программного обеспечения, дополнение его возможностей требуется редко;

● как правило, разрабатывается одним программистом или небольшой группой (5 или менее человек);

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

 

«Большое» (сложное ) программное обеспечение имеет 2-3 или более характеристик из следующего перечня:

● решает совокупность взаимосвязанных задач;

● использование приносит значимую выгоду;

удобство его использования играет важную роль;

обязательно наличие полной и понятной документации;

низкая скорость работы приводит к потерям;

● сбои, неправильная работа, наносит ощутимый ущерб;

● программы в составе ПО во время работы взаимодействует с другими программами и программно-аппаратными комплексами;

● работает на разных платформах;

● требуется развитие, исправление ошибок, добавление новых возможностей;

● группа разработчиков состоит из более 5 человек.

Классификация программных проектов по созданию сложного ПО может быть проведена по размеру группы разработчиков и длительности проекта:

небольшие проекты – проектная команда менее 10 человек, срок от 3 до 6 месяцев;

средние проекты – проектная команда от 20 до 30 человек, протяженность проекта 1-2 года;

крупномасштабные проекты – проектная команда от 100 до 300 человек, протяженность проекта 3-5 лет;

гигантские проектыармия разработчиков от 1000 до 2000 человек и более (включая консультантов и соисполнителей), протяженность проекта от 7 до 10 лет.

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



Поделиться:


Последнее изменение этой страницы: 2020-12-17; просмотров: 148; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.44.23 (0.005 с.)