软件项目开发流程以及人员职责_zhangbijun1230的博客-程序员秘密

软件项目开发流程以及人员职责
实行软件工程项目管理:
▲ 项目经理(负责人):项目经理(负责人)对整个项目负完全责任,是指导、控制、管理和规范某个软件和软/硬件系统建设的人,项目经理(负责人)是最终对客户负责的人。
▲ 软件项目经理(负责人):软件项目经理(负责人)对一个项目的所有软件活动负完全责任,控制一个项目的所有软件资源,按照软件约定与项目经理(负责人)打交道。
▲ 软件工程组: 软件工程组是负责一个项目的软件开发和维护活动(例如:需求分析、设计、编程和测试)的人员(包括管理人员和技术人员)。
▲ 系统工程组: 系统工程组是负责下列工作的人(既有经理也有技术人员)的集团:规定系统需求;将系统需求分配给硬件、软件和其它成分;规定硬件、软件和其它成分之间的界面;以及监控这些成分的设计和开发以保证它们符合其规格说明。
▲ 系统测试组:系统测试组是一些负责策划和完成独立的软件系统测试的个人(既有经理又有技术人员)的集团,测试的目的是为了确定软件产品是否满足对它的要求。
▲ 软件质量保证组: 软件质量保证组是一些计划和实施项目的质量保证活动的个人(既有经理又有技术人员)的集团,其工作的目的是保证软件过程的步骤和标准得到遵守。
       软件配置管理组: 软件配置管理组是一些负责策划、协调和实施软件项目的正式配置管理活动的个人(既有经理又有技术人员)的集团
 
总体流程如下:
计划阶段-》需求分析阶段-》软件开发阶段-》测试阶段-》完成
一、项目计划阶段  
项目计划草案和风险管理计划作为第一步,当有一个商业机会后,根据公司高层负责制定的初步商业计划书来完成项目的计划草案,确定、分析项目风险并确定其优先级,还要制定风险解决方案。本阶段的目的是确立产品开发的经济理由。
当确定开发之后则制定软件开发计划、人员组织结构定义及配备、过程控制计划。
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、数据设计:定义数据库功能模块表结构。数据库设计要考虑到以后的扩展性。
(二)详细设计: 逐个地给出各个层次中的每个程序的设计考虑。
三、编码
代码规范
四、软件测试
开发人员内部测试(内测)、交给客户的公开测试(公测)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhangbijun1230/article/details/80304041

智能推荐

java 自动排序listview_Java ListView.setSelectionFromTop方法代码示例_吾食吾味的博客-程序员秘密

import android.widget.ListView; //导入方法依赖的package包/类@Overridepublic AnimatorUpdateListener onLoadingFinish(final RefreshKernel kernel, final int footerHeight, int startDelay, final int duration) {if (m...

Pico系列VR眼镜 视觉优化知识点_Unity李大馋师的博客-程序员秘密

1、头部运动 舒适区 及其它:方位\角度范围舒适区可行区极限区左右(-30 ,+30)(-55,55)(-102,102)向上< 2060向下>-12-402、每单位像素数PPU 的计算3、Quality Settings推荐配置Edit——>QualitySettingPixel Light Count:1Texture Quality:Full ResAnisotropic Textures:Per Textu

CKEditor 添加自定义插件_牙痛不要紧的博客-程序员秘密_ckeditor 添加插件

转自:crying_boy第一步:config.js中config.extraPlugins = '插件名称';//注册插件第二步:plugins文件夹下新建:插件名称 文件夹第三步:1:在plugins/插件名称/下新建plugin.js;2:在plugins/插件名称/下新建 dialogs文件夹,并在其内新建 "插件名称.js"(function(

关于云桌面的几个常见问题_Cloudeep的博客-程序员秘密_云桌面 延迟

云桌面存在很多年了,近几年受益于国产云终端和低成本虚拟化方案的推广,得到了很多人的青睐。本文回答几个云桌面的常见问题,这里讲的桌面云是指VDI虚拟化桌面:云桌面到底有什么优势?确实能省电费(貌似很多人不关心这几个小钱:)) 确实能简化桌面管理,提升效率(这是重点) 确实能在一定程度上满足信息安全的要求(这是第二优势) 移动办公,只要网络通的地方,有终端就能办公(这是第三个优势) 至于成本,取决于方案的选择,选择简单实用的方案应该比买PC便宜,否则会比买电脑贵。云桌面有哪些误区?能全

IKAnalyzer词典扩充_ttsd_forever的博客-程序员秘密

IKAnalyzer词典扩充最近工作使用到lucene,需要对中文分词,分词器是IKAnalyzer,自带的词典包含了27万词条,能满足一般的分词要求,但是如果应用到特定的专业领域,还需要扩展专业词库,以达到更好的分词效果:IKAnalyzer词典扩充IKAnalyzer分词API智能分词最细粒度切分词库扩展通过配置文件扩展词典通过API扩展词典IKAnalyzer分词API

KDD Cup 2021城市大脑赛题解析!报名倒计时3天_Datawhale的博客-程序员秘密

↑↑↑关注后"星标"Datawhale每日干货&每月组队学习,不错过Datawhale赛事KDDCup2021,数据挖掘顶会赛题比赛链接:http://...

随便推点

计算机课件制作总结,课件制作比赛活动总结范文_甄藏阁的博客-程序员秘密

课件制作比赛,是对计算机多媒体等辅助手段的一次检阅,也有力地促进了制作多媒体课件技艺的提高。下面就是小编给大家带来的课件制作比赛活动总结,希望能帮助到大家!课件制作比赛活动总结1为了更好落实学校文化建设,创建良好的校风、学风,将创先争优工作落到实处。围绕学校本科教学工作合格评估,创建良好的学习氛围,提高广大同学的课件制作水平,增强实际操作能力、语言表达能力与综合素质,增进各学院各专业同学之间的学科...

java获取视频第一帧_qq_44663816的博客-程序员秘密_java获取视频第一帧

这里写自定义目录标题java获取视频第一帧功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入java获取视频第一帧利用FFmpegFrameGrabber处理视频流直接上代码我们对Markdown编辑器进行了一些功能拓展与语

Stream,byte[],LZMA_警醒与鞭策的博客-程序员秘密

//转自 瓦里奥一. 二进制转换成图片12345MemoryStream ms =new MemoryStream(bytes);ms.Position = 0;Image img = Image.FromStream(ms);ms.Close();this.pictureBox1.Image

利用RecyclerView CardView实现新闻卡片样式_weixin_30414305的博客-程序员秘密

引入的包:demo结构:测试代码:News.java:package com.zzw.testcardview;import java.io.Serializable;public class News implements Serializable { // 新闻标题,内容,图片 private Strin...

NVM安装后多个node时,node_modules是空的,以v12.21.0为例_问题记录中心✘的博客-程序员秘密

**一、在使用NVM管理node时,进行v12.21.0新版本安装遇到**Downloading node.js version 12.21.0 (64-bit)...CompleteDownloading npm version 6.14.11... Download failed. Rolling Back.Rollback failed. remove D:\nvm\temp\npm-v6.14.11.zip: The process cannot access the file beca

大数据Hadoop之——基于Hive的内存型SQL查询引擎Impala(Impala环境部署)_大数据老司机的博客-程序员秘密_impala 查询引擎

文章目录一、概述一、概述Impala的服务端是一个分布式的、大规模并行处理(MPP:Massively Parallel Processing)数据库引擎。不像hive,impala的服务端天然就是分布式的,在架构层面上,它在安装时就会跟DN计算节点放在一起。Impala官方文档...

推荐文章

热门文章

相关标签