需求与设计的区别究竟是什么
? 教科书上的经典答案是:需求关注系统“做什么”,设计关注“如何做”,其实这是一个很模糊的说法。无论是在结构化方法中还是在面向对象的方法中,需求分析的结果既包括了“做什么”也部分包括了“如何做”,只不过描述“如何做”时抽象的层次比较高或者描述了某个局部需求的“如何做”。客户在提出系统需求时,可能对“如何做”提出一些约束条件,比如客户要求必须采用三层结构,必须采用某个中间件等等。在需求描述文档中,一般称为“设计约束”。开发人员进行需求分析后的结果包括了系统构成元素(无论是称为模块还是称为包)的分解,包括了数据流程图或类图等,这实际上也是在定义系统“如何做”,只不过这里描述的“如何做”应是从客户的角度比较容易理解的。在需求中包括了:�0�1 系统的目标、范围以及与外部的接口;�0�1 系统的功能、操作流程、处理规则;�0�1 系统处理的数据,数据有属性,数据之间有关系,这些数据可以解释为实体或者类;�0�1 对于系统可以划分为子系统,子系统中再分为模块,子系统、模块只是对系统功能进行分类的一种方法;�0�1 系统的设计约束;�0�1 系统的运行环境等。另外在需求中还包括了:�0�1 子系统或模块之间的接口关系;这一部分往往是和设计有交叉的,系统分解为子系统、模块,以及他们之间的接口关系在概要设计中往往也是涉及到的。在需求中对系统的分解是从功能的角度,是从逻辑分类的角度进行系统的拆分,而在设计时对系统的拆分是从实现的角度,比如在设计时将系统分为界面层、中间层、数据层。在需求中尽量不描述“如何做”实际上是避免对设计进行太多的约束与假设,这样会限制设计方案的选择。设计可以认为是一种决策行为,是一种选择行为。需求确定以后,解决的方案可能有多种,如果在需求里描述了“如何做”,实际上就限制了设计只能选择某一种方案,而这种解决方案却很可能不是最优的。所谓的解决方案可针对整个系统,也可能针对某个具体的功能。原则上“做什么”是由客户提出来,由系统分析人员进行文档化,“如何做”是由开发人员来确定的并进行文档化。“做什么”与“如何做”在现实中是实际上是迭代进行,交织在一起的。在项目立项之前进行的可行性分析,包括了系统目标与范围的确定,包括了技术路线的论证,包括了成本、风险、进度的估算等等,在上述的行为中,包括了简单的需求与设计。在项目立项之后,采集了客户需求,进行需求分析,然后考虑系统的解决方案,此时还可能需要修改或增加需求。二者交叉或并行执行。在需求和设计之间划一条明确的界线其实很难,理解了二者的根本区别,企业可以自己硬性地规定一条界线:即哪些内容在需求中描述,哪些内容在设计中描述。
艺术设计与人类需求的关系:
1、生理需求。
由于艺术品不同的色彩、音调、布局、动作设计可以使人产生不同的生理反应,优秀的作品往往能够有效地运用某些自然规律和人的生理规律对艺术作品的基本要素进行合理设计,使之产生最佳的生理效果,使人在欣赏过程中得到充分的放松与休息,使人在生活和工作过程中所产生的生理紧张和肉体疲劳逐渐得以消除。
2、心理需求。
人在生活和工作过程中,通常会产生某种心理压抑,如果心理压抑得不到正常的发泄,就可能产生某种心理障碍和心理疾病,甚至酿成严重的心理变态或人格分裂,如果能量积滞过大,会引发不合社会规范的、反社会的发泄方式,造成巨大的社会破坏。
艺术欣赏能够给人提供合乎社会准则和要求的心理压抑的发泄机会,以实现人的心理平衡。艺术欣赏还有利于提高人的心理承受能力,因为艺术作品如果表现和反映了社会价值关系的巨大变动,通过认同与共鸣,可以引发欣赏者强烈的情感波动,使欣赏者经历巨大的心灵痛苦和折磨,从而对欣赏者进行了一次次情感锻炼。
3、精神需求。
高雅艺术作品往往表达了人的高尚信念与可贵品质,而这恰恰直接或间接地体现着社会的整体利益和长远需要,隐含着对人间真善美的高度赞扬和对假恶丑的深刻揭露和无情批判。
高雅艺术作品通常可以加强人的社会责任感和道德良心,消除人的冷漠与封闭,激发人的生命活力和进取心,开阔人的心胸与眼界,树立人的崇高理想,净化人的心灵,升华人的人格,提高人的意志力与自信心。
人与人的利益关系本来就存在种种隔阂,有着太多难以启齿的隐情,无法进行自由的宣泄,艺术使人成为某种交流活动或集体仪式的参与者,从而起到沟通人的思想,深化人的友谊的作用。此外,艺术欣赏还可以看作是一种智力训练,用以提高人的智力水平。
扩展资料:
艺术层面:
1、第一是从精神层面,把艺术看作是文化的一个领域或文化价值的一种形态,把它与宗教、哲学、伦理等并列。
2、第二是从活动过程的层面来认识艺术,认为艺术就是艺术家的自我表现、创造活动,或对现实的模仿活动。
3、第三是从活动结果层面,认为艺术就是艺术品,强调艺术的客观存在。艺术是人们把握现实世界的一种方式,艺术活动是人们以直觉的、整体的方式把握客观对象,并在此基础上以象征性符号形式创造某种艺术形象的精神性实践活动。
纯属个人理解,希望对你有用,望采纳!
设计人员负责系统设计,包括内外接口、数据库、公用函数和方法的确定,审核需求是否合理,并与需求进行讨论改造。
简单的说,需求是用户和开发沟通的中间环节,可以不用太多的考虑是否能实现和实现。
设计是需求和实现的中间环节,要把需求问题翻译为实现人员可以听懂的语言。
在该部分中根据设计题目的要求,充分地分析和理解问题,叙述系统的功能要求,明确问题要求做什么?以及限制条件是什么?
1.1问题描述
1.2基本要求
(1) 输入的形式和输入值的范围;
(2) 输出的形式;
(3) 程序所能达到的功能;
二 概要设计
说明本程序中用到的所有抽象数据类型的定义。主程序的流程以及各程序模块之间的层次(调用)关系。
1、 数据结构
2、 程序模块
3、各模块之间的调用关系以及算法设计
三 详细设计
实现概要设计中定义的所有数据类型,对每个操作写出伪码算法对主程序和其他模块也都需要写出伪码算法(伪码算法达到的详细程度建议为:按照伪码算法可以在计算机键盘直接输入高级程序设计语言程序)写出出函数和过程的调用关系.
四 测试与分析
测试数据,输出测试的结果,这里的测试数据应该完整和严格。并对结果进行分析。
五 总结
总结可以包括 : 课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容。
可用性是有环境基础的,高跟鞋在舞会的时候可用在打网球的时候不可用,对女人可用对男人不可用;只有深入了解用户和使用环境才能把确定是否有用,并把有用变成易用。
2、了解用户和环境的手段有很多,最常见的是”数据分析”。
在IT行业中早期大家叫它”数据库营销”,沃尔玛有个“啤酒和尿布的故事”是很成功的经典案例,从中体现了专业数据挖掘的巨大商业价值;
3、现在很多的企业都比较重视数据的分析。
据我所知门户网站的每个页面都埋有数据统计的代码;每个页面每个位置的点击率和操作情况都是详细的记录。
比如,一个注册界面:”多少用户进来,注册成功率(转化率)多少”、”用户出错比例多少”、”用户填写详实程度多少”、”多少用户直接离开,多少用户遭遇挫折后离开,在那里受到什么样的挫折离开”等等等等
4、这些海量数据的挖掘和分析,有着很大的价值和指导意义。
但,这种分析和挖掘也有着自身不够完善和不能真正准确的缺陷,因为很多意外的因素很容易会造成数据的变形,而往往数据分析人员不一定都能知晓这些意外因素。
比如,一个本不该放在某个位置的按钮、本不应该那么大的图片,可能会因为位置明显、面积大而造成点击量很高,这时 通过数据的结果我们并不能得到正确的结论。
5、真正通过和用户接触沟通然后拿到数据,是海量数据挖掘的一个有效补充。这种做法的手段可以比较多样化:
往往我们也会把一些设计的原型拿去让用户试用,或者给用户类似的同类产品让他们去用,设计师在一边观察用户怎么做,从而得到设计启发和思路。这是一种设计师自己去”看”的方式;
比如,要设计一个开红酒的工具,你可以观察用户现在是如何开红酒的,然后也可以把你设计的工具雏形交给用户去用,看他如何用你设计的工具。
很多传统的研究方式中(市场研究中较多),会请很多用户填写设计好的问卷或者做电话调研、街头访谈、面对面用户访谈和测试等,然后作出数据统计。这是一种让用户”说”的方式;
比如,要设计一个公用电话亭,你可以在大街上采访市民,搜集他们对现有电话亭的抱怨和看法以及他们一般怎么在电话亭打电话..
当然我们还经常去想办法发现用户在怎么想,了解用户脑袋里面的那个MAP。
比如,我们设计一个圆的需要拧开的门把手,我们可以把设计拿给用户看,问他”看到这个圆的把手,你认为应该如何用它开门”;
6、有些时候我们也经常根据用户群的属性特征去做经验式的分析,
比如统计(或总结性模拟)用户的基本属性,分析用户的学习能力和使用习惯等,”学历”"对计算机的数量程度”"年龄”"专业”等等也都是对设计很有用的参考依据。
7、上面所说的这些手段是最常见的一些低成本的做法,当然还有一些靠仪器的做法。
但,目前在国内,我个人认为这些昂贵的仪器对大多数企业都起不到太多的真正作用,或者它们只是一个噱头、业绩…
8、前一段和一位在Yahoo美国的朋友谈到用户研究时,她提到了一些做法也蛮有意思。
比如,在上期帖子回复里有人谈到“走近客服”,他们在巴拿马的一些后期用户研究中会有专门的人去和客服一起工作观察和记录他们的工作,也会亲自尝试接听热线电话;
(往往客服人员提交给数据部门的数据是把他们认为不重要的数据筛选掉以后的,数据部门提交给设计师的数据可能又经过了一次筛选;而他们筛选原则和判断能力可能和设计师有着很大的差别)
再比如,记录某个ID在网站上的全程活动,看这个ID怎么注册的,去了哪里 点了那里 过程中都干了什么等等,记录用户的真实交互轨迹,从而调整”用户操作流程”的设计;
(这种数据比海量分析真实,比逐个用户访谈高效且成本低。 但’隐私’问题需要考虑在内..)
还有,让用户通过他们习惯的方式主动描绘出他们对产品所期盼的感觉也值得尝试;比如我以前提到过一次麦当劳主动了解用户的例子。
9、总的说来:光靠对现状海量数据统计不一定能真正呈现真实现状,光靠点对点的访谈也不一定能全面的反应整体概况。
10、设计师想要深入了解用户和需求,首要的前提是:
通过各种方法走近用户,把用户当作老师;
想方设法拿到一线数据,把数据当作可以淘宝的垃圾堆”。
11、数据不是金矿,用户也不全都是正确的。
很多数据和用户反馈是无用的,甚至是会造成设计误导的。
最终,还得需要具备理智的分析和正确的判断能力。 (所以我最崇拜的UED还是那些”数据分析师”)
ps:对于用户研究我只是学习者,请更多的专业人士尽管指证。 :)
1、过程不同
①需求分析经过调研和分析来准确理解用户和项目的功能、性能、可靠性等具体要求;
②概要设计根据用户交互过程和用户需求来形成交互框架和视觉框架。
2、任务不同
①需求分析整理用户对待开发软件提出的需要,确认后形成描述完整、清晰与规范的文档;
②概要设计在用户研究和设计之间架起桥梁,将对用户目标与需求转换成具体界面设计解决方案。
3、方法不同
①需求分析提出了许多软件开发与说明的方法,如结构化方法、原型化法、面向对象方法等;
②概要设计有多种方法,从模块化方法、功能分解方法,到面向数据流和面向数据结构的设计方法,再到面向对象的设计方法等。
参考资料来源:百度百科-需求分析
参考资料来源:百度百科-概要设计