精华内容
下载资源
问答
  • 一个完整的软件项目开发流程

    万次阅读 多人点赞 2017-11-23 11:44:04
    在我转产品之前,虽然我混迹IT行业,做过实施和售前,也跟研发打过交道,但我一直都不知道一个软件是怎么开发出来。直面客户,扛着压力,在对程序一无所知情况下,很容易产生一些想法:为什么产品结果是这样?...

    《IT项目管理与职业生涯规划大型论坛》中国.苏州

    免费报名:http://www.hdb.com/party/b8an2.html?hdb_pos=manager_info

    在我转产品之前,虽然我混迹IT行业,做过实施和售前,也跟研发打过交道,但我一直都不知道一个软件是怎么开发出来的。直面客户,扛着压力,在对程序一无所知的情况下,很容易产生一些想法:为什么产品的结果是这样?为什么产品开发的速度不能再快一点?为什么程序员经常加班?他们都在忙些什么?测试是不是就是每天忙着点点程序看会不会报错?

    所以本文面向的对象是,适合和我当初一样对软件开发一无所知的IT从业者(或者有兴趣者),另外也欢迎我的程序员小伙伴和测试小伙伴,因为你们也懂这个过程,所以我们可以作更多探讨,这个过程中我们可能会发现大家对同一件事的理解并不一致,也许经过碰撞,我们能共创智慧的果实。

    一、开发流程图

    为使流程更清晰,本图省略了各环节的评审,如有更好的表现形式,欢迎提出建议。

    二、过程产物及要求

    本表主要列出开发阶段需要输出的过程产物,包括产物名称、成果描述、负责人及备注,即谁、在什么时间、应该提供什么内容、提供内容的基本方向和形式是什么。

    项目启动阶段

    产物名称成果描述负责人

    调研文档了解项目背景,了解项目干系人目标方向产品经理

    团队组建确认团队人员及配置产品总监

    业务梳理明确项目的目标、角色、各端口及模块产品经理

    需求阶段

    产品原型产品的线框图产品经理

    需求概要基于线框图,作技术评估,达成业务理解的一致性研发工程师

    项目里程碑确认项目重大时间节点研发项目 经理

    项目开发计划梳理各阶段、各端口的开发计划研发项目经理

    项目任务分解表将计划分配到团队研发项目经理

    设计阶段

    界面效果图及标注基于线框图,作效果图,须适量考虑交互内容UI设计师

    UI设计规范在UI界面基础上,输出主要界面的设计规范UI设计师

    需求规格基于效果图,明确业务实现细节,消除对最终成果理解的不一致研发工程师

    概要设计功能实现的可视化,有助于理清思路,减少技术盲区和低级缺陷,实现并行开发,提高效率研发工程师

    通讯协议通信协议是指双方实体完成通信或服务所必须遵循的规则和约定研发工程师

    表结构设计确认要建的数据库表及其表结构研发工程师

    开发阶段

    产品代码代码

    测试阶段

    测试用例明确测试方案,包括测试模块、步骤、预期测试工程师

    测试结果报告输出测试结果测试工程师

    用户手册系统操作手册测试工程师

    常规文档

    项目周报每周开发内容及下周开发计划研发项目经理

    测试周报每周测试内容及下周测试计划测试工程师

    评审会议纪要评审的过程文档整体团队

    三、过程说明

    项目启动

    产品经理和项目干系人确定项目方向,产品型项目的干系人包括公司领导、产品总监、技术总监等,项目的话则包括客户方领导、主要执行人等。

    公司领导确认项目组团队组成,包括产品经理、研发项目经理、研发工程师、测试团队等。

    明确项目管理制度,每个阶段的成果产物需要进行相应的评审,评审有相应的《会议纪要》;从项目启动起,研发项目经理每周提供《项目研发周报》;测试阶段,测试工程师每周提供《项目测试周报》。

    产品经理进行需求调研,输出《需求调研》文档。需求调研的方式主要有背景资料调查和访谈。

    产品经理完成《业务梳理》。首先,明确每个项目的目标;其次,梳理项目涉及的角色;再来,每个角色要进行的事项;最后,再梳理整个系统分哪些端口,要有哪些业务模块,每个模块再包含哪些功能。

    需求阶段

    进入可视化产物的输出阶段,产品经理提供最简单也最接近成品的《产品原型》,线框图形式即可。在这个过程中还可能产生的包括业务流程图和页面跳转流程图。业务流程图侧重在不同节点不同角色所进行的操作,页面跳转流程图主要指不同界面间的跳转关系。

    产品经理面向整个团队,进行需求的讲解。

    研发项目经理根据需求及项目要求,明确《项目里程碑》。根据项目里程表,完成《产品开发计划》,明确详细阶段的时间点,最后根据开发计划,进行《项目任务分解》,完成项目的分工。

    研发工程师按照各自的分工,进入概要需求阶段。《概要需求》旨在让研发工程师初步理解业务,评估技术可行性。

    设计阶段

    UI设计师根据产品的原型,输出《界面效果图》,并提供界面的标注,最后根据主要的界面,提供一套《UI设计规范》。UI设计规范主要是明确常用界面形式尺寸等,方便研发快速开发。UI设计常涵盖交互的内容。

    研发工程师在界面效果图,输出《需求规格》,需求规格应包含最终要实现的内容的一切要素。

    研发工程师完成《概要设计》、《通讯协议》及《表结构设计》,及完成正式编码前的一系列研发设计工作。

    开发阶段

    研发工程师正式进入编码阶段,这个过程虽然大部分时间用来写代码,但是可能还需要进行技术预研、进行需求确认。

    编码过程一般还需进行服务端和移动端的联调等。

    完成编码后需要进行功能评审。

    测试阶段

    测试工程师按阶段设计《测试实例》,未通过的流程测试提交至Jira,分配给相应的开发人员调整。

    研发工程师根据测试结果修改代码,完成后提交测试,测试通过后完成。

    测试工程师编写《测试结果报告》,包括功能测试结果、压力测试结果等。

    测试工程师编写系统各端口的《操作手册》、维护手册等。

    系统上线

    与客户或者上级达成一致后,系统进行试运行,稳定后上线。

    最后,以上内容仅限于我所在公司,不代表绝对专业意见,不知道其他行业的IT小伙伴和我们是否一样呢,欢迎与我交流

    本文转自:人生如轻尘栖弱草

    以上内容为原创,转载请标明来源,谢谢。

    展开全文
  • 一个软件完整的开发流程介绍

    万次阅读 多人点赞 2018-03-29 19:11:28
    刚开始写博文时候就应该将这个文章更新一下,虽然不是什么大牛,但是对于软件的开发流程还是比较了解,毕竟大大小小做过了好几个项目了,今天就大概说一下,用我做过的一个项目来说吧,写不好,请多多见谅...

    刚开始写博文的时候就应该将这个文章更新一下,虽然不是什么大牛,但是对于软件的开发流程还是比较了解的,毕竟大大小小做过了好几个项目了,今天就大概的说一下,用我做过的一个项目来说吧,写的不好的,请多多见谅,毕竟小生不才。

    开发流程百度的解释是:


    不是我懒得写,而是觉得写出来也不是自己的,还不如直接告诉你们我是百度的概念...但是下面的我们就不要百度了,因为百度说的太专业,让你看了很烦,最起码我是很烦(都是些什么玩意).


    进入正题

    我们分公司性质来说一个软件的开发流程,

    软件公司和非软件公司

    非软件公司

    需求分析-概要设计-程序编码-程序测试-软件交付-客户验收-码农维护

    软件公司

    需求分析-概要设计-详细设计-程序编码-程序测试-软件交付-客户验收-码农维护

    我们一步一步的说:

    需求分析

    一个软件没有出现之前,只是有一部分人有一个想法,我需要一个这样的东西(想要一个孩子了)用来管理我的什么什么,这个时候一个想法出现了,就会有这个需求,他会找软件公司需求分析师来商量,这个时候一个软件就怀孕了,相当于开始发育了.需求分析是听完要求以后会将大概的功能描述一下,用Word或者Axure画出一个简单的Demo给用户看,经过几次确认以后需求分析师会最后确认功能是不是完善的,确认了以后进行我们的下一步,概要设计

    概要设计

    这个功能主要是干嘛的呢?很多的公司觉得没必要,其实是很有必要的,这个就是相当于先规划一下怎么平安度过怀孕期,对于软件来说就是软件的处理逻辑,大概的一个流程是怎么走的,大概需要哪些模块,怎么运行,需要大概多少接口,后期怎么维护等问题,做这些干呢吗?为了下一步-详细设计

    详细设计

    有人说,详细设计是很麻烦的一步,其实不是很麻烦的一步,我觉得是最难的一步,详细设计主要是用来确认细节的,接口的名字啊,控制器的名字啊,多少个控制器,谁来调用谁,这个不可以有错,因为后期码农是需要看这个开发的,你怎么起名字,他们就怎么写,所以这里出错也就意味着编码的时候也会错,最后会有一份详细设计书出现,这个就是告诉孕妇具体吃什么,怎么吃,多少量。

    码农编码

    很多人觉得这个就是搬砖,看着设计书就直接写就可以了,理论是这样的,但是为什么还有很多的bug出现呢?很大一部分原因并不是设计的原因(当然也有可能),很大原因是不规范造成的,还有就是是不是一个项目组的人可以协作处理代码,怎么做可可以提高编码的效率,这些问题都是在编码的时候出现的问题。这个是相当于孕妇实施那一套套餐的时候具体是不是按规范来吃的。

    程序测试

    这一步是里面很重要的一步,测试,我们不可能说写好直接就给用户用了,这个是不现实的,我们需要做的是先给测试部门进行系统的测试,当然这个测试不是按照用户的想法来的,他们会很暴力,举个栗子,一个按钮,正常的用户使用的时候会直接点击一次,看到效果就可以了,但是测试的时候不是,他们会疯狂的点击,知道他们觉得这个世界上不会有人比他们暴力的时候他们会停止,当然这是一个好的测试人员,很多的测试不会是这样的,他们觉得正常使用没问题就是没事的,其实一个软件好不好,很大一部分在于测试人员的测试力度。最后写一份测试报告就可以了。

    软件交付

    测试结束以后没有任何的问题的话,就可以写安装手册了,这个其实就是用户使用指南。

    客户验收

    交付后客户简单的测试以后觉得是和自己想的一样的,就收货,交钱.

    码农维护

    是不是验收以后就没事了呢?当然不是,一个软件很多时候是在用一段时间以后才会出问题的,所以会一直需要人来维护他们,当然不是说只是出问题才会维护的,主要的原因是软件会根据不同的需要更改功能,这样的过程也是维护的过程,QQ已经更新多少代了,是不是,这也是一个维护的过程。

    项目重构

    这个是一个项目如果出现了新的技术,功能没有改变的时候,为了用户体验,例如之前是SSH写的,但是运行的速度很低,用SpringBoot,大家都在用,用户反映很好,那么这个时候就需要项目重构了,用新的技术将之前的功能重新实现。

    基本那就是这些了,另外细心的人也看到了非软件公司是没有详细设计的,这个解释一下,为什么呢?很简单,其实详细设计是和耗费时间的,非软件公司的人不会花费这个时间在设计上,他们就是直接告诉你需求,码农只需要直接编码就可以了,一般这样的对你用什么技术,什么框架是没有要求的。




    展开全文
  • 一个完整的javaweb开发流程,会教你怎么启服务,配置项目,非常全面哦,视频教程,更容易理解
  • 作为一个PHP程序猿想转行APP开发可不是件容易的事情,话说隔行如隔山,这隔着一层语言也是多...一个APP项目的最初首先要确定项目整体方案,整个项目的规划,大体框架,做成文档展现出来,以便大家提意见和更好的改进...

    作为一个PHP程序猿想转行APP开发可不是件容易的事情,话说隔行如隔山,这隔着一层语言也是多东西需要学习啊,一直对APP开发很感兴趣,最近请教了几个做移动开发的朋友,看了很多的资料,决定把自己学到的东西总结一下分享给和我一样刚做开发的菜鸟们。

    1. idea形成——APP项目雏形

    一个APP项目的最初首先要确定项目整体方案,整个项目的规划,大体框架,做成文档展现出来,以便大家提意见和更好的改进。也就是说首先要确立产品原型,进入项目评估阶段。经过反复确认,最终形成产品脑图和完整的需求文档。

    2.功能设计——APP项目概要设计

    第二步相当于网站的需求分析,需要整理确定App的主要用户群体和APP能实现的功能。关于APP开发设计可以在DevStore平台上借助一些工具来充实你的APP,像结合推送、地图、社交分享、第三方登录等常用的工具让你的APP更丰富一些。借助第三方服务来丰富自己的作品是很好的借力途径,一定不要错过,平时要养成收集平台的习惯,例如工具平台,学习交流平台,养成总结整合资源会是受益一生的好习惯。

    3. 功能实现——APP项目打码阶段

    APP的大概界面构思和设计,大功能模块代码编写。正式进入产品的原型设计阶段。UI、UE开始设计,形成初步的效果图。在经过确认后界面的效果图正式设计完成。产品在设计图完成后,进入研发阶段。通过编程语言形成正式的程序。至此,App的制作过程就完成了一大部分,可以进入测试部进行测试。作为一个开发者来说这才是重头戏,设计,测试都是别人的事情,这一步主要是开发者努力打码阶段,不断码砖,修bug阶段。

    4.测试——APP项目大家评

    把大概的界面和功能连接后,App的大致demo就出来了,demo自己试用和体验几遍后,根据实际情况修改,没有大错误后,新版本可以尝试寻找beta用户, 根据测试用户的反馈,改进并反复测试。用户测试阶段一定要把每个用户的意见考虑进去,不一定每个意见都会采纳,但是不要放过一点瑕疵,尽全力让自己的作品更好。

    5.APP项目完成

    在产品经过多次测试,修改bug确认无误后。一个App制作项目就完成,可以进入个大市场,投放使用。市场推广也是比较关键的一步,在各大市场中,开发者就要通过各种方式推广自己的App产品,力求App在市场上获得更多的下载量,吸引更多的用户。

    Ok。就到这里吧,项目完成了,码农,设计,技术,前端统统准备收拾东西回家了,让推广人员留守吧,哈哈。。。开个玩笑,十一都放假了,还推广个鬼啊,十一解放了,祝大家有个快乐的假期,国庆来了会写APP运维推广策略,请继续关注。

    本文首发来自我的知乎http://www.zhihu.com/question/19957949,转载请注明链接。

    转载于:https://www.cnblogs.com/Demon614/p/4000609.html

    展开全文
  • 一个项目提出到结束,按照ISO9001:2000项目管理流程,大致有如下步骤: 1、产品立项报告 按照公司管理流程,由公司有关人等都有可能提出《产品立项报告》,比如公司老总、市场部门、研发部门,一般是在公司...

    从一个项目提出到结束,按照ISO9001:2000的项目管理流程,大致有如下步骤:

    1、产品立项报告

        按照公司的管理流程,由公司有关人等都有可能提出《产品立项报告》,比如公司老总、市场部门、研发部门,一般是在公司组织的定期

    召开的会议上提出,经初步讨论具有一定的可行性之后,由公司领导提交到公司负责产品开发立项的部门,比如,总工办,然后,按照公司的

    管理流程,由该部门组织人员进行讨论,最后指定某人进行产品的可行性分析,提交《产品的可行性分析报告》。
        在《产品立项报告》中,初步描述该技术的国内、国外现状、经济效益和社会效益。。。

    2、产品可行性分析报告

        指定的某人提交《产品的可行性分析报告》,在会议上产品立项讨论通过,指定项目经理,对该产品提出《初步设计》。
        在这里,要对风险进行评估。
        风险控制:要求,新技术在产品中的使用比例不要超出30%。
        如果这个产品大量使用新技术,那么,质量和进度往往不容易保证。新技术,一般是需要先期做一些知识储备。使用太多的新技术推出的

    产品,一旦出现了不可控的缺陷,将是灾难性的损失。

        以上过程产生项目经理。以下步骤在项目经理的参与和指导下进行。

    3、初步设计

        由项目经理负责编写。
        在这里,要对成本、进度、风险进行准确评估。
        产生《初步设计》后,经讨论修改通过后,把《初步设计》提交给该项目的硬件工程师、软件工程师和结构工程师分别提交《硬件详细设

    计》、《软件详细设计》和《结构详细设计》;
        在初步设计中,指定该项目负责的硬件工程师、软件工程师、结构工程师、样机生产负责人、测试工程师等。
        在初步设计中,由项目经理对项目总成本进行核算。并由项目经理或者测试工程师产生《测试大纲》,由总工程师或者项目经理对《测试

    大纲》进行批准。

    4、硬件详细设计

        在这里要对成本、进度、风险进行细化,提出对资源的要求。
        在这里,对可靠性设计进行分析,硬件工程师按照该项目的《初步设计》的要求,写出《硬件详细设计》,经项目经理批准后,按照该《

    硬件详细设计》做原理图、PCB和物料清单;提交给生产部门,做PCB和采购物料;提交原理图给软件工程师。
        在《硬件详细设计》中,对产品的成本、质量、可靠性进行分析,提交所需的资源表,提交进度表,提交测试记录单。要对公司现有的硬

    件设计的资源进行分析,看看哪些是可以复用的,哪些是需要开发的,哪些是有一定难度,需要咨询、外包或者购买的。

    5、软件详细设计

        在这里要对成本、进度、风险进行细化,提出对资源的要求。
        软件工程师按照该项目的《初步设计》的要求,写出《软件详细设计》,经项目经理批准后,编制代码,在生产部门提供的样机的基础上

    ,测试代码;按照《测试大纲》测试合格后,留下测试记录,并把芯片提交给测试工程师;进入测试阶段。
        要对公司现有的软件资源进行分析,看看哪些是可以复用的,哪些是需要开发的,哪些是有一定难度,需要咨询、外包或者购买的。

    6、结构详细设计

        在这里要对成本、进度进行细化,提出对资源的要求。
        结构设计要考虑到企业的加工能力。结构工程师需要与硬件工程师沟通,使得硬件工程师提出的电路板与机箱之间的结构在结构工程师的

    能力之内。结构工程师提交《结构详细设计》,经项目经理批准后,提交生产部门生产样机的机箱;

    7、样机生产

        生产部门根据硬件工程师提交的PCB和物料清单,结构工程师提交的《结构详细设计》,生产PCB和机箱,并组装成样机;样机数量至少在4

    台以上;2台提交给软件工程师;2台提交给硬件工程师;

    8、软件自测

        软件工程师编制代码后,按照《测试大纲》,自测通过后,提交给测试工程师进行可靠性测试。

    9、《测试大纲》和测试

        测试大纲的内容包括:
        A、功能性测试:对产品的每一项功能逐条进行测试;
        B、可靠性测试:对产品进行长时间运行、模拟现场情况进行测试;对于出口产品,需要进行EMC、EMI测试。
       
        测试大纲的要求:
        A、尽可能模拟现场的情况;
        B、尽可能穷举所有的可能发生的情况;
        C、做好真实记录;列出不合格项。尽量详细,以便研发人员定位,是软件还是硬件故障。
        由测试负责人,按照《测试大纲》的要求,对样机进行测试;

    10、形成生产文件

        测试通过后,以上各个部门根据需要形成生产文件,汇总到项目经理;按照公司的管理流程,经审核后由公司下发到生产部门,进行小批

    量试生产;
        生产文件包括:
        A、PCB布局图(硬件详细设计负责人提供)
        B、物料清单BOM (Bill of Material)(硬件详细设计负责人提供)
        C、PCB焊接注意事项(硬件详细设计负责人提供)
        D、结构详细设计(结构详细设计负责人提供)
        F、附件清单(生产负责人编制)
        G、生产工艺(生产负责人编制)等文件
        生产文件编写要做到,能认字、无色盲的普通人就能按照文件把产品做出来的目标,必要时可以附录照片等。

    11、文件归档

        阶段性文件归档。

    12、小批量试生产

        在一个项目中使用该产品,并对产品的情况进行严格的检测和反馈。

    13、批量生产

        根据小批量试生产和使用的情况,反馈到项目经理,如果有缺陷,则对详细设计进行修改,按照以上的流程再次进行,直至设备运行完全

    正常。

    14、文件最终归档

        每做一次修改,文件需要再次归档。
        由项目经理汇总,提交到公司技术主管,批准后,作为公司的受控文件。

        归档文件包括:
        A、产品立项报告
        B、产品可行性分析报告
        C、初步设计
        D、硬件详细设计
        E、软件详细设计
        F、结构详细设计
        G、测试大纲
        H、生产文件
        I、使用说明书等

        文档的作用是:
        A、留下完整的项目开发记录
        B、作为奖励和惩罚的依据
        C、可维护,便于对该产品进行维护
        D、可升级,便于对该产品进行升级
        E、可继承,不断完善细节使的后续工作量越来越小
        F、可完善,不断加强细节,细节决定一切

        企业在设计机制时,最重要的一条就是“多劳多得,做好多得”这样一个公平的利益分配原则,才能激发人的潜力。
        完善的文档,是评估项目运作质量的唯一依据。
        技术人员都不愿意写文档,更不愿意及时把文件归档。
        管理成本最低的管理办法就是,把项目完成的奖金与文件归档挂钩,只有把文件归档了,才发给项目奖金。

        规范:
        流程图设计规范、PCB设计规范、原理图设计规范、汇编语言设计规范、C语言设计规范等,是公司的技术文件。
        还有以上各个文档的编写规范,是一个标准的模板。
        作为企业来说,很重要的就是这些技术文档,才能对开发的全过程进行控制;公司的财富也是在这些文档中。尤其是工程公司,需要详细记录现场的施工情况,更是如此。

    转自:http://hi.baidu.com/%CE%E5%CF%E3%B6%B7/blog/item/5f2a38846ab58a3466096ef6.html

    转载于:https://www.cnblogs.com/wen12128/archive/2011/04/06/2006343.html

    展开全文
  • 项目完整开发流程

    2019-09-26 14:50:10
     当拿到一个项目时,必须进行需求分析,清楚知道网站类型、具体功能、业务逻辑以及网站风格,此外还要确定域名、网站空间或者服务器以及网站备案等。  2、规划静态内容  重新确定需求分析,并根据用户需求...
  • 一个完整的项目管理流程

    千次阅读 2018-12-03 22:30:00
    一个项目提出到结束,按照ISO9001:2000项目管理流程,大致有如下步骤: 1、产品立项报告 按照公司管理流程,由公司有关人等都有可能提出《产品立项报告》,比如公司老总、市场部门、研发部门,一般是在...
  • 这篇文章详细介绍了一个“多路信号采集系统”的开发过程。“多路信号采集系统”是一个可伸缩信号采集系统,通道可以选择从0~100路不同信号源。单个采集板都能够采集10路数据,用户可以根据自己需求方便地扩展...
  • “整体”方有方块,“部分”方没有,eg:人有2只手,手是人的一部分 4、一般化关系(继承关系) 一般化指是类之间继承关系。eg:小时工(HourlyEmployee)、正式员工类(SalariedEmployee)继承员工类(Employee) ...
  • 以下结论仅根据我所知晓的流程进行总结和概述: 测试一般介入项目为需求评审开始,经历 需求评审-开发设计评审,测试主管编写测试计划,根据测试计划对应测试人员开始编写测试用例
  • 项目管理:硬件类项目完整开发流程

    万次阅读 多人点赞 2016-07-02 08:21:23
    担任过2个硬件类项目的项目经理(同时作为项目开发成员),以下以近期负责的一个项目为参考, 项目成员: 项目经理1名:负责项目各个阶段的监管,同时兼任应用软件工程师 PM 1名:协助项目经理监管项目各个阶段,...
  • 一个完整的项目流程

    2015-01-19 22:11:34
    分析客户标书 ->方案计划投标 ->项目实施 ->需求分析 ->初步分析 ->评审 ->详细设计 ->演示评审 ...->开发完毕 ->演示评审(总结报告) ->项目产品检验 ->产品发货 ->产品安装,培训,售后服务
  • 就是说你要给自己做的一个系统先进行需求分析,建立一定模型,为系统的开发准备边界,准备实现需求 安排好开发计划,给出系统完成时间,分析系统技术难点,给出系统的开发规范,指定专门人员来进行...
  • 创建一个新的vue项目进行开发的完整流程安装vue安装vue-cli创建一个项目修改babel.config.js安装 Sass安装Less安装stylus在项目中.vue文件中使用合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片...
  • 本人曾参与多个项目的开发,今天和大家详细介绍一下App软件开发流程。 App软件的开发流程目前分为两个路线,编程开发和免编程自己制作 软件开发流程一:编程开发 从零开始,层层敲代码完成,过去市场上的App大多...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,567
精华内容 626
关键字:

一个项目的完整开发流程