Разработка приложения для автоматизации учета постояльцев в общежитии на языке C#

Описание предметной области и реализация программного приложения. Методика создания уникальных идентификаторов для клиентских договоров. Анализ диаграммы взаимодействий основных составляющих автоматизированной системы учета постояльцев в общежитии.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 18.12.2014
Размер файла 257,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

1. Описание предметной области

Общежития. Учет постояльцев.

Новый жилец желает заселиться в общежитие,

Обращается к администратору, предоставляет свои полные данные ФИО, место работы, состав семьи.

Администратор подбирает свободную комнату\место в общежитии, заполняет все данные о жильце, составляет договор о заселении, выписывает квитанцию об оплате, отправляет жильца в кассу для оплаты

Жилец с квитанцией идет к кассиру, производит оплату, кассиру выписывает чек, жилец возвращается к администратору, предоставляет чек об оплате, администратор подписывает договор, заселяет жилеца, отмечает в журнале место которое занял новый жилец, как занятое.

2. Сценарии

Сценарий 1. «Карточка жильца» \\Клиент обращается к администратору для заселения в общежитие.

Администратор создает новую карточку жильца.

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

Сценарий 1.2 «Договор о заселении».

Администратор осуществляет поиск свободных комнат и мест по регистрационному журналу находит комнату со свободным местом. Администратор создает новый договор. Администратор вносит в договор информацию с номером комнаты, суммой оплаты, датой начала и окончания действия договора, ФИО жильца. Администратор задает договору и вносит в него порядковый номер, вносит данные (ФИО) администратора. Статус договора при создании - «Действует». Состояние договора - «Не оплачено» Администратор заносит договор в архив.

Сценарий 1.3. «Квитанция об оплате».

Администратор создает новую квитанцию. Администратор осуществляет поиск договора в архиве договоров. Администратор вносит в квитанцию информацию из договора: ФИО жильца, сумма оплаты, № договора. Администратор задает квитанции порядковый номер и вносит его в нее.

Сценарий 2 «Оплата квитанции».

//Новый жилец идет к кассиру для оплаты квитанции. Клиент вносит Сумму //для оплаты.

Кассир создает новую запись в журнале кассира. Кассир задает и вносит номер записи. Кассир в новую созданную запись вносит информацию из квитанции: №квитанции об оплате, № оплаченного договора, сумму оплаты, ФИО жильца. Кассир вносит информацию: дату произведения платежа, ФИО кассира.

Кассир производит печать записи. //Отдает распечатку жильцу.

Сценарий 3 «Заселение».

//Жилец возвращается к администратору, Администратор проверяет наличие чека. Администратор осуществляет поиск договора нужного жильца в архиве. Администратор переводит договор в состояние «Оплачено».

Администратор осуществляет поиск карточки клиента в журнале жильцов.

Администратор в карточке жильца вносит информацию о месте жительства с указанием № комнаты, и указанием окончания действия, из договора.

Администратор изменяет в комнате количество свободных мест(-1).

Сценарий 4 «Выселение».

При выселении жильца администратор осуществляет поиск договора нужного жильца в архиве договоров. Администратор переводит договор в статус «Закрыт».

Администратор вносит в договор информацию о дате закрытия. Администратор осуществляет поиск карточки жильца в журнале жильцов.

Администратор удаляет карточку жильца из журнала жильцов.

Администратор осуществляет поиск места жильца в регистрационном журнале. Администратор изменяет количество свободных мест в комнате(+1).

3. Словари

Сущности.

1. Журнал жильцов.

2. Карточка жильца - карточка в которую вносятся все данные жильца.

3. ФИО.

4. Дата рождения.

5. Пол.

6. Гражданство.

7. Состав семьи - дети есть\нет.

8. Место работы - информация где жилец работает.

9. Регистрационный журнал.

10. Комната - жилая комната в общежитии.

11. Номер комнаты.

12. Место - кровать, место жильца в комнате.

13. Архив - Место для хранения договоров.

14. Договор о заселении - документ на основании которого жилец заселяется в общежитие.

15. Дата начала - начало действия договора.

16. Дата окончания - прекращение действия договора.

17. Дата закрытия - дата выселения жильца.

18. Сумма оплаты - денежные средства, сумма для оплаты проживания, согласно договору.

19. Номер договора - уникальный идентификатор для договоров клиентов.

20. Статус Договора «Действует»/ «Закрыт».

21. Состояние договора «Оплачено»/ «Не оплачено».

22. Квитанция для оплаты - документ, выдаваемый для оплаты договора.

23. Номер квитанции - идентификатор для квитанции.

24. Журнал кассира - журнал с информацией об оплаченных квитанциях.

25. Запись в журнале кассира.

26. Дата произведения платежа - дата оплаты в кассе.

4. Действия

1. Создание карточки жильца.

2. Создание Договора.

3. Создание Квитанции.

4. Создание новой записи в журнале кассира.

5. Задание номера карточки жильца.

6. Задание номера договора.

7. Задание номера квитанции.

8. Задание номера Записи в журнале кассира.

9. Внесение номера карточки в саму карточку.

10. Внесение номера договора в договор.

11. Внесение номера квитанции в квитанцию.

12. Внесение номера записи в запись.

13. Внесение информации в карточку жильца.

14. Внесение информации в договор.

15. Внесение информации в квитанцию.

16. Внесение информации в запись.

17. Добавление карточки жильца в журнал жильцов.

18. Добавление Договора в Архив.

19. Добавление записи в журнал кассира.

20. Поиск места по регистрационному журналу.

21. Поиск договора в архиве.

22. Поиск карточки клиента в журнале жильцов.

23. Изменение количества свободных мест в комнате.

24. Внесение в договор информации о дате закрытия.

25. Удаление карточки из журнала жильцов.

26. Изменение состояния договора «Оплачено»/«Не оплачено».

27. Изменение статуса договора на «Закрыт».

28. Печать записи.

5. Иерархия сущностей

· Журнал Жильцов.

o Карточка жильца.

§ ФИО.

§ Дата рождения.

§ Пол.

§ Гражданство.

§ Состав семьи.

§ Место работы.

§ № комнаты.

§ Дата окончания.

· Регистрационный журнал.

o Комната.

§ № комнаты.

§ Количество свободных мест.

· Архив договоров.

o Договор о заселении.

§ ФИО.

§ Дата начала.

§ Дата окончания.

§ Номер комнаты.

§ Сумма оплаты.

§ Номер договора.

§ Статус договора.

§ Состояние договора.

§ Дата закрытия.

· Квитанция для оплаты.

o № квитанции.

o ФИО.

o Номер договора.

o Сумма оплаты.

· Журнал кассира.

o Запись.

§ Оплаченная сумма.

§ № записи.

§ Дата платежа.

§ № квитанции.

§ Номер договора.

6. Описание классов

Табл. 1. Журнал Жильцов (LodgerList)

Название

Журнал Жильцов (LodgerList)

Описание

Содержит экземпляры класса карточки жильца.

Свойства

Список карточек: Lodger

Табл. 2. Карточка жильца (Lodger)

Название

Карточка жильца (Lodger)

Описание

Содержит всю информации о жильце, так же указываются данные о номере комнаты и дате окончания договора.

Свойства

· ФИО: string

· Дата рождения:date

· Пол: string

· Гражданство: string

· Состав семьи (есть дети/нет) : bool

· Место работы: string

· № комнаты: int

Дата окончания - date

Табл. 3. Класс Регистрационный журнал(RoomList)

Название

Класс Регистрационный журнал(Log)

Описание

Содержит экземпляры класса комнаты

Свойства

Список комнат: Rooms

Табл. 4. Класс комната (Room)

Название

Класс комната (Room)

Описание

Содержит информацию о комнате в общежитии, так же о местах в ней.

Свойства

Номер комнаты-int. Количество свободных мест - int

Табл. 5. Класс Архив Договоров (Archives)

Название

Класс Архив Договоров(Archives)

Описание

Содержит экземпляры класса Document

Свойства

Список договоров: Document

Табл. 6. Класс Договор (Document)

Название

Класс Договор (Document)

Описание

Отвечает за информацию, содержащуюся в договоре

Свойства

· ФИО- string

· Дата начала- date

· Дата окончания -date

· Номер комнаты -int

· Сумма оплаты -double

· Номер договора-int

· Статус договора-bool

· Состояние договора-bool

· Дата закрытия-date

Табл. 7. Класс Квитанция (Receipt)

Название

Класс Квитанция (Receipt)

Описание

Отвечает за заполнение бланка квитанции

Свойства

· № квитанции- int

· ФИО-string

· Номер договора-int

· Сумма оплаты-double

Табл. 8. Класс Журнал Кассира (CashierList)

Название

Класс Журнал Кассира(CashierList)

Описание

Содержит экземпляры класса Cashier

Свойства

Список записей: Cashier

Табл. 9. Класс Запись в журнале кассира (Cashier)

Название

Класс Запись в журнале кассира (Cashier)

Описание

Отвечает за заполнение образца записи в журнале кассира

Свойства

· Оплаченная сумма-double

· № записи-int

· Дата платежа-date

· № квитанции-int

· Номер договора-int

7. Диаграммы последовательностей

Рис. 1. Сценарий 1.1 Создание карточки жильца

Рис. 2. Сценарий 1.2 Создание договора

Рис. 3. Сценарий 2. Оплата квитанции

Рис. 4. Сценарий 3. Заселение

Рис. 5. Сценарий 4. Выселение

Рис. 6. Диаграмма взаимодействий

8. Реализация программы

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Hostels

{

class Lodger

{

private string fio;

private int lodgerID;

private DateTime birthdate;

private string country;

private bool child;

private string work;

private int roomID = 0;

private DateTime dateend= new DateTime();

public Lodger(int lodgerID,string fio,DateTime birthdate,string country,bool child,string work)

{

this.lodgerID = lodgerID;

this.fio = fio;

this.birthdate = birthdate;

this.country = country;

this.child = child;

this.work = work;

}

public string FIO

{

get { return fio; }

set {fio = value; }

}

public int RoomID

{

get { return roomID; }

set { roomID = value; }

}

public int LodgerID

{

get { return lodgerID; }

set { lodgerID = value; }

}

public DateTime DateEnd

{

get { return dateend; }

set { dateend = value; }

}

public void Change(Document d)

{

RoomID = d.RoomID;

DateEnd = d.DateEnd;

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Hostels

{

class LodgerList

{

private List<Lodger> log = new List<Lodger>();

public void AddLig(Lodger ld)

{

log.Add(ld);

//Добавление нового жильца.

}

public void FindLogID(int ID)

{

//поиск карточки жильца по номеру

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Hostels

{

class Document

{

private string fio;

private DateTime dateBegin;

private DateTime dateEnd;

private int roomID;

private double summ;

private int docID;

private bool status=false;

private bool activity=true;

private DateTime dateClose;

public Document(Room rID,Lodger l,DateTime db,DateTime de,double s,int dTD)

{

this.fio = l.FIO;

this.roomID = rID.RoomID;

dateBegin = db;

dateEnd = de;

summ = s;

docID = dTD;

}

public string FIO

{

get { return fio; }

set { fio = value; }

}

public int RoomID

{

get { return roomID;}

set {roomID=value;}

}

public double Summ

{

get { return summ;}

set { value = summ; }

}

public int DocID

{

get { return docID;}

set { docID = value;}

}

public bool Status

{

get { return status; }

set { status = value; }

}

public bool Activity

{

get { return activity;}

set { activity = value; }

}

public DateTime DateEnd

{

get { return dateEnd; }

set { dateEnd = value; }

}

public DateTime DateClose

{

get { return dateClose; }

set { dateClose = value; }

}

public void Close(DateTime dC)

{

DateClose = dC;

Activity = false;

}

public void Open()

{

Status = true;

}

public override string ToString()

{

return this.DocID.ToString() + ' ' + FIO + ' ' + Summ.ToString() + ' ' + dateBegin.ToString() + ' ' + DateClose.ToString()

+ ' ' + DateEnd.ToString() + ' ' + Status.ToString() + ' ' + Activity.ToString();

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Hostels

{

class Archives

{

private List<Document> doc = new List<Document>();

public void AddDoc(Document d)

{

doc.Add(d);

//Добавление нового договора

}

public void FindDoc(int DocID)

{

//Поиск договора по номеру

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Hostels

{

class Room

{

private int roomID;

private int countFreeBeds;

public Room()

{ }

public int RoomID

{

get { return roomID; }

set{roomID=value;}

}

public int CountFreeBeds

{

get { return countFreeBeds; }

set { value = countFreeBeds; }

}

public void ChangeFreeBeds(int c)

{

CountFreeBeds = CountFreeBeds + c;

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Hostels

{

class RoomList

{

private List<Room> room = new List<Room>();

public void AddRoom(Room r)

{

room.Add(r);

//Добавление новой комнаты

}

public void FindRoom(int RoomID)

{

//поиск комнаты по номеру

}

public void FindRoom()

{

//поиск комнату по наличию пустых мест

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Hostels

{

class Receipt

{

private int receiptID;

private string fio;

private int docID;

private double summ;

public Receipt(Document d, int r)

{

receiptID = r;

fio = d.FIO;

docID = d.DocID;

summ = d.Summ;

}

public int ReceiptID

{

get { return receiptID; }

set { receiptID = value; }

}

public string FIO

{

get { return fio; }

set { fio = value; }

}

public double Summ

{

get { return summ; }

set { value = summ; }

}

public int DocID

{

get { return docID; }

set { docID = value; }

}

public override string ToString()

{

return this.ReceiptID.ToString() +' '+ this.FIO.ToString() + ' ' + this.DocID.ToString() + ' ' + this.Summ.ToString();

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Hostels

{

class Cashier

{

private int cashierID;

private int receiptID;

private int docID;

private DateTime dateCash;

public Cashier(Receipt r, int c,DateTime dc)

{

cashierID = c;

receiptID = r.ReceiptID;

docID = r.DocID;

dateCash = dc;

}

public int CashierID

{

get { return cashierID; }

set { cashierID = value; }

}

public DateTime DateCash

{

get { return dateCash; }

set { dateCash = value; }

}

public int ReceiptID

{

get { return receiptID; }

set { receiptID = value; }

}

public int DocID

{

get { return docID; }

set { docID = value; }

}

public override string ToString()

{

return CashierID.ToString() + ' ' + ReceiptID.ToString() + ' ' + DocID.ToString() + ' ' + DateCash.ToString();

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

программный идентификатор автоматизированный

namespace Hostels

{

class CashierList

{

private List<Cashier> cash = new List<Cashier>();

public void AddCash(Cashier c)

{

cash.Add(c);

//Добавление новой записи

}

}

}

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.