
Министерство образования и науки РФ
Томский Государственный университет систем управления и радиоэлектроники (ТУСУР)
Кафедра комплексной информационной безопасности электронно-
вычислительных систем (КИБЭВС)
Объектно-ориентированное программирование:
модель предметной области и модель проектирования
ОТЧЁТ
по дисциплине «Языки программирования»
Выполнила: студент гр. 521
________ Ингинен А. И.
26.12.2012
Принял: доцент кафедры КИБЭВС
__________Романов А. С.
26.12.2012
Томск 2012
СОДЕРЖАНИЕ
1. Тема………………………………………………………………………..........3
2. Цель работы……………………………………………...…………………….3
3. Задание………………………………………………………………………….3
4. Теоретический материал……………………………………………………….3
5. Ход работы……………………………………………………………………...4
6. Вывод………………………………………………………………….……..….6
-
Тема
Объектно-ориентированное программирование: модель предметной области и модель проектирования.
-
Цель работы
Знакомство с основными концепциями объектно-ориентированного анализа и проектирования, выработка практических навыков в построении модели предметной области и элементов модели проектирования.
-
Задание
-
Ознакомиться с основными концепциями объектно-ориентированного анализа и проектирования.
-
Выбрать предметную область и составить для неё объектную модель.
-
Составить модель проектирования классов программы.
-
Реализовать в программе интерфейсы классов.
-
Написать отчёт и защитить у преподавателя.
-
-
Теоретический материал
«А.С. Романов. Языки программирования. Лабораторный практикум. Томск 2012»
Объектно-ориентированное программирование – это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых, является экземпляром определённого класса, а классы образуют иерархию наследования.
Предметная область
Рассмотрим пример «объектного» графического редактора. Требуется разработать программу, позволяющую составлять рисунки из графических примитивов: линий, прямоугольников, эллипсов. Для каждого объекта должна быть предусмотрена возможность задавать атрибуты: цвет и толщина линии, размещение (координаты и форма). Каждый рисунок должен сохраняться в базе данных и загружаться из неё. Любой объект рисунка должен быть доступен для редактирования.
Модель предметной области – описания объектов задачи, такое как если бы мы не собирались писать никакую программу. На модели предметной области приводятся типы объектов, их атрибуты, связи между объектами разных типов.
Модель проектирования – это описание объектов системы, приближённое к реализации в выбранной среде программирования (на конкретном языке программирования) с учётом применяемых технологий (например, базы данных).
-
Ход работы
Предметная область
Требуется создать программу, которая позволяла бы рассчитывать сумму оплаты для различных клиентов парикмахерской ( ), добавлять (удалять) преподавателей/студентов в (из) список (-ка).
Рисунок 1 – Модель предметной области
Рисунок 2 – Модель проектирования
Money() – расчёт оплаты за услуги для постоянных клиентов/обычных посетителей.
Переложим «один к одному» модель проектирования на описание классов в программе.
public class oop {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
abstract class person {
char fam;
char name;
char oth;
int dlina;
person(char fam, char name, char oth, int dlina)
{
this.fam=fam;
this.name=name;
this.oth=oth;
this.dlina=dlina;
}
abstract void money ();
}
class client extends person
{
client(char fam, char name, char oth, int dlina) {
super(fam, name, oth, dlina);
// TODO Auto-generated constructor stub
}
@Override
void money() {};
// TODO Auto-generated method stub
}
class visiter extends person
{
visiter(char fam, char name, char oth, int dlina) {
super(fam, name, oth, dlina);
// TODO Auto-generated constructor stub
}
@Override
void money() {};
// TODO Auto-generated method stub
}
}
}
-
Вывод
В ходе выполнения лабораторной работы было проведено ознакомление с основными концепциями объектно-ориентированного анализа и проектирования, выработаны практические навыки в построении модели предметной области и элементов модели проектирования, а также реализован интерфейс классов.