Студопедия — Проектування ПЗ (Software design)
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Проектування ПЗ (Software design)






 

Проектування ПЗ – процес визначення архітектури, компонентів, інтерфейсів та інших характеристик системи і кінцевого результату [5].

Область знань «Проектування ПЗ (Software Design)» складається з наступних розділів:

– базові концепції проектування ПЗ (Software Design Basic Concepts)

– ключові питання проектування ПЗ (Key Issue in Software Design)

– структура і архітектура ПЗ (Software Structure and Architecture)

– аналіз і оцінка якості проектування ПЗ (Software Design Quality Analysis and

Evaluation),

– нотації проектування ПЗ (Software Design Notations)

– стратегія і методи проектування ПЗ (Software Design Strategies and Methods).

До базових концепцій проектування ПО відносяться процеси ЖЦ (стандарт ISO/IEC 12207), процес проектування архітектури з використанням різних принципів (об'єктного, компонентного і ін.) і техніки: абстракції, декомпозиції, інкапсуляції і ін. Автоматизована система піддається декомпозиції на окремі компоненти, вибираються необхідні артефакти (нотації, методи і ін.) програмної інженерії і будується архітектура ПЗ.

До ключових питань проектування ПЗ відносяться: декомпозиція на функціональні компоненти для незалежного і паралельного їх виконання, принципи розподілу компонентів в середовищі виконання і їх взаємодія між собою, механізми забезпечення якості і живучості системи і ін.

При проектуванні структури ПЗ використовується архітектурний стиль

проектування, заснований на визначенні основних елементів структури – підсистем, компонентів і зв'язків між ними.

Архітектура проекту – високорівневе представлення структури, що задається з допомогою патернів, компонентів і їх ідентифікація. Опис архітектури містить опис логіки окремих компонентів системи, достатній для проведення робіт по кодуванню, і зв'язків між ними. Існують і інші види структур, засновані на проектуванні зразків, шаблонів, сімействі програм і їх каркасів.

Патерн – це конструктивний елемент ПЗ, який задає взаємодію об'єктів (компонентів) проектованої системи, визначення ролей і відповідальності виконавців [5].

Патерн може бути: структурним, в якому визначаються типові композиції структур з об'єктів і класів діаграмами класів, об'єктів, зв'язків і інш.; поведінковим, таким, що визначає схеми взаємодії класів об'єктів і їх поведінку діаграмами активностей, взаємодії, потоків управління і інш.; креативним, що відображає типові схеми розподілу ролей екземплярів об'єктів діаграмами взаємодії, кооперації і ін.

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

Нотації проектування дозволяють представити артефакти ПЗ і його структуру, а також поведінку системи. Існує два типи нотацій: структурні, поведінкові і безліч різних їх уявлень.

Структурні нотації є графічними, вони використовуються для уявлення структурних аспектів проектування, компонентів і їх взаємозв'язків, елементів архітектури і їх інтерфейсів. До них відносяться формальні мови специфікацій і проектування: ADL (Architecture Description Language), UML (Unified Modeling Language), ERD (Entity–Relation Diagrams), IDL (Interface Description Language), класи і об'єкти, компоненти і класи (CRC Cards), Use Case Driven і ін. Нотації включають мови опису архітектури і інтерфейсу, діаграми класів і об'єктів, діаграми суть-зв'язок, компонентів, розгортання, а також структурні діаграми і схеми.

Поведінкові нотації відображають динамічний аспект поведінки систем і їх компонентів. Таким нотаціям відповідають діаграми: Data Flow, Decision Tables Activity, Colloboration, Pre-Post Conditions, Sequence, таблиці ухвалення рішень, формальні мови специфікації, мови проектування PDL і ін.

Стратегія і методи проектування ПЗ. Даний розділ знань представляє різні стратегії і методи, які використовуються при проектуванні. До загальних стратегій відносяться: знизу-вгору, сверху–вниз, абстракції, патерни і ін.

Функционально–орієнтіровані (структурні) методи базуються на структурному аналізі, структурних картах, Dataflow-діаграммах і ін. Вони орієнтовані на ідентифікацію функцій і їх уточнення зверху–вниз, після чого проводиться розробка діаграм потоків даних і опис процесів. У об’єктно–орієнтованому проектуванні ключову роль грає спадкоємство, поліморфізм і інкапсуляція, а також абстрактні структури даних і відображення об'єктів [15]. Підходи, орієнтовані на структури даних, базуються на методі Джексона (Jackson) [9] і використовуються для задання вхідних і вихідних даних структурними діаграмами.

Компонентне проектування орієнтоване на використання і інтеграцію компонентів (особливо компонентів повторного використання) і на їх інтерфейс, що забезпечує взаємодію компонентів; є базисом інших видів програмування, зокрема сервісно-орієнтованого, в якому групи компонентів забезпечують функціональний сервіс. До інших методів відносяться: формальні, точні і трансформаційні методи, а також UML для моделювання архітектурних рішень за допомогою діаграм [16].

Таким чином, запропоновані в даній області знань підходи, стратегії і методи проектування ПЗ, засоби розподілу і взаємодії компонентів в різних середовищах є основними при розробці проекту із застосуванням різних елементів (шаблонів, сценаріїв, діаграм і ін.) і стилів проектування структури ПЗ, а також заходів щодо проведення аналізу отриманих на етапі проектування атрибутів якості ПЗ.







Дата добавления: 2014-12-06; просмотров: 2908. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

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

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия