- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
研发项目设计
研发项目中设计是不可缺少的一环背景描述软件开发过程是有顺序的,设计要先于编程,设计环节是重中之重,这一点不管是传统软件,还是创新类的软件,都要遵循。当然了,如果是某些项目的二次开发,则另当别论,只是增加个字段、加个校验、抑或是增加个非关键性功能节点,这种开发设计不做也罢。当研发规模小到一定程度是不需要设计的、或者说是不需要过多关注设计,本文要说的是产品级、甚至是系统级的研发。有人可能会说,互联网热潮大环境下,快是重要因素,慢了就无法占领市场,要先出个成型的东西,推向市场、快速占领市场,设计不用过于关注。这本身无可厚非,但我要说的是,即使要出原型产品,设计仍不可缺少。如果不信,可以做个试验,找两个知识背景相差无几的团队,开发一个原型产品,一个团队把主要精力放在设计阶段、一个团队拿着一句话、或者一页纸需求上来直接编码,最后看哪个团队先把产品研发出来。我估计,九成以上的情况是做设计的团队研发速度快,而且质量要好。为什么呢?因为设计的本身就是在梳理流程、完善业务,设计就是编程的一部分,设计做好了,编程对于程序员来说就是translate,这不是在贬低程序员,因为设计过程是需要程序员参与,而且该角色必不可少。很多人都知道设计很重要,但理想是丰满的,现实是骨感的。客户、公司、项目负责人、销售等各个Stakeholders都想尽快看到成型的东西,这样才能安心。这种种因素导致程序员接触到项目的第一项工作就是编程,等项目开发到一个时间节点发现行不通了,有重要逻辑或者负责逻辑前期没想到,代码要推了重做。这种项目也就是我平时常说的“拉链工程项目”【拉链工程:我们穿衣服很多时候拉锁不好使,要拉好几个来回才能拉上,每次穿衣服都要经历这个过程,为什么不打蜡润滑一下一劳永逸呢?道路经常看到挖开个沟,埋水管,过几天再挖开步个线,过几天再挖开,铺个电缆,为什么前期不一起施工、或者留个接口呢?这里讨论概念不提工程猫腻的事】其实,这件事本身很好解释。设计阶段在正常情况、或者说设计本身并不节省时间,设计节省的是在异常情况出现时减少返工工作的工作量。比如,一件事共分五步,在做完第一步的时候发现有问题,就可以停止了,没必要再进行下去了,此时要换换另一种方式。这是大家都知道的浅显道理,但落实到具体工作中就会当局者迷。以项目不做设计直接开发为例,把五步全开发完,在做另外一个业务的时候发现原来五步中的第一步错了,但是后面四步已经做了,并且要返工。这还不算最严重的情况,要命的是别的业务还需要依赖前面的五步,这五步换方式了,其他业务也要返工重做。想想看,程序员的工作定位就是一写代码的,这种时候不但要承受时间压力、加班压力,还有面临着组织的不认可,此时不单是项目无法按期交付,组织还有面临人员流失的风险,往往项目无力回天,成为烂尾项目。(说句题外话,即使知道有这种情况,也不是我能改变的,我只想谈谈设计)我们来说设计,设计本身不神秘,就是不需要懂开发语言,只要用人能懂的方式把事情描述清楚就是设计。说的容易,但想要做好,难!很多软件领域内的从业者或多或少都做过设计,但鲜有人精于设计。因为,设计这一环节是想法与落地之间的纽带,也就是我们常说的Adapter,要有承接两方思维与想法的能力。设计分类我总结的设计分四种:不入流的设计,是不设计;三流的设计,是边做边设计;二流的设计,是流水式的设计;一流的设计,是流程化的设计。不入流的、三流的设计不予解释,我们经常这么做。说一下二流设计和一流设计的区别。大家看过很多需求文档,是流水式的,即第一点、第二点…第N点。好一些的画一些流程图,都是节点级的,一个节点的前置节点是某个节点,后置节点是某个节点,最多加一个流程说明。再好一点的,把模块、节点、按钮整理出来,加以流水式的说明,设计过程90%以上都止于此,但这样真的就够了么、或者说有多大作用?有人要说了,流水式的设计有问题么?该写的都写了,该列的都列了,功能、说明、限制都包含了,设计还需要什么?上面说了,设计是连接思想和落地的纽带,上面的设计方式只是连接了一头,也就是把思想解释清楚了,但另一头没连上,直接给程序员,程序员还是迷茫。这种设计要让我下定义,我认为充其量只能算做详细需求,和设计不沾边。设计不是流水式的,是流程式的,是网状的,是有层级的,抽象出来是可以做程序目录的,是可以直接指导程序员开发的。说到此就明显了,只有有抽象思维、计算机思维的人才能做设计。设计阶段要素图设计过程说明主要分以下几个阶段:架构设计、功能设计、流程设计、实体设计、开发设计架构设计阶段,主要描述系统构建时的整体说明,比如系统语言、数据库类型、中间件平台、前后台交互方式等功能设计阶段,主要包含两个部分:用例设计、活动设计,用例设计主要围绕着用户,描述用户的需求,功能层面的描述。活动设计主要是对用例的细化,梳理用户需求,描述用户的
文档评论(0)