过渡设计的概念不太好确定。
下面是我的个人经验:
1)设计的人力成本过高。
例如开发一个团队内部使用的软件。该软件只需要在项目持续的6个月内进行使用。但是开发人员从界面到性能,从功能到安全性全方面的设计。最终导致该软件的开发消耗了3个月的时间。这时,不如用半个月的时间开发一个界面常简陋,甚至偶尔会崩溃的小程序。
2)设计的功能使用率很低。
例如开发一个P2P下载软件。该软件主要是提供下载的功能。但是实际开发过程中将10%的成本投入到软件的语音识别功能上。此时需要评估该功能的使用人群,使用频率,产品实际效果是否能达到预期等等。
3)实现该设计导致代码易读性,可维护性,性能下降。
我们在进行开发时就遇到该情况。实际产生作用的代码很少,但是在设计时强行追加了很多设计模式。虽然看上去“高大上”了,实际维护时,却需要花费大量的人力去维护该设计。有时甚至会出现这种设计模式导致功能复杂度上升的情况。这类问题往往是大型项目在进行设计时易出现的。总设计师希望把该设计贯穿到每个功能模块,但是却忽略了某些模块的特殊性。
什么是软件开发中的过度设计
1)设计的人力成本过高。
例如开发一个团队内部使用的软件。该软件只需要在项目持续的6个月内进行使用。但是开发人员从界面到性能,从功能到安全性全方面的设计。最终导致该软件的开发消耗了3个月的时间。这时,不如用半个月的时间开发一个界面常简陋,甚至偶尔会崩溃的小程序。
2)设计的功能使用率很低。
例如开发一个P2P下载软件。该软件主要是提供下载的功能。但是实际开发过程中将10%的成本投入到软件的语音识别功能上。此时需要评估该功能的使用人群,使用频率,产品实际效果是否能达到预期等等。
3)实现该设计导致代码易读性,可维护性,性能下降。
我们在进行开发时就遇到该情况。实际产生作用的代码很少,但是在设计时强行追加了很多设计模式。虽然看上去“高大上”了,实际维护时,却需要花费大量的人力去维护该设计。有时甚至会出现这种设计模式导致功能复杂度上升的情况。这类问题往往是大型项目在进行设计时易出现的。总设计师希望把该设计贯穿到每个功能模块,但是却忽略了某些模块的特殊性。
什么是软件开发中的过度设计
只要team里面的人没有牛逼到来什么需求都可以吧代码重构到恰好满足那个需求的最佳状态,那么我们在开发的时候总是要考虑一下未来的需求到底会往哪个方向走。
你蒙中了,就叫正交分解。
你没蒙中,就叫过度设计。
什么是软件开发中的过度设计
就是说,为了设计而设计。最终使得本来比较简单的问题,而变得非常复杂
请问这个图是用什么软件做的?箭头和过度怎么画到一起的?
PS和AI都可以 ,做好后加一个蒙版,蒙版设置渐变黑白,圆形,透明,就可以了。
形状怎么画出来的呢?难道直接画笔画的?
钢笔勾勒出形状。
照片局部曝光过度,用ps怎么修改……
用ps软件修改局部照片曝光过度的方法是:
1、打开ps软件,“文件--打开”,打开要处理的图片,复制图层;
2、打开“选择 --色彩平衡”,设置好容差和范围,选出过曝的选区;
3、新建“图层蒙版”,改“图层混合模式”改为“正片叠底”;
4、打开“滤镜--模糊--高斯模糊”;
5、适当调整“不透明度”,如果效果不理想,可以再次用同样的方法修整过曝区域,知道满意为止;
6、“文件--存储为...”需要格式文件,完成。
扩展资料:
功能
专业测评
Photoshop的专长在于图像处理,而不是图形创作。图像处理是对已有的位图图像进行编辑加工处理以及运用一些特殊效果,其重点在于对图像的处理加工;图形创作软件是按照自己的构思创意,使用矢量图形等来设计图形。
平面设计
平面设计是Photoshop应用最为广泛的领域,无论是图书封面,还招帖、海报,这些平面印刷品通常都需要Photoshop软件对图像进行处理。
广告摄影
广告摄影作为一种对视觉要求非常严格的工作,其最终成品往往要经过Photoshop的修改才能得到满意的效果。
影像创意
影像创意是Photoshop的特长,通过Photoshop的处理 可以将不同的对象组合在一起,使图像发生变化。
网页制作
网络的普及是促使更多人需要掌握Photoshop,因为在制作网页时Photoshop是必不可少的网页图像处理软件。
后期修饰
在制作建筑效果图包括许三维场景时,人物与配景包括场景的颜色常常需要在Photoshop中增加并调整。
视觉创意
视觉创意与设计是设计艺术的一个分支,此类设计通常没有非常明显的商业目的,但由于他为广大设计爱好者提供了广阔的设计空间,因此越来越多的设计爱好者开始学习Photoshop,并进行具有个人特色与风格的视觉创意。
界面设计
界面设计是一个新兴的领域,受到越来越多的软件企业及开发者的重视。在当前还没有用于做界面设计的专业软件,因此绝大多数设计者使用的都是该软件。
参考资料来源:百度百科:Adobe Photoshop
在移动开发中哪些设计模式是为了降低资源使用效率
设计模式是面向对象编程的热门话题之一,越来越多的开发人员认识到设计模式的重要性。采用各种语言实现设计模式的文章也越来越多,但是很多开发人员发现很难将设计模式与实际开发中需要解决的具体问题相联系。因为使用设计模式的难点往往不在于模式的实现,而在于很难确定哪种模式可以在现实的应用场景中采用,从而导致了在现实的项目中,面对客户的压力,我们总是采用最直截了当的方法解决问题,来不及多考虑这些方法的优劣,即使明知将带来更大的麻烦也必须如此。有些时候因为选择了不恰当的设计模式,使原本简单的问题变得复杂化。
总是有些优秀的设计人员可以在同样短的时间内做出正确对待的判断,他们同样是依靠本能和直觉,只是这种本能是在日常编程开发中一点一滴积累起来的。如同一个剑客在危机时刻的一击,并不是一时的灵光乍现,而是平时刻苦修炼的结果。
俗话说,紧靠背棋谱成不了围棋高手。只在概念上理解设计模式而不实现,同样成不了架构设计师。在软件设计时,要有意识地问自己使用还是不使用设计模式,不要匆忙下结论。重视软件质量的改进,如果有可能,则在项目后期重构代码。同时注意学习同行的经验,很多开放源码项目是值得学习的。
(1)正确理解设计模式
模式所关注的不仅是重复的解决方案,更主要的是关注重复出现的应用场景和与场景相关的各种作用力。很多使用设计模式失败的原因,并不是实现设计模式的方法有问题,而是采用的设计模式不适合应用场景。这往往导致设计过度,使软件应得复杂,进而丧失对使用设计模式的信心。
(2)编程语言与设计模式的实现
尽管设计模式本身并不要求一定用某种语言来实现,但脱离了具体的实现,就无法真正理解设计模式。GOF的《设计模式》是经典之作,但毕竟距现在已经十几年了。这个期间开发平台已经进化了多代,很多新技术已经应用到编程中。有些技术可以简化设计模式的实现,有些技术已经采用了设计模式。因此,学习设计模式必须针对所使用的编程语言和开发平台。一定要注意,不是将《设计模式》中的例子转换为C#或者其他语言就等于知道如何实现设计模式了,而是要关注设计模式的精髓,并结合具体的语言特点完成其实现。就.NET而言,很多技术可以简化设计模式的实现,例如采用反射技术实现工厂和采用委托技术实现模板方法等。
(3)需求驱动
需求驱动不仅仅是功能性需求,还包括性能需求及运行时的需求,如软件的可维护性和可复用性等方面。
设计模式是针对软件设计的,而软件设计是针对需求的,一定不要为了使用模式而使用模式。在不合适的场合生搬硬套地使用模式反而会使设计应得复杂,使软件难以调试和维护。
(4)分析成功的模式应用项目
置之死地而后生可以说是一种解决方案,而不是模式,或者说仅仅给出了模式的实现,而没有交代使用的场合。项羽采用这个方案把秦军打败了,但马谡却丢了街亭。
(5)充分了解所使用的开发平台。
总的来说,设计模式是针对面向对象的软件设计的,因此在理论上适合任何面向对象的语言。但随着技术的发展和编程环境的改善,设计模式的实现方式会有很大的差别。在某些平台下,某些设计模式是自然实现的,某些模式已经被平台所实现,某些模式存在的上下文已经消失。
这里的平台不仅指编程语言,还包括平台引入的技术。.NET平台引进了反射、委托,以及属性等新技术,这些技术的使用使设计模式的实现方式有了很大的改变。例如,工厂方法通过采用反射技术,可以将其中的子类去掉。这实际上已经是一个.NET下的新模式,或者说是.NET的方言。
(6)在编程中领悟模式
软件开发是一项实践工作,最直接的方法就是编程。没有定式很熟却从来不下棋的围棋高手,也没有不会编程就成为架构设计师的先例。对设计模式的掌握是水到渠成的事情,你可能是顿悟,也可能是渐悟,但前提是必须有相当的实践积累。当然,并不是不需要看书学习,但实践仍然是必须首先要重视的。
认为编程如同写文章,提高需要有一个过程。在多多编程的同时,需要有一定的技巧。如果希望水平有较大提高,则需要对自己编写的代码不断重构。力求最优是个很好的习惯,当然前提是项目进度允许。即使项目时间紧张,也需要进行适当的总结。隔一段时间检查一下以前的工作,会发现自己是否已经有了提高。
(7)避免设计过度
设计模式解决的是设计不足的问题,但同时也要避免设计过度。一定要牢记简洁原则(Keep It Simple, Stupid, KISS),要知道,设计模式是为了使设计简单,而不是更复杂。如果引入设计模式使设计变得复杂,只能说我们把简单的问题复杂化了,问题本身不需要设计模式。
这里需要把握的是需求变化的程度,一定要区分需求的稳定篇和可变篇。一个软件必然有稳定的篇,这个篇就是核心业务逻辑。如果核心业务逻辑发生变化,软件就没有存在的必要,这个篇的逻辑是我们需要固化的。对于可变的篇,需要判断可能发生变化的程度来确定设计策略和设计风险。要知道,设计过度与设计不足同样对项目有害。
(8)合理看待设计模式的实现实例
现在,从各种途径可以发现各种设计模式的实现实例。需要说明的是,其中很多实例所说明的仅仅是设计模式的解决方案的实现,并没有分析模式使用的上下文。实际上,这也是最困难的篇——从而导致实例中的设计模式使用从实践的角度看,往往是过度设计,也就是有小题大做的嫌疑。
对模式感兴趣的朋友可以从下面的几个开源项目中学习模式的成功应用。以后可能会把模式在下面几个开源代码中的应用的文章与大家共享。
升级之前为什么需要过度软件呢
具体是什么型号的设备呢?
如果设备升级固件有这种要求,可以想到的有两种情况
一种是高版本升级包没有包含所有历史升级,所以必须依次刷入多个升级包才能保证正常升级
另一种是运行固件本身没有包含升级固件所需的某种功能,需要先刷入过度软件让设备具有升级能力,然后才能进行正式升级。出现这种情况的原因,一种可能是设备的设计者希望设备的安全性更高,更大程度减少固件本身被修改的可能性,另一种可能就是设备设计上存在某种缺陷导致不得已而为之了
设备是路由器,
嗯,不管什么设备,基本上都是一样的道理,路由器其实就是一台完成特定功能的电脑
转载请注明出处51数据库 » 软件过度设计 什么是软件开发中的过度设计
文化人40210584






