详解软件项目管理流程的每一步

2023-05-16

一、项目启动(项目开工会)

了解项目干系人及其利害关系。

所有项目组成员是否到位,如到位则拿到项目开发人员的简历,详细了解每个开发人员的情况(可能会组织到客户方面试)。

根据项目需求规格列出项目功能列表,并根据开发人员技术等情况创建WBS。

根据项目时间、资源等情况规划项目初步开发计划(各里程碑时间点的粗略计划,每个时间段投入多少人力等)。

确定各种软硬件需求,如:版本控制服务器、数据库服务器、开发服务器、缺陷管理软件服务器、开发工具等。

参与人员:

项目经理、项目总监、全体项目组成员、用户方领导、用户方参与人员、其它主要项目干系人

项目启动会议的目标:

让整个项目组的成员相互认识

建立项目的工作关系和沟通关系

让大家明确团队的工作目标

让大家了解项目的当前状态

一起审阅项目计划

找出项目的难点或可能出问题的环节

分配小组和个人的角色与责任

获得小组和个人的承诺

实施建议:

对立项管理过程域产生的所有有价值的文档如《立项建议书》、《立项调查报告》、《立项可行性分析报告》、《立项评审报告》进行配置管理。

做好必要的保密工作。

由于每个项目都要占用机构的资金和资源,立项评审一定要严格。建议对机构高层管理人员进行必要的立项管理培训。

输出文档包括:

项目风险管理计划、工作任务分解结构(WBS)、项目进度计划、配置管理计划、质量保证计划、TimeSheet、开发规范文档、测试计划

二、需求分析

需求调研:与客户就其所需要的功能、流程、操作等需要为基础,而且需求决策者必须是项目经理或部门负责人。

列一个需求管理(包括详细的沟通计划及要求沟通)计划,考虑需求沟通中的人员、资源、时间的要求。

虽然有些因素是客户方造成的,但应该站在其角度上,为其考虑一些存在的客观及主观因素。

注意与项目成员之间的沟通方式及对团队的建设。

把握需求分析的进度及质量是否符合要求。

根据交互设计原型与客户交流需求分析是否达到要求及功能点是否有遗漏。

有哪些文档或数据是由客户提供的,这些数据是否需要在新开发的系统中维护等。

实施建议:

先对项目成员进行培训,让他们掌握必要的需求开发技能。(比如需求开发要做什么,做到什么程度,需要注意哪些问题等)

对需求开发过程域产生的所有有价值的文档进行配置管理。

需求的建模分析有较高的技术难度,项目成员应当根据自身水平进行取舍。

交互设计中应以用户的易用性为前提然后考虑在这样设计的前提下技术上实现是否有难度或者工作量超过前期设计的百分之二十. (多用TAB形式,尽量让客户的某个角色的任务可以在一个页面中完成,一般用上下文菜单,避免用系统的菜单,一个功能块一般只需要一个入口)

输出文档包括:

产品需求分析说明书、数据流程图、系统应用架构图、交互设计原型、需求分析模型(RQM)

三、概要设计

确定影响系统设计的约束因素:本系统应当遵循的标准或规范、软件、硬件环境(包括运行环境和开发环境)的约束、接口/协议的约束、软件质量的约束、隐含约束等。 
确定设计策略:扩展策略、复用策略、折衷策略。

系统分解与设计:将系统分解为若干子系统,确定每个子系统的功能以及子系统之间的关系;将子系统分解为若干模块,确定每个模块的功能以及模块之间的关系。 
数据库概要设计。

输出文档:

产品概要设计说明书、数据概要设计模型(CDM)

四、详细设计

确定功能模块的参与者、数据库表、输入参数说明、前置条件、基本流程、异常流程、日志等信息。

各层次结构的接口定义

数据库设计:逻辑设计—>物理设计->安全性设计->优化

实施建议:

先对系统设计人员进行“专题”培训,让他们掌握必要的系统设计技能。 由于国内绝大多数的大学不开设“用户界面设计课程”,这导致大部分软件开发人员不善于设计用户界面。项目开发小组应当设法邀请用户界面设计专家参与(或指导)本软件的

界面设计。

对系统设计过程中产生的所有有价值的文档进行配置管理。

输出文档:

产品详细设计说明书、数据物理设计模型(PDM)、自定义数据类型及BO数据类型文件、数据字典、系统测试用例、对象模型(OOM)

五、Coding

软件编码,各接口的实现。 
单元测试。

实施建议: 
对开发人员进行“高质量程序设计”培训,让他们掌握编写高质量程序的技能。 
对开发人员进行“版本控制、代码审查、测试、改错”等方面的培训,提高他们的工作效率。 
开发小组根据项目的资源、时间等限制因素,可以适当地减少测试的工作量。 
对实现与测试过程中产生的所有代码和有价值的文档进行配置管理。

输出:

单元测试报告、代码评审报告

六、集成测试

根据系统测试用例测试系统的功能性需求,保证系统的正常功能处理及异常处理是否正确。 
用户界面测试,重点是测试软件系统的易用性和视觉效果等。 
健壮性测试,测试软件系统在异常情况下能否正常运行的能力。(容错能力和恢复能力) 
安全性测试(这种测试一般能通过建行的fortify 软件评测即可) 
如果产品需要安装,那么还得经过安装与反安装测试

实施建议:

对系统测试人员进行必要的培训,提高他们的测试效率。 
项目经理和测试小组根据项目的资源、时间等限制因素,设法合理地减少测试的工作量,例如减少“冗余或无效”的测试。 
系统测试小组根据产品的特征,可以适当地修改本规范的各种文档模板。 
对系统测试过程中产生的所有代码和有价值的文档进行配置管理。 
为了调动测试者的积极性,建议企业或项目设立奖励机制,例如:根据缺陷的危害程度把奖金分等级,每个新缺陷对应一份奖金,把奖金发给第一个发现该缺陷的人。

输出:

系统测试报告、缺陷管理报告、操作手册

七、客户验收

成果审查。验收人员审查开发方应当交付的成果,如代码、文档等等。确保这些成果是完整的并且是正确有效的。 
验收测试。验收人员对交付的产品进行全面的测试,确保产品功能、质量符合需求。 
及时解决客户方发现的问题。

输出:

客户验收计划、验收测试用例、客户验收报告、验收操作手册

实施建议:

在客户验收之前,开发方对验收人员进行必要的产品培训。 
开发方可以将系统测试用例给验收人员参考,以减少设计测试用例的时间。 
开发方人员应当热情地协助验收人员。对验收人员发现的软件缺陷马上予以纠正;对于复杂的问题应当立即请示有关领导,不可拖延。在验收期间不可与客户争吵,给客户留下很

好的印象。 
对验收过程中产生的所有有价值的文档进行配置管理。

八、结项

计划与实际情况对比:产品功能、工作成果、产品质量、投入人员、工作量、成本等 
申请结项理由和项目自我评价 
对项目进行综合评估,总结经验教训。

有价值的结项管理至少包括三项内容: 
一、对项目的有形资产和无形资产进行清算,既要防止资产流失,又要及时地利用这些资产。 
二、对项目进行综合评估。例如评估项目完成情况、项目质量、投入产出分析、项目的市场价值、项目对企业的贡献等等。该评估报告可以作为考核项目人员业绩的重要依据。 
三、总结经验教训,使整个机构受益。

实施建议: 
对结项管理过程域产生的所有有价值的文档进行配置管理。 
做好必要的保密工作。 
结项评审工作不能简化。 
对结项评审委员会进行必要的培训,使他们树立正确的观念,从而严格把关

输出: 
结项申请书、结项评审报告

下面是这些核心工具的运用经验:

1.必须建立源代码的版本控制系统,就是cvs,基本的代码提交原则: 
1)程序员尽量每天只在下班前提交一次; 
2)提交的代码必须是在自己的机器上是正常运行的; 
3)每次提交都必须用简短的话说明自己提交代码的功能描述。 
2.建立错误追踪系统,用Bugzilla就很好,配置好邮件系统,使Bugzilla成为测试人员与开发人员沟通的桥梁。 
3.用BAT和Perl脚本,以cvs中的源代码为核心实现简单的每日编译工具,将这个自己写的自动化工具放到一台专门的编译机器上,在每天的半夜开始自动下载代码,自动编译代码,自动打包安装程序,自动记录各种编译日志,自动将安装程序放置到一个固定的以日期为目录名的公共区。(用cvs2cl.pl得到程序员上传的代码更新日志,以便测试人员参考) 4.测试人员的第二天,应该到公共区取得头天的最新版本,并根据ChangeLog进行新版本的测试。并将测试中发现的Bug,通过Bugzilla反馈给程序员。程序员可以根据自己的情况或公司的规定来决定修改这些Bug的时间。并将这些Bug的修改情况,在代码提交时,写入代码日志。 
5.开发人员的第二天,应该到公共区查看编译日志,看看自己的模块是否正常编译,及时更正,看看自己的邮箱有没有Bug报告,及时修改。 
6.管理人员的第二天,在综合项目需求与头天版本进度的上,可以判断产品的发展方向,如果有偏航或理解错误或有新需求时,可以根据当前情况及时调整。 
这样,通过 cvs => bugzilla => daily-build,就能将程序员与测试员,进行互动,各施其责。减少沟通与人为的麻烦。对于管理层,也能做到心中有数:因为每天都有新版本,

随时掌握产品的走向。。。等等

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

详解软件项目管理流程的每一步 的相关文章

随机推荐

  • Android 文件管理器 文件缩略图标显示流程

    前言 本篇文章是基于Android 11 文件管理器 xff08 com android documentsui xff09 的源码 xff0c 在实际项目中定位加载图片和视频文件显示缩略图的相关问题时 xff0c 做的总结 xff0c 文
  • Android 显示 指纹/人脸 身份验证对话框

    1 前言 为了增加用户的隐私和安全 xff0c 需保护您的应用中的敏感信息或付费内容 xff0c 一种方法是请求生物识别身份验证 xff0c 例如使用人脸识别或指纹识别 本篇文章介绍了如何在您的应用中支持生物识别登录流程 2 声明应用支持的
  • 截取图片部分

  • Android PackageManagerService总结(五) APK卸载流程

    一 概述 PackageManagerService 简称PKMS xff0c 是Android系统中核心服务之一 xff0c 管理着所有与package相关的工作 xff0c 常见的比如安装 卸载应用 信息查询等工作 主要完成以下核心功能
  • ButterKnife内存泄漏问题

    在butterKnife自动生成的代码 xff08 XXX ViewBinding xff09 中 xff0c 里面有这样一段代码 xff1a view setOnClickListener new DebouncingOnClickLis
  • PPTV面试算法思考-最长对称子字符串

    题目 最近在微信公众号里看看到了一个PPTV的面试算法题 xff0c 感觉难度适中 xff0c 想试下 题目的内容为求一个字符串的最长对称子字符串 如 xff1a 输入 输出 abba 4 abad 3 acccbaa 3 我的算法1 自己
  • C++

    由于见到论坛上不少找书的 xff0c 于是就稍稍汇总总结了一下 xff0c 作为本人即将推出的 C 43 43 资源大汇 系列文章的引子 本文只是初稿 xff0c 其中有不少的纰漏 笔误 打误 xff08 打字错误 xff09 希望各位纠正
  • pyspark MLlib基本使用

    MLib 基本概念 MLib其实就是将数据以RDD的形式进行表示 xff0c 在分布式数据集上调用各种算法 使用方法 MLlib中包含能够在集群上运行良好的并行算法 xff0c 如kmeans 分布式RF 交替最小二乘等 xff0c 这能够
  • 一个启动模式为singleTop的activity,如果再次启动会发生什么? 面试官想问的是 onNewIntent()

    Activity有一个 onNewIntent Intent intent 回调方法 xff0c 该方法我们几乎很少使用 xff0c 导致已经将其忽略掉 该方法的官方解释如下 xff1a This is called for activit
  • c++ 中的重载全局new,delete

    最近做一个小项目 xff0c 对c 43 43 又有很多新的理解 实在不的不让人发出感叹 xff0c c 43 43 太强大了 xff0c 绝对不是一朝一夕就可以领悟她的内涵的 首先我们要清楚 xff0c 为什么我们要重载new xff0c
  • 解决AndroidStudio报错问题:Missing essential plugin

    前言 xff1a 今天下载了Android4 2 0Canary14最新版 xff0c 打开时突然报了一个错 xff0c 1 错误现象 xff1a AndroidStudio 无法正常打开 xff0c 打开之后弹出报错窗口显示 xff1a
  • java使用ftp上传文件出现false()

    http blog csdn net beyondlpf article details 9343781这是我解决的的原文地址解析原因 在项目中使用commons net jar实现FTP文件的下载 xff0c 在windows xp上运行
  • keil5在原有工程上修改工程名

    1 在工程文件目录中 xff0c 将1 uvoptx和1 uvprojx名字改成2 uvoptx和second uvprojx 2 其他1 uvoptx文件统统删除 3 打开second uvproj 4 点击 xff0c 在弹出的界面上
  • Systemd 入门教程:命令篇

    原文 xff1a http www ruanyifeng com blog 2016 03 systemd tutorial commands html 一 由来 历史上 xff0c Linux 的启动一直采用init进程 下面的命令用来启
  • 数据分位值计算shell脚本

    数据 sort n perl e 39 64 tp 61 500 75 9 97 99 995 999 64 l 61 lt gt for i 61 0 i lt 64 tp i 43 43 d 61 64 tp i printf 34 T
  • ssh服务器拒绝了密码 请再试一次

    可能原因是 xff1a 第一种情况 xff1a 可能是服务器的密钥改变了 xff0c 然后服务器内部的认证authorized keys变化了 xff0c 可以删除里边你的公钥 xff0c 再重新认证登录下试试 第二种情况 xff1a 21
  • win7频繁提示资源管理器已停止工作解决办法

    今天上班打开电脑 xff0c 总是弹出windows资源管理器已停止工作 xff0c 点击下方的 重新启动 xff0c 又恢复正常 xff0c 但是不一会出现这个问题 xff0c 如此反复 xff0c 差不多一分钟左右出现一次 xff0c
  • Eclipse中在项目右键菜单点击->Maven->Update Projects时,JDK总是切回 1.5

    Maven问题总结 xff1a Eclipse中项目右键菜单中点击Maven gt Update Projects时JDK被重置 Eclipse中在项目右键菜单点击 gt Maven gt Update Projects时 xff0c JD
  • tomcat 日志log4j,slf4j,logback冲突

    问题描述 xff1a 启动tomcat xff0c 发现tomcat无法启动 xff0c catalina out有如下错误日志 xff1a INFO localhost startStop 1 org apache catalina co
  • 详解软件项目管理流程的每一步

    一 项目启动 xff08 项目开工会 xff09 了解项目干系人及其利害关系 所有项目组成员是否到位 xff0c 如到位则拿到项目开发人员的简历 xff0c 详细了解每个开发人员的情况 xff08 可能会组织到客户方面试 xff09 根据项