X Код для використання на сайті:
Ширина px

Скопіюйте цей код і вставте його на свій сайт

X Для завантаження презентації, скористайтесь соціальною кнопкою для рекомендації сервісу SvitPPT Завантажити собі цю презентацію

Презентація на тему:
Основи програмної інженерії 2003-2012

Завантажити презентацію

Основи програмної інженерії 2003-2012

Завантажити презентацію

Презентація по слайдам:

Слайд 1

Основи програмної інженерії 2003-2012 Основи програмної інженерії

Слайд 2

Зміст Поняття програмної інженерії. SWEBOK – простір знань програмної інженерії Моделювання у програмній інженерії Життєвий цикл ПС. Моделі життєвого циклу ПС Ітеративно-інкрементні моделі життєвого циклу Керування ризиками Поняття програмної архітектури Основи програмної інженерії

Слайд 3

Поняття програмної інженерії Термін програмна інженерія (Software Engineering) почав вживатись з 1968 року, що засвідчило перехід до розробки програмного забезпечення (ПЗ) чи програмних систем (ПС) на інженерній основі. Програмна інженерія вивчає питання, пов'язані з розробкою та використанням ПЗ на інженерній основі (систематичність, дисциплінованість, можливість деталізації), охоплюючи всі етапи життєвого циклу; узагальнює дослідження й досвід у вигляді комплексів знань та правил, що регламентують діяльність по створенню ПС. ____________________________________________________________ Naur, P. Randell, B, Software Engineering: Report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968, Naur, P., Randell, B., eds., 1969. Інженерний підхід + знання Основи програмної інженерії

Слайд 4

SWEBOK – простір знань програмної інженерії SWEBOK - Software Engineering Body of Knowledge (Last Version 2007) - Проект IEEE Computer Society www.swebok.org WHAT IS SOFTWARE ENGINEERING? The IEEE Computer Society defines software engineering as “ (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).” The Body of Knowledge is subdivided into ten software engineering Knowledge Areas (KA) plus an additional chapter providing an overview of the KAs of strongly related disciplines. Institute of Electrical and Electronics Engineers - IEEE (read eye-triple-e) is an international non-profit, professional organization for the advancement of technology Основи програмної інженерії

Слайд 5

SWEBOK – простір знань програмної інженерії www.swebok.org Основи програмної інженерії

Слайд 6

Wikipedia - the free encyclopedia that anyone can edit Основи програмної інженерії

Слайд 7

Википедия - свободная энциклопедия, которую может редактировать каждый Основи програмної інженерії

Слайд 8

The SWEBOK Knowledge Areas (KAs) Software requirements Software design Software construction Software testing Software maintenance Software configuration management Software engineering management Software engineering process Software engineering tools and methods Software quality Основи програмної інженерії

Слайд 9

Related disciplines Computer engineering Computer science Management Mathematics Project management Quality management Software ergonomics Systems engineering Основи програмної інженерії

Слайд 10

Guide to the SWEBOK Основи програмної інженерії

Слайд 11

Приклад Knowledge Area - Software design Основи програмної інженерії

Слайд 12

Architectural styles (macroarchitectural patterns) An architectural style is “a set of constraints on an architecture [that] defines a set or family of architectures that satisfies them” [Bas03:c2]. An architectural style can thus be seen as a meta-model which can provide software’s high-level organization (its macroarchitecture). Various authors have identified a number of major architectural styles. [Bas03:c5; Boo99:c28; Bos00:c6; Bus96:c1,c6; Pfl01:c5] General structure (for example, layers, pipes, and filters, blackboard) Distributed systems (for example, client-server, three-tiers, broker) Interactive systems (for example, Model-View-Controller, Presentation-Abstraction-Control) Adaptable systems (for example, micro-kernel, reflection) Others (for example, batch, interpreters, process control, rule-based). Основи програмної інженерії

Слайд 13

Design Patterns (microarchitectural patterns) Succinctly described, a pattern is “a common solution to a common problem in a given context.” (Jac99) While architectural styles can be viewed as patterns describing the high-level organization of software (their macroarchitecture), other design patterns can be used to describe details at a lower, more local level (their microarchitecture). [Bas98:c13; Boo99:c28; Bus96:c1; Mar02:DP] Creational patterns (for example, builder, factory, prototype, and singleton) Structural patterns (for example, adapter, bridge, composite, decorator, façade, flyweight, and proxy) Behavioral patterns (for example, command, inter-preter, iterator, mediator, memento, observer, state, strategy, template, visitor) Основи програмної інженерії

Слайд 14

edX Основи програмної інженерії

Слайд 15

edX Основи програмної інженерії

Слайд 16

edX Основи програмної інженерії

Слайд 17

edX Основи програмної інженерії

Слайд 18

Udacity Основи програмної інженерії

Слайд 19

Habrahabr: Coursera vs Udacity Основи програмної інженерії

Слайд 20

YouTube. Edu Основи програмної інженерії

Слайд 21

Techdays Основи програмної інженерії

Слайд 22

Intuit.ru Основи програмної інженерії

Слайд 23

Моделювання у програмній інженерії Існує багато аспектів, пов'язаних з успішною розробкою програмних проектів, і одним з головних є моделювання. І не випадково, загалом, моделювання – загальноприйнята в інженерії методика. Модель – це спрощене представлення дійсності, але важливо, щоб модель M надавала певну уяву про об’єкт моделювання A: "M моделює A, якщо M дозволяє відповідати на запитання відносно A". Чим більша й складніша система, тим важче її "охопити" у цілому, а, отже, тим важливіше моделювання. Розвиток засобів CASE (Computer Aided Software Engineering), що підтримують моделювання ПС. Моделі програмних систем; архітектури ПС; життєвого циклу. Основи програмної інженерії

Слайд 24

Основні принципи моделювання програмних систем Принцип абстрагування. Система представляється моделлю, що відповідає певному рівню абстракції. Вибір моделі (вибір певного рівня абстракції) визначає те, як будуть осмислюватися проблеми реалізації і які рішення будуть прийматися; Принцип візуальності. Моделі повинні забезпечувати можливість одержувати візуалізоване представлення системи (“одна діаграма заміняє 100 сторінок тексту”); Принцип багатомодельності. Не слід обмежуватися єдиною моделлю, якщо система досить нетривіальна. Найкраще використовувати сукупність моделей, що незалежні одна від одної або, іншими словами, що задають різні представлення системи. Принцип ієрархічності (ієрархічної побудови моделей). Цей принцип обумовлює в рамках фіксованих представлень розробляти моделі стосовно до різних рівнів конкретизації (абстрагування). Принцип еволюційності. Як правило, якісна модель системи не є результатом одного акту створення, а отримується шляхом послідовних (еволюційних) уточнень. Основи програмної інженерії

Слайд 25

Призначення моделей програмних систем У цілому, модель розробляється для того, щоб краще розуміти систему, яку потрібно створити. Модель фактично відіграє роль проекту системи. Побудова моделі системи до початку програмної розробки цієї системи є настільки ж необхідною, наскільки необхідні проектні креслення перед тим, як розпочати будівництво нетривіальної споруди. Замість використання процесу розробки за схемою, коли архітектуру системи уявляв тільки програміст при інженерному підході використовується схема Модель дозволяє отримати уявлення про систему і є зручним об’єктом для обговорення майбутньої системи зацікавленими особами (stakeholders): користувачами, аналітиками, менеджерами, розробниками, тестувальниками та іншими спеціалістами, причетними до розробки та експлуатації системи. Програміст Вимоги Код Вимоги Код Модель (моделі) Основи програмної інженерії

Слайд 26

Життєвий цикл ПС Неоднорідність (та повторюваність із проекту в проект) робіт, виконуваних при розробці ПС, залежність цих робіт одна від одної, нарешті, колективний характер їх виконання — ось підстави для поетапної організації розвитку ПС, а отже, виділення окремих етапів у життєвому циклі (ЖЦ) ПС. Термін життєвий цикл ПС є фактично запозиченим із традиційних галузей промислового виробництва, де давно використовується поняття життєвого циклу матеріального продукту (не даремно фермери віддають перевагу більш дорогим канадським комбайнам). Життєвий цикл — це проекція поняття користувача “час життя” на поняття розробника “технологічний цикл (цикл розробки)”. Саме комбінацією цих понять пояснюється походження самого терміну “життєвий цикл”. Розвиток концепцій життєвого циклу пов'язаний з пошуком адекватних моделей для нього. Багатогранність призначень моделювання визначає різноманітність моделей. Основи програмної інженерії

Слайд 27

Моделі життєвого циклу ПС Найчастіше виділяють наступні п'ять основних етапів ЖЦ: аналіз і формалізація вимог замовника; проектування; реалізація й тестування; упровадження; супровід. Іноді виділяють як етапи: аналіз вимог, проектування, кодування (програмування), тестування й налагодження, експлуатація й супровід. Часто можна зустріти виділену окремим етапом інтеграцію. Головна особливість індустрії ПЗ складається в концентрації уваги на початкових етапах ЖЦ (аналіз, проектування): невирішені питання й помилки, допущені на етапах аналізу й проектування, породжують на наступних етапах важкі, часто нерозв'язні проблеми і, у кінцевому рахунку, призводять до невдачі всього проекту. Основи програмної інженерії