`
resp
  • 浏览: 156469 次
  • 性别: Icon_minigender_1
  • 来自: 湖南长沙
社区版块
存档分类
最新评论

谈谈项目管理-软件项目的开发流程

阅读更多

一、项目启动
1).项目组成立(公司成员、客户成员)
2).制定项目预期目标
3).制定项目计划周期
4).建立好项目组成员沟通机制


二、需求调研
1).创建调研计划、协调调研时间
2).收集客户资料,获取客户需求(所有资料都需要保留一份,资料中存疑的需要及时询问)
3).编写需求文档:重点描述出客户的业务流程和性能要求,采用Word、Excel、Rose等形式
4).需求变更记录
5).确定开发环境和运行环境
6).扩展性要求
7).与旧系统的接驳要求
8).估算出项目工作量
(本阶段需要一套需求管理系统来进行需求的管理,本阶段的需求文档也是用户测试的依据)

 

三、系统设计/详细设计 (一个系统可分为基础平台和应用模块两部分)
1).选择基础平台,无论是采用第三方平台还是自行开发平台,都需要深入了解,查看是否符合要求
2).应用模块设计(针对业务流程)
3).中间件的采用或自行开发,需要深入了解
4).用户界面设计(如果用户界面设计完毕并确认,即可初步写出用户使用手册、管理员使用手册)
5).变更记录(本阶段的系统设计是集成测试的依据)

四、程序开发(创建开发任务表、开发计划日程表)
1).优先编写测试用例
2).按照编码规范写代码
3).按照文档注释规范注释(以上形成开发文档,本阶段需要一套版本管理系统,本阶段的测试用例也是单元测试的依据,如果能做到最好每日构建)

 

五、测试 (本阶段需要一套bug管理系统,形成需求、设计、开发、测试互动)
1).编写测试计划和测试方案
2).功能测试(单元测试、集成测试)
3).性能测试(集成测试、压力测试,如果能做到,最好进行自动化测试,分析统计工作,最后形成测试报告)

六、试用、培训、维护(本阶段需要解决:)
1).异地修改和公司修改的同步问题
2).用户测试中的bug修改问题,按级别分为:
a).程序bug
b).设计变更
c).需求变更 (尽量按照a b c的顺序来进行修改,避免b、c级的修改,最后形成安装手册、维护记录)

 

 

根据以上过程,一个项目组中需要:
1、需求工程师:善于跟客户沟通,能快速了解客户需求,对客户所在的行业比较熟悉,善于学习新知识,熟悉Word、Excel、Rose等工具,熟悉开发语言和开发框架,熟悉已积累的产品的功能、性能等


2、系统分析/设计师:精通开发语言和开发框架,部分需要精通数据库,精通已积累的产品的功能、性能等,深入了解客户行业特点,能根据客户需求分析出其实质,能做出优秀的设计,熟悉Word、Excel、Rose等工具


3、开发工程师:熟悉开发语言、开发要求和注释规范,部分需要熟悉数据库,熟悉单元测试,能根据设计作出良好的编码,保证功能和性能,部分需要有一定的设计要求,因为涉及到将来的维护


4、测试工程师:熟悉测试工作,能按照测试计划进行测试,熟悉开发语言,能协助开发工程师找错,能独立完成黑、白盒测试

 

分享到:
评论

相关推荐

    项目管理心得体会与学习合集

    - 这可能是一本详细的指导书,提供了项目管理的流程、工具和技术,是实践项目管理的重要参考资料。 7. **项目管理中的执行与监督解疑**: - 文件可能深入讨论了如何有效地执行项目,监控进度,识别和解决问题,...

    谈谈软件测试面试问题

    在软件开发过程中,软件测试是不可或缺的一环,它确保了产品的质量和用户体验。面试时,面试官通常会针对软件测试的专业知识、实践经验以及问题解决能力来评估候选人。以下是一些常见的软件测试面试问题及其背后的...

    谈谈个人在测试管理流程和规范方面的想法和行动

    在测试管理流程和规范方面,个人的实践和思考至关重要,因为有效的测试管理能够确保软件产品的质量和稳定性。以下是我对测试管理流程和规范的一些想法和行动: 1. 测试计划与组织:首先,我们需要制定详尽的测试...

    谈谈对软件架构的认识

    在IT行业中,软件架构是构建复杂系统的...选择合适的开发过程和采用面向对象的架构设计方法,可以有效提高软件项目的成功率。在实际工作中,我们需要根据项目特点和团队能力,灵活运用各种方法,以达到最优的架构设计。

    开源项目-goreleaser-nfpm.zip

    开源项目-goreleaser-nfpm.zip是一个与开源软件开发相关的资源包,主要涉及的是nfpm工具,它用于创建Linux平台上的deb和rpm软件包。nfpm是Goreleaser项目的一部分,Goreleaser是一个自动化发布流程的工具,旨在简化...

    02-脚手架开发入门(前端架构师入门笔记)

    自定义脚手架可以更好地适应团队的开发流程,包含项目特有的配置和最佳实践。使用自定义脚手架时,开发者需要了解其基本用法,包括如何安装、初始化项目以及运行命令。 使用脚手架开发时,有以下几个关键步骤: 1....

    软间项目管理+会议纪要+会议纪要+学校作业

    在IT行业中,项目管理是一项至关重要的技能,尤其在软件开发领域。软间的项目管理涉及到对整个项目的规划、执行、监控以及收尾等多个阶段,确保项目能够按时、按预算、按质量完成。在这个过程中,会议纪要和需求变更...

    谈谈汽车软件研发安全体系.docx

    这包括梳理现有软件项目的信息,对其进行分类和定级,并优先保障高风险项目的安全性。此外,还需要通过人工访谈等方式收集相关信息,建立线上模板进行管理和统计。 - **研发平台标准化**:资产管控工作的完成将为...

    [测试开发技术] 谈谈团队管理的精髓是什么?.docx

    - 善用工具:在IT环境中,工具如甘特图、知识库和效率分析软件等,能帮助管理者更有效地监控项目进度、沉淀团队知识和分析效率。 - 甘特图:用于规划和追踪项目进度,帮助管理者清晰地了解任务的完成情况和剩余...

    谈谈开发过程中团队合作

    在软件开发领域,团队合作是实现高质量产品和高效项目进度的关键因素。开发过程中,团队成员间的有效沟通、协作和协调可以极大地提升项目的成功率。本文将深入探讨开发过程中的团队合作,以及相关的开发方法和实践。...

    iOS -QQ开发

    在iOS平台上进行QQ应用的开发是一项复杂而有趣的任务,它涉及到多个技术和概念的融合。本文将深入探讨在iOS上仿制QQ开发时所涉及的...通过这样的项目实践,不仅可以提升技术能力,也能加深对移动应用开发流程的理解。

    软件开发这点事(开发模板等)

    总的来说,"软件开发这点事(开发模板等)"是一个全面的资源,它将帮助开发者掌握ASP.NET的核心技术,理解软件开发的全貌,并提供实用的工具和策略来优化开发流程。通过学习和实践这些知识点,开发者能够提高个人...

    谈谈汽车软件研发安全体系.pdf

    总结来说,汽车软件研发安全体系的构建是一个系统性工程,涉及项目资产管理、标准化研发平台的建立以及安全开发流程的整合。通过SDL和DevSecOps的结合,企业可以逐步提升软件安全水平,确保在快速发展的软件定义汽车...

    加工企业管理软件 易语言源码 支持库

    "加工企业管理软件 易语言源码 支持库"是一个专门针对加工企业的管理软件项目,源码是用易语言编写的,这为学习者和开发者提供了深入了解和定制该软件的机会。 首先,我们来谈谈加工企业管理软件。这种软件通常包括...

    安卓app开发-中高级技术.zip

    配合Jenkins、Travis CI等持续集成/持续部署(CI/CD)工具,开发者可以实现代码提交即触发构建,大大提升了开发流程的效率和质量。同时,自动化构建还能确保每次构建的结果是一致的,降低了因为人为因素导致的问题。 ...

    酒店管理系统(完整流程)

    《酒店管理系统:全面解析与C#三层架构应用》 酒店管理系统的实现是一个综合性...对于学习者而言,它是一个极好的实践平台,能够提升对业务流程的理解,增强软件开发能力,并为未来从事相关领域的工作打下坚实的基础。

    20个常见的项目经理面试问题与答案详细分析

    - **回答示例**:我是一名拥有多年项目管理经验的专业人士,在多个领域都有成功案例,如软件开发、市场营销和产品设计。在我的职业生涯中,我一直致力于提升团队协作能力、强化进度控制和风险管理。我相信良好的...

    网站项目设计与开发实战(第3章)

    总的来说,《网站项目设计与开发实战(第3章)》涵盖了从设计到开发再到部署的整个网站开发流程。通过深入学习这一章,开发者将能全面了解并掌握构建专业网站所需的技能和知识,从而在实际项目中更加游刃有余。

    我国中小型软件企业的CMM实施对策的研究.rar

    对于我国中小型软件企业来说,实施CMM有助于改善项目管理、提高产品质量、降低开发成本,并提升客户满意度。 首先,中小型软件企业在CMM实施初期,可能会遇到对CMM理论理解不足的问题。解决这一问题的关键是加强...

    关于软件测试技术——测试流程,方法,工具的介绍

    8. JIRA:缺陷跟踪和项目管理工具,帮助团队管理测试过程中的问题。 9. SonarQube:静态代码分析和代码质量管理工具,检测潜在的代码问题。 以上内容只是软件测试技术的冰山一角,实际工作中还需要不断学习和实践...

Global site tag (gtag.js) - Google Analytics