
- •Звіт з навчальної практики: «Конструювання програмного забезпечення»
- •План контролю якості
- •Задіяні документи:
- •Управління:
- •Документація
- •Мінімальні вимоги до документації:
- •Стандарти, практики, домовленості і метрики.
- •6. Огляди та аудити
- •6.1. Мета
- •План управління конфігураціями (scmp)
- •2.1. Організація
- •2.2.2. Лідер проекту
- •2.2.3. Розробники
- •2.3. Застосовувані політики, директиви та процедури
- •3.2. Контроль конфігурації
- •3.2.1. Запит на зміни
- •3.2.3. Схвалення або несхвалення змін
- •3.2.4. Реалізація змін
- •3.3. Визначення статусу конфігурації
- •3.4. Аудити та огляди конфігурації
- •3.5. Управління інтерфейсом
- •3.6. Контроль постачальників та субпідрядників
- •Розклад
- •5. Ресурси
- •6. Супровід
- •План управління програмним проектом (spmp) для відеогри Final Fantasy
- •1. Введення
- •1.1. Огляд проекту
- •1.2. Результуючі артефакти проекту
- •1.3. Розвиток spmp
- •1.4. Посилальні матеріали
- •1.5. Абревіатури
- •2. Організація проекту
- •2.1. Модель процесу
- •2.2. Організаційна структура
- •3.4. Механізми моніторингу та контролю
- •3.5. План розстановки кадрів
- •8.Звіти про проблеми і корекційна діяльність
- •9.Інструменти, технології та методики
- •10. Контроль програмного коду
- •11. Контроль носіїв
- •12. Контроль постачальників
- •13. Збір, супровід та зберігання протоколів
- •14. Навчання
- •15. Управління ризиками
- •Специфікація вимог до програмного забезпечення (srs) для відеоігри Final Fantasy, частина 1
- •Введення
- •Загальний опис
- •3.2.1.1. Case-діаграма героя
- •3.2.1.2. Case-діаграма монстра
- •5. Проектна документація
- •1.1. Мета
- •1. Введення
- •1.1. Мета
- •1.2. Опис проекту
- •5.1.2. Інтерфейс пакету Персонажі FinalFantasy
- •6.1.3. Клас Зовнішніх персонажів(монстрів)
- •6.1.4 Клас артефактів
- •6.2. Детальне проектування даних
- •Розробка коду програми.
- •7. Документація по тестуванню програмного продукту гри «Final Fantasy».
- •8. Експлуатаційна документація
- •Характеристика програмного засобу
- •2.3. Робота з програмним засобом
- •3.4 Повідомлення користувачу
- •Висновок:
1. Введення
1.1. Мета
У даному документі наведено проектування рольової відеоГри FinalFantasy.
1.2. Опис проекту
Цей проект являє собою прототип відеогри Final Fantasy, створюваний з навчальною метою, на якому ми продемонструємо прийоми розробки архітектури, детального проектування та складання документації. Передбачається використовувати вибрану архітектуру в якості основи для майбутніх більш досконалих версій. У цей опис не входять каркасні класи - їх розробка документується в розділі SDD під назвою «Каркас архітектури рольової гри».
1.3. Визначення, скорочення і терміни
Ні.
2. Посилання
Software Engineering: an Objected-Oriented Perspective. E. Braude, Wiley, 2000.
UML: The Unified Modeling Language User Guide. G. Booch, J. Rumbaugh, I.Jacobson, Addison-Wesley, 1998 [15].
Стандарт IEEE 1016-1987 (затверджений заново у 1993 році) встановлює основні напрямки розробки SDD.
3. Опис декомпозиції
Для опису архітектури FinalFantasy використовуються три моделі: варіантів використання, класів і переходів станів. Крім того, будуть показані також відносини між каркасними пакетами FinalFantasy, описані в розділі SDD «Каркас архітектури рольової гри».
3.1. Модульна декомпозиція
Пакети архітектури FinalFantasy показані на рис. 5.37. Ці три пакети: ГраFinalFantasy, ПерсонажіFinalFantasy і СередовищеFinalFantasy. Їм відповідають faсade-класи ГраFinalFantasy, РоліFinalFantasy і СередовищеFinalFantasy. Кожен з цих класів має рівно
один примірник і по суті є інтерфейсом для взаємодії з пакетом. Інші класи недоступні за межами пакету
Рис. 5.37
3.1.1. Пакет ГраFinalFantasy
Пакет ГраFinalFantasy складається з класів, керуючих розвитком гри в цілому. Цей пакет розробляється для того, щоб забезпечити реакцію на дії користувача (події).
3.1.2. Пакет ПерсонажіFinalFantasy
Пакет ПерсонажіFinalFantasy укладає в собі персонажі, які беруть участь у грі. Це і персонажі, що знаходяться під керуванням гравця, і зовнішні персонажі.
3.1.3. Пакет СередовищеFinalFantasy
Пакет СередовищеFinalFantasy описує схему гри FinalFantasy, а саме зони і з'єднання між ними. До цієї категорії не належать будь рухомі предмети.
3.2. Декомпозиція на паралельні процеси
У грі FinalFantasy є два паралельні процеси. Перший включає в себе основну дію гри, в якому гравець переміщує свій головний персонаж з однієї зони в іншу. Другий процес складається з переміщень зовнішнього персонажа між зонами.
3.3. Декомпозиція даних
Структури даних, якими обмінюються пакети, визначаються в класах Зона, ПерсонажFinalFantasy і З'єднанняЗониFinalFantasy.
3.4. Декомпозиція моделі переходів станів
Стан відеогри FinalFantasy показані на рис. 5.38.
Рис.5.38.
3.5. Декомпозиція моделі варіантів використання
У відеогрі FinalFantasy можна виділити три варіанти використання: «Ініціалізувати», «Перейти в сусідню зону» та «Вступити в контакт із зовнішнім персонажем» (рис. 5.39). Ці варіанти використання докладно описуються в розділі 2.2 SRS, а також у наступних розділах даного документа.
4. Опис залежностей
У цьому розділі дається опис залежностей між різними варіантами декомпозиції, перерахованими в розділі 3 даного документа.
4.1. Міжмодульні залежності (об'єктна модель)
Залежності між пакетними інтерфейсами ілюструє рис. 5.40. Пакет ГраFinalFantasy є залежним по відношенню до всіх пакетів FinalFantasy.
Рис. 5.40. Архітектура відеогри Final Fantasy
Пакет СередовищеFinalFantasy знаходиться в залежності від пакета Персонажі FinalFantasy. Це відбувається тому, що будь-яка взаємодія персонажа гри можливо тільки в контексті середовища. Зокрема, об'єкти класу Зона відповідають за виявлення одночасної присутності персонажа гравця разом із зовнішнім персонажем в одній і тій же зоні.
Зв'язку між класами, що не відносяться до інтерфейсу, пояснюються далі в цьому документі.
4.2. Міжпроцесорні залежності
У тому випадку, коли відбувається контакт, у взаємодію вступають два процеси: процес переміщення основного персонажа гравця і процес управління переміщенням зовнішнього персонажа.
4.3. Залежно всередині даних
Структури даних, якими обмінюються пакети, визначені в класах. Взаємодія класів описано в розділі 6 даного документа.
4.3.1. Діаграма переходів станів
4.4. Залежності між станами
Кожне стан залежить від тих станів, у які гра може перейти з нього.
4.5. Залежності між рівнями
Залежність додатка FinalFantasy від каркаса рольової гри показана на рис. 5.41. Кожним пакетом додатка використовується саме один каркасний пакет.
5. Опис інтерфейсу
У цьому розділі описуються інтерфейси об'єктної моделі. Зверніть увагу, що деякі з описуваних класів визначені при описі проектування каркаса рольової гри.
5.1. Міжмодульні інтерфейси
5.1.1. Інтерфейс пакету Гра FinalFantasy
Інтерфейс пакету Гра FinalFantasy забезпечується об'єктом гра FinalFantasy класу Гра FinalFantasy. Перерахуємо його складу.
1. EncounterGame getTheEncounterGameO / / отримання єдиного примірника.
2. GameState getStateQ / / поточний стан екземпляра Гра FinalFantasy.
3. void setState О / / встановлює стан екземпляра Гра FinalFantasy.
4. // Будь-яка подія, що впливає на екземпляр Гра FinalFantasy: void hand! ЕЕvent (AWTEvent)