需求管理是完整管理模式中的一环,同其他特性诸如完整性、一致性等不可分割,彼此相关而成一体。一套需求管理应当是已知系统需求的完整体现,每部分解决方案都是对总体需求一定比例的满足(甚至是充分满足),仅仅解决部分需求是没有意义的。对关键需求的疏忽很可能是灾难性的,试想一架飞机的安全设计不过关将会带来什么样的后果。不同的需求组合起来,构成了一套完整的需求模型。用户需求决定了系统设计所要解决的问题,所要带来的结果。可以说,需求管理指明了系统开发所要做和必须做的每一件事,指明了所有设计应该提供的功能和必然受到的制约。 需求管理的过程,从需求获取开始贯于整个项目生命周期,力图实现最终产品同需求的最佳结合。通过对需求管理在项目进程中实施的不同任务进行分析,我们可以看出需求管理所起的作用。我们公司通常应用日事清系统来配合需求管理,日事清是专业的工作计划、工作日志软件,方便团队加强团队协作,优化项目管理流程,提升工作效率,独创的工作日志一键生成轻松完成一天工作!
物控:也就是MC,负责物料计划与物料控制平时工作就是物料计划,物料跟进,物料管控,
生管:也就是PC,负责生产计划与进度控制平时工作就是生产计划,生产跟进,生产进度管控
采购:负责物料采购平时工作就是供应商管理,下达采购需求,采购进度跟进,月度对帐,财务报表等等
这三个工作各有各的特点,各有各的工作要求,所以,对各个职位的工作流程与工作重点是必须要了解的
综合来讲,采购要好一点,因为采购是对外的,会经常与供应商打交道,所以会大大增强个人的沟通协调能力与业务能力,以及或有或无的回扣这也是为什么近几年外面女孩子疯了一样的都去找这个工作做
对于你来讲,无所谓胜任不胜任,工作不难只要你积极认真,然后人家给你机会,你就可以做了
《东北大学软件工程冲刺网课资料》百度网盘资源免费下载
kkvy
电脑系统分析师需要考哪些内容,让我们一起了解一下?
综合知识
一、计算机系统综合知识
1、计算机组成与体系结构
各种计算机体系结构的特点与应用(SMP、MPP等)
构成计算机的各类部件的功能及其相互关系
2、 *** 作系统
*** 作系统的类型与结构
*** 作系统基本原理
*** 作系统性能优化
网络 *** 作系统与嵌入式 *** 作系统
3、数据通信与计算机网络
数据通信的基本知识
开放系统互连参考模型
常用的协议标准
网络的互连与常用网络设备
计算机网络的分类与应用
4、数据库系统
数据库管理系统的类型、结构和性能评价
常用的关系型数据库管理系统
数据仓库与数据挖掘技术
数据库工程
5、中间件
异构与通用服务、远程过程调用(Remote Procedure Call)、面向消息的中间件(Message-Oriented Middleware)、对象请求代理(Object Request Brokers)
6、系统配置与性能评价
C/S与B/S结构、分布式系统
系统配置方法(双份、双重、热备份、容错、集群)
性能计算(响应时间、吞吐量、TAT)
性能设计(系统调整、Amdahl解决方案、响应特性、负载均衡)
性能指标(SPEC-Int、SPEC-Fp、TPC、Gibson mix、响应时间)
性能评估
7、计算机应用
信息管理、数据处理、辅助设计、自动控制、科学计算
远程通信服务、Web计算
多媒体压缩、编码与存储技术
人工智能、模式识别
二、信息化基础知识
1、信息化
信息与信息化
信息化对组织的意义
现代组织对信息化的需求
组织的信息化与软件工程或系统集成工程的不同特点
2、政府信息化与电子政务
电子政务的概念、内容和技术形式
中国政府信息化的策略和历程
电子政务建设的过程模式和技术模式
3、企业信息化与电子商务
企业信息化的概念、目的、规划、方法
ERP的主要模块和主要算法
企业业务流程重组(BPR)
CRM、PDM在企业的应用
知识管理
企业门户
企业应用集成
全程供应链管理的思想
商业智能
电子商务的类型、标准
4、信息资源管理
5、国际和国内有关信息化的标准、法律和规定
三、软件工程
1、软件工程基础知识
软件生存周期及其模型
软件需求分析与定义
软件设计
软件测试与审计
软件维护
软件复用
文档编制标准
2、项目管理知识
项目计划的制订、监督、控制
项目工作量估算
范围管理
进度管理
配置管理
风险管理
资源和任务分配
项目的生命周期管理
3、软件过程
软件过程的定义和范围
软件过程的作用
软件过程的发展
主要的软件过程及其特点
软件过程改进
4、质量管理
质量保证计划
质量认证体系
质量管理和质量管理技术
全程质量管理
四、信息系统开发与运行
1、信息系统基础知识
信息系统概念
信息系统的功能、类型、结构
信息系统的生命周期,各阶段的目标和主要工作内容
信息系统建设的原则
信息系统开发方法
2、需求分析和设计方法
分析设计图示(DFD、ERD、UML、流程图、NS图、PAD)
面向对象设计(继承、抽象、代理、封装、多态)
结构化分析设计
模块设计(内聚、耦合)
I/O设计(报表设计、屏幕设计、数据项代码设计),人机界面设计
3、开发环境与开发工具
集成开发环境
开发工具(分析设计工具、编程工具、测试工具等)
软件开发平台的比较
4、系统集成
控制集成、数据集成、表示集成,外部资源的使用
5、应用系统构建
应用系统设计开发(分析设计方法的使用、外部设计、内部设计、程序设计、测试)
软件包的使用(开发工具、运行管理工具、业务处理工具、ERP、群件、OA工具)
数据库设计和 *** 作(范式、SQL、数据分布)
网络的规划与设计
6、系统运行
系统运行管理(计算机系统、数据库、网络)
系统成本管理(用户收费、TCO)
用户管理(ID保险和管理)
分布式系统管理
硬件资源管理
软件资源管理(程序库管理、版本管理)
数据资源管理、网络资源管理
设备和设施管理(电源、设备管理、设施安全性管理)
系统故障管理(处理手续、监视、恢复过程、预防措施)
安全性管理、性能管理
系统运行工具(自动化 *** 作工具、监视工具、诊断工具)
系统转换(转入运行阶段、运行测试、版本控制)
系统运行服务标准
7、系统维护
维护的类型(日常检查、定期维护、预防性维护、事后维护、远程维护)
软件维护、硬件维护
维护合同
8、安全性
数据安全和保密,加密与解密机制
计算机故障诊断和防范,防治计算机病毒,防范计算机犯罪,防闯入
通信和网络安全
系统访问控制技术
完整性
私有信息保护
安全管理措施,有关的法律、法规、制度
9、标准化与知识产权
标准化意识,标准化的发展,标准的生命周期
国际标准、美国标准、国家标准、行业标准、地方标准、企业标准
代码标准、文件格式标准、安全标准、软件开发规范和文档标准
标准化机构
知识产权
10、经济、管理等相关知识
企业法律制度
会计常识
财务成本管理实务
现代企业组织结构
人力资源管理
企业文化管理
IT审计的相关常识(审计标准、实施和审计报告)
11、应用数学
概率统计应用
图论应用
组合分析
算法(数值算法与非数值算法)的选择与应用
运筹方法(网络计划技术、线性规划、预测、决策、库存管理、模拟)
数学建模
12、专业英语
具有高级工程师所要求的英文阅读水平
掌握本领域的英语术语
设计案例
系统计划
信息系统项目的提出与选择,项目优先级的确定
基于管理层次的业务评价
分析信息系统的实施目的、功能、构架、规模、能力、维护、应用方法及故障情况等
系统开发规划
可行性研究与效益分析
系统方案的制定、评价和改进
遗留系统的评价和处理策略
新旧系统的分析和比较
基于企业信息战略,进行技术调研和评估
制订信息系统构想(方案)评价标准
计划变更与控制
需求获取和分析
业务模型的抽取、决策及图形化和公式化
对象业务流的提取和确认
从信息系统的观点对确认内容进行整理
明确对象业务问题的分析和解决方向
业务功能的模型化
对象业务全体以及业务功能整合性方面的探讨
现有软件系统的分析
确认测试计划
主要需求分析方法论
系统分析
组织结构与功能分析
业务流程分析
数据汇总与数据流程分析
系统功能划分与数据资源分布
系统的故障模型和可靠性模型
系统的可靠性分析和可靠度计算
提高系统可靠性的措施
系统的故障对策和系统的备份与恢复
系统分析的实用技术
流行的系统分析方法论
系统设计
需求建模的步骤
用例驱动的开发方式
结构化建模技术、数据流图
面向对象建模技术
数据库建模
系统设计
处理流程设计
系统人机界面设计
数据库管理系统的选择与数据库设计
系统安全性设计
网络环境下的计算机应用系统的设计
分布式应用系统的设计
多媒体应用系统的设计
系统运行环境的集成与设计
系统处理能力评估
系统测试计划以及测试的实施
系统转换计划
文档编制和沟通能力
信息战略文档化
信息系统构想文档化
可行性研究报告
项目开发计划
需求规格说明书
数据要求规格说明书
用户手册
*** 作手册
测试计划、测试分析报告
技术报告
开发进度记录
项目开发总结报告
系统运行和维护
软件维护的实施和管理
系统的软硬件配置管理
系统的使用效率的跟踪
基本软件和软件包的引入、应用、管理和二次开发
系统的扩充和集成
*** 作设计和运行管理
系统的更新与维护
长期计划和短期计划
新旧系统的转换交接
日常的故障对策与恢复
系统的日常安全管理
系统的服务质量和运用评价
软件过程改进
软件过程改进的管理
软件过程改进的体系设计
软件过程改进的方法
软件过程改进的工具
系统开发项目管理
范围管理
进度管理
成本管理
质量管理
人力资源管理
风险管理
企业信息化战略与实施
信息规划与战略规划的关系
信息规划的概念、活动与角色
信息系统规划方法
企业过程再工程
CIO的概念和主要职责
管理咨询在信息化中的作用和意义
管理咨询的类型
“信息孤岛”形成的根源及预防、应对措施
典型的信息化实施过程
知识管理的含义
知识管理对组织信息化的意义
知识管理常用的工具和手段
设计论文
1、信息系统工程
系统计划和分析
需求工程
系统测试
系统维护
项目管理
质量保证
面向对象技术
计算机辅助软件工程
实时系统的开发
应用系统分析与设计(嵌入式系统、数据仓库、互联网应用等)
软件产品线分析与设计
2、数据库及应用
数据管理
数据库分析
数据库建模
数据库管理
数据库应用
数据仓库、数据集市和数据挖掘
网络规划与应用
系统安全
网络安全
数据安全
容灾
新技术的应用
应用系统集成
企业信息系统
事务处理系统
决策支持系统
企业信息化的组织和实施
摘要:本文简要介绍项目集管理第二个绩效域,项目集收益实现的内容,从收益实现背后逻辑到具体使用中的步骤模板。
本文讲项目集管理的第二个绩效域——收益实现,也是我觉得项目集管理中最重要的一个绩效域。
项目集,之所以以这种方式来管理,就是希望获得单个项目无法得到的收益,实现1+1>2的效果。所以说收益实现时项目集的根本目标并不为过。
项目集的收益,从下往上看,是各个组件的收益之和;从上往下看,是组织战略的具体实现,并分解到各个组件之中。其可以由组件的分别交付而迭代产生,也可以是等到项目集结束之后才统一交付(如工程项目集)。
我们抛开项目集管理标准的做法来看收益实现这件事情。我们可以看到一个简单而通用的逻辑,即
确定目标、提出需求-〉分析、计划需求实现过程-〉执行计划、监控、交付成果-〉结束并移交成果-〉持续维护
项目集也不例外。我们套用一下。
如此,我们便并不难理解项目集收益管理的框架,如下图:
上图可以看出,1) 项目集收益管理贯穿整个项目集生命周期;2) 项目集收益管理包含五个过程:
其背后的逻辑也在上文中叙述了。
我们深入看每个过程。
收益识别 很容易联想到需求获取的过程。每一个识别出来目标收益,可以看成一个需求,需要在整个项目集过程中实现。但收益更加高层次,通常会是一个大的目标,进而可以在组件层面分解成很多小的需求。
其输入可以包括商业论证等文件,输出则是收益登记册。
收益分析与规划 ,则主要分析收益需要以什么样的方式,需要启动哪些组件来获得。所以这个过程的输出之一是项目集架构,即项目集旗下有多少组建及其各自目标。其余两个输出为收益实现计划和收益登记册更新。
收益交付 是收益的具体实现过程。收益的具体实施会下方到组件层面,项目集在此过程的目标是监控并保证组件按计划交付收益。在此过程中,我们可以很轻易的想到会存在很多的大的变更,如引入新的组件、停止不再符合目标的组件等等等。
输出就是组件实现的收益,更新收益登记册。
收益移交 很好理解,项目集交付的收益需要移交给其他组织以便持续运营。项目集管理需要保证移交的收益符合目标和标准。
最后一个 收益维持 。实际上收益维持应该是被移交组织执行的工作,但是项目集需要在移交之前规划收益持续计划以帮助运营部门识别风险,规划流程、评估方法的标准等。
我们最后来看看两个比较重要的文档
收益登记册
每个收益全周期的登记、跟踪文档
主要记录收益的描述、责任人、实现方式、状态等等
[上传失败(image-924a6b-1511753538375)]
]( >
软件开发流程:
1、首先制定项目计划,最初计划是里程碑性质的。可以先按瀑布模型设置,里程碑点主要为需求评审、设计评审、经过代码开发和单元测试后进行集成测试、部署上线是一个很重要的里程碑,一般用户会期望系统何时能使用进入试运行期(也可以称为用户测试阶段)
2、需求开发阶段:怎么样写好需求很关键。如果有项目成员,可以一起做需求,这个阶段对于业务理解、分析、如何开展调研以及文字表述、业务流程图描述还有文档编辑能力都有不少要求。一般分为《用户需求说明书》和《需求规格说明书》
小项目可以写一个《需求分析报告》,《用户需求说明书》是用用户的语言进行描述,让用户和开发团队对于需求的达成一致的理解,《需求规格说明书》,则是对用户需求的分析,形成系统要具有的功能,这个是真正提供用户可交互 *** 作的文档,也就是后期设计和代码开发的重要基线。另外,作为了解需求,拿出用户UI和用户交流也是一项比较重要的需求获取手段,虽然这个属于设计的范畴。
商领云的saasPaaS可以一键制作APP(ios和Android系统)、商城小程序、移动网站、微商城,也可定制开发软件。
3、系统设计阶段:系统总体架构,结合用户对系统环境、开发语言以及运行的网络硬件等要求,确定开发工具等,对应用系统关系进行架构性设计,通过需求阶段对用户的分析归类,用图的方式描述出用户和各子系统或模块的全局视图,以及和其他系统的关系。
也就是搞清楚系统的边界问题。概要设计中除了高层架构设计,还需要设计网络拓扑图,以及系统部署图。概要设计比较重要的还有就是子系统、模块进行合理的划分。模块的名称很大程度上会成为用户的主要菜单,如何用用户的角度去取比较清楚的子系统和模块是很重要的。
4、代码开发和单元测试阶段:这个阶段一般来说需要改进瀑布模型,类似迭代开发,把模块进行合理划分,把项目总体计划的代码开发测试阶段划分为多个时间段,每个时间段都包括代码开发、单元测试和集成测试,这个阶段还需要对需求变更进行跟踪控制,如果需求有变更,那么要把需求文档、设计文档都重新跟上。迭代开发的好处就是不让代码开发阶段拉的过程,没有进行及时的自我检查,不小心到了提交时间,却不是用户想要的,还有可能都不是自己想要的。
项目经理重要的责任是控制好进度,能及早发现风险,并能拿出好的预防和解决办法的措施。合理安排好开发团队的任务,合时的任务安排和衔接,你会觉得非常有艺术感,这个要自己体会了。另外,关注项目团队各人员的状况,保持高的战斗力,及时发现并能鼓励团队共同朝一个目标前进。
5、测试工作,测试是项目的很重要的环节,怎么测试,怎么准确测试,怎么有效测试,怎么覆盖测试,时间、人手、经验_个方面都会有制约。高级测试人员能够分析系统各测试要点,在需求、设计阶段都要参与,提早了解如何去测试,能写出测试用例。6、文档工作,文档在项目开发中也占有重要位置,除非你觉得代码是项目唯一的成果,那么你把文档抛掉吧,什么都在你的脑子里,团队中人员一走,项目的一部分也就带走了。代码开发其实也需要文档,代码是成果,代码注释是成果,模块开发卷宗也是重要的成果,因为程序员在开发时候的逻辑是怎么样的,对于今后查问题很有作用。除非你的系统设计程度到了方法、类,把代码逻辑也都设计好了,那么程序员就CODEING去吧。
7、QA是对项目过程的质量保障,有些公司吧QA和测试工作合成一个岗位叫做QA&测试人员,或者就叫QA人员。QA是对项目全过程的监管,独立于项目之外。监督项目经理在各项目里程碑提交相关成果,入库形成基线。
软件开发的定义:软件开发(Softwaredevelopment)是根据用户要求建造出软件系统或者系统中的软件部分的过程。它是一项包括需求获取、开发规划、需求分析和设计、编程实现、软件测试、版本控制的系统工程。软件开发包括研究、修改、复用、重新设计(再工程)、维护等活动,通常采用软件开发工具进行开发。
软件开发五个阶段包括:
1、问题的定义及规划;此阶段是软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性。
2、需求分析;在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。需求分析阶段是一个很重要的阶段,这一阶段做的好,将为整个软件项目的开发打下良好的基础。“唯一不变的是变化本身”,同样软件需求也是在软件爱你开发过程中不断变化和深入的,因此,必须定制需求变更计划来应付这种变化,以保护整个项目的正常进行。
3、软件设计;此阶段中偶要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。软件设计一般分为总体设计和详细设计。还的软件设计将为软件程序编写打下良好的基础。
4、程序编码;此阶段是将软件设计的结果转化为计算机可运行的程序代码。在程序编码中必定要制定统一、符合标准的编写规范。以保证程序的可读性、易维护性。提高程序的运行效率。
5、软件测试;在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。整个测试阶段分为单元测试、组装测试、系统测试三个阶段进行。测试方法主要有白盒测试和黑盒测试。
软件开发的六种方法:敏捷、瀑布、Scrum、极限编程、快速应用程序开发方法、螺旋。
导语:关于软件项目的管理流程,相关人员来了解一下吧。下面是我收集整理的软件项目管理流程,供各位阅读和参考。
一、 风险评估
软件项目风险是指在整个项目周期中所涉及的成本预算、开发进度、技术难度、经济可行性、安全管理等各方面的问题,以及由这些问题而对项目所产生的影响。项目的风险与其可行性成反比,其可行性越高,风险越低。软件项目的可行性分为经济可行性、业务可行性、技术可行性、法律可行性等四个方面。而软件项目风险则分为产品规模风险、需要风险、相关性风险、管理风险、安全风险等六个方面:
1 产品规模风险
项目的风险是与产品的规模成正比的,一般产品规模越大,问题就越突出。尤其是估算产品规模的方法,复用软件的多少,需求变更的多少等因素与产品风险息息相关:
(1) 估算产品规模的方法
(2) 产品规模估算的信任度
(3) 产品规模与以前产品规模平均值的偏差
(4) 产品的用户数
(5) 复用软件的多少
(6) 产品需求变更的多少
2 需求风险
很多项目在确定需求时都面临着一些不确定性。当在项目早期容忍了这些不确定性,并且在项目进展过程当中得不到解决,这些问题就会对项目的成功造成很大威胁。如果不控制与需求相关的风险因素,那么就很有可能产生错误的产品或者拙劣地建造预期的产品。每一种情况对产品来讲都可能致命的,这些的风险因素有:
(1) 对产品缺少清晰的认识
(2) 对产品需求缺少认同
(3) 在做需求分析过程中客户参与不够
(4) 没有优先需求
(5) 由于不确定的需要导致新的市场
(6) 不断变化需求
(7) 缺少有效的需求变化管理过程
(8) 对需求的变化缺少相关分析等
3 相关性风险
许多风险都是因为项目的外部环境或因素的相关性产生的。控制外部的相关性风险, 能缓解策略应该包括可能性计划,以便从第二资源或协同工作资源中取得必要的组成部分,并觉察潜在的问题,与外部环境相关的因素有:
(1) 客户供应条目或信息
(2) 交互成员或交互团体依赖性
(3) 内部或外部转包商的关系
(4) 经验丰富人员的可得性
(5) 项目的复用性
4 技术风险
软件技术的飞速发展和经验丰富员工的缺乏,意味着项目团队可能会因为技巧的原因影响项目的成功。 在早期,识别风险从而采取合适的预防措施是解决风险领域问题的关键,比如:培训、聘请顾问以及为项目团队招聘合适的人才等。关于技术主要有下面这些风险因素:
(1) 缺乏培训
(2) 对方法、工具和技术理解的不够
(3) 应用领域的经验不足
(4) 对新的技术和开发方法应用不熟悉
5 管理风险
尽管管理问题制约了很多项目的成功,但是不要因为风险管理计划中没有包括所有管理活动而感到惊奇。在大部分项目里,项目经理经常是写项目风险管理计划的人,他们有先天性的不足——不能检查到自己的错误。因而,使项目的成功变得更加困难。如果不正视这些棘手的问题,它们就很有可能在项目进行的某个阶段影响项目本身。当我们定义了项目追踪过程并且明晰项目角色和责任,就能处理这些风险因素:
(1) 计划和任务定义不够充分
(2) 对实际项目状态不了解
(3) 项目所有者和决策者分不清
(4) 不切实际的承诺
(5) 不能与员工之间的进行充分地沟通
6 安全风险
软件产品本身是属于创造性的产品,产品本身的核心技术保密非常重要。但一直以来,我们在软件这方 面的安全意识比较淡薄,对软件产品的开发主要注重技术本身,而忽略了专利的保护。软件行业的技术人员流动是很普遍的现象,随着技术人员的流失、变更,很能会导致产品和新技术的泄密,致使我们的软件产品被它公司窃取,导致项目失败。而且在软件方面关于知识产权的认定目前还没有明确的一个行业规范,这也是我们 软件项目潜在的风险。
7 回避风险的方式
(1) 以开发方诱导能保证需求的完整,使需求与客户的真实期望高度一致。再以书面方便形成《用户需求》这一重要的文档,避免疏漏造成的损失在软件系统的后续阶段被逐步地放大。
(2) 设立监督制度,项目开发中任何较大的决定都必须有客户参与进行的,在该项目中项目监督由项目开发中的质量监督组来实施。
(3) 需求变更需要经过统一的负责人提出,并且要用户需求的审核领导认可,需求变更应该是定期而不是随时的提出,而且开发方应该做好详细的记录,让客户了解需求变更的实际情况。
(4) 控制系统的复杂程度,过于简单的系统结构,对用户来使用比例会有明显的折扣,甚至造成软件寿命过短。反之,软件结构的过于灵活和通用,必然引起软件实现的难度增加,系统的复杂度会上升,这又会在实现和测试阶段带来风险。适当控制系统的复杂程度有利于降低开发的风险。
(5) 从软件工程的角度看,软件维护费用约占总费用的55%~70%,系统越大,该费用越高。对系统可维护性的轻视是大型软件系统的最大风险。在软件漫长的运营期内,业务规则肯定会不断发展,科学的解决此问题的做法是不断对软件系统进行版本升级,在确保可维护性的前提下逐步扩展系统。
(6) 设定应急计划,每个开发计划都至少应该设定一个应急预案去应对出现突发情况和不可遇知的风险。
二、 成本预算
1 成本预算方式
(1) 自上而下的预算方法
自上而下的预方法主要是依据上层、中层项目管理人员的管理经验进行判断,对构成项目整体成本的子项目成本进行估计,并把这些判断估计的结果传递给低一层的管理人员,在此基础上由这一层的管理人员对组成项目的子任务和子项目的成本进行估计,然后继续向下一层传递他们的成本估计,直到传递到最低一层。
使用此预算方式,在上层的管理人员根据他们的经验进行的费用估计分解到下层时,可能会出现下层人员认为上层的估计不足以完成相应任务的情况。这时,下层人员不一定会表达出自己的真实观点,不一定会和上层管理人员进行理智地讨论,从而得出更为合理的预算分配方案。在实际中,他们往往只能沉默地等待上层管理者自行发现问题并予以纠正,这样往往会给项目带来诸多问题。
自上而下更适用于项目启动的前期,与真实费用相差在30% ~ 70%之间。
Scrum使用自上而下的成本预算方式,它不会立即精确地确定成本,而是以最大限度容纳客户对未来产品要求所产生的变更。
(2) 自下而上的预算方法
自下而上方法要求运用WBS(Work Breakdown Structure,工作分解结构)对项目的所有工作任务的时间和预算进行仔细考察。最初,预算是针对资源(团队成员的工作时间、硬件的配置)进行的,项目经理在此之上再加上适当的间接费用(如培训费用、管理费用、不可预见费等)以及项目要达到的利润目标就形成了项目的总预算。自下而上的预算方法要求全面考虑所有涉及到的工作任务,更适用于项目的初期与中期,它能准备地评估项目的成本,与真实费用相差在5% ~ 10%之间。
注解:WBS
WBS是面向提交成果对项目的分解,从提交成果的列表可以确定每个提交成果需要执行的活动。Scrum会对WBS进一步细化,把一个迭代分解为一个或多个的工作包,再把工作包分解为细小的开发任务(一般开发任务的开发周期在15个工作小时以内)。
2 确定项目支出
总体成本预算就是结合下列多个成本预算方式综合计算的开发成本:
(1) 零基数预算
在成本预算的初期应该使用零基数的计算原则,而不可以使用类似于:以上一年总体费用加上20% 这样粗略的方式计算项目成本。
(2) 软硬件成本、物品成本
物品成本是指类似于:服务器(RAM 硬盘 CPU NIC卡 RAID簇)成本、维护成本、机房租金、光纤通讯成本、软件成本等的成本。
计算成本时需要考虑组装硬盘需时的长短,技术人员需要具备的质素,产品供应商能否提供保证质量,管理时是否需要额外的管理人员这些多方因素。
(3) 软件许可证成本
(4) 外包成本
当使用类似:视频、短信、移动电信类服务、门户网站等子项目时可以考虑以外包形式完成,以降低开发成本。
(5) 人力资源成本
计算人力资源成本时应该使用以最高和最低的工作效率估算平均效率的方式,计算出人力资源的平均成本。
(6) 维修保养成本
三、 客户沟通的过程
从客户沟通的方向出发来看,软件项目可分为:需求识别、方案定制、项目实施、项目结束等4个不同的阶段,各个阶段都具有不同的沟通重点。
1 需求识别阶段
(1) 文本沟通
在需求识别的前期,应该通过问卷、原型展示、界面展示、逻辑处理展示、准化文档模板等方式进行全方位多角度的分析,随时将不明确之处反馈给客户,以期待客户解答。并以文本记录的方式建立需要分析书,并要求客户审核需求分析书,以达到需要分析与客户的真实期望高度一致的结果。
(2) 业务逻辑沟通
在进行业务沟通时,应该了解客户的行业语言,以促进业务分析的过程,越过应用需求和开发之间的鸿沟。沟通过程提倡以草图或者可视信息化的方式进行, 针对不同层面的企业用户提供最适合的 *** 作界面。以多角度的方式思考问题,要抓住需求重点,尤其是客户方领导所关注的创新类和实用类需求。
(3) 需求变更的规范化管理
需求变更在软件开发类项目中是可以理解的,但必须对需求变更做好规范化的管理,以避免出现需求无止境变更的风险。需求变更必须由统一的负责人提出,并且由用户需求的审核领导者认可。需求变更的提出应该是定期而不是随时的,开发方应该做好详细的文本记录,让客户了解需求变更的实际情况和开发方为之所付出的成本代价。
2 方案定制阶段
该阶段项目的主要任务是与客户共同制定一个以前期明确的需求、双方的资源、项目开始的阶段、实施的时间约定、项目费用限制等为基础的具有可 *** 作性的项目计划,从本阶段开始争取客户全面参与项目的管理,并以双方的共同利益考虑项目实施的具体计划与风险规避。
3 项目实施阶段
在该阶段,软件项目团队应该与客户共同领导项目的实施。同时,项目团队应实时评估客户满意度,并通过持续改进的方式提高客户满意度,还应要求客户参加必要的培训,以及在必要时检查项目产品。在出现客户的需求变更前,应主动与客户沟通交流,使客户充分了解项目的每个环节,以及变更带来的影响,减少需求变更。如果出现客户需求变更,应与客户一起共同解决由变更引起的成本、进度、质量变化。
4 结束阶段
该阶段主要进行项目成果的移交,并把系统交付给维护人员,帮助客户实现商务目标,结清各种款项。完成这些工作后应该进行项目评估,审核此项目的成果并总结项目经验。
5 售前人员注意事项
在产品型项目作为开发成果时,相关销售人员应该注意:对产品的推销不应该过分承诺。如果过分承诺,会给后续的项目实施带来困难;一旦承诺没有兑现,也会降低客户满意度,影响今后合作。如果有附加承诺,一定要以文本形式记录,让实施项目经理知晓并传达给项目组成员。
注解:在软件项目中,需要明确以下四种客户角色
A 要明确最终使用部门和用户,要去了解他们现有的工作方式,要让他们知道项目的目标框架,知道项目要解决他们的哪些困难,但绝对不是全部困难,这样可以较好的控制项目范围。
B 要明确需求的提出者,他或者他们要能够代表最终客户群体。提出产品需求的这类客户要具有一定的技术、业务能力和权威,能够真正代表最终客户团队的意愿和想法,最好有IT基础,能够用IT语言描述问题和需求,以利于双方的沟通、协作,避免产生歧义。
C 要明确做需求确认的中层领导,他要把握方向。软件开发项目是解决实际生产或者管理问题,同时 也是领导系统建设的具体实现,做需求确认的客户领导,既要了解高层领导的系统建设要点和方向,又要谙熟具体业务和生产管理实际。如果是这样的客户领导来把 握和决策,对企业软件开发项目的顺利进展作用非凡。
D 要明确谁来对成品提意见,谁来验收。项目验收环节,是项目的收尾环节,如果验收的人对项目初期的需求目标不了解,会从态度和产品实际使用效果上对验收产生负面的影响,对提供产品的企业关闭项目非常不利。根据实践总结,由需求提出人和确认人来做项 目的验收工作,能够促进项目的顺利完成,避免延期。
四、 需求分析
1 需求分析的过程
需求过程包括需求开发和需求管理2个部分:
(1) 需求开发就是对开发前期的管理,与客房的沟通过程,可以分为4个阶段:需求获取、需求分析、编写需求和需求验证。
(2) 需求管理:就是软件项目开发过程中控制和维持需求约定的活动。包括:变更控制、版本控制、需求跟踪、需求状态跟踪。
2 需求的层次
需求的层次包括:业务需求、用户需求、功能需求、非功能需求等4个方面。
3 需求开发阶段的重点
(1) 提取业务对象
业务对象是指系统使用的真实对象,例如一个供应链管理 (Supply Chain Management ,简称SCM) 业务对象主要包括:生产批发商、零售商、送货商、顾客多个层次。
(2) 提取业务流程
在了解业务逻辑的过程中,应该列举出所开发软件模块的各自职能,并细化每个工作流程,深入分析业务逻辑。
(3) 性能需求
在分析的前期应该注意客户对所开发软件的技术性能指标,如存储容量限制、运行时间限制、安全保密性等。
(4) 环境需求
环境需求是指软件平台运行时所处环境的要求,如硬件方面:机型、外部设备、数据通信接口;软件方面:系统软件,包括 *** 作系统、网络软件、数据库管理系统方面;使用方面:使用部门在制度上, *** 作人员上的技术水平上应具备怎样的条件。
(5) 可靠性需求
对所开发软件在投入运行后发生故障的概率,应该按实际的运行环境提出要求。对于重要的软件,或是运行失效会造成严重后果的软件,应提出较高的可靠性要求。
(6) 安全保密要求
在需求分析时应当在这方面恰当地做出规定,对所开发的软件给予特殊的设计,使其在运行中,其安全保密方面的性能得到必要的保证。
(7) 用户界面需求
为用户界面细致地规定到达的要求。
(8) 资源使用需求
开发的软件在运行时和开发时所需要的各种资源。
(9) 软件成本消耗与开发进度需求
在软件项目立项后,根据合同规定,对软件开发的'进度和各步骤的费用提出要求,作为开发管理的依据。
(10) 开发目标需求
预先估计以后系统可能达到的目标,这样可以比较容易对系统进行必要的补充和修改。
4 需求分析的任务
需求分析的主要任务是借助于当前系统的逻辑模型导出目标系统的逻辑模型,其流程如下:
(1) 确定对系统的综合需求(功能、性能、运行、扩充需求)
(2) 制作产品需求文档 (PRD)
(3) 分析系统的数据需求(概念模型、数据字典、规范化)
(4) 导出目标系统的详细的逻辑模型(数据流图、数据字典、主要功能描述)
(5) 开发原形系统
(6) 从PRD提取编制软件需求规格说明书(SRS)
注解:SRS格式
1引言 2系统概述(项目背景、系统目标、核心业务流程) 3术语说明 4系统结构(架构图、功能图)
5主体功能与业务逻辑(重点) 6接口需求(内部、外部接口、) 7网络总体设计(拓扑网络、主机、组网)
8运行环境(Linux、Windows、IIS、 WebLogic、Tomcat、OLAP、OLTP、JDK 80 、NET Framework 40等)
五、 面向对象程序设计(略)
1 设计原则
(1) SRP单一职责链
每个类都应该只负责做一件事。
(2) OCP开封闭合原则
软件的实体(类、模块、函数等)应该是可以扩展的,但是不可修改的。
(3) LSP替换原则
子类必须能替换他们的基类型。
(4) DIP依赖倒置原则
高层模块不应该依赖于低层模块,二者都应该依赖于接口与抽象类。抽象不应该依赖于细节,细节应依赖于对象。
(5) ISP接口隔离原则
不应该强迫客户依赖于并未使用的接口,而应该把胖接口分离。
2 实现UML建模
(1) 业务对象的提取
(2) 根据SRS、CRC等实现用况建模
(3) 实现业务顺序图
(4) 建立类图,根据用况图建立对象之间的关联
(5) 绘制活动图、实现协作图、状态图
六、 开发管理
1 建立项目计划
(1) 设计总体架构
针对系统的实施需要,采取适当的且成熟的框架结构。
(2) 控制可扩展度
扩展度过大,将提高系统的复杂程度,延长开发时间;扩展度过低,会直接影响系统的二次开发与维护。控制系统的可扩展性,能提高开发效率,降低系统维护的难度。
(3) 建立基础设施
合理分配部署软、硬件等基础设施所需要的时间与成本(例如:服务器的订购安装、光纤接入、软件平台订购)。
(4) 划分开发任务
利用WBS(Work Breakdown Structure,工作分解结构)对可交付结果进行分类与划分。每个项目都能划分为多个不同阶段,每个阶段又可以分为多个工作包(Work Package),工作包是WBS里最小的可交付结果,最后从工作包中分解出多个开发任务列表。
(5) 部署开发进度
一个项目应该按进度划分为多个开发阶段,每个阶段的开发周期一般在30~60个工作日以内。在此阶段内应该与客户举行协商会议,制定产品路线图,在开发过程中邀请客户积极参与并提出反馈意见。然后把该时段内的开发任务按照开发难度,依赖性,重要性等多方条件划分为多个迭代周期。
在Scrum 敏捷软件开发原则中,应该把每个迭代任务进一步细分为多个开发任务列表,再开发任务分配给组员各自负责,而开发时间应该控制在15个工作小时以内。如果开发时间超出15个工作小时,应该考虑把开发任务再度细化。开发任务建议应该由组员自主选择,而不要使用强制分配的方式。
(5) 测试项目成果
每个工作包都应该同步部署测试工作,提高项目的质量。对出错BUG的工作包应该由测试人员以文本方式记录,向开发人员展示错误所在,让开发人员及时进行修改。
2 管理开发团队
(1) 组建团队
按照工作任务与项目时间的前提条件建立团队,按团队职责分配人员,一般团队人数应该控制在8~12人之间。当团队人数超过15人时,应该考虑把团队分解成2个独立团队,负责不同的开发任务。
(2) 分配开发任务
在每个迭代周期内(一般是15~30个工作日),应该把每个工作包进一步细分为多个开发任务,再开发任务分配给组员各自负责,开发时间应该控制在15个工作小时以内。如果开发任务的开发时间超出15个工作小时,应该考虑把任务再度细化。而开发任务应该以自由选择的方式分配给每个组员。
(3) 监督开发进度
在迭代的前期举行一次会议,让组员了解开发的进展及流程,并以自主选择的方式分配开发任务。期间可使用Microsoft Project等工具记录开发流程的进展,在每个工作包完成开发后应该进行性功能的测试,并以文本方式记录测试结果。
每天举行一次15分钟的站立会议,让组员交待昨天已完成的开发任务,当天将要做的任务,与开发过程中所遇到的问题。并在每周末举行一次例行会议,交待总体进程。
在迭代末期举行一次冲刺会议,总结项目的进展,交行已完成的任务,回顾该迭代周期内所遇到的问题,为下一个迭代做好准备。
(4) 系统测试
对每个已完成的工作包进行适时的测试,保证系统质量与性能。对测试结果进行文本的记录,并把测试结果与绩效工资收入挂钩,并以真实数据计算组员的绩效收入。
(5) 解决开发中所遇到的问题
对开发人员进行前期培训,可适当按工作能力分配任务,指导组员的开发。当遇到问题时应该在当天的站立会议时即时提出,并在15个工作小时内解决所遇到的问题以防止问题进一步扩大。
3 监管产品质量
(1) 质量需要的是计划、设计而并非审查的。在产品建立的初级,必须与“质量保证”(QA)的部门进行协商,以正式文档的方式,决定恰当的质量策略和标准。
(2) 在开发过程中使用TDD(测试驱动开发)的模式,提高开发质量。测试人员应该以文本方式记录bug,并与开发人员共同工作的,把突出的缺陷演示给开发人员,以提高修改的效率。
(3) 在每个迭代的结束时进行一次产品效果的演示,从客户、使用者、高层领导中收集反馈信息。在团队内部举行评审会议,分析测试结果,了解产品性能,为下次迭代所需要做的改进做好计划。
4 修改项目计划
(1) 在产品需要识别阶段,应该以文档形式记录产品功能与开发流程,在开发计划需要修改时,应该与客户共同探讨,让客户了解计划修改对项目进度所造成的影响。
(2) 项目计划的修改应该由统一的负责人提出,并且由用户需求的审核领导者认可。需求变更的提出应该是定期而不是随时的。
(3) 计划的变更应该做好详细的文本记录,让客户了解需求变更的实际情况和开发方为之所付出的成本代价。
七、 产品交付
1 项目的后期审核
在项目开发最终完成后,对开发人员来说可算是放下工作的重担,但对项目经理来说这往往是项目的关键时刻。前期的风险评估、成本预算、需求分析、软件设计都是为了引导项目走向这一时刻,此时所有的目光都将投向项目管理人员。你可能发现大量而琐碎的工作将要在几个小时内完成,此刻项目经理更需要保持清醒与镇定,把最后的工作视为微型项目来对待。细致地对项目进行后期的审核,分析项目成果、项目团队的效率、可交付产品的价值,以此审核结果可作为项目管理经验总结的一部分。
2 质量评审
在项目交付前,应该把项目交给相关的“质量保证”(QA)部门进行质量评审,并邀请典型用户感受产品的质量。
3 项目的最终交付
正常情况下在项目的前期就会订立项目交付的协议,项目交付方式分为非正式验收与正式验收两种。一般在项目完成后都会先进行非正式验收,让客户体会项目的质量并提出反馈意见,最后在客户肯定产品质量后再以书面协议的形式进行正式的产品验收。
4 项目的最终报告
在项目的最后,应该制定项目的最终报告,此报告可以视为是对该项目一个记录,但报告不必包含项目的所有方面。一般最终报告应该包含以下方面:
(1) 最初引进项目时的初期项目视图
(2) 对该项目的价值评估及支持性信息
(3) 项目的范围
(4) 项目的开发流程及WBS
(5) 项目的会议记录
(6) 项目变更的报告及变更的理由
(7) 与项目相关的沟通过程文件
(8) 项目的审核报告与客户验收报告
(9) 项目成员的表现报告
(10) 项目的最终成果
以上就是关于项目需求管理是什么全部的内容,包括:项目需求管理是什么、简单讲一下物控、生管、采购那个职位好一点具体干些什么需要会什么呢、求软件工程作业!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)