Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vse_otvety.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2.9 Mб
Скачать

20 " Проектирование программного обеспечения асоиу ".

Основной задачей последнего десятилетия стало совершенствование качества компьютерных приложений, возможности которых целиком определяются программным обеспечением (ПО). Поэтому в настоящее время особое внимание уделяется грамотной организации процесса создания ПО, реализации технологических принципов промышленного конструирования программных систем. Программный комплекс или программная система — это совокупность согласованно работающих программ под общим управлением, предназначенная для решения сложной задачи или ряда взаимосвязанных задач. Прошедший испытания программный комплекс, полностью готовый для продажи (поставки) и снабженный всей необходимой документацией, называется программным продуктом (изделием) или программным средством (ПС). Программное обеспечение — наиболее общее понятие, под которым понимают программы, программные системы или продукты в совокупности или по отдельности, в зависимости от контекста использования этого термина. Под жизненным циклом ПС (software life cycle) понимают весь период его разработки и эксплуатации (использования), начиная от момента возникновения замысла ПС и кончая прекращением всех видов его использования. Жизненный цикл охватывает довольно сложный процесс создания и использования ПС (software process). Жизненный цикл программного продукта состоит из трех крупных фаз : разработка; использование (эксплуатация); сопровождение и продолжающаяся разработка. В фазе разработки программный продукт разрабатывается и выпускается. В фазе эксплуатации созданный продукт используется на практике конкретными потребителями. В фазе сопровождения и продолжающейся разработки продукт модифицируется и развивается. Фаза эксплуатации, в идеале, должна начинаться сразу после выпуска программного продукта, однако часто работоспособная версия по договоренности с заказчиком поставляется ему до завершения полного цикла разработки. Возможна и обратная ситуация, при которой использование может начаться гораздо позже окончания разработки. Продолжающаяся разработка — это плановое мероприятие, цель которого — выпуск последующей версии продукта. Основой продолжающейся разработки является желание самих разработчиков. Сопровождение осуществляется на основе юридической договоренности между разработчиками и пользователями (заказчиками). Модификации при сопровождении обычно инициируются пользователями, обнаруживающими ошибки и недостатки продукта. Фазу разработки обычно разделяют на следующие логические этапы : системный анализ; проектирование; программирование (кодирование); отладка и тестирование; документирование; выпуск. На этапе системного анализа происходит анализ необходимости самого программного продукта, выявляются наиболее общие требование к нему. Результатом системного анализа является выработка спецификации требований на программный продукт, содержащая указанные требования в формальном виде. Единая система программной документации (ЕСПД) называет такую спецификацию техническим заданием (ТЗ). При проектировании общие требования к программному продукту пошагово и итерационно преобразуются в подробный проект, в деталях описывающий будущую структуру программной системы, форматы данных, алгоритмы, интерфейс и т.д. Результатом проектирования является технический проект. Этап кодирования при наличии достаточно детального проекта (каковым является технический проект) является рутинным. Фактически, кодирование — это в некоторой степени механический процесс реализации спроектированных алгоритмов на конкретном языке программирования с использованием конкретного инструментария. Результатом кодирования являются собственно программы как в исходном тексте, так и в бинарном виде, пригодном к исполнению. Этап отладки и тестирования предназначен для выявления и устранения ошибок в программах. Результатом данного этапа являются отлаженные (насколько возможно) программы, для которых тестированием установлено (опять же, насколько возможно) соответствие спецификации. На этапе документирования к созданной программной системе подготавливается пакет документации, разносторонне описывающей будущий продукт как с внешней, так и с внутренней стороны. Каждый документ подготавливается для конкретного типа читателей: конечных пользователей, системных администраторов, программистов и т.д. На этапе выпуска продукт проходит испытания по утвержденной методике, после чего поставляется, внедряется или продается. Этапам кодирования, отладки и тестирования и документирования в ЕСПД соответствует этап рабочего проекта. Таким образом, процесс разработки является существенно итеративным. Физические этапы: ТЗ, технический проект, рабочий проект, приемка. Одной из основных задач проектирования является декомпозиция системы, т. е. разделение системы в целом на совокупность взаимосвязанных элементов. При декомпозиции последовательно меняется уровень детализации системы. По направлению процесса декомпозиции принято выделять три основных метода проектирования. При нисходящем проектировании (проектировании «сверху вниз») проектирование начинается с верхнего уровня. Система иерархически разбивается на подсистемы и т.д. вплоть до компонентов нижнего уровня. Это метод общего назначения, с его помощью можно проектировать любую систему. При восходящем проектировании (проектировании «снизу вверх») сразу выделяются необходимые компоненты нижнего уровня реализации, на основе которых строятся подсистемы уровня выше и т.д. до верхнего уровня. Этот метод используют для относительно небольших систем, как правило, инструментального назначения. В таких системах обычно четко прослеживается большое количество инструментальных компонентов нижнего уровня, а на верхнем уровне, практически, реализуется только интерфейс к ним. При проектировании методом расширения ядра (проектировании «от центра») выделяется базовый процесс или объект (ядро), на котором основана вся система. Проектирование ведется одновременно «вниз» (для реализации ядра на низком уровне) и «вверх» (для использования ядра на верхнем уровне). Примером может служить реализация реляционной системы управления базами данных (СУБД). В ней четко прослеживается базовое понятие записи. Проектирование «вниз» нацелено на реализацию понятия записи, типов полей, операций над полями и т.д. Проектирование «вверх» предназначено для реализации собственно СУБД, т. е. таблиц, запросов и т.д. Наиболее часто используется смешанный подход к проектированию, при котором основное проектирование ведется сверху вниз, однако используются элементы проектирования от центра и снизу вверх. Проектирование средних и тем более крупных систем есть столь сложный и длительный процесс, что его стремятся также вести параллельно несколькими группами проектировщиков. При этом декомпозиция системы органично приводит к декомпозиции самого процесса проектирования.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]