一.软件开发流程:
软件开发流程即软件设计思路和方法的一般过程,是联系了软件开发、运营、维护过程中的技术、做法、思想和过程的一个体系,包括需求分析,设计软件的功能和实现的算法,软件的总体结构设计,编码和调试,编写和提交程序等满足客户需求的一系列操作。软件开发流程的目的是为了提高软件开发、运营和维护的效率,以及提升用户满意度,软件的可靠性和可维护性。
一个软件从开始到最后一般一共需要以下几个流程:
1、计划
2、分析
3、设计
4、编码
5、测试
6、维护
1、计划
2、分析
3、设计
4、编码
5、测试
6、维护
1、计划
对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源(如计算机硬件、系统软件、人力等)成本,可取得的效益和开发进度作出估计,制订完成开发任务的实施计划。
2、分析
软件需求分析就是对开发什么样的软件的一个系统的分析与设想。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有jiegouhuafen、数据流程图和结构化分析方法字典等方法。
3、设计
软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。
4、编码
软件编码是指把软件设计转换成计算机可以接受的程序,充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
5、测试
软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据与功能和预期的输出结果组成了测试用例)。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。
6、维护
维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。
在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。
二.
团队是有一致集体目标的团体,成员各有分工,互相依赖合作,共同完成任务。我们小组经过讨论,然后投票认为比较好的还是交响乐团模式以及功能团队模式。
交响乐团门类齐全,各司其职,演奏都靠谱,同时看指挥;分工明确,纪律性较好。交响乐团模式的优点是各司其职,分工明确;缺点是每个人都听从指挥,服从命令,团队之间缺少交流。
而功能团队模式是指具备不同能力的同事们平等协作,共同完成一个功能,在这个功能完成以后,这些人又重新组织,和别的角色一起去完成下一个功能,没有管理和被管理的关系,而且交流也比较频繁。功能团队模式是具备不同能力的人平等协作公共完成一个功能,优点是效率比较高。缺点:每个小组成员必须与其他小组成员就编程规范达成一致
最后我们选择的是功能团队模式,我们是一个小组,需要的是一个团队。在分配任务的时候,我们每一个组员都要把自己的功能实现,然后再把功能结合到一起。需要小组成员不断的沟通交流。我们觉得在我们现处于的这个阶段,功能团队模式更符合我们现状。