第12章(6)

2019-03-09 23:13

310 U ML与软件建模

12.9.5 状态图的映射

HiredUnassigned[NumberOfAssignedTasks = 1]Un-assign Taskfrom Resource /DecrementNumberOfAssignedTasksTerminatedAssign Task to Resource /IncrementNumberOfAssignedTasksAssigned[NumberOfAssignedTasks > 1]Un-assign Tasks from Resource /DecrementNumberOfAssignedTasksAssign Task to Resource /IncrementNumberOfAssignedTasks

图12-42 项目管理系统的状态图

class Task;

class Resource;

class Task {

// Details omitted };

class Resource {

private:

int NumberOfAssignedTasks; bool Assigned;

public: };

void addTask(const Task &theTask); // Assign Task to Resource void removeTask(const Task &theTask); // Un-assign Task from Resource

311 第12章 UML模型的C++实现

void Resource::addTask(const Task &theTask) { }

void Resource::removeTask(const Task &theTask) { }

// Details omitted

if (NumberOfAssignedTasks == 1) Assigned = false;

NumberOfAssignedTasks--; // Details omitted // Details omitted if (!Assigned) Assigned = true;

NumberOfAssignedTasks++; // Details omitted

312 U ML与软件建模

12.9.6 活动图的映射

图12-43 项目管理系统的活动图

313 第12章 UML模型的C++实现

12.10 小结 习题12

EmployeeDepartmentEloyeemployeeEmployeeDepartmentDepartmentDepartmentSchedScheduleScheduleule0..*0..*0..*0..*0..*0..*0..*1111111anagerManagerManagerManagerSectionSectionSectionSectionStudStudententStudent (a) (b) (c) (d) (a) (b) (c) (d) (a) (b) (c) (d) 图12-44 四个类图

class Vehicle

{

public:

Vehicle(int weight = 0); void SetWeight(int weight); virtual void ShowMe() = 0; protected:

int weight; };

class Car: virtual public Vehicle {

public:

Car(int weight=0,int aird=0); void ShowMe(); protected: int aird; };

class Boat: virtual public Vehicle {

uleGroundVehicleGroundVehicleGroundVehicleGroundVehicle-licenseNum-licenseNumber : Integer0..*-licenseNum-licenseNumber : Integerber : Integer+register()ber : Integer+register()+register()+register()1entCarCarCarCar-noOfPassenger : Integer-noOfPassenger : Integer-noOfPassenger : Integer-noOfPassenger : Integer+getpassengerCapacity()+getpassengerCapacity()+getpassengerCapacity()+getpassengerCapacity()

SchedEmpMStud (a) (b) (c) (d) 314 U ML与软件建模

public:

Boat(int weight=0,float tonnage=0); void ShowMe(); protected:

float tonnage; };

class AmphibianCar: public Car,public Boat {

public:

AmphibianCar(int weight,int aird,float tonnage); void ShowMe();

void ShowMembers(); };

Person+assign(d : Department)+setCompensation(s: Salary)1..10employee1employerCompany

图12-45 雇员和雇主的关系

class Shape : public Object { protected:

double area;

double perimeter; public:

double compArea() { area = 0.0; return 0.0; }

virtual String getName() = 0; }

class Rectangle:Shape{ private:

double length; double width; public:

Rectangle(double l, double w) { length = l; width = w; }

double compArea(){

315 第12章 UML模型的C++实现

area = length * width; return area; }

string getName() { return \ }

}

class Triangle : Shape{ private:

double length; double height; public:

Triangle(double l, double h){ length = l; width = w; }

double compArea() {

area = 0.5 * length * height; return area; }

string getName() {

return \ } }

class Student{ public:

Schedule* theSchedule;

Student(){

theSchedule = new Schedule[5]; } }

class Schedule{ public:

Student theStudent; Schedule(){} }


第12章(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:09生毕业论文(设计)工作的暂行规定

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: