第12章(5)

2019-03-09 23:13

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

class Project {

private: char *Name;

char *Descr; Date StartDate;

static int NumberOfProjects; public: Project(char *Name);

Project(void); ~Project(void);

char *getName(void);

void setName(char *theName); void setDescr(char *Descr); char *getDescr(void);

void setStartDate(Date theStartDate);

Date getStartDate(void);

void addActivity(const Activity &theActivity); CollectionByRef getAllAcitivities(void); static int getNumberOfProjects(void); void save(void);

void load(char *Name);

protected: bool hasActivities(void); };

int Project::NumberOfProjects = 0; class Activity { ... };

306 U ML与软件建模

12.9.2 对象图的映射

图12-39 项目管理系统的对象图

class Project;

class Activity;

class Task;

class WorkProduct;

class Resource;

class Project { public: void addActivity(const Activity &theActivity); };

class Activity { public: void setProject(const Project &theProject); void addTask(const Task &theTask); void addWorkProduct(const WorkProduct &theWorkProduct); };

class Task { public:

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

void assignTo(const Resource &theResource); };

class WorkProduct { ... };

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

void main(void) { Project RMS; WorkProduct ReqDoc, ArchDoc; Activity Scope, AnalysisDesign; Task GatherReq, Review, Analyze, Design; Resource Phillip, Nora, Si; RMS.addActivity(Scope); RMS.addActivity(AnalysisDesign); Scope.setProject(RMS); Scope.addWorkProduct(ReqDoc); AnalysisDesign.setProject(RMS); AnalysisDesign.addWorkProduct(ReqDoc); AnalysisDesign.addWorkProduct(ArchDoc); Scope.addTask(GatherReq); Scope.addTask(Review); AnalysisDesign.addTask(Analyze); AnalysisDesign.addTask(Design); GatherReq.assignTo(Phillip); Review.assignTo(Nora); Analyze.assignTo(Nora); Design.assignTo(Si); Phillip.addTask(GatherReq); Nora.addTask(Review); Nora.addTask(Analyze); Si.addTask(Design); }

308 U ML与软件建模

12.9.3 序列图的映射

:Project Manger Project Manger :User Interface 提 供 项 目 的 名 称 、 描 述 及 开 工 日 期 Project() setName(Name) setDescr(descr) setStartDate (StartDate) Save() ~Project() :Project

图12-40 项目管理系统的序列图

class Date;

class Project;

class Date { };

class Project { public:

Project(void);

~Project(void);

void setName(char *theName); void setDescr(char *Descr); ...

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

};

void main(void) { }

char *Name; char *Descr; Date StartDate;

//提供项目的名、描述及开工日期 Project aProject; aProject.setName(Name); aProject.setDescr(Descr);

aProject.setStartDate(StartDate); aProject.save();

void setStartDate(Date theStartDate); void save(void);

12.9.4 协作图的映射

图12-41 项目管理系统的协作图


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

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

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

马上注册会员

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