Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методич. материалы по КП (Курс 1).doc
Скачиваний:
2
Добавлен:
02.09.2019
Размер:
1.33 Mб
Скачать

10Пример функциональных требований

От полноты реализуемых функций зависит качество и полезность разрабатываемой программы. Необходимо помнить, что применение информационных технологий открывает новые возможности решения задач предметной области. Приведем неполный перечень объектов и функциональных требований по автоматизации предметной области «Библиотека».

Объекты:

книга, автор, каталог книг, карточка читателя, картотека, управление процессом.

Функции:

Добавление, удаление и модификация объектов (книг, авторов, читателей).

Вывод инфор­мации о книге (автор, издательство, жанр, рейтинг книги, серия, количество экземпляров,…). Отбор книг по жанру, автору, рейтингу, году издания, …

Определение местонахождения книги. Если книга на полке, то на какой, если на руках, то у кого (ФИО, адрес, телефон читателя) и когда ее должны вернуть.

Какие книги требуют ремонта.

Какие книги являются ветхими.

Какие книги не выдаются на руки.

Список уничтоженных книг.

Какие книги имеют наибольший спрос (рейтинг).

Каких книг нет и их нужно закупить (заказы читателей).

Информация об авторах (какие книги были изданы, краткая биография, рейтинг, …).

Алфавитный поиск авторов (см. Интернет www.tululu.ru: алфавит  авторы  автор  книги  книга).

Вывод информации о читателях, какие книги брал данный читатель, самый читающий читатель. Вывод сведений о читателях-должниках.

Какие читатели брали данную книгу.

Программа должна иметь две реализации: для библиотекаря и для читателей (абонентов).

11Пример приложения, разработанного по теме курсового проекта

11.1. Постановка задачи

Тема: Разработка информационно-справочной системы о видах радиостанций и их характеристиках.

Краткое описание предметной области

Разновидностями радиостанций являются:

- подвижная радиостанция (маршрут движения от исходного расположения - массив промежуточных точек. Последняя промежуточная точка соответствует конечной точке маршрута).

- стационарная радиостанция (наименование населенного пункта).

Координаты точек на местности указываются в декартовой системе координат.

Требования к программе

1. Определить понятие “Радиостанция”: позывной радиостанции, дальность связи, расположение (координаты на местности) и др.

2. Создать справочную систему с реализацией функций по ее сопровождению.

3. Вычислить количество стационарных радиостанций, расположенных в населенных пунктах, название которых начинается с заданной буквы.

4. Изобразить схему движения всех подвижных радиостанций. Маршруты движения разных радиостанций изображать разными цветами.

11.2. Пользовательский интерфейс

Рис. Основное окно программы

Рис. Меню, стандартное диалоговое окно открытия файла

Рис. Стандартные диалоговые окна

Рис. Ввод и отображение данных

Рис. Диаграмма

11.3. Пример оформления программного кода приложения.

Не менее одного класса должно быть самодокументировано с помощью XML-комментариев.

Абстрактный класс, являющийся предком 2х видов радиостанций

using System;

using System.Collections.Generic;

using System.Text;

using System.Collections;

namespace ПроектРадиостанции

{

//Каждый класс должен иметь XML-комментарий

/// <summary>

/// Абстрактный класс, являющийся предком 2х видов радиостанций

/// </summary>

[Serializable]

public abstract class Радиостанция

{

protected string позывной; // комментарий

protected int дальность; // комментарий

protected int x; // комментарий

protected int y; // комментарий

//Каждый метод класса должен должен иметь XML-комментарий

//с указанием назначения, входных и выходных параметров и возвращаемого значения.

/// <summary>

/// Конструктор класса "Радиостанция"

/// </summary>

/// <param name="позывной">Позывной радиостанции</param>

/// <param name="дальность">дальность связи</param>

/// <param name="x">Координата x</param>

/// <param name="y">Координата y</param>

public Радиостанция(string позывной, int дальность, int x, int y)

{

this.позывной = позывной;

this.дальность = дальность;

this.x = x;

this.y = y;

}

/// <summary>

/// Свойство, принимающее значение дальности связи радиостанции

/// </summary>

public int Дальность

{ get {return дальность;}

}

/// <summary>

/// Свойство, принимающее значение позывного

/// </summary>

public string Позывной

{ get{ return позывной;}

}

/// <summary>

/// Свойство, принимающее значение координаты x

/// </summary>

public int X

{get {return x;}

}

/// <summary>

/// Свойство, принимающее значение координаты y

/// </summary>

public int Y

{get { return y;}

}

}

}

Класс, представляющий подвижные радиостанции

using System;

using System.Collections.Generic;

using System.Text;

using System.Collections;

using System.Windows.Forms;

using System.Drawing;

namespace ПроектРадиостанции

{

[Serializable]

public class Подвижная : Радиостанция // комментарий

{

private int[] точки_x; // комментарий

private int[] точки_y; // комментарий

private static int min_x = int.MaxValue, // комментарий

min_y = int.MaxValue,

max_x = 0,

max_y = 0;

// комментарий

public Подвижная(string позывной, int дальность, int x, int y, ArrayList массив_точек_x,

ArrayList массив_точек_y)

: base(позывной, дальность, x, y)

{

точки_x = new int[массив_точек_x.Count];

точки_y = new int[массив_точек_y.Count];

for (int i = 0; i < массив_точек_x.Count; i++)

{

точки_x[i] = (int)массив_точек_x[i];

точки_y[i] = (int)массив_точек_y[i];

}

}

// комментарий

static public int Max_x

{

get { return max_x; }

set

{ max_x = value; }}

// комментарий

static public int Min_x

{get { return min_x; }

set { min_x = value; } }

// комментарий

static public int Max_y

{get { return max_y; }

set { max_y = value; }}

// комментарий

static public int Min_y

{ get { return min_y; }

set { min_y = value;} }

// комментарий

public int[] Точки_x

{

set { точки_x = value; }

get{ return точки_x;} }

// комментарий

public int[] Точки_y

{

set { точки_y = value; }

get { return точки_y;} }

// комментарий

public void Рисовать(Graphics полотно, Size размер, int шир_x, int выс_y,