软件项目开发流程以及人员职责
实行软件工程项目管理:
▲ 项目经理(负责人):项目经理(负责人)对整个项目负完全责任,是指导、控制、管理和规范某个软件和软/硬件系统建设的人,项目经理(负责人)是最终对客户负责的人。
▲ 软件项目经理(负责人):软件项目经理(负责人)对一个项目的所有软件活动负完全责任,控制一个项目的所有软件资源,按照软件约定与项目经理(负责人)打交道。
▲ 软件工程组: 软件工程组是负责一个项目的软件开发和维护活动(例如:需求分析、设计、编程和测试)的人员(包括管理人员和技术人员)。
▲ 系统工程组: 系统工程组是负责下列工作的人(既有经理也有技术人员)的集团:规定系统需求;将系统需求分配给硬件、软件和其它成分;规定硬件、软件和其它成分之间的界面;以及监控这些成分的设计和开发以保证它们符合其规格说明。
▲ 系统测试组:系统测试组是一些负责策划和完成独立的软件系统测试的个人(既有经理又有技术人员)的集团,测试的目的是为了确定软件产品是否满足对它的要求。
▲ 软件质量保证组: 软件质量保证组是一些计划和实施项目的质量保证活动的个人(既有经理又有技术人员)的集团,其工作的目的是保证软件过程的步骤和标准得到遵守。
▲       软件配置管理组: 软件配置管理组是一些负责策划、协调和实施软件项目的正式配置管理活动的个人(既有经理又有技术人员)的集团
 
总体流程如下:
计划阶段-》需求分析阶段-》软件开发阶段-》测试阶段-》完成
一、项目计划阶段 
项目计划草案和风险管理计划作为第一步,当有一个商业机会后,根据公司高层负责制定的初步商业计划书来完成项目的计划草案,确定、分析项目风险并确定其优先级,还要制定风险解决方案。本阶段的目的是确立产品开发的经济理由。
当确定开发之后则制定软件开发计划、人员组织结构定义及配备、过程控制计划。
(1)项目计划草案
项目计划草案应包括产品简介、产品目标及功能说明、开发所需的资源、开发时间和里程碑。
(2)风险管理计划
也就是把有可能出错或现在还不能确定的东西列出来,并制定出相应的解决方案。风险发现得越早对项目越有利。
(3) 软件开发计划
软件开发计划的目的是收集控制项目时所需的所有信息,项目经理根据项目计划来安排资源需求并根据时间表跟踪项目进度。项目团队成员根据项目计划以了解他们的工作任务、工作时间以及他们所依赖的其他活动。
可将计划分成总体计划和详细计划,总体计划中每个任务为一个里程碑,详细计划中必须将任务落实到个人。
软件开发计划还应包括产品的应收标准及应收任务(包括确定需要制订的测试用例)。
(4)人员组织结构定义及配备
         常见的人员组织结构有垂直方案、水平方案、混合方案。垂直方案中每个成员充当多重角色。水平方案中每个成员充当一到两个角色。混合方案则包括了经验丰富的人员与新手相互融合。具体选择根据人员实际技能情况进行选择。
(5)过程控制计划
过程控制计划的目的是收集项目计划正常执行所需的所有信息,用来指导项目进度的监控、计划的调整,确保项目按时完成。
二、需求分析阶段
需求分析阶段的目的是在系统工作方面与用户达成一致。
(1)软件需求规约
详细说明系统将要实现的所有功能。
(2) 用户界面原型
 可以有三种表示方法:图纸(在纸上)、位图(绘图工具)、可执行文件(交互式)。

三、  软件开发阶段 
本阶段从物理上实现目标系统。采用了面向对象方法。
(1)软件架构
 说明软件的组织结构、部署结构及运行环境。
(2)类设计

定义类之间的关联和类的属性、方法。
(3)数据库设计
定义数据库表之间的关联和各个表的字段。
(4)编码和单元测试
 按照设计文档进行编码,每完成一个模块应进行单元测试。
(5)集成系统
按软件组织结构的要求将各个子系统组合起来。
四、测试阶段
测试的目的是在发布之前找出程序的错误。包括:核实每个模块是否正常运行(参考设计文档)、核实需求是否被正确实施(参考需求文档)。
(1)测试计划
    收集和组织测试信息,为测试工作提供指导。
(2)测试数据
    尽量使用真实数据。
(3) 测试报告
    记录测试结果,详细描述问题,提出解决办法。
(4)帮助文件和用户操作手册
五、 管理软件开发过程
有以下几方面地工作:
(1)组织会议
讨论会议、总结会议等。
(2)评审程序
对各个阶段的工作结果进行审核。
(3)协调人员
(4) 配置管理

使用一些配置管理工具进行开发文档管理,如:visual sourcesafe,teamsouce等
六、 各参与角色的具体职责描述及对人员的要求 
(1) 项目经理

职责:
1、  制定产品的目标。
2、  制定各个工作的详细任务表,跟踪这些任务的执行情况,进行控制。
3、  组织会议对程序进行评审。
4、  综合具体情况,对各种不同方案进行取舍并做出决定。
5、  协调各项目参与人员之间的关系。
人员要求:
对产品有激情,具有领导才能。
对问题能正确而迅速地做出确定。
能充分利用各种渠道和方法来解决问题。
能跟踪任务,有很好地日程观念。
能在压力下工作。
(2)系统分析员
职责:
1、  了解用户需求,写出《软件需求规约》。
2、  建立用户界面原型。
人员要求:担任系统分析员的人员应该善于协调,并且具有良好的沟通技巧。担任此角色的人员中必须要有具备业务和技术领域知识的人才。
(3)设计员
职责:
1、  定义类的方法和属性以及各个类之间的关联,画出类图。
2、  进行数据库设计。
人员要求:    掌握面向对象分析与设计技术,统一建模语言(uml)。
(4)程序员
职责:按项目的要求进行编码和单元测试。
人员要求:良好的编程技能和测试技术。
(5)测试员
职责: 执行测试,描述测试结果,提出问题解决方案。
人员要求:了解被测试的系统,具备诊断和解决问题的技能,编程技能
小结一下:
可行性研究:一般只有大型的项目才有。
一、需求分析
1、采集、整理需求,写出需求说明书(叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。详细说明系统将要实现的所有功能。)
需求设计文档(主要把握以用户需求说明书为基线原则。主要内容与用户需求说明书相似,用户需求说明书是需求说明书站在用户角度、使用通俗语言编写的,软件需求规格说明书则是开发者角度、使用开发者的语言编写的,主要差异在于前者是对外的,后者是对内的,通过前者得出后者。)
二、架构设计
(一)概要设计
1、系统结构设计:定义和设计软件的模块化,软件系统各模块之间的关系。
2、数据设计:定义数据库功能模块表结构。数据库设计要考虑到以后的扩展性。
(二)详细设计:逐个地给出各个层次中的每个程序的设计考虑。
三、编码
代码规范
四、软件测试
开发人员内部测试(内测)、交给客户的公开测试(公测)

软件项目开发流程以及人员职责相关推荐

  1. 软件项目开发流程以及人员职责 实行软件工程项目管理: ▲ 项目经理(负责人):项目经理(负责人)对整个项目负完全责任,是指导、控制、管理和规范某个软件和软/硬件系统建设的人,项目经理(负责人)是最终

    转载自csdn(danieldaniel19851023的专栏) 软件项目开发流程以及人员职责 实行软件工程项目管理: ▲ 项目经理(负责人):项目经理(负责人)对整个项目负完全责任,是指导.控制.管 ...

  2. 软件项目开发流程及人员职责

    一 软件项目开发流程 概括来说分为一共分了6个过程 项目启动阶段->需求分析阶段->设计阶段->开发阶段->测试阶段->常规文档 1.1 项目启动阶段 A. 产品经理和项 ...

  3. 软件项目开发流程及配置人员

    项目需求汇总分析 架构设计 产品设计 代码编写 项目测试 上线 项目需求汇总分析(调研) 项目经理 在这个阶段,上项目经理应该先要求客户(项目发起人)提供一个项目需求及要求明细的清单. 清楚需求及项目 ...

  4. 小型软件项目开发流程探讨

    一.导言   国内很多项目都是小型项目, 参与人员少(两到五个人), 要快速交付(一两个月) . 要成功完成这种项目, 除了使用成熟且被团队成员熟练使用的技术之外, 有一个良好的开发流程, 也是很必要 ...

  5. 项目开发——企业软件项目开发流程《项目开发的流程是怎样的》

    软件项目开发流程:需求分析.设计.编码.测试.上线运维 一般而言,软件项目开发流程包括以下步骤: 需求分析:对客户需求进行分析和理解,明确软件项目的目标和功能. 规划阶段:确定项目的范围.时间和预算, ...

  6. 软件项目开发流程RUP上

    RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论.根据Rational(Rational Rose和统一建模语言的开发 ...

  7. APP软件项目开发流程

    经过近APP软件的发展,APP的开发也越来越受到重视,APP开发公司发展火热,各种各样的小程序也如雨后春笋般涌现,并以极其迅速的方式传播于微信群和朋友圈.下面我们分享一下APP软件项目的开发流程,希望 ...

  8. 一个完整的软件项目开发流程是怎样的呢

    原文链接 个人理解 web开发的基本流程就是,产品经理根据客户(申总)拿出来<需求调研>,产品经理进行<业务梳理>看具体要实现那几个页面,都有那些功能等等,然后产品经理就开始用 ...

  9. 一个完整的软件项目开发流程,软件过程,软件生命周期

    一.开发流程图 1.需求分析 结构化分析 面向对象分析 2.原型设计 结构化设计 面向对象设计 3.程序开发 结构化开发 面向对象开发 4.程序测试 二.软件生命周期 软件分析 1.问题定义 确定好要 ...

最新文章

  1. java打印四行等腰三角形_(c语言程序案例.doc
  2. python爬虫图片-如何用Python来制作简单的爬虫,爬取到你想要的图片
  3. JZOJ 3401 JZOJ 5673. 【GDOI2018Day1模拟4.20】爬山法
  4. andriod studio怎么设置图片大小_Word图片大小总是对不齐,如何统一图片的大小位置,看一眼就会!...
  5. 时任上海来伊份互联网事业群总裁王戈钧 :传统企业(线上+线下)移动互联网改造...
  6. MaxCompute full outer join改写left anti join实践
  7. 利用xlrd,Python对excel读取文件
  8. 一文学会哈希法解题,助你事半功倍(leetcode哈希表面试高频题目总结)
  9. 程序员需要学些什么?程序员好考吗?
  10. java获取pcm格式音频
  11. 信号完整性(SI)电源完整性(PI)学习笔记(三十三)102条使信号完整性问题最小化的通用设计规则
  12. 安全帽检测/人脸识别系统国标GB28181协议云服务EasyGBS搭建智慧工地 助力智慧建筑生态圈
  13. 计算机一级降序和升序,sql语句降序和升序
  14. 大学生免费查题公众号_大学生免费查题公众号?搜题免费公众号?
  15. 厦大考研计算机学硕,21厦大考研:专硕VS学硕,怎么选才不翻车?
  16. SpringSecurity原理:探究SpringSecurity运作流程
  17. 分享10大自动化测试框架,你用过几个?
  18. C++描述 5645. 找到最高海拔
  19. Berkeley DB介绍
  20. 视频显示相关名词解释

热门文章

  1. 音视频同步原理[ffmpeg]
  2. 嵌入式Linux系统编程学习之八基于文件指针的文件操作
  3. 从memcpy到memmove,内存函数拷贝与内存重叠问题(重点内容)
  4. iBase4J部署总结¥
  5. Linux 目录文件处理文件
  6. Vue.js 3 Step 创建一个组件
  7. Linux三剑客grep、sed、awk
  8. 完美者右键扩展菜单管理器 1.2.1 中文绿色版
  9. 安卓模拟器切换横屏之后怎么返回竖屏
  10. 浅谈HTTP中Get与Post的区别[转 hyddd]