Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Класс (Class) - это описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой. Класс реализует один или несколько интерфейсов.
Классы в UML изображаются на диаграммах классов, которые позволяют описать систему в статическом состоянии — определить типы объектов системы и различного рода статические связи между ними.
На диаграмме классов (Class Diagram) показывают классы, интерфейсы, объекты и кооперации, а также их отношения. Между классами возможны различные отношения:
· зависимости, которые описывают существующие между классами отношения использования;
· обобщения используется, чтобы показать связь между классом-родителем и классом-потомком;
· ассоциации, структурное отношение, описывающее совокупность связей; связь - это соединение между объектами.
o агрегация – это когда класс в своей структуре использует часть другого класса;
o композиция. При композиции класс является целиком частью другого класса.
Этапы построения объектной модели:
· определение объектов и классов;
· подготовка словаря данных;
· определение зависимостей между объектами;
· определение атрибутов объектов и связей;
· организация и упрощение классов при использовании наследования;
Для дальнейшего улучшения ищутся:
Признаки пропущенного объекта (класса):
· несимметричности связей и обобщений (наследований); для исправления ошибки необходимо добавить пропущенные классы;
· несоответствие атрибутов и операций у класса; для исправления ошибки необходимо расщепить класс на несколько других классов, так чтобы атрибуты и операции новых классов соответствовали друг другу;
· обнаружена операция, не имеющая удовлетворительного целевого класса; для исправления ошибки необходимо добавить пропущенный целевой класс;
· обнаружено несколько зависимостей с одинаковыми именами и назначением; для исправления ошибки необходимо сделать обобщение и добавить пропущенный суперкласс.
Признаки ненужного (лишнего) класса:
· нехватка атрибутов, операций и зависимостей у некоторого класса; для исправления ошибки необходимо подумать, не следует ли исключить такой класс.
Признаки пропущенных зависимостей:
· отсутствуют пути доступа к операциям; для исправления ошибки необходимо добавить новые зависимости, обеспечивающие возможности обслуживания соответствующих запросов.
Признаки ненужных (лишних) зависимостей:
· избыточная информация в зависимостях; для исправления ошибки необходимо исключить зависимости, не добавляющие новой информации, или пометить их как производные зависимости;
· не хватает операций, пересекающих зависимость; для исправления ошибки необходимо подумать, не следует ли исключить такую зависимость.
Признаки неправильного размещения зависимостей:
· имена ролей слишком широки или слишком узки для их классов; для исправления ошибки необходимо переместить зависимость вверх или вниз по иерархии классов.
Признаки неправильного размещения атрибутов:
· нет необходимости доступа к объекту по значениям одного из его атрибутов; для исправления ошибки необходимо рассмотреть нужно ли ввести квалифицированную зависимость.
7. Классы и отношения между классами. Реализация отношений между классами средствами C#
Класс (Class) - это описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой. Класс реализует один или несколько интерфейсов.
На диаграмме классов (Class Diagram) показывают классы, интерфейсы, объекты и кооперации, а также их отношения. Между классами возможны различные отношения:
· зависимости, которые описывают существующие между классами отношения использования;
· обобщения используется, чтобы показать связь между классом-родителем и классом-потомком;
public class Employee: Man
· ассоциации, структурное отношение, описывающее совокупность связей; связь - это соединение между объектами.
public class Employee: Man{
private String position;
private IdCard iCard;
public void setIdCard(IdCard c){
iCard = c;
}
public IdCard getIdCard(){
return iCard;
}
}
public class IdCard{
private Date dateExpire;
private int number;
public IdCard(int n){
number = n;
}
}
o агрегация – это когда класс в своей структуре использует часть другого класса;
public class Department{
}
class other{
private Department department;
public void setDepartment(Department d){
department = d;
}
public Department getDepartment(){
return department;
}
}
o композиция. При композиции класс является целиком частью другого класса.
public class Department{
}
class other{
private Department department;
public void setDepartment(Department d){
department = d;
}
public Department getDepartment(){
return department;
}
}
class Main {
private List<> pastPosition = new HashSet();
...
public void setPastPosition(PastPosition p){
pastPosition.add(p);
}
public Set getPastPosition(){
return pastPosition;
}
public void deletePastPosition(PastPosition p){
pastPosition.remove(p);
}
}
Дата публикования: 2015-02-03; Прочитано: 1217 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!