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

摘要:
▲ 软件工程组:软件工程组是负责项目软件开发和维护活动的人员。该阶段的目的是确定产品开发的经济原因。开发确定后,将制定软件开发计划、人员组织结构定义和分配以及过程控制计划。软件开发计划还应包括产品的A/R标准和A/R任务。
实行软件工程项目管理:
▲ 项目经理(负责人):项目经理(负责人)对整个项目负完全责任,是指导、控制、管理和规范某个软件和软/硬件系统建设的人,项目经理(负责人)是最终对客户负责的人。
▲ 软件项目经理(负责人):软件项目经理(负责人)对一个项目的所有软件活动负完全责任,控制一个项目的所有软件资源,按照软件约定与项目经理(负责人)打交道。
▲ 软件工程组: 软件工程组是负责一个项目的软件开发和维护活动(例如:需求分析、设计、编程和测试)的人员(包括管理人员和技术人员)。
▲ 系统工程组: 系统工程组是负责下列工作的人(既有经理也有技术人员)的集团:规定系统需求;将系统需求分配给硬件、软件和其它成分;规定硬件、软件和其它成分之间的界面;以及监控这些成分的设计和开发以保证它们符合其规格说明。
▲ 系统测试组:系统测试组是一些负责策划和完成独立的软件系统测试的个人(既有经理又有技术人员)的集团,测试的目的是为了确定软件产品是否满足对它的要求。
▲ 软件质量保证组: 软件质量保证组是一些计划和实施项目的质量保证活动的个人(既有经理又有技术人员)的集团,其工作的目的是保证软件过程的步骤和标准得到遵守。
       软件配置管理组: 软件配置管理组是一些负责策划、协调和实施软件项目的正式配置管理活动的个人(既有经理又有技术人员)的集团
 
总体流程如下:
计划阶段-》需求分析阶段-》软件开发阶段-》测试阶段-》完成
一、项目计划阶段 
项目计划草案和风险管理计划作为第一步,当有一个商业机会后,根据公司高层负责制定的初步商业计划书来完成项目的计划草案,确定、分析项目风险并确定其优先级,还要制定风险解决方案。本阶段的目的是确立产品开发的经济理由。

当确定开发之后则制定软件开发计划、人员组织结构定义及配备、过程控制计划。
1)项目计划草案
项目计划草案应包括产品简介、产品目标及功能说明、开发所需的资源、开发时间和里程碑。
2)风险管理计划
也就是把有可能出错或现在还不能确定的东西列出来,并制定出相应的解决方案。风险发现得越早对项目越有利。
3 软件开发计划

软件开发计划的目的是收集控制项目时所需的所有信息,项目经理根据项目计划来安排资源需求并根据时间表跟踪项目进度。项目团队成员根据项目计划以了解他们的工作任务、工作时间以及他们所依赖的其他活动。
可将计划分成总体计划和详细计划,总体计划中每个任务为一个里程碑,详细计划中必须将任务落实到个人。
软件开发计划还应包括产品的应收标准及应收任务(包括确定需要制订的测试用例)。
4)人员组织结构定义及配备
         
常见的人员组织结构有垂直方案、水平方案、混合方案。垂直方案中每个成员充当多重角色。水平方案中每个成员充当一到两个角色。混合方案则包括了经验丰富的人员与新手相互融合。具体选择根据人员实际技能情况进行选择。
5)过程控制计划
过程控制计划的目的是收集项目计划正常执行所需的所有信息,用来指导项目进度的监控、计划的调整,确保项目按时完成。
二、需求分析阶段
需求分析阶段的目的是在系统工作方面与用户达成一致。
1)软件需求规约
详细说明系统将要实现的所有功能。
2 用户界面原型
 
可以有三种表示方法:图纸(在纸上)、位图(绘图工具)、可执行文件(交互式)。  

三、  软件开发阶段 

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

        
使用一些配置管理工具进行开发文档管理,如:visual sourcesafeteamsouce
六、 各参与角色的具体职责描述及对人员的要求 
1 项目经理
职责:
1
  制定产品的目标。
2
  制定各个工作的详细任务表,跟踪这些任务的执行情况,进行控制。
3
  组织会议对程序进行评审。
4
  综合具体情况,对各种不同方案进行取舍并做出决定。
5
  协调各项目参与人员之间的关系。
人员要求:
对产品有激情,具有领导才能。
对问题能正确而迅速地做出确定。
能充分利用各种渠道和方法来解决问题。
能跟踪任务,有很好地日程观念。
能在压力下工作。
2)系统分析员
职责:
1
  了解用户需求,写出《软件需求规约》。
2
  建立用户界面原型。
人员要求:担任系统分析员的人员应该善于协调,并且具有良好的沟通技巧。担任此角色的人员中必须要有具备业务和技术领域知识的人才。
3)设计员
职责:
1
  定义类的方法和属性以及各个类之间的关联,画出类图。
2
  进行数据库设计。
人员要求:    掌握面向对象分析与设计技术,统一建模语言(uml)
4)程序员
职责:按项目的要求进行编码和单元测试。
人员要求:良好的编程技能和测试技术。
5)测试员
职责: 执行测试,描述测试结果,提出问题解决方案。
人员要求:了解被测试的系统,具备诊断和解决问题的技能,编程技能

免责声明:内容来源于网络,仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇.NET webapi 的单元测试评论一下现有几个开源IM框架(Msn/QQ/Fetion/Gtalk...)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

主流的三款工作流进行介绍和比较

下面将对目前比较主流的三款工作流进行介绍和比较,然后通过三款流程引擎分别设计一个较典型的流程来给大家分别演示这三款创建流程的过程.这三款工作流程引擎分别是 Windows Workflow Foundation,NetBPM, CCFlow. NetBPM 与 CCFlow 是两款国内知名的开源软件,尤其是ccflow在国内的发展势头强劲。 这个典型的流程...

启用代理导致 有道云笔记未知错误、网络错误和OneDrive断线

    最近有道云笔记和OneDrive时不时的连接不上服务器,不知道什么原因?后来到有道官网上看了下,才发现,和IE浏览器的设置有关系: 我本地因为之前设置了代理,然后自己忘记了,代理的软件没开,导致IE上不去网。  把代理服务器去掉,就ok了  OneDrive 软件也是这样...

FW: 文旅类APP |“马蜂窝”需求分析报告

    版本记录 目录 1.背景和目标 2.项目计划 3.需求分析过程3.1自主分析法3.2业务驱动法3.3市场竞品分析法3.4用户研究分析法3.4.1用户访谈3.4.2问卷调查3.4.3用户反馈分析 4.需求分析总结及建议4.1系统功能方向4.2行程方向4.3攻略方向4.4游记方向4.5用户体验、交互方向4.6客服方向4.7商业化方向 附录(单独...

iOS企业级应用打包与部署

>iOS企业级的打包与部署相关小细节记录,主要是记录下plist文件的格式,便于以后使用的时候方便的找到。<!--more--> iOS企业级打包的相关前提: 1. 一个企业级iOS开发者账号。 2. 申请发布证书xxx_distribute.cer(主证书) 3. 申请企业打包发布证书xxx_distribute.provision(副...

软件包管理 之 软件在线升级更新yum 图形工具介绍

作者:北南南北来自:LinuxSir.Org提要:yum 是Fedora/Redhat 软件包管理工具,包括文本命令行模式和图形模式;图形模式的yum也是基于文本模式的;目前yum图形前端程序主要有 yumex和kyum ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...

iOS项目崩溃日志采集与分析

一、日常开发崩溃分析 先看一个下Demo代码: NSString *str = nil; NSArray *arr = @[@"hello",str]; 代码很简单,因为数组里面有nil元素,所以运行的时候一定会崩溃,运行的崩溃画面分析: 先看一个OC的DDemo工程: NSString *str = nil; NSArra...