У вас вопросы?
У нас ответы:) SamZan.net

Професійна практика програмної інженерії

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.12.2024

ЛАБОРАТОРНІ РОБОТИ 6-8

Лабораторні роботи № 6,7,8 спрямовані на:

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

Усі роботи повинні бути виконані з використанням мови програмування C#.

Для виконання лабораторних робіт на робочу станцію студента повинно бути встановлено наступне програмне забезпечення:

  •  Microsoft Visual Studio 2010 Ultimate
  •  Microsoft Team Foundation Build
  •  Microsoft Office

Лабораторні роботи 6-8 містять наступні теми:

6. Вивчення системи контролю версій в Team Foundation Server.

7. Дослідження роботи з робочими елементами, сценаріями, задачами й помилками.

8. Робота із запитами до робочих елементів, створення збірки.

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

ЛАБОРАТОРНА РОБОТА 6.

Вивчення системи контролю версій в Team Foundation Server

Мета - отримати базові знання з систем контролю версій і отримати навички, що необхідні кожному розробнику програмного забезпечення у повсякденній  роботі. Дізнатися, як за допомогою команд Team Foundation Server керувати версіями програмного продукту.

Задачі

  1.  Вивчити основи систем контролю версії .
  2.  Вивчити як зв’язати локальну папку з серверною.
  3.  Вивчити як додавати, видаляти, реєструвати, витягувати та завантажувати файли користуючись системою контролю версії Team Foundation Server.

Теорія

Система контролю версій (контролю ревізій) дозволяє відстежувати модифікації файлів з пливом часу.

Використання систем контролю версій важливе тому що дозволяє :

  1.  Виконувати резервне копіювання та відновлення;
  2.  Синхронізувати дані;
  3.  Короткострокове скасування;
  4.  Довгострокове скасування;
  5.  Відстежувати зміни;
  6.  Відстежувати власність;
  7.  Ізолювати;
  8.  Розгалужувати та зливати.

Більшість систем контролю версій використовують ці базові принципи, хоча терміни можуть бути різними.

Репозиторій– це база даних що містить файли та папки.

Сервер – це обчислювальна машина що містить репозиторій.

Клієнт – це обчислювальна машина що підключається до сервера.

Робочий набір– це ваша локальна папка де ви можете вносити свої зміни.

Транк (Trunk ) – первинне розташування коду в репозиторії.

Основні дії та атрибути систем контролю версій:

  1.  Додати – первинне додання нових даних до системи контролю версії
  2.  Ревізія – версія файлу в репозиторії.
  3.  Вершина (head) – остання ревізія файла в репозиторії.
  4.  Реєстрація - завантаження файла що було змінено до репозиторія.
  5.  Завантаження– отримання файла із репозиторія.
  6.  Повідомлення при реєстрації – повинно описувати зміни що було внесено до файла.
  7.  Історія змін– це перелік усіх змін що було внесено до файла з моменту його додання в систему контроля версій.
  8.  Оновлення – це завантаження усіх файлів для отримання іх останньої версії.
  9.  Скасування -  виконується коли потрібно відхилити локальні зміни та завантажити останню версію із репозиторія.

Додаткові дії:

  1.  Розгалуження – створення окремої копії файла чи папки для приватного використання (тестування, виправлення помилок, т.і.)
  2.  Пошук різниці між двома версіями файла.
  3.  Злиття – застосування змін з одного файла до другого.
  4.  Конфликт це коли декілька змін до одного файла суперечать один одному.
  5.  Резолюція – виправлення змін що суперечать один одному та реєстрація файла в потрібну версію.
  6.  Блокування – використовується для контролю за змінами файла таким чином, що ніхто інший не зможе його змінити доки ви не знімете блокування.
  7.  Зняття блокування – це насильне розблокування файла для внесення зімін до нього.

Team Foundation Server (TFS) містить потужну корпоративну систему контролю версій. TFS використовує базу даних Microsoft SQL Server у якості репозиторія, вона тразакційна та атомарна.

Головні особливості системи контролю версій TFS:

  1.  Робочі області.
    1.  Області на вашому жорсткому диску де ви можете робити зміни.
  2.  Реєстрація\Завантаження.
    1.  Завантаження позначає початок внесення змін.
    2.  Реєстрація вносить ваші зміни обратно до репозіторія.
    3.  TFS дозволяє спільне завантаження.
  3.  Набори зімн.
    1.  Група змін при реєстрації файлів.
  4.  Ізольована реєстрація (shelving).
    1.  Схожа на звичну реєстрацію.
    2.  Зімни реєструються на сервері.
    3.  Зміни не додаються до основного дерева коду проекту.
  5.  Розгалуження.
    1.  Використовується для управління різними версіями продукту.

Методічні вказівки

  1.  Підключитись до Team Foundation Server.
  2.  Вивчити структуру системи контролю версій.
  3.  Створити робочу область та зв’язати локальну папку с серверною.
  4.  Звантажити останню версію проекту.
  5.  Реалізувати необхідний сценарій згідно варіанта, виданого викладачем.
  6.  Завантажити локальні зміни до репозиторія використовуючи реєстрацію та злиття.

Запитання для самоконтролю

  1.  Що таке система контролю версії та чим вона може бути корисною?
  2.  Які основні компоненти системи контролю версій?
  3.  Які основні операції можна виконувати в системі контролю версій?
  4.  Що таке робоча область в TFS?
  5.  Що таке ізольована реєстрація?
  6.  Що таке розгалуження та злиття? Навіщо використовувати розгалуження та злиття?

Посилання: [1], [5].

ЛАБОРАТОРНА РОБОТА 7

Дослідження роботи з робочими елементами, сценаріями, задачами й помилками

Мета - вивчити основи управління процесом розробки програмного забезпечення з використанням Team Foundation Server та Microsoft Solution Framework (MSF) для Scrum. Розглянути повсякденну роботу розробника програмного забезпечення з використанням робочих елементів, задач та сценаріїв. Вивчити різні підходи до оцінки обсягу робіт. Вивчити процеси управління помилками та іх виправлення.

Задачі

  1.  Вивчити використання сценаріїв для опису вимог вTeam Foundation Server.
  2.  Вивчити декомпозицію сценаріїв у задачі.
  3.  Навчитись призначати завдання певному члену команди.
  4.  Вивчити життєвий цикл помилки.
  5.  Використовуючи видані викладачем вимоги, описати сценарій та декомпозувати його у задачі.

Теорія

Scrumє гнучким та легким процесом для керування процесом розробки програмного забезпечення.

Це оболонка для існуючих інженерних практик та є:

  •  Командо-орієнтованим підходом для ітеративної, поступової розробки програмних продуктів коли вимоги швидко змінюються;
  •  Це процес що контролює хаос конфліктних інтересів та потреб.

Scrum може бути розглянуто як паттерн.

Scrum найбільш адаптований для невеликих команд розробників (до 10 осіб), обмежений у часі та використовує спринти від одної до чотирьох неділь. Спринт це ітерація фіксованої довжини, результатом якої є видимий та корисний продукт (функціональність).

Правила спринта:

  1.  Тотальний фокус – ніяких небажаних відхилень від запланованої роботи протягом спринта.
  2.  Ніяких перерев чи зовнішніх змін.
  3.  Нові завдання що з’являються протягом спринта можуть бути невиконаними командою.

На початку спринта команда проводить нараду для планування робіт. На нараді команда обговорює вимоги (історії та сценарії), надає сценаріям пріоритет, оцінює їх та обирає ті що будуть реалізовані протягом спринта відповідно до ємності команди.

Протягом спринта команда працює так, щоб задовольнити наступним вимогам:

  1.  Проводити часті, короткі Scrum (stand up) наради.
  2.  Виробляти видимі та придатні для користування інкременти.
  3.  Кожний наступний інкремент будується на базі попереднього.
  4.  Усі результати та обв’язки чітко визначаються.

Перед началом спринта:

  1.  Проводиться статусна нарада зі спонсорами та зацікавленими сторонами.
  2.  Інктементи поставляються замовнику.
  3.  Надаються повідомлення про усі проблеми та несподівані ситуації.
  4.  Наприкінці спринта усе може змінитися(роботу може бути додано, видалено, змінено пріоритети, проект може бути закритий).
  5.  Готуються нові оцінки та завдання для наступного спринта.

Вимоги

Хороший набір вимог має бути визначений з кількох точок зору. Існує декілька типів вимог: бізнес-вимоги, користувацькі вимоги, функціональні та вимоги по якості обслуговування.

Бізнес-вимоги визначають те що є важливим для успіху проекту. Як правили бізнес-вимоги представляють інтереси спонсорів проекту.

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

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

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

Сценарії використання та вимоги

Сценарії використання та вимоги це не одне й теж саме. Сценарії використання  це UML (Unified Modeling Language) моделі, що описують набір кроків користувача для виконання конкретної задачі.  Вимоги визначають що має бути розроблено для того щоб задовольнити користувача. Разом вони забезпечують якісну картину того як користувач бачить систему.

Для того щоб правильно та ефективно спланувати спринт всі сценарії використання повинні бути  оцінені, щоб розподілити робоче навантаження між усіма членами команди. Оцінка визначає скільки приблизно зусиль треба витратити для того  щоб задовольнити конкретним вимогам. Існує декілька заходів та методів оцінки. Послідовний підхід описує кількість рядків програмного коду, чи функцій. В гнучких методах розробки використовують бали сценаріїв (storypoint) та максимально продуктивні людино-дні (perfectmanday).

Оцінка в максимально продуктивних людино-днях визначає – як довго треба працювати якщо:

  1.  працівник зосереджений на одному завданні;
  2.  немає відволікаючих факторів;
  3.  працівник має усе що необхідно для роботи.

Бал сценарія це ‘розмір’ завдання, що формується під впливом того наскільки воно важке та трудоємне.

Відстеження та виправлення помилок це процес управління дефектами програмного забезпечення.

Дефекти можуть бути знайдені та зареєстровані в системі контролю любим із членів команди.

Дефект повинен бути якомога детально та повно описаний для того щоб команда могла зрозуміти його істочник, причини та вплив на систему.

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

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

Розробка програмного забезпечення може бути більш легкою, команди можуть працювати більш ефективно якщо використовуються артифакти що запропоновано в шаблонах процесів Team Foundation Server. Team Foundation Server містить декілька шаблонів готових до використання в залежності від конфігурації процесів та потреб команди та проета.Ці шаблони: MSF for CMMI, MSF for Agile та MSF for Scrum.

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

Шаблон Agile визначає наступні типи робочих елементів:

  1.  Користувацкі сценарії
  2.  Задачі
  3.  Сценарії тестування
  4.  Спільні етапи
  5.  Дефекти
  6.  Проблеми.

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

Задачі. Команда визначає задачі для відстеження роботи що потрібно виконати для реалізації користувацького сценарія, або інших напрямків роботи що визначені для проекту. Задача повинна представляти невеликий об’єм роботи що може бути виконано протягом одного-двух днів.Більш великі задачі можуть бути розділено на підзадачі. Шляхом відстеження робочого часу для кожної із задач, команда отримує чітку картину стану роботи та прогресу розробки.

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

Спільні етапи. Необхідні команді для впорядкування тестових сценаріїв та підвищення спроможності їх обслуговування. В спільних етапах можна визначити послідовність дій та перевірок для повторного використання в тестових сценаріях. Більшість тестів можуть містити туж саму послідовність дій, користуючись спільними етапами команда взмозі  використовувати ії у множині тестових сценаріїв (наприклад аутентифікація користувача в системі може бути реалізована як спільній етап).

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

Проблеми. Ви можете визначити відомі або потенційні проблеми, перешкоди чи ризики для вашого проекту реєструючи робочий елемент «Проблема» в Team Foundation Server. Якщо необхідні конкретні дії, проблема може транслюватись у одну чи декілька задач що потрібно виконати для іх усунення. Наприклад, технічна проблема чи невизначеність може транслюватись в задачі по створенню архітектурного прототипу. Команди повинні завжди закликати своїх членів до пошука потенційних проблем та переконатися що вони надають якомога більше інформації о проблемах що можуть затримати прогрес команди.

Методичні вказівки

  1.  Вивчить процесну документацію на командному порталі TFS.
  2.  Розглянути шаблон документа для опису користувацького сценарію.
  3.  Користуючись вимогами, що видані викладачем опишіть користувацький сценарій.
  4.  Оцінить трудоємність реалізації сценарію.
  5.  Розкладіть сценарій на задачі.

Питання для самоконтролю

  1.  Що таке Scrum?
  2.  Що таке спринт?
  3.  Що таке нарада з планування спринту?
  4.  Які типи вимог вам відомі?
  5.  В чому різниця між користувацьким сценарієм та вимогами?
  6.  Що таке бали сценарію та максимально продуктивні людино-дні?
  7.  Опишіть життєвий цикл дефекта програмного забезпечення.

Посилання: [1]; [2]; [3]; [4].


ЛАБОРАТОРНА РОБОТА 8

Робота із запитами до робочих елементів, створення збірки

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

Задачі

  1.  Вивчити концепцію запитів до бази робочих елементів в Team Foundation Server.
  2.  Дізнатись як користуватися, створювати, та кофігурувати запити.
  3.  Вивчити основи автоматизації збірок.
  4.  Навчитися створювати та кофігурувати процеси автоматизованої збірки в Team Foundation Server.

Теорія

Робочий елемент – це запис у базі даних що створюються в Team Foundation Server для фіксації  опису задачі, відповідальної особи, пріоритету та стану прогресу. За рахунок визначення індивідуальних робочих елементів та їх зберігання у загальній базі даних та складі метрик, команда має можливість відповісти на питання про стан проекту по мірі їх виникнення. Робочі елементи, зв’язки між ними та файли додатків зберігаються в базі даних для відстеження їх стану та змін що вносяться. (Рис 1).

Рис

Для  відстеження статусу робочого елементу, прогресу ітерації чи реліза продукта, ви можете визначити та виконувати запити до робочих елементів. В Visual Studio Team Explorer ви можете знайти дві різні папки для зберігання запитів до бази даних робочих елементів: Командні Запити та Мої Запити. Папка Командні Запити містить набір заздалегідь визначених запитів що є спільними для всієї команди розробки. Створіть новий запит в папці Командні Запити якщо ви бажаєте щоб він був доступний для всієї команди. Папка Мої Запити призначена для зберігання ваших персональних запитів та не містить нічого за замовченням. Для того щоб створити спільний чи персональний запит ви можете використовувати наступний робочий процес(Рис 2).

Рис

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

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

Таблиця 1 містить перелік операторів запиту що доступні в системі відстеження робочих елементів Team Foundation Server.

Таблиця

Оператор запиту

Опис

Відповідні типи полей

=

Вертає робочий елемент якщо значення поля відповідає заданому.

Число, Текст, Дата, Дерево

<>

Вертає робочий елемент якщо значення поля не відповідає заданому.

Число, Текст, Дата, Дерево

>

Вертає робочий елемент якщо значення поля білше ніж задане.

Число, Текст, Дата, Дерево

<

Вертає робочий елемент якщо значення поля менше ніж задане.

Число, Текст, Дата, Дерево

>=

Вертає робочий елемент якщо значення поля більше чи равно заданому.

Число, Текст, Дата, Дерево

<=

Вертає робочий елемент якщо значення поля меньше чи равно заданому

Число, Текст, Дата, Дерево

Contains

Вертає робочий елемент якщо значення поля містить заданий текст

Текст

Does Not Contain

Вертає робочий елемент якщо значення поля не містить заданий текст

Текст

In

Вертає робочий елемент якщо значення поля містить будь-яке значення із заданого набору. Наприклад, порівняння поля ID з набором значень 100, 101, 102 поверне робочі елементи 100, 101, та 102.

Число, Текст, Дата

Was Ever

Виконує пошук по історії поля. Вертає робочий елемент якщо будь-яке історичне значення поля співпадає із заданим значенням.

Текст, Дата

Under

Виконує пошук по ієрархії та вертає робочі елементи що є наслідниками вузла зазначеного параметром.

Дерево

Not Under

Виконує пошук по ієрархії та вертає робочі елементи що не є наслідниками вузла зазначеного параметром.

Дерево

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

Таблиця 2 містить перелік змінних запиту що досупні для використання в системі відстеження робочих елементів Team Foundation Server.

Таблиця

Змінна запиту

Результат

@Me

Використовуйте змінну @Me для автоматичного пошуку для поточного користувача, якщо поле містить ім’я користувача. Наприклад, якщо ви хочете знайти усі робочі елементи що вами відкриті потрібно встановити поле Activated By, з оператором =, та значення @Me.

@Project

Використовуйте змінну @Project для будь-якого поля що має посилання на проект для пошуку по поточному проекту. Наприклад, якщо ви хочете знайти перелік усіх активних робочих елементів для обраного проекту необхідно обрати поле Team Project, оператор =, та значення @Project.

@Today

Використовуйте змінну @Today для будь якого поля типу Дата, для пошуку по поточній даті. Запит буде використовувати поточну дату в момент його виконання. Ви також можете модифікувати змінну @Today додаючи чи віднімаючи дні. Наприклад,для пошуку усіх робочих елементів що було активовано за останні 7 діб, потрібно встановити поле Activated Date, оператор>=, та значення @Today - 7.

Збірка проектів з використанням Team Foundation Server

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

Безперервна інтеграція – це процес генерації збірки в той самий момент як програміст реєструє зміни коду в системі контролю версій.

Team Foundation Build пропонує функціональність для створення лабораторії збірки, та є частиною Visual Studio Team Foundation Server. Користуючись Team Foundation Build, ви маєте можливість синхронізувати похідний код, компілювати застосування, виконувати необхідні юніт тести, аналіз коду та публікувати звіти про всі ці дії. Дані про збірку зберігаються в базі даних для історії та звітів. Team Foundation Build працює з іншими інструментами Team System протягом процесу збірки, в тому числі з системою контролю версій, базою даних робочих елементів, та інструментами тестування.

Team Foundation Build розроблено для використання с Team Foundation в розподіленому середовищі як показано на рис 3.

Рис

Team Foundation Build взаємодіє с Team Explorer. Team Foundation Build розглядає визначення збірок як частину командного проекту. Визначення збірок можна побачити користуючись Team Explorer в папці Team Builds. Такі операції як запуск збірки, створення нової збірки можна виконати користуючись панелью Team Explorer в Visual Studio. Різні визначення збірок можуть існувати в папці Team Builds для кожного командного проекту.

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

  1.  ВVisual Studio Team Explorer оберіть папку Build, клацніть правою кнопкою миші та оберіть пункт меню New Build Definition.
  2.  Введіть ім’я нового визначення збірки.
  3.  Оберіть робочу область.
  4.  Оберіть агента що буде виконувати збірку та введіть адресу  сховища куди буде покладений результат роботи.
  5.  Оберіть необхідні опції що будуть ініціювати збірку.
  6.  Клацніть  кнопку OK для збереження нового визначення збірки.

Методичні вказівки

  1.  Розгляньте існуючі в Visual Studio Team Explorer запити до бази даних робочих елементів.
  2.  Користуючись варіантом, виданим викладачем, створіть та виконайте приватні та командні запити.
  3.  Користуючись варіантом, виданим викладачем, створіть нове визначення збірки вказавши вашу робочу станцію в якості агента.
  4.  Ініціалізуйте процес збірки та розгляньте сгенеровані звіти.

Питання для самоконтроля

  1.  Що таке робочий елемент та як він зберігається в Team Foundation Server?
  2.  Для чого команди користуються базою даних робочих елементів?
  3.  Які типи робочих елементів наявні в шаблоні MSF для Agile?
  4.  Поясніть покликання різних типів робочих елементів в шаблоні MSF для Agile.
  5.  Що таке запит робочих елементів? Які типи запитів ви знаете?
  6.  Що таке безперервна інтеграція та для чого ії використовують?

Посилання: [1].

ПОСИЛАННЯ

  1.  Meier J.D.,  Taylor J., Mackman A., Bansode P., Jones K. Team Development With Visual Studio Team Foundation Server. – Microsoft Corporation, 2007. – 496 p.
  2.  Larman C. Agile & Iterative Development.  – Addison Wesley, 2003. – 368 p.
  3.  Highsmith J., Agile Systems Development Ecosystems. - Addison Wesley, 2002. – 448 p.
  4.  Michael S. V. Turner Microsoft Solutions Framework Essentials: Building Successful Technology Solutions. – Microsoft Press, 2006. – 336 p.
  5.  Sidorov N. Introduction to Software Engineering. – NAU.- 2010.- 60 p.




1.  Провести анализ предметной области и на его основе разработать концептуальную модель базы данных- объекты
2. ТЕМА 1 Системы линейных уравнений
3. следственная связь ПСС Вина в форме умысла или неосторожности Вина ~ это психическое отношение
4. тематического факультета г
5. тема- ldquo;ПРАВОВОЙ РЕЖИМ ВОЕННОГО МОРЕПЛАВАНИЯrdquo; МОСКВА 1996
6. технические и идейнополитические новации
7. на тему Центральная металлургическая база Исполнитель
8. тема це... Фінансовий апарат ~це
9. Kitstud- T~~ nr
10. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата біологічних наук
11. Социология и право
12. Прокуратура РФ и её роль в надзоре за исполнением законов
13. Святой праведный Алексий Мечев
14. аспирино вая астма
15. Реферат- Воспроизведение у животных пороков и недостаточности аортальных клапанов
16. варианты D3 Ch3 Co3 Cп3 q3
17. Неологизмы в современном английском язык
18. Реферат- История возникновения фамилии
19. Трудове право передбачає такі форми навчального процесу- лекції практичні заняття колоквіуми індивідуал.
20. Пинскдрев 1 Организационноэкономическая характеристика предприятия