Составление совокупности диаграмм классов, автоматическая генерация прототипа кода разработанных классов

Страницы работы

Содержание работы

Министерство образования и науки  Российской Федерации

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

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

Расчётно-графическое задание

по курсу ООП

СОЗДАНИЕ ДИАГРАММЫ КЛАССОВ И КОДА НА С++ В СРЕДЕ RATIONALROSE

Факультет:         прикладной математики и информатики

Группа:               ПМ-42

Студент:             Шилов Д.М.

Преподаватель:  Полетаева И.А.

Новосибирск

2005


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

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

Составить диаграммы классов, содержащие

– геометрические фигуры;

– шаблон и инстанцированные контейнеры.

Специфицировать атрибуты и операции классов, а также отношения, существующие между классами.

Произвести автоматическую генерацию прототипа кода разработанных классов.

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

Диаграммы классов:

Сгенерированныйкод:

//## Module: basic_circle%43B0C69903B9; Pseudo Package specification

//## Source file: C:\Program Files\Rational\Rose\C++\source\basic_circle.h

#ifndef basic_circle_h

#define basic_circle_h 1

//## Class: basic_circle%43B0C69903B9

//## Category: <Top Level>

//## Persistence: Transient

//## Cardinality/Multiplicity: n

class basic_circle

{ public:

    //## Constructors (generated)

      basic_circle();

      basic_circle(const basic_circle &right);

    //## Destructor (generated)

      ~basic_circle();

    //## Assignment Operation (generated)

      basic_circle & operator=(const basic_circle &right);

    //## Equality Operations (generated)

      int operator==(const basic_circle &right) const;

      int operator!=(const basic_circle &right) const;

    //## Other Operations (specified)

      //## Operation: get_x%43B0C7CD0186

      Integer get_x ();

      //## Operation: get_y%43B0C86901B5

      Integer get_y ();

      //## Operation: get_R%43B0C87A0109

      Integer get_R ();

      //## Operation: paint%43B0C893000F

      Variant paint ();

      //## Operation: check_up%43B0C8D702BF

      Variant check_up ();

    // Additional Public Declarations

      //## begin basic_circle%43B0C69903B9.public preserve=yes

      //## end basic_circle%43B0C69903B9.public

  protected:

    //## Get and Set Operations for Class Attributes (generated)

      //## Attribute: width%43B0C70D0138

      const Integer get_width () const;

      void set_width (Integer value);

      //## Attribute: linecolor%43B0C7340261

      const Integer get_linecolor () const;

      void set_linecolor (Integer value);

      //## Attribute: x%43B0C73C0177

      const Integer get_x () const;

      void set_x (Integer value);

      //## Attribute: y%43B0C73F036B

      const Integer get_y () const;

      void set_y (Integer value);

      //## Attribute: R%43B0C7420290

      const Integer get_R () const;

      void set_R (Integer value);

    // Additional Protected Declarations

      //## begin basic_circle%43B0C69903B9.protected preserve=yes

      //## end basic_circle%43B0C69903B9.protected

  private:

    // Additional Private Declarations

      //## begin basic_circle%43B0C69903B9.private preserve=yes

      //## end basic_circle%43B0C69903B9.private

  private: //## implementation

    // Data Members for Class Attributes

      //## begin basic_circle::width%43B0C70D0138.attr preserve=no  protected: Integer {U}

      Integer width;

      //## end basic_circle::width%43B0C70D0138.attr

      //## begin basic_circle::linecolor%43B0C7340261.attr preserve=no  protected: Integer {U}

      Integer linecolor;

      //## end basic_circle::linecolor%43B0C7340261.attr

      //## begin basic_circle::x%43B0C73C0177.attr preserve=no  protected: Integer {U}

      Integer x;

      //## end basic_circle::x%43B0C73C0177.attr

      //## begin basic_circle::y%43B0C73F036B.attr preserve=no  protected: Integer {U}

      Integer y;

      //## end basic_circle::y%43B0C73F036B.attr

      //## begin basic_circle::R%43B0C7420290.attr preserve=no  protected: Integer {U}

      Integer R;

      //## end basic_circle::R%43B0C7420290.attr

    // Additional Implementation Declarations

      //## begin basic_circle%43B0C69903B9.implementation preserve=yes

      //## end basic_circle%43B0C69903B9.implementation

};

//## begin basic_circle%43B0C69903B9.postscript preserve=yes

//## end basic_circle%43B0C69903B9.postscript

// Class basic_circle

//## Get and Set Operations for Class Attributes (inline)

inline const Integer basic_circle::get_width () const

{

  //## begin basic_circle::get_width%43B0C70D0138.get preserve=no

  return width;

Похожие материалы

Информация о работе