设计模式大作业

设计模式大作业
设计模式大作业

设计模式大作业 (总分:20分)

问题1. 请简述什么是里氏代换原则? (5分)

里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。严格表述如下:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1代换o2时,程序P的行为没有变化,那么类型S是类型T的子类型。这个定义比较拗口且难以理解,因此我们一般使用它的另一个通俗版定义:所有引用基类的地方必须能透明的使用其子类的对象。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

问题2. 阅读以下代码,并回答问题:(7分)

public class MyOrderedCollection {

protected List list = new ArrayList<>();

public void addElement(Integer i) {

list.add(i);

}

public Integer getElement(Integer index) {

return list.get(index);

}

}

public class MyOrderedAndSortedCollection extends MyOrderedCollection { public void addElement(Integer i) {

super.addElement(i);

Collections.sort(super.list);

}

public class LSP1 {

public static void main(String args[]) {

MyOrderedCollection collection1 = new MyOrderedCollection();

MyOrderedCollection collection2 = new MyOrderedAndSortedCollection();

int a = 10, b = 5;

collection1.addElement(a);

collection1.addElement(b);

collection2.addElement(a);

collection2.addElement(b);

PrintSecondElement(collection1);

PrintSecondElement(collection2);

}

public static void PrintSecondElement(MyOrderedCollection collection) { System.out.println("The second element is :"

+ collection.getElement(1));

}

}

1) 以上代码设计是否符合里氏代换原则?(请明确说明符合,还是不符合) (2分)

答:不符合

2) 若你认为符合,请简要说明理由;若你认为不符合,也请简要说明理由。(5分)

答:

由里氏替换原则,子类能继承扩展父类功能,不能修改父类原来的功能。该函数

addElement(Integer i)在继承的时候,父类的功能改变了,导致父类出现的地方,子类不一定会出现。

问题3. 请简要描述在什么状况下,问题2中的代码会造成麻烦? (4分)

答:分别输出第二个元素,答案是The second element is :5;The second element is :10。类MyOrderedAndSortedCollection继承类MyOrderedCollection,直接修改了父类MyOrderedCollection的addElement方法,违背里氏替换原则,不能有用的运用子类的对象。

问题4. 如果你想避免问题3中出现的麻烦,你会如何修改问题2中的代码设

计以使得其遵守里氏代换原则? (4分)

答:将子类修改成如下

public class MyOrderedAn dSortedCollection extends MyOrderedCollection { public void addElement(Integer i) {

super.addElement(i);

}

public void stord(){

Collections.sort(super.list);

}

产品详细设计说明书模版

XXX系统 详细设计说明书 作者: 完成日期: 签收人: 签收日期: 版本所有:北京无限讯奇信息技术有限公司

版本修改记录

目录 1引言 (4) 1.1编写目的 (4) 1.2背景 (4) 1.3定义 (4) 1.4参考资料 (4) 2程序系统的组织结构 (5) 3程序1(标识符)设计说明 (6) 3.1程序描述 (6) 3.2功能 (6) 3.3性能 (6) 3.4输入项 (6) 3.5输出项 (6) 3.6算法 (7) 3.7流程逻辑 (7) 3.8接口 (7) 3.9存储分配 (7) 3.10注释设计 (7) 3.11限制条件 (7) 3.12测试计划 (7) 3.13尚未解决的问题 (8) 4程序2(标识符)设计说明 (9)

详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并入概要设计说明书。 1引言 1.1编写目的 说明编写这份详细设计说明书的目的,指出预期的读者。 1.2背景 说明: a.待开发软件系统的名称; b.本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。 1.3定义 列出本文件中用到专门术语的定义和外文首字母组词的原词组。 1.4参考资料 列出有关的参考资料,如: a.本项目的经核准的计划任务书或合同、上级机关的批文; b.属于本项目的其他已发表的文件; c.本文件中各处引用到的文件资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。

数据库课程设计大作业

《数据库原理》课程设计报告 专业:测控技术与仪器 班级:测控071班 学号:200710402112 200710402115 姓名:杜文龙王京京 题目名称:物资管理系统 完成日期:2009年12月25日 昆明理工大学信息工程与自动化学院 2009年12月

物资管理系统 一、课程设计目的: 1.加深对讲授内容的理解 《数据库原理及应用》中有关数据库技术的基本理论、基本概念、设计与实现的方法和阶段性知识,光靠课堂讲授既枯燥无味又难以记住,但它们都很重要,要想熟练掌握,必须经过大量实践环节加深对它们的理解。 2.通过课程设计,掌握数据库系统设计与开发的方法及步骤 数据库是一门应用性很强的学科,开发一个数据库系统需要集理论、系统和应用三方面为一体,以理论为基础,以系统(DBMS)作支柱,以应用为目的,将三者紧密结合起来。同时结合实际需要开发一个真实的数据库系统,对于较大型的系统可多人一起完成,但无论如何都应完成数据库的需求分析、数据的分析与建模、数据库的建立、数据库的开发与运行等全部过程。在此过程中将所学的知识贯穿起来,达到能够纵观全局,分析、设计具有一定规模的题目要求,基本掌握数据库系统设计与开发的基本思路和方法并且做到对知识的全面掌握和运用。 3.培养学生自学以及主动解决问题的能力 通过本次设计,使同学能够主动查阅与数据库相关资料,掌握一些课堂上老师未曾教授的知识,从而达到培养学生自学以及主动解决问题的能力的目的。 二、课程设计基本要求: 1.课程设计应由学生本人独立完成,严禁抄袭。 2.掌握所学的基础理论知识,数据库的基本概念、基本原理、关系数据库的设 计理论、设计方法等。熟悉数据建模工具Visio与数据库管理系统SQLServer 软件的使用。 3.按时上机调试,认真完成课程设计。 4.认真编写课程设计报告。 三、需求分析 信息管理系统是集计算机技术、网络通讯技术为一体的信息系统工程,它能够使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性和库、科学性,并创建出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持久、健康、稳定的发展打下基础。 这个物资管理系统是以客户机/服务器模式的信息管理模式的信息管理系统。它的开发过程不仅仅是一个编写应用程序的过程,而是以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施

浅谈课程设计模式

?89? □王 哲,郭长侠,董 光 (吉林省经济管理干部学院,吉林 长春130012) [摘要]课程设计是教学过程中的一项重要环节,是完成教学计划达到教学目标的重要方法,它有助 于学生深入地理解课堂上所学的理论知识、掌握实验课程中所学的实践技能,也有助于全面地提高学生的综合素质。为培养符合高职高专教学特色的应用型人才,高职高专院校各专业的课程设计必须要实现实用性、理论性与实践性的紧密衔接。[关键词]课程设计;模式;步骤[中图分类号]G423[文献标识码]A [文章编号]1009-0657(2006)04-0089-03 [收稿日期]2005—12—15 [作者简介]王哲(1981—),男,吉林省长春市人,吉林省经济管理干部学院计算机系教师,主要从事计算机基础和计算机 网络方面的教学与研究工作。 随着我国社会经济发展的多样化,对高等职业技术学院的办学思路、专业结构、管理方式和培养模式提出了新的任务和要求,坚持搞好实践性教学环节既是培养社会所欢迎的应用型人才的必经之路,更是人才培养模式的重要内容。强化学生设计能力和实际动手能力,突出创新意识和创新精神的培养模式是高职院校素质教育的核心和基本特征之一。所以,高等职业院校在建立人才培养模式和深化教学改革的过程中应高度重视实践性教学环节。实践教学环节主要包括课程实验、课程设计、毕业设计三部分,而课程设计在实践教学环节中起到关键的纽带作用。 在实践教学过程中,我们通常模糊了课程实验与课程设计的概念。课程实验应具有时间要求,即与该课程的理论学习同步进行,还应按统一的格式要求写出相应的实验报告。课程实验是帮助学生理解和巩固基础理论,培养学生实验技能、独立工作能力和科学研究方法的重要环节。课程实验的考核一般是对课程实验项目及实验操作水平的考核;课程设计是围绕一门专业基础课或专业课的内容所进行的实践性教学环节,是理工类专业学生必须完成的实践教学内容之一。它是根据教学计划的要求,在浅谈课程设计模式 教师指导下对学生进行阶段性的实践技能的训练;是实现由知识向智能的初步转化,也是对学生综合分析能力、独立工作能力的培养与检查过程。课程设计的任务就是把社会发展的客观要求、知识增长的客观趋势和学生成长的客观需要转化为具有适当水准、适当内容和结构优化的教学实践内容。同时,培养学生具有独立设计、开发、总结的能力以及协作和创新意识。课程设计主要考核学生综合运用已学过的理论知识和实践技能去分析和解决实际问题的能力。根据课程专业性质的不同,理工类各专业至少应安排三至四门课程的课程设计,时间安排是在教学过程中一般停课1至2周去完成某门课程的课程设计。 就目前而言,大多数的高职院校对课程设计不够重视,课程设计的要求不够规范,在教学计划制定过程中对课程设计的课时及实施步骤的叙述不明确,甚至遗漏。为规范课程设计这一实践性教学环节,以培养学生综合素质和专业知识的应用能力,我们认为:形成一套完整的课程设计模式是十分必要的。在课程设计过程中对设计题目、设计方法和设计手段进行全面改革,以培养学生的创新能力、综合分析能力、系统设计能力、协作能力以及形成市场意识。在课程设 第20卷第4期吉林省经济管理干部学院学报 V ol.20No.42006年8月Journal of Jilin Province Economic Management Cadre College August 2006

设计说明模板

目录 目录 (1) 1、总述 (1) 1.1、设计依据: (1) 1.2、设计范围及规模: (1) 2、路径状况: (1) 2.1、工程概况: (1) 2.2、主要工程量: (2) 2.3、线路使用档距和布置方式: (2) 3、电气部分: (2) 3.1、电气主接线及供电方式: (2) 3.2、电气设备: (3) 3.3、防雷接地与绝缘配合: (3) 3.4、金具: (3) 3.5、导线: (4) 3.6、故障寻址器: (4) 3.7设施交叉或接近要求: (4) 3.8、居民区与非居民区: (5) 4、电缆敷设: (5) 5、土建设施: (6) 6、铁附件选择与加工要求: (6) 7、施工要求: (6) 8、工程材料表: (7)

1、总述 1.1、设计依据: 1.1.1《66kV及以下架空线路设计规范》(GB50061-97); 1.1.2城市中低压配电网改造技术导则(DL/T599-2005); 1.1.3电力工程电缆设计规范(GB50217-1997); 1.1.4《架空绝缘配电线路设计技术规程》(DL/T601-1996); 1.1.5 交流电气装置的电压保护和绝缘配合(DL/T620-1997);1.1.6《架空绝缘配电线路施工及验收规程》(DL/T601-1996); 1.1.710kV及以下架空配电线路设计技术规程(DL/T5220-2005); 1.1.8国家电网公司配电工程典型设计《10kV架空线路分册》《10千伏配电分册》《10千伏电缆分册》2016年版; 1.1.9xxxxxxxxxxxxxxxxxxxxxxxxxxxx10kV供电方案》; 1.2、设计范围及规模: 本工程为架空线结合电缆设计,将新建线路全长9.59千米,(其中架空线路3千米,电缆线路6.59千米),导线采用JKLYJ-10-120架空绝缘导线,电缆选用ZC-YJLV22-8.7/10-3×185型阻燃乙烯交联铠铝芯电力电缆。 2、路径状况: 2.1、工程概况: 用户xxxxxxxxxxxxxxxxxxxxxxx位于xxxxxxxxxxxxxxxxxxxxxxxxxxxxx。10kV主供电源来自xxxxxxxxxxxxxxxxxxxxxxxxxx。采用电缆与架空线相结合方式配送

哈尔滨工业大学机械设计大作业_带传动电算

H a r b i n I n s t i t u t e o f T e c h n o l o g y 上机电算说明书 课程名称:机械设计 电算题目:普通V带传动 院系:机电工程学院 班级: 设计者: 学号: 指导教师: 设计时间:2015.11.11-2015.12.1 哈尔滨工业大学

目录 一、普通V带传动的内容 (1) 二、变量标识符 (1) 三、程序框图 (2) 四、V带设计C程序 (3) 五、程序运行截图 (10) 参考文献 (11)

一、普通V带传动的内容 给定原始数据:传递的功率P,小带轮转速n1 传动比i及工作条件 设计内容:带型号,基准长度Ld,根数Z,传动中心距a,带轮基准直径dd1、dd2,带轮轮缘宽度B,初拉力F0和压轴力Q。 二、变量标识符 为了使程序具有较好的可读性易用性,应采用统一的变量标识符,如表1所示。表1变量标识符表。 表1 变量标识符表

三、程序框图

四、V带设计c程序 #include #include #include #define PAI 3.14 int TYPE_TO_NUM(char type); /*将输入的字符(不论大小写)转换为数字方便使用*/ float Select_Ki(float i); /*查表选择Ki的程序*/ float Select_KA(float H,int GZJ,int YDJ); /*查表选择KA的程序*/ float Select_KL(float Ld,int TYPE); /*查表选择KL的程序*/ float Select_M(int TYPE); /*查表选择m的程序*/ float Select_dd1(int TYPE); /*查表选择小轮基准直径dd1的程序*/ float Select_dd2(int dd1,float i); /*查表选择大轮直径dd2的程序*/ float Compute_P0(float V,int TYPE,float dd1); /*计算P0的程序*/ float Compute_DIFP0(int TYPE,float Ki,int n1); /*计算DIFP0的程序*/ float Compute_VMAX(int TYPE); /*计算VMAX的程序*/ float Compute_KALF(float ALF1); /*计算KALF的程序*/ float Compute_B(int TYPE,int z); /*计算带宽B的程序*/ float* Compute_LAK(float dd1,float dd2,int TYPE); /*计算Ld,a,KL的程序*/ main() { float P,H,i,n1,KA,Ki,dd1,dd2,V,P0,DIFP0,Pd,VMAX,*LAK,m,Ld,KALF,a,KL,z,F0,ALF1, Q,B; int YDJ,GZJ,TYPE,ANS; char type,ans; printf(" V带传动设计程序\n"); printf(" 程序设计人:×××\n 班号:123456678\n 学号:1234567896\n"); START: printf("请输入原始参数:\n"); printf("传递功率P(KW):"); scanf("%f",&P); printf("小带轮转速n1(r/min):"); scanf("%f",&n1); printf("传动比i:"); scanf("%f",&i); printf("每天工作时间H(h):"); scanf("%f",&H); printf("原动机类型(1或2):"); scanf("%d",&YDJ); printf("工作机载荷类型:\n1,载荷平稳\n2,载荷变动较小\n3,载荷变动较大\n4,载荷变动很大\n"); scanf("%d",&GZJ);

(完整版)大工16秋《道路勘测设计课程设计》大作业答案

网络教育学院《道路勘测设计课程设计》 题目:某公路施工图设计 学习中心: 专业: 年级: 学号: 学生: 指导教师:

学 号学 生: 指导教师: 乔 娜 1 设计交通量的计算 设计年限内交通量的平均年增长率为7%,路面竣工后第一年日交通量如下: 桑塔纳2000:2300辆; 江淮a16600:200辆; 黄海dd680:420辆; 北京bj30:200辆; Ep140:580辆; 东风sp9250:310辆。 设计交通量:d N =0N ×() 1 1n r -+ 式中:d N —远景设计年平均日交通量(辆/日); 0N —起始年平均交通量(辆/日); r —年平均增长率; n —远景设计年限。 代入数字计算: 解: 0N =2300+200+420+200+580+310=4010(辆/日) 假设远景设计年限为20年,则将上述的种种数字带入公式后计算: 设计交通量:d N =0N ×() 1 1n r -+ =4010×(1+0.07)19 =14502(辆/日)

2 平面设计 路线设计包括平面设计、纵断面设计和横断面设计三大部分。道路是一个三维空间体系,它的中线是一条空间曲线。中线在水平面上的投影称为路线的平面。沿着中线竖直的剖切,再展开就成为纵断面。中线各点的法向切面是横断面。道路的平面、纵断面和各个横断面是道路的几何组成。 道路的平面线形,受当地地形、地物等障碍的影响而发生转折时,在转折处需要设置曲线,为保证行车的舒顺与安全,在直线、圆曲线间或不同半径的两圆曲线之间要插入缓和曲线。因此,直线、圆曲线、缓和曲线是平面线形的主要组成因素。 直线是平面线形中的基本线形。在设计中过长和过短都不好,因此要加以限制。直线使用与地形平坦、视线目标无障碍处。直线有测设简单、前进方向明确、路线短截等特点,直线路段能提供较好的超车条件,但长直线容易使司机由于缺乏警觉产生疲劳而发生事故。 圆曲线也是平面线形中常用的线性。《公路路线设计规范》规定,各级公路不论大小均应设置圆曲线。平曲线的技术标准主要有:圆曲线半径,平曲线最小长度以及回头曲线技术指标等。 平曲线的半径确定是根据汽车行驶的横向稳定性而定: )(1272 i V R +=μ 式中:V-行车速度km/h ; μ-横向力系数; i -横向超高,我国公路对超高的规定。 缓和曲线通过曲率的逐渐变化,适应汽车转向操作的行驶轨迹及路线的顺畅,以构成美观及视觉协调的最佳线形;离心加速度的逐渐变化,不致产生侧向冲击;缓和超高最为超高变化的过渡段,以减小行车震荡。 平曲线要素: 切线增长值:q=2s L -2 3 240R L s 内移值: p=R L s 242-3 4 2384R L s

设计说明参考模版

设计说明参考模版 一、本户型设计采用欧式新古典风格。设计时以白色加暖色调为主,营造出一种典雅,高贵,温馨的气氛。 原始结构中北面有个设备阳台,因此将餐厅北面墙拆除,扩建出去,增加空间使用率,南面阳台也可以扩建,因此增加了南阳台的空间,使空间更加宽广,舒适。 门厅的设计是不能忽视的,因此在符合功能要求的同时,增加设计感。增加垭口,地面采用菱形铺设和走边相结合,吊顶增加灯带的点缀。 客厅是空间的主角,采用暖黄色搭配白色,给人干净、温馨感。配合优美线条的欧式家具,更加体现一种高贵的品质生活。电视背景墙纸采用软包与石材的结合,刚柔并济。沙发背景墙采用壁纸与石材结合,同时增加了灰镜的实用,配上两盏小壁灯点缀空间。 餐厅空间相对的还是比较宽敞,也是公共空间,因此设计时也不能忽视。因为餐厅的一边墙体靠近电梯间,因此不做重点设计,另一面墙体采用壁纸与欧式线条相结合,同时挂上次风格常用的太阳造型镜子,配上餐边柜,使空间不至于很单调。地面采用圆形地砖铺设,与圆形餐桌、圆形吊顶相呼应。 次卧的设计是为孩子准备的,充分考虑到孩子生长和学习的需要,壁纸贴面、配合着白色家具,使整个空间明亮、舒适。 主卧的装饰迎合公共空间的设计,采用壁纸贴面,软化空间.床头墙面采用壁纸、软包、木质线条。原本的卫生间墙拆除改为玻璃,增加空间明亮度。顶面采用二级吊顶,石膏线条走边,简洁但又有层次感。地面采用木地板铺设,更加温馨。 二、本案建筑面积304.3平方米,使用面积260平方米,主题风格现代简约。 一、户型方面:主体结构趋于合理,1、在过道 方面有点狭长,就此通过色彩和材质的方面来减弱,来达到视觉的感觉; 2、在主卧的门洞的有点过窄则向衣帽间偷位; 3、不浪费空间,把阳台上包,做为书房,还能进行自然彩光. 二、色彩方面:房间整体的光线不错,可以考虑一些重色来做色彩对比和运用,使墙面更有质感。 三、光线方面:日光时主题色彩亮度较为突出,大都可以还原物体本色, 夜晚灯光各区域主光源以外均增加一定数量的点光源及辅助光源,使其层次亮点更加突出。 四、客厅的电视背景墙以米黄色的大理石为主,从而显示出大气的风 范,在餐厅的和客厅的C立面都运用银镜来拉伸空间在配上大理石整体显得更佳的大气。

哈工大机械设计大作业

哈尔滨工业大学 机械设计作业设计计算说明书 题目: 轴系部件设计 系别: 英才学院 班号: 1436005 姓名: 刘璐 日期: 2016.11.12

哈尔滨工业大学机械设计作业任务书 题目:轴系部件设计 设计原始数据: 图1 表 1 带式运输机中V带传动的已知数据 方案d P (KW) (/min) m n r(/min) w n r 1 i轴承座中 心高H(mm) 最短工作 年限L 工作 环境 5.1. 2 4 960 100 2 180 3年3班 室外 有尘 机器工作平稳、单向回转、成批生产

目录 一、带轮及齿轮数据 (1) 二、选择轴的材料 (1) 三、初算轴径d min (1) 四、结构设计 (2) 1. 确定轴承部件机体的结构形式及主要尺寸 (2) 2. 确定轴的轴向固定方式....................................... 错误!未定义书签。 3. 选择滚动轴承类型,并确定润滑、密封方式 .................. 错误!未定义书签。 4. 轴的结构设计................................................ 错误!未定义书签。 五、轴的受力分析 (4) 1. 画轴的受力简图 (4) 2. 计算支承反力 (4) 3. 画弯矩图 (5) 4. 画扭矩图 (5) 六、校核轴的强度 (5) 七、校核键连接的强度 (7) 八、校核轴承寿命 (8) 1. 计算轴承的轴向力 (8) 2. 计算当量动载荷 (8) 3. 校核轴承寿命 (8) 九、绘制轴系部件装配图(图纸) (9) 十、参考文献 (9)

内燃机设计课程设计大作业

第一部分:四缸机运动学分析 绘制四缸机活塞位移、速度、加速度随曲轴转角变化曲线(X -α,V -α,a -α)。 曲轴半径r=52.5mm 连杆长度l=170mm, 连杆比31.0==l r λ 1、位移:)]2cos 1(4 1 )cos 1[(αλα-+-=r x 2、速度:)2sin 2 (sin αλ αω+ =r v 3、加速度:)2cos (cos 2αλαω+=r a

第二部分:四缸机曲柄连杆机构受力分析 1、初步绘制四缸机气缸压力曲线(g F -α),绘制活塞侧击力变化曲线(N F -α),绘制连杆力变化曲线(L F -α),绘制曲柄销上的切向力(t F ),径向力(k F )的变化曲线(-α),(-α)。 平均大气压MPa p 09839.098.39kPa 0== 缸径D=95mm 则 活塞上总压力 6 010 )(?-=A P P F g g 24 D A π = 单缸活塞组质量:kg m h 277.1= 连杆组质量: 1.5kg =l m 则 往复运动质量:l h j m m m 3.0+= 往复惯性力:)2cos (cos 2αλαω+-=-=r m a m F j j j )sin arcsin(αλβ=又 合力:g j F F F += 侧击力:βtan F F N = 连杆力:β cos F F L = 切向力:)sin(βα+=L t F F 径向力:)cos(βα+=L k F F t F k F

2.四缸机连杆大头轴承负荷极坐标图,曲柄销极坐标图 连杆大头集中质量产生的离心力:2 227.0ωωr m r m F l rL == 连杆轴颈负荷: qy qx p F F arctan =α 连杆轴承负荷: ?+++=180βαααq P )sin(p P px F F α= 2m rL L q F F F +=k rL qx F F F -=t qy F F =q p F F -=)(p p py con F F α=

设计模式大作业

摘要: 随着软件系统规模和复杂性的增加, 人们对软件的可靠性和生产效率也提出了更高的要求, 软件重用在当前比以往任何时候都显得重要. 设计模式是系统设计阶段的软件重用, 使得那些具有良好性能的设计方案可以在相似环境下被再次复用. 设计模式以文档的形式把面向对象的软件设计经验记录下来, 并予以系统的命名、解释和评价, 使开发人员在进行系统的设计与开发时, 可以使用别人的成功经验而不必为普通的、重复的问题重新设计解决方案,使设计者更容易理解其设计思路,能为自己的问题找到更合适的解决办法,帮助设计者更快更好地完成系统设计. 1.设计模式简介 设计模式是针对面向对象系统中重复出现的设计问题,提出一个通用的设计方案,并予以系统化的命名和动机解释。它描述了问题,提出了解决方案,并指出在什么条件下使用该方案以及其效果。该解决方案是解决该问题的一组精心安排的通用的类和对象,再经过定制和实现就可用来解决特定的上下文中的问题。简单来说,设计模式就是一个常用的方案。在我们的开发过程中经常会遇到一些相同或相近的问题,如果每次都寻找一个相应的解决办法&那么就会增加开发时间,降低开发效率。为了节省时间&提高开发效率&就需要提供一些解决类似问题的,在应用中被证明可行的方案设计模式。所以一个设计模式就是描述了一个被证明可行的方案,这些方案可以重用,有良好的伸缩性。一般而言,一个设计模式有四个要素: 1.模式名称 2.问题。 3.解决方案。 4.效果。 2.设计模式的分类 根据两条准则对模式进行分类,范围准则和目的准则。 范围准则,即指定设计模式主要是用于类还是用于对象。设计模式据此可分 为: (1)类设计模式:处理类和子类之间的关系,这些关系通过继承建立,是静态的,在编译时刻便确定下来了。 (2)对象设计模式:处理对象间的关系,这些关系在运行时刻是可以变化的,更具动态性。从某种意义上来说,几乎所有设计模式都使用继承机制,所以“类设计模式”只指那些集中于处理类间关系的设计模式,而大部分设计模式都属于对象设计模式的范畴。 目的准则,即设计模式是用来完成什么工作的。设计模式据此可分为: (l)创建型设计模式:与类或对象的创建有关; (2)结构型设计模式:处理类或对象的组合; (3)行为型设计模式:对类或对象怎样交互和怎样分配职责进行 描述。 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 3.设计模式的六大原则 1.单一职责原则:一个类应该只有一个职责。 优点:降低类的复杂性;提高类的可读性;提高代码的可维护性和复用性;降低因变更引

设计说明书模板

北京化工大学化学工程学院设计说明书 题目: 学生: 班级: 学号: 指导教师: 2013年月

目录 1.工艺设计基础 1.1 设计任务 1.2 原辅材料性质及技术规格 1.3 产品的性质及技术规格 1.4 危险性物料的主要物性 1.5 原辅材料的消耗定额 2.工艺说明 2.1生产方法、工艺技术路线及工艺特点 2.1.1 生产方法 2.1.2 工艺技术路线的确定 2.2生产流程简述 3.工艺计算与主要设备选型 3.1 物料衡算 3.1.1 计算的基准数据 3.1.2 计算基准 3.1.3 各单元物料衡算 3.2热量衡算 3.2.1 计算的基准数据 3.2.2 物料衡算 3.3 聚合釜的计算及选型 4 聚合工段的操作控制 5.附图:带控制点的工艺流程图(PID)

设计说明书版式要求 1.目录格式中,一级标题采用黑体字,其余级别标题用宋体字,字号均为小四。 2.设计说明书正文约20页。 3.全文字体规定:中文采用宋体;英文采用Times New Roman。 4.正文采用小四号字,固定行距20磅。 5.参考文献内容字体采用5号字。 6.正文中一级标题(章)采用小三号字,加黑,居中;逢一级标题(章)更换 起始页。 7.其余级别标题采用小四号字,加黑。 8.标题之间、标题与正文之间空一行。 9.标题数字排序: 一级:1、2、3…; 二级:1.1、1.2…; 三级:1.1.1、1.1.2…; 四级:(1)、(2)、(3)…; 五级:①、②、③…。 10.图题目和表题目采用小四号字,居中,加黑。 11.表采用三线表格式;表格尽量不要跨页,如必须跨页设置表格时,后续页表 格必须带表头,并标注续表说明,例如“(续表1-2)”。 12.页面设置为:A4纸型,纵向、单面打印:上2cm,下2cm,左2.5cm,右 1.5cm,装订线0.5cm,选择“不对称页边距”,页眉1.2cm,页脚1.5cm。13.页脚设置为:插入页码,居中。

机械设计制造专业课程设计大作业

机械设计制造专业课程设计大作业 题目共四个,任选其一。最重要一点:不得抄袭!具体要求在后面一、某小型乘用车的基本参数如下: 整车尺寸大致为4300mm×1800mm×1500mm 驱动形式:4×2前轮驱动 轴距:2600mm 整备质量:1100 kg 最大功率/转速:74/5800 kW/rpm 最大转矩/转速:150/4000 N·m/rpm 公路行驶最高车速:190 km/h 1. 设计符合其使用的一台离合器 要求:(1)通过调查研究提出离合器设计方案; (2)进行总体方案设计,并附上离合器结构示意图; (3)对你所设计的离合器方案选择原则进行理由阐述,即选择该方案的原因; (4)完成至少6000字的设计说明书。 2. 设计符合其使用的一台变速器 要求:(1)通过调查研究提出变速器设计方案; (2)进行总体方案设计,并附上变速器结构示意图; (3)对你所设计的变速器方案选择原则进行理由阐述,即选择该方案的原因; (4)完成至少6000字的设计说明书。

二、一辆用于长途运输固体物料、载重质量为20t的重型运输汽车 整车尺寸大致为12000mm×2100mm×3400mm 轴数:4 轴距:6500mm 额定载质量:20000kg 整备质量:12000kg 公路行驶最高车速:100km/h 最大爬坡度:≥30% 1. 设计符合其使用的一台离合器 要求:(1)通过调查研究提出离合器设计方案; (2)进行总体方案设计,并附上离合器结构示意图; (3)对你所设计的离合器方案选择原则进行理由阐述,即选择该方案的原因; (4)完成至少6000字的设计说明书。 2. 设计符合其使用的一台变速器 要求:(1)通过调查研究提出变速器设计方案; (2)进行总体方案设计,并附上变速器结构示意图; (3)对你所设计的变速器方案选择原则进行理由阐述,即选择该方案的原因; (4)完成至少6000字的设计说明书。 三、课程大作业要求 1.手写或打印均可; 2.联系电话:王磊

现代控制理论课程设计(大作业)

现代控制理论课 程设计报告 题目打印机皮带驱动系统能控能观和稳定性分析 项目成员史旭东童振梁沈晓楠 专业班级自动化112 指导教师何小其 分院信息分院 完成日期 2014-5-28

目录 1. 课程设计目的 (3) 2.课程设计题目描述和要求 (3) 3.课程设计报告内容 (4) 3.1 原理图 (4) 3.2 系统参数取值情况 (4) 3.3 打印机皮带驱动系统的状态空间方程 (5) 4. 系统分析 (7) 4.1 能控性分析 (7) 4.2 能观性分析 (8) 4.3 稳定性分析 (8) 5. 总结 (10)

项目组成员具体分工 打印机皮带驱动系统能控能观和稳定性 分析 课程设计的内容如下: 1.课程设计目的 综合运用自控现代理论分析皮带驱动系统的能控性、能观性以及稳定性,融会贯通并扩展有关方面的知识。加强大家对专业理论知识的理解和实际运用。培养学生熟练运用有关的仿真软件及分析,解决实际问题的能力,学会使用标准、手册、查阅有关技术资料。加强了大家的自学能力,为大家以后做毕业设计做很好的铺垫。 2.课程设计题目描述和要求 (1)环节项目名称:能控能观判据及稳定性判据 (2)环节目的: ①利用MATLAB分析线性定常系统的可控性和客观性。 ②利用MATLAB进行线性定常系统的李雅普诺夫稳定性判据。 (3)环节形式:课后上机仿真 (4)环节考核方式: 根据提交的仿真结果及分析报告确定成绩。 (5)环节内容、方法: ①给定系统状态空间方程,对系统进行可控性、可观性分析。 ②已知系统状态空间方程,判断其稳定性,并绘制出时间响应曲线验

证上述判断。 3.课程设计报告内容 3.1 原理图 在计算机外围设备中,常用的低价位喷墨式或针式打印机都配有皮带驱动器。它用于驱动打印头沿打印页面横向移动。图1给出了一个装有直流电机的皮带驱动式打印机的例子。其光传感器用来测定打印头的位置,皮带张力的变化用于调节皮带的实际弹性状态。 图1 打印机皮带驱动系统 3.2 系统参数取值情况 表1打印装置的参数

软件设计模式大作业样例

设计模式大作业 课程名称:软件设计模式 设计题目:公司经费申请 院系:计算机科学与信息工程学院学生姓名: 学号: 专业班级:软件工程13-1 指导教师:高原 2016年6月

软件设计模式任务书

目录 一、系统目标 (1) 1. 设计目的 (1) 2. 需求描述 (1) 二、系统模块选择 (1) 1. 需求分析 (1) 2. 选用设计模式 (2) (1)模板方法模式 (2) (2)职责链模式 (2) (3)观察者模式 (3) 三、系统设计 (4) 1. 系统功能模块设计 (4) 四、系统实现 (5) 1.模板方法模块及其实现类 (5) 2.职责链模块及其实现类 (6) 3.观察者模块及其实现类 (9) 4.事件处理程序 (10) 五、系统设计总结 (11) 1. 实现的功能和优点 (11) 2. 不足之处 (12) 3. 完成心得 (12) 六、参考文献 (12) 参考文献 (12)

一、系统目标 1.设计目的 通过本课程设计,加深对软件设计课程的理解,熟练掌握和巩固所学的各种设计模式,培养自我动手、查阅技术文献、资料、手册以及编写技术文献的能力。通过运用设计模式来解决实际系统中遇到的问题,从而具备利用计算机编程分析解决综合性实际问题的初步能力。 2.需求描述 本系统的主要目的在与应用设计模式解决公司经费申请问题,可以了解申请经费的具体流程为申请人先填写申请单,然后交给领导审批,如果申请批准下来,领导会通知申请人审批通过,然后申请人去财务领取费用,财务部给于其拨款,如果没有批准下来,领导会通知申请人审批未通过。不同级别的领导,对于审批的额度是不一样的,比如,项目经理只能审批500元以内的申请;部门经理能审批1000元以内的申请;而总经理可以审核3000元以内的申请,否则不通过。系统中总共用到三种设计模式,分别是模板方法模式,职责链模式,观察者模式。 模板方法模式定义了一个操作中算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。申请经费的具体流程是固定的,写申请单,审核,得到通知这三个过程,只是审核过程不同。职责链模式鉴于不同级别的领导,对于审批的额度是不一样,使其各自的职责权限更加清晰明了。观察者模式是一种一对多依赖关系,一个对象状态发生改变时,其相应依赖对象得到通知并自动更新。 二、系统模块选择 1. 需求分析 根据问题的描述,可以确定系统的大致业务逻辑。如下:需要申请活动费用,按照固定工作流程进行申请,给出申请金额,由领导根据各自的职责权限进行审核,并将结果告知申请人,财务部根据结果给予拨款。将结果返回到客户端,呈现给用户。

详细设计说明书模板

详细设计说明书

目录 1.引言 (1) 1.1编写目的 (1) 1.2项目背景 (1) 1.3定义 (1) 1.4参考资料 (1) 2.总体设计 (1) 2.1需求概述 (1) 2.2软件结构 (1) 3.程序描述 (2) 3.1功能 (2) 3.2性能 (2) 3.3输入项目 (2) 3.4输出项目 (2) 3.5算法 (2) 3.6程序逻辑 (2) 3.7接口 (2) 3.8存储分配 (2) 3.9限制条件 (2) 3.10测试要点 (2)

1.引言 1.1编写目的 【阐明编写详细设计说明书的目的,指明读者对象。】 1.2项目背景 【应包括项目的来源和主管部门等。】 1.3定义 【列出文档中所用到的专门术语的定义和缩写词的原文。】 1.4参考资料 【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括: a.项目的计划任务书、合同或批文; b.项目开发计划; c.需求规格说明书; d.概要设计说明书; e.测试计划(初稿); f.用户操作手册(初稿); g.文档中所引用的其他资料、软件开发标准或规范。】 2.总体设计 2.1需求概述 2.2软件结构 【如给出软件系统的结构图。】

3.程序描述 【逐个模块给出以下的说明:】 3.1功能 3.2性能 3.3输入项目 3.4输出项目 3.5算法 【模块所选用的算法。】 3.6程序逻辑 【详细描述模块实现的算法,可采用: a.标准流程图; b.PDL语言; c.N-S图; d.PAD; e.判定表等描述算法的图表。】 3.7接口 3.8存储分配 3.9限制条件 3.10测试要点 【给出测试模块的主要测试要求。】

机械设计课程大作业(螺旋千斤顶说明书)

机械设计课程作业设计说明书 题目:螺旋传动设计 班级: 学号: 姓名:

目录 1、设计题目 (2) 2、螺纹、螺杆、螺母设计 (2) 3、耐磨性计算 (2) 4、自锁性校核 (3) 5、螺杆强度校核 (3) 6、螺母螺纹牙强度校核 (3) 7、螺杆的稳定性校核 (4) 8、螺母外径及凸缘设计 (5) 9、手柄设计 (5) 10、底座设计 (6) 11、其余各部分尺寸及参数(符号见参考书) (6) 12、螺旋千斤顶的效率 (6) 13、参考资料 (7)

1、设计题目 螺旋千斤顶 已知条件:起重量Q=37.5KN ,最大起重高 度H=200mm ,手柄操作力P=200N 。 2、螺纹、螺杆、螺母设计 本千斤顶设计采用单头左旋梯形螺纹传动, 单头螺纹相比多头螺纹具有较好的自锁性能, 且便于加工,左旋符合操作习惯。由于螺杆承 受载荷较大,而且是小截面,故选用45号钢, 调质处理。查参考文献得σs=355MPa, σb =600MPa ,S=4, [P ]=20MPa 。剖分式螺母不适用于此,所以 选用整体式螺母。 由于千斤顶属于低速重载的情况,且螺母 与螺杆之间存在滑动磨损,故螺母采用强度高、耐磨、摩擦系数小的铸铝青铜ZCuAl10Fe3。查参考文献得[τ]=35MPa ,b δ[]=50MPa 。 托杯和底座均采用HT250材料。 3、耐磨性计算 查参考文献得[p]=18~25MPa ,取[p]=20MPa 。按耐磨性条件选择螺纹中径,选用梯形螺纹。由参考文献查得5.2~2.1=ψ,取 ψ=2.0。 由耐磨性条件公式: 2d ≥ 式中2d ——螺杆中径,mm; Q ——螺旋的轴向力,37.5KN ; ψ——引入系数,ψ=2.0 ; [p]——材料的许用压力,20MPa; 代入数值后有224.5d mm ≥。查参考文献,优先选用第一系列,取公称直径d=28mm ,螺距P =8mm ,中径d2=25.5mm ,小径d1=22.5mm ,内螺纹大径D4=28.5mm 。

C语言课程设计大作业

郑州大学 课程报告 课程名称:C语言程序设计 专业班级:(15)班 学生姓名:谢* 学号: *** 任课教师:赵** 学期: 2012-2013-2 课程报告任务书

成绩评定教师:一. 需求分析

1,具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。 2,数据包括:人名、工作单位、电话号码和E-MAIL地址。 3,可对记录中的姓名和电话号码进行修改。 4,可增加和删除记录。 5,可显示所有的保存记录。 6,可按人名或电话号码进行查询。 分析 建议采用结构体数组和文件系统实现。结构体成员包括人名、工作单位、电话号码和E-MAIL地址。 根据题目的要求程序应该采用结构体数组和文件系统实现。应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。 二、概要设计 (1).程序的模块组成及各个函数的功能: 程序的模块组成: 主函数:main(); 输出数据函数:printf(); 读取数据函数:scanf(); 显示记录函数:Display(); 删除记录函数:shanchu(); 查找记录函数:chaxun(); 自定义清屏函数:system(“cls”); 自定义输入函数:input(); 字符输入函数:getchar(); 修改数据函数:xiugai(); 保存数据函数:baocun(); 排序数据函数:paixu(); 各函数的主要功能: 输出数据函数:随时输出数据; 读取数据函数:读取输入的数据信息;

显示菜单函数:显示可供选择的主菜单; 显示记录函数:显示通讯录所有输入的信息; 删除记录函数:显示要删除的通讯录所有输入的信息; 查找记录函数:显示要查询的通讯录所有输入的信息; 自定义清屏函数:清除前面运行留下的信息; 自定义输入函数:输入通讯录的成员;; 字符输入函数:从终端输入一个字符,遇回车键返回; 修改数据函数:修改通讯录的成员信息; 保存数据函数:保存通讯录的成员信息; 排序数据函数:排序通讯录的成员信息; (2)程序中的抽象数据类型的定义: 用户的状态结构 用户 { 编号: 姓名: 电话; 年龄; 邮箱: 地址; (3)总体流程图 根据上面的分析,可以将程序系统的设计分为如下几个模块:插入、显示、删除、查询、修改、保存和退出。 } 三. 详细设计

设计模式大作业报告

《设计模式》课程大作业报告 姓名:陈明 专业:软件工程 班级:1202 日期:2015年5月29日

西安欧亚学院2014—2015学年第二学期考试试卷 专业:软件工程 课程:设计模式 年级:12级 完成一个综合项目程序,其中使用所学设计模式两个或者两个以上。要求在文档中首先给出项目程序完成的功能或者解决的问题,然后详细说明模式使用的具体情况,即角色和相应程序代码。文档赋分标准如下: 1、程序功能阐述明确,分析清楚。(15分) 2、使用两种设计模式,使用得当,并给出相应的角色及程序代码,程序代码有恰当的注释。(60分) 3、文档格式正确,排版清晰。(15分) 4、如果使用超过两种设计模式,并且使用正确。(10分) 说明:以上总分为个人的期末成绩,本课程个人总成绩=平时成绩*40%+期末成绩*60%。 号_____________ 班级___________ 姓名________ 考场号____ 座位号____ - - - - - - - - - - - - - - - - - - - - - - - 密 ○- - - - - - - - - - - - - - - - - - - - - - - - 封 ○ - - - - - - - - - - - - - - - - - -- - - - - - 线 ○ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

软件详细设计说明与模板

软件详细设计说明与模板 引言 引言是对这份软件系统详细设计报告的概览,是为了帮助阅读者了解这份文档如何编写的,并且应该如何阅读、理解和解释这份文档。 编写目的 说明这份软件系统详细设计报告是基于哪份软件产品需求分析报告、哪份软件产品概要设计报告和哪份软件产品数据库设计说明书(如果该软件产品需要数据库支持)编写的,开发这个软件产品意义、作用、以及最终要达到的意图。通过这份软件系统详细设计报告详尽说明了该软件产品的编码结构,从而对该软件产品的物理组成进行准确的描述。 如果这份软件系统详细设计报告只与整个系统的某一部分有关系,那么只定义软件系统详细设计报告中说明的那个部分或子系统。 项目风险 具体说明本软件开发项目的全部风险承担者,以及各自在本阶段所需要承担的主要风险,首要风险承担者包括: ●任务提出者; ●软件开发者; ●产品使用者。 文档约定 描述编写文档时所采用的标准(如果有标准的话),或者各种编写约定。编写约定应该包括: ●部件编号方式; ●界面编号方式; ●命名规范: ●等等。

预期读者和阅读建议 列举本软件系统详细设计报告所针对的各种不同的预期读者,例如,可能的读者包括: ●开发人员; ●项目经理; ●测试人员; ●文档编写人员; ●等等。 描述文档中,其余部分的内容及其组织结构,并且针对每一类读者提出最适合的文档阅读建议。 参考资料 列举编写软件系统详细设计报告时所用到的参考文献及资料,可能包括: ●本项目的合同书; ●上级机关有关本项目的批文; ●本项目已经批准的计划任务书; ●用户界面风格指导; ●开发本项目时所要用到的标难; ●系统规格需求说明; ●使用实例文档; ●属于本项目的其它己发表文件; ●本软件系统详细设计报告中所引用的文件、资料; ●相关软件系统详细设计报告; ●等等。 为了方便读者查阅,所有参考资料应该按一定顺序排列。如果可能,每份资料都应该给出: ●标题名称; ●作者或者合同签约者; ●文件编号或者版本号; ●发表日期或者签约日期; ●出版单位或者资料来源。

相关文档
最新文档