Връщане към Курс по програмиране за напреднали (2012)

Курсов проект по програмиране за напреднали (2012)

Публикуваме условието на курсовия проект за курса по програмиране за напреднали (2012).

Банкова система

Задача

Да се разработи прототип на виртуална банка, в която да могат да работят, както служители на банката, така и нейни клиенти.

Обекти в системата

Виртуалната банка се характеризира със следните обекти.

Лица

Всяко физическо или юридическо лице в банката се характеризира със следната информация:

  • Имена — низ от думи разделени с интервал или тире с дължина най-много 255 символа;
  • Идентификатор — уникален низ от най-много 15 цифри;
  • Потребителско име — уникален за лицата низ от най-много 50 латински букви и цифри;
  • Парола — низ от най-много 50 букви, цифри и специални символи;
  • Служител или клиент — информация дали лицето е служител на банката или клиент;
  • Състояние — „активен“ или „неактивен“;
  • Дата на регистриране на лицето;
  • Служител регистрирал лицето (ако има такъв).
Сметки

Вска сметка в банката се характеризира със следната информация:

  • Клиент титуляр на сметката;
  • IBAN — низ от най-много 30 латински букви и цифри;
  • Валута — низ от 3 латински букви;
  • Описание — текст от максимум 255 символа;
  • Дата на откриване на сметката;
  • Служител открил сметката.
Трансакции

Всяка трансакция се характеризира със следната информация:

  • Сметка — сметка, с която е осъществена трансакцията;
  • Сума — сума на трансакцията (положителна за депозит и отрицателна за теглене);
  • Описание — текст от максимум 255 символа;
  • Дата на извършване на трансакцията;
  • Служител извършвае на трансакцията.

Функционални изисквания

Администратори
  • Администраторите на системата имат директен достъп до базата данни;
  • Администраторите на системата могат да регистрират служители, като в този случай полето „Служител регистрирал лицето“ за съответния служител е празно;
  • Администраторите на системата могат да променят състоянието на служителите в базата данни.
    Служители
  • Служителите осъществяват достъп до системата като използват вход с потребителско име и парола, само ако са в състояние „активен“;
  • Служителите могат да регистрират нови клиенти на банката;
  • Служителите могат да редактират единствено състоянието на клиентите;
  • Служителите могат да търсят клиенти на банката по идентификатор;
  • Служителите могат да преглеждат списъка със сметките на намерен клиент;
  • Служителите могат да виждат текущия баланс на избрана сметка;
  • Служителите могат да преглеждат списъка с трансакциите по избрана сметка и да задават филтър по дата;
  • Служителите могат да регистрират трансакции по избрана сметка.
Клиенти
  • Клиентите осъществяват достъп до системата като използват вход с потребителско име и парола, само ако са в състояние „активен“;
  • Клиентите могат да преглеждат списъка със своите сметки;
  • Клиентите могат да виждат текущия баланс на избрана своя сметка;
  • Клиентите могат да преглеждат списъка с трансакциите по избрана своя сметка и да задават филтър по дата.

Технически изисквания

Бази данни

Системата за управление на бази данни трябва да бъде Microsoft SQL Server.

Сървърно приложение

Сървърното приложение трябва да бъде разработено на Microsoft .NET Framework като WCF web услуга:

  • приютена в конзолно приложение;
  • приютена в ASP.NET приложение на IIS.
Клиентско приложение

Клиентското приложение трябва да бъде разработено на Microsoft .NET Framework под една от следните форми:

  • Desktop приложение реализирано с Windows Forms или Windows Presentation Foundation;Web приложение реализирано с Web Forms или ASP.NET MVC;
  • Мобилно приложение реализирано с Windows Phone SDK.

Забележки

Създаването и използването на WCF уеб услуги са сравнително прости и ще бъдат демонстрирани и подпомогнати по време на разработката на проекта.

Постоянен линк към тази тема: https://acad.david.bg/kursove/2012-kurs-po-programirane-za-naprednali/kursov-proekt/