面向对象方法精粹大作业
西电2022年秋季《面向对象程序设计(c++)》大作业及答案
学习中心/函授站
姓名学号
西安电子科技大学网络与继续教育学院
2022 学年下学期
《面向对象程序设计(C++)》期末考试试题
(综合大作业)
考试说明:
1、大作业试题公布时间:
(1)毕业班:2022 年10 月21 日;(2)正常班:2022 年11 月18 日;
2、考试必须独立完成,如发现抄袭、雷同均按零分计;
3、答案须用《西安电子科技大学网络与继续教育学院2022 秋期末考试答题纸》(个
人专属答题纸)手写完成,要求字迹工整、卷面干净、整齐;
4、在线上传时间:
(1)毕业班学生于2022 年10 月21 日至2022 年11 月1 日在线上传大作业答卷;
(2)正常班学生于2022 年11 月18 日至2022 年12 月5 日在线上传大作业答卷;
5、拍照要求完整、清晰,一张图片对应一张个人专属答题纸(A4 纸),正确上传。
一、简答题(10 分)
1、运算符 new 和 delete 的功能分别是什么?(3 分)
答案:运算符new的功能是创建动态对象;delete的功能是释放由new创建的动态对象。
2、若派生类以 private 方式从一个基类派生,派生类的对象可以访问基类中的哪些成员?派生类的成员函数可以访问基类中的哪些成员?(3 分)
答案:若派生类以private方式从一个基类派生,派生类的对象不能访问基类中的任何成员(1分);派生类的成员函数可以访问基类中的public和protected成员(2分)。
3、构造函数的作用是什么?在创建派生类的对象时,应按照怎样的顺序调用构造函数?
(4 分)
面向对象大作业-大学生随访平台
4.对于存在课程不及格情况的学生,系统应 主动提示(包括邮件发送和信息发送提醒) 班主任或辅导员约谈某学生,掌握学生的 学习动态。系统在提醒同时要生成提醒记 录进行存储。
注:学生课程相关信息从教务管理系统获得 (学号 姓名 课程名称 成绩 班级)
作业要求
• 完成学生随访平台的需求建模,以用例模 型体现;
• 给出系统的分析模型(包括静态结构模型 和部分动态模型)
学生随访平台
该平台主要用于班主任和辅导员对在校 大学生的随访管理和信息记录,其中班主 任主要是对本班学生的管理,辅导员是对
学院整个年级的学生的管理。该系统可以 提高学校对学生的管理水平,及时了 解学生学习生活动向。
主要功能要求
1.班主任和辅导员可以主动联系某个学生进行随访,并通过管 理平台建立随访记录;
2.根据学生在校内食堂的用餐情况主动提示班主任或辅导员约 谈某学生。例如,某位学生一周之内只在校内食堂用餐次 数少于5次,就表明本学生可能有某种特殊情况。
3.在学期开始之初,对于开学一周后仍没有注册的学生,应主 动提醒班主任或辅导员联系学生,以便于及时了解情况。
4.对于存在课程不及格情况的学生,系统应主动提示班主任或 辅导员约谈某学生,掌握学生的学习动态。
1.班主任和辅导员可以主动联系某个学生进 行随访,并通过管理平台建立随访记录;
记录信息: 约谈来由 谈话主题 谈话方式 时 间 地点 参与者 具体谈话内容 附件(包括 文字和视频等) 时长
面向对象程序设计大作业
《面向对象程序设计》
期末大作业
一、大作业题目
二、要求
(1)依照学生人数分成原那么上2至3人(少量4人)一组,各小组选择感爱好的题目,也可自拟题目。
(2)解题要求:现面向对象程序设计语言的特点,程序代码很多于400行;利用技术:表现OOP 的抽象、封装、继承、多态等4种关键技术中的两种或多种;程序结构良好,没有明显错误;依照大作业格式,在课程终止最后两周(1六、17周)上交电子稿。
(3)最终提交。
●大作业报告依照原有的系统设计,编码时期的工作,整理书写实验报告,内容包括:①系
统说明②实验分析与结论③收成与体会④附程序代码
●最后提交材料:①大作业报告(打印稿和电子稿)②源程序代码(CPP文件),执行文件(EXE)
③小组内分工说明(人员名单(不超过4人)、学号、角色分工)
三、说明
假设两人和多人程序大体相同或撰写的报告大体相同的情形下,经认真比较查证属彼此剽窃的,剽窃者和被剽窃者均按“0”分计。大作业报告样式如下:
(1) 大作业的页面设置为上、下、左、右页边距都为厘米,格式段落中行距为固定值20磅。
(2) 中文字体为宋体小四号,英文字体为Times New Roman小四。
补充说明:关于大作业中的程序、类或函数必然要有详细的注释,如下例所示。
关于类包括:类的成员变量说明,类的成员函数说明,功能,基类、继承类、实现进程等等。
/********************************************************************
类名:
私有成员:
公有成员:
功能:作为下面要概念派生类的基类
UML面向对象分析报告与设计
UML面向对象分析与设计
大作业
前言
“UML面向对象分析与设计”是计算机专业和软件工程等相关专业的一门重要课程,也是其他理工科专业的热门选修课程。“程序设计语言”、“计算机网络”、“数据库原理”和“数据机构”等是它的前导课程,学好本课程对学生毕业后从事软件开发有着极为重要的作用。
要学好这门课,仅仅通过课堂教学或自学掌握理论知识是远远不够的,还必须加强实践。特在学期末引入uml的综合分析与设计,从实际项目出发,使学生学会运用软件工程基本理论知识,UML建模语言和rose建模环境,去解决软件开发中的实际问题,达到学以致用的目的。
面向对象软件开发技术
项目的引入及需求
简易教学管理系统的分析、设计与实现
一、设计的目的
1.初步了解UML语言的概念、结构、语义与表示方法;
2.掌握UML建模工具Rational Rose的使用方法;
3.给出某个简单系统的模型,能够熟练地使用Rose工具表达;
二、设计理论基础
1. 面向对象的程序设计C++或JAVA程序设计课程;
2.数据结构或算法课程
2.SQLServer或mysql数据库系统;
3. 熟悉传统软件工程以及软件测试技术。
三、设计内容与步骤
需求陈述:简易教学管理系统主要提供两个方面的服务:
选课管理,负责新学期的课程选课注册。
成绩管理,负责学生成绩管理。
(1)简易教学管理系统---选课管理应提供的服务如下:
1.录入与生成新学期课程表
教学管理人员在新学期开学前录入新学期的课程,打印将开设的课程目录表,供师
生参考选择。如果某门课实际选课的学生少于10人,则停开该课程,把该课程从
面向对象建模专周实习题
面向对象建模专周实习题
软件30902班
一、根据题目要求使用Rose软件绘制UML图(一天至少完成两小题)。
1、在医生的办公室里接待员、护士和医生使用病人记录和计划安排系统。当病人第一次来这里看病时,接待员使用该系统来输入病人信息,并且他们安排所有的预约。护士使用系统来跟踪病人每次看病的结果并输入护理病人的信息,如医疗和诊断。护士也可以访问这些信息以打印病人诊断结果或病人看病历史。医生主要用这个系统来查看病人的病史,偶尔也输入病人的医疗信息,但通常他让护士输入这些信息。
【问题】根据上面的陈述,请你分析出参与者和用例,并绘制出用例图。
2、网络在线售票订位系统的功能如下:
客户有一般客户和企业客户两种,可以建立在线订位事件、事件确认,执行在线信用卡付费、个人或团体账号修改和管理、在线个人事件查询;系统操作者可以建立在线销售订位事件、查询目前销售订位状况、个人或团体账号修改和管理;系统设计者可以建立在线售票订位事件、查询目前销售订位情况、在线系统维护和功能增加、系统环境设置。
【问题】请依照上述描述,并绘制出需求用例模型
3、大学选课系统是与学生有着紧密联系的系统。学生可以登录该系统选修课程,查看分数。教授可以登录到系统选择课程授课,提交学生成绩。学校另有一个系统里面保存有课程目录信息,选课系统需要和课程目录系统通讯以取得课程目录信息。
【问题】对该“大学选课”系统进行面向对象分析并运用UML建模设计出用例图。
4、基于WEB的网上购物系统越来越受到人们的关注,例如小型电子商务订单处理系统,使得客户可以给购物车添加项目,查看购物车,查看具体项目,购买商品,删除购物车中的项目,浏览商品,提供反馈单;库房经理可以进行盘点,返回库房项目,提供订单;采购经理可以增加销售的新项目,删除销售项目,购买库存。
作业四面向对象需求建模
作业四面向对象需求建模(第9-11章)
4-1、根据以下描述,使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。
一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调
配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样
本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。
顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由出物口掉出,并自动结算及找钱。顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。
4-2、请画出一个用户使用银行ATM勺状态转换图。从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM^报警),用户可以完成以下几个步骤:登录(卡片进入AT瞰后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。
4-3、某公安报警系统在一些公安重要保护单位(银行、学校等)安装了报警装置,其工作过程如下:一旦发生意外事故,故事发生单位只需按报警按钮,系统立即向公安局发出警报信息、自动显示出报警单位的地址、电话号码等。110警车立即出动前往出事地点。值班人
员可以接通事故单位的电话、问清情况,需要时再增派公安人员到现场处理。
根据以上情况进行分析,确定本系统有哪些用例、对象,画出用例图、类图及顺序图。
面向对象分析与设计第四章作业
1.论述类与对象之间的关系以及关联与链之间的关系。这四者之间的联系。
答:一.类与对象之间的关系:a.类提供了对具有相同属性和操作的一组对象的抽象描述,对象是类的实例。
b.在面向对象方法中,通过对具有相同的属性的对象的抽象,构造出类,而使用类构造出系统模型。在系统运行时,又有类去创建出对象。C.一个类的所有对象具有相同属性。
二.关联与链之间的关系:a. 链是对象间的关系,关联时类之间的关系,也就是说,链是关联的实例化。B.两个存在的有关联关系的类被实例化后,类之间的关联关系就实例化成链。
三.四者之间的关系:链是对象间的关系,关联是类之间的关系。对象是类的实例化,链是关联的实例化。
类
类
对
象
对
象实例化
实例
关联链
2.在什么情况下使用组合关系进行建模?
答:当一部分类的对象在一个时刻至多属于一个整体类的对象,且整体类的对象管理他的部分类的对象时,用组合关系进行建模。
3.总结继承关系的用途
答:a.一般类的定义中存在没有实现也不打算在该类中实现的操作,需要子类进行继承实现该操作。B.有超过两个特殊类时,使用继承关系进行简化。从而不必重复的进行定义。C.继承关系有助于软件复用。
5.举例说明类继承结构中的重载与多态。 答
说明:图1:股东类和职员类继承了公司人员类,个人收入可以定义一个虚函数,没有实现操作,下边的股份和工资为具体操作,这个就是类继承中的多态。图2:重载,长方形
公司人员
姓名
个人收入
股东 职员 股份 。。。。。工资
*****
*******
面积
长方形 圆形 长:a 宽:b
半径 R
求面积的函数f1(int a,int b),圆形求面积函数f1(int R)。 6.面包是由面包片组成的。面包与面包片之间的关系是聚合还是组合。
第1-7章C++面向对象程序设计 作业参考答案
}
void my_string::add(char *s)
{strcat(contents,s);
}
void main()
{ my_string ST("I am ");
cout<<ST.getlength()<<endl;
ST.show();
ST.add("a student");
2.4构造函数和析构函数的主要作用是什么?它们各自有什么特性?
【解答】
构造函数是类的一种特殊成员函数,用来为对象进行初始化(给对象的成员变量赋初值、申请一些
系统资源、打开文件操作等)。在对象生成的时候自动执行初始化,这会消除任何错误地不执行初始化的可能。这是C++面向对象程序设计帮助减少复杂性的另一途径。
int main()
{char name[20];
cout<<”Hello!What’s your name?”<<endl;
cin>>name;
cout<<name<<”,Welcome to learn OOP using C++!”<<endl;
return 0;
}
1.3
const int model = 90; // model is a const
《面向对象分析与设计》大作业范例
《面向对象分析设计》
大作业
网上招聘系统分析设计
专业:
班级:
学号:
姓名:
成绩:
二〇一四年六月
大连理工大学城市学院
目录
第一章网上招聘系统需求规格说明书 ............................................. - 3 - 第二章软件项目的概要设计说明书 . (16)
第三章网上招聘系统详细设计 (51)
第四章软件项目的编码案例说明 (64)
第五章网上招聘系统客户端系统测试计划 (71)
第六章网上招聘系统客户端系统测试设计 (75)
第八章网上招聘系统客户端系统测试报告 (92)
第一章网上招聘系统需求规格说明书
1.导言
1.1 目的
该文档是关于用户对于网上招聘系统的功能和性能的要求,重点描述了网上招聘系统的功能需求,是概要设计阶段的重要输入。
本文档的预期读者是:
·设计人员;
·开发人员;
·项目管理人员;
·测试人员;
·用户。
1.2 范围
该文档是借助于当前系统的逻辑模型导出目标系统的逻辑模型的,解决整个项目系统的“做什么”的问题。在这里,没有涉及开发技术,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的平台。
1.3 编写说明
HR,Human Resource(人力资源管理)的缩写。
JSP,Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。
UML,Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。
1.4 术语定义
无
1.5 引用标准
[1]《企业文档格式标准》,****************有限公司软件工程过程化组织
面向对象例题
例题1.习题管理系统
该系统的功能需求是:在一个公共习题库的支持下,使各科教师可以在系统中编写习题及其标准答案,并将编写的习题及答案加入题库;或者从题库中选取一组习题,组成一份向学生布置的作业,并在适当时刻公布答案。学生可以在系统中完成教师布置的作业,也可以从题库中选择更多的题目练习。教师可以通过系统检查学生的作业,学生也可以在教师公布答案后对自己的练习进行核对。系统维持对题库的管理,并对教师及学生的权限进行检查:只有本课程的教师可以提交或修改习题,并指定哪些习题的答案可以向学生公开。
例2.超级市场销售管理系统
该系统是超级市场业务管理系统的一个子系统。为了讨论的简练,我们对它的功能做了适当的限制:只负责前台的销售管理,而且不处理信用卡付款和会员优惠等业务。其功能需求是:
为顾客选购的商品计价、收费、打印清单;
记录每一种商品的编号、单价及现有数量;
帮助供货员发现哪些商品将要脱销,以及时补充货源;
随时按上级系统的要求报告当前的款货数量、增减商品种类或修改商品定价;
例3建立顺序图
收款员▪收款
收款机商品一览表商品销售事件账册供货员
输入开始本次收款的命令;
作好收款准备,应收款总
数置为0,输出提示信息;
for顾客选购的每种商品do
输入商品编号;
If 此种商品多于一种then
输入商品数量
end if
检索商品名称及单价;
货架商品数减去售出数:
If货架商品书低于下限值then
通知供货员请求上货
end if
名称、数量、单价、总价;
总价累加到应收款总数;
end for
打印应收款总数;
输入顾客交来的款数;
计算应找回的款数,
面向对象分析与设计大作业
《面向对象分析与设计》大作业
目录
1.需求分析 (1)
2. 系统建模 (2)
2. 1 创建系统用例 (2)
2.2 创建类图 (5)
2.3 创建序列图 (5)
2.4 创建协作图 (8)
2.5 创建活动图 (10)
2.6创建构件图 (12)
2.7创建部署图 (12)
总结 (13)
UML网上花店系统Rose建模报告网上花店是一个立足于网络、以鲜花为商品的专业性网上购物网站。网上花店传承花意,为亲人朋友送去心意已决成为某种时尚。网上鲜花店为大众开辟了更为方便之门,快捷方便,为大众所喜爱。
网上花店系统就是为实现客户通过上网,对鲜花信息的浏览、检索、订购,以及鲜花销售商对客户信息、鲜花信息的管理所开发的网络应用软件。该系统能够较好地满足网上花店客户的基本要求,具有较高的实用价值。有效,畅通的销售渠道,提供产品服务为根本,促进鲜花市场的大发展.将成为一个可爱的信使,把祝愿和幸福送到千家万户.为人类创造最佳生活环境,并创建网上花店一流的网站.,是网站的目标。客户足不出户就可以购买到自己需要的图鲜花。购鲜花过程方便、快捷,可靠性、安全性高。同时,对于商家,可以通过该平台对客户及订单信息进行有效管理,对图鲜花信息也做到及时更新,更利于商家为客户服务。
此系统通过Rose 建模分析主要是:用户在线注册功能、登录功能、查询功能、购物车功能、定单等;在后台能实现管理员的登录、管理员对商品的分类发布、商品的管理、用户信息的管理、订单管理、管理员管理等。真正实现从商品的发布到商品的购买一系列的网上销售鲜花的功能。能够较好地满足网上花店客户的基本需求,具有较高的实用价值。
面向对象程序设计大作业参考题目及要求
面向对象程序设计大作业
参考题目
1、学生信息管理
(1)问题描述
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:
●系统以菜单方式工作
●学生信息录入功能(学生信息用文件保存)---输入
●学生信息浏览功能——输出
●查询、排序功能——算法
1、按学号查询
2、按姓名查询
●学生信息的删除与修改(可选项)
(2)功能要求
●界面简单明了;
●有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新
输入;
●最好用链表的方式实现。
(3)算法分析
首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。
对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。文件的读写操作大家参照书中的有关文件的章节。
2、学生综合测评系统
每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
第三章 面向对象程序设计(答案)
学号:姓名:
第三章面向对象程序设计作业
一、判断题
1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对
2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对
3、接口中的成员变量全部为常量,方法为抽象方法。对
4、抽象类可以有构造方法,可以直接实例化。错
5、对static方法的调用可以不需要类实例。对
6、包含抽象方法的类一定是抽象类。对
7、方法中的形参可以和方法所属类的属性同名。对
8、接口无构造器,不能有实例,也不能定义常量。错
9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。对
10、Java应用程序的入口main方法只有一种定义法。对
二、选择题
1、下列答案正确的是(A)
A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为public
B) 在同一个Java源文件中只能包含一个类,并被声明为public
C) 在同一个Java源文件中可以包含多个类,都可以被声明为public
D) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default
2、Java实现动态多态性是通过(B)实现的。
A) 重载B) 覆盖
C) 接口D) 抽象类
3、下列哪一个是正确的方法重载描述(A)
A) 重载方法的参数类型必须不同
B) 重载方法的参数名称必须不同
C) 返回值类型必须不同
D) 修饰词必须不同
4、final关键字不可以用来修饰(D)
A) 类B) 成员方法
C) 域D) 接口
5、接口的所有成员方法都具有(B)属性
面向对象分析与设计习题及部分答案
《面向对象分析与设计》习题及部分答案
第一章 概论
1.什么是面向对象方法?面向对象的基本原则主要有哪些?
答:
面向对象方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。
面向对象方法的解决问题的思路是从现实世界中的客观对象(如人和事物)入手,尽量运用人类的自然思维方式来构造软件系统,这与传统的结构化方法从功能入手和信息工程化方法从信息入手是不一样的。
面向对象的基本思想主要有:
1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域
(现实世界)中的事物为中心来思考问题、认识问题,并根据这些事物
的本质特征,把它们抽象地表示为系统中的对象,作为系统的基本构成
单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系
的本来面貌(对象)
2)用对象的属性表示事物的性质;用对象的操作表示事物的行为。(属性与
操作)
3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外
屏蔽其内部细节。(对象的封装)
4)对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这
些对象的抽象描述,每个对象是它的类的一个实例。(分类)
5)复杂的对象可以用简单的对象作为其构成部分。(聚合)
6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。
特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档。
(继承)
7)对象之间通过消息进行通讯,以实现对象之间的动态联系。(消息)
8)通过关联表示类(一组对象)之间的静态关系。(关联)
2.与传统开发方法比,面向对象方法有什么优点?
面向对象分析与设计(UML)课程大作业题目及要求
《面向对象分析与设计(UML)课程大作业》题目
一、课程大作业目的和要求
1.初步了解UML语言的概念、结构、语义与表示方法;
2.掌握UML建模工具Rational Rose的使用方法;
3.给出某个简单系统的模型,能够熟练地使用Rose工具表达;
二、课程大作业主要内容及要求
课程设计的主要任务:
1.根据所收集的简单需求,利用UML和Rational Rose工具对系统进行建模;
2.根据前述需求的分析,进行需求建模,绘制系统的用例图和活动图;
3.根据用例模型,进行架构建模,绘制系统的时序图,状态图,类图和交互图;
4.绘制系统中某些重要功能的对象图;
5.绘制系统的组件图和部署图;
6.程序实现(选做)
选题如下:
1.网上选课系统
主要包括如下功能:管理员通过系统管理界面进入,建立本学期要开的各种课程,将课程信息保存在数据库中并可以对课程进行改动和删除。学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费。同样,通过业务层,这些操作结果存入到数据库中。
2.设计运动会的计分系统
本运动会在若干各会场进行,每个会场进行若干个项目。有若干支运动队参赛,每支运动队有数名运动员。各赛事分预决赛,预赛成绩部分带入决赛。成绩由裁判员给出,计分员记录。要求在比赛结束后,产生各队排名表及运动员的详细成绩表。
3. 试题管理系统
其中试题分正式试题和临时试题,出题人设置课程名和试卷难度等内容后,系统自动出卷。对试题要进行管理,并提供查询功能。
4. 工资管理系统
一个公司下分若干部门,每个部门有若干名职员和经理,每个部门经销若干种产品。工资由基本工资、产品销售业绩、若干种保险的扣除等组成。其中的销售业绩:职员按其完成额5%提成,经理按该部门的完成额的1%提成。每个月要生成一个工资表,每年末再按个
面向对象程序设计作业参考答案
面向对象程序设计作业参考答案
习题一
5、分析下面程序运行的结果。
#
using namespace std;
int main()
{
cout<<”This”<<”is”;
cout<<”a”<<”C++”;
cout<<”program.”<<endl;< p="">
return 0;
}
输出结果:ThisisaC++program.
6、分析下面程序运行的结果。
#include
using namespace std;
int main()
{
int a,b,c;
a = 10;
b = 23;
c = a + b;
cout<<'a + b =";
cout<<c;< p="">
cout<<endl;< p="">
return 0;
}
输出结果:a + b = 33
8、在你所用的C++系统上,输入以下程序,进行编译,观察编
译情况,如果有错误,请修改程序,在进行编译,直到没有错误,然后进行连接和运行,分析运行结果。
修改后的程序如下:
#include
using namespace std;
int main()
{
int a, b;
a =
b = 0;
int c = a + b;
cout<<”a + b =”<
return 0;
}
9、输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,在进行编译,直到没有错误,然后进行连接和运行,分析运行结果。
修改后的程序如下:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象方法精粹
目录
1 需求分析..................................................... 错误!未定义书签。
1.1 项目描述 (3)
1.2 功能描述 (3)
2 构建功能模型 (5)
2.1 确定系统边界 (5)
2.2 寻找参与者 (5)
2.3 寻找用例 (5)
3 构建结构模型 (8)
3.1 寻找并保留正确的类 (8)
3.2 准备数据词典 (8)
3.3 寻找关联属性并细化 (9)
4 构建行为模型 (11)
4.1 状态机图 (11)
4.2 活动图 (12)
4.3 顺序图 (14)
1需求分析
1.1 项目描述
该项目建立一个育童网站,旨在为没有时间呵护孩子成长的年轻父母提供育童服务。网站采取B/S架构,客户通过浏览器获取所需服务,注册账号,订购服务。公司通过后台管理订单。同时,网站设有育童论坛,供年轻父母进行交流与分享,通过论坛方式可获得育童积分,累积可转换为育童券,进行购物。网站同时为年轻父母提供第三方支付的服务和旅游,餐饮与医疗服务。在购买服务时的支付方式为第三方支付和育童券支付,育童券可以冲抵现金,但不能兑换现金。每个账号有自己的等级,等级越高则购买相应服务折扣越大。
该网站为一个P2P的线下服务平台,主要客户为时间不充裕的年轻父母,主要商家为育童公司,以及与育童网合作的旅游,餐饮和医疗公司。通过育童公司订购的旅游,餐饮和医疗服务将享有折扣。
1.2 功能描述
用户(年轻父母):
1.年轻父母可提交服务订单;
2.年轻父母可提交自己的育童服务专页(含认知教程,营养食谱,医疗
卫生,屋舍设施,户外环境);
3.年轻父母可向亲朋好友发送孩子百日电子请柬;
4.年轻父母在线支付育童服务费(如网银,第三方,爱童券等);
5.年轻父母分享孩子成长视频/图片获得爱童券;
6.年轻父母之间可以相互交流;
7.评价后可获得爱童券;
8.在线支付后可获得爱童积分;
9.在支付后悔期内可自由退订;
10.在支付后悔期外壳有限制退订;
11.订单完成后支付积分转换为爱童积分;
12.爱童积分可兑换爱童券;
13.年轻父母可在线折扣购买爱童券;
14.年轻父母介绍新用户加入爱童网可提升自己的级别;服务平台(育童公司):
1.可发布育童服务信息;
2.浏览自己的育童服务专页;
3.设置年轻父母的级别;
4.设置年轻父母的升级规则;
5.浏览服务订单进度;
6.浏览营收;
7.订购餐饮机构的服务;
8.订购医疗机构的服务;
9.订购旅游机构的服务;
商家(餐饮/医疗/旅游机构):
1.发布服务信息;
2.浏览自己的服务专页;
3.浏览自己的服务营收;
2构建功能模型
2.1确定系统边界
系统主要的功能为用户向商家订购服务,商家向用户提供服务。其中订购的过程中会伴随订单的产生,支付,完成,评价。同时在服务过程中,伴随用户爱童积分的积累,爱童券的积累。还有用户之间的交流与分享。
商家的行为主要是基于服务器端,查看订单情况,支付情况,以及提供服务和帮助用户订购其他服务。
综上,本系统的主要边界为客户端边界内的用例和服务端边界内的用例。2.2寻找参与者
在确认边界的基础上,寻找与系统直接交互的外部对象。
对于被系统而言,参与者主要有用户,公司和第三方服务商。
这三类参与者都会执行一部分系统功能,且有不同的操作界面。
2.3 寻找用例
结合上述分析,我找出了两类用例分别在用户系统内和服务端系统内。者两类用例会以完全不同的方式使用本系统。其中图1表示用户使用本系统的功能,图2表示服务端下本系统提供给公司和第三方机构的功能。
图1:客户端系统用例图
本图描述了用户即年轻父母在本系统内与公司以及第三方机构的一切交互,
主要分为订单系统,用户论坛系统和主页系统三大模块。
图2 的主要参与者为公司和第三方服务机构。
3构建结构模型
3.1寻找并保留正确的类
首先从用户,公司第三方机构三类参与者中找出相关的对象。再从对用户,公司的功能描述中找出相关的概念。用户要提交订单,订单要被执行,确认,评价。等行为过程中找出对象。然后将这些对象逐层抽象为类。
然后,去掉表示相同概念的类,保留最具描述能力的名称,即去掉冗余类;然后
去掉不相关的属性。最终我得出本系统中的类如下所示:
3.2准备数据词典
为避免单词的歧义,编制数据字典如下。
同时对一些重要类的作用域,生命周期作出解释,并描述了类间的关联,聚合以及一些重要的属性。
3.3寻找关联属性并细化
进一步细化类之间的关联,并表明重要的唯一属性,对类间的关联做出约束。并使用继承来细化,调整继承的层次和多重继承,增强代码的复用性。
综上步骤,我所得出的类图如图3所示。
图3.类图
4构建行为模型
4.1状态机图
经过分析我认为,本项目中存在状态变化生命周期的有两个。一是订单状态,二是育童积分和育童券之间的转换。分别入图4,图5所示。
图4表示订单的生命周期,从被用户建立,支付到执行完毕,最终由用户做出评价。
图5表示育童积分与育童券之间的相互转化,用户获得育童积分的手段主要有参与在线支付,参与评价和完成一笔订单,当育童积分到达一定数量自动转换为育童券可以冲抵现金进行购物。
图4.订单状态机图