Файл: Жизненный цикл программного проекта.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.06.2023

Просмотров: 608

Скачиваний: 15

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

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

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

- изучить теоретические основы программного обеспечения;

- определить модели жизненных циклов программного проекта.

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

Глава 1. Теоретические основы
программного обеспечения

1.1. Понятие программного обеспечения

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


Рассмотрим понятие системного программного обеспечения.

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

Согласно ISO/IEC 2382-1:1993, программное обеспечение – все или часть программ, процедур, правил и соответствующей документации системы обработки информации [1].

Другие определения из международных и российских стандартов:

IEEE Std 829-2008: программное обеспечение – компьютерные программы, процедуры и, возможно, соответствующая документация и данные, относящиеся к функционированию компьютерной системы[2];

ISO/IEC 26514-2008: программное обеспечение – программа или множество программ, используемых для управления компьютером[3];

ГОСТ 19781-90: программное обеспечение – совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ[4].

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

Иногда под понятием «системное программное обеспечение персонального компьютера» подразумевают операционную систему, что не совсем верно. Операционная система является лишь частью системного программного обеспечения, но не единственной его частью и не полным аналогом системного программного обеспечения.

Системное программное обеспечение – это своеобразная «прослойка» между аппаратными составляющими компьютера и программными приложениями[5].

В современных компьютерных системах ни одно из запущенных программных приложений не может непосредственно вступать во взаимодействие с аппаратными компонентами, как было во времена MS-DOS, когда подобный подход преобладал. Теперь требуется, чтобы приложение отвечало определенным правилам, и было запрограммировано специально для используемой системы. Как раз по этой причине программы, созданные для ОС Windows, не могут функционировать в системе Linux или Mac и, соответственно, наоборот.


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

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

Системное программирование, которое заключается в создании системного программного обеспечения есть удел системных программистов, которые специализируются исключительно на создании, отладке и корректировке системного программного обеспечения. Кроме системных программистов, есть прикладные программисты, в задачи которых входит использование на практике, разработка, отладка и адаптация прикладного программного обеспечения. Кстати, я в свое время работала прикладным программистом. И хочу сказать, что писать программы для людей иногда сложнее (в первую очередь, по эмоциональному накалу), чем для «железа»[6].

Исходя из разделения программного обеспечения на системное и прикладное, уже стало определенным стандартом, что обычный пользователь хранит на компьютере системное программное обеспечение (операционную систему и драйверы) на системном диске C:, а свои наработки, тексты, таблицы, рисунки, фото — на диске D:. Такое разделение позволяет при возникновении проблем с операционной системой на диске C: сохранить пользователю все, что им «нажито непосильным трудом» на диске D:. Хотя про архивацию в любом случае нужно помнить.

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

1.2. Классификация программного обеспечения


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

Современное программное обеспечение делят на следующие виды (рис. 1).

Рисунок 1 – Классификация программного обеспечения[7]

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

Системы программирования предназначены для создания новых программ с использованием различных языков программирования, например Scratch 1.4, Free Pascal 2.6, DEV-C++ 5.11, Microsoft Visual Studio 2013 Professional, Android Studio 1.4.0, Lazarus 1.4.4, Python 2.6.1 и др.

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

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

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

На компьютерные программы распространяется действие главы 70 «Авторское право» Гражданского кодекса РФ[8], и их использование возможно только при условии соблюдения требований этого закона, а также требований лицензии, с которой пользователь соглашается, устанавливая программу на свой компьютер.


Служебное программное обеспечение – это программы, предназначенные для диагностирования аппаратной и программной составляющих компьютера, расширения возможностей операционной системы. При необходимости они устраняют недостатки и оптимизируют работу компьютера. Эти программы называют утилитами (англ. utility - полезность). Часть таких программ включается в состав операционных систем при инсталляции операционной системы. Например, в состав операционной системы Windows 10 входят такие утилиты, как Диспетчер задач, Восстановление системы, Оптимизация дисков, Очистка диска, Монитор ресурсов, Сведения о системе, Планировщик заданий, Панель управления и др.

Аналогичные программы есть и в других операционных системах. Так, в Linux Ubuntu такими программами, например, являются: Менеджер архивов, Журнал системы, Анализатор использования диска, Резервное копирование, Системный монитор, System Testing, Диски и др.

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

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

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

1.3. Основы программного проектирования

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

Целью проектирования является определение внутренних свойств системы и детализации её внешних (видимых) свойств на основе выданных заказчиком требований к программному обеспечению (исходные условия задачи). Эти требования подвергаются анализу.

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