- •Тернопільський національний технічний університет імені Івана Пулюя
- •1 Постановка завдання
- •2Аналіз вимог
- •2.1 Загальний опис і основні проблеми
- •2.2 Функціональні вимоги
- •2.3 Не функціональні вимоги
- •3 Проектування
- •3.1 Загальний опис
- •3.2 Uml моделювання
- •3.3 Загальна діаграма класів
- •Function
- •Exponent
- •4.2 Приклад виконання
- •Висновки
3.3 Загальна діаграма класів
Основна ідея – тепер можна додати нову функцію до програми дуже легко – просто реалізувати у новому класі (для цієї функції) абстрактний клас Функція.
3.4 Діаграма класів – з полями і методами
4 ПРОГРАМНА РЕАЛІЗАЦІЯ
4.1 Згенерований код – поля і прототипи методів
За допомогою технології Forward Engineering UML діаграмі ми отримали код для всіх класів і відповідних методів.
Menu
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ClassDiagram
{
public class Menu
{
private List<AbstractOperation> oObj;
public Menu(List<AbstractOperation> _pObj)
{
throw new System.NotImplementedException();
}
private int SelectItem(int nItem)
{
throw new System.NotImplementedException();
}
public AbstractOperation SelectObject()
{
throw new System.NotImplementedException();
}
}
}
Function
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ClassDiagram
{
public abstract class AbstractOperation
{
protected int x;
~AbstractOperation()
{
throw new System.NotImplementedException();
}
public virtual void Calculate()
{
throw new System.NotImplementedException();
}
public virtual string GetName()
{
throw new System.NotImplementedException();
}
}
}
Exponent
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ClassDiagram
{
public class Exponent: AbstractOperation
{
protected string name;
public override void Calculate()
{
throw new System.NotImplementedException();
}
public override string GetName()
{
throw new System.NotImplementedException();
}
}
}
Line
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ClassDiagram
{
public class Line : AbstractOperation
{
protected string name;
protected double a;
protected double b;
public override void Calculate()
{
throw new System.NotImplementedException();
}
public override string GetName()
{
throw new System.NotImplementedException();
}
}
}
4.2 Приклад виконання
Висновки
На даному програмному проекті ми реалізували конкурентоспроможний калькулятор. Основне – ми зробили це швидко і якісно за допомогою технології RUP. Тепер готовий програмний код можна легко супроводжувати і додавати до нього основні функціональні можливості. Ми навчились працювати в різноманітних середовищах розробки і моделювання.