如何写项目中的技术方案

在公司,一次完整项目的发布,需要经过需求评审->视觉稿评审->技术评审->项目kickoff->开发->联调->冒烟测试->QA测试->发布。上面列举的还只是流程中大的节点,整个项目的研发过程环环相扣,项目最终的质量保证系于每个节点的质量保证,木桶原理运用在这里完全合适。

本周在准备一个项目的技术评审,前前后后总共评了三次,最终架构师给打了60分,算是勉强通过。下面我想讨论一下技术评审,主要围绕什么是技术评审、为什么要做技术评审以及如何准备技术评审。

什么是技术评审?

我认为,技术评审是针对此次项目设计出来的技术方案进行可行性分析的一个过程。它涉及到模型的设计、接口的约定、流程的编排等等,基本上可以说,技术评审即代码,拿着这份技术评审就可以进行开发。

为什么要做技术评审?

为什么要做技术评审?我认为对于项目中每个角色的意义是不同的:

  • 对于项目的开发人员,技术评审其实是从需求到代码实现的一个映射。在准备的过程中,能够梳理出实现的整个流程以及开发中的难点。另外,自身毕竟具有局限性,整体流程的设计是否合理,模型、接口的定义是否清晰,经过头脑风暴,能够得到一个更好的结果。站在全局角度考虑,有些工作是不是放到别人那里更加合适,通过大家的交流和碰撞,能够从个人一致到整体一致的状态转变;
  • 对于项目经理来说,他除了关心技术方案的可行性之外,他还会关注是否有功能点的遗漏以及技术实现上的人日评估,毕竟资源=Money;
  • 对于架构师来讲,它同开发人员的关注点相似,但抽象的层次更高,如果开发人员是站在楼上看风景,架构师就是在山上看。

如何准备技术评审?

准备技术评审之前,一定要认真看需求稿,一定要认真看视觉稿,接下来有几件比较重要的事情:

  • 一定要有总体架构图、流程大图、时序图和核心类图;
  • 功能的变更点,这个变更点包括数据的变化:DO和VO模型的变化、数据库字段的变化,还有就是流程上的变化;
时间: 2024-11-25 20:47:27

如何写项目中的技术方案的相关文章

项目中使用技术框架的最重要目的是什么?

最近在着手项目改造,突然想到一个问题,我们为什么要用框架,框架的最重要目的是什么? 如果在框架使用之前,在进行框架搭建时,我可能会想: 要使用最合适的技术架构,解决业务问题 减少开发人员的代码开发量. 让开发人员更加专注于业务流程. 但是在项目运行到一定阶段,我们会发现: 在项目运行到一定时期,技术架构可能在一定程度上不再满足最新的业务问题,但是我们还是要使用框架而不是去自由开发自己的代码. 在某些功能模块中,可能会有很多种代码编写方式,真是比用框架写更少的代码. 再回过头来考虑为什么使用框架时

Android项目中JNI技术生成并调用.so动态库实现详解

生成 jni方式有两种:一种是通过SWIG从C++代码生成过度的java代码:另一种是通过javah的方式从java代码自动生成过度的C++代码.两种方式下的步骤流程正好相反. 第一种方式:由于需要配置SWIG环境,有点麻烦了,所以往往大家不采用这个途径,参照博文http://my.oschina.net/liusicong/blog/314162. 第二种方式:javah的方式则通过shell指令就可以完成整个流程,该过程大概包括以下步骤: 编写 Java 代码.我们将从编写 Java 类开始

java web 项目中基础技术

1. 选择版本控制器(git, svn) 2. 用户登录的时候, 你需要进行认证, 权限受理 可以使用 spring shiro 框架,进行上面的工作 3. 过滤器(filter),监听器(listener) (不是特别清楚, 好像就是用户没有登录的时候,有的页面无法做显示, 只能访问首页或者是跳转到登录页面,这个好像是过滤器干的事情) 4.缓存技术(cache) ,用于减少用户和数据库的交互次数 , 从而提高用户体验 5. 消息队列(mq)(流量削锋,好像也可以发布一个任务之后,不必等他处理,

基于技术方案的用例设计

上一篇介绍了基于需求文档的用例设计,主要是运用了黑盒测试的用例设计方法.之前提到用例在整个项目过程中是动态更新,逐步完善的,经过了需求评审的用例编写后,项目会进行技术方案评审,评审结束后,需要基于技术方案对用例进行一次补充完善. 我仍然以登录为例,由于每个开发设计的方案不同,在此列一个大致的通用方案,基于该方案做用例设计,精髓会了,其他的融会贯通. 登录成功的时序图如下: 登录失败的时序图如下: 分析时序图,步骤比较清晰,客户端的主要工作分为几部分: 1.绘制登录界面(UILabel.UIBut

软件开发项目中的人员角色与职责划分

角色 职责 项目经理 项目经理负责分配资源,确定优先级,协调与客户和用户之间的交往.总而言之,就是尽量使项目团队一直集中于正确的目标.项目经理还要建立一套工作方法,以确保项目工件的完整性和质量. 构架设计师 构架设计师负责在整个项目中对技术活动和工件进行领导和协调.构架设计师要为各构架视图确立整体结构:视图的详细组织结构.元素的分组以及这些主要元素组之间的接口.因此,与其它角色相比,构架设计师的见解重在广度,而不是深度. 需求分析员 业务分析员通过概括和界定作为建模对象的组织来领导和协调业务用例

在C++项目中引入Lua(AlphaGo使用的方案)

最近大火的AlphaGo,其中的deepmind已经开源,可以到github中下载https://github.com/deepmind/lab·,网上还有一个基于Python开源AlphaGo,那个不是google的.通过看deepmind源码,我们可以知AlphaGo使用的是C++和Lua方案.当然语言不是AlphaGo的重点,但还是说明了c++和Lua方案能够完成大型的项目.      从2009年开始在三维仿真项目中引入Lua,C++项目的开发效率得到了大幅度.在我们三维仿真这种对性能要

轨迹系列——记某真实项目中轨迹存储改造方案

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.    方案目标 该方案需要满足以下几点: 支持人员当天轨迹快速获取(查询). 支持轨迹高并发读.写(实际项目中轨迹高并发读情况很少). 保证所有(历史)轨迹数据的完整性.不丢失. 2.方案探讨详细描述 2.1支持轨迹快速查询--轨迹日志文件方案 海量数据高效存储.查询,这个场景本身是比较适合NoSQL数据库运用的,但是考虑到该方案实施的难度(对工程实施.维护.研发

从面试官甄别项目经验的角度,说说如何在简历中写项目经验(java后端方向)

在大多的JD(职位介绍)里,会写明该职位需要xx时间的相关经验,换句话说就是需要在简历中看到一定年限的相关商业项目经验,否则估计连面试的机会都没. 在本文里,不讨论这种门槛是否合理,而会以Java相关经验为例,说说面试官甄别真实商业项目的方式,并以此为基础讲述在简历中描述项目的要点,并进一步给出在面试中介绍项目的相关技巧. 1 和学习项目相比,商业项目为什么值钱? 为什么在筛选简历和面试过程中要甄别学习项目还是商业项目? 1  学习项目里,只要跑通正常流程,无需考虑异常处理机制,也无需经过高并发

用java写一个远程视频监控系统,实时监控(类似直播)我想用RPT协议,不知道怎么把RPT协议集成到项目中

我最近在用java写一个远程视频监控系统,实时监控(类似直播)我想用RPT协议,不知道怎么把RPT协议集成到项目中,第一次写项目,写过这类项目的多多提意见,哪方面的意见都行,有代码或者demo的求赏给我,谢谢