Розробка інформаційної системи Футбольний клуб

Автор работы: Пользователь скрыл имя, 29 Сентября 2013 в 14:17, курсовая работа

Описание работы

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

Файлы: 1 файл

Panchuk_401_KR_TPSPP.doc

— 3.20 Мб (Скачать файл)

Рис.5.4. Діаграма діяльності «Переглянути фото»

 

Таблиця 5.5. Опис прецеденту "Бронювати квитки(-ок)"

Прецедент: Бронювати квитки(-ок)

ID: 5

Короткий опис:

Фанат бажає забронювати квитки на матч чи відвідати фан-кафе

Головні актори:

Фанат

Другорядні актори:

Немає

Передумови:

  1. Фанат зайшов в систему.

Основний потік:

  1. Якщо Фанат бажає забронювати квиток на матч.
    1. Фанат обирає розділ системи «Квитки» для можливості бронювання.
    2. Система надає список найближчих домашніх матчів для вибору на котрий з них піти.
    3. Фанат обирає певний матч.
    4. Фанат заповнює форму для бронювання.
    5. Фанат відправляє запит.
    6. Оплатити ціну квитка.
    7. Квиток заброньовано та вислано замовнику.
    1. Якщо Фанат бажає відвідати фан-кафе:
    1. Фанат обирає розділ системи «Квитки» для перегляду інформації про фан-кафе.
    1. Система надає короткий опис про місцезнаходження та можливості фан-кафе .

Післяумови:

1.  Фанат переглянув ціни на матчі чи в фан-кафе та вирішує йти чи не йти .

Альтернативні потоки:

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

1.1. Виконання подій неможливе через технічний збій роботи системи. Видається повідомлення "Немає зв’язку з сервером".

1.2. Користувач передумав йти на матч чи в музей клубу та відмінив свої дії.


Рис.5.5. Діаграма діяльності «Бронювати квитки(-ок)»

 

 

Таблиця 5.6. Опис прецеденту "Додати адміністратора"

Прецендент: Додати адміністратора

ID: 6

Короткий опис:

За необхідності Керівництво може наняти ще одного Адміністратора та створити новий акаунт для нього.

Головні актори:

Керівництво

Другорядні актори:

Адміністратор

Передумови:

  1. Керівництво наймає нового Адміністратора, якому необхідно створити акант.

Основний потік:

  1. Керівництво отримує дані про Адміністратора.
  2. Керівництво заповнює регістраційну форму (вносить дані про Адміністратора: прізвище, ім’я, по-батькові, ідентифікаційний код, адресу проживання, контактні дані).
  3. Керівництво закріплює за Адміністратором певний логін та пароль.
  4. Керівництво надає йому відповідні права (права адміністратора).

Післяумови:

  1. Новий Адміністратор має доступ до системи та зобов’язаний виконувати свої обов’язки.

Альтернативні потоки:

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

    1. Технічний збій роботи системи. Видається повідомлення "Немає зв’язку з сервером".
    2. Помилка в заповнені реєстраційної форми. Видається повідомлення "Не всі головні поля заповнені" або "Поля заповнені невірно".
    3. Користувач з такими даними вже зареєстрований в системі. Видається повідомлення "Такий користувач вже зареєстрований в системі".

 

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

 

Рис.5.6. Діаграма діяльності «Додати адміністратора»

 

 

 

Таблиця 5. Матриця відображення вимог

           

 

                      Преценденти

 

 

 

 

 

      Вимоги

Переглянути новини

Переглянути звіт про  матч

Шукати матчі по календарю

Переглянути фото

Бронювати квиток на матч

Бронювати квиток у фан-кафе

Бронювати квитки

Переглянути таблицю  чемпіонату та інших змагань

Переглянути інформацію про клуб

Контролювати адміністраторів

Додати адміністратора

Редагувати інформацію про адміністратора

Переглянути список адміністраторів

Видалити адміністратора

Керувати спортивним відділом

Керувати маркетинговим  та економічним відділом

Керувати фінансами

Керувати інформаційною оснащеністю системи

Керувати футбольною академією

Керувати обслуговуючим  персоналом

Авторизуватися

Перевірити оновлення  всіх розділів

Вести облік користувачів

Надати інформацію по всім розділам

Перегляд новин

X

                                             

Перегляд таблиці чемпіонату та інших змагань

                                               

Пошук матчів по календарю

   

X

                                         

Перегляд фото

     

X

                                       

Перегляд інформації про футболістів

               

X

                             

Перегляд інформації про клуб

                                               

Бронювання квитку на матч

       

X

 

X

                                 

Бронювання квитку на стадіон чи фан-кафе

         

X

X

                                 

Авторизація

                                       

X

     

Облік користувачів

                                           

X

 

Надання інформації по розділам

                                             

X

Пошук користувачів

                                           

X

 

Перегляд інформації про користувача

                                           

X

 

Перегляд к-кості відвідувань  ресурсу

                                           

X

 

Перевірка оновлення  всіх розділів

                                         

X

   

Перегляд нових повідомлень

                                           

X

 

Контроль адміністраторів

                 

X

                         

Додання нового аканту адміністратора

                   

X

                         

Перегляд списку адміністратора

                       

X

                     

Редагування інформації про адміністратора

                     

X

                       

Видалення аканту адміністратора

                         

X

                   

Керування спортивним відділом

                           

X

                 

Керування маркетинговим  та економічним відділами

                             

X

               

Керування фінансами

                               

X

             

Керування футбольною академією

                                   

X

         

Керування обслуговуючим  персоналом

                                     

X

       

Керування інформаційною  оснащеністю системи

                                 

X

           

 

6 МОДЕЛЬ АНАЛІЗУ

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

Для визначення поведінки  системи було створено два основних артефакти діяльності "Аналіз прецендентів": класи аналізу та реалізації прецендентів.

Класи аналізу моделюють важливі аспекти предметної області, такі як "Фанат" і "Інформація про ФК". Для визначення основних класів аналіза було застосувано стереотипи RUP (boundary, control, entity).

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

6.1 Діаграми взаємодії

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

6.1.1 Діаграми послідовності

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

Діаграма послідовності  зображення на рис. 6.1.1.1 відповідає сценарію описаному в специфікації ID 1.

Рис. 6.1.1.1. Діаграма послідовності сценарію використання "Переглянути новини"

Діаграма послідовності  зображення на рис. 6.1.1.2 відповідає сценарію описаному в специфікації ID 2.

Рис. 6.1.1.2. Діаграма послідовності сценарію використання " Переглянути звіт про матч"

 

Діаграма послідовності зображення на рис. 6.1.1.3 відповідає сценарію описаному в специфікації ID 3.

Рис. 6.1.1.3. Діаграма послідовності сценарію використання "Шукати матчі по календарю"

 

Діаграма послідовності зображення на рис. 6.1.1.4 відповідає сценарію описаному в специфікації ID 4.

Рис. 6.1.1.4. Діаграма послідовності сценарію використання "Переглянути фото"

 

Діаграма послідовності зображення на рис. 6.1.1.5 відповідає сценарію описаному в специфікації ID 5.

Рис. 6.1.1.5. Діаграма послідовності сценарію використання "Бронювати квитки"

 

Діаграма послідовності зображення на рис. 6.1.1.6 відповідає сценарію описаному в специфікації ID 6.

Рис. 6.1.1.6. Діаграма послідовності сценарію використання "Додати адміністратора"

6.1.2. Діаграма класів аналізу

Діаграма класів аналізу  наведена у додатку А.

 

7 ПРОЕКТНА МОДЕЛЬ (ДІАГРАМА ПРОЕКТНИХ КЛАСІВ)

 

 

8 РОЗРОБКА ПРОГАМНОГО МОДУЛЯ(ПРОГРАМА НА АНДРОЇД)

 

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

Код головної форми програми:

 

package com.example.pfc;

 

import android.content.Context;

import android.content.Intent;

import android.graphics.Color;

import android.media.MediaPlayer;

import android.net.Uri;

import android.os.Bundle;

import android.os.Parcelable;

import android.support.v4.view.PagerAdapter;

import android.support.v4.view.ViewPager;

import android.view.Gravity;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.Gallery;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.TextView;

 

import com.actionbarsherlock.app.ActionBar;

import com.actionbarsherlock.app.SherlockActivity;

import com.actionbarsherlock.view.Menu;

import com.actionbarsherlock.view.MenuInflater;

import com.actionbarsherlock.view.MenuItem;

 

@SuppressWarnings("deprecation")

public class MainActivity extends SherlockActivity {

 

public final static String FILE_NAME = "filename";

MediaPlayer mp;

Gallery gallery;

ImageView imageView;

ActionBar actionBar; 

LinearLayout clublayout,teamlayout,newslayout;

ViewPager newsPager,matchesPager,ticketPager;

private static int NUM_NEWS = 5;

private static int NUM_MATCHES = 5;

private static int NUM_TICKET = 1;

private Context cxt;

private NewsPagerAdapter newsAdapter;

private MatchesPagerAdapter matchesAdapter;

private TicketPagerAdapter ticketAdapter;

 

@Override

    public void onCreate(Bundle savedInstanceState) {

        setTheme(R.style.Theme_Sherlock);

        super.onCreate(savedInstanceState);

setContentView(R.layout.main);

actionBar = getSupportActionBar();

 

cxt = this;

newsPager = (ViewPager) findViewById(R.id.newspager);

matchesPager=(ViewPager) findViewById(R.id.matchespager);

ticketPager=(ViewPager) findViewById(R.id.ticketpager);

        newsAdapter = new NewsPagerAdapter();

        matchesAdapter = new MatchesPagerAdapter();

        ticketAdapter = new TicketPagerAdapter();

        newsPager.setAdapter(newsAdapter);

        matchesPager.setAdapter(matchesAdapter);

        ticketPager.setAdapter(ticketAdapter);

 

       

final LinearLayout clublayout = (LinearLayout) findViewById(R.id.clublinear);

final LinearLayout teamlayout = (LinearLayout) findViewById(R.id.teamlinear);

final LinearLayout newslayout = (LinearLayout) findViewById(R.id.newslinear);

 

clublayout.setOnClickListener(new OnClickListener() {

Информация о работе Розробка інформаційної системи Футбольний клуб