luffy--02

项目相关

一般情况下,企业开发软件时会按照基线和定制两块并行方式只想项目开发工作。无论什么公司,都需要遵循一套成熟的产品研发过程体系,才能做出质量较号的产品

一般一个项目需要经过如下阶段:

项目启动阶段

项目启动会的目标是明确开发目标。 项目启动会需要说明项目目标、阶段划分、组织结构、管理流程等关键事项。 目标不是孤立存在的,目标与计划相辅相成,目标指导计划,计划的有效性影响着目标的达成。 在执行目标的时候,考虑清楚自己的行动计划,怎么做才能更有效地完成目标,是每个人都要清楚的问题。目标越是不清晰或是过高,都会影响项目的实际结果。 确认项目组团队组成,包括产品经理、研发项目经理、研发工程师、测试团队、实施团队等。

项目启动阶段一般还会进行如下事情: 项目评审:项目相关人员参与项目评审会议,一般会有项目评审会议纪要文档输出,以记录评审内容及结果。 需求调研:在项目启动阶段,一般需要产品经理大体了解需求,也即完成大体的需求调研,为下一步的需求分析提供大方向。

需求设计阶段

需求分析

产品经理提供最简单也最接近成品的《产品原型》,线框图形式即可。 在这个过程中还可能产生的包括业务流程图和页面跳转流程图。业务流程图侧重在不同节点不同角色所进行的操作,页面跳转流程图主要指不同界面间的跳转关系。 产品经理面向整个团队,进行需求的讲解。 研发项目经理根据需求及项目要求,明确项目里程碑。根据项目里程表,完成产品开发计划,明确详细阶段的时间点,最后根据开发计划,进行项目任务分解,完成项目的分工。 研发工程师按照各自的分工,进入概要需求阶段。《概要需求》旨在让研发工程师初步理解业务,评估技术可行性。

设计

设计阶段的目标主要是对待开发系统的构架进行分析和设计,并建立系统构架的基线,以便为之后的实施工作提供一个稳定的基础。 设计阶段包括了系统架构的输出,一个好的系统架构设计可以帮助人类梳理业务逻辑且抓住核心需求,设计稳定可扩展的业务系统,评估业务开发周期和开发成本,有效的规避风险。 设计阶段一个非常重要的步骤是做总体设计。

总体设计是整个系统的框架型设计,意义及其重大,一般情况下不能省略(只有维护项目可以省略总体设计,因为基准项目已经设计完毕),所有的产品开发项目均需要首先进行总体设计,它是设计首要步骤,决不允许本末倒置,不能出现先编码后设计的情况,这是软件开发的第二大痛点(第一大是需求不明确、任意变更需求)。 完成总体设计后,一般还会进行概要设计和详细设计。

概要设计 概要设计的目的是描述系统的每个模块的内部设计,对总体设计和详细设计承担承上启下的作用。 概要设计按照结构化设计方法进行设计。基本思路为:按照问题域,将软件逐级细化,分解为不必再分解的的模块,每个模块完成一定的功能,为一个或多个父模块服务,也接受一个或多个子模块的服务。模块的概念,和编程语言中的子程序或函数是对应的。 概要设计阶段把软件按照一定的原则分解为模块层次,赋予每个模块一定的任务,并确定模块间调用关系和接口。 概要设计文档最重要的部分是分层数据流图、结构图、数据字典以及相应的文字说明等。以概要设计文档为依据,各个模块的详细设计就可以并行展开了。

详细设计 详细设计阶段就是依据概要设计阶段的分解,设计每个模块内的算法、流程,为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。 详细设计这个阶段,各个模块可以分给不同的人去并行设计。 概要设计阶段通常得到软件结构图,详细设计阶段常用的描述方式有:流程图、伪代码等。 而详细设计的目的是描述某一个模块内部的处理流程、开发方法和编码技巧。

一般来说,详细设计需要完成如下内容的输出: 项目简介 模块说明(具体说明每一个模块内部的流程、功能、逻辑、消耗以及未解决问题) 接口设计(包括内部接口和外部接口) 数据结构设计(包括物理结构和逻辑结构) 可能需要的特殊处理。 可能需要的系统资源要求 软件的详细设计,最终是将软件系统的各个部分的具体设计方法、逻辑、功能采用文字方式进行表述。这样在实现过程中,编码人员原则上严格按此进行代码实现即可。

开发阶段

完成详细设计后,研发工程师根据详细设计文档正式进入编码阶段,这个过的大部分时间都用来写代码,对有些项目可能还需要进行技术预研、需求确认等。 对于大部分刚入职的开发新人,都是从这个步骤开始的。 这个过程中,有几点需要特别提醒:

一、拿到需求,先实现核心功能,一般一个项目,核心功能的编码需要占据80%左右的开发时间,核心功能完成后,其他功能的完成上就没有那么紧急了,一旦核心功能的开发延期,对整个项目的风险就会增加。

二、确保自己编写出的代码是可控制的。不要用偏门、复杂的技术。争取不要编写歧义比较大的代码,以致自己都理解不了。

三、养成写注释的习惯。

四、使用熟悉、成熟的技术,少用那些可能坑比较多的技术。特别是自己不熟悉的情况下,容易出现到处给自己挖坑的情形。

五、多做日志记录,刚开始对业务和技术上不上很熟练,对自己编写的代码的执行效率也不很清楚,多记日志,有助于在程序出现问题时,快速帮助自己定位问题。 对于不少公司,对于新入职程序员,所提交的代码,一般都会需要做代码审核。 在团队中进行代码审查(Code Review)可以提升代码质量,分享项目知识、明确责任,最终达到构建更好的软件、打造更好的团队的目的。

测试阶段

研发工程师完成对应功能的开发后,一般会自测,自测感觉ok后,提交给测试工程师测试。 测试工程师根据详细设计文档设计测试用例进行项目测试。 测试若发现问题,提交相关bug但给研发工程师,研发工程师根据测试结果修改代码,完成后提交测试,测试通过后完成。 测试工程师测试通过后,编写《测试结果报告》,包括功能测试结果、压力测试结果等。 测试一般还分有单元测试、集成测试、系统测试、压力测试等。

一般项目测试通过后,即可以做项目的交付,一般也可以称为项目上线。对有一些项目可能需要通过一些审批批准方可。 对于一些大型或是重要的项目,可能还需要开产品发布会。 在该阶段一般还要有项目交付文档的输出。

项目发布

测试通过,将项目交付客户。并由客户验收后完成项目。

项目维护

根据合同要求,是否要做项目的维护。

文档输出

根据项目不同,一般的工作流程也不同,如对于大部分项目,项目流程如下:

对于快速迭代的项目,一般的工作流程如下图所示:

商城项目(django+vue-cli)

###创建虚拟环境

猜你喜欢

转载自www.cnblogs.com/yang950718/p/10860176.html