2015春季学期-面向对象程序设计与实践(c 2).doc
文本预览下载声明
“面向对象程序设计与实践2”
2015年春季学期上机作业
注意事项:
必须提交:3个程序(电子版),1份程序说明(电子版),1份课程设计报告封面(单人版)(纸版)。程序说明是word文件,内容为程序实现中的想法、经验、教训等,格式不限;
交给各小班学委,由小班学委统一上交;
每个人一个目录,每个目录下3个zip或rar压缩文件,每个文件对应一个作业题目;另外还有一个word文档,是相应的程序说明;
个人目录的命名格式:班级--学号--姓名;
压缩文件命名格式:程序X--学号--姓名;
不要提交obj等中间文件,太占空间。
注意完成题目要求,先有的整体设计方案,再去分三阶段逐步实现系统,后期程序改动巨大。对系统功能进行完善,结构良好的,适当加分。
们在(6.3)(6.17)(7.1)分别补验会适当扣分
答疑、及验收主-910主-919有的或者实现思路等)也在上机答疑时间与助教讨论zhaoyao@
钟天龙 tino247@126.com
皮琪 piqi1@126.com
刘诗慧
程序一:RCT项目管理系统45分,抄袭或被抄袭为0分)
描述:需要为RCT互联网公司开发一个项目管理系统,对任务的发布和执行进行管理。
要求如下:
面向两类用户: 成员 主管。
需提供”登录“”注销“。
有User,具有id、、属性(其余属性自定义)。具有如下:
查看个人信息:查看个人基本信息。
成员继承自User,包含taskDoneNum用于描述的任务,属性KPI计算成员项目绩效。具有如下功能:
获取项目列表:当前所有列表(显示相关属性)并格式化输出。
任务列表:获取项目所属的任务列表(显示相关属性)并格式化输出。任务:完成任务,taskDoneNum及KPI增加,主管的KPI成增加。
项目主管类继承自项目成员类,包含属性projReleaseNum和taskReleaseNum分别用于描述发布数目发布数目。如下功能:
项目功能:一个新项目。
发布功能:创建一个新任务。类与任务类,描述:
具有id、id、创建时间、任务、等基本属性。
类具有id、发布者id、时间、任务类型、状态、完成者信息(完成者id和完成时间)等基本属性。
及其,可根据需要属性,子类如下,且需要以下:
任务子类有任务、任务和指派任务三种
任务发布和完成两个状态,完成的任务不能再被完成。
使用抽象类的方式实现。计算KPI功能:创建时间、时间及任务类型等因子,计算任务完成时所获得KPI,不同的任务子类需要具有不同的KPI计算(自定义函数)。
类应如下需求:
一个项目可拥有多个任务。获取任务列表功能:获取本项目所有的任务列表信息。
事项:
考察面向对象特性的掌握,本题需体现继承、函数、函数、及容器等概念的使用。
本题要求将用户信息、信息及任务信息准备好,直接写在代码中,要求文件操作进行存储。
不强求关闭程序存储程序内数据状态,即重启程序后一切可以。
类的耦合度,要注意界面与业务逻辑的解耦,用户与项目/之间的解耦。RCT项目管理系统高级版40分,抄袭或被抄袭为0分)
在程序一基础上,以下功能描述:
功能:主管项目成员可根据任务的属性进行搜索,返回相关结果。
根据任务的题目进行搜索。
任务的发布进行搜索。
控制:不同的任务子类,“可”和“可完成”两个性质,对任务进行扩展,在的“任务列表”和“完成任务”时验证。
“”表示该任务在列表中是否可,需要体现“所有人可见/被指派者可见”两种权限控制功能,,主管对其发布的任务永远可见,新增函数isVisible()。
“可完成”该任务成员,需要体现“任一成员可完成/被指派者可完成”两种权限控制功能,应新增函数isExecutable()。任务子类有任务、任务和指派任务三种,权限范围如下:
可显示可完成普通任务全体全体私密任务个人个人指派任务全体个人
注意事项:
考察对C++面向对象特性的掌握,需要体现函数重载、输入/重载、操作异常捕获/概念的使用。
二进制文件。
/,可能异常的地方抛出异常,它进行处理。
程序开始时自动从文件载入已有信息,程序结束时文件,重载流操作符和来实现。
。
支持远程访问的RCT项目管理系统15分,抄袭或被抄袭为0分)
描述:远程操作功能。
如下:
必须在程序二的代码基础上进行修改完成。
完成一程序二的功能,用户在client端操作,在server端实现功能将结果返回给client端。
注意事项:
使用socket作为远程通信技术实现相关功能。
若方案,本题部分需求:运行时,将服务器的数据拉到,进行操作。多用户操作,适当加分;在此之上能实时同步各用户操作,可进一步加分。
考虑通信过程中可能出现的问题并加以处理,加分(尤其是采取udp方式)。
。
显示全部