项目开发流程概要
一、项目开发流程概要
1.1 项目开发流程Project Development Process
项目开发并不是一个简单的过程,我们需要遵循一些开发流程,一个项目开发会被分成很多开发步骤来实现,每一个步骤都有自己的起点和终点,也如此使得开发过程中的每个步骤起点和终点在不同的软件项目中出现不同的“坎”,使其难于达到该步骤开始或终结的条件,开发也将不会一帆风顺。
不同的开发模式其实就是将步骤的起点和终点重新定义,虽然每个一个开发模式都能到项目的开发结果,完成开发项目,但其间经理的过程不一样,过程步骤之间的起点和终点的定义不同所带来的“砍”也就不一样,项目周期自然也就不一样,因此根据项目的不同和实际情况选择一个合适的开发模式能减少开发周期中的“坎”的出现次数和难数,可以大大的缩短开发周期时间。
1.2 瀑布式开发流程Waterfall
为了减少项目的每个步骤的合理规划性,根据项目和公司实际情况,我公司建议使用瀑布式开发流程,即需求-> 设计-> 实现-> 测试-> 集成维护一条龙路线,保证每个节点的顺利完成,减少项目开发过程中的不同因素形成的“坎”。
1.3 需求Requirement Analysis
需求分析是项目开发的起点第一步,为了能让整个项目能按照相应的时间节点和正常的开发流程,满足项目需求是需求分析重点,只有合理化的对需求进行分析才能使项目在开发
过程中根据实际情况选择合理的开发流程嵌入(可以通过需求分析对瀑布式模式开发中嵌入敏捷式Agility 开发模式),能大大的提高项目的开发进程和功效,使其项目大大的缩短开发周期时间。
需求分析是指根据客户(用户)的需求来制订项目的整体大概功能和项目的运营逻辑和流程使用。
需求分析阶段的活动包括:定义潜在的角色,识别问题域中的对象和关系,以及基于需求的规范说明和角色需求发现用例和详细描述用例。
1.4 设计Design
项目设计阶段是基于问题和用户需求的描述,建立现实世界的计算机实现模型,项目设计是基于对需求分析和项目的知识域的求解及用户的体验度转换成实际实用模型页面。
1.5 实现Realization
实现又成编码和开发阶段,也就是将设计转换成特定的编程语言或软件,同时保持项目的先进性、灵活性和可扩展性,在这一阶段,设计阶段的类将转化成使用面向对象编程语言编制的实现代码。
1.6 测试Test
测试是检验项目完成的整体情况,在测试过程中主要是针对项目的需求和安全性来对项目进行测试,测试人员将严格按照项目需求的要求(包含项目的功能、项目的非功能性要求)来完成项目的测试功能。
测试将通过功能测试来完成项目需求的测试要求;同时也将对项目的性能和安全进行测
试(不仅仅包含压力测试、防注入测试和攻击性测试等)
1.7 集成维护Integrated Maintenance
项目的集成不仅仅包含对项目的上线集成和功能项目集成(功能项目集成是指项目开发在原有的项目进行功能迭代集成或多元素开发集成),为解决客户后顾之忧。
项目维护是根据客户的非功能性要求进行得一套完善的维护体系,不仅仅包含以下:项目功能日常维护、项目代码维护、项目数据监控管理以及安防体系管理。
二、项目需求变更及迭代
2.1 项目需求变更Demand Change
需求变更是指在项目开发过程中,客户对项目的功能进行修改或添加,公司将根据客户的变更需求进行完善体系流程实施,原则按照1.2要点进行执行。
2.2 项目迭代Iteration
项目迭代是指客户根据项目在实际运用中新功能要求开放,原则意义上项目的迭代流程按照1.2进行执行。