Лекція 1 Життєвий цикл інформаційної системи. Моделі процесу розробки


НазваЛекція 1 Життєвий цикл інформаційної системи. Моделі процесу розробки
Дата конвертації03.04.2013
Розмір445 b.
ТипЛекція


Розробка баз даних

Лекція 1

Життєвий цикл інформаційної системи. Моделі процесу розробки

Життєвий цикл



Складність розробки інформаційної системи

  • складність реальної наочної області, з якої виходить замовлення на розробку;

  • труднощі керування процесом розробки;

  • необхідність забезпечення достатньої гнучкості програмного забезпечення;

  • незадовільні способи опису поведінки великих дискретних систем.



Шляхи уникнення складнощів розробки

  • аналіз (аналіз складності завдання);

  • абстракція (замість складного реального об'єкту розглядується узагальнена модель, що ідеалізується, ігноруються не дуже важливі деталі);

  • декомпозиція (розділення великої системи на менші підсистеми, які знов розділяються на ще менші складові, - це принцип "розділяй і володій");

  • побудова ієрархії виділених за аналізом компонентів.



Моделі процесу розробки програмного продукту

  • Каскадна модель

  • Спіральна модель

  • Комбінована ітераційна модель



Каскадна модель

Каскадна модель життєвого циклу («модель водопаду», англ. waterfall model) була запропонована в 1970 р. Уїнстоном Ройсом.

Вона передбачає послідовне виконання всіх етапів проекту в строго фіксованій послідовності.

Перехід на наступний етап означає повне завершення робіт на попередньому етапі.

Вимоги, визначені на стадії формування вимог, строго документуються у вигляді технічного завдання і фіксуються на весь час розробки проекту.

Кожна стадія завершується випуском повного комплекту документації, достатньої для того, щоб розробка могла бути продовжена іншою командою розробників

Каскадна модель

Етапи проекту відповідно до каскадної моделі:
    • Формування вимог
    • Проектування
    • Реалізація
    • Тестування
    • Введення в дію
    • Експлуатація і супровід


Каскадна модель

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


Каскадна модель



Спіральна модель

Спіральна модель (англ. spiral model) була розроблена в середині 1980-х років Баррі Боемом. Вона заснована на класичному циклі Демінга PDCA (plan-do-check-act). При використанні цієї моделі ІС створюється в декілька ітерацій (витків спіралі) методом створення прототипів.

Спіральна модель

На кожній ітерації оцінюються:
    • Ризик перевищення термінів і вартості проекту
    • Необхідність виконання ще однієї ітерації
    • Ступінь повноти і точності розуміння вимог до системи
    • Доцільність припинення проекту.


Спіральна модель

"Спіральна" модель, в порівнянні з “каскадною", має такі переваги:
    • Передбачена інкрементна розробка програмного продукту із створенням послідовності версій;
    • Передбачено швидке прототипування майбутнього програмного коду


Ітераційні моделі

На практиці часто застосовується комбінована модель. За основу береться "спіральна" модель, в якій секторам спіралі - етапам процесу, - зіставляються відповідні етапи моделі "каскадного" процесу, якщо такі є.

Згідно привнесеним елементам моделі "каскаду", результат окремих етапів реалізації зіставляється з вимогами, описаними на відповідних етапах проектування, а також, згідно елементам "спіральної" моделі, враховуються інкрементна розробка і швидке прототипування.

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

Сучасні ітераційні моделі Rational Unified Process

Rational Unified Process (RUP) - методологія розробки програмного забезпечення, створена компанією IBM Rational Software.

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


Сучасні ітераційні моделі Rational Unified Process



Сучасні ітераційні моделі Microsoft Solutions Framework

Microsoft Solutions Framework (MSF) - це методологія розробки програмного забезпечення від Microsoft. MSF спирається на практичний досвід корпорації майкрософт і описує управління людьми і робочими процесами в процесі розробки рішення.

Сучасна версия MSF 4.0 жорстко прив'язана до Microsoft Team System - інструментальному засобу Microsoft для підтримки командної роботи над проектом.

Складові концепції MSF :
  • моделі:

    • модель проектної групи
    • модель процесів
  • дисципліни:

    • дисципліна управління проектами
    • дисципліна управління ризиками
    • дисципліна управління підготовкою


Сучасні ітераційні моделі Microsoft Solutions Framework

Модель проектної групи MSF (MSF Team Model)

Модель описує підхід до організації персоналу і його діяльності в цілях максимізації успішності проекту.

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

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

Це дає можливість чітко сфокусувати увагу на потребах проекту. Проектну групу об'єднує єдине бачення проекту, прагнення до втілення його в життя, високі вимоги до якості роботи і бажання самоудосконалюватися.

Сучасні ітераційні моделі Microsoft Solutions Framework

Основні принципи успішності роботи команди:

1. Розподіляйте відповідальність при фіксації звітності

2. Наділяйте членів команди повноваженнями

3. Концентруйтеся на бізнес-пріоритетах

4. Єдине бачення проекту

5. Проявляйте гнучкість - будьте готові до змін

6. Заохочуйте вільне спілкування

Основні концепції проектної групи:

1. Команда соратників

2. Сфокусована на потребах замовника

3. Націленість на кінцевий результат

4. Спрямованість на відсутність дефектів

5. Прагнення до самоудосконалення

6. Зацікавлені команди працюють ефективно

Сучасні ітераційні моделі Microsoft Solutions Framework

Ролеві кластери проектної групи
    • управління програмою (program manager) - розробку архітектури рішення, адміністративні служби;
    • управління продуктом (product manager) - бізнес-пріоритети, маркетинг, представництво інтересів замовника;
    • розробка (developer) - розробку додатків і інфраструктури, технологічні консультації;
    • тестування (QAE) - планерування, розробку тестів і звітність по тестах;
    • управління випуском (release manager) - інфраструктуру, супровід, бізнеси-процеси, випуск готового продукту;
    • задоволення замовника (user experіence) - навчання, ергономіку, графічний дизайн, технічну підтримку.


Сучасні ітераційні моделі Microsoft Solutions Framework

Модель процесів MSF (MSF process model)

Ключові особливості:
    • Підхід, заснований на фазах і віхах.
    • Ітеративний підхід.
    • Інтегрований підхід до створення і впровадження рішень.

Фази процесу розробки:
    • Вироблення концепції (Envisioning)
    • Планування (Planning)
    • Розробка (Developing)
    • Стабілізація (Stabilizing)
    • Впровадження (Deploying)


Сучасні ітераційні моделі XP - Екстремальне програмування

Екстремальне програмування (англ. Extreme Programming, XP) - одна з гнучких методологій розробки програмного забезпечення. Автори методології - Кент Бек (Kent Beck), Уорд Каннінгем (Ward Cunningham), Мартін Фаулер та інші.

Сучасні ітераційні моделі XP - Екстремальне програмування

Основні прийоми XP

1. Короткий цикл зворотного зв'язку (Fine scale feedback)
    • Розробка через тестування (Test driven development)
    • Гра в планування (Planning game)
    • Замовник завжди поруч (Whole team, Onsite customer)
    • Парне програмування (Pair programming)

2. Безперервний, а не пакетний процес
    • Безперервна інтеграція (Continuous Integration)
    • Рефакторінг (Design Improvement, Refactor)
    • Часті невеликі релизы (Small Releases)

3. Розуміння, що розділяється всіма
    • Простота (Simple design)
    • Метафора системи (System metaphor)
    • Колективне володіння кодом (Collective code ownership) або вибраними шаблонами проектування (Collective patterns ownership)
    • Стандарт кодування (Coding standard or Coding conventions)

4. Соціальна захищеність програміста (Programmer welfare):
    • 40-годинна робочий тиждень (Sustainable расі, Forty hour week)


Сучасні ітераційні моделі XP - Екстремальне програмування

Принцип парного програмування

Весь код створюється парами програмістів, що працюють за одним комп'ютером.

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

При необхідності клавіатура вільно передається від одного до іншого.

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

Сучасні ітераційні моделі XP - Екстремальне програмування

Колективне володіння

Кожен несе відповідальність за весь код. Таким чином, кожен має право вносити зміни в будь-яку ділянку коду.

Працюючи в парах, всі програмісти дістають доступ до всіх часток коду.

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

Надання кожному програмістові права змінювати код веде до ризику появи помилок, що вносяться програмістами, які вважають що знають що роблять, але не враховують деякі залежності.

Тесты вирішують цю проблему: якщо знехтувані залежності породжують помилки, то тест не пройде.

Сучасні ітераційні моделі XP - Екстремальне програмування

Замовник завжди поруч

«Замовник» в XP - це не той, хто оплачує рахунки, а той, хто насправді використовує систему.

XP стверджує, що замовник має бути весь час на зв'язку і доступний для питань.

Інструментарій курсу Технології

  • UML

  • SVN

  • MS Jet Database Engine

  • DAO

  • ADO

  • ODBC

  • VBA

  • MS SQL 2005

  • MySQL 5



Курсовий проект bmpKafedra



Інструментарій курсу Програмне забезпечення

ArgoUML

Потребує встановленого

Java 2 JRE або JDK 1.4.

Функціональність:
    • Підтримку специфікацій UML 1.3, 1.4, XMI 1.0, 1.1, 1.2
    • 9 видів діаграм UML (діаграми класів, станів, кооперації, послідовності, діяльності, прецедентів, об'єктів, компонентів, розгортання)
    • Підтримку OCL для класів
    • Генерацію початкового коду Java, C++, C# і PHP
    • Зворотний інжиніринг з початкового коду і байткода Java
    • Автоматичну верифікацію моделі UML (design critics)

http://www.codeigniter.ru/

Інструментарій курсу Програмне забезпечення

Subversion

Централізована система управління версіями, тобто дані зберігаються в єдиному сховищі. Сховище може розташовуватися на локальному диску або на мережевому сервері.

TortoiseSVN

клієнт для системи контролю версій Subversion, виконаний як розширення оболонки Windows.

http://tortoisesvn.tigris.org/

Інструментарій курсу Програмне забезпечення

MS Access 2007 (Runtime)

Microsoft Office Access — система управління базами даних від компанії Майкрософт, складова пакету Microsoft Office Pro. Має широкий спектр функцій, включаючи зв'язані запити, сортування по різних полях, зв'язок із зовнішніми таблицями і базами даних.

Завдяки вбудованій мові VBA, на базі MS Access можна реалізувати складні програмні додатки та цілі інформаційні системи, що працюють з базами даних.

http://office.microsoft.com/ru-ru/access/default.aspx

Курсовий проект bmpKafedra



Інструментарій курсу Програмне забезпечення

MySQL

Компактний багатопотоковий сервер баз даних. MYSQL характеризується великою швидкістю, стійкістю і легкістю у використанні.

MYSQL є рішенням для малих і середніх застосувань. Входить в LAMP. Зазвичай MYSQL використовується як сервер, до якого звертаються локальні або видалені клієнти, проте в дистрибутив входить бібліотека внутрішнього сервера, що дозволяє включати MYSQL в автономні програми.

Гнучкість СУБД MYSQL забезпечується підтримкою великої кількості типів таблиць:

MYISAM -підтримують повнотекстовий пошук,

INNODB - підтримують транзакції на рівні окремих записів.

MYSQL є власністю компанії Sun Microsystems. 26 лютого 2008 року Sun Microsystems придбала MYSQL AB за $1 млрд.


Схожі:

Лекція 1 Життєвий цикл інформаційної системи. Моделі процесу розробки iconПроф., д мед н. В. В. М’ясоєдов Питання лекції: Організація клітини у часі: життєвий цикл клітини і клітинний цикл
Клітинний цикл включає підготовку до мітозу (інтерфазу) і мітоз. Друга назва процесу мітотичний цикл
Лекція 1 Життєвий цикл інформаційної системи. Моделі процесу розробки iconМоделі життєвого циклу програмного продукту Життєвий цикл програмного продукту
Життєвим циклом програмного продукту називають період часу, що розпочинається із моменту виникнення ідеї системи і закінчується після...
Лекція 1 Життєвий цикл інформаційної системи. Моделі процесу розробки iconМоделі життєвого циклу Програмного продукту
Моделью життєвого циклу інформаційної системи називається деяка структура, визначаюча послідовність виконання процесів, дій та задач,...
Лекція 1 Життєвий цикл інформаційної системи. Моделі процесу розробки iconДипломної роботи Автор роботи I. Ідея розробки >II. Ціль та зміст проекту III. Основні завдання проекту >IV. Життєвий цикл розроблюваного програмного продукту

Лекція 1 Життєвий цикл інформаційної системи. Моделі процесу розробки iconРівень задач є другим рівнем системної моделі інформаційної аналітичної системи та становить систему (сукупність) задач

Лекція 1 Життєвий цикл інформаційної системи. Моделі процесу розробки iconЖиттєвий цикл – це період між однаковими фазами розвитку двох або більшої кількості послідовних поколінь
Життєвий цикл це період між однаковими фазами розвитку двох або більшої кількості послідовних поколінь
Лекція 1 Життєвий цикл інформаційної системи. Моделі процесу розробки iconІнформаційні моделі Поняття інформаційної моделі
Моделювати можна не тільки існуючі предмети, явища та процеси, але й абстракції, яких немає у реальності; об'єкти, що тільки плануються...
Лекція 1 Життєвий цикл інформаційної системи. Моделі процесу розробки iconЖиттєвий шлях Життєвий шлях
«Життєвий шлях «Життєвий шлях випускників інтернатих закладів, дитячих будинків сімейного типу та прийомних сімей»
Лекція 1 Життєвий цикл інформаційної системи. Моделі процесу розробки iconЛекція №7
Аналіз табличних даних. Принципи побудови та сфери застосування баз даних. Планування та створення бази даних для збереження медико-біологічної...
Лекція 1 Життєвий цикл інформаційної системи. Моделі процесу розробки iconЛекція 1 Грайворонський Микола Владленович кафедра інформаційної безпеки
Обчислювальні системи створюють для розв'язання практичних (прикладних) завдань користувачів для цього створюють

Додайте кнопку на своєму сайті:
dok.znaimo.com.ua


База даних захищена авторським правом ©dok.znaimo.com.ua 2013
звернутися до адміністрації
dok.znaimo.com.ua
Головна сторінка