-

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Программирование
  • 29 29 страниц
  • 5 + 5 источников
  • Добавлена 01.05.2010
1 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Содержание


Введение
1. Модели и спецификации программного обеспечения
1.1. Архитектура системы
1.2. Описание алгоритмов
1.3. Модель данных
2. Руководство программиста
2.1. Используемые технологии
2.2. Состав пакета Audio
2.3. Методы класса Menu
2.4. Структура данных
3. Руководство пользователя
3.1. Установка и настройка системы
3.2. Главное меню программы
3.3. Задание А
3.4. Задание Б
3.5. Задание В
3.6. Задание Г
3.7. Задание Д
Заключение
Использованные материалы
Глоссарий
Приложение

Фрагмент для ознакомления

Поскольку система имеет простейшую реализацию, то все пользователи имеют одну роль и им соответствуют одинаковые прецеденты. Для более сложной системы можно создать, например, второго актера- администратора БД, которым могут соответствовать следующие прецеденты:
Добавление данных в БД;
Удаление данных из БД;
Редактирование данных в БД.
Приложение
Текст программы


package audio;

import java.io.IOException;

import java.sql.*;
import java.io.*;

public class Menu
{
String f1, f2, f3, f4,f5;
int f6,f7, f8;

BufferedReader in;
BD bd;

static void menu()
{

System.out.println("Вариант 5. Выберите пункт меню:");
System.out.println("1-Задание А");
System.out.println("2-Задание Б");
System.out.println("3-Задание В");
System.out.println("4-Задание Г");
System.out.println("5-Задание Д");
System.out.println("6-Выход");
}


public void query1() throws SQLException
{
String sql="SELECT Kompoz.KodA, Sum(Hour(Kompoz!Vrem)) AS [Min], " +
"Sum(Minute(Kompoz!Vrem)) AS Sec" +
" FROM Kompoz GROUP BY Kompoz.KodA";


ResultSet rs= bd.sq.executeQuery(sql);
System.out.println("|Код альбома\t|Название\t|Общее время\t|");

while(rs.next())
{
f1=rs.getString("KodA");
f6 = rs.getInt("Min");
f7 = rs.getInt("Sec");
int k = (int)f7 / 60;
f6 = f6 + k;
f7 = f7 - k * 60;

String s1 = "SELECT Name from Albom where KodA=" + f1;

ResultSet rs2 = bd.sq1.executeQuery(s1);
if (rs2.next()) f2 = rs2.getString("Name");
rs2.close();
System.out.println("|"+f1+"\t\t|"+f2+"\t\t|"+f6+":"+f7+"\t|");

}
rs.close();
}

public void query2() throws SQLException
{
String sq_str="SELECT Nositel.KodN, Nositel.Type, Count(Nositel.KodA) AS Kol"
+ " FROM Nositel GROUP BY Nositel.KodN, Nositel.Type"
+ " HAVING (((Count(Nositel.KodA))>1))";

ResultSet rs= bd.sq.executeQuery(sq_str);
int [] fi = new int[100];
String [] fs = new String[100];
int i = 0;
while(rs.next())
{
fi[i]=rs.getInt("KodN");
fs[i] = rs.getString("Type");
i++;
}


for (int j = 0; j {
System.out.println("|Код носит.\t|Тип носит.\t|");
System.out.println("|"+fi[j]+"\t\t|"+fs[j]+"\t\t|");
System.out.println("Альбомы");
String s1 = "SELECT Nositel.KodN, Albom.KodA, Albom.Name, Albom.God"
+" FROM Albom INNER JOIN Nositel ON Albom.KodA = Nositel.KodA"
+" where KodN="+fi[j];
ResultSet rs2= bd.sq.executeQuery(s1);
System.out.println("|Название\t|Год\t|");
while (rs2.next()){
f1 = rs2.getString("Name");
f2 = rs2.getString("God");
System.out.println("|"+f1+"\t\t|"+f2+"\t|");
}
System.out.println();
rs2.close();
}
}
public void query3(BufferedReader in) throws IOException, SQLException
{
System.out.println("введите страну (Россия, Германия, Финляндия):");
f1=in.readLine();
System.out.println("Введите начальную дату:");
f2=in.readLine();
System.out.println("Введите конечную дату:");
f3=in.readLine();


String s1="SELECT Ispolnitel.KodIsp, Ispolnitel.Type, Ispolnitel.Name," +
" Ispolnitel.DateBir, Ispolnitel.Strana" +
" FROM Ispolnitel WHERE Ispolnitel.Strana='" +f1 +"'"+
" AND DateBir>=#"+f2+"# AND DateBir<=#"+f3 +"#";

ResultSet rs2= bd.sq.executeQuery(s1);
System.out.println("|Группа\t|Дата\t|");
while (rs2.next()){
f1 = rs2.getString("Name");
Date f20 = rs2.getDate("DateBir");
System.out.println("|"+f1+"\t\t|"+f20+"\t|");
}
}

public void query4(BufferedReader in) throws IOException, SQLException
{
System.out.println("введите подстроку для поиска в композиции:");
f5=in.readLine();


String s1="SELECT Kompoz.KodK, Albom.Name as AN, Albom.God, Kompoz.Name as KN"
+ " FROM Albom Right JOIN Kompoz ON Albom.KodA = Kompoz.KodA";

ResultSet rs2= bd.sq1.executeQuery(s1);
System.out.println("|Код комп.\t|Название альб.\t|Год\t|Композиция\t|" );

while (rs2.next()){
f3 = rs2.getString("KN");
if (f3.contains(f5))
{
f4 = rs2.getString("KodK");
f1 = rs2.getString("AN");
f2 = rs2.getString("God");
System.out.println("|"+f4+"\t\t|"+f1+"\t\t|"+f2+"\t|"+f3+"\t|");
}
}
}

public void query5(BufferedReader in) throws IOException, SQLException
{
String s1="SELECT * from Albom";

ResultSet rs2= bd.sq1.executeQuery(s1);
System.out.println("СПИСОК АЛЬБОМОВ");
System.out.println("|Код альб.\t|Название альб.\t|Год\t|" );

while (rs2.next()){

f4 = rs2.getString("KodA");
f1 = rs2.getString("Name");
f2 = rs2.getString("God");
System.out.println("|"+f4+"\t\t|"+f1+"\t\t|"+f2+"\t|");
}

System.out.println("введите номер альбома для получения списка композиций:");
f5=in.readLine();


String s2="SELECT Kompoz.KodK, Albom.Name as AN, Albom.God, Kompoz.Name as KN,"
+ " Hour(Kompoz!Vrem) AS [Min], Minute(Kompoz!Vrem) AS [Sec]"
+ " FROM Albom Right JOIN Kompoz ON Albom.KodA = Kompoz.KodA"
+ " Where Kompoz.KodA=" + f5;

ResultSet rs= bd.sq.executeQuery(s2);
System.out.println("|Код комп.\t|Название альб.\t|Год\t|Композиция\t\t\t|Время\t|" );

while (rs.next()){
f3 = rs.getString("KN");
f4 = rs.getString("KodK");
f1 = rs.getString("AN");
f2 = rs.getString("God");
f7 = rs.getInt("Min");
f8 = rs.getInt("Sec");
System.out.println("|"+f4+"\t\t|"+f1+"\t\t|"+f2+"\t|"+f3+"\t|"+f7+":"+f8+"\t|");
}
}
public static void main(String args[])
{
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
BufferedReader in=new BufferedReader(new
InputStreamReader(System.in));

System.out.println("введите имя файла базы данных ");
String filename = null;
try {
filename = in.readLine();
}
catch (IOException e1)
{
e1.printStackTrace();
}

Menu x = new Menu();
x.bd = new BD(filename);





while(true)
{
menu();


String vybor = null;
try
{
vybor = stdin.readLine();
char c = vybor.charAt(0);
switch (c)
{
case '1': x.query1(); break;
case '2': x.query2(); break;
case '3': x.query3(in); break;
case '4': x.query4(in); break;
case '5': x.query5(in); break;
case '6': x.bd.con.close();
System.exit(0); break;
}
}
catch (IOException exception)
{
exception.printStackTrace();
}
catch (SQLException e)
{
e.printStackTrace();

}


}
}
}





package audio;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class BD {

public Statement sq;
public Statement sq1;
public Connection con;

public BD(String filename)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// set this to a MS Access DB you have on your machine
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database+= filename.trim() + ";DriverID=22;READONLY=true}"; // add on to the end

con = DriverManager.getConnection( database ,"","");
sq=con.createStatement();
sq1=con.createStatement();
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e)
{
e.printStackTrace();
}
}

}














26

Использованные материалы
1) Хорстман К., Корнелл Г. Java. Тонкости программирования. – М., СПб, К.: Вильямс, 2007.
2) Скотт К. UML. Основные концепции. – М., СПб, К.: Вильямс, 2002.
3) Бекаревич Ю., Пушкина Н. MS Access 2000 за 30 занятий. – СПб.: БХВ, 2000.
4) Виннер Р. Microsoft Access 97/ Справочник. – СПб: Питер, 1998.
5) Ларман К. Применение UML и шаблонов проектирования/ Учебное пособие – М.: Вильямс, 2001.

Вопрос-ответ:

Какие модели и спецификации программного обеспечения рассматриваются в статье?

В статье рассматриваются модели и спецификации архитектуры системы, описание алгоритмов и модель данных.

Какие технологии используются в пакете Audio?

В пакете Audio используются различные технологии, но их подробное описание не приводится в статье.

Какие методы содержит класс Menu?

Класс Menu содержит несколько методов, но их подробное описание не приводится в статье.

Какие задания предусмотрены в главном меню программы?

Главное меню программы предусматривает задания А, Б, В, Г и Д, о которых подробно рассказывается в статье.

Где можно найти дополнительные материалы, используемые в статье?

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

Какая архитектура системы используется в программном обеспечении?

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

Какие технологии используются в программном обеспечении?

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

Как установить и настроить систему для пользователя?

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