软件开发流程及团队模式的认识
Posted weijingru-1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件开发流程及团队模式的认识相关的知识,希望对你有一定的参考价值。
一、软件开发流程
第一步:需求分析
是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么”,要达到什么样的效果。可以说需求分析是做系统之前必做的。
1.进入可视化产物的输出阶段,产品经理提供最简单也最接近成品的《产品原型》,线框图形式即可。在这个过程中还可能产生的包括业务流程图和页面跳转流程图。业务流程图侧重在不同节点不同角色所进行的操作,页面跳转流程图主要指不同界面间的跳转关系。
2.产品经理面向整个团队,进行需求的讲解。
3.研发项目经理根据需求及项目要求,明确《项目里程碑》。根据项目里程表,完成《产品开发计划》,明确详细阶段的时间点,最后根据开发计划,进行《项目任务分解》,完成项目的分工。
4.研发工程师按照各自的分工,进入概要需求阶段。《概要需求》旨在让研发工程师初步理解业务,评估技术可行性。
第二步:概要设计
开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计 进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、 运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。
1.UI设计师根据产品的原型,输出《界面效果图》,并提供界面的标注,最后根据主要的界面,提供一套《UI设计规范》。UI设计规范主要是明确常用界面形式尺寸等,方便研发快速开发。UI设计常涵盖交互的内容。
2.研发工程师在界面效果图,输出《需求规格》,需求规格应包含最终要实现的内容的一切要素。 3.研发工程师完成《概要设计》、《通讯协议》及《表结构设计》,及完成正式编码前的一系列研发设计工作。
第三步:详细设计
软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的嵌入式系统产品。
在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实 现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。
第四步:编码
在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。
1.研发工程师正式进入编码阶段,这个过程虽然大部分时间用来写代码,但是可能还需要进行技术预研、进行需求确认。
2.编码过程一般还需进行服务端和移动端的联调等。
3.完成编码后需要进行功能评审。
第五步:测试阶段
测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。软件测试有很多种:按照测试执行方,可以分为内部测试和外部测试;按照测试范围,可以分为模块测试和整体联调;按照测试条件,可以分为正常操作情况测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。
1.测试工程师按阶段设计《测试实例》,未通过的流程测试提交至Jira,分配给相应的开发人员调整。
2.研发工程师根据测试结果修改代码,完成后提交测试,测试通过后完成。
3.测试工程师编写《测试结果报告》,包括功能测试结果、压力测试结果等。
4.测试工程师编写系统各端口的《操作手册》、维护手册等。
第六步:软件交付准备
在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。
《用户安装手册》应详细介绍安装软件对运行环境的要求、安装软件的定义和内容、在客户端、服务器端及中间件的具体安装步骤、安装后的系统配置。
《用户使用指南》应包括软件各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等方面的内容,在需要时还应举例说明。
第七步:验收
用户验收。
第八步:维护根据
根据用户需求的变化或环境的变化,对应用程序进行全部或部分的修改。
(流程图如下)
二、最喜欢的两个团队类型
交响乐团模式:当某个软件领域处于稳定成长阶段时时比较适用。
功能团队模式:具备不同能力的同事们平等协作,共同完成一个功能,完成后还可以和别的成员完成下一个功能。
三、本门课程适合的团队模式
1.我认为在本门课程中比较适合的是交响乐团模式,交响乐团模式最中心的位置是指挥者,每个演奏者以指挥者为中心来完成自己的表演片段,乐器种类多大家各司其职使演奏十分完整。对于现在的我们来说缺乏一定的发展能力需要一个好的指挥家来领导我们合作,小组成员根据需要发挥自己擅长的部分在团队里大家都能够去凭借自己的知识技能来共同完成这样一个功能。
而且团队中的每个成员的擅长点大都不一致的,把这些都合并起来那么可以互相弥补不足之处,对于交响乐团队模式解决了把大家集合起来的问题但是又出现成员之间缺乏交流,这对于一个项目的完成是不正确的,交流的缺少会给成员对成员有错误的认知,对方不了解各自的技能到底处于什么水平往往会出现偏差。所以我认为在采用这种模式的情况下可以进行优化,加强小组成员的交流,使彼此有一个较为全面的了解那么在分配任务会更有侧重点完成度也会大大提高。
2.不同模式优缺点分析
首先我觉得交响乐团模式的优点就是家伙多,门类齐全,并且大家各司其职,各自有专门的场地,演奏期间没有聊天走动的现象,还有就是演奏都靠谱,同时看指挥的,而且演奏的都是经过多次练习的曲目,最重要的是这个团队需要一个能力强的指挥者来进行整场的演奏,执行能力强。
缺点:团队小组成员做事比较呆板,自己只顾着完成自己的演奏片段而忽略了自己与团队的交流,并且光看指挥者的指挥还会失去了自己的想法。
然后我觉得功能团队模式的优点是小组成员注重合作,大家平等协作共同完成一个功能并且还可以再和别人完成另外的工作,灵活性比较高,这样每个人都能发挥自己擅长的,而且小组内部交流比较频繁,敢于提出自己的想法。
缺点:在大家协作完成一个功能后去和他人组队,那么新的小组成员还需要一个磨合期来使对方熟知起来比较耗时间不稳定。
以上是关于软件开发流程及团队模式的认识的主要内容,如果未能解决你的问题,请参考以下文章