为什么总是“需求”在前面

  

很久以来都在思考着这个问题,软件设计不是设计在前,而是“需求”在前;信息系统开发不是开发在先而是需求在前;UML中也专门有一重要的图use
case,来进行需求分析;DP中的开放-封闭原则也正是根据各自的需求各司其职。

很小很小的就听过,改造我们的学习,教育改革从“要我学”——到“我要学”
的转变。需求:我想就是我们“需要什么?”,弄明白了自己要什么,从思想的源头弄明白自己需要什么在脚踏实地的去实践,这是不是正如很多人说的:“选择重于努力!”,我想应该就是这个道理吧。知道了自己需要什么,有欲望,才能不断的有源动力,有学习的干劲,才能更好的坚持。

     

需求实例:

1、软件开发中,我们首先要考虑的就是需求分析,开发人员和客户交流,了解客气的需求:

 
     

2、UML图:建模语言中的用例图,用例图(use
case) 主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。

  【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。比如机房收费系统,先分析有哪些用户,各用户有有哪些权限和使用权。

3、设计模式(DP)——一切从需求分析开始

DP中亦是,一切从需求分析开始,从客户需求分析,实际上就是分析需求是否可以实现、需要修改哪些地方。理想情况下,开发的产品应该是对已有部分不做任何修改,而只是对新的需求做一些扩展,这就要求我们在设计时遵循开闭原则。事实上,需求分析贯穿于整个编码活动中,因为当代码之间相互协作时,一部分代码就是另一部分的客户。

开放-封闭原则分为两部分,即对修改关闭,对扩展开放。在OO语言下,

1)、对修改关闭,一般可以应用继承,使各需求共享相同实现。在设计继承结构时,应该满足两个OO设计原则:

A. 里氏替换原则——继承必须确保超类所拥有的性质在子类中仍然成立。这个原则保证我们类之间继承关系的健康性

B. 依赖倒置原则——要依赖于抽象,不要依赖于具体。这个原则保证我们的设计有更大是适用性,可以最大可能地满足对修改关闭。

2)、对扩展开放,一般可以应用多态或者组合。无论你是覆写已有方法还是委托给已有类,为了保证修改尽可能小,在设计时应该满足两个OO设计原则:

A. 单一职责原则——一个类,只有一个引起它变化的原因

B. 接口分离原则——接口的设计应该遵循最小接口原则

 我们的人生:记得心理学家马斯洛说过,我们人类的需求总是按照一定的层次来发展的:生存-安全-交流-尊重-自我实现。就像吃饭和睡觉就基于生存需要,对自由的渴望和对灾害的预防是出于对安全的需求。

其中自我实现的需求是最高层次的需要,是指实现个人理想、抱负,发挥个人的能力到最大程度,达到自我实现境界的人,接受自己也接受他人,解决问题能力增强,自觉性提高,善于独立处事,要求不受打扰地独处,完成与自己的能力相称的一切事情的需要。也就是说,人必须干称职的工作,这样才会使我们感到最大的快乐。马斯洛还说过,为满足自我实现需要所采取的途径是因人而异的。自我实现的需要是在努力实现自己的潜力,使自己越来越成为自己所期望的人。

     See a need
,fill a need. 
(寻找需求,激发创新)——这正是“苹果公司”(Apple
Inc. )立于世界创新领头队伍之中的原因呀。近日身边太多的同学着凉感冒了,这时有什么需求呢?看医生,认识到锻炼身体的重要性,有了这些需求我们才会更有方向的去实施;要做一个很有说服力的人,做三好学生,做个有志气的人,英语能同声传译等等,或许都是我们需要的,我们需求的,有了需求,才能真正调动自己,激励自己,不断的给自己补充燃料。

再想起米老师的高明,“授之于鱼,不如授之以渔;授之于渔,不如授之以欲。” 让学生有了学习的欲望,明白自己需要什么,那真的是一种教育的境界,待我们有了一定的积累之后,米老师还希望我们能达到更高的境界:学而愉之。感兴趣的学习,把学习当作一件快乐的事情。这一切都需要我们从自我规划,分析好自我、人生需求开始。

时间: 2024-10-10 01:58:17

为什么总是“需求”在前面的相关文章

需求管理之被遗忘的需求

先说一个小笑话.有一个生产队队长,他对专家说:"如今我们生产队的地越来越多,牛越来越忙只是来了.我想要这么一种牛,他吃的草和普通牛一样多,可是干的活是普通牛的十倍. "专家说:"这种牛是能够造出来的,如今有基因project."队长说:"好吧,你给这造几头这种牛."于是专家找到了生物实验室.让生物实验室的人搞一个基因project,把牛造出来. 于是project浩大,投资无法保证,合作多半是不愉快的收场. 现实世界里非常多人分析需求的过程就相似

中国VR人才需求占全球18%排名第二,UE4技术美术人才万金难求

虚拟现实持续火爆,行业市场规模也随之水涨船高,未来医疗.娱乐.房地产.教育.旅游等领域还将继续拓展VR技术的应用.资本的入局和技术的发展已经相对稳定,VR行业必将迎来更为迅猛的发展阶段. VR在中国的快速发展有目共睹,短短两年时间已经形成了较为完善的产业链,令人惊叹.而与产业链的快速发展形成鲜明对比的,却是人才的远远落后.近期,全球最大的职场社交平台领英针对全球VR人才进行了一次全面扫描.数据显示,美国VR人才占全球40%,需求占比48%,而中国人才仅为2%,需求却占全球18%,人才短缺现象十分

项目需求:自定义倒计时的TextView

现在这么一个需求: 我有一个ListView,每一个列表项 布局如上图,顶部一个大图片展示,中部一个音频播放,底部一个描述文字. 在这个界面,一次只能点击一个列表项的播放按钮,那么我直接在ListView所属的activity创建了唯一的一个MediaPlayer,然而,这不是问题,所有的音频方面的播放冲突都解决了 问题就在中部的音频播放,我需要点击左边的播放按钮,然后右边有一个剩余时间要跟随着变化,当然点击暂停的时候,剩余时间也要暂停 首先,这里运用了购物车功能的原理实现按钮的操作.Andro

案例分析:从一则笑话分析需求的陷阱

某日,老师在课堂上想考考学生们的智商,就问一个男孩:“树上有十只鸟,开枪打死一只,还剩几只?” 男孩反问:“是无声枪么?” “不是.” “枪声有多大?” “80~100分贝.” “那就是说会震的耳朵疼?” “是.” “在这个城市里打鸟犯不犯法?” ‘不犯.” “您确定那只鸟真的被打死啦?” “确定.”老师已经不耐烦了,”拜托,你告诉我还剩几只就行了,OK?” “OK.鸟里有没有聋子?” “没有.” “有没有关在笼子里的?” “没有.” “边上还有没有其他的树,树上还有没有其他鸟?” “没有.”

软件项目需求开发过程实践之业务建模用例图

本次软件工程项目是重建办公业务流程管理平台,需要在继承原370个流程基础上,还需要提供快速流程开发能力,并要求体现出流程管理的规范性,以及流程的执行力.效率.效益,最终为企业管理创新提供流程再造的能力. 在项目前期及需求分析阶段,开发人员致力于"降低成本",以最小的代价完成项目,其可预见性的软件产品是经过系统平台升级的,并经过改良的第二个办公业务流程管理平台.按客户验收要求,"只能打60分,是不能给予验收". 在软件开发中,需求工作致力于解决"产品好卖&q

项目需求与包子的故事

很多时候,客户其实是不知道自己真正想要什么的,他们有的时候,只是有一个想法而已.这个就好比一个人饿了,就想吃东西,可能在这个时候,他想吃包子,如果找不到卖包子的,有卖饺子的,他或许也就买饺子了.而当他不饿的时候,就会问自己,我明明是想吃包子的,为什么吃了饺子呢.而也有可能碰巧买到了包子,但包子也有菜的,肉的等.菜的可能又分青菜的,韭菜的,白菜的等.肉的又可以分为猪肉的,牛肉的,羊肉等.所以,很多时候,客户买了东西,又后悔,定制了项目又会说,这不是我想要的.究其原因,是客户自己也没弄明白自己想要什

针对企业需求,Bluemix具有三大突出优势

1. 简单.快速:加速应用开发速度,缩短部署时间.Bluemix上来自IBM和第三方提供的大量可组合的产品,可供开发人员直接使用.BlueMix 提供的DevOps服务便于整个团队成员分享工作成果.开展协作.并通过性能监控来加快发现问题进行修改.完整的开发体验可以保证在高质量的前提下,加快产品上市速度. 2. 开放.灵活:基于开放标准开发,适应企业的个性化需求.Bluemix以开放标准为基础并且利用了Cloud Foundry,从而帮助开发人员避免被供应商绑定的问题,同时允许他们利用现有的应用开

开发,从需求出发 · 之一 从视觉开始

从需求出发并不是一句空话,在开发过程中也是如此. 从需求出发,实质上是暗合了极限编程和测试驱动开发的一些思想. 鉴于网站开发是一个比较流行的方向,我打算从一个网站开始,阐述一下自己对"需求驱动开发"的理解,并将其引申到一个更广泛的领域. 首先,我们假设一个需求: 我们需要实现一个类似google的网站,用户通过web浏览器访问,在首页输入框中查询,返回搜索的结果. 效果如下图所示: STEP 0,通过eclipse创建一个web项目:sitefromscratch,文件结构如图所示:

采用[ICONIX] 方法实践分析和设计之三 [需求复核](转)

需求复核旨在确保用例和域模型同时满足客户的功能性需求.同时确保客户知道开发小组将根据这些需求做何种设计.同时它也是系统分析阶段的一个里程碑(milestone).      这一阶段在ICONIX方法中的位置如下图:      三巨头的首次聚首:客户代表,开发小组代表,经理就已有的工具(用例,原型和域模型)帮助客户理解其需求,并确定系统的功能需求.在这一过程中,ICONIX方法认为可跟踪性(traceability)是非常关键的,它强调清楚每种需求是如何转换为一个或多个用例,以及域模型中的一个或

【感悟】关于需求的一点感想

看了张图,是关于吐槽改需求的,改需求虽是程序员所不喜,但我觉得需求对于程序员却是必不可缺的. 特别是我们刚入门自学的,需求对于我们来说就更重要了. 每学到一点东西,我觉得都要自己找需求去运用 这不仅可以锻炼写代码的能力,也可以锻炼思维 水汐音 2017.09.04